IP Library Granted Patent US 11,094,103
Granted Patent B2
US 11,094,103 · App. 16/364,829 · Granted Aug 17, 2021

General purpose register and wave slot allocation in graphics processing

Inventors: Yun Du (San Diego, CA); Andrew Evan Gruber (Arlington, MA); Chun Yu (Rancho Santa Fe, CA); Chihong Zhang (San Diego, CA); Hongjiang Shang (San Diego, CA); Zilin Ying (San Diego, CA); Fei Wei (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06T15/04G06F9/3877G06F9/544
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 11,094,103
App. No.
16/364,829
Granted
Aug 17, 2021
Kind
B2
Abstract

Example techniques are described for generating graphics content by obtaining texture operation instructions corresponding to a texture operation, in response to determining at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation, generating an indication that the texture operation corresponds to a deferred wave, executing the texture operation, sending, to a texture processor, initial texture sample instructions corresponding to the texture operation that was executed, and receiving texture mapped data corresponding to the initial texture sample instructions.

Claims (76)

1. A device for generating graphics content, comprising:

a memory comprising a general purpose register and wave slots; and

a processor coupled to the memory, the processor configured to:

obtain texture operation instructions corresponding to a texture operation;

generate a virtual wave slot corresponding to the texture operation;

determine that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation;

in response to determining that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation, generate an indication that the texture operation corresponds to a deferred wave;

execute the texture operation that corresponds to the deferred wave;

send, to a texture processor, initial texture sample instructions corresponding to the texture operation that was executed; and

receive texture mapped data corresponding to the initial texture sample instructions wherein the texture mapped data corresponds to a frame of content that is output to a display.

2. The device of claim 1 , wherein the processor is further configured to:

subsequent to determining that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation, determine sufficient general purpose register space is available for the texture operation and sufficient wave slots are available for the texture operation;

convert the virtual wave slot to a wave slot; and

store texture attributes corresponding to the texture operation in the general purpose register.

3. The device of claim 2 , wherein, subsequent to the converting the virtual wave slot and the storing the texture attributes, the processor is further configured to perform post-processing on the texture mapped data using the wave slot and the texture attributes.

4. The device of claim 1 , wherein the processor comprises a pixel interpolation unit, and wherein to execute the texture operation, the processor is further configured to use the pixel interpolation unit.

5. The device of claim 1 , further comprising the display, wherein the processor is further configured to send data corresponding to the texture mapped data to downstream components of the processor, wherein the data further corresponds to the frame of content that is output to the display.

6. The device of claim 1 , wherein the processor is further configured to:

repeatedly determine whether sufficient general purpose register space and wave slots are available for the texture operation; and

upon determining that sufficient general purpose register space is available and sufficient wave slots are available for the texture operation:

convert the virtual wave slot to a wave slot; and

store texture attributes corresponding to the texture operation in the general purpose register.

7. The device of claim 1 , wherein the memory further comprises a texture buffer, wherein the processor is further configured to:

obtain second texture operation instructions corresponding to a second texture operation;

determine that at least one of insufficient general purpose register space is available for the second texture operation or insufficient wave slots are available for the second texture operation;

determine that buffer storage space and a wave slot are needed for the second texture operation;

store a virtual wave slot corresponding to the second texture operation in the texture buffer; and

store texture attributes corresponding to the second texture operation in the texture buffer.

8. The device of claim 1 , wherein the device comprises a wireless communication device.

9. A method for generating graphics content comprising:

obtaining texture operation instructions corresponding to a texture operation;

generating a virtual wave slot corresponding to the texture operation;

determining that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation;

in response to determining that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation, generating an indication that the texture operation corresponds to a deferred wave;

executing the texture operation that corresponds to the deferred wave;

sending, to a texture processor, initial texture sample instructions corresponding to the texture operation that was executed; and

receiving texture mapped data corresponding to the initial texture sample instructions;

wherein the texture mapped data corresponds to a frame of content that is output to a display.

10. The method of claim 9 , further comprising:

subsequent to the determining that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation, determining sufficient general purpose register space is available for the texture operation and sufficient wave slots are available for the texture operation;

converting the virtual wave slot to a wave slot; and

storing texture attributes corresponding to the texture operation in the general purpose register.

11. The method of claim 10 , wherein, subsequent to the converting the virtual wave slot and the storing the texture attributes, the method further comprises performing post-processing on the texture mapped data using the wave slot and the texture attributes.

12. The method of claim 9 , wherein the executing the texture operation comprises using a pixel interpolation unit.

13. The method of claim 9 , further comprising sending data corresponding to the texture mapped data to downstream components of a processor, wherein the data further corresponds to the frame of content that is output to the display.

14. The method of claim 9 , further comprising:

repeatedly determining whether sufficient general purpose register space and wave slots are available for the texture operation; and

upon determining that sufficient general purpose register space is available and sufficient wave slots are available for the texture operation:

converting the virtual wave slot to a wave slot; and

storing texture attributes corresponding to the texture operation in the general purpose register.

15. The method of claim 9 , further comprising:

obtaining second texture operation instructions corresponding to a second texture operation;

determining that at least one of insufficient general purpose register space is available for the second texture operation or insufficient wave slots are available for the second texture operation;

determining that buffer storage space and a wave slot are needed for the second texture operation;

storing a virtual wave slot corresponding to the second texture operation in a texture buffer; and

storing texture attributes corresponding to the second texture operation in the texture buffer.

16. A non-transitory computer-readable medium for generating graphics content, the non-transitory computer-readable medium storing a program containing instructions that, when executed by a processor of a device, cause the device to perform a method comprising:

obtaining texture operation instructions corresponding to a texture operation;

generating a virtual wave slot corresponding to the texture operation;

determining that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation;

in response to determining that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation, generating an indication that the texture operation corresponds to a deferred wave;

executing the texture operation that corresponds to the deferred wave;

sending, to a texture processor, initial texture sample instructions corresponding to the texture operation that was executed; and

receiving texture mapped data corresponding to the initial texture sample instructions;

wherein the texture mapped data corresponds to a frame of content that is output to a display.

17. The non-transitory computer-readable medium of claim 16 , the method further comprising:

subsequent to the determining that at least one of insufficient general purpose register space is available for the texture operation or insufficient wave slots are available for the texture operation, determining sufficient general purpose register space is available for the texture operation and sufficient wave slots are available for the texture operation;

converting the virtual wave slot to a wave slot;

storing texture attributes corresponding to the texture operation in the general purpose register; and

subsequent to the converting the virtual wave slot and the storing the texture attributes, the method further comprises performing post-processing on the texture mapped data using the wave slot and the texture attributes.

18. The non-transitory computer-readable medium of claim 16 , the method further comprising:

obtaining second texture operation instructions corresponding to a second texture operation;

determining that at least one of insufficient general purpose register space is available for the second texture operation or insufficient wave slots are available for the second texture operation;

determining that buffer storage space and a wave slot are needed for the second texture operation;

storing a virtual wave slot corresponding to the second texture operation in a texture buffer; and

storing texture attributes corresponding to the second texture operation in the texture buffer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2019
From: DU, YUN; GRUBER, ANDREW EVAN; YU, CHUN; ZHANG, CHIHONG; SHANG, HONGJIANG; YING, ZILIN; WEI, FEI
To: QUALCOMM INCORPORATED
Reel/Frame 049195/0813 →
Continuity (1)
Related Publication 20200312006A1 · Oct 1, 2020