blob: 80ef79b441fc03002b2d5a4947f984119069d57d [file] [log] [blame]
/*
* Copyright 2015 Advanced Micro Devices, Inc.
* Copyright 2024 Valve Corporation
*
* SPDX-License-Identifier: MIT
*/
#ifndef AC_FORMATS_H
#define AC_FORMATS_H
#include "amd_family.h"
#include "util/format/u_format.h"
#ifdef __cplusplus
extern "C" {
#endif
uint32_t
ac_translate_buffer_numformat(const struct util_format_description *desc,
int first_non_void);
uint32_t
ac_translate_buffer_dataformat(const struct util_format_description *desc,
int first_non_void);
uint32_t
ac_translate_tex_numformat(const struct util_format_description *desc,
int first_non_void);
uint32_t
ac_translate_tex_dataformat(const struct radeon_info *info,
const struct util_format_description *desc,
int first_non_void);
unsigned
ac_get_cb_format(enum amd_gfx_level gfx_level, enum pipe_format format);
unsigned
ac_get_cb_number_type(enum pipe_format format);
unsigned
ac_translate_colorswap(enum amd_gfx_level gfx_level,
enum pipe_format format,
bool do_endian_swap);
bool
ac_is_colorbuffer_format_supported(enum amd_gfx_level gfx_level,
enum pipe_format format);
uint32_t
ac_colorformat_endian_swap(uint32_t colorformat);
uint32_t
ac_translate_dbformat(enum pipe_format format);
bool
ac_is_zs_format_supported(enum pipe_format format);
uint32_t
ac_border_color_swizzle(const struct util_format_description *desc);
enum pipe_format
ac_simplify_cb_format(enum pipe_format format);
bool
ac_alpha_is_on_msb(const struct radeon_info *info, enum pipe_format format);
bool
ac_is_reduction_mode_supported(const struct radeon_info *info, enum pipe_format format,
bool shadow_samplers);
#ifdef __cplusplus
}
#endif
#endif