intel: Shader must be multiple of 64bytes in size
diff --git a/icd/intel/shader.c b/icd/intel/shader.c
index a86e6c5..56ffd9a 100644
--- a/icd/intel/shader.c
+++ b/icd/intel/shader.c
@@ -69,13 +69,18 @@
 
         shader->dev = dev;
 
+        /*
+         * shaders have to be aligned to 64byte boundaries for both starting
+         * offset (done when copying to a BO) and size.
+         */
+        shader->codeSize = u_align(pCreateInfo->codeSize, 64);
+
         shader->pCode = icd_alloc(pCreateInfo->codeSize, 4, XGL_SYSTEM_ALLOC_INTERNAL_SHADER);
         if (shader->pCode == NULL) {
             intel_base_destroy(&shader->obj.base);
             return XGL_ERROR_OUT_OF_MEMORY;
         }
-        /* shaders have to be aligned to 64byte boundaries */
-        shader->codeSize = u_align(pCreateInfo->codeSize, 64);
+
         shader->obj.destroy = shader_destroy;
 
         // TODO: Shader pre-processing