All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] nv30/nv40 Gallium drivers unification
@ 2010-03-13 17:29 Luca Barbieri
       [not found] ` <ff13bc9a1003130929v68107b8fge54fc1a7d7e78f91-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Luca Barbieri @ 2010-03-13 17:29 UTC (permalink / raw)
  To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

Currently the nv30 and nv40 Gallium drivers are very similar, and
contain about 5000 lines of essentially duplicate code.

I prepared a patchset (which can be found at
http://repo.or.cz/w/mesa/mesa-lb.git/shortlog/refs/heads/unification+fixes)
which gradually unifies the drivers, one file per the commit.

A new "nvfx" directory is created, and unified files are put there one by one.
After all patches are applied, the nv30 and nv40 directories are
removed and the only the new nvfx directory remains.

The first patches unify the engine naming (s/curie/eng3d/g;
s/rankine/eng3d), and switch nv40 to use the NV34TCL_ constants.
Initial versions of this work changed renouveau.xml to create a new
"NVFXTCL" object, but the current version doesn't need any
renouveau.xml modification at all.

The "unification+fixes" branch referenced above is the one that should
be tested.
The "unification" branch contains just the unification, with no
behavior changes, while "unification+fixes" also fixes swtnl and quad
rendering, allowing to better test the unification. Some cleanups on
top of the unfication are also included.

That same repository also contains other branches with significant
improvements on top of the unification, but I'm still not proposing
them for inclusion as they need more testing and some fixes.

While there are some branches in the Mesa repository that would
conflict with this, such branches seem to be popping up continuously
(and this is good!), so waiting until they are merged probably won't
really work.

The conflicts are minimal anyway and the driver fixes can be very
easily reconstructed over the unified codebase.

How about merging this?
Any objections? Any comments?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Mesa3d-dev] [PATCH] nv30/nv40 Gallium drivers unification
       [not found] ` <ff13bc9a1003130929v68107b8fge54fc1a7d7e78f91-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-03-13 17:35   ` Keith Whitwell
       [not found]     ` <c524168e1003130935t603b36a7u55fbe4ae96e57358-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2010-03-15  5:22   ` Younes Manton
  1 sibling, 1 reply; 5+ messages in thread
From: Keith Whitwell @ 2010-03-13 17:35 UTC (permalink / raw)
  To: Luca Barbieri
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

Sounds good to me - fewer driver directories to fix up after changes...

Keith

On Sat, Mar 13, 2010 at 5:29 PM, Luca Barbieri <luca-Ukmtq+NC3rhBHFWNQifrYwC/G2K4zDHf@public.gmane.org> wrote:
> Currently the nv30 and nv40 Gallium drivers are very similar, and
> contain about 5000 lines of essentially duplicate code.
>
> I prepared a patchset (which can be found at
> http://repo.or.cz/w/mesa/mesa-lb.git/shortlog/refs/heads/unification+fixes)
> which gradually unifies the drivers, one file per the commit.
>
> A new "nvfx" directory is created, and unified files are put there one by one.
> After all patches are applied, the nv30 and nv40 directories are
> removed and the only the new nvfx directory remains.
>
> The first patches unify the engine naming (s/curie/eng3d/g;
> s/rankine/eng3d), and switch nv40 to use the NV34TCL_ constants.
> Initial versions of this work changed renouveau.xml to create a new
> "NVFXTCL" object, but the current version doesn't need any
> renouveau.xml modification at all.
>
> The "unification+fixes" branch referenced above is the one that should
> be tested.
> The "unification" branch contains just the unification, with no
> behavior changes, while "unification+fixes" also fixes swtnl and quad
> rendering, allowing to better test the unification. Some cleanups on
> top of the unfication are also included.
>
> That same repository also contains other branches with significant
> improvements on top of the unification, but I'm still not proposing
> them for inclusion as they need more testing and some fixes.
>
> While there are some branches in the Mesa repository that would
> conflict with this, such branches seem to be popping up continuously
> (and this is good!), so waiting until they are merged probably won't
> really work.
>
> The conflicts are minimal anyway and the driver fixes can be very
> easily reconstructed over the unified codebase.
>
> How about merging this?
> Any objections? Any comments?
>
> ------------------------------------------------------------------------------
> Download Intel&#174; Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> Mesa3d-dev mailing list
> Mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Mesa3d-dev] [PATCH] nv30/nv40 Gallium drivers unification
       [not found]     ` <c524168e1003130935t603b36a7u55fbe4ae96e57358-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-03-14 23:12       ` Keith Whitwell
       [not found]         ` <c524168e1003141612s3b667cd1s33fcf2c8b588a0f6-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Keith Whitwell @ 2010-03-14 23:12 UTC (permalink / raw)
  To: Luca Barbieri
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Sat, Mar 13, 2010 at 5:35 PM, Keith Whitwell
<keith.whitwell-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> Sounds good to me - fewer driver directories to fix up after changes...
>

