From 20986b77f342a61d01f32814ddb28566267eafc7 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Fri, 26 Jan 2024 16:22:15 +0100 Subject: [PATCH] gallium/aux: move util_pipe_tex_to_tgsi_tex to u_blitter.c MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is the only place this is called from, and this allows us to avoid a TGSI specific include from generic code. Reviewed-by: Marek Olšák Part-of: --- src/gallium/auxiliary/util/u_blitter.c | 45 ++++++++++++++++++ src/gallium/auxiliary/util/u_inlines.h | 47 ------------------- .../drivers/nouveau/nv50/nv50_program.c | 1 + .../drivers/nouveau/nv50/nv50_shader_state.c | 1 + .../drivers/nouveau/nv50/nv50_surface.c | 1 + .../drivers/nouveau/nvc0/nvc0_program.c | 1 + src/gallium/drivers/radeonsi/si_shader_info.c | 1 + src/gallium/drivers/svga/svga_format.c | 2 + src/mesa/state_tracker/st_pbo.c | 1 + src/nouveau/codegen/nv50_ir_target_nv50.cpp | 1 + 10 files changed, 54 insertions(+), 47 deletions(-) diff --git a/src/gallium/auxiliary/util/u_blitter.c b/src/gallium/auxiliary/util/u_blitter.c index 7d11c0d29b7..540381e8ead 100644 --- a/src/gallium/auxiliary/util/u_blitter.c +++ b/src/gallium/auxiliary/util/u_blitter.c @@ -934,6 +934,51 @@ static void set_texcoords_in_vertices(const struct blitter_attrib *attrib, out[1] = attrib->texcoord.y2; } +/** Convert PIPE_TEXTURE_x to TGSI_TEXTURE_x */ +static inline enum tgsi_texture_type +util_pipe_tex_to_tgsi_tex(enum pipe_texture_target pipe_tex_target, + unsigned nr_samples) +{ + switch (pipe_tex_target) { + case PIPE_BUFFER: + return TGSI_TEXTURE_BUFFER; + + case PIPE_TEXTURE_1D: + assert(nr_samples <= 1); + return TGSI_TEXTURE_1D; + + case PIPE_TEXTURE_2D: + return nr_samples > 1 ? TGSI_TEXTURE_2D_MSAA : TGSI_TEXTURE_2D; + + case PIPE_TEXTURE_RECT: + assert(nr_samples <= 1); + return TGSI_TEXTURE_RECT; + + case PIPE_TEXTURE_3D: + assert(nr_samples <= 1); + return TGSI_TEXTURE_3D; + + case PIPE_TEXTURE_CUBE: + assert(nr_samples <= 1); + return TGSI_TEXTURE_CUBE; + + case PIPE_TEXTURE_1D_ARRAY: + assert(nr_samples <= 1); + return TGSI_TEXTURE_1D_ARRAY; + + case PIPE_TEXTURE_2D_ARRAY: + return nr_samples > 1 ? TGSI_TEXTURE_2D_ARRAY_MSAA : + TGSI_TEXTURE_2D_ARRAY; + + case PIPE_TEXTURE_CUBE_ARRAY: + return TGSI_TEXTURE_CUBE_ARRAY; + + default: + assert(0 && "unexpected texture target"); + return TGSI_TEXTURE_UNKNOWN; + } +} + static void *blitter_get_fs_texfetch_col(struct blitter_context_priv *ctx, enum pipe_format src_format, enum pipe_format dst_format, diff --git a/src/gallium/auxiliary/util/u_inlines.h b/src/gallium/auxiliary/util/u_inlines.h index d7127069792..e75362999f6 100644 --- a/src/gallium/auxiliary/util/u_inlines.h +++ b/src/gallium/auxiliary/util/u_inlines.h @@ -30,7 +30,6 @@ #include "pipe/p_context.h" #include "pipe/p_defines.h" -#include "pipe/p_shader_tokens.h" #include "pipe/p_state.h" #include "pipe/p_screen.h" #include "util/compiler.h" @@ -788,52 +787,6 @@ util_query_clear_result(union pipe_query_result *result, unsigned type) } } -/** Convert PIPE_TEXTURE_x to TGSI_TEXTURE_x */ -static inline enum tgsi_texture_type -util_pipe_tex_to_tgsi_tex(enum pipe_texture_target pipe_tex_target, - unsigned nr_samples) -{ - switch (pipe_tex_target) { - case PIPE_BUFFER: - return TGSI_TEXTURE_BUFFER; - - case PIPE_TEXTURE_1D: - assert(nr_samples <= 1); - return TGSI_TEXTURE_1D; - - case PIPE_TEXTURE_2D: - return nr_samples > 1 ? TGSI_TEXTURE_2D_MSAA : TGSI_TEXTURE_2D; - - case PIPE_TEXTURE_RECT: - assert(nr_samples <= 1); - return TGSI_TEXTURE_RECT; - - case PIPE_TEXTURE_3D: - assert(nr_samples <= 1); - return TGSI_TEXTURE_3D; - - case PIPE_TEXTURE_CUBE: - assert(nr_samples <= 1); - return TGSI_TEXTURE_CUBE; - - case PIPE_TEXTURE_1D_ARRAY: - assert(nr_samples <= 1); - return TGSI_TEXTURE_1D_ARRAY; - - case PIPE_TEXTURE_2D_ARRAY: - return nr_samples > 1 ? TGSI_TEXTURE_2D_ARRAY_MSAA : - TGSI_TEXTURE_2D_ARRAY; - - case PIPE_TEXTURE_CUBE_ARRAY: - return TGSI_TEXTURE_CUBE_ARRAY; - - default: - assert(0 && "unexpected texture target"); - return TGSI_TEXTURE_UNKNOWN; - } -} - - static inline void util_copy_constant_buffer(struct pipe_constant_buffer *dst, const struct pipe_constant_buffer *src, diff --git a/src/gallium/drivers/nouveau/nv50/nv50_program.c b/src/gallium/drivers/nouveau/nv50/nv50_program.c index 331a75baa8c..b80ba692041 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_program.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_program.c @@ -21,6 +21,7 @@ */ #include "pipe/p_defines.h" +#include "pipe/p_shader_tokens.h" #include "compiler/nir/nir.h" diff --git a/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c b/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c index be9f25209ef..fc3a673b371 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_shader_state.c @@ -23,6 +23,7 @@ #include "pipe/p_context.h" #include "pipe/p_defines.h" +#include "pipe/p_shader_tokens.h" #include "pipe/p_state.h" #include "util/u_inlines.h" diff --git a/src/gallium/drivers/nouveau/nv50/nv50_surface.c b/src/gallium/drivers/nouveau/nv50/nv50_surface.c index 7f661065fe5..362d21c1d80 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_surface.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_surface.c @@ -27,6 +27,7 @@ #include "nir/pipe_nir.h" #include "pipe/p_defines.h" +#include "pipe/p_shader_tokens.h" #include "util/u_inlines.h" #include "util/u_pack_color.h" diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c index a2c1ca76b91..2f4678f591e 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_program.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_program.c @@ -22,6 +22,7 @@ #include "nir/pipe_nir.h" #include "pipe/p_defines.h" +#include "pipe/p_shader_tokens.h" #include "compiler/nir/nir.h" #include "compiler/nir/nir_builder.h" diff --git a/src/gallium/drivers/radeonsi/si_shader_info.c b/src/gallium/drivers/radeonsi/si_shader_info.c index 8232b6f22eb..1b3ba4a06e9 100644 --- a/src/gallium/drivers/radeonsi/si_shader_info.c +++ b/src/gallium/drivers/radeonsi/si_shader_info.c @@ -7,6 +7,7 @@ #include "si_pipe.h" #include "si_shader_internal.h" #include "util/mesa-sha1.h" +#include "pipe/p_shader_tokens.h" #include "sid.h" #include "nir.h" #include "nir_tcs_info.h" diff --git a/src/gallium/drivers/svga/svga_format.c b/src/gallium/drivers/svga/svga_format.c index 6228c2091e0..c058ef1c39e 100644 --- a/src/gallium/drivers/svga/svga_format.c +++ b/src/gallium/drivers/svga/svga_format.c @@ -11,6 +11,8 @@ #include "util/format/u_format.h" #include "util/u_memory.h" +#include "pipe/p_shader_tokens.h" + #include "svga_winsys.h" #include "svga_screen.h" #include "svga_format.h" diff --git a/src/mesa/state_tracker/st_pbo.c b/src/mesa/state_tracker/st_pbo.c index ada3bbd33a0..3edd6a5c182 100644 --- a/src/mesa/state_tracker/st_pbo.c +++ b/src/mesa/state_tracker/st_pbo.c @@ -36,6 +36,7 @@ #include "pipe/p_context.h" #include "pipe/p_defines.h" #include "pipe/p_screen.h" +#include "pipe/p_shader_tokens.h" #include "cso_cache/cso_context.h" #include "util/format/u_format.h" #include "util/u_inlines.h" diff --git a/src/nouveau/codegen/nv50_ir_target_nv50.cpp b/src/nouveau/codegen/nv50_ir_target_nv50.cpp index 666691e6d70..46bb227846b 100644 --- a/src/nouveau/codegen/nv50_ir_target_nv50.cpp +++ b/src/nouveau/codegen/nv50_ir_target_nv50.cpp @@ -21,6 +21,7 @@ */ #include "nv50_ir_target_nv50.h" +#include "pipe/p_shader_tokens.h" namespace nv50_ir {