Render target/surface housekeeping by kekekeks · Pull Request #20811 · AvaloniaUI/Avalonia (original) (raw)

tests/Avalonia.UnitTests/TestRoot.cs

Update mocked render target/layer DC creation API.

tests/Avalonia.UnitTests/CompositorTestServices.cs

Switch test surfaces to IPlatformRenderSurface[].

tests/Avalonia.RenderTests/TestRenderHelper.cs

Update surfaces namespace import.

tests/Avalonia.RenderTests/TestBase.cs

Remove obsolete surfaces namespace import.

tests/Avalonia.RenderTests/Media/BitmapTests.cs

Update render target creation + scene info usage.

tests/Avalonia.RenderTests/Composition/DirectFbCompositionTests.cs

Update framebuffer render target construction/signature.

tests/Avalonia.Controls.UnitTests/CursorFactoryMock.cs

Adjust cursor factory mock to Bitmap parameter.

tests/Avalonia.Benchmarks/Compositor/CompositionTargetUpdate.cs

Update surfaces namespace import.

src/iOS/Avalonia.iOS/Stubs.cs

Update cursor factory signature to Bitmap.

src/iOS/Avalonia.iOS/AvaloniaView.cs

Switch to IPlatformRenderSurface[] and new namespace.

src/Windows/Avalonia.Win32/WindowImpl.cs

Use typed render surfaces + GL surface typed field.

src/Windows/Avalonia.Win32/WinRT/Composition/WinUiCompositorConnection.cs

Surface factory returns IPlatformRenderSurface.

src/Windows/Avalonia.Win32/OpenGl/WglGlPlatformSurface.cs

BeginDraw now takes RenderTargetSceneInfo.

src/Windows/Avalonia.Win32/OpenGl/Angle/AngleD3DTextureFeature.cs

BeginDraw now takes RenderTargetSceneInfo.

src/Windows/Avalonia.Win32/Interop/Win32Icon.cs

Remove IBitmapImpl icon ctor path.

src/Windows/Avalonia.Win32/IWindowsSurfaceFactory.cs

Surface factory now returns IPlatformRenderSurface.

src/Windows/Avalonia.Win32/FramebufferManager.cs

Update surfaces namespace import.

src/Windows/Avalonia.Win32/DirectX/IDirect3D11TexturePlatformSurface.cs

Texture surface now implements IPlatformRenderSurface.

src/Windows/Avalonia.Win32/DirectX/DxgiRenderTarget.cs

BeginDraw now takes RenderTargetSceneInfo.

src/Windows/Avalonia.Win32/DirectX/DxgiConnection.cs

Surface factory returns IPlatformRenderSurface.

src/Windows/Avalonia.Win32/DComposition/DirectCompositionConnection.cs

Surface factory returns IPlatformRenderSurface.

src/Windows/Avalonia.Win32/CursorFactory.cs

Cursor creation now takes Bitmap.

src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs

Detach from layer impl; store scaled-drawing flag internally.

src/Skia/Avalonia.Skia/SkiaBackendContext.cs

Typed surface input + readiness query support.

src/Skia/Avalonia.Skia/RenderTargetBitmapImpl.cs

New IRenderTargetBitmapImpl.CreateDrawingContext() API.

src/Skia/Avalonia.Skia/Gpu/Vulkan/VulkanSkiaRenderTarget.cs

Scene-info-based BeginRendering + IsReady.

src/Skia/Avalonia.Skia/Gpu/Vulkan/VulkanSkiaGpu.cs

Typed surfaces + readiness check API.

src/Skia/Avalonia.Skia/Gpu/SkiaGpuRenderTarget.cs

Use scene-info rendering session + propagate IsReady.

src/Skia/Avalonia.Skia/Gpu/OpenGl/GlSkiaGpu.cs

Typed surfaces + readiness check API.

src/Skia/Avalonia.Skia/Gpu/OpenGl/GlRenderTarget.cs

