Offloading touch processing to a graphics processor
AssigneeIntel Corporation
InventorsBalaji Vembu, David I. Poisner, Arvind Kumar, Chaitanya R. Gandra
Life of this patent
Estimating the term…
Abstract
In an embodiment, a processor includes a graphics domain including a graphics engines each having at least one execution unit. The graphics domain is to schedule a touch application offloaded from a core domain to at least one of the plurality of graphics engines. The touch application is to execute responsive to an update to a doorbell location in a system memory coupled to the processor, where the doorbell location is written responsive to a user input to the touch input device. Other embodiments are described and claimed.
Claims17
A processor comprising:
- a core domain including at least one core to execute instructions;
- a graphics domain including a plurality of graphics engines each having a thread dispatcher, at least one execution unit, a shared cache memory, and an interface, the graphics domain to schedule a touch application to perform processing of raw touch data, the touch application to execute one or more of the plurality of graphics engines responsive to an update to a doorbell location in a system memory coupled to the processor, the doorbell location written responsive to a user input to a touch input device;
- and
- a memory controller, wherein the graphics domain is to exit a low power state responsive to detection by the memory controller of the write to the doorbell location, wherein the touch application is to request the doorbell location and to communicate the doorbell location to the graphics domain.
A method comprising:
- initializing a touch application to execute on a graphics processor of a multicore processor, including setting a first doorbell location, allocating a first shared data buffer of a system memory to store raw touch data allocating a second shared data buffer to store processed touch data and communicating the first doorbell location to the graphics processor;
- receiving, in a sensor hub of the multicore processor, an indication of availability of raw touch data in a touch input device coupled to the sensor hub;
- storing, via the sensor hub, the raw touch data in the first shared data buffer and writing a presence indicator to the first doorbell location;
- and
- responsive to the presence indicator in the first doorbell location, walking the graphics processor, processing the raw touch data in the graphics processor and storing processed touch data in the second shared data buffer.
A system comprising:
- a multicore processor including a core domain having a plurality of cores, a graphics domain having a plurality of graphics processors, the graphics domain to execute a touch application offloaded from the core domain to the graphics domain on a reset event of the system, the touch application to execute to process raw touch data of a user input responsive to the user input to a touch input device and without interaction with the core domain, and a memory controller, at least one of the plurality of graphics processors to exit a low power state responsive to detection by the memory controller of a write to a doorbell location in a system memory and to access the raw touch data in a first shared buffer of the system memory, wherein the touch application is to request the doorbell location and to communicate the doorbell location to the graphics domain;
- a sensor hub coupled to the multicore processor to receive inputs from a plurality of sensors including the touch input device;
- the touch input device directly coupled to the sensor hub without a touch controller and to communicate the raw touch data of the user input to the sensor hub;
- and
- a system memory coupled to the multicore processor, the system memory including the first shared buffer to store the raw touch data and a second shared buffer to store processed touch data generated by the touch application from the raw touch data.
Dependencies are inferred from the claim text.