Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | nv50: make unaligned index buffer offsets work again | Christoph Bumiller | 2012-05-22 | 1 | -1/+3 |
| | | | | Messed up in ef7bb281292c17b762b57779306e874704c87328. | ||||
* | nouveau: place static buffers in VRAM if preferred by the driver | Christoph Bumiller | 2012-05-17 | 1 | -2/+8 |
| | |||||
* | nv50/ir: fix reversed order of lane ops in quadops | Christoph Bumiller | 2012-05-17 | 1 | -2/+3 |
| | |||||
* | nv50,nvc0: handle user vertex buffers | Christoph Bumiller | 2012-05-17 | 6 | -133/+152 |
| | | | | And restructure VBO validation a little in the process. | ||||
* | nv50,nvc0: handle user index buffers | Christoph Bumiller | 2012-05-17 | 4 | -23/+25 |
| | |||||
* | nv50,nvc0: handle user constbufs without wrapping them in a resource | Christoph Bumiller | 2012-05-17 | 7 | -83/+110 |
| | |||||
* | gallium: remove user_buffer_create from the interface | Marek Olšák | 2012-05-12 | 1 | -1/+0 |
| | | | | Nothing uses it now. | ||||
* | Merge branch 'gallium-userbuf' | Marek Olšák | 2012-05-11 | 2 | -5/+17 |
|\ | | | | | | | | | | | | | | | Conflicts: src/gallium/docs/source/screen.rst src/gallium/drivers/nv50/nv50_state.c src/gallium/include/pipe/p_defines.h src/mesa/state_tracker/st_draw.c | ||||
| * | 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 |
| | | |||||
* | | gallium/tgsi: s/TGSI_BUFFER/TGSI_TEXTURE_BUFFER/ | José Fonseca | 2012-05-11 | 1 | -2/+1 |
| | | | | | | | | | | | | For consistency. Reviewed-by: Brian Paul <[email protected]> | ||||
* | | gallium/tgsi: Redefine the TGSI_TEXTURE_UNKNOWN texture target. | José Fonseca | 2012-05-11 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | | | | Some code relies on the existing of an invalid texture target. It seems safer to bring it back than to deal with unintended consequences. This partially reverts commit a4ebb04214bab1cd9bd41967232ec89441e31744. Reviewed-by: Brian Paul <[email protected]> | ||||
* | | gallium/tgsi: Define the TGSI_BUFFER texture target. | Francisco Jerez | 2012-05-11 | 1 | -2/+2 |
| | | | | | | | | | | | | This texture type was already referred to by the documentation but it was never defined. Define it as 0 to match the pipe_texture_target enumeration values. | ||||
* | | gallium/tgsi: Move interpolation info from tgsi_declaration to a separate token. | Francisco Jerez | 2012-05-11 | 1 | -2/+2 |
| | | | | | | | | | | | | Move Interpolate, Centroid and CylindricalWrap from tgsi_declaration to a separate token -- they only make sense for FS inputs and we need room for other flags in the top-level declaration token. | ||||
* | | gallium/tgsi: Split sampler views from shader resources. | Francisco Jerez | 2012-05-11 | 1 | -16/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit splits the current concept of resource into "sampler views" and "shader resources": "Sampler views" are textures or buffers that are bound to a given shader stage and can be read from in conjunction with a sampler object. They are analogous to OpenGL texture objects or Direct3D SRVs. "Shader resources" are textures or buffers that can be read and written from a shader. There's no support for floating point coordinates, address wrap modes or filtering, and, unlike sampler views, shader resources are global for the whole graphics pipeline. They are analogous to OpenGL image objects (as in ARB_shader_image_load_store) or Direct3D UAVs. Most hardware is likely to implement shader resources and sampler views as separate objects, so, having the distinction at the API level simplifies things slightly for the driver. This patch introduces the SVIEW register file with a declaration token and syntax analogous to the already existing RES register file. After this change, the SAMPLE_* opcodes no longer accept a resource as input, but rather a SVIEW object. To preserve the functionality of reading from a sampler view with integer coordinates, the SAMPLE_I(_MS) opcodes are introduced which are similar to LOAD(_MS) but take a SVIEW register instead of a RES register as argument. | ||||
* | | nv50: handle VP without inputs | Marcin Slusarz | 2012-05-07 | 1 | -0/+11 |
| | | |||||
* | | nv50/ir/opt: don't lose saturation in tryCollapseChainedMULs | Christoph Bumiller | 2012-05-06 | 1 | -2/+3 |
| | | |||||
* | | nvc0/ir: fix lowering of textureGrad | Christoph Bumiller | 2012-05-06 | 1 | -4/+4 |
| | | |||||
* | | nv50: fix typo causing NULL-deref in nv50_resource_resolve | Christoph Bumiller | 2012-05-04 | 1 | -1/+1 |
| | | | | | | | | Introduced in b328949a37fee7b0f68ed3e068ffc4426c083042. | ||||
* | | nv50/ir: move expansion of IMUL to later stage and handle memory operands | Christoph Bumiller | 2012-05-04 | 4 | -17/+51 |
| | | |||||
* | | nv50: implement stream output | Christoph Bumiller | 2012-05-04 | 12 | -33/+468 |
| | | |||||
* | | nv50: enable array textures | Christoph Bumiller | 2012-05-04 | 2 | -3/+4 |
|/ | |||||
* | nv50,nvc0: fix depth/stencil resolve | Christoph Bumiller | 2012-04-29 | 4 | -26/+65 |
| | | | | | Cannot sample depth/stencil with a single view, and needed to use different shader code for nve4. | ||||
* | nvc0/ir/opt: INTERP does not support JOIN | Christoph Bumiller | 2012-04-29 | 1 | -0/+2 |
| | |||||
* | nv50/ir/opt: try to convert ABS(SUB) to SAD | Christoph Bumiller | 2012-04-29 | 5 | -15/+162 |
| | |||||
* | nvc0/ir: initial implementation of nve4 scheduling hints | Christoph Bumiller | 2012-04-29 | 5 | -4/+141 |
| | |||||
* | nvc0/ir: implement better placement of texture barriers | Christoph Bumiller | 2012-04-29 | 7 | -6/+58 |
| | | | | | Put them before first uses instead of right after the texturing instruction and cull unnecessary barriers. | ||||
* | nv50/ir/tgsi: fix handling of early RET | Christoph Bumiller | 2012-04-29 | 1 | -4/+5 |
| | | | | We have to actually emit RET, too, of course, not just the PRERET. | ||||
* | nv50: fix typo in nv50_fragprog_assign_slots | Christoph Bumiller | 2012-04-24 | 1 | -1/+1 |
| | |||||
* | nv50,nvc0: handle new vertex fetch caps | Christoph Bumiller | 2012-04-24 | 2 | -0/+9 |
| | |||||
* | 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). | ||||
* | nv50: enable shader watchdog timer | Christoph Bumiller | 2012-04-24 | 1 | -0/+5 |
| | |||||
* | 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 | -1/+6 |
| | |||||
* | nv50/ir/opt: swap VP inputs to first source where possible | Christoph Bumiller | 2012-04-19 | 1 | -0/+17 |
| | |||||
* | nv50: specify location of UCPs to code generator | Christoph Bumiller | 2012-04-17 | 1 | -0/+2 |
| | | | | | Was made configurable in e44089b2f79aa2dcaacf348911433d1e21235c0c for Kepler but forgot to update nv50. | ||||
* | nv50: use correct semantic map value for undefined PointSize output | Christoph Bumiller | 2012-04-15 | 1 | -7/+8 |
| | |||||
* | nvc0: add initial support for nve4+ (Kepler) chipsets | Christoph Bumiller | 2012-04-15 | 9 | -9/+26 |
| | | | | | | | | | 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/opt: extend handleCVT for nv50's SET u32 to f32 chain | Christoph Bumiller | 2012-04-14 | 1 | -1/+17 |
| | |||||
* | nv50/ir: print interpolation mode | Christoph Bumiller | 2012-04-14 | 1 | -0/+22 |
| | |||||
* | nv50: update FP linkage state on one/two-sided lighting switch | Christoph Bumiller | 2012-04-14 | 2 | -1/+12 |
| | |||||
* | nv50: delete old shader compiler files | Christoph Bumiller | 2012-04-14 | 7 | -7252/+0 |
| | |||||
* | nv50: hook up to new shader code generator | Christoph Bumiller | 2012-04-14 | 10 | -664/+262 |
| | |||||
* | nv50/ir: import nv50 target | Christoph Bumiller | 2012-04-14 | 12 | -219/+2475 |
| | |||||
* | nv50/ir: fix off-by-ones in CSE and nvc0 insnCanLoad | Christoph Bumiller | 2012-04-14 | 1 | -1/+1 |
| |