|
ABSTRACT
The enormous flexibility of the modern GPU rendering pipeline as well as the availability of high-level shader languages have led to an increased demand for sophisticated programming tools. As the application domain for GPU-based algorithms extends beyond traditional computer graphics, shader programs become more and more complex. The turn-around time for debugging, profiling, and optimizing GPU-based algorithms is now a critical factor in application development which is not addressed adequately by the tools available. In this paper we present a generic, minimal intrusive, and application-transparent solution for debugging OpenGL Shading Language programs, which for the first time fully supports GLSL 1.2 vertex and fragment shaders plus the recent geometry shader extension. By transparently instrumenting the shader program we retrieve information directly from the hardware pipeline and provide data for visual debugging and program analysis.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
{3D105} 3Dlabs Corporation: OpenGL Shading Language Compiler Front-end, 2005. 4
|
| |
2
|
{Al107} Allinea Software: The Distributed Debugging Tool, 2007. 2
|
| |
3
|
{App02} Apple Inc.: OpenGL Shader Builder, 2002. http://developer.apple.com/.2
|
 |
4
|
|
 |
5
|
|
| |
6
|
{Gra04} Graphic Remedy: gDEBugger, 2004. http://www.gremedy.com. 2
|
| |
7
|
|
 |
8
|
Greg Humphreys , Mike Houston , Ren Ng , Randall Frank , Sean Ahern , Peter D. Kirchner , James T. Klosowski, Chromium: a stream-processing framework for interactive rendering on clusters, ACM Transactions on Graphics (TOG), v.21 n.3, July 2002
|
| |
9
|
{Ins90} Institute of Electrical and Electronics Engineers, Inc.: IEEE Std 1003.1-1990, Portable Operating System Interface (POSIX) Part 1: System Application Program Interface (API), 1990. 5
|
| |
10
|
{Mag02} Magallón M. E.: spyGLass, 2002. http://spyglass.sourceforge.net. 2
|
| |
11
|
{Mer04} Merry B.: BuGLe, 2004. http://bugle.sf.net. 2
|
| |
12
|
{Mic07} Microsoft Corporation: PIX: The Direct3D profiling and debugging tool, DirectX 10 SDK, 2007. 2
|
| |
13
|
{NVI06} NVIDIA Corporation: NVIDIA OpenGL Extension Specifications for the GeForce 8 Series Architecture (G8x), 2006. 2, 4, 6
|
| |
14
|
{OLG*07} Owens J. D., Luebke D., Govindaraju N., Harris M., Krüger J., Lefohn A. E., Purcell T. J.: A survey of general-purpose computation on graphics hardware. Computer Graphics Forum 26, 1 (2007), 80--113. 2
|
| |
15
|
{PS03} Purcell T. J., Sen P.: Shadesmith, 2003. http://graphics.stanford.edu/projects/shadesmith/. 2
|
| |
16
|
{Pur05} Purcell T.: GPGPU: general-purpose computation on graphics hardware: debugging tools. ACM SIGGRAPH 2005 Course Notes (2005). 2
|
| |
17
|
{The07} The Portland Group, Inc.: PGDBG Graphical Cluster Debugger, 2007. 2
|
| |
18
|
{Tot07} Total View Technologies, LLC.: The TotalView Debugger, 2007. 2
|
| |
19
|
{Tre04} Trebilco D.: GLIntercept, 2004. http://glintercept.nutty.org. 2
|
|