[Mesa-dev] [PATCH] glsl: Actually enforce ES SSBO unsized array check for SSBOs.
Ilia Mirkin
imirkin at alum.mit.edu
Fri Feb 10 23:01:10 UTC 2017
Seems pretty similar to https://patchwork.freedesktop.org/patch/138274/
On Fri, Feb 10, 2017 at 5:48 PM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> Commit b010fa85675b98962426fe8961466fbae2d25499 re-added this check
> after it was erroneously dropped while fixing another bug. However,
> the control flow was slightly off, and it ended up only applying to
> UBOs and not SSBOs.
>
> Fixes dEQP-GLES31.functional.debug.negative_coverage.
> {callbacks,get_error,log}.shader.compile_compute_shader.
>
> Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
> ---
> src/compiler/glsl/ast_to_hir.cpp | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
> index b31b61d1ed6..851a7d6ef4d 100644
> --- a/src/compiler/glsl/ast_to_hir.cpp
> +++ b/src/compiler/glsl/ast_to_hir.cpp
> @@ -7903,10 +7903,9 @@ ast_interface_block::hir(exec_list *instructions,
> }
>
> if (var->type->is_unsized_array()) {
> - if (var->is_in_shader_storage_block()) {
> - if (is_unsized_array_last_element(var)) {
> - var->data.from_ssbo_unsized_array = true;
> - }
> + if (var->is_in_shader_storage_block() &&
> + is_unsized_array_last_element(var)) {
> + var->data.from_ssbo_unsized_array = true;
> } else {
> /* From GLSL ES 3.10 spec, section 4.1.9 "Arrays":
> *
> --
> 2.11.1
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list