Skip to content

Commit

Permalink
Make swappy optional.
Browse files Browse the repository at this point in the history
  • Loading branch information
Themaister committed Sep 26, 2024
1 parent 1469c59 commit 24954ca
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 3 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ option(GRANITE_ASTC_ENCODER_COMPRESSION "Enable astc-encoder texture compression
option(GRANITE_TOOLS "Build Granite tools." ON)
option(GRANITE_KHR_DISPLAY_ACQUIRE_XLIB "Try to acquire Xlib display when using VK_KHR_display." OFF)
option(GRANITE_ANDROID_APK_FILESYSTEM "Use APK file system for assets and builtin files." ON)
option(GRANITE_ANDROID_SWAPPY "Use swappy on Android." OFF)
option(GRANITE_SHADER_COMPILER_OPTIMIZE "Optimize SPIR-V." ON)
option(GRANITE_VULKAN_SYSTEM_HANDLES "Add system handle support to Vulkan backend." ON)
option(GRANITE_RENDERER "Add higher level rendering functionality." ON)
Expand Down
5 changes: 4 additions & 1 deletion application/platforms/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,10 @@ if (ANDROID)
target_link_libraries(granite-platform PRIVATE granite-rapidjson android-game-activity
games-controller::paddleboat games-frame-pacing::swappy)

target_compile_definitions(granite-platform PRIVATE VK_USE_PLATFORM_ANDROID_KHR HAVE_SWAPPY)
target_compile_definitions(granite-platform PRIVATE VK_USE_PLATFORM_ANDROID_KHR)
if (GRANITE_ANDROID_SWAPPY)
target_compile_definitions(granite-platform PRIVATE HAVE_SWAPPY)
endif()
if (GRANITE_ANDROID_APK_FILESYSTEM)
target_compile_definitions(granite-platform PRIVATE ANDROID_APK_FILESYSTEM)
endif()
Expand Down
2 changes: 2 additions & 0 deletions application/platforms/android/gradle/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ android {
"-DANDROID_CPP_FEATURES=exceptions",
"-DGRANITE_SHADER_COMPILER_OPTIMIZE=$$SHADER_OPTIMIZE$$",
"-DGRANITE_VULKAN_FOSSILIZE=$$FOSSILIZE$$",
"-DGRANITE_ANDROID_SWAPPY=$$SWAPPY$$",
"-DCMAKE_BUILD_TYPE=Debug",
"-DANDROID_PLATFORM=android-26",
"-DGRANITE_SHIPPING=ON",
Expand All @@ -47,6 +48,7 @@ android {
"-DANDROID_CPP_FEATURES=exceptions",
"-DGRANITE_SHADER_COMPILER_OPTIMIZE=$$SHADER_OPTIMIZE$$",
"-DGRANITE_VULKAN_FOSSILIZE=$$FOSSILIZE$$",
"-DGRANITE_ANDROID_SWAPPY=$$SWAPPY$$",
"-DCMAKE_BUILD_TYPE=Release",
"-DANDROID_PLATFORM=android-26",
"-DGRANITE_SHIPPING=ON",
Expand Down
6 changes: 5 additions & 1 deletion tools/create_android_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,9 @@ def main():
parser.add_argument('--fossilize',
help = 'Add Fossilize support',
action = 'store_true')
parser.add_argument('--swappy',
help = 'Add Swappy support',
action = 'store_true')

args = parser.parse_args()
abis = ['arm64-v8a'] if args.abis is None else args.abis
Expand Down Expand Up @@ -173,7 +176,8 @@ def main():
.replace('$$AUDIO$$', 'ON' if args.audio else 'OFF') \
.replace('$$PHYSICS$$', 'ON' if args.physics else 'OFF') \
.replace('$$SHADER_OPTIMIZE$$', 'ON' if args.optimize else 'OFF') \
.replace('$$FOSSILIZE$$', 'ON' if args.fossilize else 'OFF')
.replace('$$FOSSILIZE$$', 'ON' if args.fossilize else 'OFF') \
.replace('$$SWAPPY$$', 'ON' if args.swappy else 'OFF')

with open(target_build_gradle, 'w') as dump_file:
print(data, file = dump_file)
Expand Down
2 changes: 2 additions & 0 deletions viewer/setup_android_build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,6 @@
--app-name "Granite glTF Viewer" \
--abis arm64-v8a \
--cmake-lists-toplevel ../CMakeLists.txt \
--fossilize \
--swappy \
--assets assets
2 changes: 1 addition & 1 deletion vulkan/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ if (GRANITE_VULKAN_SPIRV_CROSS)
target_compile_definitions(granite-vulkan PRIVATE GRANITE_VULKAN_SPIRV_CROSS=1)
endif()

if (ANDROID)
if (ANDROID AND GRANITE_ANDROID_SWAPPY)
find_package(games-frame-pacing REQUIRED CONFIG)
target_link_libraries(granite-vulkan PRIVATE games-frame-pacing::swappy)
target_compile_definitions(granite-vulkan PRIVATE HAVE_SWAPPY)
Expand Down

0 comments on commit 24954ca

Please sign in to comment.