1. A method of encoding an array of texture data elements to be used in a graphics processing system, the method comprising: encoding the array of texture data elements as a plurality of encoded texture data blocks, each encoded texture data block representing a sub-set of the texture data elements of the array of texture data elements to be encoded and containing data to allow decoded data values for the sub-set of the texture data elements that the block represents to be determined; and wherein: at least two of the encoded texture data blocks represent respective non-rectangular sub-sets of texture data elements from the array of texture data elements to be encoded, the non-rectangular sub-sets of texture data elements are in the form of rectangles, the edges of which have been modified so that they are not straight lines and so that they interlock with the edges of adjacent non-rectangular sub-sets of texture data elements in the array of texture data elements.