Re: [Mesa-dev] RFC: Prune stale components

2015-03-14 Thread Emil Velikov
On 3 March 2015 at 12:15, Jose Fonseca jfons...@vmware.com wrote:
 On 03/03/15 11:59, Emil Velikov wrote:

 On 3 March 2015 at 09:36, Jose Fonseca jfons...@vmware.com wrote:

 On 28/02/15 00:24, Rob Clark wrote:


 On Fri, Feb 27, 2015 at 5:05 PM, Emil Velikov emil.l.veli...@gmail.com
 wrote:


 - src/gallium/drivers/rbug: -- do people use it? does it work?  it
 predates apitrace GL + GUI, which sort of enables a lot of the same
 things, but without the issue of having to hit moving target, which is
 what gallium interfaces are


 So it looks from the replies that rbug and rbug-gui is still useful.

 If we're going to keep this should we move the rbug-gui tool within the
 mesa tree ? It would be nice to spare some of the sigh... it does not
 build and let you guys just use it.




 +1


 It sounds a good idea FWIW.  I believe that rbug-gui depends on the
 gallium
 interface, and we don't maintain backwards compatibility, so moving it
 rbug-gui into somewhere like src/gallium/tools/ and have it built by
 default
 should enable to keep it in sync more easily.

 Indeed that was the reason I brought it up.

 That said, integrating rbug-gui into Mesa tree is beyond my immediate
 goals/needs.  So I'll let those who do use rbug + rbug-gui to take that
 task
 on.

 Ouch... did not mean to come across as you should do it or anything
 along those lines.


 No prob.  I just want to make sure that, by agreeing, I wasn't volunteering
 :)

 I'll need to read up a bit on how to preserve the
 history, but it's already on my list :-)


 I tried to do that sort of git-history-rewriting/spliting acrobatics in
 the past. And I have mixed feelings from my experience: being able to do
 `git blame` on the new tree is indeed nice, but it's hard to get the history
 right, in particular it's pretty hard to ensure that things build at
 arbitrary commits, which can create troubles when bisecting (particularly
 because there is no option for git bisect --ignore-changes-in-this-path
 src/gallium/tools/rbug-gui...)

 The alternative would be to make http://cgit.freedesktop.org/mesa/rbug-gui/
 read-only, or just slap a big notice in description/read-me saying this
 code is unmaintained and moved to XYZ, import rbug-gui as a single commit,
 and mention which rbu-gui commit this was taken from in the mesa commit
 message.

As a learning exercise I've went ahead with the git filter-branch acrobatics.
Afaict things should be perfectly bisect-able as I've intentionally
removed the history of configure.ac and Makefile.in.

The whole thing seems to build like a charm, but I cannot get it
running (something funny is happening between GTK and QT). Can someone
give it a try ?

The series can be found in branch rbug-gui-import at
https://github.com/evelikov/Mesa/.
Should I spam the list with the three patches first one of which adds
4000 lines of code ?

Cheers,
Emil
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-04 Thread Jose Fonseca

On 04/03/15 00:24, Emil Velikov wrote:

On 03/03/15 22:04, Jose Fonseca wrote:

On 03/03/15 18:39, Emil Velikov wrote:

On 3 March 2015 at 17:16, Jose Fonseca jfons...@vmware.com wrote:
...


I've prototyped this in


https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_-7Ejrfonseca_mesa_log_-3Fh-3Dremove-2Dst-2Degld=AwIBaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzEm=DBmTkQmzY89vDw_KLOol0FBhKxmBTyqNfsx_ly5H-ZUs=zhIQc271rsRkCQHGsaFYKm3SFwRTGWAib63t3Fjdhyoe=


The changes are massive, so I'm not sure it's even worth spamming the
list
with them.

Could you please give a look and let me know if there are any concerns?


I've spotted a few trivial bits:

   - windows/gdi: Remove.
Drop drivers/windows from src/mesa/Makefile.am:EXTRA_DIST
The driver had interesting api/wrapper similar to osmesa. Did not know
that :-)

-  st/egl: Remove.
Update the src/egl/main/Sconscript to create a SharedLibrary, add
versioning, create symlink - copy the bits from egl-static.



Drop st/egl and targets/egl-static from
src/gallium/Makefile.am:EXTRA_DIST



Remove the _EGL_BUILT_IN_DRIVER_GALLIUM define from
src/egl/main/Android.mk.
   - st/vega: Remove.
A few openvg references left - one in configure.ac another one in
docs/contents.html


Thanks. I pushed a new version of the branch with all issues fixed.


I'm guessing you made a typo in src/egl/main/SConscript

+egl = env.InstallSharedLibrary(egl, version=(1, 0, 0))

Shouldn't the version be 1.4 ?


No, it wasn't a typo.  It matches what autotools does now.

I can't say which is more correct 1.0 or 1.4, but it doesn't make sense 
for SCons to do something different than autotools for the exact same code.









