aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
2018-05-04loader: Extend pre-instance intercepts for 1.1Lenny Komow
Add the ability to intercept vkEnumerateInstanceVersion through the pre-instance intercept mechanism
2018-05-04loader: Add pre-instance functions for layersLenny Komow
Allow implicit layers (not explicit) to intercept calls before an instance has been created. Change-Id: I41f5bb0f5a6314fbab8003ebe71059dd04afc860
2018-05-04layers: gh1649 - Fix clang warningMark Young
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
2018-05-04loader: Fix loader and layer negotiationMark Young
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
2018-05-04vulkan: update to header 1.0.42Mark Young
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
2018-05-04loader: Update the loader to 1.0.39Mark Young
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
2018-05-04header: Update to Vulkan version 1.0.37Mark Lobodzinski
- 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
2018-05-04loader: gh888 Add KHR/EXT extensions in vulkan.hMark Young
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
2018-05-04layers: Update dispatch tables for new 1.0.25 APIsMark Lobodzinski
Change-Id: I001583402bc99f923a776b238a82db5a60398f03
2018-05-04layers: Move debug action enums from vk_layer.hMark Lobodzinski
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
2018-05-04layers: Add default layer error message configMark Lobodzinski
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
2018-05-04misc: Update licenses to Apache 2.0Jon Ashburn
Change-Id: Id447f4c8c53d33f9192940bdd3ae727b7b738a97
2018-05-04layers: Update typo in commentttyio
2018-05-04Update vk_layer.hVinjn Zhang
Correct comment for VkLayer*CreateInfo's sType
2018-05-04loader: Add device callback to set dispatchable objectJon Ashburn
Change-Id: I5ca8f532e777e2cb0facf8fe5bab4c82409f8d37
2018-05-04loader: Remove the device_info in the layer chain structureJon Ashburn
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
2018-05-04loader: Add instance callback to set dispatchable objectsJon Ashburn
Change-Id: I73b8b6edfee491c53216b730c99a7ea34ade3b4e
2018-05-04loader: Remove the instance_info in the layer chain structureJon Ashburn
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
2018-05-04loader: gllvl #50, Add support for the WSI extension KHR_displayJon Ashburn
Change-Id: I8d5ecc7500beba3042a6b9147b2f3fd3055b3b1d
2018-05-04misc: Remove lunarg_debug_marker extensionJon Ashburn
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.
2018-05-04header: Update 1.0.3 header revision for inclusion of debug report extensionMark Lobodzinski
Removed vk_ext_debug_report.h (contents moved into vulkan.h) Renamed debug report message enums
2018-05-04include: Use single-quote no paths when including sibling headersKarl Schultz
2018-05-04Remove Khronos confidential clause from license text.Karl Schultz
2018-05-04include: Update copyright and apply clang-format (no logic changes)Karl Schultz
2018-05-04layers: Remove obsolete VkbaseLayerObjectJon Ashburn
2018-05-04loader: Remove CreateInstance and CreateDeviceCourtney Goeltzenleuchter
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.
2018-05-04loader: implement new layer init methodCourtney Goeltzenleuchter
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
2018-05-04loader: Add structures to support new init methodCourtney Goeltzenleuchter
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.
2018-05-04debug_report: MR141, Change pUserData to match type used elsewhereCourtney Goeltzenleuchter
Other uses of pUserData in Vulkan do not have a const qualifier, remove it for this pUserData.
2018-05-04debug_report: rename object type and error bitsCourtney Goeltzenleuchter
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
2018-05-04debug_report: rename vk_lunarg_debug_report.hCourtney Goeltzenleuchter
2018-05-04debug_report: Add DebugReportMessage functionCourtney Goeltzenleuchter
2018-05-04debug_report: rename and update to use CreateInfoCourtney Goeltzenleuchter
2018-05-04debug_report: Rename VkDbgMsgCallback objectCourtney Goeltzenleuchter
2018-05-04wsi: Make WSI cases more consistent, fail if not set correctlyMark Lobodzinski
Filled in build details for Mir, Wayland, etc.
2018-05-04android: Update build to define android platform at build timeMichael Lentine
2018-05-04android: Fix android build.Michael Lentine
Temporarily disable shader checker which now depends on glslang Fix xcb guards and set the ifdef based on platform
2018-05-04wsi: Moved definition of CreateXxxSurface extension to CMakefileMark Lobodzinski
Removed component-specific definitions
2018-05-04loader: Add vkGetPhysicalDevice*PresentationSupportKHR()Ian Elliott
These queries involve trampoline and terminator functions (the latter of which calls the ICD's function).
2018-05-04layers: add DestroySurfaceKHR to instance dispatch tableJon Ashburn
2018-05-04loader: Address Jon Ashburn's review comments.Ian Elliott
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.
2018-05-04loader: Get loader compiling.Ian Elliott
2018-05-04WSI: Eliminate a lot of references to WSI header files.Ian Elliott
Conflicts: include/vulkan/vk_layer.h loader/loader.h
2018-05-04Layers: changed layer names to conform to specDavid Pinedo
2018-05-04loader: Add dynamic dispatch for unknown device extension entrypointsJon Ashburn
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.
2018-05-04Moved header files from include to include/vulkanDavid Pinedo
2018-05-04macOS: Add macOS supportKarl Schultz
2018-05-04headers: Fix a typo in vk_icd.hLenny Komow
Change-Id: I9ede42e379605329ffd25a9466e0971b3ab7dd77
2018-05-04loader: Add validation for apiVersionMark Young
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
2018-05-04headers: Add missing include to vk_icd.hYamakaky