Mesa (master): glsl/linker: Mark no locations as invalid instead of marking all locations
Ian Romanick
idr at kemper.freedesktop.org
Wed Jan 10 15:21:23 UTC 2018
Module: Mesa
Branch: master
Commit: 0c9df36157aca1e725f037e5adc54100aa387bd3
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c9df36157aca1e725f037e5adc54100aa387bd3
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Jan 5 18:40:21 2018 -0800
glsl/linker: Mark no locations as invalid instead of marking all locations
If max_index were ever 32, the linker would have marked all 32
locations as invalid instead of marking none of them as invalid. It's
a good thing the maximum value actually set by any driver for
MaxAttribs is 16.
Found by inspection while investigating CID 1369628.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Alejandro Piñeiro <apinheiro at igalia.com>
---
src/compiler/glsl/linker.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/compiler/glsl/linker.cpp b/src/compiler/glsl/linker.cpp
index 6f9680aae7..d1f10eeecd 100644
--- a/src/compiler/glsl/linker.cpp
+++ b/src/compiler/glsl/linker.cpp
@@ -2583,7 +2583,7 @@ assign_attribute_or_color_locations(void *mem_ctx,
/* Mark invalid locations as being used.
*/
unsigned used_locations = (max_index >= 32)
- ? ~0 : ~((1 << max_index) - 1);
+ ? 0 : ~((1 << max_index) - 1);
unsigned double_storage_locations = 0;
assert((target_index == MESA_SHADER_VERTEX)
More information about the mesa-commit
mailing list