The only snafu is Android.mk -- it will be broken with gallium
drivers until
somebody familiar with that infrastructure updates it to use
egl_dri2. But
it should build fine without gallium drivers.


The Android build is mostly limping around mesa 10.4. I've pinged the
Android-x86 guys, but but might get to it soon(ish). Don't worry too
much about it.

I'm guessing that the scons and automake build do not point out
anything unusual ?


Right. automake, scons/linux and scons/windows all build happily. Of
course, automake has many options, and I only tested one (with dri and
gallium sw rasterizers).


These components are rather nicely isolated, so it should not matter
that much.

I'm suspecting that scons does not link against all libs for libEGL.


ldd -r build/linux-x86_64-debug/egl/main/libEGL.so is clean.


Adding -Wl,--no-undefined/-Wl,-z,defs to SHLINKFLAGS should clear it up,
yet feel free to do it as a follow up. I would highly recommend adding
it (-Wl...) for every SharedLibrary in scons. Using the version scripts
like autotools, to restrict the exported symbols, will be great.


I'll see what can be done.

Unfortunately (at least in the past) we used to have .so depending on 
symbols from the .so/executable that dlopened it (ie, cyclic 
dependencies), so doing this universally woulddn't be possible. Not sure 
if that's still the case.



With the versioning question addressed, feel free to add
Reviewed-by: Emil Velikov emil.l.veli...@gmail.com


Thanks for the reviews.


Please drop a couple of lines in the release notes, when you're finished
removing all the old/unused bits.


Sure.


-Emil

P.S. Strange. After spending so much time fixing the builds, it feels so
nice as various chunks of it end up removed :-P


Yeah. I feel the same, even with code I wrote myself. Maintaining code 
takes a toll in time and energy (all those worries about things one 
should have done but never had the time). So removing code (or 
abandoning projects) is effectively taking a weight from ones 
conscience. And enables one to use that time/energy for better things.

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-04 Thread Emil Velikov
On 4 March 2015 at 08:31, Jose Fonseca jfons...@vmware.com wrote:
 On 04/03/15 00:24, Emil Velikov wrote:

 On 03/03/15 22:04, Jose Fonseca wrote:

 On 03/03/15 18:39, Emil Velikov wrote:

 On 3 March 2015 at 17:16, Jose Fonseca jfons...@vmware.com wrote:
 ...


 I've prototyped this in



 https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_-7Ejrfonseca_mesa_log_-3Fh-3Dremove-2Dst-2Degld=AwIBaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzEm=DBmTkQmzY89vDw_KLOol0FBhKxmBTyqNfsx_ly5H-ZUs=zhIQc271rsRkCQHGsaFYKm3SFwRTGWAib63t3Fjdhyoe=


 The changes are massive, so I'm not sure it's even worth spamming the
 list
 with them.

 Could you please give a look and let me know if there are any concerns?

 I've spotted a few trivial bits:

- windows/gdi: Remove.
 Drop drivers/windows from src/mesa/Makefile.am:EXTRA_DIST
 The driver had interesting api/wrapper similar to osmesa. Did not know
 that :-)

 -  st/egl: Remove.
 Update the src/egl/main/Sconscript to create a SharedLibrary, add
 versioning, create symlink - copy the bits from egl-static.


 Drop st/egl and targets/egl-static from
 src/gallium/Makefile.am:EXTRA_DIST


 Remove the _EGL_BUILT_IN_DRIVER_GALLIUM define from
 src/egl/main/Android.mk.
- st/vega: Remove.
 A few openvg references left - one in configure.ac another one in
 docs/contents.html


 Thanks. I pushed a new version of the branch with all issues fixed.

 I'm guessing you made a typo in src/egl/main/SConscript

 +egl = env.InstallSharedLibrary(egl, version=(1, 0, 0))

 Shouldn't the version be 1.4 ?


 No, it wasn't a typo.  It matches what autotools does now.

 I can't say which is more correct 1.0 or 1.4, but it doesn't make sense for
 SCons to do something different than autotools for the exact same code.

Nicely spotted. I've naively assumed that we had 1.4 for Autotools.




 The only snafu is Android.mk -- it will be broken with gallium
 drivers until
 somebody familiar with that infrastructure updates it to use
 egl_dri2. But
 it should build fine without gallium drivers.

 The Android build is mostly limping around mesa 10.4. I've pinged the
 Android-x86 guys, but but might get to it soon(ish). Don't worry too
 much about it.

 I'm guessing that the scons and automake build do not point out
 anything unusual ?


 Right. automake, scons/linux and scons/windows all build happily. Of
 course, automake has many options, and I only tested one (with dri and
 gallium sw rasterizers).

 These components are rather nicely isolated, so it should not matter
 that much.

 I'm suspecting that scons does not link against all libs for libEGL.


 ldd -r build/linux-x86_64-debug/egl/main/libEGL.so is clean.

 Adding -Wl,--no-undefined/-Wl,-z,defs to SHLINKFLAGS should clear it up,
 yet feel free to do it as a follow up. I would highly recommend adding
 it (-Wl...) for every SharedLibrary in scons. Using the version scripts
 like autotools, to restrict the exported symbols, will be great.


 I'll see what can be done.

 Unfortunately (at least in the past) we used to have .so depending on
 symbols from the .so/executable that dlopened it (ie, cyclic dependencies),
 so doing this universally woulddn't be possible. Not sure if that's still
 the case.

