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 |
Amazon Lumberyard Bistro |
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)); } }