summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r300
Commit message (Collapse)AuthorAgeFilesLines
* r300g: fix routing of vertex streams if TCL is bypassedMarek Olšák2009-12-094-25/+29
| | | | Generating mipmaps finally works, among other things. Yay!
* r300g: always disable unused colorbuffersMarek Olšák2009-12-091-1/+14
|
* r300g: make pow(0,0) return 1 instead of NaN in the R500 fragment shaderMarek Olšák2009-12-091-1/+1
| | | | | Unfortunately we can't fix this easily in the R300 fragment shader, and it's probably not worth the effort.
* r300g: clean up r300_emit_aosMarek Olšák2009-12-093-26/+59
|
* Merge branch 'gallium-strict-aliasing'Roland Scheidegger2009-12-081-4/+6
|\
| * gallium: fix more potential strict aliasing issuesRoland Scheidegger2009-12-081-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, gcc man page warns that union a_union { int i; double d; }; int f() { double d = 3.0; return ((union a_union *) &d)->i; } "might" not be ok (why not?), even though it doesn't seem to generate any warnings. Hence don't use this and do the extra step to actually use assignment to get the values in/out of the union. This changes parts of 3456f9149b3009fcfce80054759d05883d3c4ee5.
| * gallium/util: fix util_color_[un]pack[-ub] to be strict aliasing safeRoland Scheidegger2009-12-071-2/+2
| | | | | | | | | | | | | | | | use pointer to union instead of void pointer. gcc complained a lot, depending what the pointer originally actually was. Looks like it's in fact maybe legal to cast for instance uint pointers to union pointers as long as union contains a uint type, hence use this with some callers, other just use union util_color in the first place.
* | Merge branch 'mesa_7_7_branch'Andre Maasikas2009-12-081-1/+1
|\ \ | | | | | | | | | | | | | | | Conflicts: src/mesa/drivers/dri/r600/r700_assembler.c src/mesa/main/version.h
| * \ Merge branch 'mesa_7_6_branch' into mesa_7_7_branchIan Romanick2009-12-071-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: progs/demos/projtex.c progs/xdemos/glxinfo.c src/mesa/main/version.h To fix the confilicts in projtex.c and glxinfo.c I just took the code from mesa_7_6_branch. The conflicts seem to have occured from cherry-picks from mesa_7_7_branch to mesa_7_6_branch followed by commmits just to mesa_7_6_branch.
| | * | r300g: use $(MAKE) variableColeman Kane2009-12-041-1/+1
| | | | | | | | | | | | | | | | Fixes bug 24501
* | | | r300g: Clean up previous commit.Corbin Simpson2009-12-061-11/+15
| | | | | | | | | | | | | | | | | | | | If *I* can't read it, there's a strong possibility others can't, either.
* | | | r300g: enhance ZTOP conditionsMarek Olšák2009-12-061-6/+31
| | | |
* | | | r300g: don't render if everything is culled by scissoringMarek Olšák2009-12-063-0/+29
| | | | | | | | | | | | | | | | | | | | Otherwise a CS is refused by kernel 2.6.31 (and maybe all later versions, not sure).
* | | | r300g: remove redundant code and clean upMarek Olšák2009-12-063-46/+57
| | | |
* | | | r300g: Need to emit a hardware scissor rectangle even if scissor is disabled.Michel Dänzer2009-12-053-2/+28
| | | | | | | | | | | | | | | | | | | | | | | | Just make it cover the whole framebuffer in that case. Otherwise the kernel CS checker may complain, e.g. running progs/demos/gearbox. That runs fast now here, but doesn't look right yet.
* | | | radeong: flush CS if a buffer being mapped is referenced by itMarek Olšák2009-12-041-2/+0
| | | | | | | | | | | | | | | | Also, overlapping occlusion queries seems to work now.
* | | | r300g, radeong: fix the CS overflowMarek Olšák2009-12-042-2/+9
| | | |
* | | | r300g: fix warningsMarek Olšák2009-12-042-2/+4
| | | |
* | | | Merge branch 'gallium-noblocks'Roland Scheidegger2009-12-043-19/+14
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | Conflicts: src/gallium/state_trackers/xorg/xorg_exa.c
| * | | gallium: adapt drivers to interface cleanupsRoland Scheidegger2009-12-023-19/+14
| | | |
* | | | r300g, radeong: De-specialize r300_winsys into radeon_winsys.Corbin Simpson2009-12-028-86/+23
| | | | | | | | | | | | | | | | There's like five good reasons for this, I swear.
* | | | r300g: No vertex textures here.Corbin Simpson2009-12-021-0/+7
| | | |
* | | | Merge commit 'origin/tgsi-simplify-ext'Keith Whitwell2009-12-011-15/+16
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/r300/r300_vs.c
| * | | | tgsi: rename fields of tgsi_full_src_register to reduce verbosityKeith Whitwell2009-11-241-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SrcRegister -> Register SrcRegisterInd -> Indirect SrcRegisterDim -> Dimension SrcRegisterDimInd -> DimIndirect
| * | | | tgsi: rename fields of tgsi_full_dst_register to reduce verbosityKeith Whitwell2009-11-241-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | DstRegister -> Register DstRegisterInd -> Indirect
| * | | | tgsi: rename fields of tgsi_full_declaration to reduce verbosityKeith Whitwell2009-11-241-4/+4
| | | | | | | | | | | | | | | | | | | | DeclarationRange -> Range
| * | | | tgsi: rename fields of tgsi_full_instruction to avoid excessive verbosityKeith Whitwell2009-11-241-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | InstructionPredicate -> Predicate InstructionLabel -> Label InstructionTexture -> Texture FullSrcRegisters -> Src FullDstRegisters -> Dst
| * | | | tgsi: reduce repetition of structure name in its membersKeith Whitwell2009-11-241-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Rename Semantic.SemanticName to Semantic.Name. Similar for SemanticIndex, and the members of the tgsi_version struct.
| * | | | gallium: try and update r300 and nv drivers for tgsi changesKeith Whitwell2009-11-241-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It would be nice if these drivers built under the linux-debug header so that these types of interface changes can be minimally propogated into those drivers by people without the hardware. They don't have to generate a working driver -- though a command-dumping winsys would be an excellent for regression checking.
* | | | | r300g: simplify allocations of VS output registersMarek Olšák2009-12-011-56/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No need to parse TGSI tokens since it's easier to walk through shader semantics. Also fog coordinates now work reliably.
* | | | | r300g: simplify allocations of FS input registersMarek Olšák2009-12-011-28/+15
| | | | |
* | | | | r300g: clean up derived statesMarek Olšák2009-12-016-229/+311
| | | | | | | | | | | | | | | | | | | | | | | | | The state setups which aren't derived anymore have been moved to the VS and FS objects.
* | | | | r300g: VS->FS attribute routing reworkMarek Olšák2009-12-011-170/+392
| | | | | | | | | | | | | | | | | | | | | | | | | Now it always correctly pairs up VS and FS even if the semantics and indices of VS outputs and FS inputs don't match.
* | | | | r300g: add R300 prefix in reg definitionsMarek Olšák2009-12-011-41/+41
| | | | |
* | | | | r300: Update for renamed sampler/texture state setters.Michal Krol2009-12-011-2/+2
| |/ / / |/| | |
* | | | r300g,llvmpipe: fix some more merge problemsRoland Scheidegger2009-11-271-2/+2
| | | |
* | | | Merge branch 'width0'Roland Scheidegger2009-11-271-27/+21
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/drivers/r300/r300_texture.c src/gallium/state_trackers/xorg/xorg_exa.c src/mesa/state_tracker/st_cb_texture.c
| * | | gallium: fix more statetrackers/drivers for not using texture ↵Roland Scheidegger2009-11-261-27/+21
| |/ / | | | | | | | | | width/height/depth arrays
* | | r300g: use util_bitcount()Brian Paul2009-11-231-17/+2
| | |
* | | r300g: Build fix.Corbin Simpson2009-11-211-1/+1
| | | | | | | | | | | | Oops.
* | | r300g: do not reallocate r300_vertex_info and r300_rs_block all the timeMarek Olšák2009-11-212-24/+20
| | |
* | | r300g: clean up vs/fs tabsMarek Olšák2009-11-212-94/+25
| | | | | | | | | | | | | | | Instead of vs_tab, we use vs_output_tab and it's local now. fs_tab hasn't been used anywhere, so I removed it and r300_update_fs_tab too.
* | | r300g: silence warningsMarek Olšák2009-11-202-2/+4
| | |
* | | r300g: fix typo in r300_reg.h to prevent the RS unit from doing random thingsMarek Olšák2009-11-202-15/+13
| | | | | | | | | | | | | | | | | | And reorder fragment shader inputs so that the colors are before texcoords, as is allocated by the shader compiler. This commit makes VS->FS attribute routing work on R500.
* | | r300g: fix updating a vertex formatMarek Olšák2009-11-202-2/+5
| | | | | | | | | | | | | | | We must update PSC when we change the vertex format, e.g. vertex colors from RGBA to BGRA.
* | | r300g: add texture lod clampingMarek Olšák2009-11-205-5/+23
| | | | | | | | | | | | | | | | | | These now work: piglit/lodclamp piglit/levelclamp
* | | r300g: Begin separating HW TCL and SW TCL state and setup.Corbin Simpson2009-11-206-174/+110
| | | | | | | | | | | | | | | | | | | | | This patch removes draw_context entirely from the HW TCL path and cleans up a few other things along the way. Hopefully, nothing got broken. Thanks to Marek Olšák for testing, review, and pointing out my bugs. :3
* | | r300g: emit R300_TEX_ENABLE to indicate there are no textures boundMarek Olšák2009-11-202-2/+15
| | | | | | | | | | | | Previously, this reg wasn't emitted at all if texture_count == 0.
* | | r300g: remove variant states from emit_state_invariantMarek Olšák2009-11-201-3/+1
| | |
* | | r300g: Texrect factor cleanup.Corbin Simpson2009-11-201-10/+14
| | | | | | | | | | | | | | | (0, 0, 0, 1) is a much saner default value, and texrect factors only need to be (1/s, 1/t, 0, 1).