The R200 is the second generation of GPUs used in Radeon graphics cards and developed by ATI Technologies. This GPU features 3D acceleration based upon Microsoft Direct3D 8.1 and OpenGL 1.3, a major improvement in features and performance compared to the preceding Radeon R100 design. The GPU also includes 2D GUI acceleration, video acceleration, and multiple display outputs. "R200" refers to the development codename of the initially released GPU of the generation. It is the basis for a variety of other succeeding products. Architecture R200's 3D hardware consists of 4 pixel pipelines, each with 2 texture sampling units. It has 2 vertex shader units and a legacy Direct3D 7 TCL unit, marketed as Charisma Engine II. It is ATI's first GPU with programmable pixel and vertex processors, called Pixel Tapestry II and compliant with Direct3D 8.1. R200 has advanced memory bandwidth saving and overdraw reduction hardware called HyperZ II that consists of occlusion culling (hierarchical Z), fast z-buffer clear, and z-buffer compression. The GPU is capable of dual display output (HydraVision) and is equipped with a video decoding engine (Video Immersion II) with adaptive hardware deinterlacing, temporal filtering, motion compensation, and iDCT. R200 introduced pixel shader version 1.4 (PS1.4), a significant enhancement to prior PS1.x specifications. Notable instructions include "phase", "texcrd", and "texld". The phase instruction allows a shader program to operate on two separate "phases" (2 passes through the hardware), effectively doubling the maximum number of texture addressing and arithmetic instructions, and potentially allowing the number of passes required for an effect to be reduced. This allows not only more complicated effects, but can also provide a speed boost by utilizing the hardware more efficiently. The "texcrd" instruction moves the texture coordinate values of a texture into the destination register, while the "texld" instruction will load the texture at the coordinates specified in the source register to the destination register. Compared to R100's 2x3 pixel pipeline architecture, R200's 4x2 design is more robust despite losing one texture unit per pipeline. Each pipeline can now address a total of 6 texture layers per pass. The chip achieves this by using a method known as 'loop-back'. Increasing the number of textures accessed per pass reduces the number of times the card is forced into multi-pass rendering. The texture filtering capabilities of R200 are also improved over its predecessor. For anisotropic filtering, Radeon 8500 uses a technique similar to that used in