Commit Graph

30028 Commits

Author SHA1 Message Date
Brian 80a9b5e1d9 gallium: remove unnecessary tgsi_interp_coef decl 2008-02-27 15:11:57 -07:00
Brian c66ec5c7a2 gallium: remove uses_kill field from softpipe_shader 2008-02-27 15:11:57 -07:00
Ian Romanick 1c50ea2cd9 cell: Use unified data cache for textures too 2008-02-27 13:41:09 -08:00
Brian cc5ffd7622 gallium: remove obsolete *_strings.c files 2008-02-27 14:28:17 -07:00
Brian 6f715dcc21 gallium: remove pipe_context->texture_create/release/get_tex_surface()
These functions are now per-screen, not per-context.
2008-02-27 14:21:12 -07:00
Brian 364f8cad0f gallium: move is_format_supported() to pipe_screen struct 2008-02-27 13:58:06 -07:00
Brian 8383f798b4 gallium: start removing pipe_context->get_name/vendor/param/paramf
These are now per-screen functions, not per-context.
State tracker updated, code in drivers and p_context.h disabled.
2008-02-27 11:24:35 -07:00
Brian 03b5267f52 gallium/i965: implement pipe_screen for i965 driver (untested) 2008-02-27 10:17:57 -07:00
Brian 17188e4d5a gallium/i915: hook up screen->get_param() 2008-02-27 10:15:37 -07:00
Brian f04736c8be Cell: implement pipe_screen for cell driver 2008-02-27 09:55:17 -07:00
Brian 4f36cf5858 gallium: implement pipe_screen for softpipe driver 2008-02-27 09:47:46 -07:00
Brian ef6c82b0c1 gallium/i915: remove some redundant code 2008-02-27 09:46:10 -07:00
Brian e8c0162fa0 gallium: softpipe_init_texture_funcs(), make texture func static 2008-02-27 08:58:12 -07:00
José Fonseca f81b7a6285 gallium: update for new i915_screen.c file; fix some warnings. 2008-02-27 15:59:09 +09:00
Brian 9404712257 cell: insert a (disabled) call to spe_cpu_info_get()
Found on the Cell devel forum, but doesn't appear to be available in SDK 2.1.
2008-02-26 20:13:36 -07:00
Brian aa59a937cc gallium: introduce 'pipe_screen' for context-independent functions
This will allow creating textures before a rendering context exists, for example.
Only implemented in i915 driver for now.  i915pipe->texture_create() just
dispatches through to the i915screen->texture_create() to avoid state tracker
changes for now.
2008-02-26 20:15:14 -07:00
Brian 4da19dbcaa gallium: remove pipe parameter from pipe_texture_reference()
Added pipe field to pipe_texture (temporary, see comments).
First step toward context-less texture creation...
2008-02-26 19:31:22 -07:00
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
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
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
Ben Skeggs 68ef528862 Merge branch 'upstream-gallium-0.1' into nouveau-gallium-0.1 2008-02-27 00:34:31 +11: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 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 20839b37ed gallium/i915: added SGT/SLE opcodes 2008-02-25 11:13:58 -07: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
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
José Fonseca e9bb63c8e2 gallium: MSVC fixes. 2008-02-24 02:23:12 +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 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