Commit graph

27608 commits

Author SHA1 Message Date
Michal Krol
ad6bb870de gallium: Fix build on Windows. 2008-02-26 11:49:25 +01:00
Zack Rusin
7838aaffdb implement cache limits for cso
by default set to 4096, which might be on the large side
2008-02-26 01:51:46 -05:00
Zack Rusin
e798510569 add an explicit callback decleration and use it to silence warnings 2008-02-26 01:51:46 -05:00
Zack Rusin
bf1c2f3602 hide cso cache definition and add some initial code for size limiting
the caches
2008-02-26 01:51:46 -05:00
Zack Rusin
6abb82da7e implement deleting of driver side cached state in cso's 2008-02-26 01:51:46 -05:00
Brian
08a5f49644 gallium: rewrite AA point fragment shader to use a CMP instruction instead of IF/ELSE/ENDIF
Allows the shader to work on i915 hardware.
2008-02-25 18:56:36 -07:00
Brian
ba376b3314 gallium/i915: plug in aapoint draw stage 2008-02-25 18:56:36 -07:00
Brian
f43c44b5c9 gallium/i915: Fix emit_hw_vertex(): need to use vinfo->src_index[] 2008-02-25 18:56:36 -07:00
Brian
7ed9beef5f gallium/i915: remove debug code 2008-02-25 18:56:36 -07:00
Brian
0235b32521 gallium/i915: fix i915_emit_texld() to handle swizzled texcoords
Allocate a temporary register, insert MOV instruction, etc.
2008-02-25 18:56:36 -07:00
Ian Romanick
2fc9d0ffac cell: Additional changes to match changes in draw/draw_vertex_shader.c 2008-02-25 16:18:08 -08:00
Ian Romanick
2efa7e9489 cell: Fix off-by-one error in spu_dcache_fetch_unaligned
This time the off-by-one error caused an extra qword to be fetched
under certain circumstances when the source ea was not qword aligned.
2008-02-25 16:18:08 -08:00
Ian Romanick
a63fd641a0 cell: Trivial compiler warning clean-ups. 2008-02-25 16:18:08 -08:00
Ian Romanick
fb68daceec Cell: Remove unnecessary include files 2008-02-25 16:18:08 -08:00
Ian Romanick
7976a084e7 Cell: Use multiple DMA tags for the dcache. 2008-02-25 16:18:08 -08:00
Brian
b02fc94834 gallium/i915: compute vertex size _after_ state validation in emit_prim().
Fixes crash when drawing aa lines.
2008-02-25 17:01:20 -07:00
Brian
99047e0968 gallium/i915: plug in aaline draw stage 2008-02-25 16:24:47 -07:00
Brian
92650aeadd gallium/i915: make sure state is up to date in i915_vbuf_render_get_vertex_info(), also disable bogus assertion 2008-02-25 16:22:58 -07:00
Brian
f41e957557 gallium/i915: need to recompute vertex info if vertex shader changes 2008-02-25 16:20:04 -07:00
Brian
b53110c789 gallium/i915: call draw_flush() in i915_flush() 2008-02-25 16:16:07 -07:00
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
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
Ben Skeggs
026e2fd3c6 nv40: remove pipe_state struct now. 2008-02-25 13:33:08 +11:00
Ben Skeggs
4058a90127 nv40: construct vbo state the same way as the rest 2008-02-25 13:30:24 +11:00
Ben Skeggs
14de997d5d nv40: dump meaningful names for surface formats 2008-02-25 12:26:48 +11: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
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
Patrice Mandin
d8a9d850b9 nv30: init zeta to NULL, use color pitch if no zeta 2008-02-22 22:21:15 +01: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
Patrice Mandin
0a5ed0667e nv30: wrong number of parameters 2008-02-22 17:18:27 +01: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