Path: blob/21.2-virgl/src/gallium/drivers/svga/include/svga3d_limits.h
4574 views
/**********************************************************1* Copyright 2007-2015 VMware, Inc. All rights reserved.2*3* Permission is hereby granted, free of charge, to any person4* obtaining a copy of this software and associated documentation5* files (the "Software"), to deal in the Software without6* restriction, including without limitation the rights to use, copy,7* modify, merge, publish, distribute, sublicense, and/or sell copies8* of the Software, and to permit persons to whom the Software is9* furnished to do so, subject to the following conditions:10*11* The above copyright notice and this permission notice shall be12* included in all copies or substantial portions of the Software.13*14* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,15* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF16* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND17* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS18* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN19* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN20* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE21* SOFTWARE.22*23**********************************************************/2425/*26* svga3d_limits.h --27*28* SVGA 3d hardware limits29*/3031#ifndef _SVGA3D_LIMITS_H_32#define _SVGA3D_LIMITS_H_3334#define INCLUDE_ALLOW_MODULE35#define INCLUDE_ALLOW_USERLEVEL36#define INCLUDE_ALLOW_VMCORE3738#include "includeCheck.h"3940#define SVGA3D_NUM_CLIPPLANES 641#define SVGA3D_MAX_RENDER_TARGETS 842#define SVGA3D_MAX_SIMULTANEOUS_RENDER_TARGETS (SVGA3D_MAX_RENDER_TARGETS)43#define SVGA3D_MAX_UAVIEWS 844#define SVGA3D_MAX_CONTEXT_IDS 25645#define SVGA3D_MAX_SURFACE_IDS (32 * 1024)4647/*48* Maximum ID a shader can be assigned on a given context.49*/50#define SVGA3D_MAX_SHADERIDS 500051/*52* Maximum number of shaders of a given type that can be defined53* (including all contexts).54*/55#define SVGA3D_MAX_SIMULTANEOUS_SHADERS 200005657#define SVGA3D_NUM_TEXTURE_UNITS 3258#define SVGA3D_NUM_LIGHTS 85960/*61* Maximum size in dwords of shader text the SVGA device will allow.62* Currently 8 MB.63*/64#define SVGA3D_MAX_SHADER_MEMORY_BYTES (8 * 1024 * 1024)65#define SVGA3D_MAX_SHADER_MEMORY (SVGA3D_MAX_SHADER_MEMORY_BYTES / \66sizeof(uint32))6768#define SVGA3D_MAX_CLIP_PLANES 66970/*71* This is the limit to the number of fixed-function texture72* transforms and texture coordinates we can support. It does *not*73* correspond to the number of texture image units (samplers) we74* support!75*/76#define SVGA3D_MAX_TEXTURE_COORDS 87778/*79* Number of faces in a cubemap.80*/81#define SVGA3D_MAX_SURFACE_FACES 68283/*84* Maximum number of array indexes in a GB surface (with DX enabled).85*/86#define SVGA3D_SM4_MAX_SURFACE_ARRAYSIZE 51287#define SVGA3D_SM5_MAX_SURFACE_ARRAYSIZE 204888#define SVGA3D_MAX_SURFACE_ARRAYSIZE SVGA3D_SM5_MAX_SURFACE_ARRAYSIZE8990/*91* The maximum number of vertex arrays we're guaranteed to support in92* SVGA_3D_CMD_DRAWPRIMITIVES.93*/94#define SVGA3D_MAX_VERTEX_ARRAYS 329596/*97* The maximum number of primitive ranges we're guaranteed to support98* in SVGA_3D_CMD_DRAWPRIMITIVES.99*/100#define SVGA3D_MAX_DRAW_PRIMITIVE_RANGES 32101102/*103* The maximum number of samples that can be contained in a surface.104*/105#define SVGA3D_MAX_SAMPLES 8106107#endif // _SVGA3D_LIMITS_H_108109110