IP Library Patent Application 12476152
Patent Application
App. No. 12/476,152

Unified Shader Engine Filtering System

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.
12/476,152
Abstract

Each row of a row based shader engine comprises a shader pipe array, a texture filter, and a level one texture cache system. The shader pipe array accepts texture requests for a specified pixel from a resource and performs associated rendering calculations, outputting texel data. The texture mapping unit receives texel data from a level one cache system and through formatting and bilinear filtering interpolations, generates a formatted bilinear result based on a specific pixel's corresponding four texels. Utilizing multiple rows of a row based shader engine within the shader engine allows for the parallel processing of multiple simultaneous resource requests. A method for texture filtering utilizing a row based shader engine is also presented.

Claims (94)

1 . A unified shader engine filtering system, comprising:

two or more engine rows, each engine row comprising:

a shader pipe array configured to accept texture instructions and generate output data;

a level one texture cache system configured to store the texture output data; and

a texture mapping unit configured to receive texture output data from the level one texture cache system and generate formatted interpolation data.

2 . A system according to claim 1 , wherein the shader pipe array is configured to accept ALU, load/store, and output instructions

3 . A system according to claim 1 , wherein each engine row further comprises a redundant shader pipe array that processes shader pipe data destined to a defective shader pipe.

4 . A system according to claim 1 , wherein the shader pipe array comprises one or more shader pipe blocks.

5 . A system according to claim 4 , wherein a shader pipe block comprises one or more shader pipes.

6 . A system according to claim 1 , wherein the level one texture cache system is configured to read and write to a level two cache system.

7 . A system according to claim 1 , wherein the texture mapping unit comprises:

a pre-formatter module configured to accept texel data and generate normalized fixed point texel data;

a interpolator module configured to perform an interpolation on the normalized fixed point texel data from the pre-formatter module and generate re-normalized floating point texel data;

an accumulator module configured to accumulate floating point texel data from the interpolator module; and

a format module configured to convert texel data from the accumulator module into a standard floating point representation.

8 . A system according to claim 7 , wherein the interpolator module is configured to perform one or more interpolations in order to achieve at least one of:

a bilinear texture filtering;

a trilinear texture filtering; and

an anisotropic texture filtering.

9 . A method for unified shader complex filtering, comprising:

receiving a set of texture requests from a plurality of resources for a specified set of pixels, vertices, primitives, surfaces, or compute work items;

generating a data set of addresses based on a shader program instruction for the specified set of pixels, vertices, primitives, surfaces, or compute work items;

retrieving stored texel data from a level one cache system; and

calculating a formatted accumulated interpolation based on the retrieved texel data and an originating shader instruction.

10 . A method according to claim 9 , further comprising:

processing shader pipe data destined to one or more defective shader pipes.

11 . A method according to claim 9 , further comprising:

reading and writing to and from a level two cache system from the level one texture cache system.

12 . A method according to claim 9 , wherein the texture mapping unit further comprises:

receiving floating point texel data;

generating normalized fixed point texel data from the floating point texel data;

performing an interpolation on the normalized fixed point texel data;

generating re-normalized floating point texel data;

accumulating re-normalized texel data; and

formatting the accumulated re-normalized texel data into a standard floating point representation.

13 . A method according to claim 12 , wherein interpolation further comprises:

bilinear texture filtering;

trilinear texture filtering; and

an anisotropic texture filtering.

14 . A method according to claim 9 , wherein the method is performed by synthesizing hardware description language instructions.

15 . A system for unified shader engine filtering, comprising:

a processor-based computing system; and

a memory in communication with said processor, said memory for storing a plurality of processing instructions for directing said computing system to:

receive set of texture requests from a plurality of resources in parallel for a plurality of sets of specified pixels, vertices, primitives, surfaces, or compute work items;

generate a data set of output texel data for each specified pixel based on rendering calculations;

retrieve stored texel data from a level one cache system; and

calculate a formatted interpolation for each set of texel data in parallel utilizing a texture mapping unit.

16 . A system according to claim 15 , further comprising instructions for directing said computing system to:

process shader pipe data destined to one or more defective shader pipes.

17 . A system according to claim 15 , further comprising instructions for directing said computing system to:

read and write to a level two cache system from the level one texture cache system.

18 . A system according to claim 15 , further comprising instructions for directing said computing system to:

receive floating point texel data;

generate normalized fixed point texel data from the floating point texel data;

perform an interpolation on the normalized fixed point texel data;

generate re-normalized floating point texel data;

accumulate re-normalized texel data; and

format the accumulated re-normalized texel data into a standard floating point representation.

19 . A system according to claim 15 , further comprising instructions for directing said computing system to:

filter with a bilinear texture filter;

filter with a trilinear texture filter; and

filter with an anisotropic texture filter.

20 . A system for unified shader engine filtering, comprising:

means for receiving texture requests from a plurality of resources in parallel for a plurality of specified pixels;

means for generating a set of output texel data for each specified pixel based on rendering calculations;

means for retrieving texel data from a level one cache system; and

means for calculating, based on the texel date, a formatted interpolation utilizing a mapping unit.

21 . A system according to claim 20 , further comprising:

means for processing shader pipe data destined to one or more defective shader pipes.

22 . A system according to claim 20 , further comprising:

means for reading and writing to and from a level two cache system from the level one texture cache system.

23 . A system according to claim 20 , further comprising:

means for receiving floating point texel data;

means for generating normalized fixed point texel data from the floating point texel data;

means for performing an interpolation on the normalized fixed point texel data;

means for generating re-normalized floating point texel data;

means for accumulating re-normalized texel data; and

means for formatting the accumulated re-normalized texel data into a standard floating point representation.

24 . A system according to claim 20 , further comprising:

means for filtering a bilinear texture filter;

means for filtering a trilinear texture filter; and

means for filtering an anisotropic texture filter.

25 . A computer readable medium carrying one or more sequences of one or more instructions for execution by one or more processor-based computing systems which when executed cause the one or more processor-based computing systems to perform a method for unified shader engine filtering, comprising:

receiving texture requests from a plurality of resources in parallel for a plurality of specified pixels, vertices, primitives, surfaces, or compute work items;

generating a data set of addresses based on a shader program instruction for the specified set of pixels, vertices, primitives, surfaces, or compute work items;

retrieving a stored texel data from a level one cache system; and

calculating a formatted interpolation based on the retrieved texel data and originating shader instruction.

26 . The computer readable medium according to 25 , wherein the method for unified shader engine filtering further comprises:

receiving floating point texel data;

generating normalized fixed point texel data from the floating point texel data;

performing an interpolation on the normalized fixed point texel data;

generating re-normalized floating point texel data;

accumulating re-normalized texel data; and

formatting the accumulated re-normalized texel data into a standard floating point representation.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2024
From: ADVANCED MICRO DEVICES, INC.
To: ONESTA IP, LLC
Reel/Frame 069381/0951 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2009
From: DELAURIER, ANTHONY P.; LEATHER, MARK; HARTOG, ROBERT S.; MANTOR, MICHAEL J.; BRADY, JEFFREY T.; FOWLER, MARK C.; ZINI, MARCOS P.
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 023190/0110 →