Commit graph

13619 commits

Author SHA1 Message Date
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
Brian
cdf99a9fad comments/code for min/max_lod - revisit someday 2007-10-01 18:10:53 -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
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
Brian
91550f0a17 remove unused tgsi_exec_cond_* types 2007-09-29 09:51:11 -06: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
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
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
José Fonseca
59424e2d34 Update x86's static and profile configs. 2007-09-28 18:18:50 +01:00
Zack Rusin
8731e391f5 Use sse only if GALLIUM_SSE is defined 2007-09-28 12:29:30 -04:00
Zack Rusin
a1a989f0be Redoing the way we handle vertex shaders for the draw module. 2007-09-28 12:29:22 -04:00
Zack Rusin
f78193f444 Remove gl dependency from the x86 assembler code 2007-09-28 12:29:14 -04:00
Zack Rusin
901577e07f Revert "Redoing the way we handle vertex shaders for the draw module."
This reverts commit 6dcfddb8e2.
2007-09-28 12:28:16 -04:00
Zack Rusin
f2a33a63f1 Revert "Use sse only if GALLIUM_SSE is defined"
This reverts commit 57b5d36057.
2007-09-28 12:28:06 -04:00
Zack Rusin
57b5d36057 Use sse only if GALLIUM_SSE is defined 2007-09-28 09:12:20 -04:00
Zack Rusin
6dcfddb8e2 Redoing the way we handle vertex shaders for the draw module. 2007-09-28 09:12:20 -04:00
Brian
7966e479dc set miptree pitch to region pitch after allocating the region in st_miptree_create()
This fixes rendering with small (4x4) textures with softpipe.
Haven't yet tested with i915.
2007-09-27 16:33:01 -06:00
Brian
28b315dc1a comments 2007-09-27 16:31:13 -06:00
keithw
e0271e16da remove dead code 2007-09-27 16:20:31 +01:00
keithw
48385cd13a reduced debug 2007-09-27 12:50:02 +01:00
Keith Whitwell
82e2d32268 Fix some compiler warnings with -pedantic 2007-09-27 07:56:23 +01:00
Keith Whitwell
65e3af51ef Enable codegen based whenever __i386__ is defined. 2007-09-27 07:56:23 +01:00
keithw
035a824730 fix merge 2007-09-27 07:56:23 +01:00
Keith Whitwell
c5cfa63988 disable debug 2007-09-27 07:56:23 +01:00
keithw
e078f910dc restore primitive trimming in sp_draw_arrays.c 2007-09-27 07:56:23 +01:00
Keith Whitwell
08589f7105 Make flushing more lazy in the draw module. 2007-09-27 07:56:23 +01:00
keithw
7770acf8d4 Use Gallium in the renderer string 2007-09-27 07:56:22 +01:00
Brian
5c83f13719 Do image flipping in do_copy_texsubimage() and GL pixel transfer ops (except convolution). 2007-09-26 18:54:20 -06:00
Brian
c6717a8642 fallback_copy_texsubimage() basically works now (at least w/ Xlib driver).
Have to map regions before calling get_tile()/put_tile().
Need to invert srcY of glCopyTexSubImage() depending on renderbuffers
up/down orientation.
Still need to invert image in fallback_copy_texsubimage() when needed.
2007-09-26 18:39:14 -06:00
Brian
78008dbcaa added a8r8g8b8_put_tile() 2007-09-26 18:34:43 -06:00
Brian
fcd4eeb743 don't use scissored bounds in _mesa_clip_copytexsubimage() 2007-09-26 18:34:13 -06:00