Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/gallium/drivers/svga/include/svga3d_limits.h
4574 views
1
/**********************************************************
2
* Copyright 2007-2015 VMware, Inc. All rights reserved.
3
*
4
* Permission is hereby granted, free of charge, to any person
5
* obtaining a copy of this software and associated documentation
6
* files (the "Software"), to deal in the Software without
7
* restriction, including without limitation the rights to use, copy,
8
* modify, merge, publish, distribute, sublicense, and/or sell copies
9
* of the Software, and to permit persons to whom the Software is
10
* furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice shall be
13
* included in all copies or substantial portions of the Software.
14
*
15
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
* SOFTWARE.
23
*
24
**********************************************************/
25
26
/*
27
* svga3d_limits.h --
28
*
29
* SVGA 3d hardware limits
30
*/
31
32
#ifndef _SVGA3D_LIMITS_H_
33
#define _SVGA3D_LIMITS_H_
34
35
#define INCLUDE_ALLOW_MODULE
36
#define INCLUDE_ALLOW_USERLEVEL
37
#define INCLUDE_ALLOW_VMCORE
38
39
#include "includeCheck.h"
40
41
#define SVGA3D_NUM_CLIPPLANES 6
42
#define SVGA3D_MAX_RENDER_TARGETS 8
43
#define SVGA3D_MAX_SIMULTANEOUS_RENDER_TARGETS (SVGA3D_MAX_RENDER_TARGETS)
44
#define SVGA3D_MAX_UAVIEWS 8
45
#define SVGA3D_MAX_CONTEXT_IDS 256
46
#define SVGA3D_MAX_SURFACE_IDS (32 * 1024)
47
48
/*
49
* Maximum ID a shader can be assigned on a given context.
50
*/
51
#define SVGA3D_MAX_SHADERIDS 5000
52
/*
53
* Maximum number of shaders of a given type that can be defined
54
* (including all contexts).
55
*/
56
#define SVGA3D_MAX_SIMULTANEOUS_SHADERS 20000
57
58
#define SVGA3D_NUM_TEXTURE_UNITS 32
59
#define SVGA3D_NUM_LIGHTS 8
60
61
/*
62
* Maximum size in dwords of shader text the SVGA device will allow.
63
* Currently 8 MB.
64
*/
65
#define SVGA3D_MAX_SHADER_MEMORY_BYTES (8 * 1024 * 1024)
66
#define SVGA3D_MAX_SHADER_MEMORY (SVGA3D_MAX_SHADER_MEMORY_BYTES / \
67
sizeof(uint32))
68
69
#define SVGA3D_MAX_CLIP_PLANES 6
70
71
/*
72
* This is the limit to the number of fixed-function texture
73
* transforms and texture coordinates we can support. It does *not*
74
* correspond to the number of texture image units (samplers) we
75
* support!
76
*/
77
#define SVGA3D_MAX_TEXTURE_COORDS 8
78
79
/*
80
* Number of faces in a cubemap.
81
*/
82
#define SVGA3D_MAX_SURFACE_FACES 6
83
84
/*
85
* Maximum number of array indexes in a GB surface (with DX enabled).
86
*/
87
#define SVGA3D_SM4_MAX_SURFACE_ARRAYSIZE 512
88
#define SVGA3D_SM5_MAX_SURFACE_ARRAYSIZE 2048
89
#define SVGA3D_MAX_SURFACE_ARRAYSIZE SVGA3D_SM5_MAX_SURFACE_ARRAYSIZE
90
91
/*
92
* The maximum number of vertex arrays we're guaranteed to support in
93
* SVGA_3D_CMD_DRAWPRIMITIVES.
94
*/
95
#define SVGA3D_MAX_VERTEX_ARRAYS 32
96
97
/*
98
* The maximum number of primitive ranges we're guaranteed to support
99
* in SVGA_3D_CMD_DRAWPRIMITIVES.
100
*/
101
#define SVGA3D_MAX_DRAW_PRIMITIVE_RANGES 32
102
103
/*
104
* The maximum number of samples that can be contained in a surface.
105
*/
106
#define SVGA3D_MAX_SAMPLES 8
107
108
#endif // _SVGA3D_LIMITS_H_
109
110