aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/d3d1x
Commit message (Collapse)AuthorAgeFilesLines
* d3d1x: Remove.José Fonseca2013-03-12135-27285/+0
| | | | | | Unused/unmaintained. Reviewed-by: Christoph Bumiller <[email protected]>
* gallium: fix tgsi SAMPLE_L opcode to use separate source for explicit lodRoland Scheidegger2013-02-121-7/+2
| | | | | | | | | | | | | | | | | | | | | It looks like using coord.w as explicit lod value is a mistake, most likely because some dx10 docs had it specified that way. Seems this was changed though: http://msdn.microsoft.com/en-us/library/windows/desktop/hh447229%28v=vs.85%29.aspx - let's just hope it doesn't depend on runtime build version or something. Not only would this need translation (so go against the stated goal these opcodes should be close to dx10 semantics) but it would prevent usage of this opcode with cube arrays, which is apparently possible: http://msdn.microsoft.com/en-us/library/windows/desktop/bb509699%28v=vs.85%29.aspx (Note not only does this show cube arrays using explicit lod, but also the confusion with this opcode: it lists an explicit lod parameter value, but then states last component of location is used as lod). (For "true" hw drivers, only nv50 had code to handle it, and it appears the code was already right for the new semantics, though fix up the seemingly wrong c/d arguments while there.) v2: fix comment, separate out other changes. Reviewed-by: Jose Fonseca <[email protected]>
* gallium: extend pipe_context::flush for it to accept an END_OF_FRAME flagMarek Olšák2013-01-041-1/+1
| | | | | | | | | | | | | | | | | Usage with pipe_context: pipe->flush(pipe, NULL, PIPE_FLUSH_END_OF_FRAME); Usage with st_context_iface: st->flush(st, ST_FLUSH_END_OF_FRAME, NULL); The flag is only a hint for drivers. Radeon will use it for buffer eviction heuristics in the kernel (e.g. for queries like how many frames have passed since a buffer was used). The flag is currently only generated by st/dri on SwapBuffers. Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Stéphane Marchesin <[email protected]>
* gallium: remove pipe_surface::usageMarek Olšák2012-12-122-3/+0
| | | | | | Not really used by anybody now. Reviewed-by: Brian Paul <[email protected]>
* gallium: add start_slot parameter to set_vertex_buffersMarek Olšák2012-10-311-1/+1
| | | | | | | | | | | | | | | | | | | | | This allows updating only a subrange of buffer bindings. set_vertex_buffers(pipe, start_slot, count, NULL) unbinds buffers in that range. Binding NULL resources unbinds buffers too (both buffer and user_buffer must be NULL). The meta ops are adapted to only save, change, and restore the single slot they use. The cso_context can save and restore only one vertex buffer slot. The clients can query which one it is using cso_get_aux_vertex_buffer_slot. It's currently set to 0. (the Draw module breaks if it's set to non-zero) It should decrease the CPU overhead when using a lot of meta ops, but the drivers must be able to treat each vertex buffer slot as a separate state (only r600g does so at the moment). I can imagine this also being useful for optimizing some OpenGL use cases. Reviewed-by: Brian Paul <[email protected]>
* gallium: unify transfer functionsMarek Olšák2012-10-111-4/+4
| | | | | | | | | | | | | | "get_transfer + transfer_map" becomes "transfer_map". "transfer_unmap + transfer_destroy" becomes "transfer_unmap". transfer_map must create and return the transfer object and transfer_unmap must destroy it. transfer_map is successful if the returned buffer pointer is not NULL. If transfer_map fails, the pointer to the transfer object remains unchanged (i.e. doesn't have to be NULL). Acked-by: Brian Paul <[email protected]>
* gallium: remove resource_resolveMarek Olšák2012-09-301-0/+2
| | | | | | | The functionality is provided by the new blit function. Tested-by: Michel Dänzer <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* automake: Globally add stub automake targets to the old Makefiles.Eric Anholt2012-06-111-1/+1
| | | | | | | | | I tried to update all the old Makefiles that included the default config to be sure they had a default target if they didn't previously have one, since this new all target will always point at it. Almost everything had one. Reviewed-by: Kenneth Graunke <[email protected]>
* Merge branch 'gallium-userbuf'Marek Olšák2012-05-111-3/+3
|\ | | | | | | | | | | | | | | 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: change set_constant_buffer to be UBO-friendlyMarek Olšák2012-04-301-3/+3
| |
* | gallium/tgsi: Split sampler views from shader resources.Francisco Jerez2012-05-111-6/+7
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gallium: remove PIPE_TRANSFER_NOOVERWRITE, use equivalent UNSYNCHRONIZEDMarek Olšák2012-04-181-1/+1
|
* gallium: remove format aliasesChristian König2012-03-081-1/+1
| | | | | | They are incomplete and don't make to much sense. Signed-off-by: Christian König <[email protected]>
* Squash-merge branch 'gallium-clip-state'Marek Olšák2012-01-104-22/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/tgsi/tgsi_strings.c src/mesa/state_tracker/st_atom_clip.c commit d919791f2742e913173d6b335128e7d4c63c0840 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 17:59:22 2012 +0100 d3d1x: adapt to new clip state commit cfec82bca3fefcdefafca3f4555285ec1d1ae421 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:16:51 2012 +0100 gallium/docs: update for clip state changes commit c02bfeb81ad9f62041a2285ea6373bbbd602912a Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:21:43 2012 +0100 tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS commit d4e0a785a6a23ad2f6819fd72e236acb9750028d Author: Brian Paul <[email protected]> Date: Thu Jan 5 08:30:00 2012 -0700 tgsi: consolidate TGSI string arrays in new tgsi_strings.h There was some duplication between the tgsi_dump.c and tgsi_text.c files. Also use some static assertions to help catch errors when adding new TGSI values. v2: put strings in tgsi_strings.c file instead of the .h file. Reviewed-by: Dave Airlie <[email protected]> commit c28584ce0d8c62bd92c8f140729d344f88a0b3cd Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 12:48:09 2012 +0100 gallium: extend user_clip_plane_enable to apply to clip distances commit f1d5016c07f786229ed057effbe55fbfd160b019 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 02:39:09 2012 +0100 nvfx: adapt to new clip state commit 6f6fa1c26bd19f797c1996731708e3569c9bfe24 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 01:41:39 2012 +0100 st/mesa: fix DrawPixels with GL_DEPTH_CLAMP commit c86ad730aa1c017788ae88a55f54071bf222be12 Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:51:30 2012 +0100 nv50: adapt to new clip state commit 3a8ae6ac243bae5970729dc4057fe02d992543dc Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:32:36 2012 +0100 nvc0: adapt to new clip state commit 6243a8246997f8d2fcc69ab741a2c2dea080ff11 Author: Marek Olšák <[email protected]> Date: Thu Dec 29 01:32:51 2011 +0100 draw: initalize pt.user.planes in draw_init This fixes a crash in glean/fpexceptions. commit e3056524b19b56d473f4faff84ffa0eb41497408 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:26:55 2011 +0100 svga: adapt to new clip state commit c5bfa8b37d6d489271df457229081d6bbb51b4b7 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:11:51 2011 +0100 r600g: adapt to new clip state commit f11890905362f62627c4a28a8255b76eb7de7df2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:10:26 2011 +0100 r300g: adapt to new clip state commit e37465327c79a01112f15f6278d9accc5bf3103f Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:39:16 2011 +0100 draw: adapt to new clip state This adds a regression in the LLVM clipping path. Can anybody see anything wrong with the code? It works for every other case, just glean/fpexceptions crashes when doing the "Infinite clip plane test". commit b474d2b18c72d965eefae4e427c269cba5ce6ba2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:14:59 2011 +0100 u_blitter: don't save/set/restore clip state commit 9dd240ea91f523a677af45e8d0adb9e661e28602 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:11:56 2011 +0100 gallium: don't cso_save/set/restore clip state The enable bits are in the rasterizer state. commit a4f7031179f5f4ad524b34b394214b984ac950f6 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:58:55 2011 +0100 gallium: default depth_clip to 1 depth_clip = !depth_clamp commit fe21147a00ab90e549d63fe12ee4625c9c2ffcc3 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:14:19 2011 +0100 trace,util: update state logging to new clip state Also dump the other missing flags. commit 2a3b96e84ac872dcc5bc1de049fe76bb58d64b23 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 10:43:43 2011 +0100 st/mesa: adapt to new clip state commit b7b656a42fca19d7c85267f42649a206a85a2c72 Author: Marek Olšák <[email protected]> Date: Sat Dec 17 15:45:19 2011 +0100 gallium: move state enable bits from clip_state to rasterizer_state
* d3d1x: implement new stream output interfaceChristoph Bumiller2011-12-157-50/+213
|
* d3d1x: set primitive restart in the correct draw callsChristoph Bumiller2011-10-211-9/+9
|
* d3d1x: fix/improve OMSetRenderTargetsChristoph Bumiller2011-10-211-19/+26
| | | | | Don't count trailing NULL RTVs. Don't skip update if only DSV has changed.
* d3d1x: avoid translating invalid blend, depth or stencil stateChristoph Bumiller2011-10-212-32/+56
|
* d3d1x: add support for buffer viewsChristoph Bumiller2011-10-211-0/+6
|
* d3d1x: improve CreateInputLayoutChristoph Bumiller2011-10-211-13/+50
|
* d3d1x/context: fix IASetVertexBuffers stride comparisonChristoph Bumiller2011-10-211-1/+1
|
* d3d1x: use ZS formats for TYPELESS resources with DS bindingChristoph Bumiller2011-10-211-0/+10
|
* d3d1x: use resource format if view format is UNKNOWNChristoph Bumiller2011-10-211-6/+9
|
* d3d1x: fix shadow comparison to gallium enum off by oneChristoph Bumiller2011-10-211-1/+1
|
* d3d1x: improve CheckFormatSupportChristoph Bumiller2011-10-211-18/+48
|
* d3d1x: update format mapping tableChristoph Bumiller2011-10-212-37/+55
| | | | | Use the proper integer formats. Fix mapping of some PIPE depth formats to DXGI.
* d3d1x: fix translation of subresource to layerChristoph Bumiller2011-10-211-16/+15
|
* d3d1x: fix initial data upload for 3D texturesChristoph Bumiller2011-10-211-1/+1
|
* d3d1x: MipLevels -1 in resource view desc means allChristoph Bumiller2011-10-211-1/+5
|
* d3d1x/dxgi: fix initialization of pipe_box for Present copyChristoph Bumiller2011-10-211-2/+2
|
* d3d1x: implement array texturesChristoph Bumiller2011-10-213-18/+70
|
* d3d1x: fix refcounting of GalliumD3D11DeviceChild objectsChristoph Bumiller2011-10-211-2/+6
| | | | | | An external Release would have lowered the device reference count, but an internal reference in the context does not raise it (by design).
* d3d1x/sm4: save CUSTOMDATAChristoph Bumiller2011-10-211-0/+11
| | | | This is the data for the immediate constant buffer.
* d3d1x: add FORK/JOIN phase opcodes to declarationsChristoph Bumiller2011-10-211-0/+9
| | | | | | The phase instance counts are not necessarily redeclared so with the separation of declarations and instructions we wouldn't know which instance count applies to which phase.
* d3d1x: add shader signature to sm4_programChristoph Bumiller2011-10-215-7/+52
| | | | | | Correct linkage requires examining the signature itself, it cannot be reconstructed from declarations only since unused registers may have been omitted from them.
* d3d1x: attempt to detect D3D10 feature levelChristoph Bumiller2011-10-211-13/+31
| | | | | Virtually all applications refuse to use the D3D10 backend if this level is not supported, which makes testing annoying.
* d3d1x: switch to TGSI SAMPLE opcodesChristoph Bumiller2011-10-216-222/+61
| | | | | | We don't want to clutter the code or handicap new hardware for the sake of ancient GPUs on which d3d1x won't ever be used, much less be fully compliant, anyway.
* d3d1x: make use of new query typesChristoph Bumiller2011-10-202-17/+18
|
* d3d1x: fix check for PIPE_CAP_CONDITIONAL_RENDERChristoph Bumiller2011-10-132-3/+1
|
* gallium: rename ZS stencil type to UINT (v2)Dave Airlie2011-10-111-7/+7
| | | | | | | | | | these are never USCALED, always UINT in reality. taken from some work by Christoph Bumiller v2: fixup formatting of table + tabs Signed-off-by: Dave Airlie <[email protected]>
* gallium: add PIPE_CAP_CONDITIONAL_RENDERMarek Olšák2011-09-301-1/+1
| | | | | | | We were checking whether render_condition is set. That was not reliable, because it's always set with trace and noop regardless of driver support. Reviewed-by: Brian Paul <[email protected]>
* gallium: add and use PIPE_SHADER_CAP_MAX_TEXTURE_SAMPLERSMarek Olšák2011-09-301-1/+1
| | | | | | | | | This removes: - PIPE_CAP_MAX_TEXTURE_IMAGE_UNITS - PIPE_CAP_MAX_VERTEX_TEXTURE_UNITS in favor of the that new per-shader cap. Reviewed-by: Brian Paul <[email protected]>
* d3d1x: propagate DepthBiasClamp to rasterizer csoChristoph Bumiller2011-09-281-2/+1
|
* d3d1x: fix uninitialized const color union blackChristoph Bumiller2011-09-281-1/+1
| | | | Broken by 6dd284f7c8fac22f64c13fdf9909094f5ec59086.
* gallium: move border color to be a color unionDave Airlie2011-09-272-5/+5
| | | | | | | | | | EXT_texture_integer also specifies border color should be a color union, the values are used according to the texture sampler format. (update docs) Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* d3d1x: setup draw info primitive restart parametersChristoph Bumiller2011-09-221-3/+22
|
* gallium: move clear paths from rgba to a pointer to a color union (v2)Dave Airlie2011-09-182-6/+11
| | | | | | | | | | | | | | | This moves the gallium interface for clears from using a pointer to 4 floats to a pointer to a union of float/unsigned/int values. Notes: 1. the value is opaque. 2. only when the value is used should it be interpretered according to the surface format it is going to be used with. 3. float clears on integer buffers and vice-versa are undefined. v2: fixed up vega and graw, dropped hunks that shouldn't have been in patch. Signed-off-by: Dave Airlie <[email protected]>
* d3d1x: fix parsing of SM4 relative addressing register opChristoph Bumiller2011-09-171-1/+1
|
* d3d1x: set flatshade_first in rasterizer stateChristoph Bumiller2011-09-172-0/+2
| | | | D3D10 specifies the first vertex as the leading/provoking one.
* d3d1x: initialize point size and line width to 1Christoph Bumiller2011-09-172-0/+4
| | | | | | Otherwise lines would never be visible since the width cannot be specified in D3D10. Wireframe mode is also affected by line width.