Nvidia Patent Applications

DC BALANCING TECHNIQUES FOR A VARIABLE REFRESH RATE DISPLAY

Granted: July 9, 2015
Application Number: 20150194111
A method for driving a display panel having a variable refresh rate is disclosed. The method comprises detecting a condition that results in a charge accumulation in the display panel using an accumulated difference in time duration between frames of positive polarity and frames of negative polarity received from an image source. The DC imbalance is a result of a frame pattern comprising alternating frames of differing polarities, wherein frames of positive polarity within the frame…

TECHNIQUE FOR PROJECTING AN IMAGE ONTO A SURFACE WITH A MOBILE DEVICE

Granted: July 9, 2015
Application Number: 20150193915
A mobile device includes a projector configured to project images onto a target surface that resides within a projectable area. The mobile device identifies the target surface within the projectable area and then tracks that target surface as the mobile device is subject to different types of motion, including translation and rotation, among others. The mobile device then compensates for that motion when projecting the images, potentially eliminating distortion in the projected images.…

EFFICIENT CACHE MANAGEMENT IN A TILED ARCHITECTURE

Granted: July 9, 2015
Application Number: 20150193907
A surface cache stores pixel data on behalf of a pixel processing pipeline that is configured to generate screen tiles. The surface cache assigns hint levels to cache lines storing pixel data according to whether that pixel data is likely to be needed again. When the pixel data is needed to process a subsequent tile, the corresponding cache line is assigned a higher hint value. When the pixel data is not needed again, the corresponding cache line is assigned a lower hint value. The…

EFFICIENT CACHE MANAGEMENT IN A TILED ARCHITECTURE

Granted: July 9, 2015
Application Number: 20150193903
A surface cache stores pixel data on behalf of a pixel processing pipeline that is configured to generate screen tiles. The surface cache assigns hint levels to cache lines storing pixel data according to whether that pixel data is likely to be needed again. When the pixel data is needed to process a subsequent tile, the corresponding cache line is assigned a higher hint value. When the pixel data is not needed again, the corresponding cache line is assigned a lower hint value. The…

Prioritized Memory Reads

Granted: July 9, 2015
Application Number: 20150193358
A system includes a processing unit and a memory system coupled to the processing unit. The processing unit is configured to mark a memory access in the series of instructions as a priority memory access as a consequence of the memory access having a dependent instruction following less than a threshold distance after the memory access in the series of instructions. The processing unit is configured to send the marked memory access to the memory system.

SYSTEM AND PROCESSOR THAT INCLUDE AN IMPLEMENTATION OF DECOUPLED PIPELINES

Granted: July 9, 2015
Application Number: 20150193272
A system and apparatus are provided that include an implementation for decoupled pipelines. The apparatus includes a scheduler configured to issue instructions to one or more functional units and a functional unit coupled to a queue having a number of slots for storing instructions. The instructions issued to the functional unit are stored in the queue until the functional unit is available to process the instructions.

EFFICIENCY IN A FUSED FLOATING-POINT MULTIPLY-ADD UNIT

Granted: July 9, 2015
Application Number: 20150193203
A four cycle fused floating point multiply-add unit includes a radix 8 Booth encoder multiplier that is partitioned over two stages with the compression element allocated to the second stage. The unit further includes an improved shifter design. Processing logic analyzes the input operands, detects values of zero and one, and inhibits portions of the processing logic accordingly. When one of the multiplicand inputs has a value of zero or one, the required multiplication becomes trivial,…

METHOD AND APPARATUS FOR BUFFERING SENSOR INPUT IN A LOW POWER SYSTEM STATE

Granted: July 9, 2015
Application Number: 20150193062
A solution is proposed for processing input in a lower power user interface of touch-sensitive display panels. According to an embodiment, a mobile computing device is placed in the low power mode. During this mode, the sensor controller produces a raw event/interrupts on a detected touch. Upon detecting a touch, the sensor controller also automatically increases the scan rate of the touch sensor, while the triggered event or interrupt proceeds to wake the system into a higher power…

VOLTAGE OPTIMIZATION CIRCUIT AND MANAGING VOLTAGE MARGINS OF AN INTEGRATED CIRCUIT

Granted: July 9, 2015
Application Number: 20150192942
A voltage margin controller, an IC included the same and a method of controlling voltage margin for a voltage domain of an IC are disclosed herein. In one embodiment, the voltage margin controller includes: (1) monitoring branches including circuit function indicators configured to indicate whether circuitry in the voltage domain could operate at corresponding candidate reduced voltage levels and (2) a voltage margin adjuster coupled to the monitoring branches and configured to develop a…

CONTROLLING CONTENT FRAME RATE BASED ON REFRESH RATE OF A DISPLAY

Granted: July 2, 2015
Application Number: 20150189126
A video frame producer, a method of generating content frames and a video viewing device are disclosed herein. In one embodiment, the video frame producer includes: (1) a content provider configured to generate content frames for a display and (2) a viewing smoother configured to direct the content provider to generate the content frames at a frame rate based on a display refresh rate of the display.

WIRELESS DISPLAY SYNCHRONIZATION FOR MOBILE DEVICES USING BUFFER LOCKING

