IP Library Granted Patent US 10,192,350
Granted Patent B2
US 10,192,350 · App. 15/496,494 · Granted Jan 29, 2019

Compacting results vectors between stages of graphics processing

Inventors: Luke T. Peterson (San Francisco, CA); James A. McCombe (San Francisco, CA); Ryan R. Salsbury (Mountain View, CA); Stephen Purcell (Mountain View, CA)
Assignee: Imagination Technologies Limited
G06T15/06G06T15/005G06T15/50G06T15/80
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 10,192,350
App. No.
15/496,494
Granted
Jan 29, 2019
Kind
B2
Abstract

Ray tracing, and more generally, graphics operations taking place in a 3-D scene, involve a plurality of constituent graphics operations. Responsibility for executing these operations can be distributed among different sets of computation units. The sets of computation units each can execute a set of instructions on a parallelized set of input data elements and produce results. These results can be that the data elements can be categorized into different subsets, where each subset requires different processing as a next step. The data elements of these different subsets can be coalesced so that they are contiguous in a results set. The results set can be used to schedule additional computation, and if there are empty locations of a scheduling vector (after accounting for the members of a given subset), then those empty locations can be filled with other data elements that require the same further processing as that subset.

Claims (20)

1. A computer-implemented method of concurrently performing graphics computations in a computing resource comprising a plurality of single-instruction multiple-data (SIMD) computation units, the method comprising:

receiving, at the computing resource, ray data for a plurality of rays to be intersection tested and shape data for a plurality of shapes against which the rays are to be tested;

performing intersection testing of rays of the plurality of rays against shapes of the plurality of shapes to generate intersection test results, wherein said performing intersection testing comprises performing a first subset of intersection tests by testing, in each of the respective SIMD computation units, a single ray with a respective different shape of the plurality of shapes; and

forming at least one packet comprising the intersection test results.

2. The computer-implemented method according to claim 1 , wherein receiving the ray data and the shape data comprises receiving a packet comprising the ray data and the shape data.

3. The computer-implemented method according to claim 1 , wherein the ray data comprises a plurality of ray identifiers that each identify a respective ray to be tested; and wherein the shape data comprises at least one of (i) an identifier for each shape of the one or more shapes against which the rays are to be tested, and (ii) an identifier for a beginning of a strip of one or more shapes against which the rays are to be tested.

4. The computer-implemented method according to claim 1 , wherein performing intersection testing comprises performing, subsequent to performing the first subset of intersection tests, a second subset of intersection tests by testing, in each of the respective SIMD computation units, a different second ray with a respective different shape of the plurality of shapes.

5. The computer-implemented method according to claim 1 , wherein forming at least one packet comprises formatting the intersection test results into a plurality of packets, wherein each packet comprises the intersection test results for a particular shape of the plurality of shapes.

6. The computer-implemented method according to claim 1 , wherein forming a packet comprises forming a packet comprising at least one separate bit indicating the result of each intersection test.

7. The computer-implemented method according to claim 1 , further comprising retrieving ray origin and ray direction data for the identified plurality of rays and storing the retrieved ray origin and ray direction data in local storage for accessing by the computing resource.

8. A computing system for concurrently performing graphics computations, the computing system comprising a plurality of single-instruction multiple-data (SIMD) computation units, the computing system configured to:

receive ray data for a plurality of rays to be intersection tested and shape data for a plurality of shapes against which the rays are to be tested;

perform, in the SIMD computation units, intersection testing of rays of the plurality of rays against shapes of the plurality of shapes to generate intersection test results, wherein the SIMD computation units are configured to perform intersection testing by performing a first subset of intersection tests by testing, in each of the respective SIMD computation units, a single ray with a respective different shape of the plurality of shapes; and

form at least one packet comprising the intersection test results.

9. The computing system according to claim 8 , wherein the computing system is configured receive the ray data and the shape data by receiving a packet comprising the ray data and the shape data.

10. The computing system according to claim 8 , wherein the ray data comprises a plurality of ray identifiers that each identify a respective ray to be tested; and wherein the shape data comprises at least one of (i) an identifier for each shape of the one or more shapes against which the rays are to be tested, and (ii) an identifier for a beginning of a strip of one or more shapes against which the rays are to be tested.

11. The computing system according to claim 8 , wherein the SIMD computation units are further configured to perform intersection testing by performing, subsequent to performing the first subset of intersection tests, a second subset of intersection tests by testing, in each of the respective SIMD computation units, a different second ray with a respective different shape of the plurality of shapes.

12. The computing system according to claim 8 , wherein the computing system is configured to form at least one packet by formatting the intersection test results into a plurality of packets, wherein each packet comprises the intersection test results for a particular shape of the plurality of shapes.

13. The computing system according to claim 8 , wherein the computing system is configured to form a packet by forming a packet comprising at least one separate bit indicating the result of each intersection test.

14. The computing system according to claim 8 , wherein the computing system is configured to retrieve ray origin and ray direction data for the identified plurality of rays and store the retrieved ray origin and ray direction data in local storage for accessing by the computing system.

Assignments (1)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
Continuity (10)
Continuation 14558493 · Dec 2, 2014
Continuation 13959552 · Aug 5, 2013
Continuation 13525300 · Jun 16, 2012
Continuation 12941884 · Nov 8, 2010
Continuation 12408478 · Mar 20, 2009
Continuation In Part 11856612 · Sep 17, 2007
Provisional Application 61095890 · Sep 10, 2008
Provisional Application 61038731 · Mar 21, 2008
Provisional Application 60826201 · Sep 19, 2006
Related Publication 20170228920A1 · Aug 10, 2017