Patent ID: 9019292
Filing Date: 2015-04-28
Classification: G06F,G06T

Abstract:
1. One or more computer storage media devices having computer-executable instructions embodied thereon, that when executed by a computing system having a processor and memory, cause the computing system to perform a method of reordering operations in execution of an effect graph by a graphics processing unit (GPU), the method comprising: evaluating available memory for storage of images rendered using the effect graph; evaluating additional memory for storage of images rendered using a reordered effect graph; determining, based on evaluating the additional memory, that the additional memory needed to perform the reordered effect graph justifies performance improvement; allocating memory for two or more parallel intermediate textures when the additional memory needed justifies performance improvement; executing two or more parallel lower-level operations that write pixels to the two or more parallel intermediate textures, wherein after executing a first of the two or more parallel lower-level operations on a first texture of the two or more parallel intermediate textures, execution of an upper-level operation that reads pixels from the first texture and writes pixels to an upper-level texture is deferred for execution of a second of the two or more parallel lower-level operations on a second texture of the two or more parallel intermediate textures, the upper-level operation immediately following the first of the two or more parallel intermediate textures in the effect graph; determining that a memory threshold would be exceeded if additional lower-level parallel operations are performed; flushing the allocated memory for the two or more parallel intermediate textures; allocating memory for the upper-level texture, wherein an image stored in the upper-level texture is rendered using, at least, two or more parallel upper-level operations that read pixels from the images stored in the two or more parallel intermediate textures; and executing the two or more parallel upper-level operations that write pixels to the upper-level texture based on the determining that the memory threshold would be exceeded, wherein the executed two or more parallel upper-level operations include the deferred upper-level operation.