Class VkPhysicalDeviceFragmentShadingRatePropertiesKHR

java.lang.Object
org.lwjgl.system.Pointer.Default
org.lwjgl.system.Struct<VkPhysicalDeviceFragmentShadingRatePropertiesKHR>
org.lwjgl.vulkan.VkPhysicalDeviceFragmentShadingRatePropertiesKHR
All Implemented Interfaces:
AutoCloseable, org.lwjgl.system.NativeResource, org.lwjgl.system.Pointer

public class VkPhysicalDeviceFragmentShadingRatePropertiesKHR extends org.lwjgl.system.Struct<VkPhysicalDeviceFragmentShadingRatePropertiesKHR> implements org.lwjgl.system.NativeResource
Structure describing variable fragment shading rate limits that can be supported by an implementation.
Description
Note

Multiplication of the combiner rates using the fragment width/height in linear space is equivalent to an addition of those values in log2 space. Some implementations inadvertently implemented an addition in linear space due to unclear requirements originating outside of this specification. This resulted in fragmentShadingRateStrictMultiplyCombiner being added. Fortunately, this only affects situations where a rate of 1 in either dimension is combined with another rate of 1. All other combinations result in the exact same result as if multiplication was performed in linear space due to the clamping logic, and the fact that both the sum and product of 2 and 2 are equal. In many cases, this limit will not affect the correct operation of applications.

If the VkPhysicalDeviceFragmentShadingRatePropertiesKHR structure is included in the pNext chain of the VkPhysicalDeviceProperties2 structure passed to GetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

These properties are related to fragment shading rates.

Valid Usage (Implicit)
See Also

VkExtent2D

Layout


 struct VkPhysicalDeviceFragmentShadingRatePropertiesKHR {
     VkStructureType sType();
     void * pNext();
     VkExtent2D minFragmentShadingRateAttachmentTexelSize();
     VkExtent2D maxFragmentShadingRateAttachmentTexelSize();
     uint32_t maxFragmentShadingRateAttachmentTexelSizeAspectRatio();
     VkBool32 primitiveFragmentShadingRateWithMultipleViewports();
     VkBool32 layeredShadingRateAttachments();
     VkBool32 fragmentShadingRateNonTrivialCombinerOps();
     VkExtent2D maxFragmentSize();
     uint32_t maxFragmentSizeAspectRatio();
     uint32_t maxFragmentShadingRateCoverageSamples();
     VkSampleCountFlagBits maxFragmentShadingRateRasterizationSamples();
     VkBool32 fragmentShadingRateWithShaderDepthStencilWrites();
     VkBool32 fragmentShadingRateWithSampleMask();
     VkBool32 fragmentShadingRateWithShaderSampleMask();
     VkBool32 fragmentShadingRateWithConservativeRasterization();
     VkBool32 fragmentShadingRateWithFragmentShaderInterlock();
     VkBool32 fragmentShadingRateWithCustomSampleLocations();
     VkBool32 fragmentShadingRateStrictMultiplyCombiner();
 }
  • Field Details

    • SIZEOF

      public static final int SIZEOF
      The struct size in bytes.
    • ALIGNOF

      public static final int ALIGNOF
      The struct alignment in bytes.
    • STYPE

      public static final int STYPE
      The struct member offsets.
    • PNEXT

      public static final int PNEXT
      The struct member offsets.
    • MINFRAGMENTSHADINGRATEATTACHMENTTEXELSIZE

      public static final int MINFRAGMENTSHADINGRATEATTACHMENTTEXELSIZE
      The struct member offsets.
    • MAXFRAGMENTSHADINGRATEATTACHMENTTEXELSIZE

      public static final int MAXFRAGMENTSHADINGRATEATTACHMENTTEXELSIZE
      The struct member offsets.
    • MAXFRAGMENTSHADINGRATEATTACHMENTTEXELSIZEASPECTRATIO

      public static final int MAXFRAGMENTSHADINGRATEATTACHMENTTEXELSIZEASPECTRATIO
      The struct member offsets.
    • PRIMITIVEFRAGMENTSHADINGRATEWITHMULTIPLEVIEWPORTS

      public static final int PRIMITIVEFRAGMENTSHADINGRATEWITHMULTIPLEVIEWPORTS
      The struct member offsets.
    • LAYEREDSHADINGRATEATTACHMENTS

      public static final int LAYEREDSHADINGRATEATTACHMENTS
      The struct member offsets.
    • FRAGMENTSHADINGRATENONTRIVIALCOMBINEROPS

      public static final int FRAGMENTSHADINGRATENONTRIVIALCOMBINEROPS
      The struct member offsets.
    • MAXFRAGMENTSIZE

      public static final int MAXFRAGMENTSIZE
      The struct member offsets.
    • MAXFRAGMENTSIZEASPECTRATIO

      public static final int MAXFRAGMENTSIZEASPECTRATIO
      The struct member offsets.
    • MAXFRAGMENTSHADINGRATECOVERAGESAMPLES

      public static final int MAXFRAGMENTSHADINGRATECOVERAGESAMPLES
      The struct member offsets.
    • MAXFRAGMENTSHADINGRATERASTERIZATIONSAMPLES

      public static final int MAXFRAGMENTSHADINGRATERASTERIZATIONSAMPLES
      The struct member offsets.
    • FRAGMENTSHADINGRATEWITHSHADERDEPTHSTENCILWRITES

      public static final int FRAGMENTSHADINGRATEWITHSHADERDEPTHSTENCILWRITES
      The struct member offsets.
    • FRAGMENTSHADINGRATEWITHSAMPLEMASK

      public static final int FRAGMENTSHADINGRATEWITHSAMPLEMASK
      The struct member offsets.
    • FRAGMENTSHADINGRATEWITHSHADERSAMPLEMASK

      public static final int FRAGMENTSHADINGRATEWITHSHADERSAMPLEMASK
      The struct member offsets.
    • FRAGMENTSHADINGRATEWITHCONSERVATIVERASTERIZATION

      public static final int FRAGMENTSHADINGRATEWITHCONSERVATIVERASTERIZATION
      The struct member offsets.
    • FRAGMENTSHADINGRATEWITHFRAGMENTSHADERINTERLOCK

      public static final int FRAGMENTSHADINGRATEWITHFRAGMENTSHADERINTERLOCK
      The struct member offsets.
    • FRAGMENTSHADINGRATEWITHCUSTOMSAMPLELOCATIONS

      public static final int FRAGMENTSHADINGRATEWITHCUSTOMSAMPLELOCATIONS
      The struct member offsets.
    • FRAGMENTSHADINGRATESTRICTMULTIPLYCOMBINER

      public static final int FRAGMENTSHADINGRATESTRICTMULTIPLYCOMBINER
      The struct member offsets.
  • Constructor Details

    • VkPhysicalDeviceFragmentShadingRatePropertiesKHR

      public VkPhysicalDeviceFragmentShadingRatePropertiesKHR(ByteBuffer container)
      Creates a VkPhysicalDeviceFragmentShadingRatePropertiesKHR instance at the current position of the specified ByteBuffer container. Changes to the buffer's content will be visible to the struct instance and vice versa.

      The created instance holds a strong reference to the container object.

  • Method Details