Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
ef2e844
Added fixes for removing void* in replacement with using std::span<T>…
SpinnerX Mar 6, 2026
6fd1629
Reworked the texdture implementations to using std::span and added mo…
SpinnerX Mar 6, 2026
6d3bb50
More cleanup in the texture implementation and added some default par…
SpinnerX Mar 6, 2026
57a02b9
Remove redundant logic for passing in std::span in the texture loadin…
SpinnerX Mar 6, 2026
bb86d77
WIP for mapping uniforms to GPU memory to happen
SpinnerX Mar 7, 2026
70a7a16
Updated demo 12 to using update<T> API
SpinnerX Mar 7, 2026
6be63bb
Removed runtime assertions and made offset a parameter when writing t…
SpinnerX Mar 8, 2026
4d97998
Replaced .write API to .transfer for clear API operation being performed
SpinnerX Mar 8, 2026
a621712
Updated demo 12 to using .transfer API
SpinnerX Mar 8, 2026
a27da98
Removed unused code from demo 12 application.cpp
SpinnerX Mar 8, 2026
ce44de0
clang-format CI update to use version 120 and removed wget step
SpinnerX Mar 8, 2026
e51267d
clang-format demo 12 application.cpp
SpinnerX Mar 8, 2026
9465fe7
Made updates to the git workflows for linter and clang-format
SpinnerX Mar 8, 2026
3ec74f0
clang-format CI update to use include-regex
SpinnerX Mar 8, 2026
98ef1e4
clang-tidy CI updated adding failed exit
SpinnerX Mar 8, 2026
fa9bdb6
Changed to actions/checkout@v4
SpinnerX Mar 8, 2026
1ec35bf
linter updated to have explicit extensions to run clang-tidy on
SpinnerX Mar 8, 2026
f7e3bf5
Added dummy include to trigger linter CI
SpinnerX Mar 8, 2026
25f54e3
Updated linter git workflows
SpinnerX Mar 8, 2026
da5fd91
Updated linter CI condition checks
SpinnerX Mar 9, 2026
cce2892
Correcting linter condition checks
SpinnerX Mar 9, 2026
ca55cab
Added c++23 argument to linter CI
SpinnerX Mar 9, 2026
7d86acf
Added generate compile commands condition
SpinnerX Mar 9, 2026
bdddc34
Fixed linter tidy checks
SpinnerX Mar 9, 2026
667086e
Formatted using clang-format
SpinnerX Mar 9, 2026
b8fc602
Formatted using clang-format on vulkan-cpp
SpinnerX Mar 9, 2026
394813a
Removed commented CI logic in linter CI
SpinnerX Mar 9, 2026
5343fbf
Version update to vulkan-cpp/6.0
SpinnerX Mar 9, 2026
871cd16
Merge pull request #44 from engine3d-dev/refactor-buffer-params
SpinnerX Mar 9, 2026
d657c5f
Minor code cleanup to vk::uniform_buffer
SpinnerX Mar 9, 2026
91899f2
Explicit command buffer parameter specification to the renderpass::be…
SpinnerX Mar 9, 2026
d1d6b08
Added compile-time checks for pipeline::push_constant API
SpinnerX Mar 9, 2026
c6aaf1d
Added documentation comments to pipeline::push_constant
SpinnerX Mar 9, 2026
27ec863
Removed unused code from types.cppm
SpinnerX Mar 9, 2026
73f3bd2
Renamed invalidate to configure for vk::pipeline
SpinnerX Mar 9, 2026
b074526
Fixed demo 14 to have environment mapping with HDRI to work succesful
SpinnerX Mar 16, 2026
dda37e7
Added shaders for HDRI uniforms mapping
SpinnerX Mar 16, 2026
0bed94e
WIP simple camera system
SpinnerX Mar 16, 2026
4eccf47
Code cleanup for environment_map.cppm
SpinnerX Mar 16, 2026
3effe7e
Fixed environment_map.cppm to use vulkan/6.0 API's with additional .h…
SpinnerX Mar 16, 2026
7831441
Commented temporarily unused code
SpinnerX Mar 16, 2026
3c8e364
Updated copy_to_image to handle arbitrary amount of copy transfer ope…
SpinnerX Mar 16, 2026
0f75dda
Fix the buffer to image copy data transfer API's in environment_map.cppm
SpinnerX Mar 17, 2026
aae9428
Code formatted fix using clang-format
SpinnerX Mar 17, 2026
93f87bb
Fixed comments for copy_to_image API for much thorough and friendly c…
SpinnerX Mar 17, 2026
5342b3b
Fixed comment sections in the vk::renderpass implementations
SpinnerX Mar 17, 2026
af866de
Fixed formatting code in vk::renderpass
SpinnerX Mar 17, 2026
1f38643
Fixed more comments in vk::renderpass
SpinnerX Mar 17, 2026
03eca63
Fixed comment sections for vk::command_buffer to be more thorough
SpinnerX Mar 17, 2026
b6f5d18
Fixed some inconsistent comments for vk::command_buffer
SpinnerX Mar 17, 2026
a2dd50f
Fixed vk::descriptor_resource comment sections to be more thorough in…
SpinnerX Mar 17, 2026
5b39d73
Formatted comment section for vk::descriptor_resource
SpinnerX Mar 17, 2026
0ed8fbd
Fixed the descriptor entry usage example for vk::descriptor_resource
SpinnerX Mar 17, 2026
c49f84b
Merge pull request #50 from engine3d-dev/api_fixes
SpinnerX Mar 17, 2026
e5a107f
Fixed incorrect setting of depth parameter for image_offset for vk::t…
SpinnerX Mar 17, 2026
a209c15
Moved descriptor set bind API to be responsible of vk::command_buffer
SpinnerX Mar 17, 2026
b6680eb
Fixed code formatting to conform to clang-format
SpinnerX Mar 17, 2026
24d503e
Added CMAKE_CXX_SCAN_FOR_MODULES to project cmake
SpinnerX Mar 17, 2026
57ead8b
Fixed code formatting with clang-format
SpinnerX Mar 17, 2026
f989c73
Additional comments to bind_descriptors API about descriptor set layouts
SpinnerX Mar 17, 2026
1e40bfc
Merge pull request #51 from engine3d-dev/descriptor_sets_api
SpinnerX Mar 17, 2026
3afff05
Fix environment map descriptor binding operations
SpinnerX Mar 17, 2026
ae2aaa6
Removed binding API's from index and vertex buffers and moved to comm…
SpinnerX Mar 17, 2026
4e8c247
Formatted code using clang-format
SpinnerX Mar 18, 2026
4a97577
Merge pull request #55 from engine3d-dev/binding_apis
SpinnerX Mar 18, 2026
d68f13b
Removed redundant handles for dimensions for vk::texture and removed …
SpinnerX Mar 19, 2026
0bc10e8
Fixed vk::texture implementation and cleaned up redundant logic durin…
SpinnerX Mar 19, 2026
649c579
Formatted code using clang-format
SpinnerX Mar 19, 2026
f8e4690
Merge pull request #56 from engine3d-dev/additional_fixes
SpinnerX Mar 19, 2026
7aff28f
WIP in providing API's for specifying vulkan feature extensions
SpinnerX Mar 19, 2026
80fcd6a
Made some API changes for providing internal API's for chaining pNext…
SpinnerX Mar 19, 2026
b56813a
More updates made for additional documentation
SpinnerX Mar 19, 2026
a936867
Working feature extensions for enabling vulkan-specific features
SpinnerX Mar 20, 2026
6704bc6
Updated project cmake
SpinnerX Mar 20, 2026
29721af
Added additional comments to the feature_extensions and added to demo…
SpinnerX Mar 23, 2026
dc830f6
Formatted demo 12 using clang-format
SpinnerX Mar 24, 2026
d445184
Merge pull request #58 from engine3d-dev/feature_extensions_api
SpinnerX Mar 24, 2026
c14eb7d
WIP in reducing parameter dependencies for VkPhysicalDeviceMemoryProp…
SpinnerX Mar 24, 2026
66f48dc
WIP refactoring vk::index_buffer as well to have parameter changes al…
SpinnerX Mar 24, 2026
936253f
Working image and buffer handles apply the parameter changes to using…
SpinnerX Mar 24, 2026
7a208fa
Major code cleanup and removed old commented API usage
SpinnerX Mar 24, 2026
ecc1d2a
Updated demo 13 for HDR loading to use the WIP and yet working API's …
SpinnerX Mar 25, 2026
c01aeae
Major code cleanup to environment mapping implementation
SpinnerX Mar 25, 2026
05312f5
Removed dead code in environment map example implementation
SpinnerX Mar 25, 2026
2946267
Added bitwise OR operator overloading for specific enum classes
SpinnerX Mar 25, 2026
09c09c1
Reworded some comment sections for vk::memory_property
SpinnerX Mar 25, 2026
2d9571c
Minor code cleanup and formatting using clang-format
SpinnerX Mar 25, 2026
d8dc2a3
Added request format API's to vk::physical_device
SpinnerX Mar 25, 2026
737dcb0
Added request API's for depth format and request surface properties t…
SpinnerX Mar 25, 2026
693873f
Added request_surface_image_size to vk::physical_device
SpinnerX Mar 25, 2026
df5b0c8
Formatted the demos and API's to conform to clang-format
SpinnerX Mar 25, 2026
d7d8aa2
Removed more unused code
SpinnerX Mar 26, 2026
5a3e240
Formatted code using clang-format
SpinnerX Mar 26, 2026
4eaa3c5
Conform demo 13 to using request API for depth format
SpinnerX Mar 26, 2026
d572e9d
Merge pull request #59 from engine3d-dev/memory_properties_refactor
SpinnerX Mar 26, 2026
52af3f5
Removed std::print statements from implementations including <print> …
SpinnerX Mar 27, 2026
7a52057
Updated the README with updated instructions to make sure it is updat…
SpinnerX Mar 30, 2026
e638976
Added missing <bit> include
SpinnerX Apr 1, 2026
005b9bd
Merge pull request #62 from engine3d-dev/small_fixes
SpinnerX Apr 1, 2026
0fbf188
Added API for performing dynamic rendering operations
SpinnerX Apr 16, 2026
f9e7063
Fixed some bug fixes with configuring the begin rendering API to comm…
SpinnerX Apr 17, 2026
8253103
More major fixes with specific parameter changes that were incorrectl…
SpinnerX Apr 18, 2026
40ff798
Minor code cleanup to command buffer implementations
SpinnerX Apr 18, 2026
4941daa
Working dynamic rendering demo for triangle -- WIP to show 3D model l…
SpinnerX Apr 18, 2026
9bd97ae
Added API to command buffer for setting the viewport and scissor para…
SpinnerX Apr 18, 2026
c959622
Made some fixes and added viewport and scissor API; updated demo 15 t…
SpinnerX Apr 18, 2026
c22decc
Removed unecessary second parameter from begin_rendering API
SpinnerX Apr 18, 2026
df4e400
Added parameter for setting aspect mask to the memory barriers
SpinnerX Apr 21, 2026
baff4d1
Working depth rendering attachment in dynamic rendering demo
SpinnerX Apr 21, 2026
379ab03
Minor fixes with version updates and added README for dynamic renderi…
SpinnerX Apr 21, 2026
9783e5b
Formatted code using clang-format
SpinnerX Apr 21, 2026
b6177e3
Removed attachments.cppm and commented some values in resolve_mode_fl…
SpinnerX Apr 21, 2026
6c2c37b
Added missing information about VkPipelineRenderingCreateInfo to the …
SpinnerX Apr 21, 2026
e62e670
Merge pull request #64 from engine3d-dev/dynamic_rendering
SpinnerX Apr 22, 2026
d1e41b3
Made demo to use the 3d model example
SpinnerX Apr 22, 2026
0da9083
Added vk::descriptor_bind_flags enum
SpinnerX Apr 22, 2026
96b1a65
WIP getting descriptor indexing parameters supported
SpinnerX Apr 22, 2026
7dbe446
WIP descriptor indexing; added descriptor variable allocate info para…
SpinnerX Apr 23, 2026
7fe7fa7
Added support for specifying parameters for push constants
SpinnerX Apr 23, 2026
8404ae7
Added fully working demo 16 for demonstrating descriptor indexing
SpinnerX Apr 23, 2026
42681c5
Added README for descriptor indexing setup instructions and formatted…
SpinnerX Apr 23, 2026
7922429
More code formatting using clang-format
SpinnerX Apr 23, 2026
e2e5915
Minor fix for static_assert to work properly checking size byte of th…
SpinnerX Apr 23, 2026
e4c807d
Minor comment fix
SpinnerX Apr 23, 2026
cf7832c
Minor fix of initialization order for device_features
SpinnerX Apr 23, 2026
3454bb7
Merge pull request #65 from engine3d-dev/descriptor_indexing
SpinnerX Apr 24, 2026
72e13b7
Api fixes (#67)
SpinnerX May 14, 2026
afadb6f
Add Buffer Device Address API Support (#69)
SpinnerX May 20, 2026
8488ffe
refactor(vulkan): Moving `vk::physical_device` enumeration to `vk::in…
SpinnerX May 22, 2026
800a965
Introducing `vk::image` interface to support multiple image loading i…
SpinnerX May 23, 2026
1c7cbb8
refactor(vulkan): Updated inline namespaces to V6 (#74)
SpinnerX May 25, 2026
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
20 changes: 20 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: 🛠️ CI

on: [pull_request]

jobs:
clang-format:
uses: ./.github/workflows/clang-format-deploy.yml
secrets: inherit

windows:
uses: ./.github/workflows/windows.yml
secrets: inherit

linux:
uses: ./.github/workflows/linux.yml
secrets: inherit

mac-armv8:
uses: ./.github/workflows/mac.yml
secrets: inherit
12 changes: 5 additions & 7 deletions .github/workflows/clang-format-deploy.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
name: clang-format Check
on: [pull_request]
name: clang-format
on: [workflow_call]

jobs:
formatting-check:
name: Formatting Check
runs-on: ubuntu-latest
steps:

- name: 🌐 Downloading .clang-format from TheAtlasEngine
run: wget https://github.com/engine3d-dev/TheAtlasEngine/blob/main/.clang-format -O .clang-format

- uses: actions/checkout@v4
- name: Run clang-format style check for C/C++/Protobuf programs.
uses: jidicula/clang-format-action@v4.14.0
with:
clang-format-version: 19
clang-format-version: 20
check-path: '.'
include-regex: '.*\.(cpp|cppm)$'
fallback-style: 'LLVM' # optional
46 changes: 27 additions & 19 deletions .github/workflows/clang-tidy.yml
Original file line number Diff line number Diff line change
@@ -1,25 +1,33 @@
name: C++ Linter
name: cpp-linter

on: [pull_request]


jobs:
linux-build:
name: "Linter"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
cpp-linter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: cpp-linter/cpp-linter-action@main
id: linter
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: '.clang-format' # Use .clang-format config file
version: 19 # Using clang-tidy19
tidy-checks: '.clang-tidy' # Use .clang-tidy config file
# only 'update' a single comment in a pull request thread.
thread-comments: ${{ github.event_name == 'pull_request' && 'update' }}
- uses: cpp-linter/cpp-linter-action@v2
id: linter
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: '' # Disables clang-format so it strictly runs clang-tidy
# tidy-checks: '.clang-tidy'
extensions: 'cpp,cppm,h,hpp' # common C++ file extensions
# files-changed-only: true
thread-comments: ${{ github.event_name == 'pull_request' && 'update' }}
# Ensure clang-tidy knows how to parse modern C++ headers/modules without a compile_commands.json
extra-args: '-Wall -Wextra -Werror -std=c++23 --config-file=.clang-tidy'

- name: Fail fast?!
if: steps.linter.outputs.checks-failed > 0
run: exit 1
- name: Failed fast?!
# Does a check if any of the given clang-tidy checks failed!
if: steps.linter.outputs.checks-failed != '0'
run: |
echo "Failed clang-tidy linters check"
echo "Total violations reported: ${{ steps.linter.outputs.checks-failed }}"
exit 1
15 changes: 0 additions & 15 deletions .github/workflows/deploy.yml

This file was deleted.

23 changes: 23 additions & 0 deletions .github/workflows/deploy_all.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

name: 🚀 Deployment

# Trigger deployment CI when PRs get merged to main (production branch)
on:
pull_request:
types: [closed]
branches:
- main
workflow_call:

jobs:
windows:
uses: ./.github/workflows/deploy_windows.yml
secrets: inherit

linux:
uses: ./.github/workflows/deploy_linux.yml
secrets: inherit

mac-armv8:
uses: ./.github/workflows/deploy_mac.yml
secrets: inherit
10 changes: 3 additions & 7 deletions .github/workflows/deploy_linux.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
name: Deploy to Linux
name: Ubuntu Deployment

on:
pull_request:
types: [closed]
branches:
- main # Only trigger for PRs merged into main
on: [workflow_call]

jobs:
linux_x86_64:
Expand Down Expand Up @@ -63,4 +59,4 @@ jobs:

- name: Uploading vulkan-cpp to engine3d-conan remote repositories
shell: pwsh
run: conan upload vulkan-cpp/5.0 --r=engine3d-conan --confirm
run: conan upload vulkan-cpp/6.0 --r=engine3d-conan --confirm
10 changes: 3 additions & 7 deletions .github/workflows/deploy_mac.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
name: Deploy to MacOS Armv8
name: MacOS Armv8 Deployment

on:
pull_request:
types: [closed]
branches:
- main # Only trigger for PRs merged into main
on: [workflow_call]

jobs:
macos_armv8:
Expand Down Expand Up @@ -55,4 +51,4 @@ jobs:

- name: Uploading vulkan-cpp to engine3d-conan remote repositories
shell: pwsh
run: conan upload vulkan-cpp/5.0 --r=engine3d-conan --confirm
run: conan upload vulkan-cpp/6.0 --r=engine3d-conan --confirm
11 changes: 4 additions & 7 deletions .github/workflows/deploy_windows.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
name: Deploy to Windows
name: Windows Deployment

on:
pull_request:
types: [closed]
branches:
- main # Only trigger for PRs merged into main

on: [workflow_call]

jobs:
windows_x86_64:
Expand Down Expand Up @@ -55,4 +52,4 @@ jobs:

- name: Uploading vulkan-cpp to engine3d-conan remote repositories
shell: pwsh
run: conan upload vulkan-cpp/5.0 --r=engine3d-conan --confirm
run: conan upload vulkan-cpp/6.0 --r=engine3d-conan --confirm
10 changes: 5 additions & 5 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
name: Linux Platform Build
name: Linux

# workflow_call to have linux.yml be able to be invoked by ci.yml
on: [workflow_call]

on: [pull_request]

jobs:
linux-build:
name: "Linux-Build"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -46,5 +47,4 @@ jobs:
run: conan atlas create . -s build_type=Debug

- name: Creating MinSizeRel build for vulkan-cpp
run: conan atlas create . -s build_type=MinSizeRel

run: conan atlas create . -s build_type=MinSizeRel
6 changes: 3 additions & 3 deletions .github/workflows/mac.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
name: Macos Platform Build
name: Macos Armv8

on: [pull_request]
# workflow_call to have mac.yml be able to be invoked by ci.yml
on: [workflow_call]

jobs:
macos-build:
name: "M1 Mac Build"
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
Expand Down
Loading
Loading