HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
enums.h File Reference
#include "pxr/pxr.h"
#include "pxr/imaging/hgi/api.h"
#include <cstdint>
+ Include dependency graph for enums.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

using HgiBits = uint32_t
 
using HgiDeviceCapabilities = HgiBits
 
using HgiTextureUsage = HgiBits
 
using HgiBufferUsage = HgiBits
 
using HgiShaderStage = HgiBits
 
using HgiColorMask = HgiBits
 
using HgiMemoryBarrier = HgiBits
 

Enumerations

enum  HgiDeviceCapabilitiesBits : HgiBits {
  HgiDeviceCapabilitiesBitsPresentation = 1 << 0, HgiDeviceCapabilitiesBitsBindlessBuffers = 1 << 1, HgiDeviceCapabilitiesBitsConcurrentDispatch = 1 << 2, HgiDeviceCapabilitiesBitsUnifiedMemory = 1 << 3,
  HgiDeviceCapabilitiesBitsBuiltinBarycentrics = 1 << 4, HgiDeviceCapabilitiesBitsShaderDrawParameters = 1 << 5, HgiDeviceCapabilitiesBitsMultiDrawIndirect = 1 << 6, HgiDeviceCapabilitiesBitsBindlessTextures = 1 << 7,
  HgiDeviceCapabilitiesBitsShaderDoublePrecision = 1 << 8, HgiDeviceCapabilitiesBitsDepthRangeMinusOnetoOne = 1 << 9, HgiDeviceCapabilitiesBitsCppShaderPadding = 1 << 10, HgiDeviceCapabilitiesBitsConservativeRaster = 1 << 11,
  HgiDeviceCapabilitiesBitsStencilReadback = 1 << 12, HgiDeviceCapabilitiesBitsCustomDepthRange = 1 << 13, HgiDeviceCapabilitiesBitsMetalTessellation = 1 << 14, HgiDeviceCapabilitiesBitsBasePrimitiveOffset = 1 << 15,
  HgiDeviceCapabilitiesBitsPrimitiveIdEmulation = 1 << 16, HgiDeviceCapabilitiesBitsIndirectCommandBuffers = 1 << 17
}
 
enum  HgiTextureType {
  HgiTextureType1D = 0, HgiTextureType2D, HgiTextureType3D, HgiTextureType1DArray,
  HgiTextureType2DArray, HgiTextureTypeCount
}
 
enum  HgiTextureUsageBits : HgiBits {
  HgiTextureUsageBitsColorTarget = 1 << 0, HgiTextureUsageBitsDepthTarget = 1 << 1, HgiTextureUsageBitsStencilTarget = 1 << 2, HgiTextureUsageBitsShaderRead = 1 << 3,
  HgiTextureUsageBitsShaderWrite = 1 << 4, HgiTextureUsageCustomBitsBegin = 1 << 5
}
 
enum  HgiSamplerAddressMode {
  HgiSamplerAddressModeClampToEdge = 0, HgiSamplerAddressModeMirrorClampToEdge, HgiSamplerAddressModeRepeat, HgiSamplerAddressModeMirrorRepeat,
  HgiSamplerAddressModeClampToBorderColor, HgiSamplerAddressModeCount
}
 
enum  HgiSamplerFilter { HgiSamplerFilterNearest = 0, HgiSamplerFilterLinear = 1, HgiSamplerFilterCount }
 
enum  HgiMipFilter { HgiMipFilterNotMipmapped = 0, HgiMipFilterNearest = 1, HgiMipFilterLinear = 2, HgiMipFilterCount }
 
enum  HgiBorderColor { HgiBorderColorTransparentBlack = 0, HgiBorderColorOpaqueBlack = 1, HgiBorderColorOpaqueWhite = 2, HgiBorderColorCount }
 
enum  HgiSampleCount {
  HgiSampleCount1 = 1, HgiSampleCount2 = 2, HgiSampleCount4 = 4, HgiSampleCount8 = 8,
  HgiSampleCount16 = 16, HgiSampleCountEnd
}
 
