summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-08-23Remove unnecessary usages of prefix in pctizen_7.0_m2_releasesubmit/tizen/20220823.072343accepted/tizen/unified/20220824.042343accepted/tizen/7.0/unified/hotfix/20221116.110556accepted/tizen/7.0/unified/20221110.061043tizen_7.0_hotfixtizen_7.0accepted/tizen_7.0_unified_hotfixaccepted/tizen_7.0_unifiedJoonbum Ko1-4/+2
Change-Id: If03b32419c4c094b5645009a008549b5f8510315 Signed-off-by: Joonbum Ko <joonbum.ko@samsung.com>
2022-08-10remove double slash in vulkan.pcsubmit/tizen/20220810.124903accepted/tizen/unified/20220811.135910jinbong, Lee1-2/+2
Change-Id: I891e70bd36594aa31fc6f405006e233c58ad35d1
2022-05-23Fix double free issueXuelian Bai1-0/+12
dEQP-VK.api.object_management.alloc_callback_fail.device is crashed on RPI4, it's caused by double free in icd_term->logical_device_list. This patch intend to avoid duplicated item in icd_term->logical_device_list. Change-Id: Icfd35f8fad70a06a5697d9dc0c0a330f83e08fc6 Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
2022-03-24Upgrade to 1.3.208submit/tizen/20220613.104856submit/tizen/20220609.091423submit/tizen/20220609.070600submit/tizen/20220607.045230submit/tizen/20220509.032328submit/tizen/20220506.015933accepted/tizen/unified/20220610.134801Xuelian Bai2-2/+2
1. Change version number 2. Add default path for mesa icd Change-Id: Iea5a2636cb8215c82cb901fed3bf4dc058e86c62 Signed-off-by: Xuelian Bai <xuelian.bai@samsung.com>
2022-03-24add spec fileSooChan Lim2-0/+73
2022-03-15build: Update to header 1.3.208upstream/1.3.208Mike Schuchardt3-2/+3
- Update known-good - Generate source
2022-03-14Tests close layer handles when necessaryCharles Giessen2-4/+18
The fs::FolderManager can't close objects that are in use, thus if the tests keep open a binary then the destructor will fail to delete the file. This commit manually cleans out the FrameworkEnvironment's loaded layers to prevent this from happening.
2022-03-14Test framework now shims registry functionsCharles Giessen10-386/+350
Previously the way the test framework worked was to fake the registry using a special windows API call. However this led to brittle tests and was incompatible with googletest's death test capabilities. These death tests highlighted that the current set of them didn't use the built in matcher to verify a correct crash/abort. This commit also amends all uses of ASSERT_DEATH to provide the relevant death message. If a driver reports an interface version greater than 0 but doesn't export vk_icdGetInstanceProcAddr, the loader will now skip the driver.
2022-03-14Remove hasing of unknown functionsCharles Giessen20-512/+378
Use a simple linear search instead. This greatly simplifies the logic and reduces the places for the logic to go awry.
2022-03-14Move unknown function logic into dedicated fileCharles Giessen6-437/+502
unknown_function_handling.c now holds all of the unknown function handling logic.
2022-03-14Revamp unknown function testsCharles Giessen3-198/+155
Make use of multiple different functions that are used so that its more obvious when a test is actually calling the right function.
2022-03-14Use no-chromium-code in GN build.Jamie Madill1-4/+2
Aligns the configs so that new warnings turned on in Chromium Clang don't show up in the loader project. Fixes #878
2022-03-10Modify loader VK_ADD_DRIVER_FILES behaviorMark Young3-22/+6
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-09Remove VK_NO_PROTOTYPES from test_util.hCharles Giessen1-4/+0
2022-03-09make secure_getenv discovery project wideCharles Giessen3-25/+23
Since the tests need to know if secure_getenv exists or not, the detection and setup logic is now in the top level CMakeLists.txt.
2022-03-09Set VK_NO_PROTOTYPES on test targetsCharles Giessen2-1/+3
Moves the definition of VK_NO_PROTOTYPES out of a header and into cmake so that so that libraries and executables can set or not set it if they so desire. This allows binaries to link directly to the loader if need be.
2022-03-09Fix tests compiler warnings from bool conversionsCharles Giessen3-13/+11
While set_env_var did return a boolean, this caused odd performance warnings on old compilers and wasn't being used by the tests.
2022-03-09Use target_link_options if available in CMakeCharles Giessen2-3/+7
2022-03-09Refactor CMake to user correct C/C++ StandardCharles Giessen11-118/+88
Make sure the correct C++ version but also refactor the tests CMake code to clean it up.
2022-03-09Fix macOS CMake errorsCharles Giessen1-2/+2
Used incorrect syntax for CONFIGURE_DEPENDS.
2022-03-09Set CMake C & C++ standard per targetCharles Giessen3-13/+6
2022-03-09Make _GNU_SOURCE a common target propertyCharles Giessen1-6/+7
Rather than set it per target that needs it, make it available on the loader_specific_options target for consistency.
2022-03-09Specify wrap_objects.cpp in CMake codeCharles Giessen1-4/+4
While CMake will append appropriate file extensions when the full name isn't given, such as "wrap_objects", it is best to specify the file with its extension for explicitness.
2022-03-09Use targets CMake logic instead of directoriesCharles Giessen2-8/+6
Replace the last usages of CMake logic that applied compiler definitions and options to the folder with usage of a target.
2022-03-09Cleanup MSVC CMake codeCharles Giessen5-55/+30
* Googletest has been updated to 1.11 which means the TR1 deprecation notice is unecessary. * The `/permissive-` flag has been moved to loader_common_options so it doesn't have to be repeated over and over. * Since we do not support VS 2013 and early, use /guard:cf everywhere * Remove MSVC_LOADER_COMPILE_OPTIONS in favor of loader_common_options * Remove reduntant compile options and include directories
2022-03-09Fix compiler warnings in tests on MSVCCharles Giessen2-87/+96
2022-03-09Report secure_getenv missing when not using MSVCCharles Giessen1-1/+1
2022-03-09Format unix fallback paths in CMakeLists.txtCharles Giessen1-18/+6
2022-03-09Remove BUILD_LOADER build optionCharles Giessen2-6/+1
No reason to have this since the tests depend on the loader being built to function.
2022-03-09Use CMake provided library names on macOSCharles Giessen1-2/+2
The ${CMAKE_DL_LIBS} and Threads::Threads provides generic mechanisms to use the dynamic linker and threading libraries on the system. In addition, this commit replaces Vulkan::Headers with loader_specific_commits for the vulkan-framework target. Note that this commit is in a series of commits and not intended to work standalone.
2022-03-09Use GLOBs to get macOS vulkan framework headersCharles Giessen1-18/+8
This commit recitfies the situation that this list of header files is out of date with the upstream Vulkan-Headers repo. It uses GLOB_RECURSE to find all the files and subdirectories in the vulkan headers include directory. In a perfect world, the list of headers would be removed because users should be using the Vulkan-Headers for that purpose. But to maintain any existing users it will be retained. CMake 3.12 added CONFIGURE_DEPENDS to globs to better support changes in the list being caught by CMake. Since this repo uses 3.11 as the minimum, it will not be added unless supported by the currently installed CMake version. While better, it is not perfect at catching all changing file lists, and thus it may still be necessary to re-run CMake manually to get an updated list of headers files. Note that this commit is a part of a series of commits and not intended to work standalone.
2022-03-09Refactor Windows specific loader CMake codeCharles Giessen1-11/+10
Merged the loader-norm and vulkan libraries and moved the dirent_on_windows.c into the same block that adds loader_windows.c to the list of sources. This commit is a part of a series of commits and not intended to work standalone.
2022-03-09Use the CMake Threads packageCharles Giessen2-1/+4
Instead of manually linking to pthreads, use find_package(Threads) to get the platform specific name for the threading library and link to it. Use the THREADS_PREFER_PTHREAD_FLAG to ensure we prefer pthreads before anything else. Note that this commit is a part of a series of commits and not intended to work by itself.
2022-03-09Replace loader_cmake_config.h with definitionsCharles Giessen4-11/+8
Use CMakes built in ability to define compiler definitions to targets so that the loader_cmake_config.h file is made redundant. This simplifies the build process by removing the configure_file and including it. Note that this commit is a part of a series of commits and not intended to work by itself.
2022-03-09Refactor loader specific CMake optionsCharles Giessen1-13/+20
Create a new target loader_specific_options that contains the specific flags and definitions which apply only to the loader. This target links to the loader_common_options and is used to store various macro defines which only are relevant to the loader, like the specific language standard to use. The target also links to the vulkan headers. Note that this commit is in a series of commits and is not meant to work by itself.
2022-03-09Move git info in CMake to loader_common_optionsCharles Giessen2-6/+4
Make the GIT_BRANCH_NAME and GIT_TAG_INFO apart of the loader_common_options target so it doesn't apply globally to the C_FLAGS and CXX_FLAGS. Note that this commit is a part of a series of commits and is not meant to work by itself.
2022-03-09Refactor CMake compiler optionsCharles Giessen2-32/+27
Create the target loader_common_options which will contain the compiler commands, options, and definitions that is shared across the code base. This includes linking to platform_wsi_defines and moving many of the defines found in the loader/CMakelists.txt up to this location. Setting the language standard through an interface target is not possible, so to avoid using the global state modifiers, each target needing to be on a specific language standard must specify it for themselves. Note that this commit is in a series and is not intended to work by itself.
2022-03-09Refactor CMake WSI platform definesCharles Giessen3-53/+28
Move the WSI macro defines into their own target such that it can be shared with the loader and test code. Note that this commit is a part of a series and not intended to work standalone.
2022-03-09Remove RELEASE_BUILD cmake optionCharles Giessen1-2/+0
Turned out to be not useful and as such should be removed.
2022-03-08build: Update to header 1.3.207upstream/v1.3.207Mike Schuchardt5-2/+61
- Update known-good - Generate source
2022-03-04Add live tests for OS dynamic loader behaviorCharles Giessen8-1/+329
Executes various combinations of loading and linking to libraries which export the same symbols.
2022-03-04Changes to additive env var based on code reviewMark Young6-54/+52
2022-03-04Fix WIndows elevationMark Young1-1/+3
2022-03-04Add "additive" environment variablesMark Young20-397/+797
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-02-28loader: Fix wayland copy paste errorsfricke-samsung1-2/+2
2022-02-28Resolve Angle failure because it breaks with is_high_integrityMark Young4-15/+61
Angle drops the security enforcement of the loader on environment variables and the additional "is_high_integrity" checks on my previous loader change caused failures in the Angle run. Revert the high-integrity checks and update the layer test to work properly.
2022-02-23docs: Fix typoMatt Turner1-1/+1
The behavior change to physical device ordering happened in v1.3.204.
2022-02-21Fix compiler warnings in regression_testsCharles Giessen1-14/+23
2022-02-21Add consecutive create instance and device testsCharles Giessen1-1/+57
2022-02-18build: Update to header 1.3.206Mike Schuchardt2-2/+2
- Update known-good - Generate source