fix: shader OOB access issue #588
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
schedule: | |
- cron: '0 1 * * 1' | |
push: | |
branches: | |
- master | |
- dev | |
- feature/* | |
- dev/* | |
- fix/* | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
Windows: | |
runs-on: windows-2019 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Retrieve submodules | |
run: git submodule update --init --recursive | |
- name: Install Dependencies | |
run: | | |
Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/1.3.296.0/windows/VulkanSDK-1.3.296.0-Installer.exe" -OutFile VulkanSDK.exe | |
# ./VulkanSDK.exe --help | |
./VulkanSDK.exe --accept-licenses --default-answer --root D:/a/VulkanSDK --confirm-command install | |
- name: Prep 1 | |
shell: cmd | |
run: | | |
cd scripts | |
python gen_build.py | |
python gen_distribute.py | |
- name: Build Pilot Light (DEBUG) | |
shell: cmd | |
run: | | |
set VULKAN_SDK=D:/a/VulkanSDK | |
cd src | |
call build.bat -c debug | |
cd ../examples | |
call build.bat -c debug | |
if not exist ../out/app.dll exit 1 | |
if not exist ../out/example_0.dll exit 1 | |
if not exist ../out/example_1.dll exit 1 | |
if not exist ../out/example_2.dll exit 1 | |
if not exist ../out/example_3.dll exit 1 | |
if not exist ../out/example_4.dll exit 1 | |
if not exist ../out/example_5.dll exit 1 | |
if not exist ../out/example_6.dll exit 1 | |
if not exist ../out/example_8.dll exit 1 | |
if not exist ../out/example_9.dll exit 1 | |
if not exist ../out/pilot_light.exe exit 1 | |
if not exist ../out/pl_unity_ext.dll exit 1 | |
if not exist ../out/pl_script_camera.dll exit 1 | |
cd .. | |
- name: Prep 2 | |
shell: cmd | |
run: | | |
rmdir /s /q out | |
- name: Build Pilot Light (RELEASE) | |
shell: cmd | |
run: | | |
set VULKAN_SDK=D:/a/VulkanSDK | |
cd src | |
call build.bat -c release | |
cd ../examples | |
call build.bat -c release | |
if not exist ../out/app.dll exit 1 | |
if not exist ../out/example_0.dll exit 1 | |
if not exist ../out/example_1.dll exit 1 | |
if not exist ../out/example_2.dll exit 1 | |
if not exist ../out/example_3.dll exit 1 | |
if not exist ../out/example_4.dll exit 1 | |
if not exist ../out/example_5.dll exit 1 | |
if not exist ../out/example_6.dll exit 1 | |
if not exist ../out/example_8.dll exit 1 | |
if not exist ../out/example_9.dll exit 1 | |
if not exist ../out/pilot_light.exe exit 1 | |
if not exist ../out/pl_unity_ext.dll exit 1 | |
if not exist ../out/pl_script_camera.dll exit 1 | |
- name: Build Pilot Light Deployment (RELEASE) | |
shell: cmd | |
run: | | |
set VULKAN_SDK=D:/a/VulkanSDK | |
cd src | |
call build_distribute.bat -c release | |
if not exist ../out/pl_debug_ext.dll exit 1 | |
if not exist ../out/pl_draw_backend_ext.dll exit 1 | |
if not exist ../out/pl_draw_ext.dll exit 1 | |
if not exist ../out/pl_ecs_ext.dll exit 1 | |
if not exist ../out/pl_gpu_allocators_ext.dll exit 1 | |
if not exist ../out/pl_graphics_ext.dll exit 1 | |
if not exist ../out/pl_image_ext.dll exit 1 | |
if not exist ../out/pl_job_ext.dll exit 1 | |
if not exist ../out/pl_log_ext.dll exit 1 | |
if not exist ../out/pl_model_loader_ext.dll exit 1 | |
if not exist ../out/pl_profile_ext.dll exit 1 | |
if not exist ../out/pl_rect_pack_ext.dll exit 1 | |
if not exist ../out/pl_renderer_ext.dll exit 1 | |
if not exist ../out/pl_resource_ext.dll exit 1 | |
if not exist ../out/pl_shader_ext.dll exit 1 | |
if not exist ../out/pl_stats_ext.dll exit 1 | |
if not exist ../out/pl_string_intern_ext.dll exit 1 | |
if not exist ../out/pl_ui_ext.dll exit 1 | |
if not exist ../out/pilot_light.exe exit 1 | |
if not exist ../out/pl_script_camera.dll exit 1 | |
cd .. | |
- name: Package Pilot Light | |
shell: cmd | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd scripts | |
python package.py | |
- name: Upload Pilot Light | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pilotlight_release_win32 | |
path: D:\a\pilotlight\pilotlight\out\pilotlight_win32.zip | |
overwrite: true | |
MacOS: | |
runs-on: macos-14 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Retrieve submodules | |
run: git submodule update --init --recursive | |
- name: Install Dependencies | |
run: | | |
curl https://sdk.lunarg.com/sdk/download/1.3.283.0/mac/vulkansdk-macos-1.3.283.0.dmg -o vk.dmg | |
hdiutil attach vk.dmg | |
sudo /Volumes/vulkansdk-macos-1.3.283.0/InstallVulkan.app/Contents/MacOS/InstallVulkan --root ~/VulkanSDK/1.3.283.0 --accept-licenses --default-answer --confirm-command install com.lunarg.vulkan.core com.lunarg.vulkan.usr com.lunarg.vulkan.sdl2 com.lunarg.vulkan.glm com.lunarg.vulkan.volk com.lunarg.vulkan.vma com.lunarg.vulkan.ios | |
- name: Prep 1 | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd scripts | |
python3 gen_build.py | |
python3 gen_distribute.py | |
- name: Build Pilot Light (DEBUG) | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd src | |
chmod +x build.sh | |
./build.sh -c debug | |
cd ../examples | |
chmod +x build.sh | |
./build.sh -c debug | |
cd .. | |
cd out | |
chmod +x pilot_light | |
cd .. | |
test -f ./out/pilot_light || exit 1 | |
test -f ./out/app.dylib || exit 1 | |
test -f ./out/example_0.dylib || exit 1 | |
test -f ./out/example_1.dylib || exit 1 | |
test -f ./out/example_2.dylib || exit 1 | |
test -f ./out/example_3.dylib || exit 1 | |
test -f ./out/example_4.dylib || exit 1 | |
test -f ./out/example_5.dylib || exit 1 | |
test -f ./out/example_6.dylib || exit 1 | |
test -f ./out/example_8.dylib || exit 1 | |
test -f ./out/example_9.dylib || exit 1 | |
test -f ./out/pl_unity_ext.dylib || exit 1 | |
test -f ./out/pl_script_camera.dylib || exit 1 | |
- name: Prep 2 | |
run: | | |
cd $GITHUB_WORKSPACE | |
rm -r out | |
- name: Build Pilot Light (RELEASE) | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd src | |
chmod +x build.sh | |
./build.sh -c release | |
cd ../examples | |
chmod +x build.sh | |
./build.sh -c release | |
cd .. | |
cd out | |
chmod +x pilot_light | |
cd .. | |
test -f ./out/pilot_light || exit 1 | |
test -f ./out/app.dylib || exit 1 | |
test -f ./out/example_0.dylib || exit 1 | |
test -f ./out/example_1.dylib || exit 1 | |
test -f ./out/example_2.dylib || exit 1 | |
test -f ./out/example_3.dylib || exit 1 | |
test -f ./out/example_4.dylib || exit 1 | |
test -f ./out/example_5.dylib || exit 1 | |
test -f ./out/example_6.dylib || exit 1 | |
test -f ./out/example_8.dylib || exit 1 | |
test -f ./out/example_9.dylib || exit 1 | |
test -f ./out/pl_unity_ext.dylib || exit 1 | |
test -f ./out/pl_script_camera.dylib || exit 1 | |
- name: Build Pilot Light Deployment (RELEASE) | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd src | |
chmod +x build_distribute.sh | |
./build_distribute.sh -c release | |
cd .. | |
cd out | |
chmod +x pilot_light | |
cd .. | |
test -f ./out/pilot_light || exit 1 | |
test -f ./out/pl_debug_ext.dylib || exit 1 | |
test -f ./out/pl_draw_backend_ext.dylib || exit 1 | |
test -f ./out/pl_draw_ext.dylib || exit 1 | |
test -f ./out/pl_ecs_ext.dylib || exit 1 | |
test -f ./out/pl_gpu_allocators_ext.dylib || exit 1 | |
test -f ./out/pl_graphics_ext.dylib || exit 1 | |
test -f ./out/pl_image_ext.dylib || exit 1 | |
test -f ./out/pl_job_ext.dylib || exit 1 | |
test -f ./out/pl_log_ext.dylib || exit 1 | |
test -f ./out/pl_model_loader_ext.dylib || exit 1 | |
test -f ./out/pl_profile_ext.dylib || exit 1 | |
test -f ./out/pl_rect_pack_ext.dylib || exit 1 | |
test -f ./out/pl_renderer_ext.dylib || exit 1 | |
test -f ./out/pl_resource_ext.dylib || exit 1 | |
test -f ./out/pl_shader_ext.dylib || exit 1 | |
test -f ./out/pl_stats_ext.dylib || exit 1 | |
test -f ./out/pl_string_intern_ext.dylib || exit 1 | |
test -f ./out/pl_ui_ext.dylib || exit 1 | |
test -f ./out/pl_script_camera.dylib || exit 1 | |
- name: Package Pilot Light | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd scripts | |
python3 package.py | |
- name: Upload Pilot Light | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pilotlight_release_macos | |
path: /Users/runner/work/pilotlight/pilotlight/out/pilotlight_macos.zip | |
overwrite: true | |
Ubuntu: | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Retrieve submodules | |
run: git submodule update --init --recursive | |
- name: Install Dependencies | |
run: | | |
wget -qO - https://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - | |
sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-1.3.224-focal.list https://packages.lunarg.com/vulkan/1.3.224/lunarg-vulkan-1.3.224-focal.list | |
sudo apt update | |
sudo apt install vulkan-sdk | |
sudo apt install libx11-dev | |
sudo apt install libxkbcommon-x11-dev | |
sudo apt install libx11-xcb-dev | |
sudo apt install libxcb-xfixes0-dev | |
sudo apt install libxcb-cursor-dev | |
sudo apt install libxcb-cursor0 | |
sudo apt install libxcb-keysyms1-dev | |
- name: Prep 1 | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd scripts | |
python3 gen_build.py | |
python3 gen_distribute.py | |
- name: Build Pilot Light (DEBUG) | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd src | |
chmod +x build.sh | |
./build.sh -c debug | |
cd ../examples | |
chmod +x build.sh | |
./build.sh -c debug | |
cd .. | |
cd out | |
chmod +x pilot_light | |
cd .. | |
test -f ./out/pilot_light || exit 1 | |
test -f ./out/app.so || exit 1 | |
test -f ./out/example_0.so || exit 1 | |
test -f ./out/example_1.so || exit 1 | |
test -f ./out/example_2.so || exit 1 | |
test -f ./out/example_3.so || exit 1 | |
test -f ./out/example_4.so || exit 1 | |
test -f ./out/example_5.so || exit 1 | |
test -f ./out/example_6.so || exit 1 | |
test -f ./out/example_8.so || exit 1 | |
test -f ./out/example_9.so || exit 1 | |
test -f ./out/pl_unity_ext.so || exit 1 | |
test -f ./out/pl_script_camera.so || exit 1 | |
- name: Prep 2 | |
run: | | |
cd $GITHUB_WORKSPACE | |
rm -r out | |
- name: Build Pilot Light (RELEASE) | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd src | |
chmod +x build.sh | |
./build.sh -c release | |
cd ../examples | |
chmod +x build.sh | |
./build.sh -c release | |
cd .. | |
cd out | |
chmod +x pilot_light | |
cd .. | |
test -f ./out/pilot_light || exit 1 | |
test -f ./out/app.so || exit 1 | |
test -f ./out/example_0.so || exit 1 | |
test -f ./out/example_1.so || exit 1 | |
test -f ./out/example_2.so || exit 1 | |
test -f ./out/example_3.so || exit 1 | |
test -f ./out/example_4.so || exit 1 | |
test -f ./out/example_5.so || exit 1 | |
test -f ./out/example_6.so || exit 1 | |
test -f ./out/example_8.so || exit 1 | |
test -f ./out/example_9.so || exit 1 | |
test -f ./out/pl_unity_ext.so || exit 1 | |
test -f ./out/pl_script_camera.so || exit 1 | |
- name: Build Pilot Light Deployment (RELEASE) | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd src | |
chmod +x build_distribute.sh | |
./build_distribute.sh -c release | |
cd .. | |
cd out | |
chmod +x pilot_light | |
cd .. | |
test -f ./out/pilot_light || exit 1 | |
test -f ./out/pl_debug_ext.so || exit 1 | |
test -f ./out/pl_draw_backend_ext.so || exit 1 | |
test -f ./out/pl_draw_ext.so || exit 1 | |
test -f ./out/pl_ecs_ext.so || exit 1 | |
test -f ./out/pl_gpu_allocators_ext.so || exit 1 | |
test -f ./out/pl_graphics_ext.so || exit 1 | |
test -f ./out/pl_image_ext.so || exit 1 | |
test -f ./out/pl_job_ext.so || exit 1 | |
test -f ./out/pl_log_ext.so || exit 1 | |
test -f ./out/pl_model_loader_ext.so || exit 1 | |
test -f ./out/pl_profile_ext.so || exit 1 | |
test -f ./out/pl_rect_pack_ext.so || exit 1 | |
test -f ./out/pl_renderer_ext.so || exit 1 | |
test -f ./out/pl_resource_ext.so || exit 1 | |
test -f ./out/pl_shader_ext.so || exit 1 | |
test -f ./out/pl_stats_ext.so || exit 1 | |
test -f ./out/pl_string_intern_ext.so || exit 1 | |
test -f ./out/pl_ui_ext.so || exit 1 | |
test -f ./out/pl_script_camera.so || exit 1 | |
- name: Package Pilot Light | |
run: | | |
cd $GITHUB_WORKSPACE | |
cd scripts | |
python3 package.py | |
pwd | |
- name: Upload Pilot Light | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pilotlight_release_linux | |
path: /home/runner/work/pilotlight/pilotlight/out/pilotlight_linux_amd64.zip | |
overwrite: true |