// Copyright 2019-2024 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 // Common Valid Usage // common to all creating of shaders using SPIR-V * [[VUID-{refpage}-codeSize-08735]] {prefixCondition} pname:codeSize must: be a multiple of 4 * [[VUID-{refpage}-pCode-08736]] {prefixCondition} pname:pCode must: point to valid SPIR-V code, formatted and packed as described by the <> * [[VUID-{refpage}-pCode-08737]] {prefixCondition} pname:pCode must: adhere to the validation rules described by the <> section of the <> appendix * [[VUID-{refpage}-pCode-08738]] {prefixCondition} pname:pCode must: declare the code:Shader capability for SPIR-V code * [[VUID-{refpage}-pCode-08739]] {prefixCondition} pname:pCode must: not declare any capability that is not supported by the API, as described by the <> section of the <> appendix * [[VUID-{refpage}-pCode-08740]] {prefixCondition} and pname:pCode declares any of the capabilities listed in the <> appendix, one of the corresponding requirements must: be satisfied * [[VUID-{refpage}-pCode-08741]] {prefixCondition} pname:pCode must: not declare any SPIR-V extension that is not supported by the API, as described by the <> section of the <> appendix * [[VUID-{refpage}-pCode-08742]] {prefixCondition} and pname:pCode declares any of the SPIR-V extensions listed in the <> appendix, one of the corresponding requirements must: be satisfied // Common Valid Usage