summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300
AgeCommit message (Collapse)Author
2008-07-12r500: Set Saturate correctly in radeon_program_pairNicolai Haehnle
2008-07-12r300: Fix input register allocation in radeon_program_pairNicolai Haehnle
When an input is marked in gl_program.InputsRead but is not actually read in the final program (due to dead-code elimination or whatever), the order of input registers must still match gl_program.InputsRead. This is done even more explicitly now.
2008-07-12r300: Explicitly set absolute value for the argument of RSQNicolai Haehnle
This fixes the last r500 bug related to glean/fragProg1.
2008-07-12r500_fragprog: Major refactoring of final emitNicolai 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-12r500: Add "Not quite SSA" and dead code elimination passNicolai Haehnle
In addition, this pass fixes non-native swizzles.
2008-07-12r500_fragprog: Transform trigonometric functions in first passNicolai Haehnle
2008-07-11R300: update vap_cntl values for NUM_FPUSAlex Deucher
based on info from hw team
2008-07-06r500_fragprog: Fix RSQ with negative parametersNicolai Haehnle
2008-07-06r300_fragprog: Emulate trigonometric functions in radeon_program_aluNicolai Haehnle
2008-07-06r300: Translate fragment program DST in radeon_program_aluNicolai Haehnle
2008-07-06r300: Translate fragment program LRP in radeon_program_alu.cNicolai Haehnle
2008-07-06r300: Allow adding parameters during fragprog transform, share LIT codeNicolai Haehnle
2008-07-05r300: Correctly scan for used temporary registersNicolai Haehnle
This fixes a regression introduced by dea8719f0...
2008-07-05r500: Major refactoring of fragment program emitNicolai 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-05r300: Remove clause stuff for now in favour of a cloned generic gl_programNicolai Haehnle
2008-07-05r500_fragprog: Cleanup some unused variables and code.Nicolai Haehnle
2008-07-05r500: Fix a mixup in fragment program LRP instruction emitNicolai Haehnle
2008-07-05r500: Fix blend color.Nicolai Haehnle
2008-07-04r300: Fix depth texture in compare modeNicolai Haehnle
Missed the homogenous divide of R by Q before...
2008-07-02mesa: fix issues around multisample enableRoland Scheidegger
multisample enable is enabled by default, however gl mandates multisample rendering rules only apply if there's also a multisampled buffer.
2008-06-30r3xx/r5xx: Enable ARB_point_parameters.Corbin Simpson
This isn't complete yet. It does cover the two most common usage cases, though, and at least the third one (POINT_DISTANCE_ATTENUATION) is possible, so I'll do that later.
2008-06-30r300: Fix dumb mistake in LOD bias translationNicolai Haehnle
2008-06-30r300: Cleanup LodBias supportNicolai Haehnle
. There is both a per-texture unit and a per-texture object (at least for OpenGL 1.4); this should now be supported properly. . The LOD bias calculation in r300_state has been simplified and corrected (need to multiply by 32 instead of 31, and ensure clamping) . do not clamp LOD bias in TexEnv, as that behaviour conflicts with what the spec says . set Const.MaxTextureLodBias properly . remove the no_neg_lod_bias property; if somebody can explain what it's good for, we can add it back in, but according to Google, nobody seems to use it . removed some dead code and unused variables
2008-06-29r300: Change LOD bias emission to more closely follow per-tex rules.Corbin Simpson
Okay, this time it's for real, and for good. This should be a perma-fix.
2008-06-29r300: Fix wrap mode for 1D texturesNicolai Haehnle
2008-06-21replace __inline and __inline__ with INLINE macroBrian Paul
2008-06-16r300: Make LOD bias a persistent environment variable.Corbin Simpson
Per airlied's suggestion.
2008-06-16r300: Fix new incarnation of bug 3195.Corbin Simpson
tests/bug_3195 doesn't render right, but at least it doesn't segfault this way.
2008-06-16r300: Forgot to clear old state before writing new state.Corbin Simpson
Oooops. Hehe.
2008-06-15r300: Enable LOD bias state emission.Corbin Simpson
Properly set t->filter_1 for r300_state to emit. Expect buggies as people see LOD bias enabled for the first time...
2008-06-15Oops, misordered a few instructions.Corbin Simpson
Not like it matters, though, since it's not taking effect yet.
2008-06-15r300: Unbreak LOD biasing, a bit.Corbin Simpson
Needs a bit more work on submission.
2008-06-14r5xx: 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-14r5xx: 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-14r300: Add radeonTransformALU and fix a bug in r300_fragprog DPHNicolai Haehnle
This new generic transform replaces "special" instructions by more generic variants. Hopefully, we will be able to share this code between r300 and r500.
2008-06-14r300_fragprog: Use less complex instructionsNicolai Haehnle
MOV, ADD and MUL do not fit the hardware as well as MAD, but they are less complex and thus leave more room for future optimizations.
2008-06-14r5xx: More FP rewriting; fix texrect FP insts.Corbin Simpson
2008-06-14r5xx: New FP code, take two.Corbin Simpson
Add the code emission source file, and comment out unneeded tex de-swizzling.
2008-06-14r5xx: FP refactor, take one.Corbin Simpson
Yes, I know it's massive. Imagine how I felt, auditing 3000 lines of code.
2008-06-14r3xx/r5xx: Don't force aniso.Corbin Simpson
*Pulls paper bag down over head*
2008-06-14r300: Implement GL_ARB_shadow and GL_EXT_shadow_funcsNicolai Haehnle
2008-06-14r300: Add radeonCompilerDump for debuggingNicolai 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: Do not include r300_fragprog.h from r300_context.h and other cleanupsNicolai Haehnle
2008-06-14r300_fragprog: Remove dead declarations, move NOP declarations into sourceNicolai Haehnle
2008-06-14r300_fragprog: Refactoring and cleanupNicolai Haehnle
Refactor so that r300_pfs_compile_state "owns"/holds a pointer to r300_fragment_program instead of the other way round. This is more natural from an object orientation point of view. Move the compiled hardware state into r300_fragment_program_code, in anticipation of on-the-fly program recompilation based on external OpenGL state.
2008-06-14r300_fragprog: Remove dead codeNicolai Haehnle
2008-06-13r300/r500: Separate fragprog compiler structuresNicolai 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-13r300: Fix depth texture GL_LUMINANCE vs. GL_INTENSITY mixupNicolai Haehnle