24 #ifndef PXR_IMAGING_HGI_ENUMS_H
25 #define PXR_IMAGING_HGI_ENUMS_H
28 #include "pxr/imaging/hgi/api.h"
31 PXR_NAMESPACE_OPEN_SCOPE
33 using HgiBits = uint32_t;
45 enum HgiDeviceCapabilitiesBits : HgiBits
47 HgiDeviceCapabilitiesBitsPresentation = 1 << 0,
50 using HgiDeviceCapabilities = HgiBits;
74 HgiTextureType1DArray,
75 HgiTextureType2DArray,
104 enum HgiTextureUsageBits : HgiBits
106 HgiTextureUsageBitsColorTarget = 1 << 0,
107 HgiTextureUsageBitsDepthTarget = 1 << 1,
108 HgiTextureUsageBitsStencilTarget = 1 << 2,
109 HgiTextureUsageBitsShaderRead = 1 << 3,
110 HgiTextureUsageBitsShaderWrite = 1 << 4,
112 HgiTextureUsageCustomBitsBegin = 1 << 5,
115 using HgiTextureUsage = HgiBits;
121 enum HgiSamplerAddressMode
123 HgiSamplerAddressModeClampToEdge = 0,
124 HgiSamplerAddressModeMirrorClampToEdge,
125 HgiSamplerAddressModeRepeat,
126 HgiSamplerAddressModeMirrorRepeat,
127 HgiSamplerAddressModeClampToBorderColor,
129 HgiSamplerAddressModeCount
143 enum HgiSamplerFilter
145 HgiSamplerFilterNearest = 0,
146 HgiSamplerFilterLinear = 1,
148 HgiSamplerFilterCount
166 HgiMipFilterNotMipmapped = 0,
167 HgiMipFilterNearest = 1,
168 HgiMipFilterLinear = 2,
183 HgiSampleCount16 = 16,
201 enum HgiAttachmentLoadOp
203 HgiAttachmentLoadOpDontCare = 0,
204 HgiAttachmentLoadOpClear,
205 HgiAttachmentLoadOpLoad,
207 HgiAttachmentLoadOpCount
221 enum HgiAttachmentStoreOp
223 HgiAttachmentStoreOpDontCare = 0,
224 HgiAttachmentStoreOpStore,
226 HgiAttachmentStoreOpCount
248 enum HgiBufferUsageBits : HgiBits
250 HgiBufferUsageUniform = 1 << 0,
251 HgiBufferUsageIndex32 = 1 << 1,
252 HgiBufferUsageVertex = 1 << 2,
253 HgiBufferUsageStorage = 1 << 3,
255 HgiBufferUsageCustomBitsBegin = 1 << 4,
257 using HgiBufferUsage = HgiBits;
281 enum HgiShaderStageBits : HgiBits
283 HgiShaderStageVertex = 1 << 0,
284 HgiShaderStageFragment = 1 << 1,
285 HgiShaderStageCompute = 1 << 2,
286 HgiShaderStageTessellationControl = 1 << 3,
287 HgiShaderStageTessellationEval = 1 << 4,
288 HgiShaderStageGeometry = 1 << 5,
290 HgiShaderStageCustomBitsBegin = 1 << 6,
292 using HgiShaderStage = HgiBits;
318 enum HgiBindResourceType
320 HgiBindResourceTypeSampler = 0,
321 HgiBindResourceTypeSampledImage,
322 HgiBindResourceTypeCombinedSamplerImage,
323 HgiBindResourceTypeStorageImage,
324 HgiBindResourceTypeUniformBuffer,
325 HgiBindResourceTypeStorageBuffer,
327 HgiBindResourceTypeCount
345 HgiPolygonModeFill = 0,
372 HgiCullModeFrontAndBack,
390 HgiWindingClockwise = 0,
391 HgiWindingCounterClockwise,
405 HgiBlendOpReverseSubtract,
418 HgiBlendFactorZero = 0,
420 HgiBlendFactorSrcColor,
421 HgiBlendFactorOneMinusSrcColor,
422 HgiBlendFactorDstColor,
423 HgiBlendFactorOneMinusDstColor,
424 HgiBlendFactorSrcAlpha,
425 HgiBlendFactorOneMinusSrcAlpha,
426 HgiBlendFactorDstAlpha,
427 HgiBlendFactorOneMinusDstAlpha,
428 HgiBlendFactorConstantColor,
429 HgiBlendFactorOneMinusConstantColor,
430 HgiBlendFactorConstantAlpha,
431 HgiBlendFactorOneMinusConstantAlpha,
432 HgiBlendFactorSrcAlphaSaturate,
433 HgiBlendFactorSrc1Color,
434 HgiBlendFactorOneMinusSrc1Color,
435 HgiBlendFactorSrc1Alpha,
436 HgiBlendFactorOneMinusSrc1Alpha,
446 enum HgiCompareFunction
448 HgiCompareFunctionNever = 0,
449 HgiCompareFunctionLess,
450 HgiCompareFunctionEqual,
451 HgiCompareFunctionLEqual,
452 HgiCompareFunctionGreater,
453 HgiCompareFunctionNotEqual,
454 HgiCompareFunctionGEqual,
455 HgiCompareFunctionAlways,
457 HgiCompareFunctionCount
464 enum HgiComponentSwizzle
466 HgiComponentSwizzleZero = 0,
467 HgiComponentSwizzleOne,
468 HgiComponentSwizzleR,
469 HgiComponentSwizzleG,
470 HgiComponentSwizzleB,
471 HgiComponentSwizzleA,
473 HgiComponentSwizzleCount
494 enum HgiPrimitiveType
496 HgiPrimitiveTypePointList = 0,
497 HgiPrimitiveTypeLineList,
498 HgiPrimitiveTypeLineStrip,
499 HgiPrimitiveTypeTriangleList,
500 HgiPrimitiveTypePatchList,
502 HgiPrimitiveTypeCount
516 enum HgiSubmitWaitType
518 HgiSubmitWaitTypeNoWait = 0,
519 HgiSubmitWaitTypeWaitUntilCompleted,
533 enum HgiMemoryBarrierBits
535 HgiMemoryBarrierNone = 0,
536 HgiMemoryBarrierAll = 1 << 0
538 using HgiMemoryBarrier = HgiBits;
540 PXR_NAMESPACE_CLOSE_SCOPE