History log of /external/mesa3d/src/amd/vulkan/radv_device.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b5ed3f87160911bc3cc7d81954ea10a24e24824b 07-Mar-2017 Dave Airlie <airlied@redhat.com> radv: disable mip point pre clamping.

No idea what this does, but disabling it fixes a bunch
of failing CTS tests in the lod area, so let's go with that.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit d81bd2f75462646d3803d683a28f6682a2ce3078)
/external/mesa3d/src/amd/vulkan/radv_device.c
e42f43b62bdfb30f39894409a05d104a44c4ce69 14-Feb-2017 Dave Airlie <airlied@redhat.com> radv: change base aligmment for allocated memory.

On some CIK (Hawaii) this needs to be at least 64k, I'm not 100% sure
it doesn't need to be 128k.

This was causing fast clear eliminate to overwrite the previous buffer,
which since my gfx init code, was the indirect buffer.

Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99692
Tested-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: "13.0 17.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit 06ffd299252311f57feac4474551bd5b44d3d4d4)
/external/mesa3d/src/amd/vulkan/radv_device.c
0c4b8c75e2df340db306a5193eb6bc03babfd8c1 23-Jan-2017 Grazvydas Ignotas <notasas@gmail.com> radv: don't resubmit the same cs over and over while tracing

Fixes: 97dfff54 ("radv: Dump command buffer on hang.")
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
CC: <mesa-stable@lists.freedesktop.org>
(cherry picked from commit f65b3641c3233f1697b96ea8126b578dae6de4f1)
/external/mesa3d/src/amd/vulkan/radv_device.c
5ae4de18d93eb47fefe09b516189a2794f2e4a51 16-Jan-2017 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Support multiple devices.

Pretty straightforward. Also deleted the big comment block as it
is a pretty standard pattern for filling in arrays.

Also removed the error message on non-existent devices, as getting
7 errors printed to the console each time you enumerate the
devices is pretty confusing.

v2: Add constant for number of DRM devices.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
8406f79d6a3511dc6bf4d9c2ab3a80828c363d3a 16-Jan-2017 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Get physical device from radv_device instead of the instance.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
1e1bddf15a1720917b11e44dc639351ad613c3dc 14-Jan-2017 Andres Rodriguez <andresx7@gmail.com> radv: make device extension setup dynamic

Each physical device may have different extensions than one another.
Furthermore, depending on the software stack, some extensions may not be
accessible.

If an extension is conditional, it can be registered only when
necessary.

v2: removed unused function and fixed indentation

Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
5323efb685634341df10f7f5b2fe37a0a2ca5e52 14-Jan-2017 Andres Rodriguez <andresx7@gmail.com> radv: rename global extension properties structs

All extension arrays are global, but only one of them refers to instance
extensions.

The device extension array refers to extensions that are common across
all physical devices. This disctinction will be more imporant once we
have dynamic extension support for devices.

Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
0eb8b6a3e1e36d0961387e26c8ce03f7e296d81e 14-Jan-2017 Andres Rodriguez <andresx7@gmail.com> radv: use a winsys context per-queue, instead of per device v2

Queues are independent execution streams. The vulkan spec provides no
ordering guarantees for different queues.

By using a single context for all queues, we are forcing all commands
into an unecessary FIFO ordering.

This change is a preparation step to allow our-of-ordering scheduling of
certain work tasks.

v2: Fix a rebase error with radv_QueueSubmit() and trace_bo
Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
6d2fb04f0922047232d10b2a5d292d68c9506f45 13-Jan-2017 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Support loader interface version 3.

Port of 1e41d7f7b0855934744fe578ba4eae9209ee69f7:
"anv: Support loader interface version 3 (patch v2)"

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
8bc39e251bf9793b30388aeb468d9cbe8eeeacab 02-Jan-2017 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Create single RADV_DEBUG env var.

Also changed RADV_SHOW_QUEUES to a no compute queue option. That
would make more sense later when the compute queue is established,
but the transfer queue still experimental.

v2: Don't include the trace flag.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
97dfff54105ac10b6e2daace020687eefdcc28c0 23-Dec-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Dump command buffer on hang.

v2:
- Now use the filename specified by RADV_TRACE_FILE env var.
- Use the same var to enable tracing.

I thought we could as well always set the filename explicitly
instead of having some arbitrary defaults, and at that point
we don't need a separate feature enable.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
1f13cb8b153b92bf1da8caa62c9176b875fe7e0f 30-Dec-2016 Ilia Mirkin <imirkin@alum.mit.edu> anv,radv: disable StorageImageWriteWithoutFormat for now

