Commit graph

29636 commits

Author SHA1 Message Date
Brian Paul
4061ca02dd llvmpipe: silence unused var warnings 2010-01-12 13:01:32 -07:00
Brian Paul
a32e9b2a2d llvmpipe: remove unused #define 2010-01-12 10:11:36 -07:00
Brian Paul
5cf4630969 llvmpipe: disable the all in/out test code for now
It's still faster not to try to special case the "all pixels are
known to be inside the triangle" case.
2010-01-11 15:30:56 -07:00
Brian Paul
9a10d14a44 llvmpipe: move, update comments 2010-01-11 15:30:17 -07:00
Brian Paul
3b5d849268 llvmpipe: refactor generate_fragment() code
This will make it easier to generate multiple versions of the fragment
code per variant.
2010-01-11 13:16:02 -07:00
Brian Paul
46b5bd6cad llvmpipe: do the all-in test on the scalar c0 instead of vector c0
This still isn't faster, but committing it for posterity.
2010-01-11 12:59:39 -07:00
Keith Whitwell
86f450060d llvmpipe: force constant interpolation of flatshade colors
Nice speedup for gears.
2010-01-11 12:12:59 +00:00
Keith Whitwell
ad74ea2869 st/mesa: early exit on error path
Can't rely on asserts having any effect on flowcontrol for release
builds.
2010-01-11 12:02:53 +00:00
Keith Whitwell
094525fb23 llvmpipe: remove opencoded constant 2010-01-11 11:06:15 +00:00
Keith Whitwell
16c1ad54bc llvmpipe: remove scissor cliprect derived state
Was previously calculating the intersection of the scissor rectangle
and the framebuffer dimensions.  Rendering is already restricted to
framebuffer dimensions by other means, so scissor testing (when
implemented) can just use the scissor state directly.
2010-01-11 11:06:15 +00:00
Keith Whitwell
c1a0441602 llvmpipe: initial mrt support
Non-mrt apps work, and the code looks correct, but not many mrt test apps
handy atm...
2010-01-10 17:22:09 +00:00
Brian Paul
f4321fbd96 llvmpipe: optimize case when all four pixels are inside the triangle
When the incoming c0,c1,c2 values are equal to INT_MIN it means that
all pixels are inside the triangle.  Thus we can skip the detailed
pixel inside/outside triangle tests.  Use the new lp_build_if()/endif()
functions to generate the branching code.

The code is disabled ATM however because it's actually a little slower
than the original code.  A little more tuning may fix that though...
2010-01-08 14:49:34 -07:00
Brian Paul
5208af7853 llvmpipe: fix more if/else/endif design bugs 2010-01-08 12:47:30 -07:00
Brian Paul
855d7f51e4 llvmpipe: move some fields to the private lp_build_flow_if struct 2010-01-08 11:32:36 -07:00
Brian Paul
af31e65b55 llvmpipe: free the phi array 2010-01-08 11:20:38 -07:00
Brian Paul
70b8d59792 llvmpipe: checkpoint if/else/endif contructs work
The LLVM IR looks correct now.  Basic blocks are where they're supposed
to be and the Phi functions have the right (var,block) information.
2010-01-08 11:06:16 -07:00
José Fonseca
080c40ab32 Merge remote branch 'origin/master' into lp-binning
Conflicts:
	src/gallium/auxiliary/util/u_surface.c
	src/gallium/drivers/llvmpipe/Makefile
	src/gallium/drivers/llvmpipe/SConscript
	src/gallium/drivers/llvmpipe/lp_bld_arit.c
	src/gallium/drivers/llvmpipe/lp_bld_flow.c
	src/gallium/drivers/llvmpipe/lp_bld_interp.c
	src/gallium/drivers/llvmpipe/lp_clear.c
	src/gallium/drivers/llvmpipe/lp_context.c
	src/gallium/drivers/llvmpipe/lp_context.h
	src/gallium/drivers/llvmpipe/lp_draw_arrays.c
	src/gallium/drivers/llvmpipe/lp_jit.c
	src/gallium/drivers/llvmpipe/lp_jit.h
	src/gallium/drivers/llvmpipe/lp_prim_vbuf.c
	src/gallium/drivers/llvmpipe/lp_setup.c
	src/gallium/drivers/llvmpipe/lp_setup_point.c
	src/gallium/drivers/llvmpipe/lp_state.h
	src/gallium/drivers/llvmpipe/lp_state_blend.c
	src/gallium/drivers/llvmpipe/lp_state_derived.c
	src/gallium/drivers/llvmpipe/lp_state_fs.c
	src/gallium/drivers/llvmpipe/lp_state_sampler.c
	src/gallium/drivers/llvmpipe/lp_state_surface.c
	src/gallium/drivers/llvmpipe/lp_tex_cache.c
	src/gallium/drivers/llvmpipe/lp_tex_cache.h
	src/gallium/drivers/llvmpipe/lp_tex_sample.h
	src/gallium/drivers/llvmpipe/lp_tile_cache.c
2010-01-08 15:42:57 +00:00
José Fonseca
9cdf6f025b scons: Set the default windows platform to be windows userspace.
I thought I had done this ages ago.
2010-01-08 14:31:25 +00:00
Dan Nicholson
a1de400e8d mklib: Extract archives into temporary directories
When static libraries are created from other archives, objects are
extracted and then deleted when the static library is done. This can
race when there are multiple static libraries being created from the
same archives as with libmesa.a and libmesagallium.a.

Should fix this issue with parallel jobs:

