From 87d663d7e0fb1bb2cb049810c701efaaf7f5180a Mon Sep 17 00:00:00 2001 From: Triang3l Date: Sat, 29 Dec 2018 21:12:21 +0300 Subject: [PATCH] [D3D12] Disable adaptive tessellation temporarily because of cracks --- src/xenia/gpu/d3d12/pipeline_cache.cc | 6 ++++-- src/xenia/gpu/d3d12/shaders/adaptive_triangle.hs.hlsl | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/xenia/gpu/d3d12/pipeline_cache.cc b/src/xenia/gpu/d3d12/pipeline_cache.cc index e1186fca4..35417ec45 100644 --- a/src/xenia/gpu/d3d12/pipeline_cache.cc +++ b/src/xenia/gpu/d3d12/pipeline_cache.cc @@ -27,9 +27,11 @@ DEFINE_bool(d3d12_dxbc_disasm, false, "Disassemble DXBC shaders after generation."); DEFINE_bool( - d3d12_tessellation_adaptive, true, + d3d12_tessellation_adaptive, false, "Allow games to use adaptive tessellation - may be disabled if the game " - "has issues with memexport, the maximum factor will be used in this case."); + "has issues with memexport, the maximum factor will be used in this case. " + "Temporarily disabled by default since there are visible cracks currently " + "in Halo 3."); DEFINE_bool(d3d12_tessellation_wireframe, false, "Display tessellated surfaces as wireframe for debugging."); diff --git a/src/xenia/gpu/d3d12/shaders/adaptive_triangle.hs.hlsl b/src/xenia/gpu/d3d12/shaders/adaptive_triangle.hs.hlsl index 7dae72071..a09c1c00f 100644 --- a/src/xenia/gpu/d3d12/shaders/adaptive_triangle.hs.hlsl +++ b/src/xenia/gpu/d3d12/shaders/adaptive_triangle.hs.hlsl @@ -39,7 +39,7 @@ XeHSConstantDataOutput XePatchConstant(uint xe_patch_id : SV_PrimitiveID) { xe_tessellation_factor_range.y); // UVW are taken with ZYX swizzle (when r1.y is 0) in the vertex (domain) // shader. Edge 0 is with U = 0, edge 1 is with V = 0, edge 2 is with W = 0. - // TODO(Triang3l): Verify this order. + // TODO(Triang3l): Verify this order. There are still cracks. output.edges[0] = edge_factors.z; output.edges[1] = edge_factors.y; output.edges[2] = edge_factors.x;