Commit graph

9556 commits

Author SHA1 Message Date
Nicolai Haehnle
c4bf863f4c r300: Fix WRITEMASK handling when writing to result.depth
This is a necessary change to emit the right instructions when writing
to result.depth.

However, even with this test, Z-write doesn't work properly, and I don't
fully understand why. In addition to this, we'll at least have to disable
early-Z, but even that doesn't seem to be enough.
2007-03-19 19:48:58 +01:00
Nicolai Haehnle
b645e8c96d r300: Streamlined fragment program LIT implementation
Fix a bug in the LIT implementation (clamp exponent to 128, not 0.5)
and change the implementation around. In theory, the new implementation
needs as little as 5 instruction slots. Unfortunately, the dependency
analysis in find_and_replace_slot is not strong enough to look at
individual components of a register yet.
2007-03-19 19:10:21 +01:00
Nicolai Haehnle
ff6ab9b45b r300: Fix fragment program reordering
Do not move an instruction that writes to a temp forward past an instruction
that reads the same temporary.
2007-03-19 18:38:07 +01:00
Nicolai Haehnle
ec1a77c864 r300: Fragment program dumps format tex instructions 2007-03-19 18:38:07 +01:00
Nicolai Haehnle
a8e65a010c r300: Fix hw fragment program dump
Dumps of fragment programs were incorrect when the program consisted of multiple
nodes.

Also, improved the formatting a bit.
2007-03-19 18:38:07 +01:00
Nicolai Haehnle
7b430acd71 r300: Fix fragment program instruction pairing and register allocation
There were a number of bugs related to the pairing of vector and scalar
operations where swizzles ended up using the wrong source register,
or an instruction was moved forward and ended up overwriting an aliased
register.

The new algorithm for register allocation is quite conservative and may
run out of registers before necessary. On the plus side, It Just Works.

Pairing is done whenever possible, and in more cases than before, so
in practice this change should be a net win.
2007-03-19 18:38:07 +01:00
Michel Dänzer
07db8c9115 i915tex: The intended triple buffering fix.
Making modifications while the editor spawned by git-commit was suspended
didn't have the intended effect.
2007-03-19 18:34:27 +01:00
Michel Dänzer
9b42100c04 i915tex: Fix triple buffering after recent Mesa core changes.
Remove superfluous _mesa_resize_framebuffer call which is now harmful because
it causes the third renderbuffer to have width/height 0, so Mesa refuses to
render to it.

