Commit 1d84dd1d authored by Roman Sedaikin's avatar Roman Sedaikin

Refactored renderer debug output.

parent 381cd6c5
...@@ -9,6 +9,9 @@ import org.jetbrains.skiko.GraphicsApi ...@@ -9,6 +9,9 @@ import org.jetbrains.skiko.GraphicsApi
import org.jetbrains.skiko.OS import org.jetbrains.skiko.OS
import org.jetbrains.skiko.SkiaLayer import org.jetbrains.skiko.SkiaLayer
import org.jetbrains.skiko.hostOs import org.jetbrains.skiko.hostOs
import org.jetbrains.skiko.hostFullName
import org.jetbrains.skiko.javaLocation
import org.jetbrains.skiko.javaVendor
internal fun createContextHandler(layer: SkiaLayer, renderApi: GraphicsApi): ContextHandler { internal fun createContextHandler(layer: SkiaLayer, renderApi: GraphicsApi): ContextHandler {
return when (renderApi) { return when (renderApi) {
...@@ -52,7 +55,12 @@ internal abstract class ContextHandler(val layer: SkiaLayer) { ...@@ -52,7 +55,12 @@ internal abstract class ContextHandler(val layer: SkiaLayer) {
renderTarget?.close() renderTarget?.close()
} }
open fun hardwareInfo(): String = "" protected open fun rendererInfo(): String {
return "${layer.renderApi} rendering info:\n" +
"OS: $hostFullName\n" +
"Java: $javaVendor\n" +
"Java location: $javaLocation\n"
}
protected open fun destroyContext() = Unit protected open fun destroyContext() = Unit
} }
...@@ -6,9 +6,6 @@ import org.jetbrains.skija.SurfaceColorFormat ...@@ -6,9 +6,6 @@ import org.jetbrains.skija.SurfaceColorFormat
import org.jetbrains.skija.SurfaceOrigin import org.jetbrains.skija.SurfaceOrigin
import org.jetbrains.skija.impl.Native import org.jetbrains.skija.impl.Native
import org.jetbrains.skiko.SkiaLayer import org.jetbrains.skiko.SkiaLayer
import org.jetbrains.skiko.hostFullName
import org.jetbrains.skiko.javaLocation
import org.jetbrains.skiko.javaVendor
import org.jetbrains.skiko.redrawer.Direct3DRedrawer import org.jetbrains.skiko.redrawer.Direct3DRedrawer
import java.lang.ref.Reference import java.lang.ref.Reference
...@@ -29,7 +26,7 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer) ...@@ -29,7 +26,7 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer)
} }
context = directXRedrawer.makeContext(device) context = directXRedrawer.makeContext(device)
if (System.getProperty("skiko.hardwareInfo.enabled") == "true") { if (System.getProperty("skiko.hardwareInfo.enabled") == "true") {
println(hardwareInfo()) println(rendererInfo())
} }
} }
} catch (e: Exception) { } catch (e: Exception) {
...@@ -111,11 +108,8 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer) ...@@ -111,11 +108,8 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer)
} }
} }
override fun hardwareInfo(): String { protected override fun rendererInfo(): String {
return "DIRECT3D (dx12) rendering info:\n" + return super.rendererInfo() +
"OS: $hostFullName\n" +
"Java: $javaVendor\n" +
"Java location: $javaLocation\n" +
"Video card: ${directXRedrawer.getAdapterName(device)}\n" + "Video card: ${directXRedrawer.getAdapterName(device)}\n" +
"Total VRAM: ${directXRedrawer.getAdapterMemorySize(device) / 1024 / 1024} MB\n" "Total VRAM: ${directXRedrawer.getAdapterMemorySize(device) / 1024 / 1024} MB\n"
} }
......
...@@ -6,9 +6,6 @@ import org.jetbrains.skija.SurfaceColorFormat ...@@ -6,9 +6,6 @@ import org.jetbrains.skija.SurfaceColorFormat
import org.jetbrains.skija.SurfaceOrigin import org.jetbrains.skija.SurfaceOrigin
import org.jetbrains.skija.impl.Native import org.jetbrains.skija.impl.Native
import org.jetbrains.skiko.SkiaLayer import org.jetbrains.skiko.SkiaLayer
import org.jetbrains.skiko.hostFullName
import org.jetbrains.skiko.javaLocation
import org.jetbrains.skiko.javaVendor
import org.jetbrains.skiko.redrawer.MetalRedrawer import org.jetbrains.skiko.redrawer.MetalRedrawer
internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) { internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
...@@ -20,7 +17,7 @@ internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) { ...@@ -20,7 +17,7 @@ internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
if (context == null) { if (context == null) {
context = metalRedrawer.makeContext() context = metalRedrawer.makeContext()
if (System.getProperty("skiko.hardwareInfo.enabled") == "true") { if (System.getProperty("skiko.hardwareInfo.enabled") == "true") {
println(hardwareInfo()) println(rendererInfo())
} }
} }
} catch (e: Exception) { } catch (e: Exception) {
...@@ -60,11 +57,8 @@ internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) { ...@@ -60,11 +57,8 @@ internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
context?.close() context?.close()
} }
override fun hardwareInfo(): String { override fun rendererInfo(): String {
return "METAL rendering info:\n" + return super.rendererInfo() +
"OS: $hostFullName\n" +
"Java: $javaVendor\n" +
"Java location: $javaLocation\n" +
"Video card: ${metalRedrawer.getAdapterName()}\n" + "Video card: ${metalRedrawer.getAdapterName()}\n" +
"Total VRAM: ${metalRedrawer.getAdapterMemorySize() / 1024 / 1024} MB\n" "Total VRAM: ${metalRedrawer.getAdapterMemorySize() / 1024 / 1024} MB\n"
} }
......
...@@ -8,9 +8,6 @@ import org.jetbrains.skija.SurfaceOrigin ...@@ -8,9 +8,6 @@ import org.jetbrains.skija.SurfaceOrigin
import org.jetbrains.skiko.OpenGLApi import org.jetbrains.skiko.OpenGLApi
import org.jetbrains.skiko.SkiaLayer import org.jetbrains.skiko.SkiaLayer
import org.jetbrains.skiko.makeGLContext import org.jetbrains.skiko.makeGLContext
import org.jetbrains.skiko.hostFullName
import org.jetbrains.skiko.javaLocation
import org.jetbrains.skiko.javaVendor
import org.jetbrains.skiko.makeGLRenderTarget import org.jetbrains.skiko.makeGLRenderTarget
internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) { internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
...@@ -19,7 +16,7 @@ internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) { ...@@ -19,7 +16,7 @@ internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
if (context == null) { if (context == null) {
context = makeGLContext() context = makeGLContext()
if (System.getProperty("skiko.hardwareInfo.enabled") == "true") { if (System.getProperty("skiko.hardwareInfo.enabled") == "true") {
println(hardwareInfo()) println(rendererInfo())
} }
} }
} catch (e: Exception) { } catch (e: Exception) {
...@@ -69,12 +66,9 @@ internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) { ...@@ -69,12 +66,9 @@ internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
canvas = surface!!.canvas canvas = surface!!.canvas
} }
override fun hardwareInfo(): String { override fun rendererInfo(): String {
val gl = OpenGLApi.instance val gl = OpenGLApi.instance
return "OPENGL rendering info:\n" + return super.rendererInfo() +
"OS: $hostFullName\n" +
"Java: $javaVendor\n" +
"Java location: $javaLocation\n" +
"Vendor: ${gl.glGetString(gl.GL_VENDOR)}\n" + "Vendor: ${gl.glGetString(gl.GL_VENDOR)}\n" +
"Model: ${gl.glGetString(gl.GL_RENDERER)}\n" + "Model: ${gl.glGetString(gl.GL_RENDERER)}\n" +
"Total VRAM: ${gl.glGetIntegerv(gl.GL_TOTAL_MEMORY) / 1024} MB\n" "Total VRAM: ${gl.glGetIntegerv(gl.GL_TOTAL_MEMORY) / 1024} MB\n"
......
...@@ -6,9 +6,6 @@ import org.jetbrains.skija.ColorAlphaType ...@@ -6,9 +6,6 @@ import org.jetbrains.skija.ColorAlphaType
import org.jetbrains.skija.ImageInfo import org.jetbrains.skija.ImageInfo
import org.jetbrains.skija.Picture import org.jetbrains.skija.Picture
import org.jetbrains.skiko.SkiaLayer import org.jetbrains.skiko.SkiaLayer
import org.jetbrains.skiko.hostFullName
import org.jetbrains.skiko.javaLocation
import org.jetbrains.skiko.javaVendor
import java.awt.Transparency import java.awt.Transparency
import java.awt.color.ColorSpace import java.awt.color.ColorSpace
import java.awt.image.BufferedImage import java.awt.image.BufferedImage
...@@ -32,10 +29,17 @@ internal class SoftwareContextHandler(layer: SkiaLayer) : ContextHandler(layer) ...@@ -32,10 +29,17 @@ internal class SoftwareContextHandler(layer: SkiaLayer) : ContextHandler(layer)
var image: BufferedImage? = null var image: BufferedImage? = null
var imageData: ByteArray? = null var imageData: ByteArray? = null
var raster: WritableRaster? = null var raster: WritableRaster? = null
var isInited = false
override fun initContext(): Boolean { override fun initContext(): Boolean {
// Raster does not need context // Raster does not need context
return true if (!isInited) {
if (System.getProperty("skiko.hardwareInfo.enabled") == "true") {
println(rendererInfo())
}
isInited = true
}
return isInited
} }
override fun initCanvas() { override fun initCanvas() {
...@@ -79,11 +83,4 @@ internal class SoftwareContextHandler(layer: SkiaLayer) : ContextHandler(layer) ...@@ -79,11 +83,4 @@ internal class SoftwareContextHandler(layer: SkiaLayer) : ContextHandler(layer)
override fun flush() { override fun flush() {
// Raster does not need to flush canvas // Raster does not need to flush canvas
} }
override fun hardwareInfo(): String {
return "SOFTWARE rendering info:\n" +
"OS: $hostFullName\n" +
"Java: $javaVendor\n" +
"Java location: $javaLocation\n"
}
} }
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