mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-29 11:40:31 +01:00
nvc0: fix blit triangle size to fully cover FB's > 8192x8192
The idea is that a single triangle will cover the whole area being
drawn, allowing the blit shader to do its work. However the max fb size
is 16384x16384, which means that the triangle we draw needs to be twice
that in order to cover the whole area fully. Increase the size of the
triangle to 32768x32768.
This fixes a number of dEQP tests that were failing because a blit was
involved which would miss some of the resulting texture.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
(cherry picked from commit a651bc027d)
This commit is contained in:
parent
5352835d0a
commit
adc355ec4e
1 changed files with 4 additions and 4 deletions
|
|
@ -1195,8 +1195,8 @@ nvc0_blit_3d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
|
|||
x0 = (float)info->src.box.x - x_range * (float)info->dst.box.x;
|
||||
y0 = (float)info->src.box.y - y_range * (float)info->dst.box.y;
|
||||
|
||||
x1 = x0 + 16384.0f * x_range;
|
||||
y1 = y0 + 16384.0f * y_range;
|
||||
x1 = x0 + 32768.0f * x_range;
|
||||
y1 = y0 + 32768.0f * y_range;
|
||||
|
||||
x0 *= (float)(1 << nv50_miptree(src)->ms_x);
|
||||
x1 *= (float)(1 << nv50_miptree(src)->ms_x);
|
||||
|
|
@ -1306,14 +1306,14 @@ nvc0_blit_3d(struct nvc0_context *nvc0, const struct pipe_blit_info *info)
|
|||
*(vbuf++) = fui(y0);
|
||||
*(vbuf++) = fui(z);
|
||||
|
||||
*(vbuf++) = fui(16384 << nv50_miptree(dst)->ms_x);
|
||||
*(vbuf++) = fui(32768 << nv50_miptree(dst)->ms_x);
|
||||
*(vbuf++) = fui(0.0f);
|
||||
*(vbuf++) = fui(x1);
|
||||
*(vbuf++) = fui(y0);
|
||||
*(vbuf++) = fui(z);
|
||||
|
||||
*(vbuf++) = fui(0.0f);
|
||||
*(vbuf++) = fui(16384 << nv50_miptree(dst)->ms_y);
|
||||
*(vbuf++) = fui(32768 << nv50_miptree(dst)->ms_y);
|
||||
*(vbuf++) = fui(x0);
|
||||
*(vbuf++) = fui(y1);
|
||||
*(vbuf++) = fui(z);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue