tdf#160036 Enable SKSL when using Skia/Raster

Starting with the upgrade of Skia from m111 to m116, SKSL is disabled
by default for Skia/Raster so define SK_RASTER_PIPELINE_OPS_ALL to
enable it.

Also, reenable XOR drawing unit tests that were previously failing.

Change-Id: Ibd10efa0540f1e87123c341b529c8e3931e1a8fb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164933
Tested-by: Jenkins
Reviewed-by: Patrick Luby <guibomacdev@gmail.com>
diff --git a/external/skia/Library_skia.mk b/external/skia/Library_skia.mk
index c2163d2..55af14c 100644
--- a/external/skia/Library_skia.mk
+++ b/external/skia/Library_skia.mk
@@ -23,6 +23,7 @@ $(eval $(call gb_Library_add_defs,skia,\
    -DSK_USER_CONFIG_HEADER="<$(BUILDDIR)/config_host/config_skia.h>" \
    $(if $(filter INTEL,$(CPUNAME)),$(if $(filter WNT,$(OS)),-DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE1,-DSK_CPU_SSE_LEVEL=0)) \
    $(if $(filter X86_64,$(CPUNAME)),-DSK_CPU_SSE_LEVEL=SK_CPU_SSE_LEVEL_SSE2) \
    -DSK_ENABLE_SKSL_IN_RASTER_PIPELINE \
))

# SK_DEBUG controls runtime checks and is controlled by config_skia.h and depends on DBG_UTIL.
@@ -565,6 +566,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
    UnpackedTarball/skia/src/sksl/analysis/SkSLReturnsInputAlpha \
    UnpackedTarball/skia/src/sksl/analysis/SkSLSymbolTableStackBuilder \
    UnpackedTarball/skia/src/sksl/analysis/SkSLSwitchCaseContainsExit \
    UnpackedTarball/skia/src/sksl/analysis/SkSLGetLoopControlFlowInfo \
    UnpackedTarball/skia/src/sksl/analysis/SkSLIsDynamicallyUniformExpression \
    UnpackedTarball/skia/src/sksl/codegen/SkSLGLSLCodeGenerator \
    UnpackedTarball/skia/src/sksl/codegen/SkSLMetalCodeGenerator \
    UnpackedTarball/skia/src/sksl/codegen/SkSLPipelineStageCodeGenerator \
@@ -572,6 +575,8 @@ $(eval $(call gb_Library_add_generated_exception_objects,skia,\
    UnpackedTarball/skia/src/sksl/codegen/SkSLSPIRVtoHLSL \
    UnpackedTarball/skia/src/sksl/codegen/SkSLVMCodeGenerator \
    UnpackedTarball/skia/src/sksl/codegen/SkSLWGSLCodeGenerator \
    UnpackedTarball/skia/src/sksl/codegen/SkSLRasterPipelineBuilder \
    UnpackedTarball/skia/src/sksl/codegen/SkSLRasterPipelineCodeGenerator \
    UnpackedTarball/skia/src/sksl/transform/SkSLAddConstToVarModifiers \
    UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadFunctions \
    UnpackedTarball/skia/src/sksl/transform/SkSLEliminateDeadGlobalVariables \
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport16.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport16.cxx
index febcec9..2ac490d 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport16.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport16.cxx
@@ -30,7 +30,6 @@
#include <unoprnms.hxx>
#include <o3tl/string_view.hxx>
#include <comphelper/scopeguard.hxx>
#include <vcl/skia/SkiaHelper.hxx>
#include <officecfg/Office/Common.hxx>

class Test : public SwModelTestBase
@@ -765,10 +764,6 @@ DECLARE_OOXMLEXPORT_TEST(testTdf136841, "tdf136841.docx")
    CPPUNIT_ASSERT_EQUAL( tools::Long(76), bitmap.GetSizePixel().Width());
    CPPUNIT_ASSERT_EQUAL( tools::Long(76), bitmap.GetSizePixel().Height());

    // FIXME this still has some issues with skia
    if (SkiaHelper::isVCLSkiaEnabled())
        return;

    // Without the fix in place, this test would have failed with
    // - Expected: Color: R:228 G:71 B:69 A:0
    // - Actual  : Color: R:0 G:0 B:0 A:0
diff --git a/vcl/qa/cppunit/BackendTest.cxx b/vcl/qa/cppunit/BackendTest.cxx
index a90a96e..a5b1a15 100644
--- a/vcl/qa/cppunit/BackendTest.cxx
+++ b/vcl/qa/cppunit/BackendTest.cxx
@@ -15,7 +15,6 @@
#include <vcl/graphicfilter.hxx>
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <vcl/BitmapWriteAccess.hxx>
#include <vcl/skia/SkiaHelper.hxx>

#include <svdata.hxx>
#include <salinst.hxx>
@@ -626,9 +625,6 @@ public:
    {
        if (getDefaultDeviceBitCount() < 24)
            return;
        // FIXME this still has some issues with skia
        if (SkiaHelper::isVCLSkiaEnabled())
            return;
        vcl::test::OutputDeviceTestAnotherOutDev aOutDevTest;
        Bitmap aBitmap = aOutDevTest.setupXOR();
        auto eResult = vcl::test::OutputDeviceTestAnotherOutDev::checkXOR(aBitmap);