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( ...@@ -98,8 +98,8 @@ class Renderer(
// Alpha layers test // Alpha layers test
val rectW = 100f val rectW = 100f
val rectH = 100f val rectH = 100f
val left = (width - rectW) / 2f val left = (width / layer.contentScale - rectW) / 2f
val top = (height - rectH) / 2f val top = (height / layer.contentScale - rectH) / 2f
val pictureRecorder = PictureRecorder() val pictureRecorder = PictureRecorder()
val pictureCanvas = pictureRecorder.beginRecording( val pictureCanvas = pictureRecorder.beginRecording(
Rect.makeLTRB(left, top, left + rectW, top + rectH) Rect.makeLTRB(left, top, left + rectW, top + rectH)
......
...@@ -36,4 +36,16 @@ val hostArch by lazy { ...@@ -36,4 +36,16 @@ val hostArch by lazy {
val hostId by lazy { val hostId by lazy {
"${hostOs.id}-${hostArch.id}" "${hostOs.id}-${hostArch.id}"
} }
\ No newline at end of file
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 ...@@ -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
} }
...@@ -26,7 +26,7 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer) ...@@ -26,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) {
...@@ -108,9 +108,9 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer) ...@@ -108,9 +108,9 @@ internal class Direct3DContextHandler(layer: SkiaLayer) : ContextHandler(layer)
} }
} }
override fun hardwareInfo(): String { protected override fun rendererInfo(): String {
return "DIRECT3D (dx12) hardware info:\n" + return super.rendererInfo() +
"Video card: ${directXRedrawer.getAdapterName(device)}\n" + "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) { ...@@ -17,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) {
...@@ -57,9 +57,9 @@ internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) { ...@@ -57,9 +57,9 @@ internal class MetalContextHandler(layer: SkiaLayer) : ContextHandler(layer) {
context?.close() context?.close()
} }
override fun hardwareInfo(): String { override fun rendererInfo(): String {
return "METAL hardware info:\n" + return super.rendererInfo() +
"Video card: ${metalRedrawer.getAdapterName()}\n" + "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) { ...@@ -16,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) {
...@@ -66,11 +66,11 @@ internal class OpenGLContextHandler(layer: SkiaLayer) : ContextHandler(layer) { ...@@ -66,11 +66,11 @@ 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 hardware info:\n" + return super.rendererInfo() +
"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 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) ...@@ -29,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() {
......
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