Ian Romanick
3320b1874e
Cell: Enable code gen for SPE attribute fetch
...
Doubles are still unsupported.
2008-02-15 11:03:54 -08:00
Ian Romanick
71071b7a9e
Cell: Add missing back-slash in linux-cell config file
2008-02-15 10:36:48 -08:00
Ian Romanick
eb3f7aa6f8
Cell: Add INCLUDE_DIRS to SPU_CFLAGS to fix build.
2008-02-15 10:33:12 -08:00
Ian Romanick
b08d3fa249
Make this file build on non-SSE builds (e.g., Cell)
2008-02-15 10:00:31 -08:00
Ian Romanick
397b81bd1c
Move cell_vertex_fetch.c for recent code reorg.
2008-02-15 09:43:13 -08:00
Ian Romanick
55e64b63ad
Initial version of code gen for attribute fetch
2008-02-15 09:40:44 -08:00
Ian Romanick
2cc0c3b997
Correct the convert to and from float instructions
2008-02-15 09:40:44 -08:00
Keith Whitwell
c179bc9901
tgsi: pass through failure to sse-codegenerate for fragment programs too.
...
In particular, will fallback to interpreted execution for shaders with
TEX instructions.
2008-02-15 13:39:24 +00:00
Keith Whitwell
b29d8d2729
draw: subclass vertex shaders according to execution method
...
Create new files for shaders compiled/executed with llvm, sse, exec
respectively
2008-02-15 13:37:01 +00:00
Keith Whitwell
e822e09b89
softpipe: rename some functions to disambiguate
2008-02-15 13:35:46 +00:00
Keith Whitwell
30d0bacf7a
Merge commit 'origin/gallium-0.1' into gallium-0.1
2008-02-15 11:18:04 +00:00
Keith Whitwell
6ac2c1cc0c
Merge commit 'origin/gallium-0.1' into gallium-0.1
...
Conflicts:
src/gallium/drivers/softpipe/sp_quad_fs.c
src/gallium/drivers/softpipe/sp_state.h
src/gallium/drivers/softpipe/sp_state_fs.c
2008-02-15 11:15:47 +00:00
José Fonseca
66f22aa3bf
Code reorganization: s/aux/auxiliary/ -- update build.
2008-02-15 20:11:40 +09:00
José Fonseca
92fcbf6e7b
Code reorganization: s/aux/auxiliary/.
...
"aux" is a reserved name on Windows (X_X)
2008-02-15 20:07:18 +09:00
Keith Whitwell
c04a7f8929
gallium: reorganize fragment shader execution, unbreak sse
...
This is probably going to get further reworked in the near future.
Right now there's a new interface wrapped around each shader execution
mode - exec, sse2, llvm. The llvm code was disabled already and has
just been moved as-is to a new file, whereas the sse2 and exec code is
actually enabled.
The way the interfaces has turned out suggests to me that the correct
approach is to actually have each shader include a pointer to a quad stage
which will do a better job of encapsulating the execution environment than
what I have here -- that's a second step however.
2008-02-15 09:31:22 +00:00
Keith Whitwell
fa9c160389
tgsi: disable dummy sse2 texture code
2008-02-15 08:56:04 +00:00
José Fonseca
6d3831b11d
Code reorganization: placeholder for state-trackers.
...
This is meant for temporarily holding state-trackers,
until they eventually find their way out of gallium tree.
2008-02-15 17:52:14 +09:00
José Fonseca
6acd63a498
Code reorganization: update build.
...
Update the Makefiles and includes for the new paths.
Note that there hasn't been no separation of the Makefiles yet, and make is
jumping all over the place. That will be taken care shortly. But for now, make
should work. It was tested with linux and linux-dri. Linux-cell and linux-llvm
might require some minor tweaks.
2008-02-15 17:50:12 +09:00
José Fonseca
b642730be9
Code reorganization: move files into their places.
...
This is in a separate commit to ensure renames are properly preserved.
2008-02-15 17:45:40 +09:00
Zack Rusin
4593be34b2
vastly simplify indexing
2008-02-15 01:17:17 -05:00
Zack Rusin
cf51d5c421
redo indirection
...
make all load's respect indirection
2008-02-15 01:17:17 -05:00
Zack Rusin
f70cc89dbc
redo the way immediates are handled
...
implement madd
start implementing arl
2008-02-15 01:17:17 -05:00
Zack Rusin
ae3375987f
rename 'argument' to 'load' because that's what it does
2008-02-15 01:17:17 -05:00
Zack Rusin
d0364584be
implement swizzling on writes
2008-02-15 01:17:16 -05:00
Zack Rusin
13d9e616f6
a call was missed during the last rename
2008-02-15 01:14:59 -05:00
Michal Krol
19780237ff
gallium: Fix memory leak.
2008-02-15 11:30:51 +09:00
Michal Krol
742c5d3e1b
gallium: Fix memory leak.
2008-02-15 11:30:49 +09:00
Michal Krol
6a7820d31f
gallium: Use align_free() to free aligned memories.
2008-02-15 11:30:06 +09:00
Michal Krol
d3cd39493c
gallium: Fix build on Windows.
2008-02-15 11:29:58 +09:00
Michal Krol
3f1b712d0a
gallium: Use MALLOC().
2008-02-15 11:22:07 +09:00
José Fonseca
d8ae972fd0
gallium: Fix MSVC compiler warnings.
2008-02-15 11:22:07 +09:00
Brian
663f4aaae6
gallium: remove some debug assertions in vertex format validation
...
If a fragment shader references an input for which there's no vertex
shader output (ex: texcoord3), use vertex output 0 by default.
Basically, the attribute's value will be undefined. The shader writer
should never rely on undefined fragment shader inputs anyway.
2008-02-14 19:18:09 -07:00
Brian
3d81a956b9
gallium: rearrange vertex info/layout validation
...
Delay validation until someone really needs the vertex layout (vbuf alloc
vertex buffer or point/line/tri setup/rendering).
This will allow the vertex size to change depending on whether we're
drawing points, lines or triangles.
2008-02-14 18:59:25 -07:00
Brian
1b6540b4b1
gallium: include draw_context.h to silence warning
2008-02-14 18:59:24 -07:00
Brian
d2b14311d9
gallium: minor function renaming
2008-02-14 18:59:24 -07:00
Brian
4c1403f667
gallium: new tgsi_transform_shader() function
...
Used to apply transformations to TGSI shaders, such as register search and
replace.
2008-02-14 18:59:24 -07:00
Brian
ca2f2c7664
gallium: new pgon-mode.c test
...
A two-triangle strip is drawn such that the first tri is front-facing and
the second tri is back-facing. Use different front/back polygon modes.
2008-02-14 18:59:24 -07:00
Brian
5e345a653b
gallium: call draw_flush() in softpipe_flush()
...
Without this, we might not get any rendering at SwapBuffers time when using the vbuf path.
2008-02-14 18:59:24 -07:00
Brian
7a3e59d236
gallium: fix some "instruction"/"declaration" mix-ups in tgsi_exec_prepare().
2008-02-14 18:59:24 -07:00
Brian
59cc1f4e62
gallium: replace "interpolate" terminology with "eval" to better reflect what's being done.
2008-02-14 18:59:24 -07:00
Brian
4f32c53237
gallium: changes to polygon mode weren't detected in draw_unfilled stage.
...
Need to reset stage->tri = unfilled_first_try in unfilled_flush() so that the
front/back state is picked up.
2008-02-14 18:59:24 -07:00
Brian
b08102a8f3
gallium: rename draw_free_tmps->draw_free_temp_verts, draw_alloc_tmps->draw_alloc_temp_verts
2008-02-14 18:59:24 -07:00
Brian
e9c6c31651
galllium: comments, minor clean-ups
2008-02-14 18:59:24 -07:00
Ian Romanick
bbd7aabe2b
More name typeo fixes.
2008-02-14 17:42:34 -08:00
Ian Romanick
d4d9943b01
s/spu_/spe_/g Ugh.
2008-02-14 17:06:13 -08:00
Ian Romanick
18fd3b7571
Cell: pass pointers to stored memory values
...
Several routines use shuffle patterns that are stored in memory. For
code gen, it is difficult to directly access the data segments. The
routines have been modified to be passed a pointer to a global table
of shuffle patterns.
This *should* be the last change to this file before switching over to
code gen.
2008-02-14 16:53:05 -08:00
Ian Romanick
f1257fd794
Cell: Fix unintended breakage from commit 1d62a057bc
2008-02-14 11:55:19 -08:00
Ian Romanick
77a1488620
Real-time assembler for Cell SPE.
2008-02-14 10:08:48 -08:00
Ian Romanick
dd07e154d2
Fetch routines convert and transpose all 4 vertices at once.
2008-02-14 10:08:48 -08:00
Ian Romanick
125451b9f0
Remove open-coded fetch functions
2008-02-14 10:08:48 -08:00