XGL: Move to svn r28460.
diff --git a/icd/common/icd-format.h b/icd/common/icd-format.h
index 963eb61..1292577 100644
--- a/icd/common/icd-format.h
+++ b/icd/common/icd-format.h
@@ -99,7 +99,7 @@
 
 size_t icd_format_get_size(XGL_FORMAT format);
 
-XGL_UINT icd_format_get_channel_count(XGL_FORMAT format);
+unsigned int icd_format_get_channel_count(XGL_FORMAT format);
 
 void icd_format_get_raw_value(XGL_FORMAT format,
                               const XGL_UINT32 color[4],
diff --git a/icd/intel/state.c b/icd/intel/state.c
index 232c70b..c022e26 100644
--- a/icd/intel/state.c
+++ b/icd/intel/state.c
@@ -112,7 +112,7 @@
                   const XGL_RASTER_STATE_CREATE_INFO *info)
 {
     switch (info->fillMode) {
-    case XFL_FILL_POINTS:
+    case XGL_FILL_POINTS:
         state->cmd_sf_fill |= GEN7_SF_DW1_FRONTFACE_POINT |
                               GEN7_SF_DW1_BACKFACE_POINT;
         break;
diff --git a/include/xgl.h b/include/xgl.h
index d48a0f5..12cd4b8 100644
--- a/include/xgl.h
+++ b/include/xgl.h
@@ -48,44 +48,20 @@
 #ifndef __XGL_H__
 #define __XGL_H__
 
-#include <stddef.h>
-#include <stdint.h>
-
 #define XGL_MAKE_VERSION(major, minor, patch) \
     ((major << 22) | (minor << 12) | patch)
 
+#include "xglPlatform.h"
+
 // XGL API version supported by this file
 #define XGL_API_VERSION XGL_MAKE_VERSION(0, 22, 1)
 
-#ifndef XGLAPI
-   #define XGLAPI
-#endif
-
 #ifdef __cplusplus
 extern "C"
 {
 #endif // __cplusplus
 
 /*
- * Datatypes
- */
-typedef uint32_t        XGL_BOOL;
-typedef void            XGL_VOID;
-typedef char            XGL_CHAR;       /* 1-byte signed */
-typedef int32_t         XGL_INT;        /* 4-byte signed */
-typedef int32_t         XGL_INT32;      /* 4-byte signed */
-typedef uint32_t        XGL_UINT;       /* 4-byte unsigned */
-typedef uint32_t        XGL_UINT32;     /* 4-byte unsigned */
-typedef uint64_t        XGL_UINT64;     /* 8-byte unsigned */
-typedef size_t          XGL_SIZE;       /* 4-byte unsigned */
-typedef uint64_t        XGL_GPU_SIZE;   /* 4-byte unsigned */
-typedef uint32_t        XGL_FLAGS;      /* 4-byte unsigned */
-typedef uint32_t        XGL_SAMPLE_MASK; /* 4-byte unsigned */
-typedef uint8_t         XGL_UINT8;      /* 1-byte unsigned */
-typedef float           XGL_FLOAT;      /* single precision float */
-typedef double          XGL_DOUBLE;       /* double precision float in [0,1] */
-
-/*
 ***************************************************************************************************
 *   Core XGL API
 ***************************************************************************************************
@@ -441,12 +417,12 @@
 
 typedef enum _XGL_FILL_MODE
 {
-    XFL_FILL_POINTS                                         = 0x00000000,
+    XGL_FILL_POINTS                                         = 0x00000000,
     XGL_FILL_WIREFRAME                                      = 0x00000001,
     XGL_FILL_SOLID                                          = 0x00000002,
 
-    XGL_FILL_MODE_BEGIN_RANGE                               = XGL_FILL_SOLID,
-    XGL_FILL_MODE_END_RANGE                                 = XFL_FILL_POINTS,
+    XGL_FILL_MODE_BEGIN_RANGE                               = XGL_FILL_POINTS,
+    XGL_FILL_MODE_END_RANGE                                 = XGL_FILL_SOLID,
     XGL_NUM_FILL_MODE                                       = (XGL_FILL_MODE_END_RANGE - XGL_FILL_MODE_BEGIN_RANGE + 1),
     XGL_MAX_ENUM(_XGL_FILL_MODE)
 } XGL_FILL_MODE;
@@ -2507,7 +2483,7 @@
 #endif /* XGL_PROTOTYPES */
 
 #ifdef __cplusplus
-} // extern "C"
+}; // extern "C"
 #endif // __cplusplus
 
 #endif // __XGL_H__
diff --git a/include/xglPlatform.h b/include/xglPlatform.h
new file mode 100644
index 0000000..3ec3f9f
--- /dev/null
+++ b/include/xglPlatform.h
@@ -0,0 +1,113 @@
+//
+// File: xglPlatform.h
+//
+// Copyright 2014 ADVANCED MICRO DEVICES, INC.  All Rights Reserved.
+//
+// AMD is granting you permission to use this software for reference
+// purposes only and not for use in any software product.
+//
+// You agree that you will not reverse engineer or decompile the Materials,
+// in whole or in part, except as allowed by applicable law.
+//
+// WARRANTY DISCLAIMER: THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF
+// ANY KIND.  AMD DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED, OR STATUTORY,
+// INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE, TITLE, NON-INFRINGEMENT, THAT THE SOFTWARE
+// WILL RUN UNINTERRUPTED OR ERROR-FREE OR WARRANTIES ARISING FROM CUSTOM OF
+// TRADE OR COURSE OF USAGE.  THE ENTIRE RISK ASSOCIATED WITH THE USE OF THE
+// SOFTWARE IS ASSUMED BY YOU.
+// Some jurisdictions do not allow the exclusion of implied warranties, so
+// the above exclusion may not apply to You.
+//
+// LIMITATION OF LIABILITY AND INDEMNIFICATION:  AMD AND ITS LICENSORS WILL
+// NOT, UNDER ANY CIRCUMSTANCES BE LIABLE TO YOU FOR ANY PUNITIVE, DIRECT,
+// INCIDENTAL, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING FROM USE OF
+// THE SOFTWARE OR THIS AGREEMENT EVEN IF AMD AND ITS LICENSORS HAVE BEEN
+// ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+// In no event shall AMD's total liability to You for all damages, losses,
+// and causes of action (whether in contract, tort (including negligence) or
+// otherwise) exceed the amount of $100 USD.  You agree to defend, indemnify
+// and hold harmless AMD and its licensors, and any of their directors,
+// officers, employees, affiliates or agents from and against any and all
+// loss, damage, liability and other expenses (including reasonable attorneys'
+// fees), resulting from Your use of the Software or violation of the terms and
+// conditions of this Agreement.
+//
+// U.S. GOVERNMENT RESTRICTED RIGHTS: The Materials are provided with "RESTRICTED
+// RIGHTS." Use, duplication, or disclosure by the Government is subject to the
+// restrictions as set forth in FAR 52.227-14 and DFAR252.227-7013, et seq., or
+// its successor.  Use of the Materials by the Government constitutes
+// acknowledgement of AMD's proprietary rights in them.
+//
+// EXPORT RESTRICTIONS: The Materials may be subject to export restrictions as
+// stated in the Software License Agreement.
+//
+
+
+#ifndef __XGLPLATFORM_H__
+#define __XGLPLATFORM_H__
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif // __cplusplus
+
+/*
+***************************************************************************************************
+*   Platform-specific directives and type declarations
+***************************************************************************************************
+*/
+
+#if defined(_WIN32)
+    // On Windows, XGLAPI should equate to the __stdcall convention
+    #define XGLAPI   __stdcall
+#elif defined(__GNUC__)
+    // On other platforms using GCC, XGLAPI stays undefined
+    #define XGLAPI
+#else
+    // Unsupported Platform!
+    #error "Unsupported OS Platform detected!"
+#endif
+
+#if defined(__GNUC__)
+    #include <stddef.h>
+    #include <stdint.h>
+#endif
+
+#if defined(_WIN32)
+    // Windows platform
+    typedef unsigned __int8  XGL_UINT8;
+    typedef signed   __int32 XGL_INT32;
+    typedef unsigned __int32 XGL_UINT32;
+    typedef signed   __int64 XGL_INT64;
+    typedef unsigned __int64 XGL_UINT64;
+#elif defined(__GNUC__)
+    // Other platforms
+    typedef uint8_t          XGL_UINT8;
+    typedef int32_t          XGL_INT32;
+    typedef uint32_t         XGL_UINT32;
+    typedef int64_t          XGL_INT64;
+    typedef uint64_t         XGL_UINT64;
+#endif
+
+typedef size_t     XGL_SIZE;
+typedef XGL_UINT64 XGL_GPU_SIZE;
+typedef XGL_UINT8  XGL_BYTE;
+typedef XGL_INT32  XGL_INT;
+typedef XGL_UINT32 XGL_UINT;
+typedef char       XGL_CHAR;
+typedef float      XGL_FLOAT;
+typedef double     XGL_DOUBLE;
+typedef XGL_UINT32 XGL_BOOL;
+typedef void       XGL_VOID;
+
+typedef XGL_UINT32 XGL_SAMPLE_MASK;
+typedef XGL_UINT32 XGL_FLAGS;
+typedef XGL_INT32  XGL_ENUM;
+// typedef XGL_INT32  XGL_RESULT; // TODO: Resolve 13314.
+
+#ifdef __cplusplus
+}; // extern "C"
+#endif // __cplusplus
+
+#endif // __XGLPLATFORM_H__