https://bugs.freedesktop.org/show_bug.cgi?id=92306
--- Comment #17 from Ben Skeggs <skeg...@gmail.com> --- (In reply to Ilia Mirkin from comment #14) > (In reply to Andrew Randrianasulu from comment #13) > > (In reply to Ilia Mirkin from comment #12) > > > (In reply to Andrew Randrianasulu from comment #11) > > > > "Mismatched color and zeta formats, ignoring zeta." > > > > > > Yeah, as I suspected... unfortunately there's not a ton you can do besides > > > fixing the issue. The problem is that you can't render to a 32-bit color > > > format (e.g. RGBA8) while using a 16-bit zeta (Z16), and conversely you > > > can't render to a 16-bit color format (e.g. RGB565) while using a 32-bit > > > zeta (Z24S8). > > > > > > My current solution to this problem is to just not set the zeta buffer and > > > move on with life. This leads to incorrect rendering, but at least no > > > hangs. > > > > > > The proper solution is to have 2 depth textures that you copy to and fro > > > and > > > set the "right" one for the given color format. Ideally while minimizing > > > the > > > number of copies. > > > > Hm, but in my case it apparently worked fine... so, may be check is > > overrestrictive? > > > > I also tried to apply this path on top of mesa version indicated above > > ((git-93161be) > > > > ----patch--- > > diff --git a/src/gallium/drivers/nouveau/nv30/nv30_state.c > > b/src/gallium/drivers/nouveau/nv30/nv30_state.c > > index fd604c2..cceedfd 100644 > > --- a/src/gallium/drivers/nouveau/nv30/nv30_state.c > > +++ b/src/gallium/drivers/nouveau/nv30/nv30_state.c > > @@ -382,7 +382,7 @@ nv30_set_framebuffer_state(struct pipe_context *pipe, > > (util_format_get_blocksize(fb->zsbuf->format) > 2) != > > (util_format_get_blocksize(fb->cbufs[0]->format) > 2)) { > > nv30->framebuffer.zsbuf = NULL; > > - debug_printf("Mismatched color and zeta formats, ignoring > > zeta.\n"); > > + debug_printf("Mismatched color %d and zeta %d formats, ignoring > > zeta.\n", fb->cbufs[0]->format, fb->zsbuf->format); > > } > > } > > } > > --------end----- > > > > and got this in terminal: > > "Mismatched color 1 and zeta 16 formats, ignoring zeta." > > > > This is a bit strange, this demo from ~2002 era, and apparently was working > > fine on older nvidia hardware. And on nouveau, until this commit. I will > > retest just for making sure it doesn't flood my dmesg with errors .... > > You should be seeing errors about invalid values in dmesg for 0208 or some > similar method. I'm guessing that the zeta buffer is used in such a way that > things happen to work out, but the card doesn't really support it. > > src/gallium/include/pipe/p_format.h: PIPE_FORMAT_B8G8R8A8_UNORM = > 1, > src/gallium/include/pipe/p_format.h: PIPE_FORMAT_Z16_UNORM = > 16, > > Not a valid combo, AFAIK. I believe that restriction might only apply to swizzled surfaces. -- You are receiving this mail because: You are the QA Contact for the bug. You are the assignee for the bug.
_______________________________________________ Nouveau mailing list Nouveau@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/nouveau