Commit Graph

34 Commits

Author SHA1 Message Date
andrew0229
0281b281d0 update to v1.3.275
Signed-off-by: andrew0229 <zhangzhao62@huawei.com>
Change-Id: Ifc4224db2c6ea7c159d3cabe8f075475d47a41a8
2024-05-21 08:09:09 +00:00
Charles Giessen
2f87e2b3a5 Allow implicit layers for all API versions
This change makes the loader conform to the latests specification
update, 1.3.227, which removes the requirement that implicit layers
API version is at least as high as the application provided API
version.

This change reduces friction for layer developers and API users.
2022-09-08 13:48:46 -06:00
Pan
a13608020f Fix typo in setting linux environment variables
Replace `;` with `:` in setting linux environment variables.
2022-07-15 10:49:09 -06:00
Jesse Natalie
26921924d6 Enable the Vulkan loader to load VulkanOn12/Dozen out of the D3DMappingLayers app package 2022-07-05 14:34:53 -06:00
Charles Giessen
865626abba Add 32 & 64 bit field to json manifests
Allows drivers and layers to specify if they are 32 bit or 64 bit in the
manifest file. This makes the loader able to prune manifests without
loading the library and finding that it failed to load.
2022-06-22 10:28:18 -06:00
Charles Giessen
5437a0854f Update layer and driver vkGetPhysDevProcAddr docs
Better describe the function's purpose and behavior, moving the
reason for introducing vk_layer|icdGetPhysicalDeviceProcAddr to
a following section for clarity.
2022-05-31 14:51:38 -06:00
Tim Gfrerer
8289053993 fix typo
resulsts -> results
2022-05-31 13:39:58 -06:00
Mark Young
37c7953443 Fix typo in env var table
Introduced a typo in my last commit in the table regarding the
disabling of instance extensions.  This is not a Linux only env
var.
2022-05-27 10:39:14 -06:00
Mark Young
4676775702 Clean up environment var docs
Split up into two tables:
  - Active
  - Deprecated

Clean up restrictions into their own column for easier viewing.
Made text slightly smaller to fit more in a smaller space.
2022-05-26 17:37:30 -06:00
Mark Young
fc48c8640b Clarify JSON Manifest "api_version"
Clarify what is indicated by the "api_version" field in both
layer and driver manifest files.

Fixes issue #336.
2022-05-25 15:53:52 -06:00
Rutwik Choughule
3772b036e0 docs: Fix typo in MoltenVK url 2022-05-20 20:05:21 -06:00
Ludovico de Nittis
db0fb163d7 Update supported versions in the docs
Mention the supported versions that were missing.

Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
2022-05-20 20:03:51 -06:00
Mark Young
956139e991 Update layer manifest file
Some fields specific to manifest files were missing.  Also updated
file to clearly indicate where fields are valid and usable.
2022-05-04 16:04:38 -06:00
Sein Lee
191e261495 Fix typo 2022-05-02 16:29:21 -06:00
Erik Faye-Lund
f503824ff8 Update LoaderDriverInterface.md
Fix link-syntax.
2022-04-13 01:35:14 -06:00
Charles Giessen
859fb722c2 Document VK_KHR_portability_enumeration support 2022-04-07 11:49:53 -06:00
Charles Giessen
8354f108f5 Remove LDP_DRIVER_6
The cause for this policy was due to dynamic linker behavior which could have
resulted in the wrong symbols being used. However, this didn't occur in
practical usage of the dynamic linker. Also drivers exporting Vulkan
entrypoints was a useful behavior to enable testing and more flexible usage
that this policy actively interfered with.
2022-03-25 11:52:46 -06:00
Mark Young
8198bebc7f 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
435070c405 Changes to additive env var based on code review 2022-03-04 15:38:46 -07:00
Mark Young
46abc7dc4e 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
Matt Turner
6e7061cdab docs: Fix typo
The behavior change to physical device ordering happened in v1.3.204.
2022-02-23 13:59:30 -07:00
Mark Young
2dc2410076 Fix vk_icdGetPhysicalDeviceProcAddr docs
The language was not normative and also made clearer.
2022-02-18 08:10:06 -07:00
Charles Giessen
0a7407b151 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
d921cef633 Update Docs table of contents 2022-02-07 16:14:20 -07:00
Charles Giessen
41ee578e10 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
cbe28ac790 Consistent loader device ordering
The loader ICD ordering could be random on Linux based on using readdir
to find ICD manifest files.  This can result in random behaviors as
applications that select only the first device can switch which device is
used.  To resolve this, we now sort based on device type and then
internally to the types based on PCI bus information.

This also introduces a VK_LOADER_DEFAULT_DEVICE environment variable
that can be used to force a specific PCI device.  This environment variable
is actually a duplicate of the MESA_VK_DEVICE_SELECT variable, which is
also looked for if the loader environment variable is not found.

Note, that at least one ICD must support it for the extension to be used at all.
So we only do the sorting if one ICD supports it.

Fixes part of #657
2022-01-12 16:53:35 -07:00
Mark Young
24373f2d98 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
ef2429635d Fix the spelling of Manfiest in docs and loader 2021-11-22 17:14:52 -07:00
Mark Young
059f7c1ae6 Add missing review comment fields on bundling changes.
Somehow this got dropped.
2021-11-04 09:56:58 -06:00
Mark Young
bf74db88bd 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
830a0724aa 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
a9bc611dad Fix broken doc links in new docs 2021-10-21 15:33:01 -06:00
Mark Young
0162d1648f 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
61688e09fe 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