Commit 78fc304d authored by Roman Sedaikin's avatar Roman Sedaikin

Wrapped directXRedrawer.finishFrame into try-finally with Reference.reachabilityFence.

parent 8c0efdf5
package org.jetbrains.skiko.context package org.jetbrains.skiko.context
import java.lang.ref.Reference
import org.jetbrains.skija.ColorSpace import org.jetbrains.skija.ColorSpace
import org.jetbrains.skija.FramebufferFormat import org.jetbrains.skija.FramebufferFormat
import org.jetbrains.skija.Picture import org.jetbrains.skija.Picture
...@@ -30,8 +31,6 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer) ...@@ -30,8 +31,6 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer)
return true return true
} }
override fun initCanvas() { override fun initCanvas() {
dispose() dispose()
...@@ -55,10 +54,15 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer) ...@@ -55,10 +54,15 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer)
} }
override fun flush() { override fun flush() {
try {
directXRedrawer.finishFrame( directXRedrawer.finishFrame(
device, device,
Native.getPtr(context!!), Native.getPtr(context!!),
Native.getPtr(surface!!) Native.getPtr(surface!!)
); )
} finally {
Reference.reachabilityFence(context!!)
Reference.reachabilityFence(surface!!)
}
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment