summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/r300/r300_context.h
AgeCommit message (Collapse)Author
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
2007-05-13r300: Enable the non-user-buffers code to compile.Oliver McFadden
2007-05-13r300: Removed the unused r300_aos_rec (replaced by r300_dma_region) structure.Oliver McFadden
2007-05-11r300: Removed unused FORCE_32BITS_ELTS define.Oliver McFadden
2007-05-11r300: Removed the unused CPT macro.Oliver McFadden
2007-05-11r300: Moved r300PackFloat24 near r300PackFloat32.Oliver McFadden
2007-05-09r300: Added some more Doxygen documentation and made some functions static.Oliver McFadden
2007-05-09r300: Removed the "texmicrotile" variable; the tiling code is disabled via aOliver McFadden
compiler conditional anyway; probably broken?
2007-05-09r300: Cleaned up radeon_context.h slightly; mostly Indent.Oliver McFadden
2007-05-09r300: Renamed the R300 memory manager from "radeon" to "r300"; it's R300Oliver McFadden
specific.
2007-05-09r300: Removed the dangerous R300_SPAN_DISABLE_LOCKING flag.Oliver McFadden
Enabling R300_SPAN_DISABLE_LOCKING would probably cause more lockups; I think there are a couple of other little bugs in this code, too. It's best to remove it.
2007-05-09r300: Added some Doxygen comments.Christoph Bill
2007-05-09r300: Removed the deprecated VTXFMT code.Oliver McFadden
This was okayed by Jerome Glisse and Keith Whitwell on the dri-devel IRC channel and list, respectively.
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: Changed r300_run_vb_render calls to r300RunRender in some conditionallyOliver McFadden
disabled code.
2007-05-09r300: Indented r300_context.[ch].Oliver McFadden
2007-05-09r300: Removed the ugly CARD32 type.Oliver McFadden
2007-05-09r300: Renamed vertex_shader.h to r300_vertprog.hOliver McFadden
2007-05-08r300: Renamed the VBO functions to the R300 name format.Oliver McFadden
2007-05-06r300: fix broken vbosAapo Tahkola
2007-05-05don't use hw to perform vertex transform etc. when using swtcl. This for ↵Aapo Tahkola
compatibility with vertex programs and the fact that swtcl very rarely gets hit with tcl capable hw.
2007-03-24r300: Fix texture coordinate calculation for rectangle texturesNicolai Haehnle
R300 hardware takes texcoords in the range 0..1 even for rectangle textures. Previously, the necessary texcoord conversion was applied to the texture coordinate during vertex processing in a render stage. This is obviously wrong when fragment programs are used, which can calculate arbitrary coordinates for TEX instructions. Therefore, we now inject an appropriate MUL instruction before a TEX that reference a rectangle texture.
2007-03-24r300: No assertion when accessing incomplete texture images.Nicolai Haehnle
There used to be an assertion when a fragment program accesses an incomplete texture image. Work around this assertion. Note: I am unsure whether this workaround produces the desired result (0,0,0,1) on all hardware.
2007-03-21r300: Remove the program-global const_sin indexNicolai Haehnle
The index is no longer necessary to share constants between multiple SIN/COS/SCS instructions inside a single fragment program, and storing a tiny implementation detail like this in the fragment_program structure itself was just nasty.
2007-03-20r300: Whitespace cleanup (remove trailing spaces)Nicolai Haehnle
2007-03-19r300: Cleanup fragment program constant allocation, share constantsNicolai Haehnle
The constant/parameter allocation was significantly simplified, removing one unnecessary copy operation of parameters. The dirty state tracking is unchanged and far from optimal, since all state is always re-fetched. Constants and parameters are now emitted only once, which significantly reduces the resource pressure on larger programs.
2007-03-19r300: Fix fragment program reorderingNicolai Haehnle
Do not move an instruction that writes to a temp forward past an instruction that reads the same temporary.
2007-03-19r300: Fix fragment program instruction pairing and register allocationNicolai Haehnle
There were a number of bugs related to the pairing of vector and scalar operations where swizzles ended up using the wrong source register, or an instruction was moved forward and ended up overwriting an aliased register. The new algorithm for register allocation is quite conservative and may run out of registers before necessary. On the plus side, It Just Works. Pairing is done whenever possible, and in more cases than before, so in practice this change should be a net win.
2007-03-11Guess another unknown register in R300 command buffer initialization. ↵Aapo Tahkola
(Oliver McFadden)
2007-03-11Renamed some of the unkXXX variables in the command buffer initOliver McFadden
ialization code. Note that there are still plenty of actual unknown variables left that should probably be deciphered. There are a number of things incomplete in the driver; the different polygon offset modes (line, point, etc), the other texture filter, texture chroma key, etc. These should probably be fixed in the future, or at least added to the TODO list.
2007-02-22r300: get rid of CB_DPATH legacyDave Airlie
2007-02-14r300: Fix cos & add scs to fragment program.Rune Peterson
So this do : - Fixes COS. - Does range reductions for SIN & COS. - Adds SCS. - removes the optimized version of SIN & COS. - tweaked weight (should help on precision). - fixed a copy paste typo in emit_arith().
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[].
2007-01-16Merge branch 'master' of git+ssh://keithw@git.freedesktop.org/git/mesa/mesa ↵Keith Whitwell
into vbo-0.2 Conflicts: src/mesa/array_cache/sources src/mesa/drivers/dri/i965/brw_context.c src/mesa/drivers/dri/i965/brw_draw.c src/mesa/drivers/dri/i965/brw_fallback.c src/mesa/drivers/dri/i965/brw_vs_emit.c src/mesa/drivers/dri/i965/brw_vs_tnl.c src/mesa/drivers/dri/mach64/mach64_context.c src/mesa/main/extensions.c src/mesa/main/getstring.c src/mesa/tnl/sources src/mesa/tnl/t_save_api.c src/mesa/tnl/t_save_playback.c src/mesa/tnl/t_vtx_api.c src/mesa/tnl/t_vtx_exec.c src/mesa/vbo/vbo_attrib.h src/mesa/vbo/vbo_exec_api.c src/mesa/vbo/vbo_save_api.c src/mesa/vbo/vbo_save_draw.c
2006-11-17fragment.position supportRune Petersen
World position is calculated in the vertex shader and passed to the fragment shader via an unused texcoord.