From fb11cdd402298a29ac17e2c1e5317366d406b33f Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Thu, 11 Sep 2014 12:51:27 -0600 Subject: xgl: Remove mantle headers --- include/mantle.h | 2033 ------------------------------------------ include/mantleDbg.h | 623 ------------- include/mantlePlatform.h | 111 --- include/mantleWsiWinExt.h | 243 ----- include/mantleWsiWinExtDbg.h | 70 -- 5 files changed, 3080 deletions(-) delete mode 100644 include/mantle.h delete mode 100644 include/mantleDbg.h delete mode 100644 include/mantlePlatform.h delete mode 100644 include/mantleWsiWinExt.h delete mode 100644 include/mantleWsiWinExtDbg.h diff --git a/include/mantle.h b/include/mantle.h deleted file mode 100644 index 3f20dba2..00000000 --- a/include/mantle.h +++ /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 index d51a3f6b..00000000 --- a/include/mantleDbg.h +++ /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 index efcab0b9..00000000 --- a/include/mantlePlatform.h +++ /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 -#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 index ee27b635..00000000 --- a/include/mantleWsiWinExt.h +++ /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 -#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 index 8b0e5d36..00000000 --- a/include/mantleWsiWinExtDbg.h +++ /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__ -- cgit v1.2.3