mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
radv: increase size of the buffer for emulated queries on GFX12
This increases this buffer by 20 bytes but it will be re-used for emulated queries on GFX11-GFX11.5 in order to remove the GDS path. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35017>
This commit is contained in:
parent
98c1753214
commit
439baafe5e
3 changed files with 3 additions and 9 deletions
|
|
@ -353,10 +353,6 @@ lower_abi_instr(nir_builder *b, nir_intrinsic_instr *intrin, void *state)
|
|||
nir_def *va = nir_pack_64_2x32_split(b, ac_nir_load_arg(b, &s->args->ac, s->args->ngg_query_buf_va),
|
||||
nir_imm_int(b, s->address32_hi));
|
||||
|
||||
/* Only generated/written primitives query are emulated on GFX12+. */
|
||||
offset -= RADV_SHADER_QUERY_PRIM_GEN_OFFSET(0);
|
||||
assert(offset <= RADV_SHADER_QUERY_PRIM_XFB_OFFSET(3));
|
||||
|
||||
nir_global_atomic_amd(b, 32, va, intrin->src[0].ssa, nir_imm_int(b, offset), .atomic_op = nir_atomic_op_iadd);
|
||||
} else {
|
||||
nir_gds_atomic_add_amd(b, 32, intrin->src[0].ssa, nir_imm_int(b, offset), nir_imm_int(b, 0x100));
|
||||
|
|
|
|||
|
|
@ -150,10 +150,8 @@
|
|||
#define RADV_SHADER_QUERY_MS_PRIM_GEN_OFFSET 44
|
||||
#define RADV_SHADER_QUERY_TS_INVOCATION_OFFSET 48
|
||||
|
||||
/* Size of the shader query buffer for generated/written primitive queries
|
||||
* using SSBO atomics on GFX12.
|
||||
*/
|
||||
#define RADV_SHADER_QUERY_BUF_SIZE (RADV_SHADER_QUERY_PRIM_XFB_OFFSET(3) - RADV_SHADER_QUERY_PRIM_GEN_OFFSET(0) + 4)
|
||||
/* Size of the buffer for emulated queries using SSBO atomics on GFX12. */
|
||||
#define RADV_SHADER_QUERY_BUF_SIZE (RADV_SHADER_QUERY_TS_INVOCATION_OFFSET + 4)
|
||||
|
||||
/* Number of samples for line smooth lowering (hw requirement). */
|
||||
#define RADV_NUM_SMOOTH_AA_SAMPLES 4
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ gfx10_copy_shader_query_gfx(struct radv_cmd_buffer *cmd_buffer, bool use_gds, ui
|
|||
cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_VS_PARTIAL_FLUSH;
|
||||
|
||||
src_sel = COPY_DATA_SRC_MEM;
|
||||
src_va = cmd_buffer->state.shader_query_buf_va + src_offset - RADV_SHADER_QUERY_PRIM_GEN_OFFSET(0);
|
||||
src_va = cmd_buffer->state.shader_query_buf_va + src_offset;
|
||||
}
|
||||
|
||||
cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_INV_L2;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue