“The Direct3D 10 system” by Blythe
Conference:
Type(s):
Title:
- The Direct3D 10 system
Presenter(s)/Author(s):
Abstract:
We present a system architecture for the 4th generation of PC-class programmable graphics processing units (GPUs). The new pipeline features significant additions and changes to the prior generation pipeline including a new programmable stage capable of generating additional primitives and streaming primitive data to memory, an expanded, common feature set for all of the programmable stages, generalizations to vertex and image memory resources, and new storage formats. We also describe structural modifications to the API, runtime, and shading language to complement the new pipeline. We motivate the design with descriptions of frequently encountered obstacles in current systems. Throughout the paper we present rationale behind prominent design choices and alternatives that were ultimately rejected, drawing on insights collected during a multi-year collaboration with application developers and hardware designers.
References:
1. Ati. 2005. Radeon X800 3D Architecture White Paper. http://www.ati.com/products/radeonx800/RadeonX800ArchitectureWhitePaper.pdf.Google Scholar
2. Akeley, K. 1993. RealityEngine graphics. In Proceedings of ACM SIGGRAPH 1993. ACM Press, New York, NY, 109–116. Google ScholarDigital Library
3. Blinn, J. F. 1990. The truth about texture mapping. IEEE Computer Graphics and Applications 10, 2, 78–83. Google ScholarDigital Library
4. Buck, I. Foley, T., Horn, D., Sugerman, D., Fatahalian, K., Houstin, M., and Hanrahan, P. 2004. Brook for GPUs: Stream computing on graphics hardware. Transactions on Graphics 23, 3, 777–786. Google ScholarDigital Library
5. Chan, E., Ng, R., Sen, P., Proudfoot, K., and Hanrahan, P. 2002. Efficient Partitioning of Fragment Shaders for Multipass Rendering on Programmable Graphics Hardware, In Graphics Hardware, 69–78. Google ScholarDigital Library
6. Doggett, M., 2005. Xenos: XBox 360 GPU. GDC-E 2005, http://www.ati.com/developer/eg05-xenos-doggett-final.pdf.Google Scholar
7. Gray, K. 2003. The Microsoft DirectX 9 Programmable Graphics Pipeline. Microsoft Press. Google ScholarDigital Library
8. Haines, E. 2006. An Introductory Tour of Rendering. IEEE Computer Graphics and Applications 26, 1, 76–87. Google ScholarDigital Library
9. Hakura, Z. S., and Gupta, A. 1997. The design and analysis of a cache architecture for texture mapping. ACM SIGARCH Computer Architecture News 25, 2, 108–120. Google ScholarDigital Library
10. Ieee Computer Society. 1985. IEEE Standard for Binary Floating-Point Arithmetic. IEEE Std 754–1985.Google Scholar
11. Igehy, H., Eldridge, M., and Hanrahan, P. 1999. Parallel Texture Caching. In Graphics Hardware, ACM Press, New York, NY, 95–106. Google ScholarDigital Library
12. Kessenich, J., Baldwin, D., and Rost, R. 2004. The OpenGL Shading Language version 1.10.59. http://www.opengl.org/documentation/oglsl.html.Google Scholar
13. Lindholm, E., Kilgard, M. J., and Moreton, H. 2001. A User-programmable vertex engine. In Proc. of SIGGRAPH 2001, ACM Press / ACM SIGGRAPH, 149–158. Google ScholarDigital Library
14. Mark, W. R., Glanville, R. S., Akeley, K., and Kilgard, M. J. Cg: A system for programming graphics in a C-like language. Transactions on Graphics 22, 3, 2003, 896–907. Google ScholarDigital Library
15. McCabe, D., and Brothers, J. 1998. DirectX 6 Texture Map Compression. Game Developer Magazine 5, 8. 42–46.Google Scholar
16. McCool, M. and Du Toit, S. 2004. Metaprogramming GPUs with Sh. A K Peters. Google ScholarDigital Library
17. McCormick P. S., Inman, J., Ahrens, J. P., Hansen, C., and Roth, G. 2004, Scout: A hardware-accelerated system for quantitatively driven visualization and analysis. In Proc. of IEEE Visualization, 171–178. Google ScholarDigital Library
18. Microsoft Corp. 2002. High-level shader language. In DirectX 9.0 graphics. http://msdn.microsoft.com/directx.Google Scholar
19. Microsoft Corp. 2006, Direct3D 10 Reference. In Direct3D 10 graphics. http://msdn.microsoft.com/directx.Google Scholar
20. Montrym, J., and Moreton, H. 2005. The GeForce 6800. IEEE Micro 25, 2, 41–51. Google ScholarDigital Library
21. Proudfoot, K., Mark, W. R., Tzvetkov, S., and Hanrahan, P. 2001. A real-time procedural shading system for programmable graphics hardware. In Proc. of SIGGRAPH 2001, ACM Press / ACM SIGGRAPH, 159–170. Google ScholarDigital Library
22. Riffel, A., Lefohn, A. E., Vidimce, K., Leone, M., and Owens, J. D. 2004. Mio: Fast Multipass Partitioning via Priority-Based Instruction Scheduling. In Graphics Hardware, 35–44. Google ScholarDigital Library
23. Rohlf, J. and Helman, J. 1994. IRIS Performer: a high performance multiprocessing toolkit for real-time 3D graphics. In Proc. of SIGGRAPH ’94. ACM Press, New York, NY, 381–394. Google ScholarDigital Library
24. Segal, M., and Akeley, K. 2004. The OpenGL Graphics System: A Specification (Version 2.0). http://www.opengl.org/documentation/spec.html.Google Scholar
25. Tarditi, D., Puri, S., and Oglesby, J. 2005. Accelerator: simplified programming of graphics units for general-purpose uses via data parallelism. Technical Rerport, MSR-TR-2005-184.Google Scholar
26. Everitt, C. and Kilgard, M. 2002. Practical and Robust Stenciled Shadow Volumes for Hardware-Accelerated Rendering. http://developer.nvidia.com.Google Scholar
27. Hirche, J., Ehlert, A. Guthe, S. and Doggett, M. 2004.Hardware accelerated per-pixel displacement mapping. In Proc. of Graphics Interface 2004, 153–160. Google ScholarDigital Library