diff options
author | Tony Wasserka <NeoBrainX@gmail.com> | 2015-05-21 02:51:28 +0200 |
---|---|---|
committer | Tony Wasserka <NeoBrainX@gmail.com> | 2015-07-13 22:27:21 +0200 |
commit | fd62580985b2f2d8f65b940148211bedc8d08404 (patch) | |
tree | b1a8c80d442ee654b63233f60c1ae1c70048e982 /src/citra_qt/debugger/graphics_tracing.cpp | |
parent | 0799b40caad0deff18d5fd8cf82955156273f157 (diff) |
CiTrace: Record default vertex attributes.
Diffstat (limited to 'src/citra_qt/debugger/graphics_tracing.cpp')
-rw-r--r-- | src/citra_qt/debugger/graphics_tracing.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/citra_qt/debugger/graphics_tracing.cpp b/src/citra_qt/debugger/graphics_tracing.cpp index eac405820..3e88346c0 100644 --- a/src/citra_qt/debugger/graphics_tracing.cpp +++ b/src/citra_qt/debugger/graphics_tracing.cpp @@ -62,12 +62,20 @@ void GraphicsTracingWidget::StartRecording() { // Encode floating point numbers to 24-bit values // TODO: Drop this explicit conversion once we store float24 values bit-correctly internally. + std::array<Math::Vec4<uint32_t>, 16> default_attributes; + for (unsigned i = 0; i < 16; ++i) { + for (unsigned comp = 0; comp < 3; ++comp) { + default_attributes[i][comp] = nihstro::to_float24(Pica::g_state.vs.default_attributes[i][comp].ToFloat32()); + } + } + std::array<Math::Vec4<uint32_t>, 96> vs_float_uniforms; for (unsigned i = 0; i < 96; ++i) for (unsigned comp = 0; comp < 3; ++comp) vs_float_uniforms[i][comp] = nihstro::to_float24(Pica::g_state.vs.uniforms.f[i][comp].ToFloat32()); auto recorder = new CiTrace::Recorder((u32*)&GPU::g_regs, 0x700, nullptr, 0, (u32*)&Pica::g_state.regs, 0x300, + (u32*)default_attributes.data(), default_attributes.size() * 4, shader_binary.data(), shader_binary.size(), swizzle_data.data(), swizzle_data.size(), (u32*)vs_float_uniforms.data(), vs_float_uniforms.size() * 4, |