diff options
Diffstat (limited to 'libre-multilib/lib32-opencl-mesa/0001-Mesa-dev-st_glsl_to_tgsi-overlord-fix.patch')
-rw-r--r-- | libre-multilib/lib32-opencl-mesa/0001-Mesa-dev-st_glsl_to_tgsi-overlord-fix.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libre-multilib/lib32-opencl-mesa/0001-Mesa-dev-st_glsl_to_tgsi-overlord-fix.patch b/libre-multilib/lib32-opencl-mesa/0001-Mesa-dev-st_glsl_to_tgsi-overlord-fix.patch new file mode 100644 index 000000000..0ba38ca09 --- /dev/null +++ b/libre-multilib/lib32-opencl-mesa/0001-Mesa-dev-st_glsl_to_tgsi-overlord-fix.patch @@ -0,0 +1,17 @@ +diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +index 7564119..38e2c4a 100644 +--- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp ++++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +@@ -6058,7 +6058,11 @@ st_translate_program( + inputSemanticName[i], inputSemanticIndex[i], + interpMode[i], 0, interpLocation[i], + array_id, array_size); +- i += array_size - 1; ++ ++ GLuint base_attr = inputSlotToAttr[i]; ++ while (i + 1 < numInputs && ++ inputSlotToAttr[i + 1] < base_attr + array_size) ++ ++i; + } + else { + t->inputs[i] = ureg_DECL_fs_input_cyl_centroid(ureg, |