The only such case in current mesa ought to be the dri modules
(LoadableModule) - both gallium and classic ones. That is for the
Autotools build, cannot say anything for scons.

Thanks again for clearing these up.
-Emil
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Jose Fonseca

On 28/02/15 00:24, Rob Clark wrote:

On Fri, Feb 27, 2015 at 5:05 PM, Emil Velikov emil.l.veli...@gmail.com wrote:

- src/gallium/drivers/rbug: -- do people use it? does it work?  it
predates apitrace GL + GUI, which sort of enables a lot of the same
things, but without the issue of having to hit moving target, which is
what gallium interfaces are



So it looks from the replies that rbug and rbug-gui is still useful.


If we're going to keep this should we move the rbug-gui tool within the
mesa tree ? It would be nice to spare some of the sigh... it does not
build and let you guys just use it.



+1



It sounds a good idea FWIW.  I believe that rbug-gui depends on the 
gallium interface, and we don't maintain backwards compatibility, so 
moving it rbug-gui into somewhere like src/gallium/tools/ and have it 
built by default should enable to keep it in sync more easily.


That said, integrating rbug-gui into Mesa tree is beyond my immediate 
goals/needs.  So I'll let those who do use rbug + rbug-gui to take that 
task on.



Jose
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Jose Fonseca

On 27/02/15 15:16, Jose Fonseca wrote:

As we're gaining momentum cleanup Mesa code, I think it would help if we
also removed some stale components.

What do people feel about removing:

- src/mesa/drivers/windows/gdi -- the old SW rasterizer for Windows -- I
haven't used in a very long time, and given that the old SW rasterizer
is so far behind compared gallium based softpipe/llvmpipe rasterizers,
it's hard to imagine this will ever be useful again

- src/gallium/drivers/rbug: -- do people use it? does it work?  it
predates apitrace GL + GUI, which sort of enables a lot of the same
things, but without the issue of having to hit moving target, which is
what gallium interfaces are

- src/gallium/state_trackers/vega/,src/mapi/vgapi/ -- OpenVG API seems
to have dwindled away. I recall Zack himself saying that much. The code
would still be interesting if we wanted to implement NV_path_rendering
[1], but given the trend of the next gen graphics APIs, it seems
unlikely that this becomes ARB or core.

- src/gallium/state_trackers/egl/ -- yeah, I know I was against it, but
since then I discovered WGL/GLX_EXT_create_context_es_profile, and the
odds of us (VMware) needing this again are dimmer than last time, so I
have to admit it does seem unlikely we or anybody will need it again,
and we can always revert it from history..


Anything else?


Thanks for all the replies.  So in summary, I'll post patches to remove:

- src/mesa/drivers/windows/gdi

- src/gallium/state_trackers/vega/,src/mapi/vgapi/

- src/gallium/state_trackers/egl/ plus whatever modules get orphaned as 
result of that



I'll try to do one component at a time (in case we want to revert), but 
if keeping things in a building state ends up being too tricky then I 
might squash them together.



Components that people explicitly showed interest in maintaining 
(therefore left alone) are:


- src/gallium/drivers/rbug/
- src/mesa/drivers/x11/
- src/mesa/drivers/osmesa/


Things that haven't been mentioned but might be considering for a 2nd 
round are:


- src/gallium/drivers/noop

  Do people use it?

- src/gallium/drivers/galahad/

  Again, this also tends to get broken.  Architecturally it's the right 
thing to do, but I ended up giving up on enabling it, as it causes 
crashes.  If nobody uses it, might as well face reality here.



As I said, layered drivers are nice conceptually, but there are serious 
challenges with them in practice:
  - the gallium interface is always changing, so they do get broken 
easily, particularly when they are not frequently used (ie, enabled by 
default)
  - some state trackers have private interfaces with pipe drivers, 
making it impossible to use layered drivers.


In other words, we have to make a good analysis which layered drivers 
are or not worth maintaining, and make a effort to keep those that are 
deem to be useful in running condition.  Because keeping them around 
half-heartedly is the worse outcome: time is spent maintaining them, but 
they are never good enough to be useful/trusted...



Jose
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Jose Fonseca

On 03/03/15 12:31, Jose Fonseca wrote:

