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