diff --git a/renderdoc/driver/d3d11/d3d11_rendertext.h b/renderdoc/driver/d3d11/d3d11_rendertext.h index 05e5da5ed..061f392fe 100644 --- a/renderdoc/driver/d3d11/d3d11_rendertext.h +++ b/renderdoc/driver/d3d11/d3d11_rendertext.h @@ -40,8 +40,8 @@ public: m_width = w; m_height = h; } - int GetWidth() { return m_width; } - int GetHeight() { return m_height; } + int GetWidth() { return RDCMAX(1, m_width); } + int GetHeight() { return RDCMAX(1, m_height); } void SetOutputWindow(HWND w); void RenderText(float x, float y, const char *textfmt, ...); diff --git a/renderdoc/driver/d3d12/d3d12_rendertext.h b/renderdoc/driver/d3d12/d3d12_rendertext.h index 01a8357fa..2ef95524a 100644 --- a/renderdoc/driver/d3d12/d3d12_rendertext.h +++ b/renderdoc/driver/d3d12/d3d12_rendertext.h @@ -45,8 +45,8 @@ public: else m_BBFmtIdx = RGBA8_BACKBUFFER; } - int GetWidth() { return m_width; } - int GetHeight() { return m_height; } + int GetWidth() { return RDCMAX(1, m_width); } + int GetHeight() { return RDCMAX(1, m_height); } void RenderText(ID3D12GraphicsCommandList *list, float x, float y, const char *textfmt, ...); private: diff --git a/renderdoc/driver/gl/gl_rendertext.cpp b/renderdoc/driver/gl/gl_rendertext.cpp index 8672522f5..7912266b5 100644 --- a/renderdoc/driver/gl/gl_rendertext.cpp +++ b/renderdoc/driver/gl/gl_rendertext.cpp @@ -555,8 +555,8 @@ void WrappedOpenGL::RenderOverlayStr(float x, float y, const char *text) ubo->TextPosition.x = x; ubo->TextPosition.y = y; - ubo->FontScreenAspect.x = 1.0f / float(m_InitParams.width); - ubo->FontScreenAspect.y = 1.0f / float(m_InitParams.height); + ubo->FontScreenAspect.x = 1.0f / RDCMAX(1.0f, float(m_InitParams.width)); + ubo->FontScreenAspect.y = 1.0f / RDCMAX(1.0f, float(m_InitParams.height)); ubo->TextSize = ctxdata.CharSize; ubo->FontScreenAspect.x *= ctxdata.CharAspect; diff --git a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp index cc28391a2..063fd3b73 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_wsi_funcs.cpp @@ -682,7 +682,13 @@ VkResult WrappedVulkan::vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR VkLayerDispatchTable *vt = ObjDisp(GetDev()); TextPrintState textstate = { - GetNextCmd(), rp, fb, swapInfo.extent.width, swapInfo.extent.height, swapInfo.format}; + GetNextCmd(), + rp, + fb, + RDCMAX(1U, swapInfo.extent.width), + RDCMAX(1U, swapInfo.extent.height), + swapInfo.format, + }; VkCommandBufferBeginInfo beginInfo = {VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO, NULL, VK_COMMAND_BUFFER_USAGE_ONE_TIME_SUBMIT_BIT};