Brian [Wed, 10 Oct 2007 23:57:47 +0000 (17:57 -0600)]
Added user_buffer_create() method
This is used to wrap user-space data in a pipe buffer object to allow more
uniform treatment of various things. For example, wrapping client-side
vertex arrays so they look like VBOs.
Brian [Wed, 10 Oct 2007 23:50:31 +0000 (17:50 -0600)]
added SSCALED cases in fetch_attrib4()
Brian [Wed, 10 Oct 2007 22:51:09 +0000 (16:51 -0600)]
update comments (s/softpipe/gallium/ etc)
Brian [Wed, 10 Oct 2007 22:21:28 +0000 (16:21 -0600)]
minor optimization for color/z results
Brian [Wed, 10 Oct 2007 22:19:49 +0000 (16:19 -0600)]
disable some assertions which pop up during window resize, but can be ignored for now
Brian [Wed, 10 Oct 2007 21:45:57 +0000 (15:45 -0600)]
fix get_result_vector() since fp output slots are not fixed anymore
Brian [Wed, 10 Oct 2007 21:09:57 +0000 (15:09 -0600)]
fix softpipe_clear() to handle ps->offset!=0 (such as when rendering to texture and level!=0)
Brian [Wed, 10 Oct 2007 21:05:24 +0000 (15:05 -0600)]
free/unreference pipe_surface in get_texel()
Brian [Wed, 10 Oct 2007 20:13:21 +0000 (14:13 -0600)]
use correct mipmap level in st_render_texture()
Brian [Wed, 10 Oct 2007 17:40:04 +0000 (11:40 -0600)]
use pipe_region_reference() in softpipe_get_tex_surface() to fix refcount error
Brian [Wed, 10 Oct 2007 17:04:48 +0000 (11:04 -0600)]
fix width/height padding that caused failed assertion upon window resize
Brian [Wed, 10 Oct 2007 16:33:38 +0000 (10:33 -0600)]
Size of input_to_index array should be VERT_ATTRIB_MAX.
This fixes an out of bounds array write that was causing the glsl/bump demo to render incorrectly.
Brian [Wed, 10 Oct 2007 15:44:54 +0000 (09:44 -0600)]
Merge tgsi_mesa_compile_fp_program() and tgsi_mesa_compile_vp_program() into tgsi_translate_mesa_program().
Brian [Wed, 10 Oct 2007 15:43:37 +0000 (09:43 -0600)]
remove unused var
Brian [Tue, 9 Oct 2007 22:56:25 +0000 (16:56 -0600)]
start on a unified vertex/fragment program translation function
Brian [Tue, 9 Oct 2007 22:28:01 +0000 (16:28 -0600)]
Generate DCLs for temporaries.
Brian [Tue, 9 Oct 2007 22:20:00 +0000 (16:20 -0600)]
Finish up decls for packed fragment program outputs.
Brian [Tue, 9 Oct 2007 20:55:22 +0000 (14:55 -0600)]
Pack fragment program outputs to be consistant with vertex programs.
Previously, output[0] was always Z and output[1] was color. Now output[0]
will be color if Z is not written.
In shade_quad() use the semantic info to determine which quantity is in
which output slot.
Brian [Tue, 9 Oct 2007 20:52:26 +0000 (14:52 -0600)]
update some comments
Brian [Tue, 9 Oct 2007 20:40:11 +0000 (14:40 -0600)]
More work on flow control for CAL/RET.
Brian [Tue, 9 Oct 2007 20:36:14 +0000 (14:36 -0600)]
New ATTRIB interpolation type for vertex program inputs/declarations.
Brian [Tue, 9 Oct 2007 20:31:45 +0000 (14:31 -0600)]
Don't emit semantic info for vertex program inputs.
Brian [Tue, 9 Oct 2007 20:12:26 +0000 (14:12 -0600)]
Use linked fragment shader inputs (if present) to determine which outputs are needed.
Brian [Wed, 3 Oct 2007 22:34:04 +0000 (16:34 -0600)]
use different temps in exec_tex() for bias
Brian [Wed, 3 Oct 2007 22:18:44 +0000 (16:18 -0600)]
updated comments
Brian [Wed, 3 Oct 2007 20:43:57 +0000 (14:43 -0600)]
Add outputs_written bitfield to pipe_shader_state, use it to determine if fragment shader writes Z.
Brian [Wed, 3 Oct 2007 19:49:31 +0000 (13:49 -0600)]
Move XSTDCALL definition to p_compiler.h
Brian [Wed, 3 Oct 2007 19:46:48 +0000 (13:46 -0600)]
handle frag progs that write Z
Brian [Wed, 3 Oct 2007 19:45:24 +0000 (13:45 -0600)]
basic support for reading GL_DEPTH_COMPONENT
Brian [Wed, 3 Oct 2007 19:44:53 +0000 (13:44 -0600)]
added s8z24_get_tile()
Brian [Wed, 3 Oct 2007 16:33:05 +0000 (10:33 -0600)]
fix eq/neq bugs
Brian [Wed, 3 Oct 2007 15:55:36 +0000 (09:55 -0600)]
fix f/u mix-up in micro_trunc()
Brian [Wed, 3 Oct 2007 15:55:06 +0000 (09:55 -0600)]
move TEX code into exec_tex()
Michel Dänzer [Wed, 3 Oct 2007 18:37:59 +0000 (20:37 +0200)]
Some minor cleanups.
Michel Dänzer [Wed, 3 Oct 2007 18:35:19 +0000 (20:35 +0200)]
Double amount of memory allocated for generated shader code.
The code generated for the glxgears vertex shader didn't fit, causing a crash.
Michel Dänzer [Wed, 3 Oct 2007 18:33:23 +0000 (20:33 +0200)]
Track fragment and vertex shader code generation via pipe shader state objects.
Unfortunately, the generated fragment shader code is effectively unusable until
it handles quad->mask.
Michel Dänzer [Tue, 2 Oct 2007 11:01:07 +0000 (13:01 +0200)]
intel_winsys: Adapt to DRM changes (again).
It was decided after all to stick to 'pipes' here, even though the actual
meaning is now 'planes'.
Zack Rusin [Wed, 3 Oct 2007 16:00:52 +0000 (12:00 -0400)]
In vertex shaders also expect the template to be stack allocated
structure so allocate a private copy of it.
Zack Rusin [Wed, 3 Oct 2007 14:31:42 +0000 (10:31 -0400)]
Unify the definitions of the 4 component dot product into one
location.
Zack Rusin [Wed, 3 Oct 2007 14:08:45 +0000 (10:08 -0400)]
Unify handling of userplanes and regular planes to simplify
the clipping code.
(really done by Keith)
Zack Rusin [Mon, 1 Oct 2007 10:25:23 +0000 (06:25 -0400)]
Get rid of ST_NEW_SHADER flag and the dependency on _NEW_PROGRAM
which is being hit all the time. Done by Keith really.
Zack Rusin [Wed, 3 Oct 2007 12:50:27 +0000 (08:50 -0400)]
Explain a little better what we're doing here.
Zack Rusin [Wed, 3 Oct 2007 12:47:36 +0000 (08:47 -0400)]
Make softpipe behave more like a real driver by always allocating something
in the state functions.
Brian [Wed, 3 Oct 2007 01:44:55 +0000 (19:44 -0600)]
clean-ups
Brian [Wed, 3 Oct 2007 01:16:57 +0000 (19:16 -0600)]
Implement/use fragment kill results
Brian [Tue, 2 Oct 2007 23:13:06 +0000 (17:13 -0600)]
Implement TGSI_OPCODE_SNE with micro_ne()
Brian [Tue, 2 Oct 2007 23:07:30 +0000 (17:07 -0600)]
Separate TGSI_OPCODE_KIL and TGSI_OPCODE_KILP (predicated).
These correspond to the NV and ARB-style fragment program KIL instructions.
The former is really supposed to examine the NV condition codes but Mesa's
GLSL compiler always emits unconditional KIL instructions.
Brian [Tue, 2 Oct 2007 22:57:19 +0000 (16:57 -0600)]
assert that program length > 1 (some code, plus END)
Brian [Tue, 2 Oct 2007 22:56:02 +0000 (16:56 -0600)]
added MESA_FORMAT_Z16 in st_mesa_format_to_pipe_format(), for Glean
Brian [Tue, 2 Oct 2007 22:55:21 +0000 (16:55 -0600)]
Generate a texenv fragment program if there's a GLSL vertex shader but no GLSL fragment shader.
This allows Glean glsl1 test to get pretty far.
Brian [Tue, 2 Oct 2007 22:24:40 +0000 (16:24 -0600)]
Push mask stacks upon CAL, pop upon RET.
Still need to handle conditional RET statements...
Brian [Tue, 2 Oct 2007 22:17:34 +0000 (16:17 -0600)]
added license and interpreter comments
Brian [Tue, 2 Oct 2007 22:05:07 +0000 (16:05 -0600)]
Implement CONT statement.
Brian [Tue, 2 Oct 2007 21:17:37 +0000 (15:17 -0600)]
added micro_trunc(), re-order some code
Brian [Tue, 2 Oct 2007 20:25:43 +0000 (14:25 -0600)]
Minor optimization: no-op CAL when ExecMask==0x0.
Brian [Tue, 2 Oct 2007 20:17:47 +0000 (14:17 -0600)]
Added TGSI_FILE_OUTPUT case in fetch_src_file_channel().
GLSL output variables (such as vertex varyings) can be read (they're not
write-only).
Brian [Tue, 2 Oct 2007 20:05:21 +0000 (14:05 -0600)]
Implement CAL/RET and a call stack for subroutines.
The glsl/brick.c shader demo runs now.
Brian [Tue, 2 Oct 2007 19:49:38 +0000 (13:49 -0600)]
Added TGSI_OPCODE_END
Halt program execution when we get to END instruction. The GLSL compiler
puts subroutines after the end instruction so we have to stop before then.
Brian [Tue, 2 Oct 2007 19:41:56 +0000 (13:41 -0600)]
Fold expand_program() into tgsi_exec_prepare()
Brian [Tue, 2 Oct 2007 17:49:43 +0000 (11:49 -0600)]
no more need for tgsi_exec_machine_run2(), remove dead code
Brian [Tue, 2 Oct 2007 17:47:21 +0000 (11:47 -0600)]
remove dead code
Brian [Tue, 2 Oct 2007 17:46:11 +0000 (11:46 -0600)]
Move tgsi machine state init/allocations so they're done less frequently.
This, plus expanding all instructions ahead of time, seems to have improved
the performance of program execution by 8x or so.
Brian [Tue, 2 Oct 2007 16:38:56 +0000 (10:38 -0600)]
checkpoint: unpack all instructions before interpretation. Actual looping works.
Brian [Tue, 2 Oct 2007 00:10:53 +0000 (18:10 -0600)]
comments/code for min/max_lod - revisit someday
Brian [Mon, 1 Oct 2007 21:39:15 +0000 (15:39 -0600)]
use i915_miptree_layout when using an i915
Brian [Mon, 1 Oct 2007 20:46:19 +0000 (14:46 -0600)]
avoid updating vertex format when it doesn't really change
Brian [Mon, 1 Oct 2007 19:55:16 +0000 (13:55 -0600)]
don't crash in RasterPos if feedback not implemented yet
Brian [Mon, 1 Oct 2007 19:54:37 +0000 (13:54 -0600)]
disable debug printf
Brian [Mon, 1 Oct 2007 19:54:24 +0000 (13:54 -0600)]
don't crash when fog enabled, still not rendered correctly though
Brian [Mon, 1 Oct 2007 19:50:24 +0000 (13:50 -0600)]
remove specular color assertion (the path works)
Brian [Mon, 1 Oct 2007 19:45:53 +0000 (13:45 -0600)]
fix a few vert/frag program items to get i915 driver going again
Brian [Sat, 29 Sep 2007 16:44:05 +0000 (10:44 -0600)]
hack in some code to test loops, break
Brian [Sat, 29 Sep 2007 16:43:29 +0000 (10:43 -0600)]
Initial conditional execution support for loops and BRK instruction.
Also, instead of passing cond mask to each micro op, just apply it in the
store_dest() function.
Brian [Sat, 29 Sep 2007 15:51:11 +0000 (09:51 -0600)]
remove unused tgsi_exec_cond_* types
Brian [Sat, 29 Sep 2007 03:04:56 +0000 (21:04 -0600)]
temporary hack to test nested conditionals
Brian [Sat, 29 Sep 2007 03:04:34 +0000 (21:04 -0600)]
Initial implementation of IF/ELSE/ENDIF using conditional masking.
mach->CondMask controls writing to each of the 4 components in a quad.
mach->CondMaskStack handles nested conditionals.
Only a few of the micro ops (add/sub/mul/store) have been updated to obey CondMask at this time.
Brian [Sat, 29 Sep 2007 02:31:24 +0000 (20:31 -0600)]
fix bug causing unnecessary translations
Brian [Fri, 28 Sep 2007 22:20:10 +0000 (16:20 -0600)]
remove old debug code, fix warning
Brian [Fri, 28 Sep 2007 22:19:51 +0000 (16:19 -0600)]
fix st_use_program()
Brian [Fri, 28 Sep 2007 21:39:09 +0000 (15:39 -0600)]
Instead of linked program pairs, keep a list of vertex programs translated for each fragment program.
Brian [Fri, 28 Sep 2007 19:49:50 +0000 (13:49 -0600)]
Use texture->first_level, not 0, when not mipmapping.
Fixes crash when GL_BASE_LEVEL!=0.
Also, remove old assertion.
José Fonseca [Fri, 28 Sep 2007 17:48:15 +0000 (18:48 +0100)]
Gallium's doxygen documentation.
José Fonseca [Fri, 28 Sep 2007 17:17:11 +0000 (17:17 +0000)]
Update x86's static and profile configs.
Zack Rusin [Fri, 28 Sep 2007 11:33:54 +0000 (07:33 -0400)]
Use sse only if GALLIUM_SSE is defined
Zack Rusin [Fri, 28 Sep 2007 08:33:55 +0000 (04:33 -0400)]
Redoing the way we handle vertex shaders for the draw module.
Zack Rusin [Fri, 28 Sep 2007 08:33:55 +0000 (04:33 -0400)]
Remove gl dependency from the x86 assembler code
Zack Rusin [Fri, 28 Sep 2007 16:28:16 +0000 (12:28 -0400)]
Revert "Redoing the way we handle vertex shaders for the draw module."
This reverts commit
6dcfddb8e2ec2bfb6187b912807fa65f28da2c5e.
Zack Rusin [Fri, 28 Sep 2007 16:28:06 +0000 (12:28 -0400)]
Revert "Use sse only if GALLIUM_SSE is defined"
This reverts commit
57b5d3605745c96ddc2b6de7d50c93db65ba1257.
Zack Rusin [Fri, 28 Sep 2007 11:33:54 +0000 (07:33 -0400)]
Use sse only if GALLIUM_SSE is defined
Zack Rusin [Fri, 28 Sep 2007 08:33:55 +0000 (04:33 -0400)]
Redoing the way we handle vertex shaders for the draw module.
Brian [Thu, 27 Sep 2007 22:33:01 +0000 (16:33 -0600)]
set miptree pitch to region pitch after allocating the region in st_miptree_create()
This fixes rendering with small (4x4) textures with softpipe.
Haven't yet tested with i915.
Brian [Thu, 27 Sep 2007 22:31:13 +0000 (16:31 -0600)]
comments
keithw [Thu, 27 Sep 2007 15:20:31 +0000 (16:20 +0100)]
remove dead code
keithw [Thu, 27 Sep 2007 11:50:02 +0000 (12:50 +0100)]
reduced debug
Keith Whitwell [Wed, 26 Sep 2007 12:30:01 +0000 (13:30 +0100)]
Fix some compiler warnings with -pedantic
Keith Whitwell [Wed, 26 Sep 2007 11:46:45 +0000 (12:46 +0100)]
Enable codegen based whenever __i386__ is defined.
keithw [Wed, 26 Sep 2007 11:10:46 +0000 (12:10 +0100)]
fix merge
Keith Whitwell [Wed, 26 Sep 2007 11:08:08 +0000 (12:08 +0100)]
disable debug
keithw [Wed, 26 Sep 2007 10:57:28 +0000 (11:57 +0100)]
restore primitive trimming in sp_draw_arrays.c
Keith Whitwell [Wed, 26 Sep 2007 10:56:17 +0000 (11:56 +0100)]
Make flushing more lazy in the draw module.