mesa.git
17 years agoUndo prev changes.
Brian [Mon, 15 Oct 2007 21:05:08 +0000 (15:05 -0600)]
Undo prev changes.

17 years agosetup vertex format for GL_FEEDBACK mode
Brian [Mon, 15 Oct 2007 19:42:56 +0000 (13:42 -0600)]
setup vertex format for GL_FEEDBACK mode

17 years agoGL_SELECT mode works now
Brian [Mon, 15 Oct 2007 19:25:13 +0000 (13:25 -0600)]
GL_SELECT mode works now

17 years agoformatting
Brian [Mon, 15 Oct 2007 19:06:53 +0000 (13:06 -0600)]
formatting

17 years agocall pipe->set_vertex_buffer() after drawing/unreferencing.
Brian [Mon, 15 Oct 2007 19:05:15 +0000 (13:05 -0600)]
call pipe->set_vertex_buffer() after drawing/unreferencing.

This fixes potential a stale reference to vertex buffers.
Fixes cubemap demo on i915.

17 years agofix logic for printing extended swizzles
Brian [Mon, 15 Oct 2007 17:48:20 +0000 (11:48 -0600)]
fix logic for printing extended swizzles

17 years agoadd 'normalized_coords' field to pipe_sampler_state
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.

17 years agofeedback/rasterpos fix-ups
Brian [Mon, 15 Oct 2007 17:28:25 +0000 (11:28 -0600)]
feedback/rasterpos fix-ups

17 years agoChange 'drawing' field to boolean.
Brian [Mon, 15 Oct 2007 16:30:38 +0000 (10:30 -0600)]
Change 'drawing' field to boolean.

17 years agoremove unused includes
Brian [Mon, 15 Oct 2007 16:30:09 +0000 (10:30 -0600)]
remove unused includes

17 years agosimplify KIL usage for bitmap fragprog
Brian [Mon, 15 Oct 2007 16:28:18 +0000 (10:28 -0600)]
simplify KIL usage for bitmap fragprog

17 years agocheck for extended swizzles, added TGSI_OPCODE_KILP
Brian [Mon, 15 Oct 2007 16:27:12 +0000 (10:27 -0600)]
check for extended swizzles, added TGSI_OPCODE_KILP

17 years agoadded print_texkil_op()
Brian [Mon, 15 Oct 2007 16:25:42 +0000 (10:25 -0600)]
added print_texkil_op()

17 years agoimplement accum ops
Brian [Sun, 14 Oct 2007 18:34:55 +0000 (12:34 -0600)]
implement accum ops

17 years agoimplement put_tile()
Brian [Sun, 14 Oct 2007 18:32:39 +0000 (12:32 -0600)]
implement put_tile()

17 years agoaccum buffer support
Brian [Sun, 14 Oct 2007 17:55:45 +0000 (11:55 -0600)]
accum buffer support

17 years ago16-bit rgba surface/format for accum
Brian [Sun, 14 Oct 2007 17:55:31 +0000 (11:55 -0600)]
16-bit rgba surface/format for accum

17 years ago16-bit RGBA surface format for accum buffers
Brian [Sun, 14 Oct 2007 17:53:15 +0000 (11:53 -0600)]
16-bit RGBA surface format for accum buffers

17 years agoAdded accum function/files.
Brian [Sun, 14 Oct 2007 17:52:00 +0000 (11:52 -0600)]
Added accum function/files.

17 years agoGL_STENCIL_INDEX support
Brian [Sat, 13 Oct 2007 18:29:11 +0000 (12:29 -0600)]
GL_STENCIL_INDEX support

17 years agoGL_STENCIL_INDEX support
Brian [Sat, 13 Oct 2007 18:28:53 +0000 (12:28 -0600)]
GL_STENCIL_INDEX support

17 years agoformat info for Z16/Z32
Brian [Sat, 13 Oct 2007 18:28:34 +0000 (12:28 -0600)]
format info for Z16/Z32

