Class AMDSparseTexture

java.lang.Object
org.lwjgl.opengl.AMDSparseTexture

public class AMDSparseTexture extends Object
Native bindings to the AMD_sparse_texture extension.

Recent advances in application complexity and a desire for higher resolutions have pushed texture sizes up considerably. Often, the amount of physical memory available to a graphics processor is a limiting factor in the performance of texture-heavy applications. Once the available physical memory is exhausted, paging may occur bringing performance down considerably - or worse, the application may fail. Nevertheless, the amount of address space available to the graphics processor has increased to the point where many gigabytes - or even terabytes of address space may be usable even though that amount of physical memory is not present.

This extension allows the separation of the graphics processor's address space (reservation) from the requirement that all textures must be physically backed (commitment). This exposes a limited form of virtualization for textures. Use cases include sparse (or partially resident) textures, texture paging, on-demand and delayed loading of texture assets and application controlled level of detail.

Requires OpenGL 2.0 or ARB_fragment_shader.

  • Field Details

    • GL_TEXTURE_STORAGE_SPARSE_BIT_AMD

      public static final int GL_TEXTURE_STORAGE_SPARSE_BIT_AMD
      Accepted by the flags parameter to TexStorageSparseAMD and TextureStorageSparseAMD.
      See Also:
    • GL_VIRTUAL_PAGE_SIZE_X_AMD

      public static final int GL_VIRTUAL_PAGE_SIZE_X_AMD
      Accepted by the pname parameter to GetInternalformativ.
      See Also:
    • GL_VIRTUAL_PAGE_SIZE_Y_AMD

      public static final int GL_VIRTUAL_PAGE_SIZE_Y_AMD
      Accepted by the pname parameter to GetInternalformativ.
      See Also:
    • GL_VIRTUAL_PAGE_SIZE_Z_AMD

      public static final int GL_VIRTUAL_PAGE_SIZE_Z_AMD
      Accepted by the pname parameter to GetInternalformativ.
      See Also:
    • GL_MAX_SPARSE_TEXTURE_SIZE_AMD

      public static final int GL_MAX_SPARSE_TEXTURE_SIZE_AMD
      Accepted by the pname parameter to GetIntegerv, GetFloatv, GetDoublev, GetInteger64v, and GetBooleanv.
      See Also:
    • GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD

      public static final int GL_MAX_SPARSE_3D_TEXTURE_SIZE_AMD
      Accepted by the pname parameter to GetIntegerv, GetFloatv, GetDoublev, GetInteger64v, and GetBooleanv.
      See Also:
    • GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS

      public static final int GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS
      Accepted by the pname parameter to GetIntegerv, GetFloatv, GetDoublev, GetInteger64v, and GetBooleanv.
      See Also:
    • GL_MIN_SPARSE_LEVEL_AMD

      public static final int GL_MIN_SPARSE_LEVEL_AMD
      Accepted by the pname parameter of GetTexParameter{if}v.
      See Also:
    • GL_MIN_LOD_WARNING_AMD

      public static final int GL_MIN_LOD_WARNING_AMD
      Accepted by the pname parameter of TexParameter{if}{v} and GetTexParameter{if}v.
      See Also:
  • Method Details

    • glTexStorageSparseAMD

      public static void glTexStorageSparseAMD(int target, int internalFormat, int width, int height, int depth, int layers, int flags)
    • glTextureStorageSparseAMD

      public static void glTextureStorageSparseAMD(int texture, int target, int internalFormat, int width, int height, int depth, int layers, int flags)