summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
AgeCommit message (Collapse)Author
2010-02-22svga: Fix the guest offset of piecewise buffer DMAs.José Fonseca
It was being erroneously set equal to the host offset, but it should be zero.
2010-02-22svga: Emit a scalar rcp in shadow maps.José Fonseca
Small improvement in Lightsmark 2008.
2010-02-22svga: Don't emit zero writemasks.José Fonseca
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.
2010-02-22svga: Upload the dirty ranges instead of the whole buffer.José Fonseca
2010-02-22svga: Break uploads of big buffers into smaller pieces.José Fonseca
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.
2010-02-22svga: Note ranges even when there is no hardware buffer around.José Fonseca
Not having a hardware buffer around doesn't change the fact that the range is dirty and needs to be uploaded eventually.
2010-02-22svga: Further cleanup/comment svga buffer code.José Fonseca
Just cosmetic changes -- no behavior change.
2010-02-22svga: Temporarily create a sw vertex buf when failed to create a hw buf.José Fonseca
Many apps don't check the return of map buffer so it is better not to fail.
2010-02-22svga: Remove unused buffer download code.José Fonseca
Unnecessary now that we never destroy buffer storage.
2010-02-22svga: Prevent buffer overflow in buffer ranges.José Fonseca
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.
2010-02-22svga: Fix PIPE_LOGICOP_INVERT.José Fonseca
Actually the current XOR implementation is an INVERT. This fixes rectangle selection in Maya.
2010-02-22i965g: added missing texture cap queriesBrian Paul
2010-02-22i915g: added missing texture cap queriesBrian Paul
2010-02-22Revert "r300g: rebuild winsys/pipe buffer handling and add buffer map"Dave Airlie
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 <airlied@redhat.com>
2010-02-22r300g: rebuild winsys/pipe buffer handling and add buffer mapDave Airlie
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 <airlied@redhat.com>
2010-02-22r3OOg: support rendering of more than 65535 vertices per draw call (almost)Marek Olšák
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.
2010-02-21i965g: Fix memory leak.Vinson Lee
2010-02-21r300g: Remove unnecessary header.Vinson Lee
2010-02-21r300g: precompute framebuffer register valuesMarek Olšák
2010-02-21r300g: add all missing colorbuffer formatsMarek Olšák
2010-02-21r300g: make r300_translate_texformat privateMarek Olšák
Unlikely to increase performance from inlining. And partially expose it through r300_is_sampler_format_supported.
2010-02-21r300g: re-enable SRGB formatsMarek Olšák
Ouch.
2010-02-21i965g: Remove dead code.Vinson Lee
2010-02-21i965g: Fix assertions that were always true.Vinson Lee
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.
2010-02-21i965g: Fix use of out-of-scope variable.Vinson Lee
2010-02-19r300g: fix rendering into the L8 and A8 texture formatsMarek Olšák
RB3D_COLORPITCH.COLORFORMAT.I8 stores the C2 component.
2010-02-19Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg
2010-02-19Revert "r300g: remove L8_UNORM from colorbuffer formats"Corbin Simpson
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.
2010-02-19r300g: remove L8_UNORM from colorbuffer formatsMarek Olšák
Not renderable in OpenGL anyway.
2010-02-18softpipe: fix depth testing problemsBrian Paul
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)
2010-02-18softpipe: comments and whitespace fixesBrian Paul
2010-02-18softpipe: const qualifiers, commentsBrian Paul
2010-02-18identity: Propagate api->name and api->driver_name upJakob Bornecrantz
2010-02-18trace: Propagate api->name upJakob Bornecrantz
2010-02-17svga: Silence uninitialized variable warnings.Vinson Lee
2010-02-18r300g: add support for all missing non-FP sampler formatsMarek Olšák
The idea is to directly parse the format description in r300_translate_texformat and return ~0 if the format is unsupported.
2010-02-17llvmpipe: use ffs technique for full tiles alsoKeith Whitwell
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
2010-02-17llvmpipe: rework do_block_16 to use bitmasks and ffsKeith Whitwell
Some nice speedups: gears: 547 -> 597 isosurf: 83 -> 98 Others like gloss unchanged. Could do further work in this direction.
2010-02-16nv40: Fix incorrect so_new() numbering.Francisco Jerez
2010-02-16nv40: Implement PIPE_CAP_MAX_COMBINED_SAMPLERS.Francisco Jerez
2010-02-16nv50: use hw idx buffers where we canBen Skeggs
2010-02-16nouveau: fix for latest libdrmBen Skeggs
2010-02-15r300g: fix the size of constant buffersMarek Olšák
4 more piglit tests pass, sweet.
2010-02-15trace: Dump blend state as a binary blob.José Fonseca
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.
2010-02-15trace: Fix constant buffer unwrapping.José Fonseca
Pointer unwrapping should happen before dump the pointer, so that the real pipe driver pointers are shown, instead of the trace driver's.
2010-02-14trace: No need to dump reference counts.José Fonseca
2010-02-14trace: Update for os_stream changes.José Fonseca
2010-02-14llvmpipe: Silence unused value warning.Vinson Lee
2010-02-14svga: Silence uninitialized variable warning.Vinson Lee
2010-02-14r300: add half_float_vertex supportMarek Olšák