mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 01:08:03 +02:00
Apply r200 tcl fix to radeon - compiles but untested.
This commit is contained in:
parent
72a313902b
commit
4cf20d9236
1 changed files with 25 additions and 1 deletions
|
|
@ -293,6 +293,7 @@ static GLboolean radeon_run_tcl_render( GLcontext *ctx,
|
|||
radeonContextPtr rmesa = RADEON_CONTEXT(ctx);
|
||||
TNLcontext *tnl = TNL_CONTEXT(ctx);
|
||||
struct vertex_buffer *VB = &tnl->vb;
|
||||
GLuint inputs = VERT_BIT_POS | VERT_BIT_COLOR0;
|
||||
GLuint i;
|
||||
|
||||
/* TODO: separate this from the swtnl pipeline
|
||||
|
|
@ -303,8 +304,31 @@ static GLboolean radeon_run_tcl_render( GLcontext *ctx,
|
|||
if (VB->Count == 0)
|
||||
return GL_FALSE;
|
||||
|
||||
/* NOTE: inputs != tnl->render_inputs - these are the untransformed
|
||||
* inputs.
|
||||
*/
|
||||
if (ctx->Light.Enabled) {
|
||||
inputs |= VERT_BIT_NORMAL;
|
||||
if (ctx->_TriangleCaps & DD_SEPARATE_SPECULAR) {
|
||||
inputs |= VERT_BIT_COLOR1;
|
||||
}
|
||||
}
|
||||
|
||||
if ( ctx->Fog.FogCoordinateSource == GL_FOG_COORD ) {
|
||||
inputs |= VERT_BIT_FOG;
|
||||
}
|
||||
|
||||
for (i = 0 ; i < ctx->Const.MaxTextureUnits; i++) {
|
||||
if (ctx->Texture.Unit[i]._ReallyEnabled) {
|
||||
if (rmesa->TexGenNeedNormals[i]) {
|
||||
inputs |= VERT_BIT_NORMAL;
|
||||
}
|
||||
inputs |= VERT_BIT_TEX(i);
|
||||
}
|
||||
}
|
||||
|
||||
radeonReleaseArrays( ctx, ~0 );
|
||||
radeonEmitArrays( ctx, tnl->render_inputs );
|
||||
radeonEmitArrays( ctx, inputs );
|
||||
|
||||
rmesa->tcl.Elts = VB->Elts;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue