khr_create_renderpass2

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

Documentation

Index

Constants

Variables

This section is empty.

Functions

This section is empty.

Types

type AttachmentDescription2

type AttachmentDescription2 struct {
	// Flags specifies additional properties of the attachment
	Flags core1_0.AttachmentDescriptionFlags
	// Format specifies the format of the Image that will be used for the attachment
	Format core1_0.Format
	// Samples specifies the number of samples of the Image
	Samples core1_0.SampleCountFlags
	// LoadOp specifies how the contents of color and depth components of the attachment
	// are treated at the beginning of the subpass where it is first used
	LoadOp core1_0.AttachmentLoadOp
	// StoreOp specifies how the contents of color and depth components of the attachment
	// are treated at the end of the subpass where it is last used
	StoreOp core1_0.AttachmentStoreOp
	// StencilLoadOp specifies how the contents of stencil components of the attachment
	// are treated at the beginning of the subpass where it is first used
	StencilLoadOp core1_0.AttachmentLoadOp
	// StencilStoreOp specifies how the contents of the stencil components of the attachment
	// are treated at the end of the last subpass where it is used
	StencilStoreOp core1_0.AttachmentStoreOp
	// InitialLayout is the layout of the attachment Image subresource will be in when
	// a RenderPass instance begins
	InitialLayout core1_0.ImageLayout
	// FinalLayout is the layout the attachment Image subresource will be transitioned to
	// when a RenderPass instance ends
	FinalLayout core1_0.ImageLayout

	common.NextOptions
}

AttachmentDescription2 specifies an attachment description

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

func (AttachmentDescription2) PopulateCPointer

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

type AttachmentReference2

type AttachmentReference2 struct {
	// Attachment identifies an attachment at the corresponding index in
	// RenderPassCreateInfo2.Attachments, or core1_0.AttachmentUnused
	Attachment int
	// Layout specifies the layout the attachment uses during the subpass
	Layout core1_0.ImageLayout
	// AspectMask is a mask of which aspect(s) can be accessed within the specified
	// subpass as an input attachment
	AspectMask core1_0.ImageAspectFlags

	common.NextOptions
}

AttachmentReference2 specifies an attachment reference

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

func (AttachmentReference2) PopulateCPointer

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

type Extension

type Extension interface {
	// CmdBeginRenderPass2 begins a new RenderPass
	//
	// commandBuffer - The CommandBuffer to begin the RenderPass in
	//
	// renderPassBegin - Specifies the RenderPass to begin an instance of, and the Framebuffer the instance
	// uses
	//
	// subpassBegin - Contains information about the subpass which is about to begin rendering
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdBeginRenderPass2.html
	CmdBeginRenderPass2(commandBuffer core1_0.CommandBuffer, renderPassBegin core1_0.RenderPassBeginInfo, subpassBegin SubpassBeginInfo) error
	// CmdEndRenderPass2 ends the current RenderPass
	//
	// commandBuffer - The CommandBuffer to end the RenderPass in
	//
	// subpassEnd - Contains information about how the previous subpass will be ended
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdEndRenderPass2.html
	CmdEndRenderPass2(commandBuffer core1_0.CommandBuffer, subpassEnd SubpassEndInfo) error
	// CmdNextSubpass2 transitions to the next subpass of a RenderPass
	//
	// commandBuffer - The CommandBuffer to end the RenderPass in
	//
	// subpassBegin - Contains information about the subpass which is about to begin rendering.
	//
	// subpassEnd - Contains information about how the previous subpass will be ended.
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCmdNextSubpass2.html
	CmdNextSubpass2(commandBuffer core1_0.CommandBuffer, subpassBegin SubpassBeginInfo, subpassEnd SubpassEndInfo) error

	// CreateRenderPass2 creates a new RenderPass object
	//
	// device - The Device to create the RenderPass from
	//
	// allocator - Controls host memory allocation behavior
	//
	// options - Describes the parameters of the RenderPass
	//
	// https://www.khronos.org/registry/vulkan/specs/1.3-extensions/man/html/vkCreateRenderPass2.html
	CreateRenderPass2(device core1_0.Device, allocator *driver.AllocationCallbacks, options RenderPassCreateInfo2) (core1_0.RenderPass, common.VkResult, error)
}

Extension contains all the commands for the khr_create_renderpass2 extension

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

type RenderPassCreateInfo2

