The state necessary for texture can be divided into two categories. First, there are the two sets of mipmap arrays (one-dimensional and two-dimensional) and their number. Each array has associated with it a width and height (two-dimensional only), a border width, a 42-valued integer describing the internal format of the image, and six integer values describing the resolutions of each of the red, green, blue, alpha, luminance, and intensity components of the image. Each initial texture array is null (zero width and height, zero border width, internal format 1, with zero-sized components). Next, there are the two sets of texture properties; each consists of the selected minification and magnification filters, the wrap modes for s and t (two-dimensional only), the TEXTURE_BORDER_COLOR, and the priority associated with each set of properties. (See subsection 3.8.4.) In the initial state, the value assigned to TEXTURE_MIN_FILTER is NEAREST_MIPMAP_LINEAR, and the value for TEXTURE_MAG_FILTER is LINEAR. Both s and t wrap modes are set to REPEAT. The priority is set to 1. TEXTURE_BORDER_COLOR is (0,0,0,0).
In addition to the one-dimensional and two-dimensional sets of image arrays, partially instantiated one- and two-dimensional sets of proxy image arrays are maintained. Each proxy array includes width, height (2D arrays only), border width, and internal format state values, as well as state for the red, green, blue, alpha, luminance, and intensity component resolutions. Proxy arrays do not include image data, nor do they include texture properties. When TexImage2D is executed with target specified as PROXY_TEXTURE_2D, the two-dimensional proxy state values of the specified level-of-detail are recomputed and updated. If the texture array is too large, no error is generated, but the proxy width, height, border width, and component resolutions are set to zero. If the texture array would be accommodated by TexImage2D called with target set to TEXTURE_2D, the proxy state values are set exactly as though the actual image array were being specified. No pixel data are transferred or processed in either case.
One-dimensional proxy arrays are operated on in the same way when TexImage1D is executed with target specified as PROXY_TEXTURE_1D.