diff --git a/dhall/sourceTreeParts.dhall b/dhall/sourceTreeParts.dhall index 9a47388..0f6811c 100644 --- a/dhall/sourceTreeParts.dhall +++ b/dhall/sourceTreeParts.dhall @@ -397,7 +397,6 @@ let skia = ] : List Text } , defines = {, local = [ - , "SK_TRIVIAL_ABI=\\[\\[clang::trivial_abi\\]\\]" , "SK_GAMMA_APPLY_TO_A8" , "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1" , "GR_TEST_UTILS=1" @@ -440,6 +439,15 @@ let skia = ] : List Text} , cxxflags = { , global = [ + , "-ffp-contract=off" -- standard compliant fp processing + , "-fstrict-aliasing" -- is on on >=O2 optimization + , "-fPIC" + , "-fvisibility=hidden" + , "-fdata-sections" + , "-ffunction-sections" + , "-fvisibility-inlines-hidden" + , "-fno-exceptions" + , "-fno-rtti" ] : List Text , local = [ , "-Wno-unused-parameter" @@ -592,7 +600,6 @@ let skiaSdl = \(asan : Bool) -> } , defines = {, local = [ , "SK_DEBUG" - , "SK_TRIVIAL_ABI=\\[\\[clang::trivial_abi\\]\\]" , "SK_GAMMA_APPLY_TO_A8" , "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1" --, "GR_TEST_UTILS=1" diff --git a/skia/CMakeLists.txt b/skia/CMakeLists.txt index dec06b7..6bd79d9 100644 --- a/skia/CMakeLists.txt +++ b/skia/CMakeLists.txt @@ -95,6 +95,7 @@ target_compile_options(imguiTextedit PUBLIC -Wno-unused-variable) add_library(skiaSdl OBJECT "${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/imgui_impl_opengl3.cpp" "${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/imgui_impl_sdl3.cpp" "${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/main.cpp" +"${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/app.cpp" "${CMAKE_CURRENT_LIST_DIR}/./skia/paragraph.cpp" "${CMAKE_CURRENT_LIST_DIR}/./skia/cliOptions.cpp" "${CMAKE_CURRENT_LIST_DIR}/./skia/setupUI.cpp" @@ -104,7 +105,6 @@ add_library(skiaSdl OBJECT "${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/imgui_impl_ope "${CMAKE_CURRENT_LIST_DIR}/./contrib/skia/src/gpu/ganesh/gl/GrGLUtil.cpp") target_compile_options(skiaSdl PUBLIC -Wno-unused-parameter) target_compile_definitions(skiaSdl PUBLIC SK_DEBUG -SK_TRIVIAL_ABI=\[\[clang::trivial_abi\]\] SK_GAMMA_APPLY_TO_A8 SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1 SK_TYPEFACE_FACTORY_FREETYPE diff --git a/skia/skia/sdl3/app.cpp b/skia/skia/sdl3/app.cpp index d0d4572..c58f952 100644 --- a/skia/skia/sdl3/app.cpp +++ b/skia/skia/sdl3/app.cpp @@ -520,4 +520,12 @@ int App::Run(CliOptions &opts) { return 0; } -App::App() = default; +App::App() { + fTotalVectorCmdSerializedSize = 0; + fSkpBytesWritten = 0; + fSvgBytesWritten = 0; + fPngBytesWritten = 0; + fBackgroundColor = SK_ColorRED; + fFffiInterpreter = false; + fUseVectorCmd = false; +} \ No newline at end of file diff --git a/skia/skia/sdl3/app.h b/skia/skia/sdl3/app.h index 7154491..8f43181 100644 --- a/skia/skia/sdl3/app.h +++ b/skia/skia/sdl3/app.h @@ -15,14 +15,14 @@ class App { void Paint(SkSurface* surface, int width, int height); void DrawImGuiVectorCmdsFB(SkCanvas &canvas); - SkPaint fFontPaint{}; - VectorCmdSkiaRenderer fVectorCmdSkiaRenderer{}; - size_t fTotalVectorCmdSerializedSize{}; - size_t fSkpBytesWritten{}; - size_t fSvgBytesWritten{}; - size_t fPngBytesWritten{}; - ImZeroSkiaSetupUI fImZeroSkiaSetupUi{}; - bool fFffiInterpreter{}; - SkColor fBackgroundColor{}; - bool fUseVectorCmd{}; + SkPaint fFontPaint; + VectorCmdSkiaRenderer fVectorCmdSkiaRenderer; + size_t fTotalVectorCmdSerializedSize; + size_t fSkpBytesWritten; + size_t fSvgBytesWritten; + size_t fPngBytesWritten; + ImZeroSkiaSetupUI fImZeroSkiaSetupUi; + bool fFffiInterpreter; + SkColor fBackgroundColor; + bool fUseVectorCmd; }; \ No newline at end of file diff --git a/skia/skia/vectorCmdSkiaRenderer.cpp b/skia/skia/vectorCmdSkiaRenderer.cpp index e032e7d..c4d68a0 100644 --- a/skia/skia/vectorCmdSkiaRenderer.cpp +++ b/skia/skia/vectorCmdSkiaRenderer.cpp @@ -108,7 +108,7 @@ static SkColor convertColor(uint32_t col) { (col >> IM_COL32_B_SHIFT) & 0xff); #endif } -VectorCmdSkiaRenderer::VectorCmdSkiaRenderer() : fVertexPaint(nullptr),fRenderMode(RenderModeE_Normal) { +VectorCmdSkiaRenderer::VectorCmdSkiaRenderer() : fVertexPaint(nullptr),fRenderMode(RenderModeE_Normal), backdropFilter(nullptr) { #ifdef RENDER_MODE_BACKDROP_FILTER_ENABLED backdropFilter = SkImageFilters::Blur(8, 8, SkTileMode::kClamp, nullptr); #if 0