2021-12-10 22:27:10 +00:00
|
|
|
/*
|
|
|
|
* Copyright 2021 Google LLC
|
|
|
|
*
|
|
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
|
|
* found in the LICENSE file.
|
|
|
|
*/
|
|
|
|
|
2021-12-20 17:37:56 +00:00
|
|
|
#ifndef skgpu_ShaderErrorHandler_DEFINED
|
|
|
|
#define skgpu_ShaderErrorHandler_DEFINED
|
2021-12-10 22:27:10 +00:00
|
|
|
|
|
|
|
#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
|
|
|
|
|
2021-12-20 17:37:56 +00:00
|
|
|
#endif // skgpu_ShaderErrorHandler_DEFINED
|