On 27/02/15 15:16, Jose Fonseca wrote:

As we're gaining momentum cleanup Mesa code, I think it would help if we
also removed some stale components.

What do people feel about removing:

- src/mesa/drivers/windows/gdi -- the old SW rasterizer for Windows -- I
haven't used in a very long time, and given that the old SW rasterizer
is so far behind compared gallium based softpipe/llvmpipe rasterizers,
it's hard to imagine this will ever be useful again

- src/gallium/drivers/rbug: -- do people use it? does it work?  it
predates apitrace GL + GUI, which sort of enables a lot of the same
things, but without the issue of having to hit moving target, which is
what gallium interfaces are

- src/gallium/state_trackers/vega/,src/mapi/vgapi/ -- OpenVG API seems
to have dwindled away. I recall Zack himself saying that much. The code
would still be interesting if we wanted to implement NV_path_rendering
[1], but given the trend of the next gen graphics APIs, it seems
unlikely that this becomes ARB or core.

- src/gallium/state_trackers/egl/ -- yeah, I know I was against it, but
since then I discovered WGL/GLX_EXT_create_context_es_profile, and the
odds of us (VMware) needing this again are dimmer than last time, so I
have to admit it does seem unlikely we or anybody will need it again,
and we can always revert it from history..


Anything else?


Thanks for all the replies.  So in summary, I'll post patches to remove:

- src/mesa/drivers/windows/gdi

- src/gallium/state_trackers/vega/,src/mapi/vgapi/

- src/gallium/state_trackers/egl/ plus whatever modules get orphaned as
result of that


I've prototyped this in

  http://cgit.freedesktop.org/~jrfonseca/mesa/log/?h=remove-st-egl

The changes are massive, so I'm not sure it's even worth spamming the 
list with them.


Could you please give a look and let me know if there are any concerns?

The only snafu is Android.mk -- it will be broken with gallium drivers 
until somebody familiar with that infrastructure updates it to use 
egl_dri2. But it should build fine without gallium drivers.



Jose
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Emil Velikov
On 3 March 2015 at 17:16, Jose Fonseca jfons...@vmware.com wrote:
...

 I've prototyped this in

   http://cgit.freedesktop.org/~jrfonseca/mesa/log/?h=remove-st-egl

 The changes are massive, so I'm not sure it's even worth spamming the list
 with them.

 Could you please give a look and let me know if there are any concerns?

I've spotted a few trivial bits:

 - windows/gdi: Remove.
Drop drivers/windows from src/mesa/Makefile.am:EXTRA_DIST
The driver had interesting api/wrapper similar to osmesa. Did not know that :-)

-  st/egl: Remove.
Update the src/egl/main/Sconscript to create a SharedLibrary, add
versioning, create symlink - copy the bits from egl-static.
Drop st/egl and targets/egl-static from src/gallium/Makefile.am:EXTRA_DIST
Remove the _EGL_BUILT_IN_DRIVER_GALLIUM define from src/egl/main/Android.mk.

 - st/vega: Remove.
A few openvg references left - one in configure.ac another one in
docs/contents.html


 The only snafu is Android.mk -- it will be broken with gallium drivers until
 somebody familiar with that infrastructure updates it to use egl_dri2. But
 it should build fine without gallium drivers.

The Android build is mostly limping around mesa 10.4. I've pinged the
Android-x86 guys, but but might get to it soon(ish). Don't worry too
much about it.

I'm guessing that the scons and automake build do not point out
anything unusual ?

Thanks Jose.
Emil
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Jose Fonseca

On 03/03/15 18:39, Emil Velikov wrote:

On 3 March 2015 at 17:16, Jose Fonseca jfons...@vmware.com wrote:
...


I've prototyped this in

   
https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_-7Ejrfonseca_mesa_log_-3Fh-3Dremove-2Dst-2Degld=AwIBaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzEm=DBmTkQmzY89vDw_KLOol0FBhKxmBTyqNfsx_ly5H-ZUs=zhIQc271rsRkCQHGsaFYKm3SFwRTGWAib63t3Fjdhyoe=

The changes are massive, so I'm not sure it's even worth spamming the list
with them.

Could you please give a look and let me know if there are any concerns?


I've spotted a few trivial bits:



  - windows/gdi: Remove.
Drop drivers/windows from src/mesa/Makefile.am:EXTRA_DIST
The driver had interesting api/wrapper similar to osmesa. Did not know that :-)

-  st/egl: Remove.
Update the src/egl/main/Sconscript to create a SharedLibrary, add
versioning, create symlink - copy the bits from egl-static.



Drop st/egl and targets/egl-static from src/gallium/Makefile.am:EXTRA_DIST



Remove the _EGL_BUILT_IN_DRIVER_GALLIUM define from src/egl/main/Android.mk.
  - st/vega: Remove.
A few openvg references left - one in configure.ac another one in
docs/contents.html


