Commit graph

115447 commits

Author SHA1 Message Date
Dave Airlie
4cd3ef58a9 i915/drmbuf: attempt to push relocations into buffer manager
This moves the relocations into the buffer manager in prepration for
a superioctl move.
2007-10-03 15:50:46 +10: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
2dbd905ab0 fix comment: s/branch/kill/ 2007-10-02 16:50:40 -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
Brian
6aab3e3d26 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).
2007-10-02 14:17:47 -06:00
Brian
4ad80ad5cf Implement CAL/RET and a call stack for subroutines.
The glsl/brick.c shader demo runs now.
2007-10-02 14:05:21 -06:00
Brian
5e49ec339d 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.
2007-10-02 13:49:38 -06:00
Brian
4726489248 Fold expand_program() into tgsi_exec_prepare() 2007-10-02 13:41:56 -06:00
Brian
e2009d0871 no more need for tgsi_exec_machine_run2(), remove dead code 2007-10-02 11:49:43 -06:00
Brian
9ac03856f5 remove dead code 2007-10-02 11:47:21 -06:00
Brian
0d13ade0cd 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.
2007-10-02 11:46:11 -06:00
Brian
57d3770f35 checkpoint: unpack all instructions before interpretation. Actual looping works. 2007-10-02 10:38:56 -06:00
Jouk
584b84256b Merge branch 'master' of git+ssh://joukj@git.freedesktop.org/git/mesa/mesa 2007-10-02 15:17:23 +02:00
Brian
cdf99a9fad comments/code for min/max_lod - revisit someday 2007-10-01 18:10:53 -06:00
Brian
de1d725f44 updated glext.h license info (Khronos), plus other clean-ups 2007-10-01 17:57:25 -06:00
Brian
4c19f95a39 use i915_miptree_layout when using an i915 2007-10-01 15:39:15 -06:00
Brian
f8b2148a2b avoid updating vertex format when it doesn't really change 2007-10-01 14:46:19 -06:00
Brian
a24031d50c don't crash in RasterPos if feedback not implemented yet 2007-10-01 13:55:16 -06:00
Brian
3c41589420 disable debug printf 2007-10-01 13:54:37 -06:00
Brian
726060680b don't crash when fog enabled, still not rendered correctly though 2007-10-01 13:54:24 -06:00
Brian
dab288b982 remove specular color assertion (the path works) 2007-10-01 13:50:24 -06:00
Brian
b13618c316 fix a few vert/frag program items to get i915 driver going again 2007-10-01 13:45:53 -06:00
Zou Nan hai
3d6c410990 fragment shader function call fix, gl_FragCoord fix 2007-09-30 13:47:05 +08:00
Brian
f8ee72d98f fix VBO-split infinite loop (bug 12164) 2007-09-29 12:01:34 -06:00
Brian
2727cfddbf hack in some code to test loops, break 2007-09-29 10:44:05 -06:00
Brian
78f3cd1e08 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.
2007-09-29 10:43:29 -06:00
Chris Rankin
4f96000e29 r200: Implement SetTexOffset hook.
Implementation guidance by Michel Dänzer, final testing by Timo Aaltonen.
2007-09-29 18:14:06 +02:00
Brian
91550f0a17 remove unused tgsi_exec_cond_* types 2007-09-29 09:51:11 -06:00
Zou Nan hai
b0b48798c7 support continue, fix conditional 2007-09-29 15:00:52 +08:00
Brian
9405ec6251 temporary hack to test nested conditionals 2007-09-28 21:04:56 -06:00
Brian
fc38c82771 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.
2007-09-28 21:04:34 -06:00
Brian
ae7f200788 fix bug causing unnecessary translations 2007-09-28 20:31:24 -06:00
Dan Nicholson
2a3e33865d add support for LDFLAGS env var 2007-09-28 18:42:21 -06:00
Brian
e776e7a95a update the DRM/DRI instructions 2007-09-28 18:39:41 -06:00
Brian
bbcbd362a9 remove old debug code, fix warning 2007-09-28 16:20:10 -06:00
Brian
78876bf61c fix st_use_program() 2007-09-28 16:19:51 -06:00
Brian
6775c1e8cc Remove test for EXT_blend_logic_op in glGetString when determining GL version.
EXT_blend_logic_op is slightly different from GL 1.1's RGBA logicop mode
and does not have to be supported.  Per conversation with Roland.
2007-09-28 16:06:43 -06:00
Brian
636480cc9c Instead of linked program pairs, keep a list of vertex programs translated for each fragment program. 2007-09-28 15:39:39 -06:00
Brian
f14ece2d2c Use texture->first_level, not 0, when not mipmapping.
Fixes crash when GL_BASE_LEVEL!=0.
Also, remove old assertion.
2007-09-28 15:39:39 -06:00
José Fonseca
f971bdc051 Gallium's doxygen documentation. 2007-09-28 18:48:15 +01:00