mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-10 06:29:00 +01:00
[Android] Missed a few things for PowerVR544MP3 'support.' It doesn't actually get any video output on it just like Tegra 4.
This commit is contained in:
parent
a40daac5b1
commit
26c38648ec
@ -39,6 +39,7 @@ namespace DriverDetails
|
||||
{VENDOR_MESA, DRIVER_NOUVEAU, BUG_BROKENHACKEDBUFFER, -1.0, -1.0, true},
|
||||
{VENDOR_ATI, DRIVER_ATI, BUG_BROKENPINNEDMEMORY, -1.0, -1.0, true},
|
||||
{VENDOR_TEGRA, DRIVER_NVIDIA, BUG_ISTEGRA, -1.0, -1.0, true},
|
||||
{VENDOR_IMGTEC, DRIVER_IMGTEC, BUG_ISPOWERVR, -1.0, -1.0, true},
|
||||
};
|
||||
|
||||
std::map<Bug, BugInfo> m_bugs;
|
||||
|
@ -122,6 +122,13 @@ namespace DriverDetails
|
||||
// Tegra 4 hardware limitations don't allow it to support OpenGL ES 3
|
||||
// This is fixed in Tegra 5
|
||||
BUG_ISTEGRA,
|
||||
// Bug: Running on a PowerVR5 device
|
||||
// Affected devices: PowerVR54x
|
||||
// Started Version: 540
|
||||
// Ended Version: 6xxx
|
||||
// PowerVR 5 hardware limitations don't allow it to support OpenGL ES 3
|
||||
// This is fixed in PowerVR6
|
||||
BUG_ISPOWERVR,
|
||||
};
|
||||
|
||||
// Initializes our internal vendor, device family, and driver version
|
||||
|
@ -658,12 +658,12 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T
|
||||
if (dstAlphaMode == DSTALPHA_ALPHA_PASS)
|
||||
{
|
||||
out.SetConstantsUsed(C_ALPHA, C_ALPHA);
|
||||
out.Write("\tocol0 = float4(prev.rgb, " I_ALPHA"[0].a);\n");
|
||||
out.Write("\tgl_FragColor = float4(prev.rgb, " I_ALPHA"[0].a);\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
WriteFog<T>(out, uid_data);
|
||||
out.Write("\tocol0 = prev;\n");
|
||||
out.Write("\tgl_FragColor = prev;\n");
|
||||
}
|
||||
|
||||
// Use dual-source color blending to perform dst alpha in a single pass
|
||||
@ -674,7 +674,7 @@ static inline void GeneratePixelShader(T& out, DSTALPHA_MODE dstAlphaMode, API_T
|
||||
// Colors will be blended against the alpha from ocol1 and
|
||||
// the alpha from ocol0 will be written to the framebuffer.
|
||||
out.Write("\tocol1 = prev;\n");
|
||||
out.Write("\tocol0.a = " I_ALPHA"[0].a;\n");
|
||||
out.Write("\tgl_FragColor.a = " I_ALPHA"[0].a;\n");
|
||||
}
|
||||
|
||||
out.Write("}\n");
|
||||
|
@ -576,8 +576,8 @@ void ProgramShaderCache::CreateHeader ( void )
|
||||
, v==GLSLES2 ? "#define out " : ""
|
||||
, v==GLSLES2 ? "#define ocol0 gl_FragColor" : ""
|
||||
, v==GLSLES2 ? "#define ocol1 gl_FragColor" : ""
|
||||
, v==GLSLES2 ? "#extension GL_NV_uniform_buffer_object : enable" : ""
|
||||
, v==GLSLES2 ? "#extension GL_NV_fragdepth : enable" : ""
|
||||
, DriverDetails::HasBug(DriverDetails::BUG_ISTEGRA) ? "#extension GL_NV_uniform_buffer_object : enable" : ""
|
||||
, DriverDetails::HasBug(DriverDetails::BUG_ISTEGRA) ? "#extension GL_NV_fragdepth : enable" : ""
|
||||
, v==GLSLES2 ? "" : "out vec4 name;"
|
||||
);
|
||||
}
|
||||
|
@ -388,7 +388,7 @@ Renderer::Renderer()
|
||||
g_ogl_config.bSupportCoverageMSAA = false; // XXX: GLES3 spec has MSAA
|
||||
g_ogl_config.bSupportSampleShading = false;
|
||||
g_ogl_config.bSupportOGL31 = false;
|
||||
if (DriverDetails::HasBug(DriverDetails::BUG_ISTEGRA))
|
||||
if (DriverDetails::HasBug(DriverDetails::BUG_ISTEGRA) || DriverDetails::HasBug(DriverDetails::BUG_ISPOWERVR))
|
||||
g_ogl_config.eSupportedGLSLVersion = GLSLES2;
|
||||
else
|
||||
g_ogl_config.eSupportedGLSLVersion = GLSLES3;
|
||||
|
@ -33,7 +33,9 @@ StreamBuffer::StreamBuffer(u32 type, size_t size, StreamType uploadType)
|
||||
g_Config.bHackedBufferUpload = false;
|
||||
}
|
||||
|
||||
if(!g_ogl_config.bSupportsGLBaseVertex && (m_uploadtype & BUFFERDATA) && !DriverDetails::HasBug(DriverDetails::BUG_ISTEGRA))
|
||||
if(!g_ogl_config.bSupportsGLBaseVertex && (m_uploadtype & BUFFERDATA)
|
||||
&& !DriverDetails::HasBug(DriverDetails::BUG_ISPOWERVR)
|
||||
&& !DriverDetails::HasBug(DriverDetails::BUG_ISTEGRA))
|
||||
m_uploadtype = BUFFERDATA;
|
||||
else if(!g_ogl_config.bSupportsGLBaseVertex && (m_uploadtype & BUFFERSUBDATA))
|
||||
m_uploadtype = BUFFERSUBDATA;
|
||||
|
Loading…
x
Reference in New Issue
Block a user