mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-26 15:00:10 +01:00
radeonsi/gfx9: update & clean up a DPBB heuristic
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
This commit is contained in:
parent
47b780be21
commit
a4312742a5
1 changed files with 5 additions and 9 deletions
|
|
@ -339,18 +339,14 @@ void si_emit_dpbb_state(struct si_context *sctx)
|
|||
G_02880C_COVERAGE_TO_MASK_ENABLE(db_shader_control) ||
|
||||
blend->alpha_to_coverage;
|
||||
|
||||
/* This is ported from Vulkan, but it doesn't make much sense to me.
|
||||
* Maybe it's for RE-Z? But Vulkan doesn't use RE-Z. TODO: Clarify this.
|
||||
*/
|
||||
bool ps_can_reject_z_trivially =
|
||||
bool db_can_reject_z_trivially =
|
||||
!G_02880C_Z_EXPORT_ENABLE(db_shader_control) ||
|
||||
G_02880C_CONSERVATIVE_Z_EXPORT(db_shader_control);
|
||||
G_02880C_CONSERVATIVE_Z_EXPORT(db_shader_control) ||
|
||||
G_02880C_DEPTH_BEFORE_SHADER(db_shader_control);
|
||||
|
||||
/* Disable binning if PS can kill trivially with DB writes.
|
||||
* Ported from Vulkan. (heuristic?)
|
||||
*/
|
||||
/* Disable DPBB when it's believed to be inefficient. */
|
||||
if (ps_can_kill &&
|
||||
ps_can_reject_z_trivially &&
|
||||
db_can_reject_z_trivially &&
|
||||
sctx->framebuffer.state.zsbuf &&
|
||||
dsa->db_can_write) {
|
||||
si_emit_dpbb_disable(sctx);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue