Intel GMA

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Harumphy (talk | contribs) at 13:11, 10 June 2007. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Jump to navigation Jump to search
GMA X3000 on Intel DG965WHMKR motherboard

The Intel Graphics Media Accelerator, or GMA, is Intel's current line of graphics processors (GPU's) built-in to various motherboard chipsets.

These 'integrated graphics' solutions allow a computer to be built without a separate graphics card, which can lead to dramatically lower overall costs and lower power consumption. They are commonly found on laptop computers and low- and mid-range desktops. They rely on the computer's main memory for storage, which imposes a performance penalty as both the CPU and GPU have to access memory over the same bus.

History

The GMA line of GPUs replaces the earlier “Extreme Graphics”, Intel’s first series of integrated graphics chips, and Intel740 line, which were discrete units in the form of AGP cards.

The original architecture of GMA systems supported only a few functions in hardware, and relied on the host CPU to handle at least some of the graphics pipeline, further decreasing performance. However, with the introduction of Intel’s 4th generation of GMA architecture (GMA X3000) in 2006, many of the functions are now built into the hardware, providing an increase in performance. The 4th generation of GMA combines fixed function capabilities with a threaded array of programmable executions units, providing advantages to both graphics and video performance. Many of the advantages of the new GMA architecture come from the ability to flexibly switch as needed between executing graphics-related tasks or video-related tasks. While GMA performance has been widely criticized in the past as being too slow for computer games, the latest GMA generation should ease many of those concerns for the casual gamer.

Despite similarities, GMA is not based on the PowerVR technology Intel licensed from Imagination Technologies. Intel uses the low-power PowerVR MBX designs in chipsets that support their XScale platform. With the sale of XScale in 2006, it is not clear if Intel will continue to use PowerVR systems with their x86-based XScale replacements.

Hardware: graphics cores

GMA 900

The GMA 900 was the first GMA graphics core produced, and was incorporated in the Intel 910G, 915G, and 915Gx chipsets. Versions of these same chipsets without GMA dropped the "G" from the end of their name. The GMA 900 was basic even by contemporary standards, and lacks support for Hardware Transform and Lighting (T&L), emulating this functionality in software.

The GMA 900 has four pixel pipelines running at a core clock rate of 333 MHz, and a RAMDAC at 400 MHz. This allows it a peak pixel fillrate performance of 1333 MPixel/s. Although this is a reasonable rate, comparable to contemporary mid-range cards, the lack of T&L support means that some games running on the GMA 900 will do so slowly.

The GMA 900 also offered hardware support for MPEG-2 video decoding, color-space conversion and DirectDraw overlay.

GMA 950

The GMA 950 is Intel's second-generation GMA graphics core. It is used on the Intel 940GML, 945G series, 945GT chipsets. Most of the changes relate to video decoding, adding support for VLC, iDCT, hardware motion-compensation, and dual video overlay windows (1 HD + 1 SD). The core clock was bumped slightly to 400 MHz, which increased peak pixel fill rates to 1600 MPixel/s. The 950 can access more video memory than the 900. The 900 only supports up to 128MB (shared), whereas the 950 has up to 224MB (shared). The 950 was created with Microsoft Windows Vista kept in mind and will run the Aero interface[1]. Like the GMA 900, the GMA 950 also lacks Hardware Transform and Lighting technology, which reduces performance and in many instances, compatibility for many 3D graphics applications and games. The 950 will run most older games that do not require a Hardware T&L. The 950 outperforms the GMA 900, but falls behind the ATI Radeon Xpress 200[citation needed]. It is adequate for 2D applications (such as watching movies) and basic 3D applications, but much less suited for high-end gaming.

Some confusion exists between GMA 900 and GMA 950, in stating that they both support the same Vertex Shader version 2.0, while in reality GMA 950 supports version 3.0. This is all applied in the software drivers and is also supported by the fact that GMA 950 nearly doubles the 3D Mark 2005 score achieved by the GMA 900, whereby the GMA 950 was included on the first consumer Intel Chipset to support Dual-Core CPUs.[2]

For Intel GMA Software Development concerns, questions may be made at http://softwareforums.intel.com/ISN/Community/en-US/Forums/ in the Integrated Graphics Software Development Forum.

GMA 3000

