diff options
author | Jason Ekstrand <[email protected]> | 2017-02-01 16:41:04 -0800 |
---|---|---|
committer | Jason Ekstrand <[email protected]> | 2017-02-14 14:18:55 -0800 |
commit | f434a60a538bb3b8813f3bdcaa55e34a67279dee (patch) | |
tree | 147c29221b23be581bdf7a2a0e80ce0c1af2598a /src/intel/vulkan/genX_pipeline.c | |
parent | d665c51eea4e85cb5a9e72f9a5cf1242795eda8a (diff) |
anv: Implement the Skylake stencil PMA optimization
Unfortunately, this doesn't substantially improve the performance of any
known apps. With Dota 2 on my Sky Lake gt4, it seems help by somewhere
between 0% and 1% but there's enough noise that it's hard to get a clear
picture.
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Nanley Chery <[email protected]>
Diffstat (limited to 'src/intel/vulkan/genX_pipeline.c')
-rw-r--r-- | src/intel/vulkan/genX_pipeline.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/intel/vulkan/genX_pipeline.c b/src/intel/vulkan/genX_pipeline.c index 790fbbe364f..a9396da48ac 100644 --- a/src/intel/vulkan/genX_pipeline.c +++ b/src/intel/vulkan/genX_pipeline.c @@ -799,6 +799,7 @@ emit_ds_state(struct anv_pipeline *pipeline, * to make sure it's initialized to something useful. */ pipeline->writes_stencil = false; + pipeline->stencil_test_enable = false; pipeline->writes_depth = false; pipeline->depth_test_enable = false; memset(depth_stencil_dw, 0, sizeof(depth_stencil_dw)); @@ -814,6 +815,7 @@ emit_ds_state(struct anv_pipeline *pipeline, VkPipelineDepthStencilStateCreateInfo info = *pCreateInfo; sanitize_ds_state(&info, &pipeline->writes_stencil, ds_aspects); + pipeline->stencil_test_enable = info.stencilTestEnable; pipeline->writes_depth = info.depthWriteEnable; pipeline->depth_test_enable = info.depthTestEnable; @@ -1574,8 +1576,8 @@ compute_kill_pixel(struct anv_pipeline *pipeline, const struct brw_wm_prog_data *wm_prog_data = get_wm_prog_data(pipeline); /* This computes the KillPixel portion of the computation for whether or - * not we want to enable the PMA fix on gen8. It's given by this chunk of - * the giant formula: + * not we want to enable the PMA fix on gen8 or gen9. It's given by this + * chunk of the giant formula: * * (3DSTATE_PS_EXTRA::PixelShaderKillsPixels || * 3DSTATE_PS_EXTRA::oMask Present to RenderTarget || |