Commit graph

25840 commits

Author SHA1 Message Date
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
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
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
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
Michal Krol
e313dabdc7 tgsi: Cleanup exec_tex(). 2010-01-07 11:10:24 +01:00
Michal Krol
8d38ef4551 svga: Fix fs key size computation and key comparison.
This also allows us to have texture_target
back as a bitfield and save us a few bytes.
2010-01-07 07:58:07 +01:00
Brian Paul
baeb3a2351 llvmpipe: checkpoint commit of new if/else/endif flow control
Totally untested at this point.  More work to do.
2010-01-06 17:53:12 -07:00
Brian Paul
db7f9b053b llvmpipe: more comments in flow builder code 2010-01-06 14:11:54 -07:00
Marek Olšák
6f498a7eff r300g: add back-face color VS outputs
Required for two-sided lighting. BTW we are approaching softpipe-level
quality. ;)
2010-01-06 12:49:16 -08:00
Marek Olšák
7679ac2caa r300g: fix SWTCL stream locations of texture coordinates
It might have caused hardlocks when TCL was bypassed, not sure.
2010-01-06 12:49:15 -08:00
Marek Olšák
1a4f242be6 r300g: if no DS buffer is set, disable reading from and writing to it
It fixes another "Bad CS" issue.
2010-01-06 12:49:15 -08:00
Marek Olšák
26f67a272b r300g: disable the rasterization of WPOS if it's unused by the FS 2010-01-06 12:49:15 -08:00
Marek Olšák
bf60eb3fec r300g: add WPOS 2010-01-06 12:49:15 -08:00
Marek Olšák
dc7f309f9c r300/compiler: add full viewport transformation support in WPOS codegen 2010-01-06 12:49:15 -08:00
Marek Olšák
ddfc4e31ad r300g: consolidate params 2010-01-06 12:49:15 -08:00
Marek Olšák
e78648db0a r300g: fix outputting depth in the FS 2010-01-06 12:49:15 -08:00
Marek Olšák
7c902b43d8 r300g: optimize blending by conditionally disabling reads from the colorbuffer 2010-01-06 12:49:15 -08:00
Marek Olšák
6b9b3213c5 r300g: optimize blending by discarding pixels that don't change the colorbuffer
Let's get some performance out of the blender.
2010-01-06 12:49:14 -08:00
Marek Olšák
717c28055a r300g: fix blending when SRC_ALPHA_SATURATE is used 2010-01-06 12:49:14 -08:00