Commit graph

8618 commits

Author SHA1 Message Date
Brian Paul
0a0cd3a8ae Updates for XCB. Bug 8560. 2006-10-09 14:55:46 +00:00
Ian Romanick
dba173077e Major clean up of MakeContextCurrent
Rearrange most of the internals of MakeContextCurrent.	Put all of the code to
bind the new context up front.	If that is successful, unbind the old context.
This saves a lot of code and removes some locking crazyiness.

This patch has been tested for indirect rendering with glxinfo, glxgears,
manywin, and wincopy.
2006-10-07 02:52:18 +00:00
Roland Scheidegger
fa65447d8c do not import arrays for generic arb attribs if the array is not enabled (same as for generic attribs for nv vp is already done). Since the requested stride is 16, otherwise the code would end up doing lots of unnecessary import work (in doom3, trans_4_GLfloat_4f_raw caused by that was by far the single most time-consuming function in the r200 driver, not importing the disabled arrays caused the cpu time spent in the driver to drop from 45% to 30%, though real-world gain was pretty minimal as it's not really cpu bound here in the first place). 2006-10-07 01:04:49 +00:00
Brian Paul
524bf7bbcf rewrite clear_rgba_buffer_with_masking() 2006-10-06 03:52:01 +00:00
Brian Paul
e18d0f82b6 deal with union/aliasing in convert_color_type() 2006-10-06 03:49:46 +00:00
Brian Paul
6e138dfa36 rewrite of read_fast_rgba_pixels() 2006-10-06 03:48:42 +00:00
Keith Whitwell
fcb48e3422 missing file 2006-10-05 19:16:46 +00:00
Keith Whitwell
68da677ae2 Accelerate glBitmap with a color expand blit. Nice speedup for demos
like 'fire' that display a help message or fps number this way.
2006-10-05 11:35:57 +00:00
Keith Whitwell
1eca12a7d9 Quieten debug message. 2006-10-05 11:34:01 +00:00
Keith Whitwell
496f9ddf35 eliminate rhw divide under some circumstances 2006-10-05 11:28:45 +00:00
Keith Whitwell
e7b0ec9ae7 Quieten debug message. 2006-10-05 11:27:13 +00:00
Ian Romanick
6921063520 Changes to generated code caused by the previous commits. 2006-10-04 22:33:54 +00:00
Ian Romanick
491a16fb0f Fix the ordering of extensions. 2006-10-04 21:59:51 +00:00
Ian Romanick
990c8a9df9 Keep indentation consistent with indent.
Remove code in the Python scripts that keeps the indentation of the
generated code consistent for all cases.  Instead, pass the generated code
through the indent command.  Unix tools for the win!
2006-10-04 21:55:55 +00:00
Ian Romanick
eaeaaf6205 Divide categories into four groups as they are processed from the XML. Add
an iterator to iterate over the categories in order, starting with "core"
versions, then ARB extensions, then numbered non-ARB extensions, and finally
unnumbered extensions.

Use the new iterator in a couple places to ensure that output that is
grouped by catgory is generated in a consistent order.

More changes to the scripts are coming.  The generated files will be
committed one time after all the changes are in.  Too bad we're not using
GIT, or this would be easy. :(
2006-10-04 20:45:59 +00:00
Ian Romanick
553b8334bb Add utility method client_supported_for_indirect.
The new method client_supported_for_indirect is used to determine whether or
not the client-side library supports the function for indirect rendering.
The may or may not have associated protocol that needs to be generated
(e.g., glVertexPointer does not, but glVertex3fv does).
2006-10-04 18:58:10 +00:00
Brian Paul
25e441e8e9 in MakeContextCurrent() use old display pointer for __glXSetupForCommand(), bug 8443 2006-10-04 16:22:24 +00:00
Brian Paul
5ed4e35ba5 use _swrast_span_default_color() in the disabled code too 2006-10-04 15:22:11 +00:00
Brian Paul
9b507639ab call _swrast_span_default_color() to simplify _swrast_Bitmap(), improved comments 2006-10-04 15:21:23 +00:00
Brian Paul
da62bcecfb minor formatting fix 2006-10-04 15:06:27 +00:00
Felix Kuehling
3fd5aa88ea Bugzilla 6242: [mach64] Use private DMA buffers (only)
https://bugs.freedesktop.org/show_bug.cgi?id=6242
Patch by George Sapountzis: https://bugs.freedesktop.org/attachment.cgi?id=6271

Update to new mach64 DRM 2.0.0 with private DMA buffers.
Handle EAGAIN in mach64FireBlitLocked: call drmCommandWrite up to
MACH64_TIMEOUT times when EAGAIN is returned.
Also handle EAGAIN in mach64FlushVerticesLocked.
2006-10-02 20:34:06 +00:00
Brian Paul
346a239f01 return null if no context 2006-10-02 15:20:23 +00:00
Brian Paul
cdb27e8242 New SWspan and SWspanarrays typedefs. 2006-10-01 16:03:05 +00:00
Michel Dänzer
46929c93d8 i915: Fix wait for scheduled swap on secondary display. 2006-09-29 10:22:54 +00:00
Brian Paul
7fa99ed3d8 updated protos for blend funcs 2006-09-29 02:15:23 +00:00
Brian Paul
d92da49bae more changes for runtime renderbuffer depths 2006-09-29 02:12:07 +00:00
Brian Paul
0ce6a2935c include mipmap.h 2006-09-29 01:26:55 +00:00
Brian Paul
24edd90159 Move mipmap generation functions, texture scaling functions into new
mipmap.c file.
2006-09-29 01:24:26 +00:00
Brian Paul
bb4b378c60 updated info about name mangling 2006-09-29 01:22:53 +00:00
Michel Dänzer
af866291da Synchronize drawable to the pipe where the bigger part can be visible.
This requires the DDX driver to set the corresponding fields in the SAREA,
so check its minor version.
2006-09-28 14:10:47 +00:00
Michel Dänzer
4abf2706e9 Add new I830 SAREA fields. 2006-09-28 14:10:07 +00:00
Michel Dänzer
ebc879014c Add helper function that returns the current vblank sequence of a drawable. 2006-09-28 14:09:20 +00:00
Michel Dänzer
638ece315f Add helper function to calculate the area of the intersection of two rectangles. 2006-09-28 14:08:38 +00:00
Michel Dänzer
941c866739 i915: Handle DRM_VBLANK_SECONDARY when scheduling buffer swaps. 2006-09-28 14:07:56 +00:00
Michel Dänzer
c2f1a1857e i915: Attempt to schedule buffer swap on target vertical blank when possible.
This has some advantages over the traditional way of first waiting for the
target vertical blank and then emitting the buffer swap, e.g.

* glXSwapBuffers returns immediately, only the next time the driver needs the
  hardware lock will it block until the target vertical blank. This should
  allow applications that don't intermix rendering and other processing to
  start processing for the next frame right away.
* It's less likely to produce tearing.
2006-09-28 14:07:12 +00:00
Michel Dänzer
7585fc989d Add driGetVBlankInterval() helper function.
This can be used by drivers to determine the current swap interval of a
drawable.
2006-09-28 14:04:19 +00:00
Michel Dänzer
7539fde334 driWaitForVBlank: Add support for secondary vertical blank. 2006-09-28 14:03:41 +00:00
Michel Dänzer
6a2f5c6752 Some restructuring of the driWaitForVBlank() code.
Also some minor fixes for detecting when the deadline is met or missed, in
particular wrt wraparounds of the sequence number.
2006-09-28 14:03:02 +00:00
Michel Dänzer
24bb3b3998 Make driDrawableInitVBlank() initialize the sequence number.
This prevents the first wait for vertical blank from timing out when the X
server has been running for a long time.
2006-09-28 14:02:05 +00:00
Brian Paul
1d914fe465 remove obsolete comment 2006-09-27 14:00:37 +00:00
Jeremy Kolb
07bacc2263 Update to use the new XCB naming convention. 2006-09-26 23:56:20 +00:00
Jeremy Kolb
3d7ee324ad Added function convertStringForXCB. Deals with the recent XCB naming convention switch.
Updated the generated code to use the new XCB naming scheme.
2006-09-26 23:47:04 +00:00
Jeremy Kolb
b68788a1ca Update linux-dr-xcb config file to use LIBDRM_CFLAGS 2006-09-26 23:45:28 +00:00
Jerome Glisse
9e82552c30 Remove r200 dependency
Remove r200 dependency from the code as r200 merged
driver never worked (right ?) and we want to clean
the code.
2006-09-26 17:35:41 +00:00
Jerome Glisse
c67d8678dd Remove r200 dependency.
Remove r200*.h files dependency.
2006-09-26 17:28:40 +00:00
Michal Krol
ea87987dda Prepend #extension 'MESA_shader_debug: require' to each shader. 2006-09-26 16:06:35 +00:00
Michal Krol
27f660c164 Add GLSL preprocessor. 2006-09-26 16:01:11 +00:00
Michal Krol
4303d22739 Fix Windows newlines. 2006-09-26 12:10:33 +00:00
Michal Krol
16647b739b Add syntax files for expression and directive preprocessor.
Fix syntax errors in builtin library 1.2 sources.
All derivative files (*_gc.h and *_syn.h) are generated by Makefile.
2006-09-26 11:43:30 +00:00
Brian Paul
a50b7dbc3b Initial work for supporting different renderbuffer color depths at runtime. 2006-09-25 23:57:39 +00:00