blob: dbd401a0712129ad37ec3f657abcc70de1f2c383 [file]
/*
* Copyright 2014 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef GrGLShaderStringBuilder_DEFINED
#define GrGLShaderStringBuilder_DEFINED
#include "include/core/SkTypes.h"
#include "include/gpu/GrContextOptions.h"
#include "src/gpu/ganesh/GrGpu.h"
#include "src/gpu/ganesh/gl/GrGLContext.h"
#include "src/sksl/codegen/SkSLGLSLCodeGenerator.h"
std::unique_ptr<SkSL::Program> GrSkSLtoGLSL(const GrGLGpu* gpu,
SkSL::ProgramKind programKind,
const std::string& sksl,
const SkSL::ProgramSettings& settings,
std::string* glsl,
GrContextOptions::ShaderErrorHandler* errorHandler);
GrGLuint GrGLCompileAndAttachShader(const GrGLContext& glCtx,
GrGLuint programId,
GrGLenum type,
const std::string& glsl,
GrThreadSafePipelineBuilder::Stats*,
GrContextOptions::ShaderErrorHandler* errorHandler);
bool GrGLCheckLinkStatus(const GrGLGpu* gpu,
GrGLuint programID,
GrContextOptions::ShaderErrorHandler* errorHandler,
const std::string* sksl[kGrShaderTypeCount],
const std::string glsl[kGrShaderTypeCount]);
#endif