IP Library Granted Patent US 12,488,527
Granted Patent B2
US 12,488,527 · App. 17/518,328 · Granted Dec 2, 2025

3D graphics driver to split frames into multiple command buffer submissions based on analysis of previous frames

Inventors: Stav Gurtovoy (Folsom, CA); Abhishek Venkatesh (Bengaluru, IN); Michael Apodaca (El Dorado Hills, CA); Travis Schluessler (Berthoud, CO); John Feit (Folsom, CA)
Assignee: Intel Corporation
G06T15/005G06T1/20G06T1/60H01L23/3128H01L23/5381H01L24/16H01L25/0655H01L2224/16225H01L2924/1431H01L2924/1434
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 12,488,527
App. No.
17/518,328
Granted
Dec 2, 2025
Kind
B2
Abstract

Methods, systems and apparatuses may provide for technology that marks a graphics resource as a flush candidate during a current frame, conducts an early flush of a command buffer from the graphics resource if a write event is detected with respect to the graphics resource during a subsequent frame, and bypasses the early flush if the write event is not detected with respect to the graphics resource during the subsequent frame. In one example, the graphics resource is marked as the flush candidate in response to a read back operation of the host processor with respect to the graphics resource, wherein the read back operation retrieves a query result and/or maps a staging resource.

Claims (37)

1 . A computing system comprising:

a graphics processor including a graphics resource;

a host processor coupled to the graphics processor; and

a memory coupled to the host processor, the memory including a set of instructions, which when executed by the host processor, cause the host processor to:

mark the graphics resource as a flush candidate during a current frame, the graphics resource to be marked as the flush candidate in response to a read back operation of the host processor with respect to the graphics resource, wherein the read back operation is one or more of retrieving a query result or mapping a staging resource,

conduct an early flush of a command buffer from the graphics resource if a write event is detected with respect to the graphics resource during a subsequent frame, and

bypass the early flush if the write event is not detected with respect to the graphics resource during the subsequent frame.

2 . The computing system of claim 1 , wherein the early flush is to be conducted if a stall event is detected during the current frame and a graphics utilization does not exceed a threshold during the current frame, and wherein the early flush is to be bypassed if one or more of the stall event is not detected during the current frame or the graphics utilization exceeds the threshold during the current frame.

3 . The computing system of claim 2 , wherein the early flush is to be conducted if the command buffer satisfies one or more of a draw count condition or a timing condition, and wherein the early flush is to be bypassed if the command buffer does not satisfy one or more of the draw count condition or the timing condition.

4 . The computing system of claim 1 , wherein the command buffer is to represent a subset of a plurality of command buffers corresponding to the subsequent frame, and wherein the early flush is to be conducted before the plurality of command buffers are submitted to the graphics processor.

5 . The computing system of claim 1 , wherein the write event is to be one or more of a query end event or a resource copy event.

6 . A semiconductor apparatus comprising:

one or more substrates; and

logic coupled to the one or more substrates, wherein the logic is implemented at least partly in one or more of configurable or fixed-functionality hardware, the logic to:

mark a graphics resource as a flush candidate during a current frame;

conduct an early flush of a command buffer from the graphics resource if a write event is detected with respect to the graphics resource during a subsequent frame, the early flush is to be conducted if a stall event is detected during the current frame and a graphics utilization does not exceed a threshold during the current frame, and wherein the early flush is to be bypassed if one or more of the stall event is not detected during the current frame or the graphics utilization exceeds the threshold during the current frame; and

bypass the early flush if the write event is not detected with respect to the graphics resource during the subsequent frame.

7 . The semiconductor apparatus of claim 6 , wherein the graphics resource is to be marked as the flush candidate in response to a read back operation of a host processor with respect to the graphics resource, and wherein the read back operation is one or more of retrieving a query result or mapping a staging resource.

8 . The semiconductor apparatus of claim 6 , wherein the early flush is to be conducted if the command buffer satisfies one or more of a draw count condition or a timing condition, and wherein the early flush is to be bypassed if the command buffer does not satisfy one or more of the draw count condition or the timing condition.

