[Mesa-dev] [PATCH] scons: Remove gles option.

Dylan Baker dylan at pnwbakers.com
Mon Oct 22 14:45:09 UTC 2018


Okay, I'll just leave it as "auto-off" on windows for now, with the toggle to
explicitly turn it on if someone has a use case for that.

Thanks,
Dylan

Quoting Jose Fonseca (2018-10-19 14:44:49)
> > Jose, does it make more sense to just make gles on windows an error in meson?
> 
> 
> I don't mind if there are options for other things, but the default for the
> unsuspicious user should be to create a single self-contained opengl32.dll, as
> that is what's generally most useful (it can be used with unmodified windows
> applications by putting on the same dir.)
> 
> 
> Jose
> 
> 
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> From: Dylan Baker <dylan at pnwbakers.com>
> Sent: Friday, October 19, 2018 18:04
> To: mesa-dev at lists.freedesktop.org; Brian Paul; Jose Fonseca; Liviu Prodea;
> Roland Scheidegger
> Subject: Re: [Mesa-dev] [PATCH] scons: Remove gles option.
>  
> That's not quite right. GLES needs shared glapi, but shared glapi doesn't need
> gles. meson and autoconf have separate toggles for shared-glapi and gles, they
> both happen to default to "on" currently.
> 
> If you want to uses GLES with mesa on Windows your best bet is probably to use
> ARB_ES<n>_compatibility (replace <n> with 1, 2, 3, 3_1, or 3_2 as needed) from
> a
> GL Core Context like you would using the Nvidia or Intel driver on windows.
> Don't try to go down the EGL on windows madness that the proprietary AMD driver
> requires.
> 
> Meson will likely continue to support shared glapi on windows because every
> other platform that mesa supports needs shared-glapi. I have in my latest spin
> default gles off on windows with meson. Jose, does it make more sense to just
> make gles on windows an error in meson?
> 
> Dylan
> 
> Quoting Liviu Prodea (2018-10-19 08:04:28)
> >
> >
> >
> > I think I found autotools build equivalent for gles=y. It is
> --enable-shared-glapi. And the docs say it is needed to support applications
> that mix OpenGL and OpenGL ES:
> >
> > https://www.mesa3d.org/egl.html
> >
> >
> -------------------------------------------------------------------------------------------------------------------------------------
> >
> >
> > On Friday, October 19, 2018, 4:15:48 PM GMT+3, Brian Paul <brianp at vmware.com>
> wrote:
> >
> >
> >
> >
> >
> > Reviewed-by: Brian Paul <brianp at vmware.com>
> >
> > On 10/19/2018 06:33 AM, Jose Fonseca wrote:
> > > It's broken, and WGL state tracker is always built with GLES support
> > > noawadays.
> > > ---
> > >  common.py                                    | 2 --
> > >  src/SConscript                              | 7 -------
> > >  src/gallium/state_trackers/osmesa/SConscript | 4 +---
> > >  src/gallium/state_trackers/wgl/SConscript    | 4 +---
> > >  src/gallium/targets/libgl-gdi/SConscript    | 6 ------
> > >  src/gallium/targets/libgl-xlib/SConscript    | 6 ------
> > >  src/mapi/glapi/SConscript                    | 6 +-----
> > >  src/mapi/shared-glapi/SConscript            | 9 +--------
> > >  src/mesa/SConscript                          | 4 +---
> > >  src/mesa/drivers/osmesa/SConscript          | 4 +---
> > >  10 files changed, 6 insertions(+), 46 deletions(-)
> > >
> > > diff --git a/common.py b/common.py
> > > index 113fc7f5c12..f4f2bb44c1c 100644
> > > --- a/common.py
> > > +++ b/common.py
> > > @@ -99,8 +99,6 @@ def AddOptions(opts):
> > >                          'enable static code analysis where available',
> 'no'))
> > >      opts.Add(BoolOption('asan', 'enable Address Sanitizer', 'no'))
> > >      opts.Add('toolchain', 'compiler toolchain', default_toolchain)
> > > -    opts.Add(BoolOption('gles', 'EXPERIMENTAL: enable OpenGL ES support',
> > > -                        'no'))
> > >      opts.Add(BoolOption('llvm', 'use LLVM', default_llvm))
> > >      opts.Add(BoolOption('openmp', 'EXPERIMENTAL: compile with openmp
> (swrast)',
> > >                          'no'))
> > > diff --git a/src/SConscript b/src/SConscript
> > > index 95ea061c4bb..54350a9cdcc 100644
> > > --- a/src/SConscript
> > > +++ b/src/SConscript
> > > @@ -42,10 +42,6 @@ env.Append(CPPPATH = ["#" + env['build_dir']])
> > >  if env['platform'] != 'windows':
> > >      SConscript('loader/SConscript')
> > > 
> > > -# When env['gles'] is set, the targets defined in mapi/glapi/SConscript
> are not
> > > -# used.  libgl-xlib and libgl-gdi adapt themselves to use the targets
> defined
> > > -# in mapi/glapi-shared/SConscript.  mesa/SConscript also adapts itself to
> > > -# enable OpenGL ES support.
> > >  SConscript('mapi/glapi/gen/SConscript')
> > >  SConscript('mapi/glapi/SConscript')
> > > 
> > > @@ -61,8 +57,5 @@ if not env['embedded']:
> > >      if env['platform'] == 'haiku':
> > >          SConscript('egl/SConscript')
> > > 
> > > -    if env['gles']:
> > > -        SConscript('mapi/shared-glapi/SConscript')
> > > -
> > >  SConscript('gallium/SConscript')
> > > 
> > > diff --git a/src/gallium/state_trackers/osmesa/SConscript b/src/gallium/
> state_trackers/osmesa/SConscript
> > > index f5519f13762..be67d0fe739 100644
> > > --- a/src/gallium/state_trackers/osmesa/SConscript
> > > +++ b/src/gallium/state_trackers/osmesa/SConscript
> > > @@ -14,10 +14,8 @@ if env['platform'] == 'windows':
> > >      env.AppendUnique(CPPDEFINES = [
> > >          'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa
> headers
> > >          'WIN32_LEAN_AND_MEAN', # http://msdn2.microsoft.com/en-us/library/
> 6dwk3a1z.aspx
> > > +        '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared
> __declspec(dllimport)
> > >      ])
> > > -    if not env['gles']:
> > > -        # prevent _glapi_* from being declared __declspec(dllimport)
> > > -        env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
> > > 
> > >  st_osmesa = env.ConvenienceLibrary(
> > >      target ='st_osmesa',
> > > diff --git a/src/gallium/state_trackers/wgl/SConscript b/src/gallium/
> state_trackers/wgl/SConscript
> > > index a7fbb07a89a..bbf5ebd9764 100644
> > > --- a/src/gallium/state_trackers/wgl/SConscript
> > > +++ b/src/gallium/state_trackers/wgl/SConscript
> > > @@ -14,10 +14,8 @@ env.AppendUnique(CPPDEFINES = [
> > >      '_GDI32_', # prevent wgl* being declared __declspec(dllimport)
> > >      'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa headers
> > >      'WIN32_LEAN_AND_MEAN', # http://msdn2.microsoft.com/en-us/library/
> 6dwk3a1z.aspx
> > > +    '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared __declspec
> (dllimport)
> > >  ])
> > > -if not env['gles']:
> > > -    # prevent _glapi_* from being declared __declspec(dllimport)
> > > -    env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
> > > 
> > >  wgl = env.ConvenienceLibrary(
> > >      target ='wgl',
> > > diff --git a/src/gallium/targets/libgl-gdi/SConscript b/src/gallium/targets
> /libgl-gdi/SConscript
> > > index 132cb73358d..94feca24ef3 100644
> > > --- a/src/gallium/targets/libgl-gdi/SConscript
> > > +++ b/src/gallium/targets/libgl-gdi/SConscript
> > > @@ -48,12 +48,6 @@ else:
> > > 
> > >  env['no_import_lib'] = 1
> > > 
> > > -# when GLES is enabled, gl* and _glapi_* belong to bridge_glapi and
> > > -# shared_glapi respectively
> > > -if env['gles']:
> > > -    env.Prepend(LIBPATH = [shared_glapi.dir])
> > > -    glapi = [bridge_glapi, 'libglapi']
> > > -
> > >  opengl32 = env.SharedLibrary(
> > >      target ='opengl32',
> > >      source = sources,
> > > diff --git a/src/gallium/targets/libgl-xlib/SConscript b/src/gallium/
> targets/libgl-xlib/SConscript
> > > index fb7a0ce50e3..b49b4e6fe2a 100644
> > > --- a/src/gallium/targets/libgl-xlib/SConscript
> > > +++ b/src/gallium/targets/libgl-xlib/SConscript
> > > @@ -18,12 +18,6 @@ env.Append(CPPDEFINES = ['USE_XSHM'])
> > >  env.Prepend(LIBS = env['X11_LIBS'])
> > >  env.Prepend(LIBPATH = env['X11_LIBPATH'])
> > > 
> > > -# when GLES is enabled, gl* and _glapi_* belong to bridge_glapi and
> > > -# shared_glapi respectively
> > > -if env['gles']:
> > > -    env.Prepend(LIBPATH = [shared_glapi.dir])
> > > -    glapi = [bridge_glapi, 'glapi']
> > > -
> > >  env.Prepend(LIBS = [
> > >      st_xlib,
> > >      ws_xlib,
> > > diff --git a/src/mapi/glapi/SConscript b/src/mapi/glapi/SConscript
> > > index 08fed6c0d35..118da1d53f7 100644
> > > --- a/src/mapi/glapi/SConscript
> > > +++ b/src/mapi/glapi/SConscript
> > > @@ -19,12 +19,8 @@ if env['platform'] == 'windows':
> > >          '_GDI32_', # prevent gl* being declared __declspec(dllimport) in
> MS headers
> > >          'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa
> headers
> > >          'KHRONOS_DLL_EXPORTS', # declare gl* as __declspec(dllexport) in
> Khronos headers
> > > +        '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared
> __declspec(dllimport)
> > >      ])
> > > -    if env['gles']:
> > > -        env.Append(CPPDEFINES = ['_GLAPI_DLL_EXPORTS'])
> > > -    else:
> > > -        # prevent _glapi_* from being declared __declspec(dllimport)
> > > -        env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
> > > 
> > >  env.Append(CPPPATH = [
> > >      '#/src',
> > > diff --git a/src/mapi/shared-glapi/SConscript b/src/mapi/shared-glapi/
> SConscript
> > > index 5d74bd6813f..060c61dadce 100644
> > > --- a/src/mapi/shared-glapi/SConscript
> > > +++ b/src/mapi/shared-glapi/SConscript
> > > @@ -113,11 +113,4 @@ if env['platform'] == 'windows':
> > >  else:
> > >      shared_glapi = env.FindIxes(shared_glapi, 'SHLIBPREFIX',
> 'SHLIBSUFFIX')
> > > 
> > > -# build glapi bridge as a convenience libarary for libgl-xlib/libgl-gdi
> > > -bridge_glapi_objects = mapi_objects(env, 'glapi', 'bridge')
> > > -bridge_glapi = env.ConvenienceLibrary(
> > > -    target = 'glapi_bridge',
> > > -    source = bridge_glapi_objects,
> > > -)
> > > -
> > > -Export(['shared_glapi', 'bridge_glapi'])
> > > +Export(['shared_glapi'])
> > > diff --git a/src/mesa/SConscript b/src/mesa/SConscript
> > > index 5a21b64f561..eaf23fbae18 100644
> > > --- a/src/mesa/SConscript
> > > +++ b/src/mesa/SConscript
> > > @@ -27,10 +27,8 @@ if env['platform'] == 'windows':
> > >      env.Append(CPPDEFINES = [
> > >          '_GDI32_', # prevent gl* being declared __declspec(dllimport) in
> MS headers
> > >          'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa
> headers
> > > +        '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared
> __declspec(dllimport)
> > >      ])
> > > -    if not env['gles']:
> > > -        # prevent _glapi_* from being declared __declspec(dllimport)
> > > -        env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
> > > 
> > >  # parse Makefile.sources
> > >  source_lists = env.ParseSourceList('Makefile.sources')
> > > diff --git a/src/mesa/drivers/osmesa/SConscript b/src/mesa/drivers/osmesa/
> SConscript
> > > index 064f3da5da9..b08a79eb8a5 100644
> > > --- a/src/mesa/drivers/osmesa/SConscript
> > > +++ b/src/mesa/drivers/osmesa/SConscript
> > > @@ -28,10 +28,8 @@ if env['platform'] == 'windows':
> > >      env.AppendUnique(CPPDEFINES = [
> > >          '_GDI32_', # prevent wgl* being declared __declspec(dllimport)
> > >          'BUILD_GL32', # declare gl* as __declspec(dllexport) in Mesa
> headers
> > > +        '_GLAPI_NO_EXPORTS', # prevent _glapi_* from being declared
> __declspec(dllimport)
> > >      ])
> > > -    if not env['gles']:
> > > -        # prevent _glapi_* from being declared __declspec(dllimport)
> > > -        env.Append(CPPDEFINES = ['_GLAPI_NO_EXPORTS'])
> > > 
> > >      sources += ['osmesa.def']
> > > 
> > >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181022/743a8b6d/attachment.sig>


More information about the mesa-dev mailing list