US 12,141,909 B2
Controlling rendering operations by shader buffer identification
John W. Howson, St. Albans (GB); Aroun Demeure, London (GB); and Steven Fishwick, Kings Langley (GB)
Assigned to Imagination Technologies Limited, Kings Langley (GB)
Filed by Imagination Technologies Limited, Kings Langley (GB)
Filed on Jun. 12, 2023, as Appl. No. 18/208,676.
Application 18/208,676 is a continuation of application No. 17/587,008, filed on Jan. 28, 2022, granted, now 11,676,323, issued on Jun. 13, 2023.
Application 17/587,008 is a continuation of application No. 16/888,781, filed on May 31, 2020, granted, now 11,270,493, issued on Mar. 8, 2022.
Claims priority of application No. 1907814 (GB), filed on May 31, 2019.
Prior Publication US 2023/0326118 A1, Oct. 12, 2023
This patent is subject to a terminal disclaimer.
Int. Cl. G06T 15/00 (2011.01); G06F 8/41 (2018.01); G06T 1/20 (2006.01); G06T 1/60 (2006.01); G06T 15/80 (2011.01); G09G 5/36 (2006.01)
CPC G06T 15/005 (2013.01) [G06F 8/41 (2013.01); G06T 1/20 (2013.01); G06T 1/60 (2013.01); G06T 15/80 (2013.01); G09G 5/363 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of rendering a scene in a graphics system comprising a Graphics Processing Unit (GPU), the method comprising:
identifying a first draw call within a current render;
analysing at least a last shader in a series of shaders used by the first draw call to identify any buffers sampled by the last shader that are to be written by a previous render that has still to be sent for execution on the GPU and to determine whether the last shader samples from the identified buffers using screen space coordinates that correspond to a current fragment location;
in response to determining that the last shader used by the first draw call does sample from the identified buffers using screen space coordinates that correspond to the current fragment location, adding the first draw call to both a merged control stream comprising draw calls from the previous render and a control stream for a current render; and
in response to determining that a subsequent draw call in the current render does not sample from the identified buffers using screen space coordinates that correspond to the current fragment location, discarding the merged control stream.