summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
Mark Young [Wed, 29 Mar 2017 19:39:27 +0000 (13:39 -0600)]
loader: Fix loader and layer negotiation
Resolve missing struct sType as well as extern of
vkNegotiateLoaderAndLayerInterface as a C function. Finally,
bump up the JSON file version so it looks for the negotiate
function.
Change-Id: I7fd4784fce6cbd0c303f7b2bb354542e4b16b1df
Mark Young [Tue, 28 Feb 2017 16:58:04 +0000 (09:58 -0700)]
vulkan: update to header 1.0.42
Updated all necessary files to 1.0.42. This includes the various
headers as well as the loader, and the parameter validation, object
tracking, and threading layers. Additionally, bump all layer JSON
files to 1.0.42.
Also, in this change:
- Enable loader extension automation so that the loader now
generates all extension entry-points automatically during build
to reduce likelihood of missing a critical piece on header
update.
- Enable layer dispatch table extension automation for the same
reason.
- Fixes from Mark Lobodzinski and Tony Barbour to resolve crash
in loader when working with Intel's Windows driver due to
GetInstanceProcAddr getting called on inappropriate command
names.
Change-Id: Ic18d3fac2e145c386c0192031deb5089c91a00d8
Mark Young [Fri, 20 Jan 2017 04:10:49 +0000 (21:10 -0700)]
loader: Update the loader to 1.0.39
Add new extensions for 1.0.39. Also, updated layers to include
minimal set of functionality for 1.0.39 extensions. Extensions include:
- VK_KHR_get_physical_device_properties2
- VK_KHR_shader_draw_parameters
- VK_EXT_direct_mode_display
- VK_EXT_display_surface_counter
- VK_EXT_display_control
Also, redo the LoaderAndLayerIf document.
Change-Id: I10412086da7a798afe832a3892e18f606259b5af
Mark Lobodzinski [Mon, 12 Dec 2016 16:44:34 +0000 (09:44 -0700)]
header: Update to Vulkan version 1.0.37
- header: Updated vulkan.h
- scripts: Updated generator.py
- scripts: Updated vk.xml
- scripts: Merged recent genvk.py changes into lvl_genvk.py
- layers: Updated json files
- loader: Updated SOVERSION to 37
- header: Rebuilt and updated vulkan.hpp
- layers: Updated thread_checker for new functions
- scripts: Fix up vk_helper.py overzealous count detection
Change-Id: Ia10f5fc759166a09999f01e68bbcadb30ddf67f7
Mark Young [Fri, 1 Jul 2016 21:18:27 +0000 (15:18 -0600)]
loader: gh888 Add KHR/EXT extensions in vulkan.h
Add the KHR_display_swapchain device extension to the loader
and the core_validation layers. This fulfills the work required in
JIRA LOAD-7 and gh 90.
Add debug_marker to the extension list.
Change-Id: I1fb70e5d44bc8c1f70fd6d1cfbd106a155081b25
Mark Lobodzinski [Mon, 29 Aug 2016 18:14:55 +0000 (12:14 -0600)]
layers: Update dispatch tables for new 1.0.25 APIs
Change-Id: I001583402bc99f923a776b238a82db5a60398f03
Mark Lobodzinski [Tue, 24 May 2016 22:04:56 +0000 (16:04 -0600)]
layers: Move debug action enums from vk_layer.h
Moved debug-report related items from vk_layer.h. Enums are now in
vk_layer_logging.h and DbgFunctionNode has been moved into a new
loader header file vk_loader_layer.h.
Change-Id: I6031146ba474ff01ca039da44ad5d42d054383a3
Mark Lobodzinski [Thu, 19 May 2016 21:27:18 +0000 (15:27 -0600)]
layers: Add default layer error message config
Allows layers to output error messages even if no vk_layer_settings.txt
config file is present. Sets defaults to LOG_MSG, error, stdout.
A layer settings file will override any default values. If no settings
file is present and an app creates a debug callback, the default
callbacks will be removed and unregistered.
Change-Id: I49f37189665816df58c258b9e9629f2bf76751c8
Jon Ashburn [Tue, 19 Apr 2016 17:30:31 +0000 (11:30 -0600)]
misc: Update licenses to Apache 2.0
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
ttyio [Sun, 10 Apr 2016 14:07:28 +0000 (22:07 +0800)]
layers: Update typo in comment
Vinjn Zhang [Wed, 6 Apr 2016 07:38:24 +0000 (15:38 +0800)]
Update vk_layer.h
Correct comment for VkLayer*CreateInfo's sType
Jon Ashburn [Thu, 31 Mar 2016 16:52:22 +0000 (10:52 -0600)]
loader: Add device callback to set dispatchable object
Change-Id: I5ca8f532e777e2cb0facf8fe5bab4c82409f8d37
Jon Ashburn [Tue, 29 Mar 2016 18:52:13 +0000 (12:52 -0600)]
loader: Remove the device_info in the layer chain structure
Simplifies code, the loader device structure is passed down from
trampoline code to terminator code via the pDevice parameter. It doesn't
need to be added to this pCreatInfo pNext list structure.
Layers which modifiy pDevice whould do it on the way up the chain not going
down the chain.
Change-Id: Ibf7e4ffdc1a36f52b1a99389dcab25d572655aec
Jon Ashburn [Tue, 29 Mar 2016 17:16:01 +0000 (11:16 -0600)]
loader: Add instance callback to set dispatchable objects
Change-Id: I73b8b6edfee491c53216b730c99a7ea34ade3b4e
Jon Ashburn [Mon, 28 Mar 2016 19:58:16 +0000 (13:58 -0600)]
loader: Remove the instance_info in the layer chain structure
Simplifies code, the loader instance structure is already passed down
from trampoline code to terminator code via the pInstance parameter. It doesn't
need to be added to this pCreatInfo pNext list structure.
Layers which modifiy pInstance whould do it on the way up the chain not going
down the chain.
Change-Id: I59581b94871c094995787808cf5ae2955ad0191a
Jon Ashburn [Tue, 8 Mar 2016 16:30:30 +0000 (09:30 -0700)]
loader: gllvl #50, Add support for the WSI extension KHR_display
Change-Id: I8d5ecc7500beba3042a6b9147b2f3fd3055b3b1d
Jon Ashburn [Thu, 3 Mar 2016 19:03:58 +0000 (12:03 -0700)]
misc: Remove lunarg_debug_marker extension
This device extensions was not completely supported in any layer. It had partial
support (intercept) in draw_state and device_limits. This extension is being
changed and has a formal proposal in Khronos as debug_marker_ext. Removing
the existing extension since it is deprecated; once the debug_marker_ext gets
registered by Khronos, layers might want to start using the ObjectTag/ObjectName
commands to supplement error report messages in debug_report_ext. Since
debug_report_ext might get changed as part of Khronos review, don't add it yet.
Mark Lobodzinski [Thu, 11 Feb 2016 16:26:16 +0000 (09:26 -0700)]
header: Update 1.0.3 header revision for inclusion of debug report extension
Removed vk_ext_debug_report.h (contents moved into vulkan.h)
Renamed debug report message enums
Karl Schultz [Wed, 10 Feb 2016 22:41:43 +0000 (15:41 -0700)]
include: Use single-quote no paths when including sibling headers
Karl Schultz [Wed, 10 Feb 2016 01:07:25 +0000 (18:07 -0700)]
Remove Khronos confidential clause from license text.
Karl Schultz [Tue, 2 Feb 2016 19:32:50 +0000 (12:32 -0700)]
include: Update copyright and apply clang-format (no logic changes)
Jon Ashburn [Wed, 20 Jan 2016 15:07:14 +0000 (08:07 -0700)]
layers: Remove obsolete VkbaseLayerObject
Courtney Goeltzenleuchter [Thu, 14 Jan 2016 23:34:30 +0000 (16:34 -0700)]
loader: Remove CreateInstance and CreateDevice
The new init mechanism always uses GetInstanceProcAddr
to query the next layer's CreateInstance or CreateDevice
function. Thus no reason to cache those function pointers
in the instance dispatch table.
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 19:18:43 +0000 (12:18 -0700)]
loader: implement new layer init method
New layer init method requires the construction of
Link information for CreateInstance and CreateDevice
that is accessible to layers via the CreateInfo.pNext pointer.
The layer can then use the Get*ProcAddr from the Link
structure to initialize their dispatch table if the
call down the chain returns successfully.
This removes the need to do special initialization work
at Get*ProcAddr time.
Layer Get*ProcAddr now return their internal function
pointers regardless of the value of instance or device.
Only need to have valid instance & device when looking
up extensions or when passing the request down the chain.
This mechanism allows us to remove object wrapping used
by the loader previously. Also simplifies the dispatch table
setup.
Conflicts:
layers/device_limits.cpp
layers/draw_state.cpp
loader/loader.c
loader/trampoline.c
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 18:40:27 +0000 (11:40 -0700)]
loader: Add structures to support new init method
These structures will be used to extend CreateInstance
and CreateDevice to support layers. The loader will
create a chain of these structures - one per layer -
that tells the layer the Get*ProcAddr for the next
lower part.
Courtney Goeltzenleuchter [Tue, 19 Jan 2016 00:42:08 +0000 (17:42 -0700)]
debug_report: MR141, Change pUserData to match type used elsewhere
Other uses of pUserData in Vulkan do not have a const qualifier,
remove it for this pUserData.
Courtney Goeltzenleuchter [Wed, 9 Dec 2015 22:48:16 +0000 (15:48 -0700)]
debug_report: rename object type and error bits
Conflicts:
demos/tri.c
layers/device_limits.cpp
layers/draw_state.cpp
layers/image.cpp
layers/mem_tracker.cpp
layers/param_checker.cpp
layers/vk_layer_logging.h
loader/debug_report.c
tests/layer_validation_tests.cpp
Courtney Goeltzenleuchter [Wed, 9 Dec 2015 21:33:56 +0000 (14:33 -0700)]
debug_report: rename vk_lunarg_debug_report.h
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 22:28:25 +0000 (15:28 -0700)]
debug_report: Add DebugReportMessage function
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 19:13:14 +0000 (12:13 -0700)]
debug_report: rename and update to use CreateInfo
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 21:07:05 +0000 (14:07 -0700)]
debug_report: Rename VkDbgMsgCallback object
Mark Lobodzinski [Thu, 10 Dec 2015 23:25:21 +0000 (16:25 -0700)]
wsi: Make WSI cases more consistent, fail if not set correctly
Filled in build details for Mir, Wayland, etc.
Michael Lentine [Wed, 9 Dec 2015 22:33:52 +0000 (14:33 -0800)]
android: Update build to define android platform at build time
Michael Lentine [Thu, 3 Dec 2015 22:33:09 +0000 (14:33 -0800)]
android: Fix android build.
Temporarily disable shader checker which now depends on glslang
Fix xcb guards and set the ifdef based on platform
Mark Lobodzinski [Wed, 25 Nov 2015 20:26:15 +0000 (13:26 -0700)]
wsi: Moved definition of CreateXxxSurface extension to CMakefile
Removed component-specific definitions
Ian Elliott [Tue, 24 Nov 2015 22:39:10 +0000 (15:39 -0700)]
loader: Add vkGetPhysicalDevice*PresentationSupportKHR()
These queries involve trampoline and terminator functions (the latter
of which calls the ICD's function).
Jon Ashburn [Tue, 24 Nov 2015 01:55:15 +0000 (18:55 -0700)]
layers: add DestroySurfaceKHR to instance dispatch table
Ian Elliott [Mon, 23 Nov 2015 17:17:23 +0000 (10:17 -0700)]
loader: Address Jon Ashburn's review comments.
It took a few commits (squashed down into 1) to get it correct. Includes:
Use loader_heap_{alloc|free}().
Try to deal correctly with initializing the vkCreate*SurfaceKHR()'s.
Ian Elliott [Wed, 18 Nov 2015 22:20:45 +0000 (15:20 -0700)]
loader: Get loader compiling.
Ian Elliott [Wed, 18 Nov 2015 21:57:08 +0000 (14:57 -0700)]
WSI: Eliminate a lot of references to WSI header files.
Conflicts:
include/vulkan/vk_layer.h
loader/loader.h
David Pinedo [Tue, 24 Nov 2015 16:00:24 +0000 (09:00 -0700)]
Layers: changed layer names to conform to spec
Jon Ashburn [Tue, 17 Nov 2015 22:31:02 +0000 (15:31 -0700)]
loader: Add dynamic dispatch for unknown device extension entrypoints
GetInstancePorcAddr() is specified to return trampoline entrypoints for all
Vulkan core and extension entrypoints that are dispatched on an instance object
or a child of that instance object. However, typically, device extensions would
be unknown to the loader (don't want to rev the loader everytime an IHV creates
a new device extension).
This patch allows loader to dynamically discover device extension entrypoints
and configure generic trampoline code for these discovered device extensions.
David Pinedo [Fri, 6 Nov 2015 19:54:48 +0000 (12:54 -0700)]
Moved header files from include to include/vulkan
Karl Schultz [Tue, 12 Dec 2017 15:33:01 +0000 (10:33 -0500)]
macOS: Add macOS support
Lenny Komow [Tue, 5 Sep 2017 15:21:47 +0000 (09:21 -0600)]
headers: Fix a typo in vk_icd.h
Change-Id: I9ede42e379605329ffd25a9466e0971b3ab7dd77
Mark Young [Wed, 19 Apr 2017 01:52:18 +0000 (19:52 -0600)]
loader: Add validation for apiVersion
Add a check to determine if the API version being requested can be
handled by the loader. If it can't, then we return incompatible driver.
If we can, we continue along our merry way.
An addendum is that we also bumped the Loader/ICD interface version.
This was requested by Nvidia so that the ICDs know that we pay attention
to the version in the loader. If they don't see the new Loader/ICD
interface version, they will handle the failing on all non-1.0 API
requests.
Change-Id: Icb7dd45e754c9f6a6c8186198333bacc68077b93
Yamakaky [Mon, 13 Mar 2017 15:06:49 +0000 (11:06 -0400)]
headers: Add missing include to vk_icd.h
Mark Young [Fri, 20 Jan 2017 04:10:49 +0000 (21:10 -0700)]
loader: Update the loader to 1.0.39
Add new extensions for 1.0.39. Also, updated layers to include
minimal set of functionality for 1.0.39 extensions. Extensions include:
- VK_KHR_get_physical_device_properties2
- VK_KHR_shader_draw_parameters
- VK_EXT_direct_mode_display
- VK_EXT_display_surface_counter
- VK_EXT_display_control
Also, redo the LoaderAndLayerIf document.
Change-Id: I10412086da7a798afe832a3892e18f606259b5af
Cody Northrop [Thu, 22 Sep 2016 20:39:16 +0000 (14:39 -0600)]
android: Add Android and C++ support to a couple files
These are needed downstream in VulkanTools for Android support.
Piers Daniell [Wed, 14 Sep 2016 17:24:36 +0000 (11:24 -0600)]
loader: Fixes for ICD vk{Create|Destroy}SurfaceKHR
Need to keep VkIcdSurface private to the loader.
The definition may conflict with some redefinitions of
VK_DEFINE_NON_DISPATCHABLE_HANDLE and it's not necessary to make public
anyway.
Change-Id: I30e166f0ecce2fd3ea36c745dc073b705973d75f
Mark Young [Tue, 28 Jun 2016 16:52:43 +0000 (10:52 -0600)]
loader: gh181 use ICD for SurfaceKHR
Use the ICD to create and destroy VkSurfaceKHR objects instead
of just performing the work in the ICD. This only occurs if the ICD
exports the appropriate entry-points, and exposes version 3 of the
loader/icd interface.
Change-Id: I5e7bf9506318823c57ad75cf19d3f53fdfa6451e
Mark Lobodzinski [Thu, 19 May 2016 23:17:58 +0000 (17:17 -0600)]
headers: GH7, Fix bad variable names in vk_icd.h
Change-Id: Ic78792a71ebedbdb5bae68c47856db1c89a714af
Jon Ashburn [Mon, 25 Apr 2016 17:09:37 +0000 (11:09 -0600)]
loader: ghlvl#180 Support a ICD interface version negotiation
Change-Id: I2e5c3717dd7fa86992f617bcc0f93de8ba60759e
Jon Ashburn [Tue, 19 Apr 2016 17:30:31 +0000 (11:30 -0600)]
misc: Update licenses to Apache 2.0
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
Jon Ashburn [Tue, 8 Mar 2016 16:30:30 +0000 (09:30 -0700)]
loader: gllvl #50, Add support for the WSI extension KHR_display
Change-Id: I8d5ecc7500beba3042a6b9147b2f3fd3055b3b1d
Karl Schultz [Wed, 10 Feb 2016 01:07:25 +0000 (18:07 -0700)]
Remove Khronos confidential clause from license text.
Karl Schultz [Tue, 2 Feb 2016 19:32:50 +0000 (12:32 -0700)]
include: Update copyright and apply clang-format (no logic changes)
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 18:39:32 +0000 (11:39 -0700)]
icd: Remove unused reference to vk_sdk_platform.h
Courtney Goeltzenleuchter [Thu, 3 Dec 2015 17:47:42 +0000 (10:47 -0700)]
misc: remove unneeded stdint.h and stdbool.h
All the necessary platform defines/includes are now part of
vk_platform.h, so don't need them in vk_icd.h
Ian Elliott [Tue, 24 Nov 2015 16:47:14 +0000 (09:47 -0700)]
WSI-ICD: Fix Windows compilation error.
Ian Elliott [Wed, 18 Nov 2015 19:19:12 +0000 (12:19 -0700)]
WSI-ICD: Created per-platform structs for platform-specific info.
Per Khronos Bugzilla Bug 15077, on Windows and Linux, VkSurfaceKHR is treated
as a pointer to platform-specific structs that contain the platform-specific
connection and surface/window info. The Vulkan loader vkCreate*SurfaceKHR()
functions will fill in the struct. ICDs and layers will cast VkSurfaceKHR to a
pointer to the appropriate VkIcdSurface* struct.
David Pinedo [Fri, 6 Nov 2015 19:54:48 +0000 (12:54 -0700)]
Moved header files from include to include/vulkan
Khronos Group Webmaster [Thu, 3 May 2018 19:59:09 +0000 (15:59 -0400)]
Initial commit