<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - GL Excess demo renders incorrectly on nv43"
href="https://bugs.freedesktop.org/show_bug.cgi?id=92306#c13">Comment # 13</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - GL Excess demo renders incorrectly on nv43"
href="https://bugs.freedesktop.org/show_bug.cgi?id=92306">bug 92306</a>
from <span class="vcard"><a class="email" href="mailto:randrik@mail.ru" title="Andrew Randrianasulu <randrik@mail.ru>"> <span class="fn">Andrew Randrianasulu</span></a>
</span></b>
<pre>(In reply to Ilia Mirkin from <a href="show_bug.cgi?id=92306#c12">comment #12</a>)
<span class="quote">> (In reply to Andrew Randrianasulu from <a href="show_bug.cgi?id=92306#c11">comment #11</a>)
> > "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.</span >
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 ....</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>