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

Jose Fonseca jfonseca at vmware.com
Fri Oct 19 21:44:49 UTC 2018


 > 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 
<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 
<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 --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20181019/e33393d0/attachment-0001.html>


More information about the mesa-dev mailing list