Brian
5e29aab175
gallium: replace draw_convert_wide_points() with draw_wide_point_threshold()
...
Specifying a threshold size is a bit more flexible, and allows the option
of converting even 1-pixel points to triangles (set threshold=0).
Also, remove 0.25 pixel bias in wide_point().
2008-02-26 14:32:57 -07:00
Michal Krol
36aa9cf781
gallium: Print texture target for short dumps.
2008-02-26 22:10:52 +01:00
Ian Romanick
75dac3959f
cell: Multiple rendering contexts don't work yet
...
Log a message and forcibly exit. This prevents silly fools from
thinking there's a bug...instead of just an unimplemented feature. :)
2008-02-26 11:19:14 -08:00
Michel Dänzer
dbf12dcdb7
intel_winsys: Fix build failure due to DEBUG_IOCTL being undefined.
...
Include pipe/p_debug.h to consistently enable or disable the debugging code.
2008-02-26 18:48:13 +00:00
Brian
4901410293
gallium/i915: Use tgsi_scan_shader() to collect shader info
...
No longer use semantic info in pipe_shader_state.
Also, remove redundant semantic info from i915_fp_compile struct.
2008-02-26 10:47:42 -07:00
Brian
33d213b677
gallium: remove unused var
2008-02-26 10:44:44 -07:00
Brian
f74279002a
gallium: added tgsi_shader_field to sp_fragment_shader
...
Use the shader semantic info from there, instead of from pipe_shader_state.
Carry this idea to draw module and other drivers...
2008-02-26 10:13:39 -07:00
Brian
1410b7bb50
gallium: collect more shader info in tgsi_scan_shader()
...
Now getting input/output semantic info so we can eventually remove those
fields from pipe_shader_state.
2008-02-26 10:12:17 -07:00
Brian
ecd50ef58b
gallium: remove input_map[] from pipe_shader_state
2008-02-26 08:43:07 -07:00
Brian
232a41e19f
gallium: disable debug code
2008-02-26 08:41:42 -07:00
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
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