Mesa (master): turnip: Fix crashes when geometry shader constants aren't used

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Apr 23 05:32:25 UTC 2020


Module: Mesa
Branch: master
Commit: 227df2a2badf0047a3e6e2c1d196aa1b26427b10
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=227df2a2badf0047a3e6e2c1d196aa1b26427b10

Author: Hyunjun Ko <zzoon at igalia.com>
Date:   Thu Apr 23 02:28:34 2020 +0000

turnip: Fix crashes when geometry shader constants aren't used

Fixes dEQP-VK.transform_feedback.fuzz.2_level_array.float.geometry, for
example.

Signed-off-by: Hyunjun Ko <zzoon at igalia.com>
Reviewed-by: Jonathan Marek <jonathan at marek.ca>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4693>

---

 src/freedreno/vulkan/tu_pipeline.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/freedreno/vulkan/tu_pipeline.c b/src/freedreno/vulkan/tu_pipeline.c
index b2d5b69393c..e3ac144603a 100644
--- a/src/freedreno/vulkan/tu_pipeline.c
+++ b/src/freedreno/vulkan/tu_pipeline.c
@@ -897,6 +897,8 @@ tu6_emit_link_map(struct tu_cs *cs,
    int size = DIV_ROUND_UP(num_loc, 4);
 
    size = (MIN2(size + base, consumer->constlen) - base) * 4;
+   if (size <= 0)
+      return;
 
    tu6_emit_const(cs, CP_LOAD_STATE6_GEOM, base, SB6_GS_SHADER, 0, size,
                   patch_locs);



More information about the mesa-commit mailing list