diff --git a/readme.md b/readme.md
index 14efe8524..cb0a5a5eb 100644
--- a/readme.md
+++ b/readme.md
@@ -12,15 +12,18 @@
-
Please adhere to the MIT license. You're free to copy the code, provided you include the original license.
#### Status
+
![build_status](https://github.com/PanosK92/SpartanEngine/actions/workflows/workflow.yml/badge.svg)
[![Discord](https://img.shields.io/discord/677302405263785986?logo=discord&label=Discord&color=5865F2&logoColor=white)](https://discord.gg/TG5r2BS)
# Media
+
| Video: Livestream of FSR 2 integration | Video: The engine and the community |
|:-:|:-:|
|[![Image1](https://raw.githubusercontent.com/PanosK92/SpartanEngine/master/.github/images/readme_1.4.jpg)](https://www.youtube.com/watch?v=QhyMal6RY7M) | [![Image2](https://raw.githubusercontent.com/PanosK92/SpartanEngine/master/.github/images/video_promo.png)](https://www.youtube.com/watch?v=TMZ0epSVwCk)
# Worlds
+
@@ -36,7 +39,9 @@ Upon launching the engine, you'll be greeted with a selection of default worlds
| ![](https://raw.githubusercontent.com/PanosK92/SpartanEngine/master/.github/images/world_bistro.jpg)
Amazon Lumberyard Bistro | ![](https://raw.githubusercontent.com/PanosK92/SpartanEngine/master/.github/images/world_minecraft.jpg)
A good old minecraft world |
# Features
+
#### Rendering
+
- Cutting edge Vulkan renderer.
- 128-byte push constant buffer for lightning fast CPU to GPU data transfer.
- On the fly single dispatch GPU-based mip generation for render targets (FidelityFX SPD).
@@ -64,6 +69,7 @@ Upon launching the engine, you'll be greeted with a selection of default worlds
- Post-process effects like fxaa, bloom, motion-blur, depth of field, chromatic aberration etc.
#### General
+
- One-click project generation for easy setup.
- Universal input support, keyboard & mouse, controllers (tested a PS5 controller) and steering wheels.
- Comprehensive physics features.
@@ -74,17 +80,22 @@ Upon launching the engine, you'll be greeted with a selection of default worlds
- Wide file format support: 10+ for fonts, 20+ for audio, 30+ for images, and 40+ for models.
# Wiki
+
The [wiki](https://github.com/PanosK92/SpartanEngine/wiki/Wiki) can answer most of your questions, here are some of it's contents:
-- [Compiling](https://github.com/PanosK92/SpartanEngine/wiki/Compiling)
+
+- [Compiling](https://github.com/PanosK92/SpartanEngine/wiki/Compiling)
- [Contributing](https://github.com/PanosK92/SpartanEngine/blob/master/contributing.md)
- [Perks of a contributor](https://github.com/PanosK92/SpartanEngine/wiki/Perks-of-a-contributor)
# Interesting facts
+
- This engine started as a way to learn and enrich my portfolio while I was a university student, circa 2014, represeting over a decade of non-stop development.
- It's one of the most rewarding projects in terms of the perks you receive should you become a contributor, more [here](https://github.com/PanosK92/SpartanEngine/wiki/Perks-of-a-contributor).
# Use cases
+
Are you utilizing any components from the Spartan Engine, or has it inspired aspects of your work? If yes, then reach out to me, I'd love to showcase your project.
+
- Godot uses Spartan's TAA, see [here](https://github.com/godotengine/godot/blob/37d51d2cb7f6e47bef8329887e9e1740a914dc4e/servers/rendering/renderer_rd/shaders/effects/taa_resolve.glsl#L2)
- Stalker Anomaly has an addon which enchances rendering based on Spartan's source [here](https://www.moddb.com/mods/stalker-anomaly/addons/screen-space-shaders)
- Jesse Guerrero, a contributor, wrote a [book](https://www.amazon.com/dp/B0CXG1CMNK?ref_=cm_sw_r_cp_ud_dp_A14WVAH86VH407JE95MG_1) on beginning programming, showcasing Spartan's code, Discord community and the leadership within it.
diff --git a/runtime/Core/Debugging.h b/runtime/Core/Debugging.h
index ed7ceeaa6..9ca23062c 100644
--- a/runtime/Core/Debugging.h
+++ b/runtime/Core/Debugging.h
@@ -28,9 +28,7 @@ namespace Spartan
public:
static void Initialize(const bool is_amd)
{
- #ifdef DEBUG
m_breadcrumbs_enabled = m_breadcrumbs_enabled ? is_amd : false;
- #endif
}
static bool IsValidationLayerEnabled() { return m_validation_layer_enabled; }
diff --git a/runtime/Core/ProgressTracker.h b/runtime/Core/ProgressTracker.h
index ad6168c13..670944ef0 100644
--- a/runtime/Core/ProgressTracker.h
+++ b/runtime/Core/ProgressTracker.h
@@ -21,10 +21,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#pragma once
-//= INCLUDES ===================
+//= INCLUDES ====
#include
-#include "../Core/Definitions.h"
-//==============================
+//===============
namespace Spartan
{
diff --git a/runtime/RHI/Vulkan/Vulkan_Queue.cpp b/runtime/RHI/Vulkan/Vulkan_Queue.cpp
index fb525d1ab..1d6177e6c 100644
--- a/runtime/RHI/Vulkan/Vulkan_Queue.cpp
+++ b/runtime/RHI/Vulkan/Vulkan_Queue.cpp
@@ -193,6 +193,7 @@ namespace Spartan
submit_info.pCommandBufferInfos = &cmd_buffer_info;
VkResult result = vkQueueSubmit2(static_cast(RHI_Device::GetQueueRhiResource(m_type)), 1, &submit_info, nullptr);
+
if (result == VK_ERROR_DEVICE_LOST)
{
if (Debugging::IsBreadcrumbsEnabled())
@@ -200,7 +201,7 @@ namespace Spartan
RHI_FidelityFX::Breadcrumbs_OnDeviceRemoved();
}
- SP_ASSERT_MSG(false, "GPU crash");
+ SP_ERROR_WINDOW("GPU crash");
}
SP_ASSERT_VK(result);
@@ -210,7 +211,7 @@ namespace Spartan
void RHI_Queue::Present(void* swapchain, const uint32_t image_index, vector& wait_semaphores)
{
- array vk_wait_semaphores = { nullptr, nullptr, nullptr };
+ array vk_wait_semaphores = { nullptr };
// get semaphore vulkan resources
uint32_t semaphore_count = static_cast(wait_semaphores.size());
@@ -227,7 +228,6 @@ namespace Spartan
present_info.pSwapchains = reinterpret_cast(&swapchain);
present_info.pImageIndices = &image_index;
- void* queue = RHI_Device::GetQueueRhiResource(m_type);
- SP_ASSERT_VK(vkQueuePresentKHR(static_cast(queue), &present_info));
+ SP_ASSERT_VK(vkQueuePresentKHR(static_cast(RHI_Device::GetQueueRhiResource(m_type)), &present_info));
}
}