Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
fuzz
oss_fuzz
FuzzSKSL2GLSL.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2019 Google, LLC
3
*
4
* Use of this source code is governed by a BSD-style license that can be
5
* found in the LICENSE file.
6
*/
7
8
#include "
src/gpu/ganesh/GrShaderCaps.h
"
9
#include "
src/sksl/SkSLCompiler.h
"
10
#include "
src/sksl/SkSLProgramKind.h
"
11
#include "
src/sksl/SkSLProgramSettings.h
"
12
#include "
src/sksl/codegen/SkSLGLSLCodeGenerator.h
"
13
#include "
src/sksl/ir/SkSLProgram.h
"
14
15
#include "
fuzz/Fuzz.h
"
16
17
bool
FuzzSKSL2GLSL
(
const
uint8_t *data,
size_t
size) {
18
SkSL::Compiler
compiler
;
19
SkSL::ProgramSettings
settings;
20
std::unique_ptr<SkSL::Program> program =
21
compiler
.convertProgram(
SkSL::ProgramKind::kFragment
,
22
std::string(
reinterpret_cast<
const
char
*
>
(data), size),
23
settings);
24
std::string output;
25
if
(!program || !
SkSL::ToGLSL
(*program,
SkSL::ShaderCapsFactory::Default
(), &output)) {
26
return
false
;
27
}
28
return
true
;
29
}
30
31
#if defined(SK_BUILD_FOR_LIBFUZZER)
32
extern
"C"
int
LLVMFuzzerTestOneInput
(
const
uint8_t *data,
size_t
size) {
33
if
(size > 3000) {
34
return
0;
35
}
36
FuzzSKSL2GLSL
(data, size);
37
return
0;
38
}
39
#endif
FuzzSKSL2GLSL
bool FuzzSKSL2GLSL(const uint8_t *data, size_t size)
Definition
FuzzSKSL2GLSL.cpp:17
Fuzz.h
GrShaderCaps.h
SkSLCompiler.h
SkSLGLSLCodeGenerator.h
SkSLProgramKind.h
SkSLProgramSettings.h
SkSLProgram.h
SkSL::Compiler
Definition
SkSLCompiler.h:69
SkSL::ShaderCapsFactory::Default
static const ShaderCaps * Default()
Definition
SkSLUtil.h:166
LLVMFuzzerTestOneInput
int LLVMFuzzerTestOneInput(const uint8_t *Data, size_t Size)
Definition
dart_libfuzzer.cc:85
SkSL::ToGLSL
bool ToGLSL(Program &program, const ShaderCaps *caps, OutputStream &out)
Definition
SkSLGLSLCodeGenerator.cpp:2023
SkSL::ProgramKind::kFragment
@ kFragment
compiler
Definition
compiler.py:1
SkSL::ProgramSettings
Definition
SkSLProgramSettings.h:22
Generated on Fri Apr 26 2024 06:15:59 for Flutter Engine by
1.9.8