发明名称 Shader Function Linking Graph
摘要 Methods, systems, and computer-storage media are provided for shader assembly and computation. Shader functions can be determined without specialization to a particular shader model and finalizing or resource bindings. Embodiments of the present invention facilitate final shader assembly and resource binding through linking before the shader is presented to a GPU driver. In this way, embodiments of the present invention alleviate combinatorial shader explosion and provide protection of intellectual property by not requiring distribution or generation of source code.
申请公布号 US2014354658(A1) 申请公布日期 2014.12.04
申请号 US201313907683 申请日期 2013.05.31
申请人 Microsoft Corporation 发明人 Dotsenko Yuri;Riddell Carey Glenerin;Plotke Richard Lee;Sandy Matthew David;Glaister Andrew John
分类号 G06T1/20 主分类号 G06T1/20
代理机构 代理人
主权项 1. Computer-storage media having computer-executable instructions embodied thereon for performing a method for facilitating creation of a shader, the method comprising: receiving a set of functions comprising one or more instructions associated with graphics processing and information specifying one or more graphics resources; receiving resource slot information, the resource slot information specifying a portion of memory associated with one of the graphics resources; determining a set of libraries based on the received set of functions, each library including information specifying one or more virtual slots, wherein each virtual slot is associated with one of the graphics resources; determining one or more modules from at least one library in the set of libraries; determining a set of module instances, each module instance being determined based on a module and comprising the information specifying the one or more virtual slots; for each module instance, based on the information specifying the one or more virtual slots and the resource slot information, binding one or more of the virtual slots to a resource slot; receiving node and edge information specifying one or more nodes and graph edges, each node corresponding to a function in the set of functions, an input signature, or an output signature, and each graph-edge corresponding to one or more edge-values passed between nodes; based on the received node and edge information, generating a function linking graph (FLG) instance comprising nodes and graph edges; and linking the FLG instance to the set of module instances.
地址 Redmond WA US