mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-05-24 04:15:01 +00:00
Implement IMAGE_GATHER4 and IMAGE_GATHER4_O (#1939)
* Implement IMAGE_GATHER4_O Used by The Last of Us Remastered. * Fix type on IMAGE_GATHER4_C_LZ Had a different set of types compared to the other IMAGE_GATHER4 ops. * IMAGE_GATHER4
This commit is contained in:
parent
49ffb7b120
commit
122fe22a32
2 changed files with 7 additions and 5 deletions
|
@ -3565,8 +3565,8 @@ constexpr std::array<InstFormat, 112> InstructionFormatMIMG = {{
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Float32,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Float32,
|
||||||
ScalarType::Float32},
|
ScalarType::Float32},
|
||||||
// 64 = IMAGE_GATHER4
|
// 64 = IMAGE_GATHER4
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Uint32,
|
||||||
ScalarType::Undefined},
|
ScalarType::Float32},
|
||||||
// 65 = IMAGE_GATHER4_CL
|
// 65 = IMAGE_GATHER4_CL
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
||||||
ScalarType::Undefined},
|
ScalarType::Undefined},
|
||||||
|
@ -3603,10 +3603,10 @@ constexpr std::array<InstFormat, 112> InstructionFormatMIMG = {{
|
||||||
ScalarType::Undefined},
|
ScalarType::Undefined},
|
||||||
// 79 = IMAGE_GATHER4_C_LZ
|
// 79 = IMAGE_GATHER4_C_LZ
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Uint32,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Uint32,
|
||||||
ScalarType::Uint32},
|
ScalarType::Float32},
|
||||||
// 80 = IMAGE_GATHER4_O
|
// 80 = IMAGE_GATHER4_O
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Uint32,
|
||||||
ScalarType::Undefined},
|
ScalarType::Float32},
|
||||||
// 81 = IMAGE_GATHER4_CL_O
|
// 81 = IMAGE_GATHER4_CL_O
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
||||||
ScalarType::Undefined},
|
ScalarType::Undefined},
|
||||||
|
|
|
@ -144,8 +144,10 @@ void Translator::EmitVectorMemory(const GcnInst& inst) {
|
||||||
return IMAGE_SAMPLE(inst);
|
return IMAGE_SAMPLE(inst);
|
||||||
|
|
||||||
// Image gather operations
|
// Image gather operations
|
||||||
|
case Opcode::IMAGE_GATHER4:
|
||||||
case Opcode::IMAGE_GATHER4_LZ:
|
case Opcode::IMAGE_GATHER4_LZ:
|
||||||
case Opcode::IMAGE_GATHER4_C:
|
case Opcode::IMAGE_GATHER4_C:
|
||||||
|
case Opcode::IMAGE_GATHER4_O:
|
||||||
case Opcode::IMAGE_GATHER4_C_O:
|
case Opcode::IMAGE_GATHER4_C_O:
|
||||||
case Opcode::IMAGE_GATHER4_C_LZ:
|
case Opcode::IMAGE_GATHER4_C_LZ:
|
||||||
case Opcode::IMAGE_GATHER4_LZ_O:
|
case Opcode::IMAGE_GATHER4_LZ_O:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue