Module: Mesa Branch: staging/21.2 Commit: fe2d7f3089d36690ce018d2f9b67b599575fbfa9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe2d7f3089d36690ce018d2f9b67b599575fbfa9
Author: Mike Blumenkrantz <[email protected]> Date: Mon Jul 26 13:11:18 2021 -0400 zink: use array size in spirv bo length calculations I don't know why I was dropping this, but doing so breaks drivers that have optimization passes based on the lengths of these variables Fixes: c1cdf30a119 ("zink: apply Delete All The Code methodology to the ubo/ssbo variables") Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12070> (cherry picked from commit 1dc7b9b08b6a272693f85e956ec3c4e498823a65) --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_compiler.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 70eab4fbc76..6fb4f49d2d2 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -436,7 +436,7 @@ "description": "zink: use array size in spirv bo length calculations", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "c1cdf30a119cc523616b3825daf144c1620c17b7" }, diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 43770bba54b..c32c6fe3651 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -844,7 +844,7 @@ unbreak_bos(nir_shader *shader) const struct glsl_type *type = glsl_without_array(var->type); if (type_is_counter(type)) continue; - unsigned size = glsl_count_attribute_slots(type, false); + unsigned size = glsl_count_attribute_slots(glsl_type_is_array(var->type) ? var->type : type, false); if (var->data.mode == nir_var_mem_ubo) max_ubo_size = MAX2(max_ubo_size, size); else _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
