Commit Graph

202 Commits

Author SHA1 Message Date
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
Kristian Høgsberg 6d7ad353ba Regenerate these files using updated scripts to avoid unused variable
warnings.
2006-03-30 18:29:53 +00:00
Kristian Høgsberg 7df64898ea Fix a couple of typos. 2006-03-28 07:46:04 +00:00
Kristian Høgsberg a06342eccc Add --enable-glx-tls ./configure option to enable use of TLS for storing
current GL context. Use this option to let AIGLX load DRI drivers
    compiled for TLS.
2006-03-28 02:57:07 +00:00
Kristian Høgsberg d1746ec0f0 Make sure DRI module is loaded before calling DRI functions. 2006-03-24 17:58:39 +00:00
Kristian Høgsberg 6d2896b384 Improve error logging. 2006-03-22 22:49:52 +00:00
Kristian Høgsberg 966d93ef6d Make the server distcheck and tag 1.0.99.1 snapshot.
Bump CVS version to 1.0.99.1.
Distcheck fixes.
2006-03-21 22:54:38 +00:00
Kristian Høgsberg 8e3ad87d01 #include indirect_dispatch to get prototypes for FBO functions.
Fix a couple of warnings.
2006-03-21 22:32:13 +00:00
Donnie Berkholz dcc43d57cb Finish glx_ansic.h wrapper changes to make Xvfb and Xnest link again. 2006-03-20 20:10:29 +00:00
Kristian Høgsberg 2d2d38d17c Check for glproto when building GLX and make sure we have at least 1.4.6.
Drop glx_ansic.h wrapper and call xalloc, xrealloc, xfree and str-funcs
    directly.
2006-03-17 01:47:25 +00:00
Kristian Høgsberg 2c11cde336 More patches from David Reveman:
Add GL_ARB_texture_non_power_of_two, GL_EXT_framebuffer_object and
    GL_NV_texture_env_combine4 extensions.
Add __GLXcontext destructor and flush context cache there and on
    loseCurrent.
Chain back to new __GLXcontext destructor. (__glXMesaContextForceCurrent):
    Set render table on forceCurrent. (init_screen_visuals): Index pVis
    array correctly. (GlxGetMesaProvider): Add this.
Hook up FBO marshalling.
2006-03-17 00:35:18 +00:00
Felix Kuehling b726aa502a Update to build against Mesa CVS HEAD. 2006-03-15 18:37:44 +00:00
Kristian Høgsberg 01aa209f20 Bail out early if screen doesn't support DRI. 2006-03-14 19:32:27 +00:00
Kristian Høgsberg e5956f49b2 First batch of AIGLX fixes from David Reveman.
Add getter for Mesa provider.
Export this for Xgl.
Move resource tracking out of drawable constructor to allow wrapping.
Use corrent reply size #define.
Add this function. (DoGetDrawableAttributes): Fix array length.
2006-03-13 01:54:59 +00:00
Kristian Høgsberg c3342c8000 Merge accel_indirect branch to HEAD. 2006-03-12 00:11:34 +00:00
Matthieu Herrb b56a1513d2 Definitions for bswapxx() macros on OpenBSD. 2006-03-05 16:32:40 +00:00
Felix Kuehling 054c291b27 Fix build against Mesa CVS HEAD: added s_blit.c to symlink-mesa.sh. 2006-03-02 18:35:08 +00:00
Brian Paul c1a82b9554 added s_blit.c file 2006-03-02 03:43:26 +00:00
Felix Kuehling 088e5768fa Fixing the Mesa build again, sigh. Add slang_execute_x86.c. Add
-I../shader/slang to swrast INCLUDES.
2006-02-27 18:12:24 +00:00
Alexander Gottwald 028d6903f6 Bug #5978: Added missing swap of input variables. Added missing cases for
GL_SECONDARY_COLOR_ARRAY and GL_FOG_COORD_ARRAY (Colin McDonald)
2006-02-22 16:29:07 +00:00
Jeremy C. Reed 43fbcc28c9 Update to build against Mesa HEAD. (Thank you Felix for feedback on xorg
list.)
2006-02-22 02:47:00 +00:00
Felix Kuehling cc42e153c2 Update to build against Mesa HEAD. 2006-02-20 03:00:09 +00:00
Eric Anholt 6770f1bdb1 Define NO_LIBCWRAPPER in dix-config.h, and rely on Mesa including
dix-config.h if DIX_HAVE_CONFIG_H is defined to get it and _XSERVER64,
    instead of defining things like this per directory.