enum  HgiAttachmentLoadOp { HgiAttachmentLoadOpDontCare = 0, HgiAttachmentLoadOpClear, HgiAttachmentLoadOpLoad, HgiAttachmentLoadOpCount }
 
enum  HgiAttachmentStoreOp { HgiAttachmentStoreOpDontCare = 0, HgiAttachmentStoreOpStore, HgiAttachmentStoreOpCount }
 
enum  HgiBufferUsageBits : HgiBits {
  HgiBufferUsageUniform = 1 << 0, HgiBufferUsageIndex32 = 1 << 1, HgiBufferUsageVertex = 1 << 2, HgiBufferUsageStorage = 1 << 3,
  HgiBufferUsageCustomBitsBegin = 1 << 4
}
 
enum  HgiShaderStageBits : HgiBits {
  HgiShaderStageVertex = 1 << 0, HgiShaderStageFragment = 1 << 1, HgiShaderStageCompute = 1 << 2, HgiShaderStageTessellationControl = 1 << 3,
  HgiShaderStageTessellationEval = 1 << 4, HgiShaderStageGeometry = 1 << 5, HgiShaderStagePostTessellationControl = 1 << 6, HgiShaderStagePostTessellationVertex = 1 << 7,
  HgiShaderStageCustomBitsBegin = 1 << 8
}
 
enum  HgiBindResourceType {
  HgiBindResourceTypeSampler = 0, HgiBindResourceTypeSampledImage, HgiBindResourceTypeCombinedSamplerImage, HgiBindResourceTypeStorageImage,
  HgiBindResourceTypeUniformBuffer, HgiBindResourceTypeStorageBuffer, HgiBindResourceTypeTessFactors, HgiBindResourceTypeCount
}
 
enum  HgiPolygonMode { HgiPolygonModeFill = 0, HgiPolygonModeLine, HgiPolygonModePoint, HgiPolygonModeCount }
 
enum  HgiCullMode {
  HgiCullModeNone = 0, HgiCullModeFront, HgiCullModeBack, HgiCullModeFrontAndBack,
  HgiCullModeCount
}
 
enum  HgiWinding { HgiWindingClockwise = 0, HgiWindingCounterClockwise, HgiWindingCount }
 
enum  HgiBlendOp {
  HgiBlendOpAdd = 0, HgiBlendOpSubtract, HgiBlendOpReverseSubtract, HgiBlendOpMin,
  HgiBlendOpMax, HgiBlendOpCount
}
 
enum  HgiBlendFactor {
  HgiBlendFactorZero = 0, HgiBlendFactorOne, HgiBlendFactorSrcColor, HgiBlendFactorOneMinusSrcColor,
  HgiBlendFactorDstColor, HgiBlendFactorOneMinusDstColor, HgiBlendFactorSrcAlpha, HgiBlendFactorOneMinusSrcAlpha,
  HgiBlendFactorDstAlpha, HgiBlendFactorOneMinusDstAlpha, HgiBlendFactorConstantColor, HgiBlendFactorOneMinusConstantColor,
  HgiBlendFactorConstantAlpha, HgiBlendFactorOneMinusConstantAlpha, HgiBlendFactorSrcAlphaSaturate, HgiBlendFactorSrc1Color,
  HgiBlendFactorOneMinusSrc1Color, HgiBlendFactorSrc1Alpha, HgiBlendFactorOneMinusSrc1Alpha, HgiBlendFactorCount
}
 
enum  HgiColorMaskBits : HgiBits { HgiColorMaskRed = 1 << 0, HgiColorMaskGreen = 1 << 1, HgiColorMaskBlue = 1 << 2, HgiColorMaskAlpha = 1 << 3 }
 
enum  HgiCompareFunction {
  HgiCompareFunctionNever = 0, HgiCompareFunctionLess, HgiCompareFunctionEqual, HgiCompareFunctionLEqual,
  HgiCompareFunctionGreater, HgiCompareFunctionNotEqual, HgiCompareFunctionGEqual, HgiCompareFunctionAlways,
  HgiCompareFunctionCount
}
 
