History log of /frameworks/native/vulkan/libvulkan/layers_extensions.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8c6c10e20d40066468bf4350b64703e11d5bff10 19-May-2016 Jesse Hall <jessehall@google.com> libvulkan: Don't try to load compressed/unaligned libraries from APK

Bug: 28825642
Change-Id: I46ea3a54010cccf9e23696a4aff52a42a31d92b1
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
ed93ea39891341b4396ad9eb59cd98aa74e5d6c3 18-May-2016 Chia-I Wu <olv@google.com> vulkan: fix double dlopen for layer libraries

Bug: 28826014
Change-Id: I10693426f987e63bb490ac8d1f4445ce2d195d8d
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
40c07a1d002561fc8db987ec30d890b041fb6336 12-May-2016 Jesse Hall <jessehall@google.com> libvulkan: Load layer libraries into the app namespace

Bug: 28213888
Change-Id: I79901693c30f0e69730643b424e504a8d3628624
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
1a7eb59c2a7907ea4c4925c6d13d66e53fb60339 01-May-2016 Jesse Hall <jessehall@google.com> libvulkan: Discover layer libraries in entire search path

Previously we only searched the unpacked native library path for layer
libraries. Now we search all directories in the dynamic linker's
search path, including unpacked libraries in the APK itself.

Bug: 28213888
Change-Id: I37772fd90f705592ae1725c7c8603b0174e6b133
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
dab25658fb17ec76569b8e91dfed801855027f08 28-Apr-2016 Chia-I Wu <olv@google.com> vulkan: do not distinguish instance or device LayerRef

Merge Get*LayerRef into GetLayerRef and remove LayerRef::is_instance_.
With the removal, LayerRef::SupportsExtension becomes ambiguous. Replace
it with FindLayer*Extension. Remove unused LayerRef::GetName and
LayerRef::GetSpecName while at it.

There should be no user-visible change.

Bug: 27911856
Change-Id: I38340654b52338e9ed46d1c4462a6b254b0cab64
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
d6e6f51426c566cd67ed765e5c4b206a063aaa30 28-Apr-2016 Chia-I Wu <olv@google.com> vulkan: make Get*LayerRef take a Layer

The only user-visible change should be improved error messages.

Bug: 27911856
Change-Id: Ie50a9d37f07b590026176642f2c67270225f9280
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
04c6551eb812a7efe38fa74e6ac67c17aab3df2d 27-Apr-2016 Chia-I Wu <olv@google.com> vulkan: refactor layer extension enumeration

Replace Get*LayerExtensions by a set of new functions that do not
distinguish instance and device layers.

There should be no user-visible change.

Bug: 27911856
Change-Id: Icd98abf51a936769f8f2f218794043b5e2611c5c
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
25700b452535ce7ae838bfe832392b46ed555ed2 28-Apr-2016 Chia-I Wu <olv@google.com> vulkan: refactor layer enumeration

Replace Enumerate*Layers by a set of new functions that do not distinguish
instance and device layers. The new functions are also careful not to
pollute the rest of the loader with std containers.

There should be no user-visible change.

Bug: 27911856
Change-Id: I4790fadc1aa2ea934a4628bce55dd45892f15e0b
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
bea09db9c2165f06771f3a3da423f4f85ac6347e 22-Apr-2016 Chia-I Wu <olv@google.com> vulkan: remove g_device_layers

All device layers are now instance layers. We do not need to maintain two
vectors.

Change-Id: I97efd6c92395f00ac41aae6862e5607dfa678156
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
279ccc0048d5bc7105af02538e33946814c68dc7 18-Apr-2016 Chia-I Wu <olv@google.com> vulkan: ignore device-only layers

Ignore device layers that have no matching instance layers.

Change-Id: I6460f8f0c3c1288c23843e0875fa6a90f7f6cb8d
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
5f093bf18120a5cbf18d0f3e255b2178f524e438 18-Apr-2016 Chia-I Wu <olv@google.com> vulkan: ignore layer libraries without instance layers

Make vkEnumerateInstanceLayerProperties and
vkEnumerateInstanceExtensionProperties mandatory for layer libraries. If
vkEnumerateInstanceLayerProperties enumerates no instance layer, ignore
the layer library.

Change-Id: Ic67e4290f0cd5f9098bd02d9d01cc0194398424a
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
50db9035b034385a27fb557e4da3c48b51a0e3eb 22-Apr-2016 Chia-I Wu <olv@google.com> vulkan: add FindLayer helper

