1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-02-06 04:00:08 +00:00
JUCE/modules/juce_graphics/native
reuk c57041e5bc
Direct2D: Simplify threading of swapchain presentation
Previously, IDXGISwapChain::Present was called on a background thread,
which made it difficult to avoid race conditions. e.g. during a
live-resize of a window, we would occasionally draw old incomplete
frames instead of new frames at the correct size.

The new approach moves the Present call to the main thread via
AsyncUpdater. We attempt to present whenever the swap event wakes, and
whenever a frame is drawn. Only a single Present call may be made after
the swap event wakes. Subsequent Present calls will be ignored until the
next time the swap event wakes.
2024-10-08 16:10:07 +01:00
..
juce_CoreGraphicsContext_mac.h macOS: Simplify the CoreGraphics pointer types and add some new ones 2024-08-09 17:20:36 +01:00
juce_CoreGraphicsContext_mac.mm CoreGraphics: Prevent an assertion when creating a rounded rectangle 2024-10-03 08:36:14 +01:00
juce_CoreGraphicsHelpers_mac.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_Direct2DGraphicsContext_windows.cpp Direct2D: Simplify threading of swapchain presentation 2024-10-08 16:10:07 +01:00
juce_Direct2DGraphicsContext_windows.h D2D: Update Direct2DGraphicsContext::getPhysicalPixelScaleFactor to include context transform for consistency with other renderer backends 2024-04-29 16:08:23 +01:00
juce_Direct2DHelpers_windows.cpp Direct2D: Move UpdateRegion helper to shared DirectX header 2024-08-22 18:18:14 +01:00
juce_Direct2DHwndContext_windows.cpp Direct2D: Simplify threading of swapchain presentation 2024-10-08 16:10:07 +01:00
juce_Direct2DHwndContext_windows.h Direct2D: Remove setResizing and getResizing members from renderer 2024-10-07 11:50:26 +01:00
juce_Direct2DImage_windows.cpp Direct2D: Add an assertion to warn when multiple Graphics instances are active on the same image 2024-09-18 15:44:04 +01:00
juce_Direct2DImage_windows.h Direct2D: Add an assertion to warn when multiple Graphics instances are active on the same image 2024-09-18 15:44:04 +01:00
juce_Direct2DImageContext_windows.cpp Direct2D: Correctly recreate ID2D1DeviceContext when moving transparent windows between devices 2024-09-05 12:16:02 +01:00
juce_Direct2DImageContext_windows.h Direct2D: Allow drawing to arbitrary bitmaps using Direct2DImageContext 2024-08-22 18:18:15 +01:00
juce_Direct2DMetrics_windows.cpp Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_Direct2DMetrics_windows.h Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_Direct2DResources_windows.cpp Direct2D: Simplify threading of swapchain presentation 2024-10-08 16:10:07 +01:00
juce_DirectWriteTypeface_windows.cpp DirectWrite: Return styles in the order reported by the system 2024-10-02 11:35:38 +01:00
juce_DirectX_windows.h Direct2D: Add support for bitmaps spanning multiple texture pages 2024-09-18 15:44:04 +01:00
juce_EventTracing.h Direct2D: Add initial support 2024-04-18 14:16:02 +01:00
juce_Fonts_android.cpp Android: Fix issues with input stream special members 2024-09-05 12:17:12 +01:00
juce_Fonts_freetype.cpp Fonts: Fix freetype compilation issues on Debian 10 2024-10-02 11:16:55 +01:00
juce_Fonts_linux.cpp Remove TextLayout::createNativeLayout() 2024-05-30 12:21:35 +01:00
juce_Fonts_mac.mm Fonts: Avoid calling deprecated CTFontManagerRegisterGraphicsFont 2024-09-18 15:44:05 +01:00
juce_GraphicsContext_android.cpp Typeface: Switch to using harfbuzz for computing simple advances on all platforms 2024-04-17 14:41:01 +01:00
juce_IconHelpers_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_IconHelpers_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_IconHelpers_mac.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_IconHelpers_windows.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_RenderingHelpers.h StackBasedLowLevelGraphicsContext: Prefer using RectangleListRegion clip when possible 2024-08-06 17:36:19 +01:00