From d2414e64e443700b764dcd1bd7ee46bbf7a9401a Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 24 Jan 2018 13:13:49 +1000 Subject: [PATCH] radv: add multisample Z optimisation from amdvlk This was just found while reading for other stuff, src/core/hw/gfxip/gfx6/gfx6DepthStencilView.cpp. Reviewed-by: Samuel Pitoiset Signed-off-by: Dave Airlie --- src/amd/vulkan/radv_pipeline.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 41a206a634e..62faa3e473b 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -714,6 +714,9 @@ radv_pipeline_init_depth_stencil_state(struct radv_pipeline *pipeline, S_028800_Z_WRITE_ENABLE(vkds->depthWriteEnable ? 1 : 0) | S_028800_ZFUNC(vkds->depthCompareOp) | S_028800_DEPTH_BOUNDS_ENABLE(vkds->depthBoundsTestEnable ? 1 : 0); + + /* from amdvlk: For 4xAA and 8xAA need to decompress on flush for better performance */ + ds->db_render_override2 |= S_028010_DECOMPRESS_Z_ON_FLUSH(attachment->samples > 2); } if (has_stencil_attachment && vkds->stencilTestEnable) { -- 2.30.2