1. 09 Dec, 2014 3 commits
  2. 05 Dec, 2014 1 commit
    • Jon Turney's avatar
      Revert "glx: Simplify glXDestroyContext" · 437b2749
      Jon Turney authored
      This reverts commit 7f5adf73
      This seems to miss the whole point of the idExists flag, as it makes the
      lifetime of that being true the same as the lifetime of the Context resource.
      The previously current context tag is always given in a MakeContextCurrent
      request, even if that context tag is no longer valid (for example, the context
      has been deleted), so this leads to BadContextTag errors.
      See fd.o bug #30089 for the makecurrenttest.c testcase, and some discussion of
      previous manifestations of this bug.
      Signed-off-by: Jon Turney's avatarJon TURNEY <jon.turney@dronecode.org.uk>
      Reviewed-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
  3. 12 Nov, 2014 1 commit
  4. 12 Sep, 2014 1 commit
  5. 23 Apr, 2014 3 commits
  6. 12 Jan, 2014 1 commit
  7. 05 Dec, 2013 1 commit
  8. 01 Nov, 2013 1 commit
    • Adam Jackson's avatar
      glx: Lie about GLX_Y_INVERTED_EXT · 17ed7ac1
      Adam Jackson authored
      Well, that was lame.  The problem with reporting y inversion honestly is
      that libGL asks the driver _its_ opinion of Y inversion, which it just
      fabricates from whole cloth.  So then when libGL goes to compare the
      driver's idea of fbconfigs with that of the server - a fairly dumb idea
      to begin with - nothing matches, and direct rendering fails, and
      So until the DRI drivers are fixed we should just continue to lie about
      Y inversion.  GLX_DONT_CARE is what libGL would make up for that
      attribute if we hadn't sent it, so just send that instead.
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      Tested-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
  9. 29 Oct, 2013 4 commits
    • Adam Jackson's avatar
      glx: convert to direct GL dispatch (v2) · be668096
      Adam Jackson authored
      We now expect to be linked against something that provides the GL API,
      instead of manually grubbing about in the DRI driver's dispatch table.
      Since the GLX we expose calls GL functions that are meant to be looked
      up dynamically, also add a way to thunk through to GetProcAddress.
      This includes a refresh of the generated sources, which requires a
      correspondingly new Mesa.
      The GetProcAddress stubs are at the moment merely enough to make this
      link against Mesa 9.2, but should really be provided for everything not
      in the OpenGL 1.2 ABI.
      v2: Explicitly hide the GetProcAddress stubs so we can't conflict with
      libGL symbols; fix leading tab/space issues [anholt]
      Reviewed-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
    • Adam Jackson's avatar
      glx: Simplify glXDestroyContext · 7f5adf73
      Adam Jackson authored
      We can just free the resource unconditionally here.  ContextGone (which
      FreeResourceByType will call) already does:
          cx->idExists = GL_FALSE;
          if (!cx->currentClient) {
      Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
    • Adam Jackson's avatar
      glx: Fix memory leak in context garbage collection (v2) · 276d8057
      Adam Jackson authored
      I broke this, back in:
          commit a48dadc9
          Author: Adam Jackson <ajax@redhat.com>
          Date:   Mon Mar 21 11:59:29 2011 -0400
      	glx: Reimplement context tags
      In that, I changed the glx client state to not explicitly track the list
      of current contexts for the client (since that was what we were deriving
      tags from).  The bug was that I removed the code for same from
      glxClientCallback without noticing that it had the side effect of
      effectively de-currenting those contexts, so that ContextGone could free
      them.  So, if you had a client exit with a context still current, the
      context's memory would leak.  Not a huge deal for direct clients, but
      viciously bad for indirect, since the swrast context state at the bottom
      of Mesa is like 15M.
      Fix this by promoting Bool isCurrent to ClientPtr currentClient, so that
      we have a back-pointer to chase when walking the list of contexts when
      ClientStateGone happens.
      v2: Explicitly call __glXFreeContext on the ClientStateGone path.  Our
      current context might be one we got from EXT_import_context and whose
      creating client has since died.  Without the explicit call, the creating
      client's FreeClientResources would not free the context because it's
      still current, and the using client's FreeClientResources would not free
      the context because it's not an XID it created.  This matches the logic
      from a48dadc9
      Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
    • Adam Jackson's avatar
  10. 11 Sep, 2013 10 commits
  11. 18 Mar, 2013 1 commit
    • Tomasz Lis's avatar
      Full support of sRGB capable fbconfigs. · cf89aa53
      Tomasz Lis authored
      Changes to correctly initialize the sRGB capability attribute and
      transfer it between XServer and the client. Modifications include
      extension string, transferring visual config attribs and fbconfig
      attribs. Also, attribute is initialized in the modules which do not
      really use it (xquartz and xwin).
      This version advertises both ARB and EXT strings, and initializes
      the capability to default value of FALSE. It has corrected required
      GLX version and does not influence swrast. The sRGB capable attribute
      is attached only to those configs which do have this capability.
      Both ARB and EXT versions share the same GLX extension enabling bit.
      Signed-off-by: default avatarTomasz Lis <tomasz.lis@intel.com>
      Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
  12. 10 Jul, 2012 3 commits
  13. 05 Jul, 2012 1 commit
  14. 23 May, 2012 7 commits
  15. 21 Mar, 2012 1 commit
    • Keith Packard's avatar
      Introduce a consistent coding style · 9838b703
      Keith Packard authored
      This is strictly the application of the script 'x-indent-all.sh'
      from util/modular. Compared to the patch that Daniel posted in
      January, I've added a few indent flags:
      	-T PrivatePtr
      	-T pmWait
      	-T _X_EXPORT
      The typedefs were needed to make the output of sdksyms.sh match the
      previous output, otherwise, the code is formatted badly enough that
      sdksyms.sh generates incorrect output.
      The generated code was compared with the previous version and found to
      be essentially identical -- "assert" line numbers and BUILD_TIME were
      the only differences found.
      The comparison was done with this script:
      for dir in $dir1 $dir2; do
      	(cd $dir && find . -name '*.o' | while read file; do
      		dir=`dirname $file`
      		base=`basename $file .o`
      		objdump -d $file > $dump
      find $dir1 -name '*.dump' | while read dump; do
      	otherdump=`echo $dump | sed "s;$dir1;$dir2;"`
      	diff -u $dump $otherdump
  16. 15 Apr, 2011 1 commit