diff --git a/src/amd/common/nir/ac_nir.h b/src/amd/common/nir/ac_nir.h index 168b21d963f..1e4e13fae03 100644 --- a/src/amd/common/nir/ac_nir.h +++ b/src/amd/common/nir/ac_nir.h @@ -163,7 +163,7 @@ typedef struct { /* Skip culling dependent on the viewport state, which is frustum culling and small prim * culling. Set this when the shader writes the viewport index. */ - bool skip_viewport_culling; + bool skip_viewport_state_culling; /* Use the point-triangle intersection to cull small triangles. */ bool use_point_tri_intersection; diff --git a/src/amd/common/nir/ac_nir_cull.c b/src/amd/common/nir/ac_nir_cull.c index 24c514d0042..8a984c96b3f 100644 --- a/src/amd/common/nir/ac_nir_cull.c +++ b/src/amd/common/nir/ac_nir_cull.c @@ -296,7 +296,7 @@ call_accept_func(nir_builder *b, nir_def *accepted, ac_nir_cull_accepted accept_ static nir_def * ac_nir_cull_triangle(nir_builder *b, - bool skip_viewport_culling, + bool skip_viewport_state_culling, bool use_point_tri_intersection, nir_def *initially_accepted, nir_def *pos[3][4], @@ -308,7 +308,7 @@ ac_nir_cull_triangle(nir_builder *b, accepted = nir_iand(b, accepted, nir_inot(b, w_info->all_w_negative_or_zero_or_nan)); accepted = nir_iand(b, accepted, nir_inot(b, cull_face_triangle(b, pos, w_info))); - if (skip_viewport_culling) { + if (skip_viewport_state_culling) { call_accept_func(b, accepted, accept_func, state); return accepted; } @@ -475,7 +475,7 @@ cull_small_primitive_line(nir_builder *b, nir_def *pos[3][4], static nir_def * ac_nir_cull_line(nir_builder *b, - bool skip_viewport_culling, + bool skip_viewport_state_culling, nir_def *initially_accepted, nir_def *pos[3][4], position_w_info *w_info, @@ -485,7 +485,7 @@ ac_nir_cull_line(nir_builder *b, nir_def *accepted = initially_accepted; accepted = nir_iand(b, accepted, nir_inot(b, w_info->all_w_negative_or_zero_or_nan)); - if (skip_viewport_culling) { + if (skip_viewport_state_culling) { call_accept_func(b, accepted, accept_func, state); return accepted; } @@ -512,7 +512,7 @@ ac_nir_cull_line(nir_builder *b, nir_def * ac_nir_cull_primitive(nir_builder *b, - bool skip_viewport_culling, + bool skip_viewport_state_culling, bool use_point_tri_intersection, nir_def *initially_accepted, nir_def *pos[3][4], @@ -524,10 +524,10 @@ ac_nir_cull_primitive(nir_builder *b, analyze_position_w(b, pos, num_vertices, &w_info); if (num_vertices == 3) { - return ac_nir_cull_triangle(b, skip_viewport_culling, use_point_tri_intersection, + return ac_nir_cull_triangle(b, skip_viewport_state_culling, use_point_tri_intersection, initially_accepted, pos, &w_info, accept_func, state); } else if (num_vertices == 2) { - return ac_nir_cull_line(b, skip_viewport_culling, initially_accepted, pos, &w_info, + return ac_nir_cull_line(b, skip_viewport_state_culling, initially_accepted, pos, &w_info, accept_func, state); } else { unreachable("point culling not implemented"); diff --git a/src/amd/common/nir/ac_nir_helpers.h b/src/amd/common/nir/ac_nir_helpers.h index e86f8589f5c..0e9eff18719 100644 --- a/src/amd/common/nir/ac_nir_helpers.h +++ b/src/amd/common/nir/ac_nir_helpers.h @@ -146,7 +146,7 @@ ac_nir_map_io_location(unsigned location, nir_def * ac_nir_cull_primitive(nir_builder *b, - bool skip_viewport_culling, + bool skip_viewport_state_culling, bool use_point_tri_intersection, nir_def *initially_accepted, nir_def *pos[3][4], diff --git a/src/amd/common/nir/ac_nir_lower_ngg.c b/src/amd/common/nir/ac_nir_lower_ngg.c index 6b0f440edcd..fe1f0cca69c 100644 --- a/src/amd/common/nir/ac_nir_lower_ngg.c +++ b/src/amd/common/nir/ac_nir_lower_ngg.c @@ -1193,7 +1193,7 @@ add_deferred_attribute_culling(nir_builder *b, nir_cf_list *original_extracted_c } /* See if the current primitive is accepted */ - ac_nir_cull_primitive(b, s->options->skip_viewport_culling, s->options->use_point_tri_intersection, + ac_nir_cull_primitive(b, s->options->skip_viewport_state_culling, s->options->use_point_tri_intersection, accepted_by_clipdist, pos, s->options->num_vertices_per_primitive, cull_primitive_accepted, s); } diff --git a/src/amd/common/nir/ac_nir_lower_ngg_gs.c b/src/amd/common/nir/ac_nir_lower_ngg_gs.c index a1c07c136e0..fa667e938a5 100644 --- a/src/amd/common/nir/ac_nir_lower_ngg_gs.c +++ b/src/amd/common/nir/ac_nir_lower_ngg_gs.c @@ -631,7 +631,7 @@ ngg_gs_cull_primitive(nir_builder *b, nir_def *tid_in_tg, nir_def *max_vtxcnt, /* TODO: support clipdist culling in GS */ nir_def *accepted_by_clipdist = nir_imm_true(b); - nir_def *accepted = ac_nir_cull_primitive(b, s->options->skip_viewport_culling, + nir_def *accepted = ac_nir_cull_primitive(b, s->options->skip_viewport_state_culling, s->options->use_point_tri_intersection, accepted_by_clipdist, pos, s->num_vertices_per_primitive, NULL, NULL); diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c index e0b8082651e..d2b5ccccc43 100644 --- a/src/gallium/drivers/radeonsi/si_shader.c +++ b/src/gallium/drivers/radeonsi/si_shader.c @@ -1806,7 +1806,7 @@ static void si_lower_ngg(struct si_shader *shader, nir_shader *nir) .kill_layer = key->ge.opt.kill_layer, .force_vrs = sel->screen->options.vrs2x2, .use_gfx12_xfb_intrinsic = !nir->info.use_aco_amd, - .skip_viewport_culling = sel->info.writes_viewport_index, + .skip_viewport_state_culling = sel->info.writes_viewport_index, .use_point_tri_intersection = sel->screen->info.num_cu / sel->screen->info.num_se >= 12, };