summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* cell: perform triangle cull a little earlierJonathan Adamczewski2009-05-211-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 Adamczewski2009-05-213-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 Simpson2009-05-201-1/+27
| | | | I feel so unclean.
* r300-gallium: r500-fs: LRP.Corbin Simpson2009-05-201-4/+32
| | | | Goddammit. This cannot be the "easy way." :C
* r300-gallium: r500-fs: Combine function.Corbin Simpson2009-05-201-15/+6
|
* r300-gallium: Prevent assert when fogcoords are present.Corbin Simpson2009-05-202-5/+14
| | | | Seems like this file is the source of all bad logic. (Pun intended.)
* r300-gallium: Another constantbuf shader recompile test.Corbin Simpson2009-05-204-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 Simpson2009-05-201-3/+3
| | | | Still not correct, but really I don't care.
* r300-gallium: fs: Remove cruft from way back when.Corbin Simpson2009-05-201-18/+0
|
* radeon-gallium: Add surface_buffer_create callback.Corbin Simpson2009-05-201-1/+25
|
* r300-gallium: Make surface_copy actually load the texture in shader.Corbin Simpson2009-05-203-3/+4
|
* r300-gallium: Add missing R481 PCI ID.Corbin Simpson2009-05-201-0/+1
| | | | Per 74cb2aba on xf86-video-ati.
* r300-gallium: Make surface_copy work, and refactor buffer validation.Corbin Simpson2009-05-202-16/+47
|
* radeon-gallium: Don't permit reading and writing a BO in one CS.Corbin Simpson2009-05-202-3/+20
| | | | | | This fixes some silent problems in current libdrm_radeon. surface_copy still locks up hard.
* trace: Improve shader wrappingJakob Bornecrantz2009-05-183-4/+29
|
* st/dri: Only create new textures if drawable has changedJakob Bornecrantz2009-05-182-0/+17
|
* r300-gallium: Fix (another) wrong value in MSPOS.Corbin Simpson2009-05-181-1/+1
| | | | Again, thanks to agd5f.
* radeon-gallium: Remove BO validation debug.Corbin Simpson2009-05-181-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 Simpson2009-05-181-36/+28
|
* r300-gallium: Always do VTE, never software viewport.Corbin Simpson2009-05-184-4/+27
| | | | This makes glxgears draw properly with SW TCL.
* Merge branch 'mesa_7_5_branch'Brian Paul2009-05-181-0/+5
|\ | | | | | | | | | | | | Conflicts: Makefile src/mesa/main/version.h
| * softpipe: add texture target sanity check assertionBrian Paul2009-05-181-0/+5
| |
* | r300-gallium: Enable GLSL for r500.Corbin Simpson2009-05-171-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 Simpson2009-05-171-0/+10
| | | | | | | | Oh, look, GLSL instructions. I wonder what I'll do next.
* | dri-gallium: Add GLSL support.Corbin Simpson2009-05-171-1/+10
| | | | | | | | Oh, look, it's more features. :3
* | r300-gallium: Add half-right COS and SIN.Corbin Simpson2009-05-171-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 Simpson2009-05-171-1/+1
| |
* | r300-gallium, radeon-gallium: Nuke gb_pipes from orbit.Corbin Simpson2009-05-177-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 Simpson2009-05-171-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 Simpson2009-05-172-24/+13
| | | | | | | | GA_ENHANCE is now the kernel's problem.
* | r300-gallium: Update XXX.Corbin Simpson2009-05-172-20/+3
| | | | | | | | Lops work fine as long as HW TCL is off. (I think I know why.)
* | r300-gallium: Correct default MSPOS.Corbin Simpson2009-05-171-2/+2
| | | | | | | | Per agd5f.
* | r300-gallium: vs: Fix vert shader init.Corbin Simpson2009-05-171-15/+4
| | | | | | | | Makes the last three commits suck much less. :3
* | r300-gallium: r500-fs: Enable depth writes, kinda.Corbin Simpson2009-05-172-4/+31
| | | | | | | | Should work, but doesn't. Hm.
* | r300-gallium: Comment out useless debugging code.Corbin Simpson2009-05-171-12/+12
| | | | | | | | Those parts are nearly solid compared to the shaders.
* | r300-gallium: vs: Dupe tokens, better debug, count spurious insts.Corbin Simpson2009-05-173-6/+23
| |
* | r300-gallium: Die on bad texture formats.Corbin Simpson2009-05-161-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 Simpson2009-05-161-6/+9
| | | | | | | | Even though we *can* render 10,000-pixel-wide lines, let's not advertise it.
* | r300-gallium: Update screen caps.Corbin Simpson2009-05-161-4/+3
| | | | | | | | Anisotropic filtering should work, and OQ is broken.
* | intel-gallium: Fix trace_drm integration.Corbin Simpson2009-05-161-144/+5
| | | | | | | | Compile-tested only, sorry.
* | Create common trace_drm code, add to radeon_winsys.Corbin Simpson2009-05-164-0/+175
| |
* | r300-gallium: Various cleanups leftover from before.Corbin Simpson2009-05-163-3/+8
| | | | | | | | BEGIN/END_CS pair, a few asserts, and a slightly more correct VTE setup.
* | gallium: remove occlusion_count flag from depth-stencil stateKeith Whitwell2009-05-164-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 driverJakob Bornecrantz2009-05-163-0/+147
| |
* | trace: Export enabled statusJakob Bornecrantz2009-05-164-9/+25
| |
* | trace: Unwrap buffer in texture_blanketJakob Bornecrantz2009-05-161-1/+3
| |
* | trace: If either shader is disabled don't drawJakob Bornecrantz2009-05-162-0/+19
| |
* | trace: Put shaders on a list in the contextJakob Bornecrantz2009-05-166-8/+151
| |
* | trace: Move state dump functions to tr_dump_state.[c|h]Jakob Bornecrantz2009-05-166-7/+7
| |
* | gallium-intel: Build with sconsJakob Bornecrantz2009-05-153-0/+39
| |