OSDN Git Service
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 [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 [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 [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, 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 [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 [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 [Wed, 9 Dec 2015 04:07:49 +0000 (20:07 -0800)]
vknulldrv: Change module name to not clash with real drivers
Change-Id: I3135943894f83fd906c6835552ec93ea5f7c7dfe
(cherry picked from commit
2b000b984027932679cc6aa145fc11e9ef1b11fa)
Jesse Hall [Tue, 8 Dec 2015 21:34:22 +0000 (13:34 -0800)]
vulkan: Update DevelopersGuide for SDK 0.10
Change-Id: Ic42cd9aa749417d783ac47546ab1e0bebcc617ac
(cherry picked from commit
81e0c1645f330bc9f8eb68925523814614aa0a3b)
Jesse Hall [Sat, 5 Dec 2015 05:52:53 +0000 (21:52 -0800)]
vulkan: remove patches/frameworks_native-sdk_0.10
Change-Id: I60597847ca8c8a006f20e474320ac872d9ea12b0
(cherry picked from commit
dd45da17053d5140fa0e201ef1039ffd25643e02)
Jesse Hall [Sat, 5 Dec 2015 05:25:04 +0000 (21:25 -0800)]
libvulkan: Add missing instance entry point dispatch init
Change-Id: Ib7db123ce91b0f488230988d66e6b627f0ac8645
(cherry picked from commit
c00a23cb61f64a7c82cfab2b2c19ab15b5805348)
Michael Lentine [Sat, 5 Dec 2015 00:25:11 +0000 (16:25 -0800)]
vknulldrv: Fix 64-bit build
Change-Id: I5dad7520ab513d230ba4af0ce2a4feb18b43bc82
(cherry picked from commit
1eb7f719d235708420898cdf4c18bc4cd46e19be)
Jesse Hall [Fri, 4 Dec 2015 00:12:51 +0000 (16:12 -0800)]
libvulkan: Implement new VkFence parameter in vkAcquireNextImageKHR
This parameter was added recently but wasn't hooked up. This adds a
new parameter to the vkAcquireImageANDROID extension function, and
plumbs the fence through from vkAcquireNextImageKHR to it.
This change also fixes some function signatures for API functions that
are implemented in the loader bottom rather than the driver. These
functions are only ever called through function pointers returned by
vkGet*ProcAddr, and therefore pass through a cast to
PFN_vkVoidFunction. So the compiler had no way to know they were
supposed to match a particular prototype, and couldn't issue an error
when they didn't. This change adds explicit static casts to the
expected function pointer type before reinterpret casting to the
generic function pointer type to enable compile errors.
Change-Id: I8a7e065502f783d5f2381b43c880644868234f8f
(cherry picked from commit
f62f5de0c60212796b6d910cbd194c7002226264)
Jesse Hall [Fri, 4 Dec 2015 00:53:13 +0000 (16:53 -0800)]
vulkan: Add acquire fence fix to sdk-0.10 patch stack
Change-Id: I1cd113fd9f534ead89cc68ae35615d260c43df9c
(cherry picked from commit
ed10d8ff02ae068d39ebde2b47b030790b0f3ffa)
Jesse Hall [Wed, 2 Dec 2015 23:47:13 +0000 (15:47 -0800)]
vulkan: Add vkAllocateCommandBuffers fix to sdk-0.10 patch stack
Change-Id: I3e8fba17eeb95d8d1d58ba84b06b09c204e57f19
(cherry picked from commit
846b281e644ba22ea4e38aed3126b5359daad71c)
Jesse Hall [Wed, 2 Dec 2015 23:40:12 +0000 (15:40 -0800)]
libvulkan: Fix missed vkAllocateCommandBuffers renames
Change-Id: Ic3fee0d565009327f524084b14da498c8412155f
(cherry picked from commit
3b8513e831673417af2ad79baa6c73710742fa0f)
Jesse Hall [Wed, 2 Dec 2015 00:53:29 +0000 (16:53 -0800)]
vulkan: Fixes to the SDK-0.9->0.10 patch stack
Change-Id: I08374f21103f807722615313f0250afd7b842949
(cherry picked from commit
c0f080e191bdf34ac6455d132724b47892c630f6)
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 [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 [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)
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)
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 [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)
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 [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 [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 [Mon, 30 Nov 2015 08:42:57 +0000 (00:42 -0800)]
vulkan: Update from version 0.198.0 to 0.200.0
Change-Id: I071a9143332dd8b8c2ef899105073ed8791fc5db
(cherry picked from commit
9568691bea351152b340c0cbb3d31e5246ac469b)
Jesse Hall [Mon, 30 Nov 2015 08:07:16 +0000 (00:07 -0800)]
vulkan: Update from version 0.197.0 to 0.198.0
Change-Id: I182b21c68374e8eae962b2ae391bb283f07d5517
(cherry picked from commit
ef5b7de781a9d803be4fba7ba243e6e96dd61851)
Jesse Hall [Mon, 30 Nov 2015 07:50:38 +0000 (23:50 -0800)]
vulkan: Update from version 0.196.0 to 0.197.0
Change-Id: I1c7aecd276cb8d831b8d7bf7eef58b5c6ad8b82c
(cherry picked from commit
bef4966ad22d7690626b3dc048c59cb9e9eab870)
Jesse Hall [Mon, 30 Nov 2015 06:10:52 +0000 (22:10 -0800)]
vulkan: Update from version 0.194.0 to 0.196.0
Change-Id: Ib62cc358b1f2575daeaa2a893eb4afca458ec5c3
(cherry picked from commit
48e9a8af39134fc2e995867668e113e56931167b)
Jesse Hall [Mon, 30 Nov 2015 05:05:26 +0000 (21:05 -0800)]
vulkan: Update from version 0.193.0 to 0.194.0
Change-Id: I6a4508a61414375112bae3ffd16b0490ce3e4294
(cherry picked from commit
83c7f0486d495e9e7ab6f901ddeed931fff9ebad)
Jesse Hall [Mon, 30 Nov 2015 03:46:20 +0000 (19:46 -0800)]
vulkan: Update from version 0.192.0 to 0.193.0
Change-Id: I4387b28368c38c5165c1da99d8dc4e632ad2b42a
(cherry picked from commit
d0534c33c98e8f0c844b37df7c764c9dbd6bbaa3)
Jesse Hall [Mon, 30 Nov 2015 03:12:15 +0000 (19:12 -0800)]
vulkan: Update from version 0.190.0 to 0.192.0
Change-Id: I5d38543a4ae1c522cacb45a3c011ceab62d2e1d5
(cherry picked from commit
c10af6dde1e91deb70ef055838f1b51240fc66f2)
Jesse Hall [Mon, 30 Nov 2015 02:59:42 +0000 (18:59 -0800)]
vulkan: Update from version 0.189.0 to 0.190.0
Change-Id: I0ac3f2797b65ef49cca90e76a47f1e6ca3a341a3
(cherry picked from commit
888efcf06fdbfa02587ffbfaa8fe6ca8e1b6e58a)
Jesse Hall [Sun, 29 Nov 2015 22:36:39 +0000 (14:36 -0800)]
vulkan: Update from version 0.188.0 to 0.189.0
Change-Id: Ib8171ce1d3f804f9a866e1c216db0911043056c6
(cherry picked from commit
48c1928e091dd7eb6ca4fc6564e0be072028c38a)
Jesse Hall [Tue, 24 Nov 2015 20:44:21 +0000 (12:44 -0800)]
vulkan: Update from version 0.186.0 to 0.188.0
Change-Id: Ida08d51f4e892202b594072d1e765ba5c55444db
(cherry picked from commit
2ca0449bdeecd0257c7473f663896b00d0082def)
Jesse Hall [Tue, 24 Nov 2015 19:37:23 +0000 (11:37 -0800)]
vulkan: Update from version 0.185.0 to 0.186.0
Change-Id: I6acb7742a1d4628930bc0807adfd222bc8349c43
(cherry picked from commit
9148de67a84540aa7d70ae72fbf587e26cbd0891)
Jesse Hall [Tue, 24 Nov 2015 19:08:36 +0000 (11:08 -0800)]
vulkan: Update from version 0.184.0 to 0.185.0
Change-Id: I1d6012db32441fe3a99480bfed0e41dfce068980
(cherry picked from commit
8b07f118b46ae01f709e7bfd92e29c6f6df5d7c0)
Jesse Hall [Tue, 24 Nov 2015 18:24:18 +0000 (10:24 -0800)]
vulkan.api: Distinguish Vk*Flags from Vk*FlagBits
Previously Vulkan never used the *FlagBits enums directly as the type
of a parameter or field, only ever using the *Flags typedef. For cases
when a variable should have exactl one of the options, a separate enum
was used. Now Vulkan is switching to using the *FlagBits enum for such
variables, to avoid needing two separate enums for the same thing.
The API file didn't distinguish between these before, it only had one
type for the bitfield, and the vulkan_h.tmpl template synthesized the
*FlagBits name from the *Flags name during generation. Now that we
have cases where some variables need the *FlagBits type and some need
the *Flags type, we need to distinguish them in the API file. This
change does that.
This required some ugly casting in a few places to get around apic's
strict operand type compatibility rules. Most of these can go away
once b/
25863296 is fixed.
Change-Id: Ia153d4b0c91abe80e4c34a284ca9d721cc770795
(cherry picked from commit
9f9678461ec3fdefa9c29e84c329cbdd243d7f80)
Jesse Hall [Sun, 22 Nov 2015 03:31:56 +0000 (19:31 -0800)]
vulkan: Update from version 0.183.0 to 0.184.0
Change-Id: I11802010d9171877e3fc8cc6e0931f8c746660c4
(cherry picked from commit
821c3aebdbac594a9b977e8183a863bed7419132)
Jesse Hall [Tue, 24 Nov 2015 01:24:58 +0000 (17:24 -0800)]
vulkan: Implement VkSurfaceKHR and use vulkanext.h
Between header version 0.183.0 and 0.184.0, a copy of vulkan.h which
includes extensions was added to the registry, called vulkanext.h. The
vulkan.h included here is actually the registry's vulkanext.h.
(In a later upstream change, the no-extensions version was removed
from the registry, and vulkanext.h was renamed vulkan.h, matching what
we're doing here.)
The version of the extensions picked up in the header file is later
than the ones used in the previous SDK, so this change also updates
our implementation to the extension versions included in the header.
The main change is replacing the VkSurfaceDescriptionKHR structure
with a VkSurfaceKHR object.
Change-Id: I18fa5a269db0fcdbdbde3e9304167bc15e456f85
(cherry picked from commit
957a59a48a8d2e81ca3bb52aacd8d08b1b43dc74)
Jesse Hall [Fri, 20 Nov 2015 22:17:03 +0000 (14:17 -0800)]
vulkan: Update from version 0.181.0 to 0.183.0
Change-Id: I721bfc6891974e2bab7dce7e92e7884de360412a
(cherry picked from commit
85009ebe92a71d3c707efad6387118b186cca0c9)
Jesse Hall [Fri, 20 Nov 2015 06:48:02 +0000 (22:48 -0800)]
vulkan: Update from version 0.180.0 to 0.181.0
Change-Id: I4a7e216d9966f2dcf873bcb952472463dfb59f95
(cherry picked from commit
2c3539bab4b81b6e55d690c5e113d3421cc15021)
Jesse Hall [Fri, 20 Nov 2015 06:30:07 +0000 (22:30 -0800)]
vulkan: Update from version 0.179.0 to 0.180.0
Change-Id: I2cbf4a8b065e8150734d76d614ab0850bc8324dc
(cherry picked from commit
2b2221bd4c5cbc2580bf7b4e487bffe36fd25c4a)
Jesse Hall [Fri, 20 Nov 2015 06:17:28 +0000 (22:17 -0800)]
vulkan: Update from version 0.177.0 to 0.179.0
Change-Id: I4d596efec04a712d7b38323e012282fe9f98192b
(cherry picked from commit
daf915168b0aea3a47401a838448d737e955c154)
Jesse Hall [Fri, 20 Nov 2015 05:51:33 +0000 (21:51 -0800)]
vulkan: Update from version 0.174.0 to 0.177.0
Change-Id: I4b837c0bdb4fd6120688e8389ab8591178d370fb
(cherry picked from commit
5804cbcdb3c6444c7bb6904578ed339d9339de83)
Jesse Hall [Fri, 20 Nov 2015 05:32:50 +0000 (21:32 -0800)]
vulkan: Update from version 0.172.2 to 0.174.0
Change-Id: If89614476735e5fb83cbeb4cf473e32e6f0cc386
(cherry picked from commit
18896311f868ab1b2b8a9a6ca34de4c0de6cf0d7)
Jesse Hall [Tue, 1 Dec 2015 05:53:42 +0000 (21:53 -0800)]
vulkan: Add SDK 0.9 to 0.10 patch stack
Change-Id: I7aaae7966b7a64c2d56f0933b811400a7c892cd6
(cherry picked from commit
7f8155bd9e394073415bc565efca3cd6e2969d5b)
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, 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 [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 [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)
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 [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)
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)
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)
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)
Michael Lentine [Tue, 3 Nov 2015 02:32:04 +0000 (18:32 -0800)]
Remove Noop and move message removal.
Previously there were two Noop functions when only one is needed.
Additionally, the debug message was getting removed after the
layer was removed which is incorrect.
Change-Id: Ibee29b5395a8756c5a3e5c70df8e4723abb63e2b
(cherry picked from commit
262b1bddd775510584b50921e007d9eb6d8029c4)
Jesse Hall [Fri, 30 Oct 2015 00:14:50 +0000 (17:14 -0700)]
vknulldrv: Fix several entry point prototypes
Entry point implementations were never used where the appropriate
PFN_vk* type was expected, so when the prototypes were wrong the
compiler wouldn't know or be able to tell us. Of course, this means
several of them were wrong after the update to header 0.170.2.
This change adds an explicit static_cast to the appropriate function
pointer type for each function so the compiler will issue an error
when the prototype is wrong. It also fixes all of the resulting
errors.
Change-Id: I44211353476b56c8b429ee5d7ca7a669e8a95afd
(cherry picked from commit
90018472e9c4eed2fae226bd64f29da065d4b1e7)
Jesse Hall [Thu, 29 Oct 2015 18:20:07 +0000 (11:20 -0700)]
libvulkan: Don't log error if layer dir doesn't exist
It's normal for the global layer dir to not exist, and would be a
serious system bug if the APK native library dir didn't exist. Either
way, a VERBOSE message will be seen by the appropriate people, without
spamming the log during normal operation.
Change-Id: I7419b46304bb98b4dbb6d02effff0a4062c6de79
(cherry picked from commit
e0059ade3836ec778f16a7c8998d056a21d2a7ab)
Jesse Hall [Fri, 30 Oct 2015 01:49:53 +0000 (18:49 -0700)]
libvulkan: Fix check for redundant vkDeviceQueue calls
dEQP test sets typically create a device once, but call
vkGetDeviceQueue in each test case. Due to this bug we were failing
all but the first call.
Change-Id: If5a07ae23d630e64d06b7028b7e62f389533da43
(cherry picked from commit
8be3d02cb116d82aac0e2c8f50168d816bfec4a0)
Jesse Hall [Wed, 28 Oct 2015 22:59:53 +0000 (15:59 -0700)]
libvulkan: Fail instance/device creation if requested layer not present
Change-Id: I27177597e1aa8f22fa97ee60c5ff8dea6a7dde95
(cherry picked from commit
4113c6571109e03cc99dfb6a073e742c30478abd)
Jesse Hall [Fri, 23 Oct 2015 16:33:39 +0000 (11:33 -0500)]
vulkan: Fix GetSpecific*ProcAddr for extension functions
Change-Id: Ib19e08b9e057affe348e0da5e6840e139d4ec292
(cherry picked from commit
b7f5ef5d5fee72fc16fb3e883b0d1725f2c7feed)
Jesse Hall [Fri, 16 Oct 2015 04:56:17 +0000 (21:56 -0700)]
vulkan: add recursive f/n/vulkan/Android.mk
This allows using 'mm' to build everything under this dir, instead of
needing to build in each subdir separately.
Change-Id: I0c7692a7be54899b40f1cacdab3bea0e74d80174
(cherry picked from commit
ba85347fc30649a17b00a237d81e8861097baeb9)
Jesse Hall [Fri, 16 Oct 2015 04:53:37 +0000 (21:53 -0700)]
vulkan: Use the same dispatch magic value as LunarG
Change-Id: I3ac0d3953bd395ffb459aa7b8c7c08914b49008b
(cherry picked from commit
6a4503c5b8d01cc89e1ebde747c162ee326ebbff)
Michael Lentine [Thu, 15 Oct 2015 17:42:22 +0000 (12:42 -0500)]
Update DEBUG_REPORT extension and callback for v170.2
Change-Id: Ica7bb0fb738804c48f165409882086d0300bc294
(cherry picked from commit
647626135721fc28d36364031f04a1541719fb5e)
Jesse Hall [Wed, 14 Oct 2015 22:26:43 +0000 (15:26 -0700)]
vulkan: Add build-install_libvulkan virtual branch
Change-Id: I8f028c6aedf6bcc44d1da25cf9b0e16b95f3c10b
(cherry picked from commit
d25223b2a824b8b78d6e0783069aecb8981d9428)
Jesse Hall [Wed, 14 Oct 2015 22:23:24 +0000 (15:23 -0700)]
vulkan: Remove sdk-0.9 virtual branch, has been merged
Change-Id: I67e15c1d5fdd3364232051ab94e24e91a826c6a2
(cherry picked from commit
e8faab3a100346438f43178e2c902642f57a0841)
Jesse Hall [Wed, 14 Oct 2015 20:35:24 +0000 (13:35 -0700)]
vulkan: Update to SDK-0.9 version of vk_ext_khr_device_swapchain.h
Change-Id: I16c1505accd01831ddfcb5c9d047175f1982e3bf
(cherry picked from commit
0316a4ec28abedf4ad2cbfc3fa7464f5b70699e0)
Jesse Hall [Thu, 8 Oct 2015 21:00:22 +0000 (14:00 -0700)]
vulkan: Update from header 0.138.2 to 0.170.2
Change-Id: I011e1f27d025730d448ee5cfefc6701300b455c2
(cherry picked from commit
6761b6067555557599e8c30096614642a5223646)
Michael Lentine [Tue, 13 Oct 2015 16:08:45 +0000 (11:08 -0500)]
Add support for longer than 12 character layers.
Change-Id: Ic2bf1c21a962e0921a68ec58946817518468c8b0
(cherry picked from commit
17d4cf3b87c688ec35320d3061e26862a891233b)
Michael Lentine [Wed, 16 Sep 2015 20:53:50 +0000 (15:53 -0500)]
Allow for different layers to be active per device
Change-Id: I947ec25bc44072bec825a78fa6ddda3121e1f818
(cherry picked from commit
dd12a76d6a89e0fcab4a4adcaec190d8b50909c5)
Jesse Hall [Fri, 9 Oct 2015 05:22:56 +0000 (22:22 -0700)]
vulkan: Add sdk-0.9 virtual branch
Change-Id: If339b10e9a0cb07cf4bcdeedceaf71b5f609da15
(cherry picked from commit
d202e3c7049df2df60828aedaeeb99eae762df58)
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)
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)
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)
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)
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)
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)
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)
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 [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 [Fri, 4 Sep 2015 23:12:33 +0000 (16:12 -0700)]
vulkan: Add skeleton swapchain support
Loader and driver entry points exist and the call chains are hooked up
properly, but functions are just empty stubs for now.
Change-Id: I6ff95e47d1d09ebed41eda8accb71686c8249546
(cherry picked from commit
038c8a740bbda4650bec776023a26a7fcbf93864)
Jesse Hall [Tue, 8 Sep 2015 14:44:48 +0000 (07:44 -0700)]
vulkan: add copyright notices
Change-Id: I62ec6d02a052c9e9cee9753057d55c165dfc9713
(cherry picked from commit
b7f416a9cc3d136ffe4a60b5f6fb2dc8b92a623b)
Jesse Hall [Wed, 2 Sep 2015 01:07:41 +0000 (18:07 -0700)]
vknulldrv: Implement VkImage
Change-Id: Ief50f433fc9b1ad4f4b0ee28912993d59d9df411
(cherry picked from commit
cd1a7c4312ac5828682e580fdbbad7b10dbf5a45)
Jesse Hall [Tue, 1 Sep 2015 23:24:29 +0000 (16:24 -0700)]
vulkan: warn on bogus CreateBuffer args
Change-Id: I415a367f3952ef08f8b659d15ce4278da8c4b70a
(cherry picked from commit
f96997afd168a31582217d19fc237163c963dad0)
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 [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 [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 [Sat, 29 Aug 2015 16:06:12 +0000 (17:06 +0100)]
vknulldrv: implement VkBuffer objects
Change-Id: Idda564392cf8daae6ea8c3a9809e6df990433a33
(cherry picked from commit
aee62ea7ff379dde787344e1377b51fefb2385d6)
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)
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 [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 [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, 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)
Jesse Hall [Sun, 16 Aug 2015 00:56:53 +0000 (17:56 -0700)]
vulkan: add initial vkandroid doc
Change-Id: I40aa41941bfbe0f33f30446e83ef62f5358e47d4
(cherry picked from commit
64b41615ead7f7ba1df309889cbbc7aee60cb3f4)
Tim Murray [Mon, 25 Jan 2016 18:45:04 +0000 (18:45 +0000)]
Merge "Set cpuset from surfaceflinger."
Martijn Coenen [Mon, 25 Jan 2016 09:53:32 +0000 (09:53 +0000)]
Merge "Implementation of HCE for NFC-F." am:
695d489450
am:
6c98d282de
* commit '
6c98d282de7604fcbdbc07be009d9e5a3a0d9f44':
Implementation of HCE for NFC-F.
Martijn Coenen [Mon, 25 Jan 2016 09:51:45 +0000 (09:51 +0000)]
Merge "Implementation of HCE for NFC-F."
am:
695d489450
* commit '
695d489450cc6ce102979846fe5e8ac565d9151a':
Implementation of HCE for NFC-F.
Martijn Coenen [Mon, 25 Jan 2016 09:47:27 +0000 (09:47 +0000)]
Merge "Implementation of HCE for NFC-F."