It finds a Layer using the layer name.

Change-Id: I16214514fcdef09f9016dc2c71fcd5c1f3d0fa6b
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
83506d84d00bbb35ecebb44261b2139bc40ef3e2 19-Apr-2016 Chia-I Wu <olv@google.com> vulkan: constify LayerRef members

Consitfy GetSpecVersion and layer_.

Change-Id: Ieaa4e463ca4666fc9f81b9904fe0783c55e98d03
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
a6229749aeef225803c6a5411be9e8a40637454d 26-Apr-2016 Chia-I Wu <olv@google.com> vulkan: make g_library_mutex per-LayerLibrary

All that need to be protected are LayerLibrary::Open and
LayerLibrary::Close.

Change-Id: I81b2e7cc36d8c260ddcba69074c71a5244f5b443
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
6693f5cd2238fe08b382bf762e33b701312c7038 17-Apr-2016 Chia-I Wu <olv@google.com> vulkan: make LayerLibrary a class

Make all data members private and suffix them with an underscore.
Constify path_ while at it. There is no functional change.

Change-Id: I98db9bfb1cfa9a15a501a5d3c6037fe08cff5717
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
ba113275287a2293136d8737bf364651ea0b576d 18-Apr-2016 Chia-I Wu <olv@google.com> vulkan: refactor GetLayerGetProcAddr

Add and call LayerLibrary::GetGPA from GetLayerGetProcAddr. There is no
functional change.

Change-Id: Ie0ec8c16633239bd8d8e634fac7525401d73343a
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
50174ee4ff2f6537c4aa4e8aa475f0dc8d910870 18-Apr-2016 Chia-I Wu <olv@google.com> vulkan: refactor AddLayerLibrary

Add and call LayerLibrary::EnumerateLayers from AddLayerLibrary. There is
no functional change.

Change-Id: I6bb2a6fd6f78299c179c0c7af7c60b388e109734
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
d91c74f917b603d8d1dec7d27da03e580919e0a6 17-Apr-2016 Chia-I Wu <olv@google.com> vulkan: refactor LayerRef::~LayerRef

Add and call LayerLibrary::Close from LayerRef::~LayerRef. There is no
functional change.

Change-Id: I514a1631204f104293a2b75f0a6d34d8625e68b1
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
fd0389fb67298e530142566e7a5f6fb16741caba 17-Apr-2016 Chia-I Wu <olv@google.com> vulkan: refactor GetLayerRef

Add and call LayerLibrary::Open from GetLayerRef. There is no functional
change.

Change-Id: I00cff2bbc7984bb3d861eb88aea423c36b0d806f
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
743495943b1a0b6d81ac70df524f67041f116ba6 17-Apr-2016 Chia-I Wu <olv@google.com> vulkan: add a constructor for LayerLibrary

There is no functional change.

Change-Id: I77b6c7c6a697cb25cee42cda3b5683885186545a
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
c96880f2cd1d34ffb9e3d10d80f0a3ddcc5579a8 25-Mar-2016 Chia-I Wu <olv@google.com> vulkan: add layers_extensions.h

Move everything for layers_extensions.cpp out of loader.h to
layers_extensions.h, and into vulkan::api namespace.

Remove now unused InstanceExtensionFromName and DeviceExtensionFromName.

Change-Id: I06be98986f40de35e9dffb5499bc1423e9eb3d48
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
5703683fb645a7e31ac25aaf7136013a6a9b9fbc 04-Mar-2016 Michael Lentine <mlentine@google.com> Pass system layers through chain.

Previously if any layers were activated via properties the layers did not see
those as arguments. After this the layers have a complete list of what layers
are enabled. This is then used in the layers to guarantee ordering.

Bug: 27126420

Change-Id: I3a6a923e2564abc3f7c43b110d892539e4d4bfdb
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
eff631189b135a9579a7f8510f9b1ccadd6fb4f9 09-Feb-2016 Courtney Goeltzenleuchter <courtneygo@google.com> loader: Add GetName and GetDescription for logs

Handy to have more layer detail for logging.

Change-Id: I6933a8fcb90b9cfb70fc85a358244863aac9d702
(cherry picked from commit cf275f37b4a903b5dcc95b5100db667c906aa33f)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
54e6f086a6b373a0f496343451a76dde8aa86238 20-Jan-2016 Michael Lentine <mlentine@google.com> Fix ref count.

