HDK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
enums.h
Go to the documentation of this file.
1
//
2
// Copyright 2019 Pixar
3
//
4
// Licensed under the Apache License, Version 2.0 (the "Apache License")
5
// with the following modification; you may not use this file except in
6
// compliance with the Apache License and the following modification to it:
7
// Section 6. Trademarks. is deleted and replaced with:
8
//
9
// 6. Trademarks. This License does not grant permission to use the trade
10
// names, trademarks, service marks, or product names of the Licensor
11
// and its affiliates, except as required to comply with Section 4(c) of
12
// the License and to reproduce the content of the NOTICE file.
13
//
14
// You may obtain a copy of the Apache License at
15
//
16
// http://www.apache.org/licenses/LICENSE-2.0
17
//
18
// Unless required by applicable law or agreed to in writing, software
19
// distributed under the Apache License with the above modification is
20
// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21
// KIND, either express or implied. See the Apache License for the specific
22
// language governing permissions and limitations under the Apache License.
23
//
24
#ifndef PXR_IMAGING_HGI_ENUMS_H
25
#define PXR_IMAGING_HGI_ENUMS_H
26
27
#include "
pxr/pxr.h
"
28
#include "
pxr/imaging/hgi/api.h
"
29
#include <cstdint>
30
31
PXR_NAMESPACE_OPEN_SCOPE
32
33
using
HgiBits
= uint32_t;
34
35
36
/// \enum HgiDeviceCapabilitiesBits
37
///
38
/// Describes what capabilities the requested device must have.
39
///
40
/// <ul>
41
/// <li>HgiDeviceCapabilitiesBitsPresentation:
42
/// The device must be capable of presenting graphics to screen</li>
43
/// <li>HgiDeviceCapabilitiesBitsBindlessBuffers:
44
/// THe device can access GPU buffers using bindless handles</li>
45
/// <li>HgiDeviceCapabilitiesBitsConcurrentDispatch:
46
/// The device can execute commands concurrently</li>
47
/// <li>HgiDeviceCapabilitiesBitsUnifiedMemory:
48
/// The device shares all GPU and CPU memory</li>
49
/// <li>HgiDeviceCapabilitiesBitsBuiltinBarycentrics:
50
/// The device can provide built-in barycentric coordinates</li>
51
/// <li>HgiDeviceCapabilitiesBitsShaderDrawParameters:
52
/// The device can provide additional built-in shader variables corresponding
53
/// to draw command parameters</li>
54
/// <li>HgiDeviceCapabilitiesBitsMultiDrawIndirect:
55
/// The device supports multiple primitive, indirect drawing</li>
56
/// <li>HgiDeviceCapabilitiesBitsBindlessTextures:
57
/// The device can access GPU textures using bindless handles</li>
58
/// <li>HgiDeviceCapabilitiesBitsShaderDoublePrecision:
59
/// The device supports double precision types in shaders</li>
60
/// <li>HgiDeviceCapabilitiesBitsDepthRangeMinusOnetoOne:
61
/// The device's clip space depth ranges from [-1,1]</li>
62
/// <li>HgiDeviceCapabilitiesBitsCppShaderPadding:
63
/// Use CPP padding for shader language structures</li>
64
/// <li>HgiDeviceCapabilitiesBitsConservativeRaster:
65
/// The device supports conservative rasterization</li>
66
/// <li>HgiDeviceCapabilitiesBitsStencilReadback:
67
/// Supports reading back the stencil buffer from GPU to CPU.</li>
68
/// <li>HgiDeviceCapabilitiesBitsCustomDepthRange:
69
/// The device supports setting a custom depth range.</li>
70
/// <li>HgiDeviceCapabilitiesBitsMetalTessellation:
71
/// Supports Metal tessellation shaders</li>
72
/// <li>HgiDeviceCapabilitiesBitsBasePrimitiveOffset:
73
/// The device requires workaround for base primitive offset</li>
74
/// <li>HgiDeviceCapabilitiesBitsPrimitiveIdEmulation:
75
/// The device requires workaround for primitive id</li>
76
/// <li>HgiDeviceCapabilitiesBitsIndirectCommandBuffers:
77
/// Indirect command buffers are supported</li>
78
/// </ul>
79
///
80
enum
HgiDeviceCapabilitiesBits
:
HgiBits
81
{
82
HgiDeviceCapabilitiesBitsPresentation
= 1 << 0,
83
HgiDeviceCapabilitiesBitsBindlessBuffers
= 1 << 1,
84
HgiDeviceCapabilitiesBitsConcurrentDispatch
= 1 << 2,
85
HgiDeviceCapabilitiesBitsUnifiedMemory
= 1 << 3,
86
HgiDeviceCapabilitiesBitsBuiltinBarycentrics
= 1 << 4,
87
HgiDeviceCapabilitiesBitsShaderDrawParameters
= 1 << 5,
88
HgiDeviceCapabilitiesBitsMultiDrawIndirect
= 1 << 6,
89
HgiDeviceCapabilitiesBitsBindlessTextures
= 1 << 7,
90
HgiDeviceCapabilitiesBitsShaderDoublePrecision
= 1 << 8,
91
HgiDeviceCapabilitiesBitsDepthRangeMinusOnetoOne
= 1 << 9,
92
HgiDeviceCapabilitiesBitsCppShaderPadding
= 1 << 10,
93
HgiDeviceCapabilitiesBitsConservativeRaster
= 1 << 11,
94
HgiDeviceCapabilitiesBitsStencilReadback
= 1 << 12,
95
HgiDeviceCapabilitiesBitsCustomDepthRange
= 1 << 13,
96
HgiDeviceCapabilitiesBitsMetalTessellation
= 1 << 14,
97
HgiDeviceCapabilitiesBitsBasePrimitiveOffset
= 1 << 15,
98
HgiDeviceCapabilitiesBitsPrimitiveIdEmulation
= 1 << 16,
99
HgiDeviceCapabilitiesBitsIndirectCommandBuffers
= 1 << 17,
100
};
101
102
using
HgiDeviceCapabilities
=
HgiBits
;
103
104
/// \enum HgiTextureType
105
///
106
/// Describes the kind of texture.
107
///
108
/// <ul>
109
/// <li>HgiTextureType1D:
110
/// A one-dimensional texture.</li>
111
/// <li>HgiTextureType2D:
112
/// A two-dimensional texture.</li>
113
/// <li>HgiTextureType3D:
114
/// A three-dimensional texture.</li>
115
/// <li>HgiTextureType1DArray:
116
/// An array of one-dimensional textures.</li>
117
/// <li>HgiTextureType2DArray:
118
/// An array of two-dimensional textures.</li>
119
/// </ul>
120
///
121
enum
HgiTextureType
122
{
123
HgiTextureType1D
= 0,
124
HgiTextureType2D
,
125
HgiTextureType3D
,
126
HgiTextureType1DArray
,
127
HgiTextureType2DArray
,
128
129
HgiTextureTypeCount
130
};
131
132
/// \enum HgiTextureUsageBits
133
///
134
/// Describes how the texture will be used. If a texture has multiple uses you
135
/// can combine multiple bits.
136
///
137
/// <ul>
138
/// <li>HgiTextureUsageBitsColorTarget:
139
/// The texture is a color attachment rendered into via a render pass.</li>
140
/// <li>HgiTextureUsageBitsDepthTarget:
141
/// The texture is a depth attachment rendered into via a render pass.</li>
142
/// <li>HgiTextureUsageBitsStencilTarget:
143
/// The texture is a stencil attachment rendered into via a render pass.</li>
144
/// <li>HgiTextureUsageBitsShaderRead:
145
/// The texture is sampled from in a shader (sampling)</li>
146
/// <li>HgiTextureUsageBitsShaderWrite:
147
/// The texture is written into from in a shader (image store)
148
/// When a texture is used as HgiBindResourceTypeStorageImage you must
149
/// add this flag (even if you only read from the image).</li>
150
///
151
/// <li>HgiTextureUsageCustomBitsBegin:
152
/// This bit (and any bit after) can be used to attached custom, backend
153
/// specific bits to the usage bit. </li>
154
/// </ul>
155
///
156
enum
HgiTextureUsageBits
:
HgiBits
157
{
158
HgiTextureUsageBitsColorTarget
= 1 << 0,
159
HgiTextureUsageBitsDepthTarget
= 1 << 1,
160
HgiTextureUsageBitsStencilTarget
= 1 << 2,
161
HgiTextureUsageBitsShaderRead
= 1 << 3,
162
HgiTextureUsageBitsShaderWrite
= 1 << 4,
163
164
HgiTextureUsageCustomBitsBegin
= 1 << 5,
165
};
166
167
using
HgiTextureUsage
=
HgiBits
;
168
169
/// \enum HgiSamplerAddressMode
170
///
171
/// Various modes used during sampling of a texture.
172
///
173
enum
HgiSamplerAddressMode
174
{
175
HgiSamplerAddressModeClampToEdge
= 0,
176
HgiSamplerAddressModeMirrorClampToEdge
,
177
HgiSamplerAddressModeRepeat
,
178
HgiSamplerAddressModeMirrorRepeat
,
179
HgiSamplerAddressModeClampToBorderColor
,
180
181
HgiSamplerAddressModeCount
182
};
183
184
/// \enum HgiSamplerFilter
185
///
186
/// Sampler filtering modes that determine the pixel value that is returned.
187
///
188
/// <ul>
189
/// <li>HgiSamplerFilterNearest:
190
/// Returns the value of a single mipmap level.</li>
191
/// <li>HgiSamplerFilterLinear:
192
/// Combines the values of multiple mipmap levels.</li>
193
/// </ul>
194
///
195
enum
HgiSamplerFilter
196
{
197
HgiSamplerFilterNearest
= 0,
198
HgiSamplerFilterLinear
= 1,
199
200
HgiSamplerFilterCount
201
};
202
203
/// \enum HgiMipFilter
204
///
205
/// Sampler filtering modes that determine the pixel value that is returned.
206
///
207
/// <ul>
208
/// <li>HgiMipFilterNotMipmapped:
209
/// Texture is always sampled at mipmap level 0. (ie. max lod=0)</li>
210
/// <li>HgiMipFilterNearest:
211
/// Returns the value of a single mipmap level.</li>
212
/// <li>HgiMipFilterLinear:
213
/// Linear interpolates the values of up to two mipmap levels.</li>
214
/// </ul>
215
///
216
enum
HgiMipFilter
217
{
218
HgiMipFilterNotMipmapped
= 0,
219
HgiMipFilterNearest
= 1,
220
HgiMipFilterLinear
= 2,
221
222
HgiMipFilterCount
223
};
224
225
/// \enum HgiBorderColor
226
///
227
/// Border color to use for clamped texture values.
228
///
229
/// <ul>
230
/// <li>HgiBorderColorTransparentBlack</li>
231
/// <li>HgiBorderColorOpaqueBlack</li>
232
/// <li>HgiBorderColorOpaqueWhite</li>
233
/// </ul>
234
///
235
enum
HgiBorderColor
236
{
237
HgiBorderColorTransparentBlack
= 0,
238
HgiBorderColorOpaqueBlack
= 1,
239
HgiBorderColorOpaqueWhite
= 2,
240
241
HgiBorderColorCount
242
};
243
244
/// \enum HgiSampleCount
245
///
246
/// Sample count for multi-sampling
247
///
248
enum
HgiSampleCount
249
{
250
HgiSampleCount1
= 1,
251
HgiSampleCount2
= 2,
252
HgiSampleCount4
= 4,
253
HgiSampleCount8
= 8,
254
HgiSampleCount16
= 16,
255
256
HgiSampleCountEnd
257
};
258
259
/// \enum HgiAttachmentLoadOp
260
///
261
/// Describes what will happen to the attachment pixel data prior to rendering.
262
///
263
/// <ul>
264
/// <li>HgiAttachmentLoadOpDontCare:
265
/// All pixels are rendered to. Pixel data in render target starts undefined.</li>
266
/// <li>HgiAttachmentLoadOpClear:
267
/// The attachment pixel data is cleared to a specified color value.</li>
268
/// <li>HgiAttachmentLoadOpLoad:
269
/// Previous pixel data is loaded into attachment prior to rendering.</li>
270
/// </ul>
271
///
272
enum
HgiAttachmentLoadOp
273
{
274
HgiAttachmentLoadOpDontCare
= 0,
275
HgiAttachmentLoadOpClear
,
276
HgiAttachmentLoadOpLoad
,
277
278
HgiAttachmentLoadOpCount
279
};
280
281
/// \enum HgiAttachmentStoreOp
282
///
283
/// Describes what will happen to the attachment pixel data after rendering.
284
///
285
/// <ul>
286
/// <li>HgiAttachmentStoreOpDontCare:
287
/// Pixel data is undefined after rendering has completed (no store cost)</li>
288
/// <li>HgiAttachmentStoreOpStore:
289
/// The attachment pixel data is stored in memory.</li>
290
/// </ul>
291
///
292
enum
HgiAttachmentStoreOp
293
{
294
HgiAttachmentStoreOpDontCare
= 0,
295
HgiAttachmentStoreOpStore
,
296
297
HgiAttachmentStoreOpCount
298
};
299
300
/// \enum HgiBufferUsageBits
301
///
302
/// Describes the properties and usage of the buffer.
303
///
304
/// <ul>
305
/// <li>HgiBufferUsageUniform:
306
/// Shader uniform buffer </li>
307
/// <li>HgiBufferUsageIndex32:
308
/// Topology 32 bit indices.</li>
309
/// <li>HgiBufferUsageVertex:
310
/// Vertex attributes.</li>
311
/// <li>HgiBufferUsageStorage:
312
/// Shader storage buffer / Argument buffer.</li>
313
///
314
/// <li>HgiBufferUsageCustomBitsBegin:
315
/// This bit (and any bit after) can be used to attached custom, backend
316
/// specific bits to the usage bit. </li>
317
/// </ul>
318
///
319
enum
HgiBufferUsageBits
:
HgiBits
320
{
321
HgiBufferUsageUniform
= 1 << 0,
322
HgiBufferUsageIndex32
= 1 << 1,
323
HgiBufferUsageVertex
= 1 << 2,
324
HgiBufferUsageStorage
= 1 << 3,
325
HgiBufferUsageIndirect
= 1 << 4,
326
327
HgiBufferUsageCustomBitsBegin
= 1 << 5,
328
};
329
using
HgiBufferUsage
=
HgiBits
;
330
331
/// \enum HgiShaderStage
332
///
333
/// Describes the stage a shader function operates in.
334
///
335
/// <ul>
336
/// <li>HgiShaderStageVertex:
337
/// Vertex Shader.</li>
338
/// <li>HgiShaderStageFragment:
339
/// Fragment Shader.</li>
340
/// <li>HgiShaderStageCompute:
341
/// Compute Shader.</li>
342
/// <li>HgiShaderStageTessellationControl:
343
/// Transforms the control points of the low order surface (patch).
344
/// This runs before the tessellator fixed function stage.</li>
345
/// <li>HgiShaderStageTessellationEval:
346
/// Generates the surface geometry (the points) from the transformed control
347
/// points for every coordinate coming out of the tessellator fixed function
348
/// stage.</li>
349
/// <li>HgiShaderStageGeometry:
350
/// Governs the processing of Primitives.</li>
351
/// <li>HgiShaderStagePostTessellationControl:
352
/// Metal specific stage which computes tess factors
353
/// and modifies user post tess vertex data.</li>
354
/// <li>HgiShaderStagePostTessellationVertex:
355
/// Metal specific stage which performs tessellation and
356
/// vertex processing.</li>
357
/// </ul>
358
///
359
enum
HgiShaderStageBits
:
HgiBits
360
{
361
HgiShaderStageVertex
= 1 << 0,
362
HgiShaderStageFragment
= 1 << 1,
363
HgiShaderStageCompute
= 1 << 2,
364
HgiShaderStageTessellationControl
= 1 << 3,
365
HgiShaderStageTessellationEval
= 1 << 4,
366
HgiShaderStageGeometry
= 1 << 5,
367
HgiShaderStagePostTessellationControl
= 1 << 6,
368
HgiShaderStagePostTessellationVertex
= 1 << 7,
369
HgiShaderStageCustomBitsBegin
= 1 << 8,
370
};
371
using
HgiShaderStage
=
HgiBits
;
372
373
/// \enum HgiBindResourceType
374
///
375
/// Describes the type of the resource to be bound.
376
///
377
/// <ul>
378
/// <li>HgiBindResourceTypeSampler:
379
/// Sampler.
380
/// Glsl example: uniform sampler samplerOnly</li>
381
/// <li>HgiBindResourceTypeSampledImage:
382
/// Image for use with sampling ops.
383
/// Glsl example: uniform texture2D textureOnly
384
/// texture(sampler2D(textureOnly, samplerOnly), ...)</li>
385
/// <li>HgiBindResourceTypeCombinedSamplerImage:
386
/// Image and sampler combined into one.
387
/// Glsl example: uniform sampler2D texSmp;
388
/// texture(texSmp, ...)</li>
389
/// <li>HgiBindResourceTypeStorageImage:
390
/// Storage image used for image store/load ops (Unordered Access View).</li>
391
/// <li>HgiBindResourceTypeUniformBuffer:
392
/// Uniform buffer (UBO).</li>
393
/// <li>HgiBindResourceTypeStorageBuffer:
394
/// Shader storage buffer (SSBO).</li>
395
/// <li>HgiBindResourceTypeTessFactors:
396
/// Tessellation factors for Metal tessellation.</li>
397
/// </ul>
398
///
399
enum
HgiBindResourceType
400
{
401
HgiBindResourceTypeSampler
= 0,
402
HgiBindResourceTypeSampledImage
,
403
HgiBindResourceTypeCombinedSamplerImage
,
404
HgiBindResourceTypeStorageImage
,
405
HgiBindResourceTypeUniformBuffer
,
406
HgiBindResourceTypeStorageBuffer
,
407
HgiBindResourceTypeTessFactors
,
408
409
HgiBindResourceTypeCount
410
};
411
412
/// \enum HgiPolygonMode
413
///
414
/// Controls polygon mode during rasterization
415
///
416
/// <ul>
417
/// <li>HgiPolygonModeFill:
418
/// Polygons are filled.</li>
419
/// <li>HgiPolygonModeLine:
420
/// Polygon edges are drawn as line segments.</li>
421
/// <li>HgiPolygonModePoint:
422
/// Polygon vertices are drawn as points.</li>
423
/// </ul>
424
///
425
enum
HgiPolygonMode
426
{
427
HgiPolygonModeFill
= 0,
428
HgiPolygonModeLine
,
429
HgiPolygonModePoint
,
430
431
HgiPolygonModeCount
432
};
433
434
/// \enum HgiCullMode
435
///
436
/// Controls primitive (faces) culling.
437
///
438
/// <ul>
439
/// <li>HgiPolygonModeNone:
440
/// No primitive are discarded.</li>
441
/// <li>HgiPolygonModeFront:
442
/// Front-facing primitive are discarded.</li>
443
/// <li>HgiPolygonModeBack:
444
/// Back-facing primitive are discarded.</li>
445
/// <li>HgiPolygonModeFrontAndBack:
446
/// All primitive are discarded.</li>
447
/// </ul>
448
///
449
enum
HgiCullMode
450
{
451
HgiCullModeNone
= 0,
452
HgiCullModeFront
,
453
HgiCullModeBack
,
454
HgiCullModeFrontAndBack
,
455
456
HgiCullModeCount
457
};
458
459
/// \enum HgiWinding
460
///
461
/// Determines the front-facing orientation of a primitive (face).
462
///
463
/// <ul>
464
/// <li>HgiWindingClockwise:
465
/// Primitives with clockwise vertex-order are front facing.</li>
466
/// <li>HgiWindingCounterClockwise:
467
/// Primitives with counter-clockwise vertex-order are front facing.</li>
468
/// </ul>
469
///
470
enum
HgiWinding
471
{
472
HgiWindingClockwise
= 0,
473
HgiWindingCounterClockwise
,
474
475
HgiWindingCount
476
};
477
478
479
/// \enum HgiBlendOp
480
///
481
/// Blend operations
482
///
483
enum
HgiBlendOp
484
{
485
HgiBlendOpAdd
= 0,
486
HgiBlendOpSubtract
,
487
HgiBlendOpReverseSubtract
,
488
HgiBlendOpMin
,
489
HgiBlendOpMax
,
490
491
HgiBlendOpCount
492
};
493
494
/// \enum HgiBlendFactor
495
///
496
/// Blend factors
497
///
498
enum
HgiBlendFactor
499
{
500
HgiBlendFactorZero
= 0,
501
HgiBlendFactorOne
,
502
HgiBlendFactorSrcColor
,
503
HgiBlendFactorOneMinusSrcColor
,
504
HgiBlendFactorDstColor
,
505
HgiBlendFactorOneMinusDstColor
,
506
HgiBlendFactorSrcAlpha
,
507
HgiBlendFactorOneMinusSrcAlpha
,
508
HgiBlendFactorDstAlpha
,
509
HgiBlendFactorOneMinusDstAlpha
,
510
HgiBlendFactorConstantColor
,
511
HgiBlendFactorOneMinusConstantColor
,
512
HgiBlendFactorConstantAlpha
,
513
HgiBlendFactorOneMinusConstantAlpha
,
514
HgiBlendFactorSrcAlphaSaturate
,
515
HgiBlendFactorSrc1Color
,
516
HgiBlendFactorOneMinusSrc1Color
,
517
HgiBlendFactorSrc1Alpha
,
518
HgiBlendFactorOneMinusSrc1Alpha
,
519
520
HgiBlendFactorCount
521
};
522
523
/// \enum HgiColorMaskBits
524
///
525
/// Describes whether to permit or restrict writing to color components
526
/// of a color attachment.
527
///
528
enum
HgiColorMaskBits
:
HgiBits
529
{
530
HgiColorMaskRed
= 1 << 0,
531
HgiColorMaskGreen
= 1 << 1,
532
HgiColorMaskBlue
= 1 << 2,
533
HgiColorMaskAlpha
= 1 << 3,
534
};
535
using
HgiColorMask
=
HgiBits
;
536
537
/// \enum HgiCompareFunction
538
///
539
/// Compare functions.
540
///
541
enum
HgiCompareFunction
542
{
543
HgiCompareFunctionNever
= 0,
544
HgiCompareFunctionLess
,
545
HgiCompareFunctionEqual
,
546
HgiCompareFunctionLEqual
,
547
HgiCompareFunctionGreater
,
548
HgiCompareFunctionNotEqual
,
549
HgiCompareFunctionGEqual
,
550
HgiCompareFunctionAlways
,
551
552
HgiCompareFunctionCount
553
};
554
555
/// \enum HgiStencilOp
556
///
557
/// Stencil operations.
558
///
559
enum
HgiStencilOp
560
{
561
HgiStencilOpKeep
= 0,
562
HgiStencilOpZero
,
563
HgiStencilOpReplace
,
564
HgiStencilOpIncrementClamp
,
565
HgiStencilOpDecrementClamp
,
566
HgiStencilOpInvert
,
567
HgiStencilOpIncrementWrap
,
568
HgiStencilOpDecrementWrap
,
569
570
HgiStencilOpCount
571
};
572
573
/// \enum HgiComponentSwizzle
574
///
575
/// Swizzle for a component.
576
///
577
enum
HgiComponentSwizzle
578
{
579
HgiComponentSwizzleZero
= 0,
580
HgiComponentSwizzleOne
,
581
HgiComponentSwizzleR
,
582
HgiComponentSwizzleG
,
583
HgiComponentSwizzleB
,
584
HgiComponentSwizzleA
,
585
586
HgiComponentSwizzleCount
587
};
588
589
/// \enum HgiPrimitiveType
590
///
591
/// What the stream of vertices being rendered represents
592
///
593
/// <ul>
594
/// <li>HgiPrimitiveTypePointList:
595
/// Rasterize a point at each vertex.</li>
596
/// <li>HgiPrimitiveTypeLineList:
597
/// Rasterize a line between each separate pair of vertices.</li>
598
/// <li>HgiPrimitiveTypeLineStrip:
599
/// Rasterize a line between each pair of adjacent vertices.</li>
600
/// <li>HgiPrimitiveTypeTriangleList:
601
/// Rasterize a triangle for every separate set of three vertices.</li>
602
/// <li>HgiPrimitiveTypePatchList:
603
/// A user-defined number of vertices, which is tessellated into
604
/// points, lines, or triangles.</li>
605
/// <li>HgiPrimitiveTypeLineListWithAdjacency:
606
/// A four-vertex encoding used to draw untriangulated quads.
607
/// Rasterize two triangles for every separate set of four vertices.</li>
608
/// </ul>
609
///
610
enum
HgiPrimitiveType
611
{
612
HgiPrimitiveTypePointList
= 0,
613
HgiPrimitiveTypeLineList
,
614
HgiPrimitiveTypeLineStrip
,
615
HgiPrimitiveTypeTriangleList
,
616
HgiPrimitiveTypePatchList
,
617
HgiPrimitiveTypeLineListWithAdjacency
,
618
619
HgiPrimitiveTypeCount
620
};
621
622
/// \enum HgiVertexBufferStepFunction
623
///
624
/// Describes the rate at which vertex attributes are pulled from buffers.
625
///
626
/// <ul>
627
/// <li>HgiVertexBufferStepFunctionConstant:
628
/// The same attribute data is used for every vertex.</li>
629
/// <li>HgiVertexBufferStepFunctionPerVertex:
630
/// New attribute data is fetched for each vertex.</li>
631
/// <li>HgiVertexBufferStepFunctionPerInstance:
632
/// New attribute data is fetched for each instance.</li>
633
/// <li>HgiVertexBufferStepFunctionPerPatch:
634
/// New attribute data is fetched for each patch.</li>
635
/// <li>HgiVertexBufferStepFunctionPerPatchControlPoint:
636
/// New attribute data is fetched for each patch control point.</li>
637
/// <li>HgiVertexBufferStepFunctionPerDrawCommand:
638
/// New attribute data is fetched for each draw in a multi-draw command.</li>
639
/// </ul>
640
///
641
enum
HgiVertexBufferStepFunction
642
{
643
HgiVertexBufferStepFunctionConstant
= 0,
644
HgiVertexBufferStepFunctionPerVertex
,
645
HgiVertexBufferStepFunctionPerInstance
,
646
HgiVertexBufferStepFunctionPerPatch
,
647
HgiVertexBufferStepFunctionPerPatchControlPoint
,
648
HgiVertexBufferStepFunctionPerDrawCommand
,
649
650
HgiVertexBufferStepFunctionCount
651
};
652
653
/// \enum HgiSubmitWaitType
654
///
655
/// Describes command submission wait behavior.
656
///
657
/// <ul>
658
/// <li>HgiSubmitWaitTypeNoWait:
659
/// CPU should not wait for the GPU to finish processing the cmds.</li>
660
/// <li>HgiSubmitWaitTypeWaitUntilCompleted:
661
/// The CPU waits ("blocked") until the GPU has consumed the cmds.</li>
662
/// </ul>
663
///
664
enum
HgiSubmitWaitType
665
{
666
HgiSubmitWaitTypeNoWait
= 0,
667
HgiSubmitWaitTypeWaitUntilCompleted
,
668
};
669
670
/// \enum HgiMemoryBarrier
671
///
672
/// Describes what objects the memory barrier affects.
673
///
674
/// <ul>
675
/// <li>HgiMemoryBarrierNone:
676
/// No barrier (no-op).</li>
677
/// <li>HgiMemoryBarrierAll:
678
/// The barrier affects all memory writes and reads.</li>
679
/// </ul>
680
///
681
enum
HgiMemoryBarrierBits
682
{
683
HgiMemoryBarrierNone
= 0,
684
HgiMemoryBarrierAll
= 1 << 0
685
};
686
using
HgiMemoryBarrier
=
HgiBits
;
687
688
/// \enum HgiBindingType
689
///
690
/// Describes the type of shader resource binding model to use.
691
///
692
/// <ul>
693
/// <li>HgiBindingTypeValue:
694
/// Shader declares binding as a value.
695
/// Glsl example: buffer { int parameter; };
696
/// Msl example: int parameter;</li>
697
/// <li>HgiBindingTypeUniformValue:
698
/// Shader declares binding as a uniform block value.
699
/// Glsl example: uniform { int parameter; };
700
/// Msl example: int parameter;</li>
701
/// <li>HgiBindingTypeArray:
702
/// Shader declares binding as array value.
703
/// Glsl example: buffer { int parameter[n]; };
704
/// Msl example: int parameter[n];</li>
705
/// <li>HgiBindingTypeUniformArray:
706
/// Shader declares binding as uniform block array value.
707
/// Glsl example: uniform { int parameter[n]; };
708
/// Msl example: int parameter[n];</li>
709
/// <li>HgiBindingTypePointer:
710
/// Shader declares binding as pointer value.
711
/// Glsl example: buffer { int parameter[] };
712
/// Msl example: int *parameter;</li>
713
/// </ul>
714
///
715
enum
HgiBindingType
716
{
717
HgiBindingTypeValue
= 0,
718
HgiBindingTypeUniformValue
,
719
HgiBindingTypeArray
,
720
HgiBindingTypeUniformArray
,
721
HgiBindingTypePointer
,
722
};
723
724
/// \enum HgiInterpolationType
725
///
726
/// Describes the type of parameter interpolation.
727
///
728
/// <ul>
729
/// <li>HgiInterpolationDefault:
730
/// The shader input will have default interpolation.
731
/// Glsl example: vec2 parameter;
732
/// Msl example: vec2 parameter;</li>
733
/// <li>HgiInterpolationFlat:
734
/// The shader input will have no interpolation.
735
/// Glsl example: flat vec2 parameter;
736
/// Msl example: vec2 parameter[[flat]];</li>
737
/// <li>HgiBindingTypeNoPerspective:
738
/// The shader input will be linearly interpolated in screen-space
739
/// Glsl example: noperspective vec2 parameter;
740
/// Msl example: vec2 parameter[[center_no_perspective]];</li>
741
/// </ul>
742
///
743
enum
HgiInterpolationType
744
{
745
HgiInterpolationDefault
= 0,
746
HgiInterpolationFlat
,
747
HgiInterpolationNoPerspective
,
748
};
749
750
/// \enum HgiSamplingType
751
///
752
/// Describes the type of parameter sampling.
753
///
754
/// <ul>
755
/// <li>HgiSamplingDefault:
756
/// The shader input will have default sampling.
757
/// Glsl example: vec2 parameter;
758
/// Msl example: vec2 parameter;</li>
759
/// <li>HgiSamplingCentroid:
760
/// The shader input will have centroid sampling.
761
/// Glsl example: centroid vec2 parameter;
762
/// Msl example: vec2 parameter[[centroid_perspective]];</li>
763
/// <li>HgiSamplingSample:
764
/// The shader input will have per-sample sampling.
765
/// Glsl example: sample vec2 parameter;
766
/// Msl example: vec2 parameter[[sample_perspective]];</li>
767
/// </ul>
768
///
769
enum
HgiSamplingType
770
{
771
HgiSamplingDefault
= 0,
772
HgiSamplingCentroid
,
773
HgiSamplingSample
,
774
};
775
776
/// \enum HgiStorageType
777
///
778
/// Describes the type of parameter storage.
779
///
780
/// <ul>
781
/// <li>HgiStorageDefault:
782
/// The shader input will have default storage.
783
/// Glsl example: vec2 parameter;</li>
784
/// <li>HgiStoragePatch:
785
/// The shader input will have per-patch storage.
786
/// Glsl example: patch vec2 parameter;</li>
787
/// </ul>
788
///
789
enum
HgiStorageType
790
{
791
HgiStorageDefault
= 0,
792
HgiStoragePatch
,
793
};
794
795
/// \enum HgiShaderTextureType
796
///
797
/// Describes the type of texture to be used in shader gen.
798
///
799
/// <ul>
800
/// <li>HgiShaderTextureTypeTexture:
801
/// Indicates a regular texture.</li>
802
/// <li>HgiShaderTextureTypeShadowTexture:
803
/// Indicates a shadow texture.</li>
804
/// <li>HgiShaderTextureTypeArrayTexture:
805
/// Indicates an array texture.</li>
806
/// </ul>
807
///
808
enum
HgiShaderTextureType
809
{
810
HgiShaderTextureTypeTexture
= 0,
811
HgiShaderTextureTypeShadowTexture
,
812
HgiShaderTextureTypeArrayTexture
813
};
814
815
/// \enum HgiComputeDispatch
816
///
817
/// Specifies the dispatch method for compute encoders.
818
///
819
/// <ul>
820
/// <li>HgiComputeDispatchSerial:
821
/// Kernels are dispatched serially.</li>
822
/// <li>HgiComputeDispatchConcurrent:
823
/// Kernels are dispatched concurrently, if supported by the API</li>
824
/// </ul>
825
///
826
enum
HgiComputeDispatch
827
{
828
HgiComputeDispatchSerial
= 0,
829
HgiComputeDispatchConcurrent
830
};
831
832
PXR_NAMESPACE_CLOSE_SCOPE
833
834
#endif
HgiVertexBufferStepFunctionPerPatchControlPoint
Definition:
enums.h:647
HgiAttachmentStoreOpStore
Definition:
enums.h:295
HgiShaderStageVertex
Definition:
enums.h:361
HgiStorageDefault
Definition:
enums.h:791
HgiSamplerFilterCount
Definition:
enums.h:200
HgiSamplerAddressMode
HgiSamplerAddressMode
Definition:
enums.h:173
HgiBufferUsageUniform
Definition:
enums.h:321
HgiStorageType
HgiStorageType
Definition:
enums.h:789
HgiBlendFactorCount
Definition:
enums.h:520
HgiColorMaskBits
HgiColorMaskBits
Definition:
enums.h:528
HgiDeviceCapabilitiesBitsIndirectCommandBuffers
Definition:
enums.h:99
HgiBindResourceTypeUniformBuffer
Definition:
enums.h:405
HgiPolygonMode
HgiPolygonMode
Definition:
enums.h:425
HgiStencilOp
HgiStencilOp
Definition:
enums.h:559
HgiVertexBufferStepFunction
HgiVertexBufferStepFunction
Definition:
enums.h:641
HgiShaderStageCustomBitsBegin
Definition:
enums.h:369
HgiSamplerAddressModeRepeat
Definition:
enums.h:177
HgiDeviceCapabilitiesBitsCppShaderPadding
Definition:
enums.h:92
HgiCompareFunction
HgiCompareFunction
Definition:
enums.h:541
HgiBlendFactorDstColor
Definition:
enums.h:504
HgiStencilOpDecrementClamp
Definition:
enums.h:565
HgiShaderTextureTypeArrayTexture
Definition:
enums.h:812
HgiBindResourceTypeStorageBuffer
Definition:
enums.h:406
HgiComputeDispatchConcurrent
Definition:
enums.h:829
HgiBufferUsageVertex
Definition:
enums.h:323
HgiStencilOpDecrementWrap
Definition:
enums.h:568
HgiShaderStageCompute
Definition:
enums.h:363
HgiAttachmentStoreOpCount
Definition:
enums.h:297
HgiShaderStagePostTessellationVertex
Definition:
enums.h:368
HgiMipFilterCount
Definition:
enums.h:222
HgiBindResourceTypeCombinedSamplerImage
Definition:
enums.h:403
HgiAttachmentLoadOp
HgiAttachmentLoadOp
Definition:
enums.h:272
HgiComputeDispatchSerial
Definition:
enums.h:828
HgiCullModeFront
Definition:
enums.h:452
HgiBorderColorOpaqueBlack
Definition:
enums.h:238
HgiBlendFactorSrc1Color
Definition:
enums.h:515
HgiStencilOpKeep
Definition:
enums.h:561
HgiCompareFunctionLEqual
Definition:
enums.h:546
HgiSamplingSample
Definition:
enums.h:773
HgiVertexBufferStepFunctionConstant
Definition:
enums.h:643
HgiDeviceCapabilitiesBits
HgiDeviceCapabilitiesBits
Definition:
enums.h:80
HgiBindingTypeArray
Definition:
enums.h:719
HgiMipFilter
HgiMipFilter
Definition:
enums.h:216
HgiVertexBufferStepFunctionPerDrawCommand
Definition:
enums.h:648
HgiTextureTypeCount
Definition:
enums.h:129
HgiShaderStageTessellationEval
Definition:
enums.h:365
HgiSamplerAddressModeClampToEdge
Definition:
enums.h:175
HgiDeviceCapabilitiesBitsBindlessTextures
Definition:
enums.h:89
HgiWinding
HgiWinding
Definition:
enums.h:470
HgiBlendOpCount
Definition:
enums.h:491
HgiBorderColorOpaqueWhite
Definition:
enums.h:239
HgiDeviceCapabilitiesBitsUnifiedMemory
Definition:
enums.h:85
HgiSamplingCentroid
Definition:
enums.h:772
HgiPolygonModePoint
Definition:
enums.h:429
HgiBlendFactorOneMinusDstColor
Definition:
enums.h:505
HgiDeviceCapabilitiesBitsPrimitiveIdEmulation
Definition:
enums.h:98
HgiDeviceCapabilities
HgiBits HgiDeviceCapabilities
Definition:
enums.h:102
HgiComponentSwizzleOne
Definition:
enums.h:580
HgiTextureUsageBitsColorTarget
Definition:
enums.h:158
HgiSubmitWaitTypeNoWait
Definition:
enums.h:666
HgiInterpolationNoPerspective
Definition:
enums.h:747
HgiDeviceCapabilitiesBitsConservativeRaster
Definition:
enums.h:93
HgiVertexBufferStepFunctionPerInstance
Definition:
enums.h:645
HgiShaderTextureTypeTexture
Definition:
enums.h:810
HgiCullModeFrontAndBack
Definition:
enums.h:454
HgiVertexBufferStepFunctionPerPatch
Definition:
enums.h:646
HgiSampleCount4
Definition:
enums.h:252
HgiPolygonModeLine
Definition:
enums.h:428
HgiPrimitiveTypeTriangleList
Definition:
enums.h:615
HgiPrimitiveTypeLineStrip
Definition:
enums.h:614
HgiColorMaskGreen
Definition:
enums.h:531
HgiSampleCount16
Definition:
enums.h:254
HgiCullModeCount
Definition:
enums.h:456
HgiSampleCount2
Definition:
enums.h:251
HgiBlendFactorSrcAlphaSaturate
Definition:
enums.h:514
HgiComponentSwizzleZero
Definition:
enums.h:579
HgiBorderColor
HgiBorderColor
Definition:
enums.h:235
HgiSamplingDefault
Definition:
enums.h:771
HgiBufferUsageCustomBitsBegin
Definition:
enums.h:327
HgiTextureUsage
HgiBits HgiTextureUsage
Definition:
enums.h:167
HgiCullMode
HgiCullMode
Definition:
enums.h:449
HgiStoragePatch
Definition:
enums.h:792
HgiTextureType2DArray
Definition:
enums.h:127
HgiComponentSwizzle
HgiComponentSwizzle
Definition:
enums.h:577
HgiMemoryBarrierNone
Definition:
enums.h:683
HgiPrimitiveTypeLineList
Definition:
enums.h:613
HgiWindingClockwise
Definition:
enums.h:472
HgiMipFilterLinear
Definition:
enums.h:220
HgiSubmitWaitType
HgiSubmitWaitType
Definition:
enums.h:664
HgiSampleCount8
Definition:
enums.h:253
HgiBindResourceTypeSampler
Definition:
enums.h:401
HgiWindingCounterClockwise
Definition:
enums.h:473
HgiBlendOpSubtract
Definition:
enums.h:486
HgiWindingCount
Definition:
enums.h:475
HgiAttachmentStoreOp
HgiAttachmentStoreOp
Definition:
enums.h:292
HgiVertexBufferStepFunctionCount
Definition:
enums.h:650
HgiInterpolationType
HgiInterpolationType
Definition:
enums.h:743
HgiTextureUsageBitsShaderRead
Definition:
enums.h:161
HgiComputeDispatch
HgiComputeDispatch
Definition:
enums.h:826
HgiSamplerFilterNearest
Definition:
enums.h:197
HgiTextureType2D
Definition:
enums.h:124
HgiMemoryBarrierAll
Definition:
enums.h:684
HgiDeviceCapabilitiesBitsBindlessBuffers
Definition:
enums.h:83
HgiBindingType
HgiBindingType
Definition:
enums.h:715
HgiBlendFactor
HgiBlendFactor
Definition:
enums.h:498
HgiShaderStageTessellationControl
Definition:
enums.h:364
HgiMemoryBarrierBits
HgiMemoryBarrierBits
Definition:
enums.h:681
HgiStencilOpZero
Definition:
enums.h:562
HgiBlendOpMin
Definition:
enums.h:488
HgiCompareFunctionCount
Definition:
enums.h:552
HgiBlendFactorZero
Definition:
enums.h:500
HgiComponentSwizzleR
Definition:
enums.h:581
HgiBlendFactorOneMinusConstantColor
Definition:
enums.h:511
HgiBindResourceType
HgiBindResourceType
Definition:
enums.h:399
pxr.h
HgiBlendFactorConstantColor
Definition:
enums.h:510
HgiCompareFunctionEqual
Definition:
enums.h:545
HgiTextureUsageCustomBitsBegin
Definition:
enums.h:164
HgiPrimitiveTypeCount
Definition:
enums.h:619
HgiMemoryBarrier
HgiBits HgiMemoryBarrier
Definition:
enums.h:686
HgiTextureType3D
Definition:
enums.h:125
HgiBlendOp
HgiBlendOp
Definition:
enums.h:483
HgiAttachmentLoadOpCount
Definition:
enums.h:278
HgiPrimitiveType
HgiPrimitiveType
Definition:
enums.h:610
HgiColorMaskAlpha
Definition:
enums.h:533
HgiCullModeBack
Definition:
enums.h:453
HgiSampleCount1
Definition:
enums.h:250
HgiBlendFactorSrcColor
Definition:
enums.h:502
HgiDeviceCapabilitiesBitsCustomDepthRange
Definition:
enums.h:95
HgiBufferUsageBits
HgiBufferUsageBits
Definition:
enums.h:319
HgiPrimitiveTypeLineListWithAdjacency
Definition:
enums.h:617
HgiAttachmentLoadOpLoad
Definition:
enums.h:276
HgiSamplerFilterLinear
Definition:
enums.h:198
HgiBlendFactorOneMinusSrc1Alpha
Definition:
enums.h:518
HgiSamplerAddressModeMirrorClampToEdge
Definition:
enums.h:176
HgiSamplingType
HgiSamplingType
Definition:
enums.h:769
HgiDeviceCapabilitiesBitsShaderDoublePrecision
Definition:
enums.h:90
HgiDeviceCapabilitiesBitsMetalTessellation
Definition:
enums.h:96
HgiComponentSwizzleCount
Definition:
enums.h:586
HgiComponentSwizzleG
Definition:
enums.h:582
HgiBindResourceTypeSampledImage
Definition:
enums.h:402
HgiPrimitiveTypePointList
Definition:
enums.h:612
HgiBindingTypeUniformValue
Definition:
enums.h:718
HgiSamplerAddressModeClampToBorderColor
Definition:
enums.h:179
HgiShaderStagePostTessellationControl
Definition:
enums.h:367
HgiTextureUsageBits
HgiTextureUsageBits
Definition:
enums.h:156
HgiCompareFunctionNotEqual
Definition:
enums.h:548
HgiTextureType
HgiTextureType
Definition:
enums.h:121
HgiShaderTextureTypeShadowTexture
Definition:
enums.h:811
HgiBlendFactorOneMinusSrcColor
Definition:
enums.h:503
HgiBorderColorCount
Definition:
enums.h:241
HgiDeviceCapabilitiesBitsBuiltinBarycentrics
Definition:
enums.h:86
HgiColorMaskRed
Definition:
enums.h:530
HgiShaderStageGeometry
Definition:
enums.h:366
HgiAttachmentLoadOpClear
Definition:
enums.h:275
HgiTextureType1DArray
Definition:
enums.h:126
HgiDeviceCapabilitiesBitsPresentation
Definition:
enums.h:82
HgiPolygonModeCount
Definition:
enums.h:431
HgiDeviceCapabilitiesBitsStencilReadback
Definition:
enums.h:94
HgiBindResourceTypeTessFactors
Definition:
enums.h:407
HgiSamplerAddressModeMirrorRepeat
Definition:
enums.h:178
HgiBufferUsageIndex32
Definition:
enums.h:322
api.h
PXR_NAMESPACE_OPEN_SCOPE
PXR_NAMESPACE_CLOSE_SCOPE PXR_NAMESPACE_OPEN_SCOPE
Definition:
path.h:1432
HgiMipFilterNearest
Definition:
enums.h:219
HgiBlendOpReverseSubtract
Definition:
enums.h:487
HgiBufferUsage
HgiBits HgiBufferUsage
Definition:
enums.h:329
HgiBindingTypePointer
Definition:
enums.h:721
HgiBorderColorTransparentBlack
Definition:
enums.h:237
HgiDeviceCapabilitiesBitsBasePrimitiveOffset
Definition:
enums.h:97
HgiBlendOpMax
Definition:
enums.h:489
HgiBlendFactorDstAlpha
Definition:
enums.h:508
HgiShaderStageFragment
Definition:
enums.h:362
HgiSampleCountEnd
Definition:
enums.h:256
HgiShaderStageBits
HgiShaderStageBits
Definition:
enums.h:359
HgiPrimitiveTypePatchList
Definition:
enums.h:616
HgiDeviceCapabilitiesBitsDepthRangeMinusOnetoOne
Definition:
enums.h:91
HgiBlendFactorConstantAlpha
Definition:
enums.h:512
HgiStencilOpIncrementWrap
Definition:
enums.h:567
HgiBlendFactorSrcAlpha
Definition:
enums.h:506
HgiInterpolationDefault
Definition:
enums.h:745
HgiStencilOpReplace
Definition:
enums.h:563
HgiBindingTypeValue
Definition:
enums.h:717
HgiCompareFunctionAlways
Definition:
enums.h:550
PXR_NAMESPACE_CLOSE_SCOPE
#define PXR_NAMESPACE_CLOSE_SCOPE
Definition:
pxr.h:91
HgiComponentSwizzleB
Definition:
enums.h:583
HgiSubmitWaitTypeWaitUntilCompleted
Definition:
enums.h:667
HgiBlendFactorOneMinusConstantAlpha
Definition:
enums.h:513
HgiComponentSwizzleA
Definition:
enums.h:584
HgiColorMaskBlue
Definition:
enums.h:532
HgiVertexBufferStepFunctionPerVertex
Definition:
enums.h:644
HgiSamplerAddressModeCount
Definition:
enums.h:181
HgiStencilOpInvert
Definition:
enums.h:566
HgiShaderStage
HgiBits HgiShaderStage
Definition:
enums.h:371
HgiCullModeNone
Definition:
enums.h:451
HgiBindingTypeUniformArray
Definition:
enums.h:720
HgiBlendFactorSrc1Alpha
Definition:
enums.h:517
HgiBlendFactorOneMinusSrcAlpha
Definition:
enums.h:507
HgiTextureUsageBitsShaderWrite
Definition:
enums.h:162
HgiPolygonModeFill
Definition:
enums.h:427
HgiBindResourceTypeCount
Definition:
enums.h:409
HgiBufferUsageIndirect
Definition:
enums.h:325
HgiShaderTextureType
HgiShaderTextureType
Definition:
enums.h:808
HgiAttachmentLoadOpDontCare
Definition:
enums.h:274
HgiBits
uint32_t HgiBits
Definition:
enums.h:33
HgiDeviceCapabilitiesBitsMultiDrawIndirect
Definition:
enums.h:88
HgiMipFilterNotMipmapped
Definition:
enums.h:218
HgiDeviceCapabilitiesBitsShaderDrawParameters
Definition:
enums.h:87
HgiStencilOpIncrementClamp
Definition:
enums.h:564
HgiBlendFactorOne
Definition:
enums.h:501
HgiBlendFactorOneMinusSrc1Color
Definition:
enums.h:516
HgiBlendOpAdd
Definition:
enums.h:485
HgiSampleCount
HgiSampleCount
Definition:
enums.h:248
HgiTextureType1D
Definition:
enums.h:123
HgiDeviceCapabilitiesBitsConcurrentDispatch
Definition:
enums.h:84
HgiBufferUsageStorage
Definition:
enums.h:324
HgiSamplerFilter
HgiSamplerFilter
Definition:
enums.h:195
HgiCompareFunctionLess
Definition:
enums.h:544
HgiInterpolationFlat
Definition:
enums.h:746
HgiCompareFunctionNever
Definition:
enums.h:543
HgiStencilOpCount
Definition:
enums.h:570
HgiBlendFactorOneMinusDstAlpha
Definition:
enums.h:509
HgiBindResourceTypeStorageImage
Definition:
enums.h:404
HgiCompareFunctionGEqual
Definition:
enums.h:549
HgiTextureUsageBitsDepthTarget
Definition:
enums.h:159
HgiCompareFunctionGreater
Definition:
enums.h:547
HgiAttachmentStoreOpDontCare
Definition:
enums.h:294
HgiTextureUsageBitsStencilTarget
Definition:
enums.h:160
HgiColorMask
HgiBits HgiColorMask
Definition:
enums.h:535
pxr
imaging
hgi
enums.h
Generated on Sun Nov 17 2024 03:02:51 for HDK by
1.8.6