radv/gfx9: don't use gs_table_depth on gfx9.
authorDave Airlie <airlied@redhat.com>
Sun, 22 Apr 2018 23:50:28 +0000 (09:50 +1000)
committerDave Airlie <airlied@redhat.com>
Mon, 23 Apr 2018 23:04:42 +0000 (09:04 +1000)
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 <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/vulkan/radv_device.c
src/amd/vulkan/radv_pipeline.c

index 25c0d47..bc6cdc7 100644 (file)
@@ -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:
index 20afeda..b4e4f32 100644 (file)
@@ -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) {