mesa.git
14 years agollvmpipe: execute shaders on 4x4 blocks instead of 8x2
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.

14 years agollvmpipe: whitespace for readability
Brian Paul [Wed, 2 Dec 2009 21:55:48 +0000 (14:55 -0700)]
llvmpipe: whitespace for readability

14 years agollvmpipe: added assertions
Brian Paul [Tue, 1 Dec 2009 23:24:57 +0000 (16:24 -0700)]
llvmpipe: added assertions

And remove unused BLOCKSIZE.

14 years agollvmpipe: simplify mask computation
Brian Paul [Tue, 1 Dec 2009 23:24:16 +0000 (16:24 -0700)]
llvmpipe: simplify mask computation

Make this a little easier to understand.

14 years agollvmpipe: replace shifts with multiplies to be clearer
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.

14 years agollvmpipe: make nr_blocks unsigned
Brian Paul [Tue, 1 Dec 2009 23:00:04 +0000 (16:00 -0700)]
llvmpipe: make nr_blocks unsigned

14 years agollvmpipe: comments, reformatting and assertions in tri rast code
Brian Paul [Tue, 1 Dec 2009 22:43:01 +0000 (15:43 -0700)]
llvmpipe: comments, reformatting and assertions in tri rast code

14 years agoprogs/trivial: added two simple texture tests
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().

14 years agollvmpipe: add a bunch of comments
Brian Paul [Mon, 30 Nov 2009 21:02:01 +0000 (14:02 -0700)]
llvmpipe: add a bunch of comments

14 years agollvmpipe: minor refactoring of bin rasterization code
Brian Paul [Mon, 30 Nov 2009 21:01:31 +0000 (14:01 -0700)]
llvmpipe: minor refactoring of bin rasterization code

14 years agollvmpipe: update C_SOURCES
Brian Paul [Mon, 30 Nov 2009 17:43:23 +0000 (10:43 -0700)]
llvmpipe: update C_SOURCES

15 years agollvmpipe: fix the worst of the depth regressions since switch to 4x4
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

15 years agollvmpipe: remove one of two definitions of TILESIZE
Keith Whitwell [Wed, 21 Oct 2009 14:21:11 +0000 (15:21 +0100)]
llvmpipe: remove one of two definitions of TILESIZE

15 years agollvmpipe: remove dead code
Keith Whitwell [Wed, 21 Oct 2009 13:35:54 +0000 (14:35 +0100)]
llvmpipe: remove dead code

15 years agollvmpipe: minor opts to setup_tri
Keith Whitwell [Tue, 20 Oct 2009 09:11:52 +0000 (10:11 +0100)]
llvmpipe: minor opts to setup_tri

15 years agollvmpipe: move block list into rast struct
Keith Whitwell [Tue, 20 Oct 2009 08:44:23 +0000 (09:44 +0100)]
llvmpipe: move block list into rast struct

15 years agollvmpipe: build list of 4x4 blocks to be shaded
Keith Whitwell [Tue, 20 Oct 2009 07:56:58 +0000 (08:56 +0100)]
llvmpipe: build list of 4x4 blocks to be shaded

15 years agollvmpipe: recursive rasterization within a tile
Keith Whitwell [Tue, 20 Oct 2009 02:38:07 +0000 (03:38 +0100)]
llvmpipe: recursive rasterization within a tile

15 years agollvmpipe: pass mask as a linear encoding of the 4x4 block
Keith Whitwell [Tue, 20 Oct 2009 02:17:17 +0000 (03:17 +0100)]
llvmpipe: pass mask as a linear encoding of the 4x4 block

15 years agollvmpipe: precalculate some offsets
Keith Whitwell [Tue, 20 Oct 2009 01:46:00 +0000 (02:46 +0100)]
llvmpipe: precalculate some offsets

15 years agollvmpipe: remove a leftover 8x2 usage
Keith Whitwell [Mon, 19 Oct 2009 16:10:48 +0000 (17:10 +0100)]
llvmpipe: remove a leftover 8x2 usage

