24 #ifndef PXR_IMAGING_HGI_COMPUTE_CMDS_H 25 #define PXR_IMAGING_HGI_COMPUTE_CMDS_H 28 #include "pxr/imaging/hgi/api.h" 29 #include "pxr/imaging/hgi/computePipeline.h" 30 #include "pxr/imaging/hgi/resourceBindings.h" 31 #include "pxr/imaging/hgi/cmds.h" 34 PXR_NAMESPACE_OPEN_SCOPE
36 using HgiComputeCmdsUniquePtr = std::unique_ptr<class HgiComputeCmds>;
85 const void* data) = 0;
90 virtual void Dispatch(
int dimX,
int dimY) = 0;
112 PXR_NAMESPACE_CLOSE_SCOPE
virtual HGI_API HgiComputeDispatch GetDispatchMethod() const =0
Returns the dispatch method for this encoder.
virtual HGI_API void Dispatch(int dimX, int dimY)=0
Execute a compute shader with provided thread group count in each dimension.
A graphics API independent abstraction of compute commands.
virtual HGI_API void PushDebugGroup(const char *label)=0
Push a debug marker.
virtual HGI_API void BindResources(HgiResourceBindingsHandle resources)=0
Bind resources such as textures and uniform buffers.
virtual HGI_API void SetConstantValues(HgiComputePipelineHandle pipeline, uint32_t bindIndex, uint32_t byteSize, const void *data)=0
Set Push / Function constants.
virtual HGI_API void PopDebugGroup()=0
Pop the last debug marker.
virtual HGI_API void BindPipeline(HgiComputePipelineHandle pipeline)=0
Bind a pipeline state object.
virtual HGI_API void InsertMemoryBarrier(HgiMemoryBarrier barrier)=0
Inserts a barrier so that data written to memory by commands before the barrier is available to comma...
Graphics commands are recorded in 'cmds' objects which are later submitted to hgi.
Handle that contains a hgi object and unique id.