@@ -55,12 +55,28 @@ def prepare_shader(shader):
55
55
################################################################################
56
56
# Linux
57
57
58
- def run_linux (vert , frag , json ):
58
+ def run_linux (vert , frag , json , skip_render ):
59
59
assert (os .path .exists (vert ))
60
60
assert (os .path .exists (frag ))
61
61
assert (os .path .exists (json ))
62
+
63
+ if skip_render :
64
+ with open ('SKIP_RENDER' , 'w' ) as f :
65
+ f .write ('SKIP_RENDER' )
66
+ elif os .path .exists ('SKIP_RENDER' ):
67
+ os .remove ('SKIP_RENDER' )
68
+
62
69
cmd = 'vkworker ' + vert + ' ' + frag + ' ' + json + ' > ' + LOGFILE
63
- subprocess .run (cmd , shell = True , timeout = TIMEOUT_RUN )
70
+ status = 'SUCCESS'
71
+ try :
72
+ subprocess .run (cmd , shell = True , timeout = TIMEOUT_RUN ).check_returncode ()
73
+ except subprocess .TimeoutExpired as err :
74
+ status = 'TIMEOUT'
75
+ except subprocess .CalledProcessError as err :
76
+ status = 'CRASH'
77
+
78
+ with open ('STATUS' , 'w' ) as f :
79
+ f .write (status )
64
80
65
81
################################################################################
66
82
# Android
@@ -81,7 +97,7 @@ def adb(adbargs):
81
97
else :
82
98
return p
83
99
84
- def run_android (vert , frag , json ):
100
+ def run_android (vert , frag , json , skip_render ):
85
101
assert (os .path .exists (vert ))
86
102
assert (os .path .exists (frag ))
87
103
assert (os .path .exists (json ))
@@ -91,6 +107,11 @@ def run_android(vert, frag, json):
91
107
adb ('push ' + vert + ' ' + ANDROID_SDCARD + '/test.vert.spv' )
92
108
adb ('push ' + frag + ' ' + ANDROID_SDCARD + '/test.frag.spv' )
93
109
adb ('push ' + json + ' ' + ANDROID_SDCARD + '/test.json' )
110
+
111
+
112
+ if skip_render :
113
+ adb ('shell touch ' + ANDROID_SDCARD + '/SKIP_RENDER' )
114
+
94
115
adb ('logcat -c' )
95
116
adb ('shell am start ' + ANDROID_APP + '/android.app.NativeActivity' )
96
117
@@ -128,16 +149,18 @@ def run_android(vert, frag, json):
128
149
# Grab log
129
150
adb ('logcat -d > ' + LOGFILE )
130
151
131
- with open (LOGFILE , 'a' ) as f :
132
- if done :
133
- f .write ('\n GFZVK DONE\n ' )
134
- else :
135
- # Something went wrong, make sure to stop the app in any case
136
- adb ('shell am force-stop ' + ANDROID_APP )
137
- if crash :
138
- f .write ('\n GFZVK CRASH\n ' )
139
- else :
140
- f .write ('\n GFZVK TIMEOUT\n ' )
152
+ status = 'SUCCESS'
153
+ if crash :
154
+ status = 'CRASH'
155
+ elif not done :
156
+ status = 'TIMEOUT'
157
+
158
+ with open ('STATUS' , 'w' ) as f :
159
+ f .write (status )
160
+
161
+ if status != 'SUCCESS' :
162
+ # Something went wrong, make sure to stop the app in any case
163
+ adb ('shell am force-stop ' + ANDROID_APP )
141
164
142
165
# Grab image if present
143
166
imagepath = ANDROID_SDCARD + '/image.png'
@@ -156,9 +179,11 @@ def run_android(vert, frag, json):
156
179
157
180
group = parser .add_mutually_exclusive_group ()
158
181
group .add_argument ('-a' , '--android' , action = 'store_true' , help = 'Render on Android' )
159
- group .add_argument ('-s ' , '--serial' , help = 'Android device serial ID. Implies --android' )
182
+ group .add_argument ('-i ' , '--serial' , help = 'Android device serial ID. Implies --android' )
160
183
group .add_argument ('-l' , '--linux' , action = 'store_true' , help = 'Render on Linux' )
161
184
185
+ parser .add_argument ('-s' , '--skip-render' , action = 'store_true' , help = 'Skip render' )
186
+
162
187
parser .add_argument ('vert' , help = 'Vertex shader: shader.vert[.asm|.spv]' )
163
188
parser .add_argument ('frag' , help = 'Fragment shader: shader.frag[.asm|.spv]' )
164
189
parser .add_argument ('json' , help = 'Uniforms values' )
@@ -170,10 +195,10 @@ def run_android(vert, frag, json):
170
195
171
196
if args .serial :
172
197
os .environ ['ANDROID_SERIAL' ] = args .serial
173
- run_android (vert , frag , args .json )
198
+ run_android (vert , frag , args .json , args . skip_render )
174
199
175
200
if args .android :
176
- run_android (vert , frag , args .json )
201
+ run_android (vert , frag , args .json , args . skip_render )
177
202
178
203
if args .linux :
179
- run_linux (vert , frag , args .json )
204
+ run_linux (vert , frag , args .json , args . skip_render )
0 commit comments