summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArcady Goldmints-Orlov <agoldmints@igalia.com>2020-02-21 12:47:10 -0600
committerDylan Baker <dylan@pnwbakers.com>2020-02-24 11:10:37 -0800
commit4e699a34ae882a9928cbd5a840b958ce706a7885 (patch)
tree531f4dd41e6c06fd8f22011aafe3fb0d46bdaf9c
parent46b7b11cbf9783d7b0f4d075096fcadef14b15d0 (diff)
downloadmesa-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.json2
-rw-r--r--src/compiler/spirv/spirv_to_nir.c5
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: