The Opengl Graphics System: a Specification (Version 2.1)

Total Page:16

File Type:pdf, Size:1020Kb

The Opengl Graphics System: a Specification (Version 2.1) The OpenGL R Graphics System: A Specification (Version 2.1 - December 1, 2006) Mark Segal Kurt Akeley Editor (version 1.1): Chris Frazier Editor (versions 1.2-2.1): Jon Leech Editor (version 2.0): Pat Brown Copyright c 1992-2006 Silicon Graphics, Inc. This document contains unpublished information of Silicon Graphics, Inc. This document is protected by copyright, and contains information proprietary to Silicon Graphics, Inc. Any copying, adaptation, distribution, public performance, or public display of this document without the express written consent of Silicon Graphics, Inc. is strictly prohibited. The receipt or possession of this document does not convey any rights to reproduce, disclose, or distribute its contents, or to manufacture, use, or sell anything that it may describe, in whole or in part. U.S. Government Restricted Rights Legend Use, duplication, or disclosure by the Government is subject to restrictions set forth in FAR 52.227.19(c)(2) or subparagraph (c)(1)(ii) of the Rights in Technical Data and Computer Software clause at DFARS 252.227-7013 and/or in similar or succes- sor clauses in the FAR or the DOD or NASA FAR Supplement. Unpublished rights reserved under the copyright laws of the United States. Contractor/manufacturer is Silicon Graphics, Inc., 1600 Amphitheatre Parkway, Mountain View, CA 94043. OpenGL is a registered trademark of Silicon Graphics, Inc. Unix is a registered trademark of The Open Group. The ”X” device and X Windows System are trademarks of The Open Group. Contents 1 Introduction 1 1.1 Formatting of Optional Features . 1 1.2 What is the OpenGL Graphics System? . 1 1.3 Programmer’s View of OpenGL . 2 1.4 Implementor’s View of OpenGL . 2 1.5 Our View . 3 1.6 Companion Documents . 3 2 OpenGL Operation 4 2.1 OpenGL Fundamentals . 4 2.1.1 Floating-Point Computation . 6 2.2 GL State . 6 2.3 GL Command Syntax . 7 2.4 Basic GL Operation . 10 2.5 GL Errors . 11 2.6 Begin/End Paradigm . 12 2.6.1 Begin and End . 15 2.6.2 Polygon Edges . 19 2.6.3 GL Commands within Begin/End ............. 19 2.7 Vertex Specification . 20 2.8 Vertex Arrays . 23 2.9 Buffer Objects . 33 2.9.1 Vertex Arrays in Buffer Objects . 38 2.9.2 Array Indices in Buffer Objects . 39 2.9.3 Buffer Object State . 39 2.10 Rectangles . 40 2.11 Coordinate Transformations . 40 2.11.1 Controlling the Viewport . 42 2.11.2 Matrices . 43 i ii CONTENTS 2.11.3 Normal Transformation . 48 2.11.4 Generating Texture Coordinates . 50 2.12 Clipping . 52 2.13 Current Raster Position . 54 2.14 Colors and Coloring . 57 2.14.1 Lighting . 59 2.14.2 Lighting Parameter Specification . 64 2.14.3 ColorMaterial ....................... 66 2.14.4 Lighting State . 68 2.14.5 Color Index Lighting . 68 2.14.6 Clamping or Masking . 69 2.14.7 Flatshading . 69 2.14.8 Color and Associated Data Clipping . 70 2.14.9 Final Color Processing . 71 2.15 Vertex Shaders . 71 2.15.1 Shader Objects . 72 2.15.2 Program Objects . 73 2.15.3 Shader Variables . 75 2.15.4 Shader Execution . 84 2.15.5 Required State . 88 3 Rasterization 90 3.1 Invariance . 92 3.2 Antialiasing . 92 3.2.1 Multisampling . 93 3.3 Points . 95 3.3.1 Basic Point Rasterization . 97 3.3.2 Point Rasterization State . 101 3.3.3 Point Multisample Rasterization . 101 3.4 Line Segments . 101 3.4.1 Basic Line Segment Rasterization . 102 3.4.2 Other Line Segment Features . 104 3.4.3 Line Rasterization State . 107 3.4.4 Line Multisample Rasterization . 107 3.5 Polygons . 108 3.5.1 Basic Polygon Rasterization . 108 3.5.2 Stippling . 110 3.5.3 Antialiasing . 111 3.5.4 Options Controlling Polygon Rasterization . 111 3.5.5 Depth Offset . 111 Version 2.1 - December 1, 2006 CONTENTS iii 3.5.6 Polygon Multisample Rasterization . 113 3.5.7 Polygon Rasterization State . 113 3.6 Pixel Rectangles . 113 3.6.1 Pixel Storage Modes and Pixel Buffer Objects . 114 3.6.2 The Imaging Subset . 115 3.6.3 Pixel Transfer Modes . 116 3.6.4 Rasterization of Pixel Rectangles . 127 3.6.5 Pixel Transfer Operations . 138 3.6.6 Pixel Rectangle Multisample Rasterization . 148 3.7 Bitmaps . 148 3.8 Texturing . 150 3.8.1 Texture Image Specification . 151 3.8.2 Alternate Texture Image Specification Commands . 159 3.8.3 Compressed Texture Images . 165 3.8.4 Texture Parameters . 168 3.8.5 Depth Component Textures . 170 3.8.6 Cube Map Texture Selection . 170 3.8.7 Texture Wrap Modes . 171 3.8.8 Texture Minification . 172 3.8.9 Texture Magnification . 178 3.8.10 Texture Completeness . 179 3.8.11 Texture State and Proxy State . 180 3.8.12 Texture Objects . 182 3.8.13 Texture Environments and Texture Functions . 184 3.8.14 Texture Comparison Modes . 187 3.8.15 sRGB Texture Color Conversion . 191 3.8.16 Texture Application . 191 3.9 Color Sum . 194 3.10 Fog . 194 3.11 Fragment Shaders . 196 3.11.1 Shader Variables . 196 3.11.2 Shader Execution . 197 3.12 Antialiasing Application . 199 3.13 Multisample Point Fade . 200 4 Per-Fragment Operations and the Framebuffer 201 4.1 Per-Fragment Operations . 202 4.1.1 Pixel Ownership Test . 202 4.1.2 Scissor Test . 203 4.1.3 Multisample Fragment Operations . 203 Version 2.1 - December 1, 2006 iv CONTENTS 4.1.4 Alpha Test . 204 4.1.5 Stencil Test . 205 4.1.6 Depth Buffer Test . 206 4.1.7 Occlusion Queries . 207 4.1.8 Blending . 209 4.1.9 Dithering . 212 4.1.10 Logical Operation . 213 4.1.11 Additional Multisample Fragment Operations . 213 4.2 Whole Framebuffer Operations . 215 4.2.1 Selecting a Buffer for Writing . 215 4.2.2 Fine Control of Buffer Updates . 217 4.2.3 Clearing the Buffers . 218 4.2.4 The Accumulation Buffer . 220 4.3 Drawing, Reading, and Copying Pixels . 221 4.3.1 Writing to the Stencil Buffer . 221 4.3.2 Reading Pixels . 222 4.3.3 Copying Pixels . 226 4.3.4 Pixel Draw/Read State . 229 5 Special Functions 230 5.1 Evaluators . 230 5.2 Selection . 236 5.3 Feedback . 238 5.4 Display Lists . 240 5.5 Flush and Finish . 245 5.6 Hints . 245 6 State and State Requests 247 6.1 Querying GL State . 247 6.1.1 Simple Queries . 247 6.1.2 Data Conversions . 248 6.1.3 Enumerated Queries . 249 6.1.4 Texture Queries . ..
Recommended publications
  • Release Notes for X11R6.8.2 the X.Orgfoundation the Xfree86 Project, Inc
    Release Notes for X11R6.8.2 The X.OrgFoundation The XFree86 Project, Inc. 9February 2005 Abstract These release notes contains information about features and their status in the X.Org Foundation X11R6.8.2 release. It is based on the XFree86 4.4RC2 RELNOTES docu- ment published by The XFree86™ Project, Inc. Thereare significant updates and dif- ferences in the X.Orgrelease as noted below. 1. Introduction to the X11R6.8.2 Release The release numbering is based on the original MIT X numbering system. X11refers to the ver- sion of the network protocol that the X Window system is based on: Version 11was first released in 1988 and has been stable for 15 years, with only upwardcompatible additions to the coreX protocol, a recordofstability envied in computing. Formal releases of X started with X version 9 from MIT;the first commercial X products werebased on X version 10. The MIT X Consortium and its successors, the X Consortium, the Open Group X Project Team, and the X.OrgGroup released versions X11R3 through X11R6.6, beforethe founding of the X.OrgFoundation. Therewill be futuremaintenance releases in the X11R6.8.x series. However,efforts arewell underway to split the X distribution into its modular components to allow for easier maintenance and independent updates. We expect a transitional period while both X11R6.8 releases arebeing fielded and the modular release completed and deployed while both will be available as different consumers of X technology have different constraints on deployment. Wehave not yet decided how the modular X releases will be numbered. We encourage you to submit bug fixes and enhancements to bugzilla.freedesktop.orgusing the xorgproduct, and discussions on this server take place on <[email protected]>.
    [Show full text]
  • GPU Developments 2018
    GPU Developments 2018 2018 GPU Developments 2018 © Copyright Jon Peddie Research 2019. All rights reserved. Reproduction in whole or in part is prohibited without written permission from Jon Peddie Research. This report is the property of Jon Peddie Research (JPR) and made available to a restricted number of clients only upon these terms and conditions. Agreement not to copy or disclose. This report and all future reports or other materials provided by JPR pursuant to this subscription (collectively, “Reports”) are protected by: (i) federal copyright, pursuant to the Copyright Act of 1976; and (ii) the nondisclosure provisions set forth immediately following. License, exclusive use, and agreement not to disclose. Reports are the trade secret property exclusively of JPR and are made available to a restricted number of clients, for their exclusive use and only upon the following terms and conditions. JPR grants site-wide license to read and utilize the information in the Reports, exclusively to the initial subscriber to the Reports, its subsidiaries, divisions, and employees (collectively, “Subscriber”). The Reports shall, at all times, be treated by Subscriber as proprietary and confidential documents, for internal use only. Subscriber agrees that it will not reproduce for or share any of the material in the Reports (“Material”) with any entity or individual other than Subscriber (“Shared Third Party”) (collectively, “Share” or “Sharing”), without the advance written permission of JPR. Subscriber shall be liable for any breach of this agreement and shall be subject to cancellation of its subscription to Reports. Without limiting this liability, Subscriber shall be liable for any damages suffered by JPR as a result of any Sharing of any Material, without advance written permission of JPR.
    [Show full text]
  • 3Dnow! Technology in Microsoft Directx
    AMD WHITE PAPER ™ 3DNow! Technology in Microsoft DirectX 6.0 Delivering Leading-Edge 3D Graphics Performance for the New Era of Realistic Computing ADVANCED MICRO DEVICES, INC. One AMD Place Sunnyvale, CA 94088 Contact: Dale Weisman Public Relations (512) 602-5820 Anne Camden Public Relations (512) 602-2120 Page 1 52588A May 28, 1998 AMD WHITE PAPER Overview This white paper explains how 3DNow!™ technology improves upon the mature x86 instruction set (now more than 20 years old) to provide PC users with a richer, 3D-enhanced computing experience. The benefits of 3DNow! technology can be achieved with minimal impact on existing and emerging x86 software thanks to the support of an industry standard: the DirectX application programming interface (API). This paper provides an overview of DirectX, a review of the graphics pipeline and how it is enhanced by 3DNow! technology, and a summary of how the 3DNow! instruction set is used in different software layers, as well as the impact of the new 3D instructions on each layer. Introduction: What is DirectX Technology? The DirectX API is a group of technologies designed by Microsoft to make Windows® based computers an ideal platform for running and displaying applications rich in multimedia elements, such as full-color graphics, video, 3D animation, and surround sound. Built directly into the Microsoft® Windows family of operating systems, DirectX is an integral part of the Windows 95/98 and Windows NT® 5.0 operating systems, as well as Internet Explorer 4.0. DirectX components may also be automatically installed on a PC by advanced multimedia games and applications written for the Windows 95 operating system.
    [Show full text]
  • It's Meant to Be Played
    Issue 10 $3.99 (where sold) THE WAY It’s meant to be played Ultimate PC Gaming with GeForce All the best holiday games with the power of NVIDIA Far Cry’s creators outclass its already jaw-dropping technology Battlefi eld 2142 with an epic new sci-fi battle World of Warcraft: Company of Heroes Warhammer: The Burning Crusade Mark of Chaos THE NEWS Notebooks are set to transform Welcome... PC gaming Welcome to the 10th issue of The Way It’s Meant To Be Played, the he latest must-have gaming system is… T magazine dedicated to the very best in a notebook PC. Until recently considered mainly PC gaming. In this issue, we showcase a means for working on the move or for portable 30 games, all participants in NVIDIA’s presentations, laptops complete with dedicated graphic The Way It’s Meant To Be Played processing units (GPUs) such as the NVIDIA® GeForce® program. In this program, NVIDIA’s Go 7 series are making a real impact in the gaming world. Latest thing: Laptops developer technology engineers work complete with dedicated The advantages are obvious – gamers need no longer be graphic processing units with development teams to get the are making an impact in very best graphics and effects into tied to their desktop set-up. the gaming world. their new titles. The games are then The new NVIDIA® GeForce® Go 7900 notebook rigorously tested by three different labs GPUs are designed for extreme HD gaming, and gaming at NVIDIA for compatibility, stability, and hardware specialists such as Alienware and Asus have performance to ensure that any game seen the potential of the portable platform.
    [Show full text]
  • Rredline™ Programming Guide
    RENDITION . 1675 North Shoreline Blvd. Mountain View, CA 94043 650-335-5900 . http://www.rendition.com . .Rendition. .......... RRedline™ Programming Guide Guide to the RRedline HAL for Vérité™ Graphics Rendering​ RRedline​ Programming Guide GETTING STARTED ​4 WHAT IS THE VÉRITÉ? ​4 WHAT IS RREDLINE? ​4 SUPPORTED PLATFORMS ​4 SUPPORTED COMPILERS ​5 VERITE VS. REDLINE ​5 THE BUILD ENVIRONMENT ​6 BUG REPORTING ​6 TRADEMARKS ​6 HELLO TRIANGLE ​7 SOME BOOKKEEPING ​7 WRITING ERROR HANDLERS​8 INITIALIZING RREDLINE ​10 Creating the Command Buffers ​11 Surfaces ​13 Other Data Structures ​16 Specifying the Source Function ​16 UTILITIES ​16 Issuing the Command Buffer ​17 Issuing the Command Buffer ​17 Page Flipping ​18 Clearing the Back Buffer ​19 RENDERING THE TRIANGLE​20 Choosing a Vertex Type​20 Drawing Triangles ​23 SHUTTING DOWN THE VÉRITÉ ​24 MODIFICATIONS TO HELLO TRIANGLE ​26 MODIFICATION ONE: SWITCHING BETWEEN FULL SCREEN MODE AND WINDOWED MODE ​27 PAGE FLIPPING IN A WINDOW ​27 INITIALIZING BUFFERS FOR A WINDOWED APPLICATION ​28 DISPLAY SWITCHING ROUTINE ​30 DE-ACTIVATING AND RE-ACTIVATING THE APPLICATION ​31 MODIFICATION TWO: DRAWING A TEXTURE MAPPED TRIANGLE ​34 CREATING AND LOADING THE TEXTURES ​34 FILTERING THE TEXTURES​36 SETTING THE SOURCE FUNCTION ​37 RENDERING THE TRIANGLE​38 FREEING THE TEXTURES ​40 RESTORING THE TEXTURES AND PIXEL ENGINE STATE ​41 MODIFICATION THREE: Z BUFFERING AND PERSPECTIVE CORRECTION ​42 CREATING AND USING A Z-BUFFER ​42 CLEARING THE Z-BUFFER ​43 RENDERING THE TRIANGLE​43 MODIFICATION FOUR: ALPHA BLENDING
    [Show full text]
  • John Carmack Archive - .Plan (1998)
    John Carmack Archive - .plan (1998) http://www.team5150.com/~andrew/carmack March 18, 2007 Contents 1 January 5 1.1 Some of the things I have changed recently (Jan 01, 1998) . 5 1.2 Jan 02, 1998 ............................ 6 1.3 New stuff fixed (Jan 03, 1998) ................. 7 1.4 Version 3.10 patch is now out. (Jan 04, 1998) ......... 8 1.5 Jan 09, 1998 ............................ 9 1.6 I AM GOING OUT OF TOWN NEXT WEEK, DON’T SEND ME ANY MAIL! (Jan 11, 1998) ................. 10 2 February 12 2.1 Ok, I’m overdue for an update. (Feb 04, 1998) ........ 12 2.2 Just got back from the Q2 wrap party in vegas that Activi- sion threw for us. (Feb 09, 1998) ................ 14 2.3 Feb 12, 1998 ........................... 15 2.4 8 mb or 12 mb voodoo 2? (Feb 16, 1998) ........... 19 2.5 I just read the Wired article about all the Doom spawn. (Feb 17, 1998) .......................... 20 2.6 Feb 22, 1998 ........................... 21 1 John Carmack Archive 2 .plan 1998 3 March 22 3.1 American McGee has been let go from Id. (Mar 12, 1998) . 22 3.2 The Old Plan (Mar 13, 1998) .................. 22 3.3 Mar 20, 1998 ........................... 25 3.4 I just shut down the last of the NEXTSTEP systems running at id. (Mar 21, 1998) ....................... 26 3.5 Mar 26, 1998 ........................... 28 4 April 30 4.1 Drag strip day! (Apr 02, 1998) ................. 30 4.2 Things are progressing reasonably well on the Quake 3 en- gine. (Apr 08, 1998) ....................... 31 4.3 Apr 16, 1998 ..........................
    [Show full text]
  • 4010, 237 8514, 226 80486, 280 82786, 227, 280 a AA. See Anti-Aliasing (AA) Abacus, 16 Accelerated Graphics Port (AGP), 219 Acce
    Index 4010, 237 AIB. See Add-in board (AIB) 8514, 226 Air traffic control system, 303 80486, 280 Akeley, Kurt, 242 82786, 227, 280 Akkadian, 16 Algebra, 26 Alias Research, 169 Alienware, 186 A Alioscopy, 389 AA. See Anti-aliasing (AA) All-In-One computer, 352 Abacus, 16 All-points addressable (APA), 221 Accelerated Graphics Port (AGP), 219 Alpha channel, 328 AccelGraphics, 166, 273 Alpha Processor, 164 Accel-KKR, 170 ALT-256, 223 ACM. See Association for Computing Altair 680b, 181 Machinery (ACM) Alto, 158 Acorn, 156 AMD, 232, 257, 277, 410, 411 ACRTC. See Advanced CRT Controller AMD 2901 bit-slice, 318 (ACRTC) American national Standards Institute (ANSI), ACS, 158 239 Action Graphics, 164, 273 Anaglyph, 376 Acumos, 253 Anaglyph glasses, 385 A.D., 15 Analog computer, 140 Adage, 315 Anamorphic distortion, 377 Adage AGT-30, 317 Anatomic and Symbolic Mapper Engine Adams Associates, 102 (ASME), 110 Adams, Charles W., 81, 148 Anderson, Bob, 321 Add-in board (AIB), 217, 363 AN/FSQ-7, 302 Additive color, 328 Anisotropic filtering (AF), 65 Adobe, 280 ANSI. See American national Standards Adobe RGB, 328 Institute (ANSI) Advanced CRT Controller (ACRTC), 226 Anti-aliasing (AA), 63 Advanced Remote Display Station (ARDS), ANTIC graphics co-processor, 279 322 Antikythera device, 127 Advanced Visual Systems (AVS), 164 APA. See All-points addressable (APA) AED 512, 333 Apalatequi, 42 AF. See Anisotropic filtering (AF) Aperture grille, 326 AGP. See Accelerated Graphics Port (AGP) API. See Application program interface Ahiska, Yavuz, 260 standard (API) AI.
    [Show full text]
  • Troubleshooting Guide Table of Contents -1- General Information
    Troubleshooting Guide This troubleshooting guide will provide you with information about Star Wars®: Episode I Battle for Naboo™. You will find solutions to problems that were encountered while running this program in the Windows 95, 98, 2000 and Millennium Edition (ME) Operating Systems. Table of Contents 1. General Information 2. General Troubleshooting 3. Installation 4. Performance 5. Video Issues 6. Sound Issues 7. CD-ROM Drive Issues 8. Controller Device Issues 9. DirectX Setup 10. How to Contact LucasArts 11. Web Sites -1- General Information DISCLAIMER This troubleshooting guide reflects LucasArts’ best efforts to account for and attempt to solve 6 problems that you may encounter while playing the Battle for Naboo computer video game. LucasArts makes no representation or warranty about the accuracy of the information provided in this troubleshooting guide, what may result or not result from following the suggestions contained in this troubleshooting guide or your success in solving the problems that are causing you to consult this troubleshooting guide. Your decision to follow the suggestions contained in this troubleshooting guide is entirely at your own risk and subject to the specific terms and legal disclaimers stated below and set forth in the Software License and Limited Warranty to which you previously agreed to be bound. This troubleshooting guide also contains reference to third parties and/or third party web sites. The third party web sites are not under the control of LucasArts and LucasArts is not responsible for the contents of any third party web site referenced in this troubleshooting guide or in any other materials provided by LucasArts with the Battle for Naboo computer video game, including without limitation any link contained in a third party web site, or any changes or updates to a third party web site.
    [Show full text]
  • December/January 1996
    december/january 1996 GAME DEVELOPER MAGAZINE GGAMEAEM GAME PLAN Spare a Quarter for Microsoft? Editor Alex Dunne irst, it conquered the desktop. of the game. This kind of work could be [email protected] Then it set its sights on the done by one or two developers familiar Managing Editor Tor Berg [email protected] Internet. Now Microsoft is tar- with the game engine, and perhaps a spe- Editorial Assistant Chris Minnick geting the arcade? That’s right. cialist in coin-op development. Market- [email protected] Microsoft is launching an ini- ing doesn’t take a very big bite out of Contributing Editors Larry O’Brien tiative to make Windows the your budget in the coin-op world, so [email protected] operating system for the next you’d save some money on that front. All Chris Hecker [email protected] generation of coin-op games. in all, you’re not looking at a tremendous David Sieks FUnveiled at Microsoft’s recent Judge- outlay to port a game to coin-op using [email protected] ment Day event (its second annual Win- Microsoft’s model. Web Site Manager Phil Keppeler dows 95 games showcase), the initiative That begs the question: What kind [email protected] is still in its early stages, but could turn of cash could you expect from a coin-op Cover Photography Carter Dow Photography the coin-op industry on its ear if it gains port of a Windows-based game? 4th enough momentum. Wave, a market research firm, worked up Publisher Veronica Costanza Basically the plan goes like this: A some numbers in an attempt to answer Group Director Katie Brennan number of hardware companies would that.
    [Show full text]
  • Graphical Process Unit a New Era
    Nov 2014 (Volume 1 Issue 6) JETIR (ISSN-2349-5162) Graphical Process Unit A New Era Santosh Kumar, Shashi Bhushan Jha, Rupesh Kumar Singh Students Computer Science and Engineering Dronacharya College of Engineering, Greater Noida, India Abstract - Now in present days every computer is come with G.P.U (graphical process unit). The graphics processing unit (G.P.U) has become an essential part of today's mainstream computing systems. Over the past 6 years, there has been a marked increase in the performance and potentiality of G.P.U. The modern G.P.Us is not only a powerful graphics engine but also a deeply parallel programmable processor showing peak arithmetic and memory bandwidth that substantially outpaces its CPU counterpart. The G.P.U's speedy increase in both programmability and capability has spawned a research community that has successfully mapped a broad area of computationally demanding, mixed problems to the G.P.U. This effort in general-purpose computing on the G.P.Us, also known as G.P.U computing, has positioned the G.P.U as a compelling alternative to traditional microprocessors in high-performance computer systems of the future. We illustrate the history, hardware, and programming model for G.P.U computing, abstract the state of the art in tools and techniques, and present 4 G.P.U computing successes in games physics and computational physics that deliver order-of- magnitude performance gains over optimized CPU applications. Index Terms - G.P.U, History of G.P.U, Future of G.P.U, Problems in G.P.U, eG.P.U, Integrated graphics ________________________________________________________________________________________________________ I.
    [Show full text]
  • Dsps: 56800, 320C2xx © 3D Chips 2
    VOLUME 10, NUMBER 3 MARCH 5, 1996 MICROPROCESSOR REPORT THE INSIDERS’ GUIDE TO MICROPROCESSOR HARDWARE Intel’s MMX Speeds Multimedia Instruction-Set Extensions to Aid Audio, Video, and Speech By Linley Gwennap Simple Software Model The mark of a good organization is learning from past mis- The first major extension to the x86 instruction set takes. In designing the MMX software model, Intel took since 1985 will greatly improve the venerable architecture’s pains to avoid creating any new modes or new user state that handling of emerging multimedia applications. Collectively would complicate an already complex architecture. MMX known as MMX, these 57 new instructions accelerate calcu- instructions can be used in any processor mode and at any lations common in audio, 2D and 3D graphics, video, speech privilege level. They generate no new interrupts or excep- synthesis and recognition, and data communications algo- tions. These features eliminate the need for changes in the rithms by as much as 8×. Overall, users will see a 50–100% operating system to allow use of the new instructions. performance improvement or more on these types of pro- From the programmer’s view, there are eight new grams when using MMX instructions, as Figure 1 shows. MMX registers (MM0–MM7) along with new instructions that Intel plans to implement MMX throughout its product operate on these registers. But to avoid adding new state, line in 1997. The first instantiation of MMX will be the these registers are mapped onto the existing floating-point P55C, a Pentium derivative due in 4Q96. MMX will also be registers (FP0–FP7).
    [Show full text]
  • Linux Hardware Compatibility HOWTO
    Linux Hardware Compatibility HOWTO Steven Pritchard Southern Illinois Linux Users Group / K&S Pritchard Enterprises, Inc. <[email protected]> 3.2.4 Copyright © 2001−2007 Steven Pritchard Copyright © 1997−1999 Patrick Reijnen 2007−05−22 This document attempts to list most of the hardware known to be either supported or unsupported under Linux. Copyright This HOWTO is free documentation; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free software Foundation; either version 2 of the license, or (at your option) any later version. Linux Hardware Compatibility HOWTO Table of Contents 1. Introduction.....................................................................................................................................................1 1.1. Notes on binary−only drivers...........................................................................................................1 1.2. Notes on proprietary drivers.............................................................................................................1 1.3. System architectures.........................................................................................................................1 1.4. Related sources of information.........................................................................................................2 1.5. Known problems with this document...............................................................................................2 1.6. New versions of this document.........................................................................................................2
    [Show full text]