Thanks. I pushed a new version of the branch with all issues fixed.





The only snafu is Android.mk -- it will be broken with gallium drivers until
somebody familiar with that infrastructure updates it to use egl_dri2. But
it should build fine without gallium drivers.


The Android build is mostly limping around mesa 10.4. I've pinged the
Android-x86 guys, but but might get to it soon(ish). Don't worry too
much about it.

I'm guessing that the scons and automake build do not point out
anything unusual ?


Right. automake, scons/linux and scons/windows all build happily. Of 
course, automake has many options, and I only tested one (with dri and 
gallium sw rasterizers).


Jose
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Emil Velikov
On 03/03/15 22:04, Jose Fonseca wrote:
 On 03/03/15 18:39, Emil Velikov wrote:
 On 3 March 2015 at 17:16, Jose Fonseca jfons...@vmware.com wrote:
 ...

 I've prototyped this in

   
 https://urldefense.proofpoint.com/v2/url?u=http-3A__cgit.freedesktop.org_-7Ejrfonseca_mesa_log_-3Fh-3Dremove-2Dst-2Degld=AwIBaQc=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEsr=zfmBZnnVGHeYde45pMKNnVyzeaZbdIqVLprmZCM2zzEm=DBmTkQmzY89vDw_KLOol0FBhKxmBTyqNfsx_ly5H-ZUs=zhIQc271rsRkCQHGsaFYKm3SFwRTGWAib63t3Fjdhyoe=


 The changes are massive, so I'm not sure it's even worth spamming the
 list
 with them.

 Could you please give a look and let me know if there are any concerns?

 I've spotted a few trivial bits:

   - windows/gdi: Remove.
 Drop drivers/windows from src/mesa/Makefile.am:EXTRA_DIST
 The driver had interesting api/wrapper similar to osmesa. Did not know
 that :-)

 -  st/egl: Remove.
 Update the src/egl/main/Sconscript to create a SharedLibrary, add
 versioning, create symlink - copy the bits from egl-static.
 
 Drop st/egl and targets/egl-static from
 src/gallium/Makefile.am:EXTRA_DIST
 
 Remove the _EGL_BUILT_IN_DRIVER_GALLIUM define from
 src/egl/main/Android.mk.
   - st/vega: Remove.
 A few openvg references left - one in configure.ac another one in
 docs/contents.html
 
 Thanks. I pushed a new version of the branch with all issues fixed.
 
I'm guessing you made a typo in src/egl/main/SConscript

+egl = env.InstallSharedLibrary(egl, version=(1, 0, 0))

Shouldn't the version be 1.4 ?

 

 The only snafu is Android.mk -- it will be broken with gallium
 drivers until
 somebody familiar with that infrastructure updates it to use
 egl_dri2. But
 it should build fine without gallium drivers.

 The Android build is mostly limping around mesa 10.4. I've pinged the
 Android-x86 guys, but but might get to it soon(ish). Don't worry too
 much about it.

 I'm guessing that the scons and automake build do not point out
 anything unusual ?
 
 Right. automake, scons/linux and scons/windows all build happily. Of
 course, automake has many options, and I only tested one (with dri and
 gallium sw rasterizers).
 
These components are rather nicely isolated, so it should not matter
that much.

I'm suspecting that scons does not link against all libs for libEGL.
Adding -Wl,--no-undefined/-Wl,-z,defs to SHLINKFLAGS should clear it up,
yet feel free to do it as a follow up. I would highly recommend adding
it (-Wl...) for every SharedLibrary in scons. Using the version scripts
like autotools, to restrict the exported symbols, will be great.

With the versioning question addressed, feel free to add
Reviewed-by: Emil Velikov emil.l.veli...@gmail.com

Please drop a couple of lines in the release notes, when you're finished
removing all the old/unused bits.


-Emil

P.S. Strange. After spending so much time fixing the builds, it feels so
nice as various chunks of it end up removed :-P

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Jose Fonseca

On 03/03/15 11:59, Emil Velikov wrote:

On 3 March 2015 at 09:36, Jose Fonseca jfons...@vmware.com wrote:

On 28/02/15 00:24, Rob Clark wrote:


On Fri, Feb 27, 2015 at 5:05 PM, Emil Velikov emil.l.veli...@gmail.com
wrote:


- src/gallium/drivers/rbug: -- do people use it? does it work?  it
predates apitrace GL + GUI, which sort of enables a lot of the same
things, but without the issue of having to hit moving target, which is
what gallium interfaces are



So it looks from the replies that rbug and rbug-gui is still useful.


If we're going to keep this should we move the rbug-gui tool within the
mesa tree ? It would be nice to spare some of the sigh... it does not
build and let you guys just use it.




+1



It sounds a good idea FWIW.  I believe that rbug-gui depends on the gallium
interface, and we don't maintain backwards compatibility, so moving it
rbug-gui into somewhere like src/gallium/tools/ and have it built by default
should enable to keep it in sync more easily.


