radv: disable the DX10 diamond test for better line rasterization perf
Ported from RadeonSI. PAL also doesn't enable it for Vulkan. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13066>
This commit is contained in:

committed by
Marge Bot

parent
1e9f18008f
commit
55e6a68f69
@@ -4299,8 +4299,6 @@ radv_pipeline_generate_raster_state(struct radeon_cmdbuf *ctx_cs,
|
|||||||
const VkConservativeRasterizationModeEXT mode = radv_get_conservative_raster_mode(vkraster);
|
const VkConservativeRasterizationModeEXT mode = radv_get_conservative_raster_mode(vkraster);
|
||||||
uint32_t pa_sc_conservative_rast = S_028C4C_NULL_SQUAD_AA_MASK_ENABLE(1);
|
uint32_t pa_sc_conservative_rast = S_028C4C_NULL_SQUAD_AA_MASK_ENABLE(1);
|
||||||
|
|
||||||
radeon_set_context_reg(ctx_cs, R_028BDC_PA_SC_LINE_CNTL, S_028BDC_DX10_DIAMOND_TEST_ENA(1));
|
|
||||||
|
|
||||||
if (pipeline->device->physical_device->rad_info.chip_class >= GFX9) {
|
if (pipeline->device->physical_device->rad_info.chip_class >= GFX9) {
|
||||||
/* Conservative rasterization. */
|
/* Conservative rasterization. */
|
||||||
if (mode != VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT) {
|
if (mode != VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT) {
|
||||||
|
@@ -549,6 +549,11 @@ si_emit_graphics(struct radv_device *device, struct radeon_cmdbuf *cs)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* The DX10 diamond test is unnecessary with Vulkan and it decreases line rasterization
|
||||||
|
* performance.
|
||||||
|
*/
|
||||||
|
radeon_set_context_reg(cs, R_028BDC_PA_SC_LINE_CNTL, 0);
|
||||||
|
|
||||||
si_emit_compute(device, cs);
|
si_emit_compute(device, cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user