1. Googletests subdir was added. This requires GTest to be installed. If it is not installed, it's skipped
2. Moved some local variables to the main file to prevent duplicate library_finds and problems that can occur with local calculations.
1. Minor fix - add URL to pkg-config file
2. When building tests, make dxcore optional if not using "msvc"
3. programs in test directory now build even on Windows.
4. Compile DirectX-Headers-Check-Feature-Support-Test.exe if tests are on
5. Use test() statements to add DirectX-Headers-Test.exe and DirectX-Headers-Check-Feature-Support-Test.exe to "test" build target (typically invoked with something like "ninja test" or "make test".
1. Do NOT install the GoogleTest files (run-time files, pkg-config files, static-link-libraries, etc.) when installing DirectX-Headers. MSYS2 and many Linux distributions already have GoogleTest in downloadable packages.
2. Run the included tests with CTest (see: https://cmake.org/cmake/help/book/mastering-cmake/chapter/Testing%20With%20CMake%20and%20CTest.html ) to facilitate automated testing in package build processes. This adds a BUILD_TESTING option that is standard for many CMake projects. If that option is off, no tests are built or could be executing using CTest (a standard behavior).
1. Changed CMakeLists.txt in test/ and googletest/ to make it easier to find libd3d12.so and libdxcore.so in WSL;
2. Changed main function in test/feature_check_test.cpp to support enumeration of all supported adapters;
3. Fix OS specific problem for test under googletest/;
- Added API support for D3D12_FEATURE_DATA_D3D12_OPTIONS12 in CD3DX12FeatureSupport.
- Added feature support/check tests.
- Removed usage of D3D12_SHARED_RESOURCE_COMPATIBILITY_TIER_3 as they were removed in the new header.
- Updated FetchContent_Declare for googletest to use the main branch, master branch no longer exists.
* Implement the second half of feature checks and update the sanity test.
* Squashed commit of the following:
commit a917854d2b
Author: Yizhou Sheng <t-yisheng@microsoft.com>
Date: Thu Jul 8 18:01:57 2021 -0700
Optimized procedure to check Architecture support. Removed m_hStatus assignment in macros.
* Updated initialization procedures
* Remove duplicate checks.
* Set up Google Test framework
* Updated git submodule config
* Set up MockDevice. Implement functions that won't be used.
* Remove outdated comments and unnecessary test setup.
* Modified MockDevice to store cap info locally. Implemented part of the test suite.
* Rename loop variables. Fix duplicate cap check logic.
- Fixed an issue with caps that exist in more than one feature. See the following comments for details.
- Renamed loop variables to be more descriptive.
- Use TIER_0 as default values for applicable caps.
- Minor format fix.
* Removed unnecessary comments
* Add tests for features up to Options8
* Complete Google Test suite.
* Add ProtectedResourceSessionTypes cascade test case. Minor format fixes.
* Renamed Feature Level API. Add verification to the manual example/test
* Renamed Multinode tests. Add inline comments.
* Update googletest/cmakelists.txt to use MTd flag instead of MDd
* Implement the second half of feature checks and update the sanity test.
* Squashed commit of the following:
commit a917854d2b
Author: Yizhou Sheng <t-yisheng@microsoft.com>
Date: Thu Jul 8 18:01:57 2021 -0700
Optimized procedure to check Architecture support. Removed m_hStatus assignment in macros.
* Updated initialization procedures
* Remove duplicate checks.
* Remove outdated comments and unnecessary test setup.
* Rename loop variables. Fix duplicate cap check logic.
- Fixed an issue with caps that exist in more than one feature. See the following comments for details.
- Renamed loop variables to be more descriptive.
- Use TIER_0 as default values for applicable caps.
- Minor format fix.
* Remove redundant functions and constructors. Reformatted code
- Kept only the default constructor and the Init() function. Removed Create() and the customized constructor.
- Removed a duplicate SharedResourceCompatibilityTier getter function from the Displayable feature.
- Moved opening curly braces to new lines.
- Separate function declaration from definition. Moved definition out of the class.
- Replaced some macros with actual code.
- Updated basic test files.
- Added comments to Macros
- Create a default constructor that sets device pointer to null and status to a predefined error code.
- Init function now takes in a pointer to the device
- Stores errors in m_hStatus during failed initialization
- Improved checking routines for feature checks requiring hints, including ShaderModel, RootSignature and FeatureLevels
- Add Undefs for macros at the end of class definition
- Added a class to handle feature support checks
- Implemented half of the feature checks
- Added D3D12_HIGHEST_SHADER_MODEL and D3D12_HIGHEST_ROOT_SIGNATURE_VERSION to help identify the highest versions in the d3d12.h header
- Added a test (feature_check_test.cpp) to ensure that the code compiles and is functioning properly (not a rigorous test case)
- Modified CMakeLists to include the new test