9 . The semiconductor apparatus of claim 6 , wherein the command buffer is to represent a subset of a plurality of command buffers corresponding to the subsequent frame, and wherein the early flush is to be conducted before the plurality of command buffers are submitted to a graphics processor containing the graphics resource.

10 . The semiconductor apparatus of claim 6 , wherein the write event is to be one or more of a query end event or a resource copy event.

11 . At least one non-transitory computer readable storage medium comprising a set of instructions, which when executed by a host processor, cause the host processor to:

mark a graphics resource as a flush candidate during a current frame;

conduct an early flush of a command buffer from the graphics resource if a write event is detected with respect to the graphics resource during a subsequent frame, the early flush is to be conducted if a stall event is detected during the current frame and a graphics utilization does not exceed a threshold during the current frame, and wherein the early flush is to be bypassed if one or more of the stall event is not detected during the current frame or the graphics utilization exceeds the threshold during the current frame; and

bypass the early flush if the write event is not detected with respect to the graphics resource during the subsequent frame.

12 . The at least one non-transitory computer readable storage medium of claim 11 , wherein the graphics resource is to be marked as the flush candidate in response to a read back operation of a host processor with respect to the graphics resource, and wherein the read back operation is one or more of retrieving a query result or mapping a staging resource.

13 . The at least one non-transitory computer readable storage medium of claim 11 , wherein the early flush is to be conducted if the command buffer satisfies one or more of a draw count condition or a timing condition, and wherein the early flush is to be bypassed if the command buffer does not satisfy one or more of the draw count condition or the timing condition.

14 . The at least one non-transitory computer readable storage medium of claim 11 , wherein the command buffer is to represent a subset of a plurality of command buffers corresponding to the subsequent frame, and wherein the early flush is to be conducted before the plurality of command buffers are submitted to a graphics processor containing the graphics resource.

15 . The at least one non-transitory computer readable storage medium of claim 11 , wherein the write event is to be one or more of a query end event or a resource copy event.

16 . A method implemented by a host processor comprising:

marking a graphics resource as a flush candidate during a current frame, wherein the graphics resource is to be marked as the flush candidate in response to a read back operation of the host processor with respect to the graphics resource, and wherein the read back operation is one or more of retrieving a query result or mapping a staging resource;

conducting an early flush of a command buffer from the graphics resource if a write event is detected with respect to the graphics resource during a subsequent frame; and

bypassing the early flush if the write event is not detected with respect to the graphics resource during the subsequent frame.

17 . The method of claim 16 , wherein the early flush is conducted if a stall event is detected during the current frame and a graphics utilization does not exceed a threshold during the current frame, and wherein the early flush is bypassed if one or more of the stall event is not detected during the current frame or the graphics utilization exceeds the threshold during the current frame.

18 . The method of claim 17 , wherein the early flush is conducted if the command buffer satisfies one or more of a draw count condition or a timing condition, and wherein the early flush is bypassed if the command buffer does not satisfy one or more of the draw count condition or the timing condition.

19 . The method of claim 16 , wherein the command buffer represents a subset of a plurality of command buffers corresponding to the subsequent frame, and wherein the early flush is conducted before the plurality of command buffers are submitted to a graphics processor containing the graphics resource.

20 . The method of claim 16 , wherein the write event is one or more of a query end event or a resource copy event.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2022
From: GURTOVOY, STAV; VENKATESH, ABHISHEK; APODACA, MICHAEL; SCHLUESSLER, TRAVIS; FEIT, JOHN
To: INTEL CORPORATION
Reel/Frame 058888/0062 →
Continuity (1)
Related Publication 20230140640A1 · May 4, 2023
References Cited (7)
US 5420980A · Pinedo · 1995 [cited by examiner]
US 20160148338A1 · Balci et al. · 2016 [cited by applicant]
US 20160292906A1 · Woo et al. · 2016 [cited by applicant]
US 20210201434A1 · Wang et al. · 2021 [cited by applicant]
US 20210407183A1 · Guo · 2021 [cited by examiner]
US 20220398128A1 · Jose, Jr. · 2022 [cited by examiner]
Extended European Search Report for Application No. 22199465.0 mailed Mar. 15, 2023, 10 pages. [cited by applicant]