Commit graph

13619 commits

Author SHA1 Message Date
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