summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nv50
Commit message (Collapse)AuthorAgeFilesLines
* nv50: hook up forgotten short constant buffer upload methodMarcin Slusarz2012-05-291-0/+1
| | | | Fixes crash in xorg st.
* nouveau: unreference fences on resource destructionChristoph Bumiller2012-05-291-0/+3
|
* nvc0/ir: allow 64-bit constant loads on nve4Christoph Bumiller2012-05-291-0/+2
| | | | Looks like only 128-bit access doesn't work.
* nvc0/ir: fix texture barrier insertion to prevent WAW hazardsChristoph Bumiller2012-05-294-8/+10
| | | | Fixes, for instance, object highlighting in Diablo 3 (wine).
* nvc0/ir: TEX doesn't support JOIN modifier eitherChristoph Bumiller2012-05-291-0/+1
|
* nv50: make unaligned index buffer offsets work againChristoph Bumiller2012-05-221-1/+3
| | | | Messed up in ef7bb281292c17b762b57779306e874704c87328.
* nouveau: place static buffers in VRAM if preferred by the driverChristoph Bumiller2012-05-171-2/+8
|
* nv50/ir: fix reversed order of lane ops in quadopsChristoph Bumiller2012-05-171-2/+3
|
* nv50,nvc0: handle user vertex buffersChristoph Bumiller2012-05-176-133/+152
| | | | And restructure VBO validation a little in the process.
* nv50,nvc0: handle user index buffersChristoph Bumiller2012-05-174-23/+25
|
* nv50,nvc0: handle user constbufs without wrapping them in a resourceChristoph Bumiller2012-05-177-83/+110
|
* gallium: remove user_buffer_create from the interfaceMarek Olšák2012-05-121-1/+0
| | | | Nothing uses it now.
* Merge branch 'gallium-userbuf'Marek Olšák2012-05-112-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_bufferMarek Olšák2012-04-301-0/+10
| | | | | | | | This reduces CPU overhead when updating constants.
| * gallium: add void *user_buffer in pipe_index_bufferMarek Olšák2012-04-301-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_bufferMarek Olšák2012-04-301-2/+0
| |
| * gallium: add void *user_buffer in pipe_vertex_bufferMarek Olšák2012-04-301-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-friendlyMarek Olšák2012-04-301-1/+2
| |
| * gallium: add PIPE_CAP_CONSTANT_BUFFER_OFFSET_ALIGNMENTMarek Olšák2012-04-301-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_BUFFERSMarek Olšák2012-04-301-0/+2
| |
* | gallium/tgsi: s/TGSI_BUFFER/TGSI_TEXTURE_BUFFER/José Fonseca2012-05-111-2/+1
| | | | | | | | | | | | For consistency. Reviewed-by: Brian Paul <[email protected]>
* | gallium/tgsi: Redefine the TGSI_TEXTURE_UNKNOWN texture target.José Fonseca2012-05-111-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 Jerez2012-05-111-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 Jerez2012-05-111-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 Jerez2012-05-111-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 inputsMarcin Slusarz2012-05-071-0/+11
| |
* | nv50/ir/opt: don't lose saturation in tryCollapseChainedMULsChristoph Bumiller2012-05-061-2/+3
| |
* | nvc0/ir: fix lowering of textureGradChristoph Bumiller2012-05-061-4/+4
| |
* | nv50: fix typo causing NULL-deref in nv50_resource_resolveChristoph Bumiller2012-05-041-1/+1
| | | | | | | | Introduced in b328949a37fee7b0f68ed3e068ffc4426c083042.
* | nv50/ir: move expansion of IMUL to later stage and handle memory operandsChristoph Bumiller2012-05-044-17/+51
| |
* | nv50: implement stream outputChristoph Bumiller2012-05-0412-33/+468
| |
* | nv50: enable array texturesChristoph Bumiller2012-05-042-3/+4
|/
* nv50,nvc0: fix depth/stencil resolveChristoph Bumiller2012-04-294-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 JOINChristoph Bumiller2012-04-291-0/+2
|
* nv50/ir/opt: try to convert ABS(SUB) to SADChristoph Bumiller2012-04-295-15/+162
|
* nvc0/ir: initial implementation of nve4 scheduling hintsChristoph Bumiller2012-04-295-4/+141
|
* nvc0/ir: implement better placement of texture barriersChristoph Bumiller2012-04-297-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 RETChristoph Bumiller2012-04-291-4/+5
| | | | We have to actually emit RET, too, of course, not just the PRERET.
* nv50: fix typo in nv50_fragprog_assign_slotsChristoph Bumiller2012-04-241-1/+1
|
* nv50,nvc0: handle new vertex fetch capsChristoph Bumiller2012-04-242-0/+9
|
* nv50,nvc0: don't initialize the draw module, we don't use itChristoph Bumiller2012-04-243-2/+13
| | | | But some day we might (e.g. for blending 16 bpp formats on nv50).
* nv50: enable shader watchdog timerChristoph Bumiller2012-04-241-0/+5
|
* gallium drivers: report that user vertex buffers are supportedMarek Olšák2012-04-241-0/+2
|
* nv50,nvc0: prevent multiple flushes when user spins on get_query_resultChristoph Bumiller2012-04-191-1/+6
|
* nv50/ir/opt: swap VP inputs to first source where possibleChristoph Bumiller2012-04-191-0/+17
|
* nv50: specify location of UCPs to code generatorChristoph Bumiller2012-04-171-0/+2
| | | | | Was made configurable in e44089b2f79aa2dcaacf348911433d1e21235c0c for Kepler but forgot to update nv50.
* nv50: use correct semantic map value for undefined PointSize outputChristoph Bumiller2012-04-151-7/+8
|
* nvc0: add initial support for nve4+ (Kepler) chipsetsChristoph Bumiller2012-04-159-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 chainChristoph Bumiller2012-04-141-1/+17
|
* nv50/ir: print interpolation modeChristoph Bumiller2012-04-141-0/+22
|