US 12,229,878 B2
Primitive block generator for graphics processing systems
Xile Yang, Rickmansworth (GB); Robert Brigg, Watford (GB); and John W. Howson, St. Albans (GB)
Assigned to Imagination Technologies Limited, Kings Langley (GB)
Filed by Imagination Technologies Limited, Kings Langley (GB)
Filed on Nov. 30, 2023, as Appl. No. 18/525,756.
Application 18/525,756 is a continuation of application No. 18/071,095, filed on Nov. 29, 2022, granted, now 11,836,849.
Application 18/071,095 is a continuation of application No. 17/536,671, filed on Nov. 29, 2021, granted, now 11,527,039, issued on Dec. 13, 2022.
Application 17/536,671 is a continuation of application No. 16/724,239, filed on Dec. 21, 2019, granted, now 11,217,007, issued on Jan. 4, 2022.
Claims priority of application No. 1821133 (GB), filed on Dec. 21, 2018; application No. 1821139 (GB), filed on Dec. 21, 2018; and application No. 1821142 (GB), filed on Dec. 21, 2018.
Prior Publication US 2024/0104833 A1, Mar. 28, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06T 15/40 (2011.01); G06T 1/60 (2006.01); G06T 15/00 (2011.01)
CPC G06T 15/40 (2013.01) [G06T 1/60 (2013.01); G06T 15/005 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of generating primitive blocks at a primitive block generator in a graphics processing system, the primitive block generator comprising a data store for storing a current primitive block to which primitives can be added, the method comprising:
(a) determining one or more distance metrics that indicate a distance between a spatial position of a current primitive in a rendering space and a spatial position of the current primitive block in the rendering space, the spatial position of the current primitive block in the rendering space based on a spatial position of primitives that form the current primitive block;
(b) determining a fullness of the current primitive block based on at least one of: (i) a number of primitives in the current primitive block compared to a maximum number of primitives, and (ii) where each primitive is defined by one or more vertices, a number of vertices in the current primitive block compared to a maximum number of vertices;
(c) dynamically selecting a set of one or more distance thresholds based on the fullness of the current primitive block, the set of one or more distance thresholds comprising a distance threshold for each of the one or more distance metrics;
(d) determining whether to add the current primitive to the current primitive block based on a comparison of each of the one or more distance metrics to the corresponding distance threshold of the set of one or more distance thresholds; and
(e) in response to determining that the current primitive is to be added to the current primitive block, adding the current primitive to the current primitive block.