blob: 0851e0d8cf349d36cfb9545032989e57d5f659ad [file] [log] [blame]
Lingfeng Yang0e6868f2020-11-03 12:32:59 -08001// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14#pragma once
15
16#include <GLES2/gl2.h>
17
Joshua Duongef2bbc22022-10-05 11:59:15 -070018#include "aemu/base/Optional.h"
Lingfeng Yang0e6868f2020-11-03 12:32:59 -080019
20#include <string>
21#include <vector>
22
Jason Macnaked0c9e62023-03-30 15:58:24 -070023namespace gfxstream {
Lingfeng Yang0e6868f2020-11-03 12:32:59 -080024
25GLuint compileShader(GLenum shaderType, const char* src);
26GLint compileAndLinkShaderProgram(const char* vshaderSrc, const char* fshaderSrc);
27
28android::base::Optional<std::string> compileSpirvFromGLSL(
29 const std::string& shaderType,
30 const std::string& src);
31
32android::base::Optional<std::vector<char>> readSpirv(const char* path);
33
Jason Macnaked0c9e62023-03-30 15:58:24 -070034} // namespace gfxstream