|
@@ -61,6 +61,7 @@ internal class VkThread(private val vkSurfaceView: VkSurfaceView, private val vk
|
|
private var rendererInitialized = false
|
|
private var rendererInitialized = false
|
|
private var rendererResumed = false
|
|
private var rendererResumed = false
|
|
private var resumed = false
|
|
private var resumed = false
|
|
|
|
+ private var surfaceChanged = false
|
|
private var hasSurface = false
|
|
private var hasSurface = false
|
|
private var width = 0
|
|
private var width = 0
|
|
private var height = 0
|
|
private var height = 0
|
|
@@ -141,8 +142,10 @@ internal class VkThread(private val vkSurfaceView: VkSurfaceView, private val vk
|
|
fun onSurfaceChanged(width: Int, height: Int) {
|
|
fun onSurfaceChanged(width: Int, height: Int) {
|
|
lock.withLock {
|
|
lock.withLock {
|
|
hasSurface = true
|
|
hasSurface = true
|
|
|
|
+ surfaceChanged = true;
|
|
this.width = width
|
|
this.width = width
|
|
this.height = height
|
|
this.height = height
|
|
|
|
+
|
|
lockCondition.signalAll()
|
|
lockCondition.signalAll()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -188,8 +191,11 @@ internal class VkThread(private val vkSurfaceView: VkSurfaceView, private val vk
|
|
rendererInitialized = true
|
|
rendererInitialized = true
|
|
vkRenderer.onVkSurfaceCreated(vkSurfaceView.holder.surface)
|
|
vkRenderer.onVkSurfaceCreated(vkSurfaceView.holder.surface)
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ if (surfaceChanged) {
|
|
vkRenderer.onVkSurfaceChanged(vkSurfaceView.holder.surface, width, height)
|
|
vkRenderer.onVkSurfaceChanged(vkSurfaceView.holder.surface, width, height)
|
|
|
|
+ surfaceChanged = false
|
|
}
|
|
}
|
|
|
|
|
|
// Break out of the loop so drawing can occur without holding onto the lock.
|
|
// Break out of the loop so drawing can occur without holding onto the lock.
|