Closed
Bug 414947
Opened 17 years ago
Closed 13 years ago
Move the smart pixel copy code to gfxPlatform for consolidation
Categories
(Core :: Graphics, defect)
Core
Graphics
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: alfredkayser, Assigned: alfredkayser)
References
Details
Attachments
(1 file, 1 obsolete file)
The smart pixels copy macro's loops introduced by bug 406580, and fixed by bug 413143 and being fixed by bug 414854 should be moved to one central location, so that we can hide the macro's, and have all this magic code in one place accessible by the different image decoders.
When we have this code in one place, further fixes and optimizations are then in one place, instead of spread over the decoders...
Note, this patch includes the fix for bug 414854.
Attachment #300477 -
Flags: review?(pavlov)
Updated•17 years ago
|
Assignee: nobody → alfredkayser
Version: unspecified → Trunk
Assignee | ||
Updated•17 years ago
|
Assignee | ||
Comment 1•17 years ago
|
||
Attachment #300477 -
Attachment is obsolete: true
Attachment #300627 -
Flags: review?(pavlov)
Attachment #300477 -
Flags: review?(pavlov)
Assignee | ||
Comment 2•17 years ago
|
||
Requesting blocking1.9, as this patch will enable to do SSE2 optimizations on this pixelcopying, which will require the SSE2 detection code (which is now being added to libjpeg, but then people with system-jpeg won't have that).
Flags: blocking1.9?
Comment 3•17 years ago
|
||
do we want this? i would expect the function call overhead to hurt us here...
I would put this in the header to make sure that it would be inlined, though the function call itself is going to be minor compared to the actual operation.
Comment 5•17 years ago
|
||
I don't see why this needs to live in gfxPlatform either.
Assignee | ||
Comment 6•17 years ago
|
||
The basic idea is to have this complex code in one location so that multiple decoders can use it. And by making it a generic function (with the very small overhead of a function call), it will be easier for the decoders to use it.
For example the jpeg decoder can safe a memcpy if both directions of this function are available (see the patch).
I choose gfxPlatform, as the code in this function is platform dependent, but the interface not, and it is included in all decoders anyway.
Don't think we should block on this, though the cleanup would be good -- let's see once stuart reviews.
Flags: blocking1.9? → blocking1.9-
Updated•13 years ago
|
Attachment #300627 -
Flags: review?(pavlov) → review?(joe)
Comment 8•13 years ago
|
||
Comment on attachment 300627 [details] [diff] [review]
V2: Also move the GFX_BLOCK_RGB_TO_FRGB macro to gfxPlatform.cpp
Given bug 517713, I don't think we still want to do this. Or do we?
Attachment #300627 -
Flags: review?(joe)
Comment 9•13 years ago
|
||
Please reopen if we do want to do this.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•