Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gallium: add void *user_buffer to pipe_constant_buffer | Marek Olšák | 2012-04-30 | 1 | -0/+10 |
| | | | | This reduces CPU overhead when updating constants. | ||||
* | gallium: add void *user_buffer in pipe_index_buffer | Marek Olšák | 2012-04-30 | 1 | -1/+1 |
| | | | | | | | Adapted drivers: i915, llvmpipe, r300, r600, radeonsi, softpipe. User index buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working. | ||||
* | gallium: remove pipe_context::redefine_user_buffer | Marek Olšák | 2012-04-30 | 1 | -2/+0 |
| | |||||
* | gallium: add void *user_buffer in pipe_vertex_buffer | Marek Olšák | 2012-04-30 | 1 | -1/+1 |
| | | | | | | | | | | | | This reduces CPU overhead in st_draw_vbo and removes a lot of unnecessary code in that function which was required only to comply with the gallium interface, but wasn't any useful really. Adapted drivers: i915, llvmpipe, r300, softpipe. No changes required in: r600, radeonsi. User vertex buffers have been disabled in nv30, nv50, nvc0 and svga to keep things working. | ||||
* | gallium: change set_constant_buffer to be UBO-friendly | Marek Olšák | 2012-04-30 | 1 | -1/+2 |
| | |||||
* | gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENT | Marek Olšák | 2012-04-30 | 1 | -0/+2 |
| | | | | | | | | This is required for any serious constant buffer support. Constant buffer offsets on ATI and NVIDIA DX10 and DX11 GPUs must be a multiple of 256. In OpenGL, this can be queried via GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT. | ||||
* | gallium: add PIPE_CAP_USER_INDEX_BUFFERS and PIPE_CAP_USER_CONSTANT_BUFFERS | Marek Olšák | 2012-04-30 | 1 | -0/+2 |
| | |||||
* | nv50,nvc0: fix depth/stencil resolve | Christoph Bumiller | 2012-04-29 | 1 | -30/+141 |
| | | | | | Cannot sample depth/stencil with a single view, and needed to use different shader code for nve4. | ||||
* | nv50/ir/opt: try to convert ABS(SUB) to SAD | Christoph Bumiller | 2012-04-29 | 2 | -1/+17 |
| | |||||
* | nvc0/ir: try to use the optimal texture op mode | Christoph Bumiller | 2012-04-29 | 1 | -3/+15 |
| | | | | | Don't really know what they are yet but for groups of textures, the last one should use mode "p" and the others "t". | ||||
* | nvc0/ir: initial implementation of nve4 scheduling hints | Christoph Bumiller | 2012-04-29 | 3 | -11/+597 |
| | |||||
* | nvc0/ir: implement better placement of texture barriers | Christoph Bumiller | 2012-04-29 | 1 | -7/+269 |
| | | | | | Put them before first uses instead of right after the texturing instruction and cull unnecessary barriers. | ||||
* | nvc0/ir/emit: fix emitTXQ 2nd src | Christoph Bumiller | 2012-04-29 | 1 | -1/+3 |
| | |||||
* | nvc0/ir/target: integer ADD doesn't support ABS modifier | Christoph Bumiller | 2012-04-29 | 1 | -0/+2 |
| | |||||
* | nv50,nvc0: handle new vertex fetch caps | Christoph Bumiller | 2012-04-24 | 1 | -0/+4 |
| | |||||
* | nv50,nvc0: don't initialize the draw module, we don't use it | Christoph Bumiller | 2012-04-24 | 3 | -2/+13 |
| | | | | But some day we might (e.g. for blending 16 bpp formats on nv50). | ||||
* | gallium drivers: report that user vertex buffers are supported | Marek Olšák | 2012-04-24 | 1 | -0/+2 |
| | |||||
* | nv50,nvc0: prevent multiple flushes when user spins on get_query_result | Christoph Bumiller | 2012-04-19 | 1 | -18/+25 |
| | |||||
* | nvc0: fix nve4 linear copies | Christoph Bumiller | 2012-04-16 | 1 | -1/+2 |
| | |||||
* | nvc0: add initial support for nve4+ (Kepler) chipsets | Christoph Bumiller | 2012-04-15 | 16 | -150/+767 |
| | | | | | | | | | Most things that work on Fermi should work on Kepler too. There are a few performance optimizations left to do, like better placement of texture barriers and adding scheduling data to the shader instructions (without them, a thread group will be masked for 32 cycles after each single instruction issue). | ||||
* | nv50/ir: import nv50 target | Christoph Bumiller | 2012-04-14 | 1 | -1/+1 |
| | |||||
* | nv50/ir: fix off-by-ones in CSE and nvc0 insnCanLoad | Christoph Bumiller | 2012-04-14 | 1 | -1/+1 |
| | |||||
* | nv50/ir: rewrite the register allocator as GCRA, with spilling | Christoph Bumiller | 2012-04-14 | 1 | -4/+2 |
| | | | | | This is more flexible than the linear scan, and we don't need the separate allocation pass for constrained values anymore. | ||||
* | nvc0: fix emission of 3rd src in SET_AND,OR,XOR | Christoph Bumiller | 2012-04-14 | 1 | -0/+3 |
| | |||||
* | nv50/ir: Build a "symbol" table with the binary offsets of each function. | Francisco Jerez | 2012-04-14 | 1 | -0/+2 |
| | |||||
* | nv50/ir: Decouple object cloning logic from the sub-object recursion policy. | Francisco Jerez | 2012-04-14 | 1 | -2/+2 |
| | |||||
* | nv50/ir: make Instruction::src/def container private | Christoph Bumiller | 2012-04-14 | 3 | -165/+171 |
| | |||||
* | nv50/ir/opt: improve post-multiply and check target for support | Christoph Bumiller | 2012-04-14 | 2 | -0/+13 |
| | |||||
* | nv50/ir: add isAccessSupported check for memory access coalescing | Christoph Bumiller | 2012-04-14 | 3 | -1/+12 |
| | |||||
* | nv50,nvc0: fix handling of user vbufs with stride < access size | Christoph Bumiller | 2012-04-14 | 3 | -18/+32 |
| | |||||
* | nvc0: prefix all macro methods with MACRO | Christoph Bumiller | 2012-04-14 | 6 | -35/+36 |
| | | | | Some of them have non-macro counterparts. | ||||
* | nvc0: replace VERTEX_DATA push mode with translate to buffer | Christoph Bumiller | 2012-04-14 | 5 | -57/+748 |
| | | | | | While pushing vertices through the FIFO is relatively fast on nv50, it's horribly slow on nvc0. | ||||
* | nvc0: improve vertex state validation | Christoph Bumiller | 2012-04-14 | 6 | -97/+159 |
| | | | | Now updating vertex attribute format only when necessary. | ||||
* | nvc0: track texture dirty state individually | Christoph Bumiller | 2012-04-14 | 5 | -40/+81 |
| | |||||
* | nv50,nvc0: use new scratch buffers code | Christoph Bumiller | 2012-04-14 | 5 | -53/+33 |
| | |||||
* | nvc0: only force early fragment tests if requested by shader | Christoph Bumiller | 2012-04-14 | 5 | -14/+7 |
| | |||||
* | nv50,nvc0: hold references to the framebuffer surfaces | Christoph Bumiller | 2012-04-14 | 2 | -1/+16 |
| | |||||
* | nvc0: remove include of old libdrm_nouveau's nouveau_reloc.h | Christoph Bumiller | 2012-04-14 | 1 | -2/+0 |
| | |||||
* | nv50,nvc0: handle PIPE_CAP_MAX_DUAL_SOURCE_RENDER_TARGETS | Christoph Bumiller | 2012-04-14 | 1 | -0/+2 |
| | |||||
* | nouveau: switch to libdrm_nouveau-2.0 | Christoph Bumiller | 2012-04-14 | 19 | -1461/+1469 |
| | |||||
* | nvc0: remove obsolete nvc0_push2.c | Christoph Bumiller | 2012-04-14 | 2 | -334/+0 |
| | | | | | Slower version of nvc0_push.c, was only used to ascertain that bugs were not the new version's fault. | ||||
* | nouveau: remove automatic buffer migration heuristics | Christoph Bumiller | 2012-04-14 | 1 | -3/+0 |
| | |||||
* | gallium: adapt to get_query_result interface change | Marek Olšák | 2012-03-30 | 2 | -5/+5 |
| | | | | Reviewed-by: Brian Paul <[email protected]> | ||||
* | gallium/drivers: Use automake to generate makefile | Tom Stellard | 2012-03-14 | 1 | -0/+3 |
| | |||||
* | nv50,nvc0: share the format table code | Christoph Bumiller | 2012-03-09 | 1 | -337/+2 |
| | |||||
* | Revert "gallium: add flag PIPE_TRANSFER_MAP_PERMANENTLY" | Marek Olšák | 2012-03-05 | 1 | -1/+1 |
| | | | | | | | This reverts commit 0950086376b1c8b7fb89eda81ed7f2f06dee58bc. It was decided to refactor the transfer API instead of adding workarounds to address the performance issues. | ||||
* | gallium: remove PIPE_SHADER_CAP_OUTPUT_READ | Marek Olšák | 2012-02-27 | 1 | -2/+0 |
| | | | | | | | | | | | | r600g is the only driver which has made use of it. The reason the CAP was added was to fix some piglit tests when the GLSL pass lower_output_reads didn't exist. However, not removing output reads breaks the fallback for glClampColorARB, which assumes outputs are not readable. The fix would be non-trivial and my personal preference is to remove the CAP, considering that reading outputs is uncommon and that we can now use lower_output_reads to fix the issue that the CAP was supposed to workaround in the first place. | ||||
* | gallium: add PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION | Christoph Bumiller | 2012-02-09 | 1 | -0/+1 |
| | | | | | | | Just let the hardware do it if it can and avoid drivers having to check for the special case on each draw call. v2: update the draw module | ||||
* | nvfx,nv50,nvc0: handle PIPE_CAP_GLSL_FEATURE_LEVEL | Christoph Bumiller | 2012-01-29 | 1 | -0/+2 |
| | |||||
* | st/mesa: do vertex and fragment color clamping in shaders | Marek Olšák | 2012-01-25 | 1 | -1/+3 |
| | | | | | | | | | | | | | | For ARB_color_buffer_float. Most hardware can't do it and st/mesa is the perfect place for a fallback. The exceptions are: - r500 (vertex clamp only) - nv50 (both) - nvc0 (both) - softpipe (both) We also have to take into account that r300 can do CLAMPED vertex colors only, while r600 can do UNCLAMPED vertex colors only. The difference can be expressed with the two new CAPs. |