2006-02-15 21:09:14 +00:00
Kristian Høgsberg 6ad4325b87 Update to build against mesa head. 2006-02-15 18:26:45 +00:00
Eric Anholt 0446aafa94 Avoid some more libcwrapper damage that prevented kdrive linking. 2006-02-15 03:07:23 +00:00
Dave Airlie 1132d0e610 update to latest Mesa CVS HEAD 2006-02-14 06:27:59 +00:00
Eric Anholt 4fafba61d5 Remove libcwrapper damage from GLX (requires fresh Mesa HEAD), and get it
compiling in kdrive.
2006-02-11 03:03:45 +00:00
Eric Anholt c3d1403672 Remove libcwrapper usage from xorg server modules. The libcwrapper is only
of (marginal) use in the drivers, and that usage remains.
2006-02-10 22:00:30 +00:00
Eric Anholt fa3a65e33d Remove the include of X11/misc.h, which fails to compile and isn't
necessary.
2006-02-10 07:47:21 +00:00
Donnie Berkholz 701b63cf1d Update to build against Mesa trunk. 2006-01-30 20:04:56 +00:00
Donnie Berkholz c5e9318290 Really allow linking against Mesa trunk to work. 2006-01-26 04:32:45 +00:00
Alan Hourihane 2e28f4104d Allow current trunk to build against Mesa trunk 2006-01-24 22:05:33 +00:00
Daniel Stone 03ebd37bab Make error() bomb with exit code 1, not 0. 2006-01-19 12:25:01 +00:00
Eric Anholt adce1f16e0 Only try to use byteswap.h on linux. Assume that everyone else (thinking of
BSDs here) has sys/endian.h, and use macros as appropriate for the
    names. This should probably be in a gloabl header.
2006-01-19 00:06:57 +00:00
Ian Romanick 847d83ec3c Bug #2996: libglx / libGLcore should use a dispatch table
Port all changes from the (monolithic) accelerated_indirect-0-0-1 branch to
    the modular trunk. This will break the Darwin and cygwin builds. Other
    than the changes to symlink-mesa.sh and the various Makefile.am files,
    to code is identical to what's in the branch.
Reviewed by: airlied, krh
2006-01-12 00:21:59 +00:00
Adam Jackson cf605eb916 Build libglx correctly when not building the Xorg DDX. 2005-12-13 17:35:26 +00:00
Kevin E Martin 7c00afd0ec Define XFree86Server only where it is required. 2005-12-02 06:02:45 +00:00
Kevin E Martin 924518605b Fix GL build when srcdir != builddir (Donnie Berkholz). 2005-12-01 23:39:00 +00:00
Kevin E Martin da5d66f2ff Fix usage of XFree86LOADER/XFree86Module/IN_MODULE and update loadable
module builds to reflect this change.
2005-11-29 16:39:33 +00:00
Kevin E Martin 63aa96c08a Update pkgconfig files to separate library build-time dependencies from
application build-time dependencies, and update package deps to work
    with separate build roots.
2005-11-19 07:15:50 +00:00
Kevin E Martin 16b315affa Use glcontextmodes.[ch] from Mesa. 2005-11-14 21:04:12 +00:00
Kevin E Martin 0c110c80e7 Add GL_CFLAGS so that GLX can find its proto headers when using separate
build dirs.
2005-11-14 20:18:03 +00:00
Dave Airlie b588bdfe2a programs/Xserver/GL/mesa/X/xf86glx.c: Missing initializer in xf86glx.c
spotted while debugging something else.
2005-10-22 04:38:50 +00:00
Ian Romanick f5a5817834 Make sure that the __gl*_size prototypes are seen in all the places that
they need to be seen.
2005-10-20 23:24:47 +00:00
Kevin E Martin 1859c62607 include/dix-config.h.in Add support for more extensions
Add missing files to EXTRA_DIST
2005-10-17 07:18:59 +00:00
Adam Jackson 61cd478b54 Bug #3652: Server-side GLX support for GLX_SGIX_swap_barrier and
GLX_SGIX_hyperpipe extensions. (Eric Kunze, SGI)
2005-10-05 22:39:41 +00:00
Ian Romanick 2c82429f89 Refactors __glXImageSize and __glXImage3DSize into a single function. It
replaces all calls to the old functions with calls to __glXImageSize
    with the new parameter list.
