7#ifndef PXR_IMAGING_HD_ST_COMPUTATION_H
8#define PXR_IMAGING_HD_ST_COMPUTATION_H
11#include "pxr/imaging/hdSt/api.h"
16PXR_NAMESPACE_OPEN_SCOPE
21using HdBufferArrayRangeSharedPtr = std::shared_ptr<class HdBufferArrayRange>;
22using HdBufferSpecVector = std::vector<struct HdBufferSpec>;
24using HdStComputationSharedPtr = std::shared_ptr<class HdStComputation>;
25using HdStComputationSharedPtrVector = std::vector<HdStComputationSharedPtr>;
43 HdBufferArrayRangeSharedPtr
const &range,
66PXR_NAMESPACE_CLOSE_SCOPE
A central registry for resources.
An interface class for GPU computation.
virtual void Execute(HdBufferArrayRangeSharedPtr const &range, HdResourceRegistry *resourceRegistry)=0
Execute computation.
virtual void GetBufferSpecs(HdBufferSpecVector *specs) const =0
Add the buffer spec for this computation into given bufferspec vector.
bool IsValid()
This function is needed as HdStComputation shares a templatized interface with HdBufferSource.
virtual int GetNumOutputElements() const =0
Returns the size of its destination buffer (located by range argument of Execute()).