Patent ID: 8806458
Filing Date: 2014-08-12
Classification: G06F

Abstract:
1. Method of vectorizing an input shader comprising shader code in a shading language using a central processing unit (CPU) with a vector width W, wherein the CPU is not a graphics processing unit (GPU), the method comprising: receiving input intermediate language code compiled from the shader code, the input intermediate language code comprising divergent flow control and N elements, where N is greater than W; and vectorizing independent elements in the input intermediate language code into output intermediate language code by analyzing the input intermediate language code to identify scopes of the input intermediate language code by inserting annotations in the input intermediate language code to annotate scopes as either predicated or non-predicated, and providing and managing scope masks for the predicated scopes, respectively, the providing including inserting looping mask variables into the output intermediate code, wherein the output intermediate language code, when compiled, is executed by the CPU such that the CPU concurrently processes W of the independent elements to produce vector values, and in accordance with the scope masks the CPU correctly merges the vector values.