Просмотр исходного кода

vertex_loader: Add constructors to facilitate immediate and two-step initialization

Lioncash 10 лет назад
Родитель
Сommit
1357724cd9
2 измененных файлов с 6 добавлено и 2 удалено
  1. 1 2
      src/video_core/command_processor.cpp
  2. 5 0
      src/video_core/vertex_loader.h

+ 1 - 2
src/video_core/command_processor.cpp

@@ -199,9 +199,8 @@ static void WritePicaReg(u32 id, u32 value, u32 mask) {
 
             // Processes information about internal vertex attributes to figure out how a vertex is loaded.
             // Later, these can be compiled and cached.
-            VertexLoader loader;
             const u32 base_address = regs.vertex_attributes.GetPhysicalBaseAddress();
-            loader.Setup(regs);
+            VertexLoader loader(regs);
 
             // Load vertices
             bool is_indexed = (id == PICA_REG_INDEX(trigger_draw_indexed));

+ 5 - 0
src/video_core/vertex_loader.h

@@ -17,6 +17,11 @@ class InputVertex;
 
 class VertexLoader {
 public:
+    VertexLoader() = default;
+    explicit VertexLoader(const Pica::Regs& regs) {
+        Setup(regs);
+    }
+
     void Setup(const Pica::Regs& regs);
     void LoadVertex(u32 base_address, int index, int vertex, Shader::InputVertex& input, DebugUtils::MemoryAccessTracker& memory_accesses);