mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
i965: Adjust fast-clear resolve rect for BDW
The scale factors for the resolve rectangle change for BDW and we have
to look at brw->gen now to figure out how big it should be.
Fixes: https://bugs.freedesktop.org/attachment.cgi?id=105777
Cc: "10.3" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Kristian Høgsberg <krh@bitplanet.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 2d6d3461d3)
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83046
This commit is contained in:
parent
bb06f2cd93
commit
8e551f4220
1 changed files with 10 additions and 4 deletions
|
|
@ -642,13 +642,19 @@ get_resolve_rect(struct brw_context *brw,
|
|||
* with respect to render target being resolved.
|
||||
*
|
||||
* The scaledown factors in the table that follows are related to the
|
||||
* alignment size returned by intel_get_non_msrt_mcs_alignment(), but with
|
||||
* X and Y alignment each divided by 2.
|
||||
* alignment size returned by intel_get_non_msrt_mcs_alignment() by a
|
||||
* multiplier. For IVB and HSW, we divide by two, for BDW we multiply
|
||||
* by 8 and 16.
|
||||
*/
|
||||
|
||||
intel_get_non_msrt_mcs_alignment(brw, mt, &x_align, &y_align);
|
||||
x_scaledown = x_align / 2;
|
||||
y_scaledown = y_align / 2;
|
||||
if (brw->gen >= 8) {
|
||||
x_scaledown = x_align * 8;
|
||||
y_scaledown = y_align * 16;
|
||||
} else {
|
||||
x_scaledown = x_align / 2;
|
||||
y_scaledown = y_align / 2;
|
||||
}
|
||||
rect->x0 = rect->y0 = 0;
|
||||
rect->x1 = ALIGN(mt->logical_width0, x_scaledown) / x_scaledown;
|
||||
rect->y1 = ALIGN(mt->logical_height0, y_scaledown) / y_scaledown;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue