Keith Whitwell [Wed, 20 Sep 2006 22:02:48 +0000 (22:02 +0000)]
Extend swizzle support to all remaining source formats and texture
destination formats.
Roland Scheidegger [Wed, 20 Sep 2006 19:11:56 +0000 (19:11 +0000)]
try to use a 8888 texture format which will result in only a memcopy in mesa's texstore functions whenever possible for r200 and r300. r200 can use hw formats argb8888, rgba8888 and abgr8888 (or the opposite on big endian), r300 can use argb8888, bgra8888, rgba8888 and abgr8888 regardless of endian, as it supports free component swizzling.
Keith Whitwell [Wed, 20 Sep 2006 18:56:19 +0000 (18:56 +0000)]
Support both big and little endian, more source types and more
destination formats through the swizzle path. It would be great to
see this tested on eg, PPC machines...
Roland Scheidegger [Wed, 20 Sep 2006 18:22:19 +0000 (18:22 +0000)]
reenable code in _mesa_texstore_rgba8888 to avoid the generic copy path if only swizzling is required as it works just fine (tested with glean pixelFormats test and a hacked up r200 driver which always uses that format).
Keith Whitwell [Wed, 20 Sep 2006 17:41:18 +0000 (17:41 +0000)]
Fix various typos to pass glean pixelFormats test.
Keith Whitwell [Wed, 20 Sep 2006 17:07:13 +0000 (17:07 +0000)]
Enhance compute_component_mapping() to convert to and from any of the
color base formats.
Keith Whitwell [Wed, 20 Sep 2006 15:04:05 +0000 (15:04 +0000)]
Add a comment about the interactions of negative pitches, overlapping
blits and the different ways of specifying a blit on this hardware.
Keith Whitwell [Wed, 20 Sep 2006 15:00:24 +0000 (15:00 +0000)]
remove some dead code
Keith Whitwell [Wed, 20 Sep 2006 14:58:55 +0000 (14:58 +0000)]
Fix some warnings
Roland Scheidegger [Wed, 20 Sep 2006 14:56:21 +0000 (14:56 +0000)]
fix mixed texgen/non-texgen with texgen modes requiring plane parameters (GL_OBJECT_LINEAR, GL_EYE_LINEAR). This is a chip limitation, try to hack it up regardless or use a tcl fallback in some cases. Might still produce wrong results if fixed up, but so far this corrects celestia ring shadows (in multitexture mode), doom3 (arb renderer), quake4 (arb renderer and some less visible bugs in r200 renderer), and even the remaining texgenmix broken case (this is pure luck though, it is easy to construct artifical cases where it will break).
Keith Whitwell [Wed, 20 Sep 2006 14:54:49 +0000 (14:54 +0000)]
Support ARB_texture_rectangle.
Keith Whitwell [Wed, 20 Sep 2006 14:44:40 +0000 (14:44 +0000)]
1) Add a new flag in the sarea (coopting the unused texAge value) to
identify context switches between members of a share group -
ie. multiple contexts in a single application, possibly on different
threads. In this case the contexts share a bufmgr instance and there
is no need to evict textures - so don't.
2) Use a new flag 'need_flush' to ensure hardware rendering is flushed
prior to starting a software fallback.
Keith Whitwell [Wed, 20 Sep 2006 14:39:53 +0000 (14:39 +0000)]
Broadwater seems to prefer this style of blitting.
Brian Paul [Wed, 20 Sep 2006 14:39:47 +0000 (14:39 +0000)]
make current GLX context per-thread
Brian Paul [Wed, 20 Sep 2006 14:39:24 +0000 (14:39 +0000)]
fix a memleak in DestroyContext()
Keith Whitwell [Wed, 20 Sep 2006 14:36:49 +0000 (14:36 +0000)]
add accelerated glCopyPixels path
Keith Whitwell [Wed, 20 Sep 2006 14:30:22 +0000 (14:30 +0000)]
Add a new internal program parameter value STATE_TEXRECT_SCALE which
provides 1/width and 1/height of the active texture, useful for
implementing ARB_texture_rectangle support on hardware which only
supports ARB_npot-style texturing.
Keith Whitwell [Wed, 20 Sep 2006 14:28:42 +0000 (14:28 +0000)]
Fix _mesa_swizzle_ubyte_image() to deal with RGBA->RGB->RGBA
conversions, ensuring that the final A value is 0xff in those cases
where we use a RGBA hardware texture format to store RGB textures.
Fix a couple of cases where hardwired texture conversions were
ignoring this restriction.
Keith Whitwell [Wed, 20 Sep 2006 12:57:54 +0000 (12:57 +0000)]
Export _mesa_print_alu_instruction() to allow drivers to roll their
own debug code for programs with driver-private opcodes.
Remove redundant loop in _mesa_num_inst_src_regs().
Keith Whitwell [Wed, 20 Sep 2006 12:53:35 +0000 (12:53 +0000)]
restore debug output after brw_wm_fp compilation stage
Keith Whitwell [Wed, 20 Sep 2006 12:49:52 +0000 (12:49 +0000)]
Use DEBUG_SYNC to switch between per-primitive and per-frame aubfile dumps.
Brian Paul [Tue, 19 Sep 2006 22:43:41 +0000 (22:43 +0000)]
added LIBDRM_CFLAGS (Javier Villavicencio)
Brian Paul [Tue, 19 Sep 2006 16:31:37 +0000 (16:31 +0000)]
fix CFLAGS (bug 8344)
Brian Paul [Mon, 18 Sep 2006 22:55:13 +0000 (22:55 +0000)]
change make depend output redirection to 2>&1 (bug 8344)
Brian Paul [Mon, 18 Sep 2006 15:03:04 +0000 (15:03 +0000)]
check for n <= 1 in compute_min_mag_ranges(), bug 8320
Brian Paul [Mon, 18 Sep 2006 15:02:26 +0000 (15:02 +0000)]
set lambda to zero for textured points (bug 8320)
Brian Paul [Sat, 16 Sep 2006 04:23:16 +0000 (04:23 +0000)]
6.5.1 md5 sums
Brian Paul [Sat, 16 Sep 2006 04:13:20 +0000 (04:13 +0000)]
update 6.5.1 release date
Brian Paul [Sat, 16 Sep 2006 04:10:56 +0000 (04:10 +0000)]
added #ifdef tests for Windows for int64_t, uint64_t
Brian Paul [Fri, 15 Sep 2006 19:00:37 +0000 (19:00 +0000)]
replace GLAPI w/ static and init var to 0 (Michel Donais)
Keith Whitwell [Fri, 15 Sep 2006 10:41:54 +0000 (10:41 +0000)]
npot version of redbook/mipmap.c
Ian Romanick [Thu, 14 Sep 2006 21:07:17 +0000 (21:07 +0000)]
Use correct opcodes for GLX_EXT_texture_from_pixmap.
Set the correct opcodes for GLX_EXT_texture_from_pixmap functions. Changes
to the glproto package and the core X server are also required.
Brian Paul [Thu, 14 Sep 2006 20:31:13 +0000 (20:31 +0000)]
set 6.5.1 release date
Jerome Glisse [Thu, 14 Sep 2006 17:44:58 +0000 (17:44 +0000)]
Fallback if ColorLogicOp is enabled. Cleanup a bit the fallback
function.
Michel Dänzer [Thu, 14 Sep 2006 16:17:06 +0000 (16:17 +0000)]
Remove MESA_LITTLE_ENDIAN guard for code that seems to work fine on big endian.
Keith Whitwell [Thu, 14 Sep 2006 10:37:09 +0000 (10:37 +0000)]
VS nr of urb entries is constrained to be one of a fixed set of values,
specifically {8,16,32}.
Roland Scheidegger [Wed, 13 Sep 2006 23:56:09 +0000 (23:56 +0000)]
always use argb8888 instead of rgba8888, this is far more likely to hit a faster memcopy path in mesa (at least on little endian systems, possibly on big endian too)
Roland Scheidegger [Wed, 13 Sep 2006 23:51:39 +0000 (23:51 +0000)]
detect some more cases which can use straight memcpy for _mesa_texstore_rgba8888
Roland Scheidegger [Wed, 13 Sep 2006 23:20:10 +0000 (23:20 +0000)]
Always mark tex state atom as dirty when the texture image is dirty, this ensures texture cache gets flushed in case the new texture has the same offset as the old one (fixes glean pixelFormat test at least on r200).
Brian Paul [Wed, 13 Sep 2006 22:49:48 +0000 (22:49 +0000)]
updated comment
Roland Scheidegger [Wed, 13 Sep 2006 22:41:46 +0000 (22:41 +0000)]
don't use derived value _ColorLogicOpEnabled as it's not current by the time we call the blend/logic op functions. Fixes glean logicOp test on r200.
Brian Paul [Wed, 13 Sep 2006 21:02:32 +0000 (21:02 +0000)]
added GL_CURRENT_RASTER_SECONDARY_COLOR query (OpenGL 2.1)
Brian Paul [Wed, 13 Sep 2006 20:26:43 +0000 (20:26 +0000)]
just comments and const qualifiers
Brian Paul [Wed, 13 Sep 2006 20:14:24 +0000 (20:14 +0000)]
fix broken do_EXP()
Roland Scheidegger [Wed, 13 Sep 2006 17:35:44 +0000 (17:35 +0000)]
fix GL_REFLECTION_MAP texgen by not using tex matrix negation when lighting is not enabled (?). This fixes demos/cubemap as well as glean texCube test.
Roland Scheidegger [Wed, 13 Sep 2006 17:30:11 +0000 (17:30 +0000)]
make sure we upload the new vertex program if the program string changes.
Brian Paul [Wed, 13 Sep 2006 16:41:25 +0000 (16:41 +0000)]
make triangle smoothing a sw fallback (Martign van Oosterhout)
Jerome Glisse [Tue, 12 Sep 2006 18:52:13 +0000 (18:52 +0000)]
Fix compilation warning.
Jerome Glisse [Tue, 12 Sep 2006 18:34:43 +0000 (18:34 +0000)]
Removing some of r200 dependency, cleaning up code a bit,
and fixing a couple of warning. More cleanup and shuffle
to come. I have tested this change they might broke things
especialy with r300_texstate.c change (format_x doesn't
seems to be use at all by r300).
Keith Whitwell [Tue, 12 Sep 2006 14:27:57 +0000 (14:27 +0000)]
quieten debug
Keith Whitwell [Tue, 12 Sep 2006 13:54:31 +0000 (13:54 +0000)]
Potential fix for doom3 lockups. Seems that there is a conflict
between the vertex cache, the vertex shader and the clipping stages,
all of which are competitors for URB entries assigned to the VS unit.
This change reduces the maximum number of clip and VS threads by
enough to ensure that they cannot consume all the available URB
entries, and then reduces the number somewhat more up to an arbitary
amount I discovered by trial and error. Unfortunately trial and error
solutions don't inspire total confidence...
Keith Whitwell [Tue, 12 Sep 2006 13:51:09 +0000 (13:51 +0000)]
Disassemble active program when DEBUG_VS is set.
Keith Whitwell [Tue, 12 Sep 2006 13:50:22 +0000 (13:50 +0000)]
Add code to tweak aubfile state and primitives on replay.
Keith Whitwell [Tue, 12 Sep 2006 13:43:10 +0000 (13:43 +0000)]
Encode a unique id in the aub header date fields.
Brian Paul [Mon, 11 Sep 2006 16:39:04 +0000 (16:39 +0000)]
Win32 fixes (SF bug 1554931)
Brian Paul [Mon, 11 Sep 2006 15:25:49 +0000 (15:25 +0000)]
undo some accidental changes in _mesa_is_legal_format_and_type()
Brian Paul [Mon, 11 Sep 2006 15:04:23 +0000 (15:04 +0000)]
init accum buffer fields in _mesa_update_framebuffer_visual()
Roland Scheidegger [Sun, 10 Sep 2006 19:19:13 +0000 (19:19 +0000)]
remove code to deal with non-normalized texture coordinates for tex rect targets (swtcl tex coord translation stage, tcl tex matrix adaption) and use the chip's native handling of such coords instead (!!!). Seems noone noticed those bits in the se_coord_fmt reg, even though it works fairly similar to r200 (except it's set per-unit and always active, so only enable it for texture rectangles).
Brian Paul [Sun, 10 Sep 2006 17:42:57 +0000 (17:42 +0000)]
Redefine the BYTE_TO_FLOAT() and SHORT_TO_FLOAT() macros to avoid problems
converting 0 to exactly 0.0
This goes against the OpenGL spec (see table 2.6) but solves problems
when doing byte -> float -> ubyte conversion for particular texture formats.
Brian Paul [Sun, 10 Sep 2006 17:10:36 +0000 (17:10 +0000)]
don't use xmesa_DrawPixels_8R8G8B() if there's a software alpha channel
Roland Scheidegger [Sun, 10 Sep 2006 13:48:51 +0000 (13:48 +0000)]
cause a raster fallback if a yuv texture is used on texture unit > 0 as yuv conversion appears only to work on first unit.
Keith Whitwell [Fri, 8 Sep 2006 10:36:32 +0000 (10:36 +0000)]
Basic facility for playing back captured aubfiles. Requires a small
hack to the drm to disable command verification on the cmd_buffer
ioctl. Doesn't exactly replay as commands are normally delivered as
batchbuffers but are captured and replayed as commands on the ring.
Roland Scheidegger [Fri, 8 Sep 2006 00:54:55 +0000 (00:54 +0000)]
cause a vtxfmt fallback directly when hitting NewList for radeon and r200 drivers, otherwise we'll mix up tcl and vtxfmt path for some reason. This fixes a warzone2100 asssertion failure.
Keith Whitwell [Thu, 7 Sep 2006 19:58:16 +0000 (19:58 +0000)]
Consistent return values from the bm* functions.
Get aubfile generation working again.
Keith Whitwell [Thu, 7 Sep 2006 19:05:40 +0000 (19:05 +0000)]
Cope with memory pool fragmentation by allowing a second attempt at
rendering operations to take place after evicting all resident
buffers.
Cope better with memory allocation failures throughout the driver and
improve tracking of failures.
Keith Whitwell [Thu, 7 Sep 2006 18:28:35 +0000 (18:28 +0000)]
Add some asserts, fix some not-quite-bugs.
Keith Whitwell [Thu, 7 Sep 2006 16:29:37 +0000 (16:29 +0000)]
Fix glitch with pool alignments.
Keith Whitwell [Thu, 7 Sep 2006 16:23:22 +0000 (16:23 +0000)]
Use lower alignments where possible. Also pad out allocated blocks to
a multiple of alignment to avoid accumulating unusable free blocks.
Keith Whitwell [Thu, 7 Sep 2006 16:09:50 +0000 (16:09 +0000)]
Make sure bmBufferOffset is called for all active buffers every time
we render. Currenly requires that some state be re-examined after
every LOCK_HARDWARE().
Roland Scheidegger [Thu, 7 Sep 2006 13:34:29 +0000 (13:34 +0000)]
make really sure R200_VAP_PROG_VTX_SHADER_ENABLE is never set when we're already in a tcl fallback, otherwise the chip will instantly lock up when vertex progs are enabled the next time not in a tcl fallback (fixes for instance guaranteed lockup running any program which uses vertex progs with tcl_mode=0 and then later with tcl_mode=1).
Roland Scheidegger [Thu, 7 Sep 2006 13:26:44 +0000 (13:26 +0000)]
only allow VERT_ATTRIB_MAX instead of _TNL_ATTRIB_MAX for inputs of vertex programs (fixes a segfault since the result of the shift is undefined otherwise, and it may happen that _TNL_ATTRIB_POINTSIZE will be tried to read, unlike all other attribs this however may be unitialized (might be a bug in itself)).
Eric Anholt [Thu, 7 Sep 2006 06:02:00 +0000 (06:02 +0000)]
Fix a leak of the screen's option cache on cleanup (copied from radeon).
Keith Whitwell [Wed, 6 Sep 2006 18:30:00 +0000 (18:30 +0000)]
Simplify the immediate and displaylist code. Treat VertexAttrib*ARB
as non-aliasing and cope with the >32 attributes that result, taking
materials into account.
Brian Paul [Wed, 6 Sep 2006 13:56:26 +0000 (13:56 +0000)]
comment out EXTRA_LIB_PATH, ?= causes problems on HP-UX
Brian Paul [Wed, 6 Sep 2006 13:49:17 +0000 (13:49 +0000)]
Fixes from Christopher Bell:
Use -O instead of +O3 or +O2.
Remove +Oaggressive.
Replace -Aa with -Ae.
Brian Paul [Wed, 6 Sep 2006 13:44:57 +0000 (13:44 +0000)]
remove stray tab
Brian Paul [Wed, 6 Sep 2006 05:03:47 +0000 (05:03 +0000)]
for VERTEX_ATTRIB_WEIGHT, use break, not return
Brian Paul [Tue, 5 Sep 2006 23:20:58 +0000 (23:20 +0000)]
document vertex.weight hack
Brian Paul [Tue, 5 Sep 2006 23:15:29 +0000 (23:15 +0000)]
Hack for Warcraft (bug 8060): allow 'vertex.weight' to be referenced in
vertex program, even though it's not really supported. Results will be
undefined, but Warcraft doesn't actually use the attribute.
Brian Paul [Tue, 5 Sep 2006 23:11:09 +0000 (23:11 +0000)]
fix typo in enable_parser_extensions(): s/point_parameters/vertex_blend/
Brian Paul [Tue, 5 Sep 2006 23:08:51 +0000 (23:08 +0000)]
Consolidate common case of _mesa_set_program_error() followed by _mesa_error()
in new program_error() function.
Add const qualifiers in many places.
Reorder some debug code to prevent referencing free'd memory.
Brian Paul [Tue, 5 Sep 2006 18:23:21 +0000 (18:23 +0000)]
updated info about glxproto.h
Keith Whitwell [Tue, 5 Sep 2006 10:01:24 +0000 (10:01 +0000)]
Dynamically allocate instruction store for tnl programs according to
requirements.
Keith Whitwell [Mon, 4 Sep 2006 23:34:36 +0000 (23:34 +0000)]
Fixes for calculating point attenuation
Keith Whitwell [Mon, 4 Sep 2006 18:27:40 +0000 (18:27 +0000)]
Don't export NV_vertex_program as it's not supported, it confuses
glean, and we no longer need to export it to keep Mesa happy as we did
at one time.
Rune Petersen [Mon, 4 Sep 2006 16:20:16 +0000 (16:20 +0000)]
Managed to make a commit that can't build... Sorry again...
Brian Paul [Mon, 4 Sep 2006 14:07:04 +0000 (14:07 +0000)]
get rid of GL_BOOLEAN definition (bug 8113)
Jouk Jansen [Mon, 4 Sep 2006 06:26:08 +0000 (06:26 +0000)]
OpenVMS compile support update
(previous commit did send the wrong file to the CVS)
Modified Files:
Mesa/include/GL/vms_x_fix.h
Jouk Jansen [Mon, 4 Sep 2006 06:22:39 +0000 (06:22 +0000)]
OpenVMS compile support update
Modified Files:
Mesa/include/GL/vms_x_fix.h
Roland Scheidegger [Mon, 4 Sep 2006 00:57:39 +0000 (00:57 +0000)]
fog state atom contains (only) fog params necessary for tcl. Must not be emitted if vertex progs are enabled as it overlaps vertex param #94.
Rune Petersen [Sun, 3 Sep 2006 20:31:52 +0000 (20:31 +0000)]
add missing change to skip low impact RAST fallback...
Sorry.
Roland Scheidegger [Fri, 1 Sep 2006 23:36:30 +0000 (23:36 +0000)]
fix the presumably broken check for the allow_large_textures and vblank_mode options (same as bug 8042).
Roland Scheidegger [Fri, 1 Sep 2006 20:21:12 +0000 (20:21 +0000)]
make sure vertex programs are only enabled on the hw when they are really enabled, not just when a program enables vertex progs (could still be not enabled due to some error). Otherwise the hw potentially would try to execute a not valid (not set up at all) vertex program, likely leading to lockups. Hopefully fixes #8060.
Keith Whitwell [Fri, 1 Sep 2006 14:57:19 +0000 (14:57 +0000)]
Catch a few more cases of using a message reg as an instruction source
arg.
Keith Whitwell [Fri, 1 Sep 2006 14:18:06 +0000 (14:18 +0000)]
fix a couple of cases where a message reg is used as an instruction source.
Ian Romanick [Thu, 31 Aug 2006 20:50:43 +0000 (20:50 +0000)]
Add API description for GLX_SGI_swap_control.
Ian Romanick [Thu, 31 Aug 2006 20:41:16 +0000 (20:41 +0000)]
Fix problems with vertex program protocol
There were two sets of bugs in the vertex program (ARB and NV)
protocol. First, several of the ARB functions were missing the
'doubles_in_order="true"' annotation. Second, after the ARB decided
that glVertexAttrib*ARB functions must not alias fixed-function state
for GLSL, Nvidia re-assigned GLX protocol opcodes for
glVertexAttrib*NV (circa Septeber 2004). For some reason gl_API.xml
was never updated to reflect this, and the updated version of the
GL_NV_vertex_program spec never made into the registry.
Rune Petersen [Thu, 31 Aug 2006 18:19:50 +0000 (18:19 +0000)]
re-apply shader fix.
appears to have been reverted by mistake.
Brian Paul [Thu, 31 Aug 2006 17:54:31 +0000 (17:54 +0000)]
version bump
Keith Whitwell [Thu, 31 Aug 2006 17:24:55 +0000 (17:24 +0000)]
When using the old technique to set up the front buffer mapping, there
is no need to add front.offset to sPriv->pFB, it seems. Fixes several
glean issues and frontbuffer rendering generally.