Commit Graph

1547 Commits

Author SHA1 Message Date
l00804330 771efebaa9 igraphics
Signed-off-by: l00804330 <lixinyu50@huawei.com>
2024-10-29 17:39:09 +08:00
ZhangLiang 3cb6452bfb bundleMgrHelp
Signed-off-by: ZhangLiang <zhangliang335@h-partners.com>
Change-Id: I939342427adde843812bac847ad42a860787bd1c
2024-10-15 08:18:16 +00:00
ZhangLiang 092d8d2738 user mode insert layer
Signed-off-by: ZhangLiang <zhangliang335@h-partners.com>
2024-07-02 06:17:06 +00:00
andrew0229 3f7fe7b7b4 update to v1.3.275
Signed-off-by: andrew0229 <zhangzhao62@huawei.com>
Change-Id: Ifc4224db2c6ea7c159d3cabe8f075475d47a41a8
2024-05-21 08:09:09 +00:00
andrew0229 d1b02da7f2 1.add new floder for swapchian layer;2.disable dlcolse;3.enable env
Signed-off-by: andrew0229 <zhangzhao62@huawei.com>
Change-Id: I378fac2b692ad8520d525288c0a8a60ada6e5c0f
2024-04-18 13:00:32 +00:00
andrew0229 793a0a8709 fix vulkan loader ext validate
Signed-off-by: andrew0229 <zhangzhao62@huawei.com>
Change-Id: Ia7fbff3ac384fa4093a6ba9e61afcfdedbecd0d2
2024-02-05 08:20:34 +00:00
shegangbin 9472004a71 vk headers upgrade
Signed-off-by: shegangbin <shegangbin1@huawei.com>
2024-01-08 23:12:08 +08:00
andrew0229 80238f2ead fix Vulkan Loader for vk renderdoc
Signed-off-by: andrew0229 <zhangzhao62@huawei.com>
Change-Id: Ia4f0c515ede71aaf2f25312dadf8d7a5f6efa7f9
2023-10-25 07:57:20 +00:00
shegangbin 8e2c038cb4 revert old interfaces
Signed-off-by: shegangbin <shegangbin1@huawei.com>
Change-Id: Ic9af498fac6f5da5d441c4732749ad5c59b07844
2023-10-10 09:55:35 +00:00
shegangbin 72f8872e87 reserve old interface
Signed-off-by: shegangbin <shegangbin1@huawei.com>
2023-06-19 11:42:21 +08:00
shegangbin 5985354d40 standardize OH extension api
Signed-off-by: shegangbin <shegangbin1@huawei.com>
Change-Id: I854a1a67f1337482279c300dcc37f6637c638f7e
2023-06-19 11:42:13 +08:00
andrew0229 cf06bdcb49 add native buffer ext
Signed-off-by: andrew0229 <zhangzhao62@huawei.com>
Change-Id: Ia4fdb5b13685e6940aebea93133b2ed510d90b84
2023-05-04 06:45:48 +00:00
shegangbin 1c4c43f001 vulkanloader log adapt OH hilog
Signed-off-by: shegangbin <shegangbin1@huawei.com>
2023-03-20 15:39:12 +08:00
andrew0229 2dd5247186 add openharmony build;add OpenHamrony extension manual, but need generated
Signed-off-by: andrew0229 <zhangzhao62@huawei.com>
2023-03-02 12:30:20 +00:00
Mike Schuchardt 643b9816de build: Update to header 1.3.231
- Update known-good
- Generate source
2022-10-13 08:30:39 -07:00
Charles Giessen 44b3ec70f3 Correctly handle layers not being loaded in vkCreateDevice
This reverts the previous commit which reverted bad behavior.
2022-10-12 18:58:46 -06:00
Charles Giessen d5c31481c8 Revert "Don't load layer libraries in vkCreateDevice"
This reverts commit 6272df7dc3.
2022-10-12 16:22:24 -06:00
Charles Giessen f0fc8cf491 Guard loader.instances access with mutex.
While the adding and removing of data from this global linked list
was guarded, GetInstanceProcAddr & GetDeviceProcAddr did not have
such guards. This results in race conditions that were detected with
thread sanitizer. This commit adds a mutex solely for the
loader.instances global variable.
2022-10-12 10:48:16 -06:00
Charles Giessen 7a0aaefde3 Don't abort when drivers don't support WSI calls
Instance extensions are aggregated, therefore an application has no way of
knowing whether an ICD supports a WSI function or not. This necessitates
returning instead of aborting from WSI functions, as well as writing 0,
NULL, or returning false as needed for each function. This also needs
additional NULL checks before calling down into the driver.
2022-10-10 14:54:07 -06:00
Charles Giessen 6272df7dc3 Don't load layer libraries in vkCreateDevice
These libraries will always be loaded in vkCreateInstance, so we don't
need to load them again in vkCreateDevice. This has the added benefit
of not printing 'unloading library X' twice in the log.
2022-10-04 13:28:00 -06:00
Mike Schuchardt 1a0e09dad3 build: Update to header 1.3.230
- Update known-good
- Generate source
2022-09-29 11:29:08 -07:00
PaperChalice 59fa8e2755 loader: fix log message 2022-09-26 11:56:43 -06:00
Mike Schuchardt f82acca240 build: Update to header 1.3.229
- Update known-good
- Generate source
2022-09-22 10:58:15 -07:00
Mike Schuchardt 1fd0bb5fc5 build: Update to header 1.3.228
- Update known-good
- Generate source
2022-09-15 09:07:36 -07:00
Charles Giessen c9d287574b Make old layer with new app API version warning clearer
The previous message incorrectly labled all layes as Explicit layers
and didn't indicate what the 'warning' was about very well.
2022-09-15 10:03:20 -06:00
Charles Giessen 8623a30ef7 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
Mike Schuchardt ca985f8e76 build: Update to header 1.3.227
- Update known-good
- Generate source
2022-09-08 10:03:21 -07:00
Steve Lhomme 27e40804e3 fix typo in CMakeLists 2022-09-06 11:31:17 -06:00
Steve Lhomme 30d80dbbaa Fix the pkg-config import library name with mingw-w64
The common name for import libraries in mingw-w64 ends with .dll.a so we need
to use it so the pkg-config file ends up use -lvulkan-1.dll.
2022-09-06 11:31:17 -06:00
Steve Lhomme 2aed6e72fd Generate the same DLL name with mingw-w64 as with MSVC
It should be the same name so mingw-w64 toolchains can generate/use the same
DLLs as the MSVC toolchains. The DLL and import libraries are compatible both
ways.

