////
- Copyright (c) 2019-2023, Arm Limited and Contributors
-
- SPDX-License-Identifier: Apache-2.0
-
- Licensed under the Apache License, Version 2.0 the "License";
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
////
= Miscellaneous
== Controls
[cols="<,^,^"]
|===
| Action | Desktop | Mobile
| Move around the scene
| ++++++WASD++++++
| ++++++press++++++ + ++++++hold++++++
| Rotate camera
| ++++++right mouse button++++++ + ++++++drag++++++
| ++++++press++++++ + ++++++move++++++
| Pan
| ++++++left mouse button++++++ + ++++++drag++++++
| -
| Movement speed reduced
| ++++++shift++++++
| -
| Movement speed increased
| ++++++ctrl++++++
| -
| toggle GUI
| ++++++left click++++++
| ++++++tap++++++
| toggle Debug Window
| ++++++right click++++++
| 2 finger ++++++tap++++++
|===
== Debug Window
The Debug Window shows information about the current application.
image::./images/debug-window.png[Debug Window]
== Driver version
The debug window shows the driver version of the GPU, which follows the https://registry.khronos.org/vulkan/specs/1.3-extensions/html/chap44.html#extendingvulkan-coreversions-versionnumbers[Vulkan semantics], with a major, minor, and patch number.
New versions of the driver will increment these numbers.
The framework is able to get these values by calling `vkGetPhysicalDeviceProperties(physical_device, &properties)`.
This will set all attributes of properties, which type is `struct VkPhysicalDeviceProperties`.
Then it extracts the relevant bits from `properties.driverVersion` using the following Vulkan macros:
[,c]
----
VK_VERSION_MAJOR(properties.driverVersion);
VK_VERSION_MINOR(properties.driverVersion);
VK_VERSION_PATCH(properties.driverVersion);
----
It is important to note that old Arm Mali drivers (before Bifrost r14 and Midgard r26) may not implement this feature, therefore the values returned will be undefined.