mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 11:08:03 +02:00
intel/fs: Shuffle can't handle source modifiers
On Gen7, we have to split shuffles into two MOVs for 64-bit types so we can't handle source modifiers. On Gen12.5, we have to use integer types all the time so we can't use them there either. Fixing that will be a different commit but it interacts with this one. Fixes:90c9f29518"i965/fs: Add support for nir_intrinsic_shuffle" Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9068> (cherry picked from commit3ce6ca7214)
This commit is contained in:
parent
2b5651e002
commit
eeb7cb93d2
3 changed files with 5 additions and 1 deletions
|
|
@ -841,7 +841,7 @@
|
|||
"description": "intel/fs: Shuffle can't handle source modifiers",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"master_sha": null,
|
||||
"because_sha": "90c9f29518d32a29725b114f3b16ad8c62a812ff"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -599,6 +599,9 @@ fs_generator::generate_shuffle(fs_inst *inst,
|
|||
struct brw_reg src,
|
||||
struct brw_reg idx)
|
||||
{
|
||||
assert(src.file == BRW_GENERAL_REGISTER_FILE);
|
||||
assert(!src.abs && !src.negate);
|
||||
|
||||
/* Ivy bridge has some strange behavior that makes this a real pain to
|
||||
* implement for 64-bit values so we just don't bother.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -949,6 +949,7 @@ backend_instruction::can_do_source_mods() const
|
|||
case SHADER_OPCODE_BROADCAST:
|
||||
case SHADER_OPCODE_CLUSTER_BROADCAST:
|
||||
case SHADER_OPCODE_MOV_INDIRECT:
|
||||
case SHADER_OPCODE_SHUFFLE:
|
||||
return false;
|
||||
default:
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue