diff --git a/src/xenia/gpu/trace_viewer_main.cc b/src/xenia/gpu/trace_viewer_main.cc index ab3c143b9..a962195d0 100644 --- a/src/xenia/gpu/trace_viewer_main.cc +++ b/src/xenia/gpu/trace_viewer_main.cc @@ -334,6 +334,19 @@ bool DisasmPacketType3(const uint8_t* base_ptr, uint32_t packet, } break; } + case PM4_SET_SHADER_CONSTANTS: { + static const PacketTypeInfo op_info = {PacketCategory::kGeneric, + "PM4_SET_SHADER_CONSTANTS"}; + out_info->type_info = &op_info; + uint32_t offset_type = poly::load_and_swap(ptr + 0); + uint32_t index = offset_type & 0xFFFF; + for (uint32_t n = 0; n < count - 1; n++, index++) { + uint32_t data = poly::load_and_swap(ptr + 4 + n * 4); + out_info->actions.emplace_back( + PacketAction::RegisterWrite(index, data)); + } + return true; + } case PM4_IM_LOAD: { // load sequencer instruction memory (pointer-based) static const PacketTypeInfo op_info = {PacketCategory::kGeneric,