@shopify/react-native-skia 1.11.9-next.1 → 2.0.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/CMakeLists.txt +153 -30
- package/cpp/skia/include/codec/SkCodec.h +2 -7
- package/cpp/skia/include/config/SkUserConfig.h +0 -11
- package/cpp/skia/include/core/SkCanvas.h +7 -11
- package/cpp/skia/include/core/SkColor.h +0 -10
- package/cpp/skia/include/core/SkColorSpace.h +2 -184
- package/cpp/skia/include/core/SkColorType.h +32 -114
- package/cpp/skia/include/core/SkFontScanner.h +8 -5
- package/cpp/skia/include/core/SkFontStyle.h +1 -1
- package/cpp/skia/include/core/SkMaskFilter.h +8 -0
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkPath.h +1 -1
- package/cpp/skia/include/core/SkRRect.h +1 -3
- package/cpp/skia/include/core/SkShader.h +3 -3
- package/cpp/skia/include/core/SkString.h +8 -8
- package/cpp/skia/include/core/SkSurface.h +0 -14
- package/cpp/skia/include/core/SkTypeface.h +7 -24
- package/cpp/skia/include/effects/SkGradientShader.h +1 -6
- package/cpp/skia/include/effects/SkRuntimeEffect.h +0 -1
- package/cpp/skia/include/encode/SkPngEncoder.h +0 -14
- package/cpp/skia/include/gpu/GpuTypes.h +0 -9
- package/cpp/skia/include/gpu/ganesh/GrContextOptions.h +133 -135
- package/cpp/skia/include/gpu/ganesh/GrDirectContext.h +0 -5
- package/cpp/skia/include/gpu/ganesh/GrDriverBugWorkarounds.h +3 -3
- package/cpp/skia/include/gpu/ganesh/GrTypes.h +9 -14
- package/cpp/skia/include/gpu/graphite/Context.h +2 -25
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +5 -23
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +1 -20
- package/cpp/skia/include/gpu/graphite/Image.h +0 -1
- package/cpp/skia/include/gpu/graphite/Recorder.h +0 -6
- package/cpp/skia/include/gpu/graphite/Recording.h +1 -3
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +36 -4
- package/cpp/skia/include/gpu/graphite/precompile/Precompile.h +2 -3
- package/cpp/skia/include/pathops/SkPathOps.h +1 -9
- package/cpp/skia/include/ports/SkFontMgr_FontConfigInterface.h +0 -3
- package/cpp/skia/include/private/SkPathRef.h +21 -15
- package/cpp/skia/include/private/base/SkAttributes.h +10 -16
- package/cpp/skia/include/private/base/SkMutex.h +0 -8
- package/cpp/skia/include/private/base/SkTArray.h +1 -1
- package/cpp/skia/include/private/base/SkTDArray.h +1 -1
- package/cpp/skia/include/private/base/SkTemplates.h +11 -24
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +1 -1
- package/cpp/skia/include/sksl/SkSLDebugTrace.h +3 -0
- package/cpp/skia/modules/skcms/src/Transform_inl.h +20 -20
- package/cpp/skia/modules/skcms/src/skcms_Transform.h +3 -4
- package/cpp/skia/modules/skcms/src/skcms_public.h +15 -19
- package/cpp/skia/modules/skresources/include/SkResources.h +1 -3
- package/cpp/skia/modules/svg/include/SkSVGCircle.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGContainer.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGFeLightSource.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGImage.h +2 -2
- package/cpp/skia/modules/svg/include/SkSVGPath.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGPoly.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGRect.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGRenderContext.h +0 -2
- package/cpp/skia/modules/svg/include/SkSVGShape.h +0 -1
- package/cpp/skia/modules/svg/include/SkSVGText.h +1 -1
- package/cpp/skia/modules/svg/include/SkSVGTransformableNode.h +0 -4
- package/cpp/skia/modules/svg/include/SkSVGUse.h +1 -1
- package/cpp/skia/src/core/SkLRUCache.h +13 -19
- package/cpp/skia/src/core/SkTHash.h +4 -50
- package/cpp/skia/src/gpu/ganesh/gl/GrGLDefines.h +0 -1
- package/lib/commonjs/Platform/Platform.web.js +1 -0
- package/lib/commonjs/Platform/Platform.web.js.map +1 -1
- package/lib/commonjs/renderer/Canvas.d.ts +1 -1
- package/lib/commonjs/renderer/Canvas.js +2 -4
- package/lib/commonjs/renderer/Canvas.js.map +1 -1
- package/lib/commonjs/renderer/__tests__/setup.d.ts +1 -0
- package/lib/commonjs/sksg/Elements.d.ts +1 -1
- package/lib/commonjs/sksg/Elements.js.map +1 -1
- package/lib/commonjs/sksg/HostConfig.d.ts +1 -1
- package/lib/commonjs/sksg/Reconciler.js +0 -1
- package/lib/commonjs/sksg/Reconciler.js.map +1 -1
- package/lib/module/Platform/Platform.web.js +2 -1
- package/lib/module/Platform/Platform.web.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Circle.js +2 -1
- package/lib/module/dom/nodes/datatypes/Circle.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Gradient.js +3 -3
- package/lib/module/dom/nodes/datatypes/Gradient.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Rect.js +5 -3
- package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/module/external/reanimated/buffers.js +2 -1
- package/lib/module/external/reanimated/buffers.js.map +1 -1
- package/lib/module/external/reanimated/useAnimatedImageValue.js +1 -1
- package/lib/module/external/reanimated/useAnimatedImageValue.js.map +1 -1
- package/lib/module/external/reanimated/useVideo.js +23 -10
- package/lib/module/external/reanimated/useVideo.js.map +1 -1
- package/lib/module/renderer/Canvas.d.ts +1 -1
- package/lib/module/renderer/Canvas.js +3 -5
- package/lib/module/renderer/Canvas.js.map +1 -1
- package/lib/module/renderer/__tests__/setup.d.ts +1 -0
- package/lib/module/skia/core/Vector.js +1 -1
- package/lib/module/skia/core/Vector.js.map +1 -1
- package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js +4 -1
- package/lib/module/skia/web/CanvasKitWebGLBufferImpl.js.map +1 -1
- package/lib/module/skia/web/Host.js +7 -1
- package/lib/module/skia/web/Host.js.map +1 -1
- package/lib/module/skia/web/JsiSkAnimatedImage.js +6 -3
- package/lib/module/skia/web/JsiSkAnimatedImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkCanvas.js +6 -3
- package/lib/module/skia/web/JsiSkCanvas.js.map +1 -1
- package/lib/module/skia/web/JsiSkColorFilter.js +6 -3
- package/lib/module/skia/web/JsiSkColorFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkContourMeasure.js +6 -3
- package/lib/module/skia/web/JsiSkContourMeasure.js.map +1 -1
- package/lib/module/skia/web/JsiSkContourMeasureIter.js +6 -3
- package/lib/module/skia/web/JsiSkContourMeasureIter.js.map +1 -1
- package/lib/module/skia/web/JsiSkData.js +6 -3
- package/lib/module/skia/web/JsiSkData.js.map +1 -1
- package/lib/module/skia/web/JsiSkFont.js +6 -3
- package/lib/module/skia/web/JsiSkFont.js.map +1 -1
- package/lib/module/skia/web/JsiSkImage.js +12 -8
- package/lib/module/skia/web/JsiSkImage.js.map +1 -1
- package/lib/module/skia/web/JsiSkImageFilter.js +6 -3
- package/lib/module/skia/web/JsiSkImageFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkMaskFilter.js +6 -3
- package/lib/module/skia/web/JsiSkMaskFilter.js.map +1 -1
- package/lib/module/skia/web/JsiSkMatrix.js +8 -5
- package/lib/module/skia/web/JsiSkMatrix.js.map +1 -1
- package/lib/module/skia/web/JsiSkPaint.js +6 -3
- package/lib/module/skia/web/JsiSkPaint.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraphBuilder.js +3 -2
- package/lib/module/skia/web/JsiSkParagraphBuilder.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js +1 -1
- package/lib/module/skia/web/JsiSkParagraphBuilderFactory.js.map +1 -1
- package/lib/module/skia/web/JsiSkParagraphStyle.js +15 -15
- package/lib/module/skia/web/JsiSkParagraphStyle.js.map +1 -1
- package/lib/module/skia/web/JsiSkPath.js +6 -3
- package/lib/module/skia/web/JsiSkPath.js.map +1 -1
- package/lib/module/skia/web/JsiSkPathEffect.js +6 -3
- package/lib/module/skia/web/JsiSkPathEffect.js.map +1 -1
- package/lib/module/skia/web/JsiSkPicture.js +6 -3
- package/lib/module/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/module/skia/web/JsiSkPictureRecorder.js +6 -3
- package/lib/module/skia/web/JsiSkPictureRecorder.js.map +1 -1
- package/lib/module/skia/web/JsiSkPoint.js +6 -3
- package/lib/module/skia/web/JsiSkPoint.js.map +1 -1
- package/lib/module/skia/web/JsiSkRRect.js +6 -3
- package/lib/module/skia/web/JsiSkRRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRSXform.js +6 -3
- package/lib/module/skia/web/JsiSkRSXform.js.map +1 -1
- package/lib/module/skia/web/JsiSkRect.js +6 -3
- package/lib/module/skia/web/JsiSkRect.js.map +1 -1
- package/lib/module/skia/web/JsiSkRuntimeEffect.js +6 -3
- package/lib/module/skia/web/JsiSkRuntimeEffect.js.map +1 -1
- package/lib/module/skia/web/JsiSkSVG.js +8 -5
- package/lib/module/skia/web/JsiSkSVG.js.map +1 -1
- package/lib/module/skia/web/JsiSkShader.js +6 -3
- package/lib/module/skia/web/JsiSkShader.js.map +1 -1
- package/lib/module/skia/web/JsiSkSurface.js +6 -3
- package/lib/module/skia/web/JsiSkSurface.js.map +1 -1
- package/lib/module/skia/web/JsiSkTextBlob.js +6 -3
- package/lib/module/skia/web/JsiSkTextBlob.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypeface.js +6 -3
- package/lib/module/skia/web/JsiSkTypeface.js.map +1 -1
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.js +4 -1
- package/lib/module/skia/web/JsiSkTypefaceFontProvider.js.map +1 -1
- package/lib/module/skia/web/JsiSkVertices.js +6 -3
- package/lib/module/skia/web/JsiSkVertices.js.map +1 -1
- package/lib/module/skia/web/JsiVideo.js +5 -2
- package/lib/module/skia/web/JsiVideo.js.map +1 -1
- package/lib/module/sksg/Container.js +8 -5
- package/lib/module/sksg/Container.js.map +1 -1
- package/lib/module/sksg/Elements.d.ts +1 -1
- package/lib/module/sksg/Elements.js.map +1 -1
- package/lib/module/sksg/HostConfig.d.ts +1 -1
- package/lib/module/sksg/Reconciler.js +5 -1
- package/lib/module/sksg/Reconciler.js.map +1 -1
- package/lib/module/sksg/Recorder/ReanimatedRecorder.js +5 -1
- package/lib/module/sksg/Recorder/ReanimatedRecorder.js.map +1 -1
- package/lib/module/sksg/Recorder/Recorder.js +6 -3
- package/lib/module/sksg/Recorder/Recorder.js.map +1 -1
- package/lib/module/sksg/Recorder/Visitor.js +1 -1
- package/lib/module/sksg/Recorder/Visitor.js.map +1 -1
- package/lib/module/sksg/Recorder/commands/Drawing.js +4 -2
- package/lib/module/sksg/Recorder/commands/Drawing.js.map +1 -1
- package/lib/module/sksg/Recorder/commands/Shaders.js +3 -2
- package/lib/module/sksg/Recorder/commands/Shaders.js.map +1 -1
- package/lib/module/views/SkiaBaseWebView.js +12 -9
- package/lib/module/views/SkiaBaseWebView.js.map +1 -1
- package/lib/module/views/SkiaPictureView.js +5 -1
- package/lib/module/views/SkiaPictureView.js.map +1 -1
- package/lib/module/views/SkiaPictureView.web.js +4 -1
- package/lib/module/views/SkiaPictureView.web.js.map +1 -1
- package/lib/module/web/LoadSkiaWeb.js +2 -1
- package/lib/module/web/LoadSkiaWeb.js.map +1 -1
- package/lib/module/web/WithSkiaWeb.js +1 -1
- package/lib/module/web/WithSkiaWeb.js.map +1 -1
- package/lib/typescript/lib/module/Platform/Platform.web.d.ts +1 -1
- package/lib/typescript/lib/module/mock/index.d.ts +22 -11
- package/lib/typescript/lib/module/renderer/Canvas.d.ts +1 -1
- package/lib/typescript/lib/module/skia/web/CanvasKitWebGLBufferImpl.d.ts +2 -2
- package/lib/typescript/lib/module/skia/web/JsiSkAnimatedImage.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkCanvas.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkColorFilter.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkContourMeasure.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkContourMeasureIter.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkData.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkFont.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkImage.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkImageFilter.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkMaskFilter.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkMatrix.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkPaint.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkPath.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkPathEffect.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkPicture.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkPictureRecorder.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkPoint.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkRRect.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkRSXform.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkRect.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkRuntimeEffect.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkSVG.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkShader.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkSurface.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkTextBlob.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkTypeface.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkTypefaceFontProvider.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiSkVertices.d.ts +0 -1
- package/lib/typescript/lib/module/skia/web/JsiVideo.d.ts +2 -2
- package/lib/typescript/lib/module/sksg/Container.d.ts +15 -7
- package/lib/typescript/lib/module/sksg/Reconciler.d.ts +21 -15
- package/lib/typescript/lib/module/sksg/Recorder/ReanimatedRecorder.d.ts +0 -1
- package/lib/typescript/lib/module/sksg/Recorder/Recorder.d.ts +2 -5
- package/lib/typescript/lib/module/views/SkiaBaseWebView.d.ts +11 -12
- package/lib/typescript/lib/module/views/SkiaPictureView.d.ts +1 -1
- package/lib/typescript/lib/module/views/SkiaPictureView.web.d.ts +1 -1
- package/lib/typescript/src/renderer/Canvas.d.ts +1 -1
- package/lib/typescript/src/renderer/__tests__/setup.d.ts +1 -0
- package/lib/typescript/src/sksg/Elements.d.ts +1 -1
- package/lib/typescript/src/sksg/HostConfig.d.ts +1 -1
- package/package.json +3 -3
- package/src/Platform/Platform.web.tsx +2 -1
- package/src/__tests__/snapshots/screens/snapshot2-android-ci.png +0 -0
- package/src/__tests__/snapshots/screens/snapshot3-android-ci.png +0 -0
- package/src/renderer/Canvas.tsx +3 -3
- package/src/renderer/__tests__/setup.tsx +5 -1
- package/src/sksg/Elements.tsx +1 -1
- package/src/sksg/Reconciler.ts +1 -2
- package/cpp/skia/include/gpu/graphite/LogPriority.h +0 -36
- package/cpp/skia/include/gpu/graphite/PrecompileContext.h +0 -52
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypesUtils.h +0 -48
@@ -98,7 +98,8 @@ const useElementLayout = (ref: RefObject<Div>, onLayout: OnLayout) => {
|
|
98
98
|
const View = (({ children, onLayout, style: rawStyle }: ViewProps) => {
|
99
99
|
const style = useMemo(() => (rawStyle ?? {}) as CSSProperties, [rawStyle]);
|
100
100
|
const ref = useRef<Div>(null);
|
101
|
-
|
101
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
102
|
+
useElementLayout(ref as any, onLayout);
|
102
103
|
const cssStyles = useMemo(() => {
|
103
104
|
return {
|
104
105
|
alignItems: "stretch" as const,
|
Binary file
|
Binary file
|
package/src/renderer/Canvas.tsx
CHANGED
@@ -3,6 +3,7 @@ import React, {
|
|
3
3
|
useCallback,
|
4
4
|
useEffect,
|
5
5
|
useImperativeHandle,
|
6
|
+
useLayoutEffect,
|
6
7
|
useMemo,
|
7
8
|
useRef,
|
8
9
|
} from "react";
|
@@ -72,10 +73,9 @@ export const Canvas = ({
|
|
72
73
|
// Root
|
73
74
|
const root = useMemo(() => new SkiaSGRoot(Skia, nativeId), [nativeId]);
|
74
75
|
|
75
|
-
|
76
|
-
useEffect(() => {
|
76
|
+
useLayoutEffect(() => {
|
77
77
|
root.render(children);
|
78
|
-
}, [
|
78
|
+
}, [root, children]);
|
79
79
|
|
80
80
|
useEffect(() => {
|
81
81
|
return () => {
|
@@ -194,6 +194,9 @@ export const mountCanvas = async (element: ReactNode) => {
|
|
194
194
|
return {
|
195
195
|
surface: ckSurface,
|
196
196
|
root,
|
197
|
+
render: async () => {
|
198
|
+
await root.render(element);
|
199
|
+
},
|
197
200
|
draw: async () => {
|
198
201
|
await root.render(element);
|
199
202
|
root.drawOnCanvas(canvas);
|
@@ -202,7 +205,8 @@ export const mountCanvas = async (element: ReactNode) => {
|
|
202
205
|
};
|
203
206
|
|
204
207
|
export const serialize = async (element: ReactNode) => {
|
205
|
-
const { root } = await mountCanvas(element);
|
208
|
+
const { root, render } = await mountCanvas(element);
|
209
|
+
await render();
|
206
210
|
const serialized = serializeNode(root.sg);
|
207
211
|
return JSON.stringify(serialized);
|
208
212
|
};
|
package/src/sksg/Elements.tsx
CHANGED
package/src/sksg/Reconciler.ts
CHANGED
@@ -43,8 +43,7 @@ export class SkiaSGRoot {
|
|
43
43
|
|
44
44
|
private updateContainer(element: ReactNode) {
|
45
45
|
return new Promise((resolve) => {
|
46
|
-
|
47
|
-
skiaReconciler.updateContainer(element as any, this.root, null, () => {
|
46
|
+
skiaReconciler.updateContainer(element, this.root, null, () => {
|
48
47
|
debug("updateContainer");
|
49
48
|
resolve(true);
|
50
49
|
});
|
@@ -1,36 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2024 Google LLC
|
3
|
-
*
|
4
|
-
* Use of this source code is governed by a BSD-style license that can be
|
5
|
-
* found in the LICENSE file.
|
6
|
-
*/
|
7
|
-
|
8
|
-
#ifndef skgpu_graphite_LogPriority_DEFINED
|
9
|
-
#define skgpu_graphite_LogPriority_DEFINED
|
10
|
-
|
11
|
-
/**
|
12
|
-
* Note: this file may be included in clients' SkUserConfig.h files, so including any other headers
|
13
|
-
* in this file should be avoided.
|
14
|
-
*/
|
15
|
-
|
16
|
-
namespace skgpu::graphite {
|
17
|
-
/**
|
18
|
-
* SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY can be defined to one of these values (in
|
19
|
-
* SkUserConfig.h) to control Graphite's logging behavior.
|
20
|
-
*
|
21
|
-
* For example:
|
22
|
-
* ```
|
23
|
-
* #define SKGPU_GRAPHITE_LOWEST_ACTIVE_LOG_PRIORITY skgpu::graphite::LogPriority::kWarning
|
24
|
-
* ```
|
25
|
-
* Would cause Graphite to log warnings, non-fatal errors, and fatal errors.
|
26
|
-
* However, debug logs would be omitted.
|
27
|
-
*/
|
28
|
-
enum class LogPriority : int {
|
29
|
-
kFatal = 0,
|
30
|
-
kError = 1,
|
31
|
-
kWarning = 2,
|
32
|
-
kDebug = 3,
|
33
|
-
};
|
34
|
-
}; // namespace skgpu::graphite
|
35
|
-
|
36
|
-
#endif // skgpu_graphite_LogPriority_DEFINED
|
@@ -1,52 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2024 Google LLC
|
3
|
-
*
|
4
|
-
* Use of this source code is governed by a BSD-style license that can be
|
5
|
-
* found in the LICENSE file.
|
6
|
-
*/
|
7
|
-
|
8
|
-
#ifndef skgpu_graphite_PrecompileContext_DEFINED
|
9
|
-
#define skgpu_graphite_PrecompileContext_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkRefCnt.h"
|
12
|
-
#include "include/private/base/SingleOwner.h"
|
13
|
-
|
14
|
-
#include <chrono>
|
15
|
-
#include <memory>
|
16
|
-
|
17
|
-
namespace skgpu::graphite {
|
18
|
-
|
19
|
-
class SharedContext;
|
20
|
-
class PrecompileContextPriv;
|
21
|
-
class ResourceProvider;
|
22
|
-
|
23
|
-
class SK_API PrecompileContext {
|
24
|
-
public:
|
25
|
-
~PrecompileContext();
|
26
|
-
|
27
|
-
/**
|
28
|
-
* Purge Pipelines that haven't been used in the past 'msNotUsed' milliseconds
|
29
|
-
* regardless of whether the pipeline cache is under budget.
|
30
|
-
*
|
31
|
-
* @param msNotUsed Pipelines not used in these last milliseconds will be cleaned up.
|
32
|
-
*/
|
33
|
-
void purgePipelinesNotUsedInMs(std::chrono::milliseconds msNotUsed);
|
34
|
-
|
35
|
-
// Provides access to functions that aren't part of the public API.
|
36
|
-
PrecompileContextPriv priv();
|
37
|
-
const PrecompileContextPriv priv() const; // NOLINT(readability-const-return-type)
|
38
|
-
|
39
|
-
private:
|
40
|
-
friend class PrecompileContextPriv;
|
41
|
-
friend class Context; // for ctor
|
42
|
-
|
43
|
-
PrecompileContext(sk_sp<SharedContext>);
|
44
|
-
|
45
|
-
mutable SingleOwner fSingleOwner;
|
46
|
-
sk_sp<SharedContext> fSharedContext;
|
47
|
-
std::unique_ptr<ResourceProvider> fResourceProvider;
|
48
|
-
};
|
49
|
-
|
50
|
-
} // namespace skgpu::graphite
|
51
|
-
|
52
|
-
#endif // skgpu_graphite_PrecompileContext_DEFINED
|
@@ -1,48 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2024 Google LLC
|
3
|
-
*
|
4
|
-
* Use of this source code is governed by a BSD-style license that can be
|
5
|
-
* found in the LICENSE file.
|
6
|
-
*/
|
7
|
-
|
8
|
-
#ifndef skgpu_graphite_MtlGraphiteTypesUtils_DEFINED
|
9
|
-
#define skgpu_graphite_MtlGraphiteTypesUtils_DEFINED
|
10
|
-
|
11
|
-
#include "include/core/SkTypes.h"
|
12
|
-
|
13
|
-
#include "include/gpu/graphite/BackendTexture.h"
|
14
|
-
#include "include/gpu/graphite/TextureInfo.h"
|
15
|
-
#include "include/private/base/SkAPI.h"
|
16
|
-
|
17
|
-
#import <CoreFoundation/CoreFoundation.h>
|
18
|
-
|
19
|
-
namespace skgpu::graphite {
|
20
|
-
|
21
|
-
struct SK_API MtlTextureInfo;
|
22
|
-
|
23
|
-
namespace TextureInfos {
|
24
|
-
SK_API TextureInfo MakeMetal(const MtlTextureInfo&);
|
25
|
-
SK_API TextureInfo MakeMetal(CFTypeRef mtlTexture);
|
26
|
-
|
27
|
-
SK_API bool GetMtlTextureInfo(const TextureInfo&, MtlTextureInfo*);
|
28
|
-
} // namespace TextureInfos
|
29
|
-
|
30
|
-
namespace BackendTextures {
|
31
|
-
// The BackendTexture will not call retain or release on the passed in CFTypeRef. Thus the
|
32
|
-
// client must keep the CFTypeRef valid until they are no longer using the BackendTexture.
|
33
|
-
SK_API BackendTexture MakeMetal(SkISize dimensions, CFTypeRef mtlTexture);
|
34
|
-
|
35
|
-
SK_API CFTypeRef GetMtlTexture(const BackendTexture&);
|
36
|
-
} // namespace BackendTextures
|
37
|
-
|
38
|
-
namespace BackendSemaphores {
|
39
|
-
// TODO(b/286088355) Determine creator's responsibility for setting refcnt.
|
40
|
-
SK_API BackendSemaphore MakeMetal(CFTypeRef mtlEvent, uint64_t value);
|
41
|
-
|
42
|
-
SK_API CFTypeRef GetMtlEvent(const BackendSemaphore&);
|
43
|
-
SK_API uint64_t GetMtlValue(const BackendSemaphore&);
|
44
|
-
} // namespace BackendSemaphores
|
45
|
-
|
46
|
-
} // namespace skgpu::graphite
|
47
|
-
|
48
|
-
#endif // skgpu_graphite_MtlGraphiteTypesUtils_DEFINED
|