Intel Batch Buffer Logger Updated For Mesa
Intel's Kevin Rogovin has been working on a "BatchBuffer Logger" for the Intel graphics driver that offers some useful possibilities for assisting in debugging/analyzing problems or performance penalties facing game/application developers.
The BatchBuffer Logger is designed to allow correlating API calls to data that in turn is added to a batch buffer for execution by the Intel graphics processor. The logger additionally keeps precise track of the GPU state and can report various metrics associated with each API call.
The synchronizing of API calls though to the batch buffer and state doesn't come for "free" to application developers. The BatchBuffer Logger requires the game/application notify the BatchbufferLogger before and after each API call and this logger also needs to intercept the DRM ioctl.
An example use-case with patches worked on so far is adding BatchBuffer Logger support to APITrace. This would then allow those replaying back APITrace traces to see what OpenGL/GLES traces end up producing what batch buffers and in turn the GPU's associated state. That support though isn't yet merged in upstream APITrace until the BatchBuffer Logger interface lands within Mesa. And, yes, this is Intel-specific.
For those interested in learning more about this proposed 8,000 lines of code addition to Mesa for the Batch Buffer Logger can learn more via this patch series.
The BatchBuffer Logger is designed to allow correlating API calls to data that in turn is added to a batch buffer for execution by the Intel graphics processor. The logger additionally keeps precise track of the GPU state and can report various metrics associated with each API call.
The synchronizing of API calls though to the batch buffer and state doesn't come for "free" to application developers. The BatchBuffer Logger requires the game/application notify the BatchbufferLogger before and after each API call and this logger also needs to intercept the DRM ioctl.
An example use-case with patches worked on so far is adding BatchBuffer Logger support to APITrace. This would then allow those replaying back APITrace traces to see what OpenGL/GLES traces end up producing what batch buffers and in turn the GPU's associated state. That support though isn't yet merged in upstream APITrace until the BatchBuffer Logger interface lands within Mesa. And, yes, this is Intel-specific.
For those interested in learning more about this proposed 8,000 lines of code addition to Mesa for the Batch Buffer Logger can learn more via this patch series.
2 Comments