diff options
author | Marek Olšák <[email protected]> | 2012-10-26 17:37:07 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2012-10-29 12:51:41 +0100 |
commit | b3921e1f53833420e0a0fd581f741744e7957a05 (patch) | |
tree | e16146e47d22c009490dc9a0cf294c503b3a511c /src/mesa | |
parent | 00e6819e9964458395c597b9b1745a913c5c889b (diff) |
mesa: bump MAX_VARYING to 32
We're starting to get apps utilizing more than 16 varyings and
most current hardware supports 32 anyway.
Tested with r600g.
swrast, softpipe and llvmpipe still advertise 16 varyings.
This fixes a WebGL crash after launching this demo:
https://developer.mozilla.org/en-US/demos/detail/falling-cubes
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54402
NOTE: This is a candidate for the stable branches.
Acked-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/config.h | 2 | ||||
-rw-r--r-- | src/mesa/main/context.c | 2 | ||||
-rw-r--r-- | src/mesa/program/prog_print.c | 36 |
3 files changed, 36 insertions, 4 deletions
diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index 1b72b5449fd..99910d7f36f 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -187,7 +187,7 @@ #define MAX_PROGRAM_CALL_DEPTH 8 #define MAX_PROGRAM_TEMPS 256 #define MAX_PROGRAM_ADDRESS_REGS 2 -#define MAX_VARYING 16 /**< number of float[4] vectors */ +#define MAX_VARYING 32 /**< number of float[4] vectors */ #define MAX_SAMPLERS MAX_TEXTURE_IMAGE_UNITS #define MAX_PROGRAM_INPUTS 32 #define MAX_PROGRAM_OUTPUTS 64 diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index b00c64233c2..a51073843f6 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -614,7 +614,7 @@ _mesa_init_constants(struct gl_context *ctx) ctx->Const.MaxVertexTextureImageUnits = MAX_VERTEX_TEXTURE_IMAGE_UNITS; ctx->Const.MaxCombinedTextureImageUnits = MAX_COMBINED_TEXTURE_IMAGE_UNITS; - ctx->Const.MaxVarying = MAX_VARYING; + ctx->Const.MaxVarying = 16; /* old limit not to break tnl and swrast */ ctx->Const.MaxGeometryTextureImageUnits = MAX_GEOMETRY_TEXTURE_IMAGE_UNITS; ctx->Const.MaxVertexVaryingComponents = MAX_VERTEX_VARYING_COMPONENTS; ctx->Const.MaxGeometryVaryingComponents = MAX_GEOMETRY_VARYING_COMPONENTS; diff --git a/src/mesa/program/prog_print.c b/src/mesa/program/prog_print.c index a83cce4e3cd..dbaa4d01761 100644 --- a/src/mesa/program/prog_print.c +++ b/src/mesa/program/prog_print.c @@ -158,7 +158,23 @@ arb_input_attrib_string(GLint index, GLenum progType) "fragment.varying[12]", "fragment.varying[13]", "fragment.varying[14]", - "fragment.varying[15]" /* MAX_VARYING = 16 */ + "fragment.varying[15]", + "fragment.varying[16]", + "fragment.varying[17]", + "fragment.varying[18]", + "fragment.varying[19]", + "fragment.varying[20]", + "fragment.varying[21]", + "fragment.varying[22]", + "fragment.varying[23]", + "fragment.varying[24]", + "fragment.varying[25]", + "fragment.varying[26]", + "fragment.varying[27]", + "fragment.varying[28]", + "fragment.varying[29]", + "fragment.varying[30]", + "fragment.varying[31]", /* MAX_VARYING = 32 */ }; /* sanity checks */ @@ -262,7 +278,23 @@ arb_output_attrib_string(GLint index, GLenum progType) "result.varying[12]", "result.varying[13]", "result.varying[14]", - "result.varying[15]" /* MAX_VARYING = 16 */ + "result.varying[15]", + "result.varying[16]", + "result.varying[17]", + "result.varying[18]", + "result.varying[19]", + "result.varying[20]", + "result.varying[21]", + "result.varying[22]", + "result.varying[23]", + "result.varying[24]", + "result.varying[25]", + "result.varying[26]", + "result.varying[27]", + "result.varying[28]", + "result.varying[29]", + "result.varying[30]", + "result.varying[31]", /* MAX_VARYING = 32 */ }; static const char *const fragResults[] = { "result.depth", /* FRAG_RESULT_DEPTH */ |