xref: /aosp_15_r20/external/mesa3d/src/nouveau/vulkan/nvk_private.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2022 Collabora, Ltd.
3  * SPDX-License-Identifier: MIT
4  */
5 #ifndef NVK_PRIVATE_H
6 #define NVK_PRIVATE_H 1
7 
8 #include <assert.h>
9 
10 #include "vk_log.h"
11 #include "vk_util.h"
12 
13 #define NVK_MAX_SETS 32
14 #define NVK_MAX_PUSH_SIZE 128
15 #define NVK_MAX_DYNAMIC_BUFFERS 64
16 #define NVK_MAX_RTS 8
17 #define NVK_MAX_SAMPLES 8
18 #define NVK_MIN_SSBO_ALIGNMENT 16
19 #define NVK_MIN_TEXEL_BUFFER_ALIGNMENT 16
20 #define NVK_MIN_UBO_ALIGNMENT 64
21 #define NVK_MAX_VIEWPORTS 16
22 #define NVK_MAX_DESCRIPTOR_SIZE 16
23 #define NVK_MAX_PUSH_DESCRIPTORS 32
24 #define NVK_MAX_DESCRIPTOR_SET_SIZE (1u << 30)
25 #define NVK_MAX_DESCRIPTORS (1 << 20)
26 #define NVK_PUSH_DESCRIPTOR_SET_SIZE \
27    (NVK_MAX_PUSH_DESCRIPTORS * NVK_MAX_DESCRIPTOR_SIZE)
28 #define NVK_SSBO_BOUNDS_CHECK_ALIGNMENT 4
29 #define NVK_MAX_MULTIVIEW_VIEW_COUNT 32
30 
31 #define NVK_SPARSE_ADDR_SPACE_SIZE (1ull << 39)
32 #define NVK_MAX_BUFFER_SIZE (1ull << 31)
33 #define NVK_MAX_SHARED_SIZE (48 * 1024)
34 
35 /* Max size of a bound cbuf */
36 #define NVK_MAX_CBUF_SIZE (1u << 16)
37 
38 struct nvk_addr_range {
39    uint64_t addr;
40    uint64_t range;
41 };
42 
43 #endif
44