radeon: add surface allocator helper v10
authorJerome Glisse <jglisse@redhat.com>
Sat, 10 Dec 2011 02:07:15 +0000 (21:07 -0500)
committerJerome Glisse <jglisse@redhat.com>
Wed, 1 Feb 2012 22:11:29 +0000 (17:11 -0500)
commitc51f7f0e460dcadb9f1a56ecf1615810877c33c8
tree25cfc7eba38eefb4da051ac59529b4808dec0683
parent151cdcfe685ee280a4344dfc40e6087d74a5590f
radeon: add surface allocator helper v10

The surface allocator is able to build complete miptree when allocating
surface for r600/r700/evergreen/northern islands GPU family. It also
compute bo size and alignment for render buffer, depth buffer and
scanout buffer.

v2 fix r6xx/r7xx 2D tiling width align computation
v3 add tile split support and fix 1d texture alignment
v4 rework to more properly support compressed format, split surface pixel
   size and surface element size in separate fields
v5 support texture array (still issue on r6xx)
v6 split surface value computation and mipmap tree building, rework eg
   and newer computation
v7 add a check for tile split and 2d tiled
v8 initialize mode value before testing it in all case, reenable
   2D macro tile mode on r6xx for cubemap and array. Fix cubemap
   to force array size to the number of face.
v9 fix handling of stencil buffer on evergreen
v10 on evergreen depth buffer need to have enough room for a stencil
    buffer just after depth one

Signed-off-by: Jerome Glisse <jglisse@redhat.com>
include/drm/radeon_drm.h
radeon/Makefile.am
radeon/r600_pci_ids.h [new file with mode: 0644]
radeon/radeon_surface.c [new file with mode: 0644]
radeon/radeon_surface.h [new file with mode: 0644]