Documentation
¶
Index ¶
Constants ¶
const ( // ExtensionName is "VK_KHR_bind_memory2" ExtensionName string = C.VK_KHR_BIND_MEMORY_2_EXTENSION_NAME // ImageCreateAlias specifies that two Image objects created with the same creation parameters // and aliased to the same memory can interpret the contents of the memory consistently each // other // // https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkImageCreateFlagBits.html ImageCreateAlias core1_0.ImageCreateFlags = C.VK_IMAGE_CREATE_ALIAS_BIT_KHR )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BindBufferMemoryInfo ¶
type BindBufferMemoryInfo struct {
// Buffer is the Buffer to be attached to memory
Buffer core1_0.Buffer
// Memory describes the DeviceMemory object to attach
Memory core1_0.DeviceMemory
// MemoryOffset is the start offset of the region of memory which is to be bound to the Buffer
MemoryOffset int
common.NextOptions
}
BindBufferMemoryInfo specifies how to bind a Buffer to DeviceMemory
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkBindBufferMemoryInfo.html
type BindImageMemoryInfo ¶
type BindImageMemoryInfo struct {
// Image is the image to be attached to DeviceMemory
Image core1_0.Image
// Memory describes the DeviceMemory to attach
Memory core1_0.DeviceMemory
// MemoryOffset is the start offset of the region of DeviceMemory to be bound to the Image
MemoryOffset uint64
common.NextOptions
}
BindImageMemoryInfo specifies how to bind an Image to DeviceMemory
type Extension ¶
type Extension interface {
// BindBufferMemory2 binds DeviceMemory to Buffer objects
//
// device - The core1_0.Device which owns the core1_0.DeviceMemory and core1_0.Buffer
//
// options - A slice of BindBufferMemoryInfo structures describing Buffer objects and memory to bind
//
// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkBindBufferMemory2.html
BindBufferMemory2(device core1_0.Device, options []BindBufferMemoryInfo) (common.VkResult, error)
// BindImageMemory2 binds DeviceMemory to Image objects
//
// device - The core1_0.Device which owns the core1_0.DeviceMemory and core1_0.Buffer
//
// options - A slice of BindImageMemoryInfo structures describing Image objects and memory to bind
//
// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkBindImageMemory2.html
BindImageMemory2(device core1_0.Device, options []BindImageMemoryInfo) (common.VkResult, error)
}
Extension contains all the commands for the khr_bind_memory2 extension
https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_bind_memory2.html
type VulkanExtension ¶
type VulkanExtension struct {
// contains filtered or unexported fields
}
VulkanExtension is an implementation of the Extension interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func CreateExtensionFromDevice ¶
func CreateExtensionFromDevice(device core1_0.Device) *VulkanExtension
CreateExtensionFromDevice produces an Extension object from a Device with khr_bind_memory2 loaded
func CreateExtensionFromDriver ¶
func CreateExtensionFromDriver(driver khr_bind_memory2_driver.Driver) *VulkanExtension
CreateExtensionFromDriver generates an Extension from a driver.Driver object- this is usually used in tests to build an Extension from mock drivers
func (*VulkanExtension) BindBufferMemory2 ¶
func (e *VulkanExtension) BindBufferMemory2(device core1_0.Device, options []BindBufferMemoryInfo) (common.VkResult, error)
func (*VulkanExtension) BindImageMemory2 ¶
func (e *VulkanExtension) BindImageMemory2(device core1_0.Device, options []BindImageMemoryInfo) (common.VkResult, error)