1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-21 01:24:21 +00:00
JUCE/modules/juce_graphics/native
reuk 415aed4bea
Direct2DImage: Sync CPU storage when creating a BitmapData view over a subsection of the image
When syncing from CPU->GPU storage, we currently copy the entire image
contents. The contents of the CPU backup completely replace the old GPU
image. Therefore, if any pixels need to retain their existing values, we
need to read those pixels before overwriting them. This in turn implies
that, when a BitmapData refers to a subsection of the image, we should
always flush GPU->CPU storage first, so that the subsequent CPU->GPU
sync doesn't clobber pixels outside of the BitmapData region with
outdated values.

It's clear that copying the entire image back and forth could be
suboptimal when writing to image subsections, but to optimise this
process we'd have to keep track of dirty image regions or similar, which
may in turn pessimise more common cases.
2025-05-27 18:01:53 +01:00
..
juce_CoreGraphicsContext_mac.h LowLevelGraphicsContext: Add preferred image type for temporary images 2025-04-24 13:58:23 +01:00
juce_CoreGraphicsContext_mac.mm Move ShapedText to the detail namespace and expose it in the headers 2025-03-13 12:16:16 +01:00
juce_CoreGraphicsHelpers_mac.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_Direct2DGraphicsContext_windows.cpp Direct2D: Move D2DHelpers to Direct2DGraphicsContext.cpp 2025-04-24 13:58:24 +01:00
juce_Direct2DGraphicsContext_windows.h Direct2D: Move paintPrimitive implementation into Direct2DGraphicsContext 2025-04-24 13:58:24 +01:00
juce_Direct2DGraphicsContextImpl_windows.cpp Direct2D: Move ScopedGeometryWithSink to Direct2DGraphicsContextImpl.cpp 2025-04-24 13:58:24 +01:00
juce_Direct2DGraphicsContextImpl_windows.h Direct2D: Fix ETW tracing build errors 2025-04-30 10:50:52 +01:00
juce_Direct2DImage_windows.cpp Direct2DImage: Sync CPU storage when creating a BitmapData view over a subsection of the image 2025-05-27 18:01:53 +01:00
juce_Direct2DImage_windows.h Direct2D: Do image cloning on GPU when possible 2025-04-24 13:58:23 +01:00
juce_Direct2DImageContext_windows.cpp ImagePixelData: Update signatures of functions providing whole-image effects 2025-01-23 12:21:33 +00:00
juce_Direct2DImageContext_windows.h ImagePixelData: Update signatures of functions providing whole-image effects 2025-01-23 12:21:33 +00:00
juce_Direct2DMetrics_windows.cpp Direct2D: Use the 'focused' window when acquiring metrics 2025-04-24 13:58:23 +01:00
juce_Direct2DMetrics_windows.h Direct2D: Fix ETW tracing build errors 2025-04-30 10:50:52 +01:00
juce_Direct2DPixelDataPage_windows.h Direct2D: Use Image NativeExtensions to avoid dynamic casts in graphics context 2025-01-23 12:21:33 +00:00
juce_DirectWriteTypeface_windows.cpp Direct2D: Move Direct2DFactories to juce_DirectX_windows.h 2025-04-24 13:58:23 +01:00
juce_DirectX_windows.cpp Direct2D: Hide implementation of RectangleListSpriteBatch::fillRectangles 2025-04-24 13:58:24 +01:00
juce_DirectX_windows.h Direct2D: Hide implementation of RectangleListSpriteBatch::fillRectangles 2025-04-24 13:58:24 +01:00
juce_EventTracing.h Direct2D: Fix ETW tracing build errors 2025-04-30 10:50:52 +01:00
juce_Fonts_android.cpp Android: Suppress availability macro warning 2025-05-19 13:30:27 +01:00
juce_Fonts_freetype.cpp Singleton: Add new macros to simplify singleton creation 2024-10-16 10:36:52 +01:00
juce_Fonts_linux.cpp Fonts (Linux): Return a null typeface when no default typefaces can be found 2024-12-18 16:00:44 +00:00
juce_Fonts_mac.mm Fonts: MacOS: Return styles in the order reported by the system 2024-10-10 17:53:10 +02: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 Graphics: Use preferred temporary image type for transparency layers 2025-04-24 13:58:23 +01:00