Documentation
¶
Index ¶
- Constants
- type DeviceBufferMemoryRequirements
- type DeviceImageMemoryRequirements
- type ExtensionDriver
- type PhysicalDeviceMaintenance4Features
- func (o PhysicalDeviceMaintenance4Features) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceMaintenance4Features) PopulateHeader(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, ...) (unsafe.Pointer, error)
- func (o *PhysicalDeviceMaintenance4Features) PopulateOutData(cDataPointer unsafe.Pointer, helpers ...any) (next unsafe.Pointer, err error)
- type PhysicalDeviceMaintenance4Properties
- type VulkanExtensionDriver
- func (e *VulkanExtensionDriver) GetDeviceBufferMemoryRequirements(options DeviceBufferMemoryRequirements, outData *core1_1.MemoryRequirements2) error
- func (e *VulkanExtensionDriver) GetDeviceImageMemoryRequirements(options DeviceImageMemoryRequirements, outData *core1_1.MemoryRequirements2) error
- func (e *VulkanExtensionDriver) GetDeviceImageSparseMemoryRequirements(options DeviceImageMemoryRequirements, ...) ([]*core1_1.SparseImageMemoryRequirements2, error)
Constants ¶
const ( // ExtensionName is "VK_KHR_maintenance4" // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_maintenance4.html ExtensionName string = C.VK_KHR_MAINTENANCE_4_EXTENSION_NAME // ImageAspectNone specifies no image aspect, or the image aspect is not applicable // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageAspectFlagBits.html ImageAspectNone core1_0.ImageAspectFlags = C.VK_IMAGE_ASPECT_NONE_KHR )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DeviceBufferMemoryRequirements ¶
type DeviceBufferMemoryRequirements struct {
CreateInfo core1_0.BufferCreateInfo
common.NextOptions
}
DeviceBufferMemoryRequirements is used to provide BufferCreateInfo data to the DeviceBufferMemoryRequirements extension method
type DeviceImageMemoryRequirements ¶
type DeviceImageMemoryRequirements struct {
CreateInfo core1_0.ImageCreateInfo
common.NextOptions
}
DeviceImageMemoryRequirements is used to provide ImageCreateInfo data to the DeviceImageMemoryRequirements extension method
type ExtensionDriver ¶
type ExtensionDriver interface {
// GetDeviceBufferMemoryRequirements returns the memory requirements for a specified Vulkan
// object.
//
// options - Contains the parameters required for the memory requirements query
//
// outData - A pre-allocated object in which memory requirements will be populated.
// It should include any desired chained OutData objects
//
// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDeviceBufferMemoryRequirementsKHR.html
GetDeviceBufferMemoryRequirements(options DeviceBufferMemoryRequirements, outData *core1_1.MemoryRequirements2) error
// GetDeviceImageMemoryRequirements returns the memory requirements for a specified Vulkan
// object.
//
// options - Contains the parameters required for the memory requirements query
//
// outData - A pre-allocated object in which memory requirements will be populated.
// It should include any desired chained OutData objects
//
// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkGetDeviceImageMemoryRequirementsKHR.html
GetDeviceImageMemoryRequirements(options DeviceImageMemoryRequirements, outData *core1_1.MemoryRequirements2) error
// GetDeviceImageSparseMemoryRequirements queries the memory requirements for a sparse image
//
// options - Contains the parameters required for the memory requirements query
//
// outDataFactory - This method can be provided to allocate each SparseImageMemoryRequirements2 object
// that is returned, along with any chained OutData structures. It can also be left nil, in which case
// SparseImageMemoryRequirements2 will be allocated with no chained structures.
//
// https://docs.vulkan.org/refpages/latest/refpages/source/vkGetDeviceImageSparseMemoryRequirements.html
GetDeviceImageSparseMemoryRequirements(options DeviceImageMemoryRequirements, outDataFactory func() *core1_1.SparseImageMemoryRequirements2) ([]*core1_1.SparseImageMemoryRequirements2, error)
}
func CreateExtensionDriverFromCoreDriver ¶
func CreateExtensionDriverFromCoreDriver(driver core1_0.DeviceDriver) ExtensionDriver
CreateExtensionDriverFromCoreDriver produces an ExtensionDriver object from a Device with khr_maintenance4 loaded
type PhysicalDeviceMaintenance4Features ¶
type PhysicalDeviceMaintenance4Features struct {
Maintenance4 bool
common.NextOptions
common.NextOutData
}
PhysicalDeviceMaintenance4Features describes support for maintenance4 functionality
func (PhysicalDeviceMaintenance4Features) PopulateCPointer ¶
func (*PhysicalDeviceMaintenance4Features) PopulateHeader ¶
func (*PhysicalDeviceMaintenance4Features) PopulateOutData ¶
type PhysicalDeviceMaintenance4Properties ¶
type PhysicalDeviceMaintenance4Properties struct {
MaxBufferSize int
common.NextOutData
}
PhysicalDeviceMaintenance4Properties describes properties introduced with khr_maintenance4
func (*PhysicalDeviceMaintenance4Properties) PopulateHeader ¶
func (*PhysicalDeviceMaintenance4Properties) PopulateOutData ¶
type VulkanExtensionDriver ¶
type VulkanExtensionDriver struct {
// contains filtered or unexported fields
}
VulkanExtensionDriver is an implementation of the ExtensionDriver interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func CreateExtensionDriverFromLoader ¶
func CreateExtensionDriverFromLoader(driver khr_maintenance4_loader.Loader, device core1_0.Device) *VulkanExtensionDriver
CreateExtensionDriverFromLoader generates an ExtensionDriver from a loader.Loader object- this is usually used in tests to build an ExtensionDriver from mock drivers
func (*VulkanExtensionDriver) GetDeviceBufferMemoryRequirements ¶
func (e *VulkanExtensionDriver) GetDeviceBufferMemoryRequirements(options DeviceBufferMemoryRequirements, outData *core1_1.MemoryRequirements2) error
func (*VulkanExtensionDriver) GetDeviceImageMemoryRequirements ¶
func (e *VulkanExtensionDriver) GetDeviceImageMemoryRequirements(options DeviceImageMemoryRequirements, outData *core1_1.MemoryRequirements2) error
func (*VulkanExtensionDriver) GetDeviceImageSparseMemoryRequirements ¶
func (e *VulkanExtensionDriver) GetDeviceImageSparseMemoryRequirements(options DeviceImageMemoryRequirements, outDataFactory func() *core1_1.SparseImageMemoryRequirements2) ([]*core1_1.SparseImageMemoryRequirements2, error)