1. A method of operating a tile-based graphics processing pipeline that comprises: a plurality of processing stages, including at least a rasteriser that rasterises input primitives to generate graphics fragments to be processed, each graphics fragment having one or more sampling points associated with it, and a renderer that processes fragments generated by the rasteriser to generate rendered fragment data; a tile buffer configured to store rendered fragment data locally to the graphics processing pipeline prior to that data being written out to an external memory; a write out stage configured to write data stored in the tile buffer to an external memory; and a programmable processing stage operable to, in response to one or more graphics program instructions, read data stored in the tile buffer, perform a processing operation using the read data, and write the result of the processing operation into the tile buffer or to an external memory; the method comprising: rendering plural render targets containing data to be used in a deferred shading operation and storing the plural render targets as distinct render targets in the tile buffer; using the programmable processing stage to read data from two or more of the stored plural render targets in the tile buffer, perform a deferred shading processing operation using the read data, and to write the result of the processing operation to an output render target in the tile buffer, or to external memory.