summaryrefslogtreecommitdiffstats
path: root/src/video_core/pica_state.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/pica_state.h')
-rw-r--r--src/video_core/pica_state.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/video_core/pica_state.h b/src/video_core/pica_state.h
index c7616bc55..323290054 100644
--- a/src/video_core/pica_state.h
+++ b/src/video_core/pica_state.h
@@ -12,6 +12,8 @@ namespace Pica {
/// Struct used to describe current Pica state
struct State {
+ void Reset();
+
/// Pica registers
Regs regs;
@@ -46,13 +48,14 @@ struct State {
/// Struct used to describe immediate mode rendering state
struct ImmediateModeState {
- Shader::InputVertex input;
- // This is constructed with a dummy triangle topology
- PrimitiveAssembler<Shader::OutputVertex> primitive_assembler;
- int attribute_id = 0;
-
- ImmediateModeState() : primitive_assembler(Regs::TriangleTopology::List) {}
+ // Used to buffer partial vertices for immediate-mode rendering.
+ Shader::InputVertex input_vertex;
+ // Index of the next attribute to be loaded into `input_vertex`.
+ int current_attribute = 0;
} immediate;
+
+ // This is constructed with a dummy triangle topology
+ PrimitiveAssembler<Shader::OutputVertex> primitive_assembler;
};
extern State g_state; ///< Current Pica state