Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beau null test driver #1886

Open
wants to merge 147 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
147 commits
Select commit Hold shift + click to select a range
c7d278d
Ported vk bootstrap for test apps
beau-lunarg Oct 16, 2024
5418df2
Common test app cmake target
beau-lunarg Oct 19, 2024
5569be4
Move window functions to test app base
beau-lunarg Oct 19, 2024
78bd12a
Move swapchain creating to test app base
beau-lunarg Oct 20, 2024
d8dda3e
Refactor framebuffer creation into test app base
beau-lunarg Oct 20, 2024
a688a8d
Refactor command pool creation to test_app_base
beau-lunarg Oct 20, 2024
9cb4aa0
Separate sync object from render data
beau-lunarg Oct 21, 2024
ab6caa9
Move sync object creation into test app base
beau-lunarg Oct 21, 2024
3dfe218
Move triangle runner into namespace
beau-lunarg Oct 21, 2024
10cca6c
Load shader module from file
beau-lunarg Oct 21, 2024
b107276
Refactor errors
beau-lunarg Oct 21, 2024
2cae173
Move init to test app base
beau-lunarg Oct 21, 2024
73bce3b
Simplify create framebuffers
beau-lunarg Oct 21, 2024
016f71a
Move swapchain creation for init to test app base
beau-lunarg Oct 21, 2024
d9623be
Test app base version of recreate swapchain
beau-lunarg Oct 21, 2024
dd996c8
Test app base class
beau-lunarg Oct 21, 2024
58dd049
Test apps can configure instance creation, physical device selection,…
beau-lunarg Oct 21, 2024
6852625
Cleanup triangle
beau-lunarg Oct 21, 2024
74fd37f
Include cleanup
beau-lunarg Oct 21, 2024
f8e0e74
Multisample depth test app
beau-lunarg Oct 22, 2024
bf317cf
Fix multiple frames
beau-lunarg Oct 27, 2024
adc9cf9
Triangle test with clean validation
beau-lunarg Oct 27, 2024
bae11fa
Clean validation for multisample
beau-lunarg Oct 27, 2024
a228411
Format
beau-lunarg Oct 27, 2024
70f0b2a
Tricky format issue
beau-lunarg Oct 27, 2024
02b2e43
Remove sdl submodule
beau-lunarg Nov 2, 2024
22c4281
Add SDL3 dependency through CMAKE
beau-lunarg Nov 2, 2024
6865e14
Win32 conditional to copy dlls
beau-lunarg Nov 2, 2024
637163e
Fix copyright names and years
beau-lunarg Nov 2, 2024
1f07586
Setup extensions from device builder
beau-lunarg Nov 4, 2024
d6cc644
Fix formatting
beau-lunarg Nov 4, 2024
bd44466
Strange formatting issue
beau-lunarg Nov 4, 2024
74034c5
Removed overuse of this->.
beau-lunarg Nov 5, 2024
277f781
Fix format issues
beau-lunarg Nov 5, 2024
29c5639
Same formatting issue as before
beau-lunarg Nov 5, 2024
e2a7d06
Test pipeline binaries and host image copy
ziga-lunarg Nov 2, 2024
a1b75cb
Add test for shader objects
ziga-lunarg Nov 2, 2024
84a99f6
Change max frames to size_t
beau-lunarg Nov 8, 2024
ce2a416
Fix formatting in pipeline binaries test app
beau-lunarg Nov 8, 2024
b8a85d5
Mark configure methods as override in pipeline-binaries test app
beau-lunarg Nov 8, 2024
ff944f0
Fix format issues in shader objects test app
beau-lunarg Nov 8, 2024
619c7aa
Add missing overrides in host image copy and shader objects test apps
beau-lunarg Nov 8, 2024
f34fb4a
Add message when fetching sdl3
beau-lunarg Dec 11, 2024
f2a2943
Underscore to signal private member
beau-lunarg Dec 11, 2024
3e0c4a1
Fix formatting
beau-lunarg Dec 11, 2024
de0e768
Fix message when finding sdl3
beau-lunarg Dec 11, 2024
6df8e31
More format issues
beau-lunarg Dec 11, 2024
e556be0
Tweaks from feedback
beau-lunarg Dec 12, 2024
d667444
Fix last two runtime errors
beau-lunarg Dec 12, 2024
4175772
Fix format
beau-lunarg Dec 12, 2024
2392526
Buildable icd
beau-lunarg Nov 23, 2024
72be1c9
Compare known good gfxrs
beau-lunarg Nov 25, 2024
81ace81
Verify gfxr helper file
beau-lunarg Nov 25, 2024
e8e5f6e
Multisample depth test case
beau-lunarg Nov 25, 2024
db4ae52
test cases for shader-objects and pipeline-binaries test apps
beau-lunarg Nov 25, 2024
0fd89c3
Move known good gfxrs into their own folder
beau-lunarg Nov 25, 2024
d1da313
Execute tests during Github build
beau-lunarg Nov 25, 2024
ac6ce98
Build test apps to same location across all build systems
beau-lunarg Nov 26, 2024
5382bf2
Copy test runner and icd to artifacts
beau-lunarg Nov 26, 2024
74d7891
Installation of test apps and mock icd
beau-lunarg Nov 27, 2024
6c19628
Add back test runner to linux ci run
beau-lunarg Nov 27, 2024
73770f1
Test app runner works on windows and linux
beau-lunarg Nov 27, 2024
fdd6722
Only artifacts, no test app running in ci
beau-lunarg Nov 27, 2024
de13311
No explicit artifact upload
beau-lunarg Nov 27, 2024
39f41ec
Install test app runner with owner execute permission
beau-lunarg Nov 27, 2024
3f86c03
Owner execute permissions for test apps
beau-lunarg Nov 27, 2024
3538141
Make test app run paths absoluate
beau-lunarg Nov 27, 2024
44a15ce
Missing an 'x' for x64
beau-lunarg Nov 27, 2024
83c0bcf
Try to run test apps in windows
beau-lunarg Nov 27, 2024
f1cb48f
Fixup test app scripts to multiple lines
beau-lunarg Nov 27, 2024
2090bd4
echo vars for debugging
beau-lunarg Nov 27, 2024
54db1e6
Single runner for debugging, and switch to powershell
beau-lunarg Nov 27, 2024
70e0231
Fix wrong directory separator
beau-lunarg Nov 27, 2024
d350b0a
Add powershell script for running tests
beau-lunarg Nov 28, 2024
988b461
Try debug build
beau-lunarg Nov 28, 2024
785cff1
Debug driver loading
beau-lunarg Nov 28, 2024
bcb48ad
Fix env option string
beau-lunarg Nov 28, 2024
7d8bca1
Update run-tests.ps1
beau-lunarg Nov 28, 2024
8b30b52
Update run-tests.ps1
beau-lunarg Nov 28, 2024
8dd1ba3
Update verify-gfxr.cpp
beau-lunarg Nov 28, 2024
507bc13
Download vulkan sdk and set up path to make vulkan loader available d…
beau-lunarg Nov 29, 2024
14b81e9
Update ci_build.yml
beau-lunarg Nov 29, 2024
3752b7a
Update ci_build.yml
beau-lunarg Nov 29, 2024
55bcc92
Update ci_build.yml
beau-lunarg Nov 29, 2024
7f0c6f9
Update ci_build.yml
beau-lunarg Nov 29, 2024
fefba74
Update ci_build.yml
beau-lunarg Nov 29, 2024
430c429
Update ci_build.yml
beau-lunarg Nov 29, 2024
f73682d
Update ci_build.yml
beau-lunarg Nov 29, 2024
c98c3dd
Set registery keys in admin mode
beau-lunarg Nov 30, 2024
3e1b3f2
Try again to set registry values
beau-lunarg Nov 30, 2024
3ac5b2d
Create registry item before property
beau-lunarg Nov 30, 2024
57d9ebc
Create registry key hierarchy
beau-lunarg Nov 30, 2024
4b8918e
Add GFXRecon implicit layer disable field into manifest
beau-lunarg Nov 30, 2024
64f97d9
Fixed extra deleted line
beau-lunarg Nov 30, 2024
1ba675e
Try implcit layers value 1
beau-lunarg Nov 30, 2024
bbee9b6
Set value to 0 again
beau-lunarg Dec 2, 2024
c6c5cff
GFXRECON log level info to debug CI issue
beau-lunarg Dec 2, 2024
2a9c5b5
Loader debug layer, fix disable_environment
beau-lunarg Dec 2, 2024
f8aa717
Separate test files and upload failure artifacts
beau-lunarg Dec 2, 2024
f71cd69
Revert "Separate test files and upload failure artifacts"
beau-lunarg Dec 2, 2024
4ab30cf
Upload failure artifacts
beau-lunarg Dec 2, 2024
6443801
Add test failure artifact variable
beau-lunarg Dec 2, 2024
5a6b929
Add missing test app step id
beau-lunarg Dec 2, 2024
7493864
Better test cmakes
beau-lunarg Dec 3, 2024
f66a413
Install test to test dir
beau-lunarg Dec 3, 2024
7414654
Driver debug info
beau-lunarg Dec 3, 2024
4947308
New known good gfxr files based on turning off local layers
beau-lunarg Dec 3, 2024
961b87d
Try to run across all environments
beau-lunarg Dec 3, 2024
a2163f2
Fix ubuntu and darwin delimiters
beau-lunarg Dec 3, 2024
0e7c230
Change gfxr-convert permissions on test install
beau-lunarg Dec 3, 2024
f6674e1
No permissions for test install of gfxr-convert
beau-lunarg Dec 3, 2024
4c6d098
No permissions for any installs
beau-lunarg Dec 3, 2024
1adeae0
Remove permissions from test app install
beau-lunarg Dec 3, 2024
420e2e2
Install json file for all builds, not just windows
beau-lunarg Dec 17, 2024
b1238a2
Add unix path for vk layer path
beau-lunarg Dec 18, 2024
411a7fd
Log during linux tests
beau-lunarg Dec 18, 2024
ed65535
Some debugging
beau-lunarg Dec 18, 2024
3900815
Try cerr to see if that outputs in github
beau-lunarg Dec 18, 2024
32f864e
Try quoting env vars
beau-lunarg Dec 18, 2024
6b06480
Use set instead of export
beau-lunarg Dec 18, 2024
7f77455
Print env before running test runner
beau-lunarg Dec 18, 2024
02ad902
Single line run tests script
beau-lunarg Dec 18, 2024
5a85217
Fix issues with 1.4
beau-lunarg Dec 24, 2024
1179041
Explicit api version in triangle test app
beau-lunarg Dec 24, 2024
43c0280
Use proper make api version call
beau-lunarg Dec 24, 2024
85bba35
Fix default constructor for triangle app
beau-lunarg Dec 24, 2024
da915ce
override device api version
beau-lunarg Dec 25, 2024
05c3132
Load test config in linux and apple
beau-lunarg Dec 26, 2024
f2b1efe
Formatting
beau-lunarg Dec 26, 2024
38da545
Formatting
beau-lunarg Dec 26, 2024
49d5ce2
helper functions for verify gfxr
beau-lunarg Dec 29, 2024
deb945a
Linux implementation for test_app run_command
beau-lunarg Dec 29, 2024
6b7d72e
Vector instead of initializer list
beau-lunarg Dec 29, 2024
20634f7
Linux bash script changes, and create non-admin user to run as
beau-lunarg Dec 29, 2024
ca1f5f4
Fix windows gfxrecon layer install for testing
beau-lunarg Dec 29, 2024
9d0fda4
More explicit sudo
beau-lunarg Dec 29, 2024
ab004f5
Get owner and group info inside github action
beau-lunarg Dec 30, 2024
24f7f10
Add test user to docker group
beau-lunarg Dec 30, 2024
59e1ef0
Single run command definition
beau-lunarg Dec 30, 2024
4737a8e
Return to previous path after running command
beau-lunarg Dec 30, 2024
a51e5ee
Add linux capabilities
beau-lunarg Jan 6, 2025
6d334f0
Fix linux guard
beau-lunarg Jan 6, 2025
83c6aa2
Fix loading vulkand and mock icd shared libs
beau-lunarg Jan 6, 2025
b421019
Headless test app running
beau-lunarg Jan 7, 2025
26e32c3
Fix mock icd env var for linux
beau-lunarg Jan 7, 2025
be8b51a
Remove automatic portability enumeration
beau-lunarg Jan 7, 2025
9ef870e
Better JSON diff output
beau-lunarg Jan 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions .github/workflows/ci_build.new.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: CI Build

