Class NVGLSLShader

java.lang.Object
org.lwjgl.vulkan.NVGLSLShader

public final class NVGLSLShader extends Object
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.
Deprecation

Functionality in this extension is outside of the scope of Vulkan and is better served by a compiler library such as glslang. No new implementations will support this extension, so applications should not use it.

Examples

Example 1

Passing in GLSL code


     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);
VK_NV_glsl_shader
Name String
VK_NV_glsl_shader
Extension Type
Device extension
Registered Extension Number
13
Revision
1
Deprecation State
  • Deprecated without replacement
Contact
Other Extension Metadata
Last Modified Date
2016-02-14
IP Status
No known IP claims.
Contributors
  • Piers Daniell, NVIDIA
  • Field Details

    • VK_NV_GLSL_SHADER_SPEC_VERSION

      public static final int VK_NV_GLSL_SHADER_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_NV_GLSL_SHADER_EXTENSION_NAME

      public static final String VK_NV_GLSL_SHADER_EXTENSION_NAME
      The extension name.
      See Also:
    • VK_ERROR_INVALID_SHADER_NV

      public static final int VK_ERROR_INVALID_SHADER_NV
      Extends VkResult.
      See Also: