summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* gallium/draw: initial code to properly support llvm in the draw moduleZack Rusin2010-02-221-2/+4
| | | | | code generate big chunks of the vertex pipeline in order to speed up software vertex processing.
* r300g: fix draw_elements for "start" != 0Marek Olšák2010-02-231-7/+2
| | | | Reported-by: Andre Maasikas <[email protected]>
* svga: Upload user buffers only once.José Fonseca2010-02-224-29/+46
|
* svga: Fix the guest offset of piecewise buffer DMAs.José Fonseca2010-02-223-7/+9
| | | | | It was being erroneously set equal to the host offset, but it should be zero.
* svga: Emit a scalar rcp in shadow maps.José Fonseca2010-02-221-4/+4
| | | | Small improvement in Lightsmark 2008.
* svga: Don't emit zero writemasks.José Fonseca2010-02-222-28/+39
| | | | | | | | This fixes a regression with Lightsmark, where more compact TGSI from Mesa was causing a zero mask MOV to be emitted for shadow map compare, causing problems in some backends. Add a few more assertions to catch cases like this.
* svga: Upload the dirty ranges instead of the whole buffer.José Fonseca2010-02-221-45/+48
|
* svga: Break uploads of big buffers into smaller pieces.José Fonseca2010-02-222-22/+147
| | | | | | Fixes crash in Homeworld2 which tries to create a 14MB buffer, because we now avoid creating GMR buffers larger than 8MB to ensure progress given we have only a 16MB pool.
* svga: Note ranges even when there is no hardware buffer around.José Fonseca2010-02-221-5/+2
| | | | | Not having a hardware buffer around doesn't change the fact that the range is dirty and needs to be uploaded eventually.
* svga: Further cleanup/comment svga buffer code.José Fonseca2010-02-222-112/+142
| | | | Just cosmetic changes -- no behavior change.
* svga: Temporarily create a sw vertex buf when failed to create a hw buf.José Fonseca2010-02-221-7/+20
| | | | | Many apps don't check the return of map buffer so it is better not to fail.
* svga: Remove unused buffer download code.José Fonseca2010-02-222-45/+0
| | | | Unnecessary now that we never destroy buffer storage.
* svga: Prevent buffer overflow in buffer ranges.José Fonseca2010-02-221-8/+54
| | | | | | | Do this by extending the nearest range to cover the new range. This fixes an access fault in Call of Duty which was doing many disjoint glBufferSubData calls.
* svga: Fix PIPE_LOGICOP_INVERT.José Fonseca2010-02-221-6/+1
| | | | | | Actually the current XOR implementation is an INVERT. This fixes rectangle selection in Maya.
* i965g: added missing texture cap queriesBrian Paul2010-02-221-0/+4
|
* i915g: added missing texture cap queriesBrian Paul2010-02-221-0/+4
|
* Revert "r300g: rebuild winsys/pipe buffer handling and add buffer map"Dave Airlie2010-02-2214-600/+101
| | | | | | | | | | This reverts commit fff5be8e7b4557c221f2425dcafc2e7cbbba76ba. Probably went too soon with this, dileX reported OA not working for him it works here fine, but the optimisations I wanted aren't working properly yet so I'll fix that now. Signed-off-by: Dave Airlie <[email protected]>
* r300g: rebuild winsys/pipe buffer handling and add buffer mapDave Airlie2010-02-2214-101/+600
| | | | | | | | | | | | | This creates a cleaner winsys and drop the simple screen stuff. It makes r300g use pb_bufmgr structs and adds usage of the cached bufmgr for vertex/index buffers. It also avoids mapping too often. I'm not 100% sure this is perfect but it won't find its own bugs. Signed-off-by: Dave Airlie <[email protected]>
* r3OOg: support rendering of more than 65535 vertices per draw call (almost)Marek Olšák2010-02-222-29/+83
| | | | | | | | | | The path for VAP_ALT_NUM_VERTICES is also in place (and tested) but not enabled by default due to the missing support of this reg in the upstream kernel. Also, a non-zero BUFFER_BASE in the INDX_BUFFER packet3 hangs the machine. Am I missing something? Because of this, only draw_arrays can render more than 65535 vertices without the use of VAP_ALT_NUM_VERTICES.
* i965g: Fix memory leak.Vinson Lee2010-02-211-1/+2
|
* r300g: Remove unnecessary header.Vinson Lee2010-02-211-1/+0
|
* r300g: precompute framebuffer register valuesMarek Olšák2010-02-216-220/+250
|
* r300g: add all missing colorbuffer formatsMarek Olšák2010-02-212-83/+165
|
* r300g: make r300_translate_texformat privateMarek Olšák2010-02-213-235/+246
| | | | | | Unlikely to increase performance from inlining. And partially expose it through r300_is_sampler_format_supported.
* r300g: re-enable SRGB formatsMarek Olšák2010-02-211-1/+2
| | | | Ouch.
* i965g: Remove dead code.Vinson Lee2010-02-211-2/+0
|
* i965g: Fix assertions that were always true.Vinson Lee2010-02-211-4/+10
| | | | | | | | | The surface_format field is 9 bits wide which has a maximum value of 511. BRW_SURFACEFORMAT_INVALID has a value of 4095 which exceeds the width of the surface_format field. This patch asserts that the format is not BRW_SURFACEFORMAT_INVALID before assignment to the surface_format field.
* i965g: Fix use of out-of-scope variable.Vinson Lee2010-02-211-8/+7
|
* r300g: fix rendering into the L8 and A8 texture formatsMarek Olšák2010-02-191-2/+2
| | | | RB3D_COLORPITCH.COLORFORMAT.I8 stores the C2 component.
* Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg2010-02-191-1/+1
|
* Revert "r300g: remove L8_UNORM from colorbuffer formats"Corbin Simpson2010-02-191-0/+1
| | | | | | | | This reverts commit fc427d23439a2702068209957f08990ea29fe21b. At least xorg uses this, and just because something is not used in OpenGL is *never* a valid reason to remove functionality from Gallium. If something lacks a test, go add a test, don't remove features.
* r300g: remove L8_UNORM from colorbuffer formatsMarek Olšák2010-02-191-1/+0
| | | | Not renderable in OpenGL anyway.
* softpipe: fix depth testing problemsBrian Paul2010-02-181-36/+53
| | | | | | | | | | | | | The optimized Z-test functions assumed that the array of incoming quads are adjacent, but that's not always true. The fragment shader can cull intermediate quads, for example. Now these Z-test functions can cope with non-adjacent quads. A little bit of performance is probably lost, but it's probably not worth worring about. This fixes broken glBitmap() Z testing, among other things. (cherry picked from commit d437d905e6924ebc05ec9efe87e1e2c48d75bc13)
* softpipe: comments and whitespace fixesBrian Paul2010-02-181-7/+8
|
* softpipe: const qualifiers, commentsBrian Paul2010-02-181-3/+3
|
* identity: Propagate api->name and api->driver_name upJakob Bornecrantz2010-02-181-0/+2
|
* trace: Propagate api->name upJakob Bornecrantz2010-02-181-0/+1
|
* svga: Silence uninitialized variable warnings.Vinson Lee2010-02-171-0/+6
|
* r300g: add support for all missing non-FP sampler formatsMarek Olšák2010-02-183-124/+234
| | | | | The idea is to directly parse the format description in r300_translate_texformat and return ~0 if the format is unsupported.
* llvmpipe: use ffs technique for full tiles alsoKeith Whitwell2010-02-171-45/+70
| | | | | | | | Need to compute two masks here for full and partial 16x16 blocks. Gives a further good improvement for isosurf particularly: isosurf 97 -> 108 gears 597 -> 611
* llvmpipe: rework do_block_16 to use bitmasks and ffsKeith Whitwell2010-02-171-27/+41
| | | | | | | | Some nice speedups: gears: 547 -> 597 isosurf: 83 -> 98 Others like gloss unchanged. Could do further work in this direction.
* nv40: Fix incorrect so_new() numbering.Francisco Jerez2010-02-161-1/+1
|
* nv40: Implement PIPE_CAP_MAX_COMBINED_SAMPLERS.Francisco Jerez2010-02-161-0/+2
|
* nv50: use hw idx buffers where we canBen Skeggs2010-02-162-8/+27
|
* nouveau: fix for latest libdrmBen Skeggs2010-02-161-5/+1
|
* r300g: fix the size of constant buffersMarek Olšák2010-02-153-2/+34
| | | | 4 more piglit tests pass, sweet.
* trace: Dump blend state as a binary blob.José Fonseca2010-02-151-37/+1
| | | | | | | | | | Gallium interfaces are too fluid -- XML or not is just too much work trying to accommodate for differences in traces. SWIG generated bindings are also full of quirks, making unmarshalling the XML from too hard. Finally, this is the first step for faster tracing.
* trace: Fix constant buffer unwrapping.José Fonseca2010-02-151-9/+4
| | | | | Pointer unwrapping should happen before dump the pointer, so that the real pipe driver pointers are shown, instead of the trace driver's.
* trace: No need to dump reference counts.José Fonseca2010-02-141-13/+0
|
* trace: Update for os_stream changes.José Fonseca2010-02-141-1/+1
|