History log of /external/mesa3d/src/gallium/state_trackers/va/image.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
34f46348438b29e20d06cca312616cfba8ee05f6 22-Jul-2016 Boyuan Zhang <boyuan.zhang@amd.com> st/va: add conversion for yv12 to nv12in putimage v2

For putimage call, if image format is yv12 (or IYUV with U V field swap) and
surface format is nv12, then we need to convert yv12 to nv12 and then copy
the converted data from image to surface. We can't use the existing logic
where surface is destroyed and re-created with yv12 format.

v2 (chk): fix some compiler warnings and commit message

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Signed-off-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.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/va/image.c
a04804746f6d999905cda125a0778160d62c73a2 02-Jun-2016 Julien Isorce <j.isorce@samsung.com> st/va: use proper temp pipe_video_buffer template

Instead of changing the format on the existing template
which makes error handling not nice and confuses coverity.

CoverityID: 1337953

Signed-off-by: Julien Isorce <j.isorce@samsung.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
b9855dcdf7c94605305d6372d1f9883f76d10b6a 05-Mar-2016 Thomas Hindoe Paaboel Andersen <phomes@gmail.com> st/va: avoid dereference after free in vlVaDestroyImage

Cc: "11.1 11.2" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Tested-by: Julien Isorce <j.isorce@samsung.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
9f644295dca3ad077beb217f4e105ab11cf338c9 16-Dec-2015 Christian König <christian.koenig@amd.com> st/va: use vl_video_buffer_adjust_size

Use the new helper function instead of open coding it.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
8479782361ab58eeacee7f81b18d9597553859ce 16-Dec-2015 Christian König <christian.koenig@amd.com> st/va: make the implementation thread safe v2

Otherwise we might crash with MPV.

v2: minor cleanups suggested on the list.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Julien Isorce <j.isorce@samsung.com>
Tested-by: Julien Isorce <j.isorce@samsung.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
a87a1420d6c13e6ccf9fbc28c073789d09225e17 08-Dec-2015 Christian König <christian.koenig@amd.com> st/va: remove fence handling v3

It's nonsense to drain the pipeline like this.

v2: keep the drain for DMA-buf exports.
v3: flush before the export and after compositing and add TODO comment.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Julien Isorce <j.isorce@samsung.com>
Tested-by: Julien Isorce <j.isorce@samsung.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
89eb342defb294400643759f2deb456a33b95e8f 15-Dec-2015 Julien Isorce <julien.isorce@gmail.com> st/va: retrieve size from the temporary img variable

"image" is not ready yet since it will be set at
the end of the function by: *image = *img;

Signed-off-by: Julien Isorce <j.isorce@samsung.com>
Reviewed-by: Christian K<C3><B6>nig <christian.koenig@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
bfc245e9ac430aab0b3c4c2a1b7767793f2854b0 06-Nov-2015 Julien Isorce <j.isorce@samsung.com> st/va: properly indent buffer.c, config.c, image.c and picture.c

Some lines were using 4 indentation spaces instead of 3.

Signed-off-by: Julien Isorce <j.isorce@samsung.com>
Reviewed-by: Christian K<C3><B6>nig <christian.koenig@amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
802ba6f8655bf967299b027204ecdd5855050609 30-Oct-2015 Julien Isorce <j.isorce@samsung.com> st/va: implement VaDeriveImage

And apply relatives change to:
vlVaBufferSetNumElements
vlVaCreateBuffer
vlVaMapBuffer
vlVaUnmapBuffer
vlVaDestroyBuffer
vlVaPutImage

It is unfortunate that there is no proper va buffer type and struct
for this. Only possible to use VAImageBufferType which is normally
used for normal user data array.
On of the consequences is that it is only possible VaDeriveImage
is only useful on surfaces backed with contiguous planes.
Implementation inspired from cgit.freedesktop.org/vaapi/intel-driver

Signed-off-by: Julien Isorce <j.isorce@samsung.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
d42029d2d9bc6b65ccf847dc9ba2e70b496d0299 30-Oct-2015 Julien Isorce <j.isorce@samsung.com> st/va: do not destroy old buffer when new one failed

If formats are not the same vlVaPutImage re-creates the video
buffer with the right format. But if the creation of this new
video buffer fails then the surface looses its current buffer.
Let's just destroy the previous buffer on success.

Signed-off-by: Julien Isorce <j.isorce@samsung.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
87109e5f88131b78232e42c8fe246002867fb247 30-Oct-2015 Julien Isorce <j.isorce@samsung.com> st/va: properly defines VAImageFormat formats and improve VaCreateImage

Added PIPE_VIDEO_CHROMA_FORMAT_NONE in p_format.h
and return it by default in ChromaToPipe.

Renamed YCbCrToPipe to VaFourccToPipeFormat because it now
contains RGB.

Implemented PipeFormatToVaFourcc which will be used later in
VlVaDeriveImage.

Note that gstreamer-vaapi check all the VAImageFormat fields.

Signed-off-by: Julien Isorce <j.isorce@samsung.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
b0a44f1017be51c3eb612da2a6ccd5df5695c25a 15-Oct-2015 Indrajit Das <indrajit-kumar.das@amd.com> st/va: Added support for NV12 to IYUV conversion in vlVaGetImage

Reviewed-by: Christian König <christian.koenig@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
381c17d695b39f9ab501f5aa5a3cc42c8519ac3b 15-Oct-2015 Indrajit Das <indrajit-kumar.das@amd.com> st/va: Used correct parameter to derive the value of the "h" variable in vlVaCreateImage

Cc: "11.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
05e225b558a330994cacad5d97f640cff86b4aff 03-Nov-2014 Michael Varga <Michael.Varga@amd.com> st/va: added internal storage for VAImage and BGRA format

When calling vaCreateImage() an internal copy of VAImage is maintained
since the allocation of "image" may not be guaranteed to live long enough.

Signed-off-by: Michael Varga <Michael.Varga@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
7b4f233c1f80f2f6f80c19137328a54f06cbc37c 27-Oct-2014 Michael Varga <Michael.Varga@amd.com> st/va: added some calls to handle_table_remove()

In a few locations handles were being added but not removed.

Signed-off-by: Michael Varga <Michael.Varga@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
4f7916ab4f8093fa33519dfa3d08e73b4d35ebe3 18-Sep-2014 Leo Liu <leo.liu@amd.com> st/va: implement vlVa(Query|Create|Get|Put|Destroy)Image

This patch implements functions for images support,
which basically supports copy data between video
surface and user buffers, in this case supports
SW decode, and other video output

v2: fix buffer size for odd-sized image case
expose I420 format as well
v3: fix YUV 4:2:2 format data buffer size
cleanup I420 format exposure

Signed-off-by: Leo Liu <leo.liu@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c
3867933ecbc34ed1f68d735282580ca1e4eedea1 02-Jul-2014 Christian König <christian.koenig@amd.com> st/va: skeleton VAAPI state tracker

This patch adds a skeleton VA-API state tracker,
which is filled with live in the subsequent patches.

v2: fixes in configure.ac and va state_tracker Makefile.am
v3: do not link against libva.
detect libva version, and correctly set driver entrypoint name.
rebase(cleanup) targets/va/Makefile.am
v4: cleanup va version auto detection
add back targets/va/va.sym

Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
/external/mesa3d/src/gallium/state_trackers/va/image.c