diff options
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() { | |||
| 62 | 62 | ||
| 63 | // Encode floating point numbers to 24-bit values | 63 | // Encode floating point numbers to 24-bit values |
| 64 | // TODO: Drop this explicit conversion once we store float24 values bit-correctly internally. | 64 | // TODO: Drop this explicit conversion once we store float24 values bit-correctly internally. |
| 65 | std::array<Math::Vec4<uint32_t>, 16> default_attributes; | ||
| 66 | for (unsigned i = 0; i < 16; ++i) { | ||
| 67 | for (unsigned comp = 0; comp < 3; ++comp) { | ||
| 68 | default_attributes[i][comp] = nihstro::to_float24(Pica::g_state.vs.default_attributes[i][comp].ToFloat32()); | ||
| 69 | } | ||
| 70 | } | ||
| 71 | |||
| 65 | std::array<Math::Vec4<uint32_t>, 96> vs_float_uniforms; | 72 | std::array<Math::Vec4<uint32_t>, 96> vs_float_uniforms; |
| 66 | for (unsigned i = 0; i < 96; ++i) | 73 | for (unsigned i = 0; i < 96; ++i) |
| 67 | for (unsigned comp = 0; comp < 3; ++comp) | 74 | for (unsigned comp = 0; comp < 3; ++comp) |
| 68 | vs_float_uniforms[i][comp] = nihstro::to_float24(Pica::g_state.vs.uniforms.f[i][comp].ToFloat32()); | 75 | vs_float_uniforms[i][comp] = nihstro::to_float24(Pica::g_state.vs.uniforms.f[i][comp].ToFloat32()); |
| 69 | 76 | ||
| 70 | auto recorder = new CiTrace::Recorder((u32*)&GPU::g_regs, 0x700, nullptr, 0, (u32*)&Pica::g_state.regs, 0x300, | 77 | auto recorder = new CiTrace::Recorder((u32*)&GPU::g_regs, 0x700, nullptr, 0, (u32*)&Pica::g_state.regs, 0x300, |
| 78 | (u32*)default_attributes.data(), default_attributes.size() * 4, | ||
| 71 | shader_binary.data(), shader_binary.size(), | 79 | shader_binary.data(), shader_binary.size(), |
| 72 | swizzle_data.data(), swizzle_data.size(), | 80 | swizzle_data.data(), swizzle_data.size(), |
| 73 | (u32*)vs_float_uniforms.data(), vs_float_uniforms.size() * 4, | 81 | (u32*)vs_float_uniforms.data(), vs_float_uniforms.size() * 4, |