| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_KHR_shader_fma
Description
Name
VK_KHR_shader_fma - device extension
VK_KHR_shader_fma
- Name String
VK_KHR_shader_fma
- Extension Type
- Device extension
- Registered Extension Number
- 580
- Revision
- 1
- Ratification Status
- Ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
- SPIR-V Dependencies
- Contact
- Extension Proposal
- VK_KHR_shader_fma
Other Extension Metadata
- Last Modified Date
- 2025-06-10
- Contributors
- Graeme Leese, Broadcom
Description
This extension allows applications to use the SPV_KHR_fma extension to obtain correctly-rounded results for fused-multiply add (fma) operations.
Fused-multiply add is a building block of many high-precision numerical functions. It provides better accuracy than separate operations, because of the removal of the intermediate rounding step, and often costs less than the pair of separate operations.
Vulkan currently exposes an fma primitive that can give the reduced cost, but it is not guaranteed to be a fused operation, so the accuracy cannot be relied on. For applications which require the high accuracy, therefore, the operation must be emulated or the algorithm changed so as not to require fma. This is often vastly more costly, even though fma is supported in much of the underlying hardware.
New Structures
New Enum Constants
KHR_SHADER_FMA_SPEC_VERSIONExtending
StructureType:
Version History
Revision 1, 2025-06-10 (Graeme Leese)
- Initial draft
See Also
No cross-references are available
Document Notes
For more information, see the Vulkan Specification.
This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.
Synopsis
- data PhysicalDeviceShaderFmaFeaturesKHR = PhysicalDeviceShaderFmaFeaturesKHR {}
- type KHR_SHADER_FMA_SPEC_VERSION = 1
- pattern KHR_SHADER_FMA_SPEC_VERSION :: Integral a => a
- type KHR_SHADER_FMA_EXTENSION_NAME = "VK_KHR_shader_fma"
- pattern KHR_SHADER_FMA_EXTENSION_NAME :: (Eq a, IsString a) => a
Documentation
data PhysicalDeviceShaderFmaFeaturesKHR Source #
VkPhysicalDeviceShaderFmaFeaturesKHR - Structure indicating support for SPV_KHR_fma OpFmaKHR
Members
This structure describes the following feature:
Description
If the PhysicalDeviceShaderFmaFeaturesKHR structure is included in the
pNext chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2,
it is filled in to indicate whether each corresponding feature is
supported. If the application wishes to use a
Device with any features described by
PhysicalDeviceShaderFmaFeaturesKHR, it must add an instance of the
structure, with the desired feature members set to
TRUE, to the pNext chain of
DeviceCreateInfo when creating the
Device.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceShaderFmaFeaturesKHR | |
Fields | |
Instances
type KHR_SHADER_FMA_SPEC_VERSION = 1 Source #
pattern KHR_SHADER_FMA_SPEC_VERSION :: Integral a => a Source #
type KHR_SHADER_FMA_EXTENSION_NAME = "VK_KHR_shader_fma" Source #
pattern KHR_SHADER_FMA_EXTENSION_NAME :: (Eq a, IsString a) => a Source #