Indeed that was the reason I brought it up.


That said, integrating rbug-gui into Mesa tree is beyond my immediate
goals/needs.  So I'll let those who do use rbug + rbug-gui to take that task
on.


Ouch... did not mean to come across as you should do it or anything
along those lines.


No prob.  I just want to make sure that, by agreeing, I wasn't 
volunteering :)



I'll need to read up a bit on how to preserve the
history, but it's already on my list :-)


I tried to do that sort of git-history-rewriting/spliting acrobatics 
in the past. And I have mixed feelings from my experience: being able to 
do `git blame` on the new tree is indeed nice, but it's hard to get the 
history right, in particular it's pretty hard to ensure that things 
build at arbitrary commits, which can create troubles when bisecting 
(particularly because there is no option for git bisect 
--ignore-changes-in-this-path src/gallium/tools/rbug-gui...)


The alternative would be to make 
http://cgit.freedesktop.org/mesa/rbug-gui/ read-only, or just slap a big 
notice in description/read-me saying this code is unmaintained and 
moved to XYZ, import rbug-gui as a single commit, and mention which 
rbu-gui commit this was taken from in the mesa commit message.


Jose

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Emil Velikov
On 3 March 2015 at 09:36, Jose Fonseca jfons...@vmware.com wrote:
 On 28/02/15 00:24, Rob Clark wrote:

 On Fri, Feb 27, 2015 at 5:05 PM, Emil Velikov emil.l.veli...@gmail.com
 wrote:

 - src/gallium/drivers/rbug: -- do people use it? does it work?  it
 predates apitrace GL + GUI, which sort of enables a lot of the same
 things, but without the issue of having to hit moving target, which is
 what gallium interfaces are


 So it looks from the replies that rbug and rbug-gui is still useful.

 If we're going to keep this should we move the rbug-gui tool within the
 mesa tree ? It would be nice to spare some of the sigh... it does not
 build and let you guys just use it.



 +1


 It sounds a good idea FWIW.  I believe that rbug-gui depends on the gallium
 interface, and we don't maintain backwards compatibility, so moving it
 rbug-gui into somewhere like src/gallium/tools/ and have it built by default
 should enable to keep it in sync more easily.

Indeed that was the reason I brought it up.

 That said, integrating rbug-gui into Mesa tree is beyond my immediate
 goals/needs.  So I'll let those who do use rbug + rbug-gui to take that task
 on.

Ouch... did not mean to come across as you should do it or anything
along those lines. I'll need to read up a bit on how to preserve the
history, but it's already on my list :-)

-Emil
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-03-03 Thread Marek Olšák
Please keep drivers/noop. It's useful sometimes and it's very easy to maintain.

Marek

On Tue, Mar 3, 2015 at 1:31 PM, Jose Fonseca jfons...@vmware.com wrote:
 On 27/02/15 15:16, Jose Fonseca wrote:

 As we're gaining momentum cleanup Mesa code, I think it would help if we
 also removed some stale components.

 What do people feel about removing:

 - src/mesa/drivers/windows/gdi -- the old SW rasterizer for Windows -- I
 haven't used in a very long time, and given that the old SW rasterizer
 is so far behind compared gallium based softpipe/llvmpipe rasterizers,
 it's hard to imagine this will ever be useful again

 - src/gallium/drivers/rbug: -- do people use it? does it work?  it
 predates apitrace GL + GUI, which sort of enables a lot of the same
 things, but without the issue of having to hit moving target, which is
 what gallium interfaces are

 - src/gallium/state_trackers/vega/,src/mapi/vgapi/ -- OpenVG API seems
 to have dwindled away. I recall Zack himself saying that much. The code
 would still be interesting if we wanted to implement NV_path_rendering
 [1], but given the trend of the next gen graphics APIs, it seems
 unlikely that this becomes ARB or core.

 - src/gallium/state_trackers/egl/ -- yeah, I know I was against it, but
 since then I discovered WGL/GLX_EXT_create_context_es_profile, and the
 odds of us (VMware) needing this again are dimmer than last time, so I
 have to admit it does seem unlikely we or anybody will need it again,
 and we can always revert it from history..


 Anything else?


 Thanks for all the replies.  So in summary, I'll post patches to remove:

 - src/mesa/drivers/windows/gdi

 - src/gallium/state_trackers/vega/,src/mapi/vgapi/

 - src/gallium/state_trackers/egl/ plus whatever modules get orphaned as
 result of that


 I'll try to do one component at a time (in case we want to revert), but if
 keeping things in a building state ends up being too tricky then I might
 squash them together.


 Components that people explicitly showed interest in maintaining (therefore
 left alone) are:

 - src/gallium/drivers/rbug/
 - src/mesa/drivers/x11/
 - src/mesa/drivers/osmesa/


 Things that haven't been mentioned but might be considering for a 2nd round
 are:

 - src/gallium/drivers/noop

   Do people use it?

 - src/gallium/drivers/galahad/

   Again, this also tends to get broken.  Architecturally it's the right
 thing to do, but I ended up giving up on enabling it, as it causes crashes.
 If nobody uses it, might as well face reality here.


 As I said, layered drivers are nice conceptually, but there are serious
 challenges with them in practice:
   - the gallium interface is always changing, so they do get broken easily,
 particularly when they are not frequently used (ie, enabled by default)
   - some state trackers have private interfaces with pipe drivers, making it
 impossible to use layered drivers.

 In other words, we have to make a good analysis which layered drivers are or
 not worth maintaining, and make a effort to keep those that are deem to be
 useful in running condition.  Because keeping them around half-heartedly is
 the worse outcome: time is spent maintaining them, but they are never good
 enough to be useful/trusted...


 Jose

 ___
 mesa-dev mailing list
 mesa-dev@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Matt Turner
