A method for providing and utilizing intermediate memory targets (IT, MRT, MET) in a computing system having a host processing unit, CPU, and a graphics system including a graphics hardware, the method comprising: operating a complex graphics program that exceeds a maximum instruction limit for a graphics hardware of the computing system, wherein the graphics program processes three dimensional graphics with a plurality of surfaces and wherein color elements of the plurality of surfaces are bound to individual surfaces separately; breaking the graphics program into sets of program instructions (SPP1-SPP3), none of which individually exceeding the maximum instruction limit of the graphics hardware; setting intermediary memory targets as buffers with variable size for the three dimensional graphics; transmitting a first set of program instructions to at least one component of the graphics hardware to program the at least one component to perform a specialized function which includes at least one of inputting data from at least one intermediate memory target (IT, MRT, MET) to the at least one component of graphics hardware and outputting data from the at least one component of graphics hardware to an intermediate memory target (IT, MRT, MET); transmitting a second set of program instructions different from the first 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 re-using the data from at least one intermediate memory target (IT, MRT, MET) as an input to the at least one component, inputting data from at least one intermediate memory target (IT, MRT, MET) to the at least one component of graphics hardware, and outputting data from the at least one component to an intermediate memory target (IT, MRT, MET); re-circulating the data from multiple of the at least one intermediate memory targets to perform a third specialized function, wherein the data from multiple of the at least one intermediate memory targets is re-used to perform the third specialized function. operating a complex graphics program that exceeds a maximum instruction limit for a graphics hardware of the computing system, wherein the graphics program processes three dimensional graphics with a plurality of surfaces and wherein color elements of the plurality of surfaces are bound to individual surfaces separately; breaking the graphics program into sets of program instructions (SPP1-SPP3), none of which individually exceeding the maximum instruction limit of the graphics hardware; setting intermediary memory targets as buffers with variable size for the three dimensional graphics; transmitting a first set of program instructions to at least one component of the graphics hardware to program the at least one component to perform a specialized function which includes at least one of inputting data from at least one intermediate memory target (IT, MRT, MET) to the at least one component of graphics hardware and outputting data from the at least one component of graphics hardware to an intermediate memory target (IT, MRT, MET); transmitting a second set of program instructions different from the first 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 re-using the data from at least one intermediate memory target (IT, MRT, MET) as an input to the at least one component, inputting data from at least one intermediate memory target (IT, MRT, MET) to the at least one component of graphics hardware, and outputting data from the at least one component to an intermediate memory target (IT, MRT, MET); re-circulating the data from multiple of the at least one intermediate memory targets to perform a third specialized function, wherein the data from multiple of the at least one intermediate memory targets is re-used to perform the third specialized function.