The Q965 and Q963 chipsets use GMA 3000. This is a cut-down version of the GMA X3000, as used in the G965 chipset. The 3000 is similar to the GMA 950 in that Vertex Shaders and T&L are run by CPU, and only supporting Pixel Shader 2.0. Hardware video acceleration such as IDCT MPEG-2 acceleration, ProcAmp (video stream independent colour correction), VC-1 decoding are missing, but they could have been implemented in drivers as pixel shader programs. Only Q965 retains dual independent display support.

The 946GZ chipset also includes an IGP likewise dubbed the GMA 3000. Early reports based on engineering samples suggested that 946G is simply a 90nm die shrink of the 945G, and its GMA 3000 is only an overclocked GMA950 to 667 MHz[1]. However, Intel 946GZ datasheet showed it is the same GMA 3000 used in Q963, which has the faster DVO port, and without dual independent display support.

GMA X3000

The GMA X3000 represents a dramatic architectural change from previous GMA iterations. The X3000 adds hardware T&L units, pixel shaders, vertex shaders and WMV9 (VC-1) video acceleration. Intel claims the X3000 is Shader Model 3 compliant, and meets Microsoft's GUI requirements for Vista Aero Premium.

X3000's underlying hardware is organized as an array of programmable (unified) pipelines. Each pipeline can process video, vertex, or texture operations. A central scheduler dynamically dispatches threads to pipeline resources, to maximize rendering throughput (and decrease the impact of individual pipeline stalls.) As each pipeline is fully programmable, in theory X3000 can target either DirectX 9 or DirectX 10, determined by operating system and device driver. This design is consistent with the DirectX 10 generation of video cards from ATI and nVidia, which also utilize unified pipelines.

X3000 is offered in several chipsets, targeting different market segments:

In the top-end G965 the X3000 offers 8 full-featured unified pipelines running at 667 MHz. This is a quite high clock speed compared to most GPUs, which are generally between 400 MHz (low-end) and 650 MHz (high-end). In comparison to fixed function, Intel datasheets indicate 2 pixel pipelines, for total of 1.33Gpixels/s (how the unified shaders are used is unknown at this point). It can also share up to 384MB of RAM with the computer's CPU. Digital Video Out (DVO) port is boosted to 270 Mpixel/s. Dual independent display is supported via device connected to DVO port.

GMA X3100

The GMA X3100 is the mobile version of the GMA X3000 used in the Mobile 965GM chipset.

GMA X3500

GMA X3500 is the name of the version used with the G35 ("Bearlake") chipset.[3]

Table of GMA graphics cores and chipsets

Graphics core GMA 900 GMA 950 GMA 3000 GMA 3100 GMA X3000 GMA X3100 GMA X3500
Chipset 910GL, 915G, 915GL, 915GV 945G, 945GM, 945GZ Q963 Express Q965 Express G31, Q33, Q35 G33 G965 GM965, GL960 G35
Hardware T&L no no no no no no yes yes yes
Clock speed (MHz) 400 400 667 667 667 667 667 500 475
Floating point operations / render target fixed point fixed point 16 and 32 bit floating point 16 and 32 bit floating point
Vertex shader model 2.0 (software) 3.0 (software) 3.0 (software) 3.0 (software) 3.0 (hardware) 4.0 (hardware) 4.0 (hardware)
Pixel shader model 2.0 2.0 2.0 2.0 2.0 2.0 3.0 4.0 4.0
Pipelines 4 4 8 8 ? ? 8 (unified) 8 (unified) 10 (unified?)
Peak memory bandwidth (GB/s) 8.5 10.6 10.6 12.8 12.8 12.8
Max video memory (MB) 224 256 256 256 256 256 384 384 384
OpenGL support 1.4 1.4 + extensions 1.4 + extensions 1.4 + extensions 1.4 + extensions 1.4 + extensions 1.5 1.5 2.0
DirectX API support 9.0 9.0c 9.0c 9.0c 9.0c 9.0c 9.0c 10 10
MPEG-2 Hardware Acceleration MC MC MC MC MC VLD + iDCT + MC VLD + iDCT + MC VLD + iDCT + MC VLD + iDCT + MC
VC-1 Hardware Acceleration No No No No No No MC (for WMV9 only) MC (for WMV9 only) MC + In loop filter

This table is derived from these sources:[4][5][6]

Notes:

Software support

Apple Mac

The GMA 950 is used in all MacBooks (but not MacBook Pros), Intel-based Mac Minis and some low-end models of the iMac, and is therefore supported by Mac OS X.[7]

GNU/Linux

