Skip to content

Commit d7525d7

Browse files
committed
conversion warnings fixes + validation (image memory barrier) error fix (suggested by cdgiessen)
1 parent 6ca4075 commit d7525d7

4 files changed

Lines changed: 11 additions & 5 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@
22
.idea
33
.vscode
44
cmake-build-*
5+
/build
56

67
# Files

src/rvpt/rvpt.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,7 @@ void RVPT::record_command_buffer(VK::SyncResources& current_frame, uint32_t swap
715715

716716
bind_vertex_buffer(cmd_buf, per_frame_data[current_frame_index].debug_vertex_buffer);
717717

718-
vkCmdDraw(cmd_buf, triangles.size() * 3, 1, 0, 0);
718+
vkCmdDraw(cmd_buf, (uint32_t)triangles.size() * 3, 1, 0, 0);
719719
}
720720

721721
imgui_impl->draw(cmd_buf, current_frame_index);
@@ -739,6 +739,11 @@ void RVPT::record_compute_command_buffer()
739739
in_temporal_image_barrier.srcAccessMask = VK_ACCESS_SHADER_WRITE_BIT;
740740
in_temporal_image_barrier.dstAccessMask = VK_ACCESS_SHADER_READ_BIT;
741741

742+
uint32_t queue_family =
743+
compute_queue.has_value() ? compute_queue->get_family() : graphics_queue->get_family();
744+
in_temporal_image_barrier.dstQueueFamilyIndex = queue_family;
745+
in_temporal_image_barrier.srcQueueFamilyIndex = queue_family;
746+
742747
vkCmdPipelineBarrier(cmd_buf, VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT,
743748
VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, VK::FLAGS_NONE, 0, nullptr, 0,
744749
nullptr, 1, &in_temporal_image_barrier);

src/rvpt/vk_util.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -590,15 +590,15 @@ VkPipelineLayout PipelineBuilder::create_layout(
590590

591591
GraphicsPipelineHandle PipelineBuilder::create_pipeline(GraphicsPipelineDetails const& details)
592592
{
593-
uint32_t index = graphics_pipelines.size();
593+
uint32_t index = (uint32_t)graphics_pipelines.size();
594594
graphics_pipelines.push_back(details);
595595
graphics_pipelines.back().pipeline = create_immutable_pipeline(details);
596596
return {index};
597597
}
598598

599599
ComputePipelineHandle PipelineBuilder::create_pipeline(ComputePipelineDetails const& details)
600600
{
601-
uint32_t index = compute_pipelines.size();
601+
uint32_t index = (uint32_t)compute_pipelines.size();
602602
compute_pipelines.push_back(details);
603603
compute_pipelines.back().pipeline = create_immutable_pipeline(details);
604604
return {index};

src/rvpt/window.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ void Window::mouse_click_callback(GLFWwindow* window, int button, int action, in
172172
void Window::mouse_move_callback(GLFWwindow* window, double x, double y)
173173
{
174174
auto window_ptr = reinterpret_cast<Window*>(glfwGetWindowUserPointer(window));
175-
for (auto& callback : window_ptr->mouse_move_callbacks) callback(x, y);
175+
for (auto& callback : window_ptr->mouse_move_callbacks) callback((float)x, (float)y);
176176

177177
ImGuiIO& io = ImGui::GetIO();
178178
io.MousePos = ImVec2((float)x, (float)y);
@@ -181,7 +181,7 @@ void Window::mouse_move_callback(GLFWwindow* window, double x, double y)
181181
void Window::scroll_callback(GLFWwindow* window, double x, double y)
182182
{
183183
auto window_ptr = reinterpret_cast<Window*>(glfwGetWindowUserPointer(window));
184-
for (auto& callback : window_ptr->scroll_callbacks) callback(x, y);
184+
for (auto& callback : window_ptr->scroll_callbacks) callback((float)x, (float)y);
185185

186186
ImGuiIO& io = ImGui::GetIO();
187187
io.MouseWheelH += static_cast<float>(x);

0 commit comments

Comments
 (0)