Blender  V3.3
GPU_primitive.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2016 by Mike Erwin. All rights reserved. */
3 
10 #pragma once
11 
12 #include "GPU_common.h"
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
18 typedef enum {
23  GPU_PRIM_LINE_LOOP, /* GL has this, Vulkan and Metal do not */
25  GPU_PRIM_TRI_FAN, /* Metal API does not support this. */
26 
27  /* Metal API does not support ADJ primitive types but
28  * handled via the geometry-shader-alternative path. */
32 
34 } GPUPrimType;
35 
36 /* what types of primitives does each shader expect? */
37 typedef enum {
40  GPU_PRIM_CLASS_LINE = (1 << 1),
43 } GPUPrimClass;
44 
51 #ifdef __cplusplus
52 }
53 #endif
GPUPrimType
Definition: GPU_primitive.h:18
@ GPU_PRIM_TRI_FAN
Definition: GPU_primitive.h:25
@ GPU_PRIM_LINE_LOOP
Definition: GPU_primitive.h:23
@ GPU_PRIM_LINE_STRIP_ADJ
Definition: GPU_primitive.h:31
@ GPU_PRIM_TRIS_ADJ
Definition: GPU_primitive.h:30
@ GPU_PRIM_NONE
Definition: GPU_primitive.h:33
@ GPU_PRIM_LINES
Definition: GPU_primitive.h:20
@ GPU_PRIM_POINTS
Definition: GPU_primitive.h:19
@ GPU_PRIM_LINES_ADJ
Definition: GPU_primitive.h:29
@ GPU_PRIM_LINE_STRIP
Definition: GPU_primitive.h:22
@ GPU_PRIM_TRI_STRIP
Definition: GPU_primitive.h:24
@ GPU_PRIM_TRIS
Definition: GPU_primitive.h:21
GPUPrimClass
Definition: GPU_primitive.h:37
@ GPU_PRIM_CLASS_NONE
Definition: GPU_primitive.h:38
@ GPU_PRIM_CLASS_POINT
Definition: GPU_primitive.h:39
@ GPU_PRIM_CLASS_LINE
Definition: GPU_primitive.h:40
@ GPU_PRIM_CLASS_SURFACE
Definition: GPU_primitive.h:41
@ GPU_PRIM_CLASS_ANY
Definition: GPU_primitive.h:42