Mesa (master): i965: Don't force SSO layout for VS->TCS.

Kenneth Graunke kwg at kemper.freedesktop.org
Tue Dec 6 20:37:27 UTC 2016


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

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Sun Dec  4 22:35:42 2016 -0800

i965: Don't force SSO layout for VS->TCS.

This was a hack which worked around the VS and TCS disagreeing on their
shared interface due to the lack of varying packing.  In particular, it
was needed by Piglit's tcs-input-read-array-interface test.

However, that was just one case where things could go awry, so the
previous commit forcibly made interfaces match.  This hack is no longer
necessary.

It also seems to be broken, though I'm not sure why.  It fixes Piglit
regressions in spec/arb_shader_image_load_store/semantics from commit
ec1f159ac81ed964415d102eed4a0a29be8e7937.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98893
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Timothy Arceri <timothy.arceri at collabora.com>

---

 src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp | 3 ++-
 src/mesa/drivers/dri/i965/brw_vs.c         | 4 +---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp b/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
index da2559c..c7278e4 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_tcs.cpp
@@ -461,7 +461,8 @@ brw_compile_tcs(const struct brw_compiler *compiler,
    nir->info->patch_outputs_written = key->patch_outputs_written;
 
    struct brw_vue_map input_vue_map;
-   brw_compute_vue_map(devinfo, &input_vue_map, nir->info->inputs_read, true);
+   brw_compute_vue_map(devinfo, &input_vue_map, nir->info->inputs_read,
+                       nir->info->separate_shader);
    brw_compute_tess_vue_map(&vue_prog_data->vue_map,
                             nir->info->outputs_written,
                             nir->info->patch_outputs_written);
diff --git a/src/mesa/drivers/dri/i965/brw_vs.c b/src/mesa/drivers/dri/i965/brw_vs.c
index dea1cf4..9a1f934 100644
--- a/src/mesa/drivers/dri/i965/brw_vs.c
+++ b/src/mesa/drivers/dri/i965/brw_vs.c
@@ -158,9 +158,7 @@ brw_codegen_vs_prog(struct brw_context *brw,
 
    brw_compute_vue_map(devinfo,
                        &prog_data.base.vue_map, outputs_written,
-                       prog ? prog->SeparateShader ||
-                              prog->_LinkedShaders[MESA_SHADER_TESS_EVAL]
-                            : false);
+                       vp->program.nir->info->separate_shader);
 
    if (0) {
       _mesa_fprint_program_opt(stderr, &vp->program, PROG_PRINT_DEBUG, true);




More information about the mesa-commit mailing list