An Apple patent (number 20110216079) has appeared at the US Patent & Trademark Office and involves partial display updates in a windowing system using a programmable graphics processing unit. Techniques to generate partial display updates in a buffered window system in which arbitrary visual effects are permitted to any one or more windows (e.g., application-specific window buffers) are described.
Once a display output region is identified for updating, the buffered window system is interrogated to determine which regions within each window, if any, may effect the identified output region. Such determination considers the consequences any filters associated with a window impose on the region needed to make the output update. The inventors are Ralph Brunner and John Harper.
Here’s Apple’s summary of the invention: “Methods, devices and systems in accordance with the invention provide a means for performing partial display updates in a windowing system that permits layer-specific filtering. One method in accordance with the invention includes: identifying an output region associated with a top-most display layer (e.g., an application-specific window buffer), wherein the output region has an associated output size and location; determining an input region for each of one or more filters, wherein each of the one or more filters is associated with a display layer and has an associated input size and location (substantially any known visual effect filter may be accommodated); establishing a buffer (e.g., an assembly buffer) having a size and location that corresponds to the union of the output region’s location and each of the one or more input regions’ locations; and compositing that portion of each display layer that overlaps the buffer’s location into the established buffer.
“In one embodiment, that portion of the buffer corresponding to the identified output region is transferred to a frame buffer where it is used to update a user’s display device. In another embodiment, the acts of identifying, determining and establishing are performed by one or more general purpose central processing units while the act of compositing is performed by one or more special purpose graphical processing units in a linear fashion (beginning with the bottom-most display layer and proceeding to the top-most display layer).”
— Dennis Sellers