15 years agollvmpipe: calculate masks in format desired by shader
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.

15 years agollvmpipe: pre-multiply some constants by fixed_one
Keith Whitwell [Mon, 19 Oct 2009 13:55:05 +0000 (14:55 +0100)]
llvmpipe: pre-multiply some constants by fixed_one

15 years agollvmpipe: Reshape the shader input from 8x2 to 4x4.
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.

15 years agollvmpipe: fixed-point rasterization
Keith Whitwell [Mon, 19 Oct 2009 11:24:18 +0000 (12:24 +0100)]
llvmpipe: fixed-point rasterization

15 years agollvmpipe: Reset the pointer to stored jit context.
José Fonseca [Mon, 19 Oct 2009 12:14:33 +0000 (13:14 +0100)]
llvmpipe: Reset the pointer to stored jit context.

15 years agollvmpipe: Allocate the blend color from the data store, and ensure it's aligned.
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.

15 years agollvmpipe: correctly scale top/left fill adjustments
Keith Whitwell [Mon, 19 Oct 2009 10:29:05 +0000 (11:29 +0100)]
llvmpipe: correctly scale top/left fill adjustments

Was overdoing it previously.

15 years agollvmpipe: fix typo correcting for fill convention
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.

15 years agollvmpipe: Maintain a copy of the shader constants to prevent clobbering.
José Fonseca [Sun, 18 Oct 2009 10:57:43 +0000 (11:57 +0100)]
llvmpipe: Maintain a copy of the shader constants to prevent clobbering.

15 years agollvmpipe: Only invoke the shader if necessary.
José Fonseca [Sat, 10 Oct 2009 17:44:46 +0000 (18:44 +0100)]
llvmpipe: Only invoke the shader if necessary.

15 years agollvmpipe: Additional checks for binner block lists.
José Fonseca [Fri, 9 Oct 2009 18:17:30 +0000 (19:17 +0100)]
llvmpipe: Additional checks for binner block lists.

15 years agollvmpipe: Use framebuffer coords consistently.
José Fonseca [Fri, 9 Oct 2009 18:16:36 +0000 (19:16 +0100)]
llvmpipe: Use framebuffer coords consistently.

15 years agollvmpipe: Fix type in tri bounding box check.
José Fonseca [Fri, 9 Oct 2009 16:14:11 +0000 (17:14 +0100)]
llvmpipe: Fix type in tri bounding box check.

15 years agollvmpipe: fill in tri min/max values
Keith Whitwell [Fri, 9 Oct 2009 15:59:24 +0000 (16:59 +0100)]
llvmpipe: fill in tri min/max values

15 years agollvmpipe: Remove partial tile override.
José Fonseca [Fri, 9 Oct 2009 15:50:32 +0000 (16:50 +0100)]
llvmpipe: Remove partial tile override.

15 years agollvmpipe: Undo debug override.
José Fonseca [Fri, 9 Oct 2009 15:21:25 +0000 (16:21 +0100)]
llvmpipe: Undo debug override.

15 years agollvmpipe: properly clip tile writes
Keith Whitwell [Fri, 9 Oct 2009 15:19:00 +0000 (16:19 +0100)]
llvmpipe: properly clip tile writes

15 years agollvmpipe: Pass framebuffer coords to shader.
José Fonseca [Fri, 9 Oct 2009 15:18:19 +0000 (16:18 +0100)]
llvmpipe: Pass framebuffer coords to shader.

15 years agollvmpipe: Tell setup shader inputs.
José Fonseca [Fri, 9 Oct 2009 15:18:03 +0000 (16:18 +0100)]
llvmpipe: Tell setup shader inputs.

15 years agollvmpipe: correct binning maths for iterating over whole tiles
Keith Whitwell [Fri, 9 Oct 2009 15:05:26 +0000 (16:05 +0100)]
llvmpipe: correct binning maths for iterating over whole tiles

