Commit Graph

260 Commits

Author SHA1 Message Date
George Sapountzis
eba81a0a01 glx: move __glXMesaProvider from GLcore module to glx module.
This treats the GLcore provider similar to DRI provider, using a subset of
XMesa as the GLcore interface.
2007-04-14 18:30:09 +03:00
George Sapountzis
6b040b79f0 glx: drop xmesaP.h include from xf86glx.c
The declarations for the xfree86-specific XMesa functions were moved up to
xmesa.h, requires Mesa as of 2007-04-13.
2007-04-14 18:29:52 +03:00
George Sapountzis
2c833f60ac glx: drop stray CAPI define.
SI imports/exports were dropped from Mesa.
2007-04-14 18:29:25 +03:00
Keith Packard
f24391dbfd In AIGLX EnterVT processing, invoke driver EnterVT before resuming glx.
As the driver EnterVT function generally re-enables the hardware and
prepares it for rendering, it must be called before any gl functions are
called which could touch the hardware.
2007-04-09 12:30:31 -07:00
Brian
0a6ac99236 regenerated to fix bug 10371 2007-04-07 12:42:29 -06:00
George Sapountzis
7e38559861 GLcore: fix after moving xf86glx_util.[hc] to Mesa. 2007-04-06 13:38:12 +03:00
George Sapountzis
a4e2fc7034 glx: Remove stray __GLinterface.
__GLinterface was droped from glcore.h
2007-04-05 19:13:47 +03:00
George Sapountzis
38ca7d388c glx: fix symlink, glcontextmodes.c was moved to mesa/src/glx/ 2007-04-05 19:13:14 +03:00
George Sapountzis
76756f2756 Make xf86glx.c unaware of Mesa internals
Use newly added XMesaCopyContext() and drop the GlxSetRenderTables() call
for Xgl, as this is now done inside XMesaForceCurrent(). This leaves xmesaP.h
but only for the declarations of the three XMesa/XFree86 functions. Also,
GlxSetRenderTables() stays but is only used in hw/xgl/glxext/ .

Also drop xf86glxint.h, no longer used.

Depends on mesa commit 7439a36785b6a2783e80a40a96c09db8f56dc2bc of 2007-03-30.
2007-03-30 20:06:35 +03:00
Daniel Stone
8522044635 GL: Update for Mesa changes
Added s_fragprog.c to fix the build.
2007-03-28 13:03:32 +03:00
Michel Dänzer
6a0bed16e8 Fix typo in GL/mesa/shader/slang/Makefile.am. 2007-03-27 16:51:12 +02:00
Dave Airlie
b8f846a9df gl: oops dodgy s appeared pointed out by jcristau on irc.. 2007-03-27 14:17:40 +10:00
Dave Airlie
a63ee90bc2 gl: update for latest mesa glsl-compiler merge 2007-03-27 11:05:52 +10:00
Alan Hourihane
4bf1b280f7 Set pScreen on context 2007-03-09 14:18:14 +00:00
Jens Granseuer
689d52b624 Bugzilla #7145: fix build with gcc 2.95
Bugzilla #7145: <http://bugs.freedesktop.org/show_bug.cgi?id=7145>
Patch #8987: <http://bugs.freedesktop.org/attachment.cgi?id=8987>
2007-03-05 15:31:44 -08:00
Ben Byer
ed7ccc481a AIGLX support for Darwin -- works well enough to run
glxgears and glxinfo, but still needs more testing.
2007-03-01 00:51:10 -08:00
Ben Byer
00b0657b81 glx fixes for XDarwin 2007-02-17 00:55:32 -08:00
Dave Airlie
236f04b638 remove array_cache from everywhere 2007-02-05 09:10:08 +11:00
Dave Airlie
fb1bc1c65b add vbo to .gitignore 2007-02-04 18:39:58 +11:00
Dave Airlie
d8e148ec84 update xserver for vbo code in mesa 2007-02-04 18:39:04 +11:00
Alan Hourihane
170a55022e remove file 2007-02-02 20:56:12 +00:00
Dan Nicholson
e6a505be84 The array_cache sources don't exist anymore in the Mesa tree,
so we shouldn't try to build them.
2007-02-02 20:53:01 +00:00
Alan Hourihane
af20485ec3 Remove array_cache for recent Mesa changes 2007-02-02 19:16:34 +00:00
Michel Dänzer
65f4690ecb __glXDRIscreenProbe: Use drmOpen/CloseOnce.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=9275 . Based on patch from
Alan Swanson.
2007-01-19 17:56:06 +01:00
Ian Romanick
dfb2c10413 Add missing #else from previous commits. 2007-01-05 10:15:09 -08:00
Ian Romanick
f90c3e226b Re-regenerate from Mesa scripts.
DO NOT HAND EDIT THESE FILES!  For cryin' out loud, there's even a
comment to that effect in the file's header...
2007-01-04 15:38:16 -08:00
Ian Romanick
b7ca5d14ce Incorporate new byte-order related configure changes. 2007-01-04 15:37:33 -08:00
Ian Romanick
8dd5771a1b Merge branch 'master' of git+ssh://git.freedesktop.org/git/xorg/xserver
Conflicts:

	GL/glx/indirect_dispatch_swap.c
	GL/glx/swap_interval.c