# Perform CI builds for pull requests targeting the dev branches.

on:
pull_request:
branches:
- dev

jobs:
windows:
name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.os }}
strategy:
fail-fast: false
matrix:
config:
- {
name: "Windows MSVC Debug",
os: windows-latest,
artifact: "gfxreconstruct-dev-windows-msvc-debug",
test_failure_artifact: "gfxreconstruct-test-failure-dev-windows-msvc-debug",
type: "debug",
build_dir: "dbuild",
cc: "cl", cxx: "cl"
}
steps:
- name: Require Python 3.10
uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Install Ply Python Module
run: pip install ply
- name: Run with VsDevCmd
uses: ilammy/msvc-dev-cmd@v1
- name: Install SDK 20348
uses: GuillaumeFalourd/setup-windows10-sdk-action@v2
with:
sdk-version: 20348
- name: Set WindowsSDKVersion
run:
echo ("WindowsSDKVersion=10.0.20348.0\") >> $env:GITHUB_ENV
- name: Clone repository from merge of PR branch and dev branch
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Check generated code
run: |
python3 framework/generated/generate_dx12.py # check generated code isn't out of date
git diff --exit-code
- name: Run build script
run: |
python scripts\build.py --skip-check-code-style --config ${{ matrix.config.type }} --parallel 0
- name: Run test app test cases
id: test_apps
run: |
curl.exe -o vulkan-sdk.zip https://sdk.lunarg.com/sdk/download/1.3.296.0/windows/VulkanRT-1.3.296.0-Components.zip
Expand-Archive vulkan-sdk.zip -DestinationPath $pwd\vulkan-sdk
$env:Path += ";$pwd\vulkan-sdk\VulkanRT-1.3.296.0-Components\x64"
cd ${{matrix.config.build_dir}}\windows\x64\output\test
./run-tests.ps1
- name: Upload test failure artifacts
uses: actions/upload-artifact@v4
if: ${{ failure() && steps.test_apps.conclusion == 'failure' }}
with:
name: ${{ matrix.config.test_failure_artifact }}
path: ${{matrix.config.build_dir}}\windows\x64\output\test
50 changes: 48 additions & 2 deletions .github/workflows/ci_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
name: "Ubuntu GCC Release",
os: ubuntu-latest,
artifact: "gfxreconstruct-dev-ubuntu-gcc-release",
test_failure_artifact: "gfxreconstruct-dev-test-failure-ubuntu-gcc-release",
type: "release",
build_dir: "build",
cc: "gcc", cxx: "g++"
Expand All @@ -27,6 +28,7 @@ jobs:
name: "Ubuntu GCC Debug",
os: ubuntu-latest,
artifact: "gfxreconstruct-dev-ubuntu-gcc-debug",
test_failure_artifact: "gfxreconstruct-dev-test-failure-ubuntu-gcc-debug",
type: "debug",
build_dir: "dbuild",
cc: "gcc", cxx: "g++"
Expand Down Expand Up @@ -55,6 +57,19 @@ jobs:
else
python3 scripts/build.py --config ${{ matrix.config.type }} --skip-check-code-style --parallel 0
fi
- name: Run test app test cases
id: test_apps
run: |
cd ${{matrix.config.build_dir}}/linux/x64/output/test
sudo useradd test
sudo usermod -a -G docker test
sudo -n -u test ./run-tests.sh
- name: Upload test failure artifacts
uses: actions/upload-artifact@v4
if: ${{ failure() && steps.test_apps.conclusion == 'failure' }}
with:
name: ${{ matrix.config.test_failure_artifact }}
path: ${{matrix.config.build_dir}}/linux/x64/output/test
- name: Prepare artifacts
run: |
cp LICENSE.txt ${{ matrix.config.build_dir }}/linux/x64/output/bin/
Expand All @@ -81,6 +96,7 @@ jobs:
name: "Windows MSVC Release",
os: windows-latest,
artifact: "gfxreconstruct-dev-windows-msvc-release",
test_failure_artifact: "gfxreconstruct-dev-test-failure-windows-msvc-release",
type: "release",
build_dir: "build",
cc: "cl", cxx: "cl"
Expand All @@ -89,6 +105,7 @@ jobs:
name: "Windows MSVC Debug",
os: windows-latest,
artifact: "gfxreconstruct-dev-windows-msvc-debug",
test_failure_artifact: "gfxreconstruct-dev-test-failure-windows-msvc-debug",
type: "debug",
build_dir: "dbuild",
cc: "cl", cxx: "cl"
Expand Down Expand Up @@ -120,6 +137,20 @@ jobs:
- name: Run build script
run: |
python scripts\build.py --skip-check-code-style --config ${{ matrix.config.type }} --parallel 0
- name: Run test app test cases
id: test_apps
run: |
curl.exe -o vulkan-sdk.zip https://sdk.lunarg.com/sdk/download/1.3.296.0/windows/VulkanRT-1.3.296.0-Components.zip
Expand-Archive vulkan-sdk.zip -DestinationPath $pwd\vulkan-sdk
$env:Path += ";$pwd\vulkan-sdk\VulkanRT-1.3.296.0-Components\x64"
cd ${{matrix.config.build_dir}}\windows\x64\output\test
./run-tests.ps1
- name: Upload test failure artifacts
uses: actions/upload-artifact@v4
if: ${{ failure() && steps.test_apps.conclusion == 'failure' }}
with:
name: ${{ matrix.config.test_failure_artifact }}
path: ${{matrix.config.build_dir}}\windows\x64\output\test
- name: Prepare artifacts
run: |
copy LICENSE.txt ${{ matrix.config.build_dir }}\windows\x64\output\bin\
Expand All @@ -145,13 +176,15 @@ jobs:
name: "macOS Release",
os: macos-latest,
artifact: "gfxreconstruct-dev-macOS-release",
test_failure_artifact: "gfxreconstruct-dev-test-failure-macOS-release",
type: "release",
build_dir: "build"
}
- {
name: "macOS Debug",
os: macos-latest,
artifact: "gfxreconstruct-dev-macOS-debug",
test_failure_artifact: "gfxreconstruct-dev-test-failure-macOS-debug",
type: "debug",
build_dir: "dbuild"
}
Expand All @@ -172,6 +205,17 @@ jobs:
- name: Run build script
run: |
python3 scripts/build.py --skip-check-code-style --config ${{ matrix.config.type }} --cmake-extra "CMAKE_PREFIX_PATH=$HOME/deps" --cmake-extra CMAKE_OSX_DEPLOYMENT_TARGET=11.0 --parallel 0
- name: Run test app test cases
id: test_apps
run: |
cd ${{matrix.config.build_dir}}/darwin/universal/output/test
./run-tests.sh
- name: Upload test failure artifacts
uses: actions/upload-artifact@v4
if: ${{ failure() && steps.test_apps.conclusion == 'failure' }}
with:
name: ${{ matrix.config.test_failure_artifact }}
path: ${{matrix.config.build_dir}}/darwin/universal/output/test
- name: Prepare artifacts
run: |
cp LICENSE.txt ${{ matrix.config.build_dir }}/darwin/universal/output/bin/
Expand Down Expand Up @@ -202,13 +246,15 @@ jobs:
name: "Android Debug",
os: ubuntu-latest,
type: "debug",
artifact: "gfxreconstruct-dev-android-debug"
artifact: "gfxreconstruct-dev-android-debug",
test_failure_artifact: "gfxreconstruct-dev-test-failure-android-debug"
}
- {
name: "Android Release",
os: ubuntu-latest,
type: "release",
artifact: "gfxreconstruct-dev-android-release"
artifact: "gfxreconstruct-dev-android-release",
test_failure_artifact: "gfxreconstruct-dev-test-failure-android-release"
}
steps:
- name: Clone repository
Expand Down
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,8 @@ if(NOT BUILD_STATIC)
add_subdirectory(layer)
endif()
add_subdirectory(tools)
add_subdirectory(external/Vulkan-Headers)
add_subdirectory(test)

if (${RUN_TESTS})
add_test_package_file(${CMAKE_CURRENT_LIST_DIR}/scripts/build.py)
Expand Down
8 changes: 8 additions & 0 deletions cmake/FindGoogleTest.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
include(FetchContent)

FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG v1.15.2
)
FetchContent_MakeAvailable(googletest)
14 changes: 14 additions & 0 deletions cmake/FindSDL3.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
include(FetchContent)

set(SDL_GIT "https://github.com/libsdl-org/SDL.git")
set(SDL_GIT_TAG "preview-3.1.3")
message(STATUS "Fetching SDL3 files from ${SDL_GIT} ${SDL_GIT_TAG}")

set(SDL_STATIC ON)

FetchContent_Declare(
sdl
GIT_REPOSITORY ${SDL_GIT}
GIT_TAG ${SDL_GIT_TAG}
)
FetchContent_MakeAvailable(sdl)
Loading
Loading