Fixes #997
2022-09-06 11:31:17 -06:00
Brad Smith 26721685f3 loader: Only use alloca.h if it exists otherwise fallback to stdlib.h
Check for the existence of the alloca.h header and only use it it exists,
otherwise fallback to stdlib.h. Some OS's like macOS and QNX have both
headers and can use either (stdlib.h includes alloca.h), some OS's like
OpenBSD / FreeBSD / NetBSD do not have the alloca.h header and require
the stdlib.h header.
2022-09-02 17:52:37 -06:00
Brad Smith d6816ccbbc loader: Fix CMake detection of OpenBSD/FreeBSD / amd64 2022-09-01 15:26:14 -06:00
Charles Giessen 735f1d45a3 Refactor loader_icd_scan()
Put all of the parsing for ICD Manifest data into a separate function.
This cleans it up by not requiring manual tracking of allocated resources
while parsing, and allow much saner 'skipping' of incorrect ICD's.

This commit also addresses an issue where OOM during ICD parsing wasn't
immediately ending parsing and returning.
2022-09-01 13:13:14 -06:00
Charles Giessen 6c57cd22bd Remove redundant checks for NULL
Calling free() doesn't require checking for NULL, but many places were
checking for NULL before calling the appropriate freeing function.
2022-09-01 13:13:14 -06:00
xantares 224a9af1d1 appmodel.h is not yet available on mingw stable
https://sourceforge.net/p/mingw-w64/mailman/mingw-w64-public/thread/CALK-3mLynzo8%3D9tOoGjwUUWTCtG_MHb5L1Pzd_GCQ%2B8pR637MQ%40mail.gmail.com/#msg37677890
2022-09-01 12:28:13 -06:00
Charles Giessen 5de034c96f Enable layer interception of unknown functions
Re-add previously reverted behavior that allows layers to setup dispatch chains for unknown physical
device and device functions during vkCreateInstance. Previously, functions not known to the loader could not
be queried by a layer during vkCreateInstance (when dispatch tables should be setup). The change adds support
for unknown functions in the trampolines of vkGetInstanceProcAddr and vkGetPhysicalDeviceProcAddr.