I have also added 'target' as a parameter. This is a stepping stone to the
    code in patch #2410. Basically, if the texture target is one of
    GL_PROXY_*, the image size is always zero. This gathers all the checks
    for that into a single place. I have *not* modified the existing
    callers to take this into account. They still do their own checks for
    GL_PROXY_*. However, when the generated versions of those functions are
    added to the tree, they *will* rely on that.
The code growth is mainly due to the new 40 line comment before
    __glXImageSize.
I have tested this with a few of the texture using demos and tests from
    Mesa, including tunnel, texdown, and drawpix.
Reviewed by: Adam Jackson, Eric Anholt, and Brian Paul.
2005-10-01 22:25:13 +00:00
Ian Romanick e27b3e4ea1 Remove some more incorrect prototypes for the __gl*_size functions. 2005-10-01 22:19:04 +00:00
Ian Romanick 940158a6f2 Replace all uses of __glEvalComputeK (and the doubly redundant
EvalComputeK) with calls to one of __glMap[12][df]_size. This was
    tested with progs/samples/eval (from Mesa).
2005-09-28 03:37:22 +00:00
Ian Romanick 30ff9e2619 Fix some problems that caused incorrectly annotated prototypes for
__gl*_size functions to be used. The result was that, on x86, the code
    would be compiled with FASTCALL semantics, but the callers would not.
    This should fix GLX protocol errors that people are seeing. There
    doesn't appear to be a bugzilla associated with this problem.
2005-09-27 00:04:40 +00:00
Daniel Stone 691669c012 xorg-server.h -> dix-config.h (thinko). 2005-09-03 07:08:58 +00:00
Daniel Stone 854010d71d Add -include dix-config.h to GL/mesa/X to catch _XSERVER64, et al. 2005-09-02 03:22:01 +00:00
Alan Hourihane b47535bd66 programs/Xserver/GL/windows/glwrap.c Wrap PointParameteriNV &
PointParameterivNV for Windows builds.
2005-08-24 08:49:31 +00:00
Daniel Stone a402c876a4 Make DRI/GLcore builds srcdir != builddir safe, and invoke symlink-mesa.sh
in our builddir, not our srcdir.
2005-08-20 18:11:17 +00:00
Ian Romanick 370b111f48 Use '$(DRMSRCDIR)/shared-core' instead of '$(DRMSRCDIR)/shared' for DRM
includes. This matches the way drivers are built in the Mesa tree and
    fixes a build problem in the Savage driver.
Convert uses of __glPointParameterfvARB_size to
    __glPointParameterfvEXT_size and uses of __glPointParameteriv_size to
    __glPointParameterivNV_size. This eliminates the need to hand-edit
    indirect_size.c after it is generated.
2005-08-12 16:30:57 +00:00
Adam Jackson 39a80312e0 - Bug #3960: Add remaining GLX and pci.ids stuff to DIST (Cha Young-Ho,
Olli Helenius)
- Fix some distcheck problems for non-solaris systems
- Change server version number from the Xorg rev to an independent one
- _POSIX_SOURCE and _XOPEN_SOURCE defined to the right values
2005-08-04 22:31:20 +00:00
Adam Jackson e62be6d272 - Check for vsnprintf
- Don't build the Xorg DDX on darwin
- Workaround for gcc defining __ppc__ but not __powerpc__
2005-08-04 18:45:46 +00:00
Adam Jackson 9802106864 dist fixes for cw and GL (Donnie Berkholz, me) 2005-08-03 01:41:34 +00:00
Adam Jackson d31de217e6 distcheck fixes 2005-08-02 03:36:09 +00:00