OSDN Git Service
Mathieu Chartier [Thu, 28 Jan 2016 00:18:39 +0000 (00:18 +0000)]
Merge "Pass application image fd to dex2oat"
Felipe Leme [Wed, 27 Jan 2016 23:21:24 +0000 (23:21 +0000)]
Merge "Pass --receiver-foreground to AM intents."
Ashutosh Joshi [Wed, 27 Jan 2016 22:57:59 +0000 (22:57 +0000)]
Merge "Adding support for new sensor types"
Lajos Molnar [Wed, 27 Jan 2016 22:50:15 +0000 (22:50 +0000)]
Merge "HardwareAPI: add MediaImage2 and DescribeColorFormat2Params"
Mathieu Chartier [Wed, 21 Oct 2015 21:05:28 +0000 (14:05 -0700)]
Pass application image fd to dex2oat
Open application image and pass the fd to dex2oat.
Bug:
22858531
Change-Id: I5a9dfcf67d2232e8755886085e9ba1bb37494d39
Felipe Leme [Wed, 27 Jan 2016 19:27:28 +0000 (11:27 -0800)]
Pass --receiver-foreground to AM intents.
BUG:
26805230
Change-Id: I29181367522353817c730b398550a738a4776594
Mark Salyzyn [Wed, 27 Jan 2016 19:10:30 +0000 (19:10 +0000)]
Merge "system_server BINDER_TYPE_FD sockets using ashmem accessors" am:
cf9944684f
am:
becad77245
* commit '
becad77245e5549600e996b287ad47e8c0edcd46':
system_server BINDER_TYPE_FD sockets using ashmem accessors
Mark Salyzyn [Wed, 27 Jan 2016 19:08:37 +0000 (19:08 +0000)]
Merge "system_server BINDER_TYPE_FD sockets using ashmem accessors"
am:
cf9944684f
* commit '
cf9944684f438a1c3a47ab16c3efa4fa5d57f921':
system_server BINDER_TYPE_FD sockets using ashmem accessors
Mark Salyzyn [Wed, 27 Jan 2016 19:04:53 +0000 (19:04 +0000)]
Merge "system_server BINDER_TYPE_FD sockets using ashmem accessors"
Mark Salyzyn [Wed, 27 Jan 2016 18:08:29 +0000 (18:08 +0000)]
Merge changes I4ebccfd0,I3507bdfd,Iaf02f55c am:
acca0abaf1
am:
f6ec7d5e3a
* commit '
f6ec7d5e3a55ee7eca4203dc386b6d0837b8e660':
Parcel: file descriptor leak
Parcel: include Android coding standard
Parcel: LOG_TAG cleanup
Mark Salyzyn [Wed, 27 Jan 2016 18:05:36 +0000 (18:05 +0000)]
Merge changes I4ebccfd0,I3507bdfd,Iaf02f55c
am:
acca0abaf1
* commit '
acca0abaf15318a6a260addd78566383bd4110a5':
Parcel: file descriptor leak
Parcel: include Android coding standard
Parcel: LOG_TAG cleanup
Mark Salyzyn [Wed, 27 Jan 2016 16:02:48 +0000 (08:02 -0800)]
system_server BINDER_TYPE_FD sockets using ashmem accessors
check if device is a character device, before calling
ashmem_get_size_region. We do not check if the st_rdev
matches /dev/ashmem. So this at least eliminates making
this call when associated with a socket.
Bug:
26374183
Change-Id: I68ed9d1c2cd4c47228ed065e3e18eb4151f038f4
Mark Salyzyn [Wed, 27 Jan 2016 17:59:58 +0000 (17:59 +0000)]
Merge changes I4ebccfd0,I3507bdfd,Iaf02f55c
* changes:
Parcel: file descriptor leak
Parcel: include Android coding standard
Parcel: LOG_TAG cleanup
Mark Salyzyn [Wed, 27 Jan 2016 16:02:48 +0000 (08:02 -0800)]
Parcel: file descriptor leak
Resolve a file descriptor leak when a request for
ashmem size adjustment is not filed.
Change-Id: I4ebccfd096ec5313725fd99dc3e025f9561d061f
Mark Salyzyn [Wed, 27 Jan 2016 16:02:48 +0000 (08:02 -0800)]
Parcel: include Android coding standard
Change-Id: I3507bdfd04a06db85b46539338c787395ec652ff
Mark Salyzyn [Wed, 27 Jan 2016 16:02:48 +0000 (08:02 -0800)]
Parcel: LOG_TAG cleanup
NB: several ALOG messages behind comments, recommend removal
Change-Id: Iaf02f55cbf7ef0ee7c4a6ee67c7f8b57cf97cd26
Ronghua Wu [Wed, 27 Jan 2016 16:13:49 +0000 (16:13 +0000)]
Merge "media: add dolby vision profile and level omx defines."
Lajos Molnar [Wed, 27 Jan 2016 02:21:25 +0000 (18:21 -0800)]
HardwareAPI: add MediaImage2 and DescribeColorFormat2Params
Bug:
25684127
Change-Id: I4726d43951732664ed0b8c452203d2ac110f7df8
Jesse Hall [Wed, 27 Jan 2016 02:40:49 +0000 (02:40 +0000)]
Merge changes Ie45b097c,I4ed4c12d,I6f096f25,I2b62229c,Ieb81c64b, ...
* changes:
vulkan: Update from version 1.0.1 to 1.0.2
libvulkan: Fix dEQP-VK.api.object_management.alloc_callback_fail.device
libvulkan: Fix dEQP-VK.api.object_management.alloc_callback_fail.instance
libvulkan: Fix dEQP-VK.api.device_init.create_instance_unsupported_extensions
Fix ref count.
Activate layers when the strings match.
libvulkan: Implement VK_PRESENT_MODE_MAILBOX_KHR
libvulkan: Really only write vkCreateInstance out parameter on success
libvulkan: Return error if an unsupported instance extension is requested
libvulkan: Only write vkCreateInstance out parameter on succes
vulkan: Driver device extension enumeration and filtering
vulkan: Enumerate device layer extensions
libvulkan: Enumerate device layers
vulkan: Support VK_EXT_debug_report in loader and nulldrv
libvulkan: Only load driver functions for enabled extensions
vulkan: Add current vk_ext_debug_report.h from upstream
vulkan: Update to version 1.0.1
vkinfo: Enable VK_EXT_debug_report if available
vkinfo: improve formatting
libvulkan: Disable accidentally-enabled verbose logging
libvulkan: Load vkGetSwapchainGrallocUsageFlagsANDROID from driver
vulkan: Fix 64-bit compilation errors
vulkan: Pass vkQueuePresentKHR wait semaphores to vkQueueSignalReleaseImageANDROID
libvulkan: Filter layer and extension lists passed to drivers
Jesse Hall [Wed, 27 Jan 2016 02:40:18 +0000 (02:40 +0000)]
Merge changes I9453454c,I872fcb4a,I441a2ddf,Iddc28080,If8041fb1, ...
* changes:
vulkan: Update from version 0.221.0 to 1.0!
vulkan: Update from version 0.213.0 to 0.221.0
vulkan: Update from version 0.210.1 to 0.213.0
vkinfo: print device layers and extensions
vkinfo: Refactor to separate info gather from print stages
vulkan: Implement layer and extension enumeration
vkinfo: print instance layers and extensions
vulkan: Implement new vkGet*ProcAddrBehavior
libvulkan: Update global layer loading rules
vknulldrv: Change module name to not clash with real drivers
vulkan: Update DevelopersGuide for SDK 0.10
vulkan: remove patches/frameworks_native-sdk_0.10
libvulkan: Add missing instance entry point dispatch init
vknulldrv: Fix 64-bit build
libvulkan: Implement new VkFence parameter in vkAcquireNextImageKHR
vulkan: Add acquire fence fix to sdk-0.10 patch stack
vulkan: Add vkAllocateCommandBuffers fix to sdk-0.10 patch stack
libvulkan: Fix missed vkAllocateCommandBuffers renames
vulkan: Fixes to the SDK-0.9->0.10 patch stack
Jesse Hall [Wed, 27 Jan 2016 02:39:25 +0000 (02:39 +0000)]
Merge changes I9adf2175,I9ba61b9b,Ic5791cf1,Ieaf1c4c0,I36370f6e, ...
* changes:
vulkan: Update from version 0.210.0 to 0.210.1
vulkan: Assign enums to the correct extension
vulkan: Update from version 0.209.0 to 0.210.0
vulkan: Update from version 0.206.0 to 0.209.0
vulkan: Update from version 0.205.0 to 0.206.0
vulkan: Update from version 0.204.0 to 0.205.0
vulkan: Update from version 0.203.0 to 0.204.0
vulkan: Update from version 0.202.0 to 0.203.0
vulkan: Update from version 0.200.0 to 0.202.0
vulkan: Update from version 0.198.0 to 0.200.0
vulkan: Update from version 0.197.0 to 0.198.0
vulkan: Update from version 0.196.0 to 0.197.0
vulkan: Update from version 0.194.0 to 0.196.0
vulkan: Update from version 0.193.0 to 0.194.0
vulkan: Update from version 0.192.0 to 0.193.0
vulkan: Update from version 0.190.0 to 0.192.0
vulkan: Update from version 0.189.0 to 0.190.0
vulkan: Update from version 0.188.0 to 0.189.0
vulkan: Update from version 0.186.0 to 0.188.0
vulkan: Update from version 0.185.0 to 0.186.0
vulkan: Update from version 0.184.0 to 0.185.0
vulkan.api: Distinguish Vk*Flags from Vk*FlagBits
vulkan: Update from version 0.183.0 to 0.184.0
vulkan: Implement VkSurfaceKHR and use vulkanext.h
vulkan: Update from version 0.181.0 to 0.183.0
vulkan: Update from version 0.180.0 to 0.181.0
vulkan: Update from version 0.179.0 to 0.180.0
vulkan: Update from version 0.177.0 to 0.179.0
vulkan: Update from version 0.174.0 to 0.177.0
vulkan: Update from version 0.172.2 to 0.174.0
vulkan: Add SDK 0.9 to 0.10 patch stack
Jesse Hall [Wed, 27 Jan 2016 02:38:28 +0000 (02:38 +0000)]
Merge changes I58c5cad2,Id6ea11fb,I595e51ae,I161b7afa,I25b547e8, ...
* changes:
libvulkan: Remove dead special cases in GetDeviceProcAddr
vulkan: Update templates for generated extensions
Don't remove elements while iterating through active_layers.
Don't assume layers exist when prop is set
vulkan: Add DevelopersGuide.pdf
Add WSI functions to the loader.
vulkan: allow drivers to see image acquire/release
vulkan: Allow drivers to add private gralloc usage flags
libvulkan: enable scaling for all Vulkan swapchains
Remove Noop and move message removal.
vknulldrv: Fix several entry point prototypes
libvulkan: Don't log error if layer dir doesn't exist
libvulkan: Fix check for redundant vkDeviceQueue calls
libvulkan: Fail instance/device creation if requested layer not present
vulkan: Fix GetSpecific*ProcAddr for extension functions
vulkan: add recursive f/n/vulkan/Android.mk
vulkan: Use the same dispatch magic value as LunarG
Update DEBUG_REPORT extension and callback for v170.2
vulkan: Add build-install_libvulkan virtual branch
vulkan: Remove sdk-0.9 virtual branch, has been merged
vulkan: Update to SDK-0.9 version of vk_ext_khr_device_swapchain.h
vulkan: Update from header 0.138.2 to 0.170.2
Add support for longer than 12 character layers.
Allow for different layers to be active per device
vulkan: Add sdk-0.9 virtual branch
Jesse Hall [Wed, 27 Jan 2016 02:37:38 +0000 (02:37 +0000)]
Merge changes Idf479bed,Iee7d56c1,I23d7945e,Ibd6fa875,I52f7afb4, ...
* changes:
vulkan: Add apk_library_dir virtual branch
Add support for loading layers from the apk.
Add default callbacks in the loader.
Add support for arbitrary number of layers
Add support for autoloading callback extension.
Add support for multiple layers in the same so
Add layer loading to android vulkan loader.
Fix GetSpecific*ProcAddr.
vulkan: Implement vk_ext_khr_*swapchain extensions
vulkan: Add skeleton swapchain support
vulkan: add copyright notices
vknulldrv: Implement VkImage
vulkan: warn on bogus CreateBuffer args
Jesse Hall [Wed, 27 Jan 2016 02:23:30 +0000 (02:23 +0000)]
Merge changes Ifb3cea05,If093f4c0,If9c22b38,Idda56439,Ib3ceb46f, ...
* changes:
vulkan: Set up VkCmdBuffer dispatching
vknulldrv: Implement creation of no-op object types
vknulldrv: implement VkDeviceMemory objects
vknulldrv: implement VkBuffer objects
vulkan: add memory property queries to nulldrv and vkinfo
vulkan: initial loader and null driver
vulkan: apply 138.0..v138.2 changes to api file
vulkan: import api from upstream
vulkan: several updates to implementor's guide
vulkan: add initial vkandroid doc
Michael Wright [Wed, 27 Jan 2016 02:06:11 +0000 (02:06 +0000)]
Merge "Add missing include to choreographer header."
Felipe Leme [Wed, 27 Jan 2016 01:46:07 +0000 (01:46 +0000)]
Merge "Fixed performance issue by moving buffer allocation outside loop."
Ashutosh Joshi [Fri, 15 Jan 2016 06:14:46 +0000 (22:14 -0800)]
Adding support for new sensor types
Adding support for new sensor types
i) 6DOF pose sensor.
ii) Motion Detect Sensor.
iii) Stationary Detect Sensor.
iv) Heart Beat Sensor.
Change-Id: Icebd222a2301f719bc0d24d4873fa2fabea1b2fa
Felipe Leme [Wed, 27 Jan 2016 01:07:14 +0000 (17:07 -0800)]
Fixed performance issue by moving buffer allocation outside loop.
Also improved logging.
BUG:
26637170
BUG:
26777547
Change-Id: I99511f3f71c58eba1f5539508f9a685d0a58cc58
Craig Donner [Wed, 27 Jan 2016 01:17:28 +0000 (01:17 +0000)]
Merge "Adds private EGL extension to create an EGLClientBuffer from a gralloc'd buffer. This lets you create a color EGLimage backed by gralloc, which is needed to support protected textures."
Ronghua Wu [Wed, 27 Jan 2016 00:47:09 +0000 (16:47 -0800)]
media: add dolby vision profile and level omx defines.
Bug:
25684127
Change-Id: Ib8560e2b87a4c37a4857199fde2e23ef79a3a625
Ronghua Wu [Wed, 27 Jan 2016 01:02:15 +0000 (01:02 +0000)]
Merge "Add vp9 profiles and levels omx types."
Wonsik Kim [Wed, 27 Jan 2016 00:31:28 +0000 (00:31 +0000)]
Merge "omx: extend OMX_VIDEO_PARAM_HEVCTYPE for encoder use case"
Michael Wright [Wed, 27 Jan 2016 00:05:54 +0000 (16:05 -0800)]
Add missing include to choreographer header.
Change-Id: Id497f3a505211309a08e100b369300e81f84b13b
Craig Donner [Sat, 16 Jan 2016 03:33:55 +0000 (19:33 -0800)]
Adds private EGL extension to create an EGLClientBuffer from a gralloc'd buffer. This lets you create a color EGLimage backed by gralloc, which is needed to support protected textures.
Bug:
22775237
Bug:
22855417
Change-Id: I8e03061d74a74a8fdd6524ffa97a6c75a6ced89c
Mark Salyzyn [Tue, 26 Jan 2016 21:55:15 +0000 (21:55 +0000)]
Merge "Revert "dumpstate: Add security log dump"" am:
316923d359
am:
fd0d76730f
* commit '
fd0d76730f06bec15c90e9a9da64ee19361c3a9f':
Revert "dumpstate: Add security log dump"
Nick Vaccaro [Tue, 26 Jan 2016 21:55:08 +0000 (21:55 +0000)]
Merge "[DO NOT MERGE ANYWHERE] Fix bodysensor permission" into cw-e-dev am:
ca19b6a4d3 -s ours am:
a0a1599d8b -s ours am:
972e9479a7 -s ours
am:
b4f7fea19c -s ours
* commit '
b4f7fea19c3bcf4e9738c632cc83104ed7c44467':
[DO NOT MERGE ANYWHERE] Fix bodysensor permission
Mark Salyzyn [Tue, 26 Jan 2016 20:48:08 +0000 (20:48 +0000)]
Merge "Revert "dumpstate: Add security log dump""
am:
316923d359
* commit '
316923d3597af72d1cbd9eb2745a02706275fdb8':
Revert "dumpstate: Add security log dump"
Mark Salyzyn [Tue, 26 Jan 2016 20:41:51 +0000 (20:41 +0000)]
Merge "Revert "dumpstate: Add security log dump""
Nick Vaccaro [Tue, 26 Jan 2016 20:20:05 +0000 (20:20 +0000)]
Merge "[DO NOT MERGE ANYWHERE] Fix bodysensor permission" into cw-e-dev am:
ca19b6a4d3 -s ours am:
a0a1599d8b -s ours
am:
972e9479a7 -s ours
* commit '
972e9479a700d9d80aca7c036ed96ce6db4e78e5':
[DO NOT MERGE ANYWHERE] Fix bodysensor permission
Nick Vaccaro [Tue, 26 Jan 2016 20:17:31 +0000 (20:17 +0000)]
Merge "[DO NOT MERGE ANYWHERE] Fix bodysensor permission" into cw-e-dev am:
ca19b6a4d3 -s ours
am:
a0a1599d8b -s ours
* commit '
a0a1599d8b8d8da38a47a939864d6f80bf6b9a09':
[DO NOT MERGE ANYWHERE] Fix bodysensor permission
Nick Vaccaro [Tue, 26 Jan 2016 20:15:15 +0000 (20:15 +0000)]
Merge "[DO NOT MERGE ANYWHERE] Fix bodysensor permission" into cw-e-dev
am:
ca19b6a4d3 -s ours
* commit '
ca19b6a4d347dae318157988134471f9d40e2052':
[DO NOT MERGE ANYWHERE] Fix bodysensor permission
Nick Vaccaro [Tue, 26 Jan 2016 20:13:29 +0000 (20:13 +0000)]
Merge "[DO NOT MERGE ANYWHERE] Fix bodysensor permission" into cw-e-dev
Peng Xu [Fri, 22 Jan 2016 07:15:04 +0000 (23:15 -0800)]
[DO NOT MERGE ANYWHERE] Fix bodysensor permission
Bug:
26481493
Bug:
26447970
Change-Id: Iaadf64814c03ae8098c8553ac98d19b77c1eabcd
Mark Salyzyn [Tue, 26 Jan 2016 15:24:08 +0000 (07:24 -0800)]
Revert "dumpstate: Add security log dump"
This reverts commit
c7ad8cb82f035576c28707a8cbeb16b7ead2a4e7.
Bug:
26029733
Change-Id: I0c61f4d2c0aa9e07c6cc7b190d803e98c3a98d40
Polina Bondarenko [Tue, 26 Jan 2016 12:12:34 +0000 (12:12 +0000)]
Merge "Add HardwarePropertiesManager constants to native layer."
Nick Kralevich [Mon, 25 Jan 2016 23:05:16 +0000 (15:05 -0800)]
dumpstate.cpp: collect command line earlier
We need to collect the command line before we use it.
Bug:
26777547
Change-Id: I715adce62511c4cc553eb462d853559687a1677f
Jesse Hall [Mon, 25 Jan 2016 05:00:49 +0000 (21:00 -0800)]
vulkan: Update from version 1.0.1 to 1.0.2
Change-Id: Ie45b097cfcca9e150b24b2b8a74ae2c55cccd42d
(cherry picked from commit
59fd75e53f3931265aca122bff33ce36fb69918d)
Jesse Hall [Sat, 9 Jan 2016 05:52:01 +0000 (21:52 -0800)]
vulkan: Update from version 0.221.0 to 1.0!
Change-Id: I9453454cc47046ad9f64a72a812a4e5da694c223
(cherry picked from commit
3fc8ed14c5d6890348400bf3e6dab2870b3fbbc5)
Jesse Hall [Tue, 1 Dec 2015 05:44:14 +0000 (21:44 -0800)]
vulkan: Update from version 0.210.0 to 0.210.1
Change-Id: I9adf217587a8b666bcf04818004dce4e97b87fd1
(cherry picked from commit
871aab516eafee2ede88b095dad6670b06ab6f8a)
Jesse Hall [Fri, 20 Nov 2015 23:46:08 +0000 (15:46 -0800)]
libvulkan: Remove dead special cases in GetDeviceProcAddr
Change-Id: I58c5cad288f3d96acc9903a2323ec9fcf21798fd
(cherry picked from commit
18f7ae3776050529c3c244e639eb5095808963d9)
Jesse Hall [Fri, 9 Oct 2015 05:21:10 +0000 (22:21 -0700)]
vulkan: Add apk_library_dir virtual branch
Change-Id: Idf479bedf2e8e49612818a816084f91f074c5397
(cherry picked from commit
c28bf8bf2c8514cb983fec090c90ddbf0ba43b37)
Jesse Hall [Mon, 31 Aug 2015 19:52:03 +0000 (12:52 -0700)]
vulkan: Set up VkCmdBuffer dispatching
Change-Id: Ifb3cea05dab8828c2c00b8ed60c5ad991cdcbea7
(cherry picked from commit
10bf73e13b6904afa606fdcdc05bcc510c605180)
Jesse Hall [Fri, 22 Jan 2016 05:54:49 +0000 (21:54 -0800)]
libvulkan: Fix dEQP-VK.api.object_management.alloc_callback_fail.device
In vkCreateDevice, we were using the app-provided allocator if available,
otherwise the instance allocator. (The code also fell back to the
default allocator if the instance didn't have an allocator, but it
always does, so the fallback was dead code.) That's all as it should
be.
However, we don't store the app-provided allocator, and everywhere
else just uses the instance allocator. In particular, vkDestroyDevice
ignores the app-provided allocator, and just uses the instance
allocator to free the Device structure. That causes the test to fail,
since we use the app-provided device allocator to allocate, but the
instance allocator to free.
Getting this right will require some possibly large restructuring and
careful review of the code. In the short term, this change just
ignores the app-provided allocator in vkCreateDevice and uses the
instance allocator instead, so that at least we use the same allocator
for alloc and free. Bug
26732122 filed to do this properly.
Change-Id: I4ed4c12dfa255bb58a33dca1a89946255276c791
(cherry picked from commit
58579313664f5d72706f8e3df50b4e7217f7326b)
Jesse Hall [Sat, 9 Jan 2016 00:38:30 +0000 (16:38 -0800)]
vulkan: Update from version 0.213.0 to 0.221.0
Change-Id: I872fcb4a020c9b9326cec0a8217a68d822d0a6e9
(cherry picked from commit
20e04407f51b6525eded4fbc3404e36a61e1b464)
Jesse Hall [Tue, 1 Dec 2015 05:12:55 +0000 (21:12 -0800)]
vulkan: Assign enums to the correct extension
Change-Id: I9ba61b9bfe349f7079833de89d66aa4a2e993e2f
(cherry picked from commit
727391c1b5b3de78128cd204373d14ecdab34801)
Jesse Hall [Fri, 20 Nov 2015 05:19:17 +0000 (21:19 -0800)]
vulkan: Update templates for generated extensions
When the swapchain extensions were added to the API file, only
the libvulkan/get_proc_addr.cpp template was updated. This change
updates the remaining templates, so that when used they generate the
appropriate output with the new API file:
- libvulkan/entry.cpp: Remove hardcoded extension entry points, now
that they're autogenerated.
- nulldrv/null_driver_gen.cpp: Exclude all extension entry points;
this only works because the API currently only includes entry points
implemented by the loader. Eventually we'll want to replace this
with an extension blacklist.
Change-Id: Id6ea11fb739390d8262fa5ce77c213fbbdeb0148
(cherry picked from commit
1d40de6ecdd74c47ebd40fadd5926cc2984cc91c)
Michael Lentine [Mon, 14 Sep 2015 18:26:59 +0000 (13:26 -0500)]
Add support for loading layers from the apk.
Added the vulkan_layer_path interface which is used to set the path from
ThreadedRenderer. The vulkan loader then uses this path to search for layer
libraries that come preinstalled with the app.
Change-Id: Iee7d56c1950296ba5ece3a119741406d705479a8
(cherry picked from commit
1f920c1e52bbd59405761e5403def5dbc22e331b)
Jesse Hall [Mon, 31 Aug 2015 18:34:32 +0000 (11:34 -0700)]
vknulldrv: Implement creation of no-op object types
Change-Id: If093f4c0775415608851b9c0ce356d4916e16ee8
(cherry picked from commit
d1a9e4154cdacdba0f84054688f3b2c8d530e073)
Jesse Hall [Fri, 22 Jan 2016 03:52:25 +0000 (19:52 -0800)]
libvulkan: Fix dEQP-VK.api.object_management.alloc_callback_fail.instance
The loader was crashing when a std::vector::resize() operation called
the test-provided allocator, which returned failure, and then the
vector blindly started writing into the returned pointer.
Obvious in hindsight, but stdlib containers+strings + user-provided
allocation funcs implies that the loader must be built with exceptions
enabled, and must be exception-safe at least where it uses
containers/strings. We were doing neither.
This change has the minimally invasive fix, which is to (a) throw an
exception from the stdlib Allocator when the app-provided allocation
function fails, and (b) wrap every stdlib operation that might
allocate in a try..catch and turn it into a
VK_ERROR_OUT_OF_HOST_MEMORY error.
This is pretty unsatisfying and I'm not happy with the resulting
mismash of error-handling styles, with having exceptions at all in
code that was not written to be exception-safe, or with the
fine-grained try..catch. We need to decide whether to keep using parts
of stdlib that can allocate, and rewrite a lot of code to be
exception-friendly, or we need to replace the stdlib code with manual
containers and strings. Bug
26732452 filed.
Change-Id: I6f096f25a43a0e3c5f56796c2af19f114d2edac6
(cherry picked from commit
ccca46db073dfadc81a68ac1533d8859ed3e109a)
Jesse Hall [Sat, 9 Jan 2016 00:08:51 +0000 (16:08 -0800)]
vulkan: Update from version 0.210.1 to 0.213.0
Change-Id: I441a2ddf872298a5415b40299fc1143c879c5e86
(cherry picked from commit
842515ca8d8705627e3ce7c196405cac60707629)
Jesse Hall [Tue, 1 Dec 2015 00:22:16 +0000 (16:22 -0800)]
vulkan: Update from version 0.209.0 to 0.210.0
Change-Id: Ic5791cf1193de1e5d2ce355d9dcc4450b0def85a
(cherry picked from commit
5fa30181e473f9055884404545e7345c75440e64)
Michael Lentine [Thu, 19 Nov 2015 22:23:06 +0000 (14:23 -0800)]
Don't remove elements while iterating through active_layers.
Change-Id: I595e51aea635dad13b6e919dee2229defc4da55a
(cherry picked from commit
b735b6d52dad4d72e16968aa66a8282df2c733ea)
Michael Lentine [Mon, 14 Sep 2015 22:32:59 +0000 (17:32 -0500)]
Add default callbacks in the loader.
Change-Id: I23d7945efb0fd372e614f895278fc86a853fe429
(cherry picked from commit
9b9938127d1c68cda9b709524aea44ffb0de77b9)
Jesse Hall [Sat, 29 Aug 2015 17:10:59 +0000 (18:10 +0100)]
vknulldrv: implement VkDeviceMemory objects
Change-Id: If9c22b3800058877c7854d59622b7205b79cf731
(cherry picked from commit
4ff851997ef2972b3b846656d93a06e44858259e)
Jesse Hall [Thu, 21 Jan 2016 17:49:49 +0000 (09:49 -0800)]
libvulkan: Fix dEQP-VK.api.device_init.create_instance_unsupported_extensions
The existing check was only executed if the driver reported at least
one instance extension, because it was part of filtering the extension
list down to just the ones supported by the driver. Now do it
separately, and before we do anything else.
Also changed the null driver to not report any extensions; reporting
an extension masked the bug for me when I ran this test before.
Change-Id: I2b62229c6acbc9406c036f1f1b766a21c03922d4
(cherry picked from commit
1f7e9e0e771ac4045c5f669290dc01b01dd01342)
Jesse Hall [Fri, 8 Jan 2016 06:26:20 +0000 (22:26 -0800)]
vkinfo: print device layers and extensions
Change-Id: Iddc28080cf80f59c5c0c34572597ff4cd586cac5
(cherry picked from commit
a7b9870e22472403e6b858bdf18383365ddc904f)
Jesse Hall [Tue, 1 Dec 2015 00:04:55 +0000 (16:04 -0800)]
vulkan: Update from version 0.206.0 to 0.209.0
Change-Id: Ieaf1c4c01f3376cde407bef193a9aa33e77ca123
(cherry picked from commit
91b3c3599ea5095388c4bdeb14f09529f3fbb9cc)
Michael Lentine [Thu, 19 Nov 2015 02:28:07 +0000 (18:28 -0800)]
Don't assume layers exist when prop is set
Previously we assumed that layers were valid when set via adb
shellprop but instead we should make sure they exist first. If they
don't ignore it and continue.
Change-Id: I161b7afa58e747080a9eeb112f933976a381b4c0
(cherry picked from commit
c9625127034ab237da69d7da766e20d666545b13)
Michael Lentine [Mon, 14 Sep 2015 19:43:49 +0000 (14:43 -0500)]
Add support for arbitrary number of layers
Add a static string in vulkan_layer_path that is set by the loader.
This path is then searched inside the loader for layers to load.
Change-Id: Ibd6fa87579d6fd39bba0814935be2bd38a416848
(cherry picked from commit
1dd0ae574084204bbbb614e551125ee84dc5cf3d)
Jesse Hall [Sat, 29 Aug 2015 16:06:12 +0000 (17:06 +0100)]
vknulldrv: implement VkBuffer objects
Change-Id: Idda564392cf8daae6ea8c3a9809e6df990433a33
(cherry picked from commit
aee62ea7ff379dde787344e1377b51fefb2385d6)
Michael Lentine [Wed, 20 Jan 2016 17:25:28 +0000 (11:25 -0600)]
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)
Jesse Hall [Fri, 8 Jan 2016 05:50:19 +0000 (21:50 -0800)]
vkinfo: Refactor to separate info gather from print stages
Change-Id: If8041fb10975edb1e9e6bd827d9aeaa0f7a07e3f
(cherry picked from commit
1ae28dbbe57c89b8c6c9a1a9cb3482115a119256)
Jesse Hall [Mon, 30 Nov 2015 22:25:46 +0000 (14:25 -0800)]
vulkan: Update from version 0.205.0 to 0.206.0
Change-Id: I36370f6ec41abf235975a0c769c03c8f25851d14
(cherry picked from commit
c7d7dcfffafda197458d6c4afebb486bd64e0d53)
Jesse Hall [Fri, 13 Nov 2015 19:28:20 +0000 (11:28 -0800)]
vulkan: Add DevelopersGuide.pdf
Change-Id: I25b547e8704f78db39f4bcfeb5172439952b870d
(cherry picked from commit
296fd43d133871d7b6c9bacba67cd24ebe509e22)
Michael Lentine [Mon, 14 Sep 2015 18:26:30 +0000 (13:26 -0500)]
Add support for autoloading callback extension.
This works by checking for the property vulkan.enableLayerCallback. If the
property doesn't exist, is false, or the app has explicitly loaded the callback
extension the change does nothing. If the property is enabled and the app
has not loaded the extension this change forces the loader to enable it.
Change-Id: I52f7afb4136358a360aaf62188d98b34b563778a
(cherry picked from commit
adeac8e46bd0034321ea348132d3f9db967b72e9)
Jesse Hall [Tue, 25 Aug 2015 14:09:15 +0000 (15:09 +0100)]
vulkan: add memory property queries to nulldrv and vkinfo
Change-Id: Ib3ceb46ff4e46a25787d8c980b8339328b471925
(cherry picked from commit
6c5ee23b92f420387f46da97714780f9ce12681a)
Michael Lentine [Tue, 19 Jan 2016 19:57:26 +0000 (13:57 -0600)]
Activate layers when the strings match.
Change-Id: I7bf6ba2bfe215b2dad671b3996f421313d72d3a2
(cherry picked from commit
90c828766ae8d560ed254fd434ad872cd6b21eb0)
Jesse Hall [Thu, 7 Jan 2016 00:47:54 +0000 (16:47 -0800)]
vulkan: Implement layer and extension enumeration
Change-Id: I485ebbe3e57da396d361f772793e1e89850c334c
(cherry picked from commit
4bee2c3f2fdff04f1eb437f24a7bcf841364d5b3)
Jesse Hall [Mon, 30 Nov 2015 19:37:59 +0000 (11:37 -0800)]
vulkan: Update from version 0.204.0 to 0.205.0
Change-Id: Ic0b91f338bcddc50b4617da266347ae8b9cc29fa
(cherry picked from commit
052ac57d4c70d934d76fb5cd94278c326e623963)
Michael Lentine [Thu, 12 Nov 2015 20:49:45 +0000 (12:49 -0800)]
Add WSI functions to the loader.
Modify vulkan.api to include the WSI functions.
Add new wsi functions to generation in get_proc_addr.cpp.tmpl
Add bottom entry points because the WSI functions are not exposed in the
driver.
Change-Id: I63c3a099a489496205b0a9eb82c005a5a48642a1
(cherry picked from commit
23b68ac9fcd2df06ffcc25cf8c4f794dd447bbd1)
Michael Lentine [Fri, 11 Sep 2015 21:54:34 +0000 (14:54 -0700)]
Add support for multiple layers in the same so
Change-Id: Iec30d8b969665473e24f5ac24a62aa930339f7d5
(cherry picked from commit
6dee80d5c552d16c2e5fc44290c057b43515fa52)
Jesse Hall [Mon, 17 Aug 2015 02:51:04 +0000 (19:51 -0700)]
vulkan: initial loader and null driver
Change-Id: Id5ebb5f01e61e9b114990f49c64c88fbbb7b730e
(cherry picked from commit
4df205cdfc61e66de774ba50be9ef59a08cf88bb)
Jesse Hall [Mon, 18 Jan 2016 20:28:00 +0000 (12:28 -0800)]
libvulkan: Implement VK_PRESENT_MODE_MAILBOX_KHR
Change-Id: Ibbb11849c7a59236e27af32148ab5c5fb22d9b19
(cherry picked from commit
388e6ab8bc0067f88147e68dd20d5c2b6b1e3213)
Jesse Hall [Mon, 4 Jan 2016 15:26:53 +0000 (07:26 -0800)]
vkinfo: print instance layers and extensions
Change-Id: I3206cd579f0f189ae4831a3e47785661ee06a6b7
(cherry picked from commit
1610a07f91669577fd35ba14396c9dce0b2306f9)
Jesse Hall [Mon, 30 Nov 2015 19:27:32 +0000 (11:27 -0800)]
vulkan: Update from version 0.203.0 to 0.204.0
Change-Id: I2de0935df66b0110b566ed2025c39e0c17b98f17
(cherry picked from commit
79c20c98e47ce5a7d0608cda59b19d153455cbae)
Jesse Hall [Wed, 4 Nov 2015 18:56:20 +0000 (10:56 -0800)]
vulkan: allow drivers to see image acquire/release
Change-Id: I8143aeebd1f65142486cc55662c685d081ba41eb
(cherry picked from commit
58b4df743ecad9f1a0fc7cb7c0f5340dd8365308)
Michael Lentine [Wed, 26 Aug 2015 23:27:26 +0000 (18:27 -0500)]
Add layer loading to android vulkan loader.
Change-Id: I500d248f03a14db82ce725e600aef82c115b9b35
(cherry picked from commit
ad17ac2e5bec7a65e3170043eb958e5a97107bd4)
Jesse Hall [Sun, 16 Aug 2015 02:54:28 +0000 (19:54 -0700)]
vulkan: apply 138.0..v138.2 changes to api file
Change-Id: Icdadba710a2990e26ca13472f0efad55f66a403e
(cherry picked from commit
38347619f9d99bb4756ccde83389242e0f3d8986)
Jesse Hall [Mon, 18 Jan 2016 08:59:45 +0000 (00:59 -0800)]
libvulkan: Really only write vkCreateInstance out parameter on success
Change-Id: I7efc7dba420565781f15610bbfa7dfd1be1cf84d
(cherry picked from commit
92707024c23b737cad16366ee7380a00e88a797e)
Jesse Hall [Sat, 12 Dec 2015 00:28:44 +0000 (16:28 -0800)]
vulkan: Implement new vkGet*ProcAddrBehavior
The primary goal of this change is to switch to the revised GPA
behavior:
- GIPA(NULL, ..) only works for non-dispatched (global) commands
- GIPA(instance, ..) returns functions for commands that dispatch on any
object type, and the function works for any object of the appropriate
type if it is a child of the instance.
- GDPA(NULL, ..) returns NULL.
- GDPA(device, ..) returns a device-specific function for the command.
This change refactors/tidies many of the things it modified. Some
notable changes:
- All the loader generated code is now in dispatch.tmpl ->
dispatch_gen.{h,cpp}, instead of two separate templates.
- Reorganization allowed generating the dispatch table structures,
eliminating one source of frequent bugs.
- Removes some error-prone macro duplication.
- Handling of extensions and special loader functions is now much
more uniform and hopefully clearer.
- Loader top- and bottom-level functions are now consistently named with
_Top and _Bottom suffixes, and are grouped by level in loader.cpp.
- The VkInstance and VkDevice implementations are no longer derived from
::VkInstance_T and ::VkDevice_T. Was more trouble than it was worth.
- Renamed 'vtbl' to 'dispatch' in most places.
- Renamed nulldrv template and generated files to match the loader
naming pattern: null_driver.tmpl -> null_driver_gen.{h,cpp}
- Now all the entry point prototypes are generated, instead of having
to be updated by hand (another source of several bugs).
Change-Id: Ic263f802d0d523b18a0f00420b3a722aa04ce299
(cherry picked from commit
3cffb8e837222f413a1fe53522e2cc33366b8eeb)
Jesse Hall [Mon, 30 Nov 2015 09:03:10 +0000 (01:03 -0800)]
vulkan: Update from version 0.202.0 to 0.203.0
Change-Id: I21a390bd57082194f6131b118ecd6c94874d2f7f
(cherry picked from commit
5f1b8406c88d20f23e77426d4d786caca659540b)
Jesse Hall [Wed, 4 Nov 2015 17:41:31 +0000 (09:41 -0800)]
vulkan: Allow drivers to add private gralloc usage flags
Change-Id: Iea33990b3a85a761e27d54bb323d866267c88901
(cherry picked from commit
c040fbedde52d632a7ceeef3a9266d35b22ce53f)
Michael Lentine [Tue, 15 Sep 2015 18:25:36 +0000 (13:25 -0500)]
Fix GetSpecific*ProcAddr.
Change GetSpeicific*ProcAddr to cast to return the value inside of the table
instead of the table itself.
Change-Id: Ib693274cd5c0869d79f0869a6d99a78c31a63b08
(cherry picked from commit
0c8fe76496e1fe6fe63e4e6179f53a98561a7748)
Jesse Hall [Sun, 16 Aug 2015 00:58:48 +0000 (17:58 -0700)]
vulkan: import api from upstream
Imported from
74e25b28dc0e198a69add358d541b25291bcde82, which
corresponds to header version 0.138.0.
Change-Id: Ia9bde11a213527b1c366eb4b82aec8650ca13666
(cherry picked from commit
4e262baf54382c455c191a4c1417dec8d17e8926)
Jesse Hall [Mon, 18 Jan 2016 06:05:29 +0000 (22:05 -0800)]
libvulkan: Return error if an unsupported instance extension is requested
Change-Id: I93d4a2a0b991682160c0ffe401f2b2b19f6e2be3
(cherry picked from commit
8a69c0845de6884377da2221ae3272b8dac03d55)
Jesse Hall [Fri, 18 Dec 2015 21:48:24 +0000 (13:48 -0800)]
libvulkan: Update global layer loading rules
* Look for layers in /data/local/debug/vulkan instead of
/data/local/tmp/vulkan.
* Only enumerate global layers in debuggable processes.
* Only allow force-enabling layers and callbacks in debuggable
processes.
Change-Id: I1f41a03ecbb0cc159e7dbb0b424005559996c196
(cherry picked from commit
e784c114bbdc32361096cce8f59eb9513390e2d6)
Jesse Hall [Mon, 30 Nov 2015 08:55:29 +0000 (00:55 -0800)]
vulkan: Update from version 0.200.0 to 0.202.0
Change-Id: If8eb49cd7e5516931f9900b691d6d32af2aa98b0
(cherry picked from commit
5b9c3a1af7088351d49431a496ef9f7fd078e9f6)
Jesse Hall [Wed, 4 Nov 2015 00:11:10 +0000 (16:11 -0800)]
libvulkan: enable scaling for all Vulkan swapchains
Change-Id: I0abe28a06dd24c317ed87270996d308411cb6fa1
(cherry picked from commit
6780552a6f17ee809ecf9b3538bbf9b666d5a160)
Jesse Hall [Mon, 7 Sep 2015 21:17:37 +0000 (14:17 -0700)]
vulkan: Implement vk_ext_khr_*swapchain extensions
Change-Id: I46312c9ba1332e0a5b8ac4c1b5608f0465c3962c
(cherry picked from commit
e5ca41cb11212bbfbd608eddb92d794e12e1528e)
Jesse Hall [Mon, 17 Aug 2015 06:36:28 +0000 (23:36 -0700)]
vulkan: several updates to implementor's guide
Change-Id: I1ec78e993da16fe9e0b3c86abc2c67f68e634823
(cherry picked from commit
d3e348755504a1a32953b61e88d31478fa82eea2)