mesa: added gl_program_constants::MaxAddressOffset
See https://bugs.freedesktop.org/show_bug.cgi?id=29418
This commit is contained in:
parent
41208bf047
commit
8ad821df0a
|
@ -487,6 +487,7 @@ init_program_limits(GLenum type, struct gl_program_constants *prog)
|
|||
prog->MaxEnvParams = MAX_PROGRAM_ENV_PARAMS;
|
||||
prog->MaxLocalParams = MAX_PROGRAM_LOCAL_PARAMS;
|
||||
prog->MaxUniformComponents = 4 * MAX_UNIFORMS;
|
||||
prog->MaxAddressOffset = MAX_PROGRAM_LOCAL_PARAMS;
|
||||
|
||||
switch (type) {
|
||||
case GL_VERTEX_PROGRAM_ARB:
|
||||
|
|
|
@ -2573,6 +2573,7 @@ struct gl_program_constants
|
|||
GLuint MaxAttribs;
|
||||
GLuint MaxTemps;
|
||||
GLuint MaxAddressRegs;
|
||||
GLuint MaxAddressOffset; /**< [-MaxAddressOffset, MaxAddressOffset-1] */
|
||||
GLuint MaxParameters;
|
||||
GLuint MaxLocalParams;
|
||||
GLuint MaxEnvParams;
|
||||
|
|
|
@ -71,6 +71,9 @@ _mesa_init_program(struct gl_context *ctx)
|
|||
ASSERT(ctx->Const.VertexProgram.MaxUniformComponents <= 4 * MAX_UNIFORMS);
|
||||
ASSERT(ctx->Const.FragmentProgram.MaxUniformComponents <= 4 * MAX_UNIFORMS);
|
||||
|
||||
ASSERT(ctx->Const.VertexProgram.MaxAddressOffset <= (1 << INST_INDEX_BITS));
|
||||
ASSERT(ctx->Const.FragmentProgram.MaxAddressOffset <= (1 << INST_INDEX_BITS));
|
||||
|
||||
/* If this fails, increase prog_instruction::TexSrcUnit size */
|
||||
ASSERT(MAX_TEXTURE_UNITS < (1 << 5));
|
||||
|
||||
|
|
|
@ -935,7 +935,7 @@ addrRegRelOffset: { $$ = 0; }
|
|||
|
||||
addrRegPosOffset: INTEGER
|
||||
{
|
||||
if (($1 < 0) || ($1 > 4095)) {
|
||||
if (($1 < 0) || ($1 > (state->limits->MaxAddressOffset - 1))) {
|
||||
char s[100];
|
||||
_mesa_snprintf(s, sizeof(s),
|
||||
"relative address offset too large (%d)", $1);
|
||||
|
@ -949,7 +949,7 @@ addrRegPosOffset: INTEGER
|
|||
|
||||
addrRegNegOffset: INTEGER
|
||||
{
|
||||
if (($1 < 0) || ($1 > 4096)) {
|
||||
if (($1 < 0) || ($1 > state->limits->MaxAddressOffset)) {
|
||||
char s[100];
|
||||
_mesa_snprintf(s, sizeof(s),
|
||||
"relative address offset too large (%d)", $1);
|
||||
|
|
Loading…
Reference in New Issue