radv: remove unnecessary radv_tessellation_state::num_patches
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5837>
This commit is contained in:

committed by
Marge Bot

parent
83f63ab2c2
commit
7f794137da
@@ -84,7 +84,6 @@ struct radv_dsa_order_invariance {
|
|||||||
|
|
||||||
struct radv_tessellation_state {
|
struct radv_tessellation_state {
|
||||||
uint32_t ls_hs_config;
|
uint32_t ls_hs_config;
|
||||||
unsigned num_patches;
|
|
||||||
unsigned lds_size;
|
unsigned lds_size;
|
||||||
uint32_t tf_param;
|
uint32_t tf_param;
|
||||||
};
|
};
|
||||||
@@ -2033,7 +2032,6 @@ calculate_tess_state(struct radv_pipeline *pipeline,
|
|||||||
tess.ls_hs_config = S_028B58_NUM_PATCHES(num_patches) |
|
tess.ls_hs_config = S_028B58_NUM_PATCHES(num_patches) |
|
||||||
S_028B58_HS_NUM_INPUT_CP(num_tcs_input_cp) |
|
S_028B58_HS_NUM_INPUT_CP(num_tcs_input_cp) |
|
||||||
S_028B58_HS_NUM_OUTPUT_CP(num_tcs_output_cp);
|
S_028B58_HS_NUM_OUTPUT_CP(num_tcs_output_cp);
|
||||||
tess.num_patches = num_patches;
|
|
||||||
|
|
||||||
struct radv_shader_variant *tes = radv_get_shader(pipeline, MESA_SHADER_TESS_EVAL);
|
struct radv_shader_variant *tes = radv_get_shader(pipeline, MESA_SHADER_TESS_EVAL);
|
||||||
unsigned type = 0, partitioning = 0, topology = 0, distribution_mode = 0;
|
unsigned type = 0, partitioning = 0, topology = 0, distribution_mode = 0;
|
||||||
@@ -4604,15 +4602,14 @@ radv_pipeline_generate_cliprect_rule(struct radeon_cmdbuf *ctx_cs,
|
|||||||
|
|
||||||
static void
|
static void
|
||||||
gfx10_pipeline_generate_ge_cntl(struct radeon_cmdbuf *ctx_cs,
|
gfx10_pipeline_generate_ge_cntl(struct radeon_cmdbuf *ctx_cs,
|
||||||
struct radv_pipeline *pipeline,
|
struct radv_pipeline *pipeline)
|
||||||
const struct radv_tessellation_state *tess)
|
|
||||||
{
|
{
|
||||||
bool break_wave_at_eoi = false;
|
bool break_wave_at_eoi = false;
|
||||||
unsigned primgroup_size;
|
unsigned primgroup_size;
|
||||||
unsigned vertgroup_size = 256; /* 256 = disable vertex grouping */
|
unsigned vertgroup_size = 256; /* 256 = disable vertex grouping */
|
||||||
|
|
||||||
if (radv_pipeline_has_tess(pipeline)) {
|
if (radv_pipeline_has_tess(pipeline)) {
|
||||||
primgroup_size = tess->num_patches; /* must be a multiple of NUM_PATCHES */
|
primgroup_size = pipeline->shaders[MESA_SHADER_TESS_CTRL]->info.tcs.num_patches;
|
||||||
} else if (radv_pipeline_has_gs(pipeline)) {
|
} else if (radv_pipeline_has_gs(pipeline)) {
|
||||||
const struct gfx9_gs_info *gs_state =
|
const struct gfx9_gs_info *gs_state =
|
||||||
&pipeline->shaders[MESA_SHADER_GEOMETRY]->info.gs_ring_info;
|
&pipeline->shaders[MESA_SHADER_GEOMETRY]->info.gs_ring_info;
|
||||||
@@ -4667,7 +4664,7 @@ radv_pipeline_generate_pm4(struct radv_pipeline *pipeline,
|
|||||||
radv_pipeline_generate_cliprect_rule(ctx_cs, pCreateInfo);
|
radv_pipeline_generate_cliprect_rule(ctx_cs, pCreateInfo);
|
||||||
|
|
||||||
if (pipeline->device->physical_device->rad_info.chip_class >= GFX10 && !radv_pipeline_has_ngg(pipeline))
|
if (pipeline->device->physical_device->rad_info.chip_class >= GFX10 && !radv_pipeline_has_ngg(pipeline))
|
||||||
gfx10_pipeline_generate_ge_cntl(ctx_cs, pipeline, tess);
|
gfx10_pipeline_generate_ge_cntl(ctx_cs, pipeline);
|
||||||
|
|
||||||
radeon_set_context_reg(ctx_cs, R_028A6C_VGT_GS_OUT_PRIM_TYPE, gs_out);
|
radeon_set_context_reg(ctx_cs, R_028A6C_VGT_GS_OUT_PRIM_TYPE, gs_out);
|
||||||
|
|
||||||
@@ -4678,14 +4675,13 @@ radv_pipeline_generate_pm4(struct radv_pipeline *pipeline,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static struct radv_ia_multi_vgt_param_helpers
|
static struct radv_ia_multi_vgt_param_helpers
|
||||||
radv_compute_ia_multi_vgt_param_helpers(struct radv_pipeline *pipeline,
|
radv_compute_ia_multi_vgt_param_helpers(struct radv_pipeline *pipeline)
|
||||||
const struct radv_tessellation_state *tess)
|
|
||||||
{
|
{
|
||||||
struct radv_ia_multi_vgt_param_helpers ia_multi_vgt_param = {0};
|
struct radv_ia_multi_vgt_param_helpers ia_multi_vgt_param = {0};
|
||||||
const struct radv_device *device = pipeline->device;
|
const struct radv_device *device = pipeline->device;
|
||||||
|
|
||||||
if (radv_pipeline_has_tess(pipeline))
|
if (radv_pipeline_has_tess(pipeline))
|
||||||
ia_multi_vgt_param.primgroup_size = tess->num_patches;
|
ia_multi_vgt_param.primgroup_size = pipeline->shaders[MESA_SHADER_TESS_CTRL]->info.tcs.num_patches;
|
||||||
else if (radv_pipeline_has_gs(pipeline))
|
else if (radv_pipeline_has_gs(pipeline))
|
||||||
ia_multi_vgt_param.primgroup_size = 64;
|
ia_multi_vgt_param.primgroup_size = 64;
|
||||||
else
|
else
|
||||||
@@ -4923,7 +4919,7 @@ radv_pipeline_init(struct radv_pipeline *pipeline,
|
|||||||
tess = calculate_tess_state(pipeline, pCreateInfo);
|
tess = calculate_tess_state(pipeline, pCreateInfo);
|
||||||
}
|
}
|
||||||
|
|
||||||
pipeline->graphics.ia_multi_vgt_param = radv_compute_ia_multi_vgt_param_helpers(pipeline, &tess);
|
pipeline->graphics.ia_multi_vgt_param = radv_compute_ia_multi_vgt_param_helpers(pipeline);
|
||||||
|
|
||||||
radv_compute_vertex_input_state(pipeline, pCreateInfo);
|
radv_compute_vertex_input_state(pipeline, pCreateInfo);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user