Const.MaxTextureImageUnits -> Const.FragmentProgram.MaxTextureImageUnits Const.MaxVertexTextureImageUnits -> Const.VertexProgram.MaxTextureImageUnits etc. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>tags/mesa-9.2-rc1
@@ -93,9 +93,9 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *_ctx, | |||
this->Const.MaxVertexAttribs = ctx->Const.VertexProgram.MaxAttribs; | |||
this->Const.MaxVertexUniformComponents = ctx->Const.VertexProgram.MaxUniformComponents; | |||
this->Const.MaxVaryingFloats = ctx->Const.MaxVarying * 4; | |||
this->Const.MaxVertexTextureImageUnits = ctx->Const.MaxVertexTextureImageUnits; | |||
this->Const.MaxVertexTextureImageUnits = ctx->Const.VertexProgram.MaxTextureImageUnits; | |||
this->Const.MaxCombinedTextureImageUnits = ctx->Const.MaxCombinedTextureImageUnits; | |||
this->Const.MaxTextureImageUnits = ctx->Const.MaxTextureImageUnits; | |||
this->Const.MaxTextureImageUnits = ctx->Const.FragmentProgram.MaxTextureImageUnits; | |||
this->Const.MaxFragmentUniformComponents = ctx->Const.FragmentProgram.MaxUniformComponents; | |||
this->Const.MinProgramTexelOffset = ctx->Const.MinProgramTexelOffset; | |||
this->Const.MaxProgramTexelOffset = ctx->Const.MaxProgramTexelOffset; |
@@ -1512,15 +1512,15 @@ check_resources(struct gl_context *ctx, struct gl_shader_program *prog) | |||
}; | |||
const unsigned max_samplers[MESA_SHADER_TYPES] = { | |||
ctx->Const.MaxVertexTextureImageUnits, | |||
ctx->Const.MaxTextureImageUnits, | |||
ctx->Const.MaxGeometryTextureImageUnits | |||
ctx->Const.VertexProgram.MaxTextureImageUnits, | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits, | |||
ctx->Const.GeometryProgram.MaxTextureImageUnits | |||
}; | |||
const unsigned max_uniform_components[MESA_SHADER_TYPES] = { | |||
ctx->Const.VertexProgram.MaxUniformComponents, | |||
ctx->Const.FragmentProgram.MaxUniformComponents, | |||
0 /* FINISHME: Geometry shaders. */ | |||
ctx->Const.GeometryProgram.MaxUniformComponents | |||
}; | |||
const unsigned max_uniform_blocks[MESA_SHADER_TYPES] = { |
@@ -117,9 +117,9 @@ void initialize_context_to_defaults(struct gl_context *ctx, gl_api api) | |||
ctx->Const.VertexProgram.MaxUniformComponents = 512; | |||
ctx->Const.MaxVarying = 8; /* == gl_MaxVaryingFloats / 4 */ | |||
ctx->Const.MaxVertexTextureImageUnits = 0; | |||
ctx->Const.VertexProgram.MaxTextureImageUnits = 0; | |||
ctx->Const.MaxCombinedTextureImageUnits = 2; | |||
ctx->Const.MaxTextureImageUnits = 2; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = 2; | |||
ctx->Const.FragmentProgram.MaxUniformComponents = 64; | |||
ctx->Const.MaxDrawBuffers = 1; |
@@ -96,7 +96,7 @@ i830CreateContext(int api, | |||
FALLBACK(intel, INTEL_FALLBACK_USER, 1); | |||
intel->ctx.Const.MaxTextureUnits = I830_TEX_UNITS; | |||
intel->ctx.Const.MaxTextureImageUnits = I830_TEX_UNITS; | |||
intel->ctx.Const.FragmentProgram.MaxTextureImageUnits = I830_TEX_UNITS; | |||
intel->ctx.Const.MaxTextureCoordUnits = I830_TEX_UNITS; | |||
/* Advertise the full hardware capabilities. The new memory |
@@ -191,12 +191,12 @@ i915CreateContext(int api, | |||
FALLBACK(intel, INTEL_FALLBACK_USER, 1); | |||
ctx->Const.MaxTextureUnits = I915_TEX_UNITS; | |||
ctx->Const.MaxTextureImageUnits = I915_TEX_UNITS; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = I915_TEX_UNITS; | |||
ctx->Const.MaxTextureCoordUnits = I915_TEX_UNITS; | |||
ctx->Const.MaxVarying = I915_TEX_UNITS; | |||
ctx->Const.MaxCombinedTextureImageUnits = | |||
ctx->Const.MaxVertexTextureImageUnits + | |||
ctx->Const.MaxTextureImageUnits; | |||
ctx->Const.VertexProgram.MaxTextureImageUnits + | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits; | |||
/* Advertise the full hardware capabilities. The new memory | |||
* manager should cope much better with overload situations: |
@@ -155,14 +155,14 @@ brwCreateContext(int api, | |||
ctx->Const.MaxDualSourceDrawBuffers = 1; | |||
ctx->Const.MaxDrawBuffers = BRW_MAX_DRAW_BUFFERS; | |||
ctx->Const.MaxTextureImageUnits = BRW_MAX_TEX_UNIT; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = BRW_MAX_TEX_UNIT; | |||
ctx->Const.MaxTextureCoordUnits = 8; /* Mesa limit */ | |||
ctx->Const.MaxTextureUnits = MIN2(ctx->Const.MaxTextureCoordUnits, | |||
ctx->Const.MaxTextureImageUnits); | |||
ctx->Const.MaxVertexTextureImageUnits = BRW_MAX_TEX_UNIT; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits); | |||
ctx->Const.VertexProgram.MaxTextureImageUnits = BRW_MAX_TEX_UNIT; | |||
ctx->Const.MaxCombinedTextureImageUnits = | |||
ctx->Const.MaxVertexTextureImageUnits + | |||
ctx->Const.MaxTextureImageUnits; | |||
ctx->Const.VertexProgram.MaxTextureImageUnits + | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits; | |||
ctx->Const.MaxTextureLevels = 14; /* 8192 */ | |||
if (ctx->Const.MaxTextureLevels > MAX_TEXTURE_LEVELS) |
@@ -159,7 +159,7 @@ nv04_context_create(struct nouveau_screen *screen, const struct gl_config *visua | |||
/* GL constants. */ | |||
ctx->Const.MaxTextureLevels = 11; | |||
ctx->Const.MaxTextureCoordUnits = NV04_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureImageUnits = NV04_TEXTURE_UNITS; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = NV04_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureUnits = NV04_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureMaxAnisotropy = 2; | |||
ctx->Const.MaxTextureLodBias = 15; |
@@ -457,7 +457,7 @@ nv10_context_create(struct nouveau_screen *screen, const struct gl_config *visua | |||
/* GL constants. */ | |||
ctx->Const.MaxTextureLevels = 12; | |||
ctx->Const.MaxTextureCoordUnits = NV10_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureImageUnits = NV10_TEXTURE_UNITS; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = NV10_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureUnits = NV10_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureMaxAnisotropy = 2; | |||
ctx->Const.MaxTextureLodBias = 15; |
@@ -467,7 +467,7 @@ nv20_context_create(struct nouveau_screen *screen, const struct gl_config *visua | |||
/* GL constants. */ | |||
ctx->Const.MaxTextureCoordUnits = NV20_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureImageUnits = NV20_TEXTURE_UNITS; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = NV20_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureUnits = NV20_TEXTURE_UNITS; | |||
ctx->Const.MaxTextureMaxAnisotropy = 8; | |||
ctx->Const.MaxTextureLodBias = 15; |
@@ -306,7 +306,7 @@ GLboolean r200CreateContext( gl_api api, | |||
*/ | |||
ctx->Const.MaxTextureUnits = driQueryOptioni (&rmesa->radeon.optionCache, | |||
"texture_units"); | |||
ctx->Const.MaxTextureImageUnits = ctx->Const.MaxTextureUnits; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = ctx->Const.MaxTextureUnits; | |||
ctx->Const.MaxTextureCoordUnits = ctx->Const.MaxTextureUnits; | |||
ctx->Const.MaxCombinedTextureImageUnits = ctx->Const.MaxTextureUnits; |
@@ -2237,7 +2237,7 @@ static GLboolean r200ValidateBuffers(struct gl_context *ctx) | |||
0, RADEON_GEM_DOMAIN_VRAM); | |||
} | |||
for (i = 0; i < ctx->Const.MaxTextureImageUnits; ++i) { | |||
for (i = 0; i < ctx->Const.FragmentProgram.MaxTextureImageUnits; ++i) { | |||
radeonTexObj *t; | |||
if (!ctx->Texture.Unit[i]._ReallyEnabled) |
@@ -269,7 +269,7 @@ r100CreateContext( gl_api api, | |||
ctx->Const.MaxTextureUnits = driQueryOptioni (&rmesa->radeon.optionCache, | |||
"texture_units"); | |||
ctx->Const.MaxTextureImageUnits = ctx->Const.MaxTextureUnits; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = ctx->Const.MaxTextureUnits; | |||
ctx->Const.MaxTextureCoordUnits = ctx->Const.MaxTextureUnits; | |||
ctx->Const.MaxCombinedTextureImageUnits = ctx->Const.MaxTextureUnits; | |||
@@ -2013,7 +2013,7 @@ static GLboolean r100ValidateBuffers(struct gl_context *ctx) | |||
0, RADEON_GEM_DOMAIN_VRAM); | |||
} | |||
for (i = 0; i < ctx->Const.MaxTextureImageUnits; ++i) { | |||
for (i = 0; i < ctx->Const.FragmentProgram.MaxTextureImageUnits; ++i) { | |||
radeonTexObj *t; | |||
if (!ctx->Texture.Unit[i]._ReallyEnabled) |
@@ -552,9 +552,9 @@ _mesa_init_constants(struct gl_context *ctx) | |||
ctx->Const.MaxTextureRectSize = MAX_TEXTURE_RECT_SIZE; | |||
ctx->Const.MaxArrayTextureLayers = MAX_ARRAY_TEXTURE_LAYERS; | |||
ctx->Const.MaxTextureCoordUnits = MAX_TEXTURE_COORD_UNITS; | |||
ctx->Const.MaxTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS; | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS; | |||
ctx->Const.MaxTextureUnits = MIN2(ctx->Const.MaxTextureCoordUnits, | |||
ctx->Const.MaxTextureImageUnits); | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits); | |||
ctx->Const.MaxTextureMaxAnisotropy = MAX_TEXTURE_MAX_ANISOTROPY; | |||
ctx->Const.MaxTextureLodBias = MAX_TEXTURE_LOD_BIAS; | |||
ctx->Const.MaxTextureBufferSize = 65536; | |||
@@ -601,10 +601,10 @@ _mesa_init_constants(struct gl_context *ctx) | |||
ctx->Const.MaxColorAttachments = MAX_COLOR_ATTACHMENTS; | |||
ctx->Const.MaxRenderbufferSize = MAX_RENDERBUFFER_SIZE; | |||
ctx->Const.MaxVertexTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS; | |||
ctx->Const.VertexProgram.MaxTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS; | |||
ctx->Const.MaxCombinedTextureImageUnits = MAX_COMBINED_TEXTURE_IMAGE_UNITS; | |||
ctx->Const.MaxVarying = 16; /* old limit not to break tnl and swrast */ | |||
ctx->Const.MaxGeometryTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS; | |||
ctx->Const.GeometryProgram.MaxTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS; | |||
ctx->Const.MaxVertexVaryingComponents = MAX_VERTEX_VARYING_COMPONENTS; | |||
ctx->Const.MaxGeometryVaryingComponents = MAX_GEOMETRY_VARYING_COMPONENTS; | |||
ctx->Const.MaxGeometryOutputVertices = MAX_GEOMETRY_OUTPUT_VERTICES; | |||
@@ -681,20 +681,20 @@ check_context_limits(struct gl_context *ctx) | |||
assert(ctx->Const.VertexProgram.MaxLocalParams <= MAX_PROGRAM_LOCAL_PARAMS); | |||
/* Texture unit checks */ | |||
assert(ctx->Const.MaxTextureImageUnits > 0); | |||
assert(ctx->Const.MaxTextureImageUnits <= MAX_TEXTURE_IMAGE_UNITS); | |||
assert(ctx->Const.FragmentProgram.MaxTextureImageUnits > 0); | |||
assert(ctx->Const.FragmentProgram.MaxTextureImageUnits <= MAX_TEXTURE_IMAGE_UNITS); | |||
assert(ctx->Const.MaxTextureCoordUnits > 0); | |||
assert(ctx->Const.MaxTextureCoordUnits <= MAX_TEXTURE_COORD_UNITS); | |||
assert(ctx->Const.MaxTextureUnits > 0); | |||
assert(ctx->Const.MaxTextureUnits <= MAX_TEXTURE_IMAGE_UNITS); | |||
assert(ctx->Const.MaxTextureUnits <= MAX_TEXTURE_COORD_UNITS); | |||
assert(ctx->Const.MaxTextureUnits == MIN2(ctx->Const.MaxTextureImageUnits, | |||
assert(ctx->Const.MaxTextureUnits == MIN2(ctx->Const.FragmentProgram.MaxTextureImageUnits, | |||
ctx->Const.MaxTextureCoordUnits)); | |||
assert(ctx->Const.MaxCombinedTextureImageUnits > 0); | |||
assert(ctx->Const.MaxCombinedTextureImageUnits <= MAX_COMBINED_TEXTURE_IMAGE_UNITS); | |||
assert(ctx->Const.MaxTextureCoordUnits <= MAX_COMBINED_TEXTURE_IMAGE_UNITS); | |||
/* number of coord units cannot be greater than number of image units */ | |||
assert(ctx->Const.MaxTextureCoordUnits <= ctx->Const.MaxTextureImageUnits); | |||
assert(ctx->Const.MaxTextureCoordUnits <= ctx->Const.FragmentProgram.MaxTextureImageUnits); | |||
/* Texture size checks */ |
@@ -273,8 +273,8 @@ descriptor=[ | |||
# GL_ARB_fragment_program | |||
# == GL_MAX_TEXTURE_IMAGE_UNITS_NV | |||
[ "MAX_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.MaxTextureImageUnits), extra_ARB_fragment_program" ], | |||
[ "MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.MaxVertexTextureImageUnits), extra_ARB_vertex_shader" ], | |||
[ "MAX_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.FragmentProgram.MaxTextureImageUnits), extra_ARB_fragment_program" ], | |||
[ "MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.VertexProgram.MaxTextureImageUnits), extra_ARB_vertex_shader" ], | |||
[ "MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.MaxCombinedTextureImageUnits), extra_ARB_vertex_shader" ], | |||
# GL_ARB_shader_objects | |||
@@ -637,7 +637,7 @@ descriptor=[ | |||
[ "MAX_VERTEX_STREAMS", "CONTEXT_INT(Const.MaxVertexStreams), extra_ARB_transform_feedback3" ], | |||
# GL_ARB_geometry_shader4 | |||
[ "MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.MaxGeometryTextureImageUnits), extra_ARB_geometry_shader4" ], | |||
[ "MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB", "CONTEXT_INT(Const.GeometryProgram.MaxTextureImageUnits), extra_ARB_geometry_shader4" ], | |||
[ "MAX_GEOMETRY_OUTPUT_VERTICES_ARB", "CONTEXT_INT(Const.MaxGeometryOutputVertices), extra_ARB_geometry_shader4" ], | |||
[ "MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB", "CONTEXT_INT(Const.MaxGeometryTotalOutputComponents), extra_ARB_geometry_shader4" ], | |||
[ "MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB", "CONTEXT_INT(Const.GeometryProgram.MaxUniformComponents), extra_ARB_geometry_shader4" ], |
@@ -2735,6 +2735,7 @@ struct gl_program_constants | |||
/* GL_ARB_uniform_buffer_object */ | |||
GLuint MaxUniformBlocks; | |||
GLuint MaxCombinedUniformComponents; | |||
GLuint MaxTextureImageUnits; | |||
}; | |||
@@ -2751,11 +2752,8 @@ struct gl_constants | |||
GLuint MaxArrayTextureLayers; /**< Max layers in array textures */ | |||
GLuint MaxTextureRectSize; /**< Max rectangle texture size, in pixes */ | |||
GLuint MaxTextureCoordUnits; | |||
GLuint MaxTextureImageUnits; | |||
GLuint MaxVertexTextureImageUnits; | |||
GLuint MaxCombinedTextureImageUnits; | |||
GLuint MaxGeometryTextureImageUnits; | |||
GLuint MaxTextureUnits; /**< = MIN(CoordUnits, ImageUnits) */ | |||
GLuint MaxTextureUnits; /**< = MIN(CoordUnits, FragmentProgram.ImageUnits) */ | |||
GLfloat MaxTextureMaxAnisotropy; /**< GL_EXT_texture_filter_anisotropic */ | |||
GLfloat MaxTextureLodBias; /**< GL_EXT_texture_lod_bias */ | |||
GLuint MaxTextureBufferSize; /**< GL_ARB_texture_buffer_object */ |
@@ -880,7 +880,7 @@ _mesa_GetTexBumpParameterivATI( GLenum pname, GLint *param ) | |||
} | |||
else if (pname == GL_BUMP_NUM_TEX_UNITS_ATI) { | |||
GLint count = 0; | |||
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) { | |||
for (i = 0; i < ctx->Const.FragmentProgram.MaxTextureImageUnits; i++) { | |||
if (ctx->Const.SupportedBumpUnits & (1 << i)) { | |||
count++; | |||
} | |||
@@ -888,7 +888,7 @@ _mesa_GetTexBumpParameterivATI( GLenum pname, GLint *param ) | |||
*param = count; | |||
} | |||
else if (pname == GL_BUMP_TEX_UNITS_ATI) { | |||
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) { | |||
for (i = 0; i < ctx->Const.FragmentProgram.MaxTextureImageUnits; i++) { | |||
if (ctx->Const.SupportedBumpUnits & (1 << i)) { | |||
*param++ = i + GL_TEXTURE0; | |||
} | |||
@@ -929,7 +929,7 @@ _mesa_GetTexBumpParameterfvATI( GLenum pname, GLfloat *param ) | |||
} | |||
else if (pname == GL_BUMP_NUM_TEX_UNITS_ATI) { | |||
GLint count = 0; | |||
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) { | |||
for (i = 0; i < ctx->Const.FragmentProgram.MaxTextureImageUnits; i++) { | |||
if (ctx->Const.SupportedBumpUnits & (1 << i)) { | |||
count++; | |||
} | |||
@@ -937,7 +937,7 @@ _mesa_GetTexBumpParameterfvATI( GLenum pname, GLfloat *param ) | |||
*param = (GLfloat) count; | |||
} | |||
else if (pname == GL_BUMP_TEX_UNITS_ATI) { | |||
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) { | |||
for (i = 0; i < ctx->Const.FragmentProgram.MaxTextureImageUnits; i++) { | |||
if (ctx->Const.SupportedBumpUnits & (1 << i)) { | |||
*param++ = (GLfloat) (i + GL_TEXTURE0); | |||
} |
@@ -260,7 +260,7 @@ compute_version(struct gl_context *ctx) | |||
ctx->Extensions.EXT_texture_snorm && | |||
ctx->Extensions.NV_primitive_restart && | |||
ctx->Extensions.NV_texture_rectangle && | |||
ctx->Const.MaxVertexTextureImageUnits >= 16); | |||
ctx->Const.VertexProgram.MaxTextureImageUnits >= 16); | |||
const GLboolean ver_3_2 = (ver_3_1 && | |||
ctx->Const.GLSLVersion >= 150 && | |||
ctx->Extensions.ARB_depth_clamp && |
@@ -2714,7 +2714,7 @@ _mesa_parse_arb_program(struct gl_context *ctx, GLenum target, const GLubyte *st | |||
? & ctx->Const.VertexProgram | |||
: & ctx->Const.FragmentProgram; | |||
state->MaxTextureImageUnits = ctx->Const.MaxTextureImageUnits; | |||
state->MaxTextureImageUnits = ctx->Const.FragmentProgram.MaxTextureImageUnits; | |||
state->MaxTextureCoordUnits = ctx->Const.MaxTextureCoordUnits; | |||
state->MaxTextureUnits = ctx->Const.MaxTextureUnits; | |||
state->MaxClipPlanes = ctx->Const.MaxClipPlanes; |
@@ -279,14 +279,14 @@ update_samplers(struct st_context *st) | |||
update_shader_samplers(st, | |||
PIPE_SHADER_FRAGMENT, | |||
&ctx->FragmentProgram._Current->Base, | |||
ctx->Const.MaxTextureImageUnits, | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits, | |||
st->state.samplers[PIPE_SHADER_FRAGMENT], | |||
&st->state.num_samplers[PIPE_SHADER_FRAGMENT]); | |||
update_shader_samplers(st, | |||
PIPE_SHADER_VERTEX, | |||
&ctx->VertexProgram._Current->Base, | |||
ctx->Const.MaxVertexTextureImageUnits, | |||
ctx->Const.VertexProgram.MaxTextureImageUnits, | |||
st->state.samplers[PIPE_SHADER_VERTEX], | |||
&st->state.num_samplers[PIPE_SHADER_VERTEX]); | |||
@@ -294,7 +294,7 @@ update_samplers(struct st_context *st) | |||
update_shader_samplers(st, | |||
PIPE_SHADER_GEOMETRY, | |||
&ctx->GeometryProgram._Current->Base, | |||
ctx->Const.MaxGeometryTextureImageUnits, | |||
ctx->Const.GeometryProgram.MaxTextureImageUnits, | |||
st->state.samplers[PIPE_SHADER_GEOMETRY], | |||
&st->state.num_samplers[PIPE_SHADER_GEOMETRY]); | |||
} |
@@ -325,11 +325,11 @@ update_vertex_textures(struct st_context *st) | |||
{ | |||
const struct gl_context *ctx = st->ctx; | |||
if (ctx->Const.MaxVertexTextureImageUnits > 0) { | |||
if (ctx->Const.VertexProgram.MaxTextureImageUnits > 0) { | |||
update_textures(st, | |||
PIPE_SHADER_VERTEX, | |||
&ctx->VertexProgram._Current->Base, | |||
ctx->Const.MaxVertexTextureImageUnits, | |||
ctx->Const.VertexProgram.MaxTextureImageUnits, | |||
st->state.sampler_views[PIPE_SHADER_VERTEX], | |||
&st->state.num_sampler_views[PIPE_SHADER_VERTEX]); | |||
} | |||
@@ -344,7 +344,7 @@ update_fragment_textures(struct st_context *st) | |||
update_textures(st, | |||
PIPE_SHADER_FRAGMENT, | |||
&ctx->FragmentProgram._Current->Base, | |||
ctx->Const.MaxTextureImageUnits, | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits, | |||
st->state.sampler_views[PIPE_SHADER_FRAGMENT], | |||
&st->state.num_sampler_views[PIPE_SHADER_FRAGMENT]); | |||
} | |||
@@ -359,7 +359,7 @@ update_geometry_textures(struct st_context *st) | |||
update_textures(st, | |||
PIPE_SHADER_GEOMETRY, | |||
&ctx->GeometryProgram._Current->Base, | |||
ctx->Const.MaxTextureImageUnits, | |||
ctx->Const.FragmentProgram.MaxTextureImageUnits, | |||
st->state.sampler_views[PIPE_SHADER_GEOMETRY], | |||
&st->state.num_sampler_views[PIPE_SHADER_GEOMETRY]); | |||
} |
@@ -90,12 +90,12 @@ void st_init_limits(struct st_context *st) | |||
c->MaxArrayTextureLayers | |||
= screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_ARRAY_LAYERS); | |||
c->MaxTextureImageUnits | |||
c->FragmentProgram.MaxTextureImageUnits | |||
= _min(screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT, | |||
PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS), | |||
MAX_TEXTURE_IMAGE_UNITS); | |||
c->MaxVertexTextureImageUnits | |||
c->VertexProgram.MaxTextureImageUnits | |||
= _min(screen->get_shader_param(screen, PIPE_SHADER_VERTEX, | |||
PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS), | |||
MAX_TEXTURE_IMAGE_UNITS); | |||
@@ -105,9 +105,9 @@ void st_init_limits(struct st_context *st) | |||
MAX_COMBINED_TEXTURE_IMAGE_UNITS); | |||
c->MaxTextureCoordUnits | |||
= _min(c->MaxTextureImageUnits, MAX_TEXTURE_COORD_UNITS); | |||
= _min(c->FragmentProgram.MaxTextureImageUnits, MAX_TEXTURE_COORD_UNITS); | |||
c->MaxTextureUnits = _min(c->MaxTextureImageUnits, c->MaxTextureCoordUnits); | |||
c->MaxTextureUnits = _min(c->FragmentProgram.MaxTextureImageUnits, c->MaxTextureCoordUnits); | |||
/* Define max viewport size and max renderbuffer size in terms of | |||
* max texture size (note: max tex RECT size = max tex 2D size). |
@@ -4930,7 +4930,7 @@ st_translate_program( | |||
assert(i == program->num_immediates); | |||
/* texture samplers */ | |||
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) { | |||
for (i = 0; i < ctx->Const.FragmentProgram.MaxTextureImageUnits; i++) { | |||
if (program->samplers_used & (1 << i)) { | |||
t->samplers[i] = ureg_DECL_sampler(ureg, i); | |||
} |
@@ -1221,7 +1221,7 @@ st_translate_mesa_program( | |||
} | |||
/* texture samplers */ | |||
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) { | |||
for (i = 0; i < ctx->Const.FragmentProgram.MaxTextureImageUnits; i++) { | |||
if (program->SamplersUsed & (1 << i)) { | |||
t->samplers[i] = ureg_DECL_sampler( ureg, i ); | |||
} |
@@ -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.MaxTextureImageUnits ; i++) | |||
for (i = 0 ; i < ctx->Const.FragmentProgram.MaxTextureImageUnits ; 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.MaxTextureImageUnits; u++) { | |||
for (u = 0; u < ctx->Const.FragmentProgram.MaxTextureImageUnits; 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). |
@@ -612,7 +612,7 @@ _swrast_texture_span( struct gl_context *ctx, SWspan *span ) | |||
* thread. | |||
*/ | |||
swrast->TexelBuffer = | |||
malloc(ctx->Const.MaxTextureImageUnits * maxThreads * | |||
malloc(ctx->Const.FragmentProgram.MaxTextureImageUnits * maxThreads * | |||
SWRAST_MAX_WIDTH * 4 * sizeof(GLfloat)); | |||
if (!swrast->TexelBuffer) { | |||
_mesa_error(ctx, GL_OUT_OF_MEMORY, "texture_combine"); |
@@ -260,7 +260,7 @@ map_textures(struct gl_context *ctx, const struct gl_vertex_program *vp) | |||
{ | |||
GLuint u; | |||
for (u = 0; u < ctx->Const.MaxVertexTextureImageUnits; u++) { | |||
for (u = 0; u < ctx->Const.VertexProgram.MaxTextureImageUnits; u++) { | |||
if (vp->Base.TexturesUsed[u]) { | |||
/* Note: _Current *should* correspond to the target indicated | |||
* in TexturesUsed[u]. | |||
@@ -279,7 +279,7 @@ unmap_textures(struct gl_context *ctx, const struct gl_vertex_program *vp) | |||
{ | |||
GLuint u; | |||
for (u = 0; u < ctx->Const.MaxVertexTextureImageUnits; u++) { | |||
for (u = 0; u < ctx->Const.VertexProgram.MaxTextureImageUnits; u++) { | |||
if (vp->Base.TexturesUsed[u]) { | |||
/* Note: _Current *should* correspond to the target indicated | |||
* in TexturesUsed[u]. |