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