summaryrefslogtreecommitdiffstats
path: root/src/video_core/pica_state.h
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2016-03-05 23:49:23 +0100
committerYuri Kunde Schlesner <yuriks@yuriks.net>2016-03-24 04:18:40 +0100
commit81004211dda74390c02973c37e89215f5ff8829b (patch)
tree2cb817907fa458c63b81c031f45fd5481b91b1da /src/video_core/pica_state.h
parentOpenGL: Don't attempt to draw empty triangle batches (diff)
downloadyuzu-81004211dda74390c02973c37e89215f5ff8829b.tar
yuzu-81004211dda74390c02973c37e89215f5ff8829b.tar.gz
yuzu-81004211dda74390c02973c37e89215f5ff8829b.tar.bz2
yuzu-81004211dda74390c02973c37e89215f5ff8829b.tar.lz
yuzu-81004211dda74390c02973c37e89215f5ff8829b.tar.xz
yuzu-81004211dda74390c02973c37e89215f5ff8829b.tar.zst
yuzu-81004211dda74390c02973c37e89215f5ff8829b.zip
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