Eric Anholt
994d1db079
i915: Let i915_program_error take a format string, and don't use _mesa_problem.
...
It's misleading to report things like the program having too many native
instructions as a Mesa implementation error, when the program may just be
too big for the hardware.
2009-10-01 14:31:03 -07:00
Brian Paul
eb0d464903
Merge branch 'register-negate'
2009-04-16 22:02:54 -06:00
Eric Anholt
bbae8791d1
i915: Use DEBUG_WM (like 965) for printing the fragment program out.
...
This is nice when paired with INTEL_DEBUG=batch for debugging what's going
out to the hardware.
2009-04-15 12:55:51 -07:00
Brian Paul
7db7ff878d
mesa: merge the prog_src_register::NegateBase and NegateAbs fields
...
There's really no need for two negation fields. This came from the
GL_NV_fragment_program extension. The new, unified Negate bitfield applies
after the absolute value step.
2009-04-14 22:14:30 -06:00
Brian Paul
8d475822e6
mesa: rename, reorder FRAG_RESULT_x tokens
...
s/FRAG_RESULT_DEPR/FRAG_RESULT_DEPTH/
s/FRAG_RESULT_COLR/FRAG_RESULT/COLOR/
Remove FRAG_RESULT_COLH (NV half-precision) output since we never used it.
Next, we might merge the COLOR and DATA outputs (COLOR0, COLOR1, etc).
2009-02-28 11:49:46 -07:00
Eric Anholt
b8bd0b0ddc
i915: Add decode for PS in batchbuffers.
2009-01-21 14:03:56 -08:00
Xiang, Haihao
129b6bc4e3
i915: separate the fog term from the specular color term.
...
Previously fog parameter and specular color are packed into the
same dword. Note specular color should be packed in BGRA for device,
so if fog parameter and specular color all are present, fog parameter
will dirty the alpha term of specular color. This fixes rendering
issue when playing 'Yo Frankie' on 915/945.
2008-12-24 09:26:46 +08:00
Brian Paul
ecadb51bbc
mesa: added "main/" prefix to includes, remove some -I paths from Makefile.template
2008-09-18 15:17:05 -06:00
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