From 90f700c78526bd1006b23f1275a4cf57188cf8bc Mon Sep 17 00:00:00 2001 From: Triang3l Date: Wed, 10 Oct 2018 12:38:55 +0300 Subject: [PATCH] [D3D12] Analysis: Display fetch constant contents if type is wrong --- src/xenia/gpu/d3d12/d3d12_command_processor.cc | 4 +++- src/xenia/gpu/d3d12/texture_cache.cc | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/xenia/gpu/d3d12/d3d12_command_processor.cc b/src/xenia/gpu/d3d12/d3d12_command_processor.cc index dc634a4f5..02c282db7 100644 --- a/src/xenia/gpu/d3d12/d3d12_command_processor.cc +++ b/src/xenia/gpu/d3d12/d3d12_command_processor.cc @@ -1198,7 +1198,9 @@ bool D3D12CommandProcessor::IssueDraw(PrimitiveType primitive_type, uint32_t vfetch_constant_index = XE_GPU_REG_SHADER_CONSTANT_FETCH_00_0 + vfetch_index * 2; if ((regs[vfetch_constant_index].u32 & 0x3) != 3) { - XELOGGPU("Vertex fetch type is not 3!"); + XELOGW("Vertex fetch type is not 3 (fetch constant %u is %.8X %.8X)!", + vfetch_index, regs[vfetch_constant_index].u32, + regs[vfetch_constant_index + 1].u32); return false; } shared_memory_->RequestRange( diff --git a/src/xenia/gpu/d3d12/texture_cache.cc b/src/xenia/gpu/d3d12/texture_cache.cc index 20cb576f9..6c21f4150 100644 --- a/src/xenia/gpu/d3d12/texture_cache.cc +++ b/src/xenia/gpu/d3d12/texture_cache.cc @@ -976,7 +976,11 @@ void TextureCache::BindingInfoFromFetchConstant( } if (fetch.type != 2) { - XELOGGPU("Texture fetch type is not 2 - ignoring!"); + XELOGW( + "Texture fetch type is not 2 - ignoring (fetch constant is %.8X %.8X " + "%.8X %.8X %.8X %.8X)!", + fetch.dword_0, fetch.dword_1, fetch.dword_2, fetch.dword_3, + fetch.dword_4, fetch.dword_5); return; }