Priority | medium |
---|---|
Bug ID | 57842 |
Assignee | dri-devel@lists.freedesktop.org |
Summary | r200: Culling is broken when rendering to an FBO |
Severity | normal |
Classification | Unclassified |
OS | All |
Reporter | stefandoesinger@gmx.at |
Hardware | Other |
Status | NEW |
Version | git |
Component | Drivers/DRI/r200 |
Product | Mesa |
Created attachment 70972 [details]
Test case
When rendering to an FBO with culling enabled, the r200 driver discards all
geometry. As soon as GL_CULL_FACE is enabled, nothing is drawn. The glCullFace,
glFrontFace and primitive orientation don't seem to make a difference. When
rendering to a glx front or back buffer, culling behaves correctly.
The attached test case shows the issue. It creates an FBO, clears it with a
blue color, and then draws a front- and back facing triangle in red and green
respectively, and culls front-facing primitives. Afterwards the FBO texture is
drawn to the window. The expected result is that the green triangle shows up.
The actual result is a solid blue window.
I've had a quick look at the driver source code. r200FrontFace swaps front- and
back facing geometry because the driver renders everything upside down on FBOs.
This code doesn't seem to have any effect on this bug. What seems to trigger it
is not inverting the viewport in r200UpdateWindow(), but I don't understand
why.
The test case can be compiled with gcc fbo.c -o fbo -lGL -lglut , and started
by simply running the binary without any parameters.
You are receiving this mail because:
- You are the assignee for the bug.
_______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel