Bugzilla – Bug 23585
Textures in certain applications are only 1/2 visible on the diagonal in direct mode on r600
Last modified: 2009-09-04 11:10:12 UTC
Created attachment 28991 [details]
Image showing the display erorr
I have a clutter application (attached) that when run in direct mode, the texture is only 1/2 visible. This happens on an r635 (r600 mesa driver). I am running git of mesa as of 8/28/09, libdrm and agd5f's radeon kernel modules.
If I run this same app in indirect mode, everything is properly rendered. I see this same issue with the menus in quake3 as well. So it appears to affect multiple apps.
for my app the type of texture is MESA_FORMAT_RGBA8888_REV
Created attachment 28992 [details]
clutter application that shows the problem.
To built this app you need gtk2 and clutter 0.8 development packages installed.
./mintest to run the minimal test case
./clutterdesk to run the full application
use CTRL-C to exit both in the terminal you launched them from.
Weird. I built the tests and the icons render fine on my rs780 (I'll test with other chips later). Richard did some investigating and found:
The glapi level profile for ppracer found lots of following inside:
While in indirect mode,
The first vertex has been duplicated, so last vertex could be dropped.
The weird thing is that r300 runs ok with same glapi level profile showing above.
Not sure if it's the same problem, but mesa/progs/redbook/texsub also shows the same behaviour (works with indirect or software rendering, doesn't work with direct rendering) and may be easier to debug.
I'm not sure the problem with texsub is the same. With that program in both direct and indirect modes it shows me the same image (which is two white squares, one direct on and one at an angle). The software version however has these same squares but with a checkerboard texture (might be a scaling issue like the one in projtex)
So that does not show the 1/2 texture on an angle issue. So I think that is another issue.
broke texbind and texsub. I haven't sorted out the fix yet but it seems unrelated.
(In reply to comment #5)
> broke texbind and texsub. I haven't sorted out the fix yet but it seems
Alex, suokko and I worked on a fix for this scissor problem that was introduced by this patch. It went into commit..
Without this patch xmoto would not display the buttons on the main screen correctly when running in window mode. Worked fine in fullscreen mode because the drawable offset was 0,0, in a window the patch did not take into account the drawable and cropped them to the wrong places. Also ran piglet tests with this patch in place and all tests passed, prior to this lots of off by failures.
(In reply to comment #6)
> (In reply to comment #5)
> > a7f8b329aa75f9a34d31d01b5bf6094b764bd8a9
> > broke texbind and texsub. I haven't sorted out the fix yet but it seems
> > unrelated.
> Alex, suokko and I worked on a fix for this scissor problem that was introduced
> by this patch. It went into commit..
Something still isn't quite right as texbind is still broken in master. Although perhaps this was just hiding some other issue.
looks like 4f644e58d455cbc70fe856576321f868e36b6346 was a red herring. The real problem was: 956e6c3978abe918348377cf05e5c92971e50d3f which makes more sense.
Hmmm, I really don't see how commit 956e6c3978abe918348377cf05e5c92971e50d3f would cause half the quad to disappear in the attached image. Are you sure that's the commit at fault?
The bug report forked a bit (my fault) - AFAIK the specified commit is the one that breaks redbook/texbind and texsub. I noticed that those tests were failing with direct rendering but failing with indirect rendering and was wondering if they might be a simpler test case for the "half texture" problem.
Current thinking is that the two bugs are unrelated, so I messed up this bug report for nothing ;)
(In reply to comment #9)
> Hmmm, I really don't see how commit 956e6c3978abe918348377cf05e5c92971e50d3f
> would cause half the quad to disappear in the attached image. Are you sure
> that's the commit at fault?
I've opened bug 23657 for the texbind/texsub issue.
Yes, this bug has been present well before that change went into mesa. In fact it has been there pretty much from the beginning as R600 came up.
This appears to be due to lack of proper support for GL_ARB_vertex_buffer_object in the driver. Indirect works because the extension is not available in that case.
(In reply to comment #13)
> This appears to be due to lack of proper support for
> GL_ARB_vertex_buffer_object in the driver.
Seems to work just fine here with r300. Is there any reason to believe the problem isn't r600 specific?
fixed in b13a553dd419cc6997725d4bce956daa7eb64806