mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 04:30:10 +01:00
radv: Use nir_gen_rect_vertices
Signed-off-by: Konstantin Seurer <konstantin.seurer@gmail.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17535>
This commit is contained in:
parent
fab0050223
commit
f90babb567
5 changed files with 6 additions and 39 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue