Documentation
¶
Overview ¶
Package vulkan implementes the API interface for the Vulkan graphics library.
Index ¶
- func AddCommand(ctx context.Context, cb CommandBuilder, commandBuffer VkCommandBuffer, ...) (func(), api.Cmd)
- type CommandBufferCommand
- type CommandBufferCommands
- type CustomState
- type RecreateCmdPushConstantsDataExpanded
- type RecreateCmdUpdateBufferDataExpanded
- type VulkanContext
- type VulkanDependencyGraphBehaviourProvider
- type VulkanTerminator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddCommand ¶
func AddCommand(ctx context.Context, cb CommandBuilder, commandBuffer VkCommandBuffer, s *api.State, rebuildInfo interface{}) (func(), api.Cmd)
AddCommand recreates the command defined by recreateInfo and places it into the given command buffer. It returns the atoms that it had to create in order to satisfy the command. It also returns a function to clean up the data that was allocated during the creation.
Types ¶
type CommandBufferCommand ¶
type CommandBufferCommand struct {
// contains filtered or unexported fields
}
type CommandBufferCommands ¶
type CommandBufferCommands []CommandBufferCommand
type CustomState ¶
type CustomState struct {
SubcommandIndex sync.SubcommandIndex
CurrentSubmission *api.Cmd
HandleSubcommand func(interface{}) `nobox:"true"`
}
type RecreateCmdUpdateBufferDataExpanded ¶
type RecreateCmdUpdateBufferDataExpanded struct {
DstBuffer VkBuffer
DstOffset VkDeviceSize
DataSize VkDeviceSize
Data []uint8
}
type VulkanContext ¶
type VulkanContext struct{}
func (VulkanContext) ID ¶
func (VulkanContext) ID() api.ContextID
func (VulkanContext) Name ¶
func (VulkanContext) Name() string
type VulkanDependencyGraphBehaviourProvider ¶
type VulkanDependencyGraphBehaviourProvider struct {
// contains filtered or unexported fields
}
func (*VulkanDependencyGraphBehaviourProvider) GetBehaviourForAtom ¶
func (p *VulkanDependencyGraphBehaviourProvider) GetBehaviourForAtom( ctx context.Context, s *api.State, id api.CmdID, cmd api.Cmd, g *dependencygraph.DependencyGraph) dependencygraph.AtomBehaviour
type VulkanTerminator ¶
type VulkanTerminator struct {
// contains filtered or unexported fields
}
VulkanTerminator is very similar to EarlyTerminator. It has 2 additional properties.
- If a VkQueueSubmit is found, and it contains an event that will be signaled after the final request, we remove the event from the command-list, and remove any subsequent events
- If a request is made to replay until the MIDDLE of a vkQueueSubmit, then it will patch that command-list to remove any commands after the command in question. Furthermore it will continue the replay until that command can be run i.e. it will make sure to continue to mutate the trace until all pending events have been successfully completed. TODO(awoloszyn): Handle #2
This takes advantage of the fact that all atoms will be in order.
func NewVulkanTerminator ¶
func (*VulkanTerminator) Add ¶
Add adds the atom with identifier id to the set of atoms that must be seen before the VulkanTerminator will consume all atoms (excluding the EOS atom).
Source Files
¶
Click to show internal directories.
Click to hide internal directories.