Skip to main content

Adaptive Partitioning of Vertex Shader for Low Power High Performance Geometry Engine

  • Conference paper
Book cover Advances in Visual Computing (ISVC 2009)

Part of the book series: Lecture Notes in Computer Science ((LNIP,volume 5875))

Included in the following conference series:

Abstract

Advances in Computer Graphics have led to the creation of sophisticated scenes with realistic characters and fascinating effects. As a consequence the amount of geometry per frame is escalating, making the performance of geometry engine one of the major factors affecting the overall performance of a graphics application. In this paper we present a mechanism to speed-up geometry processing and at the same time reduce the power consumption by reducing the amount of computation on processing the geometry of a scene. Based on the observation that large number of triangles are trivially rejected in each frame, we propose to partition the vertex shader into position-variant and position-invariant parts and execute the position-invariant part of the shader only on those triangles that pass the trivial reject test. Our main contributions in this work are: (i) a partitioning algorithm that minimizes the duplication of code between the two partitions of the shader and (ii) an adaptive mechanism to enable the vertex shader partitioning so as to minimize the overhead incurred due to thread-setup of the second stage of the shader. By employing the proposed shader partitioning approach, we have achieved a saving of up to 50% of vertex shader instructions on games like Unreal Tournament 2004 and Chronicles of Riddick. Depending on the architecture implementing the pipeline, we expect that this huge saving on instructions would translate to significant saving of cycles and power of the geometry engine. Our experiments on ATTILA, a cycle level simulator for modern graphics pipelines, show a promising speed-up of up to 15% on geometry processing for various games.

This work was partially supported by a research grant from Intel India.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. del Barrio, V., et al.: Attila: a cycle-level execution-driven simulator for modern gpu architectures. In: IEEE International Symposium on Performance Analysis of Systems and Software, pp. 231–241 (2006)

    Google Scholar 

  2. Clark, J.H.: The geometry engine: A vlsi geometry system for graphics. SIGGRAPH Comput. Graph., 127–133 (1982)

    Google Scholar 

  3. Akeley, K., Jermoluk, T.: High-performance polygon rendering. In: SIGGRAPH 1988: Proceedings of the 15th annual conference on Computer graphics and interactive techniques, pp. 239–246. ACM, New York (1988)

    Chapter  Google Scholar 

  4. Sohn, J.H., et al.: A programmable vertex shader with fixed-point simd datapath for low power wireless applications. In: HWWS 2004: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, pp. 107–114. ACM, New York (2004)

    Chapter  Google Scholar 

  5. Kameyama, M., et al.: 3d graphics lsi core for mobile phone ”z3d”. In: HWWS 2003: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, Eurographics Association, pp. 60–67 (2003)

    Google Scholar 

  6. Sohn, J.H., et al.: Low-power 3d graphics processors for mobile terminals. IEEE Communications Magazine, 90–99 (2005)

    Google Scholar 

  7. Barrio, V.M.D., et al.: A single (unified) shader gpu microarchitecture for embedded systems. In: Conte, T., Navarro, N., Hwu, W.-m.W., Valero, M., Ungerer, T. (eds.) HiPEAC 2005. LNCS, vol. 3793, pp. 286–301. Springer, Heidelberg (2005)

    Google Scholar 

  8. Chhugani, J., Kumar, S.: Geometry engine optimization: cache friendly compressed representation of geometry. In: I3D 2007: Proceedings of the 2007 symposium on Interactive 3D graphics and games, pp. 9–16. ACM, New York (2007)

    Chapter  Google Scholar 

  9. Sander, P.V., et al.: Fast triangle reordering for vertex locality and reduced overdraw. ACM Trans. Graph., 89 (2007)

    Google Scholar 

  10. Chung, K., et al.: Vertex cache of programmable geometry processor for mobile multimedia application (2006)

    Google Scholar 

  11. Tsao, Y.M., et al.: Low power programmable shader with efficient graphics and video acceleration capabilities for mobile multimedia applications, pp. 395–396 (2006)

    Google Scholar 

  12. Chan, E.: Ng, et al.: Efficient partitioning of fragment shaders for multipass rendering on programmable graphics hardware. In: HWWS 2002: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, Eurographics Association, pp. 69–78 (2002)

    Google Scholar 

  13. Heirich, A.: Optimal automatic multi-pass shader partitioning by dynamic programming. In: HWWS 2005: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware, pp. 91–98. ACM, New York (2005)

    Chapter  Google Scholar 

  14. http://developer.download.nvidia.com/SDK/9.5/Samples/samples.html

  15. http://ati.amd.com/developer/shaderx/ShaderX_NPR.pdf

  16. http://attila.ac.upc.edu/wiki/index.php/Traces

  17. http://amd-ad.bandrdev.com/samples/Pages/default.aspx

  18. http://www.flipcode.com/archives/articles.shtml

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Silpa, B.V.N., Vemuri, K.S.S., Panda, P.R. (2009). Adaptive Partitioning of Vertex Shader for Low Power High Performance Geometry Engine. In: Bebis, G., et al. Advances in Visual Computing. ISVC 2009. Lecture Notes in Computer Science, vol 5875. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10331-5_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10331-5_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10330-8

  • Online ISBN: 978-3-642-10331-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics