Mesa (master): tu: Force gl_Layer to 0 when necessary

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 7 08:37:26 UTC 2020


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

Author: Connor Abbott <cwabbott0 at gmail.com>
Date:   Fri Jul  3 12:03:00 2020 +0200

tu: Force gl_Layer to 0 when necessary

In particular this will help us implement input attachments correctly
with layered rendering.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5732>

---

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

diff --git a/src/freedreno/vulkan/tu_pipeline.c b/src/freedreno/vulkan/tu_pipeline.c
index 965aa34209f..4a21a1514ee 100644
--- a/src/freedreno/vulkan/tu_pipeline.c
+++ b/src/freedreno/vulkan/tu_pipeline.c
@@ -1977,6 +1977,10 @@ tu_pipeline_builder_compile_shaders(struct tu_pipeline_builder *builder,
       builder->shaders[stage] = shader;
    }
 
+   struct tu_shader *gs = builder->shaders[MESA_SHADER_GEOMETRY];
+   key.layer_zero =
+      !gs || !(gs->ir3_shader->nir->info.outputs_written & VARYING_SLOT_LAYER);
+
    pipeline->tess.patch_type = key.tessellation;
 
    for (gl_shader_stage stage = MESA_SHADER_VERTEX;



More information about the mesa-commit mailing list