I have a
layout(location=0) uniform sampler2D diffuseTex;
in my shader, and it fails to compile with error:
"location(s) consumed by uniform diffuseTex >= MAX_UNIFORM_LOCATIONS (65536)".
I think this is because of this line in ast_to_hir.cpp:
> unsigned max_loc = qual->location + var->type->uniform_locations() - 1;
If "var->type->uniform_locations()" returns zero and qual->location is zero, we have an integer underflow, and therefore the following checks will fail.
will take a look
Micael, would be cool to have your shader as a test case.
a new piglit test case and fix for the bug has been sent for review ..
(In reply to comment #2)
> Micael, would be cool to have your shader as a test case.
As you created the piglit test, am I right to believe this is no longer needed?
The shader is a very simple one basically calling texture() on the uniform sampler2D.
Yep no additional tests needed. I sent another fix to the list, all explicit uniform Piglit tests are passing with this.
fix has been on the list for some time now ..
*** Bug 83124 has been marked as a duplicate of this bug. ***
fixed in master
on Jan 18, 2017 at 01:47:02.
(provided by the Example extension).