17 years agoinequality tests were backward
Brian [Sat, 13 Oct 2007 18:27:10 +0000 (12:27 -0600)]
inequality tests were backward

17 years agoglDrawPixels support for GL_DEPTH_COMPONENT
Brian [Sat, 13 Oct 2007 17:11:59 +0000 (11:11 -0600)]
glDrawPixels support for GL_DEPTH_COMPONENT

17 years agoCheck texture format in get_texel() to handle depth textures.
Brian [Sat, 13 Oct 2007 17:11:11 +0000 (11:11 -0600)]
Check texture format in get_texel() to handle depth textures.

17 years agoget_tile() of Z surfaces returns floats now
Brian [Sat, 13 Oct 2007 15:05:20 +0000 (09:05 -0600)]
get_tile() of Z surfaces returns floats now

17 years agoadded z16/z32_git_tile(), change s8z24_get_tile() to return Z as float, ignore stencil
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

17 years agoUse KIL in glBitmap shader to cull the fragments for 0 bits.
Brian [Fri, 12 Oct 2007 22:16:20 +0000 (16:16 -0600)]
Use KIL in glBitmap shader to cull the fragments for 0 bits.

17 years agoadded assertion to be sure we don't exceed bitfield size
Brian [Fri, 12 Oct 2007 22:13:15 +0000 (16:13 -0600)]
added assertion to be sure we don't exceed bitfield size

17 years agoadded code to print extended swizzles
Brian [Fri, 12 Oct 2007 22:12:22 +0000 (16:12 -0600)]
added code to print extended swizzles

17 years agochange exec_kilp() to only touch lowest four bits in kilmask
Brian [Fri, 12 Oct 2007 22:11:58 +0000 (16:11 -0600)]
change exec_kilp() to only touch lowest four bits in kilmask

17 years agoinitial use of KIL for glBitmap rendering
Brian [Fri, 12 Oct 2007 15:42:06 +0000 (09:42 -0600)]
initial use of KIL for glBitmap rendering

17 years agoInit draw->prim = ~0
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).

17 years agorename some vars, updated comments
Brian [Thu, 11 Oct 2007 16:03:59 +0000 (10:03 -0600)]
rename some vars, updated comments

17 years agoremove unused tgsi_attrib_to_mesa_attrib()
Brian [Thu, 11 Oct 2007 16:01:17 +0000 (10:01 -0600)]
remove unused tgsi_attrib_to_mesa_attrib()

17 years agoupdate st_feedback_draw_vbo()
Brian [Thu, 11 Oct 2007 16:00:54 +0000 (10:00 -0600)]
update st_feedback_draw_vbo()

17 years agostreamline st_draw_vbo() a bit more, free user-space buffers at end
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

17 years agoclean-up, streamline st_draw_vbo()
Brian [Thu, 11 Oct 2007 15:11:13 +0000 (09:11 -0600)]
clean-up, streamline st_draw_vbo()

17 years agoimplement intel_user_buffer_create()
Brian [Thu, 11 Oct 2007 15:10:43 +0000 (09:10 -0600)]
implement intel_user_buffer_create()

17 years agoInitial support for user-space buffer objects.
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.

17 years agoUse winsys->user_buffer_create() to wrap user-space vertex arrays and element buffers.
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...

17 years agoimplement the user_buffer_create() function
Brian [Wed, 10 Oct 2007 23:58:12 +0000 (17:58 -0600)]
implement the user_buffer_create() function

17 years agoAdded user_buffer_create() method
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.

17 years agoadded SSCALED cases in fetch_attrib4()
Brian [Wed, 10 Oct 2007 23:50:31 +0000 (17:50 -0600)]
added SSCALED cases in fetch_attrib4()

17 years agoupdate comments (s/softpipe/gallium/ etc)
Brian [Wed, 10 Oct 2007 22:51:09 +0000 (16:51 -0600)]
update comments (s/softpipe/gallium/ etc)

17 years agominor optimization for color/z results
Brian [Wed, 10 Oct 2007 22:21:28 +0000 (16:21 -0600)]
minor optimization for color/z results

