summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/i915/i915_fragprog.c
AgeCommit message (Collapse)Author
2009-04-16Merge branch 'register-negate'Brian Paul
2009-04-15i915: Use DEBUG_WM (like 965) for printing the fragment program out.Eric Anholt
This is nice when paired with INTEL_DEBUG=batch for debugging what's going out to the hardware.
2009-04-14mesa: merge the prog_src_register::NegateBase and NegateAbs fieldsBrian Paul
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-02-28mesa: rename, reorder FRAG_RESULT_x tokensBrian Paul
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-01-21i915: Add decode for PS in batchbuffers.Eric Anholt
2008-12-24i915: separate the fog term from the specular color term.Xiang, Haihao
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-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-02-15i915: set fogcoord to (f,0,0,1). fix #10788 issue on 915.Xiang, Haihao
2008-02-06[915] Fix COS function using same plan as SIN.Eric Anholt
The previous COS function failed badly outside of [-pi/2, pi/2].
2008-02-06[915] Use a quartic term to improve the accuracy of SIN results.Eric Anholt
This is described in the link in the comment, and is the same technique that r300 uses.
2008-02-06[915] Fix fp SIN function, and use a quadratic approximation instead of Taylor.Eric Anholt
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-01-07i915: Keith Whitwell's swizzling TEX patch. fix #8283Xiang, Haihao
2007-09-24Move i915tex driver into place as just i915.Eric Anholt
2007-09-24Remove the old i915 driver now that i915tex works without TTM.Eric Anholt
2007-09-11Fix-up #includes to remove some -I options.Brian
eg: #include "shader/program.h" and remove -I$(TOP)/src/mesa/program
2007-07-29fix cos/sin range reduction for i915 driver tooRoland Scheidegger
2007-05-22i915/i915tex: minor cleanup (remove unneeded function callRoland Scheidegger
2007-02-23Update DRI drivers for new glsl compiler.Brian
Mostly: - update #includes - update STATE_* token code
2006-11-02Fix fragment program fog problems found with Glean.Brian Paul
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-01fix compiler warningsKeith Whitwell
2006-11-01Patch from <haihao.xiang@intel.com> -- pass program stringKeith Whitwell
notification callback through to tnl/ module, fixes glean crash.
2006-10-10Use the mesa-provided texenv program rather than rolling our own.Keith Whitwell
Turn on texture crossbar support.
2006-07-20Some structure renaming. Prefix vertex/fragment-related structs withBrian Paul
"gl_" to match other structs.
2005-11-22Use correct enums for program output variables. FixesKeith Whitwell
fp/tri-depthwrite.
2005-11-20s/Saturate/SaturateMode/Brian Paul
2005-11-20Make Saturate a 2-bit field again, renamed to SaturateMode with threeBrian Paul
possible values: SATURATE_OFF, SATURATE_ZERO_ONE and SATURATE_PLUS_MINUS_ONE.
2005-11-19remove #include arbfragparse.h, s/PI/M_PI/Brian Paul
2005-11-12Move stuff common to vertex/fragment_program into the base class, including:Brian Paul
Instructions, InputsRead, OutputsWritten, and Parameters. Also, added debug functions: _mesa_print_instruction(), _mesa_print_program_parameters() and revamp _mesa_print_program().
2005-11-05s/TexSrcIdx/TexSrcTarget/Brian Paul
2005-11-05Unify vertex/fragment program instuctions.Brian Paul
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-09-08Treat NegateBase as a bitfield, not a boolean.Keith Whitwell
2005-05-10don't be fooled into emitting padding for wpos when not usedKeith Whitwell
2005-05-10get fog working with _TexEnvProgramKeith Whitwell
2005-05-09i915 will use _TexEnvProgram (if active)Keith Whitwell
2005-05-09Fallback (rather than fail) on unknown program targets.Keith Whitwell
2005-04-21Reduce the size of mesa's internal fragment and vertex programKeith Whitwell
representations by switching to packed structures for registers and instructions.
2004-12-14uint*t -> u_int*t changesAlan Hourihane
2004-08-31The i915 driver was merged after EMIT_*_BGR bug was fixed. This bringsKeith Whitwell
the driver into line with the correct meaning of those symbols and fixes color corruptions.
2004-06-18add missing license textsKeith Whitwell
2004-06-10New driver for i915 as well as older i830/i845/i865 chipsets.Keith Whitwell