summaryrefslogtreecommitdiff
path: root/src/glx
AgeCommit message (Collapse)Author
2009-08-30Merge branch 'mesa_7_5_branch'Michel Dänzer
Conflicts: src/glx/x11/glxcmds.c
2009-08-30glx/x11: Fix glXCreateGLXPixmap for direct rendering.Michel Dänzer
Fixes progs/xdemos/glxpixmap modified to use direct rendering.
2009-08-22glx/dri2: Always use X drawable ID for DRI2 protocol.Michel Dänzer
Fixes protocol errors in cases where the GLX ID is different.
2009-08-21glx: initialize some local vars to silence warnings with -O3Brian Paul
2009-08-13glx: indent -br -i3 -npcs --no-tabsRALOVICH, Kristóf
Some manual intervention applied since XEXT_* and other macro magic fooled indent. Auto generated files were also skipped.
2009-08-11glx: fix signedness warningRALOVICH, Kristóf
2009-08-11mesa/glapi: regenerated files from gl_API.xmlBrian Paul
2009-07-30Merge branch 'mesa_7_5_branch'Brian Paul
2009-07-28glx: assign per screen driver configs (DRISW)RALOVICH, Kristóf
2009-07-28glx: assign per screen driver configs (DRI)RALOVICH, Kristóf
2009-07-28glx: assign per screen driver configs (DRI2)RALOVICH, Kristóf
2009-07-28glx: properly release DRI configsRALOVICH, Kristóf
Release per screen DRI driver configs during screen destruction.
2009-07-28glx: cache DRI configs in __GLXscreenConfigsRecRALOVICH, Kristóf
2009-07-27glx: remove XTHREADS supportRALOVICH, Kristóf
2009-11-23glx: Prevent potential null pointer deference in driCreateContext.Vinson Lee
2009-11-17ARB_fbo: Enable extensions related to GL_ARB_framebuffer_object for GLXIan Romanick
2009-11-17ARB_fbo: Add missing GLX render opcode for glFramebufferTextureLayerEXTIan Romanick
Also regenerate the GLX protocol files from this change.
2009-11-17ARB_fbo: Regenerate files from previous commits.Ian Romanick
2009-07-07GLX/DRI1: Mark GLX visuals with depth != screen depth non-conformant.Michel Dänzer
Such visuals are subject to automatic compositing in the X server, so DRI1 can't render to them properly.
2009-07-04Merge branch 'mesa_7_5_branch'Jakob Bornecrantz
2009-06-30Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/vbo/vbo_exec_draw.c
2009-06-30glx: plug a leakKristof Ralovich
Swrast was missing a free for the culmination of driConcatConfigs. Use free(), not _mesa_free() since we shouldn't be calling any Mesa functions from the GLX code. driConcatConfigs() should probably use regular malloc/free to be consistant but the Mesa functions just wrap the libc functions anyway.
2009-06-30glx: fix null pointer dereference segfault (bug 22546)Brian Paul
2009-06-22Disable SGI_swap_control extension for DRI2Owen W. Taylor
We currently don't have support for SGI_swap_control for direct contexts with DRI2, so disable reporting the extension. Reporting the extension, and then having glXSwapIntervalSGI() "succeed" but do nothing can confuse applications. https://bugs.freedesktop.org/show_bug.cgi?id=22123 (cherry picked from commit 279143c6e808b37c333321b696d80df77f709a04)
2009-06-19Also release direct rendering resources in glXDestroyGLXPixmap.Michel Dänzer
Fixes leak running compiz with direct rendering.
2009-06-17GLX: attempt to fix glean makeCurrent test cases.Brian Paul
Two parts to this: One we don't keep pointers to possibly freed memory anymore once we unbind the drawables from the context. Brian I need to figure out what the comment you made there, can we get a glean/piglit test so we can fix it properly? If the new gc is the same as the oldGC, we call the unbind even though we just bound it in that function. doh. (cherry picked from master, commit 77506dac8e81e9548a7e9680ce367175fe5747af)
2009-06-24Merge branch 'mesa_7_5_branch'Brian Paul
Conflicts: src/mesa/drivers/dri/i915/i915_tex_layout.c src/mesa/drivers/dri/i965/brw_wm_glsl.c src/mesa/drivers/dri/intel/intel_buffer_objects.c src/mesa/drivers/dri/intel/intel_pixel_bitmap.c src/mesa/drivers/dri/intel/intel_pixel_draw.c src/mesa/main/enums.c src/mesa/main/texstate.c src/mesa/vbo/vbo_exec_array.c
2009-06-23dri2: Refresh the fake front contents after glXSwapBuffers().Eric Anholt
Bug #19177. Reviewed by: Ian Romanick <ian.d.romanick@intel.com>
2009-06-17GLX: attempt to fix glean makeCurrent test cases.Dave Airlie
Two parts to this: One we don't keep pointers to possibly freed memory anymore once we unbind the drawables from the context. Brian I need to figure out what the comment you made there, can we get a glean/piglit test so we can fix it properly? If the new gc is the same as the oldGC, we call the unbind even though we just bound it in that function. doh.
2009-06-12Disable SGI_swap_control extension for DRI2Owen W. Taylor
We currently don't have support for SGI_swap_control for direct contexts with DRI2, so disable reporting the extension. Reporting the extension, and then having glXSwapIntervalSGI() "succeed" but do nothing can confuse applications. https://bugs.freedesktop.org/show_bug.cgi?id=22123
2009-06-03Thank you git for doing the right thing.Ian Romanick
2009-06-03Fix compiling indirect.c when GLX_DIRECT_RENDERING is not definedIan Romanick
DO NOT HAND-EDIT GLX PROTOCOL FILES. Seriously. How can you miss the giant comment at the top of the file?
2009-06-02glapi: regenerated files for GL_ARB_copy_bufferBrian Paul
2009-05-18Initialize psp->waitX/waitGL for swrast_dri.so.Aidan Thornton
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21053 .
2009-05-12glXChooseVisual: Only consider fbconfig if we can get the corresponding visual.Michel Dänzer
This can fail, e.g. when XLIB_SKIP_ARGB_VISUALS=1 is set. See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=524794 and http://bugs.freedesktop.org/show_bug.cgi?id=21600 .
2009-05-04glx: replace Xmalloc() calls with Xcalloc()Brian Paul
Fixes a bug where psp->WaitX was uninitialized. Reported by Chris Clayton.
2009-04-24DRI2: Implement interface for drivers to access DRI2GetBuffersWithFormatIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-24DRI2: Implement protocol for DRI2GetBuffersWithFormatIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-15glx: added null pointer check in glXGetFBConfigs()Brian Paul
Fixes segfault seen with glxinfo with NVIDIA OpenGL.
2009-04-14glx: Make glXGetScreenDriver() work for DRI2Adam Jackson
2009-04-09DRI2: Assume that there is always a front bufferIan Romanick
Assume that the front-buffer exists even if the server didn't tell the client that it exists. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-09DRI2: Provide an interface for drivers to flush front-buffer renderingIan Romanick
Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Kristian Høgsberg <krh@redhat.com>
2009-04-03glx: remove unused local var in determineTextureFormat()Brian Paul
2009-04-02glx: MakeCurrent fixes.Thomas Hellstrom
1) If MakeContextCurrent is called with (NULL, None, None), Don't send the request to the X server if the current context is direct. 2) Return BadMatch in some error cases according to the glx spec. 3) If MakeContextCurrent is called for a context which is current in another thread, return BadAccess according to the glx spec. Signed-off-by: Thomas Hellstrom <thellstrom-at-vmware-dot-com>
2009-03-31Fix compiling indirect.c when GLX_DIRECT_RENDERING is not definedJeremy Huddleston
(cherry picked from commit b65bc1b6cb72df950c2e26446936804dfcdc432c)
2009-03-25define __builtin_expect for non-gcc compilers in two more glx filesAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
2009-03-25Revert "dri2: Avoid round-tripping on DRI2GetBuffers for the same set of ↵Michel Dänzer
buffers." This scheme breaks when the display connection doesn't receive ConfigureNotify events. This caused reporoducible problems (cropped / misplaced output) when starting a 3D application in a guest operating system in VMware Workstation. This reverts commit dd1c68f15123a889a3ce9d2afe724e272d163e32. Conflicts: src/glx/x11/dri2_glx.c
2009-03-20Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.Eric Anholt
This requires upgrading the interface so that the argument to glXBindTexImageEXT isn't just dropped on the floor. Note that this only fixes the accelerated path on Intel, as Mesa's texture format support is missing x8r8g8b8 support (right now, GL_RGB textures get uploaded as a8r8gb8, but in this case we're not doing the upload so we can't really work around it that way). Fixes bugs with compositors trying to use shaders that use alpha channels, on windows without a valid alpha channel. Bug #19910 and likely others as well. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2009-03-12regenerate glapiRoland Scheidegger
2009-02-26mesa: Resurrect SPARC asm code.David S. Miller
This rewrites the sparc GLAPI code so that it's PIC friendly and works with all of the TLS/PTHREADS/64-bit/32-bit combinations properly. As a result we can turn SPARC asm back on. Currently it's only enabled on Linux, as that's the only place where I can test this stuff out. For the moment the cliptest SPARC asm routines are disabled as they are non-working. The problem is that they use register %g7 as a temporary which is where the threading libraries store the thread pointer on SPARC. I will fix that code up in a future change as it's a pretty important routine to optimize. Like x86 we do the runtime patch as a pthread once-invoked initializer in init_glapi_relocs(). Unlike x86, however, our GLAPI stubs on SPARC are just two instruction sequences that branch to a trampoline and put the GLAPI offset into a register. The trampoline is what we run-time patch. The stubs thus all look like: glFoo: ba __glapi_sparc_foo_stub sethi GLAPI_OFFSET(glFOO) * PTR_SIZE, %g3 This actually makes generate_entrypoint() a lot simpler on SPARC. For this case in generate_entrypoint() we generate stubs using a 'call' instead of the 'ba' above to make sure it can reach. In order to get a proper tail call going here, in the unpatched case, we do several tricks. To get the current PC, for example, we save the return address register into a temporary, do a call, save the return address register written by the call to another temporary, then restore the original return address register value. This is to avoid having to allocate a stack frame. This is necessary for PIC address formation. This new GLAPI scheme lets us get rid of the ugly SPARC GLAPI hacks in __glXInitialize() and one_time_init(). Signed-off-by: David S. Miller <davem@davemloft.net>