radv: update binning settings on GFX12
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29417>
This commit is contained in:

committed by
Marge Bot

parent
18e6a9a6a8
commit
f518bf1cb0
@@ -1297,7 +1297,7 @@ radv_gfx10_compute_bin_size(struct radv_cmd_buffer *cmd_buffer)
|
|||||||
}
|
}
|
||||||
|
|
||||||
extent.width = MAX2(extent.width, 128);
|
extent.width = MAX2(extent.width, 128);
|
||||||
extent.height = MAX2(extent.width, 64);
|
extent.height = MAX2(extent.width, pdev->info.gfx_level >= GFX12 ? 128 : 64);
|
||||||
|
|
||||||
return extent;
|
return extent;
|
||||||
}
|
}
|
||||||
@@ -1578,7 +1578,14 @@ radv_get_disabled_binning_state(struct radv_cmd_buffer *cmd_buffer)
|
|||||||
const struct radv_dynamic_state *d = &cmd_buffer->state.dynamic;
|
const struct radv_dynamic_state *d = &cmd_buffer->state.dynamic;
|
||||||
uint32_t pa_sc_binner_cntl_0;
|
uint32_t pa_sc_binner_cntl_0;
|
||||||
|
|
||||||
if (pdev->info.gfx_level >= GFX10) {
|
if (pdev->info.gfx_level >= GFX12) {
|
||||||
|
const uint32_t bin_size_x = 128, bin_size_y = 128;
|
||||||
|
|
||||||
|
pa_sc_binner_cntl_0 =
|
||||||
|
S_028C44_BINNING_MODE(V_028C44_BINNING_DISABLED) | S_028C44_BIN_SIZE_X_EXTEND(util_logbase2(bin_size_x) - 5) |
|
||||||
|
S_028C44_BIN_SIZE_Y_EXTEND(util_logbase2(bin_size_y) - 5) | S_028C44_DISABLE_START_OF_PRIM(1) |
|
||||||
|
S_028C44_FPOVS_PER_BATCH(63) | S_028C44_OPTIMAL_BIN_SELECTION(1) | S_028C44_FLUSH_ON_BINNING_TRANSITION(1);
|
||||||
|
} else if (pdev->info.gfx_level >= GFX10) {
|
||||||
const unsigned binning_disabled =
|
const unsigned binning_disabled =
|
||||||
pdev->info.gfx_level >= GFX11_5 ? V_028C44_BINNING_DISABLED : V_028C44_DISABLE_BINNING_USE_NEW_SC;
|
pdev->info.gfx_level >= GFX11_5 ? V_028C44_BINNING_DISABLED : V_028C44_DISABLE_BINNING_USE_NEW_SC;
|
||||||
unsigned min_bytes_per_pixel = 0;
|
unsigned min_bytes_per_pixel = 0;
|
||||||
|
Reference in New Issue
Block a user