swrast: increase array size of TextureSample

to match the size of ctx->Texture.Unit, and it will also fix
piglit/max-samplers with the following commit.

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Marek Olšák
2013-05-13 16:24:57 +02:00
parent 15a4b6db21
commit b4cb857dbf
2 changed files with 4 additions and 4 deletions
+3 -3
View File
@@ -459,7 +459,7 @@ _swrast_invalidate_state( struct gl_context *ctx, GLbitfield new_state )
swrast->BlendFunc = _swrast_validate_blend_func;
if (new_state & _SWRAST_NEW_TEXTURE_SAMPLE_FUNC)
for (i = 0 ; i < ctx->Const.FragmentProgram.MaxTextureImageUnits ; i++)
for (i = 0 ; i < ARRAY_SIZE(swrast->TextureSample); i++)
swrast->TextureSample[i] = NULL;
}
@@ -473,7 +473,7 @@ _swrast_update_texture_samplers(struct gl_context *ctx)
if (!swrast)
return; /* pipe hack */
for (u = 0; u < ctx->Const.FragmentProgram.MaxTextureImageUnits; u++) {
for (u = 0; u < ARRAY_SIZE(swrast->TextureSample); u++) {
struct gl_texture_object *tObj = ctx->Texture.Unit[u]._Current;
/* Note: If tObj is NULL, the sample function will be a simple
* function that just returns opaque black (0,0,0,1).
@@ -766,7 +766,7 @@ _swrast_CreateContext( struct gl_context *ctx )
swrast->Driver.SpanRenderStart = _swrast_span_render_start;
swrast->Driver.SpanRenderFinish = _swrast_span_render_finish;
for (i = 0; i < MAX_TEXTURE_IMAGE_UNITS; i++)
for (i = 0; i < ARRAY_SIZE(swrast->TextureSample); i++)
swrast->TextureSample[i] = NULL;
/* SpanArrays is global and shared by all SWspan instances. However, when
+1 -1
View File
@@ -313,7 +313,7 @@ typedef struct
/** Internal hooks, kept up to date by the same mechanism as above.
*/
blend_func BlendFunc;
texture_sample_func TextureSample[MAX_TEXTURE_IMAGE_UNITS];
texture_sample_func TextureSample[MAX_COMBINED_TEXTURE_IMAGE_UNITS];
/** Buffer for saving the sampled texture colors.
* Needed for GL_ARB_texture_env_crossbar implementation.