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