xref: /aosp_15_r20/external/mesa3d/src/gallium/drivers/svga/include/svga3d_limits.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright (c) 2012-2024 Broadcom. All Rights Reserved.
3  * The term “Broadcom” refers to Broadcom Inc.
4  * and/or its subsidiaries.
5  * SPDX-License-Identifier: GPL-2.0 OR MIT
6  */
7 
8 /*
9  * svga3d_limits.h --
10  *
11  *    SVGA 3d hardware limits
12  */
13 
14 
15 
16 
17 
18 #ifndef _SVGA3D_LIMITS_H_
19 #define _SVGA3D_LIMITS_H_
20 
21 
22 
23 
24 
25 
26 
27 #define SVGA3D_NUM_CLIPPLANES                   6
28 #define SVGA3D_MAX_CONTEXT_IDS                  256
29 #define SVGA3D_MAX_SURFACE_IDS                  (32 * 1024)
30 
31 
32 #define SVGA3D_MAX_RENDER_TARGETS               8
33 #define SVGA3D_MAX_SIMULTANEOUS_RENDER_TARGETS  (SVGA3D_MAX_RENDER_TARGETS)
34 #define SVGA3D_MAX_UAVIEWS                      8
35 #define SVGA3D_DX11_1_MAX_UAVIEWS               64
36 
37 
38 #define SVGA3D_HB_MAX_SURFACE_SIZE MBYTES_2_BYTES(128)
39 
40 
41 #define SVGA3D_MAX_SHADERIDS                    5000
42 
43 #define SVGA3D_MAX_SIMULTANEOUS_SHADERS         20000
44 
45 #define SVGA3D_NUM_TEXTURE_UNITS                32
46 #define SVGA3D_NUM_LIGHTS                       8
47 
48 
49 #define SVGA3D_MAX_VIDEOPROCESSOR_SAMPLERS      32
50 
51 
52 #define SVGA3D_MAX_SHADER_MEMORY_BYTES (8 * 1024 * 1024)
53 #define SVGA3D_MAX_SHADER_MEMORY  (SVGA3D_MAX_SHADER_MEMORY_BYTES / \
54                                    sizeof(uint32))
55 
56 #define SVGA3D_MAX_SHADER_THREAD_GROUPS 65535
57 
58 #define SVGA3D_MAX_CLIP_PLANES    6
59 
60 
61 #define SVGA3D_MAX_TEXTURE_COORDS 8
62 
63 
64 #define SVGA3D_MAX_SURFACE_FACES 6
65 
66 
67 #define SVGA3D_SM4_MAX_SURFACE_ARRAYSIZE 512
68 #define SVGA3D_SM5_MAX_SURFACE_ARRAYSIZE 2048
69 #define SVGA3D_MAX_SURFACE_ARRAYSIZE SVGA3D_SM5_MAX_SURFACE_ARRAYSIZE
70 
71 
72 #define SVGA3D_MAX_VERTEX_ARRAYS   32
73 
74 
75 #define SVGA3D_MAX_DRAW_PRIMITIVE_RANGES 32
76 
77 
78 #define SVGA3D_MAX_SAMPLES 8
79 
80 #endif
81