OSDN Git Service

android-x86/frameworks-native.git
8 years agovulkan: Update from version 0.210.1 to 0.213.0
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)

8 years agovkinfo: print device layers and extensions
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)

8 years agovkinfo: Refactor to separate info gather from print stages
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)

8 years agovulkan: Implement layer and extension enumeration
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)

8 years agovkinfo: print instance layers and extensions
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)

8 years agovulkan: Implement new vkGet*ProcAddrBehavior
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)

8 years agolibvulkan: Update global layer loading rules
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)

8 years agovknulldrv: Change module name to not clash with real drivers
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)

8 years agovulkan: Update DevelopersGuide for SDK 0.10
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)

8 years agovulkan: remove patches/frameworks_native-sdk_0.10
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)

8 years agolibvulkan: Add missing instance entry point dispatch init
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)

8 years agovknulldrv: Fix 64-bit build
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)

8 years agolibvulkan: Implement new VkFence parameter in vkAcquireNextImageKHR
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)

8 years agovulkan: Add acquire fence fix to sdk-0.10 patch stack
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)

8 years agovulkan: Add vkAllocateCommandBuffers fix to sdk-0.10 patch stack
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)

8 years agolibvulkan: Fix missed vkAllocateCommandBuffers renames
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)

8 years agovulkan: Fixes to the SDK-0.9->0.10 patch stack
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)

8 years agovulkan: Update from version 0.210.0 to 0.210.1
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)

8 years agovulkan: Assign enums to the correct extension
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)

8 years agovulkan: Update from version 0.209.0 to 0.210.0
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)

8 years agovulkan: Update from version 0.206.0 to 0.209.0
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)

8 years agovulkan: Update from version 0.205.0 to 0.206.0
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)

8 years agovulkan: Update from version 0.204.0 to 0.205.0
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)

8 years agovulkan: Update from version 0.203.0 to 0.204.0
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)

8 years agovulkan: Update from version 0.202.0 to 0.203.0
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)

8 years agovulkan: Update from version 0.200.0 to 0.202.0
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)

8 years agovulkan: Update from version 0.198.0 to 0.200.0
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)

8 years agovulkan: Update from version 0.197.0 to 0.198.0
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)

8 years agovulkan: Update from version 0.196.0 to 0.197.0
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)

8 years agovulkan: Update from version 0.194.0 to 0.196.0
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)

8 years agovulkan: Update from version 0.193.0 to 0.194.0
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)

8 years agovulkan: Update from version 0.192.0 to 0.193.0
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)

8 years agovulkan: Update from version 0.190.0 to 0.192.0
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)

8 years agovulkan: Update from version 0.189.0 to 0.190.0
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)

8 years agovulkan: Update from version 0.188.0 to 0.189.0
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)

8 years agovulkan: Update from version 0.186.0 to 0.188.0
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)

8 years agovulkan: Update from version 0.185.0 to 0.186.0
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)

8 years agovulkan: Update from version 0.184.0 to 0.185.0
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)

8 years agovulkan.api: Distinguish Vk*Flags from Vk*FlagBits
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)

8 years agovulkan: Update from version 0.183.0 to 0.184.0
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)

8 years agovulkan: Implement VkSurfaceKHR and use vulkanext.h
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)

8 years agovulkan: Update from version 0.181.0 to 0.183.0
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)

8 years agovulkan: Update from version 0.180.0 to 0.181.0
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)

8 years agovulkan: Update from version 0.179.0 to 0.180.0
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)

8 years agovulkan: Update from version 0.177.0 to 0.179.0
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)

8 years agovulkan: Update from version 0.174.0 to 0.177.0
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)

8 years agovulkan: Update from version 0.172.2 to 0.174.0
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)

8 years agovulkan: Add SDK 0.9 to 0.10 patch stack
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)

8 years agolibvulkan: Remove dead special cases in GetDeviceProcAddr
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)