Granted: July 2, 2015
Application Number: 20150189012
One embodiment of the present invention includes techniques for synchronizing displays of a plurality of mobile devices over a wireless network. A processing unit renders an image frame related to a software application into an application image buffer associated with a first mobile device and causes a second mobile device to render a second image frame into a second application image buffer of the second mobile device. The processing unit receives an acknowledgement over a wireless…

PREVENTING FETCH OF OCCLUDED PIXELS FOR DISPLAY PROCESSING AND SCAN-OUT

Granted: July 2, 2015
Application Number: 20150187256
One embodiment of the present invention includes techniques for compositing image surfaces to generate a display image for display. A display engine receives a first set of parameters associated with a first image surface stored in a memory. The display engine receives a second set of parameters associated with a second image surface stored in the memory, wherein the second image surface overlaps at least a portion of the first image surface. The display engine selects a first pixel…

GENERATING INDIRECTION MAPS FOR TEXTURE SPACE EFFECTS

Granted: July 2, 2015
Application Number: 20150187135
Embodiments of the present invention are directed to a novel approach for realistically modeling sub-surface scattering effects in three-dimensional objects of graphically rendered images. In an embodiment, an indirection map is generated for an image by analyzing the triangle mesh of one or more three-dimensional objects in the image and identifying pairs of edges between adjacent triangles in the mesh that have the same spatial locations in the three-dimensional representations, but…

TECHNIQUE FOR PRE-COMPUTING AMBIENT OBSCURANCE

Granted: July 2, 2015
Application Number: 20150187129
One embodiment of the present invention includes techniques for pre-computing ambient shadowing parameters for a computer-generated scene. A processing unit retrieves a reference object associated with the computer-generated scene and comprising a plurality of vertices. For each vertex in the plurality of vertices, the processing unit computes a local ambient shadowing parameter, and stores the local ambient shadowing parameter in a memory. For each instance of the reference object…

USING INDIRECTION MAPS FOR RENDERING TEXTURE SPACE EFFECTS

Granted: July 2, 2015
Application Number: 20150187126
Embodiments of the present invention are directed to a novel approach for realistically modeling sub-surface scattering effects in three-dimensional objects of graphically rendered images. In an embodiment, an indirection map is generated for an image by analyzing the triangle mesh of one or more three-dimensional objects in the image and identifying pairs of edges between adjacent triangles in the mesh that have the same spatial locations in the three-dimensional representations, but…

GPU AND GPU COMPUTING SYSTEM FOR PROVIDING A VIRTUAL MACHINE AND A METHOD OF MANUFACTURING THE SAME

Granted: July 2, 2015
Application Number: 20150187041
Disclosed herein is a GPU for improved multitasking by a user, a GPU computing system including the GPU and a method of manufacturing a GPU system. In one embodiment, the GPU includes: (1) a video overlayer configured to create an operating area over a portion of a video image generated by the graphical processing unit and (2) an overlay interface configured to provide a virtual space input to the video overlayer to operate a virtual machine within the operating area.

SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR A PINLIGHT SEE-THROUGH NEAR-EYE DISPLAY

Granted: June 25, 2015
Application Number: 20150177514
A system, method, and computer program product are provided for implementing a pinlight see-through near-eye display. Light cones configured to substantially fill a field-of-view corresponding to a pupil are generated by an array of pinlights positioned between a near focus plane and the pupil. Overlap regions where two of more light cones intersect at a display layer positioned between the array of pinlights and the pupil are determined. The two or more light cones are modulated based…

IMAGE ANALYSIS OF DISPLAY CONTENT FOR DYNAMIC ADJUSTMENT OF A CONTINUOUS SCAN DISPLAY

Granted: June 25, 2015
Application Number: 20150178932
Various embodiments relating to reducing memory bandwidth consumed by a continuous scan display screen are provided. In one embodiment, scoring criteria are applied to a reference image of a first image format having a first bit depth to generate an image conversion score. The scoring criteria are based on a histogram of one or more characteristics of the reference image. If the image conversion score is greater than a threshold value, then the reference image is converted to a modified…

SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR SIMULTANEOUS EXECUTION OF COMPUTE AND GRAPHICS WORKLOADS

Granted: June 25, 2015
Application Number: 20150178879
A system, method, and computer program product are provided for allocating processor resources to process compute workloads and graphics workloads substantially simultaneously. The method includes the steps of allocating a plurality of processing units to process tasks associated with a graphics pipeline, receiving a request to allocate at least one processing unit in the plurality of processing units to process tasks associated with a compute pipeline, and reallocating the at least one…

SYSTEM, METHOD, AND COMPUTER PROGRAM PRODUCT FOR REMAPPING REGISTERS BASED ON A CHANGE IN EXECUTION MODE

Granted: June 25, 2015
Application Number: 20150178085
A system, method, and computer program product are provided for remapping registers based on a change in execution mode. A sequence of instructions is received for execution by a processor and a change in an execution mode from a first execution mode to a second execution mode within the sequence of instructions is identified, where a first register mapping is associated with the first execution mode and a second register mapping is associated with the second execution mode. Data stored…