Skip to content

Performance counter dumping; GL_QUADS and friends

Alyssa Rosenzweig requested to merge perf-cnt-v3 into master

This patchset enables support for dumping performance counters (default off, preprocessor guarded). It additionally adds support for native GL_QUADS/GL_QUAD_STRIPS/GL_POLYGONS -- this follows, since I would have had no idea we had desktop mode support if not for the counters. At the moment, counters are dumped in the hardware native format (a binary blob) every frame to sequentially named files in /dev/shm/ -- easy for debug, not for production. These files can then be analyzed with the corresponding midgard-perf-analyze tool (not in the mesa tree).

Additionally, in the process of the above changes I included a fair bit of related cleanup.


The only reason I knew to look for QUADS/POLYGONS was having seen the corresponding performance counters labeled for Midgard. They do not seem to have Bifrost counterparts, however, implying Bifrost dropped support for the ancient draw modes... though it's possible it's still there, just without counters. This should be pretty easy to verify by modifying the draw mode in memory en route from the Bifrost blob to the hardware (from within panwrap) to the values identified in this series (0xD, 0xE, 0xF for POLYGON, QUAD, QUAD_STRIP respectively). If those work, great, support was retained and we can whack primconvert; if they don't, that's probably reasonable, you'd see a DATA_INVALID_FAULT I imagine. I don't have access to a Bifrost board/toolchain to test this, cc @lyudess and @cwabbott0.

Edited by Alyssa Rosenzweig

Merge request reports