8 years agovulkan: Update templates for generated extensions
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)

8 years agoDon't remove elements while iterating through active_layers.
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)

8 years agoDon't assume layers exist when prop is set
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)

8 years agovulkan: Add DevelopersGuide.pdf
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)

8 years agoAdd WSI functions to the loader.
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)

8 years agovulkan: allow drivers to see image acquire/release
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)

8 years agovulkan: Allow drivers to add private gralloc usage flags
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)

8 years agolibvulkan: enable scaling for all Vulkan swapchains
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)

8 years agoRemove Noop and move message removal.
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)

8 years agovknulldrv: Fix several entry point prototypes
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)

8 years agolibvulkan: Don't log error if layer dir doesn't exist
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)

8 years agolibvulkan: Fix check for redundant vkDeviceQueue calls
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)

8 years agolibvulkan: Fail instance/device creation if requested layer not present
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)

8 years agovulkan: Fix GetSpecific*ProcAddr for extension functions
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)

8 years agovulkan: add recursive f/n/vulkan/Android.mk
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)

8 years agovulkan: Use the same dispatch magic value as LunarG
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)

8 years agoUpdate DEBUG_REPORT extension and callback for v170.2
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)

8 years agovulkan: Add build-install_libvulkan virtual branch
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)

8 years agovulkan: Remove sdk-0.9 virtual branch, has been merged
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)

8 years agovulkan: Update to SDK-0.9 version of vk_ext_khr_device_swapchain.h
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)

8 years agovulkan: Update from header 0.138.2 to 0.170.2
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)

8 years agoAdd support for longer than 12 character layers.
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)

8 years agoAllow for different layers to be active per device
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)

8 years agovulkan: Add sdk-0.9 virtual branch
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)

8 years agovulkan: Add apk_library_dir virtual branch
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)

8 years agoAdd support for loading layers from the apk.
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)

8 years agoAdd default callbacks in the loader.
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)

8 years agoAdd support for arbitrary number of layers
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)

8 years agoAdd support for autoloading callback extension.
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)

8 years agoAdd support for multiple layers in the same so
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)

8 years agoAdd layer loading to android vulkan loader.
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)

8 years agoFix GetSpecific*ProcAddr.
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)

8 years agovulkan: Implement vk_ext_khr_*swapchain extensions
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)

8 years agovulkan: Add skeleton swapchain support
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)

8 years agovulkan: add copyright notices
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)

8 years agovknulldrv: Implement VkImage
Jesse Hall [Wed, 2 Sep 2015 01:07:41 +0000 (18:07 -0700)]
vknulldrv: Implement VkImage

Change-Id: Ief50f433fc9b1ad4f4b0ee28912993d59d9df411
(cherry picked from commit cd1a7c4312ac5828682e580fdbbad7b10dbf5a45)

8 years agovulkan: warn on bogus CreateBuffer args
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)

8 years agovulkan: Set up VkCmdBuffer dispatching
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)

8 years agovknulldrv: Implement creation of no-op object types
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)

8 years agovknulldrv: implement VkDeviceMemory objects
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)

8 years agovknulldrv: implement VkBuffer objects
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)

8 years agovulkan: add memory property queries to nulldrv and vkinfo
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)

8 years agovulkan: initial loader and null driver
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)

8 years agovulkan: apply 138.0..v138.2 changes to api file
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)

8 years agovulkan: import api from upstream
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)

8 years agovulkan: several updates to implementor's guide
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)

8 years agovulkan: add initial vkandroid doc
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)

8 years agoMerge "Set cpuset from surfaceflinger."
Tim Murray [Mon, 25 Jan 2016 18:45:04 +0000 (18:45 +0000)]
Merge "Set cpuset from surfaceflinger."

8 years agoMerge "Implementation of HCE for NFC-F." am: 695d489450
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.

8 years agoMerge "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.

8 years agoMerge "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."