make[5]: *** No rule to make target
> `../../../../../../src/mesa/libmesagallium.a', needed by
> `radeon_dri.so'. Stop

Signed-off-by: Dan Nicholson <dbn.lists@gmail.com>
Reported-and-Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
2010-01-08 06:01:22 -08:00
Michal Krol
dddd5a36ac tgsi: Cleanup dot-product opcodes in interpreter. 2010-01-08 12:03:55 +01:00
Francisco Jerez
95f603a5f3 nv20: Fix build for the latest nouveau_class.h changes. 2010-01-08 04:42:28 +01:00
José Fonseca
d699b6720c scons: Don't build xlib when dri is enabled.
Hopefully adddresses fdo 25828.
2010-01-08 01:25:27 +00:00
José Fonseca
ba33ef0011 lvmpipe: Initialize all coordinates.
Fixes assertion failure with fp-incomplete-tex (fdo 24298).
2010-01-08 01:15:17 +00:00
José Fonseca
c6509f89b4 scons: Output a meaningful message when xlib libGL.so can't be built. 2010-01-08 00:50:09 +00:00
José Fonseca
de22c940a1 scons: Use static glew library on Unices to avoid binary compatability issues
Fixes bug 25926.
2010-01-08 00:33:58 +00:00
Keith Whitwell
45fe1d7d00 st/xorg: remove unused xorg_exa_get_pixmap_handle function 2010-01-07 22:08:23 +00:00
Christoph Bumiller
7fc5fcada5 nv50: preallocate TEMPs written first time in a subroutine
Otherwise we risk overwriting them with temporary GPRs if
they're not used immediately after the CALL.
2010-01-07 21:19:58 +01:00
Christoph Bumiller
a009fa4305 nv50: handle TGSI_OPCODE_SAD,UADD 2010-01-07 21:19:58 +01:00
Christoph Bumiller
d550de2342 nv50: handle TGSI_OPCODE_IMAX,IMIN,UMAX,UMIN 2010-01-07 21:19:58 +01:00
Christoph Bumiller
607b9c2e09 nv50: handle integer SET operations 2010-01-07 21:19:58 +01:00
Christoph Bumiller
ccc7d0cb7a nv50: handle TGSI_OPCODE_SHL,ISHR,USHR 2010-01-07 21:19:58 +01:00
Christoph Bumiller
152b3bd6ef nv50: handle TGSI_OPCODE_F2I,F2U,I2F,U2F plus src mods 2010-01-07 21:19:58 +01:00
Eric Anholt
46f5579826 intel: Remove leftover symlinks from DRI1 removal. 2010-01-07 11:21:29 -08:00
Brian Paul
7335d8006f tgsi: add assertion to verify legal register file
This assertion fails with piglit glsl-vs-mov-after-deref test
because we're double freeing the memory.  It seems there's some
confusion between what's placed in the hash table and what isn't.
2010-01-07 11:18:12 -07:00
Brian Paul
0c6794c46f tgsi: fix incorrectly placed braces, add more braces to be clear 2010-01-07 10:57:33 -07:00
Brian Paul
16b5d2eba3 tgsi: move register checking code before check_register_usage()
check_register_usage() frees the scan_register *reg data so we were
reading from freed memory.  This fixes a valgrind error found with
piglit's glsl-vs-mov-after-deref test.
2010-01-07 10:55:00 -07:00
Brian Paul
b841c2756e swrast: fix color masking for glAccum(GL_RETURN)
Should fix fdo bug 25837.
2010-01-07 09:43:11 -07:00
Brian Paul
fa47eff55b i810: use ColorMask[0] 2010-01-07 09:40:08 -07:00
Brian Paul
7c55fe9bfd progs/fp: increase buffer size to read larger shaders 2010-01-07 09:20:48 -07:00
Brian Paul
c642c246d7 gallium/util: remove useless assertions 2010-01-07 09:20:48 -07:00
Brian Paul
c3e846af30 gallium/util: update comment: s/src_pitch/src_stride 2010-01-07 09:20:48 -07:00
Brian Paul
f39bae8e68 gallium/util: make src_y unsigned like the other x/y params 2010-01-07 09:20:48 -07:00
José Fonseca
8081c1eaa5 llvmpipe: Remove TGSI sampler pointers from JIT context too. 2010-01-07 16:16:45 +00:00
José Fonseca
12c6b871a3 llvmpipe: Remove more loose ends of TGSI exec sampling. 2010-01-07 16:10:04 +00:00
Kristian Høgsberg
27fe7a7303 configure: Fix matching for dri driver to actually work
The shell case statement obviously only evaluates the first matching
block.  Thanks to Julien Cristau for spotting the bug.
2010-01-07 10:44:44 -05:00
Brian Paul
c9a210f158 makefile: added src/glsl/Makefile.template to tarball list 2010-01-07 08:43:24 -07:00
Keith Whitwell
150108024d i965g: updates for draw retval 2010-01-07 15:37:41 +00:00
José Fonseca
7bd7e2da75 llvmpipe: Axe texture sampling code inherited from softpipe.
Was used only as a reference, since texture sampling is now code generated.
Already axed in the lp-binning branch too.

This fixes the llvmpipe build after recent sampling changes.
2010-01-07 15:35:24 +00:00
Michal Krol
4440428faa gallium: Fix texture sampling with explicit LOD in softpipe. 2010-01-07 13:48:41 +01:00
Michal Krol
4bfe1c955f gallium: Pass per-element (not per-quad) LOD bias values down to texture sampler. 2010-01-07 12:48:10 +01:00