mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-01-04 06:06:00 +00:00
Merge pull request #573 from polybiusproxy/shader_recompiler/format
shader_recompiler/frontend: Miscellaneous fixes
This commit is contained in:
commit
0dd6e257c5
|
@ -5,6 +5,8 @@
|
||||||
#include "common/assert.h"
|
#include "common/assert.h"
|
||||||
#include "shader_recompiler/frontend/decode.h"
|
#include "shader_recompiler/frontend/decode.h"
|
||||||
|
|
||||||
|
#include "magic_enum.hpp"
|
||||||
|
|
||||||
namespace Shader::Gcn {
|
namespace Shader::Gcn {
|
||||||
|
|
||||||
namespace bit {
|
namespace bit {
|
||||||
|
@ -253,7 +255,9 @@ void GcnDecodeContext::updateInstructionMeta(InstEncoding encoding) {
|
||||||
|
|
||||||
ASSERT_MSG(instFormat.src_type != ScalarType::Undefined &&
|
ASSERT_MSG(instFormat.src_type != ScalarType::Undefined &&
|
||||||
instFormat.dst_type != ScalarType::Undefined,
|
instFormat.dst_type != ScalarType::Undefined,
|
||||||
"TODO: Instruction format table not complete, please fix it manually.");
|
"Instruction format table incomplete for opcode {} ({}, encoding = {})",
|
||||||
|
magic_enum::enum_name(m_instruction.opcode), u32(m_instruction.opcode),
|
||||||
|
magic_enum::enum_name(encoding));
|
||||||
|
|
||||||
m_instruction.inst_class = instFormat.inst_class;
|
m_instruction.inst_class = instFormat.inst_class;
|
||||||
m_instruction.category = instFormat.inst_category;
|
m_instruction.category = instFormat.inst_category;
|
||||||
|
|
|
@ -1786,8 +1786,7 @@ constexpr std::array<InstFormat, 455> InstructionFormatVOP3 = {{
|
||||||
|
|
||||||
constexpr std::array<InstFormat, 71> InstructionFormatVOP1 = {{
|
constexpr std::array<InstFormat, 71> InstructionFormatVOP1 = {{
|
||||||
// 0 = V_NOP
|
// 0 = V_NOP
|
||||||
{InstClass::VectorMisc, InstCategory::VectorALU, 0, 1, ScalarType::Undefined,
|
{InstClass::VectorMisc, InstCategory::VectorALU, 0, 1, ScalarType::Any, ScalarType::Any},
|
||||||
ScalarType::Undefined},
|
|
||||||
// 1 = V_MOV_B32
|
// 1 = V_MOV_B32
|
||||||
{InstClass::VectorRegMov, InstCategory::VectorALU, 1, 1, ScalarType::Uint32,
|
{InstClass::VectorRegMov, InstCategory::VectorALU, 1, 1, ScalarType::Uint32,
|
||||||
ScalarType::Uint32},
|
ScalarType::Uint32},
|
||||||
|
@ -3603,8 +3602,8 @@ constexpr std::array<InstFormat, 112> InstructionFormatMIMG = {{
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
||||||
ScalarType::Undefined},
|
ScalarType::Undefined},
|
||||||
// 79 = IMAGE_GATHER4_C_LZ
|
// 79 = IMAGE_GATHER4_C_LZ
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Uint32,
|
||||||
ScalarType::Undefined},
|
ScalarType::Uint32},
|
||||||
// 80 = IMAGE_GATHER4_O
|
// 80 = IMAGE_GATHER4_O
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
||||||
ScalarType::Undefined},
|
ScalarType::Undefined},
|
||||||
|
@ -3656,8 +3655,8 @@ constexpr std::array<InstFormat, 112> InstructionFormatMIMG = {{
|
||||||
{},
|
{},
|
||||||
{},
|
{},
|
||||||
// 104 = IMAGE_SAMPLE_CD
|
// 104 = IMAGE_SAMPLE_CD
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Float32,
|
||||||
ScalarType::Undefined},
|
ScalarType::Float32},
|
||||||
// 105 = IMAGE_SAMPLE_CD_CL
|
// 105 = IMAGE_SAMPLE_CD_CL
|
||||||
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
{InstClass::VectorMemImgSmp, InstCategory::VectorMemory, 4, 1, ScalarType::Undefined,
|
||||||
ScalarType::Undefined},
|
ScalarType::Undefined},
|
||||||
|
|
Loading…
Reference in a new issue