Commit Graph

10 Commits

Author SHA1 Message Date
Mark Young 7bb8735100 Modify loader VK_ADD_DRIVER_FILES behavior
Modify the loader to only use VK_ADD_DRIVER_FILES if
VK_DRIVER_FILES or VK_ICD_FILENAMES is not used.
This could have caused weird issues with systems where VK_DRIVER_FILES
was used to force drivers in a specific order/location for testing.

Resolves issue #871
2022-03-10 13:55:26 -07:00
Mark Young 759d5b4c94 Add "additive" environment variables
Add "additive" environment variables for adding additional layer
paths or driver JSON files instead of replacing default ones.

Also, rename VK_ICD_FILENAMES to VK_DRIVER_FILES since we're trying
to remove references to ICDs because software driver implementations
of Vulkan aren't ICDs (but continue to support the old name as well).

Added documentation around these changes to reflect the new name and
the new variables.
2022-03-04 15:38:46 -07:00
Charles Giessen ef44cdd106 Clarify behavior of override_paths + VK_LAYER_PATH
If a meta layer which contains `override_paths` is active, all of the paths in
VK_LAYER_PATH are ignored when searchign for explicit layers. This may be changed
changed in the future but for now is better tested and documented.
2022-02-11 14:16:05 -07:00
Charles Giessen 57affb6363 Update Docs table of contents 2022-02-07 16:14:20 -07:00
Charles Giessen db2d52b5aa Update LoaderLayerInterface.md documentation
Expand override layer documentation to include override_paths

Add Versioning and Activation Interactions section which details some of the
more complex rules around when a layer is activated or not.
2022-01-25 12:32:56 -07:00
Mark Young a90e003839 Add loader policy statements
Define expected behavior for a well-behaved loader, layers, and drivers.
This has been reviewed with other companies so that when issues arise,
it is easy to clearly communicate where one of the components has failed
to properly behave.

Add warnings/errors in the loader output when cases of policy that can
be detected are noticed.
2021-12-13 11:05:15 -07:00
Mark Young 06e6ed8683 Add bundling section and rename "desktop loader"
Add a section warning about possible issues with bundling the
Khronos loader with an application/engine.
Also, rename "desktop loader" to "Khronos loader" since it is now
used for more than the original desktop targets.
2021-11-04 09:39:34 -06:00
Mark Young a7761317b8 Added layer debug section and pre-instance info
Add a section in the application documentation on how to debug possible
layer issues.
Also add a small note on why a layer may need to intercept pre-instance
functions.
2021-10-27 14:00:40 -06:00
Mark Young 0406fe43f6 Change Implementation->Drivers
Feedback from Khronos was that "Implementation" was for the entire
set of Vulkan components underlying the application (including the
loader, layers, and drivers).  Instead, what I had been calling
implementation should be called "Driver" including software
implementations of Vulkan at that level.

Also update the LOADER_DEBUG option "implem" to take "driver" as well.
All images also updated.
2021-10-20 16:27:28 -06:00
Mark Young 908f209d85 Re-arrange/update loader docs
Update the loader documentation in the following ways:
 1. Move documentation to new "docs" folder"
 2. Split LoaderAndLayerInterface.md into multiple docs to focus
    on target audience:
      - Top-Level     LoaderInterfaceArchitecture.md
      - Applications  LoaderApplicationInterface.md
      - Layers        LoaderLayerInterface.md
      - ICDs          LoaderImplementationInterface.md
 3. Upload newer images and their corresponding original Inkscape files.
 4. Cleanup and update sections on Linux directory search
 5. Add new sections to detail items missing
      - VkConfig
      - Handling undef Fuchsia
 6. Language cleanup

Thanks to @charles-lunarg and @smcv for feedback and various section language
corrections.
2021-10-15 13:42:00 -06:00