@shopify/react-native-skia 0.1.212 → 0.1.214
Sign up to get free protection for your applications and to get access to all the features.
- package/android/build.gradle +5 -0
- package/android/cpp/rnskia-android/SkiaOpenGLHelper.h +3 -2
- package/android/cpp/rnskia-android/SkiaOpenGLSurfaceFactory.cpp +9 -2
- package/cpp/api/JsiSkSurface.h +4 -1
- package/cpp/skia/include/android/GrAHardwareBufferUtils.h +99 -0
- package/cpp/skia/include/android/SkHeifDecoder.h +10 -3
- package/cpp/skia/include/codec/SkAvifDecoder.h +1 -0
- package/cpp/skia/include/codec/SkBmpDecoder.h +1 -0
- package/cpp/skia/include/codec/SkCodec.h +4 -3
- package/cpp/skia/include/codec/SkEncodedImageFormat.h +0 -3
- package/cpp/skia/include/codec/SkGifDecoder.h +1 -0
- package/cpp/skia/include/codec/SkIcoDecoder.h +1 -0
- package/cpp/skia/include/codec/SkJpegDecoder.h +1 -0
- package/cpp/skia/include/codec/SkJpegxlDecoder.h +1 -0
- package/cpp/skia/include/codec/SkPngDecoder.h +1 -0
- package/cpp/skia/include/codec/SkRawDecoder.h +1 -0
- package/cpp/skia/include/codec/SkWbmpDecoder.h +1 -0
- package/cpp/skia/include/codec/SkWebpDecoder.h +1 -0
- package/cpp/skia/include/config/SkUserConfig.h +0 -2
- package/cpp/skia/include/core/SkBitmap.h +8 -8
- package/cpp/skia/include/core/SkCanvas.h +37 -50
- package/cpp/skia/include/core/SkCapabilities.h +2 -7
- package/cpp/skia/include/core/SkColor.h +1 -1
- package/cpp/skia/include/core/SkColorFilter.h +6 -0
- package/cpp/skia/include/core/SkColorTable.h +3 -0
- package/cpp/skia/include/core/SkColorType.h +2 -0
- package/cpp/skia/include/core/SkContourMeasure.h +12 -8
- package/cpp/skia/include/core/SkDocument.h +1 -0
- package/cpp/skia/include/core/SkFont.h +11 -2
- package/cpp/skia/include/core/SkFontMgr.h +2 -3
- package/cpp/skia/include/core/SkGraphics.h +3 -13
- package/cpp/skia/include/core/SkImage.h +57 -111
- package/cpp/skia/include/core/SkImageFilter.h +6 -1
- package/cpp/skia/include/core/SkImageGenerator.h +8 -0
- package/cpp/skia/include/core/SkImageInfo.h +0 -2
- package/cpp/skia/include/core/SkM44.h +7 -3
- package/cpp/skia/include/core/SkMallocPixelRef.h +4 -1
- package/cpp/skia/include/core/SkMatrix.h +17 -17
- package/cpp/skia/include/core/SkMesh.h +71 -61
- package/cpp/skia/include/core/SkMilestone.h +1 -1
- package/cpp/skia/include/core/SkOverdrawCanvas.h +25 -0
- package/cpp/skia/include/core/SkPaint.h +1 -1
- package/cpp/skia/include/core/SkPath.h +12 -4
- package/cpp/skia/include/core/SkPathMeasure.h +3 -4
- package/cpp/skia/include/core/SkPicture.h +19 -6
- package/cpp/skia/include/core/SkPictureRecorder.h +6 -6
- package/cpp/skia/include/core/SkPixmap.h +2 -3
- package/cpp/skia/include/core/SkRRect.h +1 -1
- package/cpp/skia/include/core/SkRect.h +107 -110
- package/cpp/skia/include/core/SkRefCnt.h +1 -1
- package/cpp/skia/include/core/SkRegion.h +7 -1
- package/cpp/skia/include/core/SkSerialProcs.h +14 -0
- package/cpp/skia/include/core/SkShader.h +9 -0
- package/cpp/skia/include/core/SkStream.h +9 -9
- package/cpp/skia/include/core/SkString.h +1 -1
- package/cpp/skia/include/core/SkSurface.h +14 -25
- package/cpp/skia/include/core/SkTextBlob.h +17 -4
- package/cpp/skia/include/core/SkTiledImageUtils.h +28 -0
- package/cpp/skia/include/core/SkTypeface.h +7 -2
- package/cpp/skia/include/core/SkTypes.h +4 -12
- package/cpp/skia/include/docs/SkPDFDocument.h +17 -3
- package/cpp/skia/include/effects/SkImageFilters.h +73 -24
- package/cpp/skia/include/effects/SkRuntimeEffect.h +20 -51
- package/cpp/skia/include/gpu/GpuTypes.h +13 -0
- package/cpp/skia/include/gpu/GrBackendSurface.h +95 -262
- package/cpp/skia/include/gpu/GrContextOptions.h +7 -1
- package/cpp/skia/include/gpu/GrDirectContext.h +138 -128
- package/cpp/skia/include/gpu/GrRecordingContext.h +9 -4
- package/cpp/skia/include/gpu/GrSurfaceInfo.h +0 -24
- package/cpp/skia/include/gpu/GrTypes.h +16 -1
- package/cpp/skia/include/gpu/GrYUVABackendTextures.h +4 -4
- package/cpp/skia/include/gpu/d3d/GrD3DTypes.h +2 -2
- package/cpp/skia/include/gpu/ganesh/SkImageGanesh.h +44 -12
- package/cpp/skia/include/gpu/ganesh/SkMeshGanesh.h +57 -0
- package/cpp/skia/include/gpu/ganesh/SkSurfaceGanesh.h +2 -1
- package/cpp/skia/include/gpu/ganesh/gl/GrGLBackendSurface.h +58 -0
- package/cpp/skia/include/gpu/ganesh/gl/GrGLDirectContext.h +29 -0
- package/cpp/skia/include/gpu/ganesh/mtl/SkSurfaceMetal.h +1 -1
- package/cpp/skia/include/gpu/ganesh/vk/GrVkBackendSurface.h +67 -0
- package/cpp/skia/include/gpu/gl/GrGLInterface.h +2 -2
- package/cpp/skia/include/gpu/graphite/BackendTexture.h +14 -3
- package/cpp/skia/include/gpu/graphite/Context.h +93 -13
- package/cpp/skia/include/gpu/graphite/ContextOptions.h +19 -8
- package/cpp/skia/include/gpu/graphite/GraphiteTypes.h +23 -0
- package/cpp/skia/include/gpu/graphite/Image.h +56 -0
- package/cpp/skia/include/gpu/graphite/ImageProvider.h +5 -0
- package/cpp/skia/include/gpu/graphite/Recorder.h +26 -9
- package/cpp/skia/include/gpu/graphite/Recording.h +7 -5
- package/cpp/skia/include/gpu/graphite/TextureInfo.h +8 -0
- package/cpp/skia/include/gpu/graphite/mtl/MtlGraphiteTypes.h +2 -2
- package/cpp/skia/include/gpu/mtl/GrMtlTypes.h +2 -2
- package/cpp/skia/include/gpu/vk/GrVkTypes.h +4 -3
- package/cpp/skia/include/ports/SkCFObject.h +1 -1
- package/cpp/skia/include/private/SkGainmapInfo.h +4 -13
- package/cpp/skia/include/private/SkJpegGainmapEncoder.h +1 -24
- package/cpp/skia/include/private/SkWeakRefCnt.h +1 -1
- package/cpp/skia/include/private/base/SkAnySubclass.h +73 -0
- package/cpp/skia/include/private/base/SkAssert.h +106 -12
- package/cpp/skia/include/private/base/SkAttributes.h +0 -12
- package/cpp/skia/include/private/base/SkFeatures.h +0 -3
- package/cpp/skia/include/private/base/SkFloatingPoint.h +58 -105
- package/cpp/skia/include/private/base/SkSpan_impl.h +18 -12
- package/cpp/skia/include/private/base/SkTArray.h +22 -17
- package/cpp/skia/include/private/base/SkTDArray.h +5 -6
- package/cpp/skia/include/private/base/SkTemplates.h +50 -30
- package/cpp/skia/include/private/chromium/GrDeferredDisplayListRecorder.h +5 -2
- package/cpp/skia/include/private/chromium/GrSurfaceCharacterization.h +2 -2
- package/cpp/skia/include/private/chromium/SkChromeRemoteGlyphCache.h +13 -8
- package/cpp/skia/include/private/chromium/SkDiscardableMemory.h +1 -1
- package/cpp/skia/include/private/chromium/SkImageChromium.h +16 -3
- package/cpp/skia/include/private/chromium/Slug.h +11 -4
- package/cpp/skia/include/private/gpu/ganesh/GrD3DTypesMinimal.h +1 -1
- package/cpp/skia/include/private/gpu/ganesh/GrGLTypesPriv.h +6 -9
- package/cpp/skia/include/private/gpu/ganesh/GrTypesPriv.h +29 -13
- package/cpp/skia/include/private/gpu/ganesh/GrVkTypesPriv.h +2 -28
- package/cpp/skia/include/private/gpu/graphite/ContextOptionsPriv.h +34 -0
- package/cpp/skia/include/private/gpu/graphite/DawnTypesPriv.h +6 -0
- package/cpp/skia/include/private/gpu/graphite/MtlGraphiteTypesPriv.h +8 -0
- package/cpp/skia/include/private/gpu/graphite/VulkanGraphiteTypesPriv.h +10 -0
- package/cpp/skia/include/utils/SkBase64.h +2 -2
- package/cpp/skia/include/utils/SkNWayCanvas.h +1 -11
- package/cpp/skia/include/utils/SkNoDrawCanvas.h +0 -2
- package/cpp/skia/include/utils/SkPaintFilterCanvas.h +1 -2
- package/cpp/skia/include/utils/SkShadowUtils.h +15 -1
- package/cpp/skia/include/utils/SkTextUtils.h +1 -1
- package/cpp/skia/modules/skparagraph/include/Paragraph.h +107 -1
- package/cpp/skia/modules/skparagraph/include/ParagraphBuilder.h +3 -2
- package/cpp/skia/modules/skparagraph/include/ParagraphStyle.h +4 -0
- package/cpp/skia/modules/skparagraph/include/TypefaceFontProvider.h +5 -3
- package/cpp/skia/modules/svg/include/SkSVGAttributeParser.h +4 -0
- package/cpp/skia/src/core/SkChecksum.h +2 -1
- package/cpp/skia/src/core/SkPathPriv.h +1 -1
- package/cpp/skia/src/core/SkTHash.h +19 -9
- package/ios/RNSkia-iOS/RNSkMetalCanvasProvider.mm +3 -1
- package/ios/RNSkia-iOS/SkiaMetalSurfaceFactory.mm +1 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.js +5 -1
- package/lib/commonjs/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/commonjs/external/reanimated/index.d.ts +1 -0
- package/lib/commonjs/external/reanimated/index.js +13 -0
- package/lib/commonjs/external/reanimated/index.js.map +1 -1
- package/lib/commonjs/external/reanimated/moduleWrapper.js +3 -8
- package/lib/commonjs/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/commonjs/external/reanimated/renderHelpers.js +46 -1
- package/lib/commonjs/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.js +26 -0
- package/lib/commonjs/external/reanimated/useDerivedValueOnJS.js.map +1 -0
- package/lib/commonjs/external/reanimated/useSharedValueEffect.js +2 -5
- package/lib/commonjs/external/reanimated/useSharedValueEffect.js.map +1 -1
- package/lib/commonjs/index.d.ts +1 -0
- package/lib/commonjs/index.js +21 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/skia/types/MaskFilter.js +4 -0
- package/lib/commonjs/skia/types/MaskFilter.js.map +1 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js +2 -1
- package/lib/commonjs/skia/web/JsiSkPicture.js.map +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.js +1 -1
- package/lib/commonjs/views/SkiaBaseWebView.js.map +1 -1
- package/lib/commonjs/views/types.js +3 -0
- package/lib/commonjs/views/types.js.map +1 -1
- package/lib/module/dom/nodes/datatypes/Rect.js +5 -1
- package/lib/module/dom/nodes/datatypes/Rect.js.map +1 -1
- package/lib/module/external/reanimated/index.d.ts +1 -0
- package/lib/module/external/reanimated/index.js +1 -0
- package/lib/module/external/reanimated/index.js.map +1 -1
- package/lib/module/external/reanimated/moduleWrapper.js +1 -9
- package/lib/module/external/reanimated/moduleWrapper.js.map +1 -1
- package/lib/module/external/reanimated/renderHelpers.js +48 -2
- package/lib/module/external/reanimated/renderHelpers.js.map +1 -1
- package/lib/module/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
- package/lib/module/external/reanimated/useDerivedValueOnJS.js +15 -0
- package/lib/module/external/reanimated/useDerivedValueOnJS.js.map +1 -0
- package/lib/module/external/reanimated/useSharedValueEffect.js +3 -6
- package/lib/module/external/reanimated/useSharedValueEffect.js.map +1 -1
- package/lib/module/index.d.ts +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/skia/types/MaskFilter.js +3 -0
- package/lib/module/skia/types/MaskFilter.js.map +1 -1
- package/lib/module/views/types.js +3 -0
- package/lib/module/views/types.js.map +1 -1
- package/lib/typescript/src/external/reanimated/index.d.ts +1 -0
- package/lib/typescript/src/external/reanimated/useDerivedValueOnJS.d.ts +2 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/libs/android/arm64-v8a/libskia.a +0 -0
- package/libs/android/arm64-v8a/libskottie.a +0 -0
- package/libs/android/arm64-v8a/libskparagraph.a +0 -0
- package/libs/android/arm64-v8a/libsksg.a +0 -0
- package/libs/android/arm64-v8a/libskshaper.a +0 -0
- package/libs/android/arm64-v8a/libskunicode.a +0 -0
- package/libs/android/arm64-v8a/libsvg.a +0 -0
- package/libs/android/armeabi-v7a/libskia.a +0 -0
- package/libs/android/armeabi-v7a/libskottie.a +0 -0
- package/libs/android/armeabi-v7a/libskparagraph.a +0 -0
- package/libs/android/armeabi-v7a/libsksg.a +0 -0
- package/libs/android/armeabi-v7a/libskshaper.a +0 -0
- package/libs/android/armeabi-v7a/libskunicode.a +0 -0
- package/libs/android/armeabi-v7a/libsvg.a +0 -0
- package/libs/android/x86/libskia.a +0 -0
- package/libs/android/x86/libskottie.a +0 -0
- package/libs/android/x86/libskparagraph.a +0 -0
- package/libs/android/x86/libsksg.a +0 -0
- package/libs/android/x86/libskshaper.a +0 -0
- package/libs/android/x86/libskunicode.a +0 -0
- package/libs/android/x86/libsvg.a +0 -0
- package/libs/android/x86_64/libskia.a +0 -0
- package/libs/android/x86_64/libskottie.a +0 -0
- package/libs/android/x86_64/libskparagraph.a +0 -0
- package/libs/android/x86_64/libsksg.a +0 -0
- package/libs/android/x86_64/libskshaper.a +0 -0
- package/libs/android/x86_64/libskunicode.a +0 -0
- package/libs/android/x86_64/libsvg.a +0 -0
- package/libs/ios/libskia.xcframework/Info.plist +5 -5
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e/libskia.a +0 -0
- package/libs/ios/libskia.xcframework/ios-arm64_arm64e_x86_64-simulator/libskia.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e/libskottie.a +0 -0
- package/libs/ios/libskottie.xcframework/ios-arm64_arm64e_x86_64-simulator/libskottie.a +0 -0
- package/libs/ios/libskparagraph.xcframework/Info.plist +5 -5
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e/libskparagraph.a +0 -0
- package/libs/ios/libskparagraph.xcframework/ios-arm64_arm64e_x86_64-simulator/libskparagraph.a +0 -0
- package/libs/ios/libsksg.xcframework/Info.plist +5 -5
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e/libsksg.a +0 -0
- package/libs/ios/libsksg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsksg.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e/libskshaper.a +0 -0
- package/libs/ios/libskshaper.xcframework/ios-arm64_arm64e_x86_64-simulator/libskshaper.a +0 -0
- package/libs/ios/libskunicode.xcframework/Info.plist +5 -5
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e/libskunicode.a +0 -0
- package/libs/ios/libskunicode.xcframework/ios-arm64_arm64e_x86_64-simulator/libskunicode.a +0 -0
- package/libs/ios/libsvg.xcframework/Info.plist +5 -5
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e/libsvg.a +0 -0
- package/libs/ios/libsvg.xcframework/ios-arm64_arm64e_x86_64-simulator/libsvg.a +0 -0
- package/package.json +1 -1
- package/react-native-skia.podspec +1 -1
- package/src/dom/nodes/datatypes/Rect.ts +6 -2
- package/src/external/reanimated/index.ts +1 -0
- package/src/external/reanimated/moduleWrapper.ts +6 -10
- package/src/external/reanimated/renderHelpers.ts +41 -1
- package/src/external/reanimated/useDerivedValueOnJS.ts +24 -0
- package/src/external/reanimated/useSharedValueEffect.ts +4 -7
- package/src/index.ts +1 -0
- package/cpp/skia/include/core/SkDeferredDisplayList.h +0 -15
- package/cpp/skia/include/core/SkDeferredDisplayListRecorder.h +0 -15
- package/cpp/skia/include/core/SkPromiseImageTexture.h +0 -20
- package/cpp/skia/include/core/SkSurfaceCharacterization.h +0 -15
- package/cpp/skia/include/core/SkTime.h +0 -63
- package/cpp/skia/include/effects/SkOpPathEffect.h +0 -43
- package/cpp/skia/include/effects/SkStrokeAndFillPathEffect.h +0 -28
- package/cpp/skia/include/gpu/GrBackendSurfaceMutableState.h +0 -32
- package/cpp/skia/include/gpu/dawn/GrDawnTypes.h +0 -95
- package/cpp/skia/include/private/SkBitmaskEnum.h +0 -59
- package/cpp/skia/include/private/SkSLDefines.h +0 -64
- package/cpp/skia/include/private/SkShadowFlags.h +0 -27
- package/cpp/skia/include/private/gpu/ganesh/GrDawnTypesPriv.h +0 -26
- /package/cpp/skia/{include/private/base → src/core}/SkPathEnums.h +0 -0
@@ -13,40 +13,21 @@
|
|
13
13
|
#include "include/gpu/GpuTypes.h"
|
14
14
|
#include "include/gpu/GrTypes.h"
|
15
15
|
#include "include/private/base/SkAPI.h"
|
16
|
+
#include "include/private/base/SkAnySubclass.h"
|
16
17
|
#include "include/private/gpu/ganesh/GrTypesPriv.h"
|
17
18
|
|
18
|
-
#ifdef SK_GL
|
19
|
-
#include "include/gpu/gl/GrGLTypes.h"
|
20
|
-
#include "include/private/gpu/ganesh/GrGLTypesPriv.h"
|
21
|
-
#endif
|
22
|
-
|
23
19
|
#include "include/gpu/mock/GrMockTypes.h"
|
24
20
|
|
25
|
-
#ifdef SK_VULKAN
|
26
|
-
#include "include/gpu/vk/GrVkTypes.h"
|
27
|
-
#include "include/private/gpu/ganesh/GrVkTypesPriv.h"
|
28
|
-
#include "include/private/gpu/vk/SkiaVulkan.h"
|
29
|
-
#endif
|
30
|
-
|
31
|
-
#ifdef SK_DAWN
|
32
|
-
#include "include/gpu/dawn/GrDawnTypes.h"
|
33
|
-
#endif
|
34
|
-
|
35
|
-
#include <cstdint>
|
36
|
-
#include <string>
|
37
|
-
#include <string_view>
|
38
|
-
|
39
21
|
enum class SkTextureCompressionType;
|
22
|
+
class GrBackendFormatData;
|
23
|
+
class GrBackendTextureData;
|
24
|
+
class GrBackendRenderTargetData;
|
40
25
|
|
41
26
|
namespace skgpu {
|
42
27
|
class MutableTextureState;
|
43
28
|
class MutableTextureStateRef;
|
44
29
|
}
|
45
30
|
|
46
|
-
#ifdef SK_DAWN
|
47
|
-
#include "webgpu/webgpu_cpp.h"
|
48
|
-
#endif
|
49
|
-
|
50
31
|
#ifdef SK_METAL
|
51
32
|
#include "include/gpu/mtl/GrMtlTypes.h"
|
52
33
|
#endif
|
@@ -56,37 +37,22 @@ class MutableTextureStateRef;
|
|
56
37
|
class GrD3DResourceState;
|
57
38
|
#endif
|
58
39
|
|
59
|
-
#if defined(SK_DEBUG) || GR_TEST_UTILS
|
40
|
+
#if defined(SK_DEBUG) || defined(GR_TEST_UTILS)
|
60
41
|
class SkString;
|
61
42
|
#endif
|
62
43
|
|
44
|
+
#include <cstddef>
|
45
|
+
#include <cstdint>
|
46
|
+
#include <string>
|
47
|
+
#include <string_view>
|
48
|
+
|
63
49
|
class SK_API GrBackendFormat {
|
64
50
|
public:
|
65
51
|
// Creates an invalid backend format.
|
66
|
-
GrBackendFormat()
|
52
|
+
GrBackendFormat();
|
67
53
|
GrBackendFormat(const GrBackendFormat&);
|
68
54
|
GrBackendFormat& operator=(const GrBackendFormat&);
|
69
|
-
|
70
|
-
#ifdef SK_GL
|
71
|
-
static GrBackendFormat MakeGL(GrGLenum format, GrGLenum target) {
|
72
|
-
return GrBackendFormat(format, target);
|
73
|
-
}
|
74
|
-
#endif
|
75
|
-
|
76
|
-
#ifdef SK_VULKAN
|
77
|
-
static GrBackendFormat MakeVk(VkFormat format, bool willUseDRMFormatModifiers = false) {
|
78
|
-
return GrBackendFormat(format, GrVkYcbcrConversionInfo(), willUseDRMFormatModifiers);
|
79
|
-
}
|
80
|
-
|
81
|
-
static GrBackendFormat MakeVk(const GrVkYcbcrConversionInfo& ycbcrInfo,
|
82
|
-
bool willUseDRMFormatModifiers = false);
|
83
|
-
#endif
|
84
|
-
|
85
|
-
#ifdef SK_DAWN
|
86
|
-
static GrBackendFormat MakeDawn(wgpu::TextureFormat format) {
|
87
|
-
return GrBackendFormat(format);
|
88
|
-
}
|
89
|
-
#endif
|
55
|
+
~GrBackendFormat();
|
90
56
|
|
91
57
|
#ifdef SK_METAL
|
92
58
|
static GrBackendFormat MakeMtl(GrMTLPixelFormat format) {
|
@@ -118,34 +84,6 @@ public:
|
|
118
84
|
|
119
85
|
GrColorFormatDesc desc() const;
|
120
86
|
|
121
|
-
#ifdef SK_GL
|
122
|
-
/**
|
123
|
-
* If the backend API is GL this gets the format as a GrGLFormat. Otherwise, returns
|
124
|
-
* GrGLFormat::kUnknown.
|
125
|
-
*/
|
126
|
-
GrGLFormat asGLFormat() const;
|
127
|
-
|
128
|
-
GrGLenum asGLFormatEnum() const;
|
129
|
-
#endif
|
130
|
-
|
131
|
-
#ifdef SK_VULKAN
|
132
|
-
/**
|
133
|
-
* If the backend API is Vulkan this gets the format as a VkFormat and returns true. Otherwise,
|
134
|
-
* returns false.
|
135
|
-
*/
|
136
|
-
bool asVkFormat(VkFormat*) const;
|
137
|
-
|
138
|
-
const GrVkYcbcrConversionInfo* getVkYcbcrConversionInfo() const;
|
139
|
-
#endif
|
140
|
-
|
141
|
-
#ifdef SK_DAWN
|
142
|
-
/**
|
143
|
-
* If the backend API is Dawn this gets the format as a wgpu::TextureFormat and returns true.
|
144
|
-
* Otherwise, returns false.
|
145
|
-
*/
|
146
|
-
bool asDawnFormat(wgpu::TextureFormat*) const;
|
147
|
-
#endif
|
148
|
-
|
149
87
|
#ifdef SK_METAL
|
150
88
|
/**
|
151
89
|
* If the backend API is Metal this gets the format as a GrMtlPixelFormat. Otherwise,
|
@@ -179,23 +117,26 @@ public:
|
|
179
117
|
// Returns true if the backend format has been initialized.
|
180
118
|
bool isValid() const { return fValid; }
|
181
119
|
|
182
|
-
#if defined(SK_DEBUG) || GR_TEST_UTILS
|
120
|
+
#if defined(SK_DEBUG) || defined(GR_TEST_UTILS)
|
183
121
|
SkString toStr() const;
|
184
122
|
#endif
|
185
123
|
|
186
124
|
private:
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
125
|
+
// Size determined by looking at the GrBackendFormatData subclasses, then guessing-and-checking.
|
126
|
+
// Compiler will complain if this is too small - in that case, just increase the number.
|
127
|
+
inline constexpr static size_t kMaxSubclassSize = 64;
|
128
|
+
using AnyFormatData = SkAnySubclass<GrBackendFormatData, kMaxSubclassSize>;
|
129
|
+
|
130
|
+
friend class GrBackendSurfacePriv;
|
131
|
+
friend class GrBackendFormatData;
|
132
|
+
|
133
|
+
// Used by internal factories. Should not be used externally. Use factories like
|
134
|
+
// GrBackendFormats::MakeGL instead.
|
135
|
+
template <typename FormatData>
|
136
|
+
GrBackendFormat(GrTextureType textureType, GrBackendApi api, const FormatData& formatData)
|
137
|
+
: fBackend(api), fValid(true), fTextureType(textureType) {
|
138
|
+
fFormatData.emplace<FormatData>(formatData);
|
139
|
+
}
|
199
140
|
|
200
141
|
#ifdef SK_METAL
|
201
142
|
GrBackendFormat(const GrMTLPixelFormat mtlFormat);
|
@@ -212,22 +153,10 @@ private:
|
|
212
153
|
#endif
|
213
154
|
|
214
155
|
GrBackendApi fBackend = GrBackendApi::kMock;
|
215
|
-
bool
|
156
|
+
bool fValid = false;
|
157
|
+
AnyFormatData fFormatData;
|
216
158
|
|
217
159
|
union {
|
218
|
-
#ifdef SK_GL
|
219
|
-
GrGLenum fGLFormat; // the sized, internal format of the GL resource
|
220
|
-
#endif
|
221
|
-
#ifdef SK_VULKAN
|
222
|
-
struct {
|
223
|
-
VkFormat fFormat;
|
224
|
-
GrVkYcbcrConversionInfo fYcbcrConversionInfo;
|
225
|
-
} fVk;
|
226
|
-
#endif
|
227
|
-
#ifdef SK_DAWN
|
228
|
-
wgpu::TextureFormat fDawnFormat;
|
229
|
-
#endif
|
230
|
-
|
231
160
|
#ifdef SK_METAL
|
232
161
|
GrMTLPixelFormat fMtlFormat;
|
233
162
|
#endif
|
@@ -249,26 +178,10 @@ public:
|
|
249
178
|
// Creates an invalid backend texture.
|
250
179
|
GrBackendTexture();
|
251
180
|
|
252
|
-
#ifdef SK_GL
|
253
|
-
// The GrGLTextureInfo must have a valid fFormat.
|
254
|
-
GrBackendTexture(int width,
|
255
|
-
int height,
|
256
|
-
GrMipmapped,
|
257
|
-
const GrGLTextureInfo& glInfo,
|
258
|
-
std::string_view label = {});
|
259
|
-
#endif
|
260
|
-
|
261
|
-
#ifdef SK_VULKAN
|
262
|
-
GrBackendTexture(int width,
|
263
|
-
int height,
|
264
|
-
const GrVkImageInfo& vkInfo,
|
265
|
-
std::string_view label = {});
|
266
|
-
#endif
|
267
|
-
|
268
181
|
#ifdef SK_METAL
|
269
182
|
GrBackendTexture(int width,
|
270
183
|
int height,
|
271
|
-
|
184
|
+
skgpu::Mipmapped,
|
272
185
|
const GrMtlTextureInfo& mtlInfo,
|
273
186
|
std::string_view label = {});
|
274
187
|
#endif
|
@@ -280,16 +193,9 @@ public:
|
|
280
193
|
std::string_view label = {});
|
281
194
|
#endif
|
282
195
|
|
283
|
-
#ifdef SK_DAWN
|
284
196
|
GrBackendTexture(int width,
|
285
197
|
int height,
|
286
|
-
|
287
|
-
std::string_view label = {});
|
288
|
-
#endif
|
289
|
-
|
290
|
-
GrBackendTexture(int width,
|
291
|
-
int height,
|
292
|
-
GrMipmapped,
|
198
|
+
skgpu::Mipmapped,
|
293
199
|
const GrMockTextureInfo& mockInfo,
|
294
200
|
std::string_view label = {});
|
295
201
|
|
@@ -303,40 +209,13 @@ public:
|
|
303
209
|
int width() const { return fWidth; }
|
304
210
|
int height() const { return fHeight; }
|
305
211
|
std::string_view getLabel() const { return fLabel; }
|
306
|
-
|
307
|
-
bool hasMipmaps() const { return fMipmapped ==
|
212
|
+
skgpu::Mipmapped mipmapped() const { return fMipmapped; }
|
213
|
+
bool hasMipmaps() const { return fMipmapped == skgpu::Mipmapped::kYes; }
|
308
214
|
/** deprecated alias of hasMipmaps(). */
|
309
215
|
bool hasMipMaps() const { return this->hasMipmaps(); }
|
310
216
|
GrBackendApi backend() const {return fBackend; }
|
311
217
|
GrTextureType textureType() const { return fTextureType; }
|
312
218
|
|
313
|
-
#ifdef SK_GL
|
314
|
-
// If the backend API is GL, copies a snapshot of the GrGLTextureInfo struct into the passed in
|
315
|
-
// pointer and returns true. Otherwise returns false if the backend API is not GL.
|
316
|
-
bool getGLTextureInfo(GrGLTextureInfo*) const;
|
317
|
-
|
318
|
-
// Call this to indicate that the texture parameters have been modified in the GL context
|
319
|
-
// externally to GrContext.
|
320
|
-
void glTextureParametersModified();
|
321
|
-
#endif
|
322
|
-
|
323
|
-
#ifdef SK_DAWN
|
324
|
-
// If the backend API is Dawn, copies a snapshot of the GrDawnTextureInfo struct into the passed
|
325
|
-
// in pointer and returns true. Otherwise returns false if the backend API is not Dawn.
|
326
|
-
bool getDawnTextureInfo(GrDawnTextureInfo*) const;
|
327
|
-
#endif
|
328
|
-
|
329
|
-
#ifdef SK_VULKAN
|
330
|
-
// If the backend API is Vulkan, copies a snapshot of the GrVkImageInfo struct into the passed
|
331
|
-
// in pointer and returns true. This snapshot will set the fImageLayout to the current layout
|
332
|
-
// state. Otherwise returns false if the backend API is not Vulkan.
|
333
|
-
bool getVkImageInfo(GrVkImageInfo*) const;
|
334
|
-
|
335
|
-
// Anytime the client changes the VkImageLayout of the VkImage captured by this
|
336
|
-
// GrBackendTexture, they must call this function to notify Skia of the changed layout.
|
337
|
-
void setVkImageLayout(VkImageLayout);
|
338
|
-
#endif
|
339
|
-
|
340
219
|
#ifdef SK_METAL
|
341
220
|
// If the backend API is Metal, copies a snapshot of the GrMtlTextureInfo struct into the passed
|
342
221
|
// in pointer and returns true. Otherwise returns false if the backend API is not Metal.
|
@@ -377,34 +256,41 @@ public:
|
|
377
256
|
// Returns true if both textures are valid and refer to the same API texture.
|
378
257
|
bool isSameTexture(const GrBackendTexture&);
|
379
258
|
|
380
|
-
#if GR_TEST_UTILS
|
381
|
-
static bool TestingOnly_Equals(const GrBackendTexture
|
259
|
+
#if defined(GR_TEST_UTILS)
|
260
|
+
static bool TestingOnly_Equals(const GrBackendTexture&, const GrBackendTexture&);
|
382
261
|
#endif
|
383
262
|
|
384
263
|
private:
|
385
|
-
|
386
|
-
|
264
|
+
// Size determined by looking at the GrBackendTextureData subclasses, then guessing-and-checking.
|
265
|
+
// Compiler will complain if this is too small - in that case, just increase the number.
|
266
|
+
inline constexpr static size_t kMaxSubclassSize = 160;
|
267
|
+
using AnyTextureData = SkAnySubclass<GrBackendTextureData, kMaxSubclassSize>;
|
387
268
|
|
388
|
-
|
389
|
-
friend class
|
390
|
-
friend class GrGLGpu; // for getGLTextureParams
|
391
|
-
GrBackendTexture(int width,
|
392
|
-
int height,
|
393
|
-
GrMipmapped,
|
394
|
-
const GrGLTextureInfo,
|
395
|
-
sk_sp<GrGLTextureParameters>,
|
396
|
-
std::string_view label = {});
|
397
|
-
sk_sp<GrGLTextureParameters> getGLTextureParams() const;
|
398
|
-
#endif
|
269
|
+
friend class GrBackendSurfacePriv;
|
270
|
+
friend class GrBackendTextureData;
|
399
271
|
|
400
|
-
|
401
|
-
|
272
|
+
// Used by internal factories. Should not be used externally. Use factories like
|
273
|
+
// GrBackendTextures::MakeGL instead.
|
274
|
+
template <typename TextureData>
|
402
275
|
GrBackendTexture(int width,
|
403
276
|
int height,
|
404
|
-
|
405
|
-
|
406
|
-
|
407
|
-
|
277
|
+
std::string_view label,
|
278
|
+
skgpu::Mipmapped mipped,
|
279
|
+
GrBackendApi backend,
|
280
|
+
GrTextureType texture,
|
281
|
+
const TextureData& textureData)
|
282
|
+
: fIsValid(true)
|
283
|
+
, fWidth(width)
|
284
|
+
, fHeight(height)
|
285
|
+
, fLabel(label)
|
286
|
+
, fMipmapped(mipped)
|
287
|
+
, fBackend(backend)
|
288
|
+
, fTextureType(texture) {
|
289
|
+
fTextureData.emplace<TextureData>(textureData);
|
290
|
+
}
|
291
|
+
|
292
|
+
friend class GrVkGpu; // for getMutableState
|
293
|
+
sk_sp<skgpu::MutableTextureStateRef> getMutableState() const;
|
408
294
|
|
409
295
|
#ifdef SK_DIRECT3D
|
410
296
|
friend class GrD3DTexture;
|
@@ -424,17 +310,12 @@ private:
|
|
424
310
|
int fWidth; //<! width in pixels
|
425
311
|
int fHeight; //<! height in pixels
|
426
312
|
const std::string fLabel;
|
427
|
-
|
313
|
+
skgpu::Mipmapped fMipmapped;
|
428
314
|
GrBackendApi fBackend;
|
429
315
|
GrTextureType fTextureType;
|
316
|
+
AnyTextureData fTextureData;
|
430
317
|
|
431
318
|
union {
|
432
|
-
#ifdef SK_GL
|
433
|
-
GrGLBackendTextureInfo fGLInfo;
|
434
|
-
#endif
|
435
|
-
#ifdef SK_VULKAN
|
436
|
-
GrVkBackendSurfaceInfo fVkInfo;
|
437
|
-
#endif
|
438
319
|
GrMockTextureInfo fMockInfo;
|
439
320
|
#ifdef SK_DIRECT3D
|
440
321
|
GrD3DBackendSurfaceInfo fD3DInfo;
|
@@ -443,11 +324,6 @@ private:
|
|
443
324
|
#ifdef SK_METAL
|
444
325
|
GrMtlTextureInfo fMtlInfo;
|
445
326
|
#endif
|
446
|
-
#ifdef SK_DAWN
|
447
|
-
GrDawnTextureInfo fDawnInfo;
|
448
|
-
#endif
|
449
|
-
|
450
|
-
sk_sp<skgpu::MutableTextureStateRef> fMutableState;
|
451
327
|
};
|
452
328
|
|
453
329
|
class SK_API GrBackendRenderTarget {
|
@@ -455,41 +331,10 @@ public:
|
|
455
331
|
// Creates an invalid backend texture.
|
456
332
|
GrBackendRenderTarget();
|
457
333
|
|
458
|
-
#ifdef SK_GL
|
459
|
-
// The GrGLTextureInfo must have a valid fFormat. If wrapping in an SkSurface we require the
|
460
|
-
// stencil bits to be either 0, 8 or 16.
|
461
|
-
GrBackendRenderTarget(int width,
|
462
|
-
int height,
|
463
|
-
int sampleCnt,
|
464
|
-
int stencilBits,
|
465
|
-
const GrGLFramebufferInfo& glInfo);
|
466
|
-
#endif
|
467
|
-
|
468
|
-
#ifdef SK_DAWN
|
469
|
-
// If wrapping in an SkSurface we require the stencil bits to be either 0, 8 or 16.
|
470
|
-
GrBackendRenderTarget(int width,
|
471
|
-
int height,
|
472
|
-
int sampleCnt,
|
473
|
-
int stencilBits,
|
474
|
-
const GrDawnRenderTargetInfo& dawnInfo);
|
475
|
-
#endif
|
476
|
-
|
477
|
-
#ifdef SK_VULKAN
|
478
|
-
/** Deprecated. Sample count is now part of GrVkImageInfo. */
|
479
|
-
GrBackendRenderTarget(int width, int height, int sampleCnt, const GrVkImageInfo& vkInfo);
|
480
|
-
|
481
|
-
GrBackendRenderTarget(int width, int height, const GrVkImageInfo& vkInfo);
|
482
|
-
#endif
|
483
|
-
|
484
334
|
#ifdef SK_METAL
|
485
335
|
GrBackendRenderTarget(int width,
|
486
336
|
int height,
|
487
337
|
const GrMtlTextureInfo& mtlInfo);
|
488
|
-
/** Deprecated. Sample count is ignored and is instead retrieved from the MtlTexture. */
|
489
|
-
GrBackendRenderTarget(int width,
|
490
|
-
int height,
|
491
|
-
int sampleCnt,
|
492
|
-
const GrMtlTextureInfo& mtlInfo);
|
493
338
|
#endif
|
494
339
|
|
495
340
|
#ifdef SK_DIRECT3D
|
@@ -517,29 +362,6 @@ public:
|
|
517
362
|
GrBackendApi backend() const {return fBackend; }
|
518
363
|
bool isFramebufferOnly() const { return fFramebufferOnly; }
|
519
364
|
|
520
|
-
#ifdef SK_GL
|
521
|
-
// If the backend API is GL, copies a snapshot of the GrGLFramebufferInfo struct into the passed
|
522
|
-
// in pointer and returns true. Otherwise returns false if the backend API is not GL.
|
523
|
-
bool getGLFramebufferInfo(GrGLFramebufferInfo*) const;
|
524
|
-
#endif
|
525
|
-
|
526
|
-
#ifdef SK_DAWN
|
527
|
-
// If the backend API is Dawn, copies a snapshot of the GrDawnRenderTargetInfo struct into the
|
528
|
-
// passed-in pointer and returns true. Otherwise returns false if the backend API is not Dawn.
|
529
|
-
bool getDawnRenderTargetInfo(GrDawnRenderTargetInfo*) const;
|
530
|
-
#endif
|
531
|
-
|
532
|
-
#ifdef SK_VULKAN
|
533
|
-
// If the backend API is Vulkan, copies a snapshot of the GrVkImageInfo struct into the passed
|
534
|
-
// in pointer and returns true. This snapshot will set the fImageLayout to the current layout
|
535
|
-
// state. Otherwise returns false if the backend API is not Vulkan.
|
536
|
-
bool getVkImageInfo(GrVkImageInfo*) const;
|
537
|
-
|
538
|
-
// Anytime the client changes the VkImageLayout of the VkImage captured by this
|
539
|
-
// GrBackendRenderTarget, they must call this function to notify Skia of the changed layout.
|
540
|
-
void setVkImageLayout(VkImageLayout);
|
541
|
-
#endif
|
542
|
-
|
543
365
|
#ifdef SK_METAL
|
544
366
|
// If the backend API is Metal, copies a snapshot of the GrMtlTextureInfo struct into the passed
|
545
367
|
// in pointer and returns true. Otherwise returns false if the backend API is not Metal.
|
@@ -576,22 +398,42 @@ public:
|
|
576
398
|
// Returns true if the backend texture has been initialized.
|
577
399
|
bool isValid() const { return fIsValid; }
|
578
400
|
|
579
|
-
|
580
|
-
#if GR_TEST_UTILS
|
401
|
+
#if defined(GR_TEST_UTILS)
|
581
402
|
static bool TestingOnly_Equals(const GrBackendRenderTarget&, const GrBackendRenderTarget&);
|
582
403
|
#endif
|
583
404
|
|
584
405
|
private:
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
|
406
|
+
// Size determined by looking at the GrBackendRenderTargetData subclasses, then
|
407
|
+
// guessing-and-checking. Compiler will complain if this is too small - in that case, just
|
408
|
+
// increase the number.
|
409
|
+
inline constexpr static size_t kMaxSubclassSize = 160;
|
410
|
+
using AnyRenderTargetData = SkAnySubclass<GrBackendRenderTargetData, kMaxSubclassSize>;
|
411
|
+
|
412
|
+
friend class GrBackendSurfacePriv;
|
413
|
+
friend class GrBackendRenderTargetData;
|
414
|
+
|
415
|
+
// Used by internal factories. Should not be used externally. Use factories like
|
416
|
+
// GrBackendRenderTargets::MakeGL instead.
|
417
|
+
template <typename RenderTargetData>
|
590
418
|
GrBackendRenderTarget(int width,
|
591
419
|
int height,
|
592
|
-
|
593
|
-
|
594
|
-
|
420
|
+
int sampleCnt,
|
421
|
+
int stencilBits,
|
422
|
+
GrBackendApi backend,
|
423
|
+
bool framebufferOnly,
|
424
|
+
const RenderTargetData& rtData)
|
425
|
+
: fIsValid(true)
|
426
|
+
, fFramebufferOnly(framebufferOnly)
|
427
|
+
, fWidth(width)
|
428
|
+
, fHeight(height)
|
429
|
+
, fSampleCnt(sampleCnt)
|
430
|
+
, fStencilBits(stencilBits)
|
431
|
+
, fBackend(backend) {
|
432
|
+
fRTData.emplace<RenderTargetData>(rtData);
|
433
|
+
}
|
434
|
+
|
435
|
+
friend class GrVkGpu; // for getMutableState
|
436
|
+
sk_sp<skgpu::MutableTextureStateRef> getMutableState() const;
|
595
437
|
|
596
438
|
#ifdef SK_DIRECT3D
|
597
439
|
friend class GrD3DGpu;
|
@@ -615,14 +457,9 @@ private:
|
|
615
457
|
int fStencilBits;
|
616
458
|
|
617
459
|
GrBackendApi fBackend;
|
460
|
+
AnyRenderTargetData fRTData;
|
618
461
|
|
619
462
|
union {
|
620
|
-
#ifdef SK_GL
|
621
|
-
GrGLFramebufferInfo fGLInfo;
|
622
|
-
#endif
|
623
|
-
#ifdef SK_VULKAN
|
624
|
-
GrVkBackendSurfaceInfo fVkInfo;
|
625
|
-
#endif
|
626
463
|
GrMockRenderTargetInfo fMockInfo;
|
627
464
|
#ifdef SK_DIRECT3D
|
628
465
|
GrD3DBackendSurfaceInfo fD3DInfo;
|
@@ -631,10 +468,6 @@ private:
|
|
631
468
|
#ifdef SK_METAL
|
632
469
|
GrMtlTextureInfo fMtlInfo;
|
633
470
|
#endif
|
634
|
-
#ifdef SK_DAWN
|
635
|
-
GrDawnRenderTargetInfo fDawnInfo;
|
636
|
-
#endif
|
637
|
-
sk_sp<skgpu::MutableTextureStateRef> fMutableState;
|
638
471
|
};
|
639
472
|
|
640
473
|
#endif
|
@@ -97,6 +97,12 @@ struct SK_API GrContextOptions {
|
|
97
97
|
deduce the optimal value for this platform. */
|
98
98
|
int fBufferMapThreshold = -1;
|
99
99
|
|
100
|
+
/** Default minimum size to use when allocating buffers for uploading data to textures. The
|
101
|
+
larger the value the more uploads can be packed into one buffer, but at the cost of
|
102
|
+
more gpu memory allocated that may not be used. Uploads larger than the minimum will still
|
103
|
+
work by allocating a dedicated buffer. */
|
104
|
+
size_t fMinimumStagingBufferSize = 64 * 1024;
|
105
|
+
|
100
106
|
/**
|
101
107
|
* Executor to handle threaded work within Ganesh. If this is nullptr, then all work will be
|
102
108
|
* done serially on the main thread. To have worker threads assist with various tasks, set this
|
@@ -292,7 +298,7 @@ struct SK_API GrContextOptions {
|
|
292
298
|
GrDirectContextDestroyedContext fContextDeleteContext = nullptr;
|
293
299
|
GrDirectContextDestroyedProc fContextDeleteProc = nullptr;
|
294
300
|
|
295
|
-
#if GR_TEST_UTILS
|
301
|
+
#if defined(GR_TEST_UTILS)
|
296
302
|
/**
|
297
303
|
* Private options that are only meant for testing within Skia's tools.
|
298
304
|
*/
|