diff --git a/.pick_status.json b/.pick_status.json index f07048c7513..0eba83da0ff 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -6493,7 +6493,7 @@ "description": "spirv: Fix gl_spirv_validation when OpLine with strings is present", "nominated": false, "nomination_type": null, - "resolution": 4, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/compiler/spirv/gl_spirv.c b/src/compiler/spirv/gl_spirv.c index 5ef38928edd..9b5e351c6c0 100644 --- a/src/compiler/spirv/gl_spirv.c +++ b/src/compiler/spirv/gl_spirv.c @@ -33,14 +33,22 @@ vtn_validate_preamble_instruction(struct vtn_builder *b, SpvOp opcode, const uint32_t *w, unsigned count) { switch (opcode) { + case SpvOpString: case SpvOpSource: case SpvOpSourceExtension: case SpvOpSourceContinued: + case SpvOpModuleProcessed: + /* We need this since vtn_foreach_instruction automatically handles + * OpLine / OpNoLine and relies on the SpvOpString from preamble being + * handled. + */ + vtn_handle_debug_text(b, opcode, w, count); + break; + case SpvOpExtension: case SpvOpCapability: case SpvOpExtInstImport: case SpvOpMemoryModel: - case SpvOpString: case SpvOpName: case SpvOpMemberName: case SpvOpExecutionMode: