summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2016-04-29 11:23:40 -0400
committerLioncash <mathew1800@gmail.com>2016-05-08 23:03:32 -0400
commit1357724cd946f3a9f31dbe3ace55a9588f3c6f2f (patch)
tree7cbe25e63e854c1b412c34bd5ae3a449ecb4a56c /src
parent769f4a7018e170448f7f1c307f2bcfa26f59ecba (diff)
vertex_loader: Add constructors to facilitate immediate and two-step initialization
Diffstat (limited to 'src')
-rw-r--r--src/video_core/command_processor.cpp3
-rw-r--r--src/video_core/vertex_loader.h5
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);