Brian
d0bca086ab
fix get_result_vector() since fp output slots are not fixed anymore
2007-10-10 15:45:57 -06:00
Brian
9f8cfa75ca
fix softpipe_clear() to handle ps->offset!=0 (such as when rendering to texture and level!=0)
2007-10-10 15:09:57 -06:00
Brian
8b68104b90
free/unreference pipe_surface in get_texel()
2007-10-10 15:05:24 -06:00
Brian
2b31b413f9
use correct mipmap level in st_render_texture()
2007-10-10 14:13:21 -06:00
Brian
e23a7b2ea4
use pipe_region_reference() in softpipe_get_tex_surface() to fix refcount error
2007-10-10 11:40:04 -06:00
Brian
500e3af175
fix width/height padding that caused failed assertion upon window resize
2007-10-10 11:04:48 -06:00
Brian
fa7a589876
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.
2007-10-10 10:33:38 -06:00
Brian
44200421e8
Merge tgsi_mesa_compile_fp_program() and tgsi_mesa_compile_vp_program() into tgsi_translate_mesa_program().
2007-10-10 09:44:54 -06:00
Brian
013ce15595
remove unused var
2007-10-10 09:43:37 -06:00
Brian
d4c3f26662
start on a unified vertex/fragment program translation function
2007-10-09 16:56:25 -06:00
Brian
11a46c61e0
Generate DCLs for temporaries.
2007-10-09 16:28:01 -06:00
Brian
578962d624
Finish up decls for packed fragment program outputs.
2007-10-09 16:20:00 -06:00
Brian
bc139a19b0
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.
2007-10-09 14:55:22 -06:00
Brian
342bc50c3d
update some comments
2007-10-09 14:52:26 -06:00
Brian
aec1f8e4f8
More work on flow control for CAL/RET.
2007-10-09 14:40:11 -06:00
Brian
31bd01f93b
New ATTRIB interpolation type for vertex program inputs/declarations.
2007-10-09 14:36:14 -06:00
Brian
47ff9428ee
Don't emit semantic info for vertex program inputs.
2007-10-09 14:31:45 -06:00
Brian
94490f63c8
Use linked fragment shader inputs (if present) to determine which outputs are needed.
2007-10-09 14:12:26 -06:00
Brian
1a69db9d2d
use different temps in exec_tex() for bias
2007-10-03 16:34:04 -06:00
Brian
68c4254d75
updated comments
2007-10-03 16:18:44 -06:00
Brian
635c4c41bd
Add outputs_written bitfield to pipe_shader_state, use it to determine if fragment shader writes Z.
2007-10-03 14:43:57 -06:00
Brian
65996f27f4
Move XSTDCALL definition to p_compiler.h
2007-10-03 13:50:12 -06:00
Brian
5356ba250c
handle frag progs that write Z
2007-10-03 13:50:11 -06:00
Brian
a9f0330061
basic support for reading GL_DEPTH_COMPONENT
2007-10-03 13:50:11 -06:00
Brian
e6f4af6b23
added s8z24_get_tile()
2007-10-03 13:50:11 -06:00
Brian
76e61556e7
fix eq/neq bugs
2007-10-03 13:50:11 -06:00
Brian
df235f33a6
fix f/u mix-up in micro_trunc()
2007-10-03 13:50:11 -06:00
Brian
1a18ebc6b3
move TEX code into exec_tex()
2007-10-03 13:50:11 -06:00
Michel Dänzer
e9df20c2fa
Some minor cleanups.
2007-10-03 20:37:59 +02:00
Michel Dänzer
86a03e43ce
Double amount of memory allocated for generated shader code.
...
The code generated for the glxgears vertex shader didn't fit, causing a crash.
2007-10-03 20:35:19 +02:00
Michel Dänzer
344464bf2e
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.
2007-10-03 20:33:23 +02:00
Michel Dänzer
ce765a7fb7
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'.
2007-10-03 18:39:39 +02:00
Zack Rusin
07cd46d111
In vertex shaders also expect the template to be stack allocated
...
structure so allocate a private copy of it.
2007-10-03 12:01:18 -04:00
Zack Rusin
b46926c4be
Unify the definitions of the 4 component dot product into one
...
location.
2007-10-03 10:33:38 -04:00
Zack Rusin
cdd38d487a
Unify handling of userplanes and regular planes to simplify
...
the clipping code.
(really done by Keith)
2007-10-03 10:33:38 -04:00
Zack Rusin
a7e997cfc5
Get rid of ST_NEW_SHADER flag and the dependency on _NEW_PROGRAM
...
which is being hit all the time. Done by Keith really.
2007-10-03 10:33:38 -04:00
Zack Rusin
5e4309ee92
Explain a little better what we're doing here.
2007-10-03 08:50:27 -04:00
Zack Rusin
51345cb3c4
Make softpipe behave more like a real driver by always allocating something
...
in the state functions.
2007-10-03 08:47:36 -04:00
Brian
4b6cc36b2b
clean-ups
2007-10-02 19:44:55 -06:00
Brian
355f8f7eed
Implement/use fragment kill results
2007-10-02 19:16:57 -06:00
Brian
ff9949d05c
Implement TGSI_OPCODE_SNE with micro_ne()
2007-10-02 17:13:06 -06:00
Brian
066ccec494
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.
2007-10-02 17:07:30 -06:00
Brian
ca34912bf7
assert that program length > 1 (some code, plus END)
2007-10-02 16:57:19 -06:00
Brian
ae28d19bbf
added MESA_FORMAT_Z16 in st_mesa_format_to_pipe_format(), for Glean
2007-10-02 16:56:02 -06:00
Brian
d781cdc8fa
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.
2007-10-02 16:55:21 -06:00
Brian
c9dceb17c0
Push mask stacks upon CAL, pop upon RET.
...
Still need to handle conditional RET statements...
2007-10-02 16:24:40 -06:00
Brian
4d155a32d2
added license and interpreter comments
2007-10-02 16:17:34 -06:00
Brian
53a6a55c7c
Implement CONT statement.
2007-10-02 16:05:07 -06:00
Brian
fe1d15acc7
added micro_trunc(), re-order some code
2007-10-02 15:17:37 -06:00
Brian
8955bc3458
Minor optimization: no-op CAL when ExecMask==0x0.
2007-10-02 14:25:43 -06:00