Loading...
Searching...
No Matches
computePipeline.h
1//
2// Copyright 2020 Pixar
3//
4// Licensed under the terms set forth in the LICENSE.txt file available at
5// https://openusd.org/license.
6//
7#ifndef PXR_IMAGING_HGI_COMPUTE_PIPELINE_H
8#define PXR_IMAGING_HGI_COMPUTE_PIPELINE_H
9
10#include "pxr/pxr.h"
11#include "pxr/imaging/hgi/api.h"
12#include "pxr/imaging/hgi/attachmentDesc.h"
13#include "pxr/imaging/hgi/enums.h"
14#include "pxr/imaging/hgi/handle.h"
15#include "pxr/imaging/hgi/resourceBindings.h"
16#include "pxr/imaging/hgi/shaderProgram.h"
17#include "pxr/imaging/hgi/types.h"
18
19#include <string>
20#include <vector>
21
22PXR_NAMESPACE_OPEN_SCOPE
23
24
35 HGI_API
37
38 uint32_t byteSize;
39};
40
41HGI_API
42bool operator==(
45
46HGI_API
47bool operator!=(
50
63{
64 HGI_API
66
67 std::string debugName;
68 HgiShaderProgramHandle shaderProgram;
69 HgiComputeShaderConstantsDesc shaderConstantsDesc;
70};
71
72HGI_API
73bool operator==(
74 const HgiComputePipelineDesc& lhs,
75 const HgiComputePipelineDesc& rhs);
76
77HGI_API
78bool operator!=(
79 const HgiComputePipelineDesc& lhs,
80 const HgiComputePipelineDesc& rhs);
81
82
93{
94public:
95 HGI_API
96 virtual ~HgiComputePipeline();
97
99 HGI_API
101
102protected:
103 HGI_API
105
106 HgiComputePipelineDesc _descriptor;
107
108private:
109 HgiComputePipeline() = delete;
110 HgiComputePipeline & operator=(const HgiComputePipeline&) = delete;
111 HgiComputePipeline(const HgiComputePipeline&) = delete;
112};
113
115using HgiComputePipelineHandleVector = std::vector<HgiComputePipelineHandle>;
116
117
118PXR_NAMESPACE_CLOSE_SCOPE
119
120#endif
Represents a graphics platform independent GPU compute pipeline resource.
HGI_API HgiComputePipelineDesc const & GetDescriptor() const
The descriptor describes the object.
Describes the properties needed to create a GPU compute pipeline.
A small, but fast buffer of uniform data for shaders.