Hi Dave, It is not really true to say that the code is duplicated. Beignet maps OpenCL into GPGPU pipeline of IvyBridge+ hardware. So this is real GPGPU other than mimic GPGPU with 3D functions. GPGPU different with 3D pipeline a lot on IvyBridge+. Both the pipeline setting and run time are totally different than that in 3D driver. The GPU thread spawn model, thread communication model, memory model are also totally different. Also the binary representation is different. Ben choose LLVM scalar IR for many reasons(you can find the decision make reason in the document), that means IR backend are different. For GPGPU programming, I don't see a lot benefit to introduce state tracker. There is not so many states to track. The project is already a functional OpenCL implementation on IvyBridge at this point. 1. Most of the language features are supported. 2. Most of built-in functions are supported. 3. Global, Local memory, thread barriers are supported. 3. OpenGL to OpenCL texture sharing are supported. We have already implement something like CSS filters with this driver, and we see performance gain than OpenGL filters. Thanks Zou Nanhai -----Original Message----- From: Dave Airlie [mailto:airlied at gmail.com] Sent: Tuesday, April 16, 2013 4:58 AM To: Zou, Nanhai Cc: intel-gfx at lists.freedesktop.org Subject: Re: FW: Release Notes for Beignet Version 0.1 Why does this exist anymore? Seriously this project is duplicating functionality we already have implemented in Mesa/Gallium projects. Its also duplicating code in the Mesa Intel driver I assume. So why not just write a gallium ivybridge compute only driver? that uses the current open source infrastructure. If Intel are insisting on Beignet, I'd rather it was removed from freedesktop.org and maybe moved to 01.org so people understand its an Intel only development project. Dave.