Commit Graph

61 Commits

Author SHA1 Message Date
Eamon Walsh
27bcf40cda XACE: Fix instances of DixUnknownAccess at hook callsites. 2008-02-28 16:43:43 -05:00
Aaron Plattner
f2e310132f Add CreatePixmap allocation hints.
These hints allow an acceleration architecture to optimize allocation of certain
types of pixmaps, such as pixmaps that will serve as backing pixmaps for
redirected windows.
2007-11-04 16:11:28 -08:00
Kristian Høgsberg
497aba8949 Weed out some unused fluff from __GLXcontext. 2007-10-26 11:25:57 -04:00
Kristian Høgsberg
f62277d421 Clean up unused pVisual part of __GLXcontext. 2007-10-25 18:49:02 -04:00
Michel Dänzer
fbe19c66c3 GLX: Fix leak of X pixmaps associated with GLX pixmaps. 2007-10-22 18:28:03 +02:00
Kristian Høgsberg
8fc635e6a8 Separate handling of GLX visuals and GLX FBConfigs.
XIDs for GLX visuals and FBConfigs used to be interchangable and the list of
GLX visuals was identical to the list for FBConfigs.  This patch splits handling
of these two data types and allows the X server to pick and choose the FBConfigs
that are exposed as visuals.
2007-10-18 21:03:43 -04:00
Michel Dänzer
70a5d33c9e Always check the return value of __glXGetDrawable first.
Fixes spurious GLX protocol errors because __glXGetDrawable doesn't set the
error code in case of success. Maybe it should, though.
2007-10-16 12:46:07 +02:00
Kristian Høgsberg
8b5078b7d9 Fix byte swapping for GetFBConfigs. 2007-10-15 13:11:30 -04:00
Kristian Høgsberg
ec0fc012e9 Fix GLX byteswapping. 2007-10-14 14:59:12 -04:00
Kristian Høgsberg
ccda4b66bd Implement ChangeDrawableAttributes so we can support GLX_EVENT_MASK.
We never need to actually send out the clobber event, so this should be
sufficient for GLX 1.3.
2007-10-12 19:15:05 -04:00
Kristian Høgsberg
695eb8b2e8 Implement GLX pbuffers. 2007-10-12 19:12:26 -04:00
Kristian Høgsberg
516c181f57 Add dispatching for GLX_SGIX_pbuffer. 2007-10-12 18:48:38 -04:00
Kristian Høgsberg
d7ded953c4 Implment GLXPixmaps. 2007-10-12 18:26:55 -04:00
Kristian Høgsberg
600028305c Move hyperpipe and swapbarrier extension funcs to screen private struct.
This gets rid of a couple more global arrays and gets the two extensions
more in line with the general extension mechanism.
2007-10-12 16:18:23 -04:00
Kristian Høgsberg
781515bb63 Convert GLX module to use screen private indexes like everything else. 2007-10-12 16:18:19 -04:00
Kristian Høgsberg
72a3d68a2f Update the AIGLX DRI loader to use the new DRI interface.
This lets us drop a bunch of workarounds and use the new DRI extension
mechanism.
2007-10-12 15:51:47 -04:00
Michel Dänzer
17cb4f64e3 GLX_EXT_texture_from_pixmap: Use client provided texture target when available.
This prevents situations where the server doesn't use the target the
client thinks it does, usually resulting in the texture being sampled as all
white.
2007-08-01 18:13:18 +02:00
Michel Dänzer
161624a5a4 GLX: Only build code dealing with GLXPixmap damage field when DRI is enabled. 2007-07-10 09:02:40 +02:00
Adam Jackson
e6a7198e7c Bug #8991: Add glXGetDrawableAttributes dispatch; fix texture format therein.
Adapted to master branch by Michel Dänzer <michel@tungstengraphics.com>.
2007-05-22 10:51:55 +02:00
Brian
c1e1d6b98a In __glXCreateARGBConfig(), insert the new GL mode at the _end_ of the linked list.
Previously, the new mode was added at the head of the list.  This caused the
positional correspondence between modes and the XMesaVisuals array to be off
by one.  The net result was GLX clients failing when they tried to use the
last GLX mode/visual.

We still have the problem of DRI drivers not being able to use the extra
mode/visual introduced by __glXCreateARGBConfig().  glXCreateContext fails
with BadAlloc if it's attempted.  This is also the source of the often-
seen warning "libGL warning: 3D driver claims to not support visual xxx"
Look into fixing that someday...
2007-05-02 15:56:05 -06:00
Eamon Walsh
10aabb729d Convert callers of LookupDrawable() to dixLookupDrawable(). 2006-12-15 16:36:29 -05: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
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
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
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
Adam Jackson
0aaac95b0d Remove RCS tags. Fix Xprint makefile braindamage. 2006-07-21 17:56:00 -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
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
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
Kristian Høgsberg
107defd920 Remove superfluous definition of tfp tokens. 2006-05-29 19:53:18 +00:00
Adam Jackson
c03cfca380 Coverity #986: Prevent a NULL chase. 2006-04-03 01:31:59 +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
8e3ad87d01 #include indirect_dispatch to get prototypes for FBO functions.
Fix a couple of warnings.
2006-03-21 22:32:13 +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
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
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
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
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
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
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
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
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