download.lst | 4 external/skia/Library_skia.mk | 556 external/skia/UnpackedTarball_skia.mk | 6 external/skia/allow-no-es2restrictions.patch.1 | 8 external/skia/disable-freetype-colrv1.1 | 24 external/skia/fix-graphite-ifdef.patch.1 | 43 external/skia/fix-pch.patch.1 | 79 external/skia/fix-without-gl.patch.1 | 26 external/skia/inc/pch/precompiled_skia.hxx | 150 external/skia/libvulkan-name.patch.1 | 13 external/skia/missing-include.patch.0 | 10 external/skia/no-trace-resources-on-exit.patch.1 | 4 external/skia/share-grcontext.patch.1 | 96 external/skia/source/skia_opts.cxx | 2 external/skia/ubsan.patch.1 | 20 external/skia/vk_mem_alloc.patch.1 |19639 +++++++++++++++++++++++ vcl/skia/SkiaHelper.cxx | 2 vcl/skia/gdiimpl.cxx | 1 vcl/skia/osx/gdiimpl.cxx | 1 19 files changed, 20183 insertions(+), 501 deletions(-)
New commits: commit 9f5e5ea0011a8f04fbfc242a199630ab1fbf8c0d Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Fri May 20 16:25:34 2022 +0200 Commit: Luboš Luňák <l.lu...@collabora.com> CommitDate: Sat May 21 10:56:27 2022 +0200 update Skia to chrome/m103 Change-Id: I35f1ca3fc703dbf31c68f4b145344b23029a156d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134688 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> diff --git a/download.lst b/download.lst index be1eaa463570..266ae5b2edcd 100644 --- a/download.lst +++ b/download.lst @@ -231,8 +231,8 @@ export REVENGE_VERSION_MICRO := 4 export REVENGE_TARBALL := librevenge-0.0.$(REVENGE_VERSION_MICRO).tar.bz2 export RHINO_SHA256SUM := 1fb458d6aab06932693cc8a9b6e4e70944ee1ff052fa63606e3131df34e21753 export RHINO_TARBALL := 798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip -export SKIA_SHA256SUM := 97e859e8467eca9d2441cd23079b61c2c3863b5687620f18cc31a9f966740177 -export SKIA_TARBALL := skia-m97-a7230803d64ae9d44f4e1282444801119a3ae967.tar.xz +export SKIA_SHA256SUM := c094a6247e44104beaaa0d00c825beb6baf1a8e532dc22214747495317a65bd9 +export SKIA_TARBALL := skia-m103-b301ff025004c9cd82816c86c547588e6c24b466.tar.xz export STAROFFICE_SHA256SUM := f94fb0ad8216f97127bedef163a45886b43c62deac5e5b0f5e628e234220c8db export STAROFFICE_VERSION_MICRO := 7 export STAROFFICE_TARBALL := libstaroffice-0.0.$(STAROFFICE_VERSION_MICRO).tar.xz diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk index d3c3dd2cae7c..14c59c99c41e 100644 --- a/external/skia/Library_skia.mk +++ b/external/skia/Library_skia.mk @@ -176,6 +176,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkCachedData \ UnpackedTarball/skia/src/core/SkCanvas \ UnpackedTarball/skia/src/core/SkCanvasPriv \ + UnpackedTarball/skia/src/core/SkChromeRemoteGlyphCache \ UnpackedTarball/skia/src/core/SkClipStack \ UnpackedTarball/skia/src/core/SkClipStackDevice \ UnpackedTarball/skia/src/core/SkColor \ @@ -232,12 +233,13 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkImageFilter \ UnpackedTarball/skia/src/core/SkImageGenerator \ UnpackedTarball/skia/src/core/SkImageInfo \ + UnpackedTarball/skia/src/core/SkKeyContext \ + UnpackedTarball/skia/src/core/SkKeyHelpers \ UnpackedTarball/skia/src/core/SkLatticeIter \ UnpackedTarball/skia/src/core/SkLineClipper \ UnpackedTarball/skia/src/core/SkLocalMatrixImageFilter \ UnpackedTarball/skia/src/core/SkMalloc \ UnpackedTarball/skia/src/core/SkMallocPixelRef \ - UnpackedTarball/skia/src/core/SkMarkerStack \ UnpackedTarball/skia/src/core/SkMaskBlurFilter \ UnpackedTarball/skia/src/core/SkMaskCache \ UnpackedTarball/skia/src/core/SkMask \ @@ -249,6 +251,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkMatrixInvert \ UnpackedTarball/skia/src/core/SkM44 \ UnpackedTarball/skia/src/core/SkMD5 \ + UnpackedTarball/skia/src/core/SkMesh \ UnpackedTarball/skia/src/core/SkMiniRecorder \ UnpackedTarball/skia/src/core/SkMipmap \ UnpackedTarball/skia/src/core/SkMipmapAccessor \ @@ -257,6 +260,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkOpts_erms \ UnpackedTarball/skia/src/core/SkOverdrawCanvas \ UnpackedTarball/skia/src/core/SkPaint \ + UnpackedTarball/skia/src/core/SkPaintParamsKey \ UnpackedTarball/skia/src/core/SkPaintPriv \ UnpackedTarball/skia/src/core/SkPath \ UnpackedTarball/skia/src/core/SkPathBuilder \ @@ -264,6 +268,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkPathMeasure \ UnpackedTarball/skia/src/core/SkPathRef \ UnpackedTarball/skia/src/core/SkPath_serial \ + UnpackedTarball/skia/src/core/SkPipelineData \ UnpackedTarball/skia/src/core/SkPicture \ UnpackedTarball/skia/src/core/SkPictureData \ UnpackedTarball/skia/src/core/SkPictureFlat \ @@ -291,7 +296,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkRect \ UnpackedTarball/skia/src/core/SkRegion \ UnpackedTarball/skia/src/core/SkRegion_path \ - UnpackedTarball/skia/src/core/SkRemoteGlyphCache \ UnpackedTarball/skia/src/core/SkResourceCache \ UnpackedTarball/skia/src/core/SkRRect \ UnpackedTarball/skia/src/core/SkRTree \ @@ -306,6 +310,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkScan_Hairline \ UnpackedTarball/skia/src/core/SkScan_Path \ UnpackedTarball/skia/src/core/SkSemaphore \ + UnpackedTarball/skia/src/core/SkShaderCodeDictionary \ UnpackedTarball/skia/src/core/SkSharedMutex \ UnpackedTarball/skia/src/core/SkSpecialImage \ UnpackedTarball/skia/src/core/SkSpecialSurface \ @@ -318,7 +323,6 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkStrikeSpec \ UnpackedTarball/skia/src/core/SkString \ UnpackedTarball/skia/src/core/SkStringUtils \ - UnpackedTarball/skia/src/core/SkStringView \ UnpackedTarball/skia/src/core/SkStroke \ UnpackedTarball/skia/src/core/SkStrokeRec \ UnpackedTarball/skia/src/core/SkStrokerPriv \ @@ -480,6 +484,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorSplat \ UnpackedTarball/skia/src/sksl/ir/SkSLConstructorStruct \ UnpackedTarball/skia/src/sksl/ir/SkSLDoStatement \ + UnpackedTarball/skia/src/sksl/ir/SkSLExpression \ UnpackedTarball/skia/src/sksl/ir/SkSLExpressionStatement \ UnpackedTarball/skia/src/sksl/ir/SkSLFieldAccess \ UnpackedTarball/skia/src/sksl/ir/SkSLForStatement \ @@ -502,6 +507,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/sksl/ir/SkSLVariable \ UnpackedTarball/skia/src/sksl/ir/SkSLVariableReference \ UnpackedTarball/skia/src/sksl/SkSLAnalysis \ + UnpackedTarball/skia/src/sksl/SkSLBuiltinMap \ UnpackedTarball/skia/src/sksl/SkSLBuiltinTypes \ UnpackedTarball/skia/src/sksl/SkSLCompiler \ UnpackedTarball/skia/src/sksl/SkSLConstantFolder \ @@ -510,21 +516,24 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/sksl/SkSLDehydrator \ UnpackedTarball/skia/src/sksl/SkSLErrorReporter \ UnpackedTarball/skia/src/sksl/SkSLInliner \ - UnpackedTarball/skia/src/sksl/SkSLIntrinsicMap \ UnpackedTarball/skia/src/sksl/SkSLLexer \ UnpackedTarball/skia/src/sksl/SkSLMangler \ - UnpackedTarball/skia/src/sksl/SkSLOperators \ + UnpackedTarball/skia/src/sksl/SkSLOperator \ UnpackedTarball/skia/src/sksl/SkSLOutputStream \ UnpackedTarball/skia/src/sksl/SkSLPool \ + UnpackedTarball/skia/src/sksl/SkSLPosition \ UnpackedTarball/skia/src/sksl/SkSLRehydrator \ UnpackedTarball/skia/src/sksl/SkSLSampleUsage \ + UnpackedTarball/skia/src/sksl/SkSLSharedCompiler \ UnpackedTarball/skia/src/sksl/SkSLString \ UnpackedTarball/skia/src/sksl/SkSLThreadContext \ UnpackedTarball/skia/src/sksl/SkSLUtil \ UnpackedTarball/skia/src/sksl/analysis/SkSLCanExitWithoutReturningValue \ - UnpackedTarball/skia/src/sksl/analysis/SkSLCheckProgramUnrolledSize \ + UnpackedTarball/skia/src/sksl/analysis/SkSLCheckProgramStructure \ + UnpackedTarball/skia/src/sksl/analysis/SkSLFinalizationChecks \ UnpackedTarball/skia/src/sksl/analysis/SkSLGetLoopUnrollInfo \ UnpackedTarball/skia/src/sksl/analysis/SkSLIsConstantExpression \ + UnpackedTarball/skia/src/sksl/analysis/SkSLIsSameExpressionTree \ UnpackedTarball/skia/src/sksl/analysis/SkSLProgramUsage \ UnpackedTarball/skia/src/sksl/analysis/SkSLSwitchCaseContainsExit \ UnpackedTarball/skia/src/sksl/codegen/SkSLGLSLCodeGenerator \ @@ -533,6 +542,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/sksl/codegen/SkSLSPIRVCodeGenerator \ UnpackedTarball/skia/src/sksl/codegen/SkSLSPIRVtoHLSL \ UnpackedTarball/skia/src/sksl/codegen/SkSLVMCodeGenerator \ + UnpackedTarball/skia/src/sksl/codegen/SkSLWGSLCodeGenerator \ + UnpackedTarball/skia/src/sksl/tracing/SkVMDebugTrace \ UnpackedTarball/skia/src/sksl/transform/SkSLBuiltinVariableScanner \ UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadFunctions \ UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadGlobalVariables \ @@ -562,6 +573,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/utils/SkParsePath \ UnpackedTarball/skia/src/utils/SkPatchUtils \ UnpackedTarball/skia/src/utils/SkPolyUtils \ + UnpackedTarball/skia/src/utils/SkShaderUtils \ UnpackedTarball/skia/src/utils/SkShadowTessellator \ UnpackedTarball/skia/src/utils/SkShadowUtils \ UnpackedTarball/skia/src/utils/SkShaperJSONWriter \ @@ -569,6 +581,7 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/utils/SkThreadUtils_pthread \ UnpackedTarball/skia/src/utils/SkThreadUtils_win \ UnpackedTarball/skia/src/utils/SkUTF \ + UnpackedTarball/skia/src/utils/SkVMVisualizer \ UnpackedTarball/skia/src/xps/SkXPSDevice \ UnpackedTarball/skia/src/xps/SkXPSDocument \ )) @@ -576,261 +589,262 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\ ifneq ($(SKIA_GPU),) $(eval $(call gb_Library_add_generated_exception_objects,skia,\ UnpackedTarball/skia/src/core/SkGpuBlurUtils \ - UnpackedTarball/skia/src/gpu/effects/GrBezierEffect \ - UnpackedTarball/skia/src/gpu/effects/GrBicubicEffect \ - UnpackedTarball/skia/src/gpu/effects/GrBitmapTextGeoProc \ - UnpackedTarball/skia/src/gpu/effects/GrBlendFragmentProcessor \ - UnpackedTarball/skia/src/gpu/effects/GrConvexPolyEffect \ - UnpackedTarball/skia/src/gpu/effects/GrCoverageSetOpXP \ - UnpackedTarball/skia/src/gpu/effects/GrCustomXfermode \ - UnpackedTarball/skia/src/gpu/effects/GrDisableColorXP \ - UnpackedTarball/skia/src/gpu/effects/GrDistanceFieldGeoProc \ - UnpackedTarball/skia/src/gpu/effects/GrGaussianConvolutionFragmentProcessor \ - UnpackedTarball/skia/src/gpu/effects/GrMatrixConvolutionEffect \ - UnpackedTarball/skia/src/gpu/effects/GrMatrixEffect \ - UnpackedTarball/skia/src/gpu/effects/GrModulateAtlasCoverageEffect \ - UnpackedTarball/skia/src/gpu/effects/GrOvalEffect \ - UnpackedTarball/skia/src/gpu/effects/GrPorterDuffXferProcessor \ - UnpackedTarball/skia/src/gpu/effects/GrRRectEffect \ - UnpackedTarball/skia/src/gpu/effects/GrShadowGeoProc \ - UnpackedTarball/skia/src/gpu/effects/GrSkSLFP \ - UnpackedTarball/skia/src/gpu/effects/GrTextureEffect \ - UnpackedTarball/skia/src/gpu/effects/GrYUVtoRGBEffect \ - UnpackedTarball/skia/src/gpu/geometry/GrPathUtils \ - UnpackedTarball/skia/src/gpu/geometry/GrQuad \ - UnpackedTarball/skia/src/gpu/geometry/GrQuadUtils \ - UnpackedTarball/skia/src/gpu/geometry/GrShape \ - UnpackedTarball/skia/src/gpu/geometry/GrStyledShape \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSLBlend \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSL \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSLFragmentShaderBuilder \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSLProgramBuilder \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSLProgramDataManager \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSLShaderBuilder \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSLUniformHandler \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSLVarying \ - UnpackedTarball/skia/src/gpu/glsl/GrGLSLVertexGeoBuilder \ - UnpackedTarball/skia/src/gpu/gradients/GrGradientBitmapCache \ - UnpackedTarball/skia/src/gpu/gradients/GrGradientShader \ - UnpackedTarball/skia/src/gpu/GrAHardwareBufferImageGenerator \ - UnpackedTarball/skia/src/gpu/GrAHardwareBufferUtils \ - UnpackedTarball/skia/src/gpu/GrAttachment \ - UnpackedTarball/skia/src/gpu/GrBackendSemaphore \ - UnpackedTarball/skia/src/gpu/GrBackendSurfaceMutableState \ - UnpackedTarball/skia/src/gpu/GrBackendSurface \ - UnpackedTarball/skia/src/gpu/GrBackendTextureImageGenerator \ - UnpackedTarball/skia/src/gpu/GrBackendUtils \ - UnpackedTarball/skia/src/gpu/GrBufferAllocPool \ - UnpackedTarball/skia/src/gpu/GrCaps \ - UnpackedTarball/skia/src/gpu/GrClientMappedBufferManager \ - UnpackedTarball/skia/src/gpu/GrColorInfo \ - UnpackedTarball/skia/src/gpu/GrColorSpaceXform \ - UnpackedTarball/skia/src/gpu/GrContext_Base \ - UnpackedTarball/skia/src/gpu/GrContextThreadSafeProxy \ - UnpackedTarball/skia/src/gpu/GrCopyRenderTask \ - UnpackedTarball/skia/src/gpu/GrDataUtils \ - UnpackedTarball/skia/src/gpu/GrDDLContext \ - UnpackedTarball/skia/src/gpu/GrDDLTask \ - UnpackedTarball/skia/src/gpu/GrDefaultGeoProcFactory \ - UnpackedTarball/skia/src/gpu/GrDirectContext \ - UnpackedTarball/skia/src/gpu/GrDirectContextPriv \ - UnpackedTarball/skia/src/gpu/GrDistanceFieldGenFromVector \ - UnpackedTarball/skia/src/gpu/GrDrawingManager \ - UnpackedTarball/skia/src/gpu/GrDrawOpAtlas \ - UnpackedTarball/skia/src/gpu/GrDriverBugWorkarounds \ - UnpackedTarball/skia/src/gpu/GrDynamicAtlas \ - UnpackedTarball/skia/src/gpu/GrEagerVertexAllocator \ - UnpackedTarball/skia/src/gpu/GrFinishCallbacks \ - UnpackedTarball/skia/src/gpu/GrFixedClip \ - UnpackedTarball/skia/src/gpu/GrFragmentProcessor \ - UnpackedTarball/skia/src/gpu/GrGeometryProcessor \ - UnpackedTarball/skia/src/gpu/GrGpu \ - UnpackedTarball/skia/src/gpu/GrGpuBuffer \ - UnpackedTarball/skia/src/gpu/GrGpuResource \ - UnpackedTarball/skia/src/gpu/GrImageContext \ - UnpackedTarball/skia/src/gpu/GrManagedResource \ - UnpackedTarball/skia/src/gpu/GrMemoryPool \ - UnpackedTarball/skia/src/gpu/GrMeshDrawTarget \ - UnpackedTarball/skia/src/gpu/GrOnFlushResourceProvider \ - UnpackedTarball/skia/src/gpu/GrOpFlushState \ - UnpackedTarball/skia/src/gpu/GrOpsRenderPass \ - UnpackedTarball/skia/src/gpu/GrPaint \ - UnpackedTarball/skia/src/gpu/GrPersistentCacheUtils \ - UnpackedTarball/skia/src/gpu/GrPipeline \ - UnpackedTarball/skia/src/gpu/GrProcessorAnalysis \ - UnpackedTarball/skia/src/gpu/GrProcessor \ - UnpackedTarball/skia/src/gpu/GrProcessorSet \ - UnpackedTarball/skia/src/gpu/GrProcessorUnitTest \ - UnpackedTarball/skia/src/gpu/GrProgramDesc \ - UnpackedTarball/skia/src/gpu/GrProgramInfo \ - UnpackedTarball/skia/src/gpu/GrProxyProvider \ - UnpackedTarball/skia/src/gpu/GrRecordingContext \ - UnpackedTarball/skia/src/gpu/GrRecordingContextPriv \ - UnpackedTarball/skia/src/gpu/GrRectanizerPow2 \ - UnpackedTarball/skia/src/gpu/GrRectanizerSkyline \ - UnpackedTarball/skia/src/gpu/GrRenderTask \ - UnpackedTarball/skia/src/gpu/GrRenderTaskCluster \ - UnpackedTarball/skia/src/gpu/GrRenderTarget \ - UnpackedTarball/skia/src/gpu/GrRenderTargetProxy \ - UnpackedTarball/skia/src/gpu/GrResourceAllocator \ - UnpackedTarball/skia/src/gpu/GrResourceCache \ - UnpackedTarball/skia/src/gpu/GrResourceProvider \ - UnpackedTarball/skia/src/gpu/GrRingBuffer \ - UnpackedTarball/skia/src/gpu/GrShaderCaps \ - UnpackedTarball/skia/src/gpu/GrShaderUtils \ - UnpackedTarball/skia/src/gpu/GrShaderVar \ - UnpackedTarball/skia/src/gpu/GrSPIRVUniformHandler \ - UnpackedTarball/skia/src/gpu/GrSPIRVVaryingHandler \ - UnpackedTarball/skia/src/gpu/GrStagingBufferManager \ - UnpackedTarball/skia/src/gpu/GrStencilSettings \ - UnpackedTarball/skia/src/gpu/GrStyle \ - UnpackedTarball/skia/src/gpu/GrSubRunAllocator \ - UnpackedTarball/skia/src/gpu/GrSurface \ - UnpackedTarball/skia/src/gpu/GrSurfaceInfo \ - UnpackedTarball/skia/src/gpu/GrSurfaceProxy \ - UnpackedTarball/skia/src/gpu/GrSwizzle \ - UnpackedTarball/skia/src/gpu/GrSWMaskHelper \ - UnpackedTarball/skia/src/gpu/GrTestUtils \ - UnpackedTarball/skia/src/gpu/GrUniformDataManager \ - UnpackedTarball/skia/src/gpu/GrTexture \ - UnpackedTarball/skia/src/gpu/GrTextureProxy \ - UnpackedTarball/skia/src/gpu/GrTextureRenderTargetProxy \ - UnpackedTarball/skia/src/gpu/GrTextureResolveRenderTask \ - UnpackedTarball/skia/src/gpu/GrThreadSafeCache \ - UnpackedTarball/skia/src/gpu/GrThreadSafePipelineBuilder \ - UnpackedTarball/skia/src/gpu/GrTransferFromRenderTask \ - UnpackedTarball/skia/src/gpu/GrUtil \ - UnpackedTarball/skia/src/gpu/GrVertexChunkArray \ - UnpackedTarball/skia/src/gpu/GrWaitRenderTask \ - UnpackedTarball/skia/src/gpu/GrWritePixelsRenderTask \ - UnpackedTarball/skia/src/gpu/GrXferProcessor \ - UnpackedTarball/skia/src/gpu/GrYUVABackendTextures \ - UnpackedTarball/skia/src/gpu/GrYUVATextureProxies \ - UnpackedTarball/skia/src/gpu/geometry/GrAAConvexTessellator \ - UnpackedTarball/skia/src/gpu/geometry/GrAATriangulator \ - UnpackedTarball/skia/src/gpu/geometry/GrTriangulator \ - UnpackedTarball/skia/src/gpu/mock/GrMockCaps \ - UnpackedTarball/skia/src/gpu/mock/GrMockGpu \ - UnpackedTarball/skia/src/gpu/mock/GrMockTypes \ - UnpackedTarball/skia/src/gpu/BaseDevice \ - UnpackedTarball/skia/src/gpu/SkGr \ - UnpackedTarball/skia/src/gpu/SurfaceContext \ - UnpackedTarball/skia/src/gpu/SurfaceFillContext \ - UnpackedTarball/skia/src/gpu/tessellate/PathCurveTessellator \ - UnpackedTarball/skia/src/gpu/tessellate/PathWedgeTessellator \ - UnpackedTarball/skia/src/gpu/tessellate/StrokeFixedCountTessellator \ - UnpackedTarball/skia/src/gpu/tessellate/StrokeHardwareTessellator \ + UnpackedTarball/skia/src/gpu/AtlasTypes \ + UnpackedTarball/skia/src/gpu/Blend \ + UnpackedTarball/skia/src/gpu/RectanizerPow2 \ + UnpackedTarball/skia/src/gpu/RectanizerSkyline \ + UnpackedTarball/skia/src/gpu/ResourceKey \ + UnpackedTarball/skia/src/gpu/ShaderErrorHandler \ + UnpackedTarball/skia/src/gpu/Swizzle \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrBezierEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrBicubicEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrBitmapTextGeoProc \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrBlendFragmentProcessor \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrConvexPolyEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrCoverageSetOpXP \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrCustomXfermode \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrDisableColorXP \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrDistanceFieldGeoProc \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrGaussianConvolutionFragmentProcessor \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrMatrixConvolutionEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrMatrixEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrModulateAtlasCoverageEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrOvalEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrPorterDuffXferProcessor \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrRRectEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrShadowGeoProc \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrSkSLFP \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrTextureEffect \ + UnpackedTarball/skia/src/gpu/ganesh/effects/GrYUVtoRGBEffect \ + UnpackedTarball/skia/src/gpu/ganesh/geometry/GrPathUtils \ + UnpackedTarball/skia/src/gpu/ganesh/geometry/GrQuad \ + UnpackedTarball/skia/src/gpu/ganesh/geometry/GrQuadUtils \ + UnpackedTarball/skia/src/gpu/ganesh/geometry/GrShape \ + UnpackedTarball/skia/src/gpu/ganesh/geometry/GrStyledShape \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLBlend \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSL \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLProgramBuilder \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLProgramDataManager \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLShaderBuilder \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLUniformHandler \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLVarying \ + UnpackedTarball/skia/src/gpu/ganesh/glsl/GrGLSLVertexGeoBuilder \ + UnpackedTarball/skia/src/gpu/ganesh/gradients/GrGradientBitmapCache \ + UnpackedTarball/skia/src/gpu/ganesh/gradients/GrGradientShader \ + UnpackedTarball/skia/src/gpu/ganesh/GrAHardwareBufferImageGenerator \ + UnpackedTarball/skia/src/gpu/ganesh/GrAHardwareBufferUtils \ + UnpackedTarball/skia/src/gpu/ganesh/GrAttachment \ + UnpackedTarball/skia/src/gpu/ganesh/GrBackendSemaphore \ + UnpackedTarball/skia/src/gpu/ganesh/GrBackendSurfaceMutableState \ + UnpackedTarball/skia/src/gpu/ganesh/GrBackendSurface \ + UnpackedTarball/skia/src/gpu/ganesh/GrBackendTextureImageGenerator \ + UnpackedTarball/skia/src/gpu/ganesh/GrBackendUtils \ + UnpackedTarball/skia/src/gpu/ganesh/GrBufferAllocPool \ + UnpackedTarball/skia/src/gpu/ganesh/GrCaps \ + UnpackedTarball/skia/src/gpu/ganesh/GrClientMappedBufferManager \ + UnpackedTarball/skia/src/gpu/ganesh/GrColorInfo \ + UnpackedTarball/skia/src/gpu/ganesh/GrColorSpaceXform \ + UnpackedTarball/skia/src/gpu/ganesh/GrContext_Base \ + UnpackedTarball/skia/src/gpu/ganesh/GrContextThreadSafeProxy \ + UnpackedTarball/skia/src/gpu/ganesh/GrCopyRenderTask \ + UnpackedTarball/skia/src/gpu/ganesh/GrDataUtils \ + UnpackedTarball/skia/src/gpu/ganesh/GrDDLContext \ + UnpackedTarball/skia/src/gpu/ganesh/GrDDLTask \ + UnpackedTarball/skia/src/gpu/ganesh/GrDefaultGeoProcFactory \ + UnpackedTarball/skia/src/gpu/ganesh/GrDirectContext \ + UnpackedTarball/skia/src/gpu/ganesh/GrDirectContextPriv \ + UnpackedTarball/skia/src/gpu/ganesh/GrDistanceFieldGenFromVector \ + UnpackedTarball/skia/src/gpu/ganesh/GrDrawingManager \ + UnpackedTarball/skia/src/gpu/ganesh/GrDrawOpAtlas \ + UnpackedTarball/skia/src/gpu/ganesh/GrDriverBugWorkarounds \ + UnpackedTarball/skia/src/gpu/ganesh/GrDynamicAtlas \ + UnpackedTarball/skia/src/gpu/ganesh/GrEagerVertexAllocator \ + UnpackedTarball/skia/src/gpu/ganesh/GrFinishCallbacks \ + UnpackedTarball/skia/src/gpu/ganesh/GrFixedClip \ + UnpackedTarball/skia/src/gpu/ganesh/GrFragmentProcessor \ + UnpackedTarball/skia/src/gpu/ganesh/GrGeometryProcessor \ + UnpackedTarball/skia/src/gpu/ganesh/GrGpu \ + UnpackedTarball/skia/src/gpu/ganesh/GrGpuBuffer \ + UnpackedTarball/skia/src/gpu/ganesh/GrGpuResource \ + UnpackedTarball/skia/src/gpu/ganesh/GrImageContext \ + UnpackedTarball/skia/src/gpu/ganesh/GrImageInfo \ + UnpackedTarball/skia/src/gpu/ganesh/GrManagedResource \ + UnpackedTarball/skia/src/gpu/ganesh/GrMemoryPool \ + UnpackedTarball/skia/src/gpu/ganesh/GrMeshDrawTarget \ + UnpackedTarball/skia/src/gpu/ganesh/GrOnFlushResourceProvider \ + UnpackedTarball/skia/src/gpu/ganesh/GrOpFlushState \ + UnpackedTarball/skia/src/gpu/ganesh/GrOpsRenderPass \ + UnpackedTarball/skia/src/gpu/ganesh/GrPaint \ + UnpackedTarball/skia/src/gpu/ganesh/GrPersistentCacheUtils \ + UnpackedTarball/skia/src/gpu/ganesh/GrPipeline \ + UnpackedTarball/skia/src/gpu/ganesh/GrProcessorAnalysis \ + UnpackedTarball/skia/src/gpu/ganesh/GrProcessor \ + UnpackedTarball/skia/src/gpu/ganesh/GrProcessorSet \ + UnpackedTarball/skia/src/gpu/ganesh/GrProcessorUnitTest \ + UnpackedTarball/skia/src/gpu/ganesh/GrProgramDesc \ + UnpackedTarball/skia/src/gpu/ganesh/GrProgramInfo \ + UnpackedTarball/skia/src/gpu/ganesh/GrProxyProvider \ + UnpackedTarball/skia/src/gpu/ganesh/GrRecordingContext \ + UnpackedTarball/skia/src/gpu/ganesh/GrRecordingContextPriv \ + UnpackedTarball/skia/src/gpu/ganesh/GrRenderTask \ + UnpackedTarball/skia/src/gpu/ganesh/GrRenderTaskCluster \ + UnpackedTarball/skia/src/gpu/ganesh/GrRenderTarget \ + UnpackedTarball/skia/src/gpu/ganesh/GrRenderTargetProxy \ + UnpackedTarball/skia/src/gpu/ganesh/GrResourceAllocator \ + UnpackedTarball/skia/src/gpu/ganesh/GrResourceCache \ + UnpackedTarball/skia/src/gpu/ganesh/GrResourceProvider \ + UnpackedTarball/skia/src/gpu/ganesh/GrRingBuffer \ + UnpackedTarball/skia/src/gpu/ganesh/GrShaderCaps \ + UnpackedTarball/skia/src/gpu/ganesh/GrShaderVar \ + UnpackedTarball/skia/src/gpu/ganesh/GrSPIRVUniformHandler \ + UnpackedTarball/skia/src/gpu/ganesh/GrSPIRVVaryingHandler \ + UnpackedTarball/skia/src/gpu/ganesh/GrStagingBufferManager \ + UnpackedTarball/skia/src/gpu/ganesh/GrStencilSettings \ + UnpackedTarball/skia/src/gpu/ganesh/GrStyle \ + UnpackedTarball/skia/src/gpu/ganesh/GrSurface \ + UnpackedTarball/skia/src/gpu/ganesh/GrSurfaceInfo \ + UnpackedTarball/skia/src/gpu/ganesh/GrSurfaceProxy \ + UnpackedTarball/skia/src/gpu/ganesh/GrSWMaskHelper \ + UnpackedTarball/skia/src/gpu/ganesh/GrTestUtils \ + UnpackedTarball/skia/src/gpu/ganesh/GrUniformDataManager \ + UnpackedTarball/skia/src/gpu/ganesh/GrTexture \ + UnpackedTarball/skia/src/gpu/ganesh/GrTextureProxy \ + UnpackedTarball/skia/src/gpu/ganesh/GrTextureRenderTargetProxy \ + UnpackedTarball/skia/src/gpu/ganesh/GrTextureResolveRenderTask \ + UnpackedTarball/skia/src/gpu/ganesh/GrThreadSafeCache \ + UnpackedTarball/skia/src/gpu/ganesh/GrThreadSafePipelineBuilder \ + UnpackedTarball/skia/src/gpu/ganesh/GrTransferFromRenderTask \ + UnpackedTarball/skia/src/gpu/ganesh/GrUtil \ + UnpackedTarball/skia/src/gpu/ganesh/GrVertexChunkArray \ + UnpackedTarball/skia/src/gpu/ganesh/GrWaitRenderTask \ + UnpackedTarball/skia/src/gpu/ganesh/GrWritePixelsRenderTask \ + UnpackedTarball/skia/src/gpu/ganesh/GrXferProcessor \ + UnpackedTarball/skia/src/gpu/ganesh/GrYUVABackendTextures \ + UnpackedTarball/skia/src/gpu/ganesh/GrYUVATextureProxies \ + UnpackedTarball/skia/src/gpu/ganesh/geometry/GrAAConvexTessellator \ + UnpackedTarball/skia/src/gpu/ganesh/geometry/GrAATriangulator \ + UnpackedTarball/skia/src/gpu/ganesh/geometry/GrTriangulator \ + UnpackedTarball/skia/src/gpu/ganesh/mock/GrMockCaps \ + UnpackedTarball/skia/src/gpu/ganesh/mock/GrMockGpu \ + UnpackedTarball/skia/src/gpu/ganesh/mock/GrMockTypes \ + UnpackedTarball/skia/src/gpu/ganesh/BaseDevice \ + UnpackedTarball/skia/src/gpu/ganesh/SkGr \ + UnpackedTarball/skia/src/gpu/ganesh/SurfaceContext \ + UnpackedTarball/skia/src/gpu/ganesh/SurfaceFillContext \ + UnpackedTarball/skia/src/gpu/ganesh/tessellate/GrPathTessellationShader \ + UnpackedTarball/skia/src/gpu/ganesh/tessellate/GrStrokeTessellationShader \ + UnpackedTarball/skia/src/gpu/ganesh/tessellate/GrTessellationShader \ + UnpackedTarball/skia/src/gpu/ganesh/tessellate/PathTessellator \ + UnpackedTarball/skia/src/gpu/ganesh/tessellate/StrokeTessellator \ + UnpackedTarball/skia/src/gpu/ganesh/text/GrAtlasManager \ + UnpackedTarball/skia/src/gpu/ganesh/text/GrDistanceFieldAdjustTable \ + UnpackedTarball/skia/src/gpu/ganesh/text/GrSDFMaskFilter \ + UnpackedTarball/skia/src/gpu/ganesh/text/GrSDFTControl \ + UnpackedTarball/skia/src/gpu/ganesh/text/GrSlug \ + UnpackedTarball/skia/src/gpu/ganesh/text/GrTextBlob \ + UnpackedTarball/skia/src/gpu/ganesh/text/GrTextBlobRedrawCoordinator \ + UnpackedTarball/skia/src/gpu/tessellate/FixedCountBufferUtils \ UnpackedTarball/skia/src/gpu/tessellate/Tessellation \ - UnpackedTarball/skia/src/gpu/tessellate/shaders/GrPathTessellationShader \ - UnpackedTarball/skia/src/gpu/tessellate/shaders/GrPathTessellationShader_Hardware \ - UnpackedTarball/skia/src/gpu/tessellate/shaders/GrPathTessellationShader_MiddleOut \ - UnpackedTarball/skia/src/gpu/tessellate/shaders/GrStrokeTessellationShader \ - UnpackedTarball/skia/src/gpu/tessellate/shaders/GrStrokeTessellationShader_HardwareImpl \ - UnpackedTarball/skia/src/gpu/tessellate/shaders/GrStrokeTessellationShader_InstancedImpl \ - UnpackedTarball/skia/src/gpu/tessellate/shaders/GrTessellationShader \ - UnpackedTarball/skia/src/gpu/text/GrAtlasManager \ - UnpackedTarball/skia/src/gpu/text/GrDistanceFieldAdjustTable \ - UnpackedTarball/skia/src/gpu/text/GrSDFMaskFilter \ - UnpackedTarball/skia/src/gpu/text/GrSDFTControl \ - UnpackedTarball/skia/src/gpu/text/GrStrikeCache \ - UnpackedTarball/skia/src/gpu/text/GrTextBlobCache \ - UnpackedTarball/skia/src/gpu/text/GrTextBlob \ UnpackedTarball/skia/src/image/SkImage_GpuBase \ UnpackedTarball/skia/src/image/SkImage_Gpu \ UnpackedTarball/skia/src/image/SkImage_GpuYUVA \ UnpackedTarball/skia/src/image/SkSurface_Gpu \ + UnpackedTarball/skia/src/text/gpu/GlyphVector \ + UnpackedTarball/skia/src/text/gpu/StrikeCache \ + UnpackedTarball/skia/src/text/gpu/SubRunAllocator \ )) $(eval $(call gb_Library_add_generated_exception_objects,skia,\ - UnpackedTarball/skia/src/gpu/GrAuditTrail \ - UnpackedTarball/skia/src/gpu/GrBlurUtils \ - UnpackedTarball/skia/src/gpu/GrDrawOpTest \ - UnpackedTarball/skia/src/gpu/ops/AAConvexPathRenderer \ - UnpackedTarball/skia/src/gpu/ops/AAHairLinePathRenderer \ - UnpackedTarball/skia/src/gpu/ops/AALinearizingConvexPathRenderer \ - UnpackedTarball/skia/src/gpu/ops/AtlasInstancedHelper \ - UnpackedTarball/skia/src/gpu/ops/AtlasPathRenderer \ - UnpackedTarball/skia/src/gpu/ops/AtlasRenderTask \ - UnpackedTarball/skia/src/gpu/ops/AtlasTextOp \ - UnpackedTarball/skia/src/gpu/ops/ClearOp \ - UnpackedTarball/skia/src/gpu/ops/DashLinePathRenderer \ - UnpackedTarball/skia/src/gpu/ops/DashOp \ - UnpackedTarball/skia/src/gpu/ops/DefaultPathRenderer \ - UnpackedTarball/skia/src/gpu/ops/DrawAtlasOp \ - UnpackedTarball/skia/src/gpu/ops/DrawAtlasPathOp \ - UnpackedTarball/skia/src/gpu/ops/DrawVerticesOp \ - UnpackedTarball/skia/src/gpu/ops/DrawableOp \ - UnpackedTarball/skia/src/gpu/ops/FillRRectOp \ - UnpackedTarball/skia/src/gpu/ops/FillRectOp \ - UnpackedTarball/skia/src/gpu/ops/GrMeshDrawOp \ - UnpackedTarball/skia/src/gpu/ops/GrOp \ - UnpackedTarball/skia/src/gpu/ops/GrOvalOpFactory \ - UnpackedTarball/skia/src/gpu/ops/GrSimpleMeshDrawOpHelper \ - UnpackedTarball/skia/src/gpu/ops/GrSimpleMeshDrawOpHelperWithStencil \ - UnpackedTarball/skia/src/gpu/ops/LatticeOp \ - UnpackedTarball/skia/src/gpu/ops/OpsTask \ - UnpackedTarball/skia/src/gpu/ops/PathInnerTriangulateOp \ - UnpackedTarball/skia/src/gpu/ops/PathStencilCoverOp \ - UnpackedTarball/skia/src/gpu/ops/PathTessellateOp \ - UnpackedTarball/skia/src/gpu/ops/QuadPerEdgeAA \ - UnpackedTarball/skia/src/gpu/ops/RegionOp \ - UnpackedTarball/skia/src/gpu/ops/ShadowRRectOp \ - UnpackedTarball/skia/src/gpu/ops/SmallPathAtlasMgr \ - UnpackedTarball/skia/src/gpu/ops/SmallPathRenderer \ - UnpackedTarball/skia/src/gpu/ops/SmallPathShapeData \ - UnpackedTarball/skia/src/gpu/ops/SoftwarePathRenderer \ - UnpackedTarball/skia/src/gpu/ops/StrokeRectOp \ - UnpackedTarball/skia/src/gpu/ops/StrokeTessellateOp \ - UnpackedTarball/skia/src/gpu/ops/TessellationPathRenderer \ - UnpackedTarball/skia/src/gpu/ops/TextureOp \ - UnpackedTarball/skia/src/gpu/ops/TriangulatingPathRenderer \ - UnpackedTarball/skia/src/gpu/v1/ClipStack \ - UnpackedTarball/skia/src/gpu/v1/Device \ - UnpackedTarball/skia/src/gpu/v1/Device_drawTexture \ - UnpackedTarball/skia/src/gpu/v1/PathRenderer \ - UnpackedTarball/skia/src/gpu/v1/PathRendererChain \ - UnpackedTarball/skia/src/gpu/v1/StencilMaskHelper \ - UnpackedTarball/skia/src/gpu/v1/SurfaceDrawContext \ - UnpackedTarball/skia/src/gpu/v1/SurfaceFillContext_v1 \ + UnpackedTarball/skia/src/gpu/ganesh/GrAuditTrail \ + UnpackedTarball/skia/src/gpu/ganesh/GrBlurUtils \ + UnpackedTarball/skia/src/gpu/ganesh/GrDrawOpTest \ + UnpackedTarball/skia/src/gpu/ganesh/ops/AAConvexPathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/AAHairLinePathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/AALinearizingConvexPathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/AtlasInstancedHelper \ + UnpackedTarball/skia/src/gpu/ganesh/ops/AtlasPathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/AtlasRenderTask \ + UnpackedTarball/skia/src/gpu/ganesh/ops/AtlasTextOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/ClearOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/DashLinePathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/DashOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/DefaultPathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/DrawAtlasOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/DrawAtlasPathOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/DrawMeshOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/DrawableOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/FillRRectOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/FillRectOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/GrMeshDrawOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/GrOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/GrOvalOpFactory \ + UnpackedTarball/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelper \ + UnpackedTarball/skia/src/gpu/ganesh/ops/GrSimpleMeshDrawOpHelperWithStencil \ + UnpackedTarball/skia/src/gpu/ganesh/ops/LatticeOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/OpsTask \ + UnpackedTarball/skia/src/gpu/ganesh/ops/PathInnerTriangulateOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/PathStencilCoverOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/PathTessellateOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/QuadPerEdgeAA \ + UnpackedTarball/skia/src/gpu/ganesh/ops/RegionOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/ShadowRRectOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/SmallPathAtlasMgr \ + UnpackedTarball/skia/src/gpu/ganesh/ops/SmallPathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/SmallPathShapeData \ + UnpackedTarball/skia/src/gpu/ganesh/ops/SoftwarePathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/StrokeRectOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/StrokeTessellateOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/TessellationPathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/ops/TextureOp \ + UnpackedTarball/skia/src/gpu/ganesh/ops/TriangulatingPathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/v1/ClipStack \ + UnpackedTarball/skia/src/gpu/ganesh/v1/Device \ + UnpackedTarball/skia/src/gpu/ganesh/v1/Device_drawTexture \ + UnpackedTarball/skia/src/gpu/ganesh/v1/PathRenderer \ + UnpackedTarball/skia/src/gpu/ganesh/v1/PathRendererChain \ + UnpackedTarball/skia/src/gpu/ganesh/v1/StencilMaskHelper \ + UnpackedTarball/skia/src/gpu/ganesh/v1/SurfaceDrawContext \ + UnpackedTarball/skia/src/gpu/ganesh/v1/SurfaceFillContext_v1 \ )) ifeq ($(SKIA_GPU),VULKAN) $(eval $(call gb_Library_add_generated_exception_objects,skia,\ - UnpackedTarball/skia/src/gpu/vk/GrVkAMDMemoryAllocator \ - UnpackedTarball/skia/src/gpu/vk/GrVkBuffer \ - UnpackedTarball/skia/src/gpu/vk/GrVkCaps \ - UnpackedTarball/skia/src/gpu/vk/GrVkCommandBuffer \ - UnpackedTarball/skia/src/gpu/vk/GrVkCommandPool \ - UnpackedTarball/skia/src/gpu/vk/GrVkDescriptorPool \ - UnpackedTarball/skia/src/gpu/vk/GrVkDescriptorSet \ - UnpackedTarball/skia/src/gpu/vk/GrVkDescriptorSetManager \ - UnpackedTarball/skia/src/gpu/vk/GrVkExtensions \ - UnpackedTarball/skia/src/gpu/vk/GrVkFramebuffer \ - UnpackedTarball/skia/src/gpu/vk/GrVkGpu \ - UnpackedTarball/skia/src/gpu/vk/GrVkImage \ - UnpackedTarball/skia/src/gpu/vk/GrVkImageView \ - UnpackedTarball/skia/src/gpu/vk/GrVkInterface \ - UnpackedTarball/skia/src/gpu/vk/GrVkMSAALoadManager \ - UnpackedTarball/skia/src/gpu/vk/GrVkMemory \ - UnpackedTarball/skia/src/gpu/vk/GrVkOpsRenderPass \ - UnpackedTarball/skia/src/gpu/vk/GrVkPipeline \ - UnpackedTarball/skia/src/gpu/vk/GrVkPipelineStateBuilder \ - UnpackedTarball/skia/src/gpu/vk/GrVkPipelineStateCache \ - UnpackedTarball/skia/src/gpu/vk/GrVkPipelineState \ - UnpackedTarball/skia/src/gpu/vk/GrVkPipelineStateDataManager \ - UnpackedTarball/skia/src/gpu/vk/GrVkRenderPass \ - UnpackedTarball/skia/src/gpu/vk/GrVkRenderTarget \ - UnpackedTarball/skia/src/gpu/vk/GrVkResourceProvider \ - UnpackedTarball/skia/src/gpu/vk/GrVkSampler \ - UnpackedTarball/skia/src/gpu/vk/GrVkSamplerYcbcrConversion \ - UnpackedTarball/skia/src/gpu/vk/GrVkSecondaryCBDrawContext \ - UnpackedTarball/skia/src/gpu/vk/GrVkSemaphore \ - UnpackedTarball/skia/src/gpu/vk/GrVkTexture \ - UnpackedTarball/skia/src/gpu/vk/GrVkTextureRenderTarget \ - UnpackedTarball/skia/src/gpu/vk/GrVkTypesPriv \ - UnpackedTarball/skia/src/gpu/vk/GrVkUniformHandler \ - UnpackedTarball/skia/src/gpu/vk/GrVkUtil \ - UnpackedTarball/skia/src/gpu/vk/GrVkVaryingHandler \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkAMDMemoryAllocator \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkBuffer \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkCaps \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkCommandBuffer \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkCommandPool \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkDescriptorPool \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkDescriptorSet \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkDescriptorSetManager \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkExtensions \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkFramebuffer \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkGpu \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkImage \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkImageView \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkInterface \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkMSAALoadManager \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkMemory \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkOpsRenderPass \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkPipeline \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkPipelineStateBuilder \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkPipelineStateCache \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkPipelineState \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkPipelineStateDataManager \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkRenderPass \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkRenderTarget \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkResourceProvider \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkSampler \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkSamplerYcbcrConversion \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkSecondaryCBDrawContext \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkSemaphore \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkTexture \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkTextureRenderTarget \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkTypesPriv \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkUniformHandler \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkUtil \ + UnpackedTarball/skia/src/gpu/ganesh/vk/GrVkVaryingHandler \ )) $(eval $(call gb_Library_add_generated_exception_objects,skia,\ @@ -940,28 +954,28 @@ $(eval $(call gb_Library_add_generated_objcxxobjects,skia,\ # Not used, uses OpenGL - UnpackedTarball/skia/tools/sk_app/mac/RasterWindowContext_mac $(eval $(call gb_Library_add_generated_objcxxobjects,skia,\ - UnpackedTarball/skia/src/gpu/mtl/GrMtlAttachment \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlBuffer \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlCaps \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlCommandBuffer \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlDepthStencil \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlFramebuffer \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlGpu \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlOpsRenderPass \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlPipelineState \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlPipelineStateBuilder \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlPipelineStateDataManager \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlRenderTarget \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlResourceProvider \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlSampler \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlSemaphore \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlTexture \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlTextureRenderTarget \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlTrampoline \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlTypesPriv \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlUniformHandler \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlUtil \ - UnpackedTarball/skia/src/gpu/mtl/GrMtlVaryingHandler \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlAttachment \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlBuffer \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlCaps \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlCommandBuffer \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlDepthStencil \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlFramebuffer \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlGpu \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlOpsRenderPass \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlPipelineState \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateBuilder \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlPipelineStateDataManager \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlRenderTarget \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlResourceProvider \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlSampler \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlSemaphore \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlTexture \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlTextureRenderTarget \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlTrampoline \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlTypesPriv \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlUniformHandler \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlUtil \ + UnpackedTarball/skia/src/gpu/ganesh/mtl/GrMtlVaryingHandler \ UnpackedTarball/skia/src/image/SkSurface_GpuMtl \ , -fobjc-arc \ )) diff --git a/external/skia/UnpackedTarball_skia.mk b/external/skia/UnpackedTarball_skia.mk index 1ee586708a39..99c70d557eee 100644 --- a/external/skia/UnpackedTarball_skia.mk +++ b/external/skia/UnpackedTarball_skia.mk @@ -17,7 +17,6 @@ skia_patches := \ make-api-visible.patch.1 \ no-trace-resources-on-exit.patch.1 \ fix-alpha-difference-copy.patch.1 \ - libvulkan-name.patch.1 \ share-grcontext.patch.1 \ clang11-flax-vector-conversion.patch.0 \ clang-attributes-warning.patch.1 \ @@ -30,15 +29,14 @@ skia_patches := \ windows-raster-surface-no-copies.patch.1 \ fix-windows-dwrite.patch.1 \ swap-buffers-rect.patch.1 \ - ubsan.patch.0 \ + ubsan.patch.1 \ fast-png-write.patch.1 \ skia_sk_cpu_sse_level_0_by_default.patch.1 \ fix-warnings.patch.1 \ - disable-freetype-colrv1.1 \ windows-libraries-system32.patch.1 \ fix-graphite-ifdef.patch.1 \ allow-no-es2restrictions.patch.1 \ - missing-include.patch.0 \ + vk_mem_alloc.patch.1 \ $(eval $(call gb_UnpackedTarball_set_patchlevel,skia,1)) diff --git a/external/skia/allow-no-es2restrictions.patch.1 b/external/skia/allow-no-es2restrictions.patch.1 index 0195ad3d2ac8..ea2dd02191f6 100644 --- a/external/skia/allow-no-es2restrictions.patch.1 +++ b/external/skia/allow-no-es2restrictions.patch.1 @@ -1,10 +1,10 @@ diff --git a/include/effects/SkRuntimeEffect.h b/include/effects/SkRuntimeEffect.h -index b3f21b1d58..dddc8d16dc 100644 +index e424910b34..cee7794d3a 100644 --- a/include/effects/SkRuntimeEffect.h +++ b/include/effects/SkRuntimeEffect.h -@@ -97,7 +97,7 @@ public: - // run the inliner directly, but they still get an inlining pass once they are painted.) - bool forceNoInline = false; +@@ -108,7 +108,7 @@ public: + // painted.) + bool forceUnoptimized = false; - private: +// private: diff --git a/external/skia/disable-freetype-colrv1.1 b/external/skia/disable-freetype-colrv1.1 deleted file mode 100644 index 2d24e42ad38a..000000000000 --- a/external/skia/disable-freetype-colrv1.1 +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp -index 62127ba8d9..73bfaa2af3 100644 ---- a/src/ports/SkFontHost_FreeType.cpp -+++ b/src/ports/SkFontHost_FreeType.cpp -@@ -1100,6 +1100,7 @@ void SkScalerContext_FreeType::generateMetrics(SkGlyph* glyph) { - FT_UInt layerGlyphIndex; - FT_UInt layerColorIndex; - -+#undef TT_SUPPORT_COLRV1 // Unstable API. - #ifdef TT_SUPPORT_COLRV1 - FT_OpaquePaint opaqueLayerPaint; - opaqueLayerPaint.p = nullptr; -diff --git a/src/ports/SkFontHost_FreeType_common.cpp b/src/ports/SkFontHost_FreeType_common.cpp -index 8488e859b9..baab503bfb 100644 ---- a/src/ports/SkFontHost_FreeType_common.cpp -+++ b/src/ports/SkFontHost_FreeType_common.cpp -@@ -30,6 +30,7 @@ - // In the past, FT_GlyphSlot_Own_Bitmap was defined in this header file. - #include FT_SYNTHESIS_H - -+#undef TT_SUPPORT_COLRV1 // Unstable API. - #ifdef TT_SUPPORT_COLRV1 - #include "src/core/SkScopeExit.h" - #endif diff --git a/external/skia/fix-graphite-ifdef.patch.1 b/external/skia/fix-graphite-ifdef.patch.1 index 594341bb25c9..4ed2ff2527b4 100644 --- a/external/skia/fix-graphite-ifdef.patch.1 +++ b/external/skia/fix-graphite-ifdef.patch.1 @@ -1,13 +1,48 @@ +diff --git a/include/core/SkImage.h b/include/core/SkImage.h +index 9ca9317408..fee18fe58c 100644 +--- a/include/core/SkImage.h ++++ b/include/core/SkImage.h +@@ -17,7 +17,7 @@ + #if SK_SUPPORT_GPU + #include "include/gpu/GrTypes.h" + #endif +-#if SK_GRAPHITE_ENABLED ++#ifdef SK_GRAPHITE_ENABLED + #include "include/gpu/graphite/GraphiteTypes.h" + #endif + #include <functional> // std::function +@@ -49,7 +49,7 @@ class SkYUVAPixmaps; + + enum class SkEncodedImageFormat; + +-#if SK_GRAPHITE_ENABLED ++#ifdef SK_GRAPHITE_ENABLED + namespace skgpu::graphite { + class Recorder; + }; +diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h +index 5301361a2b..8adaf3ac09 100644 +--- a/include/core/SkTypes.h ++++ b/include/core/SkTypes.h +@@ -236,7 +236,7 @@ + # define SK_SUPPORT_GPU 1 + #endif + +-#if SK_SUPPORT_GPU || SK_GRAPHITE_ENABLED ++#if SK_SUPPORT_GPU || defined(SK_GRAPHITE_ENABLED) + # if !defined(SK_ENABLE_SKSL) + # define SK_ENABLE_SKSL + # endif diff --git a/tools/sk_app/WindowContext.h b/tools/sk_app/WindowContext.h -index 79f6d72f35..f9d8081b85 100644 +index 65ab8b9aa4..c1bc7fb03a 100644 --- a/tools/sk_app/WindowContext.h +++ b/tools/sk_app/WindowContext.h -@@ -55,7 +55,7 @@ protected: +@@ -58,7 +58,7 @@ protected: virtual bool isGpuContext() { return true; } sk_sp<GrDirectContext> fContext; -#if SK_GRAPHITE_ENABLED +#ifdef SK_GRAPHITE_ENABLED - sk_sp<skgpu::Context> fGraphiteContext; + std::unique_ptr<skgpu::graphite::Context> fGraphiteContext; + std::unique_ptr<skgpu::graphite::Recorder> fGraphiteRecorder; #endif - diff --git a/external/skia/fix-pch.patch.1 b/external/skia/fix-pch.patch.1 index 3331d54cfe2c..a2fe81562720 100644 --- a/external/skia/fix-pch.patch.1 +++ b/external/skia/fix-pch.patch.1 @@ -1,5 +1,5 @@ diff --git a/include/core/SkColor.h b/include/core/SkColor.h -index 9cba771ddd..6d324b75d0 100644 +index a6e63def23..1c0655c3d7 100644 --- a/include/core/SkColor.h +++ b/include/core/SkColor.h @@ -420,6 +420,7 @@ using SkColor4f = SkRGBA4f<kUnpremul_SkAlphaType>; @@ -11,10 +11,10 @@ index 9cba771ddd..6d324b75d0 100644 namespace SkColors { constexpr SkColor4f kTransparent = {0, 0, 0, 0}; diff --git a/include/private/SkColorData.h b/include/private/SkColorData.h -index aba610eacf..792da4e9fb 100644 +index a59e7b0446..960b4c0313 100644 --- a/include/private/SkColorData.h +++ b/include/private/SkColorData.h -@@ -442,4 +442,6 @@ constexpr SkPMColor4f SK_PMColor4fILLEGAL = { SK_FloatNegativeInfinity, +@@ -438,4 +438,6 @@ constexpr SkPMColor4f SK_PMColor4fILLEGAL = { SK_FloatNegativeInfinity, SK_FloatNegativeInfinity, SK_FloatNegativeInfinity }; @@ -22,10 +22,10 @@ index aba610eacf..792da4e9fb 100644 + #endif diff --git a/src/core/SkM44.cpp b/src/core/SkM44.cpp -index 0cd138e6cc..ad7f7eca74 100644 +index 02b1741763..4cece999d2 100644 --- a/src/core/SkM44.cpp +++ b/src/core/SkM44.cpp -@@ -283,6 +283,8 @@ SkM44 SkM44::LookAt(const SkV3& eye, const SkV3& center, const SkV3& up) { +@@ -341,6 +341,8 @@ SkM44 SkM44::LookAt(const SkV3& eye, const SkV3& center, const SkV3& up) { return m; } @@ -34,31 +34,38 @@ index 0cd138e6cc..ad7f7eca74 100644 SkM44 SkM44::Perspective(float near, float far, float angle) { SkASSERT(far > near); -diff --git a/src/gpu/gl/GrGLGpu.cpp b/src/gpu/gl/GrGLGpu.cpp -index afe3698f99..119ae41093 100644 ---- a/src/gpu/gl/GrGLGpu.cpp -+++ b/src/gpu/gl/GrGLGpu.cpp -@@ -3536,6 +3536,8 @@ void GrGLGpu::xferBarrier(GrRenderTarget* rt, GrXferBarrierType type) { - } - } - -+#undef MemoryBarrier -+ - void GrGLGpu::insertManualFramebufferBarrier() { - SkASSERT(this->caps()->requiresManualFBBarrierAfterTessellatedStencilDraw()); - GL_CALL(MemoryBarrier(GR_GL_FRAMEBUFFER_BARRIER_BIT)); -diff --git a/src/gpu/vk/GrVkSemaphore.cpp b/src/gpu/vk/GrVkSemaphore.cpp -index 23bf656bf8..f926ebfdc2 100644 ---- a/src/gpu/vk/GrVkSemaphore.cpp -+++ b/src/gpu/vk/GrVkSemaphore.cpp +diff --git a/src/gpu/ganesh/vk/GrVkSemaphore.cpp b/src/gpu/ganesh/vk/GrVkSemaphore.cpp +index 70c7f0ea80..ab8319a447 100644 +--- a/src/gpu/ganesh/vk/GrVkSemaphore.cpp ++++ b/src/gpu/ganesh/vk/GrVkSemaphore.cpp @@ -10,6 +10,7 @@ #include "include/gpu/GrBackendSemaphore.h" - #include "src/gpu/vk/GrVkGpu.h" - #include "src/gpu/vk/GrVkUtil.h" + #include "src/gpu/ganesh/vk/GrVkGpu.h" + #include "src/gpu/ganesh/vk/GrVkUtil.h" +#include "tools/gpu/vk/GrVulkanDefines.h" #ifdef VK_USE_PLATFORM_WIN32_KHR // windows wants to define this as CreateSemaphoreA or CreateSemaphoreW +diff --git a/src/sksl/ir/SkSLPoison.h b/src/sksl/ir/SkSLPoison.h +index 035f94e1f6..3cf12db902 100644 +--- a/src/sksl/ir/SkSLPoison.h ++++ b/src/sksl/ir/SkSLPoison.h +@@ -5,6 +5,9 @@ + * found in the LICENSE file. + */ + ++#ifndef SKSL_POISON ++#define SKSL_POISON ++ + #include "src/sksl/SkSLCompiler.h" + #include "src/sksl/SkSLContext.h" + +@@ -38,3 +41,5 @@ private: + }; + + } // namespace SkSL ++ ++#endif diff --git a/src/utils/win/SkDWriteGeometrySink.h b/src/utils/win/SkDWriteGeometrySink.h index af4909aaaf..825ec35c83 100644 --- a/src/utils/win/SkDWriteGeometrySink.h @@ -73,7 +80,7 @@ index af4909aaaf..825ec35c83 100644 #include <d2d1.h> diff --git a/third_party/skcms/skcms.cc b/third_party/skcms/skcms.cc -index 33e3514253..af9313a958 100644 +index 1b643f45cf..c1981110da 100644 --- a/third_party/skcms/skcms.cc +++ b/third_party/skcms/skcms.cc @@ -130,7 +130,8 @@ static float minus_1_ulp(float x) { @@ -86,7 +93,7 @@ index 33e3514253..af9313a958 100644 struct TF_PQish { float A,B,C,D,E,F; }; struct TF_HLGish { float R,G,a,b,c,K_minus_1; }; // We didn't originally support a scale factor K for HLG, and instead just stored 0 in -@@ -2061,7 +2062,9 @@ typedef enum { +@@ -2318,7 +2319,9 @@ typedef enum { Op_store_hhhh, Op_store_fff, Op_store_ffff, @@ -97,23 +104,3 @@ index 33e3514253..af9313a958 100644 #if defined(__clang__) template <int N, typename T> using Vec = T __attribute__((ext_vector_type(N))); -diff --git a/src/sksl/ir/SkSLPoison.h b/src/sksl/ir/SkSLPoison.h -index 43e3a1c2bd..6f88251eea 100644 ---- a/src/sksl/ir/SkSLPoison.h -+++ b/src/sksl/ir/SkSLPoison.h -@@ -5,6 +5,9 @@ - * found in the LICENSE file. - */ - -+#ifndef SKSL_POISON -+#define SKSL_POISON -+ - #include "src/sksl/SkSLCompiler.h" - #include "src/sksl/SkSLContext.h" - -@@ -38,3 +41,5 @@ private: - }; - - } // namespace SkSL -+ -+#endif diff --git a/external/skia/fix-without-gl.patch.1 b/external/skia/fix-without-gl.patch.1 index 3a17e32dcff6..8735dc81d039 100644 --- a/external/skia/fix-without-gl.patch.1 +++ b/external/skia/fix-without-gl.patch.1 @@ -1,8 +1,8 @@ diff --git a/include/gpu/gl/GrGLInterface.h b/include/gpu/gl/GrGLInterface.h -index af3ca67dcc..14d2521d12 100644 +index e10242b3b7..a1c0058caa 100644 --- a/include/gpu/gl/GrGLInterface.h +++ b/include/gpu/gl/GrGLInterface.h -@@ -85,7 +85,9 @@ public: +@@ -83,7 +83,9 @@ public: GrGLExtensions fExtensions; @@ -12,11 +12,11 @@ index af3ca67dcc..14d2521d12 100644 /** * The function pointers are in a struct so that we can have a compiler generated assignment -diff --git a/src/gpu/gl/GrGLContext.h b/src/gpu/gl/GrGLContext.h -index 93bd57c2c5..487774d7d5 100644 ---- a/src/gpu/gl/GrGLContext.h -+++ b/src/gpu/gl/GrGLContext.h -@@ -45,9 +45,11 @@ public: +diff --git a/src/gpu/ganesh/gl/GrGLContext.h b/src/gpu/ganesh/gl/GrGLContext.h +index d5424ca6cf..5b730fe176 100644 +--- a/src/gpu/ganesh/gl/GrGLContext.h ++++ b/src/gpu/ganesh/gl/GrGLContext.h +@@ -64,9 +64,11 @@ public: const GrGLCaps* caps() const { return fGLCaps.get(); } GrGLCaps* caps() { return fGLCaps.get(); } @@ -28,11 +28,11 @@ index 93bd57c2c5..487774d7d5 100644 const GrGLExtensions& extensions() const { return fInterface->fExtensions; } -diff --git a/src/gpu/gl/GrGLGpu.h b/src/gpu/gl/GrGLGpu.h -index 50affac85e..f0f28046a9 100644 ---- a/src/gpu/gl/GrGLGpu.h -+++ b/src/gpu/gl/GrGLGpu.h -@@ -277,6 +277,7 @@ private: +diff --git a/src/gpu/ganesh/gl/GrGLGpu.h b/src/gpu/ganesh/gl/GrGLGpu.h +index a3ac1ad25d..ffc18093e6 100644 +--- a/src/gpu/ganesh/gl/GrGLGpu.h ++++ b/src/gpu/ganesh/gl/GrGLGpu.h +@@ -279,6 +279,7 @@ private: // compatible stencil format, or negative if there is no compatible stencil format. int getCompatibleStencilIndex(GrGLFormat format); @@ -40,7 +40,7 @@ index 50affac85e..f0f28046a9 100644 GrBackendFormat getPreferredStencilFormat(const GrBackendFormat& format) override { int idx = this->getCompatibleStencilIndex(format.asGLFormat()); if (idx < 0) { -@@ -285,6 +286,7 @@ private: +@@ -287,6 +288,7 @@ private: return GrBackendFormat::MakeGL(GrGLFormatToEnum(this->glCaps().stencilFormats()[idx]), GR_GL_TEXTURE_NONE); } diff --git a/external/skia/inc/pch/precompiled_skia.hxx b/external/skia/inc/pch/precompiled_skia.hxx index a6b39fe19eac..e9631b68daf7 100644 --- a/external/skia/inc/pch/precompiled_skia.hxx +++ b/external/skia/inc/pch/precompiled_skia.hxx @@ -13,7 +13,7 @@ manual changes will be rewritten by the next run of update_pch.sh (which presumably also fixes all possible problems, so it's usually better to use it). - Generated on 2021-11-25 16:36:08 using: + Generated on 2022-05-20 16:24:18 using: ./bin/update_pch external/skia skia --cutoff=1 --exclude:system --include:module --include:local If after updating build fails, use the following command to locate conflicting headers: @@ -33,14 +33,15 @@ #include <climits> #include <cmath> #include <cstddef> +#include <cstdint> #include <cstdio> #include <cstring> #include <ctype.h> #include <deque> #include <errno.h> #include <forward_list> -#include <fstream> #include <functional> +#include <initializer_list> #include <inttypes.h> #include <iterator> #include <limits.h> @@ -51,18 +52,21 @@ #include <memory> #include <new> #include <numeric> +#include <optional> #include <png.h> #include <queue> +#include <set> #include <sstream> -#include <stack> #include <stdarg.h> #include <stddef.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <string> +#include <string_view> #include <thread> #include <tuple> +#include <type_traits> #include <unordered_map> #include <unordered_set> #include <utility> @@ -86,16 +90,20 @@ #include <include/c/sk_surface.h> #include <include/codec/SkAndroidCodec.h> #include <include/codec/SkCodec.h> +#include <include/core/SkAlphaType.h> #include <include/core/SkAnnotation.h> #include <include/core/SkBBHFactory.h> #include <include/core/SkBitmap.h> #include <include/core/SkBlendMode.h> #include <include/core/SkBlender.h> +#include <include/core/SkBlurTypes.h> #include <include/core/SkCanvas.h> +#include <include/core/SkClipOp.h> #include <include/core/SkColor.h> #include <include/core/SkColorFilter.h> #include <include/core/SkColorPriv.h> #include <include/core/SkColorSpace.h> +#include <include/core/SkColorType.h> #include <include/core/SkContourMeasure.h> #include <include/core/SkCubicMap.h> #include <include/core/SkData.h> @@ -107,8 +115,12 @@ #include <include/core/SkExecutor.h> #include <include/core/SkFlattenable.h> #include <include/core/SkFont.h> +#include <include/core/SkFontArguments.h> #include <include/core/SkFontMetrics.h> #include <include/core/SkFontMgr.h> +#include <include/core/SkFontParameters.h> +#include <include/core/SkFontStyle.h> +#include <include/core/SkFontTypes.h> #include <include/core/SkGraphics.h> #include <include/core/SkICC.h> #include <include/core/SkImage.h> @@ -121,12 +133,15 @@ #include <include/core/SkMaskFilter.h> #include <include/core/SkMath.h> #include <include/core/SkMatrix.h> +#include <include/core/SkMesh.h> +#include <include/core/SkOpenTypeSVGDecoder.h> #include <include/core/SkOverdrawCanvas.h> #include <include/core/SkPaint.h> #include <include/core/SkPath.h> #include <include/core/SkPathBuilder.h> #include <include/core/SkPathEffect.h> #include <include/core/SkPathMeasure.h> +#include <include/core/SkPathTypes.h> #include <include/core/SkPicture.h> #include <include/core/SkPictureRecorder.h> #include <include/core/SkPixelRef.h> @@ -140,6 +155,7 @@ #include <include/core/SkRect.h> #include <include/core/SkRefCnt.h> #include <include/core/SkRegion.h> +#include <include/core/SkSamplingOptions.h> #include <include/core/SkScalar.h> #include <include/core/SkSerialProcs.h> #include <include/core/SkShader.h> @@ -147,7 +163,6 @@ #include <include/core/SkSpan.h> #include <include/core/SkStream.h> #include <include/core/SkString.h> -#include <include/core/SkStringView.h> #include <include/core/SkStrokeRec.h> #include <include/core/SkSurface.h> #include <include/core/SkSurfaceCharacterization.h> @@ -194,8 +209,7 @@ #include <include/gpu/GrRecordingContext.h> #include <include/pathops/SkPathOps.h> #include <include/ports/SkRemotableFontMgr.h> -#include <include/private/GrImageContext.h> -#include <include/private/GrResourceKey.h> +#include <include/private/SkBitmaskEnum.h> #include <include/private/SkChecksum.h> #include <include/private/SkColorData.h> #include <include/private/SkDeque.h> @@ -211,6 +225,7 @@ #include <include/private/SkMutex.h> #include <include/private/SkNx.h> #include <include/private/SkOnce.h> +#include <include/private/SkOpts_spi.h> #include <include/private/SkPathRef.h> #include <include/private/SkSLDefines.h> #include <include/private/SkSLLayout.h> @@ -225,17 +240,21 @@ #include <include/private/SkSemaphore.h> #include <include/private/SkShadowFlags.h> #include <include/private/SkSpinlock.h> +#include <include/private/SkStringView.h> #include <include/private/SkTArray.h> #include <include/private/SkTDArray.h> #include <include/private/SkTFitsIn.h> #include <include/private/SkTHash.h> -#include <include/private/SkTOptional.h> #include <include/private/SkTPin.h> #include <include/private/SkTemplates.h> #include <include/private/SkThreadAnnotations.h> #include <include/private/SkThreadID.h> #include <include/private/SkTo.h> #include <include/private/SkVx.h> +#include <include/private/chromium/GrSlug.h> +#include <include/private/chromium/SkChromeRemoteGlyphCache.h> +#include <include/private/gpu/ganesh/GrImageContext.h> +#include <include/private/gpu/ganesh/GrTypesPriv.h> #include <include/third_party/skcms/skcms.h> #include <include/utils/SkBase64.h> #include <include/utils/SkCamera.h> @@ -308,6 +327,7 @@ #include <src/core/SkCoreBlitters.h> #include <src/core/SkCpu.h> #include <src/core/SkCubicClipper.h> +#include <src/core/SkDebugUtils.h> #include <src/core/SkDescriptor.h> #include <src/core/SkDevice.h> #include <src/core/SkDiscardableMemory.h> @@ -338,6 +358,8 @@ #include <src/core/SkImageFilterTypes.h> #include <src/core/SkImageFilter_Base.h> #include <src/core/SkImagePriv.h> +#include <src/core/SkKeyContext.h> +#include <src/core/SkKeyHelpers.h> #include <src/core/SkLRUCache.h> #include <src/core/SkLatticeIter.h> #include <src/core/SkLeanWindows.h> @@ -345,7 +367,6 @@ #include <src/core/SkLocalMatrixImageFilter.h> #include <src/core/SkMD5.h> #include <src/core/SkMSAN.h> -#include <src/core/SkMarkerStack.h> #include <src/core/SkMask.h> #include <src/core/SkMaskBlurFilter.h> #include <src/core/SkMaskCache.h> @@ -357,6 +378,7 @@ #include <src/core/SkMatrixPriv.h> #include <src/core/SkMatrixProvider.h> #include <src/core/SkMatrixUtils.h> +#include <src/core/SkMeshPriv.h> #include <src/core/SkMessageBus.h> #include <src/core/SkMiniRecorder.h> #include <src/core/SkMipmap.h> @@ -367,6 +389,7 @@ #include <src/core/SkOSFile.h> #include <src/core/SkOpts.h> #include <src/core/SkPaintDefaults.h> +#include <src/core/SkPaintParamsKey.h> #include <src/core/SkPaintPriv.h> #include <src/core/SkPathEffectBase.h> #include <src/core/SkPathMakers.h> @@ -378,6 +401,7 @@ #include <src/core/SkPicturePlayback.h> #include <src/core/SkPicturePriv.h> #include <src/core/SkPictureRecord.h> +#include <src/core/SkPipelineData.h> #include <src/core/SkPixelRefPriv.h> #include <src/core/SkPixmapPriv.h> #include <src/core/SkPointPriv.h> @@ -397,9 +421,9 @@ #include <src/core/SkRecords.h> #include <src/core/SkRectPriv.h> #include <src/core/SkRegionPriv.h> -#include <src/core/SkRemoteGlyphCache.h> #include <src/core/SkResourceCache.h> #include <src/core/SkRuntimeEffectPriv.h> +#include <src/core/SkSLTypeShared.h> #include <src/core/SkSafeMath.h> #include <src/core/SkSafeRange.h> #include <src/core/SkSamplingPriv.h> @@ -409,6 +433,7 @@ #include <src/core/SkScan.h> #include <src/core/SkScanPriv.h> #include <src/core/SkScopeExit.h> +#include <src/core/SkShaderCodeDictionary.h> #include <src/core/SkSharedMutex.h> #include <src/core/SkSpecialImage.h> #include <src/core/SkSpecialSurface.h> @@ -435,6 +460,7 @@ #include <src/core/SkTraceEventCommon.h> #include <src/core/SkTypefaceCache.h> #include <src/core/SkTypeface_remote.h> +#include <src/core/SkUniform.h> #include <src/core/SkUtils.h> #include <src/core/SkVM.h> #include <src/core/SkVMBlitter.h> @@ -456,54 +482,57 @@ #include <src/effects/SkTrimPE.h> #include <src/effects/imagefilters/SkCropImageFilter.h> #include <src/effects/imagefilters/SkRuntimeImageFilter.h> -#include <src/gpu/BaseDevice.h> -#include <src/gpu/GrBlend.h> -#include <src/gpu/GrCaps.h> -#include <src/gpu/GrColorInfo.h> -#include <src/gpu/GrColorSpaceXform.h> -#include <src/gpu/GrContextThreadSafeProxyPriv.h> -#include <src/gpu/GrDirectContextPriv.h> -#include <src/gpu/GrDrawOpAtlas.h> -#include <src/gpu/GrFPArgs.h> -#include <src/gpu/GrFragmentProcessor.h> -#include <src/gpu/GrGpuResourcePriv.h> -#include <src/gpu/GrImageContextPriv.h> -#include <src/gpu/GrImageInfo.h> -#include <src/gpu/GrPaint.h> -#include <src/gpu/GrProxyProvider.h> -#include <src/gpu/GrRecordingContextPriv.h> -#include <src/gpu/GrRenderTask.h> -#include <src/gpu/GrResourceProvider.h> -#include <src/gpu/GrSamplerState.h> -#include <src/gpu/GrShaderCaps.h> -#include <src/gpu/GrStyle.h> -#include <src/gpu/GrSurfaceProxyView.h> -#include <src/gpu/GrTexture.h> -#include <src/gpu/GrTextureProxy.h> -#include <src/gpu/GrThreadSafeCache.h> -#include <src/gpu/GrYUVATextureProxies.h> -#include <src/gpu/SkGr.h> -#include <src/gpu/SurfaceFillContext.h> -#include <src/gpu/effects/GrBicubicEffect.h> -#include <src/gpu/effects/GrBlendFragmentProcessor.h> -#include <src/gpu/effects/GrCustomXfermode.h> -#include <src/gpu/effects/GrMatrixConvolutionEffect.h> -#include <src/gpu/effects/GrMatrixEffect.h> -#include <src/gpu/effects/GrPorterDuffXferProcessor.h> -#include <src/gpu/effects/GrSkSLFP.h> -#include <src/gpu/effects/GrTextureEffect.h> -#include <src/gpu/effects/GrYUVtoRGBEffect.h> -#include <src/gpu/geometry/GrPathUtils.h> -#include <src/gpu/geometry/GrStyledShape.h> -#include <src/gpu/glsl/GrGLSLFragmentShaderBuilder.h> -#include <src/gpu/glsl/GrGLSLProgramDataManager.h> -#include <src/gpu/glsl/GrGLSLUniformHandler.h> -#include <src/gpu/gradients/GrGradientShader.h> -#include <src/gpu/text/GrSDFMaskFilter.h> -#include <src/gpu/text/GrSDFTControl.h> -#include <src/gpu/text/GrStrikeCache.h> -#include <src/gpu/text/GrTextBlobCache.h> -#include <src/gpu/v1/SurfaceDrawContext_v1.h> +#include <src/gpu/Blend.h> +#include <src/gpu/KeyBuilder.h> +#include <src/gpu/ResourceKey.h> +#include <src/gpu/ganesh/BaseDevice.h> +#include <src/gpu/ganesh/GrCaps.h> +#include <src/gpu/ganesh/GrColorInfo.h> +#include <src/gpu/ganesh/GrColorSpaceXform.h> +#include <src/gpu/ganesh/GrContextThreadSafeProxyPriv.h> +#include <src/gpu/ganesh/GrDirectContextPriv.h> +#include <src/gpu/ganesh/GrDrawOpAtlas.h> +#include <src/gpu/ganesh/GrFPArgs.h> +#include <src/gpu/ganesh/GrFragmentProcessor.h> +#include <src/gpu/ganesh/GrGpuResourcePriv.h> +#include <src/gpu/ganesh/GrImageContextPriv.h> +#include <src/gpu/ganesh/GrImageInfo.h> +#include <src/gpu/ganesh/GrMemoryPool.h> +#include <src/gpu/ganesh/GrPaint.h> +#include <src/gpu/ganesh/GrProxyProvider.h> +#include <src/gpu/ganesh/GrRecordingContextPriv.h> +#include <src/gpu/ganesh/GrRenderTask.h> +#include <src/gpu/ganesh/GrResourceProvider.h> +#include <src/gpu/ganesh/GrSamplerState.h> +#include <src/gpu/ganesh/GrShaderCaps.h> +#include <src/gpu/ganesh/GrStyle.h> +#include <src/gpu/ganesh/GrSurfaceProxyView.h> +#include <src/gpu/ganesh/GrTexture.h> +#include <src/gpu/ganesh/GrTextureProxy.h> +#include <src/gpu/ganesh/GrThreadSafeCache.h> +#include <src/gpu/ganesh/GrYUVATextureProxies.h> +#include <src/gpu/ganesh/SkGr.h> +#include <src/gpu/ganesh/SurfaceFillContext.h> +#include <src/gpu/ganesh/effects/GrBicubicEffect.h> +#include <src/gpu/ganesh/effects/GrBlendFragmentProcessor.h> +#include <src/gpu/ganesh/effects/GrCustomXfermode.h> +#include <src/gpu/ganesh/effects/GrMatrixConvolutionEffect.h> +#include <src/gpu/ganesh/effects/GrMatrixEffect.h> +#include <src/gpu/ganesh/effects/GrPorterDuffXferProcessor.h> +#include <src/gpu/ganesh/effects/GrSkSLFP.h> +#include <src/gpu/ganesh/effects/GrTextureEffect.h> +#include <src/gpu/ganesh/effects/GrYUVtoRGBEffect.h> +#include <src/gpu/ganesh/geometry/GrPathUtils.h> +#include <src/gpu/ganesh/geometry/GrStyledShape.h> +#include <src/gpu/ganesh/glsl/GrGLSLFragmentShaderBuilder.h> +#include <src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h> +#include <src/gpu/ganesh/glsl/GrGLSLUniformHandler.h> +#include <src/gpu/ganesh/gradients/GrGradientShader.h> +#include <src/gpu/ganesh/text/GrSDFMaskFilter.h> +#include <src/gpu/ganesh/text/GrSDFTControl.h> +#include <src/gpu/ganesh/text/GrTextBlob.h> +#include <src/gpu/ganesh/text/GrTextBlobRedrawCoordinator.h> +#include <src/gpu/ganesh/v1/SurfaceDrawContext_v1.h> #include <src/image/SkImage_Base.h> #include <src/image/SkImage_Gpu.h> #include <src/image/SkImage_Lazy.h> @@ -558,9 +587,11 @@ #include <src/shaders/gradients/SkRadialGradient.h> #include <src/shaders/gradients/SkSweepGradient.h> #include <src/shaders/gradients/SkTwoPointConicalGradient.h> -#include <src/utils/SkBitSet.h> +#include <src/text/gpu/StrikeCache.h> +#include <src/utils/SkBlitterTrace.h> #include <src/utils/SkCanvasStack.h> #include <src/utils/SkCharToGlyphCache.h> +#include <src/utils/SkClipStackUtils.h> #include <src/utils/SkDashPathPriv.h> #include <src/utils/SkFloatToDecimal.h> #include <src/utils/SkJSON.h> @@ -571,9 +602,12 @@ #include <src/utils/SkOSPath.h> #include <src/utils/SkPatchUtils.h> #include <src/utils/SkPolyUtils.h> +#include <src/utils/SkShaderUtils.h> #include <src/utils/SkShadowTessellator.h> #include <src/utils/SkShaperJSONWriter.h> +#include <src/utils/SkTestCanvas.h> #include <src/utils/SkUTF.h> +#include <src/utils/SkVMVisualizer.h> #include <tools/sk_app/WindowContext.h> #endif // PCH_LEVEL >= 3 #if PCH_LEVEL >= 4 diff --git a/external/skia/libvulkan-name.patch.1 b/external/skia/libvulkan-name.patch.1 deleted file mode 100644 index 265d8daa11df..000000000000 --- a/external/skia/libvulkan-name.patch.1 +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/tools/gpu/vk/VkTestUtils.cpp b/tools/gpu/vk/VkTestUtils.cpp -index 5b7e8c29ae..1580136b5c 100644 ---- a/tools/gpu/vk/VkTestUtils.cpp -+++ b/tools/gpu/vk/VkTestUtils.cpp -@@ -13,7 +13,7 @@ - #if defined _WIN32 - #define SK_GPU_TOOLS_VK_LIBRARY_NAME "vulkan-1.dll" - #else -- #define SK_GPU_TOOLS_VK_LIBRARY_NAME "libvulkan.so" -+ #define SK_GPU_TOOLS_VK_LIBRARY_NAME "libvulkan.so.1" - #endif - #endif - diff --git a/external/skia/missing-include.patch.0 b/external/skia/missing-include.patch.0 deleted file mode 100644 index cc898799ed83..000000000000 --- a/external/skia/missing-include.patch.0 +++ /dev/null @@ -1,10 +0,0 @@ ---- include/private/SkTArray.h -+++ include/private/SkTArray.h -@@ -17,6 +17,7 @@ - #include "include/private/SkTo.h" - - #include <string.h> -+#include <algorithm> - #include <initializer_list> - #include <memory> - #include <new> diff --git a/external/skia/no-trace-resources-on-exit.patch.1 b/external/skia/no-trace-resources-on-exit.patch.1 index fa563fee21d0..4d52a37dc56c 100644 --- a/external/skia/no-trace-resources-on-exit.patch.1 +++ b/external/skia/no-trace-resources-on-exit.patch.1 @@ -1,7 +1,7 @@ diff --git a/src/gpu/vk/GrVkResource.h b/src/gpu/vk/GrVkResource.h index 7b9949ba1b..4e8fb48c7c 100644 ---- a/src/gpu/GrManagedResource.h -+++ b/src/gpu/GrManagedResource.h +--- a/src/gpu/ganesh/GrManagedResource.h ++++ b/src/gpu/ganesh/GrManagedResource.h @@ -17,7 +17,7 @@ class GrVkGpu; // uncomment to enable tracing of resource refs diff --git a/external/skia/share-grcontext.patch.1 b/external/skia/share-grcontext.patch.1 index f131069e7a1c..2a957c284358 100644 --- a/external/skia/share-grcontext.patch.1 +++ b/external/skia/share-grcontext.patch.1 @@ -1,5 +1,5 @@ diff --git a/tools/sk_app/MetalWindowContext.h b/tools/sk_app/MetalWindowContext.h -index a9eacdd66f..23604db25b 100644 +index 106d366415..08dc19b5c8 100644 --- a/tools/sk_app/MetalWindowContext.h +++ b/tools/sk_app/MetalWindowContext.h @@ -14,13 +14,18 @@ @@ -59,7 +59,7 @@ index a9eacdd66f..23604db25b 100644 } // namespace sk_app diff --git a/tools/sk_app/MetalWindowContext.mm b/tools/sk_app/MetalWindowContext.mm -index c464c3904a..799aafa78b 100644 +index d972e321a6..9f576944b7 100644 --- a/tools/sk_app/MetalWindowContext.mm +++ b/tools/sk_app/MetalWindowContext.mm @@ -37,24 +37,30 @@ NSURL* MetalWindowContext::CacheURL() { @@ -241,23 +241,26 @@ index c464c3904a..799aafa78b 100644 + } //namespace sk_app diff --git a/tools/sk_app/VulkanWindowContext.cpp b/tools/sk_app/VulkanWindowContext.cpp -index d07d5a4274..2b36d60076 100644 +index c9db528ca4..634034da5a 100644 --- a/tools/sk_app/VulkanWindowContext.cpp +++ b/tools/sk_app/VulkanWindowContext.cpp -@@ -24,8 +24,10 @@ - #undef CreateSemaphore +@@ -25,9 +25,13 @@ #endif --#define GET_PROC(F) f ## F = (PFN_vk ## F) fGetInstanceProcAddr(fInstance, "vk" #F) --#define GET_DEV_PROC(F) f ## F = (PFN_vk ## F) fGetDeviceProcAddr(fDevice, "vk" #F) -+#define GET_PROC(F) f ## F = (PFN_vk ## F) fGetInstanceProcAddr(fShared->fInstance, "vk" #F) -+#define GET_DEV_PROC(F) f ## F = (PFN_vk ## F) fGetDeviceProcAddr(fShared->fDevice, "vk" #F) -+#define GET_PROC_GLOBAL(F) fGlobalShared->f ## F = (PFN_vk ## F) fGetInstanceProcAddr(fGlobalShared->fInstance, "vk" #F) -+#define GET_DEV_PROC_GLOBAL(F) fGlobalShared->f ## F = (PFN_vk ## F) fGetDeviceProcAddr(fGlobalShared->fDevice, "vk" #F) + #define GET_PROC(F) f ## F = \ +- (PFN_vk ## F) backendContext.fGetProc("vk" #F, fInstance, VK_NULL_HANDLE) ++ (PFN_vk ## F) fGlobalShared->backendContext.fGetProc("vk" #F, fShared->fInstance, VK_NULL_HANDLE) + #define GET_DEV_PROC(F) f ## F = \ +- (PFN_vk ## F) backendContext.fGetProc("vk" #F, VK_NULL_HANDLE, fDevice) ++ (PFN_vk ## F) fGlobalShared->backendContext.fGetProc("vk" #F, VK_NULL_HANDLE, fShared->fDevice) ++#define GET_PROC_GLOBAL(F) fGlobalShared->f ## F = \ ++ (PFN_vk ## F) fGlobalShared->backendContext.fGetProc("vk" #F, fGlobalShared->fInstance, VK_NULL_HANDLE) ++#define GET_DEV_PROC_GLOBAL(F) fGlobalShared->f ## F = \ ++ (PFN_vk ## F) fGlobalShared->backendContext.fGetProc("vk" #F, VK_NULL_HANDLE, fGlobalShared->fDevice) namespace sk_app { -@@ -49,6 +51,14 @@ VulkanWindowContext::VulkanWindowContext(const DisplayParams& params, +@@ -49,31 +53,39 @@ VulkanWindowContext::VulkanWindowContext(const DisplayParams& params, } void VulkanWindowContext::initializeContext() { @@ -272,15 +275,16 @@ index d07d5a4274..2b36d60076 100644 SkASSERT(!fContext); // any config code here (particularly for msaa)? -@@ -63,24 +73,25 @@ void VulkanWindowContext::initializeContext() { - }; - GrVkBackendContext backendContext; + PFN_vkGetInstanceProcAddr getInstanceProc = fGetInstanceProcAddr; +- GrVkBackendContext backendContext; ++ GrVkBackendContext& backendContext = fGlobalShared->backendContext; GrVkExtensions extensions; - VkPhysicalDeviceFeatures2 features; -- if (!sk_gpu_test::CreateVkBackendContext(getProc, &backendContext, &extensions, &features, -- &fDebugCallback, &fPresentQueueIndex, fCanPresentFn)) { +- if (!sk_gpu_test::CreateVkBackendContext(getInstanceProc, &backendContext, &extensions, +- &features, &fDebugCallback, &fPresentQueueIndex, +- fCanPresentFn)) { - sk_gpu_test::FreeVulkanFeaturesStructs(&features); -+ if (!sk_gpu_test::CreateVkBackendContext(getProc, &backendContext, &extensions, &d->features, ++ if (!sk_gpu_test::CreateVkBackendContext(getInstanceProc, &backendContext, &extensions, &d->features, + &d->fDebugCallback, &d->fPresentQueueIndex, fCanPresentFn)) { + sk_gpu_test::FreeVulkanFeaturesStructs(&d->features); + fGlobalShared.reset(); @@ -308,7 +312,7 @@ index d07d5a4274..2b36d60076 100644 PFN_vkGetPhysicalDeviceProperties localGetPhysicalDeviceProperties = reinterpret_cast<PFN_vkGetPhysicalDeviceProperties>( -@@ -88,21 +99,30 @@ void VulkanWindowContext::initializeContext() { +@@ -81,21 +93,30 @@ void VulkanWindowContext::initializeContext() { backendContext.fInstance, VK_NULL_HANDLE)); if (!localGetPhysicalDeviceProperties) { @@ -347,7 +351,7 @@ index d07d5a4274..2b36d60076 100644 GET_PROC(DestroySurfaceKHR); GET_PROC(GetPhysicalDeviceSurfaceSupportKHR); GET_PROC(GetPhysicalDeviceSurfaceCapabilitiesKHR); -@@ -110,7 +130,6 @@ void VulkanWindowContext::initializeContext() { +@@ -103,7 +124,6 @@ void VulkanWindowContext::initializeContext() { GET_PROC(GetPhysicalDeviceSurfacePresentModesKHR); GET_DEV_PROC(DeviceWaitIdle); GET_DEV_PROC(QueueWaitIdle); @@ -355,7 +359,7 @@ index d07d5a4274..2b36d60076 100644 GET_DEV_PROC(CreateSwapchainKHR); GET_DEV_PROC(DestroySwapchainKHR); GET_DEV_PROC(GetSwapchainImagesKHR); -@@ -118,46 +137,44 @@ void VulkanWindowContext::initializeContext() { +@@ -111,46 +131,44 @@ void VulkanWindowContext::initializeContext() { GET_DEV_PROC(QueuePresentKHR); GET_DEV_PROC(GetDeviceQueue); @@ -412,7 +416,7 @@ index d07d5a4274..2b36d60076 100644 nullptr); if (VK_SUCCESS != res) { return false; -@@ -165,14 +182,14 @@ bool VulkanWindowContext::createSwapchain(int width, int height, +@@ -158,14 +176,14 @@ bool VulkanWindowContext::createSwapchain(int width, int height, SkAutoMalloc surfaceFormatAlloc(surfaceFormatCount * sizeof(VkSurfaceFormatKHR)); VkSurfaceFormatKHR* surfaceFormats = (VkSurfaceFormatKHR*)surfaceFormatAlloc.get(); @@ -429,7 +433,7 @@ index d07d5a4274..2b36d60076 100644 nullptr); if (VK_SUCCESS != res) { return false; -@@ -180,7 +197,7 @@ bool VulkanWindowContext::createSwapchain(int width, int height, +@@ -173,7 +191,7 @@ bool VulkanWindowContext::createSwapchain(int width, int height, SkAutoMalloc presentModeAlloc(presentModeCount * sizeof(VkPresentModeKHR)); VkPresentModeKHR* presentModes = (VkPresentModeKHR*)presentModeAlloc.get(); @@ -438,7 +442,7 @@ index d07d5a4274..2b36d60076 100644 presentModes); if (VK_SUCCESS != res) { return false; -@@ -293,8 +310,8 @@ bool VulkanWindowContext::createSwapchain(int width, int height, +@@ -286,8 +304,8 @@ bool VulkanWindowContext::createSwapchain(int width, int height, swapchainCreateInfo.imageArrayLayers = 1; swapchainCreateInfo.imageUsage = usageFlags; @@ -449,7 +453,7 @@ index d07d5a4274..2b36d60076 100644 swapchainCreateInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT; swapchainCreateInfo.queueFamilyIndexCount = 2; swapchainCreateInfo.pQueueFamilyIndices = queueFamilies; -@@ -310,27 +327,27 @@ bool VulkanWindowContext::createSwapchain(int width, int height, +@@ -303,27 +321,27 @@ bool VulkanWindowContext::createSwapchain(int width, int height, swapchainCreateInfo.clipped = true; swapchainCreateInfo.oldSwapchain = fSwapchain; @@ -482,7 +486,7 @@ index d07d5a4274..2b36d60076 100644 } return true; -@@ -339,10 +356,10 @@ bool VulkanWindowContext::createSwapchain(int width, int height, +@@ -332,10 +350,10 @@ bool VulkanWindowContext::createSwapchain(int width, int height, bool VulkanWindowContext::createBuffers(VkFormat format, VkImageUsageFlags usageFlags, SkColorType colorType, VkSharingMode sharingMode) { @@ -495,7 +499,7 @@ index d07d5a4274..2b36d60076 100644 // set up initial image layouts and create surfaces fImageLayouts = new VkImageLayout[fImageCount]; -@@ -358,7 +375,7 @@ bool VulkanWindowContext::createBuffers(VkFormat format, VkImageUsageFlags usage +@@ -351,7 +369,7 @@ bool VulkanWindowContext::createBuffers(VkFormat format, VkImageUsageFlags usage info.fFormat = format; info.fImageUsageFlags = usageFlags; info.fLevelCount = 1; @@ -504,7 +508,7 @@ index d07d5a4274..2b36d60076 100644 info.fSharingMode = sharingMode; if (usageFlags & VK_IMAGE_USAGE_SAMPLED_BIT) { -@@ -394,8 +411,8 @@ bool VulkanWindowContext::createBuffers(VkFormat format, VkImageUsageFlags usage +@@ -387,8 +405,8 @@ bool VulkanWindowContext::createBuffers(VkFormat format, VkImageUsageFlags usage fBackbuffers = new BackbufferInfo[fImageCount + 1]; for (uint32_t i = 0; i < fImageCount + 1; ++i) { fBackbuffers[i].fImageIndex = -1; @@ -515,7 +519,7 @@ index d07d5a4274..2b36d60076 100644 &fBackbuffers[i].fRenderSemaphore)); SkASSERT(result == VK_SUCCESS); } -@@ -408,8 +425,8 @@ void VulkanWindowContext::destroyBuffers() { +@@ -401,8 +419,8 @@ void VulkanWindowContext::destroyBuffers() { if (fBackbuffers) { for (uint32_t i = 0; i < fImageCount + 1; ++i) { fBackbuffers[i].fImageIndex = -1; @@ -526,7 +530,7 @@ index d07d5a4274..2b36d60076 100644 fBackbuffers[i].fRenderSemaphore, nullptr)); } -@@ -434,42 +451,59 @@ VulkanWindowContext::~VulkanWindowContext() { +@@ -427,42 +445,59 @@ VulkanWindowContext::~VulkanWindowContext() { void VulkanWindowContext::destroyContext() { if (this->isValid()) { fQueueWaitIdle(fPresentQueue); @@ -600,7 +604,7 @@ index d07d5a4274..2b36d60076 100644 } VulkanWindowContext::BackbufferInfo* VulkanWindowContext::getAvailableBackbuffer() { -@@ -495,35 +529,35 @@ sk_sp<SkSurface> VulkanWindowContext::getBackbufferSurface() { +@@ -488,35 +523,35 @@ sk_sp<SkSurface> VulkanWindowContext::getBackbufferSurface() { semaphoreInfo.pNext = nullptr; semaphoreInfo.flags = 0; VkSemaphore semaphore; @@ -642,7 +646,7 @@ index d07d5a4274..2b36d60076 100644 return nullptr; } } -@@ -549,7 +583,7 @@ void VulkanWindowContext::swapBuffers() { +@@ -542,7 +577,7 @@ void VulkanWindowContext::swapBuffers() { GrFlushInfo info; info.fNumSemaphores = 1; info.fSignalSemaphores = &beSemaphore; @@ -651,7 +655,7 @@ index d07d5a4274..2b36d60076 100644 surface->flush(info, &presentState); surface->recordingContext()->asDirectContext()->submit(); -@@ -569,4 +603,6 @@ void VulkanWindowContext::swapBuffers() { +@@ -562,4 +597,6 @@ void VulkanWindowContext::swapBuffers() { fQueuePresentKHR(fPresentQueue, &presentInfo); } @@ -659,7 +663,7 @@ index d07d5a4274..2b36d60076 100644 + } //namespace sk_app diff --git a/tools/sk_app/VulkanWindowContext.h b/tools/sk_app/VulkanWindowContext.h -index 580dba2733..92bfba6dff 100644 +index 7e1fdd9af5..946bca7522 100644 --- a/tools/sk_app/VulkanWindowContext.h +++ b/tools/sk_app/VulkanWindowContext.h @@ -19,18 +19,22 @@ @@ -689,7 +693,7 @@ index 580dba2733..92bfba6dff 100644 this->createSwapchain(w, h, fDisplayParams); @@ -50,9 +54,15 @@ public: VulkanWindowContext(const DisplayParams&, CreateVkSurfaceFn, CanPresentFn, - PFN_vkGetInstanceProcAddr, PFN_vkGetDeviceProcAddr); + PFN_vkGetInstanceProcAddr); + static const VkPhysicalDeviceProperties& getPhysDeviceProperties() { + assert( fGlobalShared != nullptr ); @@ -715,7 +719,7 @@ index 580dba2733..92bfba6dff 100644 // Create functions CreateVkSurfaceFn fCreateVkSurfaceFn; CanPresentFn fCanPresentFn; -@@ -90,20 +95,44 @@ private: +@@ -88,20 +93,46 @@ private: PFN_vkAcquireNextImageKHR fAcquireNextImageKHR = nullptr; PFN_vkQueuePresentKHR fQueuePresentKHR = nullptr; @@ -748,6 +752,8 @@ index 580dba2733..92bfba6dff 100644 + + // Store this to make it accessible. + VkPhysicalDeviceProperties physDeviceProperties; ++ ++ GrVkBackendContext backendContext; + uint32_t fGraphicsQueueIndex; VkQueue fGraphicsQueue; @@ -766,7 +772,7 @@ index 580dba2733..92bfba6dff 100644 uint32_t fImageCount; diff --git a/tools/sk_app/WindowContext.h b/tools/sk_app/WindowContext.h -index 79f6d72f35..01d0e18f46 100644 +index 65ab8b9aa4..2d222385a3 100644 --- a/tools/sk_app/WindowContext.h +++ b/tools/sk_app/WindowContext.h @@ -10,9 +10,9 @@ @@ -779,7 +785,7 @@ index 79f6d72f35..01d0e18f46 100644 -class GrDirectContext; class SkSurface; #ifdef SK_GRAPHITE_ENABLED - namespace skgpu { + namespace skgpu::graphite { diff --git a/tools/sk_app/mac/MetalWindowContext_mac.mm b/tools/sk_app/mac/MetalWindowContext_mac.mm index 5bea8578fa..f7df061af0 100644 --- a/tools/sk_app/mac/MetalWindowContext_mac.mm @@ -801,7 +807,7 @@ index 5bea8578fa..f7df061af0 100644 // resize ignores the passed values and uses the fMainView directly. diff --git a/tools/sk_app/unix/VulkanWindowContext_unix.cpp b/tools/sk_app/unix/VulkanWindowContext_unix.cpp -index 34f6640c76..5478b75dac 100644 +index 2b31fedc19..0c05fbfc92 100644 --- a/tools/sk_app/unix/VulkanWindowContext_unix.cpp +++ b/tools/sk_app/unix/VulkanWindowContext_unix.cpp @@ -30,7 +30,7 @@ std::unique_ptr<WindowContext> MakeVulkanForXlib(const XlibWindowInfo& info, @@ -826,17 +832,17 @@ index 34f6640c76..5478b75dac 100644 @@ -76,7 +79,7 @@ std::unique_ptr<WindowContext> MakeVulkanForXlib(const XlibWindowInfo& info, }; std::unique_ptr<WindowContext> ctx( - new VulkanWindowContext(displayParams, createVkSurface, canPresent, instProc, devProc)); + new VulkanWindowContext(displayParams, createVkSurface, canPresent, instProc)); - if (!ctx->isValid()) { + if (!ctx->isValid() && createVkSurface != nullptr) { return nullptr; } return ctx; diff --git a/tools/sk_app/win/VulkanWindowContext_win.cpp b/tools/sk_app/win/VulkanWindowContext_win.cpp -index 909c96127b..35e063ae28 100644 +index 976c42556e..c8f6b162bf 100644 --- a/tools/sk_app/win/VulkanWindowContext_win.cpp +++ b/tools/sk_app/win/VulkanWindowContext_win.cpp -@@ -30,7 +30,7 @@ std::unique_ptr<WindowContext> MakeVulkanForWin(HWND hwnd, const DisplayParams& +@@ -29,7 +29,7 @@ std::unique_ptr<WindowContext> MakeVulkanForWin(HWND hwnd, const DisplayParams& return nullptr; } @@ -845,7 +851,7 @@ index 909c96127b..35e063ae28 100644 static PFN_vkCreateWin32SurfaceKHR createWin32SurfaceKHR = nullptr; if (!createWin32SurfaceKHR) { createWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR) -@@ -54,6 +54,9 @@ std::unique_ptr<WindowContext> MakeVulkanForWin(HWND hwnd, const DisplayParams& +@@ -53,6 +53,9 @@ std::unique_ptr<WindowContext> MakeVulkanForWin(HWND hwnd, const DisplayParams& return surface; }; @@ -855,10 +861,10 @@ index 909c96127b..35e063ae28 100644 auto canPresent = [instProc] (VkInstance instance, VkPhysicalDevice physDev, uint32_t queueFamilyIndex) { -@@ -71,7 +74,7 @@ std::unique_ptr<WindowContext> MakeVulkanForWin(HWND hwnd, const DisplayParams& +@@ -70,7 +73,7 @@ std::unique_ptr<WindowContext> MakeVulkanForWin(HWND hwnd, const DisplayParams& std::unique_ptr<WindowContext> ctx( - new VulkanWindowContext(params, createVkSurface, canPresent, instProc, devProc)); + new VulkanWindowContext(params, createVkSurface, canPresent, instProc)); - if (!ctx->isValid()) { + if (!ctx->isValid() && createVkSurface != nullptr) { return nullptr; diff --git a/external/skia/source/skia_opts.cxx b/external/skia/source/skia_opts.cxx index 9bfe04e14459..be728d600111 100644 --- a/external/skia/source/skia_opts.cxx +++ b/external/skia/source/skia_opts.cxx @@ -5,6 +5,8 @@ #include <skia_opts.hxx> +#include "include/private/SkOnce.h" + #if defined __GNUC__ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wshadow" diff --git a/external/skia/ubsan.patch.0 b/external/skia/ubsan.patch.1 similarity index 57% rename from external/skia/ubsan.patch.0 rename to external/skia/ubsan.patch.1 index c249b02f3f14..005fdfebf639 100644 --- a/external/skia/ubsan.patch.0 +++ b/external/skia/ubsan.patch.1 @@ -1,6 +1,8 @@ ---- include/private/GrContext_Base.h -+++ include/private/GrContext_Base.h -@@ -20,7 +20,7 @@ +diff --git a/include/private/gpu/ganesh/GrContext_Base.h b/include/private/gpu/ganesh/GrContext_Base.h +index 847e76f232..e27d9454f8 100644 +--- a/include/private/gpu/ganesh/GrContext_Base.h ++++ b/include/private/gpu/ganesh/GrContext_Base.h +@@ -20,7 +20,7 @@ class GrDirectContext; class GrImageContext; class GrRecordingContext; @@ -9,7 +11,7 @@ public: ~GrContext_Base() override; -@@ -32,7 +32,7 @@ +@@ -32,7 +32,7 @@ public: /* * The 3D API backing this context */ @@ -18,7 +20,7 @@ /* * Retrieve the default GrBackendFormat for a given SkColorType and renderability. -@@ -41,9 +41,9 @@ +@@ -41,16 +41,16 @@ public: * * The caller should check that the returned format is valid. */ @@ -28,5 +30,13 @@ - SK_API GrBackendFormat compressedBackendFormat(SkImage::CompressionType) const; + GrBackendFormat compressedBackendFormat(SkImage::CompressionType) const; + /** + * Gets the maximum supported sample count for a color type. 1 is returned if only non-MSAA + * rendering is supported for the color type. 0 is returned if rendering to this color type + * is not supported at all. + */ +- SK_API int maxSurfaceSampleCountForColorType(SkColorType colorType) const; ++ int maxSurfaceSampleCountForColorType(SkColorType colorType) const; + // TODO: When the public version is gone, rename to refThreadSafeProxy and add raw ptr ver. sk_sp<GrContextThreadSafeProxy> threadSafeProxy(); diff --git a/external/skia/vk_mem_alloc.patch.1 b/external/skia/vk_mem_alloc.patch.1 new file mode 100644 index 000000000000..94f2504cbd52 --- /dev/null +++ b/external/skia/vk_mem_alloc.patch.1 @@ -0,0 +1,19639 @@ +diff --git a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h +index 1c6212bd47..756175b4e7 100644 +--- a/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h ++++ b/third_party/vulkanmemoryallocator/GrVulkanMemoryAllocator.h +@@ -32,7 +32,7 @@ + #define VULKAN_H_ + #define GR_NEEDED_TO_DEFINE_VULKAN_H + #endif +-#include "vk_mem_alloc.h" ++#include "include/vk_mem_alloc.h" + #ifdef GR_NEEDED_TO_DEFINE_VULKAN_H + #undef VULKAN_H_ + #endif +diff --git a/third_party/vulkanmemoryallocator/include/LICENSE.txt b/third_party/vulkanmemoryallocator/include/LICENSE.txt +new file mode 100644 +index 0000000000..dbfe253391 +--- /dev/null ++++ b/third_party/vulkanmemoryallocator/include/LICENSE.txt +@@ -0,0 +1,19 @@ ++Copyright (c) 2017-2018 Advanced Micro Devices, Inc. All rights reserved. ++ ++Permission is hereby granted, free of charge, to any person obtaining a copy ++of this software and associated documentation files (the "Software"), to deal ++in the Software without restriction, including without limitation the rights ++to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++copies of the Software, and to permit persons to whom the Software is ++furnished to do so, subject to the following conditions: ++ ++The above copyright notice and this permission notice shall be included in ++all copies or substantial portions of the Software. ++ ++THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++THE SOFTWARE. +diff --git a/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h b/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h +new file mode 100644 +index 0000000000..90410b56af +--- /dev/null ++++ b/third_party/vulkanmemoryallocator/include/vk_mem_alloc.h +@@ -0,0 +1,19595 @@ ++// ++// Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. ++// ++// Permission is hereby granted, free of charge, to any person obtaining a copy ++// of this software and associated documentation files (the "Software"), to deal ++// in the Software without restriction, including without limitation the rights ++// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++// copies of the Software, and to permit persons to whom the Software is ++// furnished to do so, subject to the following conditions: ++// ++// The above copyright notice and this permission notice shall be included in ++// all copies or substantial portions of the Software. ++// ++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++// THE SOFTWARE. ++// ++ ++#ifndef AMD_VULKAN_MEMORY_ALLOCATOR_H ++#define AMD_VULKAN_MEMORY_ALLOCATOR_H ++ ++/** \mainpage Vulkan Memory Allocator ++ ++<b>Version 3.0.1-development (2022-03-28)</b> ++ ++Copyright (c) 2017-2022 Advanced Micro Devices, Inc. All rights reserved. \n ++License: MIT ++ ++<b>API documentation divided into groups:</b> [Modules](modules.html) ++ ++\section main_table_of_contents Table of contents ++ ++- <b>User guide</b> ++ - \subpage quick_start ++ - [Project setup](@ref quick_start_project_setup) ++ - [Initialization](@ref quick_start_initialization) ++ - [Resource allocation](@ref quick_start_resource_allocation) ++ - \subpage choosing_memory_type ++ - [Usage](@ref choosing_memory_type_usage) ++ - [Required and preferred flags](@ref choosing_memory_type_required_preferred_flags) ++ - [Explicit memory types](@ref choosing_memory_type_explicit_memory_types) ++ - [Custom memory pools](@ref choosing_memory_type_custom_memory_pools) ++ - [Dedicated allocations](@ref choosing_memory_type_dedicated_allocations) ++ - \subpage memory_mapping ++ - [Mapping functions](@ref memory_mapping_mapping_functions) ++ - [Persistently mapped memory](@ref memory_mapping_persistently_mapped_memory) ++ - [Cache flush and invalidate](@ref memory_mapping_cache_control) ++ - \subpage staying_within_budget ++ - [Querying for budget](@ref staying_within_budget_querying_for_budget) ++ - [Controlling memory usage](@ref staying_within_budget_controlling_memory_usage) ++ - \subpage resource_aliasing ++ - \subpage custom_memory_pools ++ - [Choosing memory type index](@ref custom_memory_pools_MemTypeIndex) ++ - [Linear allocation algorithm](@ref linear_algorithm) ++ - [Free-at-once](@ref linear_algorithm_free_at_once) ++ - [Stack](@ref linear_algorithm_stack) ++ - [Double stack](@ref linear_algorithm_double_stack) ++ - [Ring buffer](@ref linear_algorithm_ring_buffer) ++ - \subpage defragmentation ++ - \subpage statistics ++ - [Numeric statistics](@ref statistics_numeric_statistics) ++ - [JSON dump](@ref statistics_json_dump) ++ - \subpage allocation_annotation ++ - [Allocation user data](@ref allocation_user_data) ++ - [Allocation names](@ref allocation_names) ++ - \subpage virtual_allocator ++ - \subpage debugging_memory_usage ++ - [Memory initialization](@ref debugging_memory_usage_initialization) ++ - [Margins](@ref debugging_memory_usage_margins) ++ - [Corruption detection](@ref debugging_memory_usage_corruption_detection) ++ - \subpage opengl_interop ++- \subpage usage_patterns ++ - [GPU-only resource](@ref usage_patterns_gpu_only) ++ - [Staging copy for upload](@ref usage_patterns_staging_copy_upload) ++ - [Readback](@ref usage_patterns_readback) ++ - [Advanced data uploading](@ref usage_patterns_advanced_data_uploading) ++ - [Other use cases](@ref usage_patterns_other_use_cases) ++- \subpage configuration ++ - [Pointers to Vulkan functions](@ref config_Vulkan_functions) ++ - [Custom host memory allocator](@ref custom_memory_allocator) ++ - [Device memory allocation callbacks](@ref allocation_callbacks) ++ - [Device heap memory limit](@ref heap_memory_limit) ++- <b>Extension support</b> ++ - \subpage vk_khr_dedicated_allocation ++ - \subpage enabling_buffer_device_address ++ - \subpage vk_ext_memory_priority ++ - \subpage vk_amd_device_coherent_memory ++- \subpage general_considerations ++ - [Thread safety](@ref general_considerations_thread_safety) ++ - [Versioning and compatibility](@ref general_considerations_versioning_and_compatibility) ++ - [Validation layer warnings](@ref general_considerations_validation_layer_warnings) ++ - [Allocation algorithm](@ref general_considerations_allocation_algorithm) ++ - [Features not supported](@ref general_considerations_features_not_supported) ++ ++\section main_see_also See also ++ ++- [**Product page on GPUOpen**](https://gpuopen.com/gaming-product/vulkan-memory-allocator/) ++- [**Source repository on GitHub**](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) ++ ++\defgroup group_init Library initialization ++ ++\brief API elements related to the initialization and management of the entire library, especially #VmaAllocator object. ++ ++\defgroup group_alloc Memory allocation ++ ++\brief API elements related to the allocation, deallocation, and management of Vulkan memory, buffers, images. ++Most basic ones being: vmaCreateBuffer(), vmaCreateImage(). ++ ++\defgroup group_virtual Virtual allocator ++ ++\brief API elements related to the mechanism of \ref virtual_allocator - using the core allocation algorithm ++for user-defined purpose without allocating any real GPU memory. ++ ++\defgroup group_stats Statistics ++ ++\brief API elements that query current status of the allocator, from memory usage, budget, to full dump of the internal state in JSON format. ++See documentation chapter: \ref statistics. ++*/ ++ ++ ++#ifdef __cplusplus ++extern "C" { ++#endif ++ ++#ifndef VULKAN_H_ ++ #include <vulkan/vulkan.h> ++#endif ++ ++// Define this macro to declare maximum supported Vulkan version in format AAABBBCCC, ++// where AAA = major, BBB = minor, CCC = patch. ++// If you want to use version > 1.0, it still needs to be enabled via VmaAllocatorCreateInfo::vulkanApiVersion. ++#if !defined(VMA_VULKAN_VERSION) ++ #if defined(VK_VERSION_1_3) ++ #define VMA_VULKAN_VERSION 1003000 ++ #elif defined(VK_VERSION_1_2) ++ #define VMA_VULKAN_VERSION 1002000 ++ #elif defined(VK_VERSION_1_1) ++ #define VMA_VULKAN_VERSION 1001000 ++ #else ++ #define VMA_VULKAN_VERSION 1000000 ++ #endif ++#endif ++ ++#if defined(__ANDROID__) && defined(VK_NO_PROTOTYPES) && VMA_STATIC_VULKAN_FUNCTIONS ++ extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr; ++ extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr; ++ extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties; ++ extern PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties; ++ extern PFN_vkAllocateMemory vkAllocateMemory; ++ extern PFN_vkFreeMemory vkFreeMemory; ++ extern PFN_vkMapMemory vkMapMemory; ++ extern PFN_vkUnmapMemory vkUnmapMemory; ++ extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges; ++ extern PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges; ++ extern PFN_vkBindBufferMemory vkBindBufferMemory; ++ extern PFN_vkBindImageMemory vkBindImageMemory; ++ extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements; ++ extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements; ++ extern PFN_vkCreateBuffer vkCreateBuffer; ++ extern PFN_vkDestroyBuffer vkDestroyBuffer; ++ extern PFN_vkCreateImage vkCreateImage; ++ extern PFN_vkDestroyImage vkDestroyImage; ++ extern PFN_vkCmdCopyBuffer vkCmdCopyBuffer; ++ #if VMA_VULKAN_VERSION >= 1001000 ++ extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2; ++ extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2; ++ extern PFN_vkBindBufferMemory2 vkBindBufferMemory2; ... etc. - the rest is truncated