type RenderPassCreateInfo2 struct {
	// Flags is reserved for future use
	Flags core1_0.RenderPassCreateFlags

	// Attachments is a slice of AttachmentDescription2 structures describing the attachments
	// used by the RenderPass
	Attachments []AttachmentDescription2
	// Subpasses is a slice of SubpassDescription2 structures describing each subpass
	Subpasses []SubpassDescription2
	// Dependencies is a slice of SubpassDependency2 structures describing dependencies
	// between pairs of subpasses
	Dependencies []SubpassDependency2

	// CorrelatedViewMasks is a slice of view masks indicating sets of views that may be
	// more efficient to render concurrently
	CorrelatedViewMasks []uint32

	common.NextOptions
}

RenderPassCreateInfo2 specifies parameters of a newly-created RenderPass

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

func (RenderPassCreateInfo2) PopulateCPointer

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

type SubpassBeginInfo

type SubpassBeginInfo struct {
	// Contents specifies how the commands in the next subpass will be provided
	Contents core1_0.SubpassContents

	common.NextOptions
}

SubpassBeginInfo specifies subpass begin information

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

func (SubpassBeginInfo) PopulateCPointer

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

type SubpassDependency2

type SubpassDependency2 struct {
	// SrcSubpass is the subpass index of the first subpass in the dependency, or
	// core1_0.SubpassExternal
	SrcSubpass int
	// DstSubpass is the subpass index of the second subpass in the dependency, or
	// core1_0.SubpassExternal
	DstSubpass int
	// SrcStageMask specifies the source stage mask
	SrcStageMask core1_0.PipelineStageFlags
	// DstStageMask specifies the destination stage mask
	DstStageMask core1_0.PipelineStageFlags
	// SrcAccessMask specifies a source access mask
	SrcAccessMask core1_0.AccessFlags
	// DstAccessMask specifies a source access mask
	DstAccessMask core1_0.AccessFlags
	// DependencyFlags is a set of dependency flags
	DependencyFlags core1_0.DependencyFlags
	// ViewOffset controls which views in the source subpass the views in the destination
	// subpass depend on
	ViewOffset int

	common.NextOptions
}

SubpassDependency2 specifies a subpass dependency

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

func (SubpassDependency2) PopulateCPointer

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

type SubpassDescription2

type SubpassDescription2 struct {
	// Flags specifies usage of the subpass
	Flags core1_0.SubpassDescriptionFlags
	// PipelineBindPoint specifies the Pipeline type supported for this subpass
	PipelineBindPoint core1_0.PipelineBindPoint
	// ViewMask describes which views rendering is broadcast to in this subpass, when
	// multiview is enabled
	ViewMask uint32
	// InputAttachments is a slice of AttachmentReference2 structures defining the input
	// attachments for this subpass and their layouts
	InputAttachments []AttachmentReference2
	// ColorAttachments is a slice of AttachmentReference2 structures defining the color
	// attachments for this subpass and their layouts
	ColorAttachments []AttachmentReference2
	// ResolveAttachments is a slice of AttachmentReference2 structures defining the resolve
	// attachments for this subpass and their layouts
	ResolveAttachments []AttachmentReference2
	// DepthStencilAttachment specifies the depth/stencil attachment for this subpass and
	// its layout
	DepthStencilAttachment *AttachmentReference2
	// PreserveAttachments is a slice of RenderPass attachment indices identifying attachments
	// that are not used by this subpass, but whose contents must be preserved throughout the
	// subpass
	PreserveAttachments []int

	common.NextOptions
}

SubpassDescription2 specifies a subpass description

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

func (SubpassDescription2) PopulateCPointer

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

type SubpassEndInfo

type SubpassEndInfo struct {
	common.NextOptions
}

SubpassEndInfo specifies subpass end information

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

func (SubpassEndInfo) PopulateCPointer

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

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_create_renderpass2 loaded

func CreateExtensionFromDriver

func CreateExtensionFromDriver(driver khr_create_renderpass2_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) CmdBeginRenderPass2

func (e *VulkanExtension) CmdBeginRenderPass2(commandBuffer core1_0.CommandBuffer, renderPassBegin core1_0.RenderPassBeginInfo, subpassBegin SubpassBeginInfo) error

func (*VulkanExtension) CmdEndRenderPass2

func (e *VulkanExtension) CmdEndRenderPass2(commandBuffer core1_0.CommandBuffer, subpassEnd SubpassEndInfo) error

func (*VulkanExtension) CmdNextSubpass2

func (e *VulkanExtension) CmdNextSubpass2(commandBuffer core1_0.CommandBuffer, subpassBegin SubpassBeginInfo, subpassEnd SubpassEndInfo) error

func (*VulkanExtension) CreateRenderPass2

Directories

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

Jump to

Keyboard shortcuts

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