freedreno: Fix graphic glitches on a4xx and a5xx
Like on adreno 3xx, hw binning and scissor optimizations don't work correctly together on a4xx and a5xx GPUs. Disable binning as a workaround if scissor optimizations are being used. Fixes:f68c6951b8
8efaae3e19
Signed-off-by: Alejandro Tafalla <atafalla@dnyon.com> Reviewed-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18925>
This commit is contained in:

committed by
Marge Bot

parent
1d32bcdcb2
commit
afe4b534b5
@@ -146,6 +146,14 @@ use_hw_binning(struct fd_batch *batch)
|
||||
{
|
||||
const struct fd_gmem_stateobj *gmem = batch->gmem_state;
|
||||
|
||||
/* workaround: Like on a3xx, hw binning and scissor optimization
|
||||
* don't play nice together.
|
||||
*
|
||||
* Disable binning if scissor optimization is used.
|
||||
*/
|
||||
if (gmem->minx || gmem->miny)
|
||||
return false;
|
||||
|
||||
if ((gmem->maxpw * gmem->maxph) > 32)
|
||||
return false;
|
||||
|
||||
|
@@ -263,6 +263,14 @@ use_hw_binning(struct fd_batch *batch)
|
||||
{
|
||||
const struct fd_gmem_stateobj *gmem = batch->gmem_state;
|
||||
|
||||
/* workaround: Like on a3xx, hw binning and scissor optimization
|
||||
* don't play nice together.
|
||||
*
|
||||
* Disable binning if scissor optimization is used.
|
||||
*/
|
||||
if (gmem->minx || gmem->miny)
|
||||
return false;
|
||||
|
||||
if ((gmem->maxpw * gmem->maxph) > 32)
|
||||
return false;
|
||||
|
||||
|
Reference in New Issue
Block a user