[OpenJDK 2D-Dev] Question about STR pipelines and Surface/SW blits
Clemens Eisserer
linuxhippy at gmail.com
Mon Dec 1 15:44:22 UTC 2008
Hi,
I am not sure if I completly understand how
getRaster/getRasInfo/Sw-Surface blits fit together:
First the pipeline looks for an appropriate blit, if one can be found
its used. If not, getRasInfo is called by the native loops.
Because the STR pipes cover all possibible surface combinations,
getRasInfo is never called.
Are those assumptions right?
When is SurfaceData.getRaster called, and why does't it matter that
its not implemented e.g. for X11SurfaceData?
Are there any disadvantages by relying on getRasInfo compared to
explicit blit loops?
Dmitri told me that it was done this way to avoid threading issues,
however my pipeline is synchronous anyway, only generating X protocol
on the java side ... and the getRasInfo code is already written ;)
When getRasInfo is called, I intend to:
1. Call into Java code
2. Grab a lock on the protocoll buffer
3. Flush all pending operations (which is a Java->C call)
4. return to getRasInfo and continue (which calls XSync if needed).
Should I expect problems with design?
The STR pipelines could have used quite the same mechanism, why wasn't it done?
Thanks, Clemens
More information about the 2d-dev
mailing list