Commit Graph

5987 Commits

Author SHA1 Message Date
Dave Airlie c61b97d504 r600g: attempt to cleanup depth blit
cleanup what I'm nearly sure is unnecessary work in the depth blit code.
2010-10-18 13:46:25 +10:00
Dave Airlie 21c6459dfb r600g: depth needs to bound to ds 2010-10-18 13:39:55 +10:00
Dave Airlie 69f8eebe72 r600g: fix typo in tiling setup cb code. 2010-10-18 13:39:55 +10:00
Dave Airlie a1b7333c07 r600g: do proper tracking of views/samplers.
we need to do pretty much what r300g does in for this, this fixes some
issues seen while working on tiling.
2010-10-18 13:39:54 +10:00
Keith Whitwell 9da17fed2e llvmpipe: remove unused arg from jit_setup_tri function 2010-10-17 19:23:40 -07:00
Keith Whitwell 75799b8d02 llvmpipe: remove unused file 2010-10-17 19:11:47 -07:00
Keith Whitwell 0072acd447 Merge remote branch 'origin/master' into lp-setup-llvm
Conflicts:
	src/gallium/drivers/llvmpipe/lp_setup_coef.c
	src/gallium/drivers/llvmpipe/lp_setup_coef.h
	src/gallium/drivers/llvmpipe/lp_setup_coef_intrin.c
	src/gallium/drivers/llvmpipe/lp_setup_point.c
	src/gallium/drivers/llvmpipe/lp_setup_tri.c
	src/gallium/drivers/llvmpipe/lp_state_derived.c
	src/gallium/drivers/llvmpipe/lp_state_fs.h
2010-10-17 19:09:42 -07:00
Keith Whitwell ca2b2ac131 llvmpipe: fail cleanly on malloc failure in lp_setup_alloc_triangle 2010-10-17 18:48:11 -07:00
Keith Whitwell 543fb77dde llvmpipe: remove setup fallback path 2010-10-17 18:29:28 -07:00
Dave Airlie 5b966f58e3 r600g: set tiling bits in hw state 2010-10-18 09:25:22 +10:00
Dave Airlie 7b3fa03883 r600g: get tiling info from kernel 2010-10-18 09:25:22 +10:00
Dave Airlie e8e20313af r600g: add defines for tiling 2010-10-18 09:25:22 +10:00
Dave Airlie 82114ac02a r600g: switch to a common formats.h file since they are in different regs 2010-10-18 09:13:46 +10:00
Vinson Lee c9d297162a llvmpipe: Return non-zero exit code for lp_test_round failures. 2010-10-17 14:09:53 -07:00
José Fonseca 4afad7d3ed llvmpipe: Initialize bld ctx via lp_build_context_init instead of ad-hoc and broken code. 2010-10-17 10:15:15 -07:00
José Fonseca a0add0446c llvmpipe: Fix bad refactoring.
'i' and 'chan' have random values here, which could cause a buffer
overflow in debug builds, if chan > 4.
2010-10-17 09:58:04 -07:00
José Fonseca 709699d2e2 llvmpipe: Ensure z_shift and z_width is initialized. 2010-10-17 07:45:08 -07:00
José Fonseca 914b0d34e8 llvmpipe: Fix depth-stencil regression.
If stencil is enabled then we need to load the z_dst, even if depth
testing is disabled.

This fixes reflect mesa demo.
2010-10-17 07:22:34 -07:00
Dave Airlie 98b3f27439 r600g: add evergreen ARL support.
Thanks to Alex Deucher for pointing out the FLT to int conversion is necessary
and writing an initial patch, this brings about 20 piglits, and I think this
is the last piece to make evergreen and r600 equal in terms of features.
2010-10-17 16:48:30 +10:00
Jakob Bornecrantz 992e7c7279 llvmpipe: Move makefile include to before targets
Or plain make inside of the directory wont build libllvmpipe.a
2010-10-15 19:13:00 +01:00
Xavier Chantry 9c439e3c7a nv50: apply layout_mask to tile_flags
The tile_flags now store more than just nv50 page table entry bits.
2010-10-15 15:54:02 +02:00
Keith Whitwell ac98519c4e llvmpipe: validate color outputs against key->nr_cbufs 2010-10-15 14:49:13 +01:00
Keith Whitwell ffab84c9a2 llvmpipe: check shader outputs are non-null before using 2010-10-15 14:49:13 +01:00
Keith Whitwell 39185efd3a llvmpipe: fix non-sse build after recent changes 2010-10-15 14:11:22 +01:00
Keith Whitwell 392b0954c2 llvmpipe: use aligned loads/stores for plane values 2010-10-15 13:52:00 +01:00
Keith Whitwell 9f9a17eba8 llvmpipe: do plane calculations with intrinsics
This is a step towards moving this code into the rasterizer.
2010-10-15 13:38:06 +01:00
Keith Whitwell 15f4e3a8b9 gallium: move some intrinsics helpers to u_sse.h 2010-10-15 13:29:56 +01:00
Keith Whitwell 8965f042b3 llvmpipe: don't store plane.ei value in binned data
Further reduce the size of a binned triangle.
2010-10-15 13:27:47 +01:00
Keith Whitwell 9bf8a55c4b llvmpipe: slightly shrink the size of a binned triangle 2010-10-15 13:27:47 +01:00
Keith Whitwell 0a1c900103 llvmpipe: don't pass frontfacing as a float 2010-10-15 13:27:47 +01:00
Keith Whitwell 4195febeec llvmpipe: reintroduce SET_STATE binner command
But bin lazily only into bins which are receiving geometry.
2010-10-15 13:27:47 +01:00
Dave Airlie fc6caef4cb r600g: evergreen interpolation support.
On evergreen, interpolation has moved into the fragment shader,
with the interpolation parmaters being passed via GPRs and LDS entries.

