| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
And set new cliprects before deriving other state from them. This ensures
cliprects aren't accessed after having been freed.
Thanks to Panagiotis Papadakos for testing various iterations of this.
|
|
|
|
|
|
|
|
|
|
| |
Based on a patch by Panagiotis Papadakos.
Among other things, this makes sure the framebuffer object associated with the
drawable has the correct size when _mesa_make_current is called, so the default
viewport is set up correctly.
Also update radeon->lastStamp in radeonSetCliprects.
|
| |
|
| |
|
|
|
|
|
|
| |
This need more work on case where we can disable
or enable early (stencil, alpha might need it to
be disable).
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
So this do :
- Fixes COS.
- Does range reductions for SIN & COS.
- Adds SCS.
- removes the optimized version of SIN & COS.
- tweaked weight (should help on precision).
- fixed a copy paste typo in emit_arith().
|
|
|
|
|
|
|
|
|
|
|
| |
Getting proper SIN and COS wasn't as easy as it appeared.
I had to make make some changes to the fragment program code.
general FP changes:
- support HHH swizzle for vector instructions.
- don't copy a source to a temp when it is not XYZW swizzled, but
combine the two and have the swizzle resolve any issues.
(saves temps/instructions with more elaborate shader code)
- fix overflow in cnstv[].
|
|
|
|
|
|
| |
Redirect all VERT_RESULT_HPOS writes to a temp and use that for fixup.
The viewport transformation still seems to take some shortcuts, and it
still does not seem to work at all...
|
|
|
|
| |
Aborting immediately is a bad idea with AIGLX.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/mesa/main/texcompress_s3tc.c
src/mesa/tnl/t_array_api.c
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
into vbo-0.2
Conflicts:
src/mesa/array_cache/sources
src/mesa/drivers/dri/i965/brw_context.c
src/mesa/drivers/dri/i965/brw_draw.c
src/mesa/drivers/dri/i965/brw_fallback.c
src/mesa/drivers/dri/i965/brw_vs_emit.c
src/mesa/drivers/dri/i965/brw_vs_tnl.c
src/mesa/drivers/dri/mach64/mach64_context.c
src/mesa/main/extensions.c
src/mesa/main/getstring.c
src/mesa/tnl/sources
src/mesa/tnl/t_save_api.c
src/mesa/tnl/t_save_playback.c
src/mesa/tnl/t_vtx_api.c
src/mesa/tnl/t_vtx_exec.c
src/mesa/vbo/vbo_attrib.h
src/mesa/vbo/vbo_exec_api.c
src/mesa/vbo/vbo_save_api.c
src/mesa/vbo/vbo_save_draw.c
|
| | |
| | |
| | |
| | | |
Tested with progs/redbook/varray.
|
| | | |
|
| | | |
|
| |/
|/| |
|
| |
| |
| |
| |
| |
| | |
When we have a position invariant program we need to force routing the
position otherwise you may handle transform quite random data which might
be funny but unlikely what you want :).
|
| | |
|
| |
| |
| |
| | |
Thx for Tilman who spoted the bugs.
|
| |
| |
| |
| |
| | |
This file was deleted longtime ago, guess that git migration
created it again.
|
| |
| |
| |
| |
| |
| |
| |
| | |
It seems that bitfield structure lead to some strange
problem on 64bits arch, don't want to waste time debugging
strange things like that so converted pfs_reg_t structure
to a GLuint and use good old masking and shifting spell.
(cherry picked from 2a7de9d095d8e60da12b11aaa1efe664b87b11d3 commit)
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
World position is calculated in the vertex shader and passed to the
fragment shader via an unused texcoord.
|
| |
| |
| |
| |
| |
| | |
Makes the vertex program output from the fragment input.
It makes the driver capable of catching output-input mismatches safely. Primarily
based on some of Aapo Tahkola's code.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
There is a bug somewhere in fragment program.
tri-cos and tri-sin show the bug. Also we
should not emit multiple time the same constant.
for sin,cos,lit have to fix that.
|
| | |
|
| |
| |
| |
| |
| |
| | |
This way we no longuer have the fixed RADEON_BUFFER_SIZE.
Anyway function calling AllocDmaRegion should check if this
succeed and fail gracefuly if not (see bug 8348).
|
| |
| |
| |
| |
| | |
need to check for this condition before the later field has been computed.
Fixes logicop bug #8860.
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
|
| |
CMPH a0, a1, a2 -> if a2 > 0.5 return a1 else return a0
Guessed by examinating LIT instruction handling of FGLRX.
|
|
|
|
|
|
|
| |
The coordinates need to be computed after we've got the hw lock.
Code updated to:
1. Ignore all/x/y/width/height/ params passed to Clear func.
2. Pass 0,0,0,0,0 to _swrast_Clear() until they're totally removed.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
This is already done by the preceeding call to _mesa_init_driver_functions()
which plugs in default functions like that.
|
|
|
|
|
| |
This prevents the first wait for vertical blank from timing out when the X
server has been running for a long time.
|
|
|
|
|
|
| |
Remove r200 dependency from the code as r200 merged
driver never worked (right ?) and we want to clean
the code.
|
|
|
|
| |
Remove r200*.h files dependency.
|
|
|
|
| |
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.
|
|
|
|
| |
function.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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).
|