It'd be good to get this merged sooner rather than later as I'll soon
be starting on pipe_resources conversion for the nv drivers.  Once I
do that, there will be heaps of conflicts with your patches, but if I
can merge them in before I do the conversion all will be well...

Keith

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Mesa3d-dev] [PATCH] nv30/nv40 Gallium drivers unification
       [not found]         ` <c524168e1003141612s3b667cd1s33fcf2c8b588a0f6-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2010-03-14 23:17           ` Xavier Chantry
  0 siblings, 0 replies; 5+ messages in thread
From: Xavier Chantry @ 2010-03-14 23:17 UTC (permalink / raw)
  To: Keith Whitwell
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Luca Barbieri,
	mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Mon, Mar 15, 2010 at 12:12 AM, Keith Whitwell
<keith.whitwell-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
> On Sat, Mar 13, 2010 at 5:35 PM, Keith Whitwell
> <keith.whitwell-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:
>> Sounds good to me - fewer driver directories to fix up after changes...
>>
>
> It'd be good to get this merged sooner rather than later as I'll soon
> be starting on pipe_resources conversion for the nv drivers.  Once I
> do that, there will be heaps of conflicts with your patches, but if I
> can merge them in before I do the conversion all will be well...
>

I tested unification+fixes branch on nv35 with 11 games that you can
see on that page :
http://nouveau.freedesktop.org/wiki/XavierChantry

No regression to report compared to mesa master.

A benefit worth mentioning is the SWTNL support which allows to run
the 4 games currently broken with mesa master.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] nv30/nv40 Gallium drivers unification
       [not found] ` <ff13bc9a1003130929v68107b8fge54fc1a7d7e78f91-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2010-03-13 17:35   ` [Mesa3d-dev] " Keith Whitwell
@ 2010-03-15  5:22   ` Younes Manton
  1 sibling, 0 replies; 5+ messages in thread
From: Younes Manton @ 2010-03-15  5:22 UTC (permalink / raw)
  To: Luca Barbieri
  Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW,
	mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Sat, Mar 13, 2010 at 1:29 PM, Luca Barbieri <luca-Ukmtq+NC3rhBHFWNQifrYwC/G2K4zDHf@public.gmane.org> wrote:
> Currently the nv30 and nv40 Gallium drivers are very similar, and
> contain about 5000 lines of essentially duplicate code.
>
> I prepared a patchset (which can be found at
> http://repo.or.cz/w/mesa/mesa-lb.git/shortlog/refs/heads/unification+fixes)
> which gradually unifies the drivers, one file per the commit.
>
> A new "nvfx" directory is created, and unified files are put there one by one.
> After all patches are applied, the nv30 and nv40 directories are
> removed and the only the new nvfx directory remains.
>
> The first patches unify the engine naming (s/curie/eng3d/g;
> s/rankine/eng3d), and switch nv40 to use the NV34TCL_ constants.
> Initial versions of this work changed renouveau.xml to create a new
> "NVFXTCL" object, but the current version doesn't need any
> renouveau.xml modification at all.
>
> The "unification+fixes" branch referenced above is the one that should
> be tested.
> The "unification" branch contains just the unification, with no
> behavior changes, while "unification+fixes" also fixes swtnl and quad
> rendering, allowing to better test the unification. Some cleanups on
> top of the unfication are also included.
>
> That same repository also contains other branches with significant
> improvements on top of the unification, but I'm still not proposing
> them for inclusion as they need more testing and some fixes.
>
> While there are some branches in the Mesa repository that would
> conflict with this, such branches seem to be popping up continuously
> (and this is good!), so waiting until they are merged probably won't
> really work.
>
> The conflicts are minimal anyway and the driver fixes can be very
> easily reconstructed over the unified codebase.
>
> How about merging this?
> Any objections? Any comments?

Pushed. Thanks.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2010-03-15  5:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-03-13 17:29 [PATCH] nv30/nv40 Gallium drivers unification Luca Barbieri
     [not found] ` <ff13bc9a1003130929v68107b8fge54fc1a7d7e78f91-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-13 17:35   ` [Mesa3d-dev] " Keith Whitwell
     [not found]     ` <c524168e1003130935t603b36a7u55fbe4ae96e57358-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-14 23:12       ` Keith Whitwell
     [not found]         ` <c524168e1003141612s3b667cd1s33fcf2c8b588a0f6-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-03-14 23:17           ` Xavier Chantry
2010-03-15  5:22   ` Younes Manton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.