On Fri, Feb 27, 2015 at 7:16 AM, Jose Fonseca jfons...@vmware.com wrote:
 Anything else?

Are the classic xlib and osmesa drivers useful given that they both
have Gallium alternatives these days?
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Rob Clark
On Fri, Feb 27, 2015 at 10:16 AM, Jose Fonseca jfons...@vmware.com wrote:
 - src/gallium/drivers/rbug: -- do people use it? does it work?  it predates
 apitrace GL + GUI, which sort of enables a lot of the same things, but
 without the issue of having to hit moving target, which is what gallium
 interfaces are

Another vote for keeping rbug..

Maybe some extensions to expose things like tgsi level shaders and
maybe some other gallium level state to apitrace could replace part of
what I use rbug for.  Although the single-stepping is useful too..

BR,
-R
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Brian Paul

On 02/27/2015 10:05 AM, Matt Turner wrote:

On Fri, Feb 27, 2015 at 7:16 AM, Jose Fonseca jfons...@vmware.com wrote:

Anything else?


Are the classic xlib and osmesa drivers useful given that they both
have Gallium alternatives these days?


Yeah, I'd like to keep those.

-Brian

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Ian Romanick
On 02/27/2015 07:16 AM, Jose Fonseca wrote:
 As we're gaining momentum cleanup Mesa code, I think it would help if we
 also removed some stale components.
 
 What do people feel about removing:
 
 - src/mesa/drivers/windows/gdi -- the old SW rasterizer for Windows -- I
 haven't used in a very long time, and given that the old SW rasterizer
 is so far behind compared gallium based softpipe/llvmpipe rasterizers,
 it's hard to imagine this will ever be useful again

I'm in favor.

 - src/gallium/drivers/rbug: -- do people use it? does it work?  it
 predates apitrace GL + GUI, which sort of enables a lot of the same
 things, but without the issue of having to hit moving target, which is
 what gallium interfaces are
 
 - src/gallium/state_trackers/vega/,src/mapi/vgapi/ -- OpenVG API seems
 to have dwindled away. I recall Zack himself saying that much. The code
 would still be interesting if we wanted to implement NV_path_rendering
 [1], but given the trend of the next gen graphics APIs, it seems
 unlikely that this becomes ARB or core.

I'm not a big fan of NV_path_rendering, and it would surprise me greatly
if it ever became a core part of OpenGL... or even an ARB extension.
Either way, if we delete the code, it is still in GIT.

 - src/gallium/state_trackers/egl/ -- yeah, I know I was against it, but
 since then I discovered WGL/GLX_EXT_create_context_es_profile, and the
 odds of us (VMware) needing this again are dimmer than last time, so I
 have to admit it does seem unlikely we or anybody will need it again,
 and we can always revert it from history..
 
 
 Anything else?
 
 
 Jose
 
 
 [1] http://zrusin.blogspot.co.uk/2011/09/nv-path-rendering.html
 ___
 mesa-dev mailing list
 mesa-dev@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/mesa-dev

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Marek Olšák
On Fri, Feb 27, 2015 at 4:16 PM, Jose Fonseca jfons...@vmware.com wrote:
 As we're gaining momentum cleanup Mesa code, I think it would help if we
 also removed some stale components.

 What do people feel about removing:

 - src/mesa/drivers/windows/gdi -- the old SW rasterizer for Windows -- I
 haven't used in a very long time, and given that the old SW rasterizer is so
 far behind compared gallium based softpipe/llvmpipe rasterizers, it's hard
 to imagine this will ever be useful again

 - src/gallium/drivers/rbug: -- do people use it? does it work?  it predates
 apitrace GL + GUI, which sort of enables a lot of the same things, but
 without the issue of having to hit moving target, which is what gallium
 interfaces are

I used it to debug Unigine Sanctuary last year and it helped me track
down a driver bug. It works pretty well.

