IP Library Granted Patent US 8,098,257
Granted Patent B2
US 8,098,257 · App. 12/032,591 · Granted Jan 17, 2012

Filtering unit for floating-point texture data

Assignee: NVIDIA Corporation
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 8,098,257
App. No.
12/032,591
Granted
Jan 17, 2012
Kind
B2
Abstract

Floating-point texture filtering units leverage existing fixed-point filter circuits. Groups of floating-point texture values are converted to products of a fixed-point mantissa and a scaling factor that is the same for each texture value in the group. The fixed-point mantissas are filtered using a fixed-point filter circuit, and the filtered mantissa is combined with the scaling factor to determine a floating-point filtered value. Multiple floating-point filter results may be combined in a floating-point accumulator circuit. The same fixed-point filter circuit may also be used to filter fixed-point texture data by providing fixed-point input path that bypasses the format conversion and a fixed-point accumulator.

Claims (20)

1. A graphics processor having a shader module for computing a fragment color, the shader module comprising:

a texture fetch unit configured to fetch a plurality of texture values corresponding to a fragment and to determine whether the fetched texture values are in a fixed-point format or a floating-point format; and

a texture filter unit coupled to receive the fetched texture values from the texture fetch circuit and configured to apply a filter to the fetched texture values, thereby generating a filter result, the texture filter unit being operable in:

a fixed-point mode, in which the texture filter unit applies the filter to the fetched texture values to produce a result in the fixed-point format; and

a floating-point mode, in which the texture filter unit applies the filter to the fetched texture values to produce a result in the floating-point format,

wherein the texture filter unit is further configured to operate in the fixed-point mode in the event that the fetched texture values are in the fixed-point format and to operate in the floating-point mode in the event that the fetched texture values are in the floating-point format.

2. The graphics processor of claim 1 wherein the texture filter unit includes a filtering circuit to perform a filtering operation on the fetched texture values and wherein the filtering circuit is used in both the fixed-point mode and the floating-point mode.

3. The graphics processor of claim 2 wherein the filtering operation is a bilinear filtering operation.

4. The graphics processor of claim 1 wherein the texture filter unit includes:

a filtering circuit to operate on fixed-point values; and

a prescaling circuit to convert each one of a group of floating-point input values to a product of a fixed-point mantissa and a scaling factor, wherein the scaling factor is the same for each one of the group of floating-point input values, and wherein the prescaling circuit is further configured to provide the fixed-point mantissas to the filtering circuit when the texture filter unit is operated in the floating-point mode.

5. The graphics processor of claim 1 wherein the texture fetch unit is further configured to determine a set of texture coordinates corresponding to the fragment and to fetch the plurality of texture values associated with the texture coordinates from a texture map stored in a memory.

6. The graphics processor of claim 5 wherein the texture fetch unit is further configured to determine whether the fetched texture values are in the fixed-point format or the floating-point format based on a format flag associated with the texture map.

7. The graphics processor of claim 5 wherein the texture fetch unit is further configured to determine whether the fetched texture values are in the fixed-point format or the floating-point format based on a memory address of the texture map.

8. A graphics processor having a shader module for computing a fragment color, the shader module comprising:

a texture fetch unit configured to fetch a plurality of texture values corresponding to a fragment, to determine whether the fetched texture values are in a fixed-point format or a floating-point format, and to generate a control signal indicating whether the fetched texture values are in the fixed-point format or the floating-point format; and

a texture filter unit coupled to receive the fetched texture values and the control signal from the texture fetch unit, the texture filter unit including filter circuitry to apply a filter to the fetched texture values, thereby generating a filter result, the filter circuitry being operable in:

a fixed-point mode, in which the filter circuitry applies the filter to the fetched texture values to produce the filter result in the fixed-point format; and

a floating-point mode, in which the filter circuitry applies the filter to the fetched texture values to produce the filter result in the floating-point format,

wherein the texture filter unit is further configured to operate the filter circuitry in the fixed-point mode in the event that the control signal indicates that the fetched texture values are in the fixed-point format and to operate the filter circuitry in the floating-point mode in the event that the control signal indicates that the fetched texture values are in the floating-point format.

Continuity (2)
Continuation 10912419 · Aug 4, 2004
Related Publication 20080211827A1 · Sep 4, 2008