On Mon, Oct 26, 2009 at 4:55 AM, Stephan Schmid <[email protected]> wrote: > 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.
Stephan, Nice work! The zpass stuff is per DB just like the older chips, so you'll need to allocate enough memory to support two qwords for each DB. The number of DBs depends on the asic. We'll probably need a drm query similar to what we do for r300. I'm working on a cleaned up version of your mesa patch and a drm patch to return the number of RBs like we do for r300. Alex ------------------------------------------------------------------------------ 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
