Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | cell: perform triangle cull a little earlier | Jonathan Adamczewski | 2009-05-21 | 1 | -31/+74 |
| | | | | | | | | | | In spu_tri.c:setup_sort_vertices() triangles are culled after the vertices are sorted. This patch moves the check a little earlier and performs the actual check a little faster through intrinsics and a little trickery. Reduced code size and less work is done before a triangle is deemed OK to skip. | ||||
* | cell: unroll inner loop of spu_render.c:cmd_render() | Jonathan Adamczewski | 2009-05-21 | 3 | -32/+89 |
| | | | | | | | | | | | | | | | It was taking approximately 50 cycles to extract the vertex indices, calculate the vertex_header pointers and call tri_draw() for each three vertices - . Unrolled, it takes less than 100 cycles to extract, unpack, calculate pointers and call tri_draw() eight times. It does have a nasty jump-tabled switch. I'm sure that there's a better way... Code size of spu_render.o gets larger due to the extra constants and work in the inner loop, there are extra stack saves and loads because there are more registers in use, and an assert. spu_tri.o gets a little smaller. | ||||
* | r300-gallium: r500-fs: POW. | Corbin Simpson | 2009-05-20 | 1 | -1/+27 |
| | | | | I feel so unclean. | ||||
* | r300-gallium: r500-fs: LRP. | Corbin Simpson | 2009-05-20 | 1 | -4/+32 |
| | | | | Goddammit. This cannot be the "easy way." :C | ||||
* | r300-gallium: r500-fs: Combine function. | Corbin Simpson | 2009-05-20 | 1 | -15/+6 |
| | |||||
* | r300-gallium: Prevent assert when fogcoords are present. | Corbin Simpson | 2009-05-20 | 2 | -5/+14 |
| | | | | Seems like this file is the source of all bad logic. (Pun intended.) | ||||
* | r300-gallium: Another constantbuf shader recompile test. | Corbin Simpson | 2009-05-20 | 4 | -2/+14 |
| | | | | | | | Less briefly... Shaders need to be recompiled if their constantbuf offsets have changed. However, since we only change them from shaders if immediates need to be emitted, we shouldn't bother if the shader doesn't use immediates. | ||||
* | r300-gallium: Raise constantbuf limits. | Corbin Simpson | 2009-05-20 | 1 | -3/+3 |
| | | | | Still not correct, but really I don't care. | ||||
* | r300-gallium: fs: Remove cruft from way back when. | Corbin Simpson | 2009-05-20 | 1 | -18/+0 |
| | |||||
* | radeon-gallium: Add surface_buffer_create callback. | Corbin Simpson | 2009-05-20 | 1 | -1/+25 |
| | |||||
* | r300-gallium: Make surface_copy actually load the texture in shader. | Corbin Simpson | 2009-05-20 | 3 | -3/+4 |
| | |||||
* | r300-gallium: Add missing R481 PCI ID. | Corbin Simpson | 2009-05-20 | 1 | -0/+1 |
| | | | | Per 74cb2aba on xf86-video-ati. | ||||
* | r300-gallium: Make surface_copy work, and refactor buffer validation. | Corbin Simpson | 2009-05-20 | 2 | -16/+47 |
| | |||||
* | radeon-gallium: Don't permit reading and writing a BO in one CS. | Corbin Simpson | 2009-05-20 | 2 | -3/+20 |
| | | | | | | This fixes some silent problems in current libdrm_radeon. surface_copy still locks up hard. | ||||
* | trace: Improve shader wrapping | Jakob Bornecrantz | 2009-05-18 | 3 | -4/+29 |
| | |||||
* | st/dri: Only create new textures if drawable has changed | Jakob Bornecrantz | 2009-05-18 | 2 | -0/+17 |
| | |||||
* | r300-gallium: Fix (another) wrong value in MSPOS. | Corbin Simpson | 2009-05-18 | 1 | -1/+1 |
| | | | | Again, thanks to agd5f. | ||||
* | radeon-gallium: Remove BO validation debug. | Corbin Simpson | 2009-05-18 | 1 | -4/+0 |
| | | | | | It appears that that area of code "just works" much like classic Mesa's version, so might as well not waste scrollback on it. | ||||
* | r300-gallium: Cleanup viewport state setup. | Corbin Simpson | 2009-05-18 | 1 | -36/+28 |
| | |||||
* | r300-gallium: Always do VTE, never software viewport. | Corbin Simpson | 2009-05-18 | 4 | -4/+27 |
| | | | | This makes glxgears draw properly with SW TCL. | ||||
* | Merge branch 'mesa_7_5_branch' | Brian Paul | 2009-05-18 | 1 | -0/+5 |
|\ | | | | | | | | | | | | | Conflicts: Makefile src/mesa/main/version.h | ||||
| * | softpipe: add texture target sanity check assertion | Brian Paul | 2009-05-18 | 1 | -0/+5 |
| | | |||||
* | | r300-gallium: Enable GLSL for r500. | Corbin Simpson | 2009-05-17 | 1 | -2/+5 |
| | | | | | | | | | | | | Before you get all excited, this is *not* to be construed as actual support for GLSL shaders. The GL version is still 1.3, and stuff still sucks. Just flicking it on so that it can be tested and developed a bit easier. | ||||
* | | r300-gallium: r500-fs: DDX and DDY support. | Corbin Simpson | 2009-05-17 | 1 | -0/+10 |
| | | | | | | | | Oh, look, GLSL instructions. I wonder what I'll do next. | ||||
* | | dri-gallium: Add GLSL support. | Corbin Simpson | 2009-05-17 | 1 | -1/+10 |
| | | | | | | | | Oh, look, it's more features. :3 | ||||
* | | r300-gallium: Add half-right COS and SIN. | Corbin Simpson | 2009-05-17 | 1 | -0/+9 |
| | | | | | | | | | | HW trig does a premultiply by 2pi, where Mesa does another premultiply by pi. This is a problem. | ||||
* | | r300-gallium: Size mismatch. | Corbin Simpson | 2009-05-17 | 1 | -1/+1 |
| | | |||||
* | | r300-gallium, radeon-gallium: Nuke gb_pipes from orbit. | Corbin Simpson | 2009-05-17 | 7 | -49/+2 |
| | | | | | | | | | | See the previous commit for an explanation. This is just all the support code for GB_TILE_CONFIG. | ||||
* | | r300-gallium: Don't set GB_TILE_CONFIG (in userspace.) | Corbin Simpson | 2009-05-17 | 1 | -4/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | This accompanies kernel patches that make GB_TILE_CONFIG's various members completely controlled in DRM. GB_TILE_CONFIG has the following controls: - The number of GB (pixel) pipes enabled - The size and style of tiling - Subpixel precision (either 1/12 or 1/16) Per airlied and glisse, userspace and kernel will now agree (always) on a subpixel precision of 1/12, and tiling will always be kernel-controlled. | ||||
* | | r300-gallium: Clean up more invariant state. | Corbin Simpson | 2009-05-17 | 2 | -24/+13 |
| | | | | | | | | GA_ENHANCE is now the kernel's problem. | ||||
* | | r300-gallium: Update XXX. | Corbin Simpson | 2009-05-17 | 2 | -20/+3 |
| | | | | | | | | Lops work fine as long as HW TCL is off. (I think I know why.) | ||||
* | | r300-gallium: Correct default MSPOS. | Corbin Simpson | 2009-05-17 | 1 | -2/+2 |
| | | | | | | | | Per agd5f. | ||||
* | | r300-gallium: vs: Fix vert shader init. | Corbin Simpson | 2009-05-17 | 1 | -15/+4 |
| | | | | | | | | Makes the last three commits suck much less. :3 | ||||
* | | r300-gallium: r500-fs: Enable depth writes, kinda. | Corbin Simpson | 2009-05-17 | 2 | -4/+31 |
| | | | | | | | | Should work, but doesn't. Hm. | ||||
* | | r300-gallium: Comment out useless debugging code. | Corbin Simpson | 2009-05-17 | 1 | -12/+12 |
| | | | | | | | | Those parts are nearly solid compared to the shaders. | ||||
* | | r300-gallium: vs: Dupe tokens, better debug, count spurious insts. | Corbin Simpson | 2009-05-17 | 3 | -6/+23 |
| | | |||||
* | | r300-gallium: Die on bad texture formats. | Corbin Simpson | 2009-05-16 | 1 | -2/+9 |
| | | | | | | | | | | Odds are good that we'll die later anyway, so we might as well do it before we start dancing on random memory. | ||||
* | | r300-gallium: Update floating-point params too. | Corbin Simpson | 2009-05-16 | 1 | -6/+9 |
| | | | | | | | | Even though we *can* render 10,000-pixel-wide lines, let's not advertise it. | ||||
* | | r300-gallium: Update screen caps. | Corbin Simpson | 2009-05-16 | 1 | -4/+3 |
| | | | | | | | | Anisotropic filtering should work, and OQ is broken. | ||||
* | | intel-gallium: Fix trace_drm integration. | Corbin Simpson | 2009-05-16 | 1 | -144/+5 |
| | | | | | | | | Compile-tested only, sorry. | ||||
* | | Create common trace_drm code, add to radeon_winsys. | Corbin Simpson | 2009-05-16 | 4 | -0/+175 |
| | | |||||
* | | r300-gallium: Various cleanups leftover from before. | Corbin Simpson | 2009-05-16 | 3 | -3/+8 |
| | | | | | | | | BEGIN/END_CS pair, a few asserts, and a slightly more correct VTE setup. | ||||
* | | gallium: remove occlusion_count flag from depth-stencil state | Keith Whitwell | 2009-05-16 | 4 | -2/+7 |
| | | | | | | | | | | | | | | | | | | Drivers can just keep track of whether they are within a query by monitoring the begin/end query callbacks. The flag adds no information beyond that. Only softpipe was examining this flag -- it has been fixed up and retested with demos/arbocclude. | ||||
* | | gallium-intel: Enable trace driver | Jakob Bornecrantz | 2009-05-16 | 3 | -0/+147 |
| | | |||||
* | | trace: Export enabled status | Jakob Bornecrantz | 2009-05-16 | 4 | -9/+25 |
| | | |||||
* | | trace: Unwrap buffer in texture_blanket | Jakob Bornecrantz | 2009-05-16 | 1 | -1/+3 |
| | | |||||
* | | trace: If either shader is disabled don't draw | Jakob Bornecrantz | 2009-05-16 | 2 | -0/+19 |
| | | |||||
* | | trace: Put shaders on a list in the context | Jakob Bornecrantz | 2009-05-16 | 6 | -8/+151 |
| | | |||||
* | | trace: Move state dump functions to tr_dump_state.[c|h] | Jakob Bornecrantz | 2009-05-16 | 6 | -7/+7 |
| | | |||||
* | | gallium-intel: Build with scons | Jakob Bornecrantz | 2009-05-15 | 3 | -0/+39 |
| | |