summaryrefslogtreecommitdiffstats
path: root/src/gallium
Commit message (Collapse)AuthorAgeFilesLines
* pipebuffer: slab: if size < alignment, use alignment to find bucketLuca Barbieri2010-02-231-1/+5
| | | | | | | | | | If the size is lower than the alignment, we must use the alignment to select the bucket. Otherwise, the selected bucket won't be able to satisfy our request and will fail. Signed-off-by: José Fonseca <[email protected]>
* pipebuffer: fix inverted signalled checkingLuca Barbieri2010-02-231-1/+1
| | | | | | A return of 0 means the fence is signalled. Signed-off-by: José Fonseca <[email protected]>
* pipebuffer: avoid assert due to increasing a zeroed refcntLuca Barbieri2010-02-231-1/+1
| | | | | | | | The cache manager stores buffers with a reference count that dropped to 0. pipe_reference asserts in this case on debug builds, so use pipe_reference_init instead. Signed-off-by: José Fonseca <[email protected]>
* st/egl: Unify surface creation.Chia-I Wu2010-02-231-107/+97
| | | | | Add a new function egl_g3d_create_surface and use it to create window, pixmap, buffer, and screen surfaces.
* i965g: Add fallthrough comments in switch statement.Vinson Lee2010-02-221-3/+3
| | | | Silences warnings about missing break statements in static analysis.
* draw: Remove dead code.Vinson Lee2010-02-221-7/+1
|
* 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.
* tgsi: Report an error when a destination has an empty writemask.José Fonseca2010-02-221-0/+3
|
* 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.
* pipebuffer: Don't synchronize when checking for buffer overflows.José Fonseca2010-02-221-1/+3
| | | | To avoid masking synchronization issues in debug builds.
* 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-2223-1247/+347
| | | | | | | | | | 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-2223-347/+1247
| | | | | | | | | | | | | 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.
* draw: Remove dead code.Vinson Lee2010-02-211-7/+1
|
* 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
|
* st/egl: Disable SHM in ximage backend.Chia-I Wu2010-02-211-3/+10
| | | | | | With pipe_screen::update_buffer being called in st_validate_state, it is likely that softpipe will flush tile caches to a detached SHM segment. Disable SHM for now until a better solution is found.
* st/egl: Properly convert vrefresh to refresh rate.Chia-I Wu2010-02-211-1/+4
| | | | | Some kernels have vrefresh = (refresh rate * 1000) while others don't. Use some heuristics here.
* st/egl: Enable extensions before adding configs.Chia-I Wu2010-02-211-6/+6
| | | | | | | Configs are validated before added. The validation depends on the extensions available. If configs are added before enabling extensions, configs with EGL_SCREEN_SURFACE_MESA bit set will never pass the validation for example.
* st/egl: Do not force validate when update_buffer is called.Chia-I Wu2010-02-211-6/+0
| | | | | st/mesa was changed to call pipe_screen::update_buffer in st_validate_state. In most cases there is no need to validate.
* st/egl: Clean up DRI2 surface.Chia-I Wu2010-02-211-130/+182
| | | | | Mainly to move the call to DRI2GetBuffers from dri2_surface_validate to the new dri2_surface_update_buffers.
* st/egl: Clean up ximage surface.Chia-I Wu2010-02-211-61/+109
| | | | | Mainly to move buffer allocation code from ximage_surface_validate to the new ximage_surface_update_buffers.
* st/xlib: Add assert to check for null pointer dereference.Vinson Lee2010-02-201-0/+1
|
* tgsi: ifdef out unused function micro_sqrt.Vinson Lee2010-02-201-0/+2
|
* r300g: fix rendering into the L8 and A8 texture formatsMarek Olšák2010-02-191-2/+2
| | | | RB3D_COLORPITCH.COLORFORMAT.I8 stores the C2 component.
* tgsi: Make more exec opcodes look pretty.Michal Krol2010-02-191-64/+20
|
* tgsi: Change prototypes of micro opcodes to explicitly indicates number of args.Michal Krol2010-02-191-164/+206
|
* tgsi: Rewrite exec implementations of NRM and NRM4.Michal Krol2010-02-191-61/+70
|
* Replace the _mesa_*printf() wrappers with the plain libc versionsKristian Høgsberg2010-02-194-10/+10
|
* Replace _mesa_malloc, _mesa_calloc and _mesa_free with plain libc versionsKristian Høgsberg2010-02-192-16/+16
|