Commit graph

11285 commits

Author SHA1 Message Date
Brian
cc0cf1154b gallium: fix bad ptr assignment 2008-02-25 15:34:46 -07:00
Brian
846b7fbc6c gallium/i915: use draw_find_vs_output() directly, fix broken fogcoords.
We now produce the correct 915 vertex layout regardless of the order in
which fragment shader inputs are declared.
2008-02-25 14:48:31 -07:00
Brian
c037b4d45a softpipe: use draw_find_vs_output() directly 2008-02-25 14:47:13 -07:00
Brian
d6c7f7e314 gallium: modify draw_find_vs_output() to search vertex shader outputs
This simplifies drivers using the draw module and removes the last dependency
on vertex-shader "internals".  Since the draw module is producing the
post-transformed vertices, it makes sense to ask it where specific vertex
attributes are located.

This could also simplify some things in the state tracker code for selection,
feedback, rasterpos...
2008-02-25 14:46:42 -07:00
Brian
ea02342c11 gallium/i915: Use hardware rendering, unless INTEL_SP env var is set 2008-02-25 11:21:03 -07:00
Brian
20839b37ed gallium/i915: added SGT/SLE opcodes 2008-02-25 11:13:58 -07:00
José Fonseca
e4e3008923 Make the pipe headers C++ friendly. 2008-02-25 20:05:41 +09:00
José Fonseca
2d38d1b300 Remove files of unsupported build systems. 2008-02-25 17:11:28 +09:00
José Fonseca
2a0675eb75 Replace standand library functions by portable ones. 2008-02-25 16:39:39 +09:00
José Fonseca
b75706764b Add Zack's comments about CSOs. 2008-02-25 15:18:33 +09:00
José Fonseca
fdcb9260ee Add new files. 2008-02-24 17:58:05 +09:00
José Fonseca
7aadb475e5 gallium: Fix MSVC warnings. 2008-02-24 10:37:31 +09:00
Brian
012391357f gallium: disable early Z test if fragment shader contains KIL instruction.
Use tgsi_scan_shader() to determine if the fragment shader uses KIL or
writes fragment.z
2008-02-23 16:17:17 -07:00
Brian
35ca45daba gallium: added TGSI_FILE_COUNT 2008-02-23 16:15:54 -07:00
Brian
1d77d6caf6 gallium: added new tgsi_scan.c / tgsi_scan_shader() function
Used to get information about registers, instructions used in a shader.
2008-02-23 16:15:29 -07:00
José Fonseca
e9bb63c8e2 gallium: MSVC fixes. 2008-02-24 02:23:12 +09:00
José Fonseca
58a3d7dfd9 Revamp scons usage. 2008-02-23 19:49:08 +09:00
José Fonseca
e8de5c70e3 Bring in several forgotten MSVC fixes. 2008-02-23 14:14:54 +09:00
José Fonseca
bed547cb82 Fix typo. 2008-02-23 14:14:20 +09:00
Brian
aec315f05f gallium: fix a state validation bug found w/ pointblast.c 2008-02-22 18:34:31 -07:00
Brian
e9276efafe gallium: fix bug in which wide point stage overrode the aapoint stage
Also, simplify the logic a bit.
2008-02-22 17:22:54 -07:00
Brian
c74900ee5d gallium/i915: overhaul of fragment shader compilation, constant/immediate allocation
Before, fragment shaders were translated to i915 hw code at bind time, rather
than create time.  Now there's an i915_fragment_shader struct with the expected
contents that's created by i915_create_fs_state().  Translation to i915 code
takes place there too.

Immediates are handled correctly now.  During program translation we keep
track of which constant buffer slots are free (i.e. not referenced by the
shader).  Then the TGSI immediates and ancillary immediates (introduced for
SIN/COS/etc) are put into those free slots.

