summaryrefslogtreecommitdiffstats
path: root/src/glx
Commit message (Collapse)AuthorAgeFilesLines
* mesa: Resurrect SPARC asm code.David S. Miller2009-02-261-86/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 <[email protected]>
* glx: add support for a reallyFlush() function before swap occurs.Alan Hourihane2009-02-233-0/+27
|
* dri2: support glXWaitX & glXWaitGL by using fake front buffer.Alan Hourihane2009-02-164-6/+81
|
* dri2: Don't crash if the server returns more buffers than expected.Eric Anholt2009-02-101-1/+1
|
* dri2: Initialize variables for the getbuffers round-trip reduction.Eric Anholt2009-02-101-0/+2
| | | | Missed setting the initial values which usually didn't hurt at runtime.
* mesa: merge gallium-0.2 into gallium-master-mergeBrian Paul2009-02-096-48/+8
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Merge commit 'origin/gallium-0.2' into gallium-master-merge Conflicts: Makefile docs/relnotes-7.4.html docs/relnotes.html src/mesa/drivers/dri/i965/brw_wm.h src/mesa/main/imports.c src/mesa/main/mtypes.h src/mesa/main/texcompress.c src/mesa/main/texenvprogram.c src/mesa/main/version.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_draw.c
| * Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-222-24/+32
| |\ | | | | | | | | | | | | | | | | | | Conflicts: windows/VC8/mesa/osmesa/osmesa.vcproj windows/VC8/progs/demos/gears.vcproj windows/VC8/progs/progs.sln
| * \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2009-01-143-8/+7
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/install.html docs/relnotes-7.3.html src/mesa/shader/slang/slang_codegen.c src/mesa/shader/slang/slang_compile.c src/mesa/shader/slang/slang_emit.c src/mesa/shader/slang/slang_preprocess.c src/mesa/shader/slang/slang_preprocess.h
| * \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-12-151-6/+4
| |\ \ \
| * \ \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-12-081-1/+0
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: progs/glsl/Makefile
| * \ \ \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-11-285-23/+163
| |\ \ \ \ \
| * \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-241-0/+1
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: progs/glsl/Makefile
| * \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Keith Whitwell2008-11-154-2/+13
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/shader/prog_print.c
| * \ \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Brian Paul2008-11-1144-182/+118
| |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/mesa/shader/prog_execute.c src/mesa/shader/slang/library/slang_vertex_builtin_gc.h
| * \ \ \ \ \ \ \ \ Merge commit 'origin/master' into gallium-0.2Alan Hourihane2008-10-271-1/+1
| |\ \ \ \ \ \ \ \ \
| * | | | | | | | | | Update DRI2 implementation according to new specification.Kristian Høgsberg2008-10-157-69/+101
| | | | | | | | | | |
| * | | | | | | | | | Revert pointless reindents to avoid merge conflicts.Kristian Høgsberg2008-10-157-3019/+2893
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Why are we reindenting code that's work in progress...
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glxclient.hRALOVICH, Kristóf2008-10-151-173/+188
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glcontextmodes.hRALOVICH, Kristóf2008-10-151-15/+15
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glxextensions.cRALOVICH, Kristóf2008-10-151-178/+183
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glxextensions.hRALOVICH, Kristóf2008-10-151-24/+32
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs xfont.cRALOVICH, Kristóf2008-10-151-211/+212
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs xf86dristr.hRALOVICH, Kristóf2008-10-151-207/+232
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs XF86dri.cRALOVICH, Kristóf2008-10-151-461/+493
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs xf86dri.hRALOVICH, Kristóf2008-10-151-52/+53
| | | | | | | | | | |
| * | | | | | | | | | glx: kill old K&R syntax in XF86dri.cRALOVICH, Kristóf2008-10-151-63/+15
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs vertarr.cRALOVICH, Kristóf2008-10-151-103/+118
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs singlepix.cRALOVICH, Kristóf2008-10-151-138/+145
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs single2.cRALOVICH, Kristóf2008-10-151-681/+718
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs renderpix.cRALOVICH, Kristóf2008-10-151-102/+111
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs render2.cRALOVICH, Kristóf2008-10-151-272/+296
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs pixelstore.cRALOVICH, Kristóf2008-10-151-254/+271
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs pixel.cRALOVICH, Kristóf2008-10-151-349/+373
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs packsingle.hRALOVICH, Kristóf2008-10-151-107/+107
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs packrender.hRALOVICH, Kristóf2008-10-151-121/+121
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs indirect_window_pos.cRALOVICH, Kristóf2008-10-151-28/+42
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs indirect_vertex_program.cRALOVICH, Kristóf2008-10-151-159/+169
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array_priv.hRALOVICH, Kristóf2008-10-151-53/+56
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array.hRALOVICH, Kristóf2008-10-151-22/+29
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs indirect_vertex_array.cRALOVICH, Kristóf2008-10-151-1344/+1454
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs indirect_transpose_matrix.cRALOVICH, Kristóf2008-10-151-28/+30
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs indirect_texture_compression.cRALOVICH, Kristóf2008-10-151-255/+251
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glx_query.cRALOVICH, Kristóf2008-10-151-36/+37
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glx_pbuffer.cRALOVICH, Kristóf2008-10-151-193/+191
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glxhash.cRALOVICH, Kristóf2008-10-151-252/+299
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glxhash.hRALOVICH, Kristóf2008-10-151-6/+10
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glxext.cRALOVICH, Kristóf2008-10-151-689/+704
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glxcurrent.cRALOVICH, Kristóf2008-10-151-265/+284
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glxcmds.cRALOVICH, Kristóf2008-10-151-1564/+1642
| | | | | | | | | | |
| * | | | | | | | | | glx: indent -br -i3 -npcs --no-tabs glcontextmodes.cRALOVICH, Kristóf2008-10-151-312/+306
| | | | | | | | | | |