[Android] When running OpenGL ES 3 backend, we've got to switch the screen coordinates or bad things happen. Adds a Driver bug that causes swap every single flush. Hard requirement currently to see /anything/ on screen.

This commit is contained in:
Ryan Houdek
2013-06-18 12:44:06 -05:00
parent 9c32c923bc
commit 02cbcc8ec4
7 changed files with 203 additions and 143 deletions

View File

@ -9,6 +9,7 @@
#include "Fifo.h"
#include "DriverDetails.h"
#include "VideoConfig.h"
#include "Statistics.h"
#include "MemoryUtil.h"
@ -267,6 +268,8 @@ void VertexManager::vFlush()
g_perf_query->EnableQuery(bpmem.zcontrol.early_ztest ? PQG_ZCOMP_ZCOMPLOC : PQG_ZCOMP);
Draw(stride);
if (DriverDetails::HasBug(DriverDetails::BUG_BROKENBUFFERS))
GLInterface->Swap();
g_perf_query->DisableQuery(bpmem.zcontrol.early_ztest ? PQG_ZCOMP_ZCOMPLOC : PQG_ZCOMP);
//ERROR_LOG(VIDEO, "PerfQuery result: %d", g_perf_query->GetQueryResult(bpmem.zcontrol.early_ztest ? PQ_ZCOMP_OUTPUT_ZCOMPLOC : PQ_ZCOMP_OUTPUT));