Brian Paul [Sun, 15 Oct 2006 22:29:16 +0000 (22:29 +0000)]
regenerated to get DRI_CONF_EXCESS_MIPMAP()
Roland Scheidegger [Sun, 15 Oct 2006 21:47:56 +0000 (21:47 +0000)]
fix handling of textures with a base internal format that does not have all four rgba values set for radeon and r200 (discovered with a modified glean pixelFormats test, noone ever noticed in over 2 years). For radeon, use hw format I8 as previously, and change tex env to make the correct default values appear for both GL_ALPHA and GL_LUMINANCE textures. For r200, which supports GL_LUMINANCE just fine, use the AL88 hw format for GL_ALPHA textures, since it seems like it's probably not worth the effort to fix up the texture environment (certainly complicated in case of ATI_fragment_shader programs).
Brian Paul [Sun, 15 Oct 2006 19:26:43 +0000 (19:26 +0000)]
Added #if / #else / #endif around code related to framebuffer initialization
to describe what should be changed in the drivers.
Brian Paul [Sun, 15 Oct 2006 19:20:29 +0000 (19:20 +0000)]
updated comments, mark GetBufferSize() and ResizeBuffers() as obsolete
Brian Paul [Sun, 15 Oct 2006 19:08:11 +0000 (19:08 +0000)]
minor clean-up: s/intel->driDrawable/dPriv/
Brian Paul [Sun, 15 Oct 2006 18:51:22 +0000 (18:51 +0000)]
Remove calls to _mesa_ResizeBuffersMESA() - generally replace with code to
check the current window size, then call _mesa_resize_framebuffer().
Brian Paul [Sun, 15 Oct 2006 18:31:29 +0000 (18:31 +0000)]
Remove a bunch of "ctx->Driver.function = _swrast_Function" lines since
default/fallback functions are already plugged in by the call to
_mesa_init_driver_functions().
Jerome Glisse [Sun, 15 Oct 2006 18:22:28 +0000 (18:22 +0000)]
Use endianness test function provided by mesa.
Use the _mesa_little_endian helper function insted
of the MESA_BIG_ENDIAN flag. There is still place
using this flag but we need to find how to submit
16bits elements on big endian computer.
Brian Paul [Sun, 15 Oct 2006 18:18:39 +0000 (18:18 +0000)]
Remove Driver.ResizeBuffers = _mesa_resize_framebuffer lines.
This is already done by the preceeding call to _mesa_init_driver_functions()
which plugs in default functions like that.
Brian Paul [Sun, 15 Oct 2006 17:57:53 +0000 (17:57 +0000)]
increate MaxTextureLevels to 11 (bug 3130)
Brian Paul [Sun, 15 Oct 2006 16:38:09 +0000 (16:38 +0000)]
check if files exist before installing (Thierry Reding)
Brian Paul [Sat, 14 Oct 2006 23:24:45 +0000 (23:24 +0000)]
allow specifying image size on cmd line
Brian Paul [Sat, 14 Oct 2006 23:02:26 +0000 (23:02 +0000)]
Some code movement so that the gl_framebuffer is fully initialized before
calling _mesa_make_current() to avoid hitting the initialize_framebuffer_size()
stuff in context.c
Brian Paul [Sat, 14 Oct 2006 22:52:17 +0000 (22:52 +0000)]
Big re-org of buffer size management.
All buffer resizes now handled by xmesa_check_and_update_buffer_size() which
uses the _mesa_resize_framebuffer() function.
Moved all low-level XImage/Pixmap resizing into xm_buffers.c file.
Also, update lots of comments for Doxygen.
Brian Paul [Sat, 14 Oct 2006 21:33:06 +0000 (21:33 +0000)]
cut and paste error: s/Width/Height/
Brian Paul [Sat, 14 Oct 2006 20:28:36 +0000 (20:28 +0000)]
build fix: s/Table/TableUB/
Brian Paul [Sat, 14 Oct 2006 15:22:18 +0000 (15:22 +0000)]
assorted clean-ups
Roland Scheidegger [Fri, 13 Oct 2006 22:10:05 +0000 (22:10 +0000)]
implement ARB_point_parameters and ARB_point_sprite on r200. The code is nearly the same as outlined in bug #4707, except it disables perspective correction for point sprites to make them actually work. And, separate the state atom into two as the tcl parameters would overwrite vertex program parameters when active. Also implement the GL_VERTEX_PROGRAM_POINT_SIZE_ARB option to make vertex programs outputting a point size work correctly (untested). Smooth points will still always be size 1. While here, enable gouraud shading for fog when using fog coord.
Brian Paul [Fri, 13 Oct 2006 17:45:08 +0000 (17:45 +0000)]
remove needless condition
Brian Paul [Fri, 13 Oct 2006 17:41:23 +0000 (17:41 +0000)]
Consolidate, move, fix code related to color index and stencil image transfer
operations (shift, offset, table lookup, etc).
Ian Romanick [Fri, 13 Oct 2006 17:34:01 +0000 (17:34 +0000)]
Fix dumb build errors.
I always build with -DGLX_USE_TLS, so I never hit these paths. glapi.h is
required in some places because _glapi_Dispatch is declared there, but
_glapi_tls_Dispatch is declared in glthread.h.
Brian Paul [Fri, 13 Oct 2006 16:34:25 +0000 (16:34 +0000)]
In _mesa_pack_rgba_span_float() we don't need to make a temporary copy of
incoming colors when applying pixel transfer ops. In all cases, the
caller either indicates there's no pixel transfer ops, or the incoming
colors are coming from temporary storage already and can be safely
modified.
Brian Paul [Fri, 13 Oct 2006 15:11:47 +0000 (15:11 +0000)]
s/GLuint/GLbitfield/
Brian Paul [Fri, 13 Oct 2006 15:10:55 +0000 (15:10 +0000)]
s/GL_FALSE/0x0/
Brian Paul [Fri, 13 Oct 2006 15:00:35 +0000 (15:00 +0000)]
removed obsolete _mesa_pack_rgba_span_chan()
Brian Paul [Fri, 13 Oct 2006 13:28:48 +0000 (13:28 +0000)]
include glapi.h to fix broken build
Keith Whitwell [Fri, 13 Oct 2006 11:21:55 +0000 (11:21 +0000)]
Upload of interleaved arrays currently assumes that position is the
first element in the interleaved group. Add a test to catch cases
where this isn't true and use per-array uploads instead. Fixes compiz
glitches on x64.
Keith Whitwell [Fri, 13 Oct 2006 11:20:25 +0000 (11:20 +0000)]
Make sure instructions are zero'd out before use.
Keith Whitwell [Fri, 13 Oct 2006 11:19:38 +0000 (11:19 +0000)]
Use unsigned long batchbuffer offset, fixes x64 warnings.
Keith Whitwell [Fri, 13 Oct 2006 11:17:37 +0000 (11:17 +0000)]
Fix printf warning.
Keith Whitwell [Fri, 13 Oct 2006 11:16:45 +0000 (11:16 +0000)]
Use unsigned long cast for checking pointer alignment, fixes x64 warnings.
Keith Whitwell [Fri, 13 Oct 2006 11:14:43 +0000 (11:14 +0000)]
Use mesa function to get opcode name rather than an internal table.
Michal Krol [Fri, 13 Oct 2006 08:44:32 +0000 (08:44 +0000)]
Indent and cosmetic changes.
Brian Paul [Fri, 13 Oct 2006 00:44:31 +0000 (00:44 +0000)]
Revamp color table code.
Always store all color tables as both float and ubyte.
Brian Paul [Thu, 12 Oct 2006 23:48:57 +0000 (23:48 +0000)]
adjust_colors() function replaces old _mesa_chan_to_float_span() function.
Brian Paul [Thu, 12 Oct 2006 23:47:51 +0000 (23:47 +0000)]
use _mesa_map_ci8_to_rgba8() instead of _mesa_map_ci8_to_rgba()
Brian Paul [Thu, 12 Oct 2006 23:47:19 +0000 (23:47 +0000)]
remove _mesa_chan_to_float_span(), rename _mesa_map_ci8_to_rgba()
Brian Paul [Thu, 12 Oct 2006 23:18:05 +0000 (23:18 +0000)]
_mesa_map_ci_to_rgba_chan() no longer used
Brian Paul [Thu, 12 Oct 2006 23:17:02 +0000 (23:17 +0000)]
Lots of changes to support runtime renderbuffer depths.
_swrast_read_rgba_span() now takes a datatype parameter.
New optimization for glReadPixels(format=GL_RGB).
New glCopyPixels optimization for the simple, common cases.
Brian Paul [Thu, 12 Oct 2006 23:14:19 +0000 (23:14 +0000)]
don't use temp storage in _mesa_convert_colors() when possible
Brian Paul [Thu, 12 Oct 2006 15:55:04 +0000 (15:55 +0000)]
remove some debug code invalidated by prev check-in
Ian Romanick [Wed, 11 Oct 2006 22:37:14 +0000 (22:37 +0000)]
Fix bug #4681.
glDeleteTextures and glDeleteTexturesEXT were erroneously listed as
aliases of each other. For anything /except/ GLX protocol they are
aliases. This set of changes allows functions that are functionally
identical but have different GLX protocol to be listed as aliases.
When building with GLX_INDIRECT_RENDERING set, different static
functions are used. These functions determine whether the current
context is direct rendering or not. If the context is direct
rendering, the aliased function (e.g., glDeleteTextures in the case of
glDeleteTexturesEXT) is called. If the context is not direct
rendering, the correct GLX protocol is sent.
For a deeper explanation of what is changed, please see:
http://dri.freedesktop.org/wiki/PartiallyAliasedFunctions
Brian Paul [Wed, 11 Oct 2006 22:21:55 +0000 (22:21 +0000)]
use GLvoid * for _swrast_write_zoomed_rgb/rgba_span() functions
Brian Paul [Wed, 11 Oct 2006 22:07:01 +0000 (22:07 +0000)]
rewrite/simplify the fast_draw_pixels() function
Brian Paul [Wed, 11 Oct 2006 22:03:34 +0000 (22:03 +0000)]
use _mesa_convert_colors(), update some assertions
Brian Paul [Wed, 11 Oct 2006 22:02:36 +0000 (22:02 +0000)]
Added _mesa_convert_colors().
_mesa_clip_drawpixels() now handles Pixel.ZoomY==-1.
Brian Paul [Wed, 11 Oct 2006 20:14:08 +0000 (20:14 +0000)]
support for runtime renderbuffer depths
Brian Paul [Wed, 11 Oct 2006 17:45:06 +0000 (17:45 +0000)]
In xmesa_DrawPixels_8R8G8B() check if drawing into a window system buffer,
not a user-created FBO.
Brian Paul [Wed, 11 Oct 2006 16:34:23 +0000 (16:34 +0000)]
added shaderobjects_3dlabs.c
Brian Paul [Wed, 11 Oct 2006 16:26:09 +0000 (16:26 +0000)]
remove 3dlabs.c
Brian Paul [Wed, 11 Oct 2006 16:05:59 +0000 (16:05 +0000)]
sources for X.org xserver build
Brian Paul [Wed, 11 Oct 2006 15:52:00 +0000 (15:52 +0000)]
List of source (.c) files in each directory.
To be included by X.org Makefile.am files so that lists of files don't need
to be hardcoded and frequently updated there.
Brian Paul [Tue, 10 Oct 2006 22:45:50 +0000 (22:45 +0000)]
a step toward moving run-time vertex program state out of GLcontext
Brian Paul [Tue, 10 Oct 2006 21:44:55 +0000 (21:44 +0000)]
fixed NV_position_invariant
Brian Paul [Tue, 10 Oct 2006 21:43:31 +0000 (21:43 +0000)]
Move the fp_machine struct into s_nvfragmprog.c since (except for program
debug) it's only used there.
Brian Paul [Tue, 10 Oct 2006 21:25:27 +0000 (21:25 +0000)]
s/GLuint/GLbitfield/
Brian Paul [Tue, 10 Oct 2006 21:23:23 +0000 (21:23 +0000)]
If program is position invariant, set VERT_BIT_POS in InputsRead field.
Fixes broken "OPTION NV_position_invariant".
Keith Whitwell [Tue, 10 Oct 2006 08:58:43 +0000 (08:58 +0000)]
Use the mesa-provided texenv program rather than rolling our own.
Turn on texture crossbar support.
Ian Romanick [Mon, 9 Oct 2006 18:26:03 +0000 (18:26 +0000)]
Added dispatch.html.
This new file documents Mesa's implementation of GL function dispatch. It's
not quite complete, but I think there's enough there to make it useful.
Brian Paul [Mon, 9 Oct 2006 16:09:30 +0000 (16:09 +0000)]
return void instead of GLvoid for glClearDebugLogMESA(), glGetDebugLogMESA()
Ian Romanick [Mon, 9 Oct 2006 15:25:03 +0000 (15:25 +0000)]
Updates for XCB. Bug 8560.
Brian Paul [Mon, 9 Oct 2006 14:57:50 +0000 (14:57 +0000)]
added a SyncHandle() call, remove UnlockDisplay() call. (bug 8521)
Brian Paul [Mon, 9 Oct 2006 14:55:46 +0000 (14:55 +0000)]
Updates for XCB. Bug 8560.
Ian Romanick [Sat, 7 Oct 2006 02:52:18 +0000 (02:52 +0000)]
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.
Roland Scheidegger [Sat, 7 Oct 2006 01:04:49 +0000 (01:04 +0000)]
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).
Brian Paul [Fri, 6 Oct 2006 03:52:01 +0000 (03:52 +0000)]
rewrite clear_rgba_buffer_with_masking()
Brian Paul [Fri, 6 Oct 2006 03:49:46 +0000 (03:49 +0000)]
deal with union/aliasing in convert_color_type()
Brian Paul [Fri, 6 Oct 2006 03:48:42 +0000 (03:48 +0000)]
rewrite of read_fast_rgba_pixels()
Keith Whitwell [Thu, 5 Oct 2006 19:16:46 +0000 (19:16 +0000)]
missing file
Keith Whitwell [Thu, 5 Oct 2006 11:35:57 +0000 (11:35 +0000)]
Accelerate glBitmap with a color expand blit. Nice speedup for demos
like 'fire' that display a help message or fps number this way.
Keith Whitwell [Thu, 5 Oct 2006 11:34:01 +0000 (11:34 +0000)]
Quieten debug message.
Keith Whitwell [Thu, 5 Oct 2006 11:28:45 +0000 (11:28 +0000)]
eliminate rhw divide under some circumstances
Keith Whitwell [Thu, 5 Oct 2006 11:27:13 +0000 (11:27 +0000)]
Quieten debug message.
Ian Romanick [Wed, 4 Oct 2006 22:33:54 +0000 (22:33 +0000)]
Changes to generated code caused by the previous commits.
Ian Romanick [Wed, 4 Oct 2006 21:59:51 +0000 (21:59 +0000)]
Fix the ordering of extensions.
Ian Romanick [Wed, 4 Oct 2006 21:55:55 +0000 (21:55 +0000)]
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!
Ian Romanick [Wed, 4 Oct 2006 20:45:59 +0000 (20:45 +0000)]
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. :(
Ian Romanick [Wed, 4 Oct 2006 18:58:10 +0000 (18:58 +0000)]
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).
Brian Paul [Wed, 4 Oct 2006 16:22:24 +0000 (16:22 +0000)]
in MakeContextCurrent() use old display pointer for __glXSetupForCommand(), bug 8443
Brian Paul [Wed, 4 Oct 2006 15:22:11 +0000 (15:22 +0000)]
use _swrast_span_default_color() in the disabled code too
Brian Paul [Wed, 4 Oct 2006 15:21:23 +0000 (15:21 +0000)]
call _swrast_span_default_color() to simplify _swrast_Bitmap(), improved comments
Brian Paul [Wed, 4 Oct 2006 15:06:27 +0000 (15:06 +0000)]
minor formatting fix
Felix Kuehling [Mon, 2 Oct 2006 20:34:06 +0000 (20:34 +0000)]
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.
Brian Paul [Mon, 2 Oct 2006 15:20:23 +0000 (15:20 +0000)]
return null if no context
Brian Paul [Sun, 1 Oct 2006 16:03:05 +0000 (16:03 +0000)]
New SWspan and SWspanarrays typedefs.
Michel Dänzer [Fri, 29 Sep 2006 10:22:54 +0000 (10:22 +0000)]
i915: Fix wait for scheduled swap on secondary display.
Brian Paul [Fri, 29 Sep 2006 02:15:23 +0000 (02:15 +0000)]
updated protos for blend funcs
Brian Paul [Fri, 29 Sep 2006 02:12:07 +0000 (02:12 +0000)]
more changes for runtime renderbuffer depths
Brian Paul [Fri, 29 Sep 2006 01:26:55 +0000 (01:26 +0000)]
include mipmap.h
Brian Paul [Fri, 29 Sep 2006 01:24:26 +0000 (01:24 +0000)]
Move mipmap generation functions, texture scaling functions into new
mipmap.c file.
Brian Paul [Fri, 29 Sep 2006 01:22:53 +0000 (01:22 +0000)]
updated info about name mangling
Michel Dänzer [Thu, 28 Sep 2006 14:10:47 +0000 (14:10 +0000)]
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.
Michel Dänzer [Thu, 28 Sep 2006 14:10:07 +0000 (14:10 +0000)]
Add new I830 SAREA fields.
Michel Dänzer [Thu, 28 Sep 2006 14:09:20 +0000 (14:09 +0000)]
Add helper function that returns the current vblank sequence of a drawable.
Michel Dänzer [Thu, 28 Sep 2006 14:08:38 +0000 (14:08 +0000)]
Add helper function to calculate the area of the intersection of two rectangles.
Michel Dänzer [Thu, 28 Sep 2006 14:07:56 +0000 (14:07 +0000)]
i915: Handle DRM_VBLANK_SECONDARY when scheduling buffer swaps.
Michel Dänzer [Thu, 28 Sep 2006 14:07:12 +0000 (14:07 +0000)]
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.
Michel Dänzer [Thu, 28 Sep 2006 14:04:19 +0000 (14:04 +0000)]
Add driGetVBlankInterval() helper function.
This can be used by drivers to determine the current swap interval of a
drawable.
Michel Dänzer [Thu, 28 Sep 2006 14:03:41 +0000 (14:03 +0000)]
driWaitForVBlank: Add support for secondary vertical blank.
Michel Dänzer [Thu, 28 Sep 2006 14:03:02 +0000 (14:03 +0000)]
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.