[Drape] Remove GLES2-related code

Signed-off-by: renderexpert <expert@renderconsulting.co.uk>
This commit is contained in:
renderexpert
2025-01-20 11:05:45 +00:00
committed by Konstantin Pastbin
parent 705c715356
commit b23c2ba3e3
47 changed files with 235 additions and 623 deletions

View File

@@ -253,14 +253,7 @@ def write_implementation_file(programs_def, shader_index, shader_dir, impl_file,
file.write("GLProgramInfo GetProgramInfo(dp::ApiVersion apiVersion, Program program)\n")
file.write("{\n")
file.write(" if (apiVersion == dp::ApiVersion::OpenGLES2)\n")
file.write(" {\n")
file.write(" static std::array<GLProgramInfo, static_cast<size_t>(Program::ProgramsCount)> gpuIndex = {{\n")
write_gpu_programs_map(file, programs_def, '')
file.write(" }};\n")
file.write(" return gpuIndex[static_cast<size_t>(program)];\n")
file.write(" }\n")
file.write(" else if (apiVersion == dp::ApiVersion::OpenGLES3)\n")
file.write(" if (apiVersion == dp::ApiVersion::OpenGLES3)\n") # TODO: remove
file.write(" {\n")
file.write(" static std::array<GLProgramInfo, static_cast<size_t>(Program::ProgramsCount)> gpuIndex = {{\n")
write_gpu_programs_map(file, programs_def, GLES3_PREFIX)

View File

@@ -19,7 +19,7 @@ void ProgramManager::Init(ref_ptr<dp::GraphicsContext> context)
{
CHECK_THREAD_CHECKER(m_threadChecker, ());
auto const apiVersion = context->GetApiVersion();
if (apiVersion == dp::ApiVersion::OpenGLES2 || apiVersion == dp::ApiVersion::OpenGLES3)
if (apiVersion == dp::ApiVersion::OpenGLES3)
{
InitForOpenGL(context);
}

View File

@@ -15,9 +15,9 @@
using namespace std::placeholders;
template <typename ProgramParams>
void TestProgramParams(bool apiOpenGLES3)
void TestProgramParams()
{
auto const api = apiOpenGLES3 ? dp::ApiVersion::OpenGLES3 : dp::ApiVersion::OpenGLES2;
auto constexpr api = dp::ApiVersion::OpenGLES3;
TestingGraphicsContext context(api);
GLFunctions::Init(api);
gpu::GLProgramPool pool(api);
@@ -37,91 +37,61 @@ void TestProgramParams(bool apiOpenGLES3)
#ifdef OMIM_OS_MAC
UNIT_TEST(MapProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("MapProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::MapProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("MapProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::MapProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("MapProgramParams_Test",
std::bind(&TestProgramParams<gpu::MapProgramParams>));
}
UNIT_TEST(RouteProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("RouteProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::RouteProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("RouteProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::RouteProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("RouteProgramParams_Test",
std::bind(&TestProgramParams<gpu::RouteProgramParams>));
}
UNIT_TEST(TrafficProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("TrafficProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::TrafficProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("TrafficProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::TrafficProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("TrafficProgramParams_Test",
std::bind(&TestProgramParams<gpu::TrafficProgramParams>));
}
UNIT_TEST(TransitProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("TransitProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::TransitProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("TransitProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::TransitProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("TransitProgramParams_Test",
std::bind(&TestProgramParams<gpu::TransitProgramParams>));
}
UNIT_TEST(GuiProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("GuiProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::GuiProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("GuiProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::GuiProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("GuiProgramParams_Test",
std::bind(&TestProgramParams<gpu::GuiProgramParams>));
}
UNIT_TEST(ShapesProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("ShapesProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::ShapesProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("ShapesProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::ShapesProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("ShapesProgramParams_Test",
std::bind(&TestProgramParams<gpu::ShapesProgramParams>));
}
UNIT_TEST(Arrow3dProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("Arrow3dProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::Arrow3dProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("Arrow3dProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::Arrow3dProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("Arrow3dProgramParams_Test",
std::bind(&TestProgramParams<gpu::Arrow3dProgramParams>));
}
UNIT_TEST(DebugRectProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("DebugRectProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::DebugRectProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("DebugRectProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::DebugRectProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("DebugRectProgramParams_Test",
std::bind(&TestProgramParams<gpu::DebugRectProgramParams>));
}
UNIT_TEST(ScreenQuadProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("ScreenQuadProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::ScreenQuadProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("ScreenQuadProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::ScreenQuadProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("ScreenQuadProgramParams_Test",
std::bind(&TestProgramParams<gpu::ScreenQuadProgramParams>));
}
UNIT_TEST(SMAAProgramParams_Test)
{
RunTestInOpenGLOffscreenEnvironment("SMAAProgramParams_Test", false /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::SMAAProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("SMAAProgramParams_Test", true /* apiOpenGLES3 */,
std::bind(&TestProgramParams<gpu::SMAAProgramParams>, _1));
RunTestInOpenGLOffscreenEnvironment("SMAAProgramParams_Test",
std::bind(&TestProgramParams<gpu::SMAAProgramParams>));
}
#endif

View File

@@ -10,9 +10,9 @@
using namespace std::placeholders;
void CompileShaders(bool apiOpenGLES3, bool enableVTF)
void CompileShaders(bool enableVTF)
{
auto const api = apiOpenGLES3 ? dp::ApiVersion::OpenGLES3 : dp::ApiVersion::OpenGLES2;
auto constexpr api = dp::ApiVersion::OpenGLES3;
GLFunctions::Init(api);
gpu::GLProgramPool pool(api);
if (enableVTF)
@@ -24,29 +24,17 @@ void CompileShaders(bool apiOpenGLES3, bool enableVTF)
// These unit tests create Qt application and OGL context so can't be run in GUI-less Linux machine.
#ifdef OMIM_OS_MAC
UNIT_TEST(DesktopCompileShaders_GLES2_Test)
{
RunTestInOpenGLOffscreenEnvironment("DesktopCompileShaders_GLES2_Test", false /* apiOpenGLES3 */,
std::bind(&CompileShaders, _1, false /* enableVTF */));
}
UNIT_TEST(DesktopCompileShaders_GLES3_Test)
{
RunTestInOpenGLOffscreenEnvironment("DesktopCompileShaders_GLES3_Test", true /* apiOpenGLES3 */,
std::bind(&CompileShaders, _1, false /* enableVTF */));
RunTestInOpenGLOffscreenEnvironment("DesktopCompileShaders_GLES3_Test",
std::bind(&CompileShaders, false /* enableVTF */));
}
UNIT_TEST(DesktopCompileShaders_GLES2_VTF_Test)
{
RunTestInOpenGLOffscreenEnvironment("DesktopCompileShaders_GLES2_VTF_Test", false /* apiOpenGLES3 */,
std::bind(&CompileShaders, _1, true /* enableVTF */));
}
UNIT_TEST(DesktopCompileShaders_GLES3_VTF_Test)
{
RunTestInOpenGLOffscreenEnvironment("DesktopCompileShaders_GLES3_VTF_Test", true /* apiOpenGLES3 */,
std::bind(&CompileShaders, _1, true /* enableVTF */));
RunTestInOpenGLOffscreenEnvironment("DesktopCompileShaders_GLES3_VTF_Test",
std::bind(&CompileShaders, true /* enableVTF */));
}
#endif

View File

@@ -26,9 +26,7 @@
std::string const kCompilersDir = "shaders_compiler";
#if defined(OMIM_OS_MAC)
std::string const kMaliCompilerOpenGLES2Dir = "macos/mali_compiler";
std::string const kMaliCompilerOpenGLES3Dir = "macos/mali_compiler_es3";
std::string const kCompilerMaliOpenGLES2 = kMaliCompilerOpenGLES2Dir + "/malisc";
std::string const kCompilerMaliOpenGLES3 = kMaliCompilerOpenGLES3Dir + "/malisc";
std::string const kCompilerOpenGLES = "macos/glslangValidator";
#elif defined(OMIM_OS_LINUX)
@@ -166,29 +164,15 @@ UNIT_TEST(MobileCompileShaders_Test)
{
base::DelayedThreadPool workerThread(6 /* threadsCount */);
workerThread.Push([] {
CompileShaders({dp::ApiVersion::OpenGLES2, GetCompilerPath(kCompilerOpenGLES)});
});
workerThread.Push([] {
CompileShaders({dp::ApiVersion::OpenGLES3, GetCompilerPath(kCompilerOpenGLES)});
});
workerThread.Push([] {
CompileShaders({dp::ApiVersion::OpenGLES2, GetCompilerPath(kCompilerOpenGLES)},
"#define ENABLE_VTF\n");
});
workerThread.Push([] {
CompileShaders({dp::ApiVersion::OpenGLES3, GetCompilerPath(kCompilerOpenGLES)},
"#define ENABLE_VTF\n");
});
workerThread.Push([] {
CompileShaders({dp::ApiVersion::OpenGLES2, GetCompilerPath(kCompilerOpenGLES)},
"#define SAMSUNG_GOOGLE_NEXUS\n");
});
workerThread.Push([] {
CompileShaders({dp::ApiVersion::OpenGLES3, GetCompilerPath(kCompilerOpenGLES)},
"#define SAMSUNG_GOOGLE_NEXUS\n");
@@ -474,16 +458,6 @@ UNIT_TEST(MALI_MobileCompileShaders_Test)
driversES2new.insert(driversES2new.end(), driversES3new.begin(), driversES3new.end());
std::vector<MaliCompilerData> const compilers = {
#if defined(OMIM_OS_MAC)
{dp::ApiVersion::OpenGLES2,
GetCompilerPath(kCompilerMaliOpenGLES2),
GetCompilerPath(kMaliCompilerOpenGLES2Dir),
driversES2old},
#endif
{dp::ApiVersion::OpenGLES2,
GetCompilerPath(kCompilerMaliOpenGLES3),
GetCompilerPath(kMaliCompilerOpenGLES3Dir),
driversES2new},
{dp::ApiVersion::OpenGLES3,
GetCompilerPath(kCompilerMaliOpenGLES3),
GetCompilerPath(kMaliCompilerOpenGLES3Dir),