Age | Commit message (Collapse) | Author | |
---|---|---|---|
2008-08-17 | r5xx: Add DDX and DDY instructions. | Corbin Simpson | |
Signed-off-by: Corbin Simpson <MostAwesomeDude@gmail.com> | |||
2008-07-27 | r300: Implement ARB_shadow_ambient; add STATE_SHADOW_AMBIENT | Nicolai Haehnle | |
2008-07-27 | r500: Handle non-native swizzles in texture instructions | Nicolai Haehnle | |
This fixes piglit's fp-kil and fp-generic/kil-swizzle tests. | |||
2008-07-27 | r500: Redirect TEX writes to output registers | Nicolai Haehnle | |
While R500 fragment program texture instructions appear to support writemasks, they cannot write to the output FIFO immediately, so we need to insert a MOV for these instructions. This fixes piglit's fp-fragment-position and fp-incomplete-tex tests. | |||
2008-07-12 | r500_fragprog: Major refactoring of final emit | Nicolai Haehnle | |
Use an abstracted instruction scheduling and register allocation algorithm that we will be able to share with r300_fragprog. Unlike the original emit code, this code tries to pair instructions that only use the RGB part of the ALU with instructions that only use the alpha part. However, the pairing algorithm still has some shortcomings; for example, it doesn't generate optimal code for the emulation of LIT. | |||
2008-07-12 | r500: Add "Not quite SSA" and dead code elimination pass | Nicolai Haehnle | |
In addition, this pass fixes non-native swizzles. | |||
2008-07-12 | r500_fragprog: Transform trigonometric functions in first pass | Nicolai Haehnle | |
2008-07-06 | r300: Allow adding parameters during fragprog transform, share LIT code | Nicolai Haehnle | |
2008-07-05 | r300: Correctly scan for used temporary registers | Nicolai Haehnle | |
This fixes a regression introduced by dea8719f0... | |||
2008-07-05 | r500: Major refactoring of fragment program emit | Nicolai Haehnle | |
Use the common facilities to convert non-native instructions into native ones. Worked hard to make the code easier to read (hopefully), by using helper functions instead of direct manipulation of the machine code. Fixes two bugs related to FLR and XPD. | |||
2008-07-05 | r300: Remove clause stuff for now in favour of a cloned generic gl_program | Nicolai Haehnle | |
2008-07-05 | r500_fragprog: Cleanup some unused variables and code. | Nicolai Haehnle | |
2008-07-04 | r300: Fix depth texture in compare mode | Nicolai Haehnle | |
Missed the homogenous divide of R by Q before... | |||
2008-06-14 | r5xx: Enable fragment.position, partial ARB_shadow. | Corbin Simpson | |
I don't like PROGRAM_BUILTIN; could we either patch Mesa or just use a different constant? | |||
2008-06-14 | r5xx: Detangle FP fallback and translation switches. | Corbin Simpson | |
r5xx should fallback if it encounters a bad FP. TODO: Re-enable the dumb shader so we don't have to completely fallback. | |||
2008-06-14 | r5xx: More FP rewriting; fix texrect FP insts. | Corbin Simpson | |
2008-06-14 | r5xx: FP refactor, take one. | Corbin Simpson | |
Yes, I know it's massive. Imagine how I felt, auditing 3000 lines of code. | |||
2008-06-13 | r300/r500: Separate fragprog compiler structures | Nicolai Haehnle | |
r500 code still used r300_pfs_compile_state, which contains some fields that really only make sense on r3xx type hardware. In order to allow both fragprog implementations to go forward without disturbing each other, I've pushed this structure down into the respective r[3|5]00_fragprog.c | |||
2008-06-06 | r5xx: Fix speedy LIT once and for all. | Corbin Simpson | |
To do: Add a slightly more accurate LIT. Will do later. | |||
2008-06-02 | r500: add missing brackets around depth testing | Dave Airlie | |
2008-06-01 | r5xx: Enable depth write emission. | Corbin Simpson | |
Thanks to nh for the r3xx version. | |||
2008-06-01 | r5xx: Add OPCODE_FLR. | Corbin Simpson | |
Why didn't anybody tell me we were missing this one? I thought I committed it ages ago! | |||
2008-05-31 | r5xx: Last emit_sop() for now. | Corbin Simpson | |
This should also clean up LIT later on. | |||
2008-05-31 | r5xx: More emit_sop(), stage 2. | Corbin Simpson | |
SIN/COS. | |||
2008-05-31 | r5xx: Cleanup SOP with emit_sop(). | Corbin Simpson | |
I wish I had a snarky commit message, but I'll save that for after I get the trig working with this. | |||
2008-05-31 | r5xx: Dump shader constants when dumping program assembly. | Corbin Simpson | |
2008-05-28 | r500: cleanup warnings and include files | Dave Airlie | |
2008-05-27 | r5xx: Add OPCODE_XPD. In working condition, I might add. | Corbin Simpson | |
And we're officially finished with the ARB_fragment_program instruction set. It's worth noting that LIT is still not reliable. SIN and COS were fixed a few commits ago. We're finished with stage 1! Whoohoo! | |||
2008-05-27 | r5xx: Just a few small LIT fixes. | Corbin Simpson | |
Still broken; will fix tomorrow. | |||
2008-05-27 | r5xx: Fix emit_mov() regression. | Corbin Simpson | |
Specifically, fix improper swizzling. | |||
2008-05-27 | r500: the cs is shared per context - doh so don't use for program upload. | Dave Airlie | |
Also remove some unused bits of the r500 fragprog struct | |||
2008-05-27 | r500: need to re-setup inst offset/end for translated programs | Dave Airlie | |
this fixes texenv | |||
2008-05-26 | r5xx: Fix FP temp counting. | Corbin Simpson | |
One of the ref counters wasn't being added to the temp counter. Yet another product of late-night coding... | |||
2008-05-26 | r5xx: Enhance emit_mov(). | Corbin Simpson | |
Now we can add arbitrary sources and swizzles. Will make many things smoother. | |||
2008-05-26 | r5xx: Moar LIT. | Corbin Simpson | |
Still not working, but getting closer. | |||
2008-05-26 | r5xx: First stab at LIT. | Corbin Simpson | |
2008-05-25 | Replace copyright on r500_fragprog.c | Corbin Simpson | |
Huh, could have sworn I already did this once before... Maybe I forgot to commit it? | |||
2008-05-25 | r5xx: Unbreak texture swizzling. | Corbin Simpson | |
2008-05-25 | r5xx: Massive MAD cleanup. | Corbin Simpson | |
Common uses of MAD now use emit_mad(), the two common negation masks work, and fixed a few off-by-one errors. | |||
2008-05-25 | r5xx: Negation masks for every inst except SWZ. | Corbin Simpson | |
Yay? | |||
2008-05-25 | r5xx: More emit_alu(). | Corbin Simpson | |
Converted ADD. | |||
2008-05-25 | r5xx: Add emit_mad() for FP. | Corbin Simpson | |
If it uses MAD, emit it with emit_mad()! (Now available at your local grocer's. Multiply and add responsibly.) | |||
2008-05-24 | r5xx: Consolidate FP tex insts. | Corbin Simpson | |
They're all the same, really. | |||
2008-05-24 | r5xx: Fix SGE/SLT. | Corbin Simpson | |
2008-05-24 | r5xx: Remove some debugging cruft. | Corbin Simpson | |
2008-05-24 | r500: missed a couple of inst4s. | Dave Airlie | |
2008-05-24 | r500: add depth output write | Dave Airlie | |
Not sure how well this works yet, but we need to set the alpha to w_omask | |||
2008-05-23 | r5xx: Clean up some compiler warnings. | Corbin Simpson | |
2008-05-23 | r5xx: Move dumb_shader. | Corbin Simpson | |
Was getting ticked having to scroll around it, lawl. | |||
2008-05-23 | r5xx: Add OPCODE_DST. | Corbin Simpson | |
Works completely, swizzles and everything. |