summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300
AgeCommit message (Collapse)Author
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
2008-06-13r300: Reenable t->filter_1 (though currently not used)Nicolai Haehnle
2008-06-08r300: Workaround hardware readcache problemNicolai Haehnle
This workaround is similar to the one found in r200_span.c. It seems like some part of the read hardware doesn't realize that VRAM has changed. By reading from an arbitrary position, this is fixed. The piglit test bugs/r300-readcache is a regression test for this bug.
2008-06-07r300: Allow driconf to set a default anisotropy.Corbin Simpson
If an app does not use GL_EXT_tex_filter_aniso, this lets driconf set it instead.
2008-06-07r300: Some cleanups in depth and stencil state handlingNicolai Haehnle
This also fixes a bug with Zfunc set to GL_NEVER in glean/paths.
2008-06-07r300: Apply writemask when clearing stencil bufferNicolai Haehnle
This fixes the glean/maskedClear test.
2008-06-07r300: Fix stencil buffer clearNicolai Haehnle
The glean/readPixSanity test passes now.
2008-06-07r300: Further anisotropic filtering fixesNicolai Haehnle
Thanks to Corbin for the initial cut today. Fixed some minor stuff (in particular, make sure we still use a MIP_LINEAR filtering mode; anisotropy without MIP_LINEAR filtering is not the truly pleasing anisotropy).
2008-06-07r300: Update LOD_BIAS register constantsNicolai Haehnle
2008-06-07r5xx: Unbreak anisotropic filtering?Corbin Simpson
Not quite finished, maybe? Not sure.
2008-06-06r5xx: Fix speedy LIT once and for all.Corbin Simpson
To do: Add a slightly more accurate LIT. Will do later.
2008-06-06r300: Improve texture layout calculationsNicolai Haehnle
The texture layout calculations for mipmapped cubemaps used to be completely wrong, since the GPU expects images to be grouped by miplevel instead of by face number. This has been fixed now, though the memory layout is still slightly incorrect for the smaller miplevels. Unfortunately, the docs are lacking in that area.
2008-06-06r300: Cleanup TX_MIN_FILTER definesNicolai Haehnle
This commit should not affect the functionality at all, just cleanup some of the original texture filter guesswork using information from the register documentation.
2008-06-06r300: Remove unused variable r300_tex_obj::dirty_state and related definesNicolai Haehnle
This variable was only ever written to, but nobody used its value.
2008-06-02r500: add missing brackets around depth testingDave Airlie
2008-06-01r5xx: Enable depth write emission.Corbin Simpson
Thanks to nh for the r3xx version.
2008-06-01r300: Writing to result.depth in fragment programs (R3xx; only stub for R5xx)Nicolai Haehnle
Setup fg_depth_src for depth writing programs and change early Z (ztop) semantics. Piglit's version of glean/fragprog test passes now (unlike Glean, its dependency on EXT_fog_coord, which we don't support, is optional). R3xx only at the moment, but should be straightforward to adapt to R5xx (I don't own an R5xx, and I don't want to break anything.)
2008-06-01[r300] Fix KIL instruction and swizzling of texture coordinatesNicolai Haehnle
The KIL instruction only works if at least one texture unit is enabled in hardware. Texture instructions do not support swizzles, negations etc. natively, so we now emit an explicit swizzling etc. operation when the texture coordinate requires it. This fixes the Piglit fp-kil test.
2008-06-01r5xx: 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-31r5xx: Last emit_sop() for now.Corbin Simpson
This should also clean up LIT later on.
2008-05-31r5xx: More emit_sop(), stage 2.Corbin Simpson
SIN/COS.
2008-05-31r5xx: 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-31r5xx: Dump shader constants when dumping program assembly.Corbin Simpson
2008-05-31r500: Use 8bit fog alpha compare value.Markus Amsler
This fixes transparency issues on r500 by enabling backwards compatibility with the r300 alpha compare value.
2008-05-29R1/2/3/4/5xx: fixed calculation of cliprects in CopyBuffer.Dennis Kasprzyk
2008-05-29r300: fix R300_FG_ALPHA_FUNC_VAL_MASKMarkus Amsler
2008-05-28r300: disable cmdbuf debug againDave Airlie
2008-05-28Merge branch 'r500-support'Dave Airlie
Bring in all the r500 3D code into master should be as stable as the r300 code it is landing on top off. Conflicts: src/mesa/drivers/dri/r300/r300_reg.h src/mesa/drivers/dri/r300/r300_state.c src/mesa/drivers/dri/radeon/radeon_screen.c
2008-05-28R3/4/5xx: update to use drm get_param for num gb pipesAlex Deucher
2008-05-28r500: cleanup warnings and include filesDave Airlie
2008-05-27r5xx: 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-27r5xx: Just a few small LIT fixes.Corbin Simpson
Still broken; will fix tomorrow.
2008-05-27r5xx: Fix emit_mov() regression.Corbin Simpson
Specifically, fix improper swizzling.