Virtual surface blending and BLT operations

US10043489B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10043489-B2
Application numberUS-201815912554-A
CountryUS
Kind codeB2
Filing dateMar 5, 2018
Priority dateMay 31, 2012
Publication dateAug 7, 2018
Grant dateAug 7, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Virtual surface techniques are described. These techniques support the use of initialization and batching of updates, use of updates and lookaside lists, use of gutters, blending and BLT operations, use of surface optimization techniques such as push down as well as enumeration and clumping, mesh usage, and use of occlusion management techniques.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for managing surfaces for rendering, comprising: a virtual surface composer comprising one or more computing devices, said computing devices being in communication with each other via a computer network whenever there is a plurality of computing devices, and a virtual surface composition computer program having a plurality of sub-programs executed by said computing devices, wherein the sub-programs cause said computing devices to, initialize, using said computing devices, a first virtual composition surface, identify, using said computing devices, one or more regions of the first virtual composition surface that are valid for a rendering update, and for each of the identified valid regions of the first virtual composition surface, whenever the first virtual composition surface is transparent, update, using said computing devices, the identified valid region of the first virtual composition surface using a blending operation, and whenever the first virtual composition surface is opaque, update, using said computing devices, the identified valid region of the first virtual composition surface using a bit block image transfer (BLT) operation. 2. The system of claim 1 , wherein the sub-programs further cause said computing devices to, initialize, using said computing devices, a second virtual composition surface, and whenever the first virtual composition surface is opaque and pixels at an edge of a one of the identified valid regions of the first virtual composition surface neighbor pixels contained in the second virtual composition surface, update, using said computing devices, the one of the identified valid regions of the first virtual composition surface using the blending operation for the pixels at the edge of said one of the identified valid regions that neighbor pixels contained in the second virtual composition surface, and using the BLT operation for other pixels of said one of the identified valid regions that are not at said edge, the blending operation for the pixels at said edge resulting in the neighboring pixels contained in the second virtual composition surface being cleared. 3. The system of claim 1 , wherein, after said computing devices perform the BLT operation to update the identified valid region of the first virtual composition surface which is opaque, the sub-programs further cause said computing devices to make, using said computing devices, pixels at the edges of said updated region opaque using the blending operation. 4. The system of claim 1 , wherein each of the identified valid regions of the first virtual composition surface is made up of non-overlapping rectangular stripes. 5. The system of claim 4 , wherein the non-overlapping rectangular stripes are enumerated. 6. The system of claim 1 , wherein one or more of the identified valid regions of the first virtual composition surface comprise an intersection of other identified valid regions of the first virtual composition surface. 7. The system of claim 1 , wherein one or more of the identified valid regions of the first virtual composition surface comprise a union of other identified valid regions of the first virtual composition surface. 8. The system of claim 1 , wherein one or more of the identified valid regions of the first virtual composition surface comprise a subtraction of other identified valid regions of the first virtual composition surface. 9. The system of claim 1 , wherein, respondent to a rendering trim request for a one of the identified valid regions of the first virtual composition surface, the sub-programs further cause said computing devices to, whenever said one of the identified valid regions is complex and a trim operation specified by the trim request results in parts of said one of the identified valid regions being located at an edge of said one of the identified valid regions, make, using said computing devices, said parts opaque using the blending operation. 10. The system of claim 1 , wherein the sub-programs further cause said computing devices to communicate, using said computing devices, the first virtual composition surface and the identified valid regions thereof to the virtual surface composition computer program using respective tokens, said tokens being utilized by said computer program to ensure any outstanding processing associated with rasterization on the first virtual composition surface is completed. 11. The system of claim 1 , wherein the sub-programs further cause said computing devices to, track, using said computing devices, each of the identified valid regions of the first virtual composition surface. 12. The system of claim 1 , wherein a one of the identified valid regions of the first virtual composition surface is defined by a cursor in the virtual composition surface. 13. The system of claim 1 , wherein one or more of the identified valid regions of the first virtual composition surface are defined by a user-selectable button. 14. The system of claim 1 , wherein the first virtual composition surface comprises a collection of one or more logical composition surfaces representative of individual surfaces as seen by an application, and the first virtual composition surface is initialized without allocating bits for the collection of one or more logical composition surfaces. 15. The system of claim 14 , wherein the individual surfaces are not displayed by the computing devices. 16. The system of claim 1 , wherein one or more visuals are rendered in the first virtual composition surface. 17. A system for managing surfaces for rendering, comprising: a virtual surface composer comprising one or more computing devices, said computing devices being in communication with each other via a computer network whenever there is a plurality of computing devices, and a virtual surface composition computer program having a plurality of sub-programs executed by said computing devices, wherein the sub-programs cause said computing devices to, initialize, using said computing devices, a first virtual composition surface and a second virtual composition surface, identify, using said computing devices, one or more regions of the first virtual composition surface that are valid for a rendering update, and whenever the first virtual composition surface is opaque and pixels at an edge of a one of the identified valid regions of the first virtual composition surface neighbor pixels contained in the second virtual composition surface, update, using said computing devices, the one of the identified valid regions of the first virtual composition surface using a blending operation for the pixels at the edge of said one of the identified valid regions that neighbor pixels contained in the second virtual composition surface, and using a bit block image transfer operation for other pixels of said one of the identified valid regions that are not at said edge, the blending operation for the pixels at said edge resulting in the neighboring pixels contained in the second virtual composition surface being cleared. 18. The system of claim 17 , wherein respondent to a rendering trim request for a one of the identified valid regions of the first virtual composition surface, the sub-programs further cause said computing devices to, whenever said one of the identified valid regions to which the trim request is directed is complex and a trim operation specified by the trim request results in parts of said one of the identified valid regions to which the trim request is directed being located at an edge of said one of the identified valid

Assignees

Inventors

Classifications

  • Arrangements for updating the contents of the bit-mapped memory · CPC title

  • G09G5/377Primary

    for mixing or overlaying two or more graphic patterns (G09G5/02, G09G5/397 take precedence) · CPC title

  • Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels · CPC title

  • for systems having a bit-mapped display memory · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10043489B2 cover?
Virtual surface techniques are described. These techniques support the use of initialization and batching of updates, use of updates and lookaside lists, use of gutters, blending and BLT operations, use of surface optimization techniques such as push down as well as enumeration and clumping, mesh usage, and use of occlusion management techniques.
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G09G5/377. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 07 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).