xgl: Remove mantle headers
authorCourtney Goeltzenleuchter <courtney@LunarG.com>
Thu, 11 Sep 2014 18:51:27 +0000 (12:51 -0600)
committerCourtney Goeltzenleuchter <courtney@LunarG.com>
Thu, 11 Sep 2014 18:52:22 +0000 (12:52 -0600)
include/mantle.h [deleted file]
include/mantleDbg.h [deleted file]
include/mantlePlatform.h [deleted file]
include/mantleWsiWinExt.h [deleted file]
include/mantleWsiWinExtDbg.h [deleted file]

diff --git a/include/mantle.h b/include/mantle.h
deleted file mode 100644 (file)
index 3f20dba..0000000
+++ /dev/null
@@ -1,2033 +0,0 @@
-//
-// File: mantle.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 __MANTLE_H__
-#define __MANTLE_H__
-
-#define GR_MAKE_VERSION(major, minor, patch) \
-    ((major << 22) | (minor << 12) | patch)
-
-#include "mantlePlatform.h"
-
-// Mantle API version supported by this file
-#define GR_API_VERSION GR_MAKE_VERSION(0, 21, 0)
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif // __cplusplus
-
-/*
-***************************************************************************************************
-*   Core Mantle API
-***************************************************************************************************
-*/
-
-#ifdef __cplusplus
-    #define GR_DEFINE_HANDLE(_obj) struct _obj##_T {}; typedef _obj##_T* _obj;
-    #define GR_DEFINE_SUBCLASS_HANDLE(_obj, _base) struct _obj##_T : public _base##_T {}; typedef _obj##_T* _obj;
-#else // __cplusplus
-    #define GR_DEFINE_HANDLE(_obj) typedef void* _obj;
-    #define GR_DEFINE_SUBCLASS_HANDLE(_obj, _base) typedef void* _obj;
-#endif // __cplusplus
-
-GR_DEFINE_HANDLE(GR_PHYSICAL_GPU)
-GR_DEFINE_HANDLE(GR_BASE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_DEVICE, GR_BASE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_QUEUE, GR_BASE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_GPU_MEMORY, GR_BASE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_OBJECT, GR_BASE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_IMAGE, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_IMAGE_VIEW, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_COLOR_TARGET_VIEW, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_DEPTH_STENCIL_VIEW, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_SHADER, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_PIPELINE, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_SAMPLER, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_DESCRIPTOR_SET, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_STATE_OBJECT, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_VIEWPORT_STATE_OBJECT, GR_STATE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_RASTER_STATE_OBJECT, GR_STATE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_MSAA_STATE_OBJECT, GR_STATE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_COLOR_BLEND_STATE_OBJECT, GR_STATE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_DEPTH_STENCIL_STATE_OBJECT, GR_STATE_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_CMD_BUFFER, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_FENCE, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_QUEUE_SEMAPHORE, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_EVENT, GR_OBJECT)
-GR_DEFINE_SUBCLASS_HANDLE(GR_QUERY_POOL, GR_OBJECT)
-
-#define GR_MAX_PHYSICAL_GPUS     16
-#define GR_MAX_PHYSICAL_GPU_NAME 256
-#define GR_MAX_MEMORY_HEAPS      8
-#define GR_MAX_DESCRIPTOR_SETS   2
-#define GR_MAX_VIEWPORTS         16
-#define GR_MAX_COLOR_TARGETS     8
-
-#define GR_LOD_CLAMP_NONE       MAX_FLOAT
-#define GR_LAST_MIP_OR_SLICE    0xffffffff
-
-#define GR_TRUE  1
-#define GR_FALSE 0
-
-#define GR_NULL_HANDLE 0
-
-// ------------------------------------------------------------------------------------------------
-// GR_ENUM values
-
-typedef enum _GR_QUEUE_TYPE
-{
-    GR_QUEUE_UNIVERSAL      = 0x1000,
-    GR_QUEUE_COMPUTE_ONLY   = 0x1001,
-
-    GR_QUEUE_TYPE_BEGIN_RANGE = GR_QUEUE_UNIVERSAL,
-    GR_QUEUE_TYPE_END_RANGE   = GR_QUEUE_COMPUTE_ONLY,
-    GR_NUM_QUEUE_TYPE         = (GR_QUEUE_TYPE_END_RANGE - GR_QUEUE_TYPE_BEGIN_RANGE + 1),
-} GR_QUEUE_TYPE;
-
-typedef enum _GR_MEMORY_PRIORITY
-{
-    GR_MEMORY_PRIORITY_NORMAL    = 0x1100,
-    GR_MEMORY_PRIORITY_HIGH      = 0x1101,
-    GR_MEMORY_PRIORITY_LOW       = 0x1102,
-    GR_MEMORY_PRIORITY_UNUSED    = 0x1103,
-    GR_MEMORY_PRIORITY_VERY_HIGH = 0x1104,
-    GR_MEMORY_PRIORITY_VERY_LOW  = 0x1105,
-
-    GR_MEMORY_PRIORITY_BEGIN_RANGE = GR_MEMORY_PRIORITY_NORMAL,
-    GR_MEMORY_PRIORITY_END_RANGE   = GR_MEMORY_PRIORITY_VERY_LOW,
-    GR_NUM_MEMORY_PRIORITY         = (GR_MEMORY_PRIORITY_END_RANGE - GR_MEMORY_PRIORITY_BEGIN_RANGE + 1),
-} GR_MEMORY_PRIORITY;
-
-typedef enum _GR_MEMORY_STATE
-{
-    GR_MEMORY_STATE_DATA_TRANSFER               = 0x1200,
-    GR_MEMORY_STATE_GRAPHICS_SHADER_READ_ONLY   = 0x1201,
-    GR_MEMORY_STATE_GRAPHICS_SHADER_WRITE_ONLY  = 0x1202,
-    GR_MEMORY_STATE_GRAPHICS_SHADER_READ_WRITE  = 0x1203,
-    GR_MEMORY_STATE_COMPUTE_SHADER_READ_ONLY    = 0x1204,
-    GR_MEMORY_STATE_COMPUTE_SHADER_WRITE_ONLY   = 0x1205,
-    GR_MEMORY_STATE_COMPUTE_SHADER_READ_WRITE   = 0x1206,
-    GR_MEMORY_STATE_MULTI_SHADER_READ_ONLY      = 0x1207,
-    GR_MEMORY_STATE_INDEX_DATA                  = 0x1208,
-    GR_MEMORY_STATE_INDIRECT_ARG                = 0x1209,
-    GR_MEMORY_STATE_WRITE_TIMESTAMP             = 0x120a,
-    GR_MEMORY_STATE_QUEUE_ATOMIC                = 0x120b,
-
-    GR_MEMORY_STATE_BEGIN_RANGE = GR_MEMORY_STATE_DATA_TRANSFER,
-    GR_MEMORY_STATE_END_RANGE   = GR_MEMORY_STATE_QUEUE_ATOMIC,
-    GR_NUM_MEMORY_STATE         = (GR_MEMORY_STATE_END_RANGE - GR_MEMORY_STATE_BEGIN_RANGE + 1),
-} GR_MEMORY_STATE;
-
-typedef enum _GR_IMAGE_STATE
-{
-    GR_IMAGE_STATE_DATA_TRANSFER                = 0x1300,
-    GR_IMAGE_STATE_GRAPHICS_SHADER_READ_ONLY    = 0x1301,
-    GR_IMAGE_STATE_GRAPHICS_SHADER_WRITE_ONLY   = 0x1302,
-    GR_IMAGE_STATE_GRAPHICS_SHADER_READ_WRITE   = 0x1303,
-    GR_IMAGE_STATE_COMPUTE_SHADER_READ_ONLY     = 0x1304,
-    GR_IMAGE_STATE_COMPUTE_SHADER_WRITE_ONLY    = 0x1305,
-    GR_IMAGE_STATE_COMPUTE_SHADER_READ_WRITE    = 0x1306,
-    GR_IMAGE_STATE_MULTI_SHADER_READ_ONLY       = 0x1307,
-    GR_IMAGE_STATE_TARGET_AND_SHADER_READ_ONLY  = 0x1308,
-    GR_IMAGE_STATE_UNINITIALIZED_TARGET         = 0x1309,
-    GR_IMAGE_STATE_TARGET_RENDER_ACCESS_OPTIMAL = 0x130a,
-    GR_IMAGE_STATE_TARGET_SHADER_ACCESS_OPTIMAL = 0x130b,
-    GR_IMAGE_STATE_CLEAR                        = 0x130c,
-    GR_IMAGE_STATE_RESOLVE_SOURCE               = 0x130d,
-    GR_IMAGE_STATE_RESOLVE_DESTINATION          = 0x130e,
-
-    GR_IMAGE_STATE_BEGIN_RANGE = GR_IMAGE_STATE_DATA_TRANSFER,
-    GR_IMAGE_STATE_END_RANGE   = GR_IMAGE_STATE_RESOLVE_DESTINATION,
-    GR_NUM_IMAGE_STATE         = (GR_IMAGE_STATE_END_RANGE - GR_IMAGE_STATE_BEGIN_RANGE + 1),
-} GR_IMAGE_STATE;
-
-typedef enum _GR_IMAGE_TYPE
-{
-    GR_IMAGE_1D         = 0x1400,
-    GR_IMAGE_2D         = 0x1401,
-    GR_IMAGE_3D         = 0x1402,
-
-    GR_IMAGE_TYPE_BEGIN_RANGE = GR_IMAGE_1D,
-    GR_IMAGE_TYPE_END_RANGE   = GR_IMAGE_3D,
-    GR_NUM_IMAGE_TYPE         = (GR_IMAGE_TYPE_END_RANGE - GR_IMAGE_TYPE_BEGIN_RANGE + 1),
-} GR_IMAGE_TYPE;
-
-typedef enum _GR_IMAGE_TILING
-{
-    GR_LINEAR_TILING    = 0x1500,
-    GR_OPTIMAL_TILING   = 0x1501,
-
-    GR_IMAGE_TILING_BEGIN_RANGE = GR_LINEAR_TILING,
-    GR_IMAGE_TILING_END_RANGE   = GR_OPTIMAL_TILING,
-    GR_NUM_IMAGE_TILING         = (GR_IMAGE_TILING_END_RANGE - GR_IMAGE_TILING_BEGIN_RANGE + 1),
-} GR_IMAGE_TILING;
-
-typedef enum _GR_IMAGE_VIEW_TYPE
-{
-    GR_IMAGE_VIEW_1D       = 0x1600,
-    GR_IMAGE_VIEW_2D       = 0x1601,
-    GR_IMAGE_VIEW_3D       = 0x1602,
-    GR_IMAGE_VIEW_CUBE     = 0x1603,
-
-    GR_IMAGE_VIEW_TYPE_BEGIN_RANGE = GR_IMAGE_VIEW_1D,
-    GR_IMAGE_VIEW_TYPE_END_RANGE   = GR_IMAGE_VIEW_CUBE,
-    GR_NUM_IMAGE_VIEW_TYPE         = (GR_IMAGE_VIEW_TYPE_END_RANGE - GR_IMAGE_VIEW_TYPE_BEGIN_RANGE + 1),
-} GR_IMAGE_VIEW_TYPE;
-
-typedef enum _GR_IMAGE_ASPECT
-{
-    GR_IMAGE_ASPECT_COLOR   = 0x1700,
-    GR_IMAGE_ASPECT_DEPTH   = 0x1701,
-    GR_IMAGE_ASPECT_STENCIL = 0x1702,
-
-    GR_IMAGE_ASPECT_BEGIN_RANGE = GR_IMAGE_ASPECT_COLOR,
-    GR_IMAGE_ASPECT_END_RANGE   = GR_IMAGE_ASPECT_STENCIL,
-    GR_NUM_IMAGE_ASPECT         = (GR_IMAGE_ASPECT_END_RANGE - GR_IMAGE_ASPECT_BEGIN_RANGE + 1),
-} GR_IMAGE_ASPECT;
-
-typedef enum _GR_CHANNEL_SWIZZLE
-{
-    GR_CHANNEL_SWIZZLE_ZERO = 0x1800,
-    GR_CHANNEL_SWIZZLE_ONE  = 0x1801,
-    GR_CHANNEL_SWIZZLE_R    = 0x1802,
-    GR_CHANNEL_SWIZZLE_G    = 0x1803,
-    GR_CHANNEL_SWIZZLE_B    = 0x1804,
-    GR_CHANNEL_SWIZZLE_A    = 0x1805,
-
-    GR_CHANNEL_SWIZZLE_BEGIN_RANGE = GR_CHANNEL_SWIZZLE_ZERO,
-    GR_CHANNEL_SWIZZLE_END_RANGE   = GR_CHANNEL_SWIZZLE_A,
-    GR_NUM_CHANNEL_SWIZZLE         = (GR_CHANNEL_SWIZZLE_END_RANGE - GR_CHANNEL_SWIZZLE_BEGIN_RANGE + 1),
-} GR_CHANNEL_SWIZZLE;
-
-typedef enum _GR_DESCRIPTOR_SET_SLOT_TYPE
-{
-    GR_SLOT_UNUSED              = 0x1900,
-    GR_SLOT_SHADER_RESOURCE     = 0x1901,
-    GR_SLOT_SHADER_UAV          = 0x1902,
-    GR_SLOT_SHADER_SAMPLER      = 0x1903,
-    GR_SLOT_NEXT_DESCRIPTOR_SET = 0x1904,
-
-    GR_DESCRIPTOR_SET_SLOT_TYPE_BEGIN_RANGE = GR_SLOT_UNUSED,
-    GR_DESCRIPTOR_SET_SLOT_TYPE_END_RANGE   = GR_SLOT_NEXT_DESCRIPTOR_SET,
-    GR_NUM_DESCRIPTOR_SET_SLOT_TYPE         = (GR_DESCRIPTOR_SET_SLOT_TYPE_END_RANGE - GR_DESCRIPTOR_SET_SLOT_TYPE_BEGIN_RANGE + 1),
-} GR_DESCRIPTOR_SET_SLOT_TYPE;
-
-typedef enum _GR_QUERY_TYPE
-{
-    GR_QUERY_OCCLUSION              = 0x1a00,
-    GR_QUERY_PIPELINE_STATISTICS    = 0x1a01,
-
-    GR_QUERY_TYPE_BEGIN_RANGE = GR_QUERY_OCCLUSION,
-    GR_QUERY_TYPE_END_RANGE   = GR_QUERY_PIPELINE_STATISTICS,
-    GR_NUM_QUERY_TYPE         = (GR_QUERY_TYPE_END_RANGE - GR_QUERY_TYPE_BEGIN_RANGE + 1),
-} GR_QUERY_TYPE;
-
-typedef enum _GR_TIMESTAMP_TYPE
-{
-    GR_TIMESTAMP_TOP        = 0x1b00,
-    GR_TIMESTAMP_BOTTOM     = 0x1b01,
-
-    GR_TIMESTAMP_TYPE_BEGIN_RANGE = GR_TIMESTAMP_TOP,
-    GR_TIMESTAMP_TYPE_END_RANGE   = GR_TIMESTAMP_BOTTOM,
-    GR_NUM_TIMESTAMP_TYPE         = (GR_TIMESTAMP_TYPE_END_RANGE - GR_TIMESTAMP_TYPE_BEGIN_RANGE + 1),
-} GR_TIMESTAMP_TYPE;
-
-typedef enum _GR_BORDER_COLOR_TYPE
-{
-    GR_BORDER_COLOR_WHITE             = 0x1c00,
-    GR_BORDER_COLOR_TRANSPARENT_BLACK = 0x1c01,
-    GR_BORDER_COLOR_OPAQUE_BLACK      = 0x1c02,
-
-    GR_BORDER_COLOR_TYPE_BEGIN_RANGE = GR_BORDER_COLOR_WHITE,
-    GR_BORDER_COLOR_TYPE_END_RANGE   = GR_BORDER_COLOR_OPAQUE_BLACK,
-    GR_NUM_BORDER_COLOR_TYPE         = (GR_BORDER_COLOR_TYPE_END_RANGE - GR_BORDER_COLOR_TYPE_BEGIN_RANGE + 1),
-} GR_BORDER_COLOR_TYPE;
-
-typedef enum _GR_PIPELINE_BIND_POINT
-{
-    GR_PIPELINE_BIND_POINT_COMPUTE  = 0x1e00,
-    GR_PIPELINE_BIND_POINT_GRAPHICS = 0x1e01,
-
-    GR_PIPELINE_BIND_POINT_BEGIN_RANGE = GR_PIPELINE_BIND_POINT_COMPUTE,
-    GR_PIPELINE_BIND_POINT_END_RANGE   = GR_PIPELINE_BIND_POINT_GRAPHICS,
-    GR_NUM_PIPELINE_BIND_POINT         = (GR_PIPELINE_BIND_POINT_END_RANGE - GR_PIPELINE_BIND_POINT_BEGIN_RANGE + 1),
-} GR_PIPELINE_BIND_POINT;
-
-typedef enum _GR_STATE_BIND_POINT
-{
-    GR_STATE_BIND_VIEWPORT      = 0x1f00,
-    GR_STATE_BIND_RASTER        = 0x1f01,
-    GR_STATE_BIND_DEPTH_STENCIL = 0x1f02,
-    GR_STATE_BIND_COLOR_BLEND   = 0x1f03,
-    GR_STATE_BIND_MSAA          = 0x1f04,
-
-    GR_STATE_BIND_POINT_BEGIN_RANGE = GR_STATE_BIND_VIEWPORT,
-    GR_STATE_BIND_POINT_END_RANGE   = GR_STATE_BIND_MSAA,
-    GR_NUM_STATE_BIND_POINT         = (GR_STATE_BIND_POINT_END_RANGE - GR_STATE_BIND_POINT_BEGIN_RANGE + 1),
-} GR_STATE_BIND_POINT;
-
-typedef enum _GR_PRIMITIVE_TOPOLOGY
-{
-    GR_TOPOLOGY_POINT_LIST          = 0x2000,
-    GR_TOPOLOGY_LINE_LIST           = 0x2001,
-    GR_TOPOLOGY_LINE_STRIP          = 0x2002,
-    GR_TOPOLOGY_TRIANGLE_LIST       = 0x2003,
-    GR_TOPOLOGY_TRIANGLE_STRIP      = 0x2004,
-    GR_TOPOLOGY_RECT_LIST           = 0x2005,
-    GR_TOPOLOGY_QUAD_LIST           = 0x2006,
-    GR_TOPOLOGY_QUAD_STRIP          = 0x2007,
-    GR_TOPOLOGY_LINE_LIST_ADJ       = 0x2008,
-    GR_TOPOLOGY_LINE_STRIP_ADJ      = 0x2009,
-    GR_TOPOLOGY_TRIANGLE_LIST_ADJ   = 0x200a,
-    GR_TOPOLOGY_TRIANGLE_STRIP_ADJ  = 0x200b,
-    GR_TOPOLOGY_PATCH               = 0x200c,
-
-    GR_PRIMITIVE_TOPOLOGY_BEGIN_RANGE = GR_TOPOLOGY_POINT_LIST,
-    GR_PRIMITIVE_TOPOLOGY_END_RANGE   = GR_TOPOLOGY_PATCH,
-    GR_NUM_PRIMITIVE_TOPOLOGY         = (GR_PRIMITIVE_TOPOLOGY_END_RANGE - GR_PRIMITIVE_TOPOLOGY_BEGIN_RANGE + 1),
-} GR_PRIMITIVE_TOPOLOGY;
-
-typedef enum _GR_INDEX_TYPE
-{
-    GR_INDEX_16         = 0x2100,
-    GR_INDEX_32         = 0x2101,
-
-    GR_INDEX_TYPE_BEGIN_RANGE = GR_INDEX_16,
-    GR_INDEX_TYPE_END_RANGE   = GR_INDEX_32,
-    GR_NUM_INDEX_TYPE         = (GR_INDEX_TYPE_END_RANGE - GR_INDEX_TYPE_BEGIN_RANGE + 1),
-} GR_INDEX_TYPE;
-
-typedef enum _GR_TEX_FILTER
-{
-    GR_TEX_FILTER_BEGIN_RANGE = 0x2300,
-    GR_TEX_FILTER_END_RANGE   = 0x23ff,
-
-    GR_TEX_FILTER_MAG_POINT_MIN_POINT_MIP_POINT     = GR_TEX_FILTER_BEGIN_RANGE + 0x40,
-    GR_TEX_FILTER_MAG_LINEAR_MIN_POINT_MIP_POINT    = GR_TEX_FILTER_BEGIN_RANGE + 0x41,
-    GR_TEX_FILTER_MAG_POINT_MIN_LINEAR_MIP_POINT    = GR_TEX_FILTER_BEGIN_RANGE + 0x44,
-    GR_TEX_FILTER_MAG_LINEAR_MIN_LINEAR_MIP_POINT   = GR_TEX_FILTER_BEGIN_RANGE + 0x45,
-    GR_TEX_FILTER_MAG_POINT_MIN_POINT_MIP_LINEAR    = GR_TEX_FILTER_BEGIN_RANGE + 0x80,
-    GR_TEX_FILTER_MAG_LINEAR_MIN_POINT_MIP_LINEAR   = GR_TEX_FILTER_BEGIN_RANGE + 0x81,
-    GR_TEX_FILTER_MAG_POINT_MIN_LINEAR_MIP_LINEAR   = GR_TEX_FILTER_BEGIN_RANGE + 0x84,
-    GR_TEX_FILTER_MAG_LINEAR_MIN_LINEAR_MIP_LINEAR  = GR_TEX_FILTER_BEGIN_RANGE + 0x85,
-    GR_TEX_FILTER_ANISOTROPIC                       = GR_TEX_FILTER_BEGIN_RANGE + 0x8f,
-    GR_NUM_TEX_FILTER         = (GR_TEX_FILTER_END_RANGE - GR_TEX_FILTER_BEGIN_RANGE + 1),
-} GR_TEX_FILTER;
-
-typedef enum _GR_TEX_ADDRESS
-{
-    GR_TEX_ADDRESS_WRAP         = 0x2400,
-    GR_TEX_ADDRESS_MIRROR       = 0x2401,
-    GR_TEX_ADDRESS_CLAMP        = 0x2402,
-    GR_TEX_ADDRESS_MIRROR_ONCE  = 0x2403,
-    GR_TEX_ADDRESS_CLAMP_BORDER = 0x2404,
-
-    GR_TEX_ADDRESS_BEGIN_RANGE = GR_TEX_ADDRESS_WRAP,
-    GR_TEX_ADDRESS_END_RANGE   = GR_TEX_ADDRESS_CLAMP_BORDER,
-    GR_NUM_TEX_ADDRESS         = (GR_TEX_ADDRESS_END_RANGE - GR_TEX_ADDRESS_BEGIN_RANGE + 1),
-} GR_TEX_ADDRESS;
-
-typedef enum _GR_COMPARE_FUNC
-{
-    GR_COMPARE_NEVER            = 0x2500,
-    GR_COMPARE_LESS             = 0x2501,
-    GR_COMPARE_EQUAL            = 0x2502,
-    GR_COMPARE_LESS_EQUAL       = 0x2503,
-    GR_COMPARE_GREATER          = 0x2504,
-    GR_COMPARE_NOT_EQUAL        = 0x2505,
-    GR_COMPARE_GREATER_EQUAL    = 0x2506,
-    GR_COMPARE_ALWAYS           = 0x2507,
-
-    GR_COMPARE_FUNC_BEGIN_RANGE = GR_COMPARE_NEVER,
-    GR_COMPARE_FUNC_END_RANGE   = GR_COMPARE_ALWAYS,
-    GR_NUM_COMPARE_FUNC         = (GR_COMPARE_FUNC_END_RANGE - GR_COMPARE_FUNC_BEGIN_RANGE + 1),
-} GR_COMPARE_FUNC;
-
-typedef enum _GR_FILL_MODE
-{
-    GR_FILL_SOLID       = 0x2600,
-    GR_FILL_WIREFRAME   = 0x2601,
-
-    GR_FILL_MODE_BEGIN_RANGE = GR_FILL_SOLID,
-    GR_FILL_MODE_END_RANGE   = GR_FILL_WIREFRAME,
-    GR_NUM_FILL_MODE         = (GR_FILL_MODE_END_RANGE - GR_FILL_MODE_BEGIN_RANGE + 1),
-} GR_FILL_MODE;
-
-typedef enum _GR_CULL_MODE
-{
-    GR_CULL_NONE        = 0x2700,
-    GR_CULL_FRONT       = 0x2701,
-    GR_CULL_BACK        = 0x2702,
-
-    GR_CULL_MODE_BEGIN_RANGE = GR_CULL_NONE,
-    GR_CULL_MODE_END_RANGE   = GR_CULL_BACK,
-    GR_NUM_CULL_MODE         = (GR_CULL_MODE_END_RANGE - GR_CULL_MODE_BEGIN_RANGE + 1),
-} GR_CULL_MODE;
-
-typedef enum _GR_FACE_ORIENTATION
-{
-    GR_FRONT_FACE_CCW   = 0x2800,
-    GR_FRONT_FACE_CW    = 0x2801,
-
-    GR_FACE_ORIENTATION_BEGIN_RANGE = GR_FRONT_FACE_CCW,
-    GR_FACE_ORIENTATION_END_RANGE   = GR_FRONT_FACE_CW,
-    GR_NUM_FACE_ORIENTATION         = (GR_FACE_ORIENTATION_END_RANGE - GR_FACE_ORIENTATION_BEGIN_RANGE + 1),
-} GR_FACE_ORIENTATION;
-
-typedef enum _GR_BLEND
-{
-    GR_BLEND_ZERO                       = 0x2900,
-    GR_BLEND_ONE                        = 0x2901,
-    GR_BLEND_SRC_COLOR                  = 0x2902,
-    GR_BLEND_ONE_MINUS_SRC_COLOR        = 0x2903,
-    GR_BLEND_DEST_COLOR                 = 0x2904,
-    GR_BLEND_ONE_MINUS_DEST_COLOR       = 0x2905,
-    GR_BLEND_SRC_ALPHA                  = 0x2906,
-    GR_BLEND_ONE_MINUS_SRC_ALPHA        = 0x2907,
-    GR_BLEND_DEST_ALPHA                 = 0x2908,
-    GR_BLEND_ONE_MINUS_DEST_ALPHA       = 0x2909,
-    GR_BLEND_CONSTANT_COLOR             = 0x290a,
-    GR_BLEND_ONE_MINUS_CONSTANT_COLOR   = 0x290b,
-    GR_BLEND_CONSTANT_ALPHA             = 0x290c,
-    GR_BLEND_ONE_MINUS_CONSTANT_ALPHA   = 0x290d,
-    GR_BLEND_SRC_ALPHA_SATURATE         = 0x290e,
-    GR_BLEND_SRC1_COLOR                 = 0x290f,
-    GR_BLEND_ONE_MINUS_SRC1_COLOR       = 0x2910,
-    GR_BLEND_SRC1_ALPHA                 = 0x2911,
-    GR_BLEND_ONE_MINUS_SRC1_ALPHA       = 0x2912,
-
-    GR_BLEND_BEGIN_RANGE = GR_BLEND_ZERO,
-    GR_BLEND_END_RANGE   = GR_BLEND_ONE_MINUS_SRC1_ALPHA,
-    GR_NUM_BLEND         = (GR_BLEND_END_RANGE - GR_BLEND_BEGIN_RANGE + 1),
-} GR_BLEND;
-
-typedef enum _GR_BLEND_FUNC
-{
-    GR_BLEND_FUNC_ADD               = 0x2a00,
-    GR_BLEND_FUNC_SUBTRACT          = 0x2a01,
-    GR_BLEND_FUNC_REVERSE_SUBTRACT  = 0x2a02,
-    GR_BLEND_FUNC_MIN               = 0x2a03,
-    GR_BLEND_FUNC_MAX               = 0x2a04,
-
-    GR_BLEND_FUNC_BEGIN_RANGE = GR_BLEND_FUNC_ADD,
-    GR_BLEND_FUNC_END_RANGE   = GR_BLEND_FUNC_MAX,
-    GR_NUM_BLEND_FUNC         = (GR_BLEND_FUNC_END_RANGE - GR_BLEND_FUNC_BEGIN_RANGE + 1),
-} GR_BLEND_FUNC;
-
-typedef enum _GR_STENCIL_OP
-{
-    GR_STENCIL_OP_KEEP      = 0x2b00,
-    GR_STENCIL_OP_ZERO      = 0x2b01,
-    GR_STENCIL_OP_REPLACE   = 0x2b02,
-    GR_STENCIL_OP_INC_CLAMP = 0x2b03,
-    GR_STENCIL_OP_DEC_CLAMP = 0x2b04,
-    GR_STENCIL_OP_INVERT    = 0x2b05,
-    GR_STENCIL_OP_INC_WRAP  = 0x2b06,
-    GR_STENCIL_OP_DEC_WRAP  = 0x2b07,
-
-    GR_STENCIL_OP_BEGIN_RANGE = GR_STENCIL_OP_KEEP,
-    GR_STENCIL_OP_END_RANGE   = GR_STENCIL_OP_DEC_WRAP,
-    GR_NUM_STENCIL_OP         = (GR_STENCIL_OP_END_RANGE - GR_STENCIL_OP_BEGIN_RANGE + 1),
-} GR_STENCIL_OP;
-
-typedef enum _GR_LOGIC_OP
-{
-    GR_LOGIC_OP_COPY            = 0x2c00,
-    GR_LOGIC_OP_CLEAR           = 0x2c01,
-    GR_LOGIC_OP_AND             = 0x2c02,
-    GR_LOGIC_OP_AND_REVERSE     = 0x2c03,
-    GR_LOGIC_OP_AND_INVERTED    = 0x2c04,
-    GR_LOGIC_OP_NOOP            = 0x2c05,
-    GR_LOGIC_OP_XOR             = 0x2c06,
-    GR_LOGIC_OP_OR              = 0x2c07,
-    GR_LOGIC_OP_NOR             = 0x2c08,
-    GR_LOGIC_OP_EQUIV           = 0x2c09,
-    GR_LOGIC_OP_INVERT          = 0x2c0a,
-    GR_LOGIC_OP_OR_REVERSE      = 0x2c0b,
-    GR_LOGIC_OP_COPY_INVERTED   = 0x2c0c,
-    GR_LOGIC_OP_OR_INVERTED     = 0x2c0d,
-    GR_LOGIC_OP_NAND            = 0x2c0e,
-    GR_LOGIC_OP_SET             = 0x2c0f,
-
-    GR_LOGIC_OP_BEGIN_RANGE = GR_LOGIC_OP_COPY,
-    GR_LOGIC_OP_END_RANGE   = GR_LOGIC_OP_SET,
-    GR_NUM_LOGIC_OP         = (GR_LOGIC_OP_END_RANGE - GR_LOGIC_OP_BEGIN_RANGE + 1),
-} GR_LOGIC_OP;
-
-typedef enum _GR_ATOMIC_OP
-{
-    GR_ATOMIC_ADD_INT32     = 0x2d00,
-    GR_ATOMIC_SUB_INT32     = 0x2d01,
-    GR_ATOMIC_MIN_UINT32    = 0x2d02,
-    GR_ATOMIC_MAX_UINT32    = 0x2d03,
-    GR_ATOMIC_MIN_SINT32    = 0x2d04,
-    GR_ATOMIC_MAX_SINT32    = 0x2d05,
-    GR_ATOMIC_AND_INT32     = 0x2d06,
-    GR_ATOMIC_OR_INT32      = 0x2d07,
-    GR_ATOMIC_XOR_INT32     = 0x2d08,
-    GR_ATOMIC_INC_UINT32    = 0x2d09,
-    GR_ATOMIC_DEC_UINT32    = 0x2d0a,
-    GR_ATOMIC_ADD_INT64     = 0x2d0b,
-    GR_ATOMIC_SUB_INT64     = 0x2d0c,
-    GR_ATOMIC_MIN_UINT64    = 0x2d0d,
-    GR_ATOMIC_MAX_UINT64    = 0x2d0e,
-    GR_ATOMIC_MIN_SINT64    = 0x2d0f,
-    GR_ATOMIC_MAX_SINT64    = 0x2d10,
-    GR_ATOMIC_AND_INT64     = 0x2d11,
-    GR_ATOMIC_OR_INT64      = 0x2d12,
-    GR_ATOMIC_XOR_INT64     = 0x2d13,
-    GR_ATOMIC_INC_UINT64    = 0x2d14,
-    GR_ATOMIC_DEC_UINT64    = 0x2d15,
-
-    GR_ATOMIC_OP_BEGIN_RANGE = GR_ATOMIC_ADD_INT32,
-    GR_ATOMIC_OP_END_RANGE   = GR_ATOMIC_DEC_UINT64,
-    GR_NUM_ATOMIC_OP         = (GR_ATOMIC_OP_END_RANGE - GR_ATOMIC_OP_BEGIN_RANGE + 1),
-} GR_ATOMIC_OP;
-
-typedef enum _GR_SYSTEM_ALLOC_TYPE
-{
-    GR_SYSTEM_ALLOC_API_OBJECT      = 0x2e00,
-    GR_SYSTEM_ALLOC_INTERNAL        = 0x2e01,
-    GR_SYSTEM_ALLOC_INTERNAL_TEMP   = 0x2e02,
-    GR_SYSTEM_ALLOC_INTERNAL_SHADER = 0x2e03,
-    GR_SYSTEM_ALLOC_DEBUG           = 0x2e04,
-
-    GR_SYSTEM_ALLOC_BEGIN_RANGE = GR_SYSTEM_ALLOC_API_OBJECT,
-    GR_SYSTEM_ALLOC_END_RANGE   = GR_SYSTEM_ALLOC_DEBUG,
-    GR_NUM_SYSTEM_ALLOC_TYPE    = (GR_SYSTEM_ALLOC_END_RANGE - GR_SYSTEM_ALLOC_BEGIN_RANGE + 1),
-} GR_SYSTEM_ALLOC_TYPE;
-
-typedef enum _GR_HEAP_MEMORY_TYPE
-{
-    GR_HEAP_MEMORY_OTHER    = 0x2f00,
-    GR_HEAP_MEMORY_LOCAL    = 0x2f01,
-    GR_HEAP_MEMORY_REMOTE   = 0x2f02,
-    GR_HEAP_MEMORY_EMBEDDED = 0x2f03,
-
-    GR_HEAP_MEMORY_BEGIN_RANGE = GR_HEAP_MEMORY_OTHER,
-    GR_HEAP_MEMORY_END_RANGE   = GR_HEAP_MEMORY_EMBEDDED,
-    GR_NUM_HEAP_MEMORY_TYPE    = (GR_HEAP_MEMORY_END_RANGE - GR_HEAP_MEMORY_BEGIN_RANGE + 1),
-} GR_HEAP_MEMORY_TYPE;
-
-typedef enum _GR_PHYSICAL_GPU_TYPE
-{
-    GR_GPU_TYPE_OTHER                = 0x3000,
-    GR_GPU_TYPE_INTEGRATED           = 0x3001,
-    GR_GPU_TYPE_DISCRETE             = 0x3002,
-    GR_GPU_TYPE_VIRTUAL              = 0x3003,
-
-    GR_PHYSICAL_GPU_TYPE_BEGIN_RANGE = GR_GPU_TYPE_OTHER,
-    GR_PHYSICAL_GPU_TYPE_END_RANGE   = GR_GPU_TYPE_VIRTUAL,
-    GR_NUM_PHYSICAL_GPU_TYPE         = (GR_PHYSICAL_GPU_TYPE_END_RANGE - GR_PHYSICAL_GPU_TYPE_BEGIN_RANGE + 1),
-} GR_PHYSICAL_GPU_TYPE;
-
-typedef enum _GR_INFO_TYPE
-{
-    // Info type for grGetGpuInfo()
-    GR_INFO_TYPE_PHYSICAL_GPU_PROPERTIES            = 0x6100,
-    GR_INFO_TYPE_PHYSICAL_GPU_PERFORMANCE           = 0x6101,
-    GR_INFO_TYPE_PHYSICAL_GPU_QUEUE_PROPERTIES      = 0x6102,
-    GR_INFO_TYPE_PHYSICAL_GPU_MEMORY_PROPERTIES     = 0x6103,
-    // Info type for grGetMemoryHeapInfo()
-    GR_INFO_TYPE_MEMORY_HEAP_PROPERTIES             = 0x6200,
-    // Info type for grGetFormatInfo()
-    GR_INFO_TYPE_FORMAT_PROPERTIES                  = 0x6300,
-    // Info type for grGetImageSubresourceInfo()
-    GR_INFO_TYPE_SUBRESOURCE_LAYOUT                 = 0x6400,
-    // Info type for grGetObjectInfo()
-    GR_INFO_TYPE_MEMORY_REQUIREMENTS                = 0x6800,
-} GR_INFO_TYPE;
-
-typedef enum _GR_VALIDATION_LEVEL
-{
-    GR_VALIDATION_LEVEL_0   = 0x8000,
-    GR_VALIDATION_LEVEL_1   = 0x8001,
-    GR_VALIDATION_LEVEL_2   = 0x8002,
-    GR_VALIDATION_LEVEL_3   = 0x8003,
-    GR_VALIDATION_LEVEL_4   = 0x8004,
-
-    GR_VALIDATION_LEVEL_BEGIN_RANGE = GR_VALIDATION_LEVEL_0,
-    GR_VALIDATION_LEVEL_END_RANGE   = GR_VALIDATION_LEVEL_4,
-    GR_NUM_VALIDATION_LEVEL         = (GR_VALIDATION_LEVEL_END_RANGE - GR_VALIDATION_LEVEL_BEGIN_RANGE + 1),
-} GR_VALIDATION_LEVEL;
-
-// ------------------------------------------------------------------------------------------------
-// Error and return codes
-
-typedef enum _GR_RESULT_CODE
-{
-    // Return codes for successful operation execution
-    GR_SUCCESS                             = 0x10000,
-    GR_UNSUPPORTED                         = 0x10001,
-    GR_NOT_READY                           = 0x10002,
-    GR_TIMEOUT                             = 0x10003,
-    GR_EVENT_SET                           = 0x10004,
-    GR_EVENT_RESET                         = 0x10005,
-    // Error codes
-    GR_ERROR_UNKNOWN                       = 0x11000,
-    GR_ERROR_UNAVAILABLE                   = 0x11001,
-    GR_ERROR_INITIALIZATION_FAILED         = 0x11002,
-    GR_ERROR_OUT_OF_MEMORY                 = 0x11003,
-    GR_ERROR_OUT_OF_GPU_MEMORY             = 0x11004,
-    GR_ERROR_DEVICE_ALREADY_CREATED        = 0x11005,
-    GR_ERROR_DEVICE_LOST                   = 0x11006,
-    GR_ERROR_INVALID_POINTER               = 0x11007,
-    GR_ERROR_INVALID_VALUE                 = 0x11008,
-    GR_ERROR_INVALID_HANDLE                = 0x11009,
-    GR_ERROR_INVALID_ORDINAL               = 0x1100a,
-    GR_ERROR_INVALID_MEMORY_SIZE           = 0x1100b,
-    GR_ERROR_INVALID_EXTENSION             = 0x1100c,
-    GR_ERROR_INVALID_FLAGS                 = 0x1100d,
-    GR_ERROR_INVALID_ALIGNMENT             = 0x1100e,
-    GR_ERROR_INVALID_FORMAT                = 0x1100f,
-    GR_ERROR_INVALID_IMAGE                 = 0x11010,
-    GR_ERROR_INVALID_DESCRIPTOR_SET_DATA   = 0x11011,
-    GR_ERROR_INVALID_QUEUE_TYPE            = 0x11012,
-    GR_ERROR_INVALID_OBJECT_TYPE           = 0x11013,
-    GR_ERROR_UNSUPPORTED_SHADER_IL_VERSION = 0x11014,
-    GR_ERROR_BAD_SHADER_CODE               = 0x11015,
-    GR_ERROR_BAD_PIPELINE_DATA             = 0x11016,
-    GR_ERROR_TOO_MANY_MEMORY_REFERENCES    = 0x11017,
-    GR_ERROR_NOT_MAPPABLE                  = 0x11018,
-    GR_ERROR_MEMORY_MAP_FAILED             = 0x11019,
-    GR_ERROR_MEMORY_UNMAP_FAILED           = 0x1101a,
-    GR_ERROR_INCOMPATIBLE_DEVICE           = 0x1101b,
-    GR_ERROR_INCOMPATIBLE_DRIVER           = 0x1101c,
-    GR_ERROR_INCOMPLETE_COMMAND_BUFFER     = 0x1101d,
-    GR_ERROR_BUILDING_COMMAND_BUFFER       = 0x1101e,
-    GR_ERROR_MEMORY_NOT_BOUND              = 0x1101f,
-    GR_ERROR_INCOMPATIBLE_QUEUE            = 0x11020,
-    GR_ERROR_NOT_SHAREABLE                 = 0x11021,
-} GR_RESULT_CODE;
-
-// ------------------------------------------------------------------------------------------------
-// Mantle format definition
-
-typedef enum _GR_CHANNEL_FORMAT
-{
-    GR_CH_FMT_UNDEFINED     = 0,
-    GR_CH_FMT_R4G4          = 1,
-    GR_CH_FMT_R4G4B4A4      = 2,
-    GR_CH_FMT_R5G6B5        = 3,
-    GR_CH_FMT_B5G6R5        = 4,
-    GR_CH_FMT_R5G5B5A1      = 5,
-    GR_CH_FMT_R8            = 6,
-    GR_CH_FMT_R8G8          = 7,
-    GR_CH_FMT_R8G8B8A8      = 8,
-    GR_CH_FMT_B8G8R8A8      = 9,
-    GR_CH_FMT_R10G11B11     = 10,
-    GR_CH_FMT_R11G11B10     = 11,
-    GR_CH_FMT_R10G10B10A2   = 12,
-    GR_CH_FMT_R16           = 13,
-    GR_CH_FMT_R16G16        = 14,
-    GR_CH_FMT_R16G16B16A16  = 15,
-    GR_CH_FMT_R32           = 16,
-    GR_CH_FMT_R32G32        = 17,
-    GR_CH_FMT_R32G32B32     = 18,
-    GR_CH_FMT_R32G32B32A32  = 19,
-    GR_CH_FMT_R16G8         = 20,
-    GR_CH_FMT_R32G8         = 21,
-    GR_CH_FMT_R9G9B9E5      = 22,
-    GR_CH_FMT_BC1           = 23,
-    GR_CH_FMT_BC2           = 24,
-    GR_CH_FMT_BC3           = 25,
-    GR_CH_FMT_BC4           = 26,
-    GR_CH_FMT_BC5           = 27,
-    GR_CH_FMT_BC6U          = 28,
-    GR_CH_FMT_BC6S          = 29,
-    GR_CH_FMT_BC7           = 30,
-    GR_MAX_CH_FMT           = GR_CH_FMT_BC7,
-} GR_CHANNEL_FORMAT;
-
-typedef enum _GR_NUM_FORMAT
-{
-    GR_NUM_FMT_UNDEFINED    = 0,
-    GR_NUM_FMT_UNORM        = 1,
-    GR_NUM_FMT_SNORM        = 2,
-    GR_NUM_FMT_UINT         = 3,
-    GR_NUM_FMT_SINT         = 4,
-    GR_NUM_FMT_FLOAT        = 5,
-    GR_NUM_FMT_SRGB         = 6,
-    GR_NUM_FMT_DS           = 7,
-    GR_MAX_NUM_FMT          = GR_NUM_FMT_DS,
-} GR_NUM_FORMAT;
-
-typedef struct _GR_FORMAT
-{
-    GR_UINT32 channelFormat : 16;       // GR_CHANNEL_FORMAT
-    GR_UINT32 numericFormat : 16;       // GR_NUM_FORMAT
-} GR_FORMAT;
-
-// ------------------------------------------------------------------------------------------------
-// Flags
-
-// Device creation flags
-typedef enum _GR_DEVICE_CREATE_FLAGS
-{
-    GR_DEVICE_CREATE_VALIDATION    = 0x00000001,
-    GR_DEVICE_CREATE_MGPU_IQ_MATCH = 0x00000002,
-} GR_DEVICE_CREATE_FLAGS;
-
-// Memory heap properties
-typedef enum _GR_MEMORY_HEAP_FLAGS
-{
-    GR_MEMORY_HEAP_CPU_VISIBLE        = 0x00000001,
-    GR_MEMORY_HEAP_CPU_GPU_COHERENT   = 0x00000002,
-    GR_MEMORY_HEAP_CPU_UNCACHED       = 0x00000004,
-    GR_MEMORY_HEAP_CPU_WRITE_COMBINED = 0x00000008,
-    GR_MEMORY_HEAP_HOLDS_PINNED       = 0x00000010,
-    GR_MEMORY_HEAP_SHAREABLE          = 0x00000020,
-} GR_MEMORY_HEAP_FLAGS;
-
-// Memory allocation flags
-typedef enum _GR_MEMORY_ALLOC_FLAGS
-{
-    GR_MEMORY_ALLOC_VIRTUAL   = 0x00000001,
-    GR_MEMORY_ALLOC_SHAREABLE = 0x00000002,
-} GR_MEMORY_ALLOC_FLAGS;
-
-// Image usage flags
-typedef enum _GR_IMAGE_USAGE_FLAGS
-{
-    GR_IMAGE_USAGE_SHADER_ACCESS_READ  = 0x00000001,
-    GR_IMAGE_USAGE_SHADER_ACCESS_WRITE = 0x00000002,
-    GR_IMAGE_USAGE_COLOR_TARGET        = 0x00000004,
-    GR_IMAGE_USAGE_DEPTH_STENCIL       = 0x00000008,
-} GR_IMAGE_USAGE_FLAGS;
-
-// Image flags
-typedef enum _GR_IMAGE_CREATE_FLAGS
-{
-    GR_IMAGE_CREATE_INVARIANT_DATA = 0x00000001,
-    GR_IMAGE_CREATE_CLONEABLE      = 0x00000002,
-    GR_IMAGE_CREATE_SHAREABLE      = 0x00000004,
-} GR_IMAGE_CREATE_FLAGS;
-
-// Depth-stencil view creation flags
-typedef enum _GR_DEPTH_STENCIL_VIEW_CREATE_FLAGS
-{
-    GR_DEPTH_STENCIL_VIEW_CREATE_READ_ONLY_DEPTH   = 0x00000001,
-    GR_DEPTH_STENCIL_VIEW_CREATE_READ_ONLY_STENCIL = 0x00000002,
-} GR_DEPTH_STENCIL_VIEW_CREATE_FLAGS;
-
-// Pipeline creation flags
-typedef enum _GR_PIPELINE_CREATE_FLAGS
-{
-    GR_PIPELINE_CREATE_DISABLE_OPTIMIZATION = 0x00000001,
-} GR_PIPELINE_CREATE_FLAGS;
-
-// Semaphore creation flags
-typedef enum _GR_SEMAPHORE_CREATE_FLAGS
-{
-    GR_SEMAPHORE_CREATE_SHAREABLE = 0x00000001,
-} GR_SEMAPHORE_CREATE_FLAGS;
-
-// Memory reference flags
-typedef enum _GR_MEMORY_REF_FLAGS
-{
-    GR_MEMORY_REF_READ_ONLY = 0x00000001,
-} GR_MEMORY_REF_FLAGS;
-
-// Format capability flags
-typedef enum _GR_FORMAT_FEATURE_FLAGS
-{
-    GR_FORMAT_IMAGE_SHADER_READ    = 0x00000001,
-    GR_FORMAT_IMAGE_SHADER_WRITE   = 0x00000002,
-    GR_FORMAT_IMAGE_COPY           = 0x00000004,
-    GR_FORMAT_MEMORY_SHADER_ACCESS = 0x00000008,
-    GR_FORMAT_COLOR_TARGET_WRITE   = 0x00000010,
-    GR_FORMAT_COLOR_TARGET_BLEND   = 0x00000020,
-    GR_FORMAT_DEPTH_TARGET         = 0x00000040,
-    GR_FORMAT_STENCIL_TARGET       = 0x00000080,
-    GR_FORMAT_MSAA_TARGET          = 0x00000100,
-    GR_FORMAT_CONVERSION           = 0x00000200,
-} GR_FORMAT_FEATURE_FLAGS;
-
-// Query flags
-typedef enum _GR_QUERY_CONTROL_FLAGS
-{
-    GR_QUERY_IMPRECISE_DATA = 0x00000001,
-} GR_QUERY_CONTROL_FLAGS;
-
-// GPU compatibility flags
-typedef enum _GR_GPU_COMPATIBILITY_FLAGS
-{
-    GR_GPU_COMPAT_ASIC_FEATURES       = 0x00000001,
-    GR_GPU_COMPAT_IQ_MATCH            = 0x00000002,
-    GR_GPU_COMPAT_PEER_TRANSFER       = 0x00000004,
-    GR_GPU_COMPAT_SHARED_MEMORY       = 0x00000008,
-    GR_GPU_COMPAT_SHARED_SYNC         = 0x00000010,
-    GR_GPU_COMPAT_SHARED_GPU0_DISPLAY = 0x00000020,
-    GR_GPU_COMPAT_SHARED_GPU1_DISPLAY = 0x00000040,
-} GR_GPU_COMPATIBILITY_FLAGS;
-
-// Command buffer building flags
-typedef enum _GR_CMD_BUFFER_BUILD_FLAGS
-{
-    GR_CMD_BUFFER_OPTIMIZE_GPU_SMALL_BATCH       = 0x00000001,
-    GR_CMD_BUFFER_OPTIMIZE_PIPELINE_SWITCH       = 0x00000002,
-    GR_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT       = 0x00000004,
-    GR_CMD_BUFFER_OPTIMIZE_DESCRIPTOR_SET_SWITCH = 0x00000008,
-} GR_CMD_BUFFER_BUILD_FLAGS;
-
-// ------------------------------------------------------------------------------------------------
-// Mantle structures
-
-typedef struct _GR_OFFSET2D
-{
-    GR_INT x;
-    GR_INT y;
-} GR_OFFSET2D;
-
-typedef struct _GR_OFFSET3D
-{
-    GR_INT x;
-    GR_INT y;
-    GR_INT z;
-} GR_OFFSET3D;
-
-typedef struct _GR_EXTENT2D
-{
-    GR_INT width;
-    GR_INT height;
-} GR_EXTENT2D;
-
-typedef struct _GR_EXTENT3D
-{
-    GR_INT width;
-    GR_INT height;
-    GR_INT depth;
-} GR_EXTENT3D;
-
-typedef struct _GR_VIEWPORT
-{
-    GR_FLOAT originX;
-    GR_FLOAT originY;
-    GR_FLOAT width;
-    GR_FLOAT height;
-    GR_FLOAT minDepth;
-    GR_FLOAT maxDepth;
-} GR_VIEWPORT;
-
-typedef struct _GR_RECT
-{
-    GR_OFFSET2D offset;
-    GR_EXTENT2D extent;
-} GR_RECT;
-
-typedef struct _GR_PHYSICAL_GPU_PROPERTIES
-{
-    GR_UINT32   apiVersion;
-    GR_UINT32   driverVersion;
-    GR_UINT32   vendorId;
-    GR_UINT32   deviceId;
-    GR_ENUM     gpuType;                // GR_PHYSICAL_GPU_TYPE
-    GR_CHAR     gpuName[GR_MAX_PHYSICAL_GPU_NAME];
-    GR_UINT     maxMemRefsPerSubmission;
-    GR_GPU_SIZE virtualMemPageSize;
-    GR_GPU_SIZE maxInlineMemoryUpdateSize;
-    GR_UINT     maxBoundDescriptorSets;
-    GR_UINT     maxThreadGroupSize;
-    GR_UINT64   timestampFrequency;
-    GR_BOOL     multiColorTargetClears;
-} GR_PHYSICAL_GPU_PROPERTIES;
-
-typedef struct _GR_PHYSICAL_GPU_PERFORMANCE
-{
-    GR_FLOAT maxGpuClock;
-    GR_FLOAT aluPerClock;
-    GR_FLOAT texPerClock;
-    GR_FLOAT primsPerClock;
-    GR_FLOAT pixelsPerClock;
-} GR_PHYSICAL_GPU_PERFORMANCE;
-
-typedef struct _GR_GPU_COMPATIBILITY_INFO
-{
-    GR_FLAGS compatibilityFlags;        // GR_GPU_COMPATIBILITY_FLAGS
-} GR_GPU_COMPATIBILITY_INFO;
-
-typedef struct _GR_APPLICATION_INFO
-{
-    const GR_CHAR* pAppName;
-    GR_UINT32      appVersion;
-    const GR_CHAR* pEngineName;
-    GR_UINT32      engineVersion;
-    GR_UINT32      apiVersion;
-} GR_APPLICATION_INFO;
-
-typedef GR_VOID* (GR_STDCALL *GR_ALLOC_FUNCTION)(
-    GR_SIZE size,
-    GR_SIZE alignment,
-    GR_ENUM allocType);                 // GR_SYSTEM_ALLOC_TYPE
-
-typedef GR_VOID (GR_STDCALL *GR_FREE_FUNCTION)(
-    GR_VOID* pMem);
-
-typedef struct _GR_ALLOC_CALLBACKS
-{
-    GR_ALLOC_FUNCTION pfnAlloc;
-    GR_FREE_FUNCTION  pfnFree;
-} GR_ALLOC_CALLBACKS;
-
-typedef struct _GR_DEVICE_QUEUE_CREATE_INFO
-{
-    GR_ENUM queueType;                  // GR_QUEUE_TYPE
-    GR_UINT queueCount;
-} GR_DEVICE_QUEUE_CREATE_INFO;
-
-typedef struct _GR_DEVICE_CREATE_INFO
-{
-    GR_UINT                            queueRecordCount;
-    const GR_DEVICE_QUEUE_CREATE_INFO* pRequestedQueues;
-    GR_UINT                            extensionCount;
-    const GR_CHAR*const*               ppEnabledExtensionNames;
-    GR_ENUM                            maxValidationLevel; // GR_VALIDATION_LEVEL
-    GR_FLAGS                           flags;              // GR_DEVICE_CREATE_FLAGS
-} GR_DEVICE_CREATE_INFO;
-
-typedef struct _GR_PHYSICAL_GPU_QUEUE_PROPERTIES
-{
-    GR_ENUM queueType;                  // GR_QUEUE_TYPE
-    GR_UINT queueCount;
-    GR_UINT maxAtomicCounters;
-    GR_BOOL supportsTimestamps;
-} GR_PHYSICAL_GPU_QUEUE_PROPERTIES;
-
-typedef struct _GR_PHYSICAL_GPU_MEMORY_PROPERTIES
-{
-    GR_BOOL supportsMigration;
-    GR_BOOL supportsVirtualMemoryRemapping;
-    GR_BOOL supportsPinning;
-} GR_PHYSICAL_GPU_MEMORY_PROPERTIES;
-
-typedef struct _GR_MEMORY_HEAP_PROPERTIES
-{
-    GR_ENUM     heapMemoryType;         // GR_HEAP_MEMORY_TYPE
-    GR_GPU_SIZE heapSize;               // Specified in bytes
-    GR_GPU_SIZE pageSize;               // Specified in bytes
-    GR_FLAGS    flags;                  // GR_MEMORY_HEAP_FLAGS
-    GR_FLOAT    gpuReadPerfRating;
-    GR_FLOAT    gpuWritePerfRating;
-    GR_FLOAT    cpuReadPerfRating;
-    GR_FLOAT    cpuWritePerfRating;
-} GR_MEMORY_HEAP_PROPERTIES;
-
-typedef struct _GR_MEMORY_ALLOC_INFO
-{
-    GR_GPU_SIZE size;
-    GR_GPU_SIZE alignment;
-    GR_FLAGS    flags;                  // GR_MEMORY_ALLOC_FLAGS
-    GR_UINT     heapCount;
-    GR_UINT     heaps[GR_MAX_MEMORY_HEAPS];
-    GR_ENUM     memPriority;            // GR_MEMORY_PRIORITY
-} GR_MEMORY_ALLOC_INFO;
-
-typedef struct _GR_MEMORY_OPEN_INFO
-{
-    GR_GPU_MEMORY sharedMem;
-} GR_MEMORY_OPEN_INFO;
-
-typedef struct _GR_PEER_MEMORY_OPEN_INFO
-{
-    GR_GPU_MEMORY originalMem;
-} GR_PEER_MEMORY_OPEN_INFO;
-
-typedef struct _GR_VIRTUAL_MEMORY_REMAP_RANGE
-{
-    GR_GPU_MEMORY virtualMem;
-    GR_GPU_SIZE   virtualStartPage;
-    GR_GPU_MEMORY realMem;
-    GR_GPU_SIZE   realStartPage;
-    GR_GPU_SIZE   pageCount;
-} GR_VIRTUAL_MEMORY_REMAP_RANGE;
-
-typedef struct _GR_MEMORY_REQUIREMENTS
-{
-    GR_GPU_SIZE size;                   // Specified in bytes
-    GR_GPU_SIZE alignment;              // Specified in bytes
-    GR_UINT     heapCount;
-    GR_UINT     heaps[GR_MAX_MEMORY_HEAPS];
-} GR_MEMORY_REQUIREMENTS;
-
-typedef struct _GR_FORMAT_PROPERTIES
-{
-    GR_FLAGS linearTilingFeatures;      // GR_FORMAT_FEATURE_FLAGS
-    GR_FLAGS optimalTilingFeatures;     // GR_FORMAT_FEATURE_FLAGS
-} GR_FORMAT_PROPERTIES;
-
-typedef struct _GR_MEMORY_VIEW_ATTACH_INFO
-{
-    GR_GPU_MEMORY mem;
-    GR_GPU_SIZE   offset;
-    GR_GPU_SIZE   range;
-    GR_GPU_SIZE   stride;
-    GR_FORMAT     format;
-    GR_ENUM       state;                // GR_MEMORY_STATE
-} GR_MEMORY_VIEW_ATTACH_INFO;
-
-typedef struct _GR_IMAGE_VIEW_ATTACH_INFO
-{
-    GR_IMAGE_VIEW view;
-    GR_ENUM       state;                // GR_IMAGE_STATE
-} GR_IMAGE_VIEW_ATTACH_INFO;
-
-typedef struct _GR_MEMORY_STATE_TRANSITION
-{
-    GR_GPU_MEMORY mem;
-    GR_ENUM       oldState;             // GR_MEMORY_STATE
-    GR_ENUM       newState;             // GR_MEMORY_STATE
-    GR_GPU_SIZE   offset;
-    GR_GPU_SIZE   regionSize;
-} GR_MEMORY_STATE_TRANSITION;
-
-typedef struct _GR_IMAGE_SUBRESOURCE
-{
-    GR_ENUM aspect;                     // GR_IMAGE_ASPECT
-    GR_UINT mipLevel;
-    GR_UINT arraySlice;
-} GR_IMAGE_SUBRESOURCE;
-
-typedef struct _GR_IMAGE_SUBRESOURCE_RANGE
-{
-    GR_ENUM aspect;                     // GR_IMAGE_ASPECT
-    GR_UINT baseMipLevel;
-    GR_UINT mipLevels;
-    GR_UINT baseArraySlice;
-    GR_UINT arraySize;
-} GR_IMAGE_SUBRESOURCE_RANGE;
-
-typedef struct _GR_IMAGE_STATE_TRANSITION
-{
-    GR_IMAGE                   image;
-    GR_ENUM                    oldState; // GR_IMAGE_STATE
-    GR_ENUM                    newState; // GR_IMAGE_STATE
-    GR_IMAGE_SUBRESOURCE_RANGE subresourceRange;
-} GR_IMAGE_STATE_TRANSITION;
-
-typedef struct _GR_IMAGE_CREATE_INFO
-{
-    GR_ENUM     imageType;              // GR_IMAGE_TYPE
-    GR_FORMAT   format;
-    GR_EXTENT3D extent;
-    GR_UINT     mipLevels;
-    GR_UINT     arraySize;
-    GR_UINT     samples;
-    GR_ENUM     tiling;                 // GR_IMAGE_TILING
-    GR_FLAGS    usage;                  // GR_IMAGE_USAGE_FLAGS
-    GR_FLAGS    flags;                  // GR_IMAGE_CREATE_FLAGS
-} GR_IMAGE_CREATE_INFO;
-
-typedef struct _GR_PEER_IMAGE_OPEN_INFO
-{
-    GR_IMAGE originalImage;
-} GR_PEER_IMAGE_OPEN_INFO;
-
-typedef struct _GR_SUBRESOURCE_LAYOUT
-{
-    GR_GPU_SIZE offset;                 // Specified in bytes
-    GR_GPU_SIZE size;                   // Specified in bytes
-    GR_GPU_SIZE rowPitch;               // Specified in bytes
-    GR_GPU_SIZE depthPitch;             // Specified in bytes
-} GR_SUBRESOURCE_LAYOUT;
-
-typedef struct _GR_CHANNEL_MAPPING
-{
-    GR_ENUM r;                          // GR_CHANNEL_SWIZZLE
-    GR_ENUM g;                          // GR_CHANNEL_SWIZZLE
-    GR_ENUM b;                          // GR_CHANNEL_SWIZZLE
-    GR_ENUM a;                          // GR_CHANNEL_SWIZZLE
-} GR_CHANNEL_MAPPING;
-
-typedef struct _GR_IMAGE_VIEW_CREATE_INFO
-{
-    GR_IMAGE                   image;
-    GR_ENUM                    viewType; // GR_IMAGE_VIEW_TYPE
-    GR_FORMAT                  format;
-    GR_CHANNEL_MAPPING         channels;
-    GR_IMAGE_SUBRESOURCE_RANGE subresourceRange;
-    GR_FLOAT                   minLod;
-} GR_IMAGE_VIEW_CREATE_INFO;
-
-typedef struct _GR_COLOR_TARGET_VIEW_CREATE_INFO
-{
-    GR_IMAGE  image;
-    GR_FORMAT format;
-    GR_UINT   mipLevel;
-    GR_UINT   baseArraySlice;
-    GR_UINT   arraySize;
-} GR_COLOR_TARGET_VIEW_CREATE_INFO;
-
-typedef struct _GR_DEPTH_STENCIL_VIEW_CREATE_INFO
-{
-    GR_IMAGE image;
-    GR_UINT  mipLevel;
-    GR_UINT  baseArraySlice;
-    GR_UINT  arraySize;
-    GR_FLAGS flags;                     // GR_DEPTH_STENCIL_VIEW_CREATE_FLAGS
-} GR_DEPTH_STENCIL_VIEW_CREATE_INFO;
-
-typedef struct _GR_COLOR_TARGET_BIND_INFO
-{
-    GR_COLOR_TARGET_VIEW view;
-    GR_ENUM              colorTargetState; // GR_IMAGE_STATE
-} GR_COLOR_TARGET_BIND_INFO;
-
-typedef struct _GR_DEPTH_STENCIL_BIND_INFO
-{
-    GR_DEPTH_STENCIL_VIEW view;
-    GR_ENUM               depthState;   // GR_IMAGE_STATE
-    GR_ENUM               stencilState; // GR_IMAGE_STATE
-} GR_DEPTH_STENCIL_BIND_INFO;
-
-typedef struct _GR_MEMORY_COPY
-{
-    GR_GPU_SIZE srcOffset;              // Specified in bytes
-    GR_GPU_SIZE destOffset;             // Specified in bytes
-    GR_GPU_SIZE copySize;               // Specified in bytes
-} GR_MEMORY_COPY;
-
-typedef struct _GR_IMAGE_COPY
-{
-    GR_IMAGE_SUBRESOURCE srcSubresource;
-    GR_OFFSET3D          srcOffset;
-    GR_IMAGE_SUBRESOURCE destSubresource;
-    GR_OFFSET3D          destOffset;
-    GR_EXTENT3D          extent;
-} GR_IMAGE_COPY;
-
-typedef struct _GR_MEMORY_IMAGE_COPY
-{
-    GR_GPU_SIZE          memOffset;     // Specified in bytes
-    GR_IMAGE_SUBRESOURCE imageSubresource;
-    GR_OFFSET3D          imageOffset;
-    GR_EXTENT3D          imageExtent;
-} GR_MEMORY_IMAGE_COPY;
-
-typedef struct _GR_IMAGE_RESOLVE
-{
-    GR_IMAGE_SUBRESOURCE srcSubresource;
-    GR_OFFSET2D          srcOffset;
-    GR_IMAGE_SUBRESOURCE destSubresource;
-    GR_OFFSET2D          destOffset;
-    GR_EXTENT2D          extent;
-} GR_IMAGE_RESOLVE;
-
-typedef struct _GR_SHADER_CREATE_INFO
-{
-    GR_SIZE        codeSize;            // Specified in bytes
-    const GR_VOID* pCode;
-    GR_FLAGS       flags;               // Reserved
-} GR_SHADER_CREATE_INFO;
-
-struct _GR_DESCRIPTOR_SET_MAPPING;
-
-typedef struct _GR_DESCRIPTOR_SLOT_INFO
-{
-    GR_ENUM slotObjectType;             // GR_DESCRIPTOR_SET_SLOT_TYPE
-    union
-    {
-        GR_UINT                                  shaderEntityIndex;// Shader IL slot index for given entity type
-        const struct _GR_DESCRIPTOR_SET_MAPPING* pNextLevelSet;    // Pointer to next descriptor set level
-    };
-} GR_DESCRIPTOR_SLOT_INFO;
-
-typedef struct _GR_DESCRIPTOR_SET_MAPPING
-{
-    GR_UINT                        descriptorCount;
-    const GR_DESCRIPTOR_SLOT_INFO* pDescriptorInfo;
-} GR_DESCRIPTOR_SET_MAPPING;
-
-typedef struct _GR_LINK_CONST_BUFFER
-{
-    GR_UINT        bufferId;
-    GR_SIZE        bufferSize;
-    const GR_VOID* pBufferData;
-} GR_LINK_CONST_BUFFER;
-
-typedef struct _GR_DYNAMIC_MEMORY_VIEW_SLOT_INFO
-{
-    GR_ENUM slotObjectType;             // GR_DESCRIPTOR_SET_SLOT_TYPE
-    GR_UINT shaderEntityIndex;
-} GR_DYNAMIC_MEMORY_VIEW_SLOT_INFO;
-
-typedef struct _GR_PIPELINE_SHADER
-{
-    GR_SHADER                        shader;
-    GR_DESCRIPTOR_SET_MAPPING        descriptorSetMapping[GR_MAX_DESCRIPTOR_SETS];
-    GR_UINT                          linkConstBufferCount;
-    const GR_LINK_CONST_BUFFER*      pLinkConstBufferInfo;
-    GR_DYNAMIC_MEMORY_VIEW_SLOT_INFO dynamicMemoryViewMapping;
-} GR_PIPELINE_SHADER;
-
-typedef struct _GR_COMPUTE_PIPELINE_CREATE_INFO
-{
-    GR_PIPELINE_SHADER cs;
-    GR_FLAGS           flags;           // GR_PIPELINE_CREATE_FLAGS
-} GR_COMPUTE_PIPELINE_CREATE_INFO;
-
-typedef struct _GR_PIPELINE_IA_STATE
-{
-    GR_ENUM topology;                   // GR_PRIMITIVE_TOPOLOGY
-    GR_BOOL disableVertexReuse;
-} GR_PIPELINE_IA_STATE;
-
-typedef struct _GR_PIPELINE_TESS_STATE
-{
-    GR_UINT  patchControlPoints;
-    GR_FLOAT optimalTessFactor;
-} GR_PIPELINE_TESS_STATE;
-
-typedef struct _GR_PIPELINE_RS_STATE
-{
-    GR_BOOL depthClipEnable;
-} GR_PIPELINE_RS_STATE;
-
-typedef struct _GR_PIPELINE_CB_TARGET_STATE
-{
-    GR_BOOL   blendEnable;
-    GR_FORMAT format;
-    GR_UINT8  channelWriteMask;
-} GR_PIPELINE_CB_TARGET_STATE;
-
-typedef struct _GR_PIPELINE_CB_STATE
-{
-    GR_BOOL                     alphaToCoverageEnable;
-    GR_BOOL                     dualSourceBlendEnable;
-    GR_ENUM                     logicOp; // GR_LOGIC_OP
-    GR_PIPELINE_CB_TARGET_STATE target[GR_MAX_COLOR_TARGETS];
-} GR_PIPELINE_CB_STATE;
-
-typedef struct _GR_PIPELINE_DB_STATE
-{
-    GR_FORMAT format;
-} GR_PIPELINE_DB_STATE;
-
-typedef struct _GR_GRAPHICS_PIPELINE_CREATE_INFO
-{
-    GR_PIPELINE_SHADER     vs;
-    GR_PIPELINE_SHADER     hs;
-    GR_PIPELINE_SHADER     ds;
-    GR_PIPELINE_SHADER     gs;
-    GR_PIPELINE_SHADER     ps;
-    GR_PIPELINE_IA_STATE   iaState;
-    GR_PIPELINE_TESS_STATE tessState;
-    GR_PIPELINE_RS_STATE   rsState;
-    GR_PIPELINE_CB_STATE   cbState;
-    GR_PIPELINE_DB_STATE   dbState;
-    GR_FLAGS               flags;       // GR_PIPELINE_CREATE_FLAGS
-} GR_GRAPHICS_PIPELINE_CREATE_INFO;
-
-typedef struct _GR_SAMPLER_CREATE_INFO
-{
-    GR_ENUM  filter;                    // GR_TEX_FILTER
-    GR_ENUM  addressU;                  // GR_TEX_ADDRESS
-    GR_ENUM  addressV;                  // GR_TEX_ADDRESS
-    GR_ENUM  addressW;                  // GR_TEX_ADDRESS
-    GR_FLOAT mipLodBias;
-    GR_UINT  maxAnisotropy;
-    GR_ENUM  compareFunc;               // GR_COMPARE_FUNC
-    GR_FLOAT minLod;
-    GR_FLOAT maxLod;
-    GR_ENUM  borderColor;               // GR_BORDER_COLOR_TYPE
-} GR_SAMPLER_CREATE_INFO;
-
-typedef struct _GR_DESCRIPTOR_SET_CREATE_INFO
-{
-    GR_UINT slots;
-} GR_DESCRIPTOR_SET_CREATE_INFO;
-
-typedef struct _GR_DESCRIPTOR_SET_ATTACH_INFO
-{
-    GR_DESCRIPTOR_SET descriptorSet;
-    GR_UINT           slotOffset;
-} GR_DESCRIPTOR_SET_ATTACH_INFO;
-
-typedef struct _GR_VIEWPORT_STATE_CREATE_INFO
-{
-    GR_UINT     viewportCount;
-    GR_BOOL     scissorEnable;
-    GR_VIEWPORT viewports[GR_MAX_VIEWPORTS];
-    GR_RECT     scissors[GR_MAX_VIEWPORTS];
-} GR_VIEWPORT_STATE_CREATE_INFO;
-
-typedef struct _GR_RASTER_STATE_CREATE_INFO
-{
-    GR_ENUM  fillMode;                  // GR_FILL_MODE
-    GR_ENUM  cullMode;                  // GR_CULL_MODE
-    GR_ENUM  frontFace;                 // GR_FACE_ORIENTATION
-    GR_INT   depthBias;
-    GR_FLOAT depthBiasClamp;
-    GR_FLOAT slopeScaledDepthBias;
-} GR_RASTER_STATE_CREATE_INFO;
-
-typedef struct _GR_MSAA_STATE_CREATE_INFO
-{
-    GR_UINT        samples;
-    GR_SAMPLE_MASK sampleMask;
-} GR_MSAA_STATE_CREATE_INFO;
-
-typedef struct _GR_COLOR_TARGET_BLEND_STATE
-{
-    GR_BOOL blendEnable;
-    GR_ENUM srcBlendColor;              // GR_BLEND
-    GR_ENUM destBlendColor;             // GR_BLEND
-    GR_ENUM blendFuncColor;             // GR_BLEND_FUNC
-    GR_ENUM srcBlendAlpha;              // GR_BLEND
-    GR_ENUM destBlendAlpha;             // GR_BLEND
-    GR_ENUM blendFuncAlpha;             // GR_BLEND_FUNC
-} GR_COLOR_TARGET_BLEND_STATE;
-
-typedef struct _GR_COLOR_BLEND_STATE_CREATE_INFO
-{
-    GR_COLOR_TARGET_BLEND_STATE target[GR_MAX_COLOR_TARGETS];
-    GR_FLOAT                    blendConst[4];
-} GR_COLOR_BLEND_STATE_CREATE_INFO;
-
-typedef struct _GR_DEPTH_STENCIL_OP
-{
-    GR_ENUM  stencilFailOp;             // GR_STENCIL_OP
-    GR_ENUM  stencilPassOp;             // GR_STENCIL_OP
-    GR_ENUM  stencilDepthFailOp;        // GR_STENCIL_OP
-    GR_ENUM  stencilFunc;               // GR_COMPARE_FUNC
-    GR_UINT8 stencilRef;
-} GR_DEPTH_STENCIL_OP;
-
-typedef struct _GR_DEPTH_STENCIL_STATE_CREATE_INFO
-{
-    GR_BOOL             depthEnable;
-    GR_BOOL             depthWriteEnable;
-    GR_ENUM             depthFunc;      // GR_COMPARE_FUNC
-    GR_BOOL             depthBoundsEnable;
-    GR_FLOAT            minDepth;
-    GR_FLOAT            maxDepth;
-    GR_BOOL             stencilEnable;
-    GR_UINT8            stencilReadMask;
-    GR_UINT8            stencilWriteMask;
-    GR_DEPTH_STENCIL_OP front;
-    GR_DEPTH_STENCIL_OP back;
-} GR_DEPTH_STENCIL_STATE_CREATE_INFO;
-
-typedef struct _GR_CMD_BUFFER_CREATE_INFO
-{
-    GR_ENUM  queueType;                 // GR_QUEUE_TYPE
-    GR_FLAGS flags;                     // Reserved
-} GR_CMD_BUFFER_CREATE_INFO;
-
-typedef struct _GR_MEMORY_REF
-{
-    GR_GPU_MEMORY mem;
-    GR_FLAGS      flags;                // GR_MEMORY_REF_FLAGS
-} GR_MEMORY_REF;
-
-typedef struct _GR_EVENT_CREATE_INFO
-{
-    GR_FLAGS flags;                     // Reserved
-} GR_EVENT_CREATE_INFO;
-
-typedef struct _GR_FENCE_CREATE_INFO
-{
-    GR_FLAGS flags;                     // Reserved
-} GR_FENCE_CREATE_INFO;
-
-typedef struct _GR_QUEUE_SEMAPHORE_CREATE_INFO
-{
-    GR_UINT  initialCount;
-    GR_FLAGS flags;                     // GR_SEMAPHORE_CREATE_FLAGS
-} GR_QUEUE_SEMAPHORE_CREATE_INFO;
-
-typedef struct _GR_QUEUE_SEMAPHORE_OPEN_INFO
-{
-    GR_QUEUE_SEMAPHORE sharedSemaphore;
-} GR_QUEUE_SEMAPHORE_OPEN_INFO;
-
-typedef struct _GR_PIPELINE_STATISTICS_DATA
-{
-    GR_UINT64 psInvocations;            // Pixel shader invocations
-    GR_UINT64 cPrimitives;              // Clipper primitives
-    GR_UINT64 cInvocations;             // Clipper invocations
-    GR_UINT64 vsInvocations;            // Vertex shader invocations
-    GR_UINT64 gsInvocations;            // Geometry shader invocations
-    GR_UINT64 gsPrimitives;             // Geometry shader primitives
-    GR_UINT64 iaPrimitives;             // Input primitives
-    GR_UINT64 iaVertices;               // Input vertices
-    GR_UINT64 hsInvocations;            // Hull shader invocations
-    GR_UINT64 dsInvocations;            // Domain shader invocations
-    GR_UINT64 csInvocations;            // Compute shader invocations
-} GR_PIPELINE_STATISTICS_DATA;
-
-typedef struct _GR_QUERY_POOL_CREATE_INFO
-{
-    GR_ENUM queryType;                  // GR_QUERY_TYPE
-    GR_UINT slots;
-} GR_QUERY_POOL_CREATE_INFO;
-
-typedef struct _GR_DRAW_INDIRECT_ARG
-{
-    GR_UINT32 vertexCount;
-    GR_UINT32 instanceCount;
-    GR_UINT32 firstVertex;
-    GR_UINT32 firstInstance;
-} GR_DRAW_INDIRECT_ARG;
-
-typedef struct _GR_DRAW_INDEXED_INDIRECT_ARG
-{
-    GR_UINT32 indexCount;
-    GR_UINT32 instanceCount;
-    GR_UINT32 firstIndex;
-    GR_INT32  vertexOffset;
-    GR_UINT32 firstInstance;
-} GR_DRAW_INDEXED_INDIRECT_ARG;
-
-typedef struct _GR_DISPATCH_INDIRECT_ARG
-{
-    GR_UINT32 x;
-    GR_UINT32 y;
-    GR_UINT32 z;
-} GR_DISPATCH_INDIRECT_ARG;
-
-// ------------------------------------------------------------------------------------------------
-// API functions
-
-// GPU initialization
-
-GR_RESULT GR_STDCALL grInitAndEnumerateGpus(
-    const GR_APPLICATION_INFO* pAppInfo,
-    const GR_ALLOC_CALLBACKS*  pAllocCb,
-    GR_UINT*                   pGpuCount,
-    GR_PHYSICAL_GPU            gpus[GR_MAX_PHYSICAL_GPUS]);
-
-GR_RESULT GR_STDCALL grGetGpuInfo(
-    GR_PHYSICAL_GPU gpu,
-    GR_ENUM         infoType,           // GR_INFO_TYPE
-    GR_SIZE*        pDataSize,
-    GR_VOID*        pData);
-
-// Device functions
-
-GR_RESULT GR_STDCALL grCreateDevice(
-    GR_PHYSICAL_GPU              gpu,
-    const GR_DEVICE_CREATE_INFO* pCreateInfo,
-    GR_DEVICE*                   pDevice);
-
-GR_RESULT GR_STDCALL grDestroyDevice(
-    GR_DEVICE device);
-
-// Extension discovery functions
-
-GR_RESULT GR_STDCALL grGetExtensionSupport(
-    GR_PHYSICAL_GPU gpu,
-    const GR_CHAR*  pExtName);
-
-// Queue functions
-
-GR_RESULT GR_STDCALL grGetDeviceQueue(
-    GR_DEVICE device,
-    GR_ENUM   queueType,                // GR_QUEUE_TYPE
-    GR_UINT   queueIndex,
-    GR_QUEUE* pQueue);
-
-GR_RESULT GR_STDCALL grQueueSubmit(
-    GR_QUEUE             queue,
-    GR_UINT              cmdBufferCount,
-    const GR_CMD_BUFFER* pCmdBuffers,
-    GR_UINT              memRefCount,
-    const GR_MEMORY_REF* pMemRefs,
-    GR_FENCE             fence);
-
-GR_RESULT GR_STDCALL grQueueSetGlobalMemReferences(
-    GR_QUEUE             queue,
-    GR_UINT              memRefCount,
-    const GR_MEMORY_REF* pMemRefs);
-
-GR_RESULT GR_STDCALL grQueueWaitIdle(
-    GR_QUEUE queue);
-
-GR_RESULT GR_STDCALL grDeviceWaitIdle(
-    GR_DEVICE device);
-
-// Memory functions
-
-GR_RESULT GR_STDCALL grGetMemoryHeapCount(
-    GR_DEVICE  device,
-    GR_UINT*   pCount);
-
-GR_RESULT GR_STDCALL grGetMemoryHeapInfo(
-    GR_DEVICE device,
-    GR_UINT   heapId,
-    GR_ENUM   infoType,                 // GR_INFO_TYPE
-    GR_SIZE*  pDataSize,
-    GR_VOID*  pData);
-
-GR_RESULT GR_STDCALL grAllocMemory(
-    GR_DEVICE                   device,
-    const GR_MEMORY_ALLOC_INFO* pAllocInfo,
-    GR_GPU_MEMORY*              pMem);
-
-GR_RESULT GR_STDCALL grFreeMemory(
-    GR_GPU_MEMORY mem);
-
-GR_RESULT GR_STDCALL grSetMemoryPriority(
-    GR_GPU_MEMORY mem,
-    GR_ENUM       priority);            // GR_MEMORY_PRIORITY
-
-GR_RESULT GR_STDCALL grMapMemory(
-    GR_GPU_MEMORY mem,
-    GR_FLAGS      flags,                // Reserved
-    GR_VOID**     ppData);
-
-GR_RESULT GR_STDCALL grUnmapMemory(
-    GR_GPU_MEMORY mem);
-
-GR_RESULT GR_STDCALL grPinSystemMemory(
-    GR_DEVICE      device,
-    const GR_VOID* pSysMem,
-    GR_SIZE        memSize,
-    GR_GPU_MEMORY* pMem);
-
-GR_RESULT GR_STDCALL grRemapVirtualMemoryPages(
-    GR_DEVICE                            device,
-    GR_UINT                              rangeCount,
-    const GR_VIRTUAL_MEMORY_REMAP_RANGE* pRanges,
-    GR_UINT                              preWaitSemaphoreCount,
-    const GR_QUEUE_SEMAPHORE*            pPreWaitSemaphores,
-    GR_UINT                              postSignalSemaphoreCount,
-    const GR_QUEUE_SEMAPHORE*            pPostSignalSemaphores);
-
-// Multi-device functions
-
-GR_RESULT GR_STDCALL grGetMultiGpuCompatibility(
-    GR_PHYSICAL_GPU            gpu0,
-    GR_PHYSICAL_GPU            gpu1,
-    GR_GPU_COMPATIBILITY_INFO* pInfo);
-
-GR_RESULT GR_STDCALL grOpenSharedMemory(
-    GR_DEVICE                  device,
-    const GR_MEMORY_OPEN_INFO* pOpenInfo,
-    GR_GPU_MEMORY*             pMem);
-
-GR_RESULT GR_STDCALL grOpenSharedQueueSemaphore(
-    GR_DEVICE                           device,
-    const GR_QUEUE_SEMAPHORE_OPEN_INFO* pOpenInfo,
-    GR_QUEUE_SEMAPHORE*                 pSemaphore);
-
-GR_RESULT GR_STDCALL grOpenPeerMemory(
-    GR_DEVICE                       device,
-    const GR_PEER_MEMORY_OPEN_INFO* pOpenInfo,
-    GR_GPU_MEMORY*                  pMem);
-
-GR_RESULT GR_STDCALL grOpenPeerImage(
-    GR_DEVICE                      device,
-    const GR_PEER_IMAGE_OPEN_INFO* pOpenInfo,
-    GR_IMAGE*                      pImage,
-    GR_GPU_MEMORY*                 pMem);
-
-// Generic API object functions
-
-GR_RESULT GR_STDCALL grDestroyObject(
-    GR_OBJECT object);
-
-GR_RESULT GR_STDCALL grGetObjectInfo(
-    GR_BASE_OBJECT object,
-    GR_ENUM        infoType,            // GR_INFO_TYPE
-    GR_SIZE*       pDataSize,
-    GR_VOID*       pData);
-
-GR_RESULT GR_STDCALL grBindObjectMemory(
-    GR_OBJECT     object,
-    GR_GPU_MEMORY mem,
-    GR_GPU_SIZE   offset);
-
-// Fence functions
-
-GR_RESULT GR_STDCALL grCreateFence(
-    GR_DEVICE                   device,
-    const GR_FENCE_CREATE_INFO* pCreateInfo,
-    GR_FENCE*                   pFence);
-
-GR_RESULT GR_STDCALL grGetFenceStatus(
-    GR_FENCE fence);
-
-GR_RESULT GR_STDCALL grWaitForFences(
-    GR_DEVICE       device,
-    GR_UINT         fenceCount,
-    const GR_FENCE* pFences,
-    GR_BOOL         waitAll,
-    GR_FLOAT        timeout);
-
-// Queue semaphore functions
-
-GR_RESULT GR_STDCALL grCreateQueueSemaphore(
-    GR_DEVICE                             device,
-    const GR_QUEUE_SEMAPHORE_CREATE_INFO* pCreateInfo,
-    GR_QUEUE_SEMAPHORE*                   pSemaphore);
-
-GR_RESULT GR_STDCALL grSignalQueueSemaphore(
-    GR_QUEUE queue,
-    GR_QUEUE_SEMAPHORE semaphore);
-
-GR_RESULT GR_STDCALL grWaitQueueSemaphore(
-    GR_QUEUE queue,
-    GR_QUEUE_SEMAPHORE semaphore);
-
-// Event functions
-
-GR_RESULT GR_STDCALL grCreateEvent(
-    GR_DEVICE                   device,
-    const GR_EVENT_CREATE_INFO* pCreateInfo,
-    GR_EVENT*                   pEvent);
-
-GR_RESULT GR_STDCALL grGetEventStatus(
-    GR_EVENT event);
-
-GR_RESULT GR_STDCALL grSetEvent(
-    GR_EVENT event);
-
-GR_RESULT GR_STDCALL grResetEvent(
-    GR_EVENT event);
-
-// Query functions
-
-GR_RESULT GR_STDCALL grCreateQueryPool(
-    GR_DEVICE                        device,
-    const GR_QUERY_POOL_CREATE_INFO* pCreateInfo,
-    GR_QUERY_POOL*                   pQueryPool);
-
-GR_RESULT GR_STDCALL grGetQueryPoolResults(
-    GR_QUERY_POOL queryPool,
-    GR_UINT       startQuery,
-    GR_UINT       queryCount,
-    GR_SIZE*      pDataSize,
-    GR_VOID*      pData);
-
-// Format capabilities
-
-GR_RESULT GR_STDCALL grGetFormatInfo(
-    GR_DEVICE device,
-    GR_FORMAT format,
-    GR_ENUM   infoType,                 // GR_INFO_TYPE
-    GR_SIZE*  pDataSize,
-    GR_VOID*  pData);
-
-// Image functions
-
-GR_RESULT GR_STDCALL grCreateImage(
-    GR_DEVICE                   device,
-    const GR_IMAGE_CREATE_INFO* pCreateInfo,
-    GR_IMAGE*                   pImage);
-
-GR_RESULT GR_STDCALL grGetImageSubresourceInfo(
-    GR_IMAGE                    image,
-    const GR_IMAGE_SUBRESOURCE* pSubresource,
-    GR_ENUM                     infoType, // GR_INFO_TYPE
-    GR_SIZE*                    pDataSize,
-    GR_VOID*                    pData);
-
-// Image view functions
-
-GR_RESULT GR_STDCALL grCreateImageView(
-    GR_DEVICE                        device,
-    const GR_IMAGE_VIEW_CREATE_INFO* pCreateInfo,
-    GR_IMAGE_VIEW*                   pView);
-
-GR_RESULT GR_STDCALL grCreateColorTargetView(
-    GR_DEVICE                               device,
-    const GR_COLOR_TARGET_VIEW_CREATE_INFO* pCreateInfo,
-    GR_COLOR_TARGET_VIEW*                   pView);
-
-GR_RESULT GR_STDCALL grCreateDepthStencilView(
-    GR_DEVICE                                device,
-    const GR_DEPTH_STENCIL_VIEW_CREATE_INFO* pCreateInfo,
-    GR_DEPTH_STENCIL_VIEW*                   pView);
-
-// Shader functions
-
-GR_RESULT GR_STDCALL grCreateShader(
-    GR_DEVICE                    device,
-    const GR_SHADER_CREATE_INFO* pCreateInfo,
-    GR_SHADER*                   pShader);
-
-// Pipeline functions
-
-GR_RESULT GR_STDCALL grCreateGraphicsPipeline(
-    GR_DEVICE                               device,
-    const GR_GRAPHICS_PIPELINE_CREATE_INFO* pCreateInfo,
-    GR_PIPELINE*                            pPipeline);
-
-GR_RESULT GR_STDCALL grCreateComputePipeline(
-    GR_DEVICE                              device,
-    const GR_COMPUTE_PIPELINE_CREATE_INFO* pCreateInfo,
-    GR_PIPELINE*                           pPipeline);
-
-GR_RESULT GR_STDCALL grStorePipeline(
-    GR_PIPELINE pipeline,
-    GR_SIZE*    pDataSize,
-    GR_VOID*    pData);
-
-GR_RESULT GR_STDCALL grLoadPipeline(
-    GR_DEVICE      device,
-    GR_SIZE        dataSize,
-    const GR_VOID* pData,
-    GR_PIPELINE*   pPipeline);
-
-// Sampler functions
-
-GR_RESULT GR_STDCALL grCreateSampler(
-    GR_DEVICE                     device,
-    const GR_SAMPLER_CREATE_INFO* pCreateInfo,
-    GR_SAMPLER*                   pSampler);
-
-// Descriptor set functions
-
-GR_RESULT GR_STDCALL grCreateDescriptorSet(
-    GR_DEVICE                            device,
-    const GR_DESCRIPTOR_SET_CREATE_INFO* pCreateInfo,
-    GR_DESCRIPTOR_SET*                   pDescriptorSet);
-
-GR_VOID GR_STDCALL grBeginDescriptorSetUpdate(
-    GR_DESCRIPTOR_SET descriptorSet);
-
-GR_VOID GR_STDCALL grEndDescriptorSetUpdate(
-    GR_DESCRIPTOR_SET descriptorSet);
-
-GR_VOID GR_STDCALL grAttachSamplerDescriptors(
-    GR_DESCRIPTOR_SET descriptorSet,
-    GR_UINT           startSlot,
-    GR_UINT           slotCount,
-    const GR_SAMPLER* pSamplers);
-
-GR_VOID GR_STDCALL grAttachImageViewDescriptors(
-    GR_DESCRIPTOR_SET                descriptorSet,
-    GR_UINT                          startSlot,
-    GR_UINT                          slotCount,
-    const GR_IMAGE_VIEW_ATTACH_INFO* pImageViews);
-
-GR_VOID GR_STDCALL grAttachMemoryViewDescriptors(
-    GR_DESCRIPTOR_SET                 descriptorSet,
-    GR_UINT                           startSlot,
-    GR_UINT                           slotCount,
-    const GR_MEMORY_VIEW_ATTACH_INFO* pMemViews);
-
-GR_VOID GR_STDCALL grAttachNestedDescriptors(
-    GR_DESCRIPTOR_SET                    descriptorSet,
-    GR_UINT                              startSlot,
-    GR_UINT                              slotCount,
-    const GR_DESCRIPTOR_SET_ATTACH_INFO* pNestedDescriptorSets);
-
-GR_VOID GR_STDCALL grClearDescriptorSetSlots(
-    GR_DESCRIPTOR_SET descriptorSet,
-    GR_UINT           startSlot,
-    GR_UINT           slotCount);
-
-// State object functions
-
-GR_RESULT GR_STDCALL grCreateViewportState(
-    GR_DEVICE                            device,
-    const GR_VIEWPORT_STATE_CREATE_INFO* pCreateInfo,
-    GR_VIEWPORT_STATE_OBJECT*            pState);
-
-GR_RESULT GR_STDCALL grCreateRasterState(
-    GR_DEVICE                          device,
-    const GR_RASTER_STATE_CREATE_INFO* pCreateInfo,
-    GR_RASTER_STATE_OBJECT*            pState);
-
-GR_RESULT GR_STDCALL grCreateMsaaState(
-    GR_DEVICE                        device,
-    const GR_MSAA_STATE_CREATE_INFO* pCreateInfo,
-    GR_MSAA_STATE_OBJECT*            pState);
-
-GR_RESULT GR_STDCALL grCreateColorBlendState(
-    GR_DEVICE                               device,
-    const GR_COLOR_BLEND_STATE_CREATE_INFO* pCreateInfo,
-    GR_COLOR_BLEND_STATE_OBJECT*            pState);
-
-GR_RESULT GR_STDCALL grCreateDepthStencilState(
-    GR_DEVICE                                 device,
-    const GR_DEPTH_STENCIL_STATE_CREATE_INFO* pCreateInfo,
-    GR_DEPTH_STENCIL_STATE_OBJECT*            pState);
-
-// Command buffer functions
-
-GR_RESULT GR_STDCALL grCreateCommandBuffer(
-    GR_DEVICE                        device,
-    const GR_CMD_BUFFER_CREATE_INFO* pCreateInfo,
-    GR_CMD_BUFFER*                   pCmdBuffer);
-
-GR_RESULT GR_STDCALL grBeginCommandBuffer(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_FLAGS      flags);               // GR_CMD_BUFFER_BUILD_FLAGS
-
-GR_RESULT GR_STDCALL grEndCommandBuffer(
-    GR_CMD_BUFFER cmdBuffer);
-
-GR_RESULT GR_STDCALL grResetCommandBuffer(
-    GR_CMD_BUFFER cmdBuffer);
-
-// Command buffer building functions
-
-GR_VOID GR_STDCALL grCmdBindPipeline(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_ENUM       pipelineBindPoint,    // GR_PIPELINE_BIND_POINT
-    GR_PIPELINE   pipeline);
-
-GR_VOID GR_STDCALL grCmdBindStateObject(
-    GR_CMD_BUFFER   cmdBuffer,
-    GR_ENUM         stateBindPoint,     // GR_STATE_BIND_POINT
-    GR_STATE_OBJECT state);
-
-GR_VOID GR_STDCALL grCmdBindDescriptorSet(
-    GR_CMD_BUFFER     cmdBuffer,
-    GR_ENUM           pipelineBindPoint, // GR_PIPELINE_BIND_POINT
-    GR_UINT           index,
-    GR_DESCRIPTOR_SET descriptorSet,
-    GR_UINT           slotOffset);
-
-GR_VOID GR_STDCALL grCmdBindDynamicMemoryView(
-    GR_CMD_BUFFER                     cmdBuffer,
-    GR_ENUM                           pipelineBindPoint, // GR_PIPELINE_BIND_POINT
-    const GR_MEMORY_VIEW_ATTACH_INFO* pMemView);
-
-GR_VOID GR_STDCALL grCmdBindIndexData(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_GPU_MEMORY mem,
-    GR_GPU_SIZE   offset,
-    GR_ENUM       indexType);           // GR_INDEX_TYPE
-
-GR_VOID GR_STDCALL grCmdBindTargets(
-    GR_CMD_BUFFER                     cmdBuffer,
-    GR_UINT                           colorTargetCount,
-    const GR_COLOR_TARGET_BIND_INFO*  pColorTargets,
-    const GR_DEPTH_STENCIL_BIND_INFO* pDepthTarget);
-
-GR_VOID GR_STDCALL grCmdPrepareMemoryRegions(
-    GR_CMD_BUFFER                     cmdBuffer,
-    GR_UINT                           transitionCount,
-    const GR_MEMORY_STATE_TRANSITION* pStateTransitions);
-
-GR_VOID GR_STDCALL grCmdPrepareImages(
-    GR_CMD_BUFFER                    cmdBuffer,
-    GR_UINT                          transitionCount,
-    const GR_IMAGE_STATE_TRANSITION* pStateTransitions);
-
-GR_VOID GR_STDCALL grCmdDraw(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_UINT       firstVertex,
-    GR_UINT       vertexCount,
-    GR_UINT       firstInstance,
-    GR_UINT       instanceCount);
-
-GR_VOID GR_STDCALL grCmdDrawIndexed(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_UINT       firstIndex,
-    GR_UINT       indexCount,
-    GR_INT        vertexOffset,
-    GR_UINT       firstInstance,
-    GR_UINT       instanceCount);
-
-GR_VOID GR_STDCALL grCmdDrawIndirect(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_GPU_MEMORY mem,
-    GR_GPU_SIZE   offset);
-
-GR_VOID GR_STDCALL grCmdDrawIndexedIndirect(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_GPU_MEMORY mem,
-    GR_GPU_SIZE   offset);
-
-GR_VOID GR_STDCALL grCmdDispatch(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_UINT       x,
-    GR_UINT       y,
-    GR_UINT       z);
-
-GR_VOID GR_STDCALL grCmdDispatchIndirect(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_GPU_MEMORY mem,
-    GR_GPU_SIZE   offset);
-
-GR_VOID GR_STDCALL grCmdCopyMemory(
-    GR_CMD_BUFFER         cmdBuffer,
-    GR_GPU_MEMORY         srcMem,
-    GR_GPU_MEMORY         destMem,
-    GR_UINT               regionCount,
-    const GR_MEMORY_COPY* pRegions);
-
-GR_VOID GR_STDCALL grCmdCopyImage(
-    GR_CMD_BUFFER        cmdBuffer,
-    GR_IMAGE             srcImage,
-    GR_IMAGE             destImage,
-    GR_UINT              regionCount,
-    const GR_IMAGE_COPY* pRegions);
-
-GR_VOID GR_STDCALL grCmdCopyMemoryToImage(
-    GR_CMD_BUFFER               cmdBuffer,
-    GR_GPU_MEMORY               srcMem,
-    GR_IMAGE                    destImage,
-    GR_UINT                     regionCount,
-    const GR_MEMORY_IMAGE_COPY* pRegions);
-
-GR_VOID GR_STDCALL grCmdCopyImageToMemory(
-    GR_CMD_BUFFER               cmdBuffer,
-    GR_IMAGE                    srcImage,
-    GR_GPU_MEMORY               destMem,
-    GR_UINT                     regionCount,
-    const GR_MEMORY_IMAGE_COPY* pRegions);
-
-GR_VOID GR_STDCALL grCmdCloneImageData(
-    GR_CMD_BUFFER  cmdBuffer,
-    GR_IMAGE       srcImage,
-    GR_ENUM        srcImageState,       // GR_IMAGE_STATE
-    GR_IMAGE       destImage,
-    GR_ENUM        destImageState);     // GR_IMAGE_STATE
-
-GR_VOID GR_STDCALL grCmdUpdateMemory(
-    GR_CMD_BUFFER    cmdBuffer,
-    GR_GPU_MEMORY    destMem,
-    GR_GPU_SIZE      destOffset,
-    GR_GPU_SIZE      dataSize,
-    const GR_UINT32* pData);
-
-GR_VOID GR_STDCALL grCmdFillMemory(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_GPU_MEMORY destMem,
-    GR_GPU_SIZE   destOffset,
-    GR_GPU_SIZE   fillSize,
-    GR_UINT32     data);
-
-GR_VOID GR_STDCALL grCmdClearColorImage(
-    GR_CMD_BUFFER                     cmdBuffer,
-    GR_IMAGE                          image,
-    const GR_FLOAT                    color[4],
-    GR_UINT                           rangeCount,
-    const GR_IMAGE_SUBRESOURCE_RANGE* pRanges);
-
-GR_VOID GR_STDCALL grCmdClearColorImageRaw(
-    GR_CMD_BUFFER                     cmdBuffer,
-    GR_IMAGE                          image,
-    const GR_UINT32                   color[4],
-    GR_UINT                           rangeCount,
-    const GR_IMAGE_SUBRESOURCE_RANGE* pRanges);
-
-GR_VOID GR_STDCALL grCmdClearDepthStencil(
-    GR_CMD_BUFFER                     cmdBuffer,
-    GR_IMAGE                          image,
-    GR_FLOAT                          depth,
-    GR_UINT8                          stencil,
-    GR_UINT                           rangeCount,
-    const GR_IMAGE_SUBRESOURCE_RANGE* pRanges);
-
-GR_VOID GR_STDCALL grCmdResolveImage(
-    GR_CMD_BUFFER           cmdBuffer,
-    GR_IMAGE                srcImage,
-    GR_IMAGE                destImage,
-    GR_UINT                 rectCount,
-    const GR_IMAGE_RESOLVE* pRects);
-
-GR_VOID GR_STDCALL grCmdSetEvent(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_EVENT      event);
-
-GR_VOID GR_STDCALL grCmdResetEvent(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_EVENT      event);
-
-GR_VOID GR_STDCALL grCmdMemoryAtomic(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_GPU_MEMORY destMem,
-    GR_GPU_SIZE   destOffset,
-    GR_UINT64     srcData,
-    GR_ENUM       atomicOp);            // GR_ATOMIC_OP
-
-GR_VOID GR_STDCALL grCmdBeginQuery(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_QUERY_POOL queryPool,
-    GR_UINT       slot,
-    GR_FLAGS      flags);               // GR_QUERY_CONTROL_FLAGS
-
-GR_VOID GR_STDCALL grCmdEndQuery(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_QUERY_POOL queryPool,
-    GR_UINT       slot);
-
-GR_VOID GR_STDCALL grCmdResetQueryPool(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_QUERY_POOL queryPool,
-    GR_UINT       startQuery,
-    GR_UINT       queryCount);
-
-GR_VOID GR_STDCALL grCmdWriteTimestamp(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_ENUM       timestampType,        // GR_TIMESTAMP_TYPE
-    GR_GPU_MEMORY destMem,
-    GR_GPU_SIZE   destOffset);
-
-GR_VOID GR_STDCALL grCmdInitAtomicCounters(
-    GR_CMD_BUFFER    cmdBuffer,
-    GR_ENUM          pipelineBindPoint, // GR_PIPELINE_BIND_POINT
-    GR_UINT          startCounter,
-    GR_UINT          counterCount,
-    const GR_UINT32* pData);
-
-GR_VOID GR_STDCALL grCmdLoadAtomicCounters(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_ENUM       pipelineBindPoint,    // GR_PIPELINE_BIND_POINT
-    GR_UINT       startCounter,
-    GR_UINT       counterCount,
-    GR_GPU_MEMORY srcMem,
-    GR_GPU_SIZE   srcOffset);
-
-GR_VOID GR_STDCALL grCmdSaveAtomicCounters(
-    GR_CMD_BUFFER cmdBuffer,
-    GR_ENUM       pipelineBindPoint,    // GR_PIPELINE_BIND_POINT
-    GR_UINT       startCounter,
-    GR_UINT       counterCount,
-    GR_GPU_MEMORY destMem,
-    GR_GPU_SIZE   destOffset);
-
-#ifdef __cplusplus
-}; // extern "C"
-#endif // __cplusplus
-
-#endif // __MANTLE_H__
diff --git a/include/mantleDbg.h b/include/mantleDbg.h
deleted file mode 100644 (file)
index d51a3f6..0000000
+++ /dev/null
@@ -1,623 +0,0 @@
-//
-// File: mantleDbg.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 __MANTLEDBG_H__
-#define __MANTLEDBG_H__
-
-#include "mantle.h"
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif // __cplusplus
-
-/*
-***************************************************************************************************
-*   Mantle debug and validation features
-***************************************************************************************************
-*/
-
-typedef enum _GR_DBG_MSG_TYPE
-{
-    GR_DBG_MSG_UNKNOWN      = 0x00020000,
-    GR_DBG_MSG_ERROR        = 0x00020001,
-    GR_DBG_MSG_WARNING      = 0x00020002,
-    GR_DBG_MSG_PERF_WARNING = 0x00020003,
-
-    GR_DBG_MSG_TYPE_BEGIN_RANGE = GR_DBG_MSG_UNKNOWN,
-    GR_DBG_MSG_TYPE_END_RANGE   = GR_DBG_MSG_PERF_WARNING,
-    GR_NUM_DBG_MSG_TYPE         = (GR_DBG_MSG_TYPE_END_RANGE - GR_DBG_MSG_TYPE_BEGIN_RANGE + 1),
-} GR_DBG_MSG_TYPE;
-
-typedef enum _GR_DBG_GLOBAL_OPTION
-{
-    GR_DBG_OPTION_DEBUG_ECHO_ENABLE = 0x00020100,
-    GR_DBG_OPTION_BREAK_ON_ERROR    = 0x00020101,
-    GR_DBG_OPTION_BREAK_ON_WARNING  = 0x00020102,
-
-    GR_DBG_GLOBAL_OPTION_BEGIN_RANGE = GR_DBG_OPTION_DEBUG_ECHO_ENABLE,
-    GR_DBG_GLOBAL_OPTION_END_RANGE   = GR_DBG_OPTION_BREAK_ON_WARNING,
-    GR_NUM_DBG_GLOBAL_OPTION         = (GR_DBG_GLOBAL_OPTION_END_RANGE - GR_DBG_GLOBAL_OPTION_BEGIN_RANGE + 1),
-} GR_DBG_GLOBAL_OPTION;
-
-typedef enum _GR_DBG_DEVICE_OPTION
-{
-    GR_DBG_OPTION_DISABLE_PIPELINE_LOADS      = 0x00020400,
-    GR_DBG_OPTION_FORCE_OBJECT_MEMORY_REQS    = 0x00020401,
-    GR_DBG_OPTION_FORCE_LARGE_IMAGE_ALIGNMENT = 0x00020402,
-
-    GR_DBG_DEVICE_OPTION_BEGIN_RANGE = GR_DBG_OPTION_DISABLE_PIPELINE_LOADS,
-    GR_DBG_DEVICE_OPTION_END_RANGE   = GR_DBG_OPTION_FORCE_LARGE_IMAGE_ALIGNMENT,
-    GR_NUM_DBG_DEVICE_OPTION         = (GR_DBG_DEVICE_OPTION_END_RANGE - GR_DBG_DEVICE_OPTION_BEGIN_RANGE + 1),
-} GR_DBG_DEVICE_OPTION;
-
-typedef enum _GR_DBG_MSG_FILTER
-{
-    GR_DBG_MSG_FILTER_NONE     = 0x00020800,
-    GR_DBG_MSG_FILTER_REPEATED = 0x00020801,
-    GR_DBG_MSG_FILTER_ALL      = 0x00020802,
-
-    GR_DBG_MSG_FILTER_BEGIN_RANGE = GR_DBG_MSG_FILTER_NONE,
-    GR_DBG_MSG_FILTER_END_RANGE   = GR_DBG_MSG_FILTER_ALL,
-    GR_NUM_DBG_MSG_FILTER         = (GR_DBG_MSG_FILTER_END_RANGE - GR_DBG_MSG_FILTER_BEGIN_RANGE + 1),
-} GR_DBG_MSG_FILTER;
-
-typedef enum _GR_DBG_DATA_TYPE
-{
-    // Common object debug data
-    GR_DBG_DATA_OBJECT_TYPE          = 0x00020a00,
-    GR_DBG_DATA_OBJECT_CREATE_INFO   = 0x00020a01,
-    GR_DBG_DATA_OBJECT_TAG           = 0x00020a02,
-    // Command buffer specific debug data
-    GR_DBG_DATA_CMD_BUFFER_API_TRACE = 0x00020b00,
-    // Memory object specific debug data
-    GR_DBG_DATA_MEMORY_OBJECT_LAYOUT = 0x00020c00,
-    GR_DBG_DATA_MEMORY_OBJECT_STATE  = 0x00020c01,
-} GR_DBG_DATA_TYPE;
-
-typedef enum _GR_DBG_OBJECT_TYPE
-{
-    GR_DBG_OBJECT_UNKNOWN                = 0x00020900,
-    GR_DBG_OBJECT_DEVICE                 = 0x00020901,
-    GR_DBG_OBJECT_QUEUE                  = 0x00020902,
-    GR_DBG_OBJECT_GPU_MEMORY             = 0x00020903,
-    GR_DBG_OBJECT_IMAGE                  = 0x00020904,
-    GR_DBG_OBJECT_IMAGE_VIEW             = 0x00020905,
-    GR_DBG_OBJECT_COLOR_TARGET_VIEW      = 0x00020906,
-    GR_DBG_OBJECT_DEPTH_STENCIL_VIEW     = 0x00020907,
-    GR_DBG_OBJECT_SHADER                 = 0x00020908,
-    GR_DBG_OBJECT_GRAPHICS_PIPELINE      = 0x00020909,
-    GR_DBG_OBJECT_COMPUTE_PIPELINE       = 0x0002090a,
-    GR_DBG_OBJECT_SAMPLER                = 0x0002090b,
-    GR_DBG_OBJECT_DESCRIPTOR_SET         = 0x0002090c,
-    GR_DBG_OBJECT_VIEWPORT_STATE         = 0x0002090d,
-    GR_DBG_OBJECT_RASTER_STATE           = 0x0002090e,
-    GR_DBG_OBJECT_MSAA_STATE             = 0x0002090f,
-    GR_DBG_OBJECT_COLOR_BLEND_STATE      = 0x00020910,
-    GR_DBG_OBJECT_DEPTH_STENCIL_STATE    = 0x00020911,
-    GR_DBG_OBJECT_CMD_BUFFER             = 0x00020912,
-    GR_DBG_OBJECT_FENCE                  = 0x00020913,
-    GR_DBG_OBJECT_QUEUE_SEMAPHORE        = 0x00020914,
-    GR_DBG_OBJECT_EVENT                  = 0x00020915,
-    GR_DBG_OBJECT_QUERY_POOL             = 0x00020916,
-    GR_DBG_OBJECT_SHARED_GPU_MEMORY      = 0x00020917,
-    GR_DBG_OBJECT_SHARED_QUEUE_SEMAPHORE = 0x00020918,
-    GR_DBG_OBJECT_PEER_GPU_MEMORY        = 0x00020919,
-    GR_DBG_OBJECT_PEER_IMAGE             = 0x0002091a,
-    GR_DBG_OBJECT_PINNED_GPU_MEMORY      = 0x0002091b,
-    GR_DBG_OBJECT_INTERNAL_GPU_MEMORY    = 0x0002091c,
-
-    GR_DBG_OBJECT_TYPE_BEGIN_RANGE = GR_DBG_OBJECT_UNKNOWN,
-    GR_DBG_OBJECT_TYPE_END_RANGE   = GR_DBG_OBJECT_INTERNAL_GPU_MEMORY,
-    GR_NUM_DBG_OBJECT_TYPE         = (GR_DBG_OBJECT_TYPE_END_RANGE - GR_DBG_OBJECT_TYPE_BEGIN_RANGE + 1),
-} GR_DBG_OBJECT_TYPE;
-
-// ------------------------------------------------------------------------------------------------
-// Memory object layout reflection
-
-typedef struct _GR_DBG_MEMORY_OBJECT_LAYOUT_REGION
-{
-    GR_GPU_SIZE offset;
-    GR_GPU_SIZE regionSize;
-    GR_OBJECT   boundObject;
-} GR_DBG_MEMORY_OBJECT_LAYOUT_REGION;
-
-typedef struct _GR_DBG_MEMORY_OBJECT_LAYOUT
-{
-    GR_UINT                            regionCount;
-    GR_DBG_MEMORY_OBJECT_LAYOUT_REGION regions[1];
-    // (regionCount-1) more GR_DBG_MEMORY_OBJECT_LAYOUT_REGION structures to follow...
-} GR_DBG_MEMORY_OBJECT_LAYOUT;
-
-typedef struct _GR_DBG_MEMORY_OBJECT_STATE_REGION
-{
-    GR_GPU_SIZE offset;
-    GR_GPU_SIZE regionSize;
-    GR_ENUM     state;                  // GR_MEMORY_STATE
-} GR_DBG_MEMORY_OBJECT_STATE_REGION;
-
-typedef struct _GR_DBG_MEMORY_OBJECT_STATE
-{
-    GR_UINT                           regionCount;
-    GR_DBG_MEMORY_OBJECT_STATE_REGION regions[1];
-    // (regionCount-1) more GR_DBG_MEMORY_OBJECT_STATE_REGION structures to follow...
-} GR_DBG_MEMORY_OBJECT_STATE;
-
-// ------------------------------------------------------------------------------------------------
-// Command buffer packet reflection
-
-// Command buffer packet opcodes
-typedef enum _GR_DBG_CMD_BUFFER_OPCODE
-{
-    GR_DBG_OP_CMD_BUFFER_END                = 0x00028000,
-    GR_DBG_OP_CMD_BIND_PIPELINE             = 0x00028001,
-    GR_DBG_OP_CMD_BIND_STATE_OBJECT         = 0x00028002,
-    GR_DBG_OP_CMD_BIND_DESCRIPTOR_SET       = 0x00028003,
-    GR_DBG_OP_CMD_BIND_DYNAMIC_MEMORY_VIEW  = 0x00028004,
-    GR_DBG_OP_CMD_BIND_INDEX_DATA           = 0x00028005,
-    GR_DBG_OP_CMD_BIND_TARGETS              = 0x00028006,
-    GR_DBG_OP_CMD_PREPARE_MEMORY_REGIONS    = 0x00028007,
-    GR_DBG_OP_CMD_PREPARE_IMAGES            = 0x00028008,
-    GR_DBG_OP_CMD_DRAW                      = 0x00028009,
-    GR_DBG_OP_CMD_DRAW_INDEXED              = 0x0002800a,
-    GR_DBG_OP_CMD_DRAW_INDIRECT             = 0x0002800b,
-    GR_DBG_OP_CMD_DRAW_INDEXED_INDIRECT     = 0x0002800c,
-    GR_DBG_OP_CMD_DISPATCH                  = 0x0002800d,
-    GR_DBG_OP_CMD_DISPATCH_INDIRECT         = 0x0002800e,
-    GR_DBG_OP_CMD_COPY_MEMORY               = 0x0002800f,
-    GR_DBG_OP_CMD_COPY_IMAGE                = 0x00028010,
-    GR_DBG_OP_CMD_COPY_MEMORY_TO_IMAGE      = 0x00028011,
-    GR_DBG_OP_CMD_COPY_IMAGE_TO_MEMORY      = 0x00028012,
-    GR_DBG_OP_CMD_CLONE_IMAGE_DATA          = 0x00028013,
-    GR_DBG_OP_CMD_FILL_MEMORY               = 0x00028014,
-    GR_DBG_OP_CMD_UPDATE_MEMORY             = 0x00028015,
-    GR_DBG_OP_CMD_CLEAR_COLOR_IMAGE         = 0x00028016,
-    GR_DBG_OP_CMD_CLEAR_COLOR_IMAGE_RAW     = 0x00028017,
-    GR_DBG_OP_CMD_CLEAR_DEPTH_STENCIL       = 0x00028018,
-    GR_DBG_OP_CMD_RESOLVE_IMAGE             = 0x00028019,
-    GR_DBG_OP_CMD_SET_EVENT                 = 0x0002801a,
-    GR_DBG_OP_CMD_RESET_EVENT               = 0x0002801b,
-    GR_DBG_OP_CMD_MEMORY_ATOMIC             = 0x0002801c,
-    GR_DBG_OP_CMD_BEGIN_QUERY               = 0x0002801d,
-    GR_DBG_OP_CMD_END_QUERY                 = 0x0002801e,
-    GR_DBG_OP_CMD_RESET_QUERY_POOL          = 0x0002801f,
-    GR_DBG_OP_CMD_WRITE_TIMESTAMP           = 0x00028020,
-    GR_DBG_OP_CMD_INIT_ATOMIC_COUNTERS      = 0x00028021,
-    GR_DBG_OP_CMD_LOAD_ATOMIC_COUNTERS      = 0x00028022,
-    GR_DBG_OP_CMD_SAVE_ATOMIC_COUNTERS      = 0x00028023,
-    GR_DBG_OP_CMD_DBG_MARKER_BEGIN          = 0x00028024,
-    GR_DBG_OP_CMD_DBG_MARKER_END            = 0x00028025,
-
-    GR_DBG_CMD_BUFFER_OPCODE_BEGIN_RANGE = GR_DBG_OP_CMD_BUFFER_END,
-    GR_DBG_CMD_BUFFER_OPCODE_END_RANGE   = GR_DBG_OP_CMD_DBG_MARKER_END,
-    GR_NUM_DBG_CMD_BUFFER_OPCODE         = (GR_DBG_CMD_BUFFER_OPCODE_END_RANGE - GR_DBG_CMD_BUFFER_OPCODE_BEGIN_RANGE + 1),
-} GR_DBG_CMD_BUFFER_OPCODE;
-
-// Command buffer packet header
-typedef struct _GR_DBG_OP_HEADER
-{
-    GR_UINT recordSize;
-    GR_ENUM opCode;                     // GR_DBG_CMD_BUFFER_OPCODE
-    // Op-specific variable size data follows...
-} GR_DBG_OP_HEADER;
-
-// Memory binding reference for image objects at the time of command buffer recording
-typedef struct _GR_DBG_BOUND_MEMORY_REF
-{
-    GR_GPU_MEMORY mem;
-    GR_GPU_SIZE   offset;
-} GR_DBG_BOUND_MEMORY_REF;
-
-typedef struct _GR_DBG_OBJECT_REF
-{
-    GR_OBJECT               object;
-    GR_DBG_BOUND_MEMORY_REF memoryRef;
-} GR_DBG_OBJECT_REF;
-
-typedef struct _GR_DBG_VIEW_REF
-{
-    GR_DBG_OBJECT_REF       view;
-    // Memory reference for image of the color target view
-    GR_DBG_BOUND_MEMORY_REF imageMemoryRef;
-} GR_DBG_VIEW_REF;
-
-// Command buffer payload packets
-typedef struct _GR_DBG_OP_DATA_CMD_BIND_PIPELINE
-{
-    GR_ENUM           pipelineBindPoint; // GR_PIPELINE_BIND_POINT
-    GR_DBG_OBJECT_REF pipeline;
-} GR_DBG_OP_DATA_CMD_BIND_PIPELINE;
-
-typedef struct _GR_DBG_OP_DATA_CMD_BIND_STATE_OBJECT
-{
-    GR_ENUM           stateBindPoint;   // GR_STATE_BIND_POINT
-    GR_DBG_OBJECT_REF state;
-} GR_DBG_OP_DATA_CMD_BIND_STATE_OBJECT;
-
-typedef struct _GR_DBG_OP_DATA_CMD_BIND_DESCRIPTOR_SET
-{
-    GR_ENUM           pipelineBindPoint; // GR_PIPELINE_BIND_POINT
-    GR_UINT           index;
-    GR_DBG_OBJECT_REF descriptorSet;
-    GR_UINT           slotOffset;
-} GR_DBG_OP_DATA_CMD_BIND_DESCRIPTOR_SET;
-
-typedef struct _GR_DBG_OP_DATA_CMD_BIND_DYNAMIC_MEMORY_VIEW
-{
-    GR_ENUM                    pipelineBindPoint; // GR_PIPELINE_BIND_POINT
-    GR_MEMORY_VIEW_ATTACH_INFO view;
-} GR_DBG_OP_DATA_CMD_BIND_DYNAMIC_MEMORY_VIEW;
-
-typedef struct _GR_DBG_OP_DATA_CMD_BIND_INDEX_DATA
-{
-    GR_GPU_MEMORY mem;
-    GR_GPU_SIZE   offset;
-    GR_ENUM       indexType;            // GR_INDEX_TYPE
-} GR_DBG_OP_DATA_CMD_BIND_INDEX_DATA;
-
-typedef struct _GR_DBG_COLOR_TARGET_BIND_INFO
-{
-    GR_DBG_VIEW_REF view;
-    GR_ENUM         colorTargetState;   // GR_IMAGE_STATE
-} GR_DBG_COLOR_TARGET_BIND_INFO;
-
-typedef struct _GR_DBG_DEPTH_STENCIL_BIND_INFO
-{
-    GR_DBG_VIEW_REF view;
-    GR_ENUM         depthState;         // GR_IMAGE_STATE
-    GR_ENUM         stencilState;       // GR_IMAGE_STATE
-} GR_DBG_DEPTH_STENCIL_BIND_INFO;
-
-typedef struct _GR_DBG_OP_DATA_CMD_BIND_TARGETS
-{
-    GR_UINT                        colorTargetCount;
-    GR_DBG_COLOR_TARGET_BIND_INFO  colorTargetData[GR_MAX_COLOR_TARGETS];
-    GR_DBG_DEPTH_STENCIL_BIND_INFO depthTargetData;
-} GR_DBG_OP_DATA_CMD_BIND_TARGETS;
-
-typedef struct _GR_DBG_OP_DATA_CMD_PREPARE_MEMORY_REGIONS
-{
-    GR_UINT                    transitionCount;
-    GR_MEMORY_STATE_TRANSITION stateTransitions[1];
-    // (transitionCount-1) more GR_MEMORY_STATE_TRANSITION structures to follow...
-} GR_DBG_OP_DATA_CMD_PREPARE_MEMORY_REGIONS;
-
-typedef struct _GR_DBG_IMAGE_STATE_TRANSITION
-{
-    GR_DBG_OBJECT_REF          image;
-    GR_ENUM                    oldState; // GR_IMAGE_STATE
-    GR_ENUM                    newState; // GR_IMAGE_STATE
-    GR_IMAGE_SUBRESOURCE_RANGE subresourceRange;
-} GR_DBG_IMAGE_STATE_TRANSITION;
-
-typedef struct _GR_DBG_OP_DATA_CMD_PREPARE_IMAGES
-{
-    GR_UINT                       transitionCount;
-    GR_DBG_IMAGE_STATE_TRANSITION stateTransitions[1];
-    // (transitionCount-1) more GR_DBG_IMAGE_STATE_TRANSITION_DATA structures to follow...
-} GR_DBG_OP_DATA_CMD_PREPARE_IMAGES;
-
-typedef struct _GR_DBG_OP_DATA_CMD_DRAW
-{
-    GR_UINT firstVertex;
-    GR_UINT vertexCount;
-    GR_UINT firstInstance;
-    GR_UINT instanceCount;
-} GR_DBG_OP_DATA_CMD_DRAW;
-
-typedef struct _GR_DBG_OP_DATA_CMD_DRAW_INDEXED
-{
-    GR_UINT firstIndex;
-    GR_UINT indexCount;
-    GR_INT  vertexOffset;
-    GR_UINT firstInstance;
-    GR_UINT instanceCount;
-} GR_DBG_OP_DATA_CMD_DRAW_INDEXED;
-
-typedef struct _GR_DBG_OP_DATA_CMD_DRAW_INDIRECT
-{
-    GR_GPU_MEMORY mem;
-    GR_GPU_SIZE   offset;
-} GR_DBG_OP_DATA_CMD_DRAW_INDIRECT;
-
-typedef struct _GR_DBG_OP_DATA_CMD_DRAW_INDEXED_INDIRECT
-{
-    GR_GPU_MEMORY mem;
-    GR_GPU_SIZE   offset;
-} GR_DBG_OP_DATA_CMD_DRAW_INDEXED_INDIRECT;
-
-typedef struct _GR_DBG_OP_DATA_CMD_DISPATCH
-{
-    GR_UINT x;
-    GR_UINT y;
-    GR_UINT z;
-} GR_DBG_OP_DATA_CMD_DISPATCH;
-
-typedef struct _GR_DBG_OP_DATA_CMD_DISPATCH_INDIRECT
-{
-    GR_GPU_MEMORY mem;
-    GR_GPU_SIZE   offset;
-} GR_DBG_OP_DATA_CMD_DISPATCH_INDIRECT;
-
-typedef struct _GR_DBG_OP_DATA_CMD_COPY_MEMORY
-{
-    GR_GPU_MEMORY  srcMem;
-    GR_GPU_MEMORY  destMem;
-    GR_UINT        regionCount;
-    GR_MEMORY_COPY regions[1];
-    // (regionCount-1) more GR_MEMORY_COPY structures to follow...
-} GR_DBG_OP_DATA_CMD_COPY_MEMORY;
-
-typedef struct _GR_DBG_OP_DATA_CMD_COPY_IMAGE
-{
-    GR_DBG_OBJECT_REF srcImage;
-    GR_DBG_OBJECT_REF destImage;
-    GR_UINT           regionCount;
-    GR_IMAGE_COPY     regions[1];
-    // (regionCount-1) more GR_IMAGE_COPY structures to follow...
-} GR_DBG_OP_DATA_CMD_COPY_IMAGE;
-
-typedef struct _GR_DBG_OP_DATA_CMD_COPY_MEMORY_TO_IMAGE
-{
-    GR_GPU_MEMORY        srcMem;
-    GR_DBG_OBJECT_REF    destImage;
-    GR_UINT              regionCount;
-    GR_MEMORY_IMAGE_COPY regions[1];
-    // (regionCount-1) more GR_MEMORY_IMAGE_COPY structures to follow...
-} GR_DBG_OP_DATA_CMD_COPY_MEMORY_TO_IMAGE;
-
-typedef struct _GR_DBG_OP_DATA_CMD_COPY_IMAGE_TO_MEMORY
-{
-    GR_DBG_OBJECT_REF    srcImage;
-    GR_GPU_MEMORY        destMem;
-    GR_UINT              regionCount;
-    GR_MEMORY_IMAGE_COPY regions[1];
-    // (regionCount-1) more GR_MEMORY_IMAGE_COPY structures to follow...
-} GR_DBG_OP_DATA_CMD_COPY_IMAGE_TO_MEMORY;
-
-typedef struct _GR_DBG_OP_DATA_CMD_CLONE_IMAGE_DATA
-{
-    GR_DBG_OBJECT_REF srcImage;
-    GR_ENUM           srcImageState;    // GR_IMAGE_STATE
-    GR_DBG_OBJECT_REF destImage;
-    GR_ENUM           destImageState;   // GR_IMAGE_STATE
-} GR_DBG_OP_DATA_CMD_CLONE_IMAGE_DATA;
-
-typedef struct _GR_DBG_OP_DATA_CMD_UPDATE_MEMORY
-{
-    GR_GPU_MEMORY destMem;
-    GR_GPU_SIZE   destOffset;
-    GR_GPU_SIZE   dataSize;
-    GR_UINT32     data[1];
-    // (dataSize-4) more bytes of data to follow...
-} GR_DBG_OP_DATA_CMD_UPDATE_MEMORY;
-
-typedef struct _GR_DBG_OP_DATA_CMD_FILL_MEMORY
-{
-    GR_GPU_MEMORY destMem;
-    GR_GPU_SIZE   destOffset;
-    GR_GPU_SIZE   fillSize;
-    GR_UINT32     data;
-} GR_DBG_OP_DATA_CMD_FILL_MEMORY;
-
-typedef struct _GR_DBG_OP_DATA_CMD_CLEAR_COLOR_IMAGE
-{
-    GR_DBG_OBJECT_REF          image;
-    GR_FLOAT                   color[4];
-    GR_UINT                    rangeCount;
-    GR_IMAGE_SUBRESOURCE_RANGE ranges[1];
-    // (rangeCount-1) more GR_IMAGE_SUBRESOURCE_RANGE structures to follow...
-} GR_DBG_OP_DATA_CMD_CLEAR_COLOR_IMAGE;
-
-typedef struct _GR_DBG_OP_DATA_CMD_CLEAR_COLOR_IMAGE_RAW
-{
-    GR_DBG_OBJECT_REF          image;
-    GR_UINT32                  color[4];
-    GR_UINT                    rangeCount;
-    GR_IMAGE_SUBRESOURCE_RANGE ranges[1];
-    // (rangeCount-1) more GR_IMAGE_SUBRESOURCE_RANGE structures to follow...
-} GR_DBG_OP_DATA_CMD_CLEAR_COLOR_IMAGE_RAW;
-
-typedef struct _GR_DBG_OP_DATA_CMD_CLEAR_DEPTH_STENCIL
-{
-    GR_DBG_OBJECT_REF          image;
-    GR_FLOAT                   depth;
-    GR_UINT8                   stencil;
-    GR_UINT                    rangeCount;
-    GR_IMAGE_SUBRESOURCE_RANGE ranges[1];
-    // (rangeCount-1) more GR_IMAGE_SUBRESOURCE_RANGE structures to follow...
-} GR_DBG_OP_DATA_CMD_CLEAR_DEPTH_STENCIL;
-
-typedef struct _GR_DBG_OP_DATA_CMD_RESOLVE_IMAGE
-{
-    GR_DBG_OBJECT_REF srcImage;
-    GR_DBG_OBJECT_REF destImage;
-    GR_UINT           rectCount;
-    GR_IMAGE_RESOLVE  rects[1];
-    // (rectCount-1) more GR_IMAGE_RESOLVE structures to follow...
-} GR_DBG_OP_DATA_CMD_RESOLVE_IMAGE;
-
-typedef struct _GR_DBG_OP_DATA_CMD_SET_EVENT
-{
-    GR_DBG_OBJECT_REF event;
-} GR_DBG_OP_DATA_CMD_SET_EVENT;
-
-typedef struct _GR_DBG_OP_DATA_CMD_RESET_EVENT
-{
-    GR_DBG_OBJECT_REF event;
-} GR_DBG_OP_DATA_CMD_RESET_EVENT;
-
-typedef struct _GR_DBG_OP_DATA_CMD_MEMORY_ATOMIC
-{
-    GR_GPU_MEMORY destMem;
-    GR_GPU_SIZE   destOffset;
-    GR_UINT64     srcData;
-    GR_ENUM       atomicOp;             // GR_ATOMIC_OP
-} GR_DBG_OP_DATA_CMD_MEMORY_ATOMIC;
-
-typedef struct _GR_DBG_OP_DATA_CMD_BEGIN_QUERY
-{
-    GR_DBG_OBJECT_REF queryPool;
-    GR_UINT           slot;
-    GR_FLAGS          flags;
-} GR_DBG_OP_DATA_CMD_BEGIN_QUERY;
-
-typedef struct _GR_DBG_OP_DATA_CMD_END_QUERY
-{
-    GR_DBG_OBJECT_REF queryPool;
-    GR_UINT           slot;
-} GR_DBG_OP_DATA_CMD_END_QUERY;
-
-typedef struct _GR_DBG_OP_DATA_CMD_RESET_QUERY_POOL
-{
-    GR_DBG_OBJECT_REF queryPool;
-    GR_UINT           startQuery;
-    GR_UINT           queryCount;
-} GR_DBG_OP_DATA_CMD_RESET_QUERY_POOL;
-
-typedef struct _GR_DBG_OP_DATA_CMD_WRITE_TIMESTAMP
-{
-    GR_ENUM       timestampType;        // GR_TIMESTAMP_TYPE
-    GR_GPU_MEMORY destMem;
-    GR_GPU_SIZE   destOffset;
-} GR_DBG_OP_DATA_CMD_WRITE_TIMESTAMP;
-
-typedef struct _GR_DBG_OP_DATA_CMD_INIT_ATOMIC_COUNTERS
-{
-    GR_ENUM   pipelineBindPoint;        // GR_PIPELINE_BIND_POINT
-    GR_UINT   startCounter;
-    GR_UINT   counterCount;
-    GR_UINT32 data[1];
-    // (counterCount-1) more DWORDs of data to follow...
-} GR_DBG_OP_DATA_CMD_INIT_ATOMIC_COUNTERS;
-
-typedef struct _GR_DBG_OP_DATA_CMD_LOAD_ATOMIC_COUNTERS
-{
-    GR_ENUM       pipelineBindPoint;    // GR_PIPELINE_BIND_POINT
-    GR_UINT       startCounter;
-    GR_UINT       counterCount;
-    GR_GPU_MEMORY srcMem;
-    GR_GPU_SIZE   srcOffset;
-} GR_DBG_OP_DATA_CMD_LOAD_ATOMIC_COUNTERS;
-
-typedef struct _GR_DBG_OP_DATA_CMD_SAVE_ATOMIC_COUNTERS
-{
-    GR_ENUM       pipelineBindPoint;    // GR_PIPELINE_BIND_POINT
-    GR_UINT       startCounter;
-    GR_UINT       counterCount;
-    GR_GPU_MEMORY destMem;
-    GR_GPU_SIZE   destOffset;
-} GR_DBG_OP_DATA_CMD_SAVE_ATOMIC_COUNTERS;
-
-typedef struct _GR_DBG_OP_DATA_CMD_DBG_MARKER_BEGIN
-{
-    GR_CHAR marker[1];
-    // The rest of null terminated string follows, up to the size of the packet...
-} GR_DBG_OP_DATA_CMD_DBG_MARKER_BEGIN;
-
-typedef struct _GR_DBG_OP_DATA_CMD_DBG_MARKER_END
-{
-    GR_UINT _reserved;
-} GR_DBG_OP_DATA_CMD_DBG_MARKER_END;
-
-// ------------------------------------------------------------------------------------------------
-// Debug message callback
-
-typedef GR_VOID (GR_STDCALL *GR_DBG_MSG_CALLBACK_FUNCTION)(
-    GR_ENUM        msgType,             // GR_DBG_MSG_TYPE
-    GR_ENUM        validationLevel,     // GR_VALIDATION_LEVEL
-    GR_BASE_OBJECT srcObject,
-    GR_SIZE        location,
-    GR_ENUM        msgCode,             // GR_DBG_MSG_CODE
-    const GR_CHAR* pMsg,
-    GR_VOID*       pUserData);
-
-// ------------------------------------------------------------------------------------------------
-// Debug functions
-
-GR_RESULT GR_STDCALL grDbgSetValidationLevel(
-    GR_DEVICE device,
-    GR_ENUM   validationLevel);         // GR_VALIDATION_LEVEL
-
-GR_RESULT GR_STDCALL grDbgRegisterMsgCallback(
-    GR_DBG_MSG_CALLBACK_FUNCTION pfnMsgCallback,
-    GR_VOID*                     pUserData);
-
-GR_RESULT GR_STDCALL grDbgUnregisterMsgCallback(
-    GR_DBG_MSG_CALLBACK_FUNCTION pfnMsgCallback);
-
-GR_RESULT GR_STDCALL grDbgSetMessageFilter(
-    GR_DEVICE device,
-    GR_ENUM   msgCode,                  // GR_DBG_MSG_CODE
-    GR_ENUM   filter);                  // GR_DBG_MSG_FILTER
-
-GR_RESULT GR_STDCALL grDbgSetObjectTag(
-    GR_BASE_OBJECT object,
-    GR_SIZE        tagSize,
-    const GR_VOID* pTag);
-
-GR_RESULT GR_STDCALL grDbgSetGlobalOption(
-    GR_ENUM        dbgOption,           // GR_DBG_GLOBAL_OPTION
-    GR_SIZE        dataSize,
-    const GR_VOID* pData);
-
-GR_RESULT GR_STDCALL grDbgSetDeviceOption(
-    GR_DEVICE      device,
-    GR_ENUM        dbgOption,           // GR_DBG_DEVICE_OPTION
-    GR_SIZE        dataSize,
-    const GR_VOID* pData);
-
-GR_VOID GR_STDCALL grCmdDbgMarkerBegin(
-    GR_CMD_BUFFER  cmdBuffer,
-    const GR_CHAR* pMarker);
-
-GR_VOID GR_STDCALL grCmdDbgMarkerEnd(
-    GR_CMD_BUFFER  cmdBuffer);
-
-#ifdef __cplusplus
-}; // extern "C"
-#endif // __cplusplus
-
-#endif // __MANTLEDBG_H__
diff --git a/include/mantlePlatform.h b/include/mantlePlatform.h
deleted file mode 100644 (file)
index efcab0b..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-//
-// File: mantlePlatform.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 __MANTLEPLATFORM_H__
-#define __MANTLEPLATFORM_H__
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif // __cplusplus
-
-/*
-***************************************************************************************************
-*   Platform-specific directives and type declarations
-***************************************************************************************************
-*/
-
-#if defined(_WIN32)
-    // On Windows, GR_STDCALL should equate to the __stdcall convention
-    #define GR_STDCALL   __stdcall
-#elif defined(__GNUC__)
-    // On other platforms using GCC, GR_STDCALL stays undefined
-    #define GR_STDCALL
-#else
-    // Unsupported Platform!
-    #error "Unsupported OS Platform detected!"
-#endif
-
-#if defined(__GNUC__)
-    #include <stddef.h>
-#endif
-
-#if defined(_WIN32)
-    // Windows platform
-    typedef unsigned __int8  GR_UINT8;
-    typedef signed   __int32 GR_INT32;
-    typedef unsigned __int32 GR_UINT32;
-    typedef signed   __int64 GR_INT64;
-    typedef unsigned __int64 GR_UINT64;
-#elif defined(__GNUC__)
-    // Other platforms
-    typedef uint8_t          GR_UINT8;
-    typedef int32_t          GR_INT32;
-    typedef uint32_t         GR_UINT32;
-    typedef int64_t          GR_INT64;
-    typedef uint64_t         GR_UINT64;
-#endif
-
-typedef size_t    GR_SIZE;
-typedef GR_UINT64 GR_GPU_SIZE;
-typedef GR_UINT8  GR_BYTE;
-typedef GR_INT32  GR_INT;
-typedef GR_UINT32 GR_UINT;
-typedef char      GR_CHAR;
-typedef float     GR_FLOAT;
-typedef double    GR_DOUBLE;
-typedef GR_UINT32 GR_BOOL;
-typedef void      GR_VOID;
-
-typedef GR_UINT32 GR_SAMPLE_MASK;
-typedef GR_UINT32 GR_FLAGS;
-typedef GR_INT32  GR_ENUM;
-typedef GR_INT32  GR_RESULT;
-
-#ifdef __cplusplus
-}; // extern "C"
-#endif // __cplusplus
-
-#endif // __MANTLEPLATFORM_H__
diff --git a/include/mantleWsiWinExt.h b/include/mantleWsiWinExt.h
deleted file mode 100644 (file)
index ee27b63..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-//
-// File: mantleWsiWinExt.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 __MANTLEWSIWINEXT_H__
-#define __MANTLEWSIWINEXT_H__
-
-#include <windows.h>
-#include "mantle.h"
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif // __cplusplus
-
-GR_DEFINE_SUBCLASS_HANDLE(GR_WSI_WIN_DISPLAY, GR_OBJECT)
-
-#define GR_MAX_DEVICE_NAME_LEN           32
-#define GR_MAX_GAMMA_RAMP_CONTROL_POINTS 1025
-
-typedef enum _GR_WSI_WIN_RESULT_CODE
-{
-    GR_WSI_WIN_PRESENT_OCCLUDED                  = 0x00210000,
-    GR_WSI_WIN_ERROR_FULLSCREEN_UNAVAILABLE      = 0x00210001,
-    GR_WSI_WIN_ERROR_DISPLAY_REMOVED             = 0x00210002,
-    GR_WSI_WIN_ERROR_INCOMPATIBLE_DISPLAY_MODE   = 0x00210003,
-    GR_WSI_WIN_ERROR_MULTI_DEVICE_PRESENT_FAILED = 0x00210004,
-    GR_WSI_WIN_ERROR_BLT_PRESENT_UNAVAILABLE     = 0x00210005,
-    GR_WSI_WIN_ERROR_INVALID_RESOLUTION          = 0x00210006,
-} GR_WSI_WIN_RESULT_CODE;
-
-typedef enum _GR_WSI_WIN_IMAGE_STATE
-{
-    GR_WSI_WIN_PRESENT_SOURCE_BLT  = 0x00200000,
-    GR_WSI_WIN_PRESENT_SOURCE_FLIP = 0x00200001,
-
-    GR_WSI_WIN_IMAGE_STATE_BEGIN_RANGE = GR_WSI_WIN_PRESENT_SOURCE_BLT,
-    GR_WSI_WIN_IMAGE_STATE_END_RANGE   = GR_WSI_WIN_PRESENT_SOURCE_FLIP,
-    GR_NUM_WSI_WIN_IMAGE_STATE         = (GR_WSI_WIN_IMAGE_STATE_END_RANGE - GR_WSI_WIN_IMAGE_STATE_BEGIN_RANGE + 1),
-} GR_WSI_WIN_IMAGE_STATE;
-
-typedef enum _GR_WSI_WIN_ROTATION_ANGLE
-{
-    GR_WSI_WIN_ROTATION_ANGLE_0   = 0x00200100,
-    GR_WSI_WIN_ROTATION_ANGLE_90  = 0x00200101,
-    GR_WSI_WIN_ROTATION_ANGLE_180 = 0x00200102,
-    GR_WSI_WIN_ROTATION_ANGLE_270 = 0x00200103,
-
-    GR_WSI_WIN_ROTATION_ANGLE_BEGIN_RANGE = GR_WSI_WIN_ROTATION_ANGLE_0,
-    GR_WSI_WIN_ROTATION_ANGLE_END_RANGE   = GR_WSI_WIN_ROTATION_ANGLE_270,
-    GR_NUM_WSI_WIN_ROTATION_ANGLE         = (GR_WSI_WIN_ROTATION_ANGLE_END_RANGE - GR_WSI_WIN_ROTATION_ANGLE_BEGIN_RANGE + 1),
-} GR_WSI_WIN_ROTATION_ANGLE;
-
-typedef enum _GR_WSI_WIN_PRESENT_MODE
-{
-    GR_WSI_WIN_PRESENT_MODE_BLT  = 0x00200200,
-    GR_WSI_WIN_PRESENT_MODE_FLIP = 0x00200201,
-
-    GR_WSI_WIN_PRESENT_MODE_BEGIN_RANGE = GR_WSI_WIN_PRESENT_MODE_BLT,
-    GR_WSI_WIN_PRESENT_MODE_END_RANGE   = GR_WSI_WIN_PRESENT_MODE_FLIP,
-    GR_NUM_WSI_WIN_PRESENT_MODE         = (GR_WSI_WIN_PRESENT_MODE_END_RANGE - GR_WSI_WIN_PRESENT_MODE_BEGIN_RANGE + 1),
-} GR_WSI_WIN_PRESENT_MODE;
-
-typedef enum _GR_WSI_WIN_INFO_TYPE
-{
-    GR_WSI_WIN_INFO_TYPE_QUEUE_PROPERTIES        = 0x00206800,
-    GR_WSI_WIN_INFO_TYPE_DISPLAY_PROPERTIES      = 0x00206801,
-    GR_WSI_WIN_INFO_TYPE_GAMMA_RAMP_CAPABILITIES = 0x00206802,
-
-    GR_WSI_WIN_INFO_TYPE_BEGIN_RANGE = GR_WSI_WIN_INFO_TYPE_QUEUE_PROPERTIES,
-    GR_WSI_WIN_INFO_TYPE_END_RANGE   = GR_WSI_WIN_INFO_TYPE_GAMMA_RAMP_CAPABILITIES,
-    GR_NUM_WSI_WIN_INFO_TYPE         = (GR_WSI_WIN_INFO_TYPE_END_RANGE - GR_WSI_WIN_INFO_TYPE_BEGIN_RANGE + 1),
-} GR_WSI_WIN_INFO_TYPE;
-
-typedef enum _GR_WSI_WIN_PRESENT_FLAGS
-{
-    GR_WSI_WIN_PRESENT_FLIP_DONOTWAIT = 0x00000001,
-    GR_WSI_WIN_PRESENT_FLIP_STEREO    = 0x00000002,
-} GR_WSI_WIN_PRESENT_FLAGS;
-
-typedef enum _GR_WSI_WIN_IMAGE_CREATE_FLAGS
-{
-    GR_WSI_WIN_IMAGE_CREATE_FLIPPABLE = 0x00000001,
-    GR_WSI_WIN_IMAGE_CREATE_STEREO    = 0x00000002,
-} GR_WSI_WIN_IMAGE_CREATE_FLAGS;
-
-typedef enum _GR_WSI_WIN_PRESENT_SUPPORT_FLAGS
-{
-    GR_WSI_WIN_FLIP_PRESENT_SUPPORTED = 0x00000001,
-    GR_WSI_WIN_BLT_PRESENT_SUPPORTED  = 0x00000002,
-} GR_WSI_WIN_PRESENT_SUPPORT_FLAGS;
-
-typedef struct _GR_WSI_WIN_QUEUE_PROPERTIES
-{
-    GR_FLAGS presentSupport;            // GR_WSI_WIN_PRESENT_SUPPORT_FLAGS
-} GR_WSI_WIN_QUEUE_PROPERTIES;
-
-typedef struct _GR_WSI_WIN_DISPLAY_PROPERTIES
-{
-    HMONITOR hMonitor;
-    GR_CHAR  displayName[GR_MAX_DEVICE_NAME_LEN];
-    GR_RECT  desktopCoordinates;
-    GR_ENUM  rotation;                  // GR_WSI_WIN_ROTATION_ANGLE
-} GR_WSI_WIN_DISPLAY_PROPERTIES;
-
-typedef struct _GR_RGB_FLOAT
-{
-    GR_FLOAT red;
-    GR_FLOAT green;
-    GR_FLOAT blue;
-} GR_RGB_FLOAT;
-
-typedef struct _GR_WSI_WIN_GAMMA_RAMP_CAPABILITIES
-{
-    GR_BOOL  supportsScaleAndOffset;
-    GR_FLOAT minConvertedValue;
-    GR_FLOAT maxConvertedValue;
-    GR_UINT  controlPointCount;
-    GR_FLOAT controlPointPositions[GR_MAX_GAMMA_RAMP_CONTROL_POINTS];
-} GR_WSI_WIN_GAMMA_RAMP_CAPABILITIES;
-
-typedef struct _GR_WSI_WIN_GAMMA_RAMP
-{
-    GR_RGB_FLOAT scale;
-    GR_RGB_FLOAT offset;
-    GR_RGB_FLOAT gammaCurve[GR_MAX_GAMMA_RAMP_CONTROL_POINTS];
-} GR_WSI_WIN_GAMMA_RAMP;
-
-typedef struct _GR_WSI_WIN_PRESENTABLE_IMAGE_CREATE_INFO
-{
-    GR_FORMAT          format;
-    GR_FLAGS           usage;           // GR_IMAGE_USAGE_FLAGS
-    GR_EXTENT2D        extent;
-    GR_WSI_WIN_DISPLAY display;
-    GR_FLAGS           flags;           // GR_WSI_WIN_IMAGE_CREATE_FLAGS
-} GR_WSI_WIN_PRESENTABLE_IMAGE_CREATE_INFO;
-
-typedef struct _GR_WSI_WIN_PRESENT_INFO
-{
-    HWND     hWndDest;
-    GR_IMAGE srcImage;
-    GR_ENUM  presentMode;               // GR_WSI_WIN_PRESENT_MODE
-    GR_UINT  flipInterval;
-    GR_FLAGS flags;                     // GR_WSI_WIN_PRESENT_FLAGS
-} GR_WSI_WIN_PRESENT_INFO;
-
-typedef struct _GR_WSI_WIN_DISPLAY_MODE
-{
-    GR_EXTENT2D extent;
-    GR_FORMAT   format;
-    GR_UINT     refreshRate;
-    GR_BOOL     stereo;
-    GR_BOOL     crossDisplayPresent;
-} GR_WSI_WIN_DISPLAY_MODE;
-
-GR_RESULT GR_STDCALL grWsiWinGetDisplays(
-    GR_DEVICE           device,
-    GR_UINT*            pDisplayCount,
-    GR_WSI_WIN_DISPLAY* pDisplayList);
-
-GR_RESULT GR_STDCALL grWsiWinGetDisplayModeList(
-    GR_WSI_WIN_DISPLAY       display,
-    GR_UINT*                 pDisplayModeCount,
-    GR_WSI_WIN_DISPLAY_MODE* pDisplayModeList);
-
-GR_RESULT GR_STDCALL grWsiWinTakeFullscreenOwnership(
-    GR_WSI_WIN_DISPLAY display,
-    GR_IMAGE           image);
-
-GR_RESULT GR_STDCALL grWsiWinReleaseFullscreenOwnership(
-    GR_WSI_WIN_DISPLAY display);
-
-GR_RESULT GR_STDCALL grWsiWinSetGammaRamp(
-    GR_WSI_WIN_DISPLAY           display,
-    const GR_WSI_WIN_GAMMA_RAMP* pGammaRamp);
-
-GR_RESULT GR_STDCALL grWsiWinWaitForVerticalBlank(
-    GR_WSI_WIN_DISPLAY display);
-
-GR_RESULT GR_STDCALL grWsiWinGetScanLine(
-    GR_WSI_WIN_DISPLAY display,
-    GR_INT*            pScanLine);
-
-GR_RESULT GR_STDCALL grWsiWinCreatePresentableImage(
-    GR_DEVICE                                       device,
-    const GR_WSI_WIN_PRESENTABLE_IMAGE_CREATE_INFO* pCreateInfo,
-    GR_IMAGE*                                       pImage,
-    GR_GPU_MEMORY*                                  pMem);
-
-GR_RESULT GR_STDCALL grWsiWinQueuePresent(
-    GR_QUEUE                       queue,
-    const GR_WSI_WIN_PRESENT_INFO* pPresentInfo);
-
-GR_RESULT GR_STDCALL grWsiWinSetMaxQueuedFrames(
-    GR_DEVICE device,
-    GR_UINT   maxFrames);
-
-#ifdef __cplusplus
-}; // extern "C"
-#endif // __cplusplus
-
-#endif // __MANTLEWSIWINEXT_H__
diff --git a/include/mantleWsiWinExtDbg.h b/include/mantleWsiWinExtDbg.h
deleted file mode 100644 (file)
index 8b0e5d3..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// File: mantleWsiWinExtDbg.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 __MANTLEWSIWINEXTDBG_H__
-#define __MANTLEWSIWINEXTDBG_H__
-
-#include "mantle.h"
-
-#ifdef __cplusplus
-extern "C"
-{
-#endif // __cplusplus
-
-typedef enum _GR_WSI_WIN_DBG_OBJECT_TYPE
-{
-    GR_WSI_WIN_DBG_OBJECT_DISPLAY           = 0x00210900,
-    GR_WSI_WIN_DBG_OBJECT_PRESENTABLE_IMAGE = 0x00210901,
-
-    GR_WSI_WIN_DBG_OBJECT_TYPE_BEGIN_RANGE = GR_WSI_WIN_DBG_OBJECT_DISPLAY,
-    GR_WSI_WIN_DBG_OBJECT_TYPE_END_RANGE   = GR_WSI_WIN_DBG_OBJECT_PRESENTABLE_IMAGE,
-    GR_NUM_WSI_WIN_DBG_OBJECT_TYPE         = (GR_WSI_WIN_DBG_OBJECT_TYPE_END_RANGE - GR_WSI_WIN_DBG_OBJECT_TYPE_BEGIN_RANGE + 1),
-} GR_WSI_WIN_DBG_OBJECT_TYPE;
-
-#ifdef __cplusplus
-}; // extern "C"
-#endif // __cplusplus
-
-#endif // __MANTLEWSIWINEXTDBG_H__