Summary: | nv10 get_rt_format: Assertion `0' failed. | ||
---|---|---|---|
Product: | Mesa | Reporter: | Diego Nieto Cid <dnietoc> |
Component: | Drivers/DRI/nouveau | Assignee: | Nouveau Project <nouveau> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | x86 (IA32) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Test program which reproduces the crash
implement buffer validation callback |
Description
Diego Nieto Cid
2014-01-10 03:39:35 UTC
Well, 32855 corresponds to GL_RGB5_A1. And mesa format 16 corresponds to MESA_FORMAT_ARGB1555, which isn't one of the supported render target formats. So that's all good. (So to speak.) Although it _is_ a supported texture format. But I'm guessing there should be some logic somewhere that errors that out or creates some sort of conversion thing. Or glFramebufferTexture2D should fail. Looking at the code, _mesa_FramebufferTexture2D calls framebuffer_texture, which in turn checks a few things about the params but never calls out to the driver, and then just sets the attachment. And all the completeness stuff largely ignores this stuff. I don't see how the driver is supposed to refuse... maybe it has to be done a different way. Created attachment 91807 [details] [review] implement buffer validation callback Well, this "fixes" your test program. I haven't really tested whether this actually ever works... but give it a shot. Ilia thanks for the fast response. Yes, applying the patch prevents wine from crashing and at a quick glance games appear to work correctly. There's an error message: Mesa: User error: GL_INVALID_ENUM in glDisable(GL_COLOR_SUM) but I guess it's unrelated. Awesome, I'll submit the patch for wider review. Out of curiousity, what games? Everything I tried (ok, like 2 things) on my NV18 failed pretty miserably. As for the glDisable(GL_COLOR_SUM) thing -- the application (well, I guess wine) is using that enum even though it's not enabled. I guess GL_COLOR_SUM only appeared with opengl-later-than-1.2 and/or some extension that's not enabled. I tried Fallout and Crimsonland. I got to the main menu but didn't actually played them. The last one has some issues with the cursor, some region which should be transparent isn't. No idea why Here's a fix for the GL_COLOR_SUM thing: http://lists.freedesktop.org/archives/mesa-dev/2014-January/051248.html Nice, I don't get the error anymore. Thanks Ilia! A different version of the patch has been commited to mesa master. Please double-check that it also works for you (I tested against your test app, but not a real game). The GL_COLOR_SUM is also on its way to be checked in, and it's pretty minor for you, since it's only getting disabled (and it's off by default). Feel free to reopen if this is still an issue. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.