mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 04:38:03 +02:00
Minor fixes for recent Mesa 6.1 changes
This commit is contained in:
parent
f18598cbd2
commit
f924a933b4
2 changed files with 18 additions and 14 deletions
|
|
@ -88,13 +88,17 @@ static void viaAlphaFunc(GLcontext *ctx, GLenum func, GLfloat ref)
|
|||
vmesa = vmesa;
|
||||
}
|
||||
|
||||
static void viaBlendEquation(GLcontext *ctx, GLenum mode)
|
||||
static void viaBlendEquationSeparate(GLcontext *ctx, GLenum rgbMode, GLenum aMode)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
if (VIA_DEBUG) fprintf(stderr, "%s in\n", __FUNCTION__);
|
||||
#endif
|
||||
|
||||
/* GL_EXT_blend_equation_separate not supported */
|
||||
ASSERT(rgbMode == aMode);
|
||||
|
||||
/* Can only do GL_ADD equation in hardware */
|
||||
FALLBACK(VIA_CONTEXT(ctx), VIA_FALLBACK_BLEND_EQ, mode != GL_FUNC_ADD_EXT);
|
||||
FALLBACK(VIA_CONTEXT(ctx), VIA_FALLBACK_BLEND_EQ, rgbMode != GL_FUNC_ADD_EXT);
|
||||
|
||||
/* BlendEquation sets ColorLogicOpEnabled in an unexpected
|
||||
* manner.
|
||||
|
|
@ -522,7 +526,7 @@ void viaChooseTextureState(GLcontext *ctx)
|
|||
|
||||
if (texUnit0->_ReallyEnabled) {
|
||||
struct gl_texture_object *texObj = texUnit0->_Current;
|
||||
struct gl_texture_image *texImage = texObj->Image[0];
|
||||
struct gl_texture_image *texImage = texObj->Image[0][0];
|
||||
GLint r, g, b, a;
|
||||
#ifdef DEBUG
|
||||
if (VIA_DEBUG) fprintf(stderr, "texUnit0->_ReallyEnabled\n");
|
||||
|
|
@ -3079,7 +3083,7 @@ void viaChooseTextureState(GLcontext *ctx)
|
|||
|
||||
if (texUnit1->_ReallyEnabled) {
|
||||
struct gl_texture_object *texObj = texUnit1->_Current;
|
||||
struct gl_texture_image *texImage = texObj->Image[0];
|
||||
struct gl_texture_image *texImage = texObj->Image[0][0];
|
||||
GLint r, g, b, a;
|
||||
|
||||
if (texImage->Border) {
|
||||
|
|
@ -6334,7 +6338,7 @@ void viaInitStateFuncs(GLcontext *ctx)
|
|||
/* API callbacks
|
||||
*/
|
||||
ctx->Driver.AlphaFunc = viaAlphaFunc;
|
||||
ctx->Driver.BlendEquation = viaBlendEquation;
|
||||
ctx->Driver.BlendEquationSeparate = viaBlendEquationSeparate;
|
||||
//ctx->Driver.BlendFunc = viaBlendFunc;
|
||||
ctx->Driver.BlendFuncSeparate = viaBlendFuncSeparate;
|
||||
ctx->Driver.ClearColor = viaClearColor;
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ static void viaSetTexImages(viaContextPtr vmesa,
|
|||
{
|
||||
GLuint texFormat;
|
||||
viaTextureObjectPtr t = (viaTextureObjectPtr)tObj->DriverData;
|
||||
const struct gl_texture_image *baseImage = tObj->Image[tObj->BaseLevel];
|
||||
const struct gl_texture_image *baseImage = tObj->Image[0][tObj->BaseLevel];
|
||||
GLint firstLevel, lastLevel, numLevels;
|
||||
GLint log2Width, log2Height, log2Pitch;
|
||||
GLint (*texSize)[12][12];
|
||||
|
|
@ -240,13 +240,13 @@ static void viaSetTexImages(viaContextPtr vmesa,
|
|||
t->lastLevel = firstLevel + 9;
|
||||
}
|
||||
|
||||
log2Width = tObj->Image[firstLevel]->WidthLog2;
|
||||
log2Height = tObj->Image[firstLevel]->HeightLog2;
|
||||
log2Pitch = logbase2(tObj->Image[firstLevel]->Width * baseImage->TexFormat->TexelBytes);
|
||||
log2Width = tObj->Image[0][firstLevel]->WidthLog2;
|
||||
log2Height = tObj->Image[0][firstLevel]->HeightLog2;
|
||||
log2Pitch = logbase2(tObj->Image[0][firstLevel]->Width * baseImage->TexFormat->TexelBytes);
|
||||
|
||||
|
||||
for (i = 0; i < numLevels; i++) {
|
||||
t->image[i].image = tObj->Image[i];
|
||||
t->image[i].image = tObj->Image[0][i];
|
||||
t->image[i].internalFormat = baseImage->Format;
|
||||
}
|
||||
|
||||
|
|
@ -539,7 +539,7 @@ static void viaUpdateTexEnv(GLcontext *ctx, GLuint unit)
|
|||
{
|
||||
const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
|
||||
const struct gl_texture_object *tObj = texUnit->_Current;
|
||||
const GLuint format = tObj->Image[tObj->BaseLevel]->Format;
|
||||
const GLuint format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
GLuint color_combine, alpha_combine;
|
||||
#ifdef DEBUG
|
||||
if (VIA_DEBUG) fprintf(stderr, "%s - in\n", __FUNCTION__);
|
||||
|
|
@ -676,7 +676,7 @@ static void viaUpdateTexUnit(GLcontext *ctx, GLuint unit)
|
|||
}
|
||||
}
|
||||
|
||||
if (tObj->Image[tObj->BaseLevel]->Border > 0) {
|
||||
if (tObj->Image[0][tObj->BaseLevel]->Border > 0) {
|
||||
FALLBACK(vmesa, VIA_FALLBACK_TEXTURE, GL_TRUE);
|
||||
return;
|
||||
}
|
||||
|
|
@ -693,8 +693,8 @@ static void viaUpdateTexUnit(GLcontext *ctx, GLuint unit)
|
|||
/* Update texture environment if texture object image format or
|
||||
* texture environment state has changed.
|
||||
*/
|
||||
if (tObj->Image[tObj->BaseLevel]->Format != vmesa->TexEnvImageFmt[unit]) {
|
||||
vmesa->TexEnvImageFmt[unit] = tObj->Image[tObj->BaseLevel]->Format;
|
||||
if (tObj->Image[0][tObj->BaseLevel]->Format != vmesa->TexEnvImageFmt[unit]) {
|
||||
vmesa->TexEnvImageFmt[unit] = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
viaUpdateTexEnv(ctx, unit);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue