Block linear memory ordering of texture data
First Claim
1. A computer-readable medium storing a plurality of instructions which when executed cause a computing device to implement a method comprising:
- organizing a memory space into a plurality of whole number of blocks and each block into a whole number of gobs, wherein a dimension of each block is a variable number of said gobs but constant for a given mipmap level, a dimension of each gob is a fixed number of bytes, and a plurality of gobs are a fixed size of a page of said memory space, and wherein each block is arranged in a given order of gobs and each gob is arranged in a given order of bytes;
storing said mipmap level of a texture map into said organized memory space; and
converting a texel coordinate of said mipmap level into a byte address of said organized memory space.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of organizing memory for storage of texture data, in accordance with one embodiment of the invention, includes accessing a size of a mipmap level of a texture map. A block dimension may be determined based on the size of the mipmap level. A memory space (e.g., computer-readable medium) may be logically divided into a plurality of whole number of blocks of variable dimension. The dimension of the blocks is measured in units of gobs and each gob is of a fixed dimension of bytes. A mipmap level of a texture map may be stored in the memory space. A texel coordinate of said mipmap level may be converted into a byte address of the memory space by determining a gob address of a gob in which the texel coordinate resides and determining a byte address within the particular gob.
-
Citations
17 Claims
-
1. A computer-readable medium storing a plurality of instructions which when executed cause a computing device to implement a method comprising:
-
organizing a memory space into a plurality of whole number of blocks and each block into a whole number of gobs, wherein a dimension of each block is a variable number of said gobs but constant for a given mipmap level, a dimension of each gob is a fixed number of bytes, and a plurality of gobs are a fixed size of a page of said memory space, and wherein each block is arranged in a given order of gobs and each gob is arranged in a given order of bytes; storing said mipmap level of a texture map into said organized memory space; and converting a texel coordinate of said mipmap level into a byte address of said organized memory space. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium storing a plurality of instructions which when executed cause a computing device to implement a method comprising:
-
accessing a size of a given mipmap level of a texture mipmap; automatically determining a block dimension in gobs on the fly as a function of a dimension of said given mipmap level, a gob dimension in texels and a base block dimension in gobs of a base mipmap level; organizing a memory space into a plurality of whole number of blocks of variable dimension, wherein said block dimension is measured in units of gobs arranged in a given order in each block and wherein each gob is of a fixed dimension of bytes and provides a level of organization of said memory space for storing texels in addition to said blocks; and storing said given mipmap level into said memory space. - View Dependent Claims (11, 12)
-
-
13. A computing device comprising:
-
a computer-readable medium, for storing texture data, wherein said computer-readable medium is logically divided into a first level of organization of a plurality of whole number of blocks, wherein each block is divided into a second level of organization of a plurality of whole number of gobs of texels of a same size, wherein a dimension in gobs of said plurality of blocks are dynamically adjusted as a function of a dimension of a miplevel of a mipmap, a partition size of said computer-readable medium and a configuration of said computer-readable medium comprising computing a block dimension in gobs for a given miplevel as a function of a dimension of said given miplevel, a gob dimension in texels and a base block dimension in gobs of a base miplevel, and wherein texels are arranged in a given order in each gob and gobs are arranged in a given order in each block; and a processor, communicatively coupled to said computer-readable medium, for determining a color utilizing said texture data and a depth value for each pixel of a display and for mapping a coordinate of a texel to a byte address in said computer-readable medium by computing a gob offset value. - View Dependent Claims (14, 15, 16, 17)
-
Specification