Mesa (master): mesa: test against MaxUniformComponents in check_resources()

Brian Paul brianp at kemper.freedesktop.org
Fri Mar 11 17:09:39 UTC 2011


Module: Mesa
Branch: master
Commit: d7db14ab7d66520b6030c0aa48c94507179a8d4e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7db14ab7d66520b6030c0aa48c94507179a8d4e

Author: Brian Paul <brianp at vmware.com>
Date:   Fri Mar 11 10:03:40 2011 -0700

mesa: test against MaxUniformComponents in check_resources()

Since we're compiling/linking GLSL shaders we should check against
the shader uniform limits, not the legacy vertex/fragment program
parameter limits which are usually lower.

---

 src/mesa/program/ir_to_mesa.cpp |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/program/ir_to_mesa.cpp b/src/mesa/program/ir_to_mesa.cpp
index c4704fe..eff0d37 100644
--- a/src/mesa/program/ir_to_mesa.cpp
+++ b/src/mesa/program/ir_to_mesa.cpp
@@ -2454,7 +2454,7 @@ check_resources(const struct gl_context *ctx,
          fail_link(shader_program, "Too many vertex shader texture samplers");
       }
       if (prog->Parameters->NumParameters >
-          ctx->Const.VertexProgram.MaxParameters) {
+          ctx->Const.VertexProgram.MaxUniformComponents / 4) {
          fail_link(shader_program, "Too many vertex shader constants");
       }
       break;
@@ -2464,7 +2464,7 @@ check_resources(const struct gl_context *ctx,
          fail_link(shader_program, "Too many geometry shader texture samplers");
       }
       if (prog->Parameters->NumParameters >
-          ctx->Const.GeometryProgram.MaxParameters) {
+          ctx->Const.GeometryProgram.MaxUniformComponents / 4) {
          fail_link(shader_program, "Too many geometry shader constants");
       }
       break;
@@ -2474,7 +2474,7 @@ check_resources(const struct gl_context *ctx,
          fail_link(shader_program, "Too many fragment shader texture samplers");
       }
       if (prog->Parameters->NumParameters >
-          ctx->Const.FragmentProgram.MaxParameters) {
+          ctx->Const.FragmentProgram.MaxUniformComponents / 4) {
          fail_link(shader_program, "Too many fragment shader constants");
       }
       break;




More information about the mesa-commit mailing list