Commit Graph

127 Commits

Author SHA1 Message Date
Kristian Høgsberg
b84374b291 Add GLX_MESA_copy_sub_buffer marshalling support. 2006-07-06 21:25:29 -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
Kristian Høgsberg
107defd920 Remove superfluous definition of tfp tokens. 2006-05-29 19:53:18 +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
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
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
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
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
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
Kevin E Martin
7c00afd0ec Define XFree86Server only where it is required. 2005-12-02 06:02:45 +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
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
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
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
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
d31de217e6 distcheck fixes 2005-08-02 03:36:09 +00:00
Adam Jackson
0285804811 GLX fix for loadable servers: indirect_size.c goes in libglx, not libGLcore 2005-08-01 18:41:54 +00:00
Adam Jackson
d7e2cadb13 GLX needs gl.h from Mesa too 2005-07-21 02:29:05 +00:00
Adam Jackson
f054bf2ff6 build fix 2005-07-12 01:29:41 +00:00
Adam Jackson
3fe6b5bb30 GLX server support 2005-07-12 01:17:39 +00:00
Ian Romanick
baa99be190 Put the correct value in the length field of the reply. Previously, the
number of tag/date pairs was specified. This was incorrect. The correct
    value is the number of values (one for the tag and one for the value).
Xorg bug: #3210
2005-07-06 07:16:19 +00:00
Daniel Stone
b0d80e76d2 Add missing include paths. 2005-07-03 12:17:04 +00:00
Daniel Stone
e03198972c Add Xtrans definitions (FONT_t, TRANS_CLIENT) to clean up warnings.
Add XSERV_t, TRANS_SERVER, TRANS_REOPEN to quash warnings.
Add #include <dix-config.h> or <xorg-config.h>, as appropriate, to all
    source files in the xserver/xorg tree, predicated on defines of
    HAVE_{DIX,XORG}_CONFIG_H. Change all Xfont includes to
    <X11/fonts/foo.h>.
2005-07-03 07:02:09 +00:00
Daniel Stone
826a6f029f Continuing Makefile cleanup; add DIX_CFLAGS and XORG_CFLAGS everywhere. 2005-07-02 18:59:44 +00:00
Adam Jackson
5e863851a6 Build workaround. Add glcontextmodes.[ch] from Mesa. 2005-06-19 01:30:29 +00:00
Ian Romanick
9f81ce9456 Re-enable GL_HP_occlusion_test. The problems in Mesa that caused this bug
were fixed by Brian Paul in Mesa version 6.1. The current Mesa version
    in the X.org tree is 6.2.1.
Xorg bug: 762
2005-06-09 21:48:45 +00:00
Adam Jackson
547c47aaea Bug #3407: Clean out ancient #ifdef X11R5 conditionals. 2005-05-30 18:36:19 +00:00
Søren Sandmann Pedersen
61b3c3aef5 Thu Jan 13 17:45:13 2005 Søren Sandmann <sandmann@redhat.com>
Make sure the pixmap is a valid new resource
Make sure the context is a legal new resource.
Handle null attrib_list.
Handle null attrib_list; copy attrib_list to data; actually allocate the
    new GLXDrawable.
2005-01-13 23:07:41 +00:00
Eric Anholt
5825e4559e Fix after Mesa 20040812 merge: revert glxext.h to vendor branch, and fix
bug #1022.
2004-08-12 23:14:50 +00:00
Kevin E Martin
21c7c8cdc7 Fix install problem on platforms not using xorg.cf/xfree86.cf (Bug #339,
Harold L. Hunt II, Alexander Gottwald).
Fix crash when using X core font in zh_CN.UTF-8 locale (Bug #368, Yu Shao,
    David Dawes).
Fix glXMakeCurrent(Dpy, None, NULL) crash (Bug #719, Adam Jackson).
HP-PA build fix (Bug #828, Guy Martin, Paul Anderson).
Fix SDK build for GATOS and Wacom driver (Bug #829, Bryan Stine).
Fix attempt to read video ROM before enabling it (Bug #843, Ivan
    Kokshaysky, Mike A. Harris).
Fix detection of primary adapter (Bug #843, Ivan Kokshaysky, Mike A.
    Harris).
Clarify xset man page description of how to use the keyboard repeat rate
    settings (Bug #846, Mike A. Harris).
Fix problem where print-screen key would get remapped to sys-req in certain
    keymaps, which broke GNOME printscreen functionality (Bug #847, Owen
    Taylor).
Fix several render problems:
- MMIO mode support
- Hang on IGP chips
- VT switching hang
- 3D render corruption (Bug #922, Hui Yu).
2004-08-09 22:37:22 +00:00
Kevin E Martin
4da507a03f Fix compiler warning 2004-07-31 00:32:43 +00:00
Kevin E Martin
854c1afa86 Fix "DoLoadableServer NO" build 2004-07-30 04:44:13 +00:00
Torrey Lyons
ddd5835612 Fix XDarwin's broken build of libGL and server side GLX. GL library is only
known to build correctly on Mac OS X 10.3.4 and still needs some work
    for earlier versions.
2004-07-27 20:24:00 +00:00
Adam Jackson
799208dd44 Bug #377: Make lib{glx,GLcore,dri} work when compiled as dlloader modules. 2004-07-26 19:06:04 +00:00
Alexander Gottwald
68d92cca1a Bug 782: Merge native OpenGL for Windows from CYGWIN branch 2004-06-21 13:35:05 +00:00
Eric Anholt
e56e24af25 Merge DRI-trunk-20040613 changes in programs/Xserver/GL. 2004-06-16 09:37:59 +00:00
Eric Anholt
2e1868b560 DRI trunk-20040613 import 2004-06-16 09:25:21 +00:00
Eric Anholt
22bad9474b DRI XFree86-4_3_99_12-merge import 2004-06-16 09:22:17 +00:00
Egbert Eich
0664db19bf Merging XORG-CURRENT into trunk 2004-04-23 18:54:16 +00:00
Egbert Eich
dae90c3af9 Importing vendor version xf86-4_4_99_1 on Sun Mar 14 00:26:39 PST 2004 2004-03-14 08:34:49 +00:00
Egbert Eich
867451f1ab Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004 2004-03-03 12:12:50 +00:00
Egbert Eich
df0313d35b readding XFree86's cvs IDs 2004-02-26 13:36:15 +00:00
Egbert Eich
147aae87fd Importing vendor version xf86-4_3_99_903 on Wed Feb 26 01:21:00 PST 2004 2004-02-26 09:23:53 +00:00
Kaleb Keithley
4ee0a53de8 Import most of XFree86 4.4RC3. This import excludes files which have the
new license. If we want to, later we can import 4.4RC3 again and pick
    up the files that have the new license, but for now the vendor branch
    is "pure."
2004-02-23 20:35:22 +00:00
Kaleb Keithley
adc7f9a4eb XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks 2003-11-25 19:29:01 +00:00
Kaleb Keithley
9508a382f8 Initial revision 2003-11-14 16:48:57 +00:00