diff --git a/src/engine/asset_compiler/asset_compiler.vcxproj b/src/engine/asset_compiler/asset_compiler.vcxproj
index f47657c..d5cb6e9 100644
--- a/src/engine/asset_compiler/asset_compiler.vcxproj
+++ b/src/engine/asset_compiler/asset_compiler.vcxproj
@@ -190,7 +190,7 @@ if %errorlevel% NEQ 0 exit /b %errorlevel%
Console
true
- assimp-vc142-mt.lib;coreD.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;freetype.lib;%(AdditionalDependencies)
+ assimp-vc142-mt.lib;coreD.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
/ignore:4099 %(AdditionalOptions)
diff --git a/src/engine/default_lut.tga b/src/engine/default_lut.tga
new file mode 100644
index 0000000..6a88c76
Binary files /dev/null and b/src/engine/default_lut.tga differ
diff --git a/src/engine/game/game.vcxproj b/src/engine/game/game.vcxproj
index 27231c1..e8b0b5a 100644
--- a/src/engine/game/game.vcxproj
+++ b/src/engine/game/game.vcxproj
@@ -152,7 +152,7 @@
Windows
true
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);coreD.lib;win32D.lib;vulkanD.lib;idk_openglD.lib;editorD.lib;glslangd.lib
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies);coreD.lib;win32D.lib;vulkanD.lib;idk_openglD.lib;editorD.lib
/ignore:4006 /ignore:4075 /ignore:4099 %(AdditionalOptions)
diff --git a/src/engine/idk.ruleset b/src/engine/idk.ruleset
new file mode 100644
index 0000000..b02ae7f
--- /dev/null
+++ b/src/engine/idk.ruleset
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/engine/idk/IDK.vcxproj b/src/engine/idk/IDK.vcxproj
index 3670575..be558c4 100644
--- a/src/engine/idk/IDK.vcxproj
+++ b/src/engine/idk/IDK.vcxproj
@@ -819,7 +819,7 @@
true
_ENABLE_EXTENDED_ALIGNED_STORAGE;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)
true
- stdcpp20
+ stdcpplatest
true
4201; 4505
$(ProjectDir);$(SolutionDir)dep\include\;%VULKAN_SDK%\Include\
diff --git a/src/engine/launcher/launcher.vcxproj b/src/engine/launcher/launcher.vcxproj
index f1f537f..1b1dd23 100644
--- a/src/engine/launcher/launcher.vcxproj
+++ b/src/engine/launcher/launcher.vcxproj
@@ -205,7 +205,7 @@ if %errorlevel% NEQ 0 exit /b %errorlevel%
Console
- kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;SPIRV-Toolsd.lib;OGLCompilerd.lib;SPIRVd.lib;OSDependentd.lib;glslangd.lib;shaderc_utild.lib;shadercd.lib;vulkan-1.lib;win32D.lib;dspirv-cross-reflect.lib;dspirv-cross-glsl.lib;dspirv-cross-cpp.lib;dspirv-cross-core.lib;%(AdditionalDependencies)
+ kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
/ignore:4099 %(AdditionalOptions)
diff --git a/src/engine/launcher/launcher.vcxproj.user b/src/engine/launcher/launcher.vcxproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/src/engine/launcher/launcher.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/engine/opengl/idk_opengl.vcxproj b/src/engine/opengl/idk_opengl.vcxproj
index 77ae052..3fb0163 100644
--- a/src/engine/opengl/idk_opengl.vcxproj
+++ b/src/engine/opengl/idk_opengl.vcxproj
@@ -220,7 +220,7 @@
_ENABLE_EXTENDED_ALIGNED_STORAGE;_DEBUG;_LIB;%(PreprocessorDefinitions)
true
pch.h
- $(SolutionDir)projects\idk\;$(SolutionDir)projects\;$(SolutionDir)dep\include\;$(SolutionDir)projects\win32\;$(SolutionDir)projects\editorstatic\
+ $(SolutionDir)projects\idk\;$(SolutionDir)projects\;$(SolutionDir)dep\include\;$(SolutionDir)projects\win32\
stdcpplatest
false
/bigobj %(AdditionalOptions)
diff --git a/src/engine/opengl/idk_opengl.vcxproj.user b/src/engine/opengl/idk_opengl.vcxproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/src/engine/opengl/idk_opengl.vcxproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/engine/vkn/BufferHelpers.h b/src/engine/vkn/BufferHelpers.h
index 057cdab..6c497fe 100644
--- a/src/engine/vkn/BufferHelpers.h
+++ b/src/engine/vkn/BufferHelpers.h
@@ -23,23 +23,23 @@ namespace idk::vkn::hlp
std::optional signal = {}
);
- template
+ template
vk::UniqueBuffer CreateBuffer(vk::Device device, vk::DeviceSize size, vk::BufferUsageFlags usage, Dispatcher const& dispatcher = {});
- template
+ template
vk::UniqueBuffer CreateVertexBuffer(vk::Device device, T* const begin, T* const end, const Dispatcher& dispatcher = {});
- template
+ template
vk::UniqueBuffer CreateVertexBuffer(vk::Device device, std::vector const& vertices, const Dispatcher& dispatcher = {});
- template
+ template
vk::UniqueDeviceMemory AllocateBuffer(
vk::PhysicalDevice pdevice, vk::Device device, vk::Buffer const& buffer, vk::MemoryPropertyFlags memory_flags, Dispatcher const& dispatcher = {});
- template
+ template
void BindBufferMemory(vk::Device device, vk::Buffer buffer, vk::DeviceMemory memory, uint32_t offset, Dispatcher const& dispatcher = {});
- template
+ template
std::pair CreateAllocBindBuffer(
vk::PhysicalDevice pdevice, vk::Device device,
vk::DeviceSize buffer_size,
@@ -49,7 +49,7 @@ namespace idk::vkn::hlp
const Dispatcher& dispatcher = {}
);
- template
+ template
std::pair CreateAllocBindBuffer(
vk::PhysicalDevice pdevice, vk::Device device,
vk::DeviceSize buffer_size,
@@ -58,17 +58,17 @@ namespace idk::vkn::hlp
const Dispatcher& dispatcher = {}
);
- template
+ template
std::pair CreateAllocBindVertexBuffer(
vk::PhysicalDevice pdevice, vk::Device device, T const* vertices, T const* vertices_end, const Dispatcher& dispatcher = {}
);
- template
+ template
std::pair CreateAllocBindVertexBuffer(
vk::PhysicalDevice pdevice, vk::Device device, std::vector const& vertices, const Dispatcher& dispatcher = {}
);
- template
+ template
void MapMemory(vk::Device device, vk::DeviceMemory memory, vk::DeviceSize dest_offset, T* src_start, vk::DeviceSize trf_size, Dispatcher const& dispatcher = {});
void CopyBuffer(vk::CommandBuffer cmd_buffer, vk::Queue queue, vk::Buffer srcBuffer, vk::Buffer dstBuffer, vk::DeviceSize size, std::optional fence = {}, bool wait_for_idle=true);
diff --git a/src/engine/vkn/ColorPickRenderer.cpp b/src/engine/vkn/ColorPickRenderer.cpp
index 38a18ab..42d0241 100644
--- a/src/engine/vkn/ColorPickRenderer.cpp
+++ b/src/engine/vkn/ColorPickRenderer.cpp
@@ -469,17 +469,17 @@ namespace idk::vkn
{
auto opt = pipeline.GetBinding(location);
if (opt)
- cmd_buffer.bindVertexBuffers(*opt, attrib.buffer, vk::DeviceSize{ attrib.offset }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(*opt, attrib.buffer, vk::DeviceSize{ attrib.offset }, vk::DispatchLoaderDefault{});
}
auto& oidx = p_ro.index_buffer;
if (oidx)
{
- cmd_buffer.bindIndexBuffer(oidx->buffer, oidx->offset, oidx->index_type, vk::DispatchLoaderStatic{});
- cmd_buffer.drawIndexed(s_cast(p_ro.num_vertices), s_cast(p_ro.num_instances), 0, 0, s_cast(p_ro.inst_offset), vk::DispatchLoaderStatic{});
+ cmd_buffer.bindIndexBuffer(oidx->buffer, oidx->offset, oidx->index_type, vk::DispatchLoaderDefault{});
+ cmd_buffer.drawIndexed(s_cast(p_ro.num_vertices), s_cast(p_ro.num_instances), 0, 0, s_cast(p_ro.inst_offset), vk::DispatchLoaderDefault{});
}
else
{
- cmd_buffer.draw(s_cast(p_ro.num_vertices), s_cast(p_ro.num_instances), 0, s_cast(p_ro.inst_offset), vk::DispatchLoaderStatic{});
+ cmd_buffer.draw(s_cast(p_ro.num_vertices), s_cast(p_ro.num_instances), 0, s_cast(p_ro.inst_offset), vk::DispatchLoaderDefault{});
}
}
diff --git a/src/engine/vkn/CubemapRenderer.cpp b/src/engine/vkn/CubemapRenderer.cpp
index da299f7..2d80ab7 100644
--- a/src/engine/vkn/CubemapRenderer.cpp
+++ b/src/engine/vkn/CubemapRenderer.cpp
@@ -328,14 +328,14 @@ namespace idk::vkn
auto& attrib_buffer = mesh.Get(attrib);
auto binding = Pipeline().GetBinding(location);
if (binding)
- cmd_buffer.bindVertexBuffers(*binding, *attrib_buffer.buffer(), vk::DeviceSize{ attrib_buffer.offset }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(*binding, *attrib_buffer.buffer(), vk::DeviceSize{ attrib_buffer.offset }, vk::DispatchLoaderDefault{});
}
auto& oidx = mesh.GetIndexBuffer();
if (oidx)
{
- cmd_buffer.bindIndexBuffer(*(*oidx).buffer(), 0, mesh.IndexType(), vk::DispatchLoaderStatic{});
- cmd_buffer.drawIndexed(mesh.IndexCount(), 1, 0, 0, 0, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindIndexBuffer(*(*oidx).buffer(), 0, mesh.IndexType(), vk::DispatchLoaderDefault{});
+ cmd_buffer.drawIndexed(mesh.IndexCount(), 1, 0, 0, 0, vk::DispatchLoaderDefault{});
}
@@ -392,14 +392,14 @@ namespace idk::vkn
auto& attrib_buffer = mesh.Get(attrib);
auto binding = Pipeline().GetBinding(location);
if (binding)
- cmd_buffer.bindVertexBuffers(*binding, *attrib_buffer.buffer(), vk::DeviceSize{ attrib_buffer.offset }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(*binding, *attrib_buffer.buffer(), vk::DeviceSize{ attrib_buffer.offset }, vk::DispatchLoaderDefault{});
}
auto& oidx = mesh.GetIndexBuffer();
if (oidx)
{
- cmd_buffer.bindIndexBuffer(*(*oidx).buffer(), 0, mesh.IndexType(), vk::DispatchLoaderStatic{});
- cmd_buffer.drawIndexed(mesh.IndexCount(), 1, 0, 0, 0, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindIndexBuffer(*(*oidx).buffer(), 0, mesh.IndexType(), vk::DispatchLoaderDefault{});
+ cmd_buffer.drawIndexed(mesh.IndexCount(), 1, 0, 0, 0, vk::DispatchLoaderDefault{});
}
diff --git a/src/engine/vkn/DeferredPass.cpp b/src/engine/vkn/DeferredPass.cpp
index 72d15ed..219eb92 100644
--- a/src/engine/vkn/DeferredPass.cpp
+++ b/src/engine/vkn/DeferredPass.cpp
@@ -129,7 +129,7 @@ namespace idk::vkn
0,1,
}
};
- cmd_buffer.pipelineBarrier(vk::PipelineStageFlagBits::eColorAttachmentOutput, vk::PipelineStageFlagBits::eTransfer, vk::DependencyFlagBits::eByRegion, nullptr, nullptr, barriers, vk::DispatchLoaderStatic{});
+ cmd_buffer.pipelineBarrier(vk::PipelineStageFlagBits::eColorAttachmentOutput, vk::PipelineStageFlagBits::eTransfer, vk::DependencyFlagBits::eByRegion, nullptr, nullptr, barriers, vk::DispatchLoaderDefault{});
}
@@ -683,19 +683,19 @@ namespace idk::vkn
for (auto&& [attrib, location] : renderer_req.mesh_requirements)
{
auto& attrib_buffer = mesh.Get(attrib);
- cmd_buffer.bindVertexBuffers(*pipeline.GetBinding(location), *attrib_buffer.buffer(), vk::DeviceSize{ attrib_buffer.offset }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(*pipeline.GetBinding(location), *attrib_buffer.buffer(), vk::DeviceSize{ attrib_buffer.offset }, vk::DispatchLoaderDefault{});
}
if (state&&is_mesh_renderer)
{
uint32_t obj_trf_loc = 4;
- cmd_buffer.bindVertexBuffers(*pipeline.GetBinding(obj_trf_loc), state->shared_gfx_state->inst_mesh_render_buffer.buffer(), { 0 }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(*pipeline.GetBinding(obj_trf_loc), state->shared_gfx_state->inst_mesh_render_buffer.buffer(), { 0 }, vk::DispatchLoaderDefault{});
}
auto& oidx = mesh.GetIndexBuffer();
if (oidx)
{
- cmd_buffer.bindIndexBuffer(*(*oidx).buffer(), 0, mesh.IndexType(), vk::DispatchLoaderStatic{});
- cmd_buffer.drawIndexed(mesh.IndexCount(), static_cast(p_ro.num_instances), 0, 0, static_cast(p_ro.inst_offset), vk::DispatchLoaderStatic{});
+ cmd_buffer.bindIndexBuffer(*(*oidx).buffer(), 0, mesh.IndexType(), vk::DispatchLoaderDefault{});
+ cmd_buffer.drawIndexed(mesh.IndexCount(), static_cast(p_ro.num_instances), 0, 0, static_cast(p_ro.inst_offset), vk::DispatchLoaderDefault{});
}
}
return rendered;
diff --git a/src/engine/vkn/DescriptorPoolsManager.cpp b/src/engine/vkn/DescriptorPoolsManager.cpp
index 3ec25f5..8b5c708 100644
--- a/src/engine/vkn/DescriptorPoolsManager.cpp
+++ b/src/engine/vkn/DescriptorPoolsManager.cpp
@@ -20,7 +20,7 @@ namespace idk::vkn
,hlp::arr_count(pool_size)
,std::data(pool_size)
};
- pool = device.createDescriptorPoolUnique(create_info, nullptr, vk::DispatchLoaderStatic{});
+ pool = device.createDescriptorPoolUnique(create_info, nullptr, vk::DispatchLoaderDefault{});
}
vk::DescriptorPool DescriptorPoolsManager::Add(uint32_t num_ds,vk::DescriptorType type)
{
@@ -47,13 +47,13 @@ namespace idk::vkn
void DescriptorPoolsManager::ResetManager(Manager& manager)
{
vk::Device d = *view.Device();
- d.resetDescriptorPool(*manager.pool, vk::DescriptorPoolResetFlags{}, vk::DispatchLoaderStatic{});
+ d.resetDescriptorPool(*manager.pool, vk::DescriptorPoolResetFlags{}, vk::DispatchLoaderDefault{});
manager.size = 0;
}
void DescriptorPoolsManager::ResetManager(Manager2& manager)
{
vk::Device d = *view.Device();
- d.resetDescriptorPool(*manager.pool, vk::DescriptorPoolResetFlags{}, vk::DispatchLoaderStatic{});
+ d.resetDescriptorPool(*manager.pool, vk::DescriptorPoolResetFlags{}, vk::DispatchLoaderDefault{});
for (auto& cap : manager.cap)
{
cap.size = 0;
@@ -113,7 +113,7 @@ namespace idk::vkn
,total_types//hlp::arr_count(pool_size)
,std::data(pool_size)
};
- pool = device.createDescriptorPoolUnique(create_info, nullptr, vk::DispatchLoaderStatic{});
+ pool = device.createDescriptorPoolUnique(create_info, nullptr, vk::DispatchLoaderDefault{});
}
}
\ No newline at end of file
diff --git a/src/engine/vkn/DescriptorUpdateData.cpp b/src/engine/vkn/DescriptorUpdateData.cpp
index 16ec284..b0eeabc 100644
--- a/src/engine/vkn/DescriptorUpdateData.cpp
+++ b/src/engine/vkn/DescriptorUpdateData.cpp
@@ -29,7 +29,7 @@ void DescriptorUpdateData::SendUpdates()
{
auto& device = *View().Device();
ConvertBufferIdxToPointer();
- device.updateDescriptorSets(descriptorWrite, nullptr, vk::DispatchLoaderStatic{});
+ device.updateDescriptorSets(descriptorWrite, nullptr, vk::DispatchLoaderDefault{});
}
void DescriptorUpdateData::Reset()
diff --git a/src/engine/vkn/FrameRenderer.cpp b/src/engine/vkn/FrameRenderer.cpp
index 736b165..c1f4313 100644
--- a/src/engine/vkn/FrameRenderer.cpp
+++ b/src/engine/vkn/FrameRenderer.cpp
@@ -445,9 +445,9 @@ namespace idk::vkn
_cmd_pool = cmd_pool;
auto device = *View().Device();
- auto pri_buffers = device.allocateCommandBuffersUnique(vk::CommandBufferAllocateInfo{ cmd_pool,vk::CommandBufferLevel::ePrimary, num_fo }, vk::DispatchLoaderStatic{});
+ auto pri_buffers = device.allocateCommandBuffersUnique(vk::CommandBufferAllocateInfo{ cmd_pool,vk::CommandBufferLevel::ePrimary, num_fo }, vk::DispatchLoaderDefault{});
_pri_buffer = std::move(pri_buffers[0]);
- auto t_buffers = device.allocateCommandBuffersUnique(vk::CommandBufferAllocateInfo{ cmd_pool,vk::CommandBufferLevel::eSecondary, num_fo }, vk::DispatchLoaderStatic{});
+ auto t_buffers = device.allocateCommandBuffersUnique(vk::CommandBufferAllocateInfo{ cmd_pool,vk::CommandBufferLevel::eSecondary, num_fo }, vk::DispatchLoaderDefault{});
{
_transition_buffer = std::move(t_buffers[0]);
}
@@ -559,7 +559,7 @@ namespace idk::vkn
};
auto queue = View().GraphicsQueue();
- queue.submit(submit_info, vk::Fence{}, vk::DispatchLoaderStatic{});
+ queue.submit(submit_info, vk::Fence{}, vk::DispatchLoaderDefault{});
}
{
@@ -584,7 +584,7 @@ namespace idk::vkn
auto& rs = _pre_states[curr_state];
{
- auto dispatcher = vk::DispatchLoaderStatic{};
+ auto dispatcher = vk::DispatchLoaderDefault{};
vk::CommandBuffer cmd_buffer = rs.CommandBuffer();
vk::CommandBufferBeginInfo begin_info{ vk::CommandBufferUsageFlagBits::eOneTimeSubmit,nullptr };
cmd_buffer.begin(begin_info, dispatcher);
@@ -659,7 +659,7 @@ namespace idk::vkn
};
auto queue = View().GraphicsQueue();
- queue.submit(submit_info, vk::Fence{}, vk::DispatchLoaderStatic{});
+ queue.submit(submit_info, vk::Fence{}, vk::DispatchLoaderDefault{});
dbg::EndLabel(queue);
}
VulkanView& View();
@@ -758,17 +758,17 @@ namespace idk::vkn
for (auto&& [location, attrib] : p_ro.attrib_buffers)
{
- cmd_buffer.bindVertexBuffers(*pipeline.GetBinding(location), attrib.buffer, vk::DeviceSize{ attrib.offset }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(*pipeline.GetBinding(location), attrib.buffer, vk::DeviceSize{ attrib.offset }, vk::DispatchLoaderDefault{});
}
auto& oidx = p_ro.index_buffer;
if (oidx)
{
- cmd_buffer.bindIndexBuffer(oidx->buffer, 0, oidx->index_type, vk::DispatchLoaderStatic{});
- cmd_buffer.drawIndexed(s_cast(p_ro.num_vertices), static_cast(p_ro.num_instances), 0, 0, static_cast(p_ro.inst_offset), vk::DispatchLoaderStatic{});
+ cmd_buffer.bindIndexBuffer(oidx->buffer, 0, oidx->index_type, vk::DispatchLoaderDefault{});
+ cmd_buffer.drawIndexed(s_cast(p_ro.num_vertices), static_cast(p_ro.num_instances), 0, 0, static_cast(p_ro.inst_offset), vk::DispatchLoaderDefault{});
}
else
{
- cmd_buffer.draw(s_cast(p_ro.num_vertices), s_cast(p_ro.num_instances), 0, s_cast(p_ro.inst_offset), vk::DispatchLoaderStatic{});
+ cmd_buffer.draw(s_cast(p_ro.num_vertices), s_cast(p_ro.num_instances), 0, s_cast(p_ro.inst_offset), vk::DispatchLoaderDefault{});
}
}
}
@@ -783,7 +783,7 @@ namespace idk::vkn
{
auto& rt = rr.as();
//auto& swapchain = view.Swapchain();
- auto dispatcher = vk::DispatchLoaderStatic{};
+ auto dispatcher = vk::DispatchLoaderDefault{};
vk::CommandBuffer cmd_buffer = rs.CommandBuffer();
vk::CommandBufferBeginInfo begin_info{ vk::CommandBufferUsageFlagBits::eOneTimeSubmit,nullptr };
GraphicsStateInterface gsi = { state };
@@ -920,7 +920,7 @@ namespace idk::vkn
GetGfxTimeLog().end();//Misc
GetGfxTimeLog().end();//Render Graph
}
- pri_buffer->reset({}, vk::DispatchLoaderStatic{});
+ pri_buffer->reset({}, vk::DispatchLoaderDefault{});
vector buffers{};
for (auto& state : curr_frame._states)
{
@@ -928,9 +928,9 @@ namespace idk::vkn
buffers.emplace_back(state.CommandBuffer());
}
vk::CommandBufferBeginInfo begin_info{ vk::CommandBufferUsageFlagBits::eOneTimeSubmit };
- pri_buffer->begin(begin_info, vk::DispatchLoaderStatic{});
+ pri_buffer->begin(begin_info, vk::DispatchLoaderDefault{});
//if(buffers.size())
- // pri_buffer->executeCommands(buffers, vk::DispatchLoaderStatic{});
+ // pri_buffer->executeCommands(buffers, vk::DispatchLoaderDefault{});
vk::CommandBufferInheritanceInfo iinfo
{
};
@@ -954,11 +954,11 @@ namespace idk::vkn
presentToClearBarrier.image = swapchain.m_graphics.Images()[swapchain.curr_index];
presentToClearBarrier.subresourceRange = subResourceRange;
begin_info.pInheritanceInfo = &iinfo;
- transition_buffer->begin(begin_info, vk::DispatchLoaderStatic{});
- transition_buffer->pipelineBarrier(vk::PipelineStageFlagBits::eTransfer, vk::PipelineStageFlagBits::eTransfer, vk::DependencyFlags{}, nullptr, nullptr, presentToClearBarrier, vk::DispatchLoaderStatic{});
+ transition_buffer->begin(begin_info, vk::DispatchLoaderDefault{});
+ transition_buffer->pipelineBarrier(vk::PipelineStageFlagBits::eTransfer, vk::PipelineStageFlagBits::eTransfer, vk::DependencyFlags{}, nullptr, nullptr, presentToClearBarrier, vk::DispatchLoaderDefault{});
transition_buffer->end();
//hlp::TransitionImageLayout(*transition_buffer, queue, swapchain.images[swapchain.curr_index], vk::Format::eUndefined, vk::ImageLayout::eUndefined, vk::ImageLayout::ePresentSrcKHR,&iinfo);
- pri_buffer->executeCommands(*transition_buffer, vk::DispatchLoaderStatic{});
+ pri_buffer->executeCommands(*transition_buffer, vk::DispatchLoaderDefault{});
}
pri_buffer->end();
@@ -993,9 +993,9 @@ namespace idk::vkn
};
- View().Device()->resetFences(1, &inflight_fence, vk::DispatchLoaderStatic{});
+ View().Device()->resetFences(1, &inflight_fence, vk::DispatchLoaderDefault{});
dbg::BeginLabel(queue, "Render GraphicsStates", color{ 0.3f,0.0f,0.3f });
- queue.submit(submit_info, inflight_fence, vk::DispatchLoaderStatic{});
+ queue.submit(submit_info, inflight_fence, vk::DispatchLoaderDefault{});
dbg::EndLabel(queue);
auto copy = View().Swapchain().m_graphics.Images();
copy[View().vulkan().rv ]= RscHandle()->GetColorBuffer().as().Image();
@@ -1077,7 +1077,7 @@ namespace idk::vkn
};
auto queue = View().GraphicsQueue();
- queue.submit(submit_info, vk::Fence{}, vk::DispatchLoaderStatic{});
+ queue.submit(submit_info, vk::Fence{}, vk::DispatchLoaderDefault{});
}
@@ -1127,7 +1127,7 @@ namespace idk::vkn
};
auto queue = View().GraphicsQueue();
- queue.submit(submit_info, vk::Fence{}, vk::DispatchLoaderStatic{});
+ queue.submit(submit_info, vk::Fence{}, vk::DispatchLoaderDefault{});
}
PresentationSignals& FrameRenderer::GetMainSignal()
{
@@ -1142,7 +1142,7 @@ namespace idk::vkn
for (auto i = diff; i-- > 0;)
{
auto cmd_pool = View().vulkan().CreateGfxCommandPool();
- auto&& buffers = device.allocateCommandBuffersUnique(vk::CommandBufferAllocateInfo{ *cmd_pool,vk::CommandBufferLevel::ePrimary, 1}, vk::DispatchLoaderStatic{});
+ auto&& buffers = device.allocateCommandBuffersUnique(vk::CommandBufferAllocateInfo{ *cmd_pool,vk::CommandBufferLevel::ePrimary, 1}, vk::DispatchLoaderDefault{});
auto& buffer = buffers[0];
states.emplace_back(RenderStateV2{std::move(cmd_pool), std::move(buffer),UboManager{View()},PresentationSignals{},DescriptorsManager{View()} }).signal.Init(View());
//_state_cmd_buffers.emplace_back(std::move(buffer));
@@ -1154,7 +1154,7 @@ namespace idk::vkn
void FrameRenderer::RenderDebugStuff(const GraphicsState& , RenderStateV2& , rect )
{
#if 0
- auto dispatcher = vk::DispatchLoaderStatic{};
+ auto dispatcher = vk::DispatchLoaderDefault{};
vk::CommandBuffer cmd_buffer = rs.CommandBuffer();
//TODO: figure out inheritance pipeline inheritance and inherit from dbg_pipeline for various viewport sizes
//auto& pipelines = state.dbg_pipeline;
diff --git a/src/engine/vkn/MemoryAllocator.cpp b/src/engine/vkn/MemoryAllocator.cpp
index a40797a..ecf0f01 100644
--- a/src/engine/vkn/MemoryAllocator.cpp
+++ b/src/engine/vkn/MemoryAllocator.cpp
@@ -111,7 +111,7 @@ namespace idk::vkn::hlp
}
MemoryAllocator::UniqueAlloc MemoryAllocator::Allocate(vk::PhysicalDevice pd, vk::Device d, vk::Buffer& buffer, vk::MemoryPropertyFlags prop)
{
- auto mem_req = d.getBufferMemoryRequirements(buffer, vk::DispatchLoaderStatic{});
+ auto mem_req = d.getBufferMemoryRequirements(buffer, vk::DispatchLoaderDefault{});
auto mem_type = hlp::findMemoryType(pd, mem_req.memoryTypeBits, prop);
return Allocate(d, mem_type, mem_req);
}
@@ -188,7 +188,7 @@ namespace idk::vkn::hlp
memories.emplace_back(device.allocateMemoryUnique(
vk::MemoryAllocateInfo{
Track(sz),type
- }, nullptr, vk::DispatchLoaderStatic{}
+ }, nullptr, vk::DispatchLoaderDefault{}
), sz);
return memories.back();
diff --git a/src/engine/vkn/PipelineThingy.cpp b/src/engine/vkn/PipelineThingy.cpp
index f90b16c..6575dcd 100644
--- a/src/engine/vkn/PipelineThingy.cpp
+++ b/src/engine/vkn/PipelineThingy.cpp
@@ -59,7 +59,7 @@ namespace idk::vkn
std::visit(updater, binding.ubuffer);
}
CondenseDSW(descriptorWrite);
- device.updateDescriptorSets(descriptorWrite, nullptr, vk::DispatchLoaderStatic{});
+ device.updateDescriptorSets(descriptorWrite, nullptr, vk::DispatchLoaderDefault{});
}
*/
diff --git a/src/engine/vkn/RenderTask.cpp b/src/engine/vkn/RenderTask.cpp
index 72d42c2..9a58309 100644
--- a/src/engine/vkn/RenderTask.cpp
+++ b/src/engine/vkn/RenderTask.cpp
@@ -488,7 +488,7 @@ namespace idk::vkn
auto& [prev_buffer, prev_offset] = vb_n_offset[vb.binding];
if (prev_buffer != vb.buffer || prev_offset != vb.offset)
{
- cmd_buffer.bindVertexBuffers(vb.binding, vb.buffer, vk::DeviceSize{ vb.offset }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(vb.binding, vb.buffer, vk::DeviceSize{ vb.offset }, vk::DispatchLoaderDefault{});
prev_buffer = vb.buffer;
prev_offset = vb.offset;
}
diff --git a/src/engine/vkn/VknCubeMapLoader.cpp b/src/engine/vkn/VknCubeMapLoader.cpp
index fe608b1..e11fb09 100644
--- a/src/engine/vkn/VknCubeMapLoader.cpp
+++ b/src/engine/vkn/VknCubeMapLoader.cpp
@@ -137,7 +137,7 @@ namespace idk::vkn {
{
src_flags,dst_flags,original_layout,target,VK_QUEUE_FAMILY_IGNORED,VK_QUEUE_FAMILY_IGNORED,image,*range
};
- cmd_buffer.pipelineBarrier(src_stage, dst_stage, {}, nullptr, nullptr, barrier, vk::DispatchLoaderStatic{});
+ cmd_buffer.pipelineBarrier(src_stage, dst_stage, {}, nullptr, nullptr, barrier, vk::DispatchLoaderDefault{});
}
std::pair CreateBlitImage(hlp::MemoryAllocator& allocator, uint32_t mipmap_level, uint32_t width, uint32_t height, vk::Format format)
@@ -162,9 +162,9 @@ namespace idk::vkn {
imageInfo.samples = vk::SampleCountFlagBits::e1; //Multisampling
imageInfo.flags = vk::ImageCreateFlagBits::eCubeCompatible;
- vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderStatic{});
+ vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderDefault{});
auto alloc = allocator.Allocate(*image, vk::MemoryPropertyFlagBits::eDeviceLocal); //Allocate on device only
- device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
return std::make_pair(std::move(image), std::move(alloc));
}
}
@@ -401,9 +401,9 @@ namespace idk::vkn {
imageInfo.sharingMode = vk::SharingMode::eExclusive; //Only graphics queue needs this.
imageInfo.samples = vk::SampleCountFlagBits::e1; //Multisampling
- vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderStatic{});
+ vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderDefault{});
auto alloc = allocator.Allocate(*image, vk::MemoryPropertyFlagBits::eDeviceLocal); //Allocate on device only
- device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
const vk::ImageAspectFlagBits img_aspect = load_info.aspect;
result.aspect = img_aspect;
@@ -444,7 +444,7 @@ namespace idk::vkn {
copy_dest = *blit_src_img;
layout = vk::ImageLayout::eTransferSrcOptimal;
}
- auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, in_info->mem_size, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderStatic{});
+ auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, in_info->mem_size, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderDefault{});
if (in_info)
{
@@ -455,7 +455,7 @@ namespace idk::vkn {
,num_bytes
};
uint8_t* data = nullptr;
- device.mapMemory(*stagingMemory, mmr.offset, in_info->mem_size, vk::MemoryMapFlags{}, (void**)&data, vk::DispatchLoaderStatic());
+ device.mapMemory(*stagingMemory, mmr.offset, in_info->mem_size, vk::MemoryMapFlags{}, (void**)&data, vk::DispatchLoaderDefault());
memcpy_s(data, mmr.size, in_info->data, mmr.size);
std::vector memory_ranges
{
@@ -505,7 +505,7 @@ namespace idk::vkn {
}
}
- cmd_buffer.copyBufferToImage(*stagingBuffer, copy_dest, vk::ImageLayout::eTransferDstOptimal, copy_regions, vk::DispatchLoaderStatic{});
+ cmd_buffer.copyBufferToImage(*stagingBuffer, copy_dest, vk::ImageLayout::eTransferDstOptimal, copy_regions, vk::DispatchLoaderDefault{});
staging_buffer = std::move(stagingBuffer);
staging_memory = std::move(stagingMemory);
@@ -573,17 +573,17 @@ namespace idk::vkn {
imageInfo.samples = vk::SampleCountFlagBits::e1; //Multisampling
imageInfo.flags = vk::ImageCreateFlagBits::eCubeCompatible;
- vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderStatic{});
+ vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderDefault{});
auto alloc = allocator.Allocate(*image, vk::MemoryPropertyFlagBits::eDeviceLocal);
- device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
- auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderStatic{});
+ auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderDefault{});
if (image)
dbg::TextureTracker::Inst(dbg::TextureAllocTypes::eCubemap).reg_allocate(image->operator VkImage(), num_bytes);
if (data)
- hlp::MapMemory(device, *stagingMemory, 0, data, num_bytes, vk::DispatchLoaderStatic{});
+ hlp::MapMemory(device, *stagingMemory, 0, data, num_bytes, vk::DispatchLoaderDefault{});
vk::AccessFlags src_flags = vk::AccessFlagBits::eMemoryRead | vk::AccessFlagBits::eShaderRead;
vk::AccessFlags dst_flags = vk::AccessFlagBits::eTransferWrite;
vk::PipelineStageFlags shader_flags = vk::PipelineStageFlagBits::eVertexShader | vk::PipelineStageFlagBits::eFragmentShader;// | vk::PipelineStageFlagBits::eTessellationControlShader | vk::PipelineStageFlagBits::eTessellationEvaluationShader;
@@ -642,7 +642,7 @@ namespace idk::vkn {
bCopyRegions.emplace_back(region);
//offset += i;
}
- cmd_buffer.copyBufferToImage(*stagingBuffer, *image, vk::ImageLayout::eTransferDstOptimal, bCopyRegions, vk::DispatchLoaderStatic{});
+ cmd_buffer.copyBufferToImage(*stagingBuffer, *image, vk::ImageLayout::eTransferDstOptimal, bCopyRegions, vk::DispatchLoaderDefault{});
vcm::TransitionImageLayout(cmd_buffer, src_flags, shader_flags, dst_flags, dst_stages, vk::ImageLayout::eTransferDstOptimal, layout, *image, img_aspect,vk::ImageSubresourceRange
{
diff --git a/src/engine/vkn/VknFontAtlasLoader.cpp b/src/engine/vkn/VknFontAtlasLoader.cpp
index 0fd4b15..afcb3b0 100644
--- a/src/engine/vkn/VknFontAtlasLoader.cpp
+++ b/src/engine/vkn/VknFontAtlasLoader.cpp
@@ -147,7 +147,7 @@ namespace idk::vkn
{
src_flags,dst_flags,original_layout,target,VK_QUEUE_FAMILY_IGNORED,VK_QUEUE_FAMILY_IGNORED,image,*range
};
- cmd_buffer.pipelineBarrier(src_stage, dst_stage, {}, nullptr, nullptr, barrier, vk::DispatchLoaderStatic{});
+ cmd_buffer.pipelineBarrier(src_stage, dst_stage, {}, nullptr, nullptr, barrier, vk::DispatchLoaderDefault{});
}
vk::UniqueImageView CreateImageView2D(vk::Device device, vk::Image image, vk::Format format, vk::ImageAspectFlags aspect)
@@ -215,9 +215,9 @@ namespace idk::vkn
imageInfo.sharingMode = vk::SharingMode::eExclusive; //Only graphics queue needs this.
imageInfo.samples = vk::SampleCountFlagBits::e1; //Multisampling
- vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderStatic{});
+ vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderDefault{});
auto alloc = allocator.Allocate(*image, vk::MemoryPropertyFlagBits::eDeviceLocal); //Allocate on device only
- device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
return std::make_pair(std::move(image), std::move(alloc));
}
@@ -390,9 +390,9 @@ namespace idk::vkn
imageInfo.sharingMode = vk::SharingMode::eExclusive; //Only graphics queue needs this.
imageInfo.samples = vk::SampleCountFlagBits::e1; //Multisampling
- vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderStatic{});
+ vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderDefault{});
auto alloc = allocator.Allocate(*image, vk::MemoryPropertyFlagBits::eDeviceLocal); //Allocate on device only
- device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
if (image)
dbg::TextureTracker::Inst(dbg::TextureAllocTypes::eCubemap).reg_allocate(image->operator VkImage(), num_bytes);
@@ -431,10 +431,10 @@ namespace idk::vkn
copy_dest = *blit_src_img;
layout = vk::ImageLayout::eTransferSrcOptimal;
}
- auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderStatic{});
+ auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderDefault{});
if (in_info)
- hlp::MapMemory(device, *stagingMemory, 0, in_info->data, num_bytes, vk::DispatchLoaderStatic{});
+ hlp::MapMemory(device, *stagingMemory, 0, in_info->data, num_bytes, vk::DispatchLoaderDefault{});
//if (is_render_target)
//{
// src_flags |= vk::AccessFlagBits::eColorAttachmentRead;
@@ -493,7 +493,7 @@ namespace idk::vkn
}
//vector
- cmd_buffer.copyBufferToImage(*stagingBuffer, copy_dest, vk::ImageLayout::eTransferDstOptimal, copy_regions, vk::DispatchLoaderStatic{});
+ cmd_buffer.copyBufferToImage(*stagingBuffer, copy_dest, vk::ImageLayout::eTransferDstOptimal, copy_regions, vk::DispatchLoaderDefault{});
staging_buffer = std::move(stagingBuffer);
staging_memory = std::move(stagingMemory);
@@ -561,16 +561,16 @@ namespace idk::vkn
imageInfo.sharingMode = vk::SharingMode::eExclusive; //Only graphics queue needs this.
imageInfo.samples = vk::SampleCountFlagBits::e1; //Multisampling
- vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderStatic{});
+ vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderDefault{});
auto alloc = allocator.Allocate(*image, vk::MemoryPropertyFlagBits::eDeviceLocal);
- device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
- auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderStatic{});
+ auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderDefault{});
if (image)
dbg::TextureTracker::Inst(dbg::TextureAllocTypes::eFontAtlas).reg_allocate(image->operator VkImage(), num_bytes);
if (data)
- hlp::MapMemory(device, *stagingMemory, 0, data, num_bytes, vk::DispatchLoaderStatic{});
+ hlp::MapMemory(device, *stagingMemory, 0, data, num_bytes, vk::DispatchLoaderDefault{});
vk::AccessFlags src_flags = vk::AccessFlagBits::eMemoryRead | vk::AccessFlagBits::eShaderRead;
vk::AccessFlags dst_flags = vk::AccessFlagBits::eTransferWrite;
vk::PipelineStageFlags shader_flags = vk::PipelineStageFlagBits::eVertexShader | vk::PipelineStageFlagBits::eFragmentShader;// | vk::PipelineStageFlagBits::eTessellationControlShader | vk::PipelineStageFlagBits::eTessellationEvaluationShader;
@@ -611,7 +611,7 @@ namespace idk::vkn
height,
1
};
- cmd_buffer.copyBufferToImage(*stagingBuffer, *image, vk::ImageLayout::eTransferDstOptimal, region, vk::DispatchLoaderStatic{});
+ cmd_buffer.copyBufferToImage(*stagingBuffer, *image, vk::ImageLayout::eTransferDstOptimal, region, vk::DispatchLoaderDefault{});
vfa::TransitionImageLayout(cmd_buffer, src_flags, shader_flags, dst_flags, dst_stages, vk::ImageLayout::eTransferDstOptimal, layout, *image);
;
diff --git a/src/engine/vkn/VknTextureLoader.cpp b/src/engine/vkn/VknTextureLoader.cpp
index 1ce35bb..672327e 100644
--- a/src/engine/vkn/VknTextureLoader.cpp
+++ b/src/engine/vkn/VknTextureLoader.cpp
@@ -329,7 +329,7 @@ namespace idk::vkn
{
src_flags,dst_flags,original_layout,target,VK_QUEUE_FAMILY_IGNORED,VK_QUEUE_FAMILY_IGNORED,image,*range
};
- cmd_buffer.pipelineBarrier(src_stage, dst_stage, {}, nullptr, nullptr, barrier, vk::DispatchLoaderStatic{});
+ cmd_buffer.pipelineBarrier(src_stage, dst_stage, {}, nullptr, nullptr, barrier, vk::DispatchLoaderDefault{});
}
@@ -488,9 +488,9 @@ namespace idk::vkn
imageInfo.sharingMode = vk::SharingMode::eExclusive; //Only graphics queue needs this.
imageInfo.samples = vk::SampleCountFlagBits::e1; //Multisampling
- vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderStatic{});
+ vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderDefault{});
auto alloc = allocator.Allocate(*image, vk::MemoryPropertyFlagBits::eDeviceLocal); //Allocate on device only
- device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
return std::make_pair(std::move(image), std::move(alloc));
}
@@ -590,10 +590,10 @@ namespace idk::vkn
//}
- vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderStatic{});
+ vk::UniqueImage image = device.createImageUnique(imageInfo, nullptr, vk::DispatchLoaderDefault{});
auto alloc = allocator.Allocate(*image, mem_property); //Allocate on device only
result.size_on_device = alloc->Size();
- device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device.bindImageMemory(*image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
const vk::ImageAspectFlagBits img_aspect = load_info.aspect;
result.aspect = img_aspect;
@@ -635,10 +635,10 @@ namespace idk::vkn
copy_dest = *blit_src_img;
layout = vk::ImageLayout::eTransferSrcOptimal;
}
- auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderStatic{});
+ auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pd, device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderDefault{});
if (in_info)
- hlp::MapMemory(device, *stagingMemory, 0, in_info->data, num_bytes, vk::DispatchLoaderStatic{});
+ hlp::MapMemory(device, *stagingMemory, 0, in_info->data, num_bytes, vk::DispatchLoaderDefault{});
//if (is_render_target)
//{
// src_flags |= vk::AccessFlagBits::eColorAttachmentRead;
@@ -719,7 +719,7 @@ namespace idk::vkn
// name += " Staging Dest";
// dbg::NameObject(copy_dest, name);
//}
- cmd_buffer.copyBufferToImage(*stagingBuffer, copy_dest, vk::ImageLayout::eTransferDstOptimal, copy_regions, vk::DispatchLoaderStatic{});
+ cmd_buffer.copyBufferToImage(*stagingBuffer, copy_dest, vk::ImageLayout::eTransferDstOptimal, copy_regions, vk::DispatchLoaderDefault{});
staging_buffer = std::move(stagingBuffer);
staging_memory = std::move(stagingMemory);
diff --git a/src/engine/vkn/VulkanResourceManager.h b/src/engine/vkn/VulkanResourceManager.h
index 6458450..00a500d 100644
--- a/src/engine/vkn/VulkanResourceManager.h
+++ b/src/engine/vkn/VulkanResourceManager.h
@@ -18,9 +18,9 @@ namespace idk::vkn
virtual ~VulkanRscBase()=default;
};
template
- struct VulkanRscDel : VulkanRscBase,vk::UniqueHandle
+ struct VulkanRscDel : VulkanRscBase,vk::UniqueHandle
{
- using Base = vk::UniqueHandle;
+ using Base = vk::UniqueHandle;
using Base::Base;
VulkanRscDel(Base&& base)noexcept :Base{ std::move(base) } {}
VulkanRscDel& operator=(VulkanRscDel&& rhs)
@@ -103,9 +103,9 @@ namespace idk::vkn
};
template
- struct VulkanRsc : vk::UniqueHandle
+ struct VulkanRsc : vk::UniqueHandle
{
- using Base = vk::UniqueHandle;
+ using Base = vk::UniqueHandle;
using Base::Base;
VulkanRsc() = default;
VulkanRsc(Base&& base)noexcept :Base{ std::move(base) } {}
diff --git a/src/engine/vkn/VulkanState.cpp b/src/engine/vkn/VulkanState.cpp
index a805a20..094a459 100644
--- a/src/engine/vkn/VulkanState.cpp
+++ b/src/engine/vkn/VulkanState.cpp
@@ -310,7 +310,7 @@ namespace idk::vkn
{
result.present_family = static_cast(i);
}
- if (family.queueFlags & vk::QueueFlagBits::eGraphics)
+ if (family.queueFlags & vk::QueueFlagBits::eGraphics && family.queueCount>2)
{
result.graphics_family = static_cast(i);
}
@@ -406,7 +406,7 @@ namespace idk::vkn
{
QueueFamilyIndices indices = findQueueFamilies(pdevice);
m_queue_family = indices;
- constexpr uint32_t num_queues = 1;//this be hack
+ constexpr uint32_t num_queues = 2;//this be hack
float queuePriority[num_queues] = {};
int num = 1;
for (auto& queuePri : queuePriority)
@@ -455,7 +455,7 @@ namespace idk::vkn
//m_device.~UniqueHandle();
m_device = vk::UniqueDevice{ pdevice.createDevice(createInfo, nullptr, dispatcher) };
m_graphics_queue = m_device->getQueue(*m_queue_family.graphics_family, 0, dispatcher);
- m_graphics_tex_queue = m_graphics_queue;
+ m_graphics_tex_queue = m_device->getQueue(*m_queue_family.graphics_family, 1, dispatcher);
m_present_queue = m_device->getQueue(*m_queue_family.present_family, 0, dispatcher);
//m_transfer_queue = m_device->getQueue(*m_queue_family.transfer_family, 0, dispatcher);
}
@@ -805,12 +805,12 @@ namespace idk::vkn
alloc = allocator.Allocate(image, vk::MemoryPropertyFlagBits::eDeviceLocal);
vk::DeviceSize num_bytes = (4 * sizeof(uint32_t));
- device->bindImageMemory(image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderStatic{});
+ device->bindImageMemory(image, alloc->Memory(), alloc->Offset(), vk::DispatchLoaderDefault{});
- auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pdevice, *device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderStatic{});
+ auto&& [stagingBuffer, stagingMemory] = hlp::CreateAllocBindBuffer(pdevice, *device, num_bytes, vk::BufferUsageFlagBits::eTransferSrc, vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible, vk::DispatchLoaderDefault{});
const void* data = nullptr;
if (data)
- hlp::MapMemory(*device, *stagingMemory, 0, data, num_bytes, vk::DispatchLoaderStatic{});
+ hlp::MapMemory(*device, *stagingMemory, 0, data, num_bytes, vk::DispatchLoaderDefault{});
vk::AccessFlags src_flags = vk::AccessFlagBits::eMemoryRead | vk::AccessFlagBits::eShaderRead;
vk::AccessFlags dst_flags = vk::AccessFlagBits::eTransferWrite;
vk::PipelineStageFlags shader_flags = vk::PipelineStageFlagBits::eVertexShader | vk::PipelineStageFlagBits::eFragmentShader;// | vk::PipelineStageFlagBits::eTessellationControlShader | vk::PipelineStageFlagBits::eTessellationEvaluationShader;
diff --git a/src/engine/vkn/VulkanState.h b/src/engine/vkn/VulkanState.h
index f58d97a..9a82172 100644
--- a/src/engine/vkn/VulkanState.h
+++ b/src/engine/vkn/VulkanState.h
@@ -162,7 +162,7 @@ namespace idk::vkn
std::mutex m_graphics_tex_mutex;
vk::UniqueDescriptorPool m_descriptorpool;
- vk::DispatchLoaderStatic dispatcher = {};
+ vk::DispatchLoaderDefault dispatcher = {};
vk::DispatchLoaderDynamic dyn_dispatcher = {};
DynamicHandle m_debug_messenger;
diff --git a/src/engine/vkn/VulkanView.cpp b/src/engine/vkn/VulkanView.cpp
index 77bf810..97d0076 100644
--- a/src/engine/vkn/VulkanView.cpp
+++ b/src/engine/vkn/VulkanView.cpp
@@ -23,7 +23,7 @@ namespace idk::vkn
{
return this->vulkan_->ResourceManager();
}
- vk::DispatchLoaderStatic& VulkanView::Dispatcher() const { return vulkan().dispatcher; }
+ vk::DispatchLoaderDefault& VulkanView::Dispatcher() const { return vulkan().dispatcher; }
vk::DispatchLoaderDynamic& VulkanView::DynDispatcher()const { return vulkan().dyn_dispatcher; }
vk::UniqueInstance& VulkanView::Instance()const { return vulkan().instance; }
diff --git a/src/engine/vkn/VulkanView.h b/src/engine/vkn/VulkanView.h
index 7e3af84..10830f8 100644
--- a/src/engine/vkn/VulkanView.h
+++ b/src/engine/vkn/VulkanView.h
@@ -19,7 +19,7 @@ namespace idk::vkn
{
public:
VulkanResourceManager& ResourceManager()const;
- vk::DispatchLoaderStatic& Dispatcher()const;
+ vk::DispatchLoaderDefault& Dispatcher()const;
vk::DispatchLoaderDynamic& DynDispatcher()const;
vk::UniqueInstance& Instance()const;
vk::UniqueSurfaceKHR& Surface()const;
diff --git a/src/engine/vkn/VulkanWin32GraphicsSystem.cpp b/src/engine/vkn/VulkanWin32GraphicsSystem.cpp
index d6e5b9c..461925f 100644
--- a/src/engine/vkn/VulkanWin32GraphicsSystem.cpp
+++ b/src/engine/vkn/VulkanWin32GraphicsSystem.cpp
@@ -220,14 +220,14 @@ namespace idk::vkn
for (auto&& [attrib, location] : req.mesh_requirements)
{
auto& attrib_buffer = mesh.Get(attrib);
- cmd_buffer.bindVertexBuffers(*brdf_pipeline.GetBinding(location), *attrib_buffer.buffer(), vk::DeviceSize{ attrib_buffer.offset }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(*brdf_pipeline.GetBinding(location), *attrib_buffer.buffer(), vk::DeviceSize{ attrib_buffer.offset }, vk::DispatchLoaderDefault{});
}
auto& oidx = mesh.GetIndexBuffer();
if (oidx)
{
- cmd_buffer.bindIndexBuffer(*(*oidx).buffer(), 0, mesh.IndexType(), vk::DispatchLoaderStatic{});
- cmd_buffer.drawIndexed(mesh.IndexCount(), 1, 0, 0, 0, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindIndexBuffer(*(*oidx).buffer(), 0, mesh.IndexType(), vk::DispatchLoaderDefault{});
+ cmd_buffer.drawIndexed(mesh.IndexCount(), 1, 0, 0, 0, vk::DispatchLoaderDefault{});
}
cmd_buffer.endRenderPass();
cmd_buffer.end();
@@ -728,7 +728,7 @@ namespace idk::vkn
void VulkanWin32GraphicsSystem::RenderGraphicsState(const GraphicsState& state, RenderStateV2& rs)
{
auto& swapchain = instance_->View().Swapchain();
- auto dispatcher = vk::DispatchLoaderStatic{};
+ auto dispatcher = vk::DispatchLoaderDefault{};
vk::CommandBuffer& cmd_buffer = rs.cmd_buffer;
vk::CommandBufferInheritanceInfo aaa{};
vk::CommandBufferBeginInfo begin_info{vk::CommandBufferUsageFlagBits::eOneTimeSubmit,&aaa};
@@ -761,13 +761,13 @@ namespace idk::vkn
for (auto&& [bindingz,attrib] : bindings)
{
auto& attrib_buffer = mesh.Get(attrib);
- cmd_buffer.bindVertexBuffers(bindingz, *attrib_buffer.buffer, vk::DeviceSize{ 0 }, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindVertexBuffers(bindingz, *attrib_buffer.buffer, vk::DeviceSize{ 0 }, vk::DispatchLoaderDefault{});
}
auto& oidx = mesh.GetIndexBuffer();
if (oidx)
{
- cmd_buffer.bindIndexBuffer(*(*oidx).buffer, 0, vk::IndexType::eUint16, vk::DispatchLoaderStatic{});
- cmd_buffer.drawIndexed(mesh.IndexCount(), 1, 0, 0, 0, vk::DispatchLoaderStatic{});
+ cmd_buffer.bindIndexBuffer(*(*oidx).buffer, 0, vk::IndexType::eUint16, vk::DispatchLoaderDefault{});
+ cmd_buffer.drawIndexed(mesh.IndexCount(), 1, 0, 0, 0, vk::DispatchLoaderDefault{});
}
}
cmd_buffer.endRenderPass();
diff --git a/src/engine/vkn/vector_buffer.cpp b/src/engine/vkn/vector_buffer.cpp
index 1b596a1..9b3580a 100644
--- a/src/engine/vkn/vector_buffer.cpp
+++ b/src/engine/vkn/vector_buffer.cpp
@@ -38,7 +38,7 @@ namespace idk::vkn
pdevice, device, _capacity,
vk::BufferUsageFlagBits::eIndexBuffer | vk::BufferUsageFlagBits::eVertexBuffer | vk::BufferUsageFlagBits::eTransferDst | vk::BufferUsageFlagBits::eTransferSrc,
vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostVisible,
- vk::DispatchLoaderStatic{}
+ vk::DispatchLoaderDefault{}
);
_memory = std::move(mem);
@@ -64,7 +64,7 @@ namespace idk::vkn
size_t limit_offset = 0;
do {
auto limit_len = std::min(len-limit_offset, limit);
- cmd_buffer.updateBuffer(*_buffer, limit_offset+offset, hlp::make_array_proxy(static_cast(limit_len), data+limit_offset), vk::DispatchLoaderStatic{});
+ cmd_buffer.updateBuffer(*_buffer, limit_offset+offset, hlp::make_array_proxy(static_cast(limit_len), data+limit_offset), vk::DispatchLoaderDefault{});
limit_offset += limit_len;
} while (limit_offset