freedreno/fdl: Add UBWC config struct

This will be used for the tiled memcpy implementation, but we add this
part of the API first so that subsequent commits can embed it in turnip
and set it up.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26578>
This commit is contained in:
Connor Abbott
2024-07-01 07:27:34 -04:00
committed by Marge Bot
parent 8a6f051a13
commit f67b64ae6c

View File

@@ -334,6 +334,23 @@ void
fdl6_format_swiz(enum pipe_format format, bool has_z24uint_s8uint,
unsigned char *format_swiz);
enum fdl_macrotile_mode {
FDL_MACROTILE_4_CHANNEL,
FDL_MACROTILE_8_CHANNEL,
/* Used internally by turnip */
FDL_MACROTILE_INVALID = ~0,
};
/* Parameters that affect UBWC swizzling. Note that because we don't handle
* compression, this isn't a complete set of knobs. See the documentation in
* fd6_tiled_memcpy.c for a description of each one.
*/
struct fdl_ubwc_config {
unsigned highest_bank_bit;
unsigned bank_swizzle_levels;
enum fdl_macrotile_mode macrotile_mode;
};
ENDC;
#endif /* FREEDRENO_LAYOUT_H_ */