1. 19 Oct, 2015 1 commit
  2. 08 Jul, 2015 1 commit
    • Adam Jackson's avatar
      glx: Implement GLX_ARB_context_flush_control · 995ff114
      Adam Jackson authored
      
      
      This extension allows clients to opt out of the implicit glFlush on
      context release, which is quite nice for performance for clients using
      multiple contexts.  The server doesn't really need to be aware of the
      client's decision, at least for direct contexts, but it does need to not
      reject the context attribute out of hand.
      
      This patch won't do anything unless built against a Mesa that defines
      the __DRI2_FLUSH_CONTROL extension (and a new enough glxext.h, but
      that's been there since 10.3 at least).
      Reviewed-by: James Jones's avatarJames Jones <jajones@nvidia.com>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      995ff114
  3. 10 Dec, 2014 2 commits
  4. 09 Dec, 2014 5 commits
  5. 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>
      437b2749
  6. 12 Nov, 2014 1 commit
  7. 12 Sep, 2014 1 commit
  8. 23 Apr, 2014 3 commits
  9. 12 Jan, 2014 1 commit
  10. 05 Dec, 2013 1 commit
  11. 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
      sadness.
      
      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>
      17ed7ac1
  12. 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>
      be668096
    • 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) {
              __glXFreeContext(cx);
          }
      Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
      Signed-off-by: Adam Jackson's avatarAdam Jackson <ajax@redhat.com>
      7f5adf73
    • 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>
      276d8057
    • Adam Jackson's avatar
  13. 11 Sep, 2013 10 commits
  14. 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>
      cf89aa53
  15. 10 Jul, 2012 3 commits
  16. 05 Jul, 2012 1 commit
  17. 23 May, 2012 3 commits