-
Notifications
You must be signed in to change notification settings - Fork 43
ECS Refactor: Alternate Universe #626
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
Merged
Merged
Changes from 54 commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
bc41e17
Initial move of files
FiniteReality c1b08c9
Switch to using pragma once
FiniteReality 04154fb
Slowly working through fixing compile errors
FiniteReality 38a0854
Refactor Configurator to improve modularity
FiniteReality d628f3d
It now supposedly compiles?
FiniteReality 454da95
Things I missed from the CMakeLists
FiniteReality 1a58d06
Part one of cmdlist concurrency upgrade. TODO: Update contexts to be …
RubyNova d062e98
Fix issue in VulkanGraphicsCmdList where chack was inverted for some …
RubyNova a0e4d25
Push for Monica.
RubyNova 60a7367
Make context creatable from swapchain image, and render pass creatabl…
FiniteReality 28c1f69
Add new ObjectPool type. Add missing memory.hpp header to CMakeLists.…
RubyNova a744afb
More cleanup and hooking up the new context doohickery
FiniteReality 3e58d79
checkpoint before implementing render targets.
RubyNova 516c652
This is as good as its gonna get for now.
RubyNova 47c8e95
Fix a few linux build failures, fail to fix resize lag
FiniteReality b3249cd
Allow command lists to be created independently
FiniteReality 76ec68c
Orchestrator attempt 1
FiniteReality e1dd843
Actually sort the entities beforehand
FiniteReality 23a03e0
Allow creation of independent graphics contexts
FiniteReality 05e2951
Sample sprite system
FiniteReality 4276cc3
Refactor types a little
FiniteReality 7f201cf
Fix some errors, add a container for efficient(?) render pass mapping
FiniteReality 0da68fb
Make command lists able to be created from the context
FiniteReality 1778f67
Get intellisense working again idk. Add Vulkan cmdlist dispatch support.
RubyNova 68001cd
Add indexed square to SpriteRendererSystem.
RubyNova c3821f0
Taking a break. TODO: Add pipeline, make new shaders for sprite rende…
RubyNova a0ed504
Port resource loading code. I have no idea if any of it works. It pro…
RubyNova 2040b72
Update resource loading code targets.
RubyNova 695562c
Add ECS graphics sample for future testing
FiniteReality 6eb83c2
Make it link
FiniteReality dd4c939
Make new sample app be reasonable on Windows under MSVC.
RubyNova 83d82de
Get the core orchestrator mostly fleshed out. TODO: fix cmdlist cachi…
RubyNova fac250f
Code now compiles. VkDevice is getting memstomped. I think it's becau…
RubyNova 8eb1de4
The clobbering continues. I think.
RubyNova 72e6b52
Fix recursive swapchain bug, improve ECS builders, begin sample refactor
FiniteReality 187b6dc
un-destroy the sample system. TODO: Now getting FileNotFound as planned.
RubyNova e100c69
Add SPV resources.
RubyNova 5c343bb
Fix missing linked list component.
RubyNova 63cfe6f
Vulkan API update. GEt secondary cmdlists working.
RubyNova ea0b12d
Triangle get! Removes some extraneous logging, indentation changes, etc.
FiniteReality e603283
Enable maintenance7/nested command buffers
FiniteReality 1163c5f
Minor tweaks.
RubyNova 2ebf8a8
Fix VkCommandBuffer memleak.
RubyNova 8d5fe47
Fix memory leak two.
RubyNova 2e042ac
Skip RemoveComponent, it's causing issues
FiniteReality 92017de
Fix sync issue.
RubyNova 2250b78
fix vulkanrender sample.
RubyNova cf28d60
Try to make macOS CI cooperate.
RubyNova 0a65a45
Enable verbose clang-format
capnkenny c9697d3
Fix verbose flag
capnkenny ee709bc
Additional param
capnkenny 82454ab
Apply clang-format to all source files
FiniteReality f4a5c5c
Ignore some clang-tidy warnings
FiniteReality fc76b03
Ignore imgui sample entirely for now
FiniteReality a3a036a
Add nolint regex to clang-format, respond to nits
FiniteReality 19ee981
Use a different workaround instead
FiniteReality d6206b4
Revert "Fix sync issue."
FiniteReality 60cf844
Fix swapchain :sync issues once and for all
FiniteReality ce484af
Override the thread-count to require single-threaded operation
FiniteReality 2e4ce3d
Add missing include.
RubyNova 8f4e91e
Fix sizing issue that clang missed for some reason. Swap extension na…
RubyNova 2a961f7
Fix validation and compile errors in VulkanRender sample
FiniteReality 2af06f5
Apply clang-format to files
FiniteReality File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| include(NovelRTBuildSystem) | ||
|
|
||
| NovelRTBuildSystem_DeclareModule(LIBRARY NovelRT::Ecs | ||
| DEPENDS | ||
| NovelRT::Ecs::Core | ||
|
|
||
| OPTIONAL_DEPENDS | ||
| NovelRT::Ecs::Graphics | ||
| ) | ||
|
|
||
| add_subdirectory(Core) | ||
| add_subdirectory(Graphics) |
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,44 @@ | ||
| include(NovelRTBuildSystem) | ||
|
|
||
| NovelRTBuildSystem_DeclareModule(LIBRARY NovelRT::Ecs::Core | ||
| DEPENDS | ||
| NovelRT::Maths | ||
| NovelRT::Timing | ||
| NovelRT::Utilities | ||
|
|
||
| SOURCES | ||
| PRIVATE | ||
| Catalogue.cpp | ||
| ComponentBufferMemoryContainer.cpp | ||
| ComponentCache.cpp | ||
| EcsDefaultsBuilder.cpp | ||
| EcsUtils.cpp | ||
| EntityCache.cpp | ||
| EntityGraphView.cpp | ||
| LinkedEntityListView.cpp | ||
| SparseSetMemoryContainer.cpp | ||
| SystemScheduler.cpp | ||
| UnsafeComponentView.cpp | ||
|
|
||
| HEADERS | ||
| PUBLIC | ||
| include/NovelRT/Ecs/Components/EntityGraphComponent.hpp | ||
| include/NovelRT/Ecs/Components/LinkedEntityListNodeComponent.hpp | ||
| include/NovelRT/Ecs/Components/TransformComponent.hpp | ||
| include/NovelRT/Ecs/Catalogue.hpp | ||
| include/NovelRT/Ecs/ComponentBuffer.hpp | ||
| include/NovelRT/Ecs/ComponentBufferMemoryContainer.hpp | ||
| include/NovelRT/Ecs/ComponentCache.hpp | ||
| include/NovelRT/Ecs/ComponentView.hpp | ||
| include/NovelRT/Ecs/EcsDefaultsBuilder.hpp | ||
| include/NovelRT/Ecs/EcsUtils.hpp | ||
| include/NovelRT/Ecs/EntityCache.hpp | ||
| include/NovelRT/Ecs/EntityGraphView.hpp | ||
| include/NovelRT/Ecs/IEcsSystem.hpp | ||
| include/NovelRT/Ecs/LinkedEntityListView.hpp | ||
| include/NovelRT/Ecs/SparseSet.hpp | ||
| include/NovelRT/Ecs/SparseSetMemoryContainer.hpp | ||
| include/NovelRT/Ecs/SystemScheduler.hpp | ||
| include/NovelRT/Ecs/SystemSchedulerBuilder.hpp | ||
| include/NovelRT/Ecs/UnsafeComponentView.hpp | ||
| ) |
This file contains hidden or 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
17 changes: 12 additions & 5 deletions
17
...RT/Ecs/ComponentBufferMemoryContainer.cpp → Ecs/Core/ComponentBufferMemoryContainer.cpp
This file contains hidden or 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
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.