diff --git a/src/xenia/gpu/command_processor.cc b/src/xenia/gpu/command_processor.cc index 936fb89b0..9854f5030 100644 --- a/src/xenia/gpu/command_processor.cc +++ b/src/xenia/gpu/command_processor.cc @@ -728,12 +728,20 @@ bool CommandProcessor::ExecutePacketType3(RingBuffer* reader, uint32_t packet) { } break; case PM4_CONTEXT_UPDATE: { assert_true(count == 1); - uint64_t value = reader->ReadAndSwap(); + uint32_t value = reader->ReadAndSwap(); XELOGGPU("GPU context update = {:08X}", value); assert_true(value == 0); result = true; break; } + case PM4_WAIT_FOR_IDLE: { + // This opcode is used by "Duke Nukem Forever" while going/being ingame + assert_true(count == 1); + uint32_t value = reader->ReadAndSwap(); + XELOGGPU("GPU wait for idle = {:08X}", value); + result = true; + break; + } default: XELOGGPU("Unimplemented GPU OPCODE: 0x{:02X}\t\tCOUNT: {}\n", opcode,