24 #ifndef PXR_IMAGING_HD_ST_GLSL_PROGRAM_H
25 #define PXR_IMAGING_HD_ST_GLSL_PROGRAM_H
87 std::function<void(HgiShaderFunctionDesc &computeDesc)>;
130 #endif // PXR_IMAGING_HD_ST_GLSL_PROGRAM_H
TfToken const & GetRole() const
Returns the role of the GPU data in this resource.
GLsizei const GLchar *const * string
std::function< void(HgiShaderFunctionDesc &computeDesc)> PopulateDescriptorCallback
HDST_API bool CompileShader(HgiShaderStage stage, std::string const &source)
Compile shader source for a shader stage.
GLsizei GLsizei GLchar * source
HDST_API bool Link()
Link the compiled shaders together.
std::shared_ptr< class HdStGLSLProgram > HdStGLSLProgramSharedPtr
HDST_API ~HdStGLSLProgram()
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
HDST_API HdStGLSLProgram(TfToken const &role, HdStResourceRegistry *const registry)
HgiShaderProgramHandle const & GetProgram() const
Returns HgiShaderProgramHandle for the shader program.
#define PXR_NAMESPACE_CLOSE_SCOPE
HDST_API bool Validate() const
Validate if this program is a valid progam in the current context.
static HDST_API HdStGLSLProgramSharedPtr GetComputeProgram(TfToken const &shaderToken, HdStResourceRegistry *resourceRegistry)
Convenience method to get a shared compute shader program.