Brian [Tue, 18 Mar 2008 21:15:02 +0000 (15:15 -0600)]
gallium: restore additional state after clearing with quad
Ian Romanick [Tue, 18 Mar 2008 22:59:33 +0000 (15:59 -0700)]
cell: Fix various stencil test code-gen bugs
Ian Romanick [Tue, 18 Mar 2008 22:59:06 +0000 (15:59 -0700)]
cell: Correctly load stencil for PIPE_FORMAT_S8Z24_UNORM
Keith Whitwell [Tue, 18 Mar 2008 13:10:51 +0000 (13:10 +0000)]
gallium: make REALLOC a bit more like realloc
Ian Romanick [Tue, 18 Mar 2008 18:47:37 +0000 (11:47 -0700)]
cell: Fix depth read / write for s8z24.
Stencil is still broken.
Ian Romanick [Tue, 18 Mar 2008 17:29:14 +0000 (10:29 -0700)]
cell: Fix added whitespace errors.
Ian Romanick [Tue, 18 Mar 2008 17:26:45 +0000 (10:26 -0700)]
cell: Minor changes to make stencil not crash
I'm not sure these are quite correct. The reflect demo doesn't assert
anymore, but it doesn't produce correct results either. SPE-based
vertex shader code needs to be disabled for relfect to run.
Ian Romanick [Tue, 18 Mar 2008 17:23:39 +0000 (10:23 -0700)]
cell: Move and (conditionally) silence debug code
José Fonseca [Tue, 18 Mar 2008 12:46:24 +0000 (12:46 +0000)]
d3d: Allow to iterate over the handle table.
José Fonseca [Tue, 18 Mar 2008 12:01:14 +0000 (12:01 +0000)]
d3d: Add function to walk through all items in the hash table.
José Fonseca [Tue, 18 Mar 2008 11:49:29 +0000 (11:49 +0000)]
gallium: Don't be pedantic about removing non exiting items from the table.
José Fonseca [Tue, 18 Mar 2008 11:49:02 +0000 (11:49 +0000)]
gallium: Convenience debug_warning function.
Brian [Tue, 18 Mar 2008 15:28:04 +0000 (09:28 -0600)]
gallium: fix a mix-up in the uint[1] do_row() case
Brian [Tue, 18 Mar 2008 15:23:35 +0000 (09:23 -0600)]
gallium: use new color packing utility functions
Brian [Tue, 18 Mar 2008 15:22:41 +0000 (09:22 -0600)]
gallium: utility for packing color, z values according to pipe_format
Michal Krol [Tue, 18 Mar 2008 14:59:55 +0000 (15:59 +0100)]
gallium: Silencium warnings on Windows.
Brian [Mon, 17 Mar 2008 23:45:00 +0000 (17:45 -0600)]
gallium: initial gen mipmap s/w fallback code
Ian Romanick [Mon, 17 Mar 2008 23:09:28 +0000 (16:09 -0700)]
cell: Don't segfault when unbinding alpha / stencil / depth test state
Ian Romanick [Mon, 17 Mar 2008 23:07:54 +0000 (16:07 -0700)]
cell: Don't free NULL code pointers
Ian Romanick [Mon, 17 Mar 2008 22:45:52 +0000 (15:45 -0700)]
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.
Ian Romanick [Mon, 17 Mar 2008 22:37:09 +0000 (15:37 -0700)]
cell: Fix simple register allocator
THere are 64-bits in a uint64_t, not 128. Duh.
Brian Paul [Mon, 17 Mar 2008 22:03:06 +0000 (16:03 -0600)]
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.
Brian [Mon, 17 Mar 2008 21:48:13 +0000 (15:48 -0600)]
gallium: use new gallium utility code for generating mipmaps
Brian [Mon, 17 Mar 2008 21:39:19 +0000 (15:39 -0600)]
gallium: added new u_draw_quad.c and u_gen_mipmap.c files.
Brian [Mon, 17 Mar 2008 21:38:14 +0000 (15:38 -0600)]
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.
Brian [Mon, 17 Mar 2008 21:37:42 +0000 (15:37 -0600)]
gallium: new util_draw_texquad() function.
Brian Paul [Mon, 17 Mar 2008 18:38:24 +0000 (12:38 -0600)]
gallium: set min_mip_filter = PIPE_TEX_MIPFILTER_NEAREST
Plus, comments, clean-ups.
Brian Paul [Mon, 17 Mar 2008 15:42:08 +0000 (09:42 -0600)]
gallium: in gen_mipmap, also set sampler lod_bias and do a flush() after rendering each level
Markus Amsler [Mon, 17 Mar 2008 14:35:37 +0000 (08:35 -0600)]
only set InputsRead bit if input is really used
Keith Whitwell [Mon, 17 Mar 2008 10:10:45 +0000 (10:10 +0000)]
gallium: improvements, or extensions at least, to the passthrough path
Passthrough is actually more tricky than you'd think...
Brian [Sun, 16 Mar 2008 16:33:59 +0000 (10:33 -0600)]
gallium: finish remaining prim types for sp_vbuf_draw_arrays()
Not totally tested, but easily fixed if glitches are found.
José Fonseca [Sat, 15 Mar 2008 00:55:28 +0000 (00:55 +0000)]
gallium: Ensure we don't add null objects to the table, as they mark empty handles.
Brian Paul [Fri, 14 Mar 2008 23:47:11 +0000 (17:47 -0600)]
mesa: clamp point size in vertex program when computing attenuated size
Brian Paul [Fri, 14 Mar 2008 23:45:27 +0000 (17:45 -0600)]
gallium: if point size not computed per vertex, apply size clamp immediately.
Fixes glean pointAtten failure.
Brian [Fri, 14 Mar 2008 22:13:35 +0000 (16:13 -0600)]
gallium: add explicit control for point sprites (convert points to textured quads)
New draw_enable_point_sprites() function.
Fixes spriteblast.c demo
Brian [Fri, 14 Mar 2008 22:00:15 +0000 (16:00 -0600)]
gallium: remove DOS carriage returns
Brian [Fri, 14 Mar 2008 21:54:02 +0000 (15:54 -0600)]
gallium: remove DOS carriage returns
Michal Krol [Fri, 14 Mar 2008 20:44:06 +0000 (21:44 +0100)]
tgsi: Use debug_printf().
Michal Krol [Fri, 14 Mar 2008 20:40:02 +0000 (21:40 +0100)]
scons: Remove second occurence of draw_passthrough.c.
Brian Paul [Fri, 14 Mar 2008 20:14:13 +0000 (14:14 -0600)]
mesa: init tmpNode to zeros
Brian Paul [Fri, 14 Mar 2008 19:50:01 +0000 (13:50 -0600)]
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).
Brian Paul [Fri, 14 Mar 2008 17:35:57 +0000 (11:35 -0600)]
mesa: call glColorMask(1,1,1,1) before glClear()
Without this, second and subsequent redraws rendered incorrectly.
Plus comments.
Brian Paul [Fri, 14 Mar 2008 17:24:28 +0000 (11:24 -0600)]
gallium: print warning rather than assert(0) for LOG/EXP opcodes
Glean vertProg1 runs all the way through, rather than aborting.
Brian [Fri, 14 Mar 2008 16:23:39 +0000 (10:23 -0600)]
gallium: added some debug code (disabled)
Brian [Fri, 14 Mar 2008 16:23:11 +0000 (10:23 -0600)]
i915: check for NULL const buffer ptr
Brian [Fri, 14 Mar 2008 16:22:53 +0000 (10:22 -0600)]
gallium: added dummy install target
Brian [Fri, 14 Mar 2008 16:20:29 +0000 (10:20 -0600)]
mesa: revert fast-track glColor and similar calls when not immediate mode rendering
Revert commit
d08cd68d3f5456b69ad504ede2b090c0bb6474db
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.
Brian [Fri, 14 Mar 2008 16:19:19 +0000 (10:19 -0600)]
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.
Keith Whitwell [Fri, 14 Mar 2008 08:42:45 +0000 (08:42 +0000)]
gallium: fix some compiler warnings
Keith Whitwell [Fri, 14 Mar 2008 08:42:08 +0000 (08:42 +0000)]
tgsi: add debug_printf version of tgsi_dump
Brian [Fri, 14 Mar 2008 00:19:47 +0000 (18:19 -0600)]
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.
Brian [Thu, 13 Mar 2008 23:39:30 +0000 (17:39 -0600)]
gallium: fix EMIT_HEADER case in draw_vf_set_vertex_info()
Brian [Thu, 13 Mar 2008 23:10:28 +0000 (17:10 -0600)]
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.
Brian [Thu, 13 Mar 2008 23:06:13 +0000 (17:06 -0600)]
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.
Brian [Thu, 13 Mar 2008 23:04:56 +0000 (17:04 -0600)]
gallium: fix bug in draw_num_vs_outputs()
Brian [Thu, 13 Mar 2008 23:04:04 +0000 (17:04 -0600)]
gallium: added EMIT_HEADER case
Brian [Thu, 13 Mar 2008 22:57:57 +0000 (16:57 -0600)]
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.
Brian [Thu, 13 Mar 2008 22:57:37 +0000 (16:57 -0600)]
gallium: added EMIT_HEADER case in emit_vertex()
Brian [Thu, 13 Mar 2008 22:55:48 +0000 (16:55 -0600)]
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...
Brian [Thu, 13 Mar 2008 22:53:44 +0000 (16:53 -0600)]
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().
Brian [Thu, 13 Mar 2008 21:07:14 +0000 (15:07 -0600)]
gallium: add some temporary code for testing draw module vertex passthrough
Set TEST_DRAW_PASSTHROUGH=1, run progs/trivial/clear-scissor
Brian [Thu, 13 Mar 2008 20:57:19 +0000 (14:57 -0600)]
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.
Zack Rusin [Thu, 13 Mar 2008 20:41:12 +0000 (16:41 -0400)]
add a way of removing an exact iterator from the hash
Brian [Thu, 13 Mar 2008 20:34:35 +0000 (14:34 -0600)]
gallium: added draw_need_pipeline() predicate function
To test if we need any pipeline stage, or whether we can go into passthrough mode.
Brian [Thu, 13 Mar 2008 20:33:57 +0000 (14:33 -0600)]
gallium: added draw_enable_line_stipple() function
Allows drivers that implement line stipple to turn off this drawing stage.
Brian [Thu, 13 Mar 2008 20:32:20 +0000 (14:32 -0600)]
gallium: added bypass_vs flag to rasterizer state (may be temporary)
Ian Romanick [Thu, 13 Mar 2008 20:03:22 +0000 (13:03 -0700)]
Brian Paul [Thu, 13 Mar 2008 20:05:30 +0000 (14:05 -0600)]
gallium: remove dead code related to shader semantic input/output info
Brian Paul [Thu, 13 Mar 2008 19:22:24 +0000 (13:22 -0600)]
gallium: fix bug in stip_first_tri()
Need to compute num_samplers after binding/creating the fragment shader.
Brian Paul [Wed, 12 Mar 2008 22:28:33 +0000 (16:28 -0600)]
gallium: remove a debug printf
Ian Romanick [Thu, 13 Mar 2008 18:19:50 +0000 (11:19 -0700)]
Replicate TXP changes in the SPU version of TGSI exec
Replicate changes from commit
ba75e82b6ebaf88dd2e4a8f764b2d296d715bf8a
in spu_exec.c
Brian Paul [Thu, 13 Mar 2008 18:08:18 +0000 (18:08 +0000)]
gallium: remove semantic info from pipe_shader_state
Brian's patch to clean up the shader interfaces.
Keith Whitwell [Thu, 13 Mar 2008 15:23:04 +0000 (15:23 +0000)]
gallium: make the windows config function more readable with 80-ish columns
Michal Krol [Thu, 13 Mar 2008 17:12:36 +0000 (18:12 +0100)]
tgsi: Drop pre-ps_2_0 opcodes.
Michal Krol [Thu, 13 Mar 2008 11:59:48 +0000 (12:59 +0100)]
tgsi: Remove OPCODE_TEXCOORD, OPCODE_TEXCRD aliases.
José Fonseca [Thu, 13 Mar 2008 10:19:23 +0000 (10:19 +0000)]
gallium: General purpose hash table, which is actually just a convenient frontend to cso_hash.
José Fonseca [Thu, 13 Mar 2008 09:59:29 +0000 (09:59 +0000)]
gallium: Standardize most important error codes.
José Fonseca [Thu, 13 Mar 2008 09:58:29 +0000 (09:58 +0000)]
gallium: Add a bit of documentation to cso_hash.
José Fonseca [Wed, 12 Mar 2008 22:39:44 +0000 (22:39 +0000)]
gallium: Fix debug_mask_vprintf's example.
José Fonseca [Wed, 12 Mar 2008 22:39:13 +0000 (22:39 +0000)]
gallium: Add a new handle_table_set that accepts an arbitrary handle.
Keith Whitwell [Thu, 13 Mar 2008 10:14:21 +0000 (10:14 +0000)]
mesa: fix (harmless?) assignment in assert
Keith Whitwell [Thu, 13 Mar 2008 10:01:38 +0000 (10:01 +0000)]
tgsi: replace erroneous use of FETCH with emit_tempf
Keith Whitwell [Thu, 13 Mar 2008 09:57:01 +0000 (09:57 +0000)]
tgsi: bump MAX_SRC_REGS to 4, for TXD
Zack Rusin [Thu, 13 Mar 2008 02:51:57 +0000 (22:51 -0400)]
add code handling dependencies between generated code
Zack Rusin [Thu, 13 Mar 2008 02:06:51 +0000 (22:06 -0400)]
Add some basic documentation for gallivm code
Zack Rusin [Thu, 13 Mar 2008 01:42:33 +0000 (21:42 -0400)]
document hash collision resolutions
Brian [Thu, 13 Mar 2008 01:29:30 +0000 (19:29 -0600)]
gallium: fix polygon stipple
Was broken by commit
4528287e040415c2071012d02f20979ff995c754 (bind all
samplers/texures at once).
Brian [Thu, 13 Mar 2008 00:24:46 +0000 (18:24 -0600)]
gallium: in clear_stencil_buffer() check surface format to determine stencil clear value
... as we do for the Z and Z+stencil cases
Brian [Wed, 12 Mar 2008 22:56:12 +0000 (16:56 -0600)]
i915: handle NULL object in i915_bind_rasterizer_state()
Brian [Wed, 12 Mar 2008 21:33:41 +0000 (15:33 -0600)]
mesa: set SamplersUsed bitmask when parsing ARB fragment programs
Brian [Wed, 12 Mar 2008 20:20:54 +0000 (14:20 -0600)]
gallium: pass NULL to cso_single_sampler() when the sampler isn't used.
This fixes an AA line crash/regression.
The aaline stage needs to find a free/unused sampler to do its thing.
Brian [Wed, 12 Mar 2008 19:22:58 +0000 (13:22 -0600)]
remove reference to obsolete ExtDivide
Brian [Wed, 12 Mar 2008 19:21:41 +0000 (13:21 -0600)]
gallium: use TXP rather than ExtDivide flag
Brian [Wed, 12 Mar 2008 19:20:29 +0000 (13:20 -0600)]
gallium: change draw_vertex_shader->state from pointer to struct
We were sometimes keeping a pointer to a stack-allocated object.
Now make a copy of the pipe_shader_state object.
This should fix some seemingly random memory errors/crashes.
Michal Krol [Wed, 12 Mar 2008 15:41:25 +0000 (16:41 +0100)]
tgsi: Remove ExtDivide field from existence. Implement OPCODE_TXP.
Michal Krol [Wed, 12 Mar 2008 14:29:39 +0000 (15:29 +0100)]
tgsi: Dump TXP opcode.
José Fonseca [Wed, 12 Mar 2008 15:02:11 +0000 (15:02 +0000)]
gallium: Generic handle table.
José Fonseca [Wed, 12 Mar 2008 15:01:18 +0000 (15:01 +0000)]
gallium: Change assert behavior on runtime (Mark Mueller).
Michal Krol [Wed, 12 Mar 2008 13:54:43 +0000 (14:54 +0100)]
tgsi: Introduce OPCODE_TXP. Depricate ExdDivide field.
José Fonseca [Wed, 12 Mar 2008 13:34:30 +0000 (13:34 +0000)]
scons: Faithfully mimic every WINDDK builtin compiler/linker option.