GPU: Drop OpenGL ES renderer
We can put this through the normal GL renderer instead.
This commit is contained in:
@ -9,8 +9,7 @@ GPU_HW_ShaderGen::GPU_HW_ShaderGen(HostDisplay::RenderAPI render_api, u32 resolu
|
||||
bool scaled_dithering, bool texture_filtering, bool supports_dual_source_blend)
|
||||
: m_render_api(render_api), m_resolution_scale(resolution_scale), m_true_color(true_color),
|
||||
m_scaled_dithering(scaled_dithering), m_texture_filering(texture_filtering),
|
||||
m_glsl(render_api != HostDisplay::RenderAPI::D3D11), m_glsl_es(render_api == HostDisplay::RenderAPI::OpenGLES),
|
||||
m_supports_dual_source_blend(supports_dual_source_blend)
|
||||
m_glsl(render_api != HostDisplay::RenderAPI::D3D11), m_supports_dual_source_blend(supports_dual_source_blend)
|
||||
{
|
||||
if (m_glsl)
|
||||
SetGLSLVersionString();
|
||||
@ -26,6 +25,7 @@ static void DefineMacro(std::stringstream& ss, const char* name, bool enabled)
|
||||
void GPU_HW_ShaderGen::SetGLSLVersionString()
|
||||
{
|
||||
const char* glsl_version = reinterpret_cast<const char*>(glGetString(GL_SHADING_LANGUAGE_VERSION));
|
||||
const bool glsl_es = (m_render_api == HostDisplay::RenderAPI::OpenGLES);
|
||||
Assert(glsl_version != nullptr);
|
||||
|
||||
// Skip any strings in front of the version code.
|
||||
@ -37,12 +37,12 @@ void GPU_HW_ShaderGen::SetGLSLVersionString()
|
||||
if (std::sscanf(glsl_version_start, "%d.%d", &major_version, &minor_version) == 2)
|
||||
{
|
||||
// Cap at GLSL 3.3, we're not using anything newer for now.
|
||||
if (!m_glsl_es && major_version >= 4)
|
||||
if (!glsl_es && major_version >= 4)
|
||||
{
|
||||
major_version = 3;
|
||||
minor_version = 30;
|
||||
}
|
||||
else if (m_glsl_es && (major_version > 3 || minor_version > 20))
|
||||
else if (glsl_es && (major_version > 3 || minor_version > 20))
|
||||
{
|
||||
major_version = 3;
|
||||
minor_version = 20;
|
||||
@ -51,17 +51,17 @@ void GPU_HW_ShaderGen::SetGLSLVersionString()
|
||||
else
|
||||
{
|
||||
Log_ErrorPrintf("Invalid GLSL version string: '%s' ('%s')", glsl_version, glsl_version_start);
|
||||
if (m_glsl_es)
|
||||
if (glsl_es)
|
||||
{
|
||||
major_version = 3;
|
||||
minor_version = 0;
|
||||
}
|
||||
m_glsl_version_string = m_glsl_es ? "300" : "130";
|
||||
m_glsl_version_string = glsl_es ? "300" : "130";
|
||||
}
|
||||
|
||||
char buf[128];
|
||||
std::snprintf(buf, sizeof(buf), "#version %d%02d%s", major_version, minor_version,
|
||||
(m_glsl_es && major_version >= 3) ? " es" : "");
|
||||
(glsl_es && major_version >= 3) ? " es" : "");
|
||||
m_glsl_version_string = buf;
|
||||
}
|
||||
|
||||
@ -178,23 +178,15 @@ float4 RGBA5551ToRGBA8(uint v)
|
||||
|
||||
void GPU_HW_ShaderGen::DeclareUniformBuffer(std::stringstream& ss, const std::initializer_list<const char*>& members)
|
||||
{
|
||||
if (m_glsl_es)
|
||||
{
|
||||
for (const char* member : members)
|
||||
ss << "uniform " << member << ";\n";
|
||||
}
|
||||
if (m_glsl)
|
||||
ss << "layout(std140) uniform UBOBlock\n";
|
||||
else
|
||||
{
|
||||
if (m_glsl)
|
||||
ss << "layout(std140) uniform UBOBlock\n";
|
||||
else
|
||||
ss << "cbuffer UBOBlock : register(b0)\n";
|
||||
ss << "cbuffer UBOBlock : register(b0)\n";
|
||||
|
||||
ss << "{\n";
|
||||
for (const char* member : members)
|
||||
ss << member << ";\n";
|
||||
ss << "};\n\n";
|
||||
}
|
||||
ss << "{\n";
|
||||
for (const char* member : members)
|
||||
ss << member << ";\n";
|
||||
ss << "};\n\n";
|
||||
}
|
||||
|
||||
void GPU_HW_ShaderGen::DeclareTexture(std::stringstream& ss, const char* name, u32 index)
|
||||
|
||||
Reference in New Issue
Block a user