Brian Paul
521c61ff01
gallivm/llvmpipe: simplify front/back stencil ref value handling
...
Instead of passing an array, just pass two scalar values.
2010-03-18 11:31:38 -06:00
Brian Paul
a1e7aeecc2
llvmpipe: set opaque = FALSE if stencil enabled
...
Fixes occasional bad tiles seen in some demos like progs/demos/reflect.c
2010-03-18 09:30:15 -06:00
José Fonseca
9d48a621d2
llvmpipe: Fix crashes when there is no depth buffer bound.
2010-03-18 10:24:10 +00:00
Brian Paul
227824ac69
llvmpipe: remove incorrect depth test check
2010-03-17 16:29:34 -06:00
Brian Paul
8dc8c3f5b1
llvmpipe: silence some pointer/casting warnings
2010-03-17 16:29:34 -06:00
Brian Paul
d1c9e59883
gallivm/llvmpipe: more asst changes for stencil testing
2010-03-17 16:29:34 -06:00
Brian Paul
67b82fc395
gallivm/llmvpipe: pass stencil refs state into z/stencil build code
2010-03-17 16:29:34 -06:00
Keith Whitwell
8cdfd1219a
Merge commit 'origin/master' into gallium-sampler-view
...
This branch already seems to have the nv50_tex.c fix.
Conflicts:
src/gallium/drivers/nv50/nv50_tex.c
2010-03-16 09:02:38 +00:00
Brian Paul
185be3a87a
gallivm/llvmpipe: rename some constant building functions
2010-03-15 18:16:56 -06:00
Keith Whitwell
47bfbd452c
Merge commit 'origin/master' into gallium-sampler-view
...
Conflicts:
src/gallium/auxiliary/util/u_tile.c
src/gallium/auxiliary/util/u_tile.h
src/gallium/drivers/identity/id_context.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup.h
src/gallium/drivers/softpipe/sp_tex_tile_cache.c
src/gallium/include/pipe/p_context.h
src/mesa/state_tracker/st_cb_bitmap.c
src/mesa/state_tracker/st_cb_drawpixels.c
2010-03-13 15:06:35 +00:00
Brian Paul
272f399434
llvmpipe: fix comment typo
2010-03-11 14:49:00 -07:00
Brian Paul
489af2a3ba
gallivm/llvmpipe: include os_llvm.h instead of llvm-c/Core.h
2010-03-11 14:49:00 -07:00
Michal Krol
3ce4375912
Merge branch 'master' into gallium-sampler-view
...
Conflicts:
src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript
src/gallium/auxiliary/tgsi/tgsi_exec.c
src/gallium/auxiliary/util/u_blitter.c
src/gallium/drivers/i915/i915_context.h
src/gallium/drivers/i965/brw_context.h
src/gallium/drivers/llvmpipe/lp_context.h
src/gallium/drivers/nv50/nv50_context.h
src/gallium/drivers/nv50/nv50_state_validate.c
src/gallium/drivers/nv50/nv50_tex.c
src/gallium/drivers/r300/r300_blit.c
src/gallium/drivers/r300/r300_context.h
src/gallium/drivers/r300/r300_emit.c
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/softpipe/sp_context.h
src/gallium/drivers/svga/svga_context.h
src/gallium/drivers/svga/svga_pipe_sampler.c
2010-03-10 15:49:30 +01:00
José Fonseca
4d5dd82558
llvmpipe: Ensure context is flushed when destroying shaders.
2010-03-03 19:55:49 +00:00
José Fonseca
abdcdb3db7
llvmpipe: s/debug_dump_/util_dump_/
2010-02-14 15:21:06 +00:00
José Fonseca
9189d04cdb
llvmpipe: Use util_format_name().
2010-02-14 13:26:37 +00:00
Michal Krol
72fa4ef649
llvmpipe: Remove reference to prefilter field.
2010-02-09 16:27:16 +01:00
Zack Rusin
85c7ec70ad
llvmpipe: switch to using dynamic stack allocation instead of registers
...
with mutable vars we don't need to follow the phi nodes. meaning that
control flow becomes trivial as we don't have scan the rest of the tgsi
to figure out the variable usage anymore. futhermore the memory2register
pass promotes alloca/store/load to registers while inserting the right phi
nodes. so we get simplicity and performance.
2010-02-08 21:50:33 -05:00
Brian Paul
a8270c7c29
llvmpipe: use new os time functions
2010-02-08 16:57:23 -07:00
Zack Rusin
c61bf36393
llvmpipe: export the tgsi translation code to a common layer
...
the llvmpipe tgsi translation is a lot more complete than what was in
gallivm so replacing the latter with the former. this is needed since
the draw llvm paths will use the same code. effectively the proven
llvmpipe code becomes gallivm.
2010-02-08 18:22:11 -05:00
José Fonseca
a1af8eec66
Merge remote branch 'origin/lp-binning'
...
Conflicts:
src/gallium/auxiliary/util/u_dl.c
src/gallium/auxiliary/util/u_time.h
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_surface.c
src/gallium/drivers/llvmpipe/lp_tex_cache.c
src/gallium/drivers/llvmpipe/lp_tile_cache.c
2010-02-05 13:48:35 +00:00
José Fonseca
28486880ca
gallium: pipe/p_inlines.h -> util/u_inlines.h
2010-02-02 14:42:17 +00:00
José Fonseca
bee9964b29
Merge remote branch 'origin/master' into lp-binning
...
Conflicts:
Makefile
src/gallium/auxiliary/util/u_surface.c
src/gallium/drivers/llvmpipe/lp_flush.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_state_derived.c
src/gallium/drivers/llvmpipe/lp_state_fs.c
src/gallium/drivers/llvmpipe/lp_state_surface.c
src/gallium/drivers/llvmpipe/lp_tex_cache.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/llvmpipe/lp_tile_cache.c
src/mesa/state_tracker/st_cb_condrender.c
2010-01-31 05:36:33 +00:00
Roland Scheidegger
9b346f83a7
Merge commit 'origin/perrtblend'
...
Conflicts:
src/gallium/drivers/softpipe/sp_screen.c
src/gallium/include/pipe/p_defines.h
2010-01-28 17:23:58 +01:00
Michal Krol
9851644435
gallium: Enable multiple constant buffers for vertex and geometry shaders.
2010-01-28 14:07:53 +01:00
Brian Paul
e95ad2a2b5
llvmpipe: count/report time spent in LLVM compilations
2010-01-27 13:49:43 -07:00
Brian Paul
cd8614b028
Merge branch 'mesa_7_7_branch'
...
Conflicts:
src/gallium/auxiliary/draw/draw_context.c
src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline.c
src/gallium/auxiliary/pipebuffer/Makefile
src/gallium/auxiliary/pipebuffer/SConscript
src/gallium/auxiliary/pipebuffer/pb_buffer_fenced.c
src/gallium/auxiliary/tgsi/tgsi_scan.c
src/gallium/drivers/i915/i915_surface.c
src/gallium/drivers/i915/i915_texture.c
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_tex_sample_c.c
src/gallium/drivers/llvmpipe/lp_texture.c
src/gallium/drivers/softpipe/sp_prim_vbuf.c
src/gallium/state_trackers/xorg/xorg_dri2.c
src/gallium/winsys/drm/intel/gem/intel_drm_api.c
src/gallium/winsys/drm/nouveau/drm/nouveau_drm_api.c
src/gallium/winsys/drm/radeon/core/radeon_drm.c
src/gallium/winsys/drm/vmware/core/vmw_screen_dri.c
src/mesa/state_tracker/st_cb_clear.c
2010-01-22 12:17:02 -07:00
Vinson Lee
4222bf3d3c
llvmpipe: Remove unnecessary headers.
2010-01-21 14:31:15 -08:00
Brian Paul
4d2dc9da82
llvmpipe: updated comment
2010-01-20 11:32:48 -07:00
Roland Scheidegger
04cb5dfb1e
llvmpipe: adapt to per-rendertarget blend changes
2010-01-20 18:27:53 +01:00
Brian Paul
9a23d810be
llvmpipe: tweak a comment
2010-01-18 17:39:54 -07:00
José Fonseca
ba5d600c90
Merge remote branch 'origin/master' into lp-binning
...
Conflicts:
src/gallium/drivers/llvmpipe/lp_quad.h
src/gallium/drivers/llvmpipe/lp_setup.c
2010-01-16 23:21:06 +00:00
Brian Paul
2797f2bf57
llvmpipe: generate two shader varients, one omits triangle in/out testing
...
When we know that a 4x4 pixel block is entirely inside of a triangle
use the jit function which omits the in/out test code.
Results in a few percent speedup in many tests.
2010-01-15 11:21:16 -07:00
Brian Paul
3b1920a349
llvmpipe: asst code changes in lp_state_fs.c
2010-01-15 10:25:59 -07:00
Roland Scheidegger
5e5d0ad081
Merge branch 'gallium-noconstbuf'
...
Conflicts:
src/gallium/drivers/softpipe/sp_draw_arrays.c
src/mesa/state_tracker/st_draw_feedback.c
2010-01-15 18:09:45 +01:00
Brian Paul
4461442849
llvmpipe: implement scissor testing
...
The scissor test is implemented as another per-quad operation in
the JIT code. The four scissor box params are passed via the
lp_jit_context. In the JIT code we compare the quad's x/y coords
against the clip bounds and create a new in/out mask that's AND'd
with the main quad mask.
Note: we should also do scissor testing in the triangle setup code
to improve efficiency. That's not done yet.
2010-01-14 19:15:00 -07:00
Brian Paul
4769328fe1
llvmpipe: comments
2010-01-13 15:10:57 -07:00
José Fonseca
7df4c88088
llvmpipe: Opaque shader implies complete colormask too.
2010-01-13 22:07:24 +00:00
José Fonseca
a1acbff299
llvmpipe: Reset the bin when shading a whole tile with an opaque shader.
2010-01-13 21:51:47 +00:00
Brian Paul
4061ca02dd
llvmpipe: silence unused var warnings
2010-01-12 13:01:32 -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
Roland Scheidegger
70c8d2a297
gallium: remove const qualifier from pipe_buffer argument in set_constant_buffer
2010-01-11 16:30:48 +01: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
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
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
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