This implements GL_ARB_occlusion_query for RV610 Currently it results in a huge performance gain in games that take advantage of ARB_oq such as sauerbraten (cube2). issues: - this was tested so far only on RV610. I figured out that the RV610 writes one single uint64_t value when triggering the zpass write event. The specs aren't too clear about what exactly is written. It might be that there are multiple zpass counters on chip and that r6xx/r7xx chips write one uint64_t per counter (just as the r300 do it). In this case the RV610 would write only one value because it's one of the smallest chips in the family so it's got only one counter. If my assumtion were true it would be necessary to use n*sizeof(uint64_t) in r600_emit_query_finish as offset (n = number of counters/values written) and to consider the additional values in radeonQueryGetResult when computing the result of the query. It would be interesting to know what the other r6xx/r7xx write on zpass-write event to support them as well.
Regards Stephan Schmid
patch_arb_oq.diff
Description: application/pgp-keys
------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference
_______________________________________________ Mesa3d-dev mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
