mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 14:19:46 -06:00
Implement AbstractGfx for OpenGL
Mostly involves moving contents of OGLRender to OGLGfx and OGLConfig
This commit is contained in:
78
Source/Core/VideoBackends/OGL/OGLConfig.h
Normal file
78
Source/Core/VideoBackends/OGL/OGLConfig.h
Normal file
@ -0,0 +1,78 @@
|
||||
// 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,
|
||||
GlslEs300, // GLES 3.0
|
||||
GlslEs310, // GLES 3.1
|
||||
GlslEs320, // GLES 3.2
|
||||
};
|
||||
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;
|
||||
u8 SupportedESPointSize;
|
||||
EsTexbufType SupportedESTextureBuffer;
|
||||
bool bSupportsTextureStorage;
|
||||
bool bSupports2DTextureStorageMultisample;
|
||||
bool bSupports3DTextureStorageMultisample;
|
||||
bool bSupportsConservativeDepth;
|
||||
bool bSupportsImageLoadStore;
|
||||
bool bSupportsAniso;
|
||||
bool bSupportsBitfield;
|
||||
bool bSupportsTextureSubImage;
|
||||
EsFbFetchType SupportedFramebufferFetch;
|
||||
bool bSupportsShaderThreadShuffleNV;
|
||||
|
||||
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
|
Reference in New Issue
Block a user