-
公开(公告)号: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).
-
公开(公告)号:US20170358132A1
公开(公告)日:2017-12-14
申请号:US15275275
申请日:2016-09-23
Applicant: Apple Inc.
Inventor: Aaftab A. Munshi , Michael B. Harris , Anna Tikhonova , Charles Brissart , Srinivas Dasari , Rahul Joshi , Kelvin C. Chiu , Mon Ping Wang , Nick W. Burns
CPC classification number: G06T17/20 , G06T1/20 , G06T1/60 , G06T15/005 , G06T15/80 , G06T2200/04 , G06T2207/20021
Abstract: An improved tessellation graphics pipeline that obviates that use of early stage vertex shaders and hull shaders and allows greater efficiency and flexibility. Embodiments provide a graphics pipeline beginning with a tessellator that may obtain tessellation factors in any manner such as reading from a memory of factors provided by a developer or computing the factors using a compute kernel. In some embodiments, a single vertex shader may follow the tessellator and perform all the necessary vertex shading for the pipeline. Furthermore, in some embodiments, a compute kernel is used to generate the tessellation factors. The compute kernel provides flexibility that allows its employment for some graphic portions and not others. In addition, the streamlined pipeline facilitates the efficient use of scaling to determine tessellation factors for the same graphic portion at different camera distances or desired levels of replication of the mathematical model.
-
公开(公告)号:US20170090886A1
公开(公告)日:2017-03-30
申请号:US15244668
申请日:2016-08-23
Applicant: Apple Inc.
Inventor: Aaftab A. Munshi , Charles Brissart , Owen Anderson , Mon Ping Wang , Ravi Ramaseshan
CPC classification number: G06F8/41 , G06F8/423 , G06F8/52 , G06F9/4552 , G06T1/20
Abstract: Ubershaders may be used in a graphics development environment as an efficiency tool because many options and properties may be captured in a single shader program. Each selectable option of property in the shader code may be tagged with an attribute to indicate the presence of the selection. The single shader program embodying the many selectable options and properties may be compiled to an intermediate version that also embodies the many options and properties, along with at least remnants of the tagging attributes. Upon a request for executable code including indications of the desired selectable options or properties, generation of the executable code may proceed such that it includes only the desire selectable options and properties and not other selectable options and properties embodied in the source code.
-
公开(公告)号:US10180825B2
公开(公告)日:2019-01-15
申请号:US15244668
申请日:2016-08-23
Applicant: Apple Inc.
Inventor: Aaftab A. Munshi , Charles Brissart , Owen Anderson , Mon Ping Wang , Ravi Ramaseshan
Abstract: Ubershaders may be used in a graphics development environment as an efficiency tool because many options and properties may be captured in a single shader program. Each selectable option of property in the shader code may be tagged with an attribute to indicate the presence of the selection. The single shader program embodying the many selectable options and properties may be compiled to an intermediate version that also embodies the many options and properties, along with at least remnants of the tagging attributes. Upon a request for executable code including indications of the desired selectable options or properties, generation of the executable code may proceed such that it includes only the desire selectable options and properties and not other selectable options and properties embodied in the source code.
-
公开(公告)号: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).
-
-
-
-