はじめに
筆者は Ultra96/Ultra96-V2(ZynqMP) 向けに Debian GNU/Linux を提供しています1。提供している Debian GNU/Linux は CUI ベースですが、今回 GUI に対応するために X Window Systemを Ultra96/Ultra96-V2 で動くようにしました。
そこで Ultra96/Ultra96-V2 で X Window System を動かすための手順を幾つかのパートに分けて説明します。
- 概要編
- Video Driver 編
- Mali Driver 編
- LibMali 編
- fbdev 編
- glmark2 編 (この記事)
この記事では Video Driver(xserver-xorg-video-armsoc-xilinx) + GPU(Mali-400) に対応した X Window System 上で OpenGL のベンチマークソフト(glmark2) を走らせた結果を示します。
準備
glmark2 のダウンロード
git clone https://github.com/glmark2/glmark2.git
shell$ git clone https://github.com/glmark2/glmark2.git
Cloning into 'glmark2'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 6049 (delta 5), reused 4 (delta 2), pack-reused 6036
Receiving objects: 100% (6049/6049), 12.95 MiB | 670.00 KiB/s, done.
Resolving deltas: 100% (3749/3749), done.
libx11-dev libjpeg-dev libpng-dev のインストール
shell$ sudo apt install libx11-dev libjpeg-dev libpng-dev
:
後略
OpenGLESv2 のインストール
glmark2 は OpenGLESv2 を使います。もしまだ OpenGLESv2 をインストールしていないならば、Ultra96/Ultra96-V2 用の OpenGLESv2 パッケージをインストールしておきます。このパッケージの詳細は LibMali 編 を参照してください。
dpkg -i libgles2-zynqmp_1.7-0_arm64.deb
shell# dpkg -i libgles2-zynqmp_1.7-0_arm64.deb
Selecting previously unselected package libgles2-zynqmp:arm64.
(Reading database ... 85081 files and directories currently installed.)
Preparing to unpack libgles2-zynqmp_1.7-0_arm64.deb ...
Unpacking libgles2-zynqmp:arm64 (1.7-0) ...
Setting up libgles2-zynqmp:arm64 (1.7-0) ...
LibMali 開発パッケージのインストール
dpkg -i libmali-zynqmp-dev_1.7-0_arm64.deb
shell# dpkg -i libmali-zynqmp-dev_1.7-0_arm64.deb
Selecting previously unselected package libmali-zynqmp-dev:arm64.
(Reading database ... 85097 files and directories currently installed.)
Preparing to unpack libmali-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libmali-zynqmp-dev:arm64 (1.7-0) ...
Setting up libmali-zynqmp-dev:arm64 (1.7-0) ...
dpkg -i libegl1-zynqmp-dev_1.7-0_arm64.deb
shell# dpkg -i libegl1-zynqmp-dev_1.7-0_arm64.deb
Selecting previously unselected package libegl1-zynqmp-dev:arm64.
(Reading database ... 85101 files and directories currently installed.)
Preparing to unpack libegl1-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libegl1-zynqmp-dev:arm64 (1.7-0) ...
Setting up libegl1-zynqmp-dev:arm64 (1.7-0) ...
dpkg -i libgles2-zynqmp-dev_1.7-0_arm64.deb
shell# dpkg -i libgles2-zynqmp-dev_1.7-0_arm64.deb
Selecting previously unselected package libgles2-zynqmp-dev:arm64.
(Reading database ... 85110 files and directories currently installed.)
Preparing to unpack libgles2-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libgles2-zynqmp-dev:arm64 (1.7-0) ...
Setting up libgles2-zynqmp-dev:arm64 (1.7-0) ...
dpkg -i libgbm-zynqmp-dev_1.7-0_arm64.deb
shell# dpkg -i libgbm-zynqmp-dev_1.7-0_arm64.deb
Selecting previously unselected package libgbm-zynqmp-dev:arm64.
(Reading database ... 85119 files and directories currently installed.)
Preparing to unpack libgbm-zynqmp-dev_1.7-0_arm64.deb ...
Unpacking libgbm-zynqmp-dev:arm64 (1.7-0) ...
Setting up libgbm-zynqmp-dev:arm64 (1.7-0) ...
ビルド
OpenGLESv2 用にビルドします。
./waf configure --with-flavors=x11-glesv2
shell$ ./waf configure --with-flavors=x11-glesv2
Setting top to : /home/fpga/work/glmark2
Setting out to : /home/fpga/work/glmark2/build
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for header stdlib.h : yes
Checking for header string.h : yes
Checking for header stdint.h : yes
Checking for header stdio.h : yes
Checking for header dlfcn.h : yes
Checking for header unistd.h : yes
Checking for header jpeglib.h : yes
Checking for header math.h : yes
Checking for header string.h : yes
Checking for library m : yes
Checking for library jpeg : yes
Checking for function memset : yes
Checking for function sqrt : yes
Checking for program 'pkg-config' : /usr/bin/pkg-config
Checking for 'libpng12' : not found
Checking for 'libpng15' : not found
Checking for 'libpng16' : yes
Checking for 'x11' : yes
Checking for 'libdrm' : yes
Checking for 'gbm' : yes
Checking for 'libudev' : yes
Checking for 'mirclient' : not found
Checking for 'wayland-client' : not found
Checking for 'wayland-egl' : not found
Prefix : /usr/local
Data path : /usr/local/share/glmark2
Including extras : No
Building flavors : ['x11-glesv2']
'configure' finished successfully (4.685s)
./waf
shell$ ./waf
Waf: Entering directory `/home/fpga/work/glmark2/build'
[ 1/70] Compiling src/main.cpp
[ 2/70] Compiling src/canvas-generic.cpp
[ 3/70] Compiling src/native-state-x11.cpp
[ 4/70] Compiling src/gl-state-egl.cpp
[ 5/70] Compiling src/glad/src/egl.c
[ 6/70] Compiling src/glad/src/gles2.c
[ 7/70] Compiling src/libmatrix/log.cc
[ 8/70] Compiling src/libmatrix/mat.cc
[ 9/70] Compiling src/libmatrix/program.cc
[10/70] Compiling src/libmatrix/shader-source.cc
[11/70] Compiling src/libmatrix/util.cc
[12/70] Compiling src/benchmark-collection.cpp
[13/70] Compiling src/benchmark.cpp
[14/70] Compiling src/gl-headers.cpp
[15/70] Compiling src/gl-visual-config.cpp
[16/70] Compiling src/image-reader.cpp
[17/70] Compiling src/main-loop.cpp
[18/70] Compiling src/mesh.cpp
[19/70] Compiling src/model.cpp
[20/70] Compiling src/options.cpp
[21/70] Compiling src/scene-buffer.cpp
[22/70] Compiling src/scene-build.cpp
[23/70] Compiling src/scene-bump.cpp
[24/70] Compiling src/scene-clear.cpp
[25/70] Compiling src/scene-conditionals.cpp
[26/70] Compiling src/scene-default-options.cpp
[27/70] Compiling src/scene-desktop.cpp
[28/70] Compiling src/scene-effect-2d.cpp
[29/70] Compiling src/scene-function.cpp
[30/70] Compiling src/scene-grid.cpp
[31/70] Compiling src/scene-ideas/a.cc
[32/70] Compiling src/scene-ideas/d.cc
[33/70] Compiling src/scene-ideas/e.cc
[34/70] Compiling src/scene-ideas/i.cc
[35/70] Compiling src/scene-ideas/lamp.cc
[36/70] Compiling src/scene-ideas/logo.cc
[37/70] Compiling src/scene-ideas/m.cc
[38/70] Compiling src/scene-ideas/n.cc
[39/70] Compiling src/scene-ideas/o.cc
[40/70] Compiling src/scene-ideas/s.cc
[41/70] Compiling src/scene-ideas/splines.cc
[42/70] Compiling src/scene-ideas/t.cc
[43/70] Compiling src/scene-ideas/table.cc
[44/70] Compiling src/scene-ideas.cpp
[45/70] Compiling src/scene-jellyfish.cpp
[46/70] Compiling src/scene-loop.cpp
[47/70] Compiling src/scene-pulsar.cpp
[48/70] Compiling src/scene-refract.cpp
[49/70] Compiling src/scene-shading.cpp
[50/70] Compiling src/scene-shadow.cpp
[51/70] Compiling src/scene-terrain/base-renderer.cpp
[52/70] Compiling src/scene-terrain/blur-renderer.cpp
[53/70] Compiling src/scene-terrain/copy-renderer.cpp
[54/70] Compiling src/scene-terrain/luminance-renderer.cpp
[55/70] Compiling src/scene-terrain/normal-from-height-renderer.cpp
[56/70] Compiling src/scene-terrain/overlay-renderer.cpp
[57/70] Compiling src/scene-terrain/renderer-chain.cpp
[58/70] Compiling src/scene-terrain/simplex-noise-renderer.cpp
[59/70] Compiling src/scene-terrain/terrain-renderer.cpp
[60/70] Compiling src/scene-terrain/texture-renderer.cpp
[61/70] Compiling src/scene-terrain.cpp
[62/70] Compiling src/scene-texture.cpp
[63/70] Compiling src/scene.cpp
[64/70] Compiling src/shared-library.cpp
[65/70] Compiling src/text-renderer.cpp
[66/70] Compiling src/texture.cpp
[67/70] Compiling doc/glmark2.1.in
[68/70] Linking build/src/libmatrix-glesv2.a
[69/70] Linking build/src/libcommon-glesv2.a
[70/70] Linking build/src/glmark2-es2
Waf: Leaving directory `/home/fpga/work/glmark2/build'
'build' finished successfully (3m17.619s)
インストール
./waf install
shell$ sudo ./waf install
Waf: Entering directory `/home/fpga/work/glmark2/build'
+ install /usr/local/share/glmark2/models/asteroid-high.3ds (from data/models/asteroid-high.3ds)
+ install /usr/local/share/glmark2/models/asteroid-low.3ds (from data/models/asteroid-low.3ds)
+ install /usr/local/share/glmark2/models/bunny.obj (from data/models/bunny.obj)
+ install /usr/local/share/glmark2/shaders/README.shaders (from data/shaders/README.shaders)
+ install /usr/local/share/glmark2/shaders/buffer-wireframe.frag (from data/shaders/buffer-wireframe.frag)
+ install /usr/local/share/glmark2/shaders/buffer-wireframe.vert (from data/shaders/buffer-wireframe.vert)
+ install /usr/local/share/glmark2/shaders/bump-height.frag (from data/shaders/bump-height.frag)
+ install /usr/local/share/glmark2/shaders/bump-height.vert (from data/shaders/bump-height.vert)
+ install /usr/local/share/glmark2/shaders/bump-normals-tangent.frag (from data/shaders/bump-normals-tangent.frag)
+ install /usr/local/share/glmark2/shaders/bump-normals-tangent.vert (from data/shaders/bump-normals-tangent.vert)
+ install /usr/local/share/glmark2/shaders/bump-normals.frag (from data/shaders/bump-normals.frag)
+ install /usr/local/share/glmark2/shaders/bump-normals.vert (from data/shaders/bump-normals.vert)
+ install /usr/local/share/glmark2/shaders/bump-poly.frag (from data/shaders/bump-poly.frag)
+ install /usr/local/share/glmark2/shaders/bump-poly.vert (from data/shaders/bump-poly.vert)
+ install /usr/local/share/glmark2/shaders/conditionals-step-conditional.all (from data/shaders/conditionals-step-conditional.all)
+ install /usr/local/share/glmark2/shaders/conditionals-step-simple.all (from data/shaders/conditionals-step-simple.all)
+ install /usr/local/share/glmark2/shaders/conditionals.frag (from data/shaders/conditionals.frag)
+ install /usr/local/share/glmark2/shaders/conditionals.vert (from data/shaders/conditionals.vert)
+ install /usr/local/share/glmark2/shaders/depth.frag (from data/shaders/depth.frag)
+ install /usr/local/share/glmark2/shaders/depth.vert (from data/shaders/depth.vert)
+ install /usr/local/share/glmark2/shaders/desktop-blur.frag (from data/shaders/desktop-blur.frag)
+ install /usr/local/share/glmark2/shaders/desktop.frag (from data/shaders/desktop.frag)
+ install /usr/local/share/glmark2/shaders/desktop.vert (from data/shaders/desktop.vert)
+ install /usr/local/share/glmark2/shaders/effect-2d-convolution.frag (from data/shaders/effect-2d-convolution.frag)
+ install /usr/local/share/glmark2/shaders/effect-2d.vert (from data/shaders/effect-2d.vert)
+ install /usr/local/share/glmark2/models/cat.3ds (from data/models/cat.3ds)
+ install /usr/local/share/glmark2/shaders/function-call.all (from data/shaders/function-call.all)
+ install /usr/local/share/glmark2/shaders/function-step-low.all (from data/shaders/function-step-low.all)
+ install /usr/local/share/glmark2/shaders/function-step-medium.all (from data/shaders/function-step-medium.all)
+ install /usr/local/share/glmark2/models/cube.3ds (from data/models/cube.3ds)
+ install /usr/local/share/glmark2/shaders/function.frag (from data/shaders/function.frag)
+ install /usr/local/share/glmark2/shaders/function.vert (from data/shaders/function.vert)
+ install /usr/local/share/glmark2/models/horse.3ds (from data/models/horse.3ds)
+ install /usr/local/share/glmark2/shaders/gradient.frag (from data/shaders/gradient.frag)
+ install /usr/local/share/glmark2/shaders/gradient.vert (from data/shaders/gradient.vert)
+ install /usr/local/share/glmark2/models/jellyfish.jobj (from data/models/jellyfish.jobj)
+ install /usr/local/share/glmark2/shaders/ideas-lamp-lit.frag (from data/shaders/ideas-lamp-lit.frag)
+ install /usr/local/share/glmark2/shaders/ideas-lamp-lit.vert (from data/shaders/ideas-lamp-lit.vert)
+ install /usr/local/share/glmark2/shaders/ideas-lamp-unlit.frag (from data/shaders/ideas-lamp-unlit.frag)
+ install /usr/local/share/glmark2/shaders/ideas-lamp-unlit.vert (from data/shaders/ideas-lamp-unlit.vert)
+ install /usr/local/share/glmark2/shaders/ideas-logo-flat.frag (from data/shaders/ideas-logo-flat.frag)
+ install /usr/local/share/glmark2/shaders/ideas-logo-flat.vert (from data/shaders/ideas-logo-flat.vert)
+ install /usr/local/share/glmark2/shaders/ideas-logo-shadow.frag (from data/shaders/ideas-logo-shadow.frag)
+ install /usr/local/share/glmark2/shaders/ideas-logo-shadow.vert (from data/shaders/ideas-logo-shadow.vert)
+ install /usr/local/share/glmark2/shaders/ideas-logo.frag (from data/shaders/ideas-logo.frag)
+ install /usr/local/share/glmark2/shaders/ideas-logo.vert (from data/shaders/ideas-logo.vert)
+ install /usr/local/share/glmark2/shaders/ideas-paper.frag (from data/shaders/ideas-paper.frag)
+ install /usr/local/share/glmark2/shaders/ideas-paper.vert (from data/shaders/ideas-paper.vert)
+ install /usr/local/share/glmark2/shaders/ideas-table.frag (from data/shaders/ideas-table.frag)
+ install /usr/local/share/glmark2/shaders/ideas-table.vert (from data/shaders/ideas-table.vert)
+ install /usr/local/share/glmark2/shaders/ideas-text.frag (from data/shaders/ideas-text.frag)
+ install /usr/local/share/glmark2/shaders/ideas-text.vert (from data/shaders/ideas-text.vert)
+ install /usr/local/share/glmark2/shaders/ideas-under-table.frag (from data/shaders/ideas-under-table.frag)
+ install /usr/local/share/glmark2/shaders/ideas-under-table.vert (from data/shaders/ideas-under-table.vert)
+ install /usr/local/share/glmark2/shaders/jellyfish.frag (from data/shaders/jellyfish.frag)
+ install /usr/local/share/glmark2/shaders/jellyfish.vert (from data/shaders/jellyfish.vert)
+ install /usr/local/share/glmark2/shaders/light-advanced.frag (from data/shaders/light-advanced.frag)
+ install /usr/local/share/man/man1/glmark2-es2.1 (from build/doc/glmark2-es2.1)
+ install /usr/local/share/glmark2/shaders/light-advanced.vert (from data/shaders/light-advanced.vert)
+ install /usr/local/share/glmark2/textures/asteroid-height-map.png (from data/textures/asteroid-height-map.png)
+ install /usr/local/share/glmark2/shaders/light-basic-tex-bilinear.frag (from data/shaders/light-basic-tex-bilinear.frag)
+ install /usr/local/share/glmark2/shaders/light-basic-tex.frag (from data/shaders/light-basic-tex.frag)
+ install /usr/local/share/glmark2/shaders/light-basic-texgen.vert (from data/shaders/light-basic-texgen.vert)
+ install /usr/local/share/glmark2/shaders/light-basic.frag (from data/shaders/light-basic.frag)
+ install /usr/local/share/glmark2/textures/asteroid-normal-map-tangent.png (from data/textures/asteroid-normal-map-tangent.png)
+ install /usr/local/share/glmark2/shaders/light-basic.vert (from data/shaders/light-basic.vert)
+ install /usr/local/share/glmark2/shaders/light-cel.frag (from data/shaders/light-cel.frag)
+ install /usr/local/share/glmark2/shaders/light-phong.frag (from data/shaders/light-phong.frag)
+ install /usr/local/share/glmark2/shaders/light-phong.vert (from data/shaders/light-phong.vert)
+ install /usr/local/share/glmark2/textures/asteroid-normal-map.png (from data/textures/asteroid-normal-map.png)
+ install /usr/local/share/glmark2/shaders/light-refract.frag (from data/shaders/light-refract.frag)
+ install /usr/local/share/glmark2/shaders/light-refract.vert (from data/shaders/light-refract.vert)
+ install /usr/local/share/glmark2/shaders/loop-step-loop.all (from data/shaders/loop-step-loop.all)
+ install /usr/local/share/glmark2/shaders/loop-step-simple.all (from data/shaders/loop-step-simple.all)
+ install /usr/local/share/glmark2/shaders/loop.frag (from data/shaders/loop.frag)
+ install /usr/local/share/glmark2/shaders/loop.vert (from data/shaders/loop.vert)
+ install /usr/local/share/glmark2/textures/crate-base.png (from data/textures/crate-base.png)
+ install /usr/local/share/glmark2/shaders/pulsar-light.vert (from data/shaders/pulsar-light.vert)
+ install /usr/local/share/glmark2/shaders/pulsar.vert (from data/shaders/pulsar.vert)
+ install /usr/local/share/glmark2/shaders/shadow.frag (from data/shaders/shadow.frag)
+ install /usr/local/share/glmark2/shaders/shadow.vert (from data/shaders/shadow.vert)
+ install /usr/local/share/glmark2/textures/desktop-shadow-corner.png (from data/textures/desktop-shadow-corner.png)
+ install /usr/local/share/glmark2/shaders/terrain-blur.frag (from data/shaders/terrain-blur.frag)
+ install /usr/local/share/glmark2/textures/desktop-shadow.png (from data/textures/desktop-shadow.png)
+ install /usr/local/share/glmark2/shaders/terrain-luminance.frag (from data/shaders/terrain-luminance.frag)
+ install /usr/local/share/glmark2/textures/desktop-window.png (from data/textures/desktop-window.png)
+ install /usr/local/share/glmark2/shaders/terrain-noise.frag (from data/shaders/terrain-noise.frag)
+ install /usr/local/share/glmark2/shaders/terrain-normalmap.frag (from data/shaders/terrain-normalmap.frag)
+ install /usr/local/share/glmark2/textures/effect-2d.png (from data/textures/effect-2d.png)
+ install /usr/local/share/glmark2/shaders/terrain-overlay.frag (from data/shaders/terrain-overlay.frag)
+ install /usr/local/share/glmark2/textures/glyph-atlas.png (from data/textures/glyph-atlas.png)
+ install /usr/local/share/glmark2/shaders/terrain-texture.vert (from data/shaders/terrain-texture.vert)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-01.png (from data/textures/jellyfish-caustics-01.png)
+ install /usr/local/share/glmark2/shaders/terrain.frag (from data/shaders/terrain.frag)
+ install /usr/local/share/glmark2/shaders/terrain.vert (from data/shaders/terrain.vert)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-02.png (from data/textures/jellyfish-caustics-02.png)
+ install /usr/local/share/glmark2/shaders/text-renderer.frag (from data/shaders/text-renderer.frag)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-03.png (from data/textures/jellyfish-caustics-03.png)
+ install /usr/local/share/glmark2/shaders/text-renderer.vert (from data/shaders/text-renderer.vert)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-04.png (from data/textures/jellyfish-caustics-04.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-05.png (from data/textures/jellyfish-caustics-05.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-06.png (from data/textures/jellyfish-caustics-06.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-07.png (from data/textures/jellyfish-caustics-07.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-08.png (from data/textures/jellyfish-caustics-08.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-09.png (from data/textures/jellyfish-caustics-09.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-10.png (from data/textures/jellyfish-caustics-10.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-11.png (from data/textures/jellyfish-caustics-11.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-12.png (from data/textures/jellyfish-caustics-12.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-13.png (from data/textures/jellyfish-caustics-13.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-14.png (from data/textures/jellyfish-caustics-14.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-15.png (from data/textures/jellyfish-caustics-15.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-16.png (from data/textures/jellyfish-caustics-16.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-17.png (from data/textures/jellyfish-caustics-17.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-18.png (from data/textures/jellyfish-caustics-18.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-19.png (from data/textures/jellyfish-caustics-19.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-20.png (from data/textures/jellyfish-caustics-20.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-21.png (from data/textures/jellyfish-caustics-21.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-22.png (from data/textures/jellyfish-caustics-22.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-23.png (from data/textures/jellyfish-caustics-23.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-24.png (from data/textures/jellyfish-caustics-24.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-25.png (from data/textures/jellyfish-caustics-25.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-26.png (from data/textures/jellyfish-caustics-26.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-27.png (from data/textures/jellyfish-caustics-27.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-28.png (from data/textures/jellyfish-caustics-28.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-29.png (from data/textures/jellyfish-caustics-29.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-30.png (from data/textures/jellyfish-caustics-30.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-31.png (from data/textures/jellyfish-caustics-31.png)
+ install /usr/local/share/glmark2/textures/jellyfish-caustics-32.png (from data/textures/jellyfish-caustics-32.png)
+ install /usr/local/share/glmark2/textures/jellyfish256.png (from data/textures/jellyfish256.png)
+ install /usr/local/share/glmark2/textures/nasa1.png (from data/textures/nasa1.png)
+ install /usr/local/share/glmark2/textures/nasa2.png (from data/textures/nasa2.png)
+ install /usr/local/share/glmark2/textures/nasa3.png (from data/textures/nasa3.png)
+ install /usr/local/share/glmark2/textures/terrain-backgrounddetailed6.jpg (from data/textures/terrain-backgrounddetailed6.jpg)
+ install /usr/local/share/glmark2/textures/terrain-grasslight-512-nm.jpg (from data/textures/terrain-grasslight-512-nm.jpg)
+ install /usr/local/share/glmark2/textures/terrain-grasslight-512.jpg (from data/textures/terrain-grasslight-512.jpg)
+ install /usr/local/bin/glmark2-es2 (from build/src/glmark2-es2)
Waf: Leaving directory `/home/fpga/work/glmark2/build'
'install' finished successfully (1.843s)
実行
=======================================================
glmark2 2017.07
=======================================================
OpenGL Information
GL_VENDOR: ARM
GL_RENDERER: Mali-400 MP
GL_VERSION: OpenGL ES 2.0 "6378cce"
=======================================================
[build] use-vbo=false: FPS: 28 FrameTime: 35.714 ms
[build] use-vbo=true: FPS: 28 FrameTime: 35.714 ms
[texture] texture-filter=nearest: FPS: 29 FrameTime: 34.483 ms
[texture] texture-filter=linear: FPS: 29 FrameTime: 34.483 ms
[texture] texture-filter=mipmap: FPS: 29 FrameTime: 34.483 ms
[shading] shading=gouraud: FPS: 27 FrameTime: 37.037 ms
[shading] shading=blinn-phong-inf: FPS: 27 FrameTime: 37.037 ms
[shading] shading=phong: FPS: 26 FrameTime: 38.462 ms
[shading] shading=cel: FPS: 26 FrameTime: 38.462 ms
[bump] bump-render=high-poly: FPS: 23 FrameTime: 43.478 ms
[bump] bump-render=normals: FPS: 29 FrameTime: 34.483 ms
[bump] bump-render=height: FPS: 28 FrameTime: 35.714 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 26 FrameTime: 38.462 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 21 FrameTime: 47.619 ms
[pulsar] light=false:quads=5:texture=false: FPS: 30 FrameTime: 33.333 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 19 FrameTime: 52.632 ms
[desktop] effect=shadow:windows=4: FPS: 27 FrameTime: 37.037 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 15 FrameTime: 66.667 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 20 FrameTime: 50.000 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 16 FrameTime: 62.500 ms
[ideas] speed=duration: FPS: 27 FrameTime: 37.037 ms
[jellyfish] <default>: FPS: 26 FrameTime: 38.462 ms
[terrain] <default>: Unsupported
[shadow] <default>: FPS: 26 FrameTime: 38.462 ms
[refract] <default>: FPS: 12 FrameTime: 83.333 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 29 FrameTime: 34.483 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 27 FrameTime: 37.037 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 29 FrameTime: 34.483 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 28 FrameTime: 35.714 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 26 FrameTime: 38.462 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 28 FrameTime: 35.714 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 28 FrameTime: 35.714 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 28 FrameTime: 35.714 ms
=======================================================
glmark2 Score: 25
=======================================================
まとめ
う〜ん。なんか遅くない? 本当に GPU 動いているのかな〜(イマサラ)