http://bugs.winehq.org/show_bug.cgi?id=28385
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at
--- Comment #6 from Stefan Dösinger stefandoesinger@gmx.at 2011-09-16 16:48:01 CDT --- The test causes wined3d to fetch the query result twice after completing an occlusion query, and expects that the data is available in both cases. Apparently fglrx removes the result from the GL query object after it has been retrieved once.
The ARB_occlusion_query doesn't explicitly mention repeated reading of the query result. Issue 22 says "The result returned from GetQueryObjecti[u]vARB will always be from the last BeginQueryARB/EndQueryARB pair on that target and id", but this has a different context(old query results are lost if the query is restarted). I'll see if newer opengl specs say anything about this, but I don't really expect them to.
I'll file a bug report in amd's unofficial bugzilla and see if they respond. We can fix this issue on our side if we want to(store the last result in struct wined3d_occlusion_query), but we have to take care to discard it when the query is restarted.