The SPIR-V capability isn't even marked as enabled, and there are no
tests in Vulkan-CTS. Per Jason Ekstrand, this won't work in anv as such
write-only surfaces require additional setup which is currently not
performed.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Dave Airlie <airlied@redhat.com>
Acked-by: Jason Ekstrand <jason.ekstrand@intel.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
3a30b1a556b1ed7dc60befcec16343e80a3bd77e 25-Dec-2016 Damien Grassart <damien@grassart.com> radv: return count of queue families written

The Vulkan spec indicates that
vkGetPhysicalDeviceQueueFamilyProperties() should overwrite
pQueueFamilyPropertyCount with the number of structures actually
written to pQueueFamilyProperties.

Signed-off-by: Damien Grassart <damien@grassart.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
e7279f16a0bf37a26e2556b188c760cd16fd60bb 22-Dec-2016 Dave Airlie <airlied@redhat.com> radv: set some proper values for interp offset limits.

These are taken from the amdgpu-pro driver, and cause no
CTS change.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
14737bcdd5cc5ebd6694df82917959bc8badce91 22-Dec-2016 Dave Airlie <airlied@redhat.com> radv: bump texel offsets to align with radeonsi

it appears from the amdgpu-pro results the hw can do more,
but let's just align with radeonsi for now.

No CTS regressions.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
877202b6dc202fff3ba548aaf423bab484200b61 22-Dec-2016 Dave Airlie <airlied@redhat.com> radv: enable shaderStorageImageExtendedFormats

This passes all the CTS tests that get enabled for this.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
a3ca2a9b7b629db17d6acfb8d015231140d4e8b2 22-Dec-2016 Dave Airlie <airlied@redhat.com> radv: enable shaderGatherImageExtended

Thanks to Ilia's patch this works fine on radv.

No regressions in CTS, all enabled tests pass.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
1d529cba024f8b56c4ce4ae7294c6d1bac23ad08 18-Dec-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Use correct workgroup size limits.

Not sure where the 16k comes from, but pretty sure 2k is the max.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
6229994ab75cab2565c3df7b47b8fb32e4b31d45 30-Nov-2016 Dave Airlie <airlied@redhat.com> radv: expose the compute queue

v2: Don't expose the SDMA queue and use the CIK check also in the
second if. (Bas)

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
f2523ebf52a4ed1e9a90ce527398d13ee493cb22 17-Dec-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Create an empty CS per ring type.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
72aaa83f4b5ba193cd4570da610893cd7b054332 01-Dec-2016 Dave Airlie <airlied@redhat.com> radv: add semaphore support

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
d270b5fac3c97f9a19ad27393aca7daccfd0bced 01-Dec-2016 Dave Airlie <airlied@redhat.com> radv: pass queue index into winsys submission

This is so we can submit on separate queues if needed

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
71dabe1c16f5a6ae5784c1de46cf965fb3d8b753 17-Dec-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv/winsys: Make WaitIdle queue aware.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
c20701f4be953658cd000d6e075200ba9b26f814 30-Nov-2016 Dave Airlie <airlied@redhat.com> radv: start fixing up queue allocate for multiple queues

v2: Fix error handling and zero init the device (Bas)

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
7ad1c24e2afab3aacd56af9ffb48e2538d3dd3ee 01-Dec-2016 Dave Airlie <airlied@redhat.com> radv: handle fence allocation failing

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
53e1c970efec039047527cd06aafd09ecb86babe 08-Dec-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Use enum for memory types.

Inspired by patches from Eric Engestrom.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Cc: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
4ae84efbc5c6f3cad830c71b7569a2659e43fb29 08-Dec-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Use enum for memory heaps.

Inspired by patches from Eric Engestrom.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Cc: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
029e8ff81c65c2e0562be4a5d93fe83a9df49233 29-Nov-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Initialize the shader_stats_dump flag.

Meta was using it before it was set. I suspect we typically don't
want to dump meta shaders, so just set it to false in the beginning.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
f9ab60202d48c72afa6a6f2a8c27db1e0777ed16 29-Nov-2016 Dave Airlie <airlied@redhat.com> anv: set maxFragmentDualSrcAttachments to 1

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reported-by: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
7c277eae986ae230b36fc09fd2346f10ea8589e4 24-Nov-2016 Emil Velikov <emil.velikov@collabora.com> radv: don't return VK_SUCCESS if radv_device_get_cache_uuid() fails

If radv_device_get_cache_uuid() fails result will be VK_SUCCESS as set
by the radv_init_wsi() call above.

