“A relational debugging engine for the graphics pipeline” by Duca, Niski, Bilodeau, Bolitho, Chen, et al. …

  • ©Nathaniel Duca, Krzysztof Niski, Jonathan Bilodeau, Matthew Bolitho, Yuan Chen, and Jonathan (Jon) D. Cohen




    A relational debugging engine for the graphics pipeline



    We present a new, unified approach to debugging graphics software. We propose a representation of all graphics state over the course of program execution as a relational database, and produce a query-based framework for extracting, manipulating, and visualizing data from all stages of the graphics pipeline. Using an SQL-based query language, the programmer can establish functional relationships among all the data, linking OpenGL state to primitives to vertices to fragments to pixels. Based on the Chromium library, our approach requires no modification to or recompilation of the program to be debugged, and forms a superset of many existing techniques for debugging graphics software.


    1. Baxter. B., 2002. Imdebug. {online} http://www.billbaxter.com/projects/imdebug/.Google Scholar
    2. Everitt, C., 2001. Interactive order-independent transparency. {online} http://developer.nvidia.com/object/Interactive_Order-Transparency.html.Google Scholar
    3. Friedell, M., LaPolla, M., Kochhar, S., Sistare, S., and Juda. J. 1991. Visualizing the behavior of massively parallel programs. In Supercomputing ’91: Proceedings of the 1991 ACM/IEEE conference on Supercomputing, ACM Press, 472–480. Google ScholarDigital Library
    4. Gould, D., 2005. GLSurveyor. {online} http://www.glsurveyor.com/.Google Scholar
    5. Graphics Remedy, 2005. gDEBugger. {online} http://www.gremedy.com/.Google Scholar
    6. Humphreys, G., Eldridge, M., Buck, I., Stoll, G., Everett. M., and Hanrahan, P. 2001. WireGL: a scalable graphics system for clusters. In Proceedings of the 28th annual conference on Computer graphics and interactive techniques, 129–140. Google ScholarDigital Library
    7. Humphreys, G., Houston, M., Ng, R., Frank, R., Ahern, S., Kirchner, P., and Klosowski, J. 2002. Chromium: A stream processing framework for interactive rendering on clusters. In SIGGRAPH. 693–702. Google ScholarDigital Library
    8. Igehy, H., Stoll, G., and Hanrahan, P. 1998. The design of a parallel graphics interface. In Proceedings of SIGGRAPH 1998, 141–150. Google ScholarDigital Library
    9. Kaufer, S., Lopez, R., and Pratap, S. 1988. Saber-C: an interpreter-based programming environment for the C language. In Proceedings of the Summer Usenix Conference, 161–171.Google Scholar
    10. Lencevicius, R., Hölzle, U., and Singh, A. K. 1997. Query-based debugging of object-oriented programs. In OOPSLA ’97: Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, ACM Press, 304–317. Google ScholarDigital Library
    11. Lewis, B. 2003. Debugging backwards in time. In Proceedings of the Fifth International Workshop on Automated Debugging, 225-235.Google Scholar
    12. Linton, M. A. 1990. The evolution of Dbx. 211–220.Google Scholar
    13. Microsoft, 2005. Microsoft PIX development tool. {online} http://msdn.microsoft.com/. Available since DirectX9 on XBox and Win32.Google Scholar
    14. MIT. 1961. DDT. Tech. Rep. PDP-4-1 PDP-1 Computer, Department of Electrical Engineering, MIT.Google Scholar
    15. NVIDIA, 2001. Nvparse. {online} http://developer.nvidia.com/nvparse.Google Scholar
    16. Olano, M., 2005. Shader debugging in PixelFlow’s PfMan shader language, SGI’s OpenGL Shader, and RenderMan. Personal Communication (e-mail), Jan.Google Scholar
    17. Purcell, T., and Sen, P., 2003. Shadesmith. {online} http://graphics.stanford.edu/projects/shadesmith/.Google Scholar
    18. Purcell, T. 2004. Fragment program debugging tools. In SIGGRAPH 2004 GPGPU Course Notes.Google Scholar
    19. Sistare, S., Allen, D., Bowker, R., Jourdenais, K., Simons, J., and Title, R. 1992. Data visualization and performance analysis in the prism programming environment. In Proceedings of the IFIP WG 10.3 Workshop on Programming Environments for Parallel Computing, North-Holland, 37–52. Google ScholarDigital Library
    20. Stallman, R. M. 1989. GDB manual (the GNU source-level debugger). Tech. rep., Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA, Tel: (617) 876–3296, USA, Jan. Third Edition, GDB version 3.1.Google Scholar
    21. Stephenson, I. 2000. Buffy, an sl development environment. BCS Conference on Digital Content Creation (April).Google Scholar
    22. Trebilco, D., 2004. GLIntercept. {online} http://glintercept.nutty.org/.Google Scholar
    23. Zeller, A., and Lütkehaus, D. 1996. DDD — a free graphical front-end for unix debuggers. SIGPLAN Not. 31, 1, 22–27. Google ScholarDigital Library

ACM Digital Library Publication:

Overview Page: