Development Tools


habib15

Still Fresh
Joined
Mar 17, 2008
Messages
47
Hi all,

What kind of tools are out there to develop for the Pandora when it comes out:

ie.

GCC for the ARM CPU and general apps

??? compiler for the TI DSP

??? opengl shader compiler for GPU

Are there free tools for these, and are they still free if you are using it for a commercial project? I have seen this hinted at in other threads but thought it would be nice to have the complete list in on discussion.

Kevin
 
Kevin_H said:
GCC for the ARM CPU and general apps
There is support for the Cortex-A8 in Code Sourcery 2007q3: http://www.codesourcery.com/gnu_toolchains/arm/download.html. I'd bet money that the Pandora devs would use this toolchain, unless they are looking for something particular with an older toolchain. ARM and TI both have toolchains with additional optimizations for the Cortex-A8 (w/ NEON), but the Code Sourcery solution should be good enough.

I'm sure the devs here will have a ton of general apps.

QUOTE

??? compiler for the TI DSP



Yes, answered elsewhere.

QUOTE

??? opengl shader compiler for GPU



What do you mean by compiler here?

QUOTE

Are there free tools for these, and are they still free if you are using it for a commercial project? I have seen this hinted at in other threads but thought it would be nice to have the complete list in on discussion.



If you have a commercial project, you'll need to get a non-TI compiler (like gcc) for the DSP (or buy the TI compiler). ARM toolchain is likely to be gcc, so it's always free.
 
Last edited by a moderator:
Thanks for replying I was beginning to think no one would.

QUOTE

??? opengl shader compiler for GPU


QUOTE

What do you mean by compiler here?



I have no clue how to create an opengl app yet, but I have looked into it a little, but it was to my understanding in order to use the custom pipelines in GPU's you needed to have a tool that would compile the shader code for that GPU. For example Nvidia's FX Composer 2. Please let me know if I'm wrong, but won't we need a similar tool for the PowerVR architecture?

Thanks

Kevin
 
I downloaded the PowerVR OGL 2.0 SDK and, looking at the samples, it seems like the shader compiler is built-in into the API.

That is, you do something like

CODE
char* code = "main() { return color(1.0,0.7, 0.3, 1.0); }";
shaderid = glCOmpileCoolShader(code);
useshader(shaderid);

Of course the shader & OGL syntax was just completely fabricated by me but you get the idea.
 
Yes, all APIs have their own compiler calls. Cg has a command line compiler which converts to either OpenGL or D3D shader language, but also features a run-time compiler in the API. For OpenGL and DirectX you must use the proper run-time calls from the drivers. That's also why the most recent D3D libraries cannot use SM1 anymore - the library simply doesn't contain the necessary run-time support (if not explicitly enabled via a compiler flag).
 
Kevin_H said:
I have no clue how to create an opengl app yet, but I have looked into it a little, but it was to my understanding in order to use the custom pipelines in GPU's you needed to have a tool that would compile the shader code for that GPU. For example Nvidia's FX Composer 2. Please let me know if I'm wrong, but won't we need a similar tool for the PowerVR architecture?

FX Composer is an IDE for shader development, not a compiler.

Applications usually pass shader source code to the graphics API, and the compiler is part of the driver and/or runtime. However, OpenGL ES 2.0 is an exception in that it allows loading of both source shaders and platform-dependent binary shaders created by an off-line compiler. Implementations are required to support at least one of those methods.

Pandora will have support for source shaders. Whether it will also support binary shaders I don't know, but an off-line shader compiler is part of the PowerVR OpenGL ES 2.0 SDK.
 
Last edited by a moderator:
What kind of binary is built by such a compiler? Or is it just some intermediate, preprocessed file?
 
hybrid_irr said:
What kind of binary is built by such a compiler? Or is it just some intermediate, preprocessed file?
That's up to the implementer to decide. It could be anything between the original shader source and GPU machine code.
 
Last edited by a moderator:
Back
Top