
|
[openbeos]
||
[Date Prev]
[08-2004 Date Index]
[Date Next]
||
[Thread Prev]
[08-2004 Thread Index]
[Thread Next]
[openbeos] Re: app_server: MMX/SSE help wanted
- From: Adi Oanca <adioanca@xxxxxxxxxxxxxx>
- To: openbeos@xxxxxxxxxxxxx
- Date: Wed, 11 Aug 2004 11:38:58 +0300
Axel Dörfler wrote:
Adi Oanca <e2joseph@xxxxxxxxxx> wrote:
So from the SIMD coders perspective, it would be very good if Haiku
would
offer some control over data alignment for bitmap allocations.
This includes not only the base address of the bitmap, but should
ideally
extend to each bitmap row, in cases where each row has to be
processed
separately (e.g. by blur routines:).
Of course there'd be some 'waste', but I don't think this would
matter too
much on modern systems. Binary compatibility shouldn't be a problem
either,
as the BeBook already says that BytesPerRow() are decisive on
determing a
bitmaps actual size.
This might be implemented by an additional constructor without too
much
fuss, I'd guess. It would be great if you could implement this, as
this
would make SIMD coding much easier and less bug-prone.
OK, you'll have that. Now, I have to see how. :-) Axel, can you
help?
What he means is: we would need a change of the public API, that is add
another BBitmap constructor that allows an alignment. What we could
also do is to add another bitmap flag to force an ideal alignment for
the current CPU.
What I mean is: I don't know how to align data to 8 or 16 byte boundaries.
The only way I can think of is a kernel/VM function telling me the physical memory address for a
virtual one, so I can start writing bitmap data at multiple of 8/16 depending of what we're using
MMX/SSE.
Adi.
|

|