Brian [Mon, 15 Oct 2007 17:47:53 +0000 (11:47 -0600)]
add 'normalized_coords' field to pipe_sampler_state
This controls whether texcoords are interpreted as-is or scaled up from [0,1].
Fixes glDrawPixels/glBitmap problems on i915 when image is non power-of-two.
Also, cleans up the CSO sampler state for i915 a bit.
Brian [Mon, 15 Oct 2007 17:28:25 +0000 (11:28 -0600)]
feedback/rasterpos fix-ups
Brian [Mon, 15 Oct 2007 16:30:38 +0000 (10:30 -0600)]
Change 'drawing' field to boolean.
Brian [Mon, 15 Oct 2007 16:30:09 +0000 (10:30 -0600)]
remove unused includes
Brian [Mon, 15 Oct 2007 16:28:18 +0000 (10:28 -0600)]
simplify KIL usage for bitmap fragprog
Brian [Mon, 15 Oct 2007 16:27:12 +0000 (10:27 -0600)]
check for extended swizzles, added TGSI_OPCODE_KILP
Brian [Mon, 15 Oct 2007 16:25:42 +0000 (10:25 -0600)]
added print_texkil_op()
Brian [Sun, 14 Oct 2007 18:34:55 +0000 (12:34 -0600)]
implement accum ops
Brian [Sun, 14 Oct 2007 18:32:39 +0000 (12:32 -0600)]
implement put_tile()
Brian [Sun, 14 Oct 2007 17:55:45 +0000 (11:55 -0600)]
accum buffer support
Brian [Sun, 14 Oct 2007 17:55:31 +0000 (11:55 -0600)]
16-bit rgba surface/format for accum
Brian [Sun, 14 Oct 2007 17:53:15 +0000 (11:53 -0600)]
16-bit RGBA surface format for accum buffers
Brian [Sun, 14 Oct 2007 17:52:00 +0000 (11:52 -0600)]
Added accum function/files.
Brian [Sat, 13 Oct 2007 18:29:11 +0000 (12:29 -0600)]
GL_STENCIL_INDEX support
Brian [Sat, 13 Oct 2007 18:28:53 +0000 (12:28 -0600)]
GL_STENCIL_INDEX support
Brian [Sat, 13 Oct 2007 18:28:34 +0000 (12:28 -0600)]
format info for Z16/Z32
Brian [Sat, 13 Oct 2007 18:27:10 +0000 (12:27 -0600)]
inequality tests were backward
Brian [Sat, 13 Oct 2007 17:11:59 +0000 (11:11 -0600)]
glDrawPixels support for GL_DEPTH_COMPONENT
Brian [Sat, 13 Oct 2007 17:11:11 +0000 (11:11 -0600)]
Check texture format in get_texel() to handle depth textures.
Brian [Sat, 13 Oct 2007 15:05:20 +0000 (09:05 -0600)]
get_tile() of Z surfaces returns floats now
Brian [Sat, 13 Oct 2007 15:04:35 +0000 (09:04 -0600)]
added z16/z32_git_tile(), change s8z24_get_tile() to return Z as float, ignore stencil
Brian [Fri, 12 Oct 2007 22:16:20 +0000 (16:16 -0600)]
Use KIL in glBitmap shader to cull the fragments for 0 bits.
Brian [Fri, 12 Oct 2007 22:13:15 +0000 (16:13 -0600)]
added assertion to be sure we don't exceed bitfield size
Brian [Fri, 12 Oct 2007 22:12:22 +0000 (16:12 -0600)]
added code to print extended swizzles
Brian [Fri, 12 Oct 2007 22:11:58 +0000 (16:11 -0600)]
change exec_kilp() to only touch lowest four bits in kilmask
Brian [Fri, 12 Oct 2007 15:42:06 +0000 (09:42 -0600)]
initial use of KIL for glBitmap rendering
Brian [Thu, 11 Oct 2007 17:09:36 +0000 (11:09 -0600)]
Init draw->prim = ~0
We weren't rendering correctly if the first thing drawn was a point (PRIM_MODE_POINT=0).
Brian [Thu, 11 Oct 2007 16:03:59 +0000 (10:03 -0600)]
rename some vars, updated comments
Brian [Thu, 11 Oct 2007 16:01:17 +0000 (10:01 -0600)]
remove unused tgsi_attrib_to_mesa_attrib()
Brian [Thu, 11 Oct 2007 16:00:54 +0000 (10:00 -0600)]
update st_feedback_draw_vbo()
Brian [Thu, 11 Oct 2007 15:48:06 +0000 (09:48 -0600)]
streamline st_draw_vbo() a bit more, free user-space buffers at end
Brian [Thu, 11 Oct 2007 15:11:13 +0000 (09:11 -0600)]
clean-up, streamline st_draw_vbo()
Brian [Thu, 11 Oct 2007 15:10:43 +0000 (09:10 -0600)]
implement intel_user_buffer_create()
Brian [Thu, 11 Oct 2007 15:10:19 +0000 (09:10 -0600)]
Initial support for user-space buffer objects.
Basically, add userBuffer/Data/Size fields to _DriBufferObject, check those
fields in driBOMap/Unmap().
New driGenUserBuffer() function.
Brian [Thu, 11 Oct 2007 00:00:12 +0000 (18:00 -0600)]
Use winsys->user_buffer_create() to wrap user-space vertex arrays and element buffers.
Now client-side vertex arrays and glDrawElements work.
More testing/debug/clean-up to come...
Brian [Wed, 10 Oct 2007 23:58:12 +0000 (17:58 -0600)]
implement the user_buffer_create() function
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