Unknown Device functions not listed in a layers manifest will now be found through vkGetInstanceProcAddr,
which was previously not used.
2022-09-01 12:23:17 -06:00
Charles Giessen 643ca68d77 Rename GIPA, GPDPA, & GDPA terminators
Use more correct terminology for the various terminators of the
get proc addr functions. This makes it more obvious when each function
is being called, as well as removing the unecessary
loader_gpdpa_instance_internal.
2022-09-01 12:23:17 -06:00
Mike Schuchardt 47b2c57d6a build: Update to header 1.3.226
- Update known-good
- Generate source
2022-09-01 09:24:25 -07:00
Brad Smith 2d04b71e5c loader: Add stub function for OpenBSD executable path 2022-08-31 14:11:59 -06:00
Charles Giessen 52ba0949c8 Dont pass portability bit to ICDs that dont expect it
There was a small issue with the initial version of the portability
enumeration extension where the portability enumeration flag bit would
be passed down to ICDs which did not expect flags to contain anything
other than zero.

While an argument could be made for those drivers to ignore flags they
do not recognize, just like extensions and other 'unknown' things, it
is best to play nice as this is the first instance creation flag bit
added.
2022-08-31 11:49:56 -06:00
Brad Smith 643e51844c loader: Add OpenBSD support 2022-08-31 10:02:13 -06:00
Mike Schuchardt 85615a2e8c build: Update to header 1.3.225
- Update known-good
- Generate source
2022-08-18 13:03:19 -07:00
Charles Giessen 20a7763ead Separate Major.minor version checks from Full version checks
loader_make_Version previously would decode the major, minor, and patch info out of version data. This results in
erroneous version checks that took into account patch version when they shouldn't of. The loader_make_full_version
function is introduced for code that wishes to get the full major.minor.patch version and uses of
loader_make_version that need the full version have been replaced.
2022-08-15 09:27:43 -06:00
Mike Schuchardt c23adb37bc build: Update to header 1.3.224
- Update known-good
- Generate source
2022-08-04 13:32:11 -07:00
Charles Giessen daafcbc324 Use memmove for copying pApplicationInfo
Replace memcpy with memmove in terminator_CreateInstance to prevent possible issues
with the same memory being the source of the copy and the dest, as there is a for
loop which makes it possible for that to happen.
2022-07-29 16:09:29 -06:00
Mike Schuchardt a9aab18bea build: Update to header 1.3.223
- Update known-good
- Generate source
2022-07-28 10:59:12 -07:00
Mike Schuchardt 7fbff92bff build: Update to header 1.3.222
- Update known-good
- Generate source
2022-07-21 10:05:41 -07:00
Mike Schuchardt 7be768e5cc build: Update to header 1.3.221
- Update known-good
- Generate source
2022-07-14 09:20:23 -07:00
Mike Schuchardt 9021a6f1fa loader: Dynamically load Win8+ functions
Allow loader to run on Windows 7 by dynamically loading function
pointers for Windows 8 and above APIs.
2022-07-11 13:38:35 -06:00
Charles Giessen 1ba0884ecf Disable VulkanOn12/Dozen in Windows 7
Chromium still supports building for Win7, as such the newly added support for
VulkanOn12/Dozen needs to be excluded from said build. This is achieved by using
the SDK version macros defined in <sdkddkver>
2022-07-08 13:32:14 -06:00