24#ifndef PXR_IMAGING_HD_ST_COMPUTATION_H
25#define PXR_IMAGING_HD_ST_COMPUTATION_H
28#include "pxr/imaging/hdSt/api.h"
33PXR_NAMESPACE_OPEN_SCOPE
38using HdBufferArrayRangeSharedPtr = std::shared_ptr<class HdBufferArrayRange>;
39using HdBufferSpecVector = std::vector<struct HdBufferSpec>;
41using HdStComputationSharedPtr = std::shared_ptr<class HdStComputation>;
42using HdStComputationSharedPtrVector = std::vector<HdStComputationSharedPtr>;
60 HdBufferArrayRangeSharedPtr
const &range,
83PXR_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()).