In the long term, it would be nice to remove the hack in
intel_alloc_window_storage in favour of a proper Mesa interface for flipping
between more than two colour buffers.
2007-03-19 17:23:44 +01:00
Keith Whitwell
77544d7b7d fix off-by-one in load_state_immediate 2007-03-18 20:13:45 +00:00
Keith Whitwell
c9e39aeaef fix typo in subrect_disable packet 2007-03-18 20:13:45 +00:00
Keith Whitwell
07265280a9 fix typo in subrect_disable packet 2007-03-18 20:13:45 +00:00
Miguel Marte
c41d6ab6f0 screen offset changes, bug 9965 2007-03-18 11:08:29 -06:00
Nicolai Haehnle
441f038748 fix assertion in read_depth_pixels() 2007-03-18 11:02:35 -06:00
Oliver McFadden
dd868b4100 r300: Removed the deprecated $XFree86$ CVS keywords. 2007-03-18 16:57:45 +00:00
Oliver McFadden
1062106521 r300: Corrected the string for polygon mode; it wasn't updated from unkXXX. 2007-03-18 16:45:32 +00:00
Ben Skeggs
bcf4f4de76 nouveau: avoid using uninitialised TexSrcUnit. 2007-03-19 00:13:41 +11:00
Xiang, Haihao
bb02092d74 mesa: SWAP_BUFF support when calling DrawPixels(DEPTH_COMPONENT)
or TexImage(DEPTH_COMPONENT)
2007-03-18 18:44:51 +08:00
Xiang, Haihao
b6fe1bdd4d mesa: enhance fxt1_quantize_ALPHA1
If possible, let minCol != maxCol
2007-03-18 18:34:21 +08:00
Xiang, Haihao
84081774e6 i965: fix for FXT1 & S3TC texture format
choose the right mesa texformat for FXT1 & S3TC
2007-03-18 18:26:16 +08:00
Oliver McFadden
cfe984dbd0 Use _mesa_copy_instructions rather than memcpy in _mesa_insert_mvp_code. 2007-03-18 07:35:45 +00:00
Haihao Xiang
ee5b7f0574 fix some format conversion bugs in glGetTexImage(), bug 10288 2007-03-17 09:42:36 -06:00
Dave Airlie
6a9b0cd0b4 r300: change vendor string to DRI R300 Project 2007-03-17 16:46:24 +11:00
Brian
e5070bc3ca Assorted fixes for dealing with zero-size frame/renderbuffers.
In xmesa_check_and_update_buffer_size() handle xmctx==NULL correctly: still
call _mesa_resize_framebufer().  If we don't we can wind up in a situation
where the framebuffer size is non-zero but an attached renderbuffer size
is still initialized to zero.  This inconsistancy can later cause problems.
Check for zero-size renderbuffers in update_color_draw_buffers() and
update_color_read_buffer().
See bug 7205.
2007-03-16 11:00:07 -06:00
Brian
7573b58db6 Colortable re-org.
The pixel transfer path has three color table lookups.
Use an array [3] to store that info, rather than separate variables.
2007-03-16 09:36:12 -06:00
Brian
d7049431a0 added a renderbuffer comment 2007-03-16 08:36:22 -06:00
Mathias Hopf
f04979ae48 added null xmctx check to XMesaResizeBuffers(), bug 7205 2007-03-16 08:28:34 -06:00
Oliver McFadden
95764262a7 Fixed a minor typo in the comment near _mesa_copy_instructions. 2007-03-15 21:57:31 +00:00
Oliver McFadden
0c25d9ab19 r300: Added _mesa_copy_instructions. 2007-03-15 20:55:30 +00:00
Oliver McFadden
1195caa274 r300: Renamed r300_vertexprog.c to r300_vertprog.c 2007-03-15 20:39:07 +00:00
Oliver McFadden
0e9ada1087 r300: Use _mesa_alloc_instructions/_mesa_init_instructions instead of malloc.
Note that insert_wpos in r300_vertexprog.c is still a little flaky and could be
improved.
2007-03-15 19:49:10 +00:00
Oliver McFadden
0d6d80ef3d r300: Updated R300 to use the new SWIZZLE macros. 2007-03-15 19:09:10 +00:00
Oliver McFadden
51693b22cd r300: Fixed an unused variable warning and removed some cruft, too. 2007-03-15 18:44:29 +00:00
Oliver McFadden
b3a9a90cdf r300: Fixed a printf conversion warning. 2007-03-15 18:30:33 +00:00
Oliver McFadden
7f08dd3fc6 r300: Fixed "no previous prototype for 'r300RefillCurrentDmaRegion'" warning. 2007-03-15 18:30:33 +00:00
Brian
fc6b8f2d30 added SWIZZLE_XXXX, YYYY, etc. macros 2007-03-15 11:51:54 -06:00
Oliver McFadden
4e4ab2a62b Committed Rune Petersen's fragment.position patch (Bug #10024) plus a few small
corrections.
2007-03-15 17:35:34 +00:00
Brian
4d2eb637a2 no-op clear if buffer width or height is zero (bug 7205) 2007-03-15 11:16:41 -06:00
Brian
038e981cac add some rb->Data null ptr checks (bug 7205) 2007-03-15 11:11:41 -06:00
Brian
90563d39cb Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-03-15 09:03:03 -06:00
Brian
0cfdf432e4 implement byteswapping for all multi-byte types in _mesa_pack_rgba_span_float(), bug 10298 2007-03-15 09:02:14 -06:00
Keith Whitwell
4a7fe4fcfa Fix off by one error in immediate state packet size. 2007-03-15 10:29:38 +00:00
Brian
32d196820f pixelmap code simplification 2007-03-14 14:56:39 -06:00
Brian
b6adf336f4 Re-org of gl_pixel_attrib struct.
Reorder fields according to the order in which the pixel transfer operations
take place.  Improve comments.
Move the pixel maps out of gl_pixel_attrib since they're not supposed to be
pushed/popped by glPush/PopAttrib.
New gl_pixelmap and gl_pixelmaps structs to contain the pixelmaps.
2007-03-14 14:33:46 -06:00
Brian
3049946fa7 clear the b->frontxrb->drawable field in xmesa_free_buffer(), see bug 7205 2007-03-14 12:52:53 -06:00
Brian
46fe008778 Merge branch 'master' of git+ssh://brianp@git.freedesktop.org/git/mesa/mesa 2007-03-14 12:43:26 -06:00
Brian
47e0b606a8 move CLIENT_ID code in xmesa_delete_framebuffer(), see bug 7205 2007-03-14 12:42:30 -06:00
Roland Scheidegger
a6cc9ab493 sync up t_vp_build.c brw_vs_tnl.c a bit
Bring over the optimizations for fog and normalized spot dir
from t_vp_build.c to brw_vs_tnl.c. Likewise, port a fix for point size
calc from brw_vs_tnl.c to t_vp_build.c (use ABS(eyez) instead of -eyez). Leave
the now differing point size calcs alone though, not sure what's better (it's
basically MOV, ABS, MUL, DP3 vs. ABS, MAD, MAD).
2007-03-13 19:04:28 +01:00
Roland Scheidegger
37e6f760fd enable ARB_vertex_buffer_object for more dri drivers
ARB_vertex_buffer_object looks like a useful extension even for old chips.
The drivers should not need any code to be able to use this extension since
they just use mesa's vbo code anyway.
Newly enabled for i810, mach64, mga, r128, radeon, savage, sis and unichrome.
2007-03-13 17:44:22 +01:00
Oliver McFadden
4c18d9056b r300: Renamed the CACHE_CTLSTAT values to include UNKNOWN in the name; not
enough information is known about them to be sure as to what the values mean.
2007-03-13 14:48:29 +00:00
Roland Scheidegger
14f0b7ea98 use movdqu instead of movdqa for unaligned load avoiding a segfault (bug 10265) 2007-03-13 13:44:23 +01:00