1. 08 Mar, 2019 1 commit
  2. 24 Jan, 2019 3 commits
    • Emil Velikov's avatar
      autotools: wire the new generator for es1 and es2 · 65684530
      Emil Velikov authored
      
      
      The output produced functionally identical, with the following changes:
       - A cosmetic: swapped ABI compatible types [ GLclampf -> GLfloat, etc ]
       - B cosmetic: renamed parameters [ zNear -> n, etc ]
       - C dropped extension entrypoints - invalid/incorrect
      
      To make things easier to validate, normalise both old/new headers run
      the sed patterns A, B and C to both sets.
      
      A
            s/\<GLclampf\>/GLfloat/g; s/\<GLclampx\>/GLfixed/g;
            s/\<GLvoid\>/void/g;
      
      B
            s/\ \* / */g; s/\<texture\>/target/g;
            s/\<plane\>/p/g; s/\<depth\>/d/g; s/\<modeAlpha\>/modeA/g;
            s/\<shader\>/program/g; s/\<obj\>/shaders/g; s/\<equation\>/eqn/g;
            s/\<param\>/data/g; s/\<params\>/data/g; s/\<buffers\>/buffer/g;
            s/\<src\>/mode/g; s/\<count\>/n/g; s/\<zNear\>/n/g; s/\<zFar\>/f/g;
            s/\<zfail\>/dpfail/g; s/\<zpass\>/dppass/g; s/\<buf\>/index/g;
            s/\<value\>/target/g; s/\<cap\>/target/g; s/\<maskNumber\>/index/g;
            s/\<srcRGB\>/sfactorRGB/g; s/\<dstRGB\>/dfactorRGB/g;
            s/\<srcAlpha\>/sfactorAlpha/g; s/\<dstAlpha\>/dfactorAlpha/g;
            s/\<primitiveMode\>/mode/g; s/\<primcount\>/instancecount/g;
            s/\<top\>/t/g; s/\<bottom\>/b/g; s/\<left\>/l/g; s/\<right\>/r/g;
            s/\<x\>/v0/g; s/\<y\>/v1/g; s/\<z\>/v2/g; s/\<w\>/v3/g;
            s/\<sfactor\>/mode/g; s/\<dfactor\>/dst/g; s/\<attribindex\>/bindingindex/g;
            s/\<internalFormat\>/internalformat/g; s/\<bufSize\>/bufsize/g;
      
      C
      glMultiDrawArraysEXT
      glMultiDrawElementsEXT
      
      glBindFragDataLocationEXT
      
      glGetTexParameterIivEXT
      glGetTexParameterIuivEXT
      glTexParameterIivEXT
      glTexParameterIuivEXT
      
      v2:
       - gl_dispatch_stub declarations are addressed with previous patch
       - the public_entries table is no longer generated
      Signed-off-by: Emil Velikov's avatarEmil Velikov <emil.velikov@collabora.com>
      Reviewed-by: Erik Faye-Lund's avatarErik Faye-Lund <erik.faye-lund@collabora.com>
      65684530
    • Emil Velikov's avatar
      mapi/new: import mapi scripts from glvnd · 06eb3fe3
      Emil Velikov authored and Emil Velikov's avatar Emil Velikov committed
      
      
      Currently we have over 20 scripts that generate the libGL* dispatch and
      various other functionality. More importantly we're using local XML
      files instead of the Khronos provides one(s). Resulting in an
      increasing complexity of writing, maintaining and bugfixing.
      
      One fairly annoying bug is handling of statically exported symbols.
      Today, if we enable a GL extension for GLES1/2, we add a special tag to
      the xml. Thus the ES dispatch gets generated, but also since we have no
      separate notion of GL/ES1/ES2 static functions it also gets exported
      statically.
      
      This commit adds step one towards clearing and simplifying our setup.
      It imports the mapi generator from GLVND.
      
        012fe39 ("Remove a couple of duplicate typedefs.")
      
      v2: use local genCommon.py
      Signed-off-by: Emil Velikov's avatarEmil Velikov <emil.velikov@collabora.com>
      Reviewed-by: Erik Faye-Lund's avatarErik Faye-Lund <erik.faye-lund@collabora.com>
      06eb3fe3
    • Emil Velikov's avatar
      mapi: move genCommon.py to src/mapi/new · cd0f11ba
      Emil Velikov authored and Emil Velikov's avatar Emil Velikov committed
      
      
      The helper will also be used by the new Khronos gl.xml aware generator.
      
      v2: Move existing one, instead of duplicating it.
      v3: Correct genCommon.py references in meson [Erik]
      v4: Drop the file from the EGL EXTRA_DIST [Erik]
      Suggested-by: Kyle Brenneman's avatarKyle Brenneman <kbrenneman@nvidia.com>
      Signed-off-by: Emil Velikov's avatarEmil Velikov <emil.velikov@collabora.com>
      cd0f11ba
  3. 31 Oct, 2018 1 commit
  4. 24 Aug, 2018 1 commit
  5. 23 Aug, 2018 1 commit
  6. 06 Feb, 2018 1 commit
  7. 20 Jan, 2018 1 commit
  8. 13 Oct, 2017 2 commits
    • Emil Velikov's avatar
      mapi/shared-glapi/test: rework glapitable.h handling · 9b753e8c
      Emil Velikov authored and Dylan Baker's avatar Dylan Baker committed
      
      
      Currently all the build systems but Meson generate the header in
      src/mapi/glapi. Meson cannot do that since:
       - it does not allow user control over the location of output files
       - moving the generation rule(s) causes explosion due to the unusual
      structure of glapi and friends
       - copying the file into the correct location is a non-trivial task
      
      To workaround the above deficiency in the least invasive way, let's
      adjust the #include directive and add a few -I flags to the autotools
      build.
      
      Note: both builddir and srcdir, should be used. Otherwise building from
      a release tarball fails badly.
      
      Cc: Dylan Baker <dylanx.c.baker@intel.com>
      Signed-off-by: Emil Velikov's avatarEmil Velikov <emil.velikov@collabora.com>
      Tested-by: default avatarMark Janes <mark.a.janes@intel.com>
      Reviewed-by: Dylan Baker's avatarDylan Baker <dylan@pnwbakers.com>
      9b753e8c
    • Emil Velikov's avatar
      Revert "make: Fix test to be meson compatible" · ee779c93
      Emil Velikov authored
      This reverts commit fc48ad24.
      
      There commit reference the previous commit as it justification of
      changing behaviour. Although unlike the said commit, there's nothing
      obviously wrong there.
      
      I'll take a look close why Meson fails to pick the file, but in the
      interim reverting this commit fixes the normal distcheck target.
      ee779c93
  9. 09 Oct, 2017 1 commit
  10. 14 Jul, 2017 1 commit
  11. 14 Jun, 2017 1 commit
  12. 04 May, 2017 2 commits
  13. 27 Jan, 2017 1 commit
  14. 24 Oct, 2016 1 commit
  15. 12 Oct, 2016 1 commit
    • Nicolai Hähnle's avatar
      mapi: fix out-of-tree build dependencies · 85ba4099
      Nicolai Hähnle authored
      
      
      We shouldn't be using wildcard here in the first place, but changing that
      is some effort. As it stands, make -p confirms that glapi_gen_mapi_deps only
      contains mapi_abi.py when building outside the Mesa tree.
      
      As a result, only some of the tables were updated when XML files change, but
      not the tables for shared glapi. This change ensures that we pick up the
      XML files and scripts from the source tree as dependencies also for shared
      glapi.
      Reviewed-by: Emil Velikov's avatarEmil Velikov <emil.velikov@collabora.com>
      85ba4099
  16. 15 Sep, 2016 1 commit
    • Jon Turney's avatar
      direct-to-native-GL for GLX clients on Cygwin ("Windows-DRI") · 533b3530
      Jon Turney authored
      Structurally, this is very similar to the existing Apple-DRI code, except I
      have chosen to implement this using the __GLXDRIdisplay, etc. vtables (as
      suggested originally in [1]), rather than a maze of ifdefs.  This also means
      that LIBGL_ALWAYS_SOFTWARE and LIBGL_ALWAYS_INDIRECT work as expected.
      
      [1] https://lists.freedesktop.org/archives/mesa-dev/2010-May/000756.html
      
      This adds:
      
      * the Windows-DRI extension protocol headers and the windowsdriproto.pc
      file, for use in building the Windows-DRI extension for the X server
      
      * a Windows-DRI extension helper client library
      
      * a Windows-specific DRI implementation for GLX clients
      
      The server is queried for Windows-DRI extension support on the screen before
      using it (to detect the case where WGL is disabled or can't be activated).
      
      The server is queried for fbconfigID to pixelformatindex mapping, which is
      used to augment glx_config.
      
      The server is queried for a native handle for the drawable (which is of a
      different type for windows, pixmaps and pbuffers), which is used to augment
      __GLXDRIdrawable.
      
      Various GLX extensions are enabled depending on if the equivalent WGL
      extension is available.
      533b3530
  17. 07 Sep, 2016 1 commit
  18. 21 Jan, 2016 1 commit
    • Andreas Boll's avatar
      glapi: Build glapi_gentable.c only on Darwin · 5d4b2026
      Andreas Boll authored
      Removes the public symbol _glapi_create_table_from_handle from
      libGL.so.1.2.0 on all platforms except Darwin.
      
      Since the symbol is not used on other platforms it makes sense to
      build glapi_gentable.c only on Darwin.
      
      As a side effect it accelerates the build a bit and reduces the size
      of libGL.so.1.2.0 as follows:
      
      size lib/libGL.so.1.2.0 on my system shows
         text	   data	    bss	    dec	    hex	filename
       469211	  21848	   2720	 493779	  788d3	lib/libGL.so.1.2.0 before
       420988	  11240	   2720	 434948	  6a304	lib/libGL.so.1.2.0 after
      
      A little bit of history:
      
      _glapi_create_table_from_handle was introduced in
      
      commit 85937f4c
      
      
      Author: Jeremy Huddleston <jeremyhu@apple.com>
      Date:   Thu Jun 9 16:59:49 2011 -0700
      
          glapi: Add API that can create a _glapi_table from a dlfcn handle
      
          Example usage:
      
          void *handle = dlopen(opengl_library_path, RTLD_LOCAL);
          struct _glapi_table *disp = _glapi_create_table_from_handle(handle,
      "gl");
      Signed-off-by: Jeremy Huddleston Sequoia's avatarJeremy Huddleston <jeremyhu@apple.com>
      
      and the only user in mesa was added in
      
      commit f35913b9
      
      
      Author: Jeremy Huddleston <jeremyhu@apple.com>
      Date:   Thu Jun 9 17:29:51 2011 -0700
      
          apple: Use _glapi_create_table_from_handle to initialize our
      dispatch table
      Signed-off-by: Jeremy Huddleston Sequoia's avatarJeremy Huddleston <jeremyhu@apple.com>
      
      gl_gentable.py was also used for XQuartz in xserver 1.11 - 1.14.
      
      v2: Fix typos in commit message
          Add missing XORG_GLAPI_OUTPUTS += \ into src/mapi/glapi/gen/Makefile.am
          Add glapi_gentable.c to EXTRA_DIST for inclusion in the release
          tarball
      
      v3: Fix commit message: s/gl_gentable.c/glapi_gentable.c/
      Reported-by: default avatarArlie Davis <arlied@google.com>
      Cc: Jeremy Huddleston <jeremyhu@apple.com>
      Signed-off-by: Andreas Boll's avatarAndreas Boll <andreas.boll.dev@gmail.com>
      Reviewed-by: Matt Turner's avatarMatt Turner <mattst88@gmail.com>
      5d4b2026
  19. 18 Jan, 2016 1 commit
  20. 09 Sep, 2015 1 commit
  21. 26 Jun, 2015 1 commit
  22. 05 Mar, 2015 1 commit
  23. 04 Mar, 2015 2 commits
  24. 03 Mar, 2015 1 commit
    • Jose Fonseca's avatar
      configure: Leverage gcc warn options to enable safe use of C99 features where possible. · 80c5bd7e
      Jose Fonseca authored
      
      
      The main objective of this change is to enable Linux developers to use
      more of C99 throughout Mesa, with confidence that the portions that need
      to be built with MSVC -- and only those portions --, stay portable.
      
      This is achieved by using the appropriate -Werror= options only on the
      places they need to be used.
      
      Unfortunately we still need MSVC 2008 on a few portions of the code
      (namely llvmpipe and its dependencies).  I hope to eventually eliminate
      this so that we can use C99 everywhere, but there are technical/logistic
      challenges (specifically, newer Windows SDKs no longer bundle MSVC,
      instead require a full installation of Visual Studio, and that has
      hindered adoption of newer MSVC versions on our build processes.)
      Thankfully we have more directy control over our OpenGL driver, which is
      why we're now able to migrate to MSVC 2013 for most of the tree.
      Reviewed-by: Brian Paul's avatarBrian Paul <brianp@vmware.com>
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      80c5bd7e
  25. 28 Feb, 2015 1 commit
  26. 27 Feb, 2015 1 commit
    • Jose Fonseca's avatar
      configure: Leverage gcc warn options to enable safe use of C99 features where possible. · 79daa510
      Jose Fonseca authored
      
      
      The main objective of this change is to enable Linux developers to use
      more of C99 throughout Mesa, with confidence that the portions that need
      to be built with MSVC -- and only those portions --, stay portable.
      
      This is achieved by using the appropriate -Werror= options only on the
      places they need to be used.
      
      Unfortunately we still need MSVC 2008 on a few portions of the code
      (namely llvmpipe and its dependencies).  I hope to eventually eliminate
      this so that we can use C99 everywhere, but there are technical/logistic
      challenges (specifically, newer Windows SDKs no longer bundle MSVC,
      instead require a full installation of Visual Studio, and that has
      hindered adoption of newer MSVC versions on our build processes.)
      Thankfully we have more directy control over our OpenGL driver, which is
      why we're now able to migrate to MSVC 2013 for most of the tree.
      Reviewed-by: Brian Paul's avatarBrian Paul <brianp@vmware.com>
      Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
      79daa510
  27. 23 Jan, 2015 2 commits
  28. 12 Dec, 2014 5 commits
  29. 19 Aug, 2014 2 commits