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

Attachment: 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

Reply via email to