mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 20:00:10 +01:00
i965/blorp: Fix clear rectangle alignment in fast color clear
From BSpec: 3D-Media-GPGPU Engine > 3D Pipeline > Pixel > Pixel Backend > MCS Buffer for Render Target(s) [DevIVB+]: [DevHSW:GT3]: Clear rectangle must be aligned to two times the number of pixels in the table shown below... Observed no piglit, gles3conform regressions with this patch. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65744
This commit is contained in:
parent
ad244884fc
commit
9a1a67b081
1 changed files with 19 additions and 4 deletions
|
|
@ -260,10 +260,25 @@ brw_blorp_clear_params::brw_blorp_clear_params(struct brw_context *brw,
|
||||||
intel_get_non_msrt_mcs_alignment(brw, irb->mt, &x_align, &y_align);
|
intel_get_non_msrt_mcs_alignment(brw, irb->mt, &x_align, &y_align);
|
||||||
x_align *= 16;
|
x_align *= 16;
|
||||||
y_align *= 32;
|
y_align *= 32;
|
||||||
x0 = ROUND_DOWN_TO(x0, x_align);
|
|
||||||
y0 = ROUND_DOWN_TO(y0, y_align);
|
if (brw->is_haswell && brw->gt == 3) {
|
||||||
x1 = ALIGN(x1, x_align);
|
/* From BSpec: 3D-Media-GPGPU Engine > 3D Pipeline > Pixel > Pixel
|
||||||
y1 = ALIGN(y1, y_align);
|
* Backend > MCS Buffer for Render Target(s) [DevIVB+]:
|
||||||
|
* [DevHSW:GT3]: Clear rectangle must be aligned to two times the
|
||||||
|
* number of pixels in the table shown below...
|
||||||
|
* x_align, y_align values computed above are the relevant entries
|
||||||
|
* in the referred table.
|
||||||
|
*/
|
||||||
|
x0 = ROUND_DOWN_TO(x0, 2 * x_align);
|
||||||
|
y0 = ROUND_DOWN_TO(y0, 2 * y_align);
|
||||||
|
x1 = ALIGN(x1, 2 * x_align);
|
||||||
|
y1 = ALIGN(y1, 2 * y_align);
|
||||||
|
} else {
|
||||||
|
x0 = ROUND_DOWN_TO(x0, x_align);
|
||||||
|
y0 = ROUND_DOWN_TO(y0, y_align);
|
||||||
|
x1 = ALIGN(x1, x_align);
|
||||||
|
y1 = ALIGN(y1, y_align);
|
||||||
|
}
|
||||||
|
|
||||||
/* From the Ivy Bridge PRM, Vol2 Part1 11.7 "MCS Buffer for Render
|
/* From the Ivy Bridge PRM, Vol2 Part1 11.7 "MCS Buffer for Render
|
||||||
* Target(s)", beneath the "Fast Color Clear" bullet (p327):
|
* Target(s)", beneath the "Fast Color Clear" bullet (p327):
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue