IP Library › Patent Application 15047472
Patent Application
App. No. 15/047,472

MULTI-STEP TEXTURE PROCESSING WITH FEEDBACK IN TEXTURE UNIT

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 None
App. No.
15/047,472
Abstract

Techniques are described for using a texture unit to perform operations of a shader processor. Some operations of a shader processor are repeatedly executed until a condition is satisfied, and in each execution iteration, the shader processor accesses the texture unit. Techniques are described for the texture unit to perform such operations until the condition is satisfied.

Claims (67)

1 . A method of processing data, the method comprising:

receiving, with a texture unit, an instruction instructing the texture unit to repeatedly execute operations based on a condition defined in the instruction being satisfied;

repeatedly executing, with the texture unit, the operations based on the condition defined in the instruction being satisfied or not being satisfied; and

outputting, with the texture unit and to a graphics processing unit (GPU), data resulting from the repeated execution of the operations.

2 . The method of claim 1 , wherein receiving the instruction comprises receiving the instruction from a shader processor of the GPU, and wherein outputting comprises outputting the data to the shader processor of the GPU.

3 . The method of claim 1 , further comprising:

reading, with the texture unit, a texel value during a first iteration of the repeated execution of the operations;

determining, with the texture unit, whether the condition is satisfied or not satisfied by comparing a value based on the texel value with a variable defined in the instruction;

determining, with the texture unit, whether a second iteration of execution of the operations is needed based on the determination of whether the condition defined in the instruction is satisfied or not satisfied,

wherein repeatedly executing the operations comprises outputting, with the texture unit, an output of the texture unit as a feedback signal to an input of the texture unit based on the determination that the second iteration of execution of the operations is needed, and

wherein outputting data comprises outputting the data resulting from the repeated execution of the operations based on the determination that the second iteration of execution of the operations is not needed.

4 . The method of claim 1 , wherein repeatedly executing the operations comprises repeatedly executing the operations based on the condition defined in the instruction being satisfied or not being satisfied without receiving any additional instructions to execute the operations.

5 . The method of claim 1 , wherein the operations comprise operations of a shader program.

6 . The method of claim 1 , wherein the operations comprise operations to modify texture coordinates.

7 . The method of claim 1 , wherein the operations comprises operations for one or more of parallax occlusion mapping (POM), screen space ray tracing (SSRT), depth of field (DoF) processing, volume rendering, or water or terrain rendering with dynamic height fields.

8 . The method of claim 1 , wherein repeatedly executing the operations comprises repeatedly executing the operations until the condition is satisfied or as along as the condition is satisfied.

9 . The method of claim 1 , wherein outputting the data resulting from the repeated execution of the operations comprises outputting the data to a shader processor only after all iterations of the repeated execution of the operations are complete.

10 . A device for processing data, the device comprising:

a graphics processing unit (GPU) comprising a shader processor; and

a texture unit configured to:

receive, from the shader processor of the GPU, an instruction instructing the texture unit to repeatedly execute operations based on a condition defined in the instruction being satisfied;

repeatedly execute the operations based on the condition defined in the instruction being satisfied or not being satisfied; and

output, to the GPU, data resulting from the repeated execution of the operations.

11 . The device of claim 10 , wherein the texture unit is configured to output the data resulting from the repeated execution of the operations to the shader processor of the GPU.

12 . The device of claim 10 , wherein the texture unit comprises:

an input unit;

a read unit configured to read a texel value during a first iteration of the repeated execution of the operations; and

an output unit configured to:

determine whether the condition is satisfied or not satisfied by comparing a value based on the texel value with a variable defined in the instruction;

determine whether a second iteration of execution of the operations is needed based on the determination of whether the condition defined in the instruction is satisfied or not satisfied,

wherein to repeatedly execute the operations, the output unit is configured to output a feedback signal to the input unit of the texture unit based on the determination that the second iteration of execution of the operations is needed, and

wherein to output data, the output unit is configured to output the data resulting from the repeated execution of the operations based on the determination that the second iteration of execution of the operations is not needed.

13 . The device of claim 10 , wherein the texture unit is configured to repeatedly execute the operations based on the condition defined in the instruction being satisfied or not being satisfied without receiving any additional instructions to execute the operations.

14 . The device of claim 10 , wherein the operations comprise operations of a shader program.

15 . The device of claim 10 , wherein the operations comprise operations to modify texture coordinates.

16 . The device of claim 10 , wherein the operations comprises operations for one or more of parallax occlusion mapping (POM), screen space ray tracing (SSRT), depth of field (DoF) processing, volume rendering, or water or terrain rendering with dynamic height fields.

17 . The device of claim 10 , wherein the texture unit is configured to repeatedly execute the operations until the condition is satisfied or as along as the condition is satisfied.

18 . The device of claim 10 , wherein the texture unit is configured to output the data resulting from the repeated execution of the operations to the shader processor of the GPU only after all iterations of the repeated execution of the operations are complete.

19 . The device of claim 10 , wherein the device comprises one of:

an integrated circuit;

a microprocessor; or

a wireless communication device.

20 . The device of claim 10 , wherein the GPU comprises the texture unit.

21 . A device for processing data, the device comprising:

means for receiving an instruction instructing a texture unit to repeatedly execute operations based on a condition defined in the instruction being satisfied;

means for repeatedly executing the operations based on the condition defined in the instruction being satisfied or not being satisfied; and

means for outputting, to a graphics processing unit (GPU), data resulting from the repeated execution of the operations.

22 . The device of claim 21 , further comprising:

means for reading a texel value during a first iteration of the repeated execution of the operations;

means for determining whether the condition is satisfied or not satisfied by comparing a value based on the texel value with a variable defined in the instruction;

means for determining whether a second iteration of execution of the operations is needed based on the determination of whether the condition defined in the instruction is satisfied or not satisfied,

wherein the means for repeatedly executing the operations comprises means for outputting an output of the texture unit as a feedback signal to an input of the texture unit based on the determination that the second iteration of execution of the operations is needed, and

wherein the means for outputting data comprises means for outputting the data resulting from the repeated execution of the operations based on the determination that the second iteration of execution of the operations is not needed.

23 . The device of claim 21 , wherein the means for repeatedly executing the operations comprises means for repeatedly executing the operations based on the condition defined in the instruction being satisfied or not being satisfied without receiving any additional instructions to execute the operations.

24 . The device of claim 21 , wherein the means for outputting the data resulting from the repeated execution of the operations comprises means for outputting the data to a shader processor only after all iterations of the repeated execution of the operations are complete.

25 . A non-transitory computer-readable storage medium storing instructions that when executed cause one or more processors of a device for processing data to:

receive an instruction instructing a texture unit to repeatedly execute operations based on a condition defined in the instruction being satisfied;

repeatedly execute the operations based on the condition defined in the instruction being satisfied or not being satisfied; and

output, to a graphics processing unit (GPU), data resulting from the repeated execution of the operations.

26 . The non-transitory computer-readable storage medium of claim 25 , further comprising instructions that cause the one or more processors to:

read a texel value during a first iteration of the repeated execution of the operations;

determine whether the condition is satisfied or not satisfied by comparing a value based on the texel value with a variable defined in the instruction;

determine whether a second iteration of execution of the operations is needed based on the determination of whether the condition defined in the instruction is satisfied or not satisfied,

wherein the instructions that cause the one or more processors to repeatedly execute the operations comprise instructions that cause the one or more processors to output an output of the texture unit as a feedback signal to an input of the texture unit based on the determination that the second iteration of execution of the operations is needed, and

wherein the instructions that cause the one or more processors to output data comprise instructions that cause the one or more processors to output the data resulting from the repeated execution of the operations based on the determination that the second iteration of execution of the operations is not needed.

27 . The non-transitory computer-readable storage medium of claim 25 , wherein the instructions that cause the one or more processors to repeatedly execute the operations comprise instructions that cause the one or more processors to repeatedly execute the operations based on the condition defined in the instruction being satisfied or not being satisfied without receiving any additional instructions to execute the operations. 24.

28 . The non-transitory computer-readable storage medium of claim 25 , wherein the instructions that cause the one or more processors to output the data resulting from the repeated execution of the operations comprise instructions that cause the one or more processors to output the data to a shader processor only after all iterations of the repeated execution of the operations are complete.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2016
From: CEYLAN, USAME; GOEL, VINEET; OBERT, JURAJ; LI, LIANG
To: QUALCOMM INCORPORATED
Reel/Frame 038187/0095 →