summaryrefslogtreecommitdiffstats
path: root/src/intel
diff options
context:
space:
mode:
authorJose Maria Casanova Crespo <[email protected]>2018-06-09 11:46:17 +0200
committerJose Maria Casanova Crespo <[email protected]>2018-06-16 22:39:08 +0200
commita4965842d6847ad1b358d9136ba50cb04f29042b (patch)
tree93abfb59a5ddf8f8debfe533f91f896020628a55 /src/intel
parenta4d445b93cc7e50699faa922110d35ff5e31bbb5 (diff)
intel/fs: Use new shuffle_32bit_write for all 64-bit storage writes
Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/intel')
-rw-r--r--src/intel/compiler/brw_fs_nir.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index a55d8ef475e..d7a0b7d6849 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -2842,8 +2842,7 @@ fs_visitor::nir_emit_tcs_intrinsic(const fs_builder &bld,
* for that.
*/
unsigned channel = iter * 2 + i;
- fs_reg dest = shuffle_64bit_data_for_32bit_write(bld,
- offset(value, bld, channel), 1);
+ fs_reg dest = shuffle_for_32bit_write(bld, value, channel, 1);
srcs[header_regs + (i + first_component) * 2] = dest;
srcs[header_regs + (i + first_component) * 2 + 1] =
@@ -3697,8 +3696,8 @@ fs_visitor::nir_emit_cs_intrinsic(const fs_builder &bld,
unsigned type_size = 4;
if (nir_src_bit_size(instr->src[0]) == 64) {
type_size = 8;
- val_reg = shuffle_64bit_data_for_32bit_write(bld,
- val_reg, instr->num_components);
+ val_reg = shuffle_for_32bit_write(bld, val_reg, 0,
+ instr->num_components);
}
unsigned type_slots = type_size / 4;
@@ -4239,8 +4238,8 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
* iteration handle the rest.
*/
num_components = MIN2(2, num_components);
- write_src = shuffle_64bit_data_for_32bit_write(bld, write_src,
- num_components);
+ write_src = shuffle_for_32bit_write(bld, write_src, 0,
+ num_components);
} else if (type_size < 4) {
assert(type_size == 2);
/* For 16-bit types we pack two consecutive values into a 32-bit
@@ -4336,7 +4335,7 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
unsigned num_components = instr->num_components;
unsigned first_component = nir_intrinsic_component(instr);
if (nir_src_bit_size(instr->src[0]) == 64) {
- src = shuffle_64bit_data_for_32bit_write(bld, src, num_components);
+ src = shuffle_for_32bit_write(bld, src, 0, num_components);
num_components *= 2;
}