Commit graph

6019 commits

Author SHA1 Message Date
Marek Olšák
8449a4772a r300g: fix texture border for 16-bits-per-channel formats
This is kinda hacky, but it's hard to come up with a generic solution for
all formats when only a few are used in practice (I mostly get B8G8R8*8).
2010-10-24 23:43:13 +02:00
Dave Airlie
a20c2347a0 r600g: drop more common state handling code 2010-10-24 13:04:44 +10:00
Tilman Sauerbeck
f4a2c62af5 r600g: Also clear bc data when we're destroying a shader.
[airlied: remove unused vars]

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-24 12:56:35 +10:00
Tilman Sauerbeck
ccb9be1056 r600g: Added r600_pipe_shader_destroy().
Not yet complete.

Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-24 12:55:18 +10:00
Dave Airlie
9612b482e2 r600g: merge more of the common r600/evergreen state handling 2010-10-24 12:53:50 +10:00
Tilman Sauerbeck
9f9d24c89a r600g: Fixed r600_vertex_element leak.
Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2010-10-24 12:44:56 +10:00
Brian Paul
d8740b77ac softpipe: remove >32bpp color restriction
The comment was out of date.  The tile cache does handle >32-bit colors.
2010-10-23 10:27:21 -06:00
Brian Paul
4250882ccf softpipe: added some texture sample debug code (disabled) 2010-10-23 10:19:30 -06:00
Marek Olšák
469907d597 r300g: say no to PIPE_CAP_STREAM_OUTPUT and PIPE_CAP_PRIMITIVE_RESTART 2010-10-22 20:34:28 +02:00
Marek Olšák
1d96ad67bc r300g: do not print get_param errors in non-debug build 2010-10-22 20:34:27 +02:00
Brian Paul
67f6a4a8c4 galahad: silence warnings 2010-10-22 08:58:35 -06:00
Brian Paul
6692ed6f03 llvmpipe: enable primitive restart 2010-10-21 19:03:38 -06:00
Brian Paul
27d3bab055 softpipe: enable primitive restart 2010-10-21 19:03:38 -06:00
Dave Airlie
f39e6c9c81 r600g: start splitting out common code from eg/r600.
no point duplicating code that doesn't touch hw, also make it easier
to spot mistakes
2010-10-21 19:58:09 +10:00
Dave Airlie
e68c83a5a0 r600g: initial translate state support 2010-10-21 19:58:08 +10:00
Vinson Lee
abc5435f22 llvmpipe: Remove unnecessary header. 2010-10-21 01:44:48 -07:00
Dave Airlie
089aa0ba24 r600g: add texture tiling enable under a debug option.
At the moment you need kernel patches to have texture tiling work
with the kernel CS checker, so once they are upstream and the drm version
is bumped we can make this enable flip the other way most likely.
2010-10-21 13:40:45 +10:00
Dave Airlie
cdd14668b6 r600g: add texture tiling alignment support.
this sets things up to align stride/height with tile sizes,
it also adds support for the 2D/1D array mode cross over point.
2010-10-21 13:37:54 +10:00
Dave Airlie
92ed84d115 r600g: introduce a per-driver resource flag for transfers.
this is to be used to decide not to tile a surface being used for transfers.
2010-10-21 13:36:01 +10:00
Dave Airlie
91e513044d r600g: add r600 surface to store the aligned height.
we need to know the aligned height when binding the surface to cb/zb,
not the gallium surface height.
2010-10-21 13:33:00 +10:00
Dave Airlie
388ce31baa r600g: start adding hooks for aligning width/height for tiles. 2010-10-21 13:32:08 +10:00
Dave Airlie
ea5aab85fd r600g: move to per-miplevel array mode.
Since the hw transitions from 2D->1D sampling below the 2D macrotile
size we need to keep track of the array mode per level so we can
render to it using the CB.
2010-10-21 13:32:08 +10:00
Dave Airlie
206fbd9640 r600g: all non-0 mipmap levels need to be w/h aligned to POT.
this adds a new minify function to the driver to ensure this.
2010-10-21 13:20:14 +10:00
Brian Paul
f36346c116 llvmpipe/draw: always enable LLVMAddInstructionCombiningPass()
We were working around an LLVM 2.5 bug but we're using LLVM 2.6 or later now.
This basically reverts commit baddcbc522.
This fixes the piglit bug/tri-tex-crash.c failure.
2010-10-20 14:49:07 -06:00
Vinson Lee
89c26866f0 r600g: Ensure r600_src is initialized in tgsi_exp function.
Silences these GCC warnings.
r600_shader.c: In function 'tgsi_exp':
r600_shader.c:2339: warning: 'r600_src[0].rel' is used uninitialized in this function
r600_shader.c:2339: warning: 'r600_src[0].abs' is used uninitialized in this function
r600_shader.c:2339: warning: 'r600_src[0].neg' is used uninitialized in this function
r600_shader.c:2339: warning: 'r600_src[0].chan' is used uninitialized in this function
r600_shader.c:2339: warning: 'r600_src[0].sel' is used uninitialized in this function
2010-10-20 12:44:08 -07:00
Vinson Lee
36dde032a4 llvmpipe: Initialize variable. 2010-10-19 10:14:11 -07:00
Vinson Lee
22725eb3e8 llvmpipe: Initialize state variable in debug_bin function. 2010-10-19 10:02:28 -07:00
Tom Stellard
f822cc22f2 r300g: Add new debug option for logging vertex/fragment program stats 2010-10-18 20:51:05 -07:00
José Fonseca
f37b114dc3 llvmpipe: Don't test rounding of x.5 numbers.
SSE4.1 has different rules, and so far this doesn't seem to cause any
problems with conformance test suites.
2010-10-18 09:35:21 -07:00
Brian Paul
01e0aaefcc llvmpipe: remove lp_setup_coef*.c files from Makefile 2010-10-18 07:59:02 -06:00
Dave Airlie
8a74f7422b r600g: retrieve tiling info from kernel for shared buffers.
we need to know if the back is tiled so we can blit from it properly.
2010-10-18 13:46:42 +10:00
Dave Airlie
375613afe3 r600g: fix transfer function for tiling.
this makes readback with tiled back work better.
2010-10-18 13:46:42 +10:00
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