summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_fragprog.h
AgeCommit message (Collapse)Author
2009-04-19r300: cleanup includesMaciej Cencora
2009-04-19r300: move common fp functions to seperate fileMaciej Cencora
2009-04-19r300: more r300/r500 unificationMaciej Cencora
reuse insert_WPOS_trailer function
2009-04-19r300: more prepare for mergeMaciej Cencora
2009-04-19r300: merge r300/r500 fragment program compiler structureMaciej Cencora
2009-04-19r300: r300/r500 fp shader merge WIPMaciej Cencora
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-07-12r300_fragprog: Use nqssa+dce and program_pair for emitNicolai Haehnle
Share almost all code with r500_fragprog now. This also fixes Piglit's texrect-many test, which means that the compiz bicubic plugin should work with hardware acceleration now.
2008-07-05r300: Remove clause stuff for now in favour of a cloned generic gl_programNicolai Haehnle
2008-06-14r300_fragprog: Refactor TEX transformationNicolai Haehnle
Streamlining source and destination registers, as well as texcoord scaling for RECT textures is now done in a radeon_program based transformation. The idea is that this will allow us to optimize away unnecessary indirections more easily.
2008-06-14r300: Add radeon_program and trivial refactoring of r300_fragprog to use itNicolai Haehnle
The idea/hope is that radeon_program will serve as an intermediate representation for r3xx up to r6xx fragment and vertex programs. Right now, it is nothing more than a simplistic wrapper around Mesa's prog_instruction, together with the notion of clauses, taken from r6xx docs. The clauses will eventually be used to represent the nodes that are used in r300 family fragment programs.
2008-06-14r300_fragprog: Remove dead declarations, move NOP declarations into sourceNicolai Haehnle
2008-05-13R300: cleanup FS code and fill in missing detailsAlex Deucher
2008-03-01r300: Moved the vertex and fragment program macros into the appropriate files.Oliver McFadden
2007-05-09r300: Converted "rp" variables (r300_fragment_program) to "fp".Oliver McFadden
2007-05-09r300: Fixed indenting from previous commitOliver McFadden
d28f6d91760374e2eb71b541b0f259f81dd73c69.
2007-05-09r300: Fixed some more function names.Oliver McFadden
Note there might be some calls to the old function names in conditionally disabled code, but I think I've got them all.
2007-05-09r300: Indented r300_fragprog.[ch].Oliver McFadden
2007-05-09r300: Removed the obsolete pfs_reg_t type from r300_fragprog.h.Oliver McFadden
2007-02-23Update DRI drivers for new glsl compiler.Brian
Mostly: - update #includes - update STATE_* token code
2007-02-12r300: Add proper support for sin/cos instruction in fragment programRune Peterson
Getting proper SIN and COS wasn't as easy as it appeared. I had to make make some changes to the fragment program code. general FP changes: - support HHH swizzle for vector instructions. - don't copy a source to a temp when it is not XYZW swizzled, but combine the two and have the swizzle resolve any issues. (saves temps/instructions with more elaborate shader code) - fix overflow in cnstv[].
2006-12-25Rework r300 fragprog avoid using bitfield structure.Jerome Glisse
It seems that bitfield structure lead to some strange problem on 64bits arch, don't want to waste time debugging strange things like that so converted pfs_reg_t structure to a GLuint and use good old masking and shifting spell. (cherry picked from 2a7de9d095d8e60da12b11aaa1efe664b87b11d3 commit)
2006-11-01Add LIT instruction to fragment program.Jerome Glisse
2006-07-03Add copyright header and minor cleanup.Jerome Glisse
2006-03-13Clean build.Aapo Tahkola
2006-01-21Add individual component negation.Jerome Glisse
2006-01-20Fix swizzling table & add struct.Jerome Glisse
2006-01-09Missing patch from Ben Skeggs:Aapo Tahkola
Lots of changes, and fixes for some badness on my behalf. 1. Disposable data used during fp compile is now per-context, rather than per-program to save memory. 2. Track usage of INPUT/TEMP registers from Mesa program, free them when no longer required so the hw temps can be re-used. 3. Changed LAST_NODE to OUTPUT_COLOR (see r300_reg.h) 4. Implemented remaining ARB_f_p instructions, with the exception of the trig/LIT opcodes. 5. Treat ZERO/ONE swizzles the same way as other native swizzles. 6. emit_arith changes, basically a complete re-write. Should produce cleaner instructions, but no real functional changes. internal reg -> hw reg routines shared with emit_tex. A bit messy still.
2005-11-05Unify vertex/fragment program instuctions.Brian Paul
Based on patch by Ian (#4967) but also unify instruction opcodes.
2005-07-20Clean up warnings in r300 code by making some symbols static, adding prototypesEric Anholt
for others, and being cleaner with types in fragment/vertex program structures. One warning in r300_shader.c is still concerning.
2005-05-28Play with swizzling a bit.Ben Skeggs
2005-05-25- Remove one of the loops in emit_arithBen Skeggs
- Handle REPL_ALPHA in emit_arith (possibly incorrect for some things) - Start on getting demos/arbfplight.c to look right. Won't be animated yet, need to re-work const emit so we can update consts without re-translating the entire program. Assertion in r300_state.c::setup_rs_unit needs to be disabled for it to work.
2005-05-23Implement enough of ARB_fragment_program for Keith's texenv programBen Skeggs
generation in Mesa. Requires most recent Mesa cvs to work correctly. Swizzle code is possibly slow/buggy and will probably be replaced. Old behaviour can be controlled by a #define in r300_context.h, if no-one minds I'll remove the old code later on. Also, disabled cube map extension. AFAIK We don't support it yet, and it causes issues with UT2004.