IP Library Granted Patent US 12682548
Granted Patent B2
US 12682548 · App. 18/589,239 · Granted Jul 14, 2026

Apparatus and method using triangle pairs and shared transformation circuitry to improve ray tracing performance

Inventors: Sven Woop (Volklingen, DE); Prasoonkumar Surti (Folsom, CA); Karthik Vaidyanathan (San Francisco, CA); Carsten Benthin (Voelklingen, DE); Joshua Barczak (Forest Hills, MD); Saikat Mandal (Sacramento, CA)
Assignee: Intel Corporation
G06T15/06G06T15/005G06T2210/21
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 12682548
App. No.
18/589,239
Granted
Jul 14, 2026
Kind
B2
Abstract

An apparatus and method for merging primitives and coordinating between vertex and ray transformations on a shared transformation unit. For example, one embodiment of a graphics processor comprises: a queue comprising a plurality of entries; ordering circuitry/logic to order triangles front to back within the queue; pairing circuitry/logic to identify triangles in the queue sharing an edge and to merge the triangles sharing an edge to produce merged triangle pairs; and shared transformation circuitry to alternate between performing vertex transformations on vertices of the merged triangle pairs and to performing ray transformations on ray direction/origin data.

Claims (23)

1 . A graphics processor comprising:

circuitry to pair triangles within a queue to provide a set of merged triangle pairs, where pairing the triangles comprises merging two triangles sharing an edge to produce a merged triangle pair; and

circuitry to selectively perform, under control of a control signal, a vertex transformation on vertices of the set of merged triangle pairs and a ray transformation on ray data for triangle intersection, the circuitry comprising a matrix multiply unit through which both of the vertex transformation on the vertices of the set of merged triangle pairs and the ray transformation on the ray data for triangle intersection are performed.

2 . The graphics processor of claim 1 , wherein the matrix multiply unit multiplies matrix data associated with the vertices of the set of merged triangle pairs with the ray data.

3 . The graphics processor of claim 1 , wherein the circuitry comprises one or more multiplexers controlled by a Boolean value to pass through the ray data for the ray transformation.

4 . The graphics processor of claim 3 , wherein the Boolean value is further used to pass through a world to object transformation (Xform) matrix along with the ray data for the ray transformation.

5 . The graphics processor of claim 3 , wherein each of the set of merged triangle pairs includes a set of four vertices, each set of four vertices is to be split into two subsets of two vertices, and wherein the one or more multiplexers further select one subset of two vertices at a time to perform the vertex transformation.

6 . The graphics processor of claim 1 , wherein intersection testing is performed on the vertices of the set of merged triangle pairs after the vertex transformation.

7 . A method comprising:

pairing triangles within a queue to provide a set of merged triangle pairs, where pairing the triangles comprises merging two triangles sharing an edge to produce a merged triangle pair; and

selectively perform, under control of a control signal, a vertex transformation on vertices of the set of merged triangle pairs and a ray transformation on ray data for triangle intersection, wherein both of the vertex transformation on the vertices of the set of merged triangle pairs and the ray transformation on the ray data for triangle intersection are performed on a same matrix multiply unit.

8 . The method of claim 7 , wherein the same matrix multiply unit multiplies matrix data associated with the vertices of the set of merged triangle pairs with the ray data.

9 . The method of claim 7 , wherein one or more multiplexers controlled by a Boolean value are used to pass through the ray data for the ray transformation.

10 . The method of claim 9 , wherein the Boolean value is further used to pass through a world to object transformation (Xform) matrix along with the ray data for the ray transformation.

11 . The method of claim 9 , wherein each of the set of merged triangle pairs includes a set of four vertices, each set of four vertices is to be split into two subsets of two vertices, and wherein the one or more multiplexers further select one subset of two vertices at a time to perform the vertex transformation.

12 . The method of claim 7 , wherein intersection testing is performed on the vertices of the set of merged triangle pairs after the vertex transformation.

13 . A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform:

pairing triangles within a queue to provide a set of merged triangle pairs, where pairing the triangles comprises merging two triangles sharing an edge to produce a merged triangle pair; and

selectively perform, under control of a control signal, a vertex transformation on vertices of the set of merged triangle pairs and a ray transformation on ray data for triangle intersection, wherein both of the vertex transformation on the vertices of the set of merged triangle pairs and the ray transformation on the ray data for triangle intersection are performed on a same matrix multiply unit.

14 . The non-transitory machine-readable medium of claim 13 , wherein the same matrix multiply unit multiplies matrix data associated with the vertices of the set of merged triangle pairs with the ray data.

15 . The non-transitory machine-readable medium of claim 13 , wherein one or more multiplexers controlled by a Boolean value are used to pass through the ray data for the ray transformation.

16 . The non-transitory machine-readable medium of claim 15 , wherein the Boolean value is further used to pass through a world to object transformation (Xform) matrix along with the ray data for the ray transformation.

17 . The non-transitory machine-readable medium of claim 15 , wherein each of the set of merged triangle pairs includes a set of four vertices, each set of four vertices is to be split into two subsets of two vertices, and wherein the one or more multiplexers further select one subset of two vertices at a time to perform the vertex transformation.