mesa: unify MaxVertexVaryingComponents and MaxGeometryVaryingComponents
The limits should not be different and OpenGL requires both to be at least 32, which is also the maximum limit on radeon. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
@@ -245,8 +245,6 @@
|
|||||||
|
|
||||||
/** For GL_ARB_geometry_shader4 */
|
/** For GL_ARB_geometry_shader4 */
|
||||||
/*@{*/
|
/*@{*/
|
||||||
#define MAX_GEOMETRY_VARYING_COMPONENTS 32
|
|
||||||
#define MAX_VERTEX_VARYING_COMPONENTS 32
|
|
||||||
#define MAX_GEOMETRY_UNIFORM_COMPONENTS 512
|
#define MAX_GEOMETRY_UNIFORM_COMPONENTS 512
|
||||||
#define MAX_GEOMETRY_OUTPUT_VERTICES 256
|
#define MAX_GEOMETRY_OUTPUT_VERTICES 256
|
||||||
#define MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 1024
|
#define MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS 1024
|
||||||
|
@@ -605,8 +605,6 @@ _mesa_init_constants(struct gl_context *ctx)
|
|||||||
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.GeometryProgram.MaxTextureImageUnits = 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;
|
ctx->Const.MaxGeometryOutputVertices = MAX_GEOMETRY_OUTPUT_VERTICES;
|
||||||
ctx->Const.MaxGeometryTotalOutputComponents = MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS;
|
ctx->Const.MaxGeometryTotalOutputComponents = MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS;
|
||||||
|
|
||||||
|
@@ -641,8 +641,8 @@ descriptor=[
|
|||||||
[ "MAX_GEOMETRY_OUTPUT_VERTICES_ARB", "CONTEXT_INT(Const.MaxGeometryOutputVertices), 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_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" ],
|
[ "MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB", "CONTEXT_INT(Const.GeometryProgram.MaxUniformComponents), extra_ARB_geometry_shader4" ],
|
||||||
[ "MAX_GEOMETRY_VARYING_COMPONENTS_ARB", "CONTEXT_INT(Const.MaxGeometryVaryingComponents), extra_ARB_geometry_shader4" ],
|
[ "MAX_GEOMETRY_VARYING_COMPONENTS_ARB", "CONTEXT_INT(Const.MaxVaryingComponents), extra_ARB_geometry_shader4" ],
|
||||||
[ "MAX_VERTEX_VARYING_COMPONENTS_ARB", "CONTEXT_INT(Const.MaxVertexVaryingComponents), extra_ARB_geometry_shader4" ],
|
[ "MAX_VERTEX_VARYING_COMPONENTS_ARB", "CONTEXT_INT(Const.MaxVaryingComponents), extra_ARB_geometry_shader4" ],
|
||||||
|
|
||||||
# GL_ARB_color_buffer_float
|
# GL_ARB_color_buffer_float
|
||||||
[ "RGBA_FLOAT_MODE_ARB", "BUFFER_FIELD(Visual.floatMode, TYPE_BOOLEAN), extra_core_ARB_color_buffer_float_and_new_buffers" ],
|
[ "RGBA_FLOAT_MODE_ARB", "BUFFER_FIELD(Visual.floatMode, TYPE_BOOLEAN), extra_core_ARB_color_buffer_float_and_new_buffers" ],
|
||||||
|
@@ -2803,10 +2803,9 @@ struct gl_constants
|
|||||||
GLuint MaxRenderbufferSize; /**< GL_EXT_framebuffer_object */
|
GLuint MaxRenderbufferSize; /**< GL_EXT_framebuffer_object */
|
||||||
GLuint MaxSamples; /**< GL_ARB_framebuffer_object */
|
GLuint MaxSamples; /**< GL_ARB_framebuffer_object */
|
||||||
|
|
||||||
/** Number of varying vectors between vertex and fragment shaders */
|
/** Number of varying vectors between any two shader stages. */
|
||||||
GLuint MaxVarying;
|
GLuint MaxVarying;
|
||||||
GLuint MaxVertexVaryingComponents; /**< Between vert and geom shader */
|
GLuint MaxVaryingComponents;
|
||||||
GLuint MaxGeometryVaryingComponents; /**< Between geom and frag shader */
|
|
||||||
|
|
||||||
/** @{
|
/** @{
|
||||||
* GL_ARB_uniform_buffer_object
|
* GL_ARB_uniform_buffer_object
|
||||||
|
@@ -242,6 +242,7 @@ void st_init_limits(struct st_context *st)
|
|||||||
c->MaxVarying = screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT,
|
c->MaxVarying = screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT,
|
||||||
PIPE_SHADER_CAP_MAX_INPUTS);
|
PIPE_SHADER_CAP_MAX_INPUTS);
|
||||||
c->MaxVarying = MIN2(c->MaxVarying, MAX_VARYING);
|
c->MaxVarying = MIN2(c->MaxVarying, MAX_VARYING);
|
||||||
|
c->MaxVaryingComponents = c->MaxVarying * 4;
|
||||||
|
|
||||||
c->MinProgramTexelOffset = screen->get_param(screen, PIPE_CAP_MIN_TEXEL_OFFSET);
|
c->MinProgramTexelOffset = screen->get_param(screen, PIPE_CAP_MIN_TEXEL_OFFSET);
|
||||||
c->MaxProgramTexelOffset = screen->get_param(screen, PIPE_CAP_MAX_TEXEL_OFFSET);
|
c->MaxProgramTexelOffset = screen->get_param(screen, PIPE_CAP_MAX_TEXEL_OFFSET);
|
||||||
|
Reference in New Issue
Block a user