Mesa (main): radv: Use nir_gen_rect_vertices

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 19 13:25:20 UTC 2022


Module: Mesa
Branch: main
Commit: f90babb567bde389a0b65e0191c63dfc9ac52cb0
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f90babb567bde389a0b65e0191c63dfc9ac52cb0

Author: Konstantin Seurer <konstantin.seurer at gmail.com>
Date:   Thu Jul 14 11:13:18 2022 +0200

radv: Use nir_gen_rect_vertices

Signed-off-by: Konstantin Seurer <konstantin.seurer at gmail.com>
Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17535>

---

 src/amd/vulkan/radv_meta.c        | 34 +---------------------------------
 src/amd/vulkan/radv_meta.h        |  3 +--
 src/amd/vulkan/radv_meta_blit.c   |  2 +-
 src/amd/vulkan/radv_meta_blit2d.c |  2 +-
 src/amd/vulkan/radv_meta_clear.c  |  4 ++--
 5 files changed, 6 insertions(+), 39 deletions(-)

diff --git a/src/amd/vulkan/radv_meta.c b/src/amd/vulkan/radv_meta.c
index bcfcd85f7c8..c0c27594481 100644
--- a/src/amd/vulkan/radv_meta.c
+++ b/src/amd/vulkan/radv_meta.c
@@ -714,38 +714,6 @@ nir_builder PRINTFLIKE(3, 4)
    return b;
 }
 
-nir_ssa_def *
-radv_meta_gen_rect_vertices_comp2(nir_builder *vs_b, nir_ssa_def *comp2)
-{
-
-   nir_ssa_def *vertex_id = nir_load_vertex_id_zero_base(vs_b);
-
-   /* vertex 0 - -1.0, -1.0 */
-   /* vertex 1 - -1.0, 1.0 */
-   /* vertex 2 - 1.0, -1.0 */
-   /* so channel 0 is vertex_id != 2 ? -1.0 : 1.0
-      channel 1 is vertex id != 1 ? -1.0 : 1.0 */
-
-   nir_ssa_def *c0cmp = nir_ine_imm(vs_b, vertex_id, 2);
-   nir_ssa_def *c1cmp = nir_ine_imm(vs_b, vertex_id, 1);
-
-   nir_ssa_def *comp[4];
-   comp[0] = nir_bcsel(vs_b, c0cmp, nir_imm_float(vs_b, -1.0), nir_imm_float(vs_b, 1.0));
-
-   comp[1] = nir_bcsel(vs_b, c1cmp, nir_imm_float(vs_b, -1.0), nir_imm_float(vs_b, 1.0));
-   comp[2] = comp2;
-   comp[3] = nir_imm_float(vs_b, 1.0);
-   nir_ssa_def *outvec = nir_vec(vs_b, comp, 4);
-
-   return outvec;
-}
-
-nir_ssa_def *
-radv_meta_gen_rect_vertices(nir_builder *vs_b)
-{
-   return radv_meta_gen_rect_vertices_comp2(vs_b, nir_imm_float(vs_b, 0.0));
-}
-
 /* vertex shader that generates vertices */
 nir_shader *
 radv_meta_build_nir_vs_generate_vertices(struct radv_device *dev)
@@ -756,7 +724,7 @@ radv_meta_build_nir_vs_generate_vertices(struct radv_device *dev)
 
    nir_builder b = radv_meta_init_shader(dev, MESA_SHADER_VERTEX, "meta_vs_gen_verts");
 
-   nir_ssa_def *outvec = radv_meta_gen_rect_vertices(&b);
+   nir_ssa_def *outvec = nir_gen_rect_vertices(&b, NULL, NULL);
 
    v_position = nir_variable_create(b.shader, nir_var_shader_out, vec4, "gl_Position");
    v_position->data.location = VARYING_SLOT_POS;
