radv: consistently use the value in bytes for esgs_itemsize
Previosuly this value was in bytes for vs/tes and in dwords for gs. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38514>
This commit is contained in:
committed by
Marge Bot
parent
5e8885a339
commit
3e01031f10
@@ -243,7 +243,7 @@ lower_abi_instr(nir_builder *b, nir_intrinsic_instr *intrin, void *state)
|
||||
replacement = ac_nir_load_arg(b, &s->args->ac, s->args->vgt_esgs_ring_itemsize);
|
||||
} else {
|
||||
const unsigned stride =
|
||||
s->info->is_ngg ? s->info->ngg_info.vgt_esgs_ring_itemsize : s->info->legacy_gs_info.esgs_itemsize;
|
||||
s->info->is_ngg ? s->info->ngg_info.vgt_esgs_ring_itemsize : s->info->legacy_gs_info.esgs_itemsize / 4;
|
||||
replacement = nir_imm_int(b, stride);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1646,7 +1646,7 @@ radv_precompute_registers_hw_gs(struct radv_device *device, struct radv_shader_i
|
||||
{
|
||||
const struct radv_physical_device *pdev = radv_device_physical(device);
|
||||
|
||||
gs_info->regs.gs.vgt_esgs_ring_itemsize = es_info ? es_info->esgs_itemsize / 4 : gs_info->legacy_gs_info.esgs_itemsize;
|
||||
gs_info->regs.gs.vgt_esgs_ring_itemsize = es_info ? es_info->esgs_itemsize / 4 : gs_info->legacy_gs_info.esgs_itemsize /4;
|
||||
|
||||
gs_info->regs.gs.vgt_gs_max_prims_per_subgroup =
|
||||
S_028A94_MAX_PRIMS_PER_SUBGROUP(gs_info->legacy_gs_info.gs_inst_prims_in_subgroup);
|
||||
|
||||
@@ -647,7 +647,7 @@ radv_get_legacy_gs_info(const struct radv_device *device, struct radv_shader_inf
|
||||
{
|
||||
const struct radv_physical_device *pdev = radv_device_physical(device);
|
||||
struct radv_legacy_gs_info *out = &gs_info->legacy_gs_info;
|
||||
const unsigned esgs_vertex_stride = es_info ? es_info->esgs_itemsize : out->esgs_itemsize * 4;
|
||||
const unsigned esgs_vertex_stride = es_info ? es_info->esgs_itemsize : out->esgs_itemsize;
|
||||
ac_legacy_gs_subgroup_info info;
|
||||
|
||||
ac_legacy_gs_compute_subgroup_info(gs_info->gs.input_prim, gs_info->gs.vertices_out, gs_info->gs.invocations,
|
||||
@@ -709,7 +709,7 @@ gather_shader_info_gs(struct radv_device *device, const nir_shader *nir, struct
|
||||
if (info->is_ngg)
|
||||
gather_shader_info_ngg_query(device, info);
|
||||
else
|
||||
info->legacy_gs_info.esgs_itemsize = radv_compute_esgs_itemsize(device, info->gs.num_linked_inputs) / 4;
|
||||
info->legacy_gs_info.esgs_itemsize = radv_compute_esgs_itemsize(device, info->gs.num_linked_inputs);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user