intel/brw: Delete old-style surface and A64 message opcodes
These have now been replaced by the MEMORY_*_LOGICAL opcodes. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Caio Oliveira <caio.oliveira@intel.com> Acked-by: Rohan Garg <rohan.garg@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30828>
This commit is contained in:
committed by
Marge Bot
parent
7090578c35
commit
02482604e5
@@ -720,103 +720,6 @@ fs_inst::components_read(unsigned i) const
|
||||
else
|
||||
return 1;
|
||||
|
||||
case SHADER_OPCODE_UNTYPED_SURFACE_READ_LOGICAL:
|
||||
case SHADER_OPCODE_TYPED_SURFACE_READ_LOGICAL:
|
||||
assert(src[SURFACE_LOGICAL_SRC_IMM_DIMS].file == IMM);
|
||||
/* Surface coordinates. */
|
||||
if (i == SURFACE_LOGICAL_SRC_ADDRESS)
|
||||
return src[SURFACE_LOGICAL_SRC_IMM_DIMS].ud;
|
||||
/* Surface operation source (ignored for reads). */
|
||||
else if (i == SURFACE_LOGICAL_SRC_DATA)
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
|
||||
case SHADER_OPCODE_UNTYPED_SURFACE_WRITE_LOGICAL:
|
||||
case SHADER_OPCODE_TYPED_SURFACE_WRITE_LOGICAL:
|
||||
assert(src[SURFACE_LOGICAL_SRC_IMM_DIMS].file == IMM &&
|
||||
src[SURFACE_LOGICAL_SRC_IMM_ARG].file == IMM);
|
||||
/* Surface coordinates. */
|
||||
if (i == SURFACE_LOGICAL_SRC_ADDRESS)
|
||||
return src[SURFACE_LOGICAL_SRC_IMM_DIMS].ud;
|
||||
/* Surface operation source. */
|
||||
else if (i == SURFACE_LOGICAL_SRC_DATA)
|
||||
return src[SURFACE_LOGICAL_SRC_IMM_ARG].ud;
|
||||
else
|
||||
return 1;
|
||||
|
||||
case SHADER_OPCODE_A64_UNTYPED_READ_LOGICAL:
|
||||
case SHADER_OPCODE_A64_OWORD_BLOCK_READ_LOGICAL:
|
||||
case SHADER_OPCODE_A64_UNALIGNED_OWORD_BLOCK_READ_LOGICAL:
|
||||
assert(src[A64_LOGICAL_ARG].file == IMM);
|
||||
return 1;
|
||||
|
||||
case SHADER_OPCODE_A64_OWORD_BLOCK_WRITE_LOGICAL:
|
||||
assert(src[A64_LOGICAL_ARG].file == IMM);
|
||||
if (i == A64_LOGICAL_SRC) { /* data to write */
|
||||
const unsigned comps = src[A64_LOGICAL_ARG].ud / exec_size;
|
||||
assert(comps > 0);
|
||||
return comps;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
|
||||
case SHADER_OPCODE_UNALIGNED_OWORD_BLOCK_READ_LOGICAL:
|
||||
assert(src[SURFACE_LOGICAL_SRC_IMM_ARG].file == IMM);
|
||||
return 1;
|
||||
|
||||
case SHADER_OPCODE_OWORD_BLOCK_WRITE_LOGICAL:
|
||||
assert(src[SURFACE_LOGICAL_SRC_IMM_ARG].file == IMM);
|
||||
if (i == SURFACE_LOGICAL_SRC_DATA) {
|
||||
const unsigned comps = src[SURFACE_LOGICAL_SRC_IMM_ARG].ud / exec_size;
|
||||
assert(comps > 0);
|
||||
return comps;
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
|
||||
case SHADER_OPCODE_A64_UNTYPED_WRITE_LOGICAL:
|
||||
assert(src[A64_LOGICAL_ARG].file == IMM);
|
||||
return i == A64_LOGICAL_SRC ? src[A64_LOGICAL_ARG].ud : 1;
|
||||
|
||||
case SHADER_OPCODE_A64_UNTYPED_ATOMIC_LOGICAL:
|
||||
assert(src[A64_LOGICAL_ARG].file == IMM);
|
||||
return i == A64_LOGICAL_SRC ?
|
||||
lsc_op_num_data_values(src[A64_LOGICAL_ARG].ud) : 1;
|
||||
|
||||
case SHADER_OPCODE_BYTE_SCATTERED_READ_LOGICAL:
|
||||
case SHADER_OPCODE_DWORD_SCATTERED_READ_LOGICAL:
|
||||
/* Scattered logical opcodes use the following params:
|
||||
* src[0] Surface coordinates
|
||||
* src[1] Surface operation source (ignored for reads)
|
||||
* src[2] Surface
|
||||
* src[3] IMM with always 1 dimension.
|
||||
* src[4] IMM with arg bitsize for scattered read/write 8, 16, 32
|
||||
*/
|
||||
assert(src[SURFACE_LOGICAL_SRC_IMM_DIMS].file == IMM &&
|
||||
src[SURFACE_LOGICAL_SRC_IMM_ARG].file == IMM);
|
||||
return i == SURFACE_LOGICAL_SRC_DATA ? 0 : 1;
|
||||
|
||||
case SHADER_OPCODE_BYTE_SCATTERED_WRITE_LOGICAL:
|
||||
case SHADER_OPCODE_DWORD_SCATTERED_WRITE_LOGICAL:
|
||||
assert(src[SURFACE_LOGICAL_SRC_IMM_DIMS].file == IMM &&
|
||||
src[SURFACE_LOGICAL_SRC_IMM_ARG].file == IMM);
|
||||
return 1;
|
||||
|
||||
case SHADER_OPCODE_UNTYPED_ATOMIC_LOGICAL:
|
||||
case SHADER_OPCODE_TYPED_ATOMIC_LOGICAL: {
|
||||
assert(src[SURFACE_LOGICAL_SRC_IMM_DIMS].file == IMM &&
|
||||
src[SURFACE_LOGICAL_SRC_IMM_ARG].file == IMM);
|
||||
const unsigned op = src[SURFACE_LOGICAL_SRC_IMM_ARG].ud;
|
||||
/* Surface coordinates. */
|
||||
if (i == SURFACE_LOGICAL_SRC_ADDRESS)
|
||||
return src[SURFACE_LOGICAL_SRC_IMM_DIMS].ud;
|
||||
/* Surface operation source. */
|
||||
else if (i == SURFACE_LOGICAL_SRC_DATA)
|
||||
return lsc_op_num_data_values(op);
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
case FS_OPCODE_INTERPOLATE_AT_PER_SLOT_OFFSET:
|
||||
return (i == 0 ? 2 : 1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user