summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* nvfx: add NOUVEAU_VTXIDX_IN_VRAM variable to put vertex/index buffers in VRAMLuca Barbieri2010-03-233-1/+33
| | | | | | | | | | | | On some systems, putting vertex and index buffers in VRAM instead of GART memory eliminates massive graphics corruption which is otherwise present, due to unclear causes. This patch adds an environment variable that does that, along with helpful messages. It turns it on by default on G7x, as it is what I am seeing corruption on and some other reports also seemed to pinpoint these cards.
* nvfx: delay allocation of buffers in GART/VRAM to validation timeLuca Barbieri2010-03-232-5/+3
| | | | | | | | | | | | | | | | | | | | | | | Currently we allocate buffers in GART or VRAM at creation time. However, when using swtnl, this results in reads from uncached memory, which drastically impair performance. So, for now, cause nouveau_screen.c to not pass any placement flags to buffer creation, so that the buffers are moved later. Previously libdrm itself did this, but was changed to not to do it. This may introduce an extra copy in normal usage, but this currently does not seem to introduce significant performance degradation. This will be revisited when pipebuffer is integrated. Note that for AGP systems, properly solving this may be complex since currently there is no fast way of reading from GART/VRAM. We will probably need to try mapping AGP as writethrough and, in addition, make buffer creation more aware of future buffer usage.
* Merge branch '7.8'Brian Paul2010-03-232-187/+219
|\ | | | | | | | | | | | | | | | | | | Conflicts: Makefile src/gallium/state_trackers/glx/xlib/xm_api.c src/mesa/drivers/dri/intel/intel_blit.c src/mesa/drivers/dri/intel/intel_pixel_copy.c src/mesa/main/version.h
| * softpipe: comments, re-formatting, etcBrian Paul2010-03-231-14/+24
| |
| * softpipe: add special cases for all Z compare modes for 16-bit Z bufferBrian Paul2010-03-232-173/+195
| | | | | | | | | | | | | | | | We had fast paths for PIPE_FUNC_LESS and LEQUAL before. To satisfy OpenGL invariance rules, all depth compare modes should produce the same fragment Z values. Fixes progs/demos/singlebuffer.c
* | nvfx: don't crash on empty fragment programLuca Barbieri2010-03-231-1/+2
| |
* | nvfx: fix coding style in nvfx_transfer.cLuca Barbieri2010-03-231-8/+8
| |
* | nvfx: stop incessantly spewing debug messages on the terminalLuca Barbieri2010-03-232-3/+8
| | | | | | | | | | | | | | | | | | | | | | Currently we are continuously spewing messages about these variables since we call debug_get_bool_option everytime we want to check their value. This is annoying, slows things down due to terminal rerendering and obscures useful messages. This patch only calls debug_get_bool_option once and caches the result in a static variable.
* | nvfx: fix/workaround nv3x hwtnl issuesLuca Barbieri2010-03-231-5/+6
| | | | | | | | | | | | | | | | | | | | | | This patch re-emits the viewport state on framebuffer or rasterizer change. This seems to be necessary on nv3x, but the reason is not fully understood. It is quite likely that this isn't really the correct fix, but seems to work, and makes nv3x much better.
* | r300g: fix glean occlusion query testDave Airlie2010-03-231-0/+2
| |
* | r300g: Cleanup a few old warnings.Corbin Simpson2010-03-221-24/+9
| | | | | | | | | | Those paths aren't important anymore, and a debugging warning won't stop a hardlock anyway.
* | nvfx: fix sampler views supportLuca Barbieri2010-03-223-3/+2
| | | | | | | | The code was half converted, resulting in texturing being totally broken.
* | Merge branch '7.8'Brian Paul2010-03-221-9/+12
|\| | | | | | | | | | | | | Conflicts: src/gallium/drivers/cell/ppu/cell_screen.c src/mesa/state_tracker/st_cb_drawpixels.c
| * r300g: remove hacks from translate_vertex_data_swizzleMarek Olšák2010-03-191-20/+4
| | | | | | | | Fixing RGBA 4ub vertex colors.
| * cell: return 1 for PIPE_CAP_BLEND_EQUATION_SEPARATEBrian Paul2010-03-171-0/+2
| | | | | | | | | | With this feature, we get OpenGL version 2.0 and the progs/glsl/ demos run as-is.
| * cell: be more conservative in cell_is_format_supported()Brian Paul2010-03-171-5/+9
| | | | | | | | | | This fixes a regression from commit a84575cdc0c8193b2c7858734e2ec6b1ec4511b2 which changed the depth/stencil format we were trying to use.
* | r300g: disable tiling for YUV formatsMarek Olšák2010-03-211-3/+15
| |
* | r300g: fix scons buildMarek Olšák2010-03-215-11/+6
| |
* | r300g: accelerate blitting for all 64-bit texture formatsMarek Olšák2010-03-211-0/+3
| |
* | r300g: add and enable square microtilingMarek Olšák2010-03-212-5/+7
| | | | | | | | | | | | It requires DRM 2.1.0 (e.g. kernel 2.6.34) and is disabled on older ones. Finally, the texture tiling implementation is now complete. Uff.
* | r300g: cleanup tiling flags propagationMarek Olšák2010-03-213-12/+12
| |
* | r300g: put common defines into one fileMarek Olšák2010-03-215-22/+52
| |
* | r300g: remove unused codeMarek Olšák2010-03-213-5/+1
| |
* | nv50: report driver as GLSL capableChristoph Bumiller2010-03-211-1/+1
| | | | | | | | | | | | There's still no hint of optimization in the shaders, but we support conditionals, loops and even integer opcodes so it isn't that big a lie.
* | nv50: don't validate arrays on clearChristoph Bumiller2010-03-211-0/+4
| | | | | | | | The vertex elements and buffers might not be valid anymore.
* | nv50: get rid of the static_init stateobjChristoph Bumiller2010-03-213-140/+142
| | | | | | | | | | | | | | | | | | Relocations of per-screen buffers are now emitted directly, and include the necessary method to get changes in constbuf addresses committed to the hw. It should also be a bit cheaper than the way stateobjs emit relocation markers, use a little less pushbuf space.
* | drm/sw: llvmpipe texture_from_handleGeorge Sapountzis2010-03-211-0/+1
| | | | | | | | Not sure, but judging by softpipe, this hook was forgotten.
* | r300g: fix occlusion query hangs.Dave Airlie2010-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | Okay need to revist the whole OQ stuff anyways, glean test asserts which is never good. I'm liking the cached bufmgr restrictions less and less, I think I'll probably play with the fence and/or busy stuff ASAP and try and clean it up. Signed-off-by: Dave Airlie <[email protected]>
* | r300g: align misaligned ushort vertex indicesMarek Olšák2010-03-211-1/+29
| |
* | r300g: fix misaligned generated offset for ubyte vertex indicesMarek Olšák2010-03-211-1/+5
| |
* | r300g: split the vertex buffer alignment validationMarek Olšák2010-03-211-22/+29
| |
* | r300g: skip null vertex buffersMarek Olšák2010-03-211-1/+6
| |
* | r300g: Bump immediate limits.Corbin Simpson2010-03-201-3/+2
| | | | | | | | | | Seems like a decent idea, especially since the big barrier now is getting the VBOs back from the VRAM boundary.
* | r300g: Correctly hax max_index on pipe_vertex_buffers.Corbin Simpson2010-03-202-12/+28
| | | | | | | | Still not happy with this, but at least things seem to work.
* | r300g: add buffer/texture referenced checks.Dave Airlie2010-03-211-15/+9
| | | | | | | | | | | | | | I've no idea about the comments that were in there, just pass this down to the winsys. Signed-off-by: Dave Airlie <[email protected]>
* | r300g: lod min/max clamping should be relative to the base levelMarek Olšák2010-03-191-3/+3
| |
* | r300g: fix breakage after the gallium-sampler-view mergeMarek Olšák2010-03-193-9/+22
| |
* | r300g: add PIPE_FORMAT_B5G5R5X1_UNORM colorbuffer support, cleanupsMarek Olšák2010-03-191-6/+7
| |
* | r300g: mark SRGB colorbuffers as unsupportedMarek Olšák2010-03-191-20/+1
| | | | | | | | | | I can't find the register bits for SRGB-aware blending and it's not even exposed by fglrx so it's most probably not supported by hw.
* | r300g: add generating texture coordinates for point sprites (WIP)Marek Olšák2010-03-196-13/+61
| |
* | gallivm/llvmpipe: added lp_rast_shader_inputs::facing and pass throughBrian Paul2010-03-186-27/+42
| | | | | | | | | | | | | | | | | | | | The triangle rasterizer sets this field to indicate front/back-facing. It gets passed into the generated fragment code as another parameter. Used now for stencil front/back selection but will also be used for fragment shaders in general (see TGSI_SEMANTIC_FACE). With this commit two-sided stenciling mostly works but there's still a bug or two...
* | llvmpipe: defines for RAST_WHOLE, RAST_EDGE_TESTBrian Paul2010-03-183-20/+27
| |
* | gallivm/llvmpipe: simplify front/back stencil ref value handlingBrian Paul2010-03-184-14/+23
| | | | | | | | Instead of passing an array, just pass two scalar values.
* | llvmpipe: set opaque = FALSE if stencil enabledBrian Paul2010-03-181-0/+1
| | | | | | | | Fixes occasional bad tiles seen in some demos like progs/demos/reflect.c
* | llvmpipe: Fix crashes when there is no depth buffer bound.José Fonseca2010-03-181-0/+3
| |
* | gallivm/llvmpipe: basic stencil testing worksBrian Paul2010-03-171-1/+1
| | | | | | | | | | | | Most stencil demos look OK (modulo some unrelated rendering glitches). Only single-sided stencil test works at this point. There are probably some bugs to be found...
* | llvmpipe: remove incorrect depth test checkBrian Paul2010-03-171-4/+1
| |
* | llvmpipe: silence some pointer/casting warningsBrian Paul2010-03-171-3/+21
| |
* | gallivm/llvmpipe: more asst changes for stencil testingBrian Paul2010-03-171-27/+28
| |
* | gallivm/llmvpipe: pass stencil refs state into z/stencil build codeBrian Paul2010-03-173-7/+18
| |