[[VK_NV_glsl_shader]] == VK_NV_glsl_shader *Name String*:: +VK_NV_glsl_shader+ *Extension Type*:: Device extension *Registered Extension Number*:: 13 *Status*:: Draft. *Last Modified Date*:: 2016-02-14 *Revision*:: 1 *IP Status*:: No known IP claims. *Dependencies*:: - This extension is written against version 1.0 of the Vulkan API. *Contributors*:: - Piers Daniell, NVIDIA *Contacts*:: - Piers Daniell (pdaniell 'at' nvidia.com) 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 appropriatly. === 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