enum  HgiStencilOp {
  HgiStencilOpKeep = 0, HgiStencilOpZero, HgiStencilOpReplace, HgiStencilOpIncrementClamp,
  HgiStencilOpDecrementClamp, HgiStencilOpInvert, HgiStencilOpIncrementWrap, HgiStencilOpDecrementWrap,
  HgiStencilOpCount
}
 
enum  HgiComponentSwizzle {
  HgiComponentSwizzleZero = 0, HgiComponentSwizzleOne, HgiComponentSwizzleR, HgiComponentSwizzleG,
  HgiComponentSwizzleB, HgiComponentSwizzleA, HgiComponentSwizzleCount
}
 
enum  HgiPrimitiveType {
  HgiPrimitiveTypePointList = 0, HgiPrimitiveTypeLineList, HgiPrimitiveTypeLineStrip, HgiPrimitiveTypeTriangleList,
  HgiPrimitiveTypePatchList, HgiPrimitiveTypeLineListWithAdjacency, HgiPrimitiveTypeCount
}
 
enum  HgiVertexBufferStepFunction {
  HgiVertexBufferStepFunctionConstant = 0, HgiVertexBufferStepFunctionPerVertex, HgiVertexBufferStepFunctionPerInstance, HgiVertexBufferStepFunctionPerPatch,
  HgiVertexBufferStepFunctionPerPatchControlPoint, HgiVertexBufferStepFunctionPerDrawCommand, HgiVertexBufferStepFunctionCount
}
 
enum  HgiSubmitWaitType { HgiSubmitWaitTypeNoWait = 0, HgiSubmitWaitTypeWaitUntilCompleted }
 
enum  HgiMemoryBarrierBits { HgiMemoryBarrierNone = 0, HgiMemoryBarrierAll = 1 << 0 }
 
enum  HgiBindingType {
  HgiBindingTypeValue = 0, HgiBindingTypeUniformValue, HgiBindingTypeArray, HgiBindingTypeUniformArray,
  HgiBindingTypePointer
}
 
enum  HgiInterpolationType { HgiInterpolationDefault = 0, HgiInterpolationFlat, HgiInterpolationNoPerspective }
 
enum  HgiSamplingType { HgiSamplingDefault = 0, HgiSamplingCentroid, HgiSamplingSample }
 
enum  HgiStorageType { HgiStorageDefault = 0, HgiStoragePatch }
 
enum  HgiShaderTextureType { HgiShaderTextureTypeTexture = 0, HgiShaderTextureTypeShadowTexture, HgiShaderTextureTypeArrayTexture }
 
enum  HgiComputeDispatch { HgiComputeDispatchSerial = 0, HgiComputeDispatchConcurrent }
 

Typedef Documentation

using HgiBits = uint32_t

Definition at line 33 of file enums.h.

Definition at line 328 of file enums.h.

Definition at line 534 of file enums.h.

Definition at line 102 of file enums.h.

Definition at line 685 of file enums.h.

Definition at line 370 of file enums.h.

Definition at line 167 of file enums.h.

Enumeration Type Documentation

Describes what will happen to the attachment pixel data prior to rendering.

  • HgiAttachmentLoadOpDontCare: All pixels are rendered to. Pixel data in render target starts undefined.
  • HgiAttachmentLoadOpClear: The attachment pixel data is cleared to a specified color value.
  • HgiAttachmentLoadOpLoad: Previous pixel data is loaded into attachment prior to rendering.
Enumerator
HgiAttachmentLoadOpDontCare 
HgiAttachmentLoadOpClear 
HgiAttachmentLoadOpLoad 
HgiAttachmentLoadOpCount 

Definition at line 272 of file enums.h.

Describes what will happen to the attachment pixel data after rendering.

  • HgiAttachmentStoreOpDontCare: Pixel data is undefined after rendering has completed (no store cost)
  • HgiAttachmentStoreOpStore: The attachment pixel data is stored in memory.
