7#ifndef PXR_IMAGING_HGI_ENUMS_H
8#define PXR_IMAGING_HGI_ENUMS_H
11#include "pxr/imaging/hgi/api.h"
14PXR_NAMESPACE_OPEN_SCOPE
16using HgiBits = uint32_t;
65enum HgiDeviceCapabilitiesBits : HgiBits
67 HgiDeviceCapabilitiesBitsPresentation = 1 << 0,
68 HgiDeviceCapabilitiesBitsBindlessBuffers = 1 << 1,
69 HgiDeviceCapabilitiesBitsConcurrentDispatch = 1 << 2,
70 HgiDeviceCapabilitiesBitsUnifiedMemory = 1 << 3,
71 HgiDeviceCapabilitiesBitsBuiltinBarycentrics = 1 << 4,
72 HgiDeviceCapabilitiesBitsShaderDrawParameters = 1 << 5,
73 HgiDeviceCapabilitiesBitsMultiDrawIndirect = 1 << 6,
74 HgiDeviceCapabilitiesBitsBindlessTextures = 1 << 7,
75 HgiDeviceCapabilitiesBitsShaderDoublePrecision = 1 << 8,
76 HgiDeviceCapabilitiesBitsDepthRangeMinusOnetoOne = 1 << 9,
77 HgiDeviceCapabilitiesBitsCppShaderPadding = 1 << 10,
78 HgiDeviceCapabilitiesBitsConservativeRaster = 1 << 11,
79 HgiDeviceCapabilitiesBitsStencilReadback = 1 << 12,
80 HgiDeviceCapabilitiesBitsCustomDepthRange = 1 << 13,
81 HgiDeviceCapabilitiesBitsMetalTessellation = 1 << 14,
82 HgiDeviceCapabilitiesBitsBasePrimitiveOffset = 1 << 15,
83 HgiDeviceCapabilitiesBitsPrimitiveIdEmulation = 1 << 16,
84 HgiDeviceCapabilitiesBitsIndirectCommandBuffers = 1 << 17,
85 HgiDeviceCapabilitiesBitsRoundPoints = 1 << 18,
88using HgiDeviceCapabilities = HgiBits;
109 HgiTextureType1D = 0,
112 HgiTextureType1DArray,
113 HgiTextureType2DArray,
142enum HgiTextureUsageBits : HgiBits
144 HgiTextureUsageBitsColorTarget = 1 << 0,
145 HgiTextureUsageBitsDepthTarget = 1 << 1,
146 HgiTextureUsageBitsStencilTarget = 1 << 2,
147 HgiTextureUsageBitsShaderRead = 1 << 3,
148 HgiTextureUsageBitsShaderWrite = 1 << 4,
150 HgiTextureUsageCustomBitsBegin = 1 << 5,
153using HgiTextureUsage = HgiBits;
159enum HgiSamplerAddressMode
161 HgiSamplerAddressModeClampToEdge = 0,
162 HgiSamplerAddressModeMirrorClampToEdge,
163 HgiSamplerAddressModeRepeat,
164 HgiSamplerAddressModeMirrorRepeat,
165 HgiSamplerAddressModeClampToBorderColor,
167 HgiSamplerAddressModeCount
183 HgiSamplerFilterNearest = 0,
184 HgiSamplerFilterLinear = 1,
186 HgiSamplerFilterCount
204 HgiMipFilterNotMipmapped = 0,
205 HgiMipFilterNearest = 1,
206 HgiMipFilterLinear = 2,
223 HgiBorderColorTransparentBlack = 0,
224 HgiBorderColorOpaqueBlack = 1,
225 HgiBorderColorOpaqueWhite = 2,
240 HgiSampleCount16 = 16,
258enum HgiAttachmentLoadOp
260 HgiAttachmentLoadOpDontCare = 0,
261 HgiAttachmentLoadOpClear,
262 HgiAttachmentLoadOpLoad,
264 HgiAttachmentLoadOpCount
278enum HgiAttachmentStoreOp
280 HgiAttachmentStoreOpDontCare = 0,
281 HgiAttachmentStoreOpStore,
283 HgiAttachmentStoreOpCount
305enum HgiBufferUsageBits : HgiBits
307 HgiBufferUsageUniform = 1 << 0,
308 HgiBufferUsageIndex32 = 1 << 1,
309 HgiBufferUsageVertex = 1 << 2,
310 HgiBufferUsageStorage = 1 << 3,
311 HgiBufferUsageIndirect = 1 << 4,
313 HgiBufferUsageCustomBitsBegin = 1 << 5,
315using HgiBufferUsage = HgiBits;
345enum HgiShaderStageBits : HgiBits
347 HgiShaderStageVertex = 1 << 0,
348 HgiShaderStageFragment = 1 << 1,
349 HgiShaderStageCompute = 1 << 2,
350 HgiShaderStageTessellationControl = 1 << 3,
351 HgiShaderStageTessellationEval = 1 << 4,
352 HgiShaderStageGeometry = 1 << 5,
353 HgiShaderStagePostTessellationControl = 1 << 6,
354 HgiShaderStagePostTessellationVertex = 1 << 7,
355 HgiShaderStageCustomBitsBegin = 1 << 8,
357using HgiShaderStage = HgiBits;
385enum HgiBindResourceType
387 HgiBindResourceTypeSampler = 0,
388 HgiBindResourceTypeSampledImage,
389 HgiBindResourceTypeCombinedSamplerImage,
390 HgiBindResourceTypeStorageImage,
391 HgiBindResourceTypeUniformBuffer,
392 HgiBindResourceTypeStorageBuffer,
393 HgiBindResourceTypeTessFactors,
395 HgiBindResourceTypeCount
413 HgiPolygonModeFill = 0,
440 HgiCullModeFrontAndBack,
458 HgiWindingClockwise = 0,
459 HgiWindingCounterClockwise,
473 HgiBlendOpReverseSubtract,
486 HgiBlendFactorZero = 0,
488 HgiBlendFactorSrcColor,
489 HgiBlendFactorOneMinusSrcColor,
490 HgiBlendFactorDstColor,
491 HgiBlendFactorOneMinusDstColor,
492 HgiBlendFactorSrcAlpha,
493 HgiBlendFactorOneMinusSrcAlpha,
494 HgiBlendFactorDstAlpha,
495 HgiBlendFactorOneMinusDstAlpha,
496 HgiBlendFactorConstantColor,
497 HgiBlendFactorOneMinusConstantColor,
498 HgiBlendFactorConstantAlpha,
499 HgiBlendFactorOneMinusConstantAlpha,
500 HgiBlendFactorSrcAlphaSaturate,
501 HgiBlendFactorSrc1Color,
502 HgiBlendFactorOneMinusSrc1Color,
503 HgiBlendFactorSrc1Alpha,
504 HgiBlendFactorOneMinusSrc1Alpha,
514enum HgiColorMaskBits : HgiBits
516 HgiColorMaskRed = 1 << 0,
517 HgiColorMaskGreen = 1 << 1,
518 HgiColorMaskBlue = 1 << 2,
519 HgiColorMaskAlpha = 1 << 3,
521using HgiColorMask = HgiBits;
527enum HgiCompareFunction
529 HgiCompareFunctionNever = 0,
530 HgiCompareFunctionLess,
531 HgiCompareFunctionEqual,
532 HgiCompareFunctionLEqual,
533 HgiCompareFunctionGreater,
534 HgiCompareFunctionNotEqual,
535 HgiCompareFunctionGEqual,
536 HgiCompareFunctionAlways,
538 HgiCompareFunctionCount
547 HgiStencilOpKeep = 0,
550 HgiStencilOpIncrementClamp,
551 HgiStencilOpDecrementClamp,
553 HgiStencilOpIncrementWrap,
554 HgiStencilOpDecrementWrap,
563enum HgiComponentSwizzle
565 HgiComponentSwizzleZero = 0,
566 HgiComponentSwizzleOne,
567 HgiComponentSwizzleR,
568 HgiComponentSwizzleG,
569 HgiComponentSwizzleB,
570 HgiComponentSwizzleA,
572 HgiComponentSwizzleCount
598 HgiPrimitiveTypePointList = 0,
599 HgiPrimitiveTypeLineList,
600 HgiPrimitiveTypeLineStrip,
601 HgiPrimitiveTypeTriangleList,
602 HgiPrimitiveTypePatchList,
603 HgiPrimitiveTypeLineListWithAdjacency,
605 HgiPrimitiveTypeCount
627enum HgiVertexBufferStepFunction
629 HgiVertexBufferStepFunctionConstant = 0,
630 HgiVertexBufferStepFunctionPerVertex,
631 HgiVertexBufferStepFunctionPerInstance,
632 HgiVertexBufferStepFunctionPerPatch,
633 HgiVertexBufferStepFunctionPerPatchControlPoint,
634 HgiVertexBufferStepFunctionPerDrawCommand,
636 HgiVertexBufferStepFunctionCount
650enum HgiSubmitWaitType
652 HgiSubmitWaitTypeNoWait = 0,
653 HgiSubmitWaitTypeWaitUntilCompleted,
667enum HgiMemoryBarrierBits
669 HgiMemoryBarrierNone = 0,
670 HgiMemoryBarrierAll = 1 << 0
672using HgiMemoryBarrier = HgiBits;
703 HgiBindingTypeValue = 0,
704 HgiBindingTypeUniformValue,
706 HgiBindingTypeUniformArray,
707 HgiBindingTypePointer,
729enum HgiInterpolationType
731 HgiInterpolationDefault = 0,
732 HgiInterpolationFlat,
733 HgiInterpolationNoPerspective,
757 HgiSamplingDefault = 0,
777 HgiStorageDefault = 0,
794enum HgiShaderTextureType
796 HgiShaderTextureTypeTexture = 0,
797 HgiShaderTextureTypeShadowTexture,
798 HgiShaderTextureTypeArrayTexture
812enum HgiComputeDispatch
814 HgiComputeDispatchSerial = 0,
815 HgiComputeDispatchConcurrent
818PXR_NAMESPACE_CLOSE_SCOPE