It has some cool features like being able to watch textures and
renderbuffers as they change in real time.

I guess whoever wants to use it should expect that some functions may
not be implemented.

Marek
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Ilia Mirkin
On Fri, Feb 27, 2015 at 10:16 AM, Jose Fonseca jfons...@vmware.com wrote:
 - src/gallium/drivers/rbug: -- do people use it? does it work?  it predates
 apitrace GL + GUI, which sort of enables a lot of the same things, but
 without the issue of having to hit moving target, which is what gallium
 interfaces are

FWIW I tried to use it when debugging a VDPAU issue, but getting it to
pass through video textures (even without any inspection) proved
harder than (eventually) fixing the driver bug. I think it's
especially useful for situations where apitrace doesn't work, and even
where it does, it can provide visibility into intermediate stages of
rendering. I think it's a useful-enough tool to keep around.

  -ilia
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Brian Paul

On 02/27/2015 08:16 AM, Jose Fonseca wrote:

As we're gaining momentum cleanup Mesa code, I think it would help if we
also removed some stale components.

What do people feel about removing:

- src/mesa/drivers/windows/gdi -- the old SW rasterizer for Windows -- I
haven't used in a very long time, and given that the old SW rasterizer
is so far behind compared gallium based softpipe/llvmpipe rasterizers,
it's hard to imagine this will ever be useful again


Sounds good.



- src/gallium/drivers/rbug: -- do people use it? does it work?  it
predates apitrace GL + GUI, which sort of enables a lot of the same
things, but without the issue of having to hit moving target, which is
what gallium interfaces are


Either way is OK by me.



- src/gallium/state_trackers/vega/,src/mapi/vgapi/ -- OpenVG API seems
to have dwindled away. I recall Zack himself saying that much. The code
would still be interesting if we wanted to implement NV_path_rendering
[1], but given the trend of the next gen graphics APIs, it seems
unlikely that this becomes ARB or core.


If Zack's OK with it, fine by me.  Though it's a little sad it hasn't 
been used more.




- src/gallium/state_trackers/egl/ -- yeah, I know I was against it, but
since then I discovered WGL/GLX_EXT_create_context_es_profile, and the
odds of us (VMware) needing this again are dimmer than last time, so I
have to admit it does seem unlikely we or anybody will need it again,
and we can always revert it from history..


The fact this stuff can be revived from git if actually needed makes it 
a fairly easy decision, I think.


-Brian

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Emil Velikov
On 27/02/15 15:16, Jose Fonseca wrote:
 As we're gaining momentum cleanup Mesa code, I think it would help if we
 also removed some stale components.
 
 What do people feel about removing:
 
 - src/mesa/drivers/windows/gdi -- the old SW rasterizer for Windows -- I
 haven't used in a very long time, and given that the old SW rasterizer
 is so far behind compared gallium based softpipe/llvmpipe rasterizers,
 it's hard to imagine this will ever be useful again
 
 - src/gallium/drivers/rbug: -- do people use it? does it work?  it
 predates apitrace GL + GUI, which sort of enables a lot of the same
 things, but without the issue of having to hit moving target, which is
 what gallium interfaces are
 
If we're going to keep this should we move the rbug-gui tool within the
mesa tree ? It would be nice to spare some of the sigh... it does not
build and let you guys just use it.


 - src/gallium/state_trackers/vega/,src/mapi/vgapi/ -- OpenVG API seems
 to have dwindled away. I recall Zack himself saying that much. The code
 would still be interesting if we wanted to implement NV_path_rendering
 [1], but given the trend of the next gen graphics APIs, it seems
 unlikely that this becomes ARB or core.
 
 - src/gallium/state_trackers/egl/ -- yeah, I know I was against it, but
 since then I discovered WGL/GLX_EXT_create_context_es_profile, and the
 odds of us (VMware) needing this again are dimmer than last time, so I
 have to admit it does seem unlikely we or anybody will need it again,
 and we can always revert it from history..
 
 
 Anything else?
 
Some of the winsys/sw are used by the st/egl alone. Their nukeage will
also allow us to simplify the pipe-loader business, and hide/push some
of the mayhem from the state-trackers into that aux module :)

All that fill follow up afterwords of course.

-Emil

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] RFC: Prune stale components

2015-02-27 Thread Rob Clark
On Fri, Feb 27, 2015 at 5:05 PM, Emil Velikov emil.l.veli...@gmail.com wrote:
 - src/gallium/drivers/rbug: -- do people use it? does it work?  it
 predates apitrace GL + GUI, which sort of enables a lot of the same
 things, but without the issue of having to hit moving target, which is
 what gallium interfaces are

 If we're going to keep this should we move the rbug-gui tool within the
 mesa tree ? It would be nice to spare some of the sigh... it does not
 build and let you guys just use it.


+1
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev