ps2dev / ps2sdk

Homebrew PS2 SDK
Other
954 stars 132 forks source link

Useful tool for Path 2 rendering #18

Closed ADormant closed 4 years ago

ADormant commented 8 years ago

I found a very useful tool that may be worthwile to fork and merge to ps2dev projects.

http://glampert.com/2016/01-22/q2ps2-hardware-accelerated-vertex-xform/ https://github.com/jsvennevid/openvcl http://ps2linux.no-ip.info/playstation2-linux.com/softwaremap/trove_list0e44.html?form_cat=110 http://ps2-linux.tensioncore.com/softwaremap/trove_list53d4.html?form_cat=135

glampert commented 8 years ago

Hi @ADormant

I'm the author of that first blog post you've linked and I can vouch for the OpenVCL tool. It has worked quite well for me, so far, so I think it would indeed make for a very good addition to the SDK.

The project seem to be abandoned as of now, but we should perhaps try to get in touch with the owner. Even if he is not willing to provide support for it any longer, we might find someone else to adopt the project if enough people are interested on it.

One little detail is that OpenVCL is a C++ project, while the whole SDK is C, I think. But I don't see that as an issue, since it is a client-side tool, not a PS2 application, so it should be very portable and easy to compile anywhere (I'm using it on OSX, for instance).

Let me know if I can help.

Cheers!

ADormant commented 8 years ago

@glampert Yeah it seems to be inactive so perhaps ps2dev maintainers can fork openvcl repository and see if they can adopt it. @jsvennevid @sp193

jsvennevid commented 8 years ago

We stopped work on the OpenVCL project when Sony released their original tool. I don't have any interest in participating in resuming development, but feel free to fork it.

sp193 commented 8 years ago

Hi guys,

That looks good, and I think that it should be somewhat used with the PS2SDK (either as a recommended and related resource, or even included as part of it). Some sample should be created to encourage its use too. Honestly, I wasn't aware that there is a free alternative to the SCE VCL tool. Thank you, @jsvennevid.

@glampert: as the tools are compiled with gcc on the host, tools coded in C++ can be compiled too if g++ is installed. Hence the language that OpenVCL is coded in isn't an issue.

I'm also in the midst of updating the toolchain, but I cannot work on making a new dvp toolchain because I don't understand its purpose. If OpenVCL requires dvp-as, then it may become unusable if/when the GCC v5.3.0 update goes live. Does anyone know why dvp-as has additional (custom?) relocations and a custom disassembler? If the EE assembler (aka "ee-as") can generate code for the VUs (given that VU0 is supported in macro mode), then why is there a need for a separate toolchain for the VUs? Why is it also called the "dvp"? If there is no need for the "dvp" assembler's custom stuff, then I'll just omit from future ports of GCC and Binutils.

glampert commented 8 years ago

@sp193 Well noted about dvp.

My guess is that a separate tool is needed for the VU1 because its instruction set is larger than the VU0 set. So perhaps it was deemed easier to have a separate tool than making ee-as a generic one.

Here's a reference with the VU instruction sets.

sp193 commented 8 years ago

Thanks. I've just ported my old patch for Binutils v2.25 to Binutils v2.25.1, but I don't even think that I tested the original port to v2.25 that I made in early 2015. If nobody can help me with this, then I guess that I have no choice, but to learn how to work with the VUs and to beat Binutils into shape (assuming that it's dysfunctional, as how most code projects are born). >_>

As for OpenVCL, I think that it should be treated like ps2client, whereby it has its own repository (as how it is now) and gets installed by the toolchain script. Unless there are reasons as to why users might not want it to be part of the toolchain by default... (I still need to understand how it's to be used, first)

Thanks for all of your comments.

GovanifY commented 7 years ago

Can vouch for that, tool's a lifesaver! Really though the more I study ps2 architecture the more I wonder how much sony devs were junkies... I have a game where all models are computed using VU1 in 16kb packets sent by DMA, so reinjecting models is a pain I'm trying to find a general object to VU1 vcl but so far I'm more making my own than searching for one haha...

fjtrujy commented 4 years ago

Closing this issue because it doesn't longer make sense. ps2repos are properly now connected and using CI/CD between them.

Thanks