Commit graph

39979 commits

Author SHA1 Message Date
Ian Romanick
1936e4bdfd cell: Initial code-gen for alpha / stencil / depth testing
Alpha test is currently broken because all per-fragment testing occurs
before alpha is calculated.

Stencil test is currently broken because the Z-clear code asserts if
there is a stencil buffer.
2008-03-17 15:47:45 -07:00
Ian Romanick
0c715de39f cell: Fix simple register allocator
THere are 64-bits in a uint64_t, not 128.  Duh.
2008-03-17 15:47:45 -07:00
Brian
11d723cda6 gallium: added new u_draw_quad.c and u_gen_mipmap.c files. 2008-03-17 15:39:19 -06:00
Brian
f1b42595d0 gallium: new mipmap generation code
Based on code from Mesa's state tracker.
Still need to implement fallbacks for those texture formats which can't
generally be rendered to.
2008-03-17 15:38:14 -06:00
Brian
e3a747f1fe gallium: new util_draw_texquad() function. 2008-03-17 15:37:42 -06:00
Patrice Mandin
3394ba65b1 nv30: another 2 rt, and set viewport tx origin, so we render at the proper place \o/ 2008-03-17 19:03:38 +01:00
Patrice Mandin
a33da10b6c nv30: only 2 render targets 2008-03-17 18:13:40 +01:00
Ben Skeggs
6b32699001 nv40: a few more fp opcodes 2008-03-17 23:05:46 +11:00
Keith Whitwell
9425a702be gallium: improvements, or extensions at least, to the passthrough path
Passthrough is actually more tricky than you'd think...
2008-03-17 10:10:45 +00:00
Ben Skeggs
f93386de0f nouveau: create fence object when allocating pushbuf, instead of submit 2008-03-17 14:45:19 +11:00
Ben Skeggs
767cd2ed6e nv40: workaround main swtnl breakage
Not sure where the real bug is here yet, but for now this gives us correct
rendering in far more cases than previously.
2008-03-17 13:53:44 +11:00
Stephane Marchesin
5c15b1276e nv10: fixes. 2008-03-17 03:32:07 +01:00
Stephane Marchesin
b2f01b0777 nouveau: latest header. 2008-03-17 03:14:11 +01:00
Brian
49a687882a gallium: finish remaining prim types for sp_vbuf_draw_arrays()
Not totally tested, but easily fixed if glitches are found.
2008-03-16 10:33:59 -06:00
Ben Skeggs
e1cf3f00e5 nv40: simple swtnl path (half broken, but getting there) 2008-03-16 18:13:34 +11:00
Ben Skeggs
7d2c63e909 nv10: fix build after merge 2008-03-16 12:55:13 +11:00
Ben Skeggs
c4354f8460 Merge remote branch 'upstream/gallium-0.1' into nouveau-gallium-0.1 2008-03-16 12:49:46 +11:00
Patrice Mandin
5e17088ee3 cso_context_destroy calls bind_state functions with NULL parameter 2008-03-15 16:45:49 +01:00
Stephane Marchesin
d493203045 nv10. 2008-03-15 05:37:57 +01:00
Stephane Marchesin
509044609d nouveau: latest header. 2008-03-15 04:43:12 +01:00
Stephane Marchesin
9a3320e079 nv30: only 2 RTs. 2008-03-15 04:42:48 +01:00
José Fonseca
cb98f71d42 gallium: Ensure we don't add null objects to the table, as they mark empty handles. 2008-03-15 01:35:18 +00:00
Brian
5a09ad8248 gallium: add explicit control for point sprites (convert points to textured quads)
New draw_enable_point_sprites() function.
Fixes spriteblast.c demo
2008-03-14 16:13:35 -06:00
Brian
344356a0ed gallium: remove DOS carriage returns 2008-03-14 16:01:24 -06:00
Brian
08e341e5dc gallium: remove DOS carriage returns 2008-03-14 16:01:23 -06:00
Michal Krol
f23207ca57 tgsi: Use debug_printf(). 2008-03-14 21:44:06 +01:00
Michal Krol
2b8f31a6da scons: Remove second occurence of draw_passthrough.c. 2008-03-14 21:40:32 +01:00
Brian Paul
9de9e1fe8c gallium: print warning rather than assert(0) for LOG/EXP opcodes
Glean vertProg1 runs all the way through, rather than aborting.
2008-03-14 11:24:28 -06:00
Brian
3088eb5949 gallium: added some debug code (disabled) 2008-03-14 10:23:56 -06:00
Brian
027433176c i915: check for NULL const buffer ptr 2008-03-14 10:23:56 -06:00
Brian
a254d0c368 gallium: added dummy install target 2008-03-14 10:23:56 -06:00
Keith Whitwell
e4cdce43ce gallium: fix some compiler warnings 2008-03-14 08:42:45 +00:00
Keith Whitwell
d34bc880a4 tgsi: add debug_printf version of tgsi_dump 2008-03-14 08:42:08 +00:00
Brian
78302c7ca3 gallium: need to all draw_flush() in softpipe_unmap_constant_buffers()
Otherwise, we won't have our constants when we run the fragment shader.
Fixes crash in glsl tests when SP_VBUF=1.
2008-03-13 18:19:47 -06:00
Brian
34be396950 gallium: fix EMIT_HEADER case in draw_vf_set_vertex_info() 2008-03-13 17:39:30 -06:00
Brian
d088d640fc gallium: plug in vertex passthrough code
Based on a patch from Zack.
Basically, implement a new draw_arrays function that copies the incoming
user-vertices to the hardware vertex buffer, doing format/type conversion
as needed.
The vertex fetch/store code is totally temporary for now.
2008-03-13 17:10:28 -06:00
Brian
ce49c4c24b gallium: fix bug in draw_num_vs_outputs() 2008-03-13 17:04:56 -06:00
Brian
cf106789ab gallium: added EMIT_HEADER case 2008-03-13 17:04:04 -06:00
Brian
269fbeb545 gallium: in softpipe_get_vertex_info() generate a vbuf vertex_info with real attribs
Can't use the EMIT_ALL shortcut/optimization anymore because of passthrough mode.
2008-03-13 16:57:57 -06:00
Brian
13334c8dd2 gallium: added EMIT_HEADER case in emit_vertex() 2008-03-13 16:57:37 -06:00
Brian
b9518a4e39 gallium: added new EMIT_HEADER token
Used to emit the struct vertex_header info for softpipe.
Before we were using the EMIT_ALL token but that's insufficient for the
draw pass-through mode.  EMIT_ALL might get removed soon...
2008-03-13 16:55:48 -06:00
Brian
7d5e38a55a gallium: plug in new sp_vbuf_draw_arrays() function
Will be used for pass-through mode.
Also, call draw_set_render() to register the vbuf stage.  Should probably
rename that function to something like draw_set_vbuf_stage().
2008-03-13 16:53:44 -06:00
Brian
69c39b9ae2 gallium: set surface status to CLEAR or DEFINED in clearing/drawing code.
Otherwise, we were never setting these flags.  This confused the state tracker.
Fixes progs/demos/texenv.c, probably others.
2008-03-13 15:08:18 -06:00
Zack Rusin
a889928d85 add a way of removing an exact iterator from the hash 2008-03-13 16:41:37 -04:00
Brian
3faf6230ff gallium: added draw_need_pipeline() predicate function
To test if we need any pipeline stage, or whether we can go into passthrough mode.
2008-03-13 14:34:35 -06:00
Brian
8b8c9acdb7 gallium: added draw_enable_line_stipple() function
Allows drivers that implement line stipple to turn off this drawing stage.
2008-03-13 14:33:57 -06:00
Brian
b6ed165748 gallium: added bypass_vs flag to rasterizer state (may be temporary) 2008-03-13 14:32:20 -06:00
Ian Romanick
3115e8c968 cell: Fix to work with commit fa9e7e9a8d 2008-03-13 13:10:16 -07:00
Brian Paul
b12a28db96 gallium: remove dead code related to shader semantic input/output info 2008-03-13 14:05:30 -06:00
Brian Paul
7ffbaebce1 gallium: fix bug in stip_first_tri()
Need to compute num_samplers after binding/creating the fragment shader.
2008-03-13 13:22:51 -06:00