17 years agodisable some assertions which pop up during window resize, but can be ignored for now
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

17 years agofix get_result_vector() since fp output slots are not fixed anymore
Brian [Wed, 10 Oct 2007 21:45:57 +0000 (15:45 -0600)]
fix get_result_vector() since fp output slots are not fixed anymore

17 years agofix softpipe_clear() to handle ps->offset!=0 (such as when rendering to texture and...
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)

17 years agofree/unreference pipe_surface in get_texel()
Brian [Wed, 10 Oct 2007 21:05:24 +0000 (15:05 -0600)]
free/unreference pipe_surface in get_texel()

17 years agouse correct mipmap level in st_render_texture()
Brian [Wed, 10 Oct 2007 20:13:21 +0000 (14:13 -0600)]
use correct mipmap level in st_render_texture()

17 years agouse pipe_region_reference() in softpipe_get_tex_surface() to fix refcount error
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

17 years agofix width/height padding that caused failed assertion upon window resize
Brian [Wed, 10 Oct 2007 17:04:48 +0000 (11:04 -0600)]
fix width/height padding that caused failed assertion upon window resize

17 years agoSize of input_to_index array should be VERT_ATTRIB_MAX.
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.

17 years agoMerge tgsi_mesa_compile_fp_program() and tgsi_mesa_compile_vp_program() into tgsi_tra...
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().

17 years agoremove unused var
Brian [Wed, 10 Oct 2007 15:43:37 +0000 (09:43 -0600)]
remove unused var

17 years agostart on a unified vertex/fragment program translation function
Brian [Tue, 9 Oct 2007 22:56:25 +0000 (16:56 -0600)]
start on a unified vertex/fragment program translation function

17 years agoGenerate DCLs for temporaries.
Brian [Tue, 9 Oct 2007 22:28:01 +0000 (16:28 -0600)]
Generate DCLs for temporaries.

17 years agoFinish up decls for packed fragment program outputs.
Brian [Tue, 9 Oct 2007 22:20:00 +0000 (16:20 -0600)]
Finish up decls for packed fragment program outputs.

17 years agoPack fragment program outputs to be consistant with vertex programs.
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.

17 years agoupdate some comments
Brian [Tue, 9 Oct 2007 20:52:26 +0000 (14:52 -0600)]
update some comments

17 years agoMore work on flow control for CAL/RET.
Brian [Tue, 9 Oct 2007 20:40:11 +0000 (14:40 -0600)]
More work on flow control for CAL/RET.

17 years agoNew ATTRIB interpolation type for vertex program inputs/declarations.
Brian [Tue, 9 Oct 2007 20:36:14 +0000 (14:36 -0600)]
New ATTRIB interpolation type for vertex program inputs/declarations.

17 years agoDon't emit semantic info for vertex program inputs.
Brian [Tue, 9 Oct 2007 20:31:45 +0000 (14:31 -0600)]
Don't emit semantic info for vertex program inputs.

17 years agoUse linked fragment shader inputs (if present) to determine which outputs are needed.
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.

17 years agouse different temps in exec_tex() for bias
Brian [Wed, 3 Oct 2007 22:34:04 +0000 (16:34 -0600)]
use different temps in exec_tex() for bias

17 years agoupdated comments
Brian [Wed, 3 Oct 2007 22:18:44 +0000 (16:18 -0600)]
updated comments

17 years agoAdd outputs_written bitfield to pipe_shader_state, use it to determine if fragment...
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.

17 years agoMove XSTDCALL definition to p_compiler.h
Brian [Wed, 3 Oct 2007 19:49:31 +0000 (13:49 -0600)]
Move XSTDCALL definition to p_compiler.h

17 years agohandle frag progs that write Z
Brian [Wed, 3 Oct 2007 19:46:48 +0000 (13:46 -0600)]
handle frag progs that write Z