Fixes: d943839 (radv: Use library mtime for cache UUID.)
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
78707a15f205f9c2f45dc43ccbb99eb43029dc78 24-Nov-2016 Emil Velikov <emil.velikov@collabora.com> radv: don't leak the fd if radv_physical_device_init() succeeds

radv_amdgpu_winsys_create() does not take ownership of the fd, thus we
end up leaking it as we return with VK_SUCCESS.

Cc: Dave Airlie <airlied@redhat.com>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
/external/mesa3d/src/amd/vulkan/radv_device.c
a025c5b2c7c9c6862006b13c9b8ab46c3acf8e53 24-Nov-2016 Emil Velikov <emil.velikov@collabora.com> radv: honour the number of properties available

Cap up-to the number of properties available while copying the data.
Otherwise we might crash and/or leak data.

Cc: Dave Airlie <airlied@redhat.com>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
0a27dd458b5030be58073f6ab84e144a91be1ced 25-Nov-2016 Mun Gwan-gyeong <elongbug@gmail.com> radv: drop the return type for radv_queue_init()

radv_queue_init() always returns VK_SUCCESS, so caller does not need
to check return value of radv_queue_init().

Signed-off-by: Mun Gwan-gyeong <elongbug@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
28c781b574605edd713526581daec1c464d1aff3 23-Nov-2016 Fredrik Höglund <fredrik@kde.org> radv: add support for VK_AMD_draw_indirect_count

Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
eff7bbc47eb574c844edfb8fbb9b4fdc943f55ec 23-Nov-2016 Fredrik Höglund <fredrik@kde.org> radv: add support for VK_AMD_negative_viewport_height

The driver already supports this extension in practice.

Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
2c748c5c8a19f331b9b96f4b4365c015d9b3e68c 23-Nov-2016 Fredrik Höglund <fredrik@kde.org> radv: add support for VK_KHR_sampler_mirror_clamp_to_edge

radv_tex_wrap() already supports VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE,
so all that's needed is to advertise support for the extension.

Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
5cbcbc75f437b805e5c3c0c3b5c1192c0d68c1f5 23-Nov-2016 Fredrik Höglund <fredrik@kde.org> radv: add support for anisotropic filtering on SI-CI

Ported from radeonsi.

Note that si_make_texture_descriptor() already sets img7 to the mask
value referred to in the comment.

Reviewed-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
f395e3445df98b0398865a1897bca003f9add6f4 22-Nov-2016 Dave Airlie <airlied@redhat.com> radv: add support for shader stats dump

I've started working on a shader-db alike for Vulkan,
it's based on vktrace and it records pipelines, this
adds support to dump the shader stats exactly like
radeonsi does, so I can reuse the shader-db scripts it
uses.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
24427e31ef5949ded323ae193f0e414417972c17 22-Nov-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Incorporate GPU family into cache UUID.

Invalidates the cache when someone switches cards.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
d94383970f2cad9f474760b18fd277efeda4c612 22-Nov-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Use library mtime for cache UUID.

We want to also invalidate the cache when LLVM gets changed. As the
specific LLVM revision is not fixed at build time, we will need to
check at runtime. Computing a checksum for LLVM is going to be very
expensive, so just use the mtime.

Tested on my computer that the returned DSO for the LLVM symbol is
actually the LLVM DSO.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
43ee4917cadbba7677def091333edbf3cf069f8a 22-Nov-2016 Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> radv: Store UUID in physical device.

No sense in repeatedly determining it. Also, it might be dependent
on the device as shaders get compiled differently for SI/CIK/VI etc.

Signed-off-by: Bas Nieuwenhuizen <basni@google.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
abe110df019af230bd3d29fb73c046fc404b5525 09-Nov-2016 Emil Velikov <emil.velikov@collabora.com> radv: use correct .specVersion for extensions

Analogous to previous commit.

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Dave Airlie <airlied@redhat.com> (IRC)
/external/mesa3d/src/amd/vulkan/radv_device.c
fb50245ac1e1eb60b2451d9d6dd05388cb89634a 09-Nov-2016 Dave Airlie <airlied@redhat.com> radv: fix GetFenceStatus for signaled fences

if a fence is created pre-signaled we should return that
in GetFenceStatus even if it hasn't been submitted.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Gustaw Smolarczyk <wielkiegie@gmail.com>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
e7b9c5eb74619dbda3f24928196ab8c8d9408c0b 27-Oct-2016 Fredrik Höglund <fredrik@kde.org> radv: add support for anisotropic filtering on VI+

