Brian Paul [Wed, 2 Dec 2009 22:13:45 +0000 (15:13 -0700)]
llvmpipe: execute shaders on 4x4 blocks instead of 8x2
This matches the convention used by the recursive rasterizer.
Also fixed assorted typos, comments, etc.
Now tri-z.c, gears.c, etc look basically right but there's still some
cracks in triangle rasterization.
Brian Paul [Wed, 2 Dec 2009 21:55:48 +0000 (14:55 -0700)]
llvmpipe: whitespace for readability
Brian Paul [Tue, 1 Dec 2009 23:24:57 +0000 (16:24 -0700)]
llvmpipe: added assertions
And remove unused BLOCKSIZE.
Brian Paul [Tue, 1 Dec 2009 23:24:16 +0000 (16:24 -0700)]
llvmpipe: simplify mask computation
Make this a little easier to understand.
Brian Paul [Tue, 1 Dec 2009 22:51:07 +0000 (15:51 -0700)]
llvmpipe: replace shifts with multiplies to be clearer
The compiler will still do the multiplies with shifts.
It's just a bit easier to follow the logic with multiplies.
Brian Paul [Tue, 1 Dec 2009 23:00:04 +0000 (16:00 -0700)]
llvmpipe: make nr_blocks unsigned
Brian Paul [Tue, 1 Dec 2009 22:43:01 +0000 (15:43 -0700)]
llvmpipe: comments, reformatting and assertions in tri rast code
Brian Paul [Mon, 30 Nov 2009 22:31:30 +0000 (15:31 -0700)]
progs/trivial: added two simple texture tests
One draws a series of quads with different textures.
The other draws with one texture which is changed with glTexSubImage2D().
Brian Paul [Mon, 30 Nov 2009 21:02:01 +0000 (14:02 -0700)]
llvmpipe: add a bunch of comments
Brian Paul [Mon, 30 Nov 2009 21:01:31 +0000 (14:01 -0700)]
llvmpipe: minor refactoring of bin rasterization code
Brian Paul [Mon, 30 Nov 2009 17:43:23 +0000 (10:43 -0700)]
llvmpipe: update C_SOURCES
Keith Whitwell [Thu, 22 Oct 2009 16:21:37 +0000 (17:21 +0100)]
llvmpipe: fix the worst of the depth regressions since switch to 4x4
Keith Whitwell [Wed, 21 Oct 2009 14:21:11 +0000 (15:21 +0100)]
llvmpipe: remove one of two definitions of TILESIZE
Keith Whitwell [Wed, 21 Oct 2009 13:35:54 +0000 (14:35 +0100)]
llvmpipe: remove dead code
Keith Whitwell [Tue, 20 Oct 2009 09:11:52 +0000 (10:11 +0100)]
llvmpipe: minor opts to setup_tri
Keith Whitwell [Tue, 20 Oct 2009 08:44:23 +0000 (09:44 +0100)]
llvmpipe: move block list into rast struct
Keith Whitwell [Tue, 20 Oct 2009 07:56:58 +0000 (08:56 +0100)]
llvmpipe: build list of 4x4 blocks to be shaded
Keith Whitwell [Tue, 20 Oct 2009 02:38:07 +0000 (03:38 +0100)]
llvmpipe: recursive rasterization within a tile
Keith Whitwell [Tue, 20 Oct 2009 02:17:17 +0000 (03:17 +0100)]
llvmpipe: pass mask as a linear encoding of the 4x4 block
Keith Whitwell [Tue, 20 Oct 2009 01:46:00 +0000 (02:46 +0100)]
llvmpipe: precalculate some offsets
Keith Whitwell [Mon, 19 Oct 2009 16:10:48 +0000 (17:10 +0100)]
llvmpipe: remove a leftover 8x2 usage
Keith Whitwell [Mon, 19 Oct 2009 15:41:27 +0000 (16:41 +0100)]
llvmpipe: calculate masks in format desired by shader
Also remove branches calculating masks for quads.
Keith Whitwell [Mon, 19 Oct 2009 13:55:05 +0000 (14:55 +0100)]
llvmpipe: pre-multiply some constants by fixed_one
José Fonseca [Mon, 19 Oct 2009 13:02:01 +0000 (14:02 +0100)]
llvmpipe: Reshape the shader input from 8x2 to 4x4.
Incorrect rendering until the interpolation code generation is updated.
Keith Whitwell [Mon, 19 Oct 2009 11:24:18 +0000 (12:24 +0100)]
llvmpipe: fixed-point rasterization
José Fonseca [Mon, 19 Oct 2009 12:14:33 +0000 (13:14 +0100)]
llvmpipe: Reset the pointer to stored jit context.
José Fonseca [Mon, 19 Oct 2009 10:53:22 +0000 (11:53 +0100)]
llvmpipe: Allocate the blend color from the data store, and ensure it's aligned.
Keith Whitwell [Mon, 19 Oct 2009 10:29:05 +0000 (11:29 +0100)]
llvmpipe: correctly scale top/left fill adjustments
Was overdoing it previously.
Keith Whitwell [Mon, 19 Oct 2009 10:23:43 +0000 (11:23 +0100)]
llvmpipe: fix typo correcting for fill convention
Adjustments for top-left fill convention were being lost.
José Fonseca [Sun, 18 Oct 2009 10:57:43 +0000 (11:57 +0100)]
llvmpipe: Maintain a copy of the shader constants to prevent clobbering.
José Fonseca [Sat, 10 Oct 2009 17:44:46 +0000 (18:44 +0100)]
llvmpipe: Only invoke the shader if necessary.
José Fonseca [Fri, 9 Oct 2009 18:17:30 +0000 (19:17 +0100)]
llvmpipe: Additional checks for binner block lists.
José Fonseca [Fri, 9 Oct 2009 18:16:36 +0000 (19:16 +0100)]
llvmpipe: Use framebuffer coords consistently.
José Fonseca [Fri, 9 Oct 2009 16:14:11 +0000 (17:14 +0100)]
llvmpipe: Fix type in tri bounding box check.
Keith Whitwell [Fri, 9 Oct 2009 15:59:24 +0000 (16:59 +0100)]
llvmpipe: fill in tri min/max values
José Fonseca [Fri, 9 Oct 2009 15:50:32 +0000 (16:50 +0100)]
llvmpipe: Remove partial tile override.
José Fonseca [Fri, 9 Oct 2009 15:21:25 +0000 (16:21 +0100)]
llvmpipe: Undo debug override.
Keith Whitwell [Fri, 9 Oct 2009 15:19:00 +0000 (16:19 +0100)]
llvmpipe: properly clip tile writes
José Fonseca [Fri, 9 Oct 2009 15:18:19 +0000 (16:18 +0100)]
llvmpipe: Pass framebuffer coords to shader.
José Fonseca [Fri, 9 Oct 2009 15:18:03 +0000 (16:18 +0100)]
llvmpipe: Tell setup shader inputs.
Keith Whitwell [Fri, 9 Oct 2009 15:05:26 +0000 (16:05 +0100)]
llvmpipe: correct binning maths for iterating over whole tiles
José Fonseca [Fri, 9 Oct 2009 14:52:18 +0000 (15:52 +0100)]
llvmpipe: Get jit_context/jit_function across the rasterizer.
Keith Whitwell [Fri, 9 Oct 2009 14:29:10 +0000 (15:29 +0100)]
llvmpipe: set block count/used values back to zero on reset
Keith Whitwell [Fri, 9 Oct 2009 14:10:15 +0000 (15:10 +0100)]
llvmpipe: just bin whole tiles for now
Keith Whitwell [Fri, 9 Oct 2009 14:07:18 +0000 (15:07 +0100)]
llvmpipe: always call begin_binning on transition to active state
Keith Whitwell [Fri, 9 Oct 2009 13:59:35 +0000 (14:59 +0100)]
llvmpipe: add LP_DEBUG env var
Keith Whitwell [Fri, 9 Oct 2009 13:36:41 +0000 (14:36 +0100)]
llvmpipe: initialize setup data store
Keith Whitwell [Fri, 9 Oct 2009 13:33:57 +0000 (14:33 +0100)]
llvmpipe: initialize setup line/tri/point funcs
José Fonseca [Fri, 9 Oct 2009 13:30:25 +0000 (14:30 +0100)]
llvmpipe: Put jit_context in store.
Keith Whitwell [Fri, 9 Oct 2009 13:29:25 +0000 (14:29 +0100)]
llvmpipe: trivial/clear works
Keith Whitwell [Fri, 9 Oct 2009 13:07:25 +0000 (14:07 +0100)]
llvmpipe: more debug
José Fonseca [Fri, 9 Oct 2009 13:03:11 +0000 (14:03 +0100)]
llvmpipe: Replace util_pack_color with straight float_to_ubyte.
Keith Whitwell [Fri, 9 Oct 2009 13:02:39 +0000 (14:02 +0100)]
llvmpipe: debug, crash fixes
Keith Whitwell [Fri, 9 Oct 2009 12:55:04 +0000 (13:55 +0100)]
llvmpipe: fix crash on init
Keith Whitwell [Fri, 9 Oct 2009 12:53:14 +0000 (13:53 +0100)]
llvmpipe: fix a couple of warnings
José Fonseca [Fri, 9 Oct 2009 12:44:24 +0000 (13:44 +0100)]
llvmpipe: Add stub lp_setup_is_texture_referenced.
José Fonseca [Fri, 9 Oct 2009 12:41:33 +0000 (13:41 +0100)]
llvmpipe: Pass state to setup.
José Fonseca [Fri, 9 Oct 2009 12:22:42 +0000 (13:22 +0100)]
util: Force ESI register for cpuid's ebx result.
Fixes a segfault and better code. Unfortunately using an arbitrary
register ("=r") causes the gcc to abort when the code is optimized saying
it can't satisfy the constraint. Setting seems to do the trick.
José Fonseca [Fri, 9 Oct 2009 10:29:33 +0000 (11:29 +0100)]
llvmpipe: Eliminate constant mapping/unmapping.
Keith Whitwell [Fri, 9 Oct 2009 11:26:49 +0000 (12:26 +0100)]
llvmpipe: remove dead code
Keith Whitwell [Fri, 9 Oct 2009 11:19:49 +0000 (12:19 +0100)]
llvmpipe: get lp_setup_tri building
Keith Whitwell [Fri, 9 Oct 2009 10:29:01 +0000 (11:29 +0100)]
llvmpipe: use union lp_cmd_rast_arg directly, rather than through a pointer
The union itself consists of pointers. We don't need to be passing
pointer to pointers.
Keith Whitwell [Fri, 9 Oct 2009 09:44:07 +0000 (10:44 +0100)]
llvmpipe: hook up some state, add stub line and point functions
José Fonseca [Fri, 9 Oct 2009 09:37:24 +0000 (10:37 +0100)]
llvmpipe: Follow write_color/write_zstencil.
Keith Whitwell [Fri, 9 Oct 2009 09:24:19 +0000 (10:24 +0100)]
llvmpipe: calculate overall width and height, pass to rasterizer
Keith Whitwell [Fri, 9 Oct 2009 09:23:53 +0000 (10:23 +0100)]
llvmpipe: more wip on coefficients
Keith Whitwell [Thu, 8 Oct 2009 22:08:41 +0000 (23:08 +0100)]
llvmpipe: get lp_setup compiling
Keith Whitwell [Thu, 8 Oct 2009 21:46:21 +0000 (22:46 +0100)]
llvmpipe: triangle struct owns its copy of shader inputs
Keith Whitwell [Thu, 8 Oct 2009 18:58:28 +0000 (19:58 +0100)]
llvmpipe: work on clears and coefficients
José Fonseca [Thu, 8 Oct 2009 18:56:01 +0000 (19:56 +0100)]
llvmpipe: Remove quad headers.
José Fonseca [Thu, 8 Oct 2009 18:53:56 +0000 (19:53 +0100)]
llvmpipe: Adjust interpolation coeffs declaration.
José Fonseca [Thu, 8 Oct 2009 18:53:14 +0000 (19:53 +0100)]
llvmpipe: Call lp_rast_shade_quads from tri rasterizer.
José Fonseca [Thu, 8 Oct 2009 18:18:35 +0000 (19:18 +0100)]
llvmpipe: Fix typo.
Keith Whitwell [Thu, 8 Oct 2009 18:14:46 +0000 (19:14 +0100)]
llvmpipe: rast_tri updates
José Fonseca [Thu, 8 Oct 2009 18:16:47 +0000 (19:16 +0100)]
llvmpipe: Final adjustments to rasterizer methods.
José Fonseca [Thu, 8 Oct 2009 18:03:35 +0000 (19:03 +0100)]
llvmpipe: More assorted build fixes.
José Fonseca [Thu, 8 Oct 2009 18:03:14 +0000 (19:03 +0100)]
llvmpipe: Complete more rasterizer methods..
José Fonseca [Thu, 8 Oct 2009 16:59:57 +0000 (17:59 +0100)]
llvmpipe: Assorted build fixes.
José Fonseca [Thu, 8 Oct 2009 16:59:44 +0000 (17:59 +0100)]
llvmpipe: Implement some of the rasterizer functions.
Keith Whitwell [Thu, 8 Oct 2009 16:52:35 +0000 (17:52 +0100)]
llvmpipe: start cleaning up
Keith Whitwell [Thu, 8 Oct 2009 16:20:40 +0000 (17:20 +0100)]
llvmpipe: remove some old sampler support structs
José Fonseca [Thu, 8 Oct 2009 16:26:13 +0000 (17:26 +0100)]
llvmpipe: Fix up lp_rast_shade_quads.
José Fonseca [Thu, 8 Oct 2009 16:06:49 +0000 (17:06 +0100)]
llvmpipe: Remove dead files from SConscript.
José Fonseca [Thu, 8 Oct 2009 16:06:32 +0000 (17:06 +0100)]
llvmpipe: Update lp_setup_clear invocation.
José Fonseca [Thu, 8 Oct 2009 16:06:03 +0000 (17:06 +0100)]
llvmpipe: Update more copyright headers.
Keith Whitwell [Thu, 8 Oct 2009 15:33:12 +0000 (16:33 +0100)]
llvmpipe: remove tex tile cache and related code
Keith Whitwell [Thu, 8 Oct 2009 15:32:03 +0000 (16:32 +0100)]
llvmpipe: rewrite llvmpipe_clear()
Keith Whitwell [Thu, 8 Oct 2009 14:44:29 +0000 (15:44 +0100)]
llvmpipe: wip me harder
José Fonseca [Thu, 8 Oct 2009 11:51:46 +0000 (12:51 +0100)]
llvmpipe: Update includes and copyright headers.
José Fonseca [Thu, 8 Oct 2009 11:44:52 +0000 (12:44 +0100)]
llvmpipe: Update SConscript.
José Fonseca [Thu, 8 Oct 2009 11:44:30 +0000 (12:44 +0100)]
llvmpipe: Add the rast -> jit shader glue.
Ugly code. Will eventually be reduced to a very thin inlined function.
Keith Whitwell [Thu, 8 Oct 2009 11:15:12 +0000 (12:15 +0100)]
llvmpipe: whip out the intra-tile code from lp_setup_tri.c
The "setup" module handles building per-tile display lists.
Intra-tile rendering is handled by lp_rast*.c
Keith Whitwell [Thu, 8 Oct 2009 10:47:33 +0000 (11:47 +0100)]
llvmpipe: more wipping
Keith Whitwell [Wed, 7 Oct 2009 21:36:43 +0000 (22:36 +0100)]
llvmpipe: import experimental softpipe rasterizer code, wip binning code
WIP, does't build or run.
Rasterizer code is based on Nick Capen's devmaster posts and the
larrabee articles, but currently doesn't share either the performance
or correctness of either...
Vinson Lee [Wed, 7 Oct 2009 20:29:23 +0000 (14:29 -0600)]
i915g: Fix MSVC build.
Brian Paul [Wed, 7 Oct 2009 19:30:48 +0000 (13:30 -0600)]
softpipe: new comments
Brian Paul [Wed, 7 Oct 2009 19:21:57 +0000 (13:21 -0600)]
softpipe: whitespace and comment fixes
Brian Paul [Wed, 7 Oct 2009 19:17:20 +0000 (13:17 -0600)]
softpipe: prefix non-static functions with sp_
Joakim Sindholt [Wed, 7 Oct 2009 19:02:18 +0000 (21:02 +0200)]
r300compiler: fix scons build again
Nicolai Hähnle [Wed, 7 Oct 2009 18:45:08 +0000 (20:45 +0200)]
Merge branch 'master' into r300g-glsl
Conflicts:
src/gallium/drivers/r300/r300_tgsi_to_rc.c
Signed-off-by: Nicolai Hähnle <nhaehnle@gmail.com>