Unverified Commit d1d84095 authored by Roman Sedaikin's avatar Roman Sedaikin Committed by GitHub

Merge pull request #99 from JetBrains/more-debug-info

Added OS/JRE info in debug output.
parents 9b6b8109 2b84d3b6
......@@ -98,8 +98,8 @@ class Renderer(
// Alpha layers test
val rectW = 100f
val rectH = 100f
val left = (width - rectW) / 2f
val top = (height - rectH) / 2f
val left = (width / layer.contentScale - rectW) / 2f
val top = (height / layer.contentScale - rectH) / 2f
val pictureRecorder = PictureRecorder()
val pictureCanvas = pictureRecorder.beginRecording(
Rect.makeLTRB(left, top, left + rectW, top + rectH)
......
......@@ -37,3 +37,15 @@ val hostArch by lazy {
val hostId by lazy {
"${hostOs.id}-${hostArch.id}"
}
internal val hostFullName by lazy {
"${System.getProperty("os.name")}, ${System.getProperty("os.version")}, ${hostArch.toString().toLowerCase()}"
}
internal val javaVendor by lazy {
"${System.getProperty("java.vendor")} ${System.getProperty("java.version")}"
}
internal val javaLocation by lazy {
"${System.getProperty("java.home")}"
}
......@@ -9,6 +9,9 @@ import org.jetbrains.skiko.GraphicsApi
import org.jetbrains.skiko.OS
import org.jetbrains.skiko.SkiaLayer
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 {
return when (renderApi) {
......@@ -52,7 +55,12 @@ internal abstract class ContextHandler(val layer: SkiaLayer) {
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
}
......@@ -26,7 +26,7 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer)
}
context = directXRedrawer.makeContext(device)
if (System.getProperty("skiko.hardwareInfo.enabled") == "true") {
println(hardwareInfo())
println(rendererInfo())
}
}
} catch (e: Exception) {
......@@ -108,9 +108,9 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer)
}
}
override fun hardwareInfo(): String {
return "DIRECT3D (dx12) hardware info:\n" +
protected override fun rendererInfo(): String {
return super.rendererInfo() +
"Video card: ${directXRedrawer.getAdapterName(device)}\n" +
"Total memory: ${directXRedrawer.getAdapterMemorySize(device) / 1024 / 1024} MB\n"
"Total VRAM: ${directXRedrawer.getAdapterMemorySize(device) / 1024 / 1024} MB\n"
}
}
......@@ -17,7 +17,7 @@ internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
if (context == null) {
context = metalRedrawer.makeContext()
if (System.getProperty("skiko.hardwareInfo.enabled") == "true") {
println(hardwareInfo())
println(rendererInfo())
}
}
} catch (e: Exception) {
......@@ -57,9 +57,9 @@ internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
context?.close()
}
override fun hardwareInfo(): String {
return "METAL hardware info:\n" +
override fun rendererInfo(): String {
return super.rendererInfo() +
"Video card: ${metalRedrawer.getAdapterName()}\n" +
"Total memory: ${metalRedrawer.getAdapterMemorySize() / 1024 / 1024} MB\n"
"Total VRAM: ${metalRedrawer.getAdapterMemorySize() / 1024 / 1024} MB\n"
}
}
......@@ -16,7 +16,7 @@ internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
if (context == null) {
context = makeGLContext()
if (System.getProperty("skiko.hardwareInfo.enabled") == "true") {
println(hardwareInfo())
println(rendererInfo())
}
}
} catch (e: Exception) {
......@@ -66,11 +66,11 @@ internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
canvas = surface!!.canvas
}
override fun hardwareInfo(): String {
override fun rendererInfo(): String {
val gl = OpenGLApi.instance
return "OPENGL hardware info:\n" +
return super.rendererInfo() +
"Vendor: ${gl.glGetString(gl.GL_VENDOR)}\n" +
"Model: ${gl.glGetString(gl.GL_RENDERER)}\n" +
"Total memory: ${gl.glGetIntegerv(gl.GL_TOTAL_MEMORY) / 1024} MB\n"
"Total VRAM: ${gl.glGetIntegerv(gl.GL_TOTAL_MEMORY) / 1024} MB\n"
}
}
......@@ -29,10 +29,17 @@ internal class SoftwareContextHandler(layer: SkiaLayer) : ContextHandler(layer)
var image: BufferedImage? = null
var imageData: ByteArray? = null
var raster: WritableRaster? = null
var isInited = false
override fun initContext(): Boolean {
// 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() {
......
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