This works out the number of interps required and reserves GPR/LDS
storage for them, it also correctly routes face/position values which
aren't interpolated from the vertex shader.

Also if we noticed nothing is to be interpolated we always setup perspective
interpolation for one value otherwise the GPU appears to lockup.

This fixes about 15 piglit tests on evergreen.
2010-10-15 14:59:17 +10:00
Brian Paul 3d7479d705 llvmpipe: code to dump bytecode to file (disabled) 2010-10-14 17:28:24 -06:00
Dave Airlie 510c503762 r300g: clean up warning due to unknown cap. 2010-10-15 08:46:16 +10:00
Keith Whitwell 8260ab9346 r600g: handle absolute modifier in shader translator
This was being classed as unsupported in one place but used in others.
Enabling it seems to work fine.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-15 08:33:50 +10:00
Keith Whitwell c28f764572 r600g: emit hardware linewidth
Tested with demos/pixeltest - line rasterization doesn't seem to be
set up for GL conventions yet, but at least width is respected now.

Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-15 08:33:25 +10:00
Keith Whitwell f0bd76f28d llvmpipe: don't try to emit non-existent color outputs 2010-10-14 14:08:20 +01:00
Dave Airlie 68014c8d19 r600g: select linear interpolate if tgsi input requests it 2010-10-14 14:27:34 +10:00
Dave Airlie 0637044add r600g: fixup typo in macro name 2010-10-14 14:19:37 +10:00
Dave Airlie 1e82c28fcf r600g: fixup pos/face ena/address properly 2010-10-14 14:15:15 +10:00
Dave Airlie 8a9f02c5d5 r600g: only pick centroid coordinate when asked.
TGSI tells us when to use this, its not hooked up from GLSL to MESA to TGSI yet though.
2010-10-14 14:15:15 +10:00
Fredrik Höglund a21a2748be r600g: Fix texture sampling with swizzled coords
Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-14 09:25:29 +10:00
Dave Airlie 26dacce2c0 r600g: drop unused context members 2010-10-14 09:10:16 +10:00
José Fonseca ae00e34e4b llvmpipe: Generalize the x8z24 fast path to all depth formats.
Together with the previous commit, this generalize the benefits of
d2cf757f44 to all depth formats, in
particular:
- simpler float -> 24unorm conversion
- avoid unsigned comparisons (not directly supported on SSE) by aligning
to the least significant bit
- avoid unecessary/repeated mask ANDing

Verified with trivial/tri-z that the exact same assembly is produced for
X8Z24.
2010-10-13 20:25:57 +01:00
José Fonseca 95c18abb03 llvmpipe: Unbreak Z32_FLOAT.
Z32_FLOAT uses <4 x float> as intermediate/destination type,
instead of <4 x i32>.

The necessary bitcasts got removed with commit
5b7eb868fd

Also use depth/stencil type and build contexts consistently, and
make the depth pointer argument a ordinary <i8 *>, to catch this
sort of issues in the future (and also to pave way for Z16 and
Z32_FLOAT_S8_X24 support).
2010-10-13 15:25:15 +01:00
Dave Airlie ff4b397517 r600g: fix stencil export for evergreen harder 2010-10-13 18:50:37 +10:00
Stephan Schmid 40cc5bfcd7 r600g: fix relative addressing when splitting constant accesses
Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-13 18:49:27 +10:00
Dave Airlie 6da8129b3c r600g: add missing eg reg definition 2010-10-13 17:45:10 +10:00
Dave Airlie 92e729bba5 r600g: evergreen add stencil export bit 2010-10-13 17:40:32 +10:00
Dave Airlie 88c1b32c62 r600g: use blitter for hw copy region
at the moment depth copies are failing (piglit depth-level-clamp)
so use the fallback for now until get some time to investigate.
2010-10-13 15:55:49 +10:00