/* * Copyright 2021 Google LLC * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef skgpu_ShaderErrorHandler_DEFINED #define skgpu_ShaderErrorHandler_DEFINED #include "include/core/SkTypes.h" namespace skgpu { /** * Abstract class to report errors when compiling shaders. */ class SK_API ShaderErrorHandler { public: virtual ~ShaderErrorHandler() = default; virtual void compileError(const char* shader, const char* errors) = 0; protected: ShaderErrorHandler() = default; ShaderErrorHandler(const ShaderErrorHandler&) = delete; ShaderErrorHandler& operator=(const ShaderErrorHandler&) = delete; }; /** * Used when no error handler is set. Will report failures via SkDebugf and asserts. */ ShaderErrorHandler* DefaultShaderErrorHandler(); } // namespace skgpu #endif // skgpu_ShaderErrorHandler_DEFINED