17 years agobasic support for reading GL_DEPTH_COMPONENT
Brian [Wed, 3 Oct 2007 19:45:24 +0000 (13:45 -0600)]
basic support for reading GL_DEPTH_COMPONENT

17 years agoadded s8z24_get_tile()
Brian [Wed, 3 Oct 2007 19:44:53 +0000 (13:44 -0600)]
added s8z24_get_tile()

17 years agofix eq/neq bugs
Brian [Wed, 3 Oct 2007 16:33:05 +0000 (10:33 -0600)]
fix eq/neq bugs

17 years agofix f/u mix-up in micro_trunc()
Brian [Wed, 3 Oct 2007 15:55:36 +0000 (09:55 -0600)]
fix f/u mix-up in micro_trunc()

17 years agomove TEX code into exec_tex()
Brian [Wed, 3 Oct 2007 15:55:06 +0000 (09:55 -0600)]
move TEX code into exec_tex()

17 years agoSome minor cleanups.
Michel Dänzer [Wed, 3 Oct 2007 18:37:59 +0000 (20:37 +0200)]
Some minor cleanups.

17 years agoDouble amount of memory allocated for generated shader code.
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.

17 years agoTrack fragment and vertex shader code generation via pipe shader state objects.
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.

17 years agointel_winsys: Adapt to DRM changes (again).
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'.

17 years agoIn vertex shaders also expect the template to be stack allocated
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.

17 years agoUnify the definitions of the 4 component dot product into one
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.

17 years agoUnify handling of userplanes and regular planes to simplify
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)

17 years agoGet rid of ST_NEW_SHADER flag and the dependency on _NEW_PROGRAM
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.

17 years agoExplain a little better what we're doing here.
Zack Rusin [Wed, 3 Oct 2007 12:50:27 +0000 (08:50 -0400)]
Explain a little better what we're doing here.

17 years agoMake softpipe behave more like a real driver by always allocating something
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.

17 years agoclean-ups
Brian [Wed, 3 Oct 2007 01:44:55 +0000 (19:44 -0600)]
clean-ups

17 years agoImplement/use fragment kill results
Brian [Wed, 3 Oct 2007 01:16:57 +0000 (19:16 -0600)]
Implement/use fragment kill results

17 years agoImplement TGSI_OPCODE_SNE with micro_ne()
Brian [Tue, 2 Oct 2007 23:13:06 +0000 (17:13 -0600)]
Implement TGSI_OPCODE_SNE with micro_ne()

17 years agoSeparate TGSI_OPCODE_KIL and TGSI_OPCODE_KILP (predicated).
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.

17 years agoassert that program length > 1 (some code, plus END)
Brian [Tue, 2 Oct 2007 22:57:19 +0000 (16:57 -0600)]
assert that program length > 1 (some code, plus END)

17 years agoadded MESA_FORMAT_Z16 in st_mesa_format_to_pipe_format(), for Glean
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

17 years agoGenerate a texenv fragment program if there's a GLSL vertex shader but no GLSL fragme...
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.

17 years agoPush mask stacks upon CAL, pop upon RET.
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...

17 years agoadded license and interpreter comments
Brian [Tue, 2 Oct 2007 22:17:34 +0000 (16:17 -0600)]
added license and interpreter comments

17 years agoImplement CONT statement.
Brian [Tue, 2 Oct 2007 22:05:07 +0000 (16:05 -0600)]
Implement CONT statement.

17 years agoadded micro_trunc(), re-order some code
Brian [Tue, 2 Oct 2007 21:17:37 +0000 (15:17 -0600)]
added micro_trunc(), re-order some code

17 years agoMinor optimization: no-op CAL when ExecMask==0x0.
Brian [Tue, 2 Oct 2007 20:25:43 +0000 (14:25 -0600)]
Minor optimization: no-op CAL when ExecMask==0x0.

17 years agoAdded TGSI_FILE_OUTPUT case in fetch_src_file_channel().
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).

17 years agoImplement CAL/RET and a call stack for subroutines.
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.

17 years agoAdded TGSI_OPCODE_END
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.