Intel has had a long history of producing or commissioning open source drivers for its graphics chips, with all chipsets dating back to the i810 having open 2D and 3D drivers for Linux. It is the only major graphics hardware vendor to do so: for an analysis by company see Graphics hardware and FOSS.

In August 2006, Intel added support to the open-source X.Org/XFree86 drivers for the latest 965 series that include the GMA (X)3000 core.[8] These drivers were developed for Intel by Tungsten Graphics.[9]

In May 2007, version 2.0 of the driver (xorg-video-intel) was released, which added support for the 965GM chipset. In addition, the 2.0 driver added native video mode programming support for all chipsets from i830 forward. The driver now supports automatic video mode detection and selection, monitor hot plug, dynamic extended and merged desktops and per-monitor screen rotation. These features are built in to the X.Org 7.3 X server release and will eventually be supported across most of the open source X.Org video drivers.[10]

As is common for X.Org drivers on Linux, the license is a combination of GPL (for the Linux kernel parts) and MIT (for all other parts).[11]

intel_hal.so

The driver source contains references to a currently-unavailable binary named "intel_hal.so". It is entirely optional, and the advantages are not clear; ostensibly they are increased performance and/or additional features. References in the open source code indicate that it contains or contained (at least) Macrovision support and some minor, optional 3D optimization routines. Calls to the Macrovision code inside the binary were later removed from the 2D driver.[12][13]

Microsoft Windows

GMA 900

There is a lot of criticism against Intel right now regarding how they refuse to create WDDM drivers to support the Vista Aero, while Intel's website shows that the GMA 900 supports all features required for WDDM.[citation needed] The GMA 900 supported Vista Aero in the beta versions of Windows Vista; moreover, the previous versions of the Windows Vista Upgrade Advisor even stated that the GMA 900 is fully capable of running Vista Aero.[citation needed] In response, Intel contends that certain features Microsoft demands for WDDM/Aero certification (a hardware scheduler) are not present in the GMA900 hardware and therefore they cannot meet Microsoft's WDDM requirements, regardless of how they might want to satisfy customer requests.[14] Vista betas were able to run Aero on the GMA 900 because Microsoft, at that time, allowed XPDM drivers to run Aero-- an allowance which was not carried forward to the released version.

GMA X3000

Note: T&L and Vertex Shaders 3.0 is still not supported by Intel device drivers either in Windows XP or Windows Vista. Intel announced in March 2007 that beta drivers will be available in June 2007.[15] [16] In June, 1st 2007 a "pre-beta" (or Early Beta) release drivers were released for Windows XP (but not for Vista).[17] Intel has released production version drivers for 32-bit and 64-bit Windows Vista that enable the Aero graphics.

Modern Gaming

Because many of the features of these graphics sub-systems rely on software emulation, this can lead to 3D performance issues (slow vertex shaders) and incompatibility with some games. The coming of the GMA X3000 will seek to remedy these problems with full hardware support for modern gaming architecture.

Intel, not oblivious to these problems, has put up a page with 'Known Issues & Solutions':

For Intel GMA Software Development concerns, questions may be made at http://softwareforums.intel.com/ISN/Community/en-US/Forums/ in the Integrated Graphics Software Development Forum.

References

  1. ^ YouTube video of a GMA 950 rig showing Aero
  2. ^ 3DMark comparisons
  3. ^ Lars-Göran Nilsson. "Fudzilla: Intel G35 graphics engine named". Retrieved 2007-05-31.
  4. ^ "Intel® Graphics Media Accelerator 900" (PDF). Retrieved 2007-06-08.
  5. ^ "Intel's Next Generation Integrated Graphics Architecture – Intel® Graphics Media Accelerator X3000 and 3000" (PDF). Retrieved 2007-06-08.
  6. ^ "Intel Graphics - Built for mainstream Desktop and Mobile PC Users" (PDF). Retrieved 2007-06-08.
  7. ^ Apple's MacBook page (scroll down and click "Compare Specs")
  8. ^ Intel Linux graphics web site
  9. ^ Tungsten Graphics web site
  10. ^ Free software drivers for the Intel 965GM Express Chipset
  11. ^ Open Source Graphics Drivers from Intel — Licence
  12. ^ LKML thread about intel_hal.so
  13. ^ X.Org ML thread about intel_hal.so
  14. ^ Intel's response to 915G WDDM requests
  15. ^ Intel G965 drivers Announce
  16. ^ G965 drivers Forum Discussion
  17. ^ Pre-Beta XP Drivers

See also