History log of /frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0a402094986739a2ce1942363370f8e097305933 01-Feb-2016 Jesse Hall <jessehall@google.com> vulkan: Document codegen instructions and code style

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

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

Change-Id: I092d2da56ee4c64498f8edae75e0d995478bb6f2
(cherry picked from commit a5ef7c27bc85e3628814532a32ffb9a5c33c4b73)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
1f91d390ac013ea2514a67e12ddb083119d636d7 12-Dec-2015 Jesse Hall <jessehall@google.com> 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)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
3e0dc8f0d9f4de86ac61c4d3c33c3958f35e0a25 30-Nov-2015 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.198.0 to 0.200.0

Change-Id: I071a9143332dd8b8c2ef899105073ed8791fc5db
(cherry picked from commit 9568691bea351152b340c0cbb3d31e5246ac469b)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
3fbc856120217247c72fb5ed88500000f3881c45 30-Nov-2015 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.194.0 to 0.196.0

Change-Id: Ib62cc358b1f2575daeaa2a893eb4afca458ec5c3
(cherry picked from commit 48e9a8af39134fc2e995867668e113e56931167b)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
a64292517b1876c4bbe5d3e62c577812f40bd922 30-Nov-2015 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.189.0 to 0.190.0

Change-Id: I0ac3f2797b65ef49cca90e76a47f1e6ca3a341a3
(cherry picked from commit 888efcf06fdbfa02587ffbfaa8fe6ca8e1b6e58a)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
6f39a6d1c6202b5d1bb0aa0dc9b2e130e5b73666 24-Nov-2015 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.184.0 to 0.185.0

Change-Id: I1d6012db32441fe3a99480bfed0e41dfce068980
(cherry picked from commit 8b07f118b46ae01f709e7bfd92e29c6f6df5d7c0)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
a9bb62b44be381292b893055cd01cdc89ba55c97 22-Nov-2015 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.183.0 to 0.184.0

Change-Id: I11802010d9171877e3fc8cc6e0931f8c746660c4
(cherry picked from commit 821c3aebdbac594a9b977e8183a863bed7419132)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
fbf97b0e5e25349b951dce1016b263ec3acbf376 20-Nov-2015 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.181.0 to 0.183.0

Change-Id: I721bfc6891974e2bab7dce7e92e7884de360412a
(cherry picked from commit 85009ebe92a71d3c707efad6387118b186cca0c9)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
606a54e194a5884c628130ba2eda1b3bfbc157d7 20-Nov-2015 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.177.0 to 0.179.0

Change-Id: I4d596efec04a712d7b38323e012282fe9f98192b
(cherry picked from commit daf915168b0aea3a47401a838448d737e955c154)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
ae38f7355fd03b777313e13586585a74e0dee05b 20-Nov-2015 Jesse Hall <jessehall@google.com> vulkan: Update from version 0.172.2 to 0.174.0

Change-Id: If89614476735e5fb83cbeb4cf473e32e6f0cc386
(cherry picked from commit 18896311f868ab1b2b8a9a6ca34de4c0de6cf0d7)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
cf25c4174dca708032ea83ac7ae2baad9e575b29 30-Oct-2015 Jesse Hall <jessehall@google.com> 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)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
5ae3abb3ca6728de04935b0c81bcdbdfc37b0d47 08-Oct-2015 Jesse Hall <jessehall@google.com> vulkan: Update from header 0.138.2 to 0.170.2

Change-Id: I011e1f27d025730d448ee5cfefc6701300b455c2
(cherry picked from commit 6761b6067555557599e8c30096614642a5223646)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp
04f4f4746481571148eaf3aaf768ee5c6dccec9d 17-Aug-2015 Jesse Hall <jessehall@google.com> vulkan: initial loader and null driver

Change-Id: Id5ebb5f01e61e9b114990f49c64c88fbbb7b730e
(cherry picked from commit 4df205cdfc61e66de774ba50be9ef59a08cf88bb)
/frameworks/native/vulkan/nulldrv/null_driver_gen.cpp