diff options
| author | Robin Kertels <robin.kertels@gmail.com> | 2022-09-17 14:19:13 +0200 |
|---|---|---|
| committer | Robin Kertels <robin.kertels@gmail.com> | 2022-09-19 01:14:53 +0200 |
| commit | 2db74e7f21cdad4abc7f5148ffcdd9e801093b42 (patch) | |
| tree | 68af5f93fb35a324eaa5f931e101d14a6f4b460d /Source/Core/VideoCommon/OpcodeDecoding.h | |
| parent | a6c6ec012ce6d5355b776379ec8b2cbd94552cf3 (diff) | |
OpcodeDecoding: Get vertex size from the loader
Diffstat (limited to 'Source/Core/VideoCommon/OpcodeDecoding.h')
| -rw-r--r-- | Source/Core/VideoCommon/OpcodeDecoding.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/OpcodeDecoding.h b/Source/Core/VideoCommon/OpcodeDecoding.h index 1badf63196..2035f5c733 100644 --- a/Source/Core/VideoCommon/OpcodeDecoding.h +++ b/Source/Core/VideoCommon/OpcodeDecoding.h @@ -110,6 +110,8 @@ public: // Get the current CP state. Needed for vertex decoding; will also be mutated for CP commands. virtual CPState& GetCPState() = 0; + + virtual u32 GetVertexSize(u8 vat) = 0; #endif }; @@ -229,8 +231,7 @@ static DOLPHIN_FORCE_INLINE u32 RunCommand(const u8* data, u32 available, T& cal (cmdbyte & OpcodeDecoder::GX_PRIMITIVE_MASK) >> OpcodeDecoder::GX_PRIMITIVE_SHIFT); const u8 vat = cmdbyte & OpcodeDecoder::GX_VAT_MASK; - const u32 vertex_size = VertexLoaderBase::GetVertexSize(callback.GetCPState().vtx_desc, - callback.GetCPState().vtx_attr[vat]); + const u32 vertex_size = callback.GetVertexSize(vat); const u16 num_vertices = Common::swap16(&data[1]); if (available < 3 + num_vertices * vertex_size) |
