freezy / dmd-extensions

A toolbox for virtual pinball dot matrix displays.
GNU General Public License v2.0
126 stars 54 forks source link

VNI coloring support not working in 1.7.2 on Monitor #151

Closed Rallyace closed 5 years ago

Rallyace commented 5 years ago

VNI colouring support not working in 1.7.2 on a monitor. Was working fine in 1.7.1 and stopped working in 1.7.2?

TerryRed commented 5 years ago

I can confirm this is the case for myself and others as well.

freezy commented 5 years ago

Could you guys give me an example of a ROM + coloring (patch) that stopped working so I can reproduce please?

Wob76 commented 5 years ago

Hi freezy,

I am assuming this is linked to my issue https://github.com/freezy/dmd-extensions/issues/143, I noticed you commited a fix, I was just waiting for a release to test it.

Any colour patch using VNI, so afm, dm, jp, lw3, mm, ripleys, sfight2m simpparty, sopranos, stwr, t2, tmnt, totan, wcs or wwfr should show you issues.

Wob

freezy commented 5 years ago

Oh okay, could you check if it works in the build posted at #156? The changes should be in there.

Wob76 commented 5 years ago

Just did a quick test and VNI support is indeed working with that version (r2) but it seems to crash on every second run (using vpinmame setup to test), rolling back to 1.7.1 dll and no crashes, can't see anything in the logs but I'll try and test some more later.

Also of note with that version, the dot pitch seems to have changed, I am running 0.8 currently, with that version 0.6 seems to the same as the default dmd.

Wob76 commented 5 years ago

I just turned on debug level log, it's actually crashing when I hit stop on the test. This is the end of the log, not sure it's of any use.

[1] 2019/01/14 11:21:01.897 DEBUG | [vni][ColorMask] Enhancing single frame, duration = 2219ms (Scene 6)... [1] 2019/01/14 11:21:01.897 INFO | [vpm] Close() [1] 2019/01/14 11:21:01.897 INFO | Closing up. [1] 2019/01/14 11:21:01.897 INFO | Clearing Display [1] 2019/01/14 11:21:01.897 INFO | Clearing Display [1] 2019/01/14 11:21:01.897 INFO | Clearing Display [1] 2019/01/14 11:21:01.897 INFO | Clearing Display [1] 2019/01/14 11:21:01.897 DEBUG | Disposing 2-bit Colored VPM Graph... [1] 2019/01/14 11:21:01.915 INFO | Source for 4 renderer(s) stopped. [1] 2019/01/14 11:21:01.915 DEBUG | Disposing 4-bit Colored VPM Graph... [1] 2019/01/14 11:21:01.915 INFO | Source for 4 renderer(s) stopped. [1] 2019/01/14 11:21:01.915 DEBUG | Disposing RGB24-bit VPM Graph... [1] 2019/01/14 11:21:01.924 INFO | Source for 2 renderer(s) stopped. [1] 2019/01/14 11:21:01.924 DEBUG | Disposing Alphanumeric VPM Graph... [1] 2019/01/14 11:21:01.924 INFO | Source for 1 renderer(s) stopped.

This is on my desktop (virtual dmd only) not my cab, this is the windows event logs.

Application: Setup.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException at SkiaSharp.SkiaApi.sk_surface_draw(IntPtr, IntPtr, Single, Single, IntPtr) at SkiaSharp.SKSurface.Draw(SkiaSharp.SKCanvas, Single, Single, SkiaSharp.SKPaint) at SkiaSharp.SKCanvas.DrawSurface(SkiaSharp.SKSurface, Single, Single, SkiaSharp.SKPaint) at LibDmd.Output.Virtual.SkiaDmd.DmdPainter+<>c__DisplayClass5_0.<PaintCached>b__0(Int32, Int32, SkiaSharp.SKColor) at LibDmd.Output.Virtual.SkiaDmd.DmdPainter.PaintRgb24(LibDmd.Output.Virtual.SkiaDmd.DmdFrame, LibDmd.Output.Virtual.SkiaDmd.DmdLayerStyleDefinition, System.Action3<Int32,Int32,SkiaSharp.SKColor>) at LibDmd.Output.Virtual.SkiaDmd.DmdPainter.PaintCached(LibDmd.Output.Virtual.SkiaDmd.DmdFrame, SkiaSharp.SKCanvas, Int32, Int32, LibDmd.Output.Virtual.SkiaDmd.DmdLayerStyleDefinition, LibDmd.Output.Virtual.SkiaDmd.DmdLayer) at LibDmd.Output.Virtual.SkiaDmd.DmdPainter.Paint(LibDmd.Output.Virtual.SkiaDmd.DmdFrame, SkiaSharp.SKCanvas, Int32, Int32, LibDmd.Output.Virtual.SkiaDmd.DmdStyleDefinition, Boolean) at LibDmd.Output.Virtual.SkiaDmd.SkiaDmdControl.DrawDmd(SkiaSharp.SKCanvas, Int32, Int32) at LibDmd.Output.Virtual.SkiaDmd.SkiaDmdControl.OnPaintSurface(SkiaSharp.SKCanvas, Int32, Int32) at LibDmd.Output.Virtual.SkiaDmd.SkiaDmdControl.OnPaintCanvas(System.Object, SkiaSharp.Views.Desktop.SKPaintSurfaceEventArgs) at SkiaSharp.Views.WPF.SKElement.OnPaintSurface(SkiaSharp.Views.Desktop.SKPaintSurfaceEventArgs) at SkiaSharp.Views.WPF.SKElement.OnRender(System.Windows.Media.DrawingContext) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.ContextLayoutManager.UpdateLayout() at System.Windows.ContextLayoutManager.UpdateLayoutCallback(System.Object) at System.Windows.Media.MediaContext+InvokeOnRenderCallback.DoWork() at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() at System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object) at System.Windows.Media.MediaContext.RenderMessageHandler(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr) at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef) at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame) at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame) at LibDmd.DmdDevice.DmdDevice+<>c__DisplayClass27_0.b__0() at System.Threading.ThreadHelper.ThreadStart_Context(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) at System.Threading.ThreadHelper.ThreadStart()`

Faulting application name: Setup.exe_Visual PinMAME Installer, version: 1.42.0.0, time stamp: 0x5677fa1c Faulting module name: libskiasharp.dll, version: 0.0.0.0, time stamp: 0x5be1d70d Exception code: 0xc0000005 Fault offset: 0x000354ab Faulting process id: 0x9860 Faulting application start time: 0x01d4ab9f73bd0ce6 Faulting application path: C:\Visual Pinball\VPinMAME\Setup.exe Faulting module path: C:\Users\bdwyer\AppData\Local\Temp\Costura\7118DD8EFE6D8AE76C00263BF23B329E\32\libskiasharp.dll Report Id: 4d63e081-516a-4253-969c-3f19610292b8 Faulting package full name: Faulting package-relative application ID:

freezy commented 5 years ago

Thanks! The crash is related to the new feature in #156, so I'll close this one.