When it's time to upload the constant buffer, use the fp->constant_flags[]
array to determine if we should grab an immediate from the shader, or a
user-defined parameter from the gallium constant buffer.
2008-02-22 16:48:05 -07:00
Brian
8cd7c1d03c i915: include stdio.h 2008-02-22 14:07:33 -07:00
Brian
24f3d7de29 i915: include p_debug.h (resolves undefined assert()) 2008-02-22 14:07:12 -07:00
Brian
12c14c31b7 gallium: fix brokenb build 2008-02-22 08:56:55 -07:00
Brian
0bb53709e8 cell: added function prototypes to silence warnings 2008-02-22 08:52:57 -07:00
Brian
b4d050ffcc cell: fix build: s/dest/vertex/ 2008-02-22 08:52:57 -07:00
José Fonseca
f1bef2cba2 gallium: Countour MSVC's pickyness for structures returned by value. 2008-02-23 00:51:48 +09:00
José Fonseca
901b03e84d gallium: Wrap decls in extern "C". 2008-02-23 00:51:37 +09:00
José Fonseca
6c597238b2 gallium: Add cso convenience routine (from Keith's patch). 2008-02-23 00:51:33 +09:00
José Fonseca
2cf860b866 gallium: MSVC fixes. 2008-02-23 00:51:29 +09:00
Michal Krol
e0de82fbcb gallium: Fix build on Windows. 2008-02-23 00:51:19 +09:00
Michal Krol
57060bc1fa gallium: Silence compiler warnings on Windows. 2008-02-23 00:51:15 +09:00
Michal Krol
69a7c9739b gallium: Silence compiler warnings on Windows. 2008-02-23 00:51:12 +09:00
Michal Krol
6f238275c7 gallium: Define intptr_t for Windows platform. 2008-02-23 00:51:06 +09:00
Michal Krol
8828dd1443 gallium: Move align_pointer() to p_pointer.h. 2008-02-23 00:50:59 +09:00
Michal Krol
f44b30f1eb gallium: New file. 2008-02-23 00:50:55 +09:00
José Fonseca
26c57d1630 Avoid building problematic module/drivers on windows. 2008-02-23 00:47:28 +09:00
Brian
446bfc32a8 gallium: new draw stage for polygon stipple.
For hardware without native polygon stipple.  Create a 32x32 alpha texture
that encodes the stipple pattern.  Modify the user's fragment program to
sample the texture (with gl_FragCoord) and kill the fragment according to
the texel value.
Temporarily enabled in softpipe driver, replacing the sp_quad_stipple.c step.
2008-02-21 16:56:32 -07:00
Brian
eb4dc2dd5e gallium: new AA point drawing stage
AA points are drawn by converting the point to a quad, then modifying the
user's fragment shader to compute a coverage value.  The final fragment
color's alpha is modulated by the coverage value.  Fragments outside the
point's radius are killed.
2008-02-21 16:18:05 -07:00
Brian
a93d8bfaf2 gallium: fill in some blend/rasterizer template fields to make sure they're all valid, even if not relevant 2008-02-21 12:33:30 -07:00
Brian
d4d2e36a42 gallium: comments, white-space clean-up 2008-02-21 12:33:30 -07:00
Keith Whitwell
20fbcbf580 [PATCH] softpipe: unbreak sp_setup_pos_vector on non-x86 systems 2008-02-21 19:17:27 +00:00
Keith Whitwell
4339744c16 [PATCH] gallium: include p_compiler.h for boolean defn 2008-02-21 19:17:27 +00:00
Keith Whitwell
30479ef110 draw: vertex cache rework
Take a baby step to straightening out vertex paths.
2008-02-21 19:17:27 +00:00
Keith Whitwell
1eaf7b775b tgsi: print debug messages on failure to codegenerate 2008-02-21 19:17:27 +00:00
Ian Romanick
de5c64e0af Cell: Remove erroneous ALIGN16_ATTRIB attributes
If a structure is marked as being aligned the SPE compiler performs
extra optimizations (sadly, only -O2 is used) when reading the
structure.  Since most of the structures sent in batch buffers are
only 8-byte aligned, this resulted in mysterous bugs with -O2.
2008-02-21 10:43:46 -08:00
Ian Romanick
6dd47c264a Cell: Add spu_dcache.c to Makefile.
This was erroneously missing in previous commits.
2008-02-21 10:43:45 -08:00
Ian Romanick
e78fc9f2f4 Cell: Initial scalar implementation of spu_dcache_mark_dirty 2008-02-21 10:43:45 -08:00
Ian Romanick
2d1f086c12 Cell: Fix off-by-one error in spu_dcache_fetch_unaligned
An off-by-one error caused an extra qword to be fetched under certain
alignment / size combinations.
2008-02-21 10:43:45 -08:00