Skip to content

Commit d712993

Browse files
committed
fix: ABI mismatch between skia and imzero_client_cpp (SK_TRIVIAL_ABI macro will be used even when is_trivial_abi is false in build_skia.sh!)
1 parent 7e216be commit d712993

File tree

5 files changed

+30
-15
lines changed

5 files changed

+30
-15
lines changed

dhall/sourceTreeParts.dhall

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,6 @@ let skia =
397397
] : List Text
398398
}
399399
, defines = {, local = [
400-
, "SK_TRIVIAL_ABI=\\[\\[clang::trivial_abi\\]\\]"
401400
, "SK_GAMMA_APPLY_TO_A8"
402401
, "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1"
403402
, "GR_TEST_UTILS=1"
@@ -440,6 +439,15 @@ let skia =
440439
] : List Text}
441440
, cxxflags = {
442441
, global = [
442+
, "-ffp-contract=off" -- standard compliant fp processing
443+
, "-fstrict-aliasing" -- is on on >=O2 optimization
444+
, "-fPIC"
445+
, "-fvisibility=hidden"
446+
, "-fdata-sections"
447+
, "-ffunction-sections"
448+
, "-fvisibility-inlines-hidden"
449+
, "-fno-exceptions"
450+
, "-fno-rtti"
443451
] : List Text
444452
, local = [
445453
, "-Wno-unused-parameter"
@@ -592,7 +600,6 @@ let skiaSdl = \(asan : Bool) ->
592600
}
593601
, defines = {, local = [
594602
, "SK_DEBUG"
595-
, "SK_TRIVIAL_ABI=\\[\\[clang::trivial_abi\\]\\]"
596603
, "SK_GAMMA_APPLY_TO_A8"
597604
, "SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1"
598605
--, "GR_TEST_UTILS=1"

skia/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ target_compile_options(imguiTextedit PUBLIC -Wno-unused-variable)
9595
add_library(skiaSdl OBJECT "${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/imgui_impl_opengl3.cpp"
9696
"${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/imgui_impl_sdl3.cpp"
9797
"${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/main.cpp"
98+
"${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/app.cpp"
9899
"${CMAKE_CURRENT_LIST_DIR}/./skia/paragraph.cpp"
99100
"${CMAKE_CURRENT_LIST_DIR}/./skia/cliOptions.cpp"
100101
"${CMAKE_CURRENT_LIST_DIR}/./skia/setupUI.cpp"
@@ -104,7 +105,6 @@ add_library(skiaSdl OBJECT "${CMAKE_CURRENT_LIST_DIR}/./skia/sdl3/imgui_impl_ope
104105
"${CMAKE_CURRENT_LIST_DIR}/./contrib/skia/src/gpu/ganesh/gl/GrGLUtil.cpp")
105106
target_compile_options(skiaSdl PUBLIC -Wno-unused-parameter)
106107
target_compile_definitions(skiaSdl PUBLIC SK_DEBUG
107-
SK_TRIVIAL_ABI=\[\[clang::trivial_abi\]\]
108108
SK_GAMMA_APPLY_TO_A8
109109
SK_ALLOW_STATIC_GLOBAL_INITIALIZERS=1
110110
SK_TYPEFACE_FACTORY_FREETYPE

skia/skia/sdl3/app.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -520,4 +520,12 @@ int App::Run(CliOptions &opts) {
520520
return 0;
521521
}
522522

523-
App::App() = default;
523+
App::App() {
524+
fTotalVectorCmdSerializedSize = 0;
525+
fSkpBytesWritten = 0;
526+
fSvgBytesWritten = 0;
527+
fPngBytesWritten = 0;
528+
fBackgroundColor = SK_ColorRED;
529+
fFffiInterpreter = false;
530+
fUseVectorCmd = false;
531+
}

skia/skia/sdl3/app.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,14 @@ class App {
1515
void Paint(SkSurface* surface, int width, int height);
1616
void DrawImGuiVectorCmdsFB(SkCanvas &canvas);
1717

18-
SkPaint fFontPaint{};
19-
VectorCmdSkiaRenderer fVectorCmdSkiaRenderer{};
20-
size_t fTotalVectorCmdSerializedSize{};
21-
size_t fSkpBytesWritten{};
22-
size_t fSvgBytesWritten{};
23-
size_t fPngBytesWritten{};
24-
ImZeroSkiaSetupUI fImZeroSkiaSetupUi{};
25-
bool fFffiInterpreter{};
26-
SkColor fBackgroundColor{};
27-
bool fUseVectorCmd{};
18+
SkPaint fFontPaint;
19+
VectorCmdSkiaRenderer fVectorCmdSkiaRenderer;
20+
size_t fTotalVectorCmdSerializedSize;
21+
size_t fSkpBytesWritten;
22+
size_t fSvgBytesWritten;
23+
size_t fPngBytesWritten;
24+
ImZeroSkiaSetupUI fImZeroSkiaSetupUi;
25+
bool fFffiInterpreter;
26+
SkColor fBackgroundColor;
27+
bool fUseVectorCmd;
2828
};

skia/skia/vectorCmdSkiaRenderer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ static SkColor convertColor(uint32_t col) {
108108
(col >> IM_COL32_B_SHIFT) & 0xff);
109109
#endif
110110
}
111-
VectorCmdSkiaRenderer::VectorCmdSkiaRenderer() : fVertexPaint(nullptr),fRenderMode(RenderModeE_Normal) {
111+
VectorCmdSkiaRenderer::VectorCmdSkiaRenderer() : fVertexPaint(nullptr),fRenderMode(RenderModeE_Normal), backdropFilter(nullptr) {
112112
#ifdef RENDER_MODE_BACKDROP_FILTER_ENABLED
113113
backdropFilter = SkImageFilters::Blur(8, 8, SkTileMode::kClamp, nullptr);
114114
#if 0

0 commit comments

Comments
 (0)