Hash :
9544002e
Author :
Date :
2019-02-01T16:36:09
Add instructions on how to run glmark2+ANGLE on Linux Bug: angleproject:3125 Change-Id: I70d295d7ec1dbafc74add068165c5fbcadb48560 Reviewed-on: https://chromium-review.googlesource.com/c/1450222 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
This document contains instructions on how to run external benchmarks on ANGLE as the GLES renderer.
There is a section for each benchmark with subsections for each platform. The general theme is to
make the benchmark application pick ANGLE’s libGLESv2.so and libEGL.so files instead of the
system ones.
On Linux, this is generally achieved with setting LD_LIBRARY_PATH. On Windows, ANGLE dlls may
need to be copied to the benchmark’s executable directory.
This benchmark can be found on github. It’s written against GLES 2.0 and supports Linux and Android. It performs tens of tests and reports the framerate for each test.
To build glmark2 on Linux:
$ git clone https://github.com/glmark2/glmark2.git
$ cd glmark2
$ ./waf configure --with-flavors=x11-glesv2 --data-path=$PWD/data/
$ ./waf
To run glmark2 using the native implementation of GLES:
$ cd build/src
$ ./glmark2-es2
To run glmark2 using ANGLE, we need to first create a few links in the build directory of ANGLE:
$ cd /path/to/angle/out/release
$ ln -s libEGL.so libEGL.so.1
$ ln -s libGLESv2.so libGLESv2.so.2
Back in glmark2, we need to make sure these shared objects are picked up:
$ cd /path/to/glmark2/build/src
$ LD_LIBRARY_PATH=/path/to/angle/out/release/ ldd ./glmark2-es2
With ldd, you can verify that libEGL.so.1 and libGLESv2.so.2 are correctly picked up from
ANGLE’s build directory.
To run glmark2 on the default back-end of ANGLE:
$ LD_LIBRARY_PATH=/path/to/angle/out/release/ ./glmark2-es2
To run glmark2 on a specific back-end of ANGLE:
$ ANGLE_DEFAULT_PLATFORM=vulkan LD_LIBRARY_PATH=/path/to/angle/out/release/ ./glmark2-es2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
# Using External Benchmarks with ANGLE
This document contains instructions on how to run external benchmarks on ANGLE as the GLES renderer.
There is a section for each benchmark with subsections for each platform. The general theme is to
make the benchmark application pick ANGLE's `libGLESv2.so` and `libEGL.so` files instead of the
system ones.
On Linux, this is generally achieved with setting `LD_LIBRARY_PATH`. On Windows, ANGLE dlls may
need to be copied to the benchmark's executable directory.
## glmark2
This benchmark can be found on [github](https://github.com/glmark2/glmark2). It's written against
GLES 2.0 and supports Linux and Android. It performs tens of tests and reports the framerate for
each test.
### glmark2 on Linux
To build glmark2 on Linux:
```
$ git clone https://github.com/glmark2/glmark2.git
$ cd glmark2
$ ./waf configure --with-flavors=x11-glesv2 --data-path=$PWD/data/
$ ./waf
```
To run glmark2 using the native implementation of GLES:
```
$ cd build/src
$ ./glmark2-es2
```
To run glmark2 using ANGLE, we need to first create a few links in the build directory of ANGLE:
```
$ cd /path/to/angle/out/release
$ ln -s libEGL.so libEGL.so.1
$ ln -s libGLESv2.so libGLESv2.so.2
```
Back in glmark2, we need to make sure these shared objects are picked up:
```
$ cd /path/to/glmark2/build/src
$ LD_LIBRARY_PATH=/path/to/angle/out/release/ ldd ./glmark2-es2
```
With `ldd`, you can verify that `libEGL.so.1` and `libGLESv2.so.2` are correctly picked up from
ANGLE's build directory.
To run glmark2 on the default back-end of ANGLE:
```
$ LD_LIBRARY_PATH=/path/to/angle/out/release/ ./glmark2-es2
```
To run glmark2 on a specific back-end of ANGLE:
```
$ ANGLE_DEFAULT_PLATFORM=vulkan LD_LIBRARY_PATH=/path/to/angle/out/release/ ./glmark2-es2
```