Mesa (main): intel/compiler: Remove cube array size lowering in compiler backend
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Jul 21 18:53:15 UTC 2021
Module: Mesa
Branch: main
Commit: 8c29891fa4631efcaf11e2a7337aae7f1eaea07c
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c29891fa4631efcaf11e2a7337aae7f1eaea07c
Author: Jordan Justen <jordan.l.justen at intel.com>
Date: Wed Feb 3 10:52:04 2021 -0800
intel/compiler: Remove cube array size lowering in compiler backend
Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9466>
---
src/intel/compiler/brw_fs_nir.cpp | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/src/intel/compiler/brw_fs_nir.cpp b/src/intel/compiler/brw_fs_nir.cpp
index 8f63d682c34..1b2e533c2ab 100644
--- a/src/intel/compiler/brw_fs_nir.cpp
+++ b/src/intel/compiler/brw_fs_nir.cpp
@@ -4190,6 +4190,9 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
case nir_intrinsic_image_size:
case nir_intrinsic_bindless_image_size: {
+ /* Cube image sizes should have previously been lowered to a 2D array */
+ assert(nir_intrinsic_image_dim(instr) != GLSL_SAMPLER_DIM_CUBE);
+
/* Unlike the [un]typed load and store opcodes, the TXS that this turns
* into will handle the binding table index for us in the geneerator.
* Incidentally, this means that we can handle bindless with exactly the
@@ -4221,14 +4224,8 @@ fs_visitor::nir_emit_intrinsic(const fs_builder &bld, nir_intrinsic_instr *instr
inst->size_written = 4 * REG_SIZE;
for (unsigned c = 0; c < instr->dest.ssa.num_components; ++c) {
- if (c == 2 && nir_intrinsic_image_dim(instr) == GLSL_SAMPLER_DIM_CUBE) {
- bld.emit(SHADER_OPCODE_INT_QUOTIENT,
- offset(retype(dest, tmp.type), bld, c),
- component(offset(tmp, ubld, c), 0), brw_imm_ud(6));
- } else {
- bld.MOV(offset(retype(dest, tmp.type), bld, c),
- component(offset(tmp, ubld, c), 0));
- }
+ bld.MOV(offset(retype(dest, tmp.type), bld, c),
+ component(offset(tmp, ubld, c), 0));
}
break;
}
More information about the mesa-commit
mailing list