diff options
author | marha <marha@users.sourceforge.net> | 2013-06-18 08:23:14 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-06-18 08:23:14 +0200 |
commit | b071050b9eda9d5e5185e582dbe9f4adba863ccc (patch) | |
tree | 6da290f7da04f9afc96691608b65967f2ee0e0fa /mesalib/src/glsl/linker.cpp | |
parent | 150771e7aabf4c864b0b970c5b8d773634793abe (diff) | |
download | vcxsrv-b071050b9eda9d5e5185e582dbe9f4adba863ccc.tar.gz vcxsrv-b071050b9eda9d5e5185e582dbe9f4adba863ccc.tar.bz2 vcxsrv-b071050b9eda9d5e5185e582dbe9f4adba863ccc.zip |
libX11 libXmu libxcb/xcb-proto mesa mkfontscale pixman xkeyboard-config git update 18 June 2013
libxcb/xcb-proto commit e5f7c750815cb5170db363a2e5b09639b7354733
xkeyboard-config commit 30d804538462213ed01e8efc0b44a8e5a0aff990
libX11 commit 9dfb0f3c0a761590bcdc1f3396b1e064da4e18e8
pixman commit 279bdcda7ec3af8ac06312f4514b1b082a279544
mkfontscale commit f731c5c36f28ddd0f25f474d2991c96f9a7a915c
libXmu commit e46ecb4e02b7f919b11efa79448d4db71d1deb69
mesa commit eb2021507556633cd6ba64cda26653e3c43e80df
Diffstat (limited to 'mesalib/src/glsl/linker.cpp')
-rw-r--r-- | mesalib/src/glsl/linker.cpp | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/mesalib/src/glsl/linker.cpp b/mesalib/src/glsl/linker.cpp index 982fe46bd..cd8d680ae 100644 --- a/mesalib/src/glsl/linker.cpp +++ b/mesalib/src/glsl/linker.cpp @@ -1523,12 +1523,18 @@ check_resources(struct gl_context *ctx, struct gl_shader_program *prog) ctx->Const.GeometryProgram.MaxTextureImageUnits }; - const unsigned max_uniform_components[MESA_SHADER_TYPES] = { + const unsigned max_default_uniform_components[MESA_SHADER_TYPES] = { ctx->Const.VertexProgram.MaxUniformComponents, ctx->Const.FragmentProgram.MaxUniformComponents, ctx->Const.GeometryProgram.MaxUniformComponents }; + const unsigned max_combined_uniform_components[MESA_SHADER_TYPES] = { + ctx->Const.VertexProgram.MaxCombinedUniformComponents, + ctx->Const.FragmentProgram.MaxCombinedUniformComponents, + ctx->Const.GeometryProgram.MaxCombinedUniformComponents + }; + const unsigned max_uniform_blocks[MESA_SHADER_TYPES] = { ctx->Const.VertexProgram.MaxUniformBlocks, ctx->Const.FragmentProgram.MaxUniformBlocks, @@ -1546,7 +1552,22 @@ check_resources(struct gl_context *ctx, struct gl_shader_program *prog) shader_names[i]); } - if (sh->num_uniform_components > max_uniform_components[i]) { + if (sh->num_uniform_components > max_default_uniform_components[i]) { + if (ctx->Const.GLSLSkipStrictMaxUniformLimitCheck) { + linker_warning(prog, "Too many %s shader default uniform block " + "components, but the driver will try to optimize " + "them out; this is non-portable out-of-spec " + "behavior\n", + shader_names[i]); + } else { + linker_error(prog, "Too many %s shader default uniform block " + "components", + shader_names[i]); + } + } + + if (sh->num_combined_uniform_components > + max_combined_uniform_components[i]) { if (ctx->Const.GLSLSkipStrictMaxUniformLimitCheck) { linker_warning(prog, "Too many %s shader uniform components, " "but the driver will try to optimize them out; " |