Experimenting with video stuff.
This commit is contained in:
parent
3658e710d2
commit
662bbb6729
|
@ -746,6 +746,7 @@ bool CommandProcessor::ExecutePacketType3(RingbufferReader* reader,
|
||||||
|
|
||||||
// Ignored packets - useful if breaking on the default handler below.
|
// Ignored packets - useful if breaking on the default handler below.
|
||||||
case 0x50: // 0xC0015000 usually 2 words, 0xFFFFFFFF / 0x00000000
|
case 0x50: // 0xC0015000 usually 2 words, 0xFFFFFFFF / 0x00000000
|
||||||
|
case 0x51: // 0xC0015100 usually 2 words, 0xFFFFFFFF / 0xFFFFFFFF
|
||||||
XETRACECP("[%.8X] Packet(%.8X): unknown!", packet_ptr, packet);
|
XETRACECP("[%.8X] Packet(%.8X): unknown!", packet_ptr, packet);
|
||||||
reader->TraceData(count);
|
reader->TraceData(count);
|
||||||
reader->Skip(count);
|
reader->Skip(count);
|
||||||
|
|
|
@ -97,8 +97,10 @@ void xeVdQueryVideoMode(X_VIDEO_MODE* video_mode) {
|
||||||
video_mode->is_hi_def = 1;
|
video_mode->is_hi_def = 1;
|
||||||
video_mode->refresh_rate = 60.0f;
|
video_mode->refresh_rate = 60.0f;
|
||||||
video_mode->video_standard = 1; // NTSC
|
video_mode->video_standard = 1; // NTSC
|
||||||
video_mode->unknown_0x8a = 0x8A;
|
video_mode->unknown_0x8a = 0x94; // 0x8A;
|
||||||
video_mode->unknown_0x01 = 0x01;
|
video_mode->unknown_0x01 = 0x01;
|
||||||
|
video_mode->reserved[0] = video_mode->reserved[1] = video_mode->reserved[2] =
|
||||||
|
0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SHIM_CALL VdQueryVideoMode_shim(PPCContext* ppc_state, KernelState* state) {
|
SHIM_CALL VdQueryVideoMode_shim(PPCContext* ppc_state, KernelState* state) {
|
||||||
|
@ -158,6 +160,13 @@ SHIM_CALL VdShutdownEngines_shim(PPCContext* ppc_state, KernelState* state) {
|
||||||
// re-initialize.
|
// re-initialize.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SHIM_CALL VdGetGraphicsAsicID_shim(PPCContext* ppc_state, KernelState* state) {
|
||||||
|
XELOGD("VdGetGraphicsAsicID()");
|
||||||
|
|
||||||
|
// Games compare for < 0x10 and do VdInitializeEDRAM, else other (retrain/etc).
|
||||||
|
SHIM_SET_RETURN_64(0x11);
|
||||||
|
}
|
||||||
|
|
||||||
SHIM_CALL VdEnableDisableClockGating_shim(PPCContext* ppc_state,
|
SHIM_CALL VdEnableDisableClockGating_shim(PPCContext* ppc_state,
|
||||||
KernelState* state) {
|
KernelState* state) {
|
||||||
uint32_t enabled = SHIM_GET_ARG_32(0);
|
uint32_t enabled = SHIM_GET_ARG_32(0);
|
||||||
|
@ -397,6 +406,7 @@ SHIM_CALL VdSwap_shim(PPCContext* ppc_state, KernelState* state) {
|
||||||
} // namespace kernel
|
} // namespace kernel
|
||||||
} // namespace xe
|
} // namespace xe
|
||||||
|
|
||||||
|
|
||||||
void xe::kernel::xboxkrnl::RegisterVideoExports(ExportResolver* export_resolver,
|
void xe::kernel::xboxkrnl::RegisterVideoExports(ExportResolver* export_resolver,
|
||||||
KernelState* state) {
|
KernelState* state) {
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", VdGetCurrentDisplayGamma, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", VdGetCurrentDisplayGamma, state);
|
||||||
|
@ -407,6 +417,7 @@ void xe::kernel::xboxkrnl::RegisterVideoExports(ExportResolver* export_resolver,
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", VdSetDisplayModeOverride, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", VdSetDisplayModeOverride, state);
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", VdInitializeEngines, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", VdInitializeEngines, state);
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", VdShutdownEngines, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", VdShutdownEngines, state);
|
||||||
|
SHIM_SET_MAPPING("xboxkrnl.exe", VdGetGraphicsAsicID, state);
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", VdEnableDisableClockGating, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", VdEnableDisableClockGating, state);
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", VdSetGraphicsInterruptCallback, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", VdSetGraphicsInterruptCallback, state);
|
||||||
SHIM_SET_MAPPING("xboxkrnl.exe", VdInitializeRingBuffer, state);
|
SHIM_SET_MAPPING("xboxkrnl.exe", VdInitializeRingBuffer, state);
|
||||||
|
|
Loading…
Reference in New Issue