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 128 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 << 31) 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, fmt, ...) \ 42 do { \ 43 if (dev->dev.debug & AGX_DBG_PERF) \ 44 mesa_log(MESA_LOG_WARN, (MESA_LOG_TAG), (fmt), ##__VA_ARGS__); \ 45 } while (0) 46 47 /* Fake values, pending UAPI upstreaming */ 48 #ifndef DRM_FORMAT_MOD_APPLE_TWIDDLED 49 #define DRM_FORMAT_MOD_APPLE_TWIDDLED (2) 50 #endif 51 #ifndef DRM_FORMAT_MOD_APPLE_TWIDDLED_COMPRESSED 52 #define DRM_FORMAT_MOD_APPLE_TWIDDLED_COMPRESSED (3) 53 #endif 54