Hi,

here's a an excerpt from ARB_occlusion_query specification:

    Will polling a query without a Flush possibly cause an infinite loop?

        RESOLVED: No.  An infinite loop was possible in the original 
        NV_occlusion_query spec if an application did not perform a 
        flush prior to polling.  This behavior was removed in this version
        of the spec as it violated language in the core GL spec.  

        Instead of allowing for an infinite loop, performing a 
        QUERY_RESULT_AVAILABLE_ARB will perform a flush if the result
        is not ready yet on the first time it is queried.  This ensures
        that the async query will return true in finite time.
        
        This behavior is not a significant performance loss over the original
        version of the spec.  A flush would need to be performed at some
        point anyway and the flush performed when QUERY_RESULT_AVAILABLE_ARB
        is requested will only occur *if the result is not back yet*.

and another one from glBeginQuery documentation:

Querying the GL_QUERY_RESULT implicitly flushes the GL pipeline until the       
rendering delimited by the query object has completed and the result is 
available.  

In mesa there seems to be no code that would flush the pipe in these 
situations. Is this intentional behavior to allow per driver optimizations or 
just a bug?

Regards,
Maciej Cencora

------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to