Thoughs On The Dsp


cb88

The mighty inverse laplacinator
Joined
Apr 7, 2008
Messages
758
Location
I'm in ur loop
Website
gcadvsg.rr.nu
the DSP can be used as a SGA (soft graphics accelerator)

check it out:
http://www.embedded.com/design/embeddeddsp/201202958?pgno=1
The last couple pages are especially interesting

http://www.tesbv.com/index.php?site=TES_EN_3_evru
Videos at the bottom

http://www.tesbv.com/index.php?site=TES_EN_1_graphics
i wonder if the SGX and DSP can work together? similarly to SLI etc.....

one of my main points here is that even if we have issues with the SGX not being open source we might be able to use the DSP to make up for much of it...

Other things the DSP might be able to do:
physics acceleration
voice recognition acceleration (due to FFT abilities)
real time raytracing acceleration? not so sure on this one
vector graphics acceleration of course
 
It is a SIMD type device, like graphics cards, but the work needed to make it useful may be unreasonable.

I would like to see ports of some physics engines though.
 
I don't think it would be such an enormous amount of work. However, that counts only for totally unoptimized work. To get something powerful, it would be much harder. Anyway, unoptimized opengl is better than none.

Just split the X.org indirect rendering driver in two (x.org module, redirects everything to some program running on DSP, based on the code from the original indirect rendering driver.)

Now I just hope that someone will do it - or even better, write a full open-source opengl driver for SGX. (look around on the internet, someone might already be developping that for Intel GMA500...)
 
Why do you think an open source SGX driver is necessary to get OpenGL? Using the DSP for rasterization would be very poor in comparison.

You can't just write an open source driver for some architecture that is closed, but I don't know why some people are so caught up on everything being open source. Not like popular video card drivers for PC are either and people do fine...
 
I know that you can run a basic display without the SGX being used at all. Is this in the DSP? or hidden somewhere?

Anyway, this would be useful for simple 2D games. You can turn the SGX off (can you?) and saving a little more power.
 
icurafu said:
I know that you can run a basic display without the SGX being used at all. Is this in the DSP? or hidden somewhere?

Anyway, this would be useful for simple 2D games. You can turn the SGX off (can you?) and saving a little more power.
There's a display controller/2D accelerator called IVA that can be interfaced with directly.
 
Last edited by a moderator:
AFAIK the current apps are just rendering directly to the framebuffer.

As we can see, there's lots and lots of potential still waiting to be used. Things will only get better as time passes once everyone has their Pandoras :)
 
Does this 2d accelator, IVA, reside inside the Cortex IC or is it a seprate IC that resides on the mainboard? What info do we ahve on this? Is it open source?
 
icurafu said:
Is the IVA being used for the current batch of emulators? (I always thought that the IVA+ was the DSP)
AFAIK IVA in the OMAP3530 is indeed the DSP. There is a separate IVA chip in some other omaps but in this one IVA is the same as the DSP.

Might be wrong though.
 
Last edited by a moderator:
i think it is like this...

the c64x+ core + the IVA+ is the DSP IVA being an extension to the core

obviously it isn't just for 2d accel....

@Exophase i certainly didn't mean to imply that I only meant to gain a better understanding of what stuff we can do with the DSP and then share it personally i found using it as a graphics accelerator rather interesting also personally (no graphics experts here) i think it might be possible (when gallim3d is finished) to get the DSP and SGX working together since gallium would provide hardware abstraction for both and the api on top of them they may be able to work together but im not really sure what kind of proformance bump if any it would give

any idea what these numbers mean?
http://www.embedded.com/design/embeddeddsp/201202958?pgno=4

also would floating point intensive renderers be able to benefit from the DSP? ie the software quake II port? i guess what i mean is would there be any improvement at all over just running it on the CPU
 
my friend here was mentioning that the n800 also has a fixed point DSP but they emulate floating point with two registers.... does that sound right?
 
icurafu said:
Is the IVA being used for the current batch of emulators? (I always thought that the IVA+ was the DSP)
Most of the current batch of emulators just use the DSS.
 
Last edited by a moderator:
cb88 said:
i think it is like this...

the c64x+ core + the IVA+ is the DSP IVA being an extension to the core

obviously it isn't just for 2d accel....

@Exophase i certainly didn't mean to imply that I only meant to gain a better understanding of what stuff we can do with the DSP and then share it personally i found using it as a graphics accelerator rather interesting also personally (no graphics experts here) i think it might be possible (when gallim3d is finished) to get the DSP and SGX working together since gallium would provide hardware abstraction for both and the api on top of them they may be able to work together but im not really sure what kind of proformance bump if any it would give

any idea what these numbers mean?
http://www.embedded.com/design/embeddeddsp/201202958?pgno=4

also would floating point intensive renderers be able to benefit from the DSP? ie the software quake II port? i guess what i mean is would there be any improvement at all over just running it on the CPU



SGX 530 has twice the fill rate of the numbers mentioned on that page.
For emulators though it would only make sense if someone were to write the final blit/transformation using pixel shader - trying to manipulate textures with CPU would be pointless.
 
Last edited by a moderator:
AireTamStorm said:
Is the DSP even supported under Gcc? Last time I checked the support was incomplete and or bug ridden.
Why would you want gcc when you can get TI compiler : http://pandorawiki.org/Development_tutorials
The only drawback is that it's only for open source free software (and it runs only under Linux, but that's not a drawback, is it? :p).
 
Last edited by a moderator:
QUOTE
my friend here was mentioning that the n800 also has a fixed point DSP but they emulate floating point with two registers.... does that sound right?


I just use something like Q15 (integer arithmetric), which is basically multiplying your floating point number by some integer, round it to an integer, do the arithmetic and then divide it back down to a floating point number at the end (or not as often integers are wanted as output anyway).
 
icurafu said:
I know that you can run a basic display without the SGX being used at all. Is this in the DSP? or hidden somewhere?

Anyway, this would be useful for simple 2D games. You can turn the SGX off (can you?) and saving a little more power.

The display subsystem (i.e. the part that reads the framebuffer from memory, composes overlays, and sends the image to the screen/TV out) is a separate block independent of the DSP or SGX.

For simple 2D games you could just have the CPU core write to the framebuffer in memory. However, specialised hardware can often perform a task using less power.
 
Last edited by a moderator:
Back
Top