• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1include::meta/VK_NV_glsl_shader.txt[]
2
3*Last Modified Date*::
4    2016-02-14
5*IP Status*::
6    No known IP claims.
7*Contributors*::
8  - Piers Daniell, NVIDIA
9
10This extension allows GLSL shaders written to the +GL_KHR_vulkan_glsl+
11extension specification to be used instead of SPIR-V.
12The implementation will automatically detect whether the shader is SPIR-V or
13GLSL, and compile it appropriately.
14
15=== New Object Types
16
17=== New Enum Constants
18
19  * Extending elink:VkResult:
20  ** ename:VK_ERROR_INVALID_SHADER_NV
21
22=== New Enums
23
24=== New Structures
25
26=== New Functions
27
28=== Issues
29
30=== Examples
31
32**Example 1**
33
34Passing in GLSL code
35
36[source,c++]
37----------------------------------------
38    char const vss[] =
39        "#version 450 core\n"
40        "layout(location = 0) in vec2 aVertex;\n"
41        "layout(location = 1) in vec4 aColor;\n"
42        "out vec4 vColor;\n"
43        "void main()\n"
44        "{\n"
45        "    vColor = aColor;\n"
46        "    gl_Position = vec4(aVertex, 0, 1);\n"
47        "}\n"
48    ;
49    VkShaderModuleCreateInfo vertexShaderInfo = { VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO };
50    vertexShaderInfo.codeSize = sizeof vss;
51    vertexShaderInfo.pCode = vss;
52    VkShaderModule vertexShader;
53    vkCreateShaderModule(device, &vertexShaderInfo, 0, &vertexShader);
54----------------------------------------
55
56=== Version History
57
58 * Revision 1, 2016-02-14 (Piers Daniell)
59   - Initial draft
60