-
公开(公告)号:US10664943B2
公开(公告)日:2020-05-26
申请号:US15989404
申请日:2018-05-25
Applicant: Apple Inc.
Inventor: Kelvin C. Chiu , Charles Brissart , Gokhan Avkarogullari , Lloyd A. Cunningham , Rahul U. Joshi
Abstract: The disclosed concepts provide a method to generate and use a compound shader object. A compound shader object includes a shader's intermediate representation (IR) and one or more binary modules; each binary module configured to execute on one type of graphics processing unit (GPU) with a specific input state. One method includes receiving, through a public application programming interface (API), a request to execute a shader from an user-level application. At the framework level, if the request corresponds to one of the prior compiled binary modules, that module may be passed to a GPU for immediate execution via a system private interface. If the request does not correspond to one of the binary modules, the shader's IR module may returned to the requesting user-level application (which module would then have to be compiled before it may be sent to the GPU).
-
公开(公告)号:US20180350028A1
公开(公告)日:2018-12-06
申请号:US15989404
申请日:2018-05-25
Applicant: Apple Inc.
Inventor: Kelvin C. Chiu , Charles Brissart , Gokhan Avkarogullari , Lloyd A. Cunningham , Rahul U. Joshi
Abstract: The disclosed concepts provide a method to generate and use a compound shader object. A compound shader object includes a shader's intermediate representation (IR) and one or more binary modules; each binary module configured to execute on one type of graphics processing unit (GPU) with a specific input state. One method includes receiving, through a public application programming interface (API), a request to execute a shader from an user-level application. At the framework level, if the request corresponds to one of the prior compiled binary modules, that module may be passed to a GPU for immediate execution via a system private interface. If the request does not correspond to one of the binary modules, the shader's IR module may returned to the requesting user-level application (which module would then have to be compiled before it may be sent to the GPU).
-