15 years agollvmpipe: Get jit_context/jit_function across the rasterizer.
José Fonseca [Fri, 9 Oct 2009 14:52:18 +0000 (15:52 +0100)]
llvmpipe: Get jit_context/jit_function across the rasterizer.

15 years agollvmpipe: set block count/used values back to zero on reset
Keith Whitwell [Fri, 9 Oct 2009 14:29:10 +0000 (15:29 +0100)]
llvmpipe: set block count/used values back to zero on reset

15 years agollvmpipe: just bin whole tiles for now
Keith Whitwell [Fri, 9 Oct 2009 14:10:15 +0000 (15:10 +0100)]
llvmpipe: just bin whole tiles for now

15 years agollvmpipe: always call begin_binning on transition to active state
Keith Whitwell [Fri, 9 Oct 2009 14:07:18 +0000 (15:07 +0100)]
llvmpipe: always call begin_binning on transition to active state

15 years agollvmpipe: add LP_DEBUG env var
Keith Whitwell [Fri, 9 Oct 2009 13:59:35 +0000 (14:59 +0100)]
llvmpipe: add LP_DEBUG env var

15 years agollvmpipe: initialize setup data store
Keith Whitwell [Fri, 9 Oct 2009 13:36:41 +0000 (14:36 +0100)]
llvmpipe: initialize setup data store

15 years agollvmpipe: initialize setup line/tri/point funcs
Keith Whitwell [Fri, 9 Oct 2009 13:33:57 +0000 (14:33 +0100)]
llvmpipe: initialize setup line/tri/point funcs

15 years agollvmpipe: Put jit_context in store.
José Fonseca [Fri, 9 Oct 2009 13:30:25 +0000 (14:30 +0100)]
llvmpipe: Put jit_context in store.

15 years agollvmpipe: trivial/clear works
Keith Whitwell [Fri, 9 Oct 2009 13:29:25 +0000 (14:29 +0100)]
llvmpipe: trivial/clear works

15 years agollvmpipe: more debug
Keith Whitwell [Fri, 9 Oct 2009 13:07:25 +0000 (14:07 +0100)]
llvmpipe: more debug

15 years agollvmpipe: Replace util_pack_color with straight float_to_ubyte.
José Fonseca [Fri, 9 Oct 2009 13:03:11 +0000 (14:03 +0100)]
llvmpipe: Replace util_pack_color with straight float_to_ubyte.

15 years agollvmpipe: debug, crash fixes
Keith Whitwell [Fri, 9 Oct 2009 13:02:39 +0000 (14:02 +0100)]
llvmpipe: debug, crash fixes

15 years agollvmpipe: fix crash on init
Keith Whitwell [Fri, 9 Oct 2009 12:55:04 +0000 (13:55 +0100)]
llvmpipe: fix crash on init

15 years agollvmpipe: fix a couple of warnings
Keith Whitwell [Fri, 9 Oct 2009 12:53:14 +0000 (13:53 +0100)]
llvmpipe: fix a couple of warnings

15 years agollvmpipe: Add stub lp_setup_is_texture_referenced.
José Fonseca [Fri, 9 Oct 2009 12:44:24 +0000 (13:44 +0100)]
llvmpipe: Add stub lp_setup_is_texture_referenced.

15 years agollvmpipe: Pass state to setup.
José Fonseca [Fri, 9 Oct 2009 12:41:33 +0000 (13:41 +0100)]
llvmpipe: Pass state to setup.

15 years agoutil: Force ESI register for cpuid's ebx result.
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.

15 years agollvmpipe: Eliminate constant mapping/unmapping.
José Fonseca [Fri, 9 Oct 2009 10:29:33 +0000 (11:29 +0100)]
llvmpipe: Eliminate constant mapping/unmapping.

15 years agollvmpipe: remove dead code
Keith Whitwell [Fri, 9 Oct 2009 11:26:49 +0000 (12:26 +0100)]
llvmpipe: remove dead code

