khr_descriptor_update_template

package
v3.3.1 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

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

	// DescriptorUpdateTemplateTypeDescriptorSet indicates the valid usage of the DescriptorUpdateTemplate
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkDescriptorUpdateTemplateType.html
	DescriptorUpdateTemplateTypeDescriptorSet DescriptorUpdateTemplateType = C.VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_DESCRIPTOR_SET_KHR

	// ObjectTypeDescriptorUpdateTemplate specifies a DescriptorUpdateTemplate handle
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/VkObjectType.html
	ObjectTypeDescriptorUpdateTemplate core1_0.ObjectType = C.VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR
)

Variables

This section is empty.

Functions

This section is empty.

Types

type DescriptorUpdateTemplateCreateFlags

type DescriptorUpdateTemplateCreateFlags int32

DescriptorUpdateTemplateCreateFlags is reserved for future use

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

func (DescriptorUpdateTemplateCreateFlags) Register

func (DescriptorUpdateTemplateCreateFlags) String

type DescriptorUpdateTemplateCreateInfo

type DescriptorUpdateTemplateCreateInfo struct {
	// Flags is reserved for future use
	Flags DescriptorUpdateTemplateCreateFlags
	// DescriptorUpdateEntries is a slice of DescriptorUpdateTemplateEntry structures describing
	// the descriptors to be updated by the DescriptorUpdateTEmplate
	DescriptorUpdateEntries []DescriptorUpdateTemplateEntry
	// TemplateType specifies the type of the DescriptorUpdateTemplate
	TemplateType DescriptorUpdateTemplateType

	// DescriptorSetLayout is the DescriptorSetLayout used to build the DescriptorUpdateTemplate
	DescriptorSetLayout core1_0.DescriptorSetLayout

	// PipelineBindPoint indicates the type of the Pipeline that will use the descriptors
	PipelineBindPoint core1_0.PipelineBindPoint
	// PipelineLayout is a PipelineLayout object used to program the bindings
	PipelineLayout core1_0.PipelineLayout
	// Set is the set number of the DescriptorSet in the PipelineLayout that will be updated
	Set int

	common.NextOptions
}

DescriptorUpdateTemplateCreateInfo specifies parameters of a newly-created Descriptor Update Template

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

func (DescriptorUpdateTemplateCreateInfo) PopulateCPointer

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

type DescriptorUpdateTemplateEntry

type DescriptorUpdateTemplateEntry struct {
	// DstBinding is the descriptor binding to update when using this DescriptorUpdateTemplate
	DstBinding int
	// DstArrayElement is the starting element in the array belonging to DstBinding
	DstArrayElement int
	// DescriptorCount is the number of descriptors to update
	DescriptorCount int

	// DescriptorType specifies the type of the descriptor
	DescriptorType core1_0.DescriptorType

	// Offset is the offset in bytes of the first binding in the raw data structure
	Offset int
	// Stride is the stride in bytes between two consecutive array elements of the
	// descriptor update informations in the raw data structure
	Stride int
}

DescriptorUpdateTemplateEntry describes a single descriptor update of the DescriptorUpdateTemplate

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

func (DescriptorUpdateTemplateEntry) PopulateCPointer

func (e DescriptorUpdateTemplateEntry) PopulateCPointer(allocator *cgoparam.Allocator, preallocatedPointer unsafe.Pointer) (unsafe.Pointer, error)

type DescriptorUpdateTemplateType

type DescriptorUpdateTemplateType int32

DescriptorUpdateTemplateType indicates the valid usage of the DescriptorUpdateTemplate

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

func (DescriptorUpdateTemplateType) Register

func (e DescriptorUpdateTemplateType) Register(str string)

func (DescriptorUpdateTemplateType) String

type ExtensionDriver

type ExtensionDriver interface {
	// CreateDescriptorUpdateTemplate creates a new DescriptorUpdateTemplate
	//
	// device - The Device to create DescriptorUpdateTemplate from
	//
	// o - Specifies the set of descriptors to update with a single call to DescriptorUpdateTemplate.UpdateDescriptorSet...
	//
	// allocator - Controls host allocation behavior
	//
	// https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCreateDescriptorUpdateTemplate.html
	CreateDescriptorUpdateTemplate(o DescriptorUpdateTemplateCreateInfo, allocator *loader.AllocationCallbacks) (core1_1.DescriptorUpdateTemplate, common.VkResult, error)
	// DestroyDescriptorUpdateTemplate destroys a DescriptorUpdateTemplate object and the underlying structures. **Warning** after
	// destruction, the object will continue to exist, but the Vulkan object handle that backs it will
	// be invalid. Do not call further methods with the DescriptorUpdateTemplate.
	//
	// callbacks - Controls host memory deallocation
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkDestroyDescriptorUpdateTemplate.html
	DestroyDescriptorUpdateTemplate(template core1_1.DescriptorUpdateTemplate, allocator *loader.AllocationCallbacks)

	// UpdateDescriptorSetWithTemplateFromImage updates the contents of a DescriptorSet object with this template and
	// an Image
	//
	// descriptorSet - The DescriptorSet to update
	//
	// data - Information and an Image used to write the descriptor
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html
	UpdateDescriptorSetWithTemplateFromImage(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, data core1_0.DescriptorImageInfo)
	// UpdateDescriptorSetWithTemplateFromBuffer updates the contents of a DescriptorSet object with this template
	// and a Buffer
	//
	// descriptorSet - The DescriptorSet to update
	//
	// data - Information and a Buffer used to write the descriptor
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html
	UpdateDescriptorSetWithTemplateFromBuffer(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, data core1_0.DescriptorBufferInfo)
	// UpdateDescriptorSetWithTemplateFromObjectHandle updates the contents of a DescriptorSet object with this template
	// and an arbitrary handle
	//
	// descriptorSet - The DescriptorSet to update
	//
	// data - A Vulkan object handle used to write the descriptor. Can be a BufferView handle or
	// perhaps an acceleration structure.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkUpdateDescriptorSetWithTemplateKHR.html
	UpdateDescriptorSetWithTemplateFromObjectHandle(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, data loader.VulkanHandle)
}

func CreateExtensionDriverFromCoreDriver

func CreateExtensionDriverFromCoreDriver(coreDriver core1_0.DeviceDriver) ExtensionDriver

CreateExtensionDriverFromCoreDriver produces an ExtensionDriver object from a Device with khr_descriptor_update_template loaded

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_descriptor_update_template_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) DestroyDescriptorUpdateTemplate

func (t *VulkanExtensionDriver) DestroyDescriptorUpdateTemplate(template core1_1.DescriptorUpdateTemplate, allocator *loader.AllocationCallbacks)

func (*VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromBuffer

func (t *VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromBuffer(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, data core1_0.DescriptorBufferInfo)

func (*VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromImage

func (t *VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromImage(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, data core1_0.DescriptorImageInfo)

func (*VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromObjectHandle

func (t *VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromObjectHandle(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, data loader.VulkanHandle)

Directories

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

Jump to

Keyboard shortcuts

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