summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers/nine/volume9.c
Commit message (Collapse)AuthorAgeFilesLines
* st/nine: Fix mistake in Volume9 UnlockBoxAxel Davy2016-10-271-1/+1
| | | | | | | | | | 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> (cherry picked from commit fe7bb46134162c9a9a18832f1746991aa78121e8)
* st/nine: Remove volume9 {Set/Get/Free}PrivateData functionsPatrick Rudolph2016-10-101-101/+0
| | | | | | | | 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>
* st/nine: Switch {Set/Get/Free}PrivateData functionsPatrick Rudolph2016-10-101-3/+3
| | | | | | | 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>
* st/nine: Print interface id in NineVolume9_GetContainerPatrick Rudolph2016-10-101-0/+5
| | | | | | | To ease debugging print interface id. Signed-off-by: Patrick Rudolph <siro@das-labor.org> Reviewed-by: Axel Davy <axel.davy@ens.fr>
* gallium: split transfer_inline_write into buffer and texture callbacksMarek Olšák2016-07-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* st/nine: Remove one useless function outputAxel Davy2016-05-181-3/+3
| | | | Signed-off-by: Axel Davy <axel.davy@ens.fr>
* st/nine: Add format fallback with conversion to volumesAxel Davy2016-05-181-9/+106
| | | | Signed-off-by: Axel Davy <axel.davy@ens.fr>
* st/nine: Align stack for entry pointsAxel Davy2016-02-121-7/+7
| | | | | | | | | | 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>
* st/nine: SCRATCH does support all formatsAxel Davy2016-02-121-1/+2
| | | | | | | | | 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>
* st/nine: Do not set resource usage for SYSTEMMEMAxel Davy2016-02-121-3/+0
| | | | | | | | | | | 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>
* st/nine: Use align_free when neededAxel Davy2016-02-041-1/+1
| | | | | | | | 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>
* st/nine: Fix Volumetexture9_LockBoxPatrick Rudolph2016-02-041-0/+7
| | | | | | | | | 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>
* st/nine: Fix Lock Checks for Compressed texturesAxel Davy2015-08-211-4/+5
| | | | Signed-off-by: Axel Davy <axel.davy@ens.fr>
* st/nine: Return NULL pointer in lock error casesPatrick Rudolph2015-08-211-3/+7
| | | | | | | | 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>
* st/nine: Simplify NineVolume9_CopyVolumeAxel Davy2015-08-211-75/+15
| | | | | | We had only one usage for this function. Signed-off-by: Axel Davy <axel.davy@ens.fr>
* st/nine: Simplify Volume9 dirty region trackingAxel Davy2015-08-211-52/+30
| | | | | | | Similar to what was done for Surface9, track the dirty region only in VolumeTexture9. Signed-off-by: Axel Davy <axel.davy@ens.fr>
* st/nine: Align texture memoryPatrick Rudolph2015-08-211-1/+1
| | | | | | | | | | | 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>
* gallium: replace INLINE with inlineIlia Mirkin2015-07-211-4/+4
| | | | | | | | | | | | | | | | 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>
* st/nine: D3DUSAGE_AUTOGENMIPMAP is forbidden for volumesAxel Davy2015-04-291-3/+0
| | | | Signed-off-by: Axel Davy <axel.davy@ens.fr>
* st/nine: Remove impossible cases with Managed texturesAxel Davy2015-04-291-16/+3
| | | | | | | Copying to/from a Managed texture is forbidden. Rendering to a Managed texture is forbidden. Signed-off-by: Axel Davy <axel.davy@ens.fr>
* st/nine: Encapsulate variables for MANAGED resourceAxel Davy2015-04-291-1/+1
| | | | Signed-off-by: Axel Davy <axel.davy@ens.fr>
* st/nine: Refactor format d3d9 to pipe conversionAxel Davy2015-02-061-1/+8
| | | | | | | | | | | 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>
* st/nine: Do not leak private data in volume9.Patrick Rudolph2015-02-061-0/+3
| | | | | | | 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>
* st/nine: call DBG() at more external entry pointsStanislaw Halik2014-11-261-0/+8
| | | | | | | | 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>
* nine: Add state tracker nine for Direct3D9 (v3)Joakim Sindholt2014-11-181-0/+604
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>