Patents by Inventor Kenneth C. Dyke

Kenneth C. Dyke has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 10970223
    Abstract: Systems, apparatuses, and methods for efficiently allocating data in a cache are described. In various embodiments, a processor decodes an indication in a software application identifying a temporal data set. The data set is flagged with a data set identifier (DSID) indicating temporal data to drop after consumption. When the data set is allocated in a cache, the data set is stored with a non-replaceable attribute to prevent a cache replacement policy from evicting the data set before it is dropped. A drop command with an indication of the DSID of the data set is later issued after the data set is read (consumed). A copy of the data set is not written back to the lower-level memory although the data set is removed from the cache. An interrupt is generated to notify firmware or other software of the completion of the drop command.
    Type: Grant
    Filed: May 13, 2019
    Date of Patent: April 6, 2021
    Assignee: Apple Inc.
    Inventors: Wolfgang H. Klingauf, Kenneth C. Dyke, Karthik Ramani, Winnie W. Yeung, Anthony P. DeLaurier, Luc R. Semeria, David A. Gotwalt, Srinivasa Rangan Sridharan, Muditha Kanchana
  • Patent number: 10949944
    Abstract: Systems, computer readable media, and methods for a unified programming interface and language are disclosed. In one embodiment, the unified programming interface and language assists program developers write multi-threaded programs that can perform both graphics and data-parallel compute processing on GPUs. The same GPU programming language model can be used to describe both graphics shaders and compute kernels, and the same data structures and resources may be used for both graphics and compute operations. Developers can use multithreading efficiently to create and submit command buffers in parallel.
    Type: Grant
    Filed: April 22, 2019
    Date of Patent: March 16, 2021
    Assignee: Apple Inc.
    Inventors: Richard W. Schreyer, Kenneth C. Dyke, Alexander K. Kan
  • Patent number: 10747519
    Abstract: A compiler and library provide the ability to compile a programming language according to a defined language model into a programming language independent, machine independent intermediate representation, for conversion into an executable on a target programmable device. The language model allows writing programs that perform data-parallel graphics and non-graphics tasks.
    Type: Grant
    Filed: August 6, 2019
    Date of Patent: August 18, 2020
    Assignee: Apple Inc.
    Inventors: Aaftab A. Munshi, Kenneth C. Dyke, Rahul U. Joshi, Richard W. Schreyer
  • Publication number: 20190361687
    Abstract: A compiler and library provide the ability to compile a programming language according to a defined language model into a programming language independent, machine independent intermediate representation, for conversion into an executable on a target programmable device. The language model allows writing programs that perform data-parallel graphics and non-graphics tasks.
    Type: Application
    Filed: August 6, 2019
    Publication date: November 28, 2019
    Inventors: Aaftab A. Munshi, Kenneth C. Dyke, Rahul U. Joshi, Richard W. Schreyer
  • Patent number: 10430169
    Abstract: A compiler and library provide the ability to compile a programming language according to a defined language model into a programming language independent, machine independent intermediate representation, for conversion into an executable on a target programmable device. The language model allows writing programs that perform data-parallel graphics and non-graphics tasks.
    Type: Grant
    Filed: February 20, 2015
    Date of Patent: October 1, 2019
    Assignee: Apple Inc.
    Inventors: Aaftab A. Munshi, Kenneth C. Dyke, Rahul U. Joshi, Richard W. Schreyer
  • Publication number: 20190266102
    Abstract: Systems, apparatuses, and methods for efficiently allocating data in a cache are described. In various embodiments, a processor decodes an indication in a software application identifying a temporal data set. The data set is flagged with a data set identifier (DSID) indicating temporal data to drop after consumption. When the data set is allocated in a cache, the data set is stored with a non-replaceable attribute to prevent a cache replacement policy from evicting the data set before it is dropped. A drop command with an indication of the DSID of the data set is later issued after the data set is read (consumed). A copy of the data set is not written back to the lower-level memory although the data set is removed from the cache. An interrupt is generated to notify firmware or other software of the completion of the drop command.
    Type: Application
    Filed: May 13, 2019
    Publication date: August 29, 2019
    Inventors: Wolfgang H. Klingauf, Kenneth C. Dyke, Karthik Ramani, Winnie W. Yeung, Anthony P. DeLaurier, Luc R. Semeria, David A. Gotwalt, Srinivasa Rangan Sridharan, Muditha Kanchana
  • Publication number: 20190251656
    Abstract: Systems, computer readable media, and methods for a unified programming interface and language are disclosed. In one embodiment, the unified programming interface and language assists program developers write multi-threaded programs that can perform both graphics and data-parallel compute processing on GPUs. The same GPU programming language model can be used to describe both graphics shaders and compute kernels, and the same data structures and resources may be used for both graphics and compute operations. Developers can use multithreading efficiently to create and submit command buffers in parallel.
    Type: Application
    Filed: April 22, 2019
    Publication date: August 15, 2019
    Inventors: Richard W. Schreyer, Kenneth C. Dyke, Alexander K. Kan
  • Patent number: 10346941
    Abstract: Systems, computer readable media, and methods for a unified programming interface and language are disclosed. In one embodiment, the unified programming interface and language assists program developers write multi-threaded programs that can perform both graphics and data-parallel compute processing on GPUs. The same GPU programming language model can be used to describe both graphics shaders and compute kernels, and the same data structures and resources may be used for both graphics and compute operations. Developers can use multithreading efficiently to create and submit command buffers in parallel.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: July 9, 2019
    Assignee: Apple Inc.
    Inventors: Richard W. Schreyer, Kenneth C. Dyke, Alexander K. Kan
  • Patent number: 10289565
    Abstract: Systems, apparatuses, and methods for efficiently allocating data in a cache are described. In various embodiments, a processor decodes an indication in a software application identifying a temporal data set. The data set is flagged with a data set identifier (DSID) indicating temporal data to drop after consumption. When the data set is allocated in a cache, the data set is stored with a non-replaceable attribute to prevent a cache replacement policy from evicting the data set before it is dropped. A drop command with an indication of the DSID of the data set is later issued after the data set is read (consumed). A copy of the data set is not written back to the lower-level memory although the data set is removed from the cache. An interrupt is generated to notify firmware or other software of the completion of the drop command.
    Type: Grant
    Filed: May 31, 2017
    Date of Patent: May 14, 2019
    Assignee: Apple Inc.
    Inventors: Wolfgang H. Klingauf, Kenneth C. Dyke, Karthik Ramani, Winnie W. Yeung, Anthony P. DeLaurier, Luc R. Semeria, David A. Gotwalt, Srinivasa Rangan Sridharan, Muditha Kanchana
  • Publication number: 20180349291
    Abstract: Systems, apparatuses, and methods for efficiently allocating data in a cache are described. In various embodiments, a processor decodes an indication in a software application identifying a temporal data set. The data set is flagged with a data set identifier (DSID) indicating temporal data to drop after consumption. When the data set is allocated in a cache, the data set is stored with a non-replaceable attribute to prevent a cache replacement policy from evicting the data set before it is dropped. A drop command with an indication of the DSID of the data set is later issued after the data set is read (consumed). A copy of the data set is not written back to the lower-level memory although the data set is removed from the cache. An interrupt is generated to notify firmware or other software of the completion of the drop command.
    Type: Application
    Filed: May 31, 2017
    Publication date: December 6, 2018
    Inventors: Wolfgang H. Klingauf, Kenneth C. Dyke, Karthik Ramani, Winnie W. Yeung, Anthony P. DeLaurier, Luc R. Semeria, David A. Gotwalt, Srinivasa Rangan Sridharan, Muditha Kanchana
  • Patent number: 10031712
    Abstract: A computing system that supports the use of multiple displays in display mirroring mode and extended display mode may automatically determine a display mode in which to configure the system (with little or no user input) based on various characteristics of the displays in the system. For example, the system may determine that a television, projector, or other presentation type display is connected in the system, and in response, may determine that the system should be configured in a display mirroring mode, rather than in an extended display mode. The system may also determine that the presentation type display is the preferred display, and may render image content in a best (or preferred) mode for that display using its native resolution, aspect ratio or color profile. The system may then scale the rendered image content for display on other (non-preferred) displays, such as an internal display, without re-rendering it.
    Type: Grant
    Filed: January 23, 2017
    Date of Patent: July 24, 2018
    Assignee: Apple Inc.
    Inventors: Geoffrey G. Stahl, Ian C. Hendry, Kenneth C. Dyke, Patrick L. Coffman, Steve S. Ko, Nathaniel C. Begeman
  • Patent number: 9881353
    Abstract: Embodiments enable a graphics processor to more efficiently process graphics and compositing processing commands. In certain embodiments, a client application submits client graphics commands to a graphics driver. The client in certain embodiments can notify a window server that client graphics commands have been submitted. In response, the window server can generate compositing processing commands and provide these commands to the graphics driver. Advantageously, a graphics processor can execute the client graphics commands while the window server generates compositing processing commands. As a result, processing resource can be used more efficiently.
    Type: Grant
    Filed: August 14, 2014
    Date of Patent: January 30, 2018
    Assignee: Apple Inc.
    Inventors: John Harper, Kenneth C. Dyke
  • Patent number: 9864560
    Abstract: A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.
    Type: Grant
    Filed: July 19, 2016
    Date of Patent: January 9, 2018
    Assignee: Apple Inc.
    Inventors: John S. Harper, Kenneth C. Dyke, Jeremy Sandmel
  • Publication number: 20170131963
    Abstract: A computing system that supports the use of multiple displays in display mirroring mode and extended display mode may automatically determine a display mode in which to configure the system (with little or no user input) based on various characteristics of the displays in the system. For example, the system may determine that a television, projector, or other presentation type display is connected in the system, and in response, may determine that the system should be configured in a display mirroring mode, rather than in an extended display mode. The system may also determine that the presentation type display is the preferred display, and may render image content in a best (or preferred) mode for that display using its native resolution, aspect ratio or color profile. The system may then scale the rendered image content for display on other (non-preferred) displays, such as an internal display, without re-rendering it.
    Type: Application
    Filed: January 23, 2017
    Publication date: May 11, 2017
    Applicant: Apple Inc.
    Inventors: Geoffrey G. Stahl, Ian C. Hendry, Kenneth C. Dyke, Patrick L. Coffman, Steve S. Ko, Nathaniel C. Begeman
  • Patent number: 9552187
    Abstract: A computing system that supports the use of multiple displays in display mirroring mode and extended display mode may automatically determine a display mode in which to configure the system (with little or no user input) based on various characteristics of the displays in the system. For example, the system may determine that a television, projector, or other presentation type display is connected in the system, and in response, may determine that the system should be configured in a display mirroring mode, rather than in an extended display mode. The system may also determine that the presentation type display is the preferred display, and may render image content in a best (or preferred) mode for that display using its native resolution, aspect ratio or color profile. The system may then scale the rendered image content for display on other (non-preferred) displays, such as an internal display, without re-rendering it.
    Type: Grant
    Filed: December 2, 2015
    Date of Patent: January 24, 2017
    Assignee: Apple Inc.
    Inventors: Geoffrey G. Stahl, Ian C. Hendry, Kenneth C. Dyke, Patrick L. Coffman, Steve S. Ko, Nathaniel C. Begeman
  • Publication number: 20170017452
    Abstract: A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.
    Type: Application
    Filed: July 19, 2016
    Publication date: January 19, 2017
    Inventors: John S. Harper, Kenneth C. Dyke, Jeremy Sandmel
  • Patent number: 9489165
    Abstract: An operating system creates one or more virtual display interfaces for communication of display data and user input events between the application layer and one or more virtual display devices. The one or more virtual display devices are not physically connected to the computing system managed by the operating system. One or more applications are executed in an application layer. At least one of the one or more applications communicates display data to and receives user input events from at least one of the one or more display devices using at least one of the display interfaces. At least one other of the one or more applications communicates display data to and receives user input events from at least one of the one or more virtual display devices using at least one of the one or more virtual display interfaces.
    Type: Grant
    Filed: February 1, 2016
    Date of Patent: November 8, 2016
    Assignee: Apple Inc.
    Inventors: Christopher P. Wright, Kenneth C. Dyke, Assana M. Fard, Thomas W. Costa
  • Patent number: 9411550
    Abstract: A data processing system composites graphics content, generated by an application program running on the data processing system, to generate image data. The data processing system stores the image data in a first framebuffer and displays an image generated from the image data in the first framebuffer on an internal display device of the data processing system. A scaler in the data processing system performs scaling operations on the image data in the first framebuffer, stores the scaled image data in a second framebuffer and displays an image generated from the scaled image data in the second framebuffer on an external display device coupled to the data processing system. The scaler performs the scaling operations asynchronously with respect to the compositing of the graphics content. The data processing system automatically mirrors the image on the external display device unless the application program is publishing additional graphics content for display on the external display device.
    Type: Grant
    Filed: January 20, 2015
    Date of Patent: August 9, 2016
    Assignee: Apple Inc.
    Inventors: John S. Harper, Kenneth C. Dyke, Jeremy Sandmel
  • Publication number: 20160162249
    Abstract: A computing system that supports the use of multiple displays in display mirroring mode and extended display mode may automatically determine a display mode in which to configure the system (with little or no user input) based on various characteristics of the displays in the system. For example, the system may determine that a television, projector, or other presentation type display is connected in the system, and in response, may determine that the system should be configured in a display mirroring mode, rather than in an extended display mode. The system may also determine that the presentation type display is the preferred display, and may render image content in a best (or preferred) mode for that display using its native resolution, aspect ratio or color profile. The system may then scale the rendered image content for display on other (non-preferred) displays, such as an internal display, without re-rendering it.
    Type: Application
    Filed: December 2, 2015
    Publication date: June 9, 2016
    Applicant: Apple Inc.
    Inventors: Geoffrey G. Stahl, Ian C. Hendry, Kenneth C. Dyke, Patrick L. Coffman, Steve S. Ko, Nathaniel C. Begeman
  • Publication number: 20160147494
    Abstract: An operating system creates one or more virtual display interfaces for communication of display data and user input events between the application layer and one or more virtual display devices. The one or more virtual display devices are not physically connected to the computing system managed by the operating system. One or more applications are executed in an application layer. At least one of the one or more applications communicates display data to and receives user input events from at least one of the one or more display devices using at least one of the display interfaces. At least one other of the one or more applications communicates display data to and receives user input events from at least one of the one or more virtual display devices using at least one of the one or more virtual display interfaces.
    Type: Application
    Filed: February 1, 2016
    Publication date: May 26, 2016
    Inventors: Christopher P. Wright, Kenneth C. Dyke, Assana M. Fard, Thomas W. Costa