Modify the move constructor to zero out the other pointer so that it doesn't
get decremented when the ref goes out of scope.

Change-Id: Ieb81c64b760dc69e262a76335039c9c7f9050780
(cherry picked from commit 22440b22bbce1fe7b5411e6641156661e25a2865)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
d0b7cb566288a4f6646e356a17188b7922ba5740 19-Jan-2016 Michael Lentine <mlentine@google.com> Activate layers when the strings match.

Change-Id: I7bf6ba2bfe215b2dad671b3996f421313d72d3a2
(cherry picked from commit 90c828766ae8d560ed254fd434ad872cd6b21eb0)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
b147127b06c1ce6443839e8102d1ed2631a57b07 18-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Driver device extension enumeration and filtering

- Return VK_ERROR_EXTENSION_NOT_PRESENT if a requested device
extension is not supported by the loader, driver, or any enabled
device layer.
- Filter out device extensions not supported by the driver when
creating the driver device.
- Enumerate device extensions supported by the driver or loader.

Change-Id: I538e37bc74cc7f0eb27b1211b9324fb3b8a06e14
(cherry picked from commit 35873021f4f79ded0f584e433076c2675c6aed69)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
aa410941d29cba4a3a56e90cb3f0be3f03c76cea 17-Jan-2016 Jesse Hall <jessehall@google.com> libvulkan: Enumerate device layers

Change-Id: I7623eab3d8bb958470437998ba603ac1171d764c
(cherry picked from commit eab7505b0741dc5c062df889a7ca5db1a9e619e8)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
715b86ac7d0853131b375ff786c87d8d87a762a1 17-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Support VK_EXT_debug_report in loader and nulldrv

* Add extension to vulkan.api.
* Fix a few errors in upstream vk_ext_debug_report.h; bugs filed.
* Loader enumerates extension iff the driver supports it.
- TODO: Also enumerate if any layers that support it are implicitly
enabled.
- Note extension may still be enabled if any layer supports it.
* Add loader bottom procs for the extension functions. These will call
through to the driver version if the driver supports the extension.
* Add no-op support to nulldrv, mostly for testing the loader.

Change-Id: I092d2da56ee4c64498f8edae75e0d995478bb6f2
(cherry picked from commit a5ef7c27bc85e3628814532a32ffb9a5c33c4b73)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
6bd5dfa9b94d1f1b2d9b6bae52979502c44c2847 17-Jan-2016 Jesse Hall <jessehall@google.com> libvulkan: Only load driver functions for enabled extensions

Change-Id: I4105291bd42583a10420681b729f03ecd7a91724
(cherry picked from commit 1c77ae2acda376b791932beffcb931c378e8ee36)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
504db7fc09f9a6716dbc1b9849760283d94c9d60 15-Jan-2016 Jesse Hall <jessehall@google.com> libvulkan: Disable accidentally-enabled verbose logging

Change-Id: Iab25e06607b173d9ea04fca79b0e8e8386dd0f0d
(cherry picked from commit 4b31dcd677ee868d99ef07890af425e10fd5bf0c)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
30ac78b43ce408eb6d666c8667d184b8e44ed9e6 12-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Fix 64-bit compilation errors

Change-Id: I5f76ae6bb517d39c3461e95421444121a093b7da
(cherry picked from commit 9f434d3bbe473d93c7801f2f618ae02aa2318950)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
a7ac76df54c30e771ecfd05cdd2b52209af71470 09-Jan-2016 Jesse Hall <jessehall@google.com> libvulkan: Filter layer and extension lists passed to drivers

This change removes the layer and extension lists requested by the app
before passing the instance/device create info to the driver. For
device creation, it adds the VK_ANDROID_native_buffer extension. There
are several new TODOs describing the work left to do here: mostly,
when we properly enumerate instance and device extensions supported by
the driver, we need to use those same lists to filter the extensions
requested by the app.

Change-Id: I27c528d7bbbcb281d1bf6afec2318394831154a0
(cherry picked from commit 258cdce2c0e28b13c887c3d0ad5734a007393368)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp
80523e2e39c29b06ab40573468dde43a9867f487 07-Jan-2016 Jesse Hall <jessehall@google.com> vulkan: Implement layer and extension enumeration

Change-Id: I485ebbe3e57da396d361f772793e1e89850c334c
(cherry picked from commit 4bee2c3f2fdff04f1eb437f24a7bcf841364d5b3)
/frameworks/native/vulkan/libvulkan/layers_extensions.cpp