EmuNewz Network
Release of External Software Rendering for JPCSP - Printable Version

+- EmuNewz Network (https://www.emunewz.net/forum)
+-- Forum: PSP Emulation (https://www.emunewz.net/forum/forumdisplay.php?fid=191)
+--- Forum: JPCSP Official Forum (https://www.emunewz.net/forum/forumdisplay.php?fid=51)
+---- Forum: JPCSP builds and releases (https://www.emunewz.net/forum/forumdisplay.php?fid=53)
+---- Thread: Release of External Software Rendering for JPCSP (/showthread.php?tid=160732)

Pages: 1 2 3 4 5 6 7 8 9 10 11


RE: Release of External Software Rendering for JPCSP - DragonNeos - 11-23-2020

On the 32-bit version of the External Software Renderer, when you close JPCSP, Java will crash and create a hs_err_pidXXXXX.txt file. I have tested all revisions until 37bb9b7 and they produce the same result (any builds older than this were hosted on RapidGator or EmuNewz and have already been removed).

Most builds I have tested show the following as the issue when the emulator is closed:
Code:
# Problematic frame:
# C  [software-ge-renderer-SSE3.dll+0x2d92e]

Starting with revision 97c0bf3, the memory address is slightly different:
Code:
# Problematic frame:
# C  [software-ge-renderer-SSE3.dll+0x2d89e]



RE: Release of External Software Rendering for JPCSP - DragonNeos - 04-21-2022

When the External Software Renderer is used, at least on revision 935ea155, the following message appears on the console window:
Code:
Running Jpcsp 64bit...
Exception in thread "GUI" java.lang.ArrayIndexOutOfBoundsException: -1
        at jpcsp.graphics.RE.StateProxy.matrixFirstUpdated(StateProxy.java:494)
        at jpcsp.graphics.RE.StateProxy.setMatrix(StateProxy.java:849)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setMatrix(BaseRenderingEngineProxy.java:232)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setMatrix(BaseRenderingEngineProxy.java:232)
        at jpcsp.graphics.RE.RenderingEngineLwjgl.setProjectionMatrix(RenderingEngineLwjgl.java:1292)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setProjectionMatrix(BaseRenderingEngineProxy.java:277)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setProjectionMatrix(BaseRenderingEngineProxy.java:277)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setProjectionMatrix(BaseRenderingEngineProxy.java:277)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setProjectionMatrix(BaseRenderingEngineProxy.java:277)
        at jpcsp.graphics.RE.BaseRenderingEngineFunction.startDirectRendering(BaseRenderingEngineFunction.java:391)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.startDirectRendering(BaseRenderingEngineProxy.java:77)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.startDirectRendering(BaseRenderingEngineProxy.java:77)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.startDirectRendering(BaseRenderingEngineProxy.java:77)
        at jpcsp.graphics.RE.ViewportFilter.startDirectRendering(ViewportFilter.java:73)
        at jpcsp.graphics.VideoEngineUtilities.drawTexture(VideoEngineUtilities.java:175)
        at jpcsp.graphics.VideoEngineUtilities.drawFrameBuffer(VideoEngineUtilities.java:262)
        at jpcsp.graphics.VideoEngineUtilities.drawFromMemory(VideoEngineUtilities.java:288)
        at jpcsp.graphics.VideoEngineUtilities.drawFrameBufferFromMemory(VideoEngineUtilities.java:277)
        at jpcsp.HLE.modules.sceDisplay$AWTGLCanvas_sceDisplay.paintGL(sceDisplay.java:271)
        at org.lwjgl.opengl.awt.AWTGLCanvas.render(AWTGLCanvas.java:107)
        at jpcsp.HLE.modules.sceDisplay$AWTGLCanvas_sceDisplay.paint(sceDisplay.java:153)
        at java.awt.Canvas.update(Unknown Source)
        at sun.awt.RepaintArea.updateComponent(Unknown Source)
        at sun.awt.RepaintArea.paint(Unknown Source)
        at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

As the emulator continues to run over time, the console window will continue displaying this message periodically:
Code:
Exception in thread "GUI" java.lang.ArrayIndexOutOfBoundsException



RE: Release of External Software Rendering for JPCSP - gid15 - 04-24-2022

Code:
Running Jpcsp 64bit...
Exception in thread "GUI" java.lang.ArrayIndexOutOfBoundsException: -1
        at jpcsp.graphics.RE.StateProxy.matrixFirstUpdated(StateProxy.java:494)
        at jpcsp.graphics.RE.StateProxy.setMatrix(StateProxy.java:849)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setMatrix(BaseRenderingEngineProxy.java:232)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setMatrix(BaseRenderingEngineProxy.java:232)
        at jpcsp.graphics.RE.RenderingEngineLwjgl.setProjectionMatrix(RenderingEngineLwjgl.java:1292)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setProjectionMatrix(BaseRenderingEngineProxy.java:277)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setProjectionMatrix(BaseRenderingEngineProxy.java:277)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setProjectionMatrix(BaseRenderingEngineProxy.java:277)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setProjectionMatrix(BaseRenderingEngineProxy.java:277)
        at jpcsp.graphics.RE.BaseRenderingEngineFunction.startDirectRendering(BaseRenderingEngineFunction.java:391)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.startDirectRendering(BaseRenderingEngineProxy.java:77)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.startDirectRendering(BaseRenderingEngineProxy.java:77)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.startDirectRendering(BaseRenderingEngineProxy.java:77)
        at jpcsp.graphics.RE.ViewportFilter.startDirectRendering(ViewportFilter.java:73)
        at jpcsp.graphics.VideoEngineUtilities.drawTexture(VideoEngineUtilities.java:175)
        at jpcsp.graphics.VideoEngineUtilities.drawFrameBuffer(VideoEngineUtilities.java:262)
        at jpcsp.graphics.VideoEngineUtilities.drawFromMemory(VideoEngineUtilities.java:288)
        at jpcsp.graphics.VideoEngineUtilities.drawFrameBufferFromMemory(VideoEngineUtilities.java:277)
        at jpcsp.HLE.modules.sceDisplay$AWTGLCanvas_sceDisplay.paintGL(sceDisplay.java:271)
        at org.lwjgl.opengl.awt.AWTGLCanvas.render(AWTGLCanvas.java:107)
        at jpcsp.HLE.modules.sceDisplay$AWTGLCanvas_sceDisplay.paint(sceDisplay.java:153)
        at java.awt.Canvas.update(Unknown Source)
        at sun.awt.RepaintArea.updateComponent(Unknown Source)
        at sun.awt.RepaintArea.paint(Unknown Source)
        at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
As this issue been fixed by 94802cf? I could not reproduce it myself...


RE: Release of External Software Rendering for JPCSP - DragonNeos - 04-25-2022

Yes, the issue has been fixed when I used the emulator on commit cf405d21.

The console error message can be reproduced on older commits like aabff280 using latest External Software Renderer commit 3d1bbb0 (see below screenshot).


RE: Release of External Software Rendering for JPCSP - DragonNeos - 07-10-2022

Starting on commit 84804dd, using the External Software Renderer causes the following message to appear on the console window:
Code:
Exception in thread "GUI" java.lang.IllegalArgumentException
        at java.nio.Buffer.limit(Unknown Source)
        at jpcsp.graphics.RE.DirectBufferUtilities.getDirectBuffer(DirectBufferUtilities.java:62)
        at jpcsp.graphics.RE.RenderingEngineLwjgl.setTexSubImage(RenderingEngineLwjgl.java:1122)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setTexSubImage(BaseRenderingEngineProxy.java:707)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setTexSubImage(BaseRenderingEngineProxy.java:707)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setTexSubImage(BaseRenderingEngineProxy.java:707)
        at jpcsp.graphics.RE.BaseRenderingEngineProxy.setTexSubImage(BaseRenderingEngineProxy.java:707)
        at jpcsp.graphics.VideoEngineUtilities.drawFromMemory(VideoEngineUtilities.java:291)
        at jpcsp.graphics.VideoEngineUtilities.drawFrameBufferFromMemory(VideoEngineUtilities.java:282)
        at jpcsp.HLE.modules.sceDisplay$AWTGLCanvas_sceDisplay.paintGL(sceDisplay.java:320)
        at org.lwjgl.opengl.awt.AWTGLCanvas.render(AWTGLCanvas.java:107)
        at jpcsp.HLE.modules.sceDisplay$AWTGLCanvas_sceDisplay.paint(sceDisplay.java:151)
        at java.awt.Canvas.update(Unknown Source)
        at sun.awt.RepaintArea.updateComponent(Unknown Source)
        at sun.awt.RepaintArea.paint(Unknown Source)
        at sun.awt.windows.WComponentPeer.handleEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.awt.EventQueue$4.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
Note that this error message doesn't always appear on the console window when clicking Run on the emulator to start the game/application but appears a majority of the time.