diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp
index 56c71a2..8e28eef 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.cpp
+++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -432,20 +432,25 @@
     return false;
   }
 
-  if (result.result == RenderDeviceDriverIface::Result::kFailure) {
-    m_Result = false;
-    return false;
+#if BUILDFLAG(IS_WIN)
+  if (result.result == RenderDeviceDriverIface::Result::kNotSupported) {
+    return StartDIBBaseFallback();
   }
+#endif
 
-  CHECK_EQ(result.result, RenderDeviceDriverIface::Result::kNotSupported);
+  CHECK_EQ(result.result, RenderDeviceDriverIface::Result::kFailure);
+  m_Result = false;
+  return false;
+}
+
+#if BUILDFLAG(IS_WIN)
+bool CPDF_ImageRenderer::StartDIBBaseFallback() {
   if ((fabs(m_ImageMatrix.b) >= 0.5f || m_ImageMatrix.a == 0) ||
       (fabs(m_ImageMatrix.c) >= 0.5f || m_ImageMatrix.d == 0)) {
-#if BUILDFLAG(IS_WIN)
     if (IsPrinting()) {
       m_Result = false;
       return false;
     }
-#endif
 
     std::optional<FX_RECT> image_rect = GetUnitRect();
     if (!image_rect.has_value())
@@ -490,12 +495,10 @@
     }
   }
 
-#if BUILDFLAG(IS_WIN)
   if (IsPrinting()) {
     m_Result = false;
     return true;
   }
-#endif
 
   FX_RECT clip_box = m_pRenderStatus->GetRenderDevice()->GetClipBox();
   FX_RECT dest_rect = clip_box;
@@ -512,6 +515,7 @@
   }
   return false;
 }
+#endif  // BUILDFLAG(IS_WIN)
 
 bool CPDF_ImageRenderer::StartBitmapAlpha() {
   if (m_pDIBBase->IsOpaqueImage()) {
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.h b/core/fpdfapi/render/cpdf_imagerenderer.h
index add4e08..203d28e 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.h
+++ b/core/fpdfapi/render/cpdf_imagerenderer.h
@@ -65,6 +65,7 @@
   bool DrawMaskedImage();
   bool DrawPatternImage();
 #if BUILDFLAG(IS_WIN)
+  bool StartDIBBaseFallback();
   bool IsPrinting() const;
   void HandleFilters();
 #endif
diff --git a/core/fxge/renderdevicedriver_iface.h b/core/fxge/renderdevicedriver_iface.h
index ee4f4bf..3dee410 100644
--- a/core/fxge/renderdevicedriver_iface.h
+++ b/core/fxge/renderdevicedriver_iface.h
@@ -40,7 +40,13 @@
 
 class RenderDeviceDriverIface {
  public:
-  enum class Result { kFailure, kSuccess, kNotSupported };
+  enum class Result {
+    kFailure,
+    kSuccess,
+#if BUILDFLAG(IS_WIN)
+    kNotSupported
+#endif
+  };
 
   struct StartResult {
     StartResult(Result result,
