blob: 1eccf0c91879bbc727cc4e6a047212b144aeb83b [file] [log] [blame]
Lingfeng Yangee4aea32020-10-29 08:52:13 -07001/*
2* Copyright (C) 2016 The Android Open Source Project
3*
4* Licensed under the Apache License, Version 2.0 (the "License");
5* you may not use this file except in compliance with the License.
6* You may obtain a copy of the License at
7*
8* http://www.apache.org/licenses/LICENSE-2.0
9*
10* Unless required by applicable law or agreed to in writing, software
11* distributed under the License is distributed on an "AS IS" BASIS,
12* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13* See the License for the specific language governing permissions and
14* limitations under the License.
15*/
16#pragma once
17
18#include "OpenGLESDispatch/GLESv2Dispatch.h"
19
20#include <EGL/egl.h>
21#include <EGL/eglext.h>
22
23#include <string>
Jason Macnaked0c9e62023-03-30 15:58:24 -070024
Jason Macnak26872122024-02-23 10:46:09 -080025#include "gfxstream/host/Features.h"
26
Jason Macnaked0c9e62023-03-30 15:58:24 -070027namespace gfxstream {
28namespace gl {
29
Lingfeng Yangee4aea32020-10-29 08:52:13 -070030// Used to determine maximum supported GLES version.
Jason Macnak26872122024-02-23 10:46:09 -080031GLESDispatchMaxVersion calcMaxVersionFromDispatch(const gfxstream::host::FeatureSet& features,
32 EGLDisplay dpy);
Lingfeng Yangee4aea32020-10-29 08:52:13 -070033
34// For determining whether or not to use core profile OpenGL.
35bool shouldEnableCoreProfile();
36
Jason Macnak26872122024-02-23 10:46:09 -080037std::string filterExtensionsBasedOnMaxVersion(const gfxstream::host::FeatureSet& features,
38 GLESDispatchMaxVersion ver, const std::string& exts);
Lingfeng Yangee4aea32020-10-29 08:52:13 -070039
Jason Macnaked0c9e62023-03-30 15:58:24 -070040} // namespace gl
41} // namespace gfxstream