Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Broadcom Videocore IV (Raspberry Pi) support #18

Open
ZILtoid1991 opened this issue Jun 11, 2017 · 7 comments
Open

Broadcom Videocore IV (Raspberry Pi) support #18

ZILtoid1991 opened this issue Jun 11, 2017 · 7 comments

Comments

@ZILtoid1991
Copy link

I'm thinking on implementing a GPU support into my 2D game engine (currently relies on SSE2 for graphics), and since using most preexisting libraries would be a bit clunky for 2D (most modern 2D games use polygons as sprites, and I don't want to deal with the Z axis), I was thinking on making my own implementation. I'm planning to use DCompute to implement this, and probably add functions that would make it useful as a library.

While the Videocore IV GPU doesn't have any OpenCL implementation, it's very well documented (https://github.com/hermanhermitage/videocoreiv). I probably could help in a few weeks, I currently have other things to do.

@thewilsonator
Copy link
Collaborator

I'm glad you're interested, however: as you say Videocore IV lacks an OpenCL implementation, but more critically it lacks an LLVM backend which is the way we target OpenCL and CUDA.

@thewilsonator
Copy link
Collaborator

@ZILtoid1991 are you still interested in this?

@ZILtoid1991
Copy link
Author

Yes, I am. Only I have to struggle with other projects (mostly art related) and finding some reliable source of income. The latter is vital as many of my computer stuff is barely working, I'm currently struggling to get an image on my monitor which has capacitor failure, and I can't really find a way to disassemble it due to its non-repairable snap design. The former might end up as a way of income, because many local companies don't want to hire people who don't have 3-5 year of experience, outsourcing those entry level jobs to poor countries is pretty much their way to go instead of waiting until rookies catch up with the technologies used by the development companies in my country. My financial status even ruined many family connections, and possibly ends in I'm dropping out from college.

Personal issues aside, I even can offer a helping hand, but keep in mind that I not only have to find some replacement hardware, but also pay for my college too. Even if I manage to find a job quickly, the first time I'll be able to buy the hardware needed to test the codes, the first time I could buy it would be around November. Otherwise it would be a good idea (in my opinion) that to first start only with the VPU/pixel pipeline, that would make it possible to implement the blitter and the alpha-blending parts of my planned library, bitmap rotation, scaling, etc. will probably done by the QPU.

@Zenitur
Copy link

Zenitur commented Jul 8, 2018

@ZILtoid1991
Copy link
Author

https://github.com/christinaa/LLVM-VideoCore4

There's also an LLVM now, but its two years old now. With this, a more direct and bare-metal approach is possible, however I'm not experienced with compiler development to upport this to the more recent LLVM versions.

@thewilsonator
Copy link
Collaborator

The OpenCL implementation seems to support SPIR, which means that you can generate SPIR-V from LDC, run that through a SPIR-V -> SPIR translator. I don't think I support using non-SPIR-V binaries in dcompute yet but shouldn't be too hard.

@Zenitur
Copy link

Zenitur commented Jul 17, 2018

doe300/VC4C#32 As I know, VC4CL isn't depends of SPIR-V anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants