aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/tracer/recorder.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/tracer/recorder.h')
-rw-r--r--src/core/tracer/recorder.h35
1 files changed, 15 insertions, 20 deletions
diff --git a/src/core/tracer/recorder.h b/src/core/tracer/recorder.h
index da77aac5..6e4b7001 100644
--- a/src/core/tracer/recorder.h
+++ b/src/core/tracer/recorder.h
@@ -17,21 +17,25 @@ namespace CiTrace {
class Recorder {
public:
+ struct InitialState {
+ std::vector<u32> gpu_registers;
+ std::vector<u32> lcd_registers;
+ std::vector<u32> pica_registers;
+ std::vector<u32> default_attributes;
+ std::vector<u32> vs_program_binary;
+ std::vector<u32> vs_swizzle_data;
+ std::vector<u32> vs_float_uniforms;
+ std::vector<u32> gs_program_binary;
+ std::vector<u32> gs_swizzle_data;
+ std::vector<u32> gs_float_uniforms;
+ };
+
/**
* Recorder constructor
* @param default_attributes Pointer to an array of 32-bit-aligned 24-bit floating point values.
* @param vs_float_uniforms Pointer to an array of 32-bit-aligned 24-bit floating point values.
*/
- Recorder(u32* gpu_registers, u32 gpu_registers_size,
- u32* lcd_registers, u32 lcd_registers_size,
- u32* pica_registers, u32 pica_registers_size,
- u32* default_attributes, u32 default_attributes_size,
- u32* vs_program_binary, u32 vs_program_binary_size,
- u32* vs_swizzle_data, u32 vs_swizzle_data_size,
- u32* vs_float_uniforms, u32 vs_float_uniforms_size,
- u32* gs_program_binary, u32 gs_program_binary_size,
- u32* gs_swizzle_data, u32 gs_swizzle_data_size,
- u32* gs_float_uniforms, u32 gs_float_uniforms_size);
+ Recorder(const InitialState& initial_state);
/// Finish recording of this Citrace and save it using the given filename.
void Finish(const std::string& filename);
@@ -55,16 +59,7 @@ public:
private:
// Initial state of recording start
- std::vector<u32> gpu_registers;
- std::vector<u32> lcd_registers;
- std::vector<u32> pica_registers;
- std::vector<u32> default_attributes;
- std::vector<u32> vs_program_binary;
- std::vector<u32> vs_swizzle_data;
- std::vector<u32> vs_float_uniforms;
- std::vector<u32> gs_program_binary;
- std::vector<u32> gs_swizzle_data;
- std::vector<u32> gs_float_uniforms;
+ InitialState initial_state;
// Command stream
struct StreamElement {