IP Library Granted Patent US 9,865,074
Granted Patent B2
US 9,865,074 · App. 14/246,064 · Granted Jan 9, 2018

Method for efficient construction of high resolution display buffers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,865,074
App. No.
14/246,064
Granted
Jan 9, 2018
Kind
B2
Abstract

Graphics processing systems and methods are disclosed which may minimize invocations to a pixel shader in order to improve efficiency in a rendering pipeline. In implementations of the present disclosure, a plurality of samples within a pixel may be covered by a primitive. The plurality of samples may include one or more color samples and a plurality of depth samples. The nature of the samples which were covered by the primitive may be taken into account before invoking a pixel shader to perform shading computations on the pixel. In implementations of the present disclosure, if at least one sample is covered by a primitive, but none of the samples are color samples, an invocation to a pixel shader may be avoided.

Claims (60)

1. A method of rendering graphics with a processing unit, the method comprising:

determining a sample coverage of a first primitive at a first pixel, wherein the first pixel includes a plurality of samples, wherein the plurality of samples include one or more color samples and a plurality of depth samples, wherein it is determined in said determining the sample coverage that the plurality of samples of the first pixel include one or more covered samples that are covered by the first primitive;

determining whether the one or more covered samples include at least one of the color samples of the first pixel;

invoking a pixel shader for the first pixel for the first primitive if said determining determines that the one or more covered samples include at least one of the color samples; and

not invoking the pixel shader for the first pixel for the first primitive if said determining determines that the one or more covered samples do not include at least one of the one or more color samples but do include at least one depth sample of the plurality of depth samples;

deriving a color value, for the first primitive, for a display pixel not associated with a color sample but associated with a depth sample by assigning a color value of a color sample at a same depth value as the depth sample.

2. The method of claim 1 , wherein the one or more color samples of the first pixel is a plurality of color samples and a color sample count of the first pixel is less than a depth sample count of the first pixel.

3. The method of claim 1 , further comprising:

before said determining whether the covered samples include at least one of the color samples, performing an early depth test for at least one of the covered samples to determine whether the covered samples are depth occluded, wherein it is determined in said performing the early depth test that the covered samples include one or more surviving covered samples that are not depth occluded;

wherein said determining whether the covered samples include at least one of the color samples of the first pixel comprises determining whether the surviving covered samples include at least one of the color samples of the first pixel.

4. The method of claim 1 , further comprising, after said invoking a pixel shader if said determining determines that the covered samples include at least one of the color samples:

performing pixel shader computations for at least one fragment generated for the first pixel from the first primitive.

5. The method of claim 1 , further comprising, after said invoking a pixel shader if said determining determines that the covered samples include at least one of the color samples:

performing pixel shader computations for at least one fragment generated for the first pixel from the first primitive, and

after said performing pixel shader computations, applying at least one color value of at least one fragment computed in the pixel shader computations to at least one color sample of the first pixel covered by the first primitive.

6. The method of claim 1 , wherein said determining determines that a plurality of the color samples are covered by the primitive, wherein the method further comprises, after said invoking a pixel shader if said determining determines that the covered samples include at least one of the color samples:

performing pixel shader computations for one or more single sample fragments respectively generated for each of the plurality of color samples covered by the primitive, and

after said performing pixel shader computations, applying a respective color value of each of the single sample fragments computed in the pixel shader computations to each of the color samples covered by the first primitive, respectively.

7. The method of claim 1 , wherein said determining determines that a plurality of the color samples are covered by the primitive, wherein the method further comprises, after said invoking a pixel shader if said determining determines that the covered samples include at least one of the color samples:

performing pixel shader computations on one fragment generated for each of the plurality of color samples covered by the primitive, and

after said performing pixel shader computations, applying a color value of the fragment computed in the pixel shader computations to each of the color samples covered by the first primitive.

8. The method of claim 1 , wherein the first primitive is a triangle.

9. A system comprising:

a processor, and

a memory coupled to the processor,

wherein the processor is configured to perform a method of rendering graphics, the method comprising:

determining a sample coverage of a first primitive at a first pixel, wherein the first pixel includes a plurality of samples, wherein the plurality of samples include one or more color samples and a plurality of depth samples, wherein it is determined in said determining the sample coverage that the plurality of samples of the first pixel include one or more covered samples that are covered by the first primitive;

determining whether the one or more covered samples include at least one of the color samples of the first pixel;

invoking a pixel shader for the first pixel for the first primitive if said determining determines that the one or more covered samples include at least one of the color samples; and

not invoking the pixel shader for the first pixel for the first primitive if said determining determines that the one or more covered samples do not include at least one of the one or more color samples but do include at least one depth sample of the plurality of depth samples;

