summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* mesa: Assert that array index is not negative.Vinson Lee2010-02-231-0/+1
|
* glsl/apps: Assert that ftell does not return an error.Vinson Lee2010-02-225-0/+6
|
* 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
|
* st/mesa: change viewport Z scale/bias for glBitmap/glDrawPixelsBrian Paul2010-02-222-4/+10
| | | | | | | This fixes incorrect Z position of glBitmap, glDraw/CopyPixels for the svga driver. Now we use 0.5, 0.5 as is typical for ordinary 3D rendering. (cherry picked from commit bcd561c66777e58dbb29a573c4d2279772bac6c5)
* st/mesa: Add checks for ST_SURFACE_x vs MESA_BUFFER_xBrian Paul2010-02-222-1/+9
| | | | | | | The ST_SURFACE_x values should match the Mesa BUFFER_x values. Added some assertions to prevent future mix-ups. (cherry picked from commit 13cbb5fff68ef8831230638e9f0b29a217750e9d)
* mesa/st: Make ST_SURFACE_DEPTH index consistent with mesa's BUFFER_DEPTH.Brian Paul2010-02-221-1/+1
| | | | | | Some st functions assume that they are identical. (cherry picked from commit 9d17ad2891b58de9e33e943ff918a678c6a3c2bd)
* intel: assert that we do not overflow the batch buffer.Chris Wilson2010-02-221-1/+2
| | | | Signed-off-by: Chris Wilson <[email protected]>
* i915: Fix logic !gen >= 3Chris Wilson2010-02-221-1/+1
| | | | | | | The effect of this was that all objects were aligned to 128 bytes on all generations, rather than just gen2. Signed-off-by: Chris Wilson <[email protected]>
* i915: Remove superfluous MI_NOOP from vertex emissionChris Wilson2010-02-221-2/+1
| | | | Signed-off-by: Chris Wilson <[email protected]>
* intel: Check that we have a bufmgr or bail out when initializing the context.Chris Wilson2010-02-221-0/+4
| | | | Signed-off-by: Chris Wilson <[email protected]>
* 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
|
* st/mesa: Fix memory leak on out-of-memory error path.Vinson Lee2010-02-211-1/+3
|
* 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.
* mesa: Add assert to check for null pointer dereference.Vinson Lee2010-02-211-2/+6
|
* 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.
* glsl/cl: Prevent possible buffer overflow.Vinson Lee2010-02-211-1/+2
|
* 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.
* radeon: Silence compiler format warning.Vinson Lee2010-02-201-1/+1
|
* glsl/cl: Prevent possible string overflow.Vinson Lee2010-02-201-1/+2
|
* 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.