Enumerator
HgiAttachmentStoreOpDontCare 
HgiAttachmentStoreOpStore 
HgiAttachmentStoreOpCount 

Definition at line 292 of file enums.h.

Describes the type of shader resource binding model to use.

  • HgiBindingTypeValue: Shader declares binding as a value. Glsl example: buffer { int parameter; }; Msl example: int parameter;
  • HgiBindingTypeUniformValue: Shader declares binding as a uniform block value. Glsl example: uniform { int parameter; }; Msl example: int parameter;
  • HgiBindingTypeArray: Shader declares binding as array value. Glsl example: buffer { int parameter[n]; }; Msl example: int parameter[n];
  • HgiBindingTypeUniformArray: Shader declares binding as uniform block array value. Glsl example: uniform { int parameter[n]; }; Msl example: int parameter[n];
  • HgiBindingTypePointer: Shader declares binding as pointer value. Glsl example: buffer { int parameter[] }; Msl example: int *parameter;
Enumerator
HgiBindingTypeValue 
HgiBindingTypeUniformValue 
HgiBindingTypeArray 
HgiBindingTypeUniformArray 
HgiBindingTypePointer 

Definition at line 714 of file enums.h.

Describes the type of the resource to be bound.

  • HgiBindResourceTypeSampler: Sampler. Glsl example: uniform sampler samplerOnly
  • HgiBindResourceTypeSampledImage: Image for use with sampling ops. Glsl example: uniform texture2D textureOnly texture(sampler2D(textureOnly, samplerOnly), ...)
  • HgiBindResourceTypeCombinedSamplerImage: Image and sampler combined into one. Glsl example: uniform sampler2D texSmp; texture(texSmp, ...)
  • HgiBindResourceTypeStorageImage: Storage image used for image store/load ops (Unordered Access View).
  • HgiBindResourceTypeUniformBuffer: Uniform buffer (UBO).
  • HgiBindResourceTypeStorageBuffer: Shader storage buffer (SSBO).
  • HgiBindResourceTypeTessFactors: Tessellation factors for Metal tessellation.
Enumerator
HgiBindResourceTypeSampler 
HgiBindResourceTypeSampledImage 
HgiBindResourceTypeCombinedSamplerImage 
HgiBindResourceTypeStorageImage 
HgiBindResourceTypeUniformBuffer 
HgiBindResourceTypeStorageBuffer 
HgiBindResourceTypeTessFactors 
HgiBindResourceTypeCount 

Definition at line 398 of file enums.h.

Blend factors

Enumerator
HgiBlendFactorZero 
HgiBlendFactorOne 
HgiBlendFactorSrcColor 
HgiBlendFactorOneMinusSrcColor 
HgiBlendFactorDstColor 
HgiBlendFactorOneMinusDstColor 
HgiBlendFactorSrcAlpha 
HgiBlendFactorOneMinusSrcAlpha 
HgiBlendFactorDstAlpha 
HgiBlendFactorOneMinusDstAlpha 
HgiBlendFactorConstantColor 
HgiBlendFactorOneMinusConstantColor 
HgiBlendFactorConstantAlpha 
HgiBlendFactorOneMinusConstantAlpha 
HgiBlendFactorSrcAlphaSaturate 
HgiBlendFactorSrc1Color 
HgiBlendFactorOneMinusSrc1Color 
HgiBlendFactorSrc1Alpha 
HgiBlendFactorOneMinusSrc1Alpha 
HgiBlendFactorCount 

Definition at line 497 of file enums.h.

enum HgiBlendOp

Blend operations

Enumerator
HgiBlendOpAdd 
HgiBlendOpSubtract 
HgiBlendOpReverseSubtract 
HgiBlendOpMin 
HgiBlendOpMax 
HgiBlendOpCount 

Definition at line 482 of file enums.h.

Border color to use for clamped texture values.

  • HgiBorderColorTransparentBlack
  • HgiBorderColorOpaqueBlack
  • HgiBorderColorOpaqueWhite
