Mesa (master): st/mesa: add color varyings to MaxVarying
Marek Olšák
mareko at kemper.freedesktop.org
Mon Dec 12 07:05:14 UTC 2011
Module: Mesa
Branch: master
Commit: 1ded658ce074a85bc08c989ff17840b840ff3051
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ded658ce074a85bc08c989ff17840b840ff3051
Author: Marek Olšák <maraeo at gmail.com>
Date: Tue Nov 22 15:05:29 2011 +0100
st/mesa: add color varyings to MaxVarying
The linker now adds color varyings to the number of used varyings and checks
against that limit.
NOTE: This is a candidate for the 7.11 branch.
---
src/mesa/state_tracker/st_extensions.c | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 37fb3e7..9e39729 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -210,12 +210,10 @@ void st_init_limits(struct st_context *st)
options->MaxUnrollIterations = MIN2(screen->get_shader_param(screen, sh, PIPE_SHADER_CAP_MAX_INSTRUCTIONS), 65536);
}
- /* PIPE_CAP_MAX_FS_INPUTS specifies the number of COLORn + GENERICn inputs
- * and is set in MaxNativeAttribs. It's always 2 colors + N generic
- * attributes. The GLSL compiler never uses COLORn for varyings, so we
- * subtract the 2 colors to get the maximum number of varyings (generic
- * attributes) supported by a driver. */
- c->MaxVarying = screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_MAX_INPUTS) - 2;
+ /* PIPE_SHADER_CAP_MAX_INPUTS for the FS specifies the maximum number
+ * of inputs. It's always 2 colors + N generic inputs. */
+ c->MaxVarying = screen->get_shader_param(screen, PIPE_SHADER_FRAGMENT,
+ PIPE_SHADER_CAP_MAX_INPUTS);
c->MaxVarying = MIN2(c->MaxVarying, MAX_VARYING);
c->MinProgramTexelOffset = screen->get_param(screen, PIPE_CAP_MIN_TEXEL_OFFSET);
More information about the mesa-commit
mailing list