Documentation
¶
Index ¶
- Constants
- type DescriptorUpdateTemplateCreateFlags
- type DescriptorUpdateTemplateCreateInfo
- type DescriptorUpdateTemplateEntry
- type DescriptorUpdateTemplateType
- type ExtensionDriver
- type VulkanExtensionDriver
- func (e *VulkanExtensionDriver) CreateDescriptorUpdateTemplate(o DescriptorUpdateTemplateCreateInfo, allocator *loader.AllocationCallbacks) (core1_1.DescriptorUpdateTemplate, common.VkResult, error)
- func (t *VulkanExtensionDriver) DestroyDescriptorUpdateTemplate(template core1_1.DescriptorUpdateTemplate, ...)
- func (t *VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromBuffer(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, ...)
- func (t *VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromImage(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, ...)
- func (t *VulkanExtensionDriver) UpdateDescriptorSetWithTemplateFromObjectHandle(descriptorSet core1_0.DescriptorSet, template core1_1.DescriptorUpdateTemplate, ...)
Constants ¶
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
func (DescriptorUpdateTemplateCreateFlags) Register ¶
func (f DescriptorUpdateTemplateCreateFlags) Register(str string)
func (DescriptorUpdateTemplateCreateFlags) String ¶
func (f DescriptorUpdateTemplateCreateFlags) String() 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
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
func (DescriptorUpdateTemplateEntry) PopulateCPointer ¶
type DescriptorUpdateTemplateType ¶
type DescriptorUpdateTemplateType int32
DescriptorUpdateTemplateType indicates the valid usage of the DescriptorUpdateTemplate
func (DescriptorUpdateTemplateType) Register ¶
func (e DescriptorUpdateTemplateType) Register(str string)
func (DescriptorUpdateTemplateType) String ¶
func (e DescriptorUpdateTemplateType) String() 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) CreateDescriptorUpdateTemplate ¶
func (e *VulkanExtensionDriver) CreateDescriptorUpdateTemplate(o DescriptorUpdateTemplateCreateInfo, allocator *loader.AllocationCallbacks) (core1_1.DescriptorUpdateTemplate, common.VkResult, error)
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)