Enumerator
HgiBorderColorTransparentBlack 
HgiBorderColorOpaqueBlack 
HgiBorderColorOpaqueWhite 
HgiBorderColorCount 

Definition at line 235 of file enums.h.

Describes the properties and usage of the buffer.

  • HgiBufferUsageUniform: Shader uniform buffer
  • HgiBufferUsageIndex32: Topology 32 bit indices.
  • HgiBufferUsageVertex: Vertex attributes.
  • HgiBufferUsageStorage: Shader storage buffer / Argument buffer.

  • HgiBufferUsageCustomBitsBegin: This bit (and any bit after) can be used to attached custom, backend specific bits to the usage bit.
Enumerator
HgiBufferUsageUniform 
HgiBufferUsageIndex32 
HgiBufferUsageVertex 
HgiBufferUsageStorage 
HgiBufferUsageCustomBitsBegin 

Definition at line 319 of file enums.h.

Describes whether to permit or restrict writing to color components of a color attachment.

Enumerator
HgiColorMaskRed 
HgiColorMaskGreen 
HgiColorMaskBlue 
HgiColorMaskAlpha 

Definition at line 527 of file enums.h.

Compare functions.

Enumerator
HgiCompareFunctionNever 
HgiCompareFunctionLess 
HgiCompareFunctionEqual 
HgiCompareFunctionLEqual 
HgiCompareFunctionGreater 
HgiCompareFunctionNotEqual 
HgiCompareFunctionGEqual 
HgiCompareFunctionAlways 
HgiCompareFunctionCount 

Definition at line 540 of file enums.h.

Swizzle for a component.

Enumerator
HgiComponentSwizzleZero 
HgiComponentSwizzleOne 
HgiComponentSwizzleR 
HgiComponentSwizzleG 
HgiComponentSwizzleB 
HgiComponentSwizzleA 
HgiComponentSwizzleCount 

Definition at line 576 of file enums.h.

Specifies the dispatch method for compute encoders.

  • HgiComputeDispatchSerial: Kernels are dispatched serially.
  • HgiComputeDispatchConcurrent: Kernels are dispatched concurrently, if supported by the API
Enumerator
HgiComputeDispatchSerial 
HgiComputeDispatchConcurrent 

Definition at line 825 of file enums.h.

Controls primitive (faces) culling.

  • HgiPolygonModeNone: No primitive are discarded.
  • HgiPolygonModeFront: Front-facing primitive are discarded.
  • HgiPolygonModeBack: Back-facing primitive are discarded.
  • HgiPolygonModeFrontAndBack: All primitive are discarded.
Enumerator
HgiCullModeNone 
HgiCullModeFront 
HgiCullModeBack 
HgiCullModeFrontAndBack 
HgiCullModeCount 

Definition at line 448 of file enums.h.

Describes what capabilities the requested device must have.

  • HgiDeviceCapabilitiesBitsPresentation: The device must be capable of presenting graphics to screen
  • HgiDeviceCapabilitiesBitsBindlessBuffers: THe device can access GPU buffers using bindless handles
  • HgiDeviceCapabilitiesBitsConcurrentDispatch: The device can execute commands concurrently
  • HgiDeviceCapabilitiesBitsUnifiedMemory: The device shares all GPU and CPU memory
  • HgiDeviceCapabilitiesBitsBuiltinBarycentrics: The device can provide built-in barycentric coordinates
  • HgiDeviceCapabilitiesBitsShaderDrawParameters: The device can provide additional built-in shader variables corresponding to draw command parameters
  • HgiDeviceCapabilitiesBitsMultiDrawIndirect: The device supports multiple primitive, indirect drawing
  • HgiDeviceCapabilitiesBitsBindlessTextures: The device can access GPU textures using bindless handles
  • HgiDeviceCapabilitiesBitsShaderDoublePrecision: The device supports double precision types in shaders
  • HgiDeviceCapabilitiesBitsDepthRangeMinusOnetoOne: The device's clip space depth ranges from [-1,1]
  • HgiDeviceCapabilitiesBitsCppShaderPadding: Use CPP padding for shader language structures
  • HgiDeviceCapabilitiesBitsConservativeRaster: The device supports conservative rasterization
  • HgiDeviceCapabilitiesBitsStencilReadback: Supports reading back the stencil buffer from GPU to CPU.
  • HgiDeviceCapabilitiesBitsCustomDepthRange: The device supports setting a custom depth range.
  • HgiDeviceCapabilitiesBitsMetalTessellation: Supports Metal tessellation shaders
  • HgiDeviceCapabilitiesBitsBasePrimitiveOffset: The device requires workaround for base primitive offset
  • HgiDeviceCapabilitiesBitsPrimitiveIdEmulation: The device requires workaround for primitive id
  • HgiDeviceCapabilitiesBitsIndirectCommandBuffers: Indirect command buffers are supported
