0444ef0832be74cd79fec026d552c5ffcff2cd41 |
|
15-Mar-2017 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Resolve deadlock in surface/volume dtors when using csmt Surfaces and Volumes can be freed in the worker thread. Without this patch, pending_uploads_counter could be non-zero in the Surfaces or Volumes dtor, leading to deadlock. Instead decrease properly the counter before releasing the item. Also avoid another potential deadlock if the item is not properly unlocked: Do not call UnlockRect which will cause deadlock, but free directly using the deadlock safe nine_context_get_pipe_multithread. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99246 CC: "17.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Axel Davy <axel.davy@ens.fr> Tested-by: James Harvey <lothmordor@gmail.com> (cherry picked from commit bd85bb51c717a1858157c73adcb689e3986b2134)
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
1e64be6f91652e7e5ba60c86c379ee41bb7e4f81 |
|
04-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Do not wait for DEFAULT lock for volumes when we can If the volumes (and the texture container) are not referenced, then they are no pending operations on them. We can lock directly. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
7089d88199d607d8a135a9605f14ec6393134205 |
|
04-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Bind destination for surface/volume uploads Will enable to use the bind count as an information for whether the surface/volume is used in the worker thread. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
d4a9b21feb890c149f0aa44b0bb6ea63a9932925 |
|
04-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Use nine_context_box_upload for volumes Use nine_context_box_upload for uploads: . systemmem volume to default volume . managed volume internal content to its resource. Check the uploads are executed before any action that can alter the data, that is LockBox and volume destruction. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
31262bbce085c69ef7a654528f509cb37415b41f |
|
12-Nov-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: use get_pipe_acquire/release when possible Use the acquire/release semantic when we don't need to wait for any pending command. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
c7237e2c5c9935d80f04f2793bde9489ca6bda9d |
|
28-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Access pipe_context via NineDevice9_GetPipe Except for nine_ff and nine_state. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
b2f17e5f62e43ab6fd07d8752d0fc27f89f8aa37 |
|
06-Dec-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Silent warnings with guid_str In non-debug build, the variables are unused, and thus trigger a compilation warning. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
fe7bb46134162c9a9a18832f1746991aa78121e8 |
|
22-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Fix mistake in Volume9 UnlockBox In the format fallback path, the height was used instead of the depth. CC: "12.0 13.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
942778099ea597ee6b04ebdc74f506667fc7782c |
|
21-Oct-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Use align_calloc instead of align_malloc We are not sure exactly what needs to be 0 initialized, but we are missing some cases. 0 initialize all our current aligned allocation. Fixes Tree of Savior visual issues. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
03888e8a46be7943378f0a09cea3f404ba623101 |
|
16-Sep-2016 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Remove volume9 {Set/Get/Free}PrivateData functions Remove {Set/Get/Free}PrivateData in volume9. Functionality has been implement in IUnknown interface. Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
485cba7eb4f53ccd40a24d229cb7307ce4be27de |
|
16-Sep-2016 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Switch {Set/Get/Free}PrivateData functions Switch {Set/Get/Free}PrivateData function to introduced IUnknown functions. Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
f2eacef33de8d7b136b485927cb10f15d7439d48 |
|
14-Sep-2016 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Print interface id in NineVolume9_GetContainer To ease debugging print interface id. Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
1ffe77e7bb2486ea74cda077ed2a9622b758395c |
|
16-Jul-2016 |
Marek Olšák <marek.olsak@amd.com> |
gallium: split transfer_inline_write into buffer and texture callbacks to reduce the call indirections with u_resource_vtbl. The worst call tree you could get was: - u_transfer_inline_write_vtbl - u_default_transfer_inline_write - u_transfer_map_vtbl - driver_transfer_map - u_transfer_unmap_vtbl - driver_transfer_unmap That's 6 indirect calls. Some drivers only had 5. The goal is to have 1 indirect call for drivers that care. The resource type can be determined statically at most call sites. The new interface is: pipe_context::buffer_subdata(ctx, resource, usage, offset, size, data) pipe_context::texture_subdata(ctx, resource, level, usage, box, data, stride, layer_stride) v2: fix whitespace, correct ilo's behavior Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Acked-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
23e2a235dceaf1f2a7a3cf08e3c34c5068f8cc78 |
|
07-Mar-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Remove one useless function output Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
258ca1823c322661122d2d033c8b7facd3eb7767 |
|
07-Mar-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Add format fallback with conversion to volumes Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
77d6c11f8fa87ba1070028cb036807dc8a115633 |
|
07-Feb-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Align stack for entry points For 32 bits, incoming stack is 4-byte aligned. We need to realign the stack to 16-byte at some point, or there are issues later (crash with SSE, llvm, etc). This patch chooses to align the stack at API entry points. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
6cba347530433c61b218d2b897fb57f33835b37b |
|
26-Jan-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: SCRATCH does support all formats Add new argument to d3d9_to_pipe_format_checked to be able to bypass format support checks. This argument is set to TRUE when the requested Pool is SCRATCH. Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
77a5871c1dfcc2cf3032e873a5c7e4a2e7093889 |
|
26-Jan-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Do not set resource usage for SYSTEMMEM We do not create a resource for SYSTEMMEM textures, thus we do not need to set resource usage. The only exception is vertexbuffer SYSTEMMEM, since we do use a pipe resource for them. Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
94d91c67077a5efd13b9505fe01a3c80ccb37bc9 |
|
28-Jan-2016 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Use align_free when needed Use align_free to free memory allocated with align_malloc. Signed-off-by: Axel Davy <axel.davy@ens.fr> Reviewed-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
7f58ba45a8ef043fba98cdd56c122fe5e3091332 |
|
31-Aug-2015 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Fix Volumetexture9_LockBox Check for valid locked box dimensions. Fixes failing wine tests device.c test_lockbox_invalid. Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
f396cd43ab148ff77b8df3344610ee6f2224d21d |
|
14-May-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Fix Lock Checks for Compressed textures Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
48d895aa4b2475ef0af234b832d92d0ac4a47761 |
|
13-May-2015 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Return NULL pointer in lock error cases Tests showed, that in case of errors, the pBits pointer is set to NULL. The pBits field isn't set to NULL in case of an already locked object. Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
b75f830166eaf294e43746f1bf5630f7f2dcf30f |
|
03-May-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Simplify NineVolume9_CopyVolume We had only one usage for this function. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
3f36ad732c7fbe8fd38aa852c3699101fdd5041d |
|
05-May-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Simplify Volume9 dirty region tracking Similar to what was done for Surface9, track the dirty region only in VolumeTexture9. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
886227d363b7e889e2a9162c27059e2a9fe79cb7 |
|
12-May-2015 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Align texture memory Align texture memory on 32 byte boundry to allow SSE/AVX memcpy to work on locked rects. This fixes some crashes with games using SSE. Reviewed-by: David Heidelberg <david@ixit.cz> Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
a2a1a5805fd617e7f3cc8be44dd79b50da07ebb9 |
|
21-Jul-2015 |
Ilia Mirkin <imirkin@alum.mit.edu> |
gallium: replace INLINE with inline Generated by running: git grep -l INLINE src/gallium/ | xargs sed -i 's/\bINLINE\b/inline/g' git grep -l INLINE src/mesa/state_tracker/ | xargs sed -i 's/\bINLINE\b/inline/g' git checkout src/gallium/state_trackers/clover/Doxyfile and manual edits to src/gallium/include/pipe/p_compiler.h src/gallium/README.portability to remove mentions of the inline define. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Marek Olšák <marek.olsak@amd.com>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
7a7758c5525fa90bf7c546acc58a9ea41f7d320b |
|
19-Feb-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: D3DUSAGE_AUTOGENMIPMAP is forbidden for volumes Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
4c2247ac60f426a6441f964f2204af9f8dc04dc5 |
|
19-Feb-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Remove impossible cases with Managed textures Copying to/from a Managed texture is forbidden. Rendering to a Managed texture is forbidden. Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
e558ce98f2b01e11ff79c29efaea2877121ae04a |
|
19-Feb-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Encapsulate variables for MANAGED resource Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
27e438e35630819914bd42c5aa27fe6e53ebe491 |
|
10-Jan-2015 |
Axel Davy <axel.davy@ens.fr> |
st/nine: Refactor format d3d9 to pipe conversion Move the checks of whether the format is supported into a common place. The advantage is that allows to handle when a d3d9 format can be mapped to several formats, and that cards don't support all of them. Reviewed-by: Tiziano Bacocco <tizbac2@gmail.com> Signed-off-by: Axel Davy <axel.davy@ens.fr>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
dfeca90419ac50e0776a3fdb102a2975c8075391 |
|
07-Jan-2015 |
Patrick Rudolph <siro@das-labor.org> |
st/nine: Do not leak private data in volume9. This->data was allocated by nine, but not freed. Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: Patrick Rudolph <siro@das-labor.org>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
7f74b9d47928979fdad445db1e0f249688c62991 |
|
25-Nov-2014 |
Stanislaw Halik <sthalik@misaki.pl> |
st/nine: call DBG() at more external entry points Cc: "10.4" <mesa-stable@lists.freedesktop.org> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu> Reviewed-by: David Heidelberg <david@ixit.cz> Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: Stanislaw Halik <sthalik@misaki.pl>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|
fdd96578ef2dfe9c4ad5aab5858036298d444a64 |
|
04-Aug-2011 |
Joakim Sindholt <opensource@zhasha.com> |
nine: Add state tracker nine for Direct3D9 (v3) Work of Joakim Sindholt (zhasha) and Christoph Bumiller (chrisbmr). DRI3 port done by Axel Davy (mannerov). v2: - nine_debug.c: klass extended from 32 chars to 96 (for sure) by glennk - Nine improvements by Axel Davy (which also fixed some wine tests) - by Emil Velikov: - convert to static/shared drivers - Sort and cleanup the includes - Use AM_CPPFLAGS for the defines - Add the linker garbage collector - Restrict the exported symbols (think llvm) v3: - small nine fixes - build system improvements by Emil Velikov v4: [Emil Velikov] - Do no link against libudev. No longer needed. Acked-by: Jose Fonseca <jfonseca@vmware.com> Reviewed-by: Marek Olšák <marek.olsak@amd.com> Reviewed-by: Axel Davy <axel.davy@ens.fr> Signed-off-by: David Heidelberg <david@ixit.cz>
/external/mesa3d/src/gallium/state_trackers/nine/volume9.c
|