mesa: add support for ATI_envmap_bumpmap
add new entrypoints, new texture format, etc translate in texenvprogram.c for drivers using the mesa-generated tex env fragment program also handled in swrast, but not tested (cannot work due to negative texel results not handled correctly)
This commit is contained in:
@@ -506,6 +506,26 @@ _mesa_fetch_state(GLcontext *ctx, const gl_state_index state[],
|
||||
}
|
||||
}
|
||||
return;
|
||||
case STATE_ROT_MATRIX_0:
|
||||
{
|
||||
const int unit = (int) state[2];
|
||||
GLfloat *rotMat22 = ctx->Texture.Unit[unit].RotMatrix;
|
||||
value[0] = rotMat22[0];
|
||||
value[1] = rotMat22[2];
|
||||
value[2] = 0.0;
|
||||
value[3] = 0.0;
|
||||
}
|
||||
break;
|
||||
case STATE_ROT_MATRIX_1:
|
||||
{
|
||||
const int unit = (int) state[2];
|
||||
GLfloat *rotMat22 = ctx->Texture.Unit[unit].RotMatrix;
|
||||
value[0] = rotMat22[1];
|
||||
value[1] = rotMat22[3];
|
||||
value[2] = 0.0;
|
||||
value[3] = 0.0;
|
||||
}
|
||||
break;
|
||||
|
||||
/* XXX: make sure new tokens added here are also handled in the
|
||||
* _mesa_program_state_flags() switch, below.
|
||||
@@ -591,6 +611,8 @@ _mesa_program_state_flags(const gl_state_index state[STATE_LENGTH])
|
||||
|
||||
case STATE_TEXRECT_SCALE:
|
||||
case STATE_SHADOW_AMBIENT:
|
||||
case STATE_ROT_MATRIX_0:
|
||||
case STATE_ROT_MATRIX_1:
|
||||
return _NEW_TEXTURE;
|
||||
case STATE_FOG_PARAMS_OPTIMIZED:
|
||||
return _NEW_FOG;
|
||||
@@ -806,6 +828,12 @@ append_token(char *dst, gl_state_index k)
|
||||
case STATE_SHADOW_AMBIENT:
|
||||
append(dst, "CompareFailValue");
|
||||
break;
|
||||
case STATE_ROT_MATRIX_0:
|
||||
append(dst, "rotMatrixRow0");
|
||||
break;
|
||||
case STATE_ROT_MATRIX_1:
|
||||
append(dst, "rotMatrixRow1");
|
||||
break;
|
||||
default:
|
||||
/* probably STATE_INTERNAL_DRIVER+i (driver private state) */
|
||||
append(dst, "driverState");
|
||||
|
Reference in New Issue
Block a user