• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2024 Valve Corporation
3  * Copyright 2024 Alyssa Rosenzweig
4  * Copyright 2022-2023 Collabora Ltd. and Red Hat Inc.
5  * SPDX-License-Identifier: MIT
6  */
7 
8 #pragma once
9 
10 #include <assert.h>
11 
12 #include "vk_log.h"
13 #include "vk_util.h"
14 
15 #define HK_MAX_SETS                   8
16 #define HK_MAX_PUSH_SIZE              256
17 #define HK_MAX_DYNAMIC_BUFFERS        64
18 #define HK_MAX_RTS                    8
19 #define HK_MIN_SSBO_ALIGNMENT         16
20 #define HK_MIN_TEXEL_BUFFER_ALIGNMENT 16
21 #define HK_MIN_UBO_ALIGNMENT          64
22 #define HK_MAX_VIEWPORTS              16
23 #define HK_MAX_DESCRIPTOR_SIZE        32
24 #define HK_MAX_PUSH_DESCRIPTORS       32
25 #define HK_MAX_DESCRIPTOR_SET_SIZE    (1u << 30)
26 #define HK_MAX_DESCRIPTORS            (1 << 20)
27 #define HK_PUSH_DESCRIPTOR_SET_SIZE                                            \
28    (HK_MAX_PUSH_DESCRIPTORS * HK_MAX_DESCRIPTOR_SIZE)
29 #define HK_SSBO_BOUNDS_CHECK_ALIGNMENT 4
30 #define HK_MAX_MULTIVIEW_VIEW_COUNT    32
31 
32 #define HK_SPARSE_ADDR_SPACE_SIZE (1ull << 39)
33 #define HK_MAX_BUFFER_SIZE        (1ull << 37)
34 #define HK_MAX_SHARED_SIZE        (32 * 1024)
35 
36 struct hk_addr_range {
37    uint64_t addr;
38    uint64_t range;
39 };
40 
41 #define perf_debug_dev(dev, fmt, ...)                                          \
42    do {                                                                        \
43       if (dev->debug & AGX_DBG_PERF)                                           \
44          mesa_log(MESA_LOG_WARN, (MESA_LOG_TAG), (fmt), ##__VA_ARGS__);        \
45    } while (0)
46 
47 #define perf_debug(dev, fmt, ...)                                              \
48    do {                                                                        \
49       if (dev->dev.debug & AGX_DBG_PERF)                                       \
50          mesa_log(MESA_LOG_WARN, (MESA_LOG_TAG), (fmt), ##__VA_ARGS__);        \
51    } while (0)
52 
53 /* Fake values, pending UAPI upstreaming */
54 #ifndef DRM_FORMAT_MOD_APPLE_TWIDDLED
55 #define DRM_FORMAT_MOD_APPLE_TWIDDLED (2)
56 #endif
57 #ifndef DRM_FORMAT_MOD_APPLE_TWIDDLED_COMPRESSED
58 #define DRM_FORMAT_MOD_APPLE_TWIDDLED_COMPRESSED (3)
59 #endif
60