khr_shader_float_controls

package
v2.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 27, 2023 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ExtensionName is "VK_KHR_shader_float_controls"
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_shader_float_controls.html
	ExtensionName string = C.VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME

	// ShaderFloatControlsIndependence32BitOnly specifies that shader float controls for 32-bit
	// floating point can be set independently
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkShaderFloatControlsIndependence.html
	ShaderFloatControlsIndependence32BitOnly ShaderFloatControlsIndependence = C.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY_KHR
	// ShaderFloatControlsIndependenceAll specifies that shader float controls for all
	// bit widths can be set independently
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkShaderFloatControlsIndependence.html
	ShaderFloatControlsIndependenceAll ShaderFloatControlsIndependence = C.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR
	// ShaderFloatControlsIndependenceNone specifies that shader float controls for all bit widths
	// must be set identically
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkShaderFloatControlsIndependence.html
	ShaderFloatControlsIndependenceNone ShaderFloatControlsIndependence = C.VK_SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE_KHR
)

Variables

This section is empty.

Functions

This section is empty.

Types

type PhysicalDeviceFloatControlsProperties

type PhysicalDeviceFloatControlsProperties struct {
	// DenormBehaviorIndependence indicates whether, and how, denorm behavior can be
	// set independently for different bit widths
	DenormBehaviorIndependence ShaderFloatControlsIndependence
	// RoundingModeIndependence indicates whether, and how, rounding modes can be set indpendently
	// for different bit widths
	RoundingModeIndependence ShaderFloatControlsIndependence

	// ShaderSignedZeroInfNanPreserveFloat16 indicates whether the sign of zero, NaN, and +/- infinity
	// can be preserved in 16-bit floating-point computations
	ShaderSignedZeroInfNanPreserveFloat16 bool
	// ShaderSignedZeroInfNanPreserveFloat32 indicates whether the sign of zero, NaN, and +/- infinity
	// can be preserved in 32-bit floating-point computations
	ShaderSignedZeroInfNanPreserveFloat32 bool
	// ShaderSignedZeroInfNanPreserveFloat64 indicates whether the sign of zero, NaN, and +/- infinity
	// can be preserved in 64-bit floating-point computations
	ShaderSignedZeroInfNanPreserveFloat64 bool
	// ShaderDenormPreserveFloat16 indicates whether denormals can be preserved in 16-bit floating-point
	// computations
	ShaderDenormPreserveFloat16 bool
	// ShaderDenormPreserveFloat32 indicates whether denormals can be preserved in 32-bit floating-point
	// computations
	ShaderDenormPreserveFloat32 bool
	// ShaderDenormPreserveFloat64 indicates whether denormals can be preserved in 64-bit floating-point
	// computations
	ShaderDenormPreserveFloat64 bool
	// ShaderDenormFlushToZeroFloat16 indicates whether denormals can be flushed to zero in 16-bit
	// floating-point computations
	ShaderDenormFlushToZeroFloat16 bool
	// ShaderDenormFlushToZeroFloat32 indicates whether denormals can be flushed to zero in 32-bit
	// floating-point computations
	ShaderDenormFlushToZeroFloat32 bool
	// ShaderDenormFlushToZeroFloat64 indicates whether denormals can be flushed to zero in 64-bit
	// floating-point computations
	ShaderDenormFlushToZeroFloat64 bool
	// ShaderRoundingModeRTEFloat16 indicates whether an implementation supports the round-to-nearest-even
	// rounding mode for 16-bit floating-point arithmetic and conversion instructions
	ShaderRoundingModeRTEFloat16 bool
	// ShaderRoundingModeRTEFloat32 indicates whether an implementation supports the round-to-nearest-even
	// rounding mode for 32-bit floating-point arithmetic and conversion instructions
	ShaderRoundingModeRTEFloat32 bool
	// ShaderRoundingModeRTEFloat64 indicates whether an implementation supports the round-to-nearest-even
	// rounding mode for 64-bit floating-point arithmetic and conversion instructions
	ShaderRoundingModeRTEFloat64 bool
	// ShaderRoundingModeRTZFloat16 indicates whether an implementation supports the round-toward-zero
	// rounding mode for 16-bit floating-point arithmetic and conversion instructions
	ShaderRoundingModeRTZFloat16 bool
	// ShaderRoundingModeRTZFloat32 indicates whether an implementation supports the round-toward-zero
	// rounding mode for 32-bit floating-point arithmetic and conversion instructions
	ShaderRoundingModeRTZFloat32 bool
	// ShaderRoundingModeRTZFloat64 indicates whether an implementation supports the round-toward-zero
	// rounding mode for 64-bit floating-point arithmetic and conversion instructions
	ShaderRoundingModeRTZFloat64 bool

	common.NextOutData
}

PhysicalDeviceFloatControlsProperties describes properties supported by khr_shader_float_controls

https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkPhysicalDeviceFloatControlsProperties.html

func (*PhysicalDeviceFloatControlsProperties) PopulateHeader

func (o *PhysicalDeviceFloatControlsProperties) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

func (*PhysicalDeviceFloatControlsProperties) PopulateOutData

func (o *PhysicalDeviceFloatControlsProperties) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)

type ShaderFloatControlsIndependence

type ShaderFloatControlsIndependence int32

ShaderFloatControlsIndependence specifies whether, and how, shader float controls can be set separately

func (ShaderFloatControlsIndependence) Register

func (e ShaderFloatControlsIndependence) Register(str string)

func (ShaderFloatControlsIndependence) String

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL