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