xgl: Add IMAGE_LAYOUT_UNDEFINED
authorCourtney Goeltzenleuchter <courtney@LunarG.com>
Wed, 25 Mar 2015 14:49:17 +0000 (08:49 -0600)
committerChia-I Wu <olv@lunarg.com>
Thu, 16 Apr 2015 09:33:26 +0000 (17:33 +0800)
commitb37f8ae57d58fd1964c907fe9efa407467833da6
tree3ed178b2430dad29cfcd8a84939a634edc761598
parentd695c82c8c2511ee6915bd2d144492d8f5bbef5b
xgl: Add IMAGE_LAYOUT_UNDEFINED

part 1 of bug #12904:
(1) What layout are images in when they are created?

- Added new XGL_IMAGE_LAYOUT_UNINITIALIZED constant. This is the layout images are in right after creation. The application has to transition images to some useable layout before using the image. It can only be used as the source layout of a resource transition.

An image is considered to have UNDEFINED layout in the following cases:
* right after creation
* if the contents of the memory backing the image has been changed by performing an operation on another resource which (partially or fully) shares the same memory backing

The content of an image that is in UNDEFINED layout is considered undefined and unless the image is transitioned to another layout any operation on the image results in the content of the image to stay undefined.

The application can transition any image from UNDEFINED layout to another layout anytime. Right after that the content of the image still remains undefined but subsequent operations performed on the image (e.g. clear) will have well defined results.
include/xgl.h