From 40783a7fa372ef12184d893efaed27f2c3cebbbc Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Mon, 23 Apr 2018 09:50:28 +1000 Subject: [PATCH] radv/gfx9: don't use gs_table_depth on gfx9. Missed this on initial radeonsi port, we shouldn't use this value on gfx9, but also in gfx8 only for when we have a geom shader. Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie --- src/amd/vulkan/radv_device.c | 6 +++--- src/amd/vulkan/radv_pipeline.c | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index 25c0d47da8b..bc6cdc7945d 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1353,6 +1353,9 @@ static void radv_bo_list_remove(struct radv_device *device, static void radv_device_init_gs_info(struct radv_device *device) { + if (device->physical_device->rad_info.chip_class >= GFX9) + return; + switch (device->physical_device->rad_info.family) { case CHIP_OLAND: case CHIP_HAINAN: @@ -1375,9 +1378,6 @@ radv_device_init_gs_info(struct radv_device *device) case CHIP_POLARIS11: case CHIP_POLARIS12: case CHIP_VEGAM: - case CHIP_VEGA10: - case CHIP_VEGA12: - case CHIP_RAVEN: device->gs_table_depth = 32; return; default: diff --git a/src/amd/vulkan/radv_pipeline.c b/src/amd/vulkan/radv_pipeline.c index 20afeda4480..b4e4f3211e2 100644 --- a/src/amd/vulkan/radv_pipeline.c +++ b/src/amd/vulkan/radv_pipeline.c @@ -3206,8 +3206,9 @@ radv_compute_ia_multi_vgt_param_helpers(struct radv_pipeline *pipeline, } } /* GS requirement. */ - if (SI_GS_PER_ES / ia_multi_vgt_param.primgroup_size >= pipeline->device->gs_table_depth - 3) - ia_multi_vgt_param.partial_es_wave = true; + if (radv_pipeline_has_gs(pipeline) && device->physical_device->rad_info.chip_class <= VI) + if (SI_GS_PER_ES / ia_multi_vgt_param.primgroup_size >= pipeline->device->gs_table_depth - 3) + ia_multi_vgt_param.partial_es_wave = true; ia_multi_vgt_param.wd_switch_on_eop = false; if (device->physical_device->rad_info.chip_class >= CIK) { -- 2.30.2