Commit graph

13344 commits

Author SHA1 Message Date
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
Ian Romanick
ca1a2da645 Initial pass at vertex cache, more vertex fetch changes
This is just another step towards dynamic generate of vertex fetch code.
2008-02-14 10:08:48 -08:00
Ian Romanick
c290367985 Vectorize a couple fetch functions
These C-coded vectorized functions are expected to be short lived.
They're basically a proof-of-concept for dynamically generated fetch
routines.
2008-02-14 10:08:48 -08:00
Michel Dänzer
0230c56ed0 intel_winsys: Call st_notify_swapbuffers_complete() after buffer swap. 2008-02-14 17:42:52 +00:00
Keith Whitwell
cf5ef20f43 gallium: Cleanups related to clears. 2008-02-14 16:53:51 +00:00
Zack Rusin
2e75f39bc4 make swizzling on incoming arguments work 2008-02-13 09:26:56 -05:00
Zack Rusin
12d5b078e8 get rid of the terrible auto-generated entry point
it's not used anymore.
2008-02-13 08:46:05 -05:00
Zack Rusin
7e51d2a998 implement immediates and make them work 2008-02-13 08:33:16 -05:00
Zack Rusin
c107d57210 try to load the consts correctly 2008-02-13 08:33:16 -05:00
Keith Whitwell
66640c4b58 x86: remove debug 2008-02-13 12:37:42 +00:00
Keith Whitwell
8162d317d2 x86: emit absolute calls, as reallocating exec mem breaks relative ones 2008-02-13 12:36:32 +00:00
Keith Whitwell
a3534a27bf tgsi: fail gracefully when sse code can't emit shader 2008-02-13 12:36:32 +00:00
Keith Whitwell
6046c54cc4 x86: reallocate exec mem when we run out 2008-02-13 12:36:32 +00:00
Keith Whitwell
7f342a20d2 tgsi: include more of the register info in debug dumps 2008-02-13 12:36:32 +00:00
Michel Dänzer
e922adbe1d gallium: pipe->surface_copy can flip the contents vertically when necessary.
Fixes gears being upside down on the box in demos/gearbox.
2008-02-13 11:39:58 +00:00
Zack Rusin
4bb1a14d90 handle temporaries in llvm code generated paths 2008-02-13 04:38:10 -05:00
Zack Rusin
e179d5bdd1 implement add 2008-02-13 04:37:40 -05:00
Zack Rusin
135d2329de implement mul 2008-02-13 03:18:37 -05:00
Zack Rusin
4c8456264c get mov working 2008-02-13 00:48:08 -05:00
Zack Rusin
53c2963b84 fix fetching input elements and generate a ret on end 2008-02-13 00:36:31 -05:00
Zack Rusin
9b6532f01b add functiontype for the llvm native vs entry point 2008-02-13 00:21:24 -05:00
Zack Rusin
8b054cd6eb disable llvm code in fs 2008-02-13 00:21:03 -05:00
Zack Rusin
3c3c1ff5cd stop generate llvm entry points
entrypoints are useless because we use the same paths as all other
code. also simplify llvm swizzling code
2008-02-12 23:11:05 -05:00