Enumerator
HgiDeviceCapabilitiesBitsPresentation 
HgiDeviceCapabilitiesBitsBindlessBuffers 
HgiDeviceCapabilitiesBitsConcurrentDispatch 
HgiDeviceCapabilitiesBitsUnifiedMemory 
HgiDeviceCapabilitiesBitsBuiltinBarycentrics 
HgiDeviceCapabilitiesBitsShaderDrawParameters 
HgiDeviceCapabilitiesBitsMultiDrawIndirect 
HgiDeviceCapabilitiesBitsBindlessTextures 
HgiDeviceCapabilitiesBitsShaderDoublePrecision 
HgiDeviceCapabilitiesBitsDepthRangeMinusOnetoOne 
HgiDeviceCapabilitiesBitsCppShaderPadding 
HgiDeviceCapabilitiesBitsConservativeRaster 
HgiDeviceCapabilitiesBitsStencilReadback 
HgiDeviceCapabilitiesBitsCustomDepthRange 
HgiDeviceCapabilitiesBitsMetalTessellation 
HgiDeviceCapabilitiesBitsBasePrimitiveOffset 
HgiDeviceCapabilitiesBitsPrimitiveIdEmulation 
HgiDeviceCapabilitiesBitsIndirectCommandBuffers 

Definition at line 80 of file enums.h.

Describes the type of parameter interpolation.

  • HgiInterpolationDefault: The shader input will have default interpolation. Glsl example: vec2 parameter; Msl example: vec2 parameter;
  • HgiInterpolationFlat: The shader input will have no interpolation. Glsl example: flat vec2 parameter; Msl example: vec2 parameter[[flat]];
  • HgiBindingTypeNoPerspective: The shader input will be linearly interpolated in screen-space Glsl example: noperspective vec2 parameter; Msl example: vec2 parameter[[center_no_perspective]];
Enumerator
HgiInterpolationDefault 
HgiInterpolationFlat 
HgiInterpolationNoPerspective 

Definition at line 742 of file enums.h.

Enumerator
HgiMemoryBarrierNone 
HgiMemoryBarrierAll 

Definition at line 680 of file enums.h.

Sampler filtering modes that determine the pixel value that is returned.

  • HgiMipFilterNotMipmapped: Texture is always sampled at mipmap level 0. (ie. max lod=0)
  • HgiMipFilterNearest: Returns the value of a single mipmap level.
  • HgiMipFilterLinear: Linear interpolates the values of up to two mipmap levels.
Enumerator
HgiMipFilterNotMipmapped 
HgiMipFilterNearest 
HgiMipFilterLinear 
HgiMipFilterCount 

Definition at line 216 of file enums.h.

Controls polygon mode during rasterization

  • HgiPolygonModeFill: Polygons are filled.
  • HgiPolygonModeLine: Polygon edges are drawn as line segments.
  • HgiPolygonModePoint: Polygon vertices are drawn as points.
Enumerator
HgiPolygonModeFill 
HgiPolygonModeLine 
HgiPolygonModePoint 
HgiPolygonModeCount 

Definition at line 424 of file enums.h.

