diff options
author | Arcady Goldmints-Orlov <agoldmints@igalia.com> | 2020-02-21 12:47:10 -0600 |
---|---|---|
committer | Dylan Baker <dylan@pnwbakers.com> | 2020-02-24 11:10:37 -0800 |
commit | 4e699a34ae882a9928cbd5a840b958ce706a7885 (patch) | |
tree | 531f4dd41e6c06fd8f22011aafe3fb0d46bdaf9c | |
parent | 46b7b11cbf9783d7b0f4d075096fcadef14b15d0 (diff) | |
download | mesa-4e699a34ae882a9928cbd5a840b958ce706a7885.tar.gz |
spirv: Remove outdated SPIR-V decoration warnings
spirv_to_nir warns if it encounters XFB decorations and errors if
it encounters a Stream decoration with value other than 0, despite
the fact that these decorations are in fact handled correctly.
Fixes dEQP-VK.transform_feedback.simple.query_1_*
Fixes: cd4a14be06 "spirv: Handle XFB variable decorations"
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3910>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3910>
(cherry picked from commit 5f3cbbd958d14924dded0e0a0908127f6bfa006d)
-rw-r--r-- | .pick_status.json | 2 | ||||
-rw-r--r-- | src/compiler/spirv/spirv_to_nir.c | 5 |
2 files changed, 3 insertions, 4 deletions
diff --git a/.pick_status.json b/.pick_status.json index f3938cab99d..8dbc25fe172 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -400,7 +400,7 @@ "description": "spirv: Remove outdated SPIR-V decoration warnings", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "cd4a14be063957964ae54e0e828174b9e40961e0" }, diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c index eeca640ba49..9dc82f80fd9 100644 --- a/src/compiler/spirv/spirv_to_nir.c +++ b/src/compiler/spirv/spirv_to_nir.c @@ -776,8 +776,7 @@ struct_member_decoration_cb(struct vtn_builder *b, ctx->fields[member].sample = true; break; case SpvDecorationStream: - /* Vulkan only allows one GS stream */ - vtn_assert(dec->operands[0] == 0); + /* This is handled later by var_decoration_cb in vtn_variables.c */ break; case SpvDecorationLocation: ctx->fields[member].location = dec->operands[0]; @@ -828,7 +827,7 @@ struct_member_decoration_cb(struct vtn_builder *b, case SpvDecorationXfbBuffer: case SpvDecorationXfbStride: - vtn_warn("Vulkan does not have transform feedback"); + /* This is handled later by var_decoration_cb in vtn_variables.c */ break; case SpvDecorationCPacked: |