summaryrefslogtreecommitdiff
path: root/src/mesa/swrast/s_nvfragprog.c
AgeCommit message (Collapse)Author
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-12update an assertionBrian 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-08At keithw's request, remove all traces of the "fragment program to C" andIan Romanick
TCC experiment.
2005-11-05Unify vertex/fragment program instuctions.Brian Paul
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-11-02Rename FRAG_OUTPUT_* tokens to FRAG_RESULT_* to match vertex program conventionBrian Paul
2005-10-30need to use absolute value for RSQBrian Paul
2005-10-29fix LIT bugBrian Paul
2005-10-24fragment program writing to result.depth.z was brokenBrian Paul
2005-10-21fix broken SWZ instructionBrian Paul
2005-10-21fix broken KILBrian Paul
2005-09-19additional wrapper updates, bug 4468Brian Paul
2005-09-16use mesa import wrappers, bug 4468Brian Paul
2005-09-16Rework the texture filtering functions a bit.Brian Paul
No need to pass the texture unit number as an argument.
2005-09-15Update includes post-splitting of s_texture.cBrian Paul
2005-05-20Remove some debug outputJon Smirl
Add #if DEBUG_FRAG in s_nvfragprog.c
2005-05-11Previously in TXP and TEX instructions, lambda was passed toKeith Whitwell
fetch_texel as zero, but I believe this is incorrect. The spec uses a pseudocode function: vec4 TextureSample(float s, float t, float r, float lodBias, int texImageUnit, enum texTarget); to specify the behaviour of TEX, TXB and TXP instructions. For TEX and TXP, lodBias is passed as zero, TXB is passed with texcoord[4]. In our code we have static void fetch_texel( GLcontext *ctx, const GLfloat texcoord[4], GLfloat lambda, GLuint unit, GLfloat color[4] ) and were passing zero and a biased lambda value respectively. The difference is that TextureSample() would add in the lambda term itself, while in our code the caller is expected to do this. Thus in the TEX and TXP cases, it is necessary to pass an unbiased lambda value for things to work out correctly.
2005-05-11Test for texcoord[3] == zero before dividing. Not so sure about thisKeith Whitwell
test - if texcoord[3] is zero, we'd probably be fine except for an ASSERT in IROUND_POS() which gets triggered by the inf values created.
2005-05-04Major check-in of changes for GL_EXT_framebuffer_object extension.Brian Paul
Main driver impacts: - new code for creating the Mesa GLframebuffer - new span/pixel read/write code Some drivers not yet updated/tested.
2005-05-04Add a facility to route all rasterization through a fragment programKeith Whitwell
which is automatically generated to match the current texture environment state. Introduces a new value ctx->FragmentProgram._Active which is true when either _Enabled is true or there is such a fragment program ready to run. To test out on a driver running the software rasterizer, set MESA_TEX_PROG=t in the environment. It goes without saying that performance is lower for the software rasterizer in this mode.
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-18Added PRINT instruction for GL_NV_fragment_program.Brian Paul
2004-12-15tweaks to the LIT instructionsBrian Paul
2004-08-10added a few more debug printfs (disabled)Brian Paul
2004-06-20store's to RC/HC didn't work (bug 976287)Brian Paul
2004-04-21only init temp regs to zero if executing NV fragment programBrian Paul
2004-04-18Audit/fixes for NV/ARB TEX, TXP, TXB, TXD instructions.Brian Paul
Some texture instructions were using wrong LOD. Fixed interpolate_texcoords() so it doesn't do texcoord projective division when using a fragment program. The TXP instruction does that.
2004-04-14Use tcc and the emitted C code from s_fragprog_to_c.c to dynamically compileKeith Whitwell
and execute fragment programs. Very limited and experimental, but works well enough to run arbfplight.c. http://fabrice.bellard.free.fr/tcc/ Compile with 'make linux-tcc', being sure to make clean first.
2004-04-02Implement ARB_f_p KIL correctly.Brian Paul
2004-03-29fix array indexing for UP4B and UP4UBBrian Paul
2004-03-29Accomodate ARB_fp XPD opcode separately from NV_fp's X2D.Keith Whitwell
2004-03-03s/_swrast_exec_nv_fragment_program/_swrast_exec_fragment_program/Brian Paul
2004-02-27move _mesa_load_state_parameters() to state validation stageBrian Paul
2004-02-27fix PK2H, UP2H, PK2US bugsBrian Paul
2004-01-27Consolidate texObj->Pos/Neg/X/Y/Z and texObj->Image into a singleKeith Whitwell
array, texObj->Image[face][level].
2004-01-23Initial support for floating point and signed texture formats.Brian Paul
New "FetchTexelFuncF()" function returns texels in floating point format. Only used for depth component images at this time. Changed original FetchTexelFunc to return GLchan instead of GLvoid, removing need for a bunch of ugly casts.
2004-01-14added blurb about NVIDIA extensionsBrian Paul
2003-12-13Problem computing specular value in OPCODE_LIT - pulled in value fromKarl Rasche
vertex program execution of LIT
2003-11-22pass ctx to fetch_vector4_deriv()Brian Paul
2003-11-21fix some bugs in computation of DDX, DDY commandsBrian Paul
2003-11-19Initial checkin of new ARB_frag/vertex program parserKarl Rasche
2003-09-19Assorted casts to silence g++ warnings.Brian Paul
2003-09-18Add casts to prevent double->float conversion compiler warnings.Karl Schultz
2003-09-04implement SWZ and TXB. some code clean-upBrian Paul
2003-09-04Added new opcodes for ARB_fragment_program, like ABS, CMP, TXB, etc.Brian Paul
2003-08-31update parameter indexingBrian Paul
2003-08-30Silence compiler warnings about implicit casts or conversions by supplying ↵Karl Schultz
explicit casts and/or tweaking constant and variable definitions.
2003-08-27 Committing in .Jouk Jansen
Added a type cast to silence the OpenVMS DECC compiler Modified Files: Mesa-newtree/src/mesa/swrast/s_nvfragprog.c ----------------------------------------------------------------------
2003-08-17Re-org of register files for vertex/fragment programs. Will be easier toBrian Paul
hook in global state references, etc. for ARB programs.
2003-07-22Implement debugger callback, etc for vertex programs. Misc clean-ups.Brian Paul