summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_context.h
AgeCommit message (Collapse)Author
2008-09-18mesa: added "main/" prefix to includes, remove some -I paths from ↵Brian Paul
Makefile.template
2008-07-27r300: Implement hardware acceleration for ColorLogicOpNicolai Haehnle
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-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-06r300: Allow adding parameters during fragprog transform, share LIT codeNicolai 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-21replace __inline and __inline__ with INLINE macroBrian Paul
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-14r5xx: FP refactor, take one.Corbin Simpson
Yes, I know it's massive. Imagine how I felt, auditing 3000 lines of code.
2008-06-14r300: Implement GL_ARB_shadow and GL_EXT_shadow_funcsNicolai Haehnle
2008-06-14r300: Do not include r300_fragprog.h from r300_context.h and other cleanupsNicolai 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-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-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-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-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-05-28r500: cleanup warnings and include filesDave Airlie
2008-05-27r500: 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-27r300/r500: emit flush inside vap_cntl state atomDave Airlie
Not sure if this is a good or bad plan, it certainly doesn't make things worse here.
2008-05-22r500: bump state atom size up for fp and fp constantsDave Airlie
2008-05-17r500: write out the correct FP registersAlex Deucher
2008-05-06r5xx: Index inputs and temps.Corbin Simpson
This is not the same as r3xx indexing. It only tries to protect inputs on the pixel stack from getting clobbered by temps or texs. Texs don't need special treatment since they read from special input regs and write to the same temp regs as ALU/FC instructions.
2008-05-05r500: make sure we emit max temp atom.Dave Airlie
We don't appear to update max_temp_idx yet anywhere though
2008-05-02Initial r5xx fragment program compiler support.Corbin Simpson
Includes fallback shader and a handful of working opcodes.
2008-05-02r500: setup fragment program constant emission atomDave Airlie
2008-05-02more r500 vs r300 kickinDave Airlie
2008-05-02some basic r500 portageDave Airlie
2008-03-28r300: move to using RS_INST namesDave Airlie
2008-02-27r300: add artificial output to match fragment program inputMarkus Amsler
2008-02-25[r300] Add more struct names for r300_hw_stateChristoph Brill
2008-02-25[r300] rename all unkown structs r300_hw_state to readable namesChristoph Brill
2007-11-05Renamed the R300_VAP_UNKNOWN_221C to R300_VAP_CLIP_CNTL.Oliver McFadden
2007-11-05r300: initial user clipping for TCL pathsDave Airlie
I've no idea if this code might break something or how it should interact with vertex shaders, it makes the clip demo work for me
2007-07-18r300: Cleaned up vertprog construction.Oliver McFadden
Construct the vertprog instruction in the 4 DWORD parts... DWORD 0: Opcode and Output. DWORD 1: First Argument. DWORD 2: Second Argument. DWORD 3: Third Argument. Allow the opcode translation functions to generate more than one instruction; useful for when an instruction must be emulated. FLR, XPD, etc.
2007-07-16r300: Use the R300_PVS_UPLOAD_* defines.Oliver McFadden
2007-07-16r300: Replaced the ugly VERTEX_SHADER_INSTRUCTION typedef.Oliver McFadden
2007-07-01Merge branch 'r300-swtcl'Dave Airlie
2007-06-24r300: Initial work on merging the real and generated vertex program functions.Oliver McFadden
2007-06-24r300: Vertex program position end bits are known.Oliver McFadden
Possibly performance may improve by setting it to the last instruction that writes result.position, rather than the last instruction in the vertex program.
2007-06-24r300: Removed unused vap_param structure.Oliver McFadden
2007-06-14Initial r300 modes for swtcl it compiles!!Dave Airlie
2007-05-30r300: Document registers 0x2220 to 0x2230.Oliver McFadden
These registers are per-pixel and per-vertex X and Y clipping planes.
2007-05-30r300: Removed the (completely broken since new VBO branch) OPTIMIZE_ELTS path.Oliver McFadden
The VTXFMT code was broken by the new VBO branch and the OPTIMIZE_ELTS path relied on the VTXFMT code... I'm not even sure if the OPTIMIZE_ELTS path ever worked; the testing that I did after minimizing the code duplication would have taken the same path as the non-OPTIMIZE_ELTS code.
2007-05-26r300: Removed duplicate AOS format defines; already defined in r300_reg.h.Oliver McFadden
2007-05-26r300: Removed unused aos_reg variable.Oliver McFadden
2007-05-25r300: Cleaned up t_vir0 and t_vir1 slightly.Oliver McFadden
2007-05-22r300: Implement SetTexOffset hook.Michel Dänzer
2007-05-20r300: Just use "inline" rather than "__inline__".Oliver McFadden
2007-05-17r300: Removed the radeon_vertex_buffer structure.Tommy Schultz Lassen