Ported from radeonsi.

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
9f0726f3e509c80c78ddb5e7411fa34f676de71d 02-Nov-2016 Dave Airlie <airlied@redhat.com> radv: expose xlib platform extension

I missed this when I added the xlib code, this allows
dolphin emu to start and crash later.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
044ef54d65e5f64126755503eefa411b1bdb8816 27-Oct-2016 Fredrik Höglund <fredrik@kde.org> radv: split the device local memory heap into two

Advertise two device local memory heaps; one that is host visible
and one that is not.

This makes it possible for clients to tell how much host visible
vs. non-host visible memory is available.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
c9675b4e17e10abef9886b0aacb84e196655e510 26-Oct-2016 Fredrik Höglund <fredrik@kde.org> radv: add a write-combining host-local memory type

Add the new memory type between the two device-local types. This makes
the list of supported memory types look like this:

1) DEVICE_LOCAL | | |
2) | HOST_VISIBLE | HOST_COHERENT |
3) DEVICE_LOCAL | HOST_VISIBLE | HOST_COHERENT |
4) | HOST_VISIBLE | HOST_COHERENT | HOST_CACHED

With this order a client that searches for a HOST_VISIBLE and
HOST_COHERENT memory type using the algorithm described in section
10.2 of the Vulkan specification (revision 32) will find the host-
local memory type first.

A client that requires the memory type to be HOST_VISIBLE and
HOST_COHERENT, but not DEVICE_LOCAL is most likely searching for
a memory type suitable for staging buffers / images.
Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net>

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
0a153f4ee472f8f17575bbfe05f1c96fb5ecf1ea 25-Oct-2016 Fredrik Höglund <fredrik@kde.org> radv: mark the fence as submitted and signalled in vkAcquireNextImageKHR

This stops the debug layers from complaining when fences are used to
throttle image acquisition.

Cc: "13.0" <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
4450f405195d77f8bcc3fbd3e590405c8f540fab 14-Oct-2016 Dave Airlie <airlied@redhat.com> radv: move to using shared vk_alloc inlines.

This moves to the shared vk_alloc inlines for vulkan
memory allocations.

Acked-by: Jason Ekstrand <jason@jlekstrand.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
35e2bfa6d912ad3ef57195b0e8f31f21eb64678e 12-Oct-2016 Nicolas Koch <nioko1337@gmail.com> radv: Return correct result in EnumeratePhysicalDevices

If pPhysicalDevices is too small for all physical devices,
the driver must return VK_INCOMPLETE. Since only a single
physical device is supported, this is only the case when
pPhysicalDeviceCount == 0 && pPhysicalDevices != NULL.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
fc28f89157254ddf638e52ea20cdfe675ab4c382 11-Oct-2016 Dave Airlie <airlied@redhat.com> radv: check driver name before calling amdgpu.

This checks the kernel driver name is amdgpu before calling
libdrm_amdgpu.

This avoids the following error:
amdgpu_device_initialize: DRM version is 1.6.0 but this driver is only compatible with 3.x.x

when run on a machine with i915 graphics as well as amdgpu.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
6215b476482fa3a76d3245d88ab127a7c060e115 12-Oct-2016 Dave Airlie <airlied@redhat.com> radv: fix memory leak from physical device if wsi fails

Inspired by patch from Edward O'Callaghan <funfunctor@folklore1984.net>
which didn't do it right.

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
24815bd7b3b50d2e634b56ca607856ecf08ec4ee 06-Oct-2016 Gustaw Smolarczyk <wielkiegie@gmail.com> radv: Skip already signalled fences.

If the user created a fence with VK_FENCE_CREATE_SIGNALED_BIT set, we
shouldn't fail to wait for a fence if it was not submitted since that is
not necessary.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>

Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c
f4e499ec79147f4172f3669ae9dafd941aaeeb65 07-Oct-2016 Dave Airlie <airlied@redhat.com> radv: add initial non-conformant radv vulkan driver

This squashes all the radv development up until now into
one for merging.

History can be found:
https://github.com/airlied/mesa/tree/semi-interesting

This requires llvm 3.9 and is in no way considered
a conformant vulkan implementation. It can run a number
of vulkan applications, and supports all GPUs using
the amdgpu kernel driver.

Thanks to Intel for providing anv and spirv->nir,
and Emil Velikov for reviewing build integration.

Parts of this are:
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>

Authors: Bas Nieuwenhuizen and Dave Airlie
Signed-off-by: Dave Airlie <airlied@redhat.com>
/external/mesa3d/src/amd/vulkan/radv_device.c