intel: use buffer type memory for linear formats
authorCourtney Goeltzenleuchter <courtney@LunarG.com>
Wed, 25 Feb 2015 20:54:22 +0000 (13:54 -0700)
committerCourtney Goeltzenleuchter <courtney@LunarG.com>
Thu, 26 Feb 2015 00:15:47 +0000 (17:15 -0700)
To behave in a similar fashion to other IHVs we need
to return XGL_MEMORY_TYPE_BUFFER for images that
use format_class of LINEAR and XGL_MEMORY_TYPE_IMAGE for
all other format classes.

icd/intel/img.c

index 722d254..4b6a1bd 100644 (file)
@@ -64,7 +64,11 @@ static XGL_RESULT img_get_info(struct intel_base *base, int type,
                 return ret;
             mem_req->size = img->total_size;
             mem_req->alignment = 4096;
-            mem_req->memType = XGL_MEMORY_TYPE_BUFFER;
+            if (img->format_class == XGL_IMAGE_FORMAT_CLASS_LINEAR) {
+                mem_req->memType = XGL_MEMORY_TYPE_BUFFER;
+            } else {
+                mem_req->memType = XGL_MEMORY_TYPE_IMAGE;
+            }
         }
         break;
     case XGL_INFO_TYPE_IMAGE_MEMORY_REQUIREMENTS: