platform/upstream/Vulkan-Headers.git
6 years agodocs: Fix whitespace
Mark Lobodzinski [Mon, 16 Jul 2018 17:36:34 +0000 (11:36 -0600)]
docs: Fix whitespace

6 years agodocs: Update README to explain contents origins
Karl Schultz [Wed, 11 Jul 2018 12:41:24 +0000 (06:41 -0600)]
docs: Update README to explain contents origins

6 years agoheaders: Remove loader/layer dependency
Lenny Komow [Mon, 25 Jun 2018 19:59:47 +0000 (13:59 -0600)]
headers: Remove loader/layer dependency

The header vk_layer.h included vk_layer_dispatch_table.h, which is not
present in this repo. Instead, it had to be generated from either the
Vulkan-Loader or Vulkan-ValidationLayers repo. This change removes
that dependency.

6 years agoheader: Update to version 1.1.79 of the Vulkan hdr
Mark Lobodzinski [Mon, 2 Jul 2018 20:52:03 +0000 (14:52 -0600)]
header: Update to version 1.1.79 of the Vulkan hdr

- update vk.xml
- update vulkan_core.h
- update validusage.json
- update vulkan.hpp

6 years agobuild: Beautify cmake files
Mike Weiblen [Tue, 26 Jun 2018 21:04:33 +0000 (15:04 -0600)]
build: Beautify cmake files

Add the formatter config file (.cmake-format.py) and run:
cmake-format -i CMakeLists.txt

6 years agobuild: Insert copyright in cmake files
Mike Weiblen [Tue, 26 Jun 2018 20:24:09 +0000 (14:24 -0600)]
build: Insert copyright in cmake files

6 years agocmake: Add Kitware copyright
Mike Weiblen [Tue, 26 Jun 2018 20:06:37 +0000 (14:06 -0600)]
cmake: Add Kitware copyright

Get latest Kitware copyright notice from
https://gitlab.kitware.com/cmake/cmake/blob/master/Copyright.txt @ d45d5e2

6 years agoheader: Update to version 1.1.78 of the Vulkan hdr
Mark Lobodzinski [Tue, 26 Jun 2018 18:03:58 +0000 (12:03 -0600)]
header: Update to version 1.1.78 of the Vulkan hdr

- update vk.xml
- update vulkan_core.h
- updated validusage.json
- updated vulkan.hpp

6 years agobuild: Add .vscode to .gitignore
Karl Schultz [Wed, 20 Jun 2018 16:56:19 +0000 (10:56 -0600)]
build: Add .vscode to .gitignore

6 years agodoc: Update BUILD.md [skip ci]
Karl Schultz [Sat, 16 Jun 2018 01:11:06 +0000 (19:11 -0600)]
doc: Update BUILD.md [skip ci]

6 years agoheaders: Update to version 1.1.77 of the Vulkan hdr
Mark Lobodzinski [Wed, 13 Jun 2018 19:42:35 +0000 (13:42 -0600)]
headers: Update to version 1.1.77 of the Vulkan hdr

- updated vk.xml
- updated vulkan_core.h
- updated validusage.json
- updated vulkan.hpp

6 years agocmake: Prevent redefinition of uninstall target
Karl Schultz [Tue, 12 Jun 2018 21:06:34 +0000 (15:06 -0600)]
cmake: Prevent redefinition of uninstall target

Allows for this repo to be included as a submodule of another
repo that defines its own uninstall target.  The uninstall target
is best defined at the top-level repo.

6 years agoRevert to "Update to 1.1.76 headers"
Mike Schuchardt [Wed, 6 Jun 2018 20:27:29 +0000 (14:27 -0600)]
Revert to "Update to 1.1.76 headers"

This commit reverts to the original 1.1.76 header update now that
Vulkan-ValidationLayers has been updated with 76 specific fixes.

This reverts commit acadd71e0861c53de5319e643c15a89900680c55.

6 years agoheaders: Revert "Update to 1.1.76 headers"
Mark Lobodzinski [Tue, 5 Jun 2018 22:43:52 +0000 (16:43 -0600)]
headers: Revert "Update to 1.1.76 headers"

This reverts commit 81f9735a65b57446800988920233e9114bcec332.

76 Header update broke master Validation-Layers build. Will
repush with accompanying fixes shortly.

6 years agoUpdate to 1.1.76 headers
Mike Schuchardt [Thu, 31 May 2018 21:56:11 +0000 (15:56 -0600)]
Update to 1.1.76 headers

