24 #ifndef PXR_IMAGING_HGI_GRAPHICS_PIPELINE_H
25 #define PXR_IMAGING_HGI_GRAPHICS_PIPELINE_H
28 #include "pxr/imaging/hgi/api.h"
29 #include "pxr/imaging/hgi/attachmentDesc.h"
30 #include "pxr/imaging/hgi/enums.h"
31 #include "pxr/imaging/hgi/handle.h"
32 #include "pxr/imaging/hgi/resourceBindings.h"
33 #include "pxr/imaging/hgi/shaderProgram.h"
34 #include "pxr/imaging/hgi/types.h"
39 PXR_NAMESPACE_OPEN_SCOPE
62 uint32_t shaderBindLocation;
64 using HgiVertexAttributeDescVector = std::vector<HgiVertexAttributeDesc>;
95 uint32_t bindingIndex;
96 HgiVertexAttributeDescVector vertexAttributes;
97 uint32_t vertexStride;
99 using HgiVertexBufferDescVector = std::vector<HgiVertexBufferDesc>;
128 bool alphaToCoverageEnable;
129 HgiSampleCount sampleCount;
165 HgiPolygonMode polygonMode;
167 HgiCullMode cullMode;
169 bool rasterizerEnabled;
204 bool depthTestEnabled;
205 bool depthWriteEnabled;
206 HgiCompareFunction depthCompareFn;
207 bool stencilTestEnabled;
236 HgiShaderStage stageUsage;
286 std::string debugName;
287 HgiPrimitiveType primitiveType;
292 HgiVertexBufferDescVector vertexBuffers;
293 HgiAttachmentDescVector colorAttachmentDescs;
294 HgiAttachmentDescVector colorResolveAttachmentDescs;
338 HgiGraphicsPipeline() =
delete;
339 HgiGraphicsPipeline & operator=(
const HgiGraphicsPipeline&) =
delete;
340 HgiGraphicsPipeline(
const HgiGraphicsPipeline&) =
delete;
344 using HgiGraphicsPipelineHandleVector = std::vector<HgiGraphicsPipelineHandle>;
347 PXR_NAMESPACE_CLOSE_SCOPE
Describes the properties of a framebuffer attachment.
AR_API bool operator!=(const ArAssetInfo &lhs, const ArAssetInfo &rhs)
AR_API bool operator==(const ArAssetInfo &lhs, const ArAssetInfo &rhs)
A small, but fast buffer of uniform data for shaders.
Properties to configure multi sampling.
Describes one attribute of a vertex.
Represents a graphics platform independent GPU graphics pipeline resource.
Properties to configure multi sampling.
Properties to configure depth and stencil test.
Describes the attributes of a vertex buffer.
Describes the properties needed to create a GPU pipeline.
HGI_API HgiGraphicsPipelineDesc const & GetDescriptor() const
The descriptor describes the object.