#pragma once #include #include "common/common_types.h" #include "video_core/pica.h" namespace Pica { namespace DebugUtils { class MemoryAccessTracker; } namespace Shader { class InputVertex; } class VertexLoader { public: void Setup(const Pica::Regs& regs); void LoadVertex(u32 base_address, int index, int vertex, Shader::InputVertex& input, DebugUtils::MemoryAccessTracker& memory_accesses); int GetNumTotalAttributes() const { return num_total_attributes; } private: std::array vertex_attribute_sources; std::array vertex_attribute_strides{}; std::array vertex_attribute_formats; std::array vertex_attribute_elements{}; std::array vertex_attribute_is_default; int num_total_attributes; }; } // namespace Pica