2007-01-04 15:01:38 -08:00
Ian Romanick
45aa26ccb4 Regenerate from Mesa scripts.
Regenerate source files from Mesa scripts.  This causes the generated
files to use glxbyteorder.h.
2007-01-04 14:55:51 -08:00
Ian Romanick
6d603bb47f Add new header file containing byte-order wrappers.
Move the byte-order related wrappers out of the individual source
files into a dedicated header file.  Modify the single hand-coded
source file that uses the byte-order wrappers to use the new header
file.
2007-01-04 14:49:26 -08:00
Eric Anholt
7d2ec92170 Keep track of how many visuals we set up for GLcore, to avoid an invalid free.
The proper fix would involve actually setting up the ARGB visual for GLcore,
but I just want the server to not crash at exit.
2007-01-04 12:24:48 -08:00
Alan Coopersmith
2fd4626fa6 Make GLX byteswap macros more portable
- Use autoconf tests instead of platform-specific #ifdef's to decide
  which macros to use.
- Provide fallbacks for platforms like Solaris that don't provide any
  of the existing known forms.
2007-01-03 15:44:55 -08:00
Eamon Walsh
10aabb729d Convert callers of LookupDrawable() to dixLookupDrawable(). 2006-12-15 16:36:29 -05:00
Drew Parsons
9423ac134a GNU/FreeBSD support in GLX: include byteswap.h for FreeBSD systems
defining __GLIBC__, as done already for Linux and Hurd (cf. bug #5613).
Also includes some more __GNU__ checks on top of those made in
commit ade4bf0907.
Thanks Petr Salinger (Debian bug #400869).
2006-12-01 15:21:05 +11:00
Brian
61832cb94c Regenerated from Mesa w/ latest gl_API.xml file 2006-11-22 09:16:43 -07:00
Brian
61863f09d2 Regenerated from Mesa, fixes glMap* protocol problem (bug 8899) 2006-11-22 09:16:17 -07:00
George Sapountzis
f17e3c34df Fix GL context destruction with AIGLX.
The logic for freeing GL contexts introduced by "Fix AIGLX VT switching." is
inverted. As it is now, GL context destruction is deferred for glxDRIEnterVT().
2006-11-16 22:14:53 +02:00
Alan Coopersmith
ca09468419 Correct symlink-mesa.sh usage message 2006-11-10 18:02:05 -08:00
Adam Jackson
0409e1627a 'make dist' fixes. 2006-11-08 16:17:20 -05:00
Samuel Thibault
ade4bf0907 mesa/indirect: include byteswap.h on GNU userland (bug #5613)
Include byteswap.h on all GNU-userland systems (including with the Hurd
and FreeBSD kernels), not just Linux.
2006-11-04 19:08:24 +02:00
Eamon Walsh
a34446f5b3 Add missing file to list in Makefile.am 2006-10-27 13:43:43 -04:00
Michel Dänzer
3ad1642f1b Fix __glXDRIbindTexImage() for 32 bpp on big endian platforms. 2006-10-15 16:57:09 +02:00
Ian Romanick
a6df780e4d Fix bug #8608.
Regenerate files based on recent commits to Mesa (that fix Mesa bug
that return pixel data.
2006-10-11 15:41:22 -07:00
Daniel Stone
d7c89c7c1c symlink-mesa.sh: expand *.{c,h} 2006-10-02 02:19:51 +03:00
Brian
84eb2c0a06 Replace hard-coded filesnames with loops (all .c and .h files).
Should fix problems with Mesa adding/removing source files, for the most part.
Patch by Dan Nicholson.
2006-09-28 15:09:40 -06:00
Jeff Smith
cf6e9687ff Bug #8449: Yet another Mesa symlink script resync. 2006-09-28 15:34:17 -04:00
Ian Romanick
05231e336d Use correct opcodes for GLX_EXT_texture_from_pixmap.
Regenerate from glX_API.xml 1.3 from Mesa.  The glproto package and libGL
(from Mesa) must also be updated.
2006-09-14 14:13:39 -07:00
Kristian Høgsberg
86450998da Fix AIGLX VT switching.
See https://bugs.freedesktop.org/show_bug.cgi?id=7916

There may be a simpler, less intrusive fix that involves just rearranging
DRI locking between 2D and 3D drivers around VT switch.
2006-09-07 15:35:16 -04:00
Ian Romanick
64479fffa2 Remove prototypes and externs for non-existant functions and variables. 2006-09-06 16:13:21 -07:00
Ian Romanick
a0179281a6 Remove prototypes for non-existant functions. 2006-09-06 15:45:48 -07:00
Ian Romanick
c2813514cf Add missing file from previous commit. 2006-08-31 15:36:13 -07:00
Ian Romanick
0f9cfb2f75 Implement GLX_SGI_swap_control.
Regenerate from glX_API.xml 1.2.  Add infrastructure to support
GLX_SGI_swap_control for AIGLX when the DRI driver enables it.  Tested
with R300.
2006-08-31 13:54:10 -07:00
Ian Romanick
a9ef586291 Fix problems with vertex program protocol
There were two sets of bugs in the vertex program (ARB and NV)
protocol.  First, several of the ARB functions were missing the
'doubles_in_order="true"' annotation.  Second, after the ARB decided
that glVertexAttrib*ARB functions must not alias fixed-function state
for GLSL, Nvidia re-assigned GLX protocol opcodes for
glVertexAttrib*NV (circa Septeber 2004).  For some reason gl_API.xml
was never updated to reflect this, and the updated version of the
GL_NV_vertex_program spec never made into the registry.

This is just a server-side regeneration from gl_API.xml version 1.68.
2006-08-31 13:47:50 -07:00
Ian Romanick
2fb7b8795a Minor extension tweaks.
GLX_EXT_texture_from_pixmap should always be enabled.
GLX_SGI_video_sync is only for direct rendering and should never
appear in the server's string.
2006-08-29 16:35:32 -07:00
Ian Romanick
d59b52fc08 Make sure unsupported extensions are disabled.
GLX protocol isn't supported for GLX_SGI_swap_control or
GLX_SGI_video_sync.  Remove them from the list of available extensions
until they are supported.
2006-08-29 14:40:13 -07:00
Ian Romanick
db6d04d4b8 Add support for AIGLX drivers to enable GLX extensions that they support. 2006-08-29 14:35:08 -07:00
Ian Romanick
77d315bd2f Remove __glXNoSuchRenderOpcode because it is no longer used. 2006-08-29 13:30:20 -07:00
Ian Romanick
2fde560bbb Enable GL_EXT_texture_filter_anisotropic and GL_EXT_blend_equation_separate.
Re-generate from gl_API.xml 1.65.  This provides the missing bits for
GL_EXT_texture_filter_anisotropic and GL_EXT_blend_equation_separate.
Enable those extensions.
2006-08-25 13:01:51 -07:00
Ian Romanick
e2d529963e Enable vertex and fragment programs.
Implement glGetProgramStringARB and glGetProgramStringNV.  With these
functions implemented, GL_ARB_{vertex,fragment}_program,
GL_NV_{vertex,fragment}_program, and related extensions can be enabled.
2006-08-25 12:05:16 -07:00
Ian Romanick
c33e39c86b Finish support for GL_ARB_texture_compression.
Fill in __glXDisp_GetCompressedTexImageARB and
__glXDispSwap_GetCompressedTexImageARB to finish support for
GL_ARB_texture_compression.  With this extension (and the related
compression extensions), the server-side GLX supports all of the
protocol for GL 1.4.  w00t!

The bad news is that this has received only minimal testing, and Mesa
does not contain any good tests for GL_ARB_texture_compression.
2006-08-24 20:33:57 -07:00
Ian Romanick
cd2da4e41e Remove GL/glx/g_disptab.c, GL/glx/g_disptab_EXT.c, and
GL/glx/g_disptab_EXT.h.  Unfortunately GL/glx/g_disptab.h has to be
kept around a bit longer.
2006-08-24 18:00:16 -07:00
Ian Romanick
a29e6dd2d2 Add some missing bits of GL_SGI_color_table. 2006-08-24 17:58:52 -07:00
Ian Romanick
2c865277fe Regenerate from gl_API.xml 1.63. Enable extensions.
gl_API.xml 1.63 corrects some problems with GLX protocol for
GL_EXT_paletted_texture and GL_SGI_color_table.  Regenerate from that
file, and enable those extensions and GL_EXT_shared_texture_palette.
2006-08-24 14:54:49 -07:00
Ian Romanick
7d5de5c665 Regenerate from gl_API.xml 1.62. Functions move, no real changes. 2006-08-24 14:49:46 -07:00
Lukáš Turek
b29b236d88 Adapt to Mesa header name change. 2006-08-24 15:57:09 +02:00
Alan Hourihane
67bd672c88 Fix typo 2006-08-24 08:47:06 +01:00
Ian Romanick
0623d3643f Fix the sorting of the extension string. Add a few extensions that
are supported by the new code.  A few of these were actually supported
before but weren't advertised.
2006-08-23 17:16:02 -07:00
Ian Romanick
5d2caacff5 Refector __glXDisp_Render and __glXDispSwap_Render to DoRender.
Refector __glXDisp_RenderLarge and __glXDispSwap_RenderLarge to
DoRenderLarge.
2006-08-23 16:47:00 -07:00
Ian Romanick
866bb3f340 Memo to myself: Whenever a Makefile.am changes, autogen.sh must be
re-run.  This is especially true if the change is to remove a source
file.

Fix RenderLarge to actually use the new protocol decode tables.
2006-08-23 16:41:53 -07:00
Ian Romanick
f6fd7d8f83 Convert protocol decode tabels for Render and RenderLarge to use nice,
compact N-way search trees generated by scripts in Mesa.
2006-08-23 16:05:37 -07:00
Ian Romanick
7ae82b5fc8 Fix __glXDispatchInfo::dispatch_functions and
__glXDispatchInfo::size_table.  dispatch_functions had the const in
the wrong place, and size_table was declared as an array of two
pointers to int_fast16_t instead of a pointer to an array of 2
int_fast16_t.  cdecl to the rescue!
2006-08-23 16:00:48 -07:00
Ian Romanick
39a620d178 Rename __glXDrawArraysSize to __glXDrawArraysReqSize. This makes its
name match the pattern of all the other functions in
__glXRenderSizeTable.
2006-08-23 14:24:34 -07:00
Ian Romanick
86406455f0 Re-generated files after a fix to glX_API.xml (in Mesa). 2006-08-23 13:30:59 -07:00
Ian Romanick
d7a7f12361 Convert protocol decode tables for Single, VendorPrivate, and
VendorPrivateWithReply message to use nice, compact N-way search trees
generated by scripts in Mesa.

The Render protocol decode tables are next...
2006-08-23 13:30:13 -07:00
Tilman Sauerbeck
c4f5de6cc3 Sanitized glxdri's Block/Wakeuphandler calling.
__glXDRIleaveServer() and _enterServer() used to call DRIDoBlockHandler
(resp DRIDoWakeupHandler) directly. They are now calling DRIBlockHandler
(resp DRIWakeupHandler) to account for driver specific block/wakeup
hooks.
2006-08-09 20:21:52 +02:00
Dave Airlie
8977b07434 glx: fix typo from tag removal 2006-07-23 03:50:52 +10:00
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -04:00
Daniel Stone
84683f19b4 get rid of XFree86LOADER, XFree86Server, XFree86Module, and IN_MODULE
Get rid of almost all uses of these definitions.  They're still defined for
delinquent out-of-tree drivers, and also for the Mesa build.  As well as
for miinitext.c.  But largely gone.
2006-07-18 18:17:38 -04:00
Kristian Høgsberg
5416f90e9c Implement GLX_MESA_copy_sub_buffer. 2006-07-06 21:25:29 -04:00
Kristian Høgsberg
b84374b291 Add GLX_MESA_copy_sub_buffer marshalling support. 2006-07-06 21:25:29 -04:00
Kristian Høgsberg
28b95fd9d1 Drop unused GL/include subtree.
Woo, less Makefile's to generate.
2006-07-06 03:25:38 -04:00
Kristian Høgsberg
fc1a55671d Implement glXCreateWindow and glXDestroyWindow. 2006-07-06 00:28:54 -04:00
Kristian Høgsberg
ee012588d2 Move __GLXdrawable lookup and creation into GetDrawableOrPixmap.
Also refactors __glXSwapBuffers to use GetDrawableOrPixmap for
getting the __GLXdrawable.  This patch paves the way for GLXWindows
with XIDs different from the X Windows they are created for, a
prerequisite for glXCreateWindow().
2006-07-06 00:28:54 -04:00
Kristian Høgsberg
8b5bc6a9ab Drop global GLX error integer variables and use __glXError() instead.
Also drop glxerror.h (__glXError is now declared in glxserver.h)
and global.c (last remaining globals are in glxext.c now).

With this change we now support all GLX 1.3 error codes.
2006-07-06 00:28:53 -04:00
Kristian Høgsberg
7cf3ec7b59 Move createDrawable from __GLXcontext to __GLXscreen. 2006-07-06 00:28:53 -04:00
Kristian Høgsberg
eea8efe451 Add marshalling for GLX 1.3 requests.
Also, hook up glXGetDrawableAttributes and glXQueryContext to existing
DoGetDrawableAttributes and __glXQueryContextInfoEXT.
2006-07-06 00:28:53 -04:00
Kristian Høgsberg
54d9acd511 Add damage tracking to GLX_EXT_tfp implementation.
- Only update when pixmap content actually change;
- Only update the regions that acutally changed.

This is a worthwhile optimization, but it doesn't completely remove
the bottleneck, as mesa still uploads then entire texture whenever
it changes.
2006-06-27 19:44:52 -04:00
Michel Dänzer
a195a3debc Fix byte swapping in some GLX requests. 2006-06-24 14:54:52 +02:00
Eric Anholt
21ef7e17ef Add some missing .gitignore stuff for Mesa symlinks and other generated files. 2006-06-18 19:47:51 -07:00
Ian Romanick
b90088321e Add arrayobj.c to the Makefile as well. 2006-06-12 15:22:31 -07:00
Ian Romanick
041ef23192 Add new Mesa files arrayobj.c and arrayobj.h. 2006-06-12 09:39:18 -07:00
Kristian Høgsberg
107defd920 Remove superfluous definition of tfp tokens. 2006-05-29 19:53:18 +00:00
Matthieu Herrb
c6b1cff432 update to build against Mesa CVS HEAD (Carlos Eduardo Rodrigues Diogenes). 2006-05-25 13:27:42 +00:00
Ian Romanick
aefa347bde Fix build for added file to Mesa CVS. This is always fun. :( 2006-04-13 21:08:25 +00:00
Adam Jackson
bda292120f Coverity #985: Avoid segfault on malloc failure. 2006-04-07 01:23:50 +00:00
Adam Jackson
61926dbe59 Coverity #271: Fix an unbelievably boneheaded NULL chase. 2006-04-03 02:09:05 +00:00
Adam Jackson
c03cfca380 Coverity #986: Prevent a NULL chase. 2006-04-03 01:31:59 +00:00
Kristian Høgsberg
7e085f52b6 Use xf86LoaderCheckSymbol to check for DRI symbols instead of dlsym,
avoiding RTLD_DEFAULT. (__glXDRIscreenProbe): Change GLX-DRI to AIGLX
    in LogMessage for consitency.
2006-04-02 22:31:13 +00:00
Eric Anholt
4e3a4cfdd1 Use RTLD_DEFAULT, rather than relying on NULL happening to map to it as it
does on Linux.
2006-04-02 06:22:05 +00:00
Kristian Høgsberg
8ec42a10ff Mark the ARGB FBConfig as nonconforming to prevent drivers and apps from
falling over.
Add @GLX_DEFINES@ so GLcore gets compiled with TLS support if configured.
Only destroy the mesa buffer if it got initialized.
2006-03-30 20:08:44 +00:00