From 216f19e62fa071d78d9c1119cfce0222800744ca Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Fri, 29 Jul 2022 16:14:03 -0700 Subject: [PATCH] turnip: add tu_formats.h Part-of: --- src/freedreno/vulkan/tu_formats.c | 1 + src/freedreno/vulkan/tu_formats.h | 37 +++++++++++++++++++++++++++++++ src/freedreno/vulkan/tu_private.h | 25 +-------------------- 3 files changed, 39 insertions(+), 24 deletions(-) create mode 100644 src/freedreno/vulkan/tu_formats.h diff --git a/src/freedreno/vulkan/tu_formats.c b/src/freedreno/vulkan/tu_formats.c index 6fc3fa45ce3..d9caa0ef951 100644 --- a/src/freedreno/vulkan/tu_formats.c +++ b/src/freedreno/vulkan/tu_formats.c @@ -23,6 +23,7 @@ * DEALINGS IN THE SOFTWARE. */ +#include "tu_formats.h" #include "tu_private.h" #include "fdl/fd6_format_table.h" diff --git a/src/freedreno/vulkan/tu_formats.h b/src/freedreno/vulkan/tu_formats.h new file mode 100644 index 00000000000..1c13619e9d9 --- /dev/null +++ b/src/freedreno/vulkan/tu_formats.h @@ -0,0 +1,37 @@ +/* + * Copyright © 2016 Red Hat. + * Copyright © 2016 Bas Nieuwenhuizen + * SPDX-License-Identifier: MIT + * + * based in part on anv driver which is: + * Copyright © 2015 Intel Corporation + */ + +#ifndef TU_FORMATS_H +#define TU_FORMATS_H + +#include "tu_common.h" + +struct tu_native_format +{ + enum a6xx_format fmt : 8; + enum a3xx_color_swap swap : 8; + enum a6xx_tile_mode tile_mode : 8; +}; + +enum pipe_format tu_vk_format_to_pipe_format(VkFormat vk_format); +bool tu6_format_vtx_supported(VkFormat format); +struct tu_native_format tu6_format_vtx(VkFormat format); +bool tu6_format_color_supported(enum pipe_format format); +struct tu_native_format tu6_format_color(enum pipe_format format, enum a6xx_tile_mode tile_mode); +bool tu6_format_texture_supported(enum pipe_format format); +struct tu_native_format tu6_format_texture(enum pipe_format format, enum a6xx_tile_mode tile_mode); + +static inline enum a6xx_format +tu6_base_format(enum pipe_format format) +{ + /* note: tu6_format_color doesn't care about tiling for .fmt field */ + return tu6_format_color(format, TILE6_LINEAR).fmt; +} + +#endif /* TU_FORMATS_H */ diff --git a/src/freedreno/vulkan/tu_private.h b/src/freedreno/vulkan/tu_private.h index 2e4e1a20277..33d03e0fb6a 100644 --- a/src/freedreno/vulkan/tu_private.h +++ b/src/freedreno/vulkan/tu_private.h @@ -33,6 +33,7 @@ #include "tu_cs.h" #include "tu_descriptor_set.h" #include "tu_drm.h" +#include "tu_formats.h" #include "tu_image.h" #include "tu_perfetto.h" #include "tu_query.h" @@ -1778,30 +1779,6 @@ tu_store_gmem_attachment(struct tu_cmd_buffer *cmd, void tu_choose_gmem_layout(struct tu_cmd_buffer *cmd); -enum pipe_format tu_vk_format_to_pipe_format(VkFormat vk_format); - -struct tu_native_format -{ - enum a6xx_format fmt : 8; - enum a3xx_color_swap swap : 8; - enum a6xx_tile_mode tile_mode : 8; -}; - -enum pipe_format tu_vk_format_to_pipe_format(VkFormat vk_format); -bool tu6_format_vtx_supported(VkFormat format); -struct tu_native_format tu6_format_vtx(VkFormat format); -bool tu6_format_color_supported(enum pipe_format format); -struct tu_native_format tu6_format_color(enum pipe_format format, enum a6xx_tile_mode tile_mode); -bool tu6_format_texture_supported(enum pipe_format format); -struct tu_native_format tu6_format_texture(enum pipe_format format, enum a6xx_tile_mode tile_mode); - -static inline enum a6xx_format -tu6_base_format(enum pipe_format format) -{ - /* note: tu6_format_color doesn't care about tiling for .fmt field */ - return tu6_format_color(format, TILE6_LINEAR).fmt; -} - struct tu_sampler_ycbcr_conversion { struct vk_object_base base;