Class KHRParallelShaderCompile

java.lang.Object
org.lwjgl.opengles.KHRParallelShaderCompile

public class KHRParallelShaderCompile extends Object
Native bindings to the KHR_parallel_shader_compile extension.

Compiling GLSL into implementation-specific code can be a time consuming process, so a GL implementation may wish to perform the compilation in a separate CPU thread. This extension provides a mechanism for the application to provide a hint to limit the number of threads it wants to be used to compile shaders, as well as a query to determine if the compilation process is complete.

  • Field Details

    • GL_MAX_SHADER_COMPILER_THREADS_KHR

      public static final int GL_MAX_SHADER_COMPILER_THREADS_KHR
      Accepted by the pname parameter of GetBooleanv, GetIntegerv, GetInteger64v, GetFloatv, and GetDoublev.
      See Also:
    • GL_COMPLETION_STATUS_KHR

      public static final int GL_COMPLETION_STATUS_KHR
      Accepted as part of the pname parameter to GetShaderiv and accepted as part of the pname parameter to GetProgramiv.
      See Also:
  • Method Details

    • glMaxShaderCompilerThreadsKHR

      public static void glMaxShaderCompilerThreadsKHR(int count)
      Applications may use this function to hint to the driver the maximum number background threads it would like to be used in the process of compiling shaders or linking programs,

      An implementation may combine the maximum compiler thread request from multiple contexts in a share group in an implementation-specific way.

      An application can query the current MaxShaderCompilerThreadsKHR count by calling GetIntegerv with pname set to MAX_SHADER_COMPILER_THREADS_KHR, which returns the value of the current state.

      Parameters:
      count - the number of background threads. A count of zero specifies a request for no parallel compiling or linking and a count of 0xFFFFFFFF requests an implementation-specific maximum.