intel/fs: Add _LOGICAL versions of URB messages
The lowering is currently fake. It just changes the opcode from the _LOGICAL version to the non-_LOGICAL version. v2: Remove some rebase cruft. 's/gfx8_//;s/simd8_/' in brw_instruction_name. Both suggested by Ken. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17379>
This commit is contained in:
@@ -30,6 +30,18 @@
|
||||
|
||||
using namespace brw;
|
||||
|
||||
static void
|
||||
lower_urb_read_logical_send(const fs_builder &bld, fs_inst *inst, opcode op)
|
||||
{
|
||||
inst->opcode = op;
|
||||
}
|
||||
|
||||
static void
|
||||
lower_urb_write_logical_send(const fs_builder &bld, fs_inst *inst, opcode op)
|
||||
{
|
||||
inst->opcode = op;
|
||||
}
|
||||
|
||||
static void
|
||||
setup_color_payload(const fs_builder &bld, const brw_wm_prog_key *key,
|
||||
fs_reg *dst, fs_reg color, unsigned components)
|
||||
@@ -2629,6 +2641,26 @@ fs_visitor::lower_logical_sends()
|
||||
lower_trace_ray_logical_send(ibld, inst);
|
||||
break;
|
||||
|
||||
case SHADER_OPCODE_URB_READ_LOGICAL:
|
||||
lower_urb_read_logical_send(ibld, inst, SHADER_OPCODE_URB_READ_SIMD8);
|
||||
break;
|
||||
case SHADER_OPCODE_URB_READ_PER_SLOT_LOGICAL:
|
||||
lower_urb_read_logical_send(ibld, inst, SHADER_OPCODE_URB_READ_SIMD8_PER_SLOT);
|
||||
break;
|
||||
|
||||
case SHADER_OPCODE_URB_WRITE_LOGICAL:
|
||||
lower_urb_write_logical_send(ibld, inst, SHADER_OPCODE_URB_WRITE_SIMD8);
|
||||
break;
|
||||
case SHADER_OPCODE_URB_WRITE_PER_SLOT_LOGICAL:
|
||||
lower_urb_write_logical_send(ibld, inst, SHADER_OPCODE_URB_WRITE_SIMD8_PER_SLOT);
|
||||
break;
|
||||
case SHADER_OPCODE_URB_WRITE_MASKED_LOGICAL:
|
||||
lower_urb_write_logical_send(ibld, inst, SHADER_OPCODE_URB_WRITE_SIMD8_MASKED);
|
||||
break;
|
||||
case SHADER_OPCODE_URB_WRITE_MASKED_PER_SLOT_LOGICAL:
|
||||
lower_urb_write_logical_send(ibld, inst, SHADER_OPCODE_URB_WRITE_SIMD8_MASKED_PER_SLOT);
|
||||
break;
|
||||
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
|
Reference in New Issue
Block a user