Vivante Corporation | |
Location City: | Sunnyvale, California |
Location Country: | United States |
Products: | Semiconductor intellectual property |
Parent: | VeriSilicon Holdings Co., Ltd. |
Vivante Corporation was a fabless semiconductor company headquartered in Sunnyvale, California, with an R&D center in Shanghai, China. The company was founded in 2004 as GiQuila and focused on the portable gaming market. The company's first product was a DirectX-compatible graphics processing unit (GPU) capable of playing PC games. In 2007, GiQuila changed its name to Vivante and shifted the direction of the company to the design and licensing of embedded graphics processing unit designs. The company licensed its Mobile Visual Reality to semiconductor solution providers, serving embedded computing markets for mobile gaming, high-definition home entertainment, image processing, and automotive display and entertainment.
Vivante used to be named as a contributor to the HSA (Heterogeneous System Architecture) Foundation.[1]
In 2015, VeriSilicon Holdings Co., Ltd. acquired Vivante Corporation in an all-stock transaction.[2]
After its business pivot, Vivante developed a range of GPU cores that are compliant with the OpenGL ES 1.1 and 2.0 standards as well as the OpenVG standard. Created by VeriSilicon support for the Vulkan API 1.0 and for OpenVX 1.0 is provided for at least 6 major desktop and embedded operating systems.[3]
2D graphics products & Vector GPUs, summarized by the vendor under the term "Composition Processing Cores" (CPC),[4] sometimes mentioned with the feature of single pass composition blending capability of 8 or higher, are the GC300,[5] GC320, GC350[6] and GP355 (OpenVG core[7])with the additional listing of GC200 and GC420.[8] NXP further mentions GC255 in a presentation for their i.MX models.[9] The NXP i.MX8 series will come with 2 units of the GC7000Lite or GC7000 vector processor.[10] For 3D graphics products please see the table below.
Legend for the notes in below listing:
Series | Model | Date | Shader Cores SP/Half (mode) | Silicon area (mm2) | Core Clock Max in MHz | Shader Clock Max in MHz | Fillrate | Bus width (bit) | API (version) | Shader GFLOPS (High=SP / Medium=Half) | Usage | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
M triangles/s | G vertices/s | (GP/s) | (GT/s) | OpenGL ES | OpenVG | OpenCL | OpenGL | Direct3D | ||||||||||
GCNano | GCNano Lite | 1 (VEC-4) | 0.3 @ 28 nm | 100–200@ 28HPM | 100–200@ 28HPM | 40 | 0.1 | 0.2 | N/A | 1.1 | N/A | N/A | N/A | 3.2? | ||||
GCNano | 1 (VEC-4) | 0.5 @ 28 nm | 200 @ 28HPM | 200 @ 28HPM | 40 | 0.1 | 0.2 | 2.0 | 3.2[12] | STM32MP157 | ||||||||
GCNano Ultra (Vega-Lite) | GCNano Ultra | 1 (VEC-4) | 1 @ 28 nm | 400 @ 28HPM | 800 @ 28HPM | 80 | 0.2 | 0.4 | 1.2 optional | 6.4 | NXP i.MX8M Mini | |||||||
GCNano Ultra3 | 1 (VEC-4) | 1.6 @ 28 nm | 400 @ 28HPM | 800 @ 28HPM | 80 | 0.2 | 0.4? | 3.0 | 6.4? | |||||||||
GC200 | GC200 | 0.57 @ 65 nm[13] | 250 @ 65nmLP 375 @ 65nmG+ | 0.375 | 32/16 | Jz4760[14] | ||||||||||||
GC400 | GC400 | 1 (VEC-4) 4 (VEC-1) | 1.4 2 @ 65 nm[15] | 250 @ 65nmLP 375 @ 65nmG+ | 19 | 0.094 | 0.188 | 32/16 | 2.0[16] | 1.1 EP | 11 | 3 | NXP i.MX6 SoloX GC400T | |||||
GC500[17] | 32/16 | PXA920: GC530 | ||||||||||||||||
GC600 | GC600 | 1 (VEC-4) 4 (VEC-1) | 32/16 | 1.2/1.1 | 3.0/2.1 | 11 | CuBox | |||||||||||
GC800 | GC800 | 1 (VEC-4) 4 (VEC-1) | 2.5 3.38 @ 65 nm[18] | 800 @ 28HPM 250 @ 65nmLP 375 @ 65nmG+ | 1000 @ 28HPM | 38 @ 65nmG+ | 0.188 @ 65nmG+ | 0.375 @ 65nmG+ | 32/16 | 3.0[19] | 1.2optional | 3.0/2.1 | 11 | 8 / 16[20] | RK291x, ATM7013, ATM7019 | |||
GC860 | 1 (VEC-4) 4 (VEC-1) | ? @ 65nm[21] | 444 | 35 | 0.3 | 32/16 | 3.0/2.1 | 11 | Jz4770 | |||||||||
GC880 | 1 (VEC-4) 4 (VEC-1) | 35 | 0.1 | 0.266 | 32/16 | 3.0/2.1 | 11 | 3.2[22] | NXP i.MX6 Solo and DualLite | |||||||||
GCx000 | GC1000 (Vega-Lite) | 2 (VEC-4) 8 (VEC-1) | 3.5 4.26 @ 65 nm[23] | 800 @ 28HPM 500 @ 65nmLP 750 @ 65nmG+ | 1000 @ 28HPM | 123 58 @ 65nmG+ | 0.5 0.375 @ 65nmG+ | 0.8 0.75 @ 65nmG+ | 32/16 | 3.0/2.1 | 11 | 16 | ATM7029 GC1000+, | |||||
GC2000 | 4 (VEC-4) 16 (VEC-1) | 6.9 | 800 @ 28HPM | 1000 @ 28HPM | 267 | 1 | 1.6 | 32/16 | 1.2 | 3.0/2.1 | 11 | 32 | NXP i.MX6 Dual and Quad | |||||
GC4000 | 8 (VEC-4) 32 (VEC-1) | 12.4 | 800 @ 28HPM | 1000 @ 28HPM | 267 | 2 | 1.6 | 8 | 3.0/2.1 | 11 | 64 | HiSilicon K3V2 | ||||||
Vega xX | GC3000 (Vega 1X) | 4/8 (VEC-4) 16/32 (VEC-1) | 800 @ 28HPM | 1000 @ 28HPM | 267 | 1 | 1.6 | 8/4 | 3.0/2.1 | 11 | 32 / 64[25] | NXP S32V234[26] | ||||||
GC5000 (Vega 2X) | 8/16 (VEC-4) 32/64 (VEC-1) | 800 @ 28HPM | 1000 @ 28HPM | 267 | 1 | 1.6 | 32/16 | 3.0/2.1 | 11 | 64 / 128 | Marvell PXA1928[27] | |||||||
GC6000 (Vega 4X) GC6400? | 16/32 (VEC-4) 64/128 (VEC-1) | 800 @ 28HPM | 1000 @ 28HPM | 533 | 4 | 3.2 | 32/16 | 3.0/2.1 | 11 | 128 / 256 | ||||||||
GC7000 (Vega 8X) [28] | GC7000 UltraLite GC1500?[29] | 8 Vega | 0.5 | 0.8 | 32/16 | 3.0/2.1 | 11 | 16 / 32 | Marvell PXA1908[30] NXP i.MX8M Nano[31] | |||||||||
GC7000 Lite GC7000L? | 16 Vega | 1 | 1.6 | 32/16 | 3.0/2.1 | 11 | 32 / 64 | Marvel PXA1936 NXP i.MX 8QuadPlus NXP i.MX 8QuadNXP i.MX8M | ||||||||||
GC7000 | 32 Vega | 800 @ 28HPM | 1000 @ 28HPM | 1067 | 2 | 6.4 | 3.2 | 32/16 | 3.0/2.1 | 11 | 64 / 128 | NXP i.MX 8QuadMax | ||||||
GC7200 | 64 Vega | 4 | 6.4 | 32/16 | 3.0/2.1 | 11 | 128 / 256 | |||||||||||
GC7400 | 128 Vega | 8 | 12.8 | 32/16 | 3.0/2.1 | 11 | 256 / 512 | |||||||||||
GC7600 | 256 Vega | 16 | 25.6 | 32/16 | 3.0/2.1 | 11 | 512 / 1024 | |||||||||||
GC8000 | GC8000 | |||||||||||||||||
Series | Model | Date | Shader Cores SP/Half (mode) | Silicon area (mm2) | Core Clock Max in MHz | Shader Clock Max in MHz | Fillrate | Bus width (bit) | API (version) | Shader GFLOPS (High=SP / Medium=Half) | Usage | |||||||
M triangles/s | G vertices/s | (GP/s) | (GT/s) | OpenGL ES | OpenVG | OpenCL | OpenGL | Direct3D |
They have announced that as of 2009 they have at least fifteen licensees who have used their GPUs in twenty embedded designs.[32] Application processors using Vivante GPU technology:
After Vivante was sold to VeriSilicon the Arcturus GC8000 series was released by VeriSilicon, which supports newer technologies such as OpenCL 3.0, OpenVX 1.2, OpenVG 1.1, OpenGL ES 3.2, OpenGL 4.0 and Vulkan 1.1.[39]
See main article: article. There are no plans on writing a new DRM/KMS driver kernel driver for the Vivante hardware, since Vivante previously put out their Linux kernel component under the GNU General Public License (GPL), instead of maintaining it as a proprietary blob. The free Gallium3D-style device driver etna_viv
has surpassed Vivante's own proprietary user-space driver in some benchmarks.[40] It supports Vivante's product line of GC400 Series, GC800 Series, GC1000 Series, GC2000 Series, GC3000 Series, GC4000 Series, and GC7000lite.[41]