use mesa's texenvprogram in preference to i915 version. Enable tex_env_crossbar

This commit is contained in:
Keith Whitwell 2006-08-28 11:50:10 +00:00
parent 64bc9caa1c
commit bf0c1ca618
5 changed files with 26 additions and 2 deletions

View file

@ -54,6 +54,8 @@ static const struct dri_extension i915_extensions[] =
{ "GL_ARB_depth_texture", NULL },
{ "GL_ARB_fragment_program", NULL },
{ "GL_ARB_shadow", NULL },
{ "GL_ARB_texture_env_crossbar", NULL },
{ "GL_ARB_texture_non_power_of_two", NULL },
{ "GL_EXT_shadow_funcs", NULL },
/* ARB extn won't work if not enabled */
{ "GL_SGIX_depth_texture", NULL },
@ -151,6 +153,8 @@ GLboolean i915CreateContext( const __GLcontextModes *mesaVis,
ctx->Const.FragmentProgram.MaxNativeTexIndirections = I915_MAX_TEX_INDIRECT;
ctx->Const.FragmentProgram.MaxNativeAddressRegs = 0; /* I don't think we have one */
ctx->_MaintainTexEnvProgram = 1;
ctx->_UseTexEnvProgram = 1;
driInitExtensions( ctx, i915_extensions, GL_FALSE );

View file

@ -955,6 +955,17 @@ void i915ValidateFragmentProgram( struct i915_context *i915 )
GLuint s2 = S2_TEXCOORD_NONE;
int i, offset = 0;
if (i915->current_program != p)
{
if (i915->current_program) {
i915->current_program->on_hardware = 0;
i915->current_program->params_uptodate = 0;
}
i915->current_program = p;
}
/* Important:
*/
VB->AttribPtr[VERT_ATTRIB_POS] = VB->NdcPtr;

View file

@ -425,8 +425,10 @@
#define S7_DEPTH_OFFSET_CONST_MASK ~0
/* 3DSTATE_MAP_DEINTERLACER_PARAMETERS */
/* 3DSTATE_MAP_PALETTE_LOAD_32, p206 */
/* 3DSTATE_MAP_PALETTE_LOAD_32, p206 */
#define _3DSTATE_MAP_PALETTE_LOAD_32 (CMD_3D|(0x1d<<24)|(0x8f<<16))
/* subsequent dwords up to length (max 16) are ARGB8888 color values */
/* _3DSTATE_MODES_4, p218 */
#define _3DSTATE_MODES_4_CMD (CMD_3D|(0x0d<<24))

View file

@ -591,6 +591,11 @@ void i915ValidateTextureProgram( struct i915_context *i915 )
intel->specoffset = 0;
offset = 0;
if (i915->current_program) {
i915->current_program->on_hardware = 0;
i915->current_program->params_uptodate = 0;
}
if (i915->vertex_fog == I915_FOG_PIXEL) {
EMIT_ATTR( _TNL_ATTRIB_POS, EMIT_4F_VIEWPORT, S4_VFMT_XYZW, 16 );
RENDERINPUTS_CLEAR( index_bitset, _TNL_ATTRIB_FOG );

View file

@ -50,8 +50,10 @@ static void i915_render_start( struct intel_context *intel )
if (ctx->FragmentProgram._Active)
i915ValidateFragmentProgram( i915 );
else
else {
assert(!ctx->_MaintainTexEnvProgram);
i915ValidateTextureProgram( i915 );
}
}