deriving a color value, for the first primitive, for a display pixel not associated with a color sample but associated with a depth sample by assigning a color value of a color sample at a same depth value as the depth sample.

10. The system of claim 9 ,

wherein the processor includes a central processing unit (CPU) and a graphics processing unit (GPU).

11. The system of claim 9 , further comprising a display device,

wherein the method further comprises presenting the graphics on the display device.

12. The system of claim 9 , wherein the method further comprises:

before said determining whether the covered samples include at least one of the color samples, performing an early depth test for at least one of the covered samples to determine whether the covered samples are depth occluded, wherein it is determined in said performing the early depth test that the covered samples include one or more surviving covered samples that are not depth occluded;

wherein said determining whether the covered samples include at least one of the color samples of the first pixel comprises determining whether the surviving covered samples include at least one of the color samples of the first pixel.

13. The system of claim 9 , wherein the one or more color samples of the first pixel is a plurality of color samples and a color sample count of the first pixel is less than a depth sample count of the first pixel.

14. A graphics processing unit (GPU) comprising:

a memory module; and

a rasterization module implemented in hardware and/or software configured to:

determine a sample coverage of a first primitive at a first pixel, wherein the first pixel includes a plurality of samples, wherein the plurality of samples include one or more color samples and a plurality of depth samples, wherein it is determined in said determining the sample coverage that the plurality of samples of the first pixel include one or more covered samples that are covered by the first primitive;

determine whether the one or more covered samples include at least one of the color samples of the first pixel;

invoke a pixel shader for the first pixel for the first primitive if said determining determines that the one or more covered samples include at least one of the color samples; and

not invoke the pixel shader for the first pixel for the first primitive if said determining determines that the one or more covered samples do not include at least one of the one or more color samples but do include at least one depth sample of the plurality of depth samples;

deriving a color value, for the first primitive, for a display pixel not associated with a color sample but associated with a depth sample by assigning a color value of a color sample at a same depth value as the depth sample.

15. The GPU of claim 14 , wherein the rasterization module is implemented in hardware.

16. The GPU of claim 14 , wherein the rasterization module is further configured to:

before said determine whether the covered samples include at least one of the color samples of the first pixel, perform an early depth test for at least one of the covered samples to determine whether each of said at least one of the covered samples are depth occluded, wherein it is determined in said perform the early depth test that the covered samples include one or more surviving covered samples that are not depth occluded;

wherein said determine whether the covered samples include at least one of the color samples of the first pixel comprises determine whether the surviving covered samples include at least one of the color samples of the first pixel.

17. A non-transitory computer readable medium having processor-executable instructions embodied therein, wherein execution of the instructions by a processor causes the processor to implement a method of rendering graphics, the method comprising:

determining a sample coverage of a first primitive at a first pixel, wherein the first pixel includes a plurality of samples, wherein the plurality of samples include one or more color samples and a plurality of depth samples, wherein it is determined in said determining the sample coverage that the plurality of samples of the first pixel include one or more covered samples that are covered by the first primitive;

determining whether the one or more covered samples include at least one of the color samples of the first pixel;

invoking a pixel shader for the first pixel for the first primitive if said determining determines that the one or more covered samples include at least one of the color samples; and

not invoking the pixel shader for the first pixel for the first primitive if said determining determines that the one or more covered samples do not include at least one of the color samples;

deriving a color value, for the first primitive, for a display pixel not associated with a color sample but associated with a depth sample by assigning a color value of a color sample at a same depth value as the depth sample.

18. The non-transitory computer readable medium of claim 17 , wherein the method further comprises:

before said determining whether the covered samples include at least one of the color samples, performing an early depth test for at least one of the covered samples to determine whether the covered samples are depth occluded, wherein it is determined in said performing the early depth test that the covered samples include one or more surviving covered samples that are not depth occluded;

wherein said determining whether the covered samples include at least one of the color samples of the first pixel comprises determining whether the surviving covered samples include at least one of the color samples of the first pixel.

Assignments (3)
CHANGE OF NAME Recorded Nov 29, 2017
From: SONY COMPUTER ENTERTAINMENT EUROPE LIMITED
To: SONY INTERACTIVE ENTERTAINMENT EUROPE LIMITED
Reel/Frame 044250/0931 →
CHANGE OF NAME Recorded May 5, 2016
From: SONY COMPUTER ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 038626/0637 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2014
From: BERGHOFF, TOBIAS
To: SONY COMPUTER ENTERTAINMENT AMERICA LLC; SONY COMPUTER ENTERTAINMENT EUROPE LIMITED
Reel/Frame 033440/0148 →