menu

GpuSyncBinding

import { GpuSyncBinding } from "destack:gpu/binding";

Sync binding family.

language/library/src/gpu/binding/sync.ds:93:284
1export interface GpuSyncBinding {2    createFence(device: GpuDeviceHandle, descriptor: &'a readonly GpuFenceDescriptor): Result<GpuFenceHandle, HostError>;3    destroyFence(fence: GpuFenceHandle): Result<void, HostError>;4    signalQueue(queue: GpuQueueHandle, fence: GpuFenceHandle, value: uint64): Result<void, HostError>;5    waitQueue(queue: GpuQueueHandle, fence: GpuFenceHandle, value: uint64, timeoutNs: uint64): Result<void, HostError>;6    waitQueueDone(queue: GpuQueueHandle, timeoutNs: uint64): Result<void, HostError>;7    readQueueTimestampPeriod(queue: GpuQueueHandle): Result<float64, HostError>;8    createQuerySet(device: GpuDeviceHandle, descriptor: &'a readonly GpuQuerySetDescriptor): Result<GpuQuerySetHandle, HostError>;9    destroyQuerySet(querySet: GpuQuerySetHandle): Result<void, HostError>;10    readQuerySet(querySet: GpuQuerySetHandle): Result<GpuQuerySetState, HostError>;11    writeCommandTimestamp(encoder: GpuCommandEncoderHandle, querySet: GpuQuerySetHandle, queryIndex: uint32): Result<void, HostError>;12    beginOcclusionQuery(renderPass: GpuRenderPassHandle, querySet: GpuQuerySetHandle, queryIndex: uint32): Result<void, HostError>;13    endOcclusionQuery(renderPass: GpuRenderPassHandle): Result<void, HostError>;14    beginRenderStatisticsQuery(renderPass: GpuRenderPassHandle, querySet: GpuQuerySetHandle, queryIndex: uint32): Result<void, HostError>;15    endRenderStatisticsQuery(renderPass: GpuRenderPassHandle): Result<void, HostError>;16    beginComputeStatisticsQuery(computePass: GpuComputePassHandle, querySet: GpuQuerySetHandle, queryIndex: uint32): Result<void, HostError>;17    endComputeStatisticsQuery(computePass: GpuComputePassHandle): Result<void, HostError>;18    resolveQueries(encoder: GpuCommandEncoderHandle, querySet: GpuQuerySetHandle, firstQuery: uint32, queryCount: uint32, destination: GpuBufferHandle, destinationOffset: uint64): Result<void, HostError>;19}

Members

createFence(device: GpuDeviceHandle, descriptor: &'a readonly GpuFenceDescriptor): Result<GpuFenceHandle, HostError>

Create a synchronization fence.

destroyFence(fence: GpuFenceHandle): Result<void, HostError>

Destroy a synchronization fence.

signalQueue(queue: GpuQueueHandle, fence: GpuFenceHandle, value: uint64): Result<void, HostError>

Signal a fence value from a queue.

waitQueue(queue: GpuQueueHandle, fence: GpuFenceHandle, value: uint64, timeoutNs: uint64): Result<void, HostError>

Wait for a fence value.

waitQueueDone(queue: GpuQueueHandle, timeoutNs: uint64): Result<void, HostError>

Wait for all previously submitted queue work.

readQueueTimestampPeriod(queue: GpuQueueHandle): Result<float64, HostError>

Read a queue timestamp period.

createQuerySet(device: GpuDeviceHandle, descriptor: &'a readonly GpuQuerySetDescriptor): Result<GpuQuerySetHandle, HostError>

Create a query set.

destroyQuerySet(querySet: GpuQuerySetHandle): Result<void, HostError>

Destroy a query set.

readQuerySet(querySet: GpuQuerySetHandle): Result<GpuQuerySetState, HostError>

Read a query-set metadata snapshot.

writeCommandTimestamp(encoder: GpuCommandEncoderHandle, querySet: GpuQuerySetHandle, queryIndex: uint32): Result<void, HostError>

Write a timestamp query from a command encoder.

beginOcclusionQuery(renderPass: GpuRenderPassHandle, querySet: GpuQuerySetHandle, queryIndex: uint32): Result<void, HostError>

Begin an occlusion query.

endOcclusionQuery(renderPass: GpuRenderPassHandle): Result<void, HostError>

End an occlusion query.

beginRenderStatisticsQuery(renderPass: GpuRenderPassHandle, querySet: GpuQuerySetHandle, queryIndex: uint32): Result<void, HostError>

Begin a pipeline-statistics query in a render pass.

endRenderStatisticsQuery(renderPass: GpuRenderPassHandle): Result<void, HostError>

End a pipeline-statistics query in a render pass.

beginComputeStatisticsQuery(computePass: GpuComputePassHandle, querySet: GpuQuerySetHandle, queryIndex: uint32): Result<void, HostError>

Begin a pipeline-statistics query in a compute pass.

endComputeStatisticsQuery(computePass: GpuComputePassHandle): Result<void, HostError>

End a pipeline-statistics query in a compute pass.

resolveQueries(encoder: GpuCommandEncoderHandle, querySet: GpuQuerySetHandle, firstQuery: uint32, queryCount: uint32, destination: GpuBufferHandle, destinationOffset: uint64): Result<void, HostError>

Resolve one query range into one destination buffer.