khr_bind_memory2

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: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// ExtensionName is "VK_KHR_bind_memory2"
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VK_KHR_bind_memory2.html
	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

func (BindBufferMemoryInfo) PopulateCPointer

func (o BindBufferMemoryInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

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

func (BindImageMemoryInfo) PopulateCPointer

func (o BindImageMemoryInfo) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer, next unsafe.Pointer) (unsafe.Pointer, error)

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)

Directories

Path Synopsis
Package mock_bind_memory2 is a generated GoMock package.
Package mock_bind_memory2 is a generated GoMock package.

Jump to

Keyboard shortcuts

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