[openbeos] Re: app_server: MMX/SSE help wanted

  • From: "François Revol" <revol@xxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Sun, 08 Aug 2004 17:22:42 +0200 CEST

> > Well, that's nice of you two to go looking for outside help without 
> > even 
> > checking with the person who has written most of the graphics code.  
> > BTW, 
> > Francois hit the nail on the head.  First we worry about getting 
> > stuff 
> > working and checking our current performance.  After that, we can 
> > consider 
> > using non-portable optimizations where needed.
> It bothers me that simply asking for information has generated this 
> kind of response. I don't recall getting this reaction when I asked 
So is the troll :)

> around what is involved in hardware-accelerated OpenGL. To quote from 
Probably noone was reading at that time :)))

> the Book of Phipps, "Premature optimization is the root of all evil." 
> :D I did Google around for some info on them, but what I found was an 
> explanation of what the instructions were, which is not what I 
> needed. 
> What I personally am looking for is *basic* information about this 
> kind 
> of thing. What are these instructions used for?
They are used for working with multiple wide datas, like when you have 
to do something very specific to a bunch of bytes repeatively. 
Like colorspace transform, FFT, ... but you can do a lot of stuff.
ffmpeg uses it for colorspace changes, and fft at least.
I think it's a bit of an always wanted RISC instruction set for x86 :)
It lets you do the same operation on several registers at once, like
mm0 += mm1; and mm2 += mm3; at the same time, and so on.

> Why are they so 
> supposedly cool? How is using them better than just using the regular 
Because intel's pink dressed buys said so.

> instruction set cooked up by Intel? Why does it seem that they are 
> most 
Because it's supposedly faster for handling streams of data.

> often associated with graphics? Can't they be used with other things, 
because graphics always need a lot of bandwidth, and we need to apply 
effects on a lot of pixels at once. but you can apply those to audio as 
well.
I think R5's optimised memcpy() uses it as well.

> too? That kind of thing. With my being self-taught, there are a great 
> many things in computer science that I just don't know about. I only
Well I don't think universities tell much about mmx anyway :p
It's just about finding the good info source.

> know *this* much about assembler, for example, and I was not aware 
> that 
> Gabe -- or anyone else, for that matter, -- has or had any experience
> /
> expertise with this, and so I asked. In any event, I would like to 
> say 
> that I don't want this to turn ugly. :)

François.

Other related posts: