Brian
e8f8b12bb9
gallium: fix a mix-up in the uint[1] do_row() case
2008-03-18 09:28:04 -06:00
Brian
f1cfb1e367
gallium: use new color packing utility functions
2008-03-18 09:24:01 -06:00
Brian
544c27bcef
gallium: utility for packing color, z values according to pipe_format
2008-03-18 09:24:01 -06:00
Michal Krol
b2b905b04c
gallium: Silencium warnings on Windows.
2008-03-18 15:59:55 +01:00
Brian
de779c8d31
gallium: initial gen mipmap s/w fallback code
2008-03-17 17:45:00 -06:00
Ian Romanick
9f93e67019
cell: Don't segfault when unbinding alpha / stencil / depth test state
2008-03-17 16:09:28 -07:00
Ian Romanick
9f106a8683
cell: Don't free NULL code pointers
2008-03-17 16:07:54 -07:00
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 Paul
5456f4f210
mesa: new mipmap generation, lod bias demo
...
Show each of the mipmap levels side-by-side.
Press 's' to toggle quad scaling to see mipmap level at actual size.
2008-03-17 16:03:06 -06:00
Brian
088c6404fc
gallium: use new gallium utility code for generating mipmaps
2008-03-17 15:48:13 -06: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
Brian Paul
22b9cc3f5f
gallium: set min_mip_filter = PIPE_TEX_MIPFILTER_NEAREST
...
Plus, comments, clean-ups.
2008-03-17 12:38:24 -06:00
Brian Paul
a2ab6930df
gallium: in gen_mipmap, also set sampler lod_bias and do a flush() after rendering each level
2008-03-17 09:42:08 -06:00
Markus Amsler
f3c490634f
only set InputsRead bit if input is really used
2008-03-17 08:35:37 -06: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
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
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 Paul
c2bf23b837
mesa: clamp point size in vertex program when computing attenuated size
2008-03-14 17:47:11 -06:00
Brian Paul
cbf42c45a1
gallium: if point size not computed per vertex, apply size clamp immediately.
...
Fixes glean pointAtten failure.
2008-03-14 17:45:27 -06: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
a9aef5fccd
mesa: init tmpNode to zeros
2008-03-14 14:14:13 -06:00
Brian Paul
7dc449d406
mesa: fix emit_clamp() so that we don't use an output register as temporary
...
IR_CLAMP is decomposed into OPCODE_MIN+OPCODE_MAX. Allocate a temporary
register for the intermediate value so we don't inadvertantly use an output
register (which are write-only on some GPUs).
2008-03-14 13:50:01 -06:00
Brian Paul
14150bc856
mesa: call glColorMask(1,1,1,1) before glClear()
...
Without this, second and subsequent redraws rendered incorrectly.
Plus comments.
2008-03-14 11:35:57 -06: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
Brian
c45a525cdc
mesa: revert fast-track glColor and similar calls when not immediate mode rendering
...
Revert commit d08cd68d3f
This change caused some glean tests to fail. The alpha value of colors was
always 1.0 instead of the value from glColor4fv(). The mesa color array
found in st_draw() has size=3 instead of size=4.
2008-03-14 10:23:56 -06:00
Brian
ee55eaa609
gallium: in st_program_string_notify() free shader tokens.
...
When the shader instructions change, free the TGSI tokens. This signals the
state tracker to recompile the shader. Fixes a regression caused by recent
shader/state-tracker changes.
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
5bae5871f0
gallium: for TEST_DRAW_PASSTHROUGH, pass inClipCoords=FALSE to st_draw_vertices()
...
When pass-through mode is fully supported we'll clean this up more.
2008-03-13 17:06:13 -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
3e625ce18e
gallium: add some temporary code for testing draw module vertex passthrough
...
Set TEST_DRAW_PASSTHROUGH=1, run progs/trivial/clear-scissor
2008-03-13 15:08:18 -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