variable rate shading fix #1098

This commit is contained in:
Turanszki Janos
2025-04-30 16:54:50 +02:00
parent 8ce78e3929
commit 0ce897a8d4
3 changed files with 9 additions and 5 deletions
+4
View File
@@ -5395,6 +5395,10 @@ using namespace vulkan_internal;
VkGraphicsPipelineCreateInfo& pipelineInfo = internal_state->pipelineInfo;
//pipelineInfo.flags = VK_PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT;
//if (CheckCapability(GraphicsDeviceCapability::VARIABLE_RATE_SHADING_TIER2))
//{
// pipelineInfo.flags |= VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR;
//}
pipelineInfo.sType = VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO;
pipelineInfo.layout = internal_state->pipelineLayout;
pipelineInfo.basePipelineHandle = VK_NULL_HANDLE;
+5 -1
View File
@@ -66,7 +66,11 @@ namespace wi::helper
void messageBox(const std::string& msg, const std::string& caption)
{
#ifdef PLATFORM_WINDOWS_DESKTOP
MessageBoxA(GetActiveWindow(), msg.c_str(), caption.c_str(), 0);
std::wstring wmsg;
std::wstring wcaption;
StringConvert(msg, wmsg);
StringConvert(caption, wcaption);
MessageBox(GetActiveWindow(), wmsg.c_str(), wcaption.c_str(), 0);
#endif // PLATFORM_WINDOWS_DESKTOP
#ifdef SDL2
-4
View File
@@ -11090,16 +11090,12 @@ void ComputeShadingRateClassification(
};
device->BindUAVs(uavs, 0, arraysize(uavs), cmd);
device->Barrier(GPUBarrier::Image(&output, output.desc.layout, ResourceState::UNORDERED_ACCESS), cmd);
device->ClearUAV(&output, 0, cmd);
device->Barrier(GPUBarrier::Memory(&output), cmd);
// Whole threadgroup for each tile:
device->Dispatch(desc.width, desc.height, 1, cmd);
device->Barrier(GPUBarrier::Image(&output, ResourceState::UNORDERED_ACCESS, output.desc.layout), cmd);
wi::profiler::EndRange(range);
device->EventEnd(cmd);
}