diff --git a/cmake/setup.cmake b/cmake/setup.cmake index bfacd73..3d2cd84 100644 --- a/cmake/setup.cmake +++ b/cmake/setup.cmake @@ -9,6 +9,11 @@ set(build_icons FALSE) set(need_c_icons FALSE) option(BUILD_SDL_PROGRAMS "build test programs requiring SDL" FALSE) +option(USE_DRAW_POLYGON_FALLBACK "force frontend to use fallback software polygon rasterizer" off) +if(USE_DRAW_POLYGON_FALLBACK) + add_compile_definitions(USE_DRAW_POLYGON_FALLBACK) +endif() + # Don't disable assertions, even in release mode. Our assertions # generally aren't expensive and protect against more annoying crashes # and memory corruption. diff --git a/emcc.c b/emcc.c index b7aeec9..cf12063 100644 --- a/emcc.c +++ b/emcc.c @@ -613,7 +613,11 @@ static const struct drawing_api js_drawing = { js_draw_text, js_draw_rect, js_draw_line, +#ifdef USE_DRAW_POLYGON_FALLBACK + draw_polygon_fallback, +#else js_draw_poly, +#endif js_draw_circle, js_draw_update, js_clip, diff --git a/gtk.c b/gtk.c index dbaa980..1c43ae9 100644 --- a/gtk.c +++ b/gtk.c @@ -1439,7 +1439,11 @@ static const struct drawing_api gtk_drawing = { gtk_draw_text, gtk_draw_rect, gtk_draw_line, +#ifdef USE_DRAW_POLYGON_FALLBACK + draw_polygon_fallback, +#else gtk_draw_poly, +#endif gtk_draw_circle, gtk_draw_update, gtk_clip, diff --git a/nestedvm.c b/nestedvm.c index c13a0b8..3b11dee 100644 --- a/nestedvm.c +++ b/nestedvm.c @@ -184,7 +184,11 @@ const struct drawing_api nestedvm_drawing = { nestedvm_draw_text, nestedvm_draw_rect, nestedvm_draw_line, +#ifdef USE_DRAW_POLYGON_FALLBACK + draw_polygon_fallback, +#else nestedvm_draw_poly, +#endif nestedvm_draw_circle, NULL, // draw_update, nestedvm_clip, diff --git a/osx.m b/osx.m index 88a6510..2340835 100644 --- a/osx.m +++ b/osx.m @@ -1773,7 +1773,11 @@ const struct drawing_api osx_drawing = { osx_draw_text, osx_draw_rect, osx_draw_line, +#ifdef USE_DRAW_POLYGON_FALLBACK + draw_polygon_fallback, +#else osx_draw_polygon, +#endif osx_draw_circle, osx_draw_update, osx_clip, diff --git a/windows.c b/windows.c index 0a02d8a..995046a 100644 --- a/windows.c +++ b/windows.c @@ -899,7 +899,11 @@ const struct drawing_api win_drawing = { win_draw_text, win_draw_rect, win_draw_line, +#ifdef USE_DRAW_POLYGON_FALLBACK + draw_polygon_fallback, +#else win_draw_polygon, +#endif win_draw_circle, win_draw_update, win_clip,