Compound shader object and use thereof

    公开(公告)号:US10664943B2

    公开(公告)日:2020-05-26

    申请号:US15989404

    申请日:2018-05-25

    Applicant: Apple Inc.

    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).

    System and Method for Using Ubershader Variants Without Preprocessing Macros

    公开(公告)号:US20170090886A1

    公开(公告)日:2017-03-30

    申请号:US15244668

    申请日:2016-08-23

    Applicant: Apple Inc.

    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.

    System and method for using ubershader variants without preprocessing macros

    公开(公告)号:US10180825B2

    公开(公告)日:2019-01-15

    申请号:US15244668

    申请日:2016-08-23

    Applicant: Apple Inc.

    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.

    Compound Shader Object and Use Thereof
    5.
    发明申请

    公开(公告)号:US20180350028A1

    公开(公告)日:2018-12-06

    申请号:US15989404

    申请日:2018-05-25

    Applicant: Apple Inc.

    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).

Patent Agency Ranking