# US 5,706,481 A · Apparatus and method for integrating texture memory and interpolation logic in a computer system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,706,481 A
- Document ID: US5706481A
- Status: Granted
- Kind: A
- Application number: 08/650,117
- Filed: 1996-05-22
- Granted: 1998-01-06
- Earliest claimed: 1994-03-07
- Assignees: Silicon Graphics, Inc.
- Inventors: Marc R. Hannah; Michael B. Nagy
- Web page: https://patentgrep.com/patent/US5706481A

## CPC

- G06T 15/04: Texture mapping
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- G06T 15/005: {General purpose rendering architectures}
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

In a computer graphics system, a semiconductor chip used in performing texture mapping. Textures are input to the semiconductor chip. These textures are stored in a main memory. Cache memory is used to accelerate the reading and writing of texels. A memory controller controls the data transfers between the main memory and the cache memory. Also included within the same semiconductor chip is an interpolator. The interpolator produces an output texel by interpolating from textures stored in memory. The interpolated texel value is output by the semiconductor chip, thereby minimizing transmission bandwidth as well as redundant storage of texture maps in a multi-processor environment.

## Claims

### Claim 1

A computer system having semiconductor chip for performing texture mapping, said semiconductor chip comprising:
an input configured to input texture mappings to said semiconductor chip;
a cache memory coupled to said input, said cache memory configured to store texture mapping data;
an interpolator coupled to said cache memory for producing an output rendered pixel by interpolating from a texture mapping stored in said cache memory; and
an output coupled to said interpolator for outputting said output rendered pixel, wherein said input, said cache memory, and said interpolator reside on a single substrate device.

### Claim 2 (depends on 1)

The computer system of claim 1, further including a main memory, coupled to said interpolator, said main memory is external to said semiconductor chip and is configured to store texture mappings; and
a memory controller coupled to said cache memory and said main memory, said memory controller configured to perform memory access cycles to said main memory in parallel with read cycles to said cache memory.

### Claim 3 (depends on 2)

The computer system of claim 2, wherein said main memory and said cache memory are divided into at least two independently addressable banks to decouple loading and resampling operations.

### Claim 4 (depends on 3)

The computer system of claim 3, wherein said semiconductor chip includes a fault predicting device residing on said substrate, said fault predicting device configured to predict faults by determining data that will be required and fetching said data before said data is required.

### Claim 5 (depends on 4)

The computer system of claim 4, wherein the interpolator includes of a plurality of modular slices configured to be stacked to generate interpolations for different data widths.

### Claim 6 (depends on 5)

The computer system of claim 5, wherein said interpolator is configured to perform a nearest neighbor selection of a texture mapping to produce said output rendered pixel.

### Claim 7 (depends on 6)

The computer system of claim 6, wherein said interpolator is configured to perform a bi-linear interpolation of a texture mapping to produce said output rendered pixel.

### Claim 8 (depends on 9)

The computer system of claim 9, wherein said semiconductor chip further includes a filter device coupled to said input, said filter device configured to filter a texture mapping prior to storing said texture mapping in said cache memory.

### Claim 9 (depends on 8)

The computer system of claim 8, wherein said filter device is comprised of a 2.times.2 box filter.

### Claim 10

A method for performing texture mapping, said method comprising the steps of:
storing texture mapping data on a cache memory residing on a semiconductor chip;
producing an output rendered pixel via an interpolator interpolating from a texture mapping stored in said cache memory, said interpolator residing on said semiconductor chip; and
outputting said output rendered pixel from said semiconductor chip.

### Claim 11 (depends on 10)

The method of claim 10, further including the step of performing memory access cycles to a main memory, external to said semiconductor chip, in parallel with read cycles to said cache memory.

### Claim 12 (depends on 11)

The method of claim 11, further including the step of dividing said main memory and said cache memory into at least two independently addressable banks to decouple loading and resampling operations.

### Claim 13 (depends on 12)

The method of claim 12, further including the step of predicting faults via a first device residing on said semiconductor chip, wherein said faults are predicted by determining data that will be required and fetching said data before said data is required.

### Claim 14 (depends on 13)

The method of claim 13, wherein the interpolator includes a plurality of modular slices configured to be stacked to generate interpolations for different data widths.

### Claim 15 (depends on 14)

The method of claim 14, further including the step of said interpolator performing a nearest neighbor selection of a texture mapping to produce said output rendered pixel.

### Claim 16 (depends on 15)

The method of claim 15, further including the step of said interpolator performing a bi-linear interpolation of a texture mapping to produce said output rendered pixel.

### Claim 17 (depends on 16)

The method of claim 16, further including the step of filtering a texture mapping prior to storing said texture mapping in said cache memory.

### Claim 18 (depends on 17)

The method of claim 17, wherein said filtering is performed utilizing a 2.times.2 box filter.
