mesa: consolidate definitions of max texture image units

Shaders are unified on most hardware (= same limits in all stages).

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Marek Olšák
2013-05-02 01:22:48 +02:00
parent 5471e3949c
commit d27d29f1a6
3 changed files with 5 additions and 9 deletions

View File

@@ -219,9 +219,8 @@
/** For GL_ARB_vertex_shader */ /** For GL_ARB_vertex_shader */
/*@{*/ /*@{*/
#define MAX_VERTEX_GENERIC_ATTRIBS 16 #define MAX_VERTEX_GENERIC_ATTRIBS 16
#define MAX_VERTEX_TEXTURE_IMAGE_UNITS MAX_TEXTURE_IMAGE_UNITS /* 6 is for vertex, hull, domain, geometry, fragment, and compute shader. */
#define MAX_COMBINED_TEXTURE_IMAGE_UNITS (MAX_VERTEX_TEXTURE_IMAGE_UNITS + \ #define MAX_COMBINED_TEXTURE_IMAGE_UNITS (MAX_TEXTURE_IMAGE_UNITS * 6)
MAX_TEXTURE_IMAGE_UNITS)
/*@}*/ /*@}*/
@@ -246,7 +245,6 @@
/** For GL_ARB_geometry_shader4 */ /** For GL_ARB_geometry_shader4 */
/*@{*/ /*@{*/
#define MAX_GEOMETRY_TEXTURE_IMAGE_UNITS 8
#define MAX_GEOMETRY_VARYING_COMPONENTS 32 #define MAX_GEOMETRY_VARYING_COMPONENTS 32
#define MAX_VERTEX_VARYING_COMPONENTS 32 #define MAX_VERTEX_VARYING_COMPONENTS 32
#define MAX_GEOMETRY_UNIFORM_COMPONENTS 512 #define MAX_GEOMETRY_UNIFORM_COMPONENTS 512

View File

@@ -601,10 +601,10 @@ _mesa_init_constants(struct gl_context *ctx)
ctx->Const.MaxColorAttachments = MAX_COLOR_ATTACHMENTS; ctx->Const.MaxColorAttachments = MAX_COLOR_ATTACHMENTS;
ctx->Const.MaxRenderbufferSize = MAX_RENDERBUFFER_SIZE; ctx->Const.MaxRenderbufferSize = MAX_RENDERBUFFER_SIZE;
ctx->Const.MaxVertexTextureImageUnits = MAX_VERTEX_TEXTURE_IMAGE_UNITS; ctx->Const.MaxVertexTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS;
ctx->Const.MaxCombinedTextureImageUnits = MAX_COMBINED_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.MaxVarying = 16; /* old limit not to break tnl and swrast */
ctx->Const.MaxGeometryTextureImageUnits = MAX_GEOMETRY_TEXTURE_IMAGE_UNITS; ctx->Const.MaxGeometryTextureImageUnits = MAX_TEXTURE_IMAGE_UNITS;
ctx->Const.MaxVertexVaryingComponents = MAX_VERTEX_VARYING_COMPONENTS; ctx->Const.MaxVertexVaryingComponents = MAX_VERTEX_VARYING_COMPONENTS;
ctx->Const.MaxGeometryVaryingComponents = MAX_GEOMETRY_VARYING_COMPONENTS; ctx->Const.MaxGeometryVaryingComponents = MAX_GEOMETRY_VARYING_COMPONENTS;
ctx->Const.MaxGeometryOutputVertices = MAX_GEOMETRY_OUTPUT_VERTICES; ctx->Const.MaxGeometryOutputVertices = MAX_GEOMETRY_OUTPUT_VERTICES;
@@ -676,8 +676,6 @@ check_context_limits(struct gl_context *ctx)
assert(VARYING_SLOT_MAX <= assert(VARYING_SLOT_MAX <=
(8 * sizeof(ctx->FragmentProgram._Current->Base.InputsRead))); (8 * sizeof(ctx->FragmentProgram._Current->Base.InputsRead)));
assert(MAX_COMBINED_TEXTURE_IMAGE_UNITS <= 8 * sizeof(GLbitfield));
/* shader-related checks */ /* shader-related checks */
assert(ctx->Const.FragmentProgram.MaxLocalParams <= MAX_PROGRAM_LOCAL_PARAMS); assert(ctx->Const.FragmentProgram.MaxLocalParams <= MAX_PROGRAM_LOCAL_PARAMS);
assert(ctx->Const.VertexProgram.MaxLocalParams <= MAX_PROGRAM_LOCAL_PARAMS); assert(ctx->Const.VertexProgram.MaxLocalParams <= MAX_PROGRAM_LOCAL_PARAMS);

View File

@@ -98,7 +98,7 @@ void st_init_limits(struct st_context *st)
c->MaxVertexTextureImageUnits c->MaxVertexTextureImageUnits
= _min(screen->get_shader_param(screen, PIPE_SHADER_VERTEX, = _min(screen->get_shader_param(screen, PIPE_SHADER_VERTEX,
PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS), PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERS),
MAX_VERTEX_TEXTURE_IMAGE_UNITS); MAX_TEXTURE_IMAGE_UNITS);
c->MaxCombinedTextureImageUnits c->MaxCombinedTextureImageUnits
= _min(screen->get_param(screen, PIPE_CAP_MAX_COMBINED_SAMPLERS), = _min(screen->get_param(screen, PIPE_CAP_MAX_COMBINED_SAMPLERS),