CiTrace: Clean up initialization method.

This commit is contained in:
Tony Wasserka 2015-07-12 03:20:19 +02:00
parent dc8295298e
commit 29abb11e8f
3 changed files with 61 additions and 79 deletions

View file

@ -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 {