diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f82b94af2a98dfb6700fb098a6b2a84adf7b9a8..384d2d96f54921cd675a60acf2d167937449f0c0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv) # settings c++ standard for the framework -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # checking build type and setting up a variable diff --git a/include/vkcv/Buffer.hpp b/include/vkcv/Buffer.hpp index f5cd183d21c4ae9a5849ff09fc54af70667c12c6..992093061e254ce7c71d382a60f07ce08ca71cfd 100644 --- a/include/vkcv/Buffer.hpp +++ b/include/vkcv/Buffer.hpp @@ -16,7 +16,7 @@ namespace vkcv { friend class Core; public: // explicit destruction of default constructor - Buffer<T>() = delete; + Buffer() = delete; [[nodiscard]] const BufferHandle& getHandle() const { @@ -39,7 +39,7 @@ namespace vkcv { } [[nodiscard]] - const vk::Buffer getVulkanHandle() const { + vk::Buffer getVulkanHandle() const { return m_manager->getBuffer(m_handle); } @@ -67,7 +67,7 @@ namespace vkcv { const size_t m_count; const BufferMemoryType m_memoryType; - Buffer<T>(BufferManager* manager, BufferHandle handle, BufferType type, size_t count, BufferMemoryType memoryType) : + Buffer(BufferManager* manager, BufferHandle handle, BufferType type, size_t count, BufferMemoryType memoryType) : m_manager(manager), m_handle(handle), m_type(type), diff --git a/include/vkcv/Event.hpp b/include/vkcv/Event.hpp index 604e3a444dc3bffd2841cb69cd99746d59af523d..a17de57201f8e62bf258aad1e5a26e4766204d4b 100644 --- a/include/vkcv/Event.hpp +++ b/include/vkcv/Event.hpp @@ -3,7 +3,7 @@ #include <functional> #ifndef __MINGW32__ -#include <mutex> +#include <semaphore> #endif #include <vector> @@ -34,7 +34,7 @@ namespace vkcv { uint32_t m_id_counter; #ifndef __MINGW32__ - std::mutex m_mutex; + std::binary_semaphore m_semaphore; #endif public: @@ -84,7 +84,7 @@ namespace vkcv { */ void lock() { #ifndef __MINGW32__ - m_mutex.lock(); + m_semaphore.acquire(); #endif } @@ -93,15 +93,12 @@ namespace vkcv { */ void unlock() { #ifndef __MINGW32__ - m_mutex.unlock(); + m_semaphore.release(); #endif } - explicit event(bool locked = false) { - if (locked) { - lock(); - } - } + explicit event(bool locked = false) : + m_semaphore(locked? 1 : 0) {} event(const event &other) = delete; diff --git a/modules/asset_loader/CMakeLists.txt b/modules/asset_loader/CMakeLists.txt index 870c16279b1578224a966a4a123a465413333555..151ae350f4afa0ed60612dcc67d0fb61bedc8bb3 100644 --- a/modules/asset_loader/CMakeLists.txt +++ b/modules/asset_loader/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_asset_loader) # setting c++ standard for the module -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_asset_loader_source ${PROJECT_SOURCE_DIR}/src) diff --git a/modules/camera/CMakeLists.txt b/modules/camera/CMakeLists.txt index 60cfca4cf97cef30d989bdab064e20547764041c..55d29aabe041d16d497cba5668d8468ab2053560 100644 --- a/modules/camera/CMakeLists.txt +++ b/modules/camera/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_camera) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_camera_source ${PROJECT_SOURCE_DIR}/src) diff --git a/modules/gui/CMakeLists.txt b/modules/gui/CMakeLists.txt index 3b5202ccfe454f38745c53ac711cc05095ef88a1..87724ff9b8e1924d054789f63fb0c4460444a362 100644 --- a/modules/gui/CMakeLists.txt +++ b/modules/gui/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_gui) # setting c++ standard for the module -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_gui_source ${PROJECT_SOURCE_DIR}/src) diff --git a/modules/material/CMakeLists.txt b/modules/material/CMakeLists.txt index ed3804531d36f9850bbb5d334e4fed9b43d92434..bbcb7c5a32324df8318ea5ed1cf1c228f50f068d 100644 --- a/modules/material/CMakeLists.txt +++ b/modules/material/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_material) # setting c++ standard for the module -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_material_source ${PROJECT_SOURCE_DIR}/src) diff --git a/modules/meshlet/CMakeLists.txt b/modules/meshlet/CMakeLists.txt index d576466d3d125d3a19640088a9b5725ac7a46b97..05fdba47c7085eb320de5cb18447546749473b32 100644 --- a/modules/meshlet/CMakeLists.txt +++ b/modules/meshlet/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_meshlet) # setting c++ standard for the module -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_meshlet_source ${PROJECT_SOURCE_DIR}/src) diff --git a/modules/scene/CMakeLists.txt b/modules/scene/CMakeLists.txt index 5edf9a29ad929b3c07b79d4f1ffcb7f1cf2fcd99..2d81fde86b57666121f80083e04a7d53f0561940 100644 --- a/modules/scene/CMakeLists.txt +++ b/modules/scene/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_scene) # setting c++ standard for the module -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_scene_source ${PROJECT_SOURCE_DIR}/src) diff --git a/modules/shader_compiler/CMakeLists.txt b/modules/shader_compiler/CMakeLists.txt index 11c1e460575709dd9c9c16fdd02b6b923cc33045..a9181ccdb0a7ea1d117b58ce26b94390d9cdd305 100644 --- a/modules/shader_compiler/CMakeLists.txt +++ b/modules/shader_compiler/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_shader_compiler) # setting c++ standard for the module -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_shader_compiler_source ${PROJECT_SOURCE_DIR}/src) diff --git a/modules/testing/CMakeLists.txt b/modules/testing/CMakeLists.txt index a22e547646fd4ef59860245d51365b98df59b578..26814f3a138d573e217b4d77966533343f85cf2a 100644 --- a/modules/testing/CMakeLists.txt +++ b/modules/testing/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_testing) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_testing_source ${PROJECT_SOURCE_DIR}/src) diff --git a/modules/upscaling/CMakeLists.txt b/modules/upscaling/CMakeLists.txt index 0767e5c4d2d60c001ac9d6792efcd623456284a8..dcab962919434a875e9384f649fbde7ccb9b0725 100644 --- a/modules/upscaling/CMakeLists.txt +++ b/modules/upscaling/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(vkcv_upscaling) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(vkcv_upscaling_source ${PROJECT_SOURCE_DIR}/src) diff --git a/projects/bindless_textures/CMakeLists.txt b/projects/bindless_textures/CMakeLists.txt index 08cc636af2495afa3bb69cc7b652cc20eb4fa117..4fee446461da3de2d3d951c63e44425a7150a722 100644 --- a/projects/bindless_textures/CMakeLists.txt +++ b/projects/bindless_textures/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(bindless_textures) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/bindless_textures/src/main.cpp b/projects/bindless_textures/src/main.cpp index a2e9ff5eed65d44f329c8986b64d6d8588a92d30..555e3dc65016b0e383fc57ebc3618a35485e9519 100644 --- a/projects/bindless_textures/src/main.cpp +++ b/projects/bindless_textures/src/main.cpp @@ -223,7 +223,7 @@ int main(int argc, const char** argv) { vkcv::camera::CameraManager cameraManager(core.getWindow(windowHandle)); uint32_t camIndex0 = cameraManager.addCamera(vkcv::camera::ControllerType::PILOT); - uint32_t camIndex1 = cameraManager.addCamera(vkcv::camera::ControllerType::TRACKBALL); + cameraManager.addCamera(vkcv::camera::ControllerType::TRACKBALL); cameraManager.getCamera(camIndex0).setPosition(glm::vec3(0, 0, -3)); diff --git a/projects/first_mesh/CMakeLists.txt b/projects/first_mesh/CMakeLists.txt index 6455e75d88eee276fb89b9f7a1b3462fcbc54da2..345324ac1d2c836b174c90d16c710491ee477f93 100644 --- a/projects/first_mesh/CMakeLists.txt +++ b/projects/first_mesh/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(first_mesh) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/first_scene/CMakeLists.txt b/projects/first_scene/CMakeLists.txt index 21d6857e3b0086e31cc941659c7e8b3c57440922..d55476f5fa62639aeaec7a3859f2f63f9c937aed 100644 --- a/projects/first_scene/CMakeLists.txt +++ b/projects/first_scene/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(first_scene) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/first_triangle/CMakeLists.txt b/projects/first_triangle/CMakeLists.txt index ba8c83c06fc804082e6a0a14c3c0414899ef3057..cf1fdb9022fc8332210a44946911fbfab3f5559a 100644 --- a/projects/first_triangle/CMakeLists.txt +++ b/projects/first_triangle/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(first_triangle) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/indirect_dispatch/CMakeLists.txt b/projects/indirect_dispatch/CMakeLists.txt index 7bc86cbc8470352f13bbfcc62f793b0a99d92884..ac8501f17b65212f87d00998dbf9bc4d5c044619 100644 --- a/projects/indirect_dispatch/CMakeLists.txt +++ b/projects/indirect_dispatch/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(indirect_dispatch) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/indirect_draw/CMakeLists.txt b/projects/indirect_draw/CMakeLists.txt index a1bc8073a4105b291f0b3177cb6d252f8ce9e9a4..83119e02b2d5419f7fdf5c04363218b57fc4217a 100644 --- a/projects/indirect_draw/CMakeLists.txt +++ b/projects/indirect_draw/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(indirect_draw) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/mesh_shader/CMakeLists.txt b/projects/mesh_shader/CMakeLists.txt index 1aa5d5ff3977a47dce75a38329216d550b1b9311..9e132e555136a7dfdd7d8fc15e06547d8059aff5 100644 --- a/projects/mesh_shader/CMakeLists.txt +++ b/projects/mesh_shader/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(mesh_shader) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/particle_simulation/CMakeLists.txt b/projects/particle_simulation/CMakeLists.txt index 2a665202c521ac10ae94905cb7580205e897eef9..41ce6ca2f4042285ad42d81e79f04d7b53c837e7 100644 --- a/projects/particle_simulation/CMakeLists.txt +++ b/projects/particle_simulation/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(particle_simulation) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/path_tracer/CMakeLists.txt b/projects/path_tracer/CMakeLists.txt index 2b8edc208c70a5e8e74c6c28221f783a68a3ec6c..b4ad74c3e31d17861644b6255fda718b783c28c9 100644 --- a/projects/path_tracer/CMakeLists.txt +++ b/projects/path_tracer/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(path_tracer) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/rtx_ambient_occlusion/CMakeLists.txt b/projects/rtx_ambient_occlusion/CMakeLists.txt index 414279c3fead126a7c7f581f0dc7c42c11158a9e..e7d9be987b6352eda6dc70051051b74063eac8a0 100644 --- a/projects/rtx_ambient_occlusion/CMakeLists.txt +++ b/projects/rtx_ambient_occlusion/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(rtx_ambient_occlusion) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/rtx_ambient_occlusion/src/RTX/ASManager.cpp b/projects/rtx_ambient_occlusion/src/RTX/ASManager.cpp index c09e669dc94b05235dbb2f6e5f0b40d274e1c182..186379a63a5844bf43bdf0e9d1ee7572d8077f52 100644 --- a/projects/rtx_ambient_occlusion/src/RTX/ASManager.cpp +++ b/projects/rtx_ambient_occlusion/src/RTX/ASManager.cpp @@ -114,7 +114,7 @@ namespace vkcv::rtx { vk::PhysicalDeviceMemoryProperties physicalDeviceMemoryProperties = m_core->getContext().getPhysicalDevice().getMemoryProperties(); uint32_t memoryTypeIndex = -1; - for (int i = 0; i < physicalDeviceMemoryProperties.memoryTypeCount; i++) { + for (size_t i = 0; i < physicalDeviceMemoryProperties.memoryTypeCount; i++) { if ((memoryRequirements2.memoryRequirements.memoryTypeBits & (1 << i)) && (physicalDeviceMemoryProperties.memoryTypes[i].propertyFlags & buffer.memoryPropertyFlagBits) == buffer.memoryPropertyFlagBits) { memoryTypeIndex = i; diff --git a/projects/rtx_ambient_occlusion/src/RTX/ASManager.hpp b/projects/rtx_ambient_occlusion/src/RTX/ASManager.hpp index 42ef7fc03c58a223b510e2a41d710f463dba0c6b..9a1374356cf4afdb04b0231f3c65e823ebe26dac 100644 --- a/projects/rtx_ambient_occlusion/src/RTX/ASManager.hpp +++ b/projects/rtx_ambient_occlusion/src/RTX/ASManager.hpp @@ -141,7 +141,7 @@ namespace vkcv::rtx { copyFromCPUToGPU(stagingBuffer, targetBuffer); return targetBuffer; - }; + } /** * @brief A helper function used by @#ASManager::makeBufferFromData. Creates a fully initialized @#RTXBuffer object diff --git a/projects/rtx_ambient_occlusion/src/RTX/RTX.cpp b/projects/rtx_ambient_occlusion/src/RTX/RTX.cpp index 59f3da21409993bf6a460000a49c2ed67cb6d178..00533bc3668a54f245777c7bca4abb56afd3f056 100644 --- a/projects/rtx_ambient_occlusion/src/RTX/RTX.cpp +++ b/projects/rtx_ambient_occlusion/src/RTX/RTX.cpp @@ -50,7 +50,7 @@ namespace vkcv::rtx { m_shaderGroupBaseAlignment = rayTracingProperties.shaderGroupBaseAlignment; uint8_t* mapped = (uint8_t*) m_core->getContext().getDevice().mapMemory(m_shaderBindingTableBuffer.deviceMemory, 0, shaderBindingTableSize); - for (int i = 0; i < shaderCount; i++) { + for (size_t i = 0; i < shaderCount; i++) { memcpy(mapped, (uint8_t*)shaderHandleStorage + (i * rayTracingProperties.shaderGroupHandleSize), rayTracingProperties.shaderGroupHandleSize); mapped += m_shaderGroupBaseAlignment; } @@ -97,7 +97,6 @@ namespace vkcv::rtx { { //TLAS-Descriptor-Write TopLevelAccelerationStructure tlas = m_asManager->getTLAS(); - RTXBuffer tlasBuffer = tlas.tlasBuffer; vk::WriteDescriptorSetAccelerationStructureKHR AccelerationDescriptor = {}; AccelerationDescriptor.accelerationStructureCount = 1; const TopLevelAccelerationStructure constTLAS = tlas; diff --git a/projects/saf_r/CMakeLists.txt b/projects/saf_r/CMakeLists.txt index 61ede8ae5a5cedac78ff5781aec20973854a3df7..158bf7a984ada2711bd3e9655e25f3f3cbce16d3 100644 --- a/projects/saf_r/CMakeLists.txt +++ b/projects/saf_r/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(saf_r) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/saf_r/src/main.cpp b/projects/saf_r/src/main.cpp index 3fef073a00f8263cc08ce17f033170d0f4031dc4..354ea7a6c97b37b88ff7b484b13d878f09ae4d0f 100644 --- a/projects/saf_r/src/main.cpp +++ b/projects/saf_r/src/main.cpp @@ -150,9 +150,6 @@ int main(int argc, const char** argv) { vkcv::BufferDescriptorWrite(1,sphereBuffer.getHandle())}; core.writeDescriptorSet(computeDescriptorSet, computeWrites); - - const auto& context = core.getContext(); - auto safrIndexBuffer = core.createBuffer<uint16_t>(vkcv::BufferType::INDEX, 3, vkcv::BufferMemoryType::DEVICE_LOCAL); uint16_t indices[3] = { 0, 1, 2 }; safrIndexBuffer.fill(&indices[0], sizeof(indices)); diff --git a/projects/sph/CMakeLists.txt b/projects/sph/CMakeLists.txt index 592aa4409ae3e01f4054f430bab7c424d25219d0..8be89e0891d697bc22088e54dbeea5541d7f2065 100644 --- a/projects/sph/CMakeLists.txt +++ b/projects/sph/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(sph) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/projects/sph/src/main.cpp b/projects/sph/src/main.cpp index 255fb0e73f068ff9e5e8ce892897a1325631b6e1..616a84069369ba9cdee3d2d6221b11cb39eb7fa1 100644 --- a/projects/sph/src/main.cpp +++ b/projects/sph/src/main.cpp @@ -206,7 +206,6 @@ int main(int argc, const char **argv) { vkcv::DescriptorSetUsage descriptorUsage(0, core.getDescriptorSet(descriptorSet).vulkanHandle); auto pos = glm::vec2(0.f); - auto spawnPosition = glm::vec3(0.f); std::vector<vkcv::DrawcallInfo> drawcalls; drawcalls.push_back(vkcv::DrawcallInfo(renderMesh, {descriptorUsage}, numberParticles)); diff --git a/projects/voxelization/CMakeLists.txt b/projects/voxelization/CMakeLists.txt index d2f533b0f9c7313ddcc6046fb29378c3a507d1fe..9597f9493b91ef48a5932fb22da7dce791dc450c 100644 --- a/projects/voxelization/CMakeLists.txt +++ b/projects/voxelization/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16) project(voxelization) # setting c++ standard for the project -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # this should fix the execution path to load local files from the project diff --git a/src/vkcv/DescriptorManager.cpp b/src/vkcv/DescriptorManager.cpp index f273e958b12892d6f2c9cc92a4ca07de3f6b29c7..8343fde6650bd811d85fb44f867c8d832a9380d6 100644 --- a/src/vkcv/DescriptorManager.cpp +++ b/src/vkcv/DescriptorManager.cpp @@ -118,9 +118,7 @@ namespace vkcv uint32_t sumVariableDescriptorCounts = 0; for (auto bindingElem : setLayout.descriptorBindings) { - DescriptorBinding binding = bindingElem.second; - uint32_t bindingID = bindingElem.first; - + auto binding = bindingElem.second; if(binding.variableCount) sumVariableDescriptorCounts += binding.descriptorCount; } diff --git a/src/vkcv/Window.cpp b/src/vkcv/Window.cpp index 2b49ea32b21dc5d2497f6844c17baf8c3454640e..f6f9aa6950b767c31bdd1608782c5b7b7f7071ed 100644 --- a/src/vkcv/Window.cpp +++ b/src/vkcv/Window.cpp @@ -58,7 +58,7 @@ namespace vkcv { static std::vector<GLFWwindow*> s_Windows; void Window_onGamepadEvent(int gamepadIndex) { - Window::getFocusedWindow().e_gamepad(gamepadIndex); + Window::getFocusedWindow().e_gamepad(gamepadIndex); } static GLFWwindow* createGLFWWindow(const char *windowTitle, int width, int height, bool resizable) { @@ -160,7 +160,6 @@ namespace vkcv { } void Window::pollEvents() { - for (auto glfwWindow : s_Windows) { auto window = static_cast<Window *>(glfwGetWindowUserPointer(glfwWindow)); @@ -175,11 +174,6 @@ namespace vkcv { glfwPollEvents(); - // fixes subtle mouse stutter, which is made visible by motion blur - // FIXME: proper solution - // probably caused by main thread locking events before glfw callbacks are executed - std::this_thread::sleep_for(std::chrono::milliseconds(1)); - for (int gamepadIndex = GLFW_JOYSTICK_1; gamepadIndex <= GLFW_JOYSTICK_LAST; gamepadIndex++) { if (glfwJoystickPresent(gamepadIndex)) { Window_onGamepadEvent(gamepadIndex);