[Nouveau] [RFC PATCH] nv50: adjust blit_3d logic

Ilia Mirkin imirkin at alum.mit.edu
Wed Mar 5 21:56:18 PST 2014


---

So... this fixes a whole bunch of EXT_framebuffer_multisample tests, and the
ones that still fail appear to do so due to some resolve error, rather than
some "this is the wrong image" type errors. Perhaps it needs a 2d-style "move
coordinates over a sub-texel" logic. But I'm unclear what these vertices are,
I arrived at this through trial-and-error.

 src/gallium/drivers/nouveau/nv50/nv50_surface.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nv50/nv50_surface.c b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
index dc6d628..216e667 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_surface.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_surface.c
@@ -1069,7 +1069,7 @@ nv50_blit_3d(struct nv50_context *nv50, const struct pipe_blit_info *info)
       PUSH_DATAf(push, y0);
       PUSH_DATAf(push, z);
       BEGIN_NV04(push, NV50_3D(VTX_ATTR_2F_X(0)), 2);
-      PUSH_DATAf(push, 16384 << nv50_miptree(dst)->ms_x);
+      PUSH_DATAf(push, 16384/* << nv50_miptree(dst)->ms_x*/);
       PUSH_DATAf(push, 0.0f);
       BEGIN_NV04(push, NV50_3D(VTX_ATTR_3F_X(1)), 3);
       PUSH_DATAf(push, x0);
@@ -1077,7 +1077,7 @@ nv50_blit_3d(struct nv50_context *nv50, const struct pipe_blit_info *info)
       PUSH_DATAf(push, z);
       BEGIN_NV04(push, NV50_3D(VTX_ATTR_2F_X(0)), 2);
       PUSH_DATAf(push, 0.0f);
-      PUSH_DATAf(push, 16384 << nv50_miptree(dst)->ms_y);
+      PUSH_DATAf(push, 16384/* << nv50_miptree(dst)->ms_y*/);
       BEGIN_NV04(push, NV50_3D(VERTEX_END_GL), 1);
       PUSH_DATA (push, 0);
    }
-- 
1.8.3.2



More information about the Nouveau mailing list