mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-12 09:09:12 +01:00
53beda526b
bSupports2DTextureStorageMultisample is completely unused, while bSupports3DTextureStorageMultisample is practically unused. In the past, these were checked and fell back to sampler2DMS instead of sampler2DMSArray on GLES 3.1, but this path was removed in f039149198657c1891e1c6462ed30c31ed4b8486 and Dolphin always uses array textures now.
86 lines
1.6 KiB
C++
86 lines
1.6 KiB
C++
// Copyright 2023 Dolphin Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include "Common/CommonTypes.h"
|
|
|
|
class GLContext;
|
|
|
|
namespace OGL
|
|
{
|
|
enum GlslVersion
|
|
{
|
|
Glsl130,
|
|
Glsl140,
|
|
Glsl150,
|
|
Glsl330,
|
|
Glsl400, // and above
|
|
Glsl430, // 430 - 440
|
|
Glsl450, // 450 - xxx
|
|
GlslEs300, // GLES 3.0
|
|
GlslEs310, // GLES 3.1
|
|
GlslEs320, // GLES 3.2
|
|
};
|
|
|
|
enum class EsPointSizeType
|
|
{
|
|
PointSizeNone,
|
|
PointSizeOes,
|
|
PointSizeExt,
|
|
};
|
|
|
|
enum class EsTexbufType
|
|
{
|
|
TexbufNone,
|
|
TexbufCore,
|
|
TexbufOes,
|
|
TexbufExt
|
|
};
|
|
|
|
enum class EsFbFetchType
|
|
{
|
|
FbFetchNone,
|
|
FbFetchExt,
|
|
FbFetchArm,
|
|
};
|
|
|
|
// ogl-only config, so not in VideoConfig.h
|
|
struct VideoConfig
|
|
{
|
|
bool bIsES;
|
|
bool bSupportsGLPinnedMemory;
|
|
bool bSupportsGLSync;
|
|
bool bSupportsGLBaseVertex;
|
|
bool bSupportsGLBufferStorage;
|
|
bool bSupportsMSAA;
|
|
GlslVersion eSupportedGLSLVersion;
|
|
bool bSupportViewportFloat;
|
|
bool bSupportsAEP;
|
|
bool bSupportsDebug;
|
|
bool bSupportsCopySubImage;
|
|
EsPointSizeType SupportedESPointSize;
|
|
EsTexbufType SupportedESTextureBuffer;
|
|
bool bSupportsTextureStorage;
|
|
bool bSupportsConservativeDepth;
|
|
bool bSupportsImageLoadStore;
|
|
bool bSupportsAniso;
|
|
bool bSupportsBitfield;
|
|
bool bSupportsTextureSubImage;
|
|
EsFbFetchType SupportedFramebufferFetch;
|
|
bool bSupportsKHRShaderSubgroup; // basic + arithmetic + ballot
|
|
|
|
const char* gl_vendor;
|
|
const char* gl_renderer;
|
|
const char* gl_version;
|
|
|
|
s32 max_samples;
|
|
};
|
|
|
|
void InitDriverInfo();
|
|
bool PopulateConfig(GLContext* main_gl_context);
|
|
|
|
extern VideoConfig g_ogl_config;
|
|
|
|
} // namespace OGL
|