1. A method comprising: receiving, with a graphics processing unit (GPU), a plurality of image surfaces, wherein the plurality of image surfaces includes a first image surface and a second image surface, wherein the second image surface at least partially overlaps the first image surface; assigning, with at least one of a processor and the GPU, a surface identifier value to each of the plurality of image surfaces starting with a back-most image surface of the plurality of image surfaces, and continuing to a front-most image surface of the plurality of image surfaces; dividing a display into a plurality of tiles; performing, with the GPU, a binning pass on the first image surface, wherein performing the binning pass comprises: determining to which tiles the first image surface belongs; and storing, in storage locations of a layer of a tile memory that correspond to the first image surface, a surface identifier value for the first image surface, assigned by at least one of the processor and the GPU, based on the determination of the tiles to which the first image belongs; and during the binning pass of the first image surface, and prior to performing a binning pass on the second image surface: dividing, with the GPU, the first image surface into a plurality of blocks of surface pixels of the first image surface; and storing, with the GPU, the same surface identifier value for the first image surface within all storage locations, of a plurality of storage locations within a low resolution buffer, that each correspond to a block of the plurality of blocks of surface pixels of the first image surface, wherein each of the plurality of storage locations within the low resolution buffer also corresponds to a block of pixels the display.