Class VkPhysicalDeviceFloatControlsPropertiesKHR

  • All Implemented Interfaces:
    java.lang.AutoCloseable, NativeResource, Pointer

    public class VkPhysicalDeviceFloatControlsPropertiesKHR
    extends Struct
    implements NativeResource
    Structure describing properties supported by VK_KHR_shader_float_controls.
    Description

    If the VkPhysicalDeviceFloatControlsPropertiesKHR structure is included in the pNext chain of VkPhysicalDeviceProperties2, it is filled with the implementation-dependent limits.

    Valid Usage (Implicit)

    Member documentation

    • denormBehaviorIndependence – an VkShaderFloatControlsIndependenceKHR value indicating whether, and how, denorm behavior can be set independently for different bit widths.
    • roundingModeIndependence – an VkShaderFloatControlsIndependenceKHR value indicating whether, and how, rounding modes can be set independently for different bit widths.
    • shaderSignedZeroInfNanPreserveFloat16 – a boolean value indicating whether sign of a zero, Nans and ±∞ can be preserved in 16-bit floating-point computations. It also indicates whether the SignedZeroInfNanPreserve execution mode can be used for 16-bit floating-point types.
    • shaderSignedZeroInfNanPreserveFloat32 – a boolean value indicating whether sign of a zero, Nans and ±∞ can be preserved in 32-bit floating-point computations. It also indicates whether the SignedZeroInfNanPreserve execution mode can be used for 32-bit floating-point types.
    • shaderSignedZeroInfNanPreserveFloat64 – a boolean value indicating whether sign of a zero, Nans and ±∞ can be preserved in 64-bit floating-point computations. It also indicates whether the SignedZeroInfNanPreserve execution mode can be used for 64-bit floating-point types.
    • shaderDenormPreserveFloat16 – a boolean value indicating whether denormals can be preserved in 16-bit floating-point computations. It also indicates whether the DenormPreserve execution mode can be used for 16-bit floating-point types.
    • shaderDenormPreserveFloat32 – a boolean value indicating whether denormals can be preserved in 32-bit floating-point computations. It also indicates whether the DenormPreserve execution mode can be used for 32-bit floating-point types.
    • shaderDenormPreserveFloat64 – a boolean value indicating whether denormals can be preserved in 64-bit floating-point computations. It also indicates whether the DenormPreserve execution mode can be used for 64-bit floating-point types.
    • shaderDenormFlushToZeroFloat16 – a boolean value indicating whether denormals can be flushed to zero in 16-bit floating-point computations. It also indicates whether the DenormFlushToZero execution mode can be used for 16-bit floating-point types.
    • shaderDenormFlushToZeroFloat32 – a boolean value indicating whether denormals can be flushed to zero in 32-bit floating-point computations. It also indicates whether the DenormFlushToZero execution mode can be used for 32-bit floating-point types.
    • shaderDenormFlushToZeroFloat64 – a boolean value indicating whether denormals can be flushed to zero in 64-bit floating-point computations. It also indicates whether the DenormFlushToZero execution mode can be used for 64-bit floating-point types.
    • shaderRoundingModeRTEFloat16 – a boolean value indicating whether an implementation supports the round-to-nearest-even rounding mode for 16-bit floating-point arithmetic and conversion instructions. It also indicates whether the RoundingModeRTE execution mode can be used for 16-bit floating-point types.
    • shaderRoundingModeRTEFloat32 – a boolean value indicating whether an implementation supports the round-to-nearest-even rounding mode for 32-bit floating-point arithmetic and conversion instructions. It also indicates whether the RoundingModeRTE execution mode can be used for 32-bit floating-point types.
    • shaderRoundingModeRTEFloat64 – a boolean value indicating whether an implementation supports the round-to-nearest-even rounding mode for 64-bit floating-point arithmetic and conversion instructions. It also indicates whether the RoundingModeRTE execution mode can be used for 64-bit floating-point types.
    • shaderRoundingModeRTZFloat16 – a boolean value indicating whether an implementation supports the round-towards-zero rounding mode for 16-bit floating-point arithmetic and conversion instructions. It also indicates whether the RoundingModeRTZ execution mode can be used for 16-bit floating-point types.
    • shaderRoundingModeRTZFloat32 – a boolean value indicating whether an implementation supports the round-towards-zero rounding mode for 32-bit floating-point arithmetic and conversion instructions. It also indicates whether the RoundingModeRTZ execution mode can be used for 32-bit floating-point types.
    • shaderRoundingModeRTZFloat64 – a boolean value indicating whether an implementation supports the round-towards-zero rounding mode for 64-bit floating-point arithmetic and conversion instructions. It also indicates whether the RoundingModeRTZ execution mode can be used for 64-bit floating-point types.

    Layout

    
     struct VkPhysicalDeviceFloatControlsPropertiesKHR {
         VkStructureType sType;
         void * pNext;
         VkShaderFloatControlsIndependenceKHR denormBehaviorIndependence;
         VkShaderFloatControlsIndependenceKHR roundingModeIndependence;
         VkBool32 shaderSignedZeroInfNanPreserveFloat16;
         VkBool32 shaderSignedZeroInfNanPreserveFloat32;
         VkBool32 shaderSignedZeroInfNanPreserveFloat64;
         VkBool32 shaderDenormPreserveFloat16;
         VkBool32 shaderDenormPreserveFloat32;
         VkBool32 shaderDenormPreserveFloat64;
         VkBool32 shaderDenormFlushToZeroFloat16;
         VkBool32 shaderDenormFlushToZeroFloat32;
         VkBool32 shaderDenormFlushToZeroFloat64;
         VkBool32 shaderRoundingModeRTEFloat16;
         VkBool32 shaderRoundingModeRTEFloat32;
         VkBool32 shaderRoundingModeRTEFloat64;
         VkBool32 shaderRoundingModeRTZFloat16;
         VkBool32 shaderRoundingModeRTZFloat32;
         VkBool32 shaderRoundingModeRTZFloat64;
     }
    • Field Detail

      • SIZEOF

        The struct size in bytes.
      • ALIGNOF

        The struct alignment in bytes.
      • STYPE, PNEXT, DENORMBEHAVIORINDEPENDENCE, ROUNDINGMODEINDEPENDENCE, SHADERSIGNEDZEROINFNANPRESERVEFLOAT16, SHADERSIGNEDZEROINFNANPRESERVEFLOAT32, SHADERSIGNEDZEROINFNANPRESERVEFLOAT64, SHADERDENORMPRESERVEFLOAT16, SHADERDENORMPRESERVEFLOAT32, SHADERDENORMPRESERVEFLOAT64, SHADERDENORMFLUSHTOZEROFLOAT16, SHADERDENORMFLUSHTOZEROFLOAT32, SHADERDENORMFLUSHTOZEROFLOAT64, SHADERROUNDINGMODERTEFLOAT16, SHADERROUNDINGMODERTEFLOAT32, SHADERROUNDINGMODERTEFLOAT64, SHADERROUNDINGMODERTZFLOAT16, SHADERROUNDINGMODERTZFLOAT32, SHADERROUNDINGMODERTZFLOAT64

        The struct member offsets.
    • Constructor Detail

      • VkPhysicalDeviceFloatControlsPropertiesKHR

        public VkPhysicalDeviceFloatControlsPropertiesKHR​(java.nio.ByteBuffer container)
        Creates a VkPhysicalDeviceFloatControlsPropertiesKHR 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.