What the stream of vertices being rendered represents

  • HgiPrimitiveTypePointList: Rasterize a point at each vertex.
  • HgiPrimitiveTypeLineList: Rasterize a line between each separate pair of vertices.
  • HgiPrimitiveTypeLineStrip: Rasterize a line between each pair of adjacent vertices.
  • HgiPrimitiveTypeTriangleList: Rasterize a triangle for every separate set of three vertices.
  • HgiPrimitiveTypePatchList: A user-defined number of vertices, which is tessellated into points, lines, or triangles.
  • HgiPrimitiveTypeLineListWithAdjacency: A four-vertex encoding used to draw untriangulated quads. Rasterize two triangles for every separate set of four vertices.
Enumerator
HgiPrimitiveTypePointList 
HgiPrimitiveTypeLineList 
HgiPrimitiveTypeLineStrip 
HgiPrimitiveTypeTriangleList 
HgiPrimitiveTypePatchList 
HgiPrimitiveTypeLineListWithAdjacency 
HgiPrimitiveTypeCount 

Definition at line 609 of file enums.h.

Sample count for multi-sampling

Enumerator
HgiSampleCount1 
HgiSampleCount2 
HgiSampleCount4 
HgiSampleCount8 
HgiSampleCount16 
HgiSampleCountEnd 

Definition at line 248 of file enums.h.

Various modes used during sampling of a texture.

Enumerator
HgiSamplerAddressModeClampToEdge 
HgiSamplerAddressModeMirrorClampToEdge 
HgiSamplerAddressModeRepeat 
HgiSamplerAddressModeMirrorRepeat 
HgiSamplerAddressModeClampToBorderColor 
HgiSamplerAddressModeCount 

Definition at line 173 of file enums.h.

Sampler filtering modes that determine the pixel value that is returned.

  • HgiSamplerFilterNearest: Returns the value of a single mipmap level.
  • HgiSamplerFilterLinear: Combines the values of multiple mipmap levels.
Enumerator
HgiSamplerFilterNearest 
HgiSamplerFilterLinear 
HgiSamplerFilterCount 

Definition at line 195 of file enums.h.

Describes the type of parameter sampling.

  • HgiSamplingDefault: The shader input will have default sampling. Glsl example: vec2 parameter; Msl example: vec2 parameter;
  • HgiSamplingCentroid: The shader input will have centroid sampling. Glsl example: centroid vec2 parameter; Msl example: vec2 parameter[[centroid_perspective]];
  • HgiSamplingSample: The shader input will have per-sample sampling. Glsl example: sample vec2 parameter; Msl example: vec2 parameter[[sample_perspective]];
Enumerator
HgiSamplingDefault 
HgiSamplingCentroid 
HgiSamplingSample 

Definition at line 768 of file enums.h.

Enumerator
HgiShaderStageVertex 
HgiShaderStageFragment 
HgiShaderStageCompute 
HgiShaderStageTessellationControl 
HgiShaderStageTessellationEval 
HgiShaderStageGeometry 
HgiShaderStagePostTessellationControl 
HgiShaderStagePostTessellationVertex 
HgiShaderStageCustomBitsBegin 

Definition at line 358 of file enums.h.

Describes the type of texture to be used in shader gen.

  • HgiShaderTextureTypeTexture: Indicates a regular texture.
  • HgiShaderTextureTypeShadowTexture: Indicates a shadow texture.
  • HgiShaderTextureTypeArrayTexture: Indicates an array texture.
Enumerator
HgiShaderTextureTypeTexture 
HgiShaderTextureTypeShadowTexture 
HgiShaderTextureTypeArrayTexture 

Definition at line 807 of file enums.h.

Stencil operations.

Enumerator
HgiStencilOpKeep 
HgiStencilOpZero 
HgiStencilOpReplace 
HgiStencilOpIncrementClamp 
HgiStencilOpDecrementClamp 
HgiStencilOpInvert 
HgiStencilOpIncrementWrap 
HgiStencilOpDecrementWrap 
HgiStencilOpCount 

Definition at line 558 of file enums.h.

