[Mesa-dev] new i965g pipe driver for Intel GEN6 (and later)
Chia-I Wu
olvaffe at gmail.com
Tue Apr 16 09:45:39 PDT 2013
Hi list,
On Thu, Dec 13, 2012 at 6:41 AM, Chia-I Wu <olvaffe at gmail.com> wrote:
> Hi list,
>
> I've been working on i965g, a new pipe driver for Intel GEN6 (and
> later), for a while now. I would like to know if there is any
> interest in it and if it can be merged upstream. The code is
> currently available here
>
> https://github.com/olvaffe/mesa/tree/i965g
>
> The project was started for my own fun and for self-learning. It was
> later sponsored by LunarG. While it is still new, it does work for
> many of mesa-demos. Right now it passes 6884 of 7547 piglit
> quick-driver.tests. I also tried it with gnome-shell, OpenArena, and
> Nexuiz, and they all seem to work.
>
It has been a while since the announcement. At first, I was waiting for my
account to be re-opened. Then I got an Ivy Bridge laptop and was busy
enabling GEN7 on the driver until now.
I force-updated the branch for the latest code, and cleaned the history up
today. The branch has 24 commits on top of master
Chia-I Wu (24):
winsys/intel: new winsys for intel
i965g: new pipe driver for Intel GEN6+
i965g: add debug flags settable through I965_DEBUG
i965g: hook up pipe_screen param and fence functions
i965g: hook up pipe screen format functions
i965g: hook up pipe screen resource functions
i965g: add command parser
i965g: hook up pipe context flush function
i965g: add functions to manage shaders
i965g: hook up pipe context state functions
i965g: hook up pipe context blit functions
i965g: hook up pipe context transfer functions
i965g: hook up pipe context query functions
i965g: add GEN6 GPE
i965g: add GEN7 GPE
i965g: add 3D pipeline for GEN6
i965g: add GEN7 support for 3D pipeline
i965g: hook up pipe context 3D functions
i965g: add support for time/occlusion/primitive queries
i965g: hook up pipe context video functions
i965g: hook up pipe context GPGPU functions
i965g: add a toy shader compiler
i965g: compile VS/GS/FS with the toy compiler
i965g: add the driver to the build system
If you are interested in the complete history, you can take a look at
i965g-next branch.
Changes since the announcement are:
- GEN7 support (stencil buffer support is still missing)
- fixed tons of bugs, with piglit passing 7999 of 8428 tests
The state of the TGSI->GEN compiler remains the same: messy, missing some
features, and non-optimizing. As my focus is still on features, the
performance should remain about the same. I will see if I can improve the
situations over the next few months.
If there is no objection, I'd like to merge it in a day or two.
> The driver is written from scratch. However, it follows classic i965
> driver for many of the design decisions. It comes with its own toy
> compiler to translate TGSI tokens to GEN instructions. The compiler
> still lacks several functions (register spilling and most TGSI
> indirections), but more importantly, almost no optimization is
> performed. It thus generates much worse code comparing to that
> generated by classic i965.
>
> I rebased the code tonight and cleaned up the history. The branch now
> has 24 new commits on top of master
>
> winsys/intel: new winsys for intel
> i965g: new pipe driver for Intel GEN6+
> i965g: add debug flags settable through I965_DEBUG
> i965g: hook up pipe_screen param and fence functions
> i965g: add functions to translate pipe enums to HW enums
> i965g: hook up pipe screen format functions
> i965g: hook up pipe screen resource functions
> i965g: add command parser
> i965g: hook up pipe context flush function
> i965g: add functions to manage shaders
> i965g: hook up pipe context state functions
> i965g: hook up pipe context blit functions
> i965g: hook up pipe context transfer functions
> i965g: hook up pipe context query functions
> i965g: add GEN6 GPE
> i965g: add GEN6 3D context
> i965g: hook up pipe context 3D functions
> i965g: add support for timer/occlusion/primitive queries
> i965g: hook up pipe context video functions
> i965g: hook up pipe context GPGPU functions
> i965g: add a toy shader compiler
> i965g: compile VS and FS with the toy compiler
> i965g: support the new driver in various targets
> i965g: add to --with-gallium-drivers
>
> It is quite self-contained. If preferred, I can send the patches to the
> list.
>
> Oh, and my account on fdo is disabled because of my own mistake[1]. I
> contacted some of the developers in the thread but did not get any
> response. Could anyone help me with that, or how do I have it
> re-enabled?
>
> [1] http://lists.freedesktop.org/archives/mesa-dev/2012-July/023901.html
>
> --
> olv at LunarG.com
>
--
olv at LunarG.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130417/d572e45c/attachment-0001.html>
More information about the mesa-dev
mailing list