xref: /aosp_15_r20/external/angle/src/libANGLE/renderer/metal/shaders/rewrite_indices_shared.h (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 //
2 // Copyright 2021 The ANGLE Project. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 // rewrite_incides_shared:
7 // defines for provoking vertex rewriting.
8 
9 #ifndef rewrite_indices_shared_h
10 #define rewrite_indices_shared_h
11 #define MTL_FIX_INDEX_BUFFER_KEY_FUNCTION_CONSTANT_INDEX 1
12 
13 #define MtlFixIndexBufferKeyTypeMask 0x03U
14 #define MtlFixIndexBufferKeyInShift 0U
15 #define MtlFixIndexBufferKeyOutShift 2U
16 #define MtlFixIndexBufferKeyVoid 0U
17 #define MtlFixIndexBufferKeyUint16 2U
18 #define MtlFixIndexBufferKeyUint32 3U
19 #define MtlFixIndexBufferKeyModeMask 0x0FU
20 #define MtlFixIndexBufferKeyModeShift 4U
21 #define MtlFixIndexBufferKeyPoints 0x00U
22 #define MtlFixIndexBufferKeyLines 0x01U
23 #define MtlFixIndexBufferKeyLineLoop 0x02U
24 #define MtlFixIndexBufferKeyLineStrip 0x03U
25 #define MtlFixIndexBufferKeyTriangles 0x04U
26 #define MtlFixIndexBufferKeyTriangleStrip 0x05U
27 #define MtlFixIndexBufferKeyTriangleFan 0x06U
28 #define MtlFixIndexBufferKeyPrimRestart 0x00100U
29 #define MtlFixIndexBufferKeyProvokingVertexLast 0x00200U
30 #endif /* rewrite_indices_shared_h */
31