diff options
Diffstat (limited to 'src/shader_recompiler/frontend')
| -rw-r--r-- | src/shader_recompiler/frontend/ir/microinstruction.cpp | 19 | ||||
| -rw-r--r-- | src/shader_recompiler/frontend/ir/opcodes.inc | 19 |
2 files changed, 38 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/ir/microinstruction.cpp b/src/shader_recompiler/frontend/ir/microinstruction.cpp index 97e2bf6af..631446cf7 100644 --- a/src/shader_recompiler/frontend/ir/microinstruction.cpp +++ b/src/shader_recompiler/frontend/ir/microinstruction.cpp | |||
| @@ -118,6 +118,7 @@ bool Inst::MayHaveSideEffects() const noexcept { | |||
| 118 | case Opcode::SharedAtomicXor32: | 118 | case Opcode::SharedAtomicXor32: |
| 119 | case Opcode::SharedAtomicExchange32: | 119 | case Opcode::SharedAtomicExchange32: |
| 120 | case Opcode::SharedAtomicExchange64: | 120 | case Opcode::SharedAtomicExchange64: |
| 121 | case Opcode::SharedAtomicExchange32x2: | ||
| 121 | case Opcode::GlobalAtomicIAdd32: | 122 | case Opcode::GlobalAtomicIAdd32: |
| 122 | case Opcode::GlobalAtomicSMin32: | 123 | case Opcode::GlobalAtomicSMin32: |
| 123 | case Opcode::GlobalAtomicUMin32: | 124 | case Opcode::GlobalAtomicUMin32: |
| @@ -138,6 +139,15 @@ bool Inst::MayHaveSideEffects() const noexcept { | |||
| 138 | case Opcode::GlobalAtomicOr64: | 139 | case Opcode::GlobalAtomicOr64: |
| 139 | case Opcode::GlobalAtomicXor64: | 140 | case Opcode::GlobalAtomicXor64: |
| 140 | case Opcode::GlobalAtomicExchange64: | 141 | case Opcode::GlobalAtomicExchange64: |
| 142 | case Opcode::GlobalAtomicIAdd32x2: | ||
| 143 | case Opcode::GlobalAtomicSMin32x2: | ||
| 144 | case Opcode::GlobalAtomicUMin32x2: | ||
| 145 | case Opcode::GlobalAtomicSMax32x2: | ||
| 146 | case Opcode::GlobalAtomicUMax32x2: | ||
| 147 | case Opcode::GlobalAtomicAnd32x2: | ||
| 148 | case Opcode::GlobalAtomicOr32x2: | ||
| 149 | case Opcode::GlobalAtomicXor32x2: | ||
| 150 | case Opcode::GlobalAtomicExchange32x2: | ||
| 141 | case Opcode::GlobalAtomicAddF32: | 151 | case Opcode::GlobalAtomicAddF32: |
| 142 | case Opcode::GlobalAtomicAddF16x2: | 152 | case Opcode::GlobalAtomicAddF16x2: |
| 143 | case Opcode::GlobalAtomicAddF32x2: | 153 | case Opcode::GlobalAtomicAddF32x2: |
| @@ -165,6 +175,15 @@ bool Inst::MayHaveSideEffects() const noexcept { | |||
| 165 | case Opcode::StorageAtomicOr64: | 175 | case Opcode::StorageAtomicOr64: |
| 166 | case Opcode::StorageAtomicXor64: | 176 | case Opcode::StorageAtomicXor64: |
| 167 | case Opcode::StorageAtomicExchange64: | 177 | case Opcode::StorageAtomicExchange64: |
| 178 | case Opcode::StorageAtomicIAdd32x2: | ||
| 179 | case Opcode::StorageAtomicSMin32x2: | ||
| 180 | case Opcode::StorageAtomicUMin32x2: | ||
| 181 | case Opcode::StorageAtomicSMax32x2: | ||
| 182 | case Opcode::StorageAtomicUMax32x2: | ||
| 183 | case Opcode::StorageAtomicAnd32x2: | ||
| 184 | case Opcode::StorageAtomicOr32x2: | ||
| 185 | case Opcode::StorageAtomicXor32x2: | ||
| 186 | case Opcode::StorageAtomicExchange32x2: | ||
| 168 | case Opcode::StorageAtomicAddF32: | 187 | case Opcode::StorageAtomicAddF32: |
| 169 | case Opcode::StorageAtomicAddF16x2: | 188 | case Opcode::StorageAtomicAddF16x2: |
| 170 | case Opcode::StorageAtomicAddF32x2: | 189 | case Opcode::StorageAtomicAddF32x2: |
diff --git a/src/shader_recompiler/frontend/ir/opcodes.inc b/src/shader_recompiler/frontend/ir/opcodes.inc index b94ce7406..8da5df97c 100644 --- a/src/shader_recompiler/frontend/ir/opcodes.inc +++ b/src/shader_recompiler/frontend/ir/opcodes.inc | |||
| @@ -341,6 +341,7 @@ OPCODE(SharedAtomicOr32, U32, U32, | |||
| 341 | OPCODE(SharedAtomicXor32, U32, U32, U32, ) | 341 | OPCODE(SharedAtomicXor32, U32, U32, U32, ) |
| 342 | OPCODE(SharedAtomicExchange32, U32, U32, U32, ) | 342 | OPCODE(SharedAtomicExchange32, U32, U32, U32, ) |
| 343 | OPCODE(SharedAtomicExchange64, U64, U32, U64, ) | 343 | OPCODE(SharedAtomicExchange64, U64, U32, U64, ) |
| 344 | OPCODE(SharedAtomicExchange32x2, U32x2, U32, U32x2, ) | ||
| 344 | 345 | ||
| 345 | OPCODE(GlobalAtomicIAdd32, U32, U64, U32, ) | 346 | OPCODE(GlobalAtomicIAdd32, U32, U64, U32, ) |
| 346 | OPCODE(GlobalAtomicSMin32, U32, U64, U32, ) | 347 | OPCODE(GlobalAtomicSMin32, U32, U64, U32, ) |
| @@ -362,6 +363,15 @@ OPCODE(GlobalAtomicAnd64, U64, U64, | |||
| 362 | OPCODE(GlobalAtomicOr64, U64, U64, U64, ) | 363 | OPCODE(GlobalAtomicOr64, U64, U64, U64, ) |
| 363 | OPCODE(GlobalAtomicXor64, U64, U64, U64, ) | 364 | OPCODE(GlobalAtomicXor64, U64, U64, U64, ) |
| 364 | OPCODE(GlobalAtomicExchange64, U64, U64, U64, ) | 365 | OPCODE(GlobalAtomicExchange64, U64, U64, U64, ) |
| 366 | OPCODE(GlobalAtomicIAdd32x2, U32x2, U64, U32x2, ) | ||
| 367 | OPCODE(GlobalAtomicSMin32x2, U32x2, U64, U32x2, ) | ||
| 368 | OPCODE(GlobalAtomicUMin32x2, U32x2, U64, U32x2, ) | ||
| 369 | OPCODE(GlobalAtomicSMax32x2, U32x2, U64, U32x2, ) | ||
| 370 | OPCODE(GlobalAtomicUMax32x2, U32x2, U64, U32x2, ) | ||
| 371 | OPCODE(GlobalAtomicAnd32x2, U32x2, U64, U32x2, ) | ||
| 372 | OPCODE(GlobalAtomicOr32x2, U32x2, U64, U32x2, ) | ||
| 373 | OPCODE(GlobalAtomicXor32x2, U32x2, U64, U32x2, ) | ||
| 374 | OPCODE(GlobalAtomicExchange32x2, U32x2, U64, U32x2, ) | ||
| 365 | OPCODE(GlobalAtomicAddF32, F32, U64, F32, ) | 375 | OPCODE(GlobalAtomicAddF32, F32, U64, F32, ) |
| 366 | OPCODE(GlobalAtomicAddF16x2, U32, U64, F16x2, ) | 376 | OPCODE(GlobalAtomicAddF16x2, U32, U64, F16x2, ) |
| 367 | OPCODE(GlobalAtomicAddF32x2, U32, U64, F32x2, ) | 377 | OPCODE(GlobalAtomicAddF32x2, U32, U64, F32x2, ) |
| @@ -390,6 +400,15 @@ OPCODE(StorageAtomicAnd64, U64, U32, | |||
| 390 | OPCODE(StorageAtomicOr64, U64, U32, U32, U64, ) | 400 | OPCODE(StorageAtomicOr64, U64, U32, U32, U64, ) |
| 391 | OPCODE(StorageAtomicXor64, U64, U32, U32, U64, ) | 401 | OPCODE(StorageAtomicXor64, U64, U32, U32, U64, ) |
| 392 | OPCODE(StorageAtomicExchange64, U64, U32, U32, U64, ) | 402 | OPCODE(StorageAtomicExchange64, U64, U32, U32, U64, ) |
| 403 | OPCODE(StorageAtomicIAdd32x2, U32x2, U32, U32, U32x2, ) | ||
| 404 | OPCODE(StorageAtomicSMin32x2, U32x2, U32, U32, U32x2, ) | ||
| 405 | OPCODE(StorageAtomicUMin32x2, U32x2, U32, U32, U32x2, ) | ||
| 406 | OPCODE(StorageAtomicSMax32x2, U32x2, U32, U32, U32x2, ) | ||
| 407 | OPCODE(StorageAtomicUMax32x2, U32x2, U32, U32, U32x2, ) | ||
| 408 | OPCODE(StorageAtomicAnd32x2, U32x2, U32, U32, U32x2, ) | ||
| 409 | OPCODE(StorageAtomicOr32x2, U32x2, U32, U32, U32x2, ) | ||
| 410 | OPCODE(StorageAtomicXor32x2, U32x2, U32, U32, U32x2, ) | ||
| 411 | OPCODE(StorageAtomicExchange32x2, U32x2, U32, U32, U32x2, ) | ||
| 393 | OPCODE(StorageAtomicAddF32, F32, U32, U32, F32, ) | 412 | OPCODE(StorageAtomicAddF32, F32, U32, U32, F32, ) |
| 394 | OPCODE(StorageAtomicAddF16x2, U32, U32, U32, F16x2, ) | 413 | OPCODE(StorageAtomicAddF16x2, U32, U32, U32, F16x2, ) |
| 395 | OPCODE(StorageAtomicAddF32x2, U32, U32, U32, F32x2, ) | 414 | OPCODE(StorageAtomicAddF32x2, U32, U32, U32, F32x2, ) |