15 years agollvmpipe: get lp_setup_tri building
Keith Whitwell [Fri, 9 Oct 2009 11:19:49 +0000 (12:19 +0100)]
llvmpipe: get lp_setup_tri building

15 years agollvmpipe: use union lp_cmd_rast_arg directly, rather than through a pointer
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.

15 years agollvmpipe: hook up some state, add stub line and point functions
Keith Whitwell [Fri, 9 Oct 2009 09:44:07 +0000 (10:44 +0100)]
llvmpipe: hook up some state, add stub line and point functions

15 years agollvmpipe: Follow write_color/write_zstencil.
José Fonseca [Fri, 9 Oct 2009 09:37:24 +0000 (10:37 +0100)]
llvmpipe: Follow write_color/write_zstencil.

15 years agollvmpipe: calculate overall width and height, pass to rasterizer
Keith Whitwell [Fri, 9 Oct 2009 09:24:19 +0000 (10:24 +0100)]
llvmpipe: calculate overall width and height, pass to rasterizer

15 years agollvmpipe: more wip on coefficients
Keith Whitwell [Fri, 9 Oct 2009 09:23:53 +0000 (10:23 +0100)]
llvmpipe: more wip on coefficients

15 years agollvmpipe: get lp_setup compiling
Keith Whitwell [Thu, 8 Oct 2009 22:08:41 +0000 (23:08 +0100)]
llvmpipe: get lp_setup compiling

15 years agollvmpipe: triangle struct owns its copy of shader inputs
Keith Whitwell [Thu, 8 Oct 2009 21:46:21 +0000 (22:46 +0100)]
llvmpipe: triangle struct owns its copy of shader inputs

15 years agollvmpipe: work on clears and coefficients
Keith Whitwell [Thu, 8 Oct 2009 18:58:28 +0000 (19:58 +0100)]
llvmpipe: work on clears and coefficients

15 years agollvmpipe: Remove quad headers.
José Fonseca [Thu, 8 Oct 2009 18:56:01 +0000 (19:56 +0100)]
llvmpipe: Remove quad headers.

15 years agollvmpipe: Adjust interpolation coeffs declaration.
José Fonseca [Thu, 8 Oct 2009 18:53:56 +0000 (19:53 +0100)]
llvmpipe: Adjust interpolation coeffs declaration.

15 years agollvmpipe: Call lp_rast_shade_quads from tri rasterizer.
José Fonseca [Thu, 8 Oct 2009 18:53:14 +0000 (19:53 +0100)]
llvmpipe: Call lp_rast_shade_quads from tri rasterizer.

15 years agollvmpipe: Fix typo.
José Fonseca [Thu, 8 Oct 2009 18:18:35 +0000 (19:18 +0100)]
llvmpipe: Fix typo.

15 years agollvmpipe: rast_tri updates
Keith Whitwell [Thu, 8 Oct 2009 18:14:46 +0000 (19:14 +0100)]
llvmpipe: rast_tri updates

15 years agollvmpipe: Final adjustments to rasterizer methods.
José Fonseca [Thu, 8 Oct 2009 18:16:47 +0000 (19:16 +0100)]
llvmpipe: Final adjustments to rasterizer methods.

15 years agollvmpipe: More assorted build fixes.
José Fonseca [Thu, 8 Oct 2009 18:03:35 +0000 (19:03 +0100)]
llvmpipe: More assorted build fixes.

15 years agollvmpipe: Complete more rasterizer methods..
José Fonseca [Thu, 8 Oct 2009 18:03:14 +0000 (19:03 +0100)]
llvmpipe: Complete more rasterizer methods..

15 years agollvmpipe: Assorted build fixes.
José Fonseca [Thu, 8 Oct 2009 16:59:57 +0000 (17:59 +0100)]
llvmpipe: Assorted build fixes.

