Commit Graph

33 Commits

Author SHA1 Message Date
Xiang, Haihao
7eef52e975 i915: set fogcoord to (f,0,0,1). fix #10788 issue on 915. 2008-02-15 15:20:45 +08:00
Eric Anholt
700a77fb48 [915] Fix COS function using same plan as SIN.
The previous COS function failed badly outside of [-pi/2, pi/2].
2008-02-06 15:43:05 -08:00
Eric Anholt
2551a5ee80 [915] Use a quartic term to improve the accuracy of SIN results.
This is described in the link in the comment, and is the same technique that
r300 uses.
2008-02-06 15:40:32 -08:00
Eric Anholt
d98abcbef0 [915] Fix fp SIN function, and use a quadratic approximation instead of Taylor.
The Taylor series notably fails at producing sin(pi) == 0, which leads to
discontinuity every 2*pi.  The quadratic gets us sin(pi) == 0 behavior, at the
expense of going from 2.4% THD with working Taylor series to 3.8% THD (easily
seen on comparative graphs of the two).  However, our previous implementation
was producing sin(pi) < -1 and worse, so any reasonable approximation is an
improvement.  This also fixes the repeating behavior, where the previous
implementation would repeat sin(x) for x>pi as sin(x % pi) and the opposite
for x < -pi.
2008-02-06 15:26:00 -08:00
Xiang, Haihao
3369cd9a6f i915: Keith Whitwell's swizzling TEX patch. fix #8283 2008-01-07 14:08:36 +08:00
Eric Anholt
8cf9085bc7 Move i915tex driver into place as just i915. 2007-09-24 10:03:25 -07:00
Eric Anholt
8fba8d2018 Remove the old i915 driver now that i915tex works without TTM. 2007-09-24 09:56:40 -07:00
Brian
acfeb3b6ea Fix-up #includes to remove some -I options.
eg: #include "shader/program.h" and remove -I$(TOP)/src/mesa/program
2007-09-11 11:04:15 -06:00
Roland Scheidegger
ab02552cdd fix cos/sin range reduction for i915 driver too 2007-07-29 19:44:55 +02:00
Roland Scheidegger
1078ef83eb i915/i915tex: minor cleanup (remove unneeded function call 2007-05-22 03:32:25 +02:00
Brian
064ae479a7 Update DRI drivers for new glsl compiler.
Mostly:
- update #includes
- update STATE_* token code
2007-02-23 13:40:13 -07:00
Brian Paul
d78f65cd6c Fix fragment program fog problems found with Glean.
1. add PROGRAM_CONSTANT to switch() in src_vector().
2. use _mesa_append_fog_code() to handle fog options in i915ProgramStringNotify().
3. Re-enable some vertex attribute emit code that was previously disabled in i915ValidateFragmentProgram().
2006-11-02 21:43:06 +00:00
Keith Whitwell
57f09b6e5e fix compiler warnings 2006-11-01 15:23:50 +00:00
Keith Whitwell
fd60b2d536 Patch from <haihao.xiang@intel.com> -- pass program string
notification callback through to tnl/ module, fixes glean crash.
2006-11-01 09:35:26 +00:00
Keith Whitwell
d886423b3c Use the mesa-provided texenv program rather than rolling our own.
Turn on texture crossbar support.
2006-10-10 08:58:43 +00:00
Brian Paul
122629f279 Some structure renaming. Prefix vertex/fragment-related structs with
"gl_" to match other structs.
2006-07-20 16:49:57 +00:00
Keith Whitwell
e6e1c3fc11 Use correct enums for program output variables. Fixes
fp/tri-depthwrite.
2005-11-22 12:20:03 +00:00
Brian Paul
1a61462318 s/Saturate/SaturateMode/ 2005-11-20 17:54:29 +00:00
Brian Paul
e31ac05223 Make Saturate a 2-bit field again, renamed to SaturateMode with three
possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
2005-11-20 17:52:40 +00:00
Brian Paul
47e511c36d remove #include arbfragparse.h, s/PI/M_PI/ 2005-11-19 15:42:39 +00:00
Brian Paul
de99760bf3 Move stuff common to vertex/fragment_program into the base class, including:
Instructions, InputsRead, OutputsWritten, and Parameters.
Also, added debug functions: _mesa_print_instruction(),
_mesa_print_program_parameters() and revamp _mesa_print_program().
2005-11-12 17:53:14 +00:00
Brian Paul
9ba4ef3102 s/TexSrcIdx/TexSrcTarget/ 2005-11-05 17:18:09 +00:00
Brian Paul
7e807510d8 Unify vertex/fragment program instuctions.
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-11-05 17:10:45 +00:00
Keith Whitwell
b15f46a093 Treat NegateBase as a bitfield, not a boolean. 2005-09-08 18:36:39 +00:00
Keith Whitwell
ab81d1fd99 don't be fooled into emitting padding for wpos when not used 2005-05-10 13:54:52 +00:00
Keith Whitwell
948fa3b295 get fog working with _TexEnvProgram 2005-05-10 11:38:56 +00:00
Keith Whitwell
435eff8b85 i915 will use _TexEnvProgram (if active) 2005-05-09 17:59:13 +00:00
Keith Whitwell
1180fc13db Fallback (rather than fail) on unknown program targets. 2005-05-09 17:38:52 +00:00
Keith Whitwell
7c26b61f93 Reduce the size of mesa's internal fragment and vertex program
representations by switching to packed structures for registers and
instructions.
2005-04-21 14:46:57 +00:00
Alan Hourihane
38b317d508 uint*t -> u_int*t changes 2004-12-14 09:11:52 +00:00
Keith Whitwell
535408adda The i915 driver was merged after EMIT_*_BGR bug was fixed. This brings
the driver into line with the correct meaning of those symbols
and fixes color corruptions.
2004-08-31 11:36:14 +00:00
Keith Whitwell
594c3f67ac add missing license texts 2004-06-18 10:54:48 +00:00
Keith Whitwell
41b58954e1 New driver for i915 as well as older i830/i845/i865 chipsets. 2004-06-10 12:48:07 +00:00