From 8d2bfd4b8872c330b31df1dbee9d90fd96db2b5b Mon Sep 17 00:00:00 2001 From: Triang3l Date: Thu, 16 Aug 2018 12:20:27 +0300 Subject: [PATCH] [D3D12] Fix 16.16.16.16 vertex fetch --- src/xenia/gpu/hlsl_shader_translator.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/xenia/gpu/hlsl_shader_translator.cc b/src/xenia/gpu/hlsl_shader_translator.cc index 994fbfbae..e5b854f28 100644 --- a/src/xenia/gpu/hlsl_shader_translator.cc +++ b/src/xenia/gpu/hlsl_shader_translator.cc @@ -1048,7 +1048,7 @@ void HlslShaderTranslator::ProcessVertexFetchInstruction( EmitSourceDepth("xe_pv.zw = float2(0.0, 1.0);\n"); break; case VertexFormat::k_16_16_16_16: - EmitSourceDepth("xe_vertex_element = (xe_vertex_element.xxxx >>\n"); + EmitSourceDepth("xe_vertex_element = (xe_vertex_element.xxyy >>\n"); EmitSourceDepth(" uint4(0u, 16u, 0u, 16u)) & 65535u;\n"); if (instr.attributes.is_signed) { EmitSourceDepth( @@ -1073,7 +1073,7 @@ void HlslShaderTranslator::ProcessVertexFetchInstruction( EmitSourceDepth("xe_pv.zw = float2(0.0, 1.0);\n"); break; case VertexFormat::k_16_16_16_16_FLOAT: - EmitSourceDepth("xe_vertex_element = (xe_vertex_element.xxxx >>\n"); + EmitSourceDepth("xe_vertex_element = (xe_vertex_element.xxyy >>\n"); EmitSourceDepth(" uint4(0u, 16u, 0u, 16u)) & 65535u;\n"); EmitSourceDepth("xe_pv = f16tof32(xe_vertex_element);\n"); break;