Mesa (staging/19.1): Revert "Revert "intel/fs: Move the scalar-region conversion to the generator.""

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Sep 24 09:53:35 UTC 2019


Module: Mesa
Branch: staging/19.1
Commit: 25228fcf17aefa449952d39f4a89d69d00d48236
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=25228fcf17aefa449952d39f4a89d69d00d48236

Author: Juan A. Suarez Romero <jasuarez at igalia.com>
Date:   Mon Sep 23 08:44:44 2019 +0000

Revert "Revert "intel/fs: Move the scalar-region conversion to the generator.""

This reverts commit 667920050a7f3941a83c51863501b58abbbde4f5.

This commit was breaking Xorg rendering in all Icelake devices.

Gitlab: https://gitlab.freedesktop.org/mesa/mesa/issues/795
Signed-off-by: Juan A. Suarez Romero <jasuarez at igalia.com>

---

 src/intel/compiler/brw_fs.cpp           | 2 +-
 src/intel/compiler/brw_fs_generator.cpp | 2 +-
 src/intel/compiler/brw_fs_nir.cpp       | 4 ++--
 src/intel/compiler/brw_fs_visitor.cpp   | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp
index 6e00f936fa6..f7e37d57b22 100644
--- a/src/intel/compiler/brw_fs.cpp
+++ b/src/intel/compiler/brw_fs.cpp
@@ -1192,7 +1192,7 @@ fs_visitor::emit_fragcoord_interpolation(fs_reg wpos)
    } else {
       bld.emit(FS_OPCODE_LINTERP, wpos,
                this->delta_xy[BRW_BARYCENTRIC_PERSPECTIVE_PIXEL],
-               component(interp_reg(VARYING_SLOT_POS, 2), 0));
+               interp_reg(VARYING_SLOT_POS, 2));
    }
    wpos = offset(wpos, bld, 1);
 
diff --git a/src/intel/compiler/brw_fs_generator.cpp b/src/intel/compiler/brw_fs_generator.cpp
index 35a0a6c21a4..2035fbf6faf 100644
--- a/src/intel/compiler/brw_fs_generator.cpp
+++ b/src/intel/compiler/brw_fs_generator.cpp
@@ -818,7 +818,7 @@ fs_generator::generate_linterp(fs_inst *inst,
     */
    struct brw_reg delta_x = src[0];
    struct brw_reg delta_y = offset(src[0], inst->exec_size / 8);
-   struct brw_reg interp = src[1];
+   struct brw_reg interp = stride(src[1], 0, 1, 0);
    brw_inst *i[2];
 
    /* fs_visitor::lower_linterp() will do the lowering to MAD instructions for
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index cc0b5a0fc1c..2505c6e885c 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -3619,8 +3619,8 @@ fs_visitor::nir_emit_fs_intrinsic(const fs_builder &bld,
 
       for (unsigned int i = 0; i < instr->num_components; i++) {
          fs_reg interp =
-            component(interp_reg(nir_intrinsic_base(instr),
-                                 nir_intrinsic_component(instr) + i), 0);
+            interp_reg(nir_intrinsic_base(instr),
+                       nir_intrinsic_component(instr) + i);
          interp.type = BRW_REGISTER_TYPE_F;
          dest.type = BRW_REGISTER_TYPE_F;
 
diff --git a/src/intel/compiler/brw_fs_visitor.cpp b/src/intel/compiler/brw_fs_visitor.cpp
index 15ce0cc3009..6509868f1c3 100644
--- a/src/intel/compiler/brw_fs_visitor.cpp
+++ b/src/intel/compiler/brw_fs_visitor.cpp
@@ -194,7 +194,7 @@ fs_visitor::emit_interpolation_setup_gen4()
     */
    this->wpos_w = vgrf(glsl_type::float_type);
    abld.emit(FS_OPCODE_LINTERP, wpos_w, delta_xy,
-             component(interp_reg(VARYING_SLOT_POS, 3), 0));
+             interp_reg(VARYING_SLOT_POS, 3));
    /* Compute the pixel 1/W value from wpos.w. */
    this->pixel_w = vgrf(glsl_type::float_type);
    abld.emit(SHADER_OPCODE_RCP, this->pixel_w, wpos_w);




More information about the mesa-commit mailing list