Documentation ¶
Overview ¶
Package vulkan implements the API interface for the Vulkan graphics library.
Index ¶
- Constants
- func AddCommand(ctx context.Context, cb CommandBuilder, commandBuffer VkCommandBuffer, ...) (func(), api.Cmd, error)
- func CallReflectedCommand(ctx context.Context, cmd api.Cmd, id api.CmdID, s *api.GlobalState, ...)
- func EnterRecreate(ctx context.Context, s *api.GlobalState) func()
- func GetCommandArgs(ctx context.Context, cr CommandReferenceʳ, s *State) interface{}
- func GetCommandFunction(cr *CommandReference) interface{}
- func IsFullyBound(offset VkDeviceSize, size VkDeviceSize, bindings U64ːVkSparseMemoryBindᵐ) bool
- func NewAllocationTracker(inputState *api.GlobalState) *allocationTracker
- func NewCommandSplitter(ctx context.Context) *commandSplitter
- func NewLoopingVulkanControlFlowGenerator(ctx context.Context, chain *transform.TransformChain, out transform.Writer, ...) controlFlowGenerator.ControlFlowGenerator
- func NewStencilOverdraw() *stencilOverdraw
- type FenceState
- type InsertionCommand
- func (s *InsertionCommand) API() api.API
- func (s *InsertionCommand) Alive() bool
- func (s *InsertionCommand) Clone() api.Cmd
- func (s *InsertionCommand) CmdFlags() api.CmdFlags
- func (s *InsertionCommand) CmdName() string
- func (s *InsertionCommand) CmdParams() api.Properties
- func (s *InsertionCommand) CmdResult() *api.Property
- func (s *InsertionCommand) Extras() *api.CmdExtras
- func (*InsertionCommand) Mutate(ctx context.Context, cmd api.CmdID, g *api.GlobalState, b *builder.Builder, ...) error
- func (s *InsertionCommand) SetTerminated(bool)
- func (s *InsertionCommand) SetThread(c uint64)
- func (s *InsertionCommand) Terminated() bool
- func (s *InsertionCommand) Thread() uint64
- type QueuedCommand
Constants ¶
const ( VK_BEGIN_COMMAND_BUFFER = "vkBeginCommandBuffer" VK_CMD_BEGIN_RENDER_PASS = "vkCmdBeginRenderPass" VK_CMD_NEXT_SUBPASS = "vkCmdNextSubpass" VK_COMMAND_BUFFER = "vkCommandBuffer" VK_RENDER_PASS = "vkRenderPass" VK_SUBPASS = "vkSubpass" VK_END_COMMAND_BUFFER = "vkEndCommandBuffer" VK_CMD_END_RENDER_PASS = "vkCmdEndRenderPass" COMMAND_BUFFER = "commandBuffer" VK_CMD_DEBUG_MARKER_BEGIN = "vkCmdDebugMarkerBeginEXT" VK_CMD_DEBUG_MARKER_END = "vkCmdDebugMarkerEndEXT" VK_CMD_DEBUG_MARKER = "vkCmdDebugMarker" )
Variables ¶
This section is empty.
Functions ¶
func AddCommand ¶
func AddCommand(ctx context.Context, cb CommandBuilder, commandBuffer VkCommandBuffer, r *api.GlobalState, s *api.GlobalState, rebuildInfo interface{}) (func(), api.Cmd, error)
AddCommand recreates the command defined by recreateInfo and places it into the given command buffer. It returns the commands 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.
func CallReflectedCommand ¶
func CallReflectedCommand(ctx context.Context, cmd api.Cmd, id api.CmdID, s *api.GlobalState, b *rb.Builder, w api.StateWatcher, sub, data interface{})
CallReflectedCommand unpacks the given subcommand and arguments, and calls the method
func EnterRecreate ¶
func EnterRecreate(ctx context.Context, s *api.GlobalState) func()
func GetCommandArgs ¶
GetCommandArgs takes a command reference and returns the command arguments of that recorded command.
func GetCommandFunction ¶
func GetCommandFunction(cr *CommandReference) interface{}
GetCommandFunction takes a command reference (recorded command buffer command) and returns the function which mutates the state as the recorded command get executed.
func IsFullyBound ¶
func IsFullyBound(offset VkDeviceSize, size VkDeviceSize, bindings U64ːVkSparseMemoryBindᵐ) bool
IsFullyBound returns true if the resource range from offset with size is fully covered in the bindings. If the size ofd the resource range is 0, returns false.
func NewAllocationTracker ¶
func NewAllocationTracker(inputState *api.GlobalState) *allocationTracker
func NewCommandSplitter ¶
func NewLoopingVulkanControlFlowGenerator ¶
func NewLoopingVulkanControlFlowGenerator(ctx context.Context, chain *transform.TransformChain, out transform.Writer, graphicsCapture *capture.GraphicsCapture, loopStart api.CmdID, loopEnd api.CmdID, loopCount int32, loopCallbacks loopCallbacks) controlFlowGenerator.ControlFlowGenerator
NewLoopingVulkanControlFlowGenerator generates a simple control flow that takes initial and real commands and transforms all of them
func NewStencilOverdraw ¶
func NewStencilOverdraw() *stencilOverdraw
Types ¶
type FenceState ¶
type FenceState struct {
// contains filtered or unexported fields
}
type InsertionCommand ¶
type InsertionCommand struct {
// contains filtered or unexported fields
}
InsertionCommand is a temporary command that is expected to be replaced by a down-stream transform.
func (*InsertionCommand) API ¶
func (s *InsertionCommand) API() api.API
func (*InsertionCommand) Alive ¶
func (s *InsertionCommand) Alive() bool
func (*InsertionCommand) Clone ¶
func (s *InsertionCommand) Clone() api.Cmd
func (*InsertionCommand) CmdFlags ¶
func (s *InsertionCommand) CmdFlags() api.CmdFlags
func (*InsertionCommand) CmdName ¶
func (s *InsertionCommand) CmdName() string
CmdName returns the name of the command.
func (*InsertionCommand) CmdParams ¶
func (s *InsertionCommand) CmdParams() api.Properties
func (*InsertionCommand) CmdResult ¶
func (s *InsertionCommand) CmdResult() *api.Property
func (*InsertionCommand) Extras ¶
func (s *InsertionCommand) Extras() *api.CmdExtras
func (*InsertionCommand) Mutate ¶
func (*InsertionCommand) Mutate(ctx context.Context, cmd api.CmdID, g *api.GlobalState, b *builder.Builder, w api.StateWatcher) error
func (*InsertionCommand) SetTerminated ¶
func (s *InsertionCommand) SetTerminated(bool)
func (*InsertionCommand) SetThread ¶
func (s *InsertionCommand) SetThread(c uint64)
func (*InsertionCommand) Terminated ¶
func (s *InsertionCommand) Terminated() bool
func (*InsertionCommand) Thread ¶
func (s *InsertionCommand) Thread() uint64
type QueuedCommand ¶
type QueuedCommand struct {
// contains filtered or unexported fields
}
Source Files ¶
- allocation_tracker.go
- buffer_command.go
- command_buffer_rebuilder.go
- custom_replay.go
- doc.go
- draw_call_mesh.go
- draw_call_pipeline.go
- externs.go
- extras.go
- framegraph.go
- graph_visualization.go
- image_primer.go
- image_primer_device_copy.go
- image_primer_host_copy.go
- image_primer_render.go
- image_primer_resources.go
- image_primer_shaders.go
- image_primer_store.go
- insertion_command.go
- labels.go
- links.go
- looping_vulkan_control_flow_generator.go
- mem_binding_list.go
- memory_breakdown.go
- primeable_image_data.go
- profile_static_analysis.go
- queue_task.go
- replay.go
- replay_types.go
- resources.go
- scratch_resources.go
- state.go
- state_rebuilder.go
- transform_af_disabler.go
- transform_capture_log.go
- transform_command_disabler.go
- transform_command_splitter.go
- transform_destroy_resources_eos.go
- transform_display_to_surface.go
- transform_drop_invalid_destroy.go
- transform_end_of_replay.go
- transform_external_memory.go
- transform_file_log.go
- transform_find_issues.go
- transform_make_attachment_readable.go
- transform_mapping_exporter.go
- transform_overdraw.go
- transform_profiling_layers.go
- transform_query_timestamps.go
- transform_read_framebuffer.go
- transform_vulkan_terminator.go
- transform_wireframe.go
- vulkan.go
- wait_for_perfetto.go