Patent ID: 7564460
Filing Date: 2009-07-21
Classification: G06T

Abstract:
1. A method for providing and utilizing intermediate memory targets in a computing system having a host system including a central processing unit (CPU) and a graphics subsystem including a graphics processing unit (GPU), the method comprising: accessing a graphics program which, when operated, exceeds a maximum graphics hardware instruction count, wherein the graphics program processes three dimensional graphics with a plurality of surfaces, wherein color elements of the plurality of surfaces are bound to individual surfaces separately; separating the graphics program into sets of program instructions wherein each set of program instructions does not exceed the maximum graphics hardware instruction count; transmitting from the host system a first set of program instructions to at least one component of graphics hardware of the graphics subsystem to program the at least one component to perform a specialized function, wherein the at least one component includes a procedural shader, and wherein the at least one component includes one of (A) inputting data from at least one intermediate memory target to the at least one component of graphics hardware and (B) outputting data from the at least one component of graphics hardware to an intermediate memory target; transmitting a second set of program instructions to the at least one component of graphics hardware to program the at least one component to perform a second specialized function which includes at least one of (A) re-using the data from at least one intermediate memory target as an input to the at least one component, (B) inputting data from at least one intermediate memory target to the at least one component, and (C) outputting data from the at least one component to an intermediate memory target; and storing and re-circulating the data from multiple of the at least one intermediate memory targets to perform a third specialized function, wherein the data from the multiple of the at least one intermediate targets is reused to perform the third specialized function different from the first and second specialized functions, wherein a resolution of each intermediate memory target is variably set.