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
