EmuNewz Network

Full Version: Release of External Software Rendering for JPCSP
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11
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]
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
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...
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).
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.
Pages: 1 2 3 4 5 6 7 8 9 10 11