Documentation ¶
Index ¶
- Constants
- type DescriptorUpdateTemplate
- type DescriptorUpdateTemplateCreateFlags
- type DescriptorUpdateTemplateCreateInfo
- type DescriptorUpdateTemplateEntry
- type DescriptorUpdateTemplateType
- type Extension
- type VulkanDescriptorUpdateTemplate
- func (t *VulkanDescriptorUpdateTemplate) Destroy(allocator *driver.AllocationCallbacks)
- func (t *VulkanDescriptorUpdateTemplate) Handle() khr_descriptor_update_template_driver.VkDescriptorUpdateTemplateKHR
- func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromBuffer(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorBufferInfo)
- func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromImage(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorImageInfo)
- func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromObjectHandle(descriptorSet core1_0.DescriptorSet, data driver.VulkanHandle)
- type VulkanExtension
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 DescriptorUpdateTemplate ¶
type DescriptorUpdateTemplate interface { // Handle is the internal Vulkan object handle for this DescriptorUpdateTemplate Handle() khr_descriptor_update_template_driver.VkDescriptorUpdateTemplateKHR // Destroy destroys the DescriptorUpdateTemplate object and the underlying structures. **Warning** after // destruction, this object will continue to exist, but the Vulkan object handle that backs it will // be invalid. Do not call further methods on this object. // // callbacks - Controls host memory deallocation // // https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkDestroyDescriptorUpdateTemplate.html Destroy(allocator *driver.AllocationCallbacks) // UpdateDescriptorSetFromImage 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 UpdateDescriptorSetFromImage(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorImageInfo) // UpdateDescriptorSetFromBuffer 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 UpdateDescriptorSetFromBuffer(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorBufferInfo) // UpdateDescriptorSetFromObjectHandle 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 UpdateDescriptorSetFromObjectHandle(descriptorSet core1_0.DescriptorSet, data driver.VulkanHandle) }
DescriptorUpdateTemplate specifies a mapping from descriptor update information in host memory to descriptors in a DescriptorSet
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 Extension ¶
type Extension 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(device core1_0.Device, o DescriptorUpdateTemplateCreateInfo, allocator *driver.AllocationCallbacks) (DescriptorUpdateTemplate, driver.VkResult, error) }
type VulkanDescriptorUpdateTemplate ¶
type VulkanDescriptorUpdateTemplate struct {
// contains filtered or unexported fields
}
VulkanDescriptorUpdateTemplate is an implementation of the DescriptorUpdateTemplate interface that actually communicates with Vulkan. This is the default implementation. See the interface for more documentation.
func (*VulkanDescriptorUpdateTemplate) Destroy ¶
func (t *VulkanDescriptorUpdateTemplate) Destroy(allocator *driver.AllocationCallbacks)
func (*VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromBuffer ¶
func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromBuffer(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorBufferInfo)
func (*VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromImage ¶
func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromImage(descriptorSet core1_0.DescriptorSet, data core1_0.DescriptorImageInfo)
func (*VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromObjectHandle ¶
func (t *VulkanDescriptorUpdateTemplate) UpdateDescriptorSetFromObjectHandle(descriptorSet core1_0.DescriptorSet, data driver.VulkanHandle)
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_descriptor_update_template loaded
func CreateExtensionFromDriver ¶
func CreateExtensionFromDriver(driver khr_descriptor_update_template_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) CreateDescriptorUpdateTemplate ¶
func (e *VulkanExtension) CreateDescriptorUpdateTemplate(device core1_0.Device, o DescriptorUpdateTemplateCreateInfo, allocator *driver.AllocationCallbacks) (DescriptorUpdateTemplate, common.VkResult, error)