Bugzilla – Bug 42586
[PNV]mesa demo/arbocclude fail to show the animation displayed (with stub_occlusion_query enabled)
Last modified: 2012-12-04 02:59:07 UTC
Bug detailed description:
Startx and run mesa demo arbocclude, we only get two blue rectangles, miss the rotating snakes.
Did you force enable the stub arb occlusion query support? That's the only way this should run on pineview, and it will return 0 for your queries, which is what you signed up for.
We enabled the stub arb occlusion query in drirc. It runs ok with software render, So it should be mesa driver issue.
Yes, if you enable stub occlusion query support, then you get broken occlusion queries. This is not a bug, this is you getting exactly the behavior you asked for by setting the option.
Eric, do you mean this is hw limitation and we can't get this case pass, whether using this option or not?
How to explain the sw rendering passes?
Because software actually implements the feature. i915 does not. If you turn on the option, the i915 driver exposes a broken version of the feature. I don't see what's so hard to understand here.
A little background...
i915 supports, in limited forms, all of the features required for OpenGL 2.0 *except* occlusion queries. The hardware is completely incapable of doing it at all. Years ago, we encountered a number of applications that requested OpenGL 2.0 so that they could use GLSL. These applications didn't not use occlusion queries. To enable these applications on i915, we added a feature to turn on "fake" occlusion query support. This allowed it to advertise OpenGL 2.0, and it allowed these applications to use GLSL.
However, occlusion queries are not really supported, and they cannot ever be supported. We're not going to enable software fallback rendering for this case because it doesn't help anyone. This is an expert option, and it should only be enabled if you know what you're doing.
We asked QA to enable it during testing some years ago so that some piglit and oglconform shader tests would run. We have (or at least had) a bunch of tests that just look for OpenGL 2.0 before testing GLSL features. We want those tests to be able to run on i915. We either need to change the test infrastructure to expect occlusion query tests to fail on i915, or we need to change the test infrastructure to only enable that option for GLSL tests.
This option predates the GL_VERSION_OVERRIDE variable by several years, but it fills a similar purpose.
Ian, thanks for the explanation.
>> We're not going to enable software fallback rendering for this case because it doesn't help anyone.
To me this is more like "won't fix". Anyway, QA understand this now and let's close it.