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.
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...
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().
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.
- 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.
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.
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.
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
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
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>.
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.
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).