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