From 1357724cd946f3a9f31dbe3ace55a9588f3c6f2f Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 29 Apr 2016 11:23:40 -0400 Subject: [PATCH] vertex_loader: Add constructors to facilitate immediate and two-step initialization --- src/video_core/command_processor.cpp | 3 +-- src/video_core/vertex_loader.h | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/video_core/command_processor.cpp b/src/video_core/command_processor.cpp index dd1379503..941c5af9f 100644 --- a/src/video_core/command_processor.cpp +++ b/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)); diff --git a/src/video_core/vertex_loader.h b/src/video_core/vertex_loader.h index 4ed8cd3fd..2a97b97c8 100644 --- a/src/video_core/vertex_loader.h +++ b/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);