diff --git a/src/amd/vulkan/radv_meta.h b/src/amd/vulkan/radv_meta.h
index 6ba7b8d286e..7b50ed4400a 100644
--- a/src/amd/vulkan/radv_meta.h
+++ b/src/amd/vulkan/radv_meta.h
@@ -263,8 +263,7 @@ radv_is_dcc_decompress_pipeline(struct radv_cmd_buffer *cmd_buffer)
 
 nir_builder PRINTFLIKE(3, 4)
    radv_meta_init_shader(struct radv_device *dev, gl_shader_stage stage, const char *name, ...);
-nir_ssa_def *radv_meta_gen_rect_vertices(nir_builder *vs_b);
-nir_ssa_def *radv_meta_gen_rect_vertices_comp2(nir_builder *vs_b, nir_ssa_def *comp2);
+
 nir_shader *radv_meta_build_nir_vs_generate_vertices(struct radv_device *dev);
 nir_shader *radv_meta_build_nir_fs_noop(struct radv_device *dev);
 
diff --git a/src/amd/vulkan/radv_meta_blit.c b/src/amd/vulkan/radv_meta_blit.c
index 6205c0122e8..b45cb2760b1 100644
--- a/src/amd/vulkan/radv_meta_blit.c
+++ b/src/amd/vulkan/radv_meta_blit.c
@@ -48,7 +48,7 @@ build_nir_vertex_shader(struct radv_device *dev)
    tex_pos_out->data.location = VARYING_SLOT_VAR0;
    tex_pos_out->data.interpolation = INTERP_MODE_SMOOTH;
 
-   nir_ssa_def *outvec = radv_meta_gen_rect_vertices(&b);
+   nir_ssa_def *outvec = nir_gen_rect_vertices(&b, NULL, NULL);
 
    nir_store_var(&b, pos_out, outvec, 0xf);
 
diff --git a/src/amd/vulkan/radv_meta_blit2d.c b/src/amd/vulkan/radv_meta_blit2d.c
index 4c640aca8a0..d7bdf71789c 100644
--- a/src/amd/vulkan/radv_meta_blit2d.c
+++ b/src/amd/vulkan/radv_meta_blit2d.c
@@ -395,7 +395,7 @@ build_nir_vertex_shader(struct radv_device *device)
    tex_pos_out->data.location = VARYING_SLOT_VAR0;
    tex_pos_out->data.interpolation = INTERP_MODE_SMOOTH;
 
-   nir_ssa_def *outvec = radv_meta_gen_rect_vertices(&b);
+   nir_ssa_def *outvec = nir_gen_rect_vertices(&b, NULL, NULL);
    nir_store_var(&b, pos_out, outvec, 0xf);
 
    nir_ssa_def *src_box = nir_load_push_constant(&b, 4, 32, nir_imm_int(&b, 0), .range = 16);
diff --git a/src/amd/vulkan/radv_meta_clear.c b/src/amd/vulkan/radv_meta_clear.c
index 1aa23c2c46c..30a510d569e 100644
--- a/src/amd/vulkan/radv_meta_clear.c
+++ b/src/amd/vulkan/radv_meta_clear.c
@@ -55,7 +55,7 @@ build_color_shaders(struct radv_device *dev, struct nir_shader **out_vs, struct
 
    nir_store_var(&fs_b, fs_out_color, in_color_load, 0xf);
 
-   nir_ssa_def *outvec = radv_meta_gen_rect_vertices(&vs_b);
+   nir_ssa_def *outvec = nir_gen_rect_vertices(&vs_b, NULL, NULL);
    nir_store_var(&vs_b, vs_out_pos, outvec, 0xf);
 
    const struct glsl_type *layer_type = glsl_int_type();
@@ -416,7 +416,7 @@ build_depthstencil_shader(struct radv_device *dev, struct nir_shader **out_vs,
       z = nir_load_push_constant(&vs_b, 1, 32, nir_imm_int(&vs_b, 0), .range = 4);
    }
 
-   nir_ssa_def *outvec = radv_meta_gen_rect_vertices_comp2(&vs_b, z);
+   nir_ssa_def *outvec = nir_gen_rect_vertices(&vs_b, z, NULL);
    nir_store_var(&vs_b, vs_out_pos, outvec, 0xf);
 
    const struct glsl_type *layer_type = glsl_int_type();



More information about the mesa-commit mailing list