Describes the type of parameter storage.

  • HgiStorageDefault: The shader input will have default storage. Glsl example: vec2 parameter;
  • HgiStoragePatch: The shader input will have per-patch storage. Glsl example: patch vec2 parameter;
Enumerator
HgiStorageDefault 
HgiStoragePatch 

Definition at line 788 of file enums.h.

Describes command submission wait behavior.

  • HgiSubmitWaitTypeNoWait: CPU should not wait for the GPU to finish processing the cmds.
  • HgiSubmitWaitTypeWaitUntilCompleted: The CPU waits ("blocked") until the GPU has consumed the cmds.
Enumerator
HgiSubmitWaitTypeNoWait 
HgiSubmitWaitTypeWaitUntilCompleted 

Definition at line 663 of file enums.h.

Describes the kind of texture.

  • HgiTextureType1D: A one-dimensional texture.
  • HgiTextureType2D: A two-dimensional texture.
  • HgiTextureType3D: A three-dimensional texture.
  • HgiTextureType1DArray: An array of one-dimensional textures.
  • HgiTextureType2DArray: An array of two-dimensional textures.
Enumerator
HgiTextureType1D 
HgiTextureType2D 
HgiTextureType3D 
HgiTextureType1DArray 
HgiTextureType2DArray 
HgiTextureTypeCount 

Definition at line 121 of file enums.h.

Describes how the texture will be used. If a texture has multiple uses you can combine multiple bits.

  • HgiTextureUsageBitsColorTarget: The texture is a color attachment rendered into via a render pass.
  • HgiTextureUsageBitsDepthTarget: The texture is a depth attachment rendered into via a render pass.
  • HgiTextureUsageBitsStencilTarget: The texture is a stencil attachment rendered into via a render pass.
  • HgiTextureUsageBitsShaderRead: The texture is sampled from in a shader (sampling)
  • HgiTextureUsageBitsShaderWrite: The texture is written into from in a shader (image store) When a texture is used as HgiBindResourceTypeStorageImage you must add this flag (even if you only read from the image).

  • HgiTextureUsageCustomBitsBegin: This bit (and any bit after) can be used to attached custom, backend specific bits to the usage bit.
Enumerator
HgiTextureUsageBitsColorTarget 
HgiTextureUsageBitsDepthTarget 
HgiTextureUsageBitsStencilTarget 
HgiTextureUsageBitsShaderRead 
HgiTextureUsageBitsShaderWrite 
HgiTextureUsageCustomBitsBegin 

Definition at line 156 of file enums.h.

Describes the rate at which vertex attributes are pulled from buffers.

  • HgiVertexBufferStepFunctionConstant: The same attribute data is used for every vertex.
  • HgiVertexBufferStepFunctionPerVertex: New attribute data is fetched for each vertex.
  • HgiVertexBufferStepFunctionPerInstance: New attribute data is fetched for each instance.
  • HgiVertexBufferStepFunctionPerPatch: New attribute data is fetched for each patch.
  • HgiVertexBufferStepFunctionPerPatchControlPoint: New attribute data is fetched for each patch control point.
  • HgiVertexBufferStepFunctionPerDrawCommand: New attribute data is fetched for each draw in a multi-draw command.
Enumerator
HgiVertexBufferStepFunctionConstant 
HgiVertexBufferStepFunctionPerVertex 
HgiVertexBufferStepFunctionPerInstance 
HgiVertexBufferStepFunctionPerPatch 
HgiVertexBufferStepFunctionPerPatchControlPoint 
HgiVertexBufferStepFunctionPerDrawCommand 
HgiVertexBufferStepFunctionCount 

Definition at line 640 of file enums.h.

enum HgiWinding

Determines the front-facing orientation of a primitive (face).

  • HgiWindingClockwise: Primitives with clockwise vertex-order are front facing.
  • HgiWindingCounterClockwise: Primitives with counter-clockwise vertex-order are front facing.
Enumerator
HgiWindingClockwise 
HgiWindingCounterClockwise 
HgiWindingCount 

Definition at line 469 of file enums.h.