This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Release of External Software Rendering for JPCSP
#1
Dear JPCSP community,

after several months of development, a new rendering engine is now available for Jpcsp. This new engine is implemented as an external library. It works on 32 and 64 bit versions and supports SSE4.1 or AVX2 instruction sets if they are supported by your processor. A non-SSE version is also available. Currently, only windows systems are supported.

The rendering is completely performed in software, i.e. without using the GPU or OpenGL. It was developed with speed (using latest CPU features) and compatibility (implementing all PSP features) in mind. The goal was to be free of the OpenGL limitations and GPU driver bugs. It is still a work in progress and not all features are yet implemented, also further speed improvements are in preparation.

As this is a software renderer, the display speed is mainly based on the power of your CPU and the complexity of the rendered scene. Screen scaling (e.g. x2, x3) is also supported but will increase the rendering time.

This is a joined work between hlide and gid15. shadow also provided the automatic build and hosting on emunewz.

The compiled libraries (DLLs) can be downloaded in the emunewz "Live Downloads" section:
http://www.emunewz.net/forum/builds.php?filter=last

Please test it and feel free to report compatibility issues in this thread.

Enjoy!
Reply
#2
Nice I detected some bugs

I tested I7-3632qm with SSE4.1 version

bubble puzzle out small artifacts and is slow compared to internal software 20fps-60fps

In Ridge Race 2 having trouble viewing the mirror but is not unique plugin and happens in internal software.

Dragon ball budokai has errors graphics on green floor


Attached Files Thumbnail(s)
                   
[Image: 1388267.png]
Reply
#3
awesome release!
Reply
#4
I have one question will be in a future version support first version AVX? or not much help compared than SSE4.1 ?
[Image: 1388267.png]
Reply
#5
(04-14-2014, 08:48 PM)MaXiMu Wrote: I have one question will be in a future version support first version AVX? or not much help compared than SSE4.1 ?
AVX only supports operations on floating point values whereas AVX2 introduced operations on integer values. We currently use integer operations in the pixel shader (like the PSP), this is why AVX doesn't help and AVX2 is required.
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply
#6
I see thanks for the explanation Smile
[Image: 1388267.png]
Reply
#7
(04-14-2014, 07:04 PM)MaXiMu Wrote: bubble puzzle out small artifacts and is slow compared to internal software 20fps-60fps

@gid15: the recent addition of bezier drawing seemed the issue. As far as I know the implementation of bezier drawing in pspe4all was perfect (I tested with a lot of samples with more complex bezier drawing) so it should be the same here.
Reply
#8
(04-15-2014, 10:45 AM)hlide Wrote:
(04-14-2014, 07:04 PM)MaXiMu Wrote: bubble puzzle out small artifacts and is slow compared to internal software 20fps-60fps

@gid15: the recent addition of bezier drawing seemed the issue. As far as I know the implementation of bezier drawing in pspe4all was perfect (I tested with a lot of samples with more complex bezier drawing) so it should be the same here.
The BEZIER should now be fixed in the software renderer fadcf74.
Always include a complete log file at INFO level in your reports. Thanks! How to post a log
Reply
#9
(04-14-2014, 08:48 PM)MaXiMu Wrote: I have one question will be in a future version support first version AVX? or not much help compared than SSE4.1 ?
from my experience, only SSE4.1 and AVX2 are interesting enough to support.

SSE4.1 has enough instructions to handle up to 4 pixels per operation efficiently
AVX2.0 has enough instructions to handle up to 8 pixels per operation efficiently

AVX is too incomplete to be efficient.

Renderer is extremely dependent about cpu power. Right now, it is mostly executed in a mono-core fashion. While a parallel execution of several cores is possible (@gid15? is that stuff working or is it just a wip?), I'm not sure it is safe or efficient enough to use it. Personally I think it needs some rethinking as I really don't like to let Java uses threads to make parallel execution.

Renderer is not dynamically generating assembly code in all case as I wish. While some vertex operations are done this way, pixel operations are still not done this way (they are just a chain of static pixel operations). Compiler can make a good job but static code are still limited in flexibility. Note that the fact you must support both x86 and amd64 makes the dynamic generation of assembly code much harder as they have too many subtle differences that prevent from sharing common source.
Reply
#10
These errors on Bubble puzzle and dragon ball now fixed Smile

My reports tested by this processor http://ark.intel.com/es-es/products/6490...10-GHz-BGA
[Image: 1388267.png]
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)