summaryrefslogtreecommitdiff
path: root/src/video_core/engines
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2020-11-26 16:49:20 -0300
committerGravatar ReinUsesLisp2020-11-26 17:52:26 -0300
commit2ccf85a9103afbb4dc227e481bb0e3a7360e833b (patch)
treec5f6f65bdf56a35560a105fbe18a7ea673ae450d /src/video_core/engines
parentMerge pull request #4975 from comex/invalid-syncpoint-id (diff)
downloadyuzu-2ccf85a9103afbb4dc227e481bb0e3a7360e833b.tar.gz
yuzu-2ccf85a9103afbb4dc227e481bb0e3a7360e833b.tar.xz
yuzu-2ccf85a9103afbb4dc227e481bb0e3a7360e833b.zip
vk_shader_decompiler: Implement force early fragment tests
Force early fragment tests when the 3D method is enabled. The established pipeline cache takes care of recompiling if needed. This is implemented only on Vulkan to avoid invalidating the shader cache on OpenGL.
Diffstat (limited to 'src/video_core/engines')
-rw-r--r--src/video_core/engines/maxwell_3d.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/video_core/engines/maxwell_3d.h b/src/video_core/engines/maxwell_3d.h
index 1cbe8fe67..b0d9559d0 100644
--- a/src/video_core/engines/maxwell_3d.h
+++ b/src/video_core/engines/maxwell_3d.h
@@ -755,7 +755,11 @@ public:
755 755
756 u32 data_upload; 756 u32 data_upload;
757 757
758 INSERT_UNION_PADDING_WORDS(0x44); 758 INSERT_UNION_PADDING_WORDS(0x16);
759
760 u32 force_early_fragment_tests;
761
762 INSERT_UNION_PADDING_WORDS(0x2D);
759 763
760 struct { 764 struct {
761 union { 765 union {
@@ -1572,6 +1576,7 @@ ASSERT_REG_POSITION(shadow_ram_control, 0x49);
1572ASSERT_REG_POSITION(upload, 0x60); 1576ASSERT_REG_POSITION(upload, 0x60);
1573ASSERT_REG_POSITION(exec_upload, 0x6C); 1577ASSERT_REG_POSITION(exec_upload, 0x6C);
1574ASSERT_REG_POSITION(data_upload, 0x6D); 1578ASSERT_REG_POSITION(data_upload, 0x6D);
1579ASSERT_REG_POSITION(force_early_fragment_tests, 0x84);
1575ASSERT_REG_POSITION(sync_info, 0xB2); 1580ASSERT_REG_POSITION(sync_info, 0xB2);
1576ASSERT_REG_POSITION(tess_mode, 0xC8); 1581ASSERT_REG_POSITION(tess_mode, 0xC8);
1577ASSERT_REG_POSITION(tess_level_outer, 0xC9); 1582ASSERT_REG_POSITION(tess_level_outer, 0xC9);