aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_private.h
diff options
context:
space:
mode:
authorJason Ekstrand <[email protected]>2016-12-06 17:52:14 -0800
committerJason Ekstrand <[email protected]>2017-02-14 14:18:55 -0800
commite8d52dab482045ced3f5b9154aedbb8641fa961a (patch)
tree5451303c69dde2b1e89edb16c8b466bba87fe0ce /src/intel/vulkan/anv_private.h
parent62bba4ba2dd491502eb3910a7a62e851bcc61884 (diff)
anv: Add support for the PMA fix on Broadwell
This helps Dota 2 on Broadwell by 8-9%. I also hacked up the driver and used the Sascha "shadowmapping" demo to get some results. Setting uses_kill to true dropped the framerate on the demo by 25-30%. Enabling the PMA fix brought it back up to around 90% of the original framerate. Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Nanley Chery <[email protected]>
Diffstat (limited to 'src/intel/vulkan/anv_private.h')
-rw-r--r--src/intel/vulkan/anv_private.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index 89ae8183799..449aa0f4ab6 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -1169,6 +1169,20 @@ struct anv_cmd_state {
bool need_query_wa;
/**
+ * Whether or not the gen8 PMA fix is enabled. We ensure that, at the top
+ * of any command buffer it is disabled by disabling it in EndCommandBuffer
+ * and before invoking the secondary in ExecuteCommands.
+ */
+ bool pma_fix_enabled;
+
+ /**
+ * Whether or not we know for certain that HiZ is enabled for the current
+ * subpass. If, for whatever reason, we are unsure as to whether HiZ is
+ * enabled or not, this will be false.
+ */
+ bool hiz_enabled;
+
+ /**
* Array length is anv_cmd_state::pass::attachment_count. Array content is
* valid only when recording a render pass instance.
*/
@@ -1471,8 +1485,11 @@ struct anv_pipeline {
uint32_t cs_right_mask;
+ bool writes_depth;
+ bool depth_test_enable;
bool writes_stencil;
bool depth_clamp_enable;
+ bool kill_pixel;
struct {
uint32_t sf[7];