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>
This commit is contained in:
Ian Romanick 2022-11-17 12:47:59 -08:00 committed by Marge Bot
parent d989746e55
commit 2ba55ec504
2 changed files with 13 additions and 1 deletions

View file

@ -5725,6 +5725,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,