15 years agollvmpipe: Implement some of the rasterizer functions.
José Fonseca [Thu, 8 Oct 2009 16:59:44 +0000 (17:59 +0100)]
llvmpipe: Implement some of the rasterizer functions.

15 years agollvmpipe: start cleaning up
Keith Whitwell [Thu, 8 Oct 2009 16:52:35 +0000 (17:52 +0100)]
llvmpipe: start cleaning up

15 years agollvmpipe: remove some old sampler support structs
Keith Whitwell [Thu, 8 Oct 2009 16:20:40 +0000 (17:20 +0100)]
llvmpipe: remove some old sampler support structs

15 years agollvmpipe: Fix up lp_rast_shade_quads.
José Fonseca [Thu, 8 Oct 2009 16:26:13 +0000 (17:26 +0100)]
llvmpipe: Fix up lp_rast_shade_quads.

15 years agollvmpipe: Remove dead files from SConscript.
José Fonseca [Thu, 8 Oct 2009 16:06:49 +0000 (17:06 +0100)]
llvmpipe: Remove dead files from SConscript.

15 years agollvmpipe: Update lp_setup_clear invocation.
José Fonseca [Thu, 8 Oct 2009 16:06:32 +0000 (17:06 +0100)]
llvmpipe: Update lp_setup_clear invocation.

15 years agollvmpipe: Update more copyright headers.
José Fonseca [Thu, 8 Oct 2009 16:06:03 +0000 (17:06 +0100)]
llvmpipe: Update more copyright headers.

15 years agollvmpipe: remove tex tile cache and related code
Keith Whitwell [Thu, 8 Oct 2009 15:33:12 +0000 (16:33 +0100)]
llvmpipe: remove tex tile cache and related code

15 years agollvmpipe: rewrite llvmpipe_clear()
Keith Whitwell [Thu, 8 Oct 2009 15:32:03 +0000 (16:32 +0100)]
llvmpipe: rewrite llvmpipe_clear()

15 years agollvmpipe: wip me harder
Keith Whitwell [Thu, 8 Oct 2009 14:44:29 +0000 (15:44 +0100)]
llvmpipe: wip me harder

15 years agollvmpipe: Update includes and copyright headers.
José Fonseca [Thu, 8 Oct 2009 11:51:46 +0000 (12:51 +0100)]
llvmpipe: Update includes and copyright headers.

15 years agollvmpipe: Update SConscript.
José Fonseca [Thu, 8 Oct 2009 11:44:52 +0000 (12:44 +0100)]
llvmpipe: Update SConscript.

15 years agollvmpipe: Add the rast -> jit shader glue.
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.

15 years agollvmpipe: whip out the intra-tile code from lp_setup_tri.c
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

15 years agollvmpipe: more wipping
Keith Whitwell [Thu, 8 Oct 2009 10:47:33 +0000 (11:47 +0100)]
llvmpipe: more wipping

15 years agollvmpipe: import experimental softpipe rasterizer code, wip binning code
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...

15 years agoi915g: Fix MSVC build.
Vinson Lee [Wed, 7 Oct 2009 20:29:23 +0000 (14:29 -0600)]
i915g: Fix MSVC build.

15 years agosoftpipe: new comments
Brian Paul [Wed, 7 Oct 2009 19:30:48 +0000 (13:30 -0600)]
softpipe: new comments

15 years agosoftpipe: whitespace and comment fixes
Brian Paul [Wed, 7 Oct 2009 19:21:57 +0000 (13:21 -0600)]
softpipe: whitespace and comment fixes

15 years agosoftpipe: prefix non-static functions with sp_
Brian Paul [Wed, 7 Oct 2009 19:17:20 +0000 (13:17 -0600)]
softpipe: prefix non-static functions with sp_

15 years agor300compiler: fix scons build again
Joakim Sindholt [Wed, 7 Oct 2009 19:02:18 +0000 (21:02 +0200)]
r300compiler: fix scons build again

15 years agoMerge branch 'master' into r300g-glsl
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>