6 years agobuild: Add CMake files for install target
Karl Schultz [Wed, 30 May 2018 22:43:14 +0000 (16:43 -0600)]
build: Add CMake files for install target

6 years agoAdd .gitignore with python cache files
Mike Schuchardt [Tue, 22 May 2018 22:23:37 +0000 (16:23 -0600)]
Add .gitignore with python cache files

Prevents Vulkan-Headers from complaining about untracked files when used
as a submodule

6 years agoAdded 1.1.75 Vulkan header/registry files
Mike Schuchardt [Tue, 22 May 2018 16:17:11 +0000 (10:17 -0600)]
Added 1.1.75 Vulkan header/registry files

Updated files come from the following locations:

include/vulkan/vulkan.hpp   Vulkan-Hpp:vulkan/vulkan.hpp

include/vulkan/*            Vulkan-Docs:include/vulkan/*

registry/cgenerator.py      Vulkan-Docs:xml/cgenerator.py
registry/generator.py       Vulkan-Docs:xml/generator.py
registry/genvk.py           Vulkan-Docs:xml/genvk.py
registry/vk.xml             Vulkan-Docs:xml/vk.xml
registry/reg.py             Vulkan-Docs:xml/reg.py
registry/validusage.json    Vulkan-Docs:out/validation/validusage.json

6 years agoheaders: fix compilation error on android with vk_icd.h
Tapani Pälli [Wed, 16 May 2018 07:44:04 +0000 (10:44 +0300)]
headers: fix compilation error on android with vk_icd.h

Change allow us to refer to ANativeWindow from C code, fixes following
compilation error seen with clang 3.8.27580 (Android O prebuilts).

vk_icd.h:116:5: error: must use 'struct' tag to refer to type 'ANativeWindow'

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
6 years agodocs: Add LICENSE.txt
Karl Schultz [Fri, 11 May 2018 18:13:48 +0000 (12:13 -0600)]
docs:  Add LICENSE.txt

6 years agoheaders: Added 1.74.0 Vulkan header/registry files
Mark Lobodzinski [Fri, 4 May 2018 15:33:39 +0000 (09:33 -0600)]
headers: Added 1.74.0 Vulkan header/registry files

6 years agotests: Add a guard around noexcept in vktestbinding.h
Dave Houlton [Fri, 22 Dec 2017 20:55:53 +0000 (13:55 -0700)]
tests: Add a guard around noexcept in vktestbinding.h

VS2013 does not provide 'noexcept'. Layers had multiple occurences
of a NOEXCEPT macro to protect the VS2013 build. This commit
consolidates that macro to a single location in vk_sdk_platform.h,
which is also visible to the layer tests via test_common.h.

Updates the vktestbinding.h occurences of 'noexcept' to use the
NOEXCEPT macro.

Change-Id: I38bf8c08cda6fe75de78dff69050a913b47f91b1

6 years agomisc: Update licenses to Apache 2.0
Jon Ashburn [Tue, 19 Apr 2016 17:30:31 +0000 (11:30 -0600)]
misc: Update licenses to Apache 2.0

Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97

6 years agoRemove Khronos confidential clause from license text.
Karl Schultz [Wed, 10 Feb 2016 01:07:25 +0000 (18:07 -0700)]
Remove Khronos confidential clause from license text.

6 years agoinclude: Update copyright and apply clang-format (no logic changes)
Karl Schultz [Tue, 2 Feb 2016 19:32:50 +0000 (12:32 -0700)]
include: Update copyright and apply clang-format (no logic changes)

6 years agoFixes: Fixed Visual Studio warnings during compilation.
Mark Young [Wed, 6 Jan 2016 21:26:04 +0000 (14:26 -0700)]
Fixes: Fixed Visual Studio warnings during compilation.

Changes to properly detect proper Visual Studio and fix build warnings.

6 years agoMoved header files from include to include/vulkan
David Pinedo [Fri, 6 Nov 2015 19:54:48 +0000 (12:54 -0700)]
Moved header files from include to include/vulkan

6 years agoloader: Extend pre-instance intercepts for 1.1
Lenny Komow [Tue, 13 Feb 2018 22:58:47 +0000 (15:58 -0700)]
loader: Extend pre-instance intercepts for 1.1

Add the ability to intercept vkEnumerateInstanceVersion through the
pre-instance intercept mechanism

6 years agoloader: Add pre-instance functions for layers
Lenny Komow [Tue, 19 Dec 2017 23:38:37 +0000 (16:38 -0700)]
loader: Add pre-instance functions for layers

Allow implicit layers (not explicit) to intercept calls before an
instance has been created.

Change-Id: I41f5bb0f5a6314fbab8003ebe71059dd04afc860

6 years agolayers: gh1649 - Fix clang warning
Mark Young [Wed, 5 Apr 2017 21:58:44 +0000 (15:58 -0600)]
layers: gh1649 - Fix clang warning

The function pointer definition for the Physical device extensions
was incorrect.  Updated to work properly and remove clang warning.

This was also causing an issue with Tony's latest test.

Change-Id: Ibdd19754a4394d1b88d3a20268238baaf3ec0907

6 years agoloader: Fix loader and layer negotiation
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

6 years agovulkan: update to header 1.0.42
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

6 years agoloader: Update the loader to 1.0.39
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

6 years agoheader: Update to Vulkan version 1.0.37
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

6 years agoloader: gh888 Add KHR/EXT extensions in vulkan.h
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

6 years agolayers: Update dispatch tables for new 1.0.25 APIs
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

6 years agolayers: Move debug action enums from vk_layer.h
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

6 years agolayers: Add default layer error message config
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

6 years agomisc: Update licenses to Apache 2.0
Jon Ashburn [Tue, 19 Apr 2016 17:30:31 +0000 (11:30 -0600)]
misc: Update licenses to Apache 2.0

Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97

6 years agolayers: Update typo in comment
ttyio [Sun, 10 Apr 2016 14:07:28 +0000 (22:07 +0800)]
layers: Update typo in comment

6 years agoUpdate vk_layer.h
Vinjn Zhang [Wed, 6 Apr 2016 07:38:24 +0000 (15:38 +0800)]
Update vk_layer.h

Correct comment for VkLayer*CreateInfo's sType

6 years agoloader: Add device callback to set dispatchable object
Jon Ashburn [Thu, 31 Mar 2016 16:52:22 +0000 (10:52 -0600)]
loader: Add device callback to set dispatchable object

Change-Id: I5ca8f532e777e2cb0facf8fe5bab4c82409f8d37

6 years agoloader: Remove the device_info in the layer chain structure
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

6 years agoloader: Add instance callback to set dispatchable objects
Jon Ashburn [Tue, 29 Mar 2016 17:16:01 +0000 (11:16 -0600)]
loader: Add instance callback to set dispatchable objects

Change-Id: I73b8b6edfee491c53216b730c99a7ea34ade3b4e

6 years agoloader: Remove the instance_info in the layer chain structure
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

6 years agoloader: gllvl #50, Add support for the WSI extension KHR_display
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

6 years agomisc: Remove lunarg_debug_marker extension
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.

6 years agoheader: Update 1.0.3 header revision for inclusion of debug report extension
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

6 years agoinclude: Use single-quote no paths when including sibling headers
Karl Schultz [Wed, 10 Feb 2016 22:41:43 +0000 (15:41 -0700)]
include: Use single-quote no paths when including sibling headers

6 years agoRemove Khronos confidential clause from license text.
Karl Schultz [Wed, 10 Feb 2016 01:07:25 +0000 (18:07 -0700)]
Remove Khronos confidential clause from license text.

6 years agoinclude: Update copyright and apply clang-format (no logic changes)
Karl Schultz [Tue, 2 Feb 2016 19:32:50 +0000 (12:32 -0700)]
include: Update copyright and apply clang-format (no logic changes)

6 years agolayers: Remove obsolete VkbaseLayerObject
Jon Ashburn [Wed, 20 Jan 2016 15:07:14 +0000 (08:07 -0700)]
layers: Remove obsolete VkbaseLayerObject

6 years agoloader: Remove CreateInstance and CreateDevice
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.

6 years agoloader: implement new layer init method
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

6 years agoloader: Add structures to support new init method
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.

6 years agodebug_report: MR141, Change pUserData to match type used elsewhere
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.

6 years agodebug_report: rename object type and error bits
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

6 years agodebug_report: rename vk_lunarg_debug_report.h
Courtney Goeltzenleuchter [Wed, 9 Dec 2015 21:33:56 +0000 (14:33 -0700)]
debug_report: rename vk_lunarg_debug_report.h

6 years agodebug_report: Add DebugReportMessage function
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 22:28:25 +0000 (15:28 -0700)]
debug_report: Add DebugReportMessage function

6 years agodebug_report: rename and update to use CreateInfo
Courtney Goeltzenleuchter [Mon, 30 Nov 2015 19:13:14 +0000 (12:13 -0700)]
debug_report: rename and update to use CreateInfo

6 years agodebug_report: Rename VkDbgMsgCallback object
Courtney Goeltzenleuchter [Wed, 25 Nov 2015 21:07:05 +0000 (14:07 -0700)]
debug_report: Rename VkDbgMsgCallback object

6 years agowsi: Make WSI cases more consistent, fail if not set correctly
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.

6 years agoandroid: Update build to define android platform at build time
Michael Lentine [Wed, 9 Dec 2015 22:33:52 +0000 (14:33 -0800)]
android: Update build to define android platform at build time

6 years agoandroid: Fix android build.
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

6 years agowsi: Moved definition of CreateXxxSurface extension to CMakefile
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

6 years agoloader: Add vkGetPhysicalDevice*PresentationSupportKHR()
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).

6 years agolayers: add DestroySurfaceKHR to instance dispatch table
Jon Ashburn [Tue, 24 Nov 2015 01:55:15 +0000 (18:55 -0700)]
layers: add DestroySurfaceKHR to instance dispatch table

6 years agoloader: Address Jon Ashburn's review comments.
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.

6 years agoloader: Get loader compiling.
Ian Elliott [Wed, 18 Nov 2015 22:20:45 +0000 (15:20 -0700)]
loader: Get loader compiling.

6 years agoWSI: Eliminate a lot of references to WSI header files.
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

6 years agoLayers: changed layer names to conform to spec
David Pinedo [Tue, 24 Nov 2015 16:00:24 +0000 (09:00 -0700)]
Layers: changed layer names to conform to spec

6 years agoloader: Add dynamic dispatch for unknown device extension entrypoints
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.

6 years agoMoved header files from include to include/vulkan
David Pinedo [Fri, 6 Nov 2015 19:54:48 +0000 (12:54 -0700)]
Moved header files from include to include/vulkan

6 years agomacOS: Add macOS support
Karl Schultz [Tue, 12 Dec 2017 15:33:01 +0000 (10:33 -0500)]
macOS: Add macOS support

6 years agoheaders: Fix a typo in vk_icd.h
Lenny Komow [Tue, 5 Sep 2017 15:21:47 +0000 (09:21 -0600)]
headers: Fix a typo in vk_icd.h

Change-Id: I9ede42e379605329ffd25a9466e0971b3ab7dd77

6 years agoloader: Add validation for apiVersion
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

6 years agoheaders: Add missing include to vk_icd.h
Yamakaky [Mon, 13 Mar 2017 15:06:49 +0000 (11:06 -0400)]
headers: Add missing include to vk_icd.h

6 years agoloader: Update the loader to 1.0.39
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

6 years agoandroid: Add Android and C++ support to a couple files
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.

6 years agoloader: Fixes for ICD vk{Create|Destroy}SurfaceKHR
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

6 years agoloader: gh181 use ICD for SurfaceKHR
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

6 years agoheaders: GH7, Fix bad variable names in vk_icd.h
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

6 years agoloader: ghlvl#180 Support a ICD interface version negotiation
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

6 years agomisc: Update licenses to Apache 2.0
Jon Ashburn [Tue, 19 Apr 2016 17:30:31 +0000 (11:30 -0600)]
misc: Update licenses to Apache 2.0

Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97

6 years agoloader: gllvl #50, Add support for the WSI extension KHR_display
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

6 years agoRemove Khronos confidential clause from license text.
Karl Schultz [Wed, 10 Feb 2016 01:07:25 +0000 (18:07 -0700)]
Remove Khronos confidential clause from license text.

6 years agoinclude: Update copyright and apply clang-format (no logic changes)
Karl Schultz [Tue, 2 Feb 2016 19:32:50 +0000 (12:32 -0700)]
include: Update copyright and apply clang-format (no logic changes)

6 years agoicd: Remove unused reference to vk_sdk_platform.h
Courtney Goeltzenleuchter [Fri, 8 Jan 2016 18:39:32 +0000 (11:39 -0700)]
icd: Remove unused reference to vk_sdk_platform.h

6 years agomisc: remove unneeded stdint.h and stdbool.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

6 years agoWSI-ICD: Fix Windows compilation error.
Ian Elliott [Tue, 24 Nov 2015 16:47:14 +0000 (09:47 -0700)]
WSI-ICD: Fix Windows compilation error.

6 years agoWSI-ICD: Created per-platform structs for platform-specific info.
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.

6 years agoMoved header files from include to include/vulkan
David Pinedo [Fri, 6 Nov 2015 19:54:48 +0000 (12:54 -0700)]
Moved header files from include to include/vulkan

6 years agoInitial commit
Khronos Group Webmaster [Thu, 3 May 2018 19:59:09 +0000 (15:59 -0400)]
Initial commit