diff --git a/src/intel/compiler/brw_fs.cpp b/src/intel/compiler/brw_fs.cpp index 7ce67e40896..f52f8cabf63 100644 --- a/src/intel/compiler/brw_fs.cpp +++ b/src/intel/compiler/brw_fs.cpp @@ -7908,9 +7908,7 @@ brw_cs_get_dispatch_info(const struct intel_device_info *devinfo, override_local_size ? override_local_size : prog_data->local_size; - const int simd = - override_local_size ? brw_simd_select_for_workgroup_size(devinfo, prog_data, sizes) : - brw_simd_select(prog_data); + const int simd = brw_simd_select_for_workgroup_size(devinfo, prog_data, sizes); assert(simd >= 0 && simd < 3); info.group_size = sizes[0] * sizes[1] * sizes[2]; diff --git a/src/intel/compiler/brw_simd_selection.cpp b/src/intel/compiler/brw_simd_selection.cpp index 18dc912029d..078ff0a9ced 100644 --- a/src/intel/compiler/brw_simd_selection.cpp +++ b/src/intel/compiler/brw_simd_selection.cpp @@ -180,11 +180,9 @@ brw_simd_select_for_workgroup_size(const struct intel_device_info *devinfo, const struct brw_cs_prog_data *prog_data, const unsigned *sizes) { - assert(sizes); - - if (prog_data->local_size[0] == sizes[0] && - prog_data->local_size[1] == sizes[1] && - prog_data->local_size[2] == sizes[2]) + if (!sizes || (prog_data->local_size[0] == sizes[0] && + prog_data->local_size[1] == sizes[1] && + prog_data->local_size[2] == sizes[2])) return brw_simd_select(prog_data); void *mem_ctx = ralloc_context(NULL);