nir/range_analysis: Set higher default maximum for max_workgroup_count

Fixes: c2a81ebe19 ("nir: Add default unsigned upper bound configuration.")
Closes: #7676
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19835>
(cherry picked from commit 2ba55ec504)
This commit is contained in:
Ian Romanick 2022-11-17 12:47:59 -08:00 committed by Dylan Baker
parent 205767d5ef
commit 094dffac9c
3 changed files with 14 additions and 2 deletions

View file

@ -787,7 +787,7 @@
"description": "nir/range_analysis: Set higher default maximum for max_workgroup_count",
"nominated": true,
"nomination_type": 1,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "c2a81ebe19f98b025b296fcadc279b4358d37345"
},

View file

@ -5626,6 +5626,7 @@ nir_variable_is_in_block(const nir_variable *var)
return nir_variable_is_in_ubo(var) || nir_variable_is_in_ssbo(var);
}
/* See default_ub_config in nir_range_analysis.c for documentation. */
typedef struct nir_unsigned_upper_bound_config {
unsigned min_subgroup_size;
unsigned max_subgroup_size;

View file

@ -1294,8 +1294,19 @@ static const nir_unsigned_upper_bound_config default_ub_config = {
.min_subgroup_size = 1u,
.max_subgroup_size = UINT16_MAX,
.max_workgroup_invocations = UINT16_MAX,
.max_workgroup_count = {UINT16_MAX, UINT16_MAX, UINT16_MAX},
/* max_workgroup_count represents the maximum compute shader / kernel
* dispatchable work size. On most hardware, this is essentially
* unbounded. On some hardware max_workgroup_count[1] and
* max_workgroup_count[2] may be smaller.
*/
.max_workgroup_count = {UINT32_MAX, UINT32_MAX, UINT32_MAX},
/* max_workgroup_size is the local invocation maximum. This is generally
* small the OpenGL 4.2 minimum maximum is 1024.
*/
.max_workgroup_size = {UINT16_MAX, UINT16_MAX, UINT16_MAX},
.vertex_attrib_max = {
UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX,
UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX, UINT32_MAX,