https://bugs.freedesktop.org/show_bug.cgi?id=57842

          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: stefandoesin...@gmx.at
          Hardware: Other
            Status: NEW
           Version: git
         Component: Drivers/DRI/r200
           Product: Mesa

Created attachment 70972
  --> https://bugs.freedesktop.org/attachment.cgi?id=70972&action=edit
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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to