diff options
author | Rob Clark <[email protected]> | 2014-03-05 11:29:45 -0500 |
---|---|---|
committer | Rob Clark <[email protected]> | 2014-03-05 12:37:21 -0500 |
commit | 4de1e5eddcb76e377cffbb7f3bd87a88a575dae2 (patch) | |
tree | a7a9a3eed3f936e2a5a3c7f26987d4e3375b9cf4 /src/gallium/drivers/freedreno/freedreno_gmem.h | |
parent | 12d55d5f19368de7697f2e6df7d4ff98929112b1 (diff) |
WIP: freedreno/a3xx: incorrect scissor for binning pass
If scissor optimization is used (to avoid bringing scissored portions of
the render target into GMEM and then back out to system memory) in
combination with hw binning pass, the result would be a scissor mismatch
between binning pass and rendering pass. This would cause rendering
bugs in some scenarios with (for example) gnome-shell.
I would have expected that simply using the correct screen-scissor
during the binning pass would be enough, but seems like there is
something else missing. So for now disable binning pass if scissor
optimization is used.
Diffstat (limited to 'src/gallium/drivers/freedreno/freedreno_gmem.h')
-rw-r--r-- | src/gallium/drivers/freedreno/freedreno_gmem.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/freedreno_gmem.h b/src/gallium/drivers/freedreno/freedreno_gmem.h index b52557c952b..c7c687419b4 100644 --- a/src/gallium/drivers/freedreno/freedreno_gmem.h +++ b/src/gallium/drivers/freedreno/freedreno_gmem.h @@ -50,6 +50,7 @@ struct fd_gmem_stateobj { uint cpp; uint16_t bin_h, nbins_y; uint16_t bin_w, nbins_x; + uint16_t minx, miny; uint16_t width, height; bool has_zs; /* gmem config using depth/stencil? */ }; |