Skip to content

feat: move to bindless #76 & expose gpu global barriers #589

feat: move to bindless #76 & expose gpu global barriers

feat: move to bindless #76 & expose gpu global barriers #589

Workflow file for this run

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