12#if !defined(GX_EVALUATION)
13#define GX_EVALUATION 0
19#define GX_ASSERT_ENABLE 0
23#define GX_ASSERT_ENABLE 1
27#if defined(_WINDOWS) && GX_DEVELOP
34#define GX_STRING_ENCODE_SJIS 0
35#define GX_STRING_ENCODE_EUC 1
36#define GX_STRING_ENCODE_UTF8 2
39#define GX_WIKI_ADDRESS "https://d2bamn6912wffr.cloudfront.net/OROCHI/doc/"
42#ifndef GX_USE_UNIT_PROFILE
44#define GX_USE_UNIT_PROFILE 1
46#define GX_USE_UNIT_PROFILE 0
60#ifndef GX_USE_DEFAULT_ALLOCATOR
61#define GX_USE_DEFAULT_ALLOCATOR 0
66#ifndef GX_ASYNC_LOAD_THREAD_CPU_INDEX
67#define GX_ASYNC_LOAD_THREAD_CPU_INDEX (-1)
72#ifndef GX_WORKER_THREAD_STACKSIZE
73#define GX_WORKER_THREAD_STACKSIZE (0xC000)
77#ifndef GX_RENDER_THREAD_STACKSIZE
78#define GX_RENDER_THREAD_STACKSIZE (0xC000)
82#ifndef GX_ASYNC_LOAD_THREAD_STACKSIZE
83#define GX_ASYNC_LOAD_THREAD_STACKSIZE (0xC000)
87#ifndef GX_VECTOR_ZERO_DIVIDE_WARNING_ENABLE
88#define GX_VECTOR_ZERO_DIVIDE_WARNING_ENABLE 0
95#define GX_SHADER_DEBUG 0
101#define GX_PS_PROFILING 0
106#define GX_DIRECTX_VERSION_INVALID 0x1000
107#define GX_DIRECTX_VERSION_9_1 0x9100
108#define GX_DIRECTX_VERSION_9_2 0x9200
109#define GX_DIRECTX_VERSION_9_3 0x9300
110#define GX_DIRECTX_VERSION_10_0 0xa000
111#define GX_DIRECTX_VERSION_10_1 0xa100
112#define GX_DIRECTX_VERSION_11_0 0xb000
113#define GX_DIRECTX_VERSION_11_1 0xb100
114#define GX_DIRECTX_VERSION_12_0 0xc000
115#define GX_DIRECTX_VERSION_12_1 0xc100
116#define GX_DIRECTX_VERSION_12_2 0xc200
118#define GX_USE_DX10 (GX_DIRECTX_VERSION_10_0 <= GX_DIRECTX_VERSION && GX_DIRECTX_VERSION < GX_DIRECTX_VERSION_11_0)
119#define GX_USE_DX11 (GX_DIRECTX_VERSION_11_0 <= GX_DIRECTX_VERSION && GX_DIRECTX_VERSION < GX_DIRECTX_VERSION_12_0)
120#define GX_USE_DX12 (GX_DIRECTX_VERSION_12_0 <= GX_DIRECTX_VERSION)
125#define GX_OPENGL_VERSION_INVALID 0
126#define GX_OPENGL_VERSION_4_0 40
127#define GX_OPENGL_VERSION_4_1 41
128#define GX_OPENGL_VERSION_4_2 42
129#define GX_OPENGL_VERSION_4_3 43
130#define GX_OPENGL_VERSION_4_4 44
131#define GX_OPENGL_VERSION_4_5 45
132#define GX_OPENGL_VERSION_4_6 46
137#define GX_SHADER_MODEL_1 10
138#define GX_SHADER_MODEL_2 20
139#define GX_SHADER_MODEL_3 30
140#define GX_SHADER_MODEL_4 40
141#define GX_SHADER_MODEL_5 50
142#define GX_SHADER_MODEL_6 60
145#include "PS4/GxDefinePS4.h"
146#elif defined(_WINDOWS)
147#include "GxDefineWindows.h"
149#include "NX64/GxDefineNX64.h"
151#include "PS5/GxDefinePS5.h"
152#elif defined(_XBOX_XS)
153#include "XBOX_XS/GxDefineXboxXS.h"
156GX_CORE_NAMESPACE_BEGIN()
165 constexpr b32_(
void) : _boolean(0) {}
167 constexpr b32_(u32
boolean) : _boolean(boolean) {}
180 constexpr b32(
bool boolean) :
b32_(static_cast<u32>(boolean)) {}
184 constexpr operator bool(
void)
const {
return _boolean ? true :
false; }
231#if defined(_WINDOWS) && GX_DEVELOP
233static constexpr GX_ENDIAN getEndian(GX_PLATFORM )
271static GX_CSTR GX_TRACE_CATEGORY_TEXT[
static_cast<u32
>(
GX_LIBRARY::MAX) + 2] = {
290#define GX_TRACE_CATEGORY_NONE 0
291#define GX_TRACE_CATEGORY_CORE (1 << static_cast<u32>(GX_LIBRARY::CORE))
292#define GX_TRACE_CATEGORY_CHARACTER (1 << static_cast<u32>(GX_LIBRARY::CHARACTER))
293#define GX_TRACE_CATEGORY_MOTION (1 << static_cast<u32>(GX_LIBRARY::MOTION))
294#define GX_TRACE_CATEGORY_PHYSICS (1 << static_cast<u32>(GX_LIBRARY::PHYSICS))
295#define GX_TRACE_CATEGORY_UTILITY (1 << static_cast<u32>(GX_LIBRARY::UTILITY))
296#define GX_TRACE_CATEGORY_SHADER (1 << static_cast<u32>(GX_LIBRARY::SHADER))
297#define GX_TRACE_CATEGORY_FILTER (1 << static_cast<u32>(GX_LIBRARY::FILTER))
298#define GX_TRACE_CATEGORY_EFFECT (1 << static_cast<u32>(GX_LIBRARY::EFFECT))
299#define GX_TRACE_CATEGORY_SOUND (1 << static_cast<u32>(GX_LIBRARY::SOUND))
300#define GX_TRACE_CATEGORY_NETWORK (1 << static_cast<u32>(GX_LIBRARY::NETWORK))
301#define GX_TRACE_CATEGORY_P2P (1 << static_cast<u32>(GX_LIBRARY::P2P))
302#define GX_TRACE_CATEGORY_MOVIE (1 << static_cast<u32>(GX_LIBRARY::MOVIE))
303#define GX_TRACE_CATEGORY_HUD (1 << static_cast<u32>(GX_LIBRARY::HUD))
304#define GX_TRACE_CATEGORY_WARNING (1 << static_cast<u32>(GX_LIBRARY::MAX))
305#define GX_TRACE_CATEGORY_ERROR (GX_TRACE_CATEGORY_WARNING << 1)
306#define GX_TRACE_CATEGORY_MAX GX_TRACE_CATEGORY_ERROR
307#define GX_TRACE_CATEGORY_ALL 0xFFFFFFFF
310#define GX_REPORT_LENGTH_MAX 256
312extern void report(u32 category,
OUTPUT_TYPE type, GX_CSTR , s32 , GX_CSTR , GX_CSTR format, ...);
317GX_CORE_NAMESPACE_END()
320#define GX_ASSERT(__EXPRESSION__, ...) (void)((!!(__EXPRESSION__)) || (gx::core::report(GX_TRACE_CATEGORY_ERROR, gx::core::OUTPUT_TYPE::ASSERT, __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__), 0))
321#define GX_ERROR(__EXPRESSION__, ...) (void)((!!(__EXPRESSION__)) || (gx::core::report(GX_TRACE_CATEGORY_ERROR, gx::core::OUTPUT_TYPE::WARNING, __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__), 0))
322#define GX_WARNING(__EXPRESSION__, ...) (void)((!!(__EXPRESSION__)) || (gx::core::report(GX_TRACE_CATEGORY_WARNING, gx::core::OUTPUT_TYPE::WARNING, __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__), 0))
323#define GX_TRACE(__CATEGORY__, ...) gx::core::report(__CATEGORY__, gx::core::OUTPUT_TYPE::TRACE, __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__)
324#define GX_CRITICAL_EXIT() gx::core::critical_error_exit()
326#define GX_ASSERT(__EXPRESSION__, ...) ((void)0)
327#define GX_ERROR(__EXPRESSION__, ...) ((void)0)
328#define GX_WARNING(__EXPRESSION__, ...) ((void)0)
329#define GX_TRACE(...) ((void)0)
330#define GX_CRITICAL_EXIT() ((void)0)
333#define GX_USE_DIRECTX (GX_DIRECTX_VERSION != GX_DIRECTX_VERSION_INVALID)
334#define GX_USE_OPENGL (GX_OPENGL_VERSION != GX_OPENGL_VERSION_INVALID)
335#define GX_USE_HLSL (!GX_USE_OPENGL)
339#define GX_DIRECTX_ASSERT(__RESULT__, __FUNCTION__) GX_ASSERT(SUCCEEDED(__RESULT__), "%s() error:0x%08X", __FUNCTION__, static_cast<u32>(__RESULT__))
341#define GX_DIRECTX_ASSERT(__RESULT__, __FUNCTION__) GX_UNUSED(__RESULT__)
347#define GX_DEVELOP_FUNC_STR(__MY_STR__) (__MY_STR__)
349#define GX_DEVELOP_FUNC_STR(__MY_STR__) ("")
352#if GX_SHADER_MODEL >= GX_SHADER_MODEL_5
353#define GX_ENABLE_TESSELLATION 1
354#define GX_ENABLE_COMPUTE_SHADER 1
356#define GX_ENABLE_TESSELLATION 0
357#define GX_ENABLE_COMPUTE_SHADER 0
360#if defined(_PS4) || defined(_NX64) || defined(_PS5)
361#define ENABLE_SHADER_COMPILE 1
362#define ENABLE_PARARELL_SHADER_COMPILE 1
364#define ENABLE_SHADER_COMPILE 0
365#define ENABLE_PARARELL_SHADER_COMPILE 0
370#define GX_ENABLE_NEO 1
372#define GX_ENABLE_NEO 0
377#define GX_ENABLE_HTILE_STENCIL_MASK 1
379#define GX_ENABLE_HTILE_STENCIL_MASK 0
383#if GX_USE_DX12 || defined(_PS4) || defined(_PS5)
384#define GX_ENABLE_OCCLUSION_CULLING 1
386#define GX_ENABLE_OCCLUSION_CULLING 0
GX_ENDIAN
エンディアン定義
Definition GxDefine.h:220
void critical_error_exit(void)
強制終了
Definition GxDefine.cpp:374
OUTPUT_TYPE
出力形式
Definition GxDefine.h:244
GX_LIBRARY
GXライブラリの定義
Definition GxDefine.h:253
void GxTypedObject
その他
Definition GxDefine.h:213
void report(u32 category, OUTPUT_TYPE type, GX_CSTR, s32, GX_CSTR, GX_CSTR format,...)
レポート出力
Definition GxDefine.cpp:297
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
GUI用
Definition GxDefine.h:194
GX_CSTR _name
名前
Definition GxDefine.h:196
s32 _index
インデックス値
Definition GxDefine.h:197
GUI用フラグ型
Definition GxDefine.h:203
u32 _flag
フラグ値
Definition GxDefine.h:206
GX_CSTR _name
名前
Definition GxDefine.h:205
32bitブーリアン型
Definition GxDefine.h:162
constexpr b32_(u32 boolean)
コンストラクタ
Definition GxDefine.h:167
u32 _boolean
真偽値
Definition GxDefine.h:168
constexpr b32_(void)
デフォルトコンストラクタ
Definition GxDefine.h:165
32bitブーリアン
Definition GxDefine.h:173
constexpr b32(void)
デフォルトコンストラクタ
Definition GxDefine.h:176
constexpr b32(const b32_ &boolean)
コピーコンストラクタ
Definition GxDefine.h:182
constexpr const b32 & operator&=(const b32 &boolean)
演算子
Definition GxDefine.h:186
constexpr b32(bool boolean)
コピーコンストラクタ
Definition GxDefine.h:180
~b32(void)
デストラクタ
Definition GxDefine.h:178