Anybody know where I can find PowerVR SGX Docs

ERP

Veteran
I just picked up a beaglebone, it's a board based on the TI AM3358/9, which has a powerVR SGX 530 in it.

Does anyone know how to get a hold of the SGX technical docs? the 3358 manual is not very helpfully just lists the features.

I intend to use it as a motion controller to drive a 3D Printer the application requires very strict latency control for output, so I was intending to use the no OS option, rather than the Linux option.

I've been messing around with a mechanism for creating the layers a 3D printer uses by hierarchically rendering slices in the model with a GPU, I'd like to run this on the printer controller, but I need to be able to actually access the SGX in the 3358.

There are ways I might be able to make the Linux environment work, using the PRU's for the signal output but I'd rather not.
 
http://www.ti.com/lit/ug/spruf98w/spruf98w.pdf (chapter 13, page 1753 has some of the doc's SGX content)

http://www.imgtec.com/powervr/insider/powervr-sdk-docs.asp

Imagination Technologies' developer support for PowerVR, PowerVR Insider, has some resources, including a forum which is also a good site to ask for the needed docs.

They might be the most applicable guides I've found, though I'm not sure it has the details you'd want.

Got the OMAP35xx guide from TI's product support page:

http://www.ti.com/dsp/docs/dsptechd...cCategoryId=9&docCategoryId=3&docCategoryId=5

Although related to the SGX535 and Intel's SCH (Poulsbo/Menlow platform), Intel's guide goes into a little detail, mostly around pages 95 to 118:

ftp://download.intel.com/design/chipsets/embedded/datashts/319537.pdf
 
Thanks but none of that has enough detail.
I need the register list and associated documentation.

I wonder if the Linux driver is source or binary.... Hmmm.
 
Couldn't you run linux with OKL4 and then access the 3D printing hardware at the microvisor level?
 
Thanks but none of that has enough detail.
I need the register list and associated documentation.

I wonder if the Linux driver is source or binary.... Hmmm.

You aren't going to find such low level details of SGX, or any other mobile GPU, they're not open hardware.. Likewise the important parts of the drivers, that are in userspace, are binary blobs.

With a potentially large amount of work it might be possible to interface this binary blob w/o loading it in Linux. At the very least the kernel-side code should give some hints on how to get started with that.
 
Yep, just looked it's a binary blob. Maybe they could document that :/

Looks like there is a DDK, but only available from TI under special circumstances. I assume "I want to mess around with it", isn't an acceptable reason.

Kind of irritating, StarterWare (TI's no OS library set has no real GPU support), I hate to having to adopt something as heavyweight as Linux for what ought ro be a <64K application on single threaded processor. It's a crappy RTOS and unnecessarily complex for a trivial application. I am not going to pay for QNX, when I can write what I need.

I've never really understood why manufacturers don't release the register documentation for GPU's, it really wouldn't give any extra insight into the chips functionality.

I remember NVidia trying to obscure what the additional instructions did that they appended to every XBOX shader did, it took me all of 90 minutes to reverse engineer it.
 
Couldn't you run linux with OKL4 and then access the 3D printing hardware at the microvisor level?

Oh there are plenty of ways to do what I want in Linux, I just don't want to have to deal with it.
The entire app including the UI will likely be under 100K, just annoys me that I have to have an OS because I want to access the GPU.
 
Oh there are plenty of ways to do what I want in Linux, I just don't want to have to deal with it.
The entire app including the UI will likely be under 100K, just annoys me that I have to have an OS because I want to access the GPU.
Aside from everything else, you'll need some knowledge of the ISA too. A pal was reverse-engineering the 530's compiler a few years ago, and he even had some success, but he eventually got demotivated, so nothing substantial came out of that. Alternatively, you may directly use pre-compiled shader blobs, but that still requires intricate knowledge of the command buffers et al.

Bottomline being: get linux.
 
Back
Top