Scene-info-based BeginRendering + IsReady.

src/Skia/Avalonia.Skia/Gpu/Metal/SkiaMetalGpu.cs

Typed surfaces + readiness check API + IsReady.

src/Skia/Avalonia.Skia/Gpu/ISkiaGpuRenderTarget.cs

BeginRendering takes RenderTargetSceneInfo.

src/Skia/Avalonia.Skia/Gpu/ISkiaGpu.cs

Typed surfaces + readiness check API.

src/Skia/Avalonia.Skia/FramebufferRenderTarget.cs

New scene-info lock path + stored scaled-drawing flag + IsReady.

src/Skia/Avalonia.Skia/DrawingContextImpl.cs

Thread scaled-drawing intent into intermediate targets.

src/Linux/Avalonia.LinuxFramebuffer/Stubs.cs

Update cursor factory signature to Bitmap.

src/Linux/Avalonia.LinuxFramebuffer/Output/IOutputBackend.cs

Output backend now a platform render surface.

src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs

New framebuffer lock signature + retained flag plumbing.

src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs

BeginDraw now takes RenderTargetSceneInfo.

src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs

Switch to IPlatformRenderSurface[].

src/Headless/Avalonia.Headless/HeadlessWindowImpl.cs

Switch to IPlatformRenderSurface[] + namespace.

src/Headless/Avalonia.Headless/HeadlessPlatformStubs.cs

Update cursor factory signature to Bitmap.

src/Headless/Avalonia.Headless/HeadlessPlatformRenderInterface.cs

Typed surfaces + RTB impl API updates.

src/Browser/Avalonia.Browser/Rendering/RenderTargetBrowserSurface.cs

Return typed surfaces from browser target.

src/Browser/Avalonia.Browser/Rendering/BrowserSurface.cs

Browser surface implements IPlatformRenderSurface.

src/Browser/Avalonia.Browser/Rendering/BrowserSoftwareRenderTarget.cs

Update surfaces namespace import.

src/Browser/Avalonia.Browser/Cursor.cs

Cursor factory now takes Bitmap.

src/Browser/Avalonia.Browser/BrowserTopLevelImpl.cs

Switch Surfaces to IPlatformRenderSurface[].

src/Avalonia.X11/X11Window.cs

Typed surface list for X11 window.

src/Avalonia.X11/X11IconLoader.cs

Build icon data via Bitmap.CopyPixels (no RT).

src/Avalonia.X11/X11FramebufferSurface.cs

New framebuffer lock signature + retained flag plumbing.

src/Avalonia.X11/X11CursorFactory.cs

Cursor creation via Bitmap.CopyPixels (no RT).

src/Avalonia.X11/Glx/GlxGlPlatformSurface.cs

BeginDraw now takes RenderTargetSceneInfo.

src/Avalonia.Vulkan/VulkanContext.cs

Typed surfaces for Vulkan render target creation.

src/Avalonia.Vulkan/IVulkanRenderTarget.cs

Vulkan RT now a IPlatformRenderSurfaceRenderTarget.

src/Avalonia.Vulkan/IVulkanPlatformSurface.cs

Khr surface now a IPlatformRenderSurface.

src/Avalonia.Vulkan/IVulkanDevice.cs

Typed surfaces for Vulkan device render target creation.

src/Avalonia.OpenGL/Surfaces/IGlPlatformSurfaceRenderTarget.cs

GL RT is IPlatformRenderSurfaceRenderTarget + scene info BeginDraw.

src/Avalonia.OpenGL/Surfaces/IGlPlatformSurface.cs

GL surface now IPlatformRenderSurface.

src/Avalonia.OpenGL/Egl/EglGlPlatformSurfaceBase.cs

BeginDraw now takes RenderTargetSceneInfo.

src/Avalonia.OpenGL/Egl/EglGlPlatformSurface.cs

