C Specification
The members of the VkPhysicalDeviceFloatControlsPropertiesKHR
structure describe the following implementationdependent limits:
typedef struct VkPhysicalDeviceFloatControlsPropertiesKHR {
VkStructureType sType;
void* pNext;
VkBool32 separateDenormSettings;
VkBool32 separateRoundingModeSettings;
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;
} VkPhysicalDeviceFloatControlsPropertiesKHR;
Members

separateDenormSettings
is a boolean value indicating whether the implementation supports separate settings for 16bit and 64bit denormals. 
separateRoundingModeSettings
is a boolean value indicating whether the implementation supports separate rounding modes for 16bit and 64bit floating point instructions. 
shaderSignedZeroInfNanPreserveFloat16
is a boolean value indicating whether sign of a zero, Nans and \(\pm\infty\) can be preserved in 16bit floatingpoint computations. It also indicates whether theSignedZeroInfNanPreserve
execution mode can be used for 16bit floatingpoint types. 
shaderSignedZeroInfNanPreserveFloat32
is a boolean value indicating whether sign of a zero, Nans and \(\pm\infty\) can be preserved in 32bit floatingpoint computations. It also indicates whether theSignedZeroInfNanPreserve
execution mode can be used for 32bit floatingpoint types. 
shaderSignedZeroInfNanPreserveFloat64
is a boolean value indicating whether sign of a zero, Nans and \(\pm\infty\) can be preserved in 64bit floatingpoint computations. It also indicates whether theSignedZeroInfNanPreserve
execution mode can be used for 64bit floatingpoint types. 
shaderDenormPreserveFloat16
is a boolean value indicating whether denormals can be preserved in 16bit floatingpoint computations. It also indicates whether theDenormPreserve
execution mode can be used for 16bit floatingpoint types. 
shaderDenormPreserveFloat32
is a boolean value indicating whether denormals can be preserved in 32bit floatingpoint computations. It also indicates whether theDenormPreserve
execution mode can be used for 32bit floatingpoint types. 
shaderDenormPreserveFloat64
is a boolean value indicating whether denormals can be preserved in 64bit floatingpoint computations. It also indicates whether theDenormPreserve
execution mode can be used for 64bit floatingpoint types. 
shaderDenormFlushToZeroFloat16
is a boolean value indicating whether denormals can be flushed to zero in 16bit floatingpoint computations. It also indicates whether theDenormFlushToZero
execution mode can be used for 16bit floatingpoint types. 
shaderDenormFlushToZeroFloat32
is a boolean value indicating whether denormals can be flushed to zero in 32bit floatingpoint computations. It also indicates whether theDenormFlushToZero
execution mode can be used for 32bit floatingpoint types. 
shaderDenormFlushToZeroFloat64
is a boolean value indicating whether denormals can be flushed to zero in 64bit floatingpoint computations. It also indicates whether theDenormFlushToZero
execution mode can be used for 64bit floatingpoint types. 
shaderRoundingModeRTEFloat16
is a boolean value indicating whether an implementation supports the roundtonearesteven rounding mode for 16bit floatingpoint arithmetic and conversion instructions. It also indicates whether theRoundingModeRTE
execution mode can be used for 16bit floatingpoint types. 
shaderRoundingModeRTEFloat32
is a boolean value indicating whether an implementation supports the roundtonearesteven rounding mode for 32bit floatingpoint arithmetic and conversion instructions. It also indicates whether theRoundingModeRTE
execution mode can be used for 32bit floatingpoint types. 
shaderRoundingModeRTEFloat64
is a boolean value indicating whether an implementation supports the roundtonearesteven rounding mode for 64bit floatingpoint arithmetic and conversion instructions. It also indicates whether theRoundingModeRTE
execution mode can be used for 64bit floatingpoint types. 
shaderRoundingModeRTZFloat16
is a boolean value indicating whether an implementation supports the roundtowardszero rounding mode for 16bit floatingpoint arithmetic and conversion instructions. It also indicates whether theRoundingModeRTZ
execution mode can be used for 16bit floatingpoint types. 
shaderRoundingModeRTZFloat32
is a boolean value indicating whether an implementation supports the roundtowardszero rounding mode for 32bit floatingpoint arithmetic and conversion instructions. It also indicates whether theRoundingModeRTZ
execution mode can be used for 32bit floatingpoint types. 
shaderRoundingModeRTZFloat64
is a boolean value indicating whether an implementation supports the roundtowardszero rounding mode for 64bit floatingpoint arithmetic and conversion instructions. It also indicates whether theRoundingModeRTZ
execution mode can be used for 64bit floatingpoint types.
Description
If the VkPhysicalDeviceFloatControlsPropertiesKHR
structure is
included in the pNext
chain of VkPhysicalDeviceProperties2, it
is filled with the implementationdependent limits.
See Also
VkBool32
, VkStructureType
Document Notes
For more information, see the Vulkan Specification at URL
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.
Copyright
Copyright (c) 20142019 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.