Patent ID: 8436856

Claim:
A method for executing a block of calculations in shader code on indexed data points, the block including at least one vertical calculation and at least one horizontal calculation, the method comprising: detecting, with one or more processors associated with one or more computer systems, a horizontal portion in the block of calculations in the shader code, the horizontal block including a first instruction in a sequence of instructions to be executed on a first data point in the indexed data points using results from a second instruction in the sequence of instructions to be executed on a second data point in the indexed data point; dividing, with the one or more processors associated with one or more computer systems, the block of calculations in the shader code into a vertical sub-block and a horizontal sub-block using the horizontal portion as a dividing border, the vertical sub-block providing a sequence of instructions to be executed independently on each data point in the indexed data points; based on the horizontal sub-block including at least one vertical calculation, dividing, with the one or more processors associated with one or more computer systems, the horizontal sub-block such that vertical sub-blocks in the block of calculations in the shader code can be executed independently on each data point in the indexed data points; and storing information describing the sub-blocks of the block in a storage device associated with the one or more computer systems, the information including the calculation type of each sub-block.