BeginDrawCore now takes RenderTargetSceneInfo.

src/Avalonia.Native/TopLevelImpl.cs

Switch to typed surfaces + new framebuffer lock signature.

src/Avalonia.Native/DeferredFramebuffer.cs

Remove obsolete surfaces namespace import.

src/Avalonia.Native/Cursor.cs

Cursor creation now takes Bitmap.

src/Avalonia.Native/AvaloniaNativeGlPlatformGraphics.cs

BeginDraw now takes RenderTargetSceneInfo.

src/Avalonia.Metal/IMetalDevice.cs

Metal surface/RT now participate in new surface interfaces.

src/Avalonia.DesignerSupport/Remote/Stubs.cs

Switch to typed surfaces + cursor factory signature update.

src/Avalonia.Controls/Remote/Server/RemoteServerTopLevelImpl.cs

Switch Surfaces to IPlatformRenderSurface[].

src/Avalonia.Controls/Platform/Surfaces/IFramebufferPlatformSurface.cs

Remove old Controls-level framebuffer surface APIs.

src/Avalonia.Controls/Platform/ITopLevelImpl.cs

Surfaces now IPlatformRenderSurface[].

src/Avalonia.Controls/Platform/IPlatformNativeSurfaceHandle.cs

Native handle surface now a platform render surface.

src/Avalonia.Controls/Embedding/Offscreen/OffscreenTopLevelImpl.cs

Switch to typed surfaces.

src/Avalonia.Base/Rendering/PlatformRenderInterfaceContextManager.cs

Pass through typed surfaces + readiness query.

src/Avalonia.Base/Rendering/Composition/Server/ServerCompositor.cs

Use typed surfaces + readiness query forwarding.

src/Avalonia.Base/Rendering/Composition/Server/ServerCompositor.UserApis.cs

Update layer DC creation calls.

src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionVisual/ServerCompositionVisualCache.cs

Update layer DC creation calls.

src/Avalonia.Base/Rendering/Composition/Server/ServerCompositionTarget.cs

Add readiness checks + scene-info DC creation.

src/Avalonia.Base/Rendering/Composition/Compositor.Factories.cs

Typed surfaces factory in composition target creation.

src/Avalonia.Base/Rendering/Composition/CompositingRenderer.cs

Typed surfaces factory in renderer constructor.

src/Avalonia.Base/Platform/Surfaces/IPlatformRenderSurface.cs

New base surface + RT readiness interfaces.

src/Avalonia.Base/Platform/Surfaces/IFramebufferPlatformSurface.cs

New framebuffer surface APIs + lock signature.

src/Avalonia.Base/Platform/IRenderTargetBitmapImpl.cs

IRenderTargetBitmapImpl now readable + DC creation method.

src/Avalonia.Base/Platform/IRenderTarget.cs

New unified scene-info DC creation + IsReady.

src/Avalonia.Base/Platform/IPlatformRenderInterface.cs

Typed surfaces + readiness query on context.

src/Avalonia.Base/Platform/IDrawingContextImpl.cs

IDrawingContextLayerImpl decoupled from RTB; adds corruption + DC.

src/Avalonia.Base/Platform/ICursorFactory.cs

Cursor creation now takes Bitmap.

src/Avalonia.Base/Media/Imaging/RenderTargetBitmap.cs

Use new RTB impl drawing context creation.

src/Avalonia.Base/Media/Imaging/Bitmap.cs

CopyPixels(ILockedFramebuffer) RTB fallback + rect validation split.

src/Avalonia.Base/Input/Cursor.cs

Route bitmap cursor creation via Bitmap (not impl).

src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs

Switch Surfaces to IPlatformRenderSurface[].

src/Android/Avalonia.Android/Platform/SkiaPlatform/FramebufferManager.cs

Update surfaces namespace import.

src/Android/Avalonia.Android/CursorFactory.cs

Cursor creation now takes Bitmap.