Commit 17cee572 by Luc Ferron Committed by Commit Bot

SampleApps: Refactor to use cli args the same way

Bug: angleproject:2669 Change-Id: Ica5b49e63e8af69595cdde3737b0aa1808d7d841 Reviewed-on: https://chromium-review.googlesource.com/1104377Reviewed-by: 's avatarGeoff Lang <geofflang@chromium.org> Reviewed-by: 's avatarJamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org>
parent 6ed167a9
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
class FlatShadingSample : public SampleApplication class FlatShadingSample : public SampleApplication
{ {
public: public:
FlatShadingSample(EGLint displayType) FlatShadingSample(int argc, char **argv)
: SampleApplication("FlatShadingSample", 1280, 720, 1, 0, displayType) : SampleApplication("FlatShadingSample", argc, argv, 1, 0)
{ {
} }
...@@ -102,13 +102,6 @@ class FlatShadingSample : public SampleApplication ...@@ -102,13 +102,6 @@ class FlatShadingSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
EGLint displayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; FlatShadingSample app(argc, argv);
if (argc > 1)
{
displayType = GetDisplayTypeFromArg(argv[1]);
}
FlatShadingSample app(displayType);
return app.run(); return app.run();
} }
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
class GLES1HelloTriangleSample : public SampleApplication class GLES1HelloTriangleSample : public SampleApplication
{ {
public: public:
GLES1HelloTriangleSample(EGLint displayType) GLES1HelloTriangleSample(int argc, char **argv)
: SampleApplication("GLES1HelloTriangle", 1280, 720, 1, 0, displayType) : SampleApplication("GLES1HelloTriangle", argc, argv, 1, 0)
{ {
} }
...@@ -55,13 +55,6 @@ class GLES1HelloTriangleSample : public SampleApplication ...@@ -55,13 +55,6 @@ class GLES1HelloTriangleSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
EGLint displayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; GLES1HelloTriangleSample app(argc, argv);
if (argc > 1)
{
displayType = GetDisplayTypeFromArg(argv[1]);
}
GLES1HelloTriangleSample app(displayType);
return app.run(); return app.run();
} }
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
class SimpleLightingSample : public SampleApplication class SimpleLightingSample : public SampleApplication
{ {
public: public:
SimpleLightingSample(EGLint displayType) SimpleLightingSample(int argc, char **argv)
: SampleApplication("SimpleLightingSample", 1280, 720, 1, 0, displayType) : SampleApplication("SimpleLightingSample", argc, argv, 1, 0)
{ {
} }
...@@ -112,13 +112,6 @@ class SimpleLightingSample : public SampleApplication ...@@ -112,13 +112,6 @@ class SimpleLightingSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
EGLint displayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; SimpleLightingSample app(argc, argv);
if (argc > 1)
{
displayType = GetDisplayTypeFromArg(argv[1]);
}
SimpleLightingSample app(displayType);
return app.run(); return app.run();
} }
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
class GLES1SimpleTexture2DSample : public SampleApplication class GLES1SimpleTexture2DSample : public SampleApplication
{ {
public: public:
GLES1SimpleTexture2DSample(EGLint displayType) GLES1SimpleTexture2DSample(int argc, char **argv)
: SampleApplication("GLES1SimpleTexture2D", 1280, 720, 1, 0, displayType) : SampleApplication("GLES1SimpleTexture2D", argc, argv, 1, 0)
{ {
} }
...@@ -82,13 +82,6 @@ class GLES1SimpleTexture2DSample : public SampleApplication ...@@ -82,13 +82,6 @@ class GLES1SimpleTexture2DSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
EGLint displayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; GLES1SimpleTexture2DSample app(argc, argv);
if (argc > 1)
{
displayType = GetDisplayTypeFromArg(argv[1]);
}
GLES1SimpleTexture2DSample app(displayType);
return app.run(); return app.run();
} }
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
class HelloTriangleSample : public SampleApplication class HelloTriangleSample : public SampleApplication
{ {
public: public:
HelloTriangleSample(EGLint displayType) HelloTriangleSample(int argc, char **argv)
: SampleApplication("HelloTriangle", 1280, 720, 2, 0, displayType) : SampleApplication("HelloTriangle", argc, argv, 2, 0)
{ {
} }
...@@ -87,13 +87,6 @@ class HelloTriangleSample : public SampleApplication ...@@ -87,13 +87,6 @@ class HelloTriangleSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
EGLint displayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; HelloTriangleSample app(argc, argv);
if (argc > 1)
{
displayType = GetDisplayTypeFromArg(argv[1]);
}
HelloTriangleSample app(displayType);
return app.run(); return app.run();
} }
...@@ -20,10 +20,7 @@ ...@@ -20,10 +20,7 @@
class MipMap2DSample : public SampleApplication class MipMap2DSample : public SampleApplication
{ {
public: public:
MipMap2DSample() MipMap2DSample(int argc, char **argv) : SampleApplication("MipMap2D", argc, argv) {}
: SampleApplication("MipMap2D", 1280, 720)
{
}
virtual bool initialize() virtual bool initialize()
{ {
...@@ -160,6 +157,6 @@ class MipMap2DSample : public SampleApplication ...@@ -160,6 +157,6 @@ class MipMap2DSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
MipMap2DSample app; MipMap2DSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -22,10 +22,7 @@ ...@@ -22,10 +22,7 @@
class MultiTextureSample : public SampleApplication class MultiTextureSample : public SampleApplication
{ {
public: public:
MultiTextureSample() MultiTextureSample(int argc, char **argv) : SampleApplication("MultiTexture", argc, argv) {}
: SampleApplication("MultiTexture", 1280, 720)
{
}
GLuint loadTexture(const std::string &path) GLuint loadTexture(const std::string &path)
{ {
...@@ -171,6 +168,6 @@ class MultiTextureSample : public SampleApplication ...@@ -171,6 +168,6 @@ class MultiTextureSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
MultiTextureSample app; MultiTextureSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -19,8 +19,8 @@ using namespace angle; ...@@ -19,8 +19,8 @@ using namespace angle;
class MultiWindowSample : public SampleApplication class MultiWindowSample : public SampleApplication
{ {
public: public:
MultiWindowSample() MultiWindowSample(int argc, char **argv)
: SampleApplication("MultiWindow", 256, 256) : SampleApplication("MultiWindow", argc, argv, 2, 0, 256, 256)
{ {
} }
...@@ -193,6 +193,6 @@ class MultiWindowSample : public SampleApplication ...@@ -193,6 +193,6 @@ class MultiWindowSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
MultiWindowSample app; MultiWindowSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
class MultipleDrawBuffersSample : public SampleApplication class MultipleDrawBuffersSample : public SampleApplication
{ {
public: public:
MultipleDrawBuffersSample() MultipleDrawBuffersSample(int argc, char **argv)
: SampleApplication("MultipleDrawBuffers", 1280, 720) : SampleApplication("MultipleDrawBuffers", argc, argv)
{ {
} }
...@@ -221,6 +221,6 @@ class MultipleDrawBuffersSample : public SampleApplication ...@@ -221,6 +221,6 @@ class MultipleDrawBuffersSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
MultipleDrawBuffersSample app; MultipleDrawBuffersSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -42,8 +42,8 @@ void FillTranslationMatrix(float xOffset, float yOffset, float zOffset, float *m ...@@ -42,8 +42,8 @@ void FillTranslationMatrix(float xOffset, float yOffset, float zOffset, float *m
class MultiviewSample : public SampleApplication class MultiviewSample : public SampleApplication
{ {
public: public:
MultiviewSample() MultiviewSample(int argc, char **argv)
: SampleApplication("Multiview", 1280, 720, 3, 0), : SampleApplication("Multiview", argc, argv, 3, 0),
mMultiviewProgram(0), mMultiviewProgram(0),
mMultiviewPersperiveUniformLoc(-1), mMultiviewPersperiveUniformLoc(-1),
mMultiviewLeftEyeCameraUniformLoc(-1), mMultiviewLeftEyeCameraUniformLoc(-1),
...@@ -377,6 +377,6 @@ class MultiviewSample : public SampleApplication ...@@ -377,6 +377,6 @@ class MultiviewSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
MultiviewSample app; MultiviewSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -29,10 +29,7 @@ using namespace angle; ...@@ -29,10 +29,7 @@ using namespace angle;
class ParticleSystemSample : public SampleApplication class ParticleSystemSample : public SampleApplication
{ {
public: public:
ParticleSystemSample() ParticleSystemSample(int argc, char **argv) : SampleApplication("ParticleSystem", argc, argv) {}
: SampleApplication("ParticleSystem", 1280, 720)
{
}
bool initialize() override bool initialize() override
{ {
...@@ -224,6 +221,6 @@ class ParticleSystemSample : public SampleApplication ...@@ -224,6 +221,6 @@ class ParticleSystemSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
ParticleSystemSample app; ParticleSystemSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -25,10 +25,7 @@ ...@@ -25,10 +25,7 @@
class PostSubBufferSample : public SampleApplication class PostSubBufferSample : public SampleApplication
{ {
public: public:
PostSubBufferSample() PostSubBufferSample(int argc, char **argv) : SampleApplication("PostSubBuffer", argc, argv) {}
: SampleApplication("PostSubBuffer", 1280, 720)
{
}
virtual bool initialize() virtual bool initialize()
{ {
...@@ -169,6 +166,6 @@ class PostSubBufferSample : public SampleApplication ...@@ -169,6 +166,6 @@ class PostSubBufferSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
PostSubBufferSample app; PostSubBufferSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -10,27 +10,53 @@ ...@@ -10,27 +10,53 @@
#include "angle_gl.h" #include "angle_gl.h"
#include <iostream>
#include <string.h> #include <string.h>
#include <iostream>
#include <utility>
namespace namespace
{ {
const char *kUseAngleArg = "--use-angle=";
using DisplayTypeInfo = std::pair<const char *, EGLint>; using DisplayTypeInfo = std::pair<const char *, EGLint>;
const DisplayTypeInfo kDisplayTypes[] = { const DisplayTypeInfo kDisplayTypes[] = {
{"d3d9", EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE}, {"d3d11", EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE}, {"d3d9", EGL_PLATFORM_ANGLE_TYPE_D3D9_ANGLE}, {"d3d11", EGL_PLATFORM_ANGLE_TYPE_D3D11_ANGLE},
{"gl", EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE}, {"gles", EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE}, {"gl", EGL_PLATFORM_ANGLE_TYPE_OPENGL_ANGLE}, {"gles", EGL_PLATFORM_ANGLE_TYPE_OPENGLES_ANGLE},
{"null", EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE}, {"vulkan", EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE}}; {"null", EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE}, {"vulkan", EGL_PLATFORM_ANGLE_TYPE_VULKAN_ANGLE}};
EGLint GetDisplayTypeFromArg(const char *displayTypeArg)
{
for (const auto &displayTypeInfo : kDisplayTypes)
{
if (strcmp(displayTypeInfo.first, displayTypeArg) == 0)
{
std::cout << "Using ANGLE back-end API: " << displayTypeInfo.first << std::endl;
return displayTypeInfo.second;
}
}
std::cout << "Unknown ANGLE back-end API: " << displayTypeArg << std::endl;
return EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE;
}
} // anonymous namespace } // anonymous namespace
SampleApplication::SampleApplication(const std::string &name, SampleApplication::SampleApplication(std::string name,
size_t width, int argc,
size_t height, char **argv,
EGLint glesMajorVersion, EGLint glesMajorVersion,
EGLint glesMinorVersion, EGLint glesMinorVersion,
EGLint requestedRenderer) size_t width,
: mName(name), mWidth(width), mHeight(height), mRunning(false) size_t height)
: mName(std::move(name)), mWidth(width), mHeight(height), mRunning(false)
{ {
EGLint requestedRenderer = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE;
if (argc > 1 && strncmp(argv[1], kUseAngleArg, strlen(kUseAngleArg)) == 0)
{
requestedRenderer = GetDisplayTypeFromArg(argv[1] + strlen(kUseAngleArg));
}
mEGLWindow.reset(new EGLWindow(glesMajorVersion, glesMinorVersion, mEGLWindow.reset(new EGLWindow(glesMajorVersion, glesMinorVersion,
EGLPlatformParameters(requestedRenderer))); EGLPlatformParameters(requestedRenderer)));
mTimer.reset(CreateTimer()); mTimer.reset(CreateTimer());
...@@ -170,18 +196,4 @@ void SampleApplication::exit() ...@@ -170,18 +196,4 @@ void SampleApplication::exit()
bool SampleApplication::popEvent(Event *event) bool SampleApplication::popEvent(Event *event)
{ {
return mOSWindow->popEvent(event); return mOSWindow->popEvent(event);
} }
\ No newline at end of file
EGLint GetDisplayTypeFromArg(const char *displayTypeArg)
{
for (const auto &displayTypeInfo : kDisplayTypes)
{
if (strcmp(displayTypeInfo.first, displayTypeArg) == 0)
{
return displayTypeInfo.second;
}
}
std::cout << "Unknown ANGLE back-end API: " << displayTypeArg << std::endl;
return EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE;
}
...@@ -23,12 +23,13 @@ class EGLWindow; ...@@ -23,12 +23,13 @@ class EGLWindow;
class SampleApplication class SampleApplication
{ {
public: public:
SampleApplication(const std::string &name, SampleApplication(std::string name,
size_t width, int argc,
size_t height, char **argv,
EGLint glesMajorVersion = 2, EGLint glesMajorVersion = 2,
EGLint glesMinorVersion = 0, EGLint glesMinorVersion = 0,
EGLint requestedRenderer = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE); size_t width = 1280,
size_t height = 720);
virtual ~SampleApplication(); virtual ~SampleApplication();
virtual bool initialize(); virtual bool initialize();
...@@ -61,6 +62,4 @@ class SampleApplication ...@@ -61,6 +62,4 @@ class SampleApplication
std::unique_ptr<OSWindow> mOSWindow; std::unique_ptr<OSWindow> mOSWindow;
}; };
EGLint GetDisplayTypeFromArg(const char *displayTypeArg);
#endif // SAMPLE_UTIL_SAMPLE_APPLICATION_H #endif // SAMPLE_UTIL_SAMPLE_APPLICATION_H
...@@ -28,8 +28,8 @@ using namespace angle; ...@@ -28,8 +28,8 @@ using namespace angle;
class SimpleInstancingSample : public SampleApplication class SimpleInstancingSample : public SampleApplication
{ {
public: public:
SimpleInstancingSample() SimpleInstancingSample(int argc, char **argv)
: SampleApplication("SimpleInstancing", 1280, 720) : SampleApplication("SimpleInstancing", argc, argv)
{ {
} }
...@@ -197,6 +197,6 @@ class SimpleInstancingSample : public SampleApplication ...@@ -197,6 +197,6 @@ class SimpleInstancingSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
SimpleInstancingSample app; SimpleInstancingSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -20,8 +20,7 @@ ...@@ -20,8 +20,7 @@
class SimpleTexture2DSample : public SampleApplication class SimpleTexture2DSample : public SampleApplication
{ {
public: public:
SimpleTexture2DSample(EGLint displayType) SimpleTexture2DSample(int argc, char **argv) : SampleApplication("SimpleTexture2D", argc, argv)
: SampleApplication("SimpleTexture2D", 1280, 720, 2, 0, displayType)
{ {
} }
...@@ -132,13 +131,6 @@ class SimpleTexture2DSample : public SampleApplication ...@@ -132,13 +131,6 @@ class SimpleTexture2DSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
EGLint displayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; SimpleTexture2DSample app(argc, argv);
if (argc > 1)
{
displayType = GetDisplayTypeFromArg(argv[1]);
}
SimpleTexture2DSample app(displayType);
return app.run(); return app.run();
} }
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
class SimpleTextureCubemapSample : public SampleApplication class SimpleTextureCubemapSample : public SampleApplication
{ {
public: public:
SimpleTextureCubemapSample(EGLint displayType) SimpleTextureCubemapSample(int argc, char **argv)
: SampleApplication("SimpleTextureCubemap", 1280, 720, 2, 0, displayType) : SampleApplication("SimpleTextureCubemap", argc, argv)
{ {
} }
...@@ -129,13 +129,6 @@ class SimpleTextureCubemapSample : public SampleApplication ...@@ -129,13 +129,6 @@ class SimpleTextureCubemapSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
EGLint displayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; SimpleTextureCubemapSample app(argc, argv);
if (argc > 1)
{
displayType = GetDisplayTypeFromArg(argv[1]);
}
SimpleTextureCubemapSample app(displayType);
return app.run(); return app.run();
} }
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
class SimpleVertexShaderSample : public SampleApplication class SimpleVertexShaderSample : public SampleApplication
{ {
public: public:
SimpleVertexShaderSample(EGLint displayType) SimpleVertexShaderSample(int argc, char **argv)
: SampleApplication("SimpleVertexShader", 1280, 720, 2, 0, displayType) : SampleApplication("SimpleVertexShader", argc, argv)
{ {
} }
...@@ -144,13 +144,6 @@ class SimpleVertexShaderSample : public SampleApplication ...@@ -144,13 +144,6 @@ class SimpleVertexShaderSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
EGLint displayType = EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE; SimpleVertexShaderSample app(argc, argv);
if (argc > 1)
{
displayType = GetDisplayTypeFromArg(argv[1]);
}
SimpleVertexShaderSample app(displayType);
return app.run(); return app.run();
} }
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
class StencilOperationsSample : public SampleApplication class StencilOperationsSample : public SampleApplication
{ {
public: public:
StencilOperationsSample() StencilOperationsSample(int argc, char **argv)
: SampleApplication("StencilOperations", 1280, 720) : SampleApplication("StencilOperations", argc, argv)
{ {
} }
...@@ -233,6 +233,6 @@ class StencilOperationsSample : public SampleApplication ...@@ -233,6 +233,6 @@ class StencilOperationsSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
StencilOperationsSample app; StencilOperationsSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -46,8 +46,8 @@ ...@@ -46,8 +46,8 @@
class TexRedefBenchSample : public SampleApplication class TexRedefBenchSample : public SampleApplication
{ {
public: public:
TexRedefBenchSample() TexRedefBenchSample(int argc, char **argv)
: SampleApplication("Microbench", 1280, 1280), : SampleApplication("Microbench", argc, argv, 2, 0, 1280, 1280),
mPixelsResize(nullptr), mPixelsResize(nullptr),
mPixelsNewTex(nullptr), mPixelsNewTex(nullptr),
mTimeFrame(false), mTimeFrame(false),
...@@ -272,6 +272,6 @@ class TexRedefBenchSample : public SampleApplication ...@@ -272,6 +272,6 @@ class TexRedefBenchSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
TexRedefBenchSample app; TexRedefBenchSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -20,10 +20,7 @@ ...@@ -20,10 +20,7 @@
class TextureWrapSample : public SampleApplication class TextureWrapSample : public SampleApplication
{ {
public: public:
TextureWrapSample() TextureWrapSample(int argc, char **argv) : SampleApplication("TextureWrap", argc, argv) {}
: SampleApplication("TextureWrap", 1280, 720)
{
}
virtual bool initialize() virtual bool initialize()
{ {
...@@ -151,6 +148,6 @@ private: ...@@ -151,6 +148,6 @@ private:
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
TextureWrapSample app; TextureWrapSample app(argc, argv);
return app.run(); return app.run();
} }
...@@ -27,9 +27,8 @@ ...@@ -27,9 +27,8 @@
class TriangleFanBenchSample : public SampleApplication class TriangleFanBenchSample : public SampleApplication
{ {
public: public:
TriangleFanBenchSample() TriangleFanBenchSample(int argc, char **argv)
: SampleApplication("Microbench", 1280, 1280), : SampleApplication("Microbench", argc, argv, 2, 0, 1280, 1280), mFrameCount(0)
mFrameCount(0)
{ {
} }
...@@ -234,6 +233,6 @@ class TriangleFanBenchSample : public SampleApplication ...@@ -234,6 +233,6 @@ class TriangleFanBenchSample : public SampleApplication
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
TriangleFanBenchSample app; TriangleFanBenchSample app(argc, argv);
return app.run(); return app.run();
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment