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

Author: Jason Ekstrand <jason.ekstr...@intel.com>
Date:   Wed Feb 17 13:23:45 2016 -0800

i965/nir: Do lower_io late for fragment shaders

---

 src/mesa/drivers/dri/i965/brw_fs.cpp | 2 ++
 src/mesa/drivers/dri/i965/brw_nir.c  | 3 ++-
 src/vulkan/anv_pipeline.c            | 3 ++-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp 
b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 7e161e8..bb22cfa 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -5606,6 +5606,8 @@ brw_compile_fs(const struct brw_compiler *compiler, void 
*log_data,
    nir_shader *shader = nir_shader_clone(mem_ctx, src_shader);
    shader = brw_nir_apply_sampler_key(shader, compiler->devinfo, &key->tex,
                                       true);
+   shader = brw_nir_lower_io(shader, compiler->devinfo, true,
+                             false, NULL);
    shader = brw_postprocess_nir(shader, compiler->devinfo, true);
 
    /* key->alpha_test_func means simulating alpha testing via discards,
diff --git a/src/mesa/drivers/dri/i965/brw_nir.c 
b/src/mesa/drivers/dri/i965/brw_nir.c
index 4444669..e9351a5 100644
--- a/src/mesa/drivers/dri/i965/brw_nir.c
+++ b/src/mesa/drivers/dri/i965/brw_nir.c
@@ -637,7 +637,8 @@ brw_create_nir(struct brw_context *brw,
 
    if (nir->stage != MESA_SHADER_VERTEX &&
        nir->stage != MESA_SHADER_TESS_CTRL &&
-       nir->stage != MESA_SHADER_TESS_EVAL) {
+       nir->stage != MESA_SHADER_TESS_EVAL &&
+       nir->stage != MESA_SHADER_FRAGMENT) {
       nir = brw_nir_lower_io(nir, devinfo, is_scalar, false, NULL);
    }
 
diff --git a/src/vulkan/anv_pipeline.c b/src/vulkan/anv_pipeline.c
index 21df3e0..e6cc8fa 100644
--- a/src/vulkan/anv_pipeline.c
+++ b/src/vulkan/anv_pipeline.c
@@ -390,7 +390,8 @@ anv_pipeline_compile(struct anv_pipeline *pipeline,
    /* Finish the optimization and compilation process */
    if (nir->stage != MESA_SHADER_VERTEX &&
        nir->stage != MESA_SHADER_TESS_CTRL &&
-       nir->stage != MESA_SHADER_TESS_EVAL) {
+       nir->stage != MESA_SHADER_TESS_EVAL &&
+       nir->stage != MESA_SHADER_FRAGMENT) {
       nir = brw_nir_lower_io(nir, &pipeline->device->info,
                              compiler->scalar_stage[stage], false, NULL);
    }

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to