include::meta/VK_NV_glsl_shader.txt[] *Last Modified Date*:: 2016-02-14 *IP Status*:: No known IP claims. *Contributors*:: - Piers Daniell, NVIDIA This extension allows GLSL shaders written to the +GL_KHR_vulkan_glsl+ extension specification to be used instead of SPIR-V. The implementation will automatically detect whether the shader is SPIR-V or GLSL, and compile it appropriately. === New Object Types === New Enum Constants * Extending elink:VkResult: ** ename:VK_ERROR_INVALID_SHADER_NV === New Enums === New Structures === New Functions === Issues === Examples *Example 1* Passing in GLSL code [source,c++] ---------------------------------------- char const vss[] = "#version 450 core\n" "layout(location = 0) in vec2 aVertex;\n" "layout(location = 1) in vec4 aColor;\n" "out vec4 vColor;\n" "void main()\n" "{\n" " vColor = aColor;\n" " gl_Position = vec4(aVertex, 0, 1);\n" "}\n" ; VkShaderModuleCreateInfo vertexShaderInfo = { VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO }; vertexShaderInfo.codeSize = sizeof vss; vertexShaderInfo.pCode = vss; VkShaderModule vertexShader; vkCreateShaderModule(device, &vertexShaderInfo, 0, &vertexShader); ---------------------------------------- === Version History * Revision 1, 2016-02-14 (Piers Daniell) - Initial draft