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