1 /* 2 * Copyright 2015 Advanced Micro Devices, Inc. 3 * Copyright 2024 Valve Corporation 4 * 5 * SPDX-License-Identifier: MIT 6 */ 7 8 #ifndef AC_FORMATS_H 9 #define AC_FORMATS_H 10 11 #include "amd_family.h" 12 13 #include "util/format/u_format.h" 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 uint32_t 20 ac_translate_buffer_numformat(const struct util_format_description *desc, 21 int first_non_void); 22 23 uint32_t 24 ac_translate_buffer_dataformat(const struct util_format_description *desc, 25 int first_non_void); 26 27 uint32_t 28 ac_translate_tex_numformat(const struct util_format_description *desc, 29 int first_non_void); 30 31 uint32_t 32 ac_translate_tex_dataformat(const struct radeon_info *info, 33 const struct util_format_description *desc, 34 int first_non_void); 35 36 unsigned 37 ac_get_cb_format(enum amd_gfx_level gfx_level, enum pipe_format format); 38 39 unsigned 40 ac_get_cb_number_type(enum pipe_format format); 41 42 unsigned 43 ac_translate_colorswap(enum amd_gfx_level gfx_level, 44 enum pipe_format format, 45 bool do_endian_swap); 46 47 bool 48 ac_is_colorbuffer_format_supported(enum amd_gfx_level gfx_level, 49 enum pipe_format format); 50 51 uint32_t 52 ac_colorformat_endian_swap(uint32_t colorformat); 53 54 uint32_t 55 ac_translate_dbformat(enum pipe_format format); 56 57 bool 58 ac_is_zs_format_supported(enum pipe_format format); 59 60 uint32_t 61 ac_border_color_swizzle(const struct util_format_description *desc); 62 63 enum pipe_format 64 ac_simplify_cb_format(enum pipe_format format); 65 66 bool 67 ac_alpha_is_on_msb(const struct radeon_info *info, enum pipe_format format); 68 69 bool 70 ac_is_reduction_mode_supported(const struct radeon_info *info, enum pipe_format format, 71 bool shadow_samplers); 72 73 #ifdef __cplusplus 74 } 75 #endif 76 77 #endif 78