From: Dave Airlie Date: Wed, 24 Jan 2018 03:13:49 +0000 (+1000) Subject: radv: add multisample Z optimisation from amdvlk X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d2414e64e443700b764dcd1bd7ee46bbf7a9401a;p=mesa.git 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 --- 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) {