13GX_CORE_NAMESPACE_BEGIN()
19class GxDebugCommunicationInitialInformation :
public GxClassBase
27 GX_RTTI_CLASS(GxDebugCommunicationInitialInformation,
GxClassBase)
38 GxDebugCommunicationInitialInformation(
void)
39 : _reciveBufferSize(GxDebugCommunicationBase::RECEIVE_MAX_SIZE)
40 , _useRuntimeShaderCompile(false)
42 , _useLastWriteTime(true)
66 u32 _reciveBufferSize;
67 b32 _useRuntimeShaderCompile;
69 b32 _useLastWriteTime;
84 GX_RTTI_ABSTRACT_CLASS(GxSysDebugCommunication,
GxSysBase)
89 class ApplicationDataReceiveObserverBase;
93 static constexpr u32 FILE_COMMUNICATION_TIMEOUT_MSEC = 5 * 1000;
95 static constexpr u32 PACKET_MAX_SIZE = GxDebugCommunicationBase::PACKET_MAX_SIZE;
97 static constexpr u32 KEEP_ALIVE_PACKET_SPAN_SEC = 2 * 1000;
101 struct GxApplicationDataReceiveCallbackInformation
104 GxSysDebugCommunication::ApplicationDataReceiveObserverBase* _pObserver;
111 HEALTH_CHECK = 0x00010001,
113 FILE_OPEN = 0x01000001,
114 FILE_CLOSE = 0x01000002,
115 FILE_READ = 0x01000003,
116 FILE_WRITE = 0x01000004,
117 FILE_SEEK = 0x01000005,
118 FILE_MOVE = 0x01000006,
119 FILE_COPY = 0x01000007,
120 FILE_REMOVE = 0x01000008,
121 FILE_FIND_FIRST = 0x01000009,
122 FILE_FIND_NEXT = 0x0100000a,
123 FILE_FIND_CLOSE = 0x0100000b,
124 FILE_SET_TIMESTAMP = 0x0100000c,
125 FILE_GET_SIZE = 0x0100000d,
127 FILE_GET_TIMESTAMP_NX = 0x0100000e,
128 FILE_SET_TIMESTAMP_NX = 0x0100000f,
130 DIRECTORY_CREATE = 0x02000001,
131 DIRECTORY_REMOVE = 0x02000002,
132#if ENABLE_SHADER_COMPILE
133 COMPILE_SHADER = 0x03000001,
135 SENDDATA_FROM_APPLICATION = 0x10000001,
136 SENDDATA_FROM_PLATFORM = 0x10000002
140 struct GxPacketKeepAliveResponse
148 GxPacketKeepAliveResponse(
void)
150 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::HEALTH_CHECK));
151 _header._bodySize = 0;
152 _header._isReply =
true;
161 GxDebugCommunicationBase::GxPacketHeader _header;
167 struct GxPacketBodyInput
177 static constexpr u32 KEY_LBUTTON = 0x01;
179 static constexpr u32 KEY_RBUTTON = 0x02;
181 static constexpr u32 KEY_MBUTTON = 0x04;
183 static constexpr u32 KEY_XBUTTON1 = 0x05;
185 static constexpr u32 KEY_XBUTTON2 = 0x06;
195 u32 _captureRectWidth;
196 u32 _captureRectHeight;
198 GX_CHAR _keyboardState[KEY_NUM];
204 struct GxPacketBodyFileOpen
220 GX_CHAR _path[FILE_PATH_MAX];
227 struct GxPacketBodyFileOpenResponse
234 struct GxPacketFileOpen
242 GxPacketFileOpen(
void)
244 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_OPEN));
245 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileOpen)));
246 _header._isReply =
false;
247 GX_MEMSET(&_body, 0,
sizeof(GxPacketBodyFileOpen));
256 GxDebugCommunicationBase::GxPacketHeader _header;
257 GxPacketBodyFileOpen _body;
263 struct GxPacketBodyFileClose
269 struct GxPacketFileClose
277 GxPacketFileClose(
void)
279 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_CLOSE));
280 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileClose)));
281 _header._isReply =
false;
291 GxDebugCommunicationBase::GxPacketHeader _header;
292 GxPacketBodyFileClose _body;
298 struct GxPacketBodyFileRead
305 struct GxPacketBodyFileReadResponse
313 static constexpr u32 READ_SIZE_MAX = PACKET_MAX_SIZE -
sizeof(GxDebugCommunicationBase::GxPacketHeader) -
sizeof(u32);
322 GX_CHAR _data[READ_SIZE_MAX];
328 struct GxPacketFileRead
336 GxPacketFileRead(
void)
338 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_READ));
339 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileRead)));
340 _header._isReply =
false;
341 GX_MEMSET(&_body, 0,
sizeof(GxPacketBodyFileRead));
350 GxDebugCommunicationBase::GxPacketHeader _header;
351 GxPacketBodyFileRead _body;
357 struct GxPacketBodyFileWrite
365 static constexpr u32 WRITE_SIZE_MAX = PACKET_MAX_SIZE -
sizeof(GxDebugCommunicationBase::GxPacketHeader) -
sizeof(u32) * 2;
375 GX_CHAR _data[WRITE_SIZE_MAX];
381 struct GxPacketBodyFileWriteResponse
387 struct GxPacketFileWrite
395 GxPacketFileWrite(
void)
397 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_WRITE));
398 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileWrite)));
399 _header._isReply =
false;
400 GX_MEMSET(&_body, 0,
sizeof(GxPacketBodyFileWrite));
409 GxDebugCommunicationBase::GxPacketHeader _header;
410 GxPacketBodyFileWrite _body;
418 struct GxPacketBodyFileSeek
426 struct GxPacketBodyFileSeekResponse
432 struct GxPacketFileSeek
440 GxPacketFileSeek(
void)
442 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_SEEK));
443 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileSeek)));
444 _header._isReply =
false;
445 GX_MEMSET(&_body, 0,
sizeof(GxPacketBodyFileSeek));
454 GxDebugCommunicationBase::GxPacketHeader _header;
455 GxPacketBodyFileSeek _body;
461 struct GxPacketBodyFileMove
477 GX_CHAR _srcPath[FILE_PATH_MAX];
478 GX_CHAR _dstPath[FILE_PATH_MAX];
484 struct GxPacketFileMove
492 GxPacketFileMove(
void)
494 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_MOVE));
495 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileMove)));
496 _header._isReply =
false;
497 GX_MEMSET(&_body, 0,
sizeof(GxPacketBodyFileMove));
506 GxDebugCommunicationBase::GxPacketHeader _header;
507 GxPacketBodyFileMove _body;
515 struct GxPacketBodyFileCopy
531 GX_CHAR _srcPath[FILE_PATH_MAX];
532 GX_CHAR _dstPath[FILE_PATH_MAX];
538 struct GxPacketFileCopy
546 GxPacketFileCopy(
void)
548 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_COPY));
549 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileCopy)));
550 _header._isReply =
false;
551 GX_MEMSET(&_body, 0,
sizeof(GxPacketBodyFileCopy));
560 GxDebugCommunicationBase::GxPacketHeader _header;
561 GxPacketBodyFileCopy _body;
567 struct GxPacketBodyFileRemove
583 GX_CHAR _path[FILE_PATH_MAX];
589 struct GxPacketFileRemove
597 GxPacketFileRemove(
void)
599 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_REMOVE));
600 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileRemove)));
601 _header._isReply =
false;
602 _body._path[0] =
'\0';
611 GxDebugCommunicationBase::GxPacketHeader _header;
612 GxPacketBodyFileRemove _body;
620 struct GxPacketBodyFileFindFirst
636 GX_CHAR _path[FILE_PATH_MAX];
642 struct GxPacketBodyFileFindFirstResponse
655 ATTRIBUTE_NOTHING = 0,
656 ATTRIBUTE_DIRECTORY = (1<<0),
657 ATTRIBUTE_ARCHIVE = (1<<1),
658 ATTRIBUTE_READONLY = (1<<2),
659 ATTRIBUTE_HIDDEN = (1<<3),
660 ATTRIBUTE_SYSTEM = (1<<4),
661 ATTRIBUTE_NORMAL = (1<<5)
673 u32 _lastWriteTimeLow;
674 u32 _lastWriteTimeHigh;
676 GX_CHAR _filename[FILE_PATH_MAX];
682 struct GxPacketFileFindFirst
690 GxPacketFileFindFirst(
void)
692 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_FIND_FIRST));
693 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileFindFirst)));
694 _header._isReply =
false;
695 _body._path[0] =
'\0';
704 GxDebugCommunicationBase::GxPacketHeader _header;
705 GxPacketBodyFileFindFirst _body;
711 struct GxPacketBodyFileFindNext
717 struct GxPacketBodyFileFindNextResponse
730 ATTRIBUTE_NOTHING = 0,
731 ATTRIBUTE_DIRECTORY = (1<<0),
732 ATTRIBUTE_ARCHIVE = (1<<1),
733 ATTRIBUTE_READONLY = (1<<2),
734 ATTRIBUTE_HIDDEN = (1<<3),
735 ATTRIBUTE_SYSTEM = (1<<4),
736 ATTRIBUTE_NORMAL = (1<<5)
747 u32 _lastWriteTimeLow;
748 u32 _lastWriteTimeHigh;
750 GX_CHAR _filename[FILE_PATH_MAX];
758 struct GxPacketFileFindNext
766 GxPacketFileFindNext(
void)
768 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_FIND_NEXT));
769 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileFindNext)));
770 _header._isReply =
false;
780 GxDebugCommunicationBase::GxPacketHeader _header;
781 GxPacketBodyFileFindNext _body;
787 struct GxPacketBodyFileFindClose
793 struct GxPacketFileFindClose
801 GxPacketFileFindClose(
void)
803 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_FIND_CLOSE));
804 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileFindClose)));
805 _header._isReply =
false;
815 GxDebugCommunicationBase::GxPacketHeader _header;
816 GxPacketBodyFileFindClose _body;
822 struct GxPacketBodyFileTimestamp
830 struct GxPacketFileTimestamp
838 GxPacketFileTimestamp(
void)
840 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_SET_TIMESTAMP));
841 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileTimestamp)));
842 _header._isReply =
false;
843 GX_MEMSET(&_body, 0,
sizeof(GxPacketBodyFileTimestamp));
852 GxDebugCommunicationBase::GxPacketHeader _header;
853 GxPacketBodyFileTimestamp _body;
859 struct GxPacketBodyFileGetSize
865 struct GxPacketBodyFileGetSizeResponse
871 struct GxPacketFileGetSize
879 GxPacketFileGetSize(
void)
881 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_GET_SIZE));
882 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileGetSize)));
883 _header._isReply =
false;
893 GxDebugCommunicationBase::GxPacketHeader _header;
894 GxPacketBodyFileGetSize _body;
901 struct GxPacketBodyFileGetTimestampNx
917 GX_CHAR _path[FILE_PATH_MAX];
923 struct GxPacketBodyFileGetTimestampNxResponse
931 struct GxPacketFileGetTimestampNx
939 GxPacketFileGetTimestampNx(
void)
941 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_GET_TIMESTAMP_NX));
942 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileGetTimestampNx)));
943 _header._isReply =
false;
944 _body._path[0] =
'\0';
953 GxDebugCommunicationBase::GxPacketHeader _header;
954 GxPacketBodyFileGetTimestampNx _body;
960 struct GxPacketBodyFileSetTimestampNx
976 GX_CHAR _path[FILE_PATH_MAX];
984 struct GxPacketFileSetTimestampNx
992 GxPacketFileSetTimestampNx(
void)
994 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::FILE_SET_TIMESTAMP_NX));
995 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyFileSetTimestampNx)));
996 _header._isReply =
false;
997 GX_MEMSET(&_body, 0,
sizeof(GxPacketBodyFileSetTimestampNx));
1006 GxDebugCommunicationBase::GxPacketHeader _header;
1007 GxPacketBodyFileSetTimestampNx _body;
1014 struct GxPacketBodyDirectoryCreate
1030 GX_CHAR _path[FILE_PATH_MAX];
1036 struct GxPacketBodyDirectoryCreateResponse
1043 struct GxPacketDirectoryCreate
1051 GxPacketDirectoryCreate(
void)
1053 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::DIRECTORY_CREATE));
1054 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyDirectoryCreate)));
1055 _header._isReply =
false;
1056 _body._path[0] =
'\0';
1065 GxDebugCommunicationBase::GxPacketHeader _header;
1066 GxPacketBodyDirectoryCreate _body;
1072 struct GxPacketBodyDirectoryRemove
1088 GX_CHAR _path[FILE_PATH_MAX];
1094 struct GxPacketBodyDirectoryRemoveResponse
1101 struct GxPacketDirectoryRemove
1109 GxPacketDirectoryRemove(
void)
1111 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::DIRECTORY_REMOVE));
1112 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyDirectoryRemove)));
1113 _header._isReply =
false;
1114 _body._path[0] =
'\0';
1123 GxDebugCommunicationBase::GxPacketHeader _header;
1124 GxPacketBodyDirectoryRemove _body;
1129#if ENABLE_SHADER_COMPILE
1132 struct GxCompileOptions
1153 GxCompileOptions(
void) : _mainSourceFile(nullptr), _targetProfile(
RENDER_SHADER::
VERTEX), _entryFunctionName(
"main"),
1154 _searchPathCount(0), _searchPaths(nullptr), _macroDefinitionCount(0), _macroDefinitions(nullptr),
1155 _includeFileCount(0), _includeFiles(nullptr), _suppressedWarningsCount(0), _pSuppressedWarnings(nullptr),
1156 _locale(LOCALE::ENGLISH),
1157 _useFx(0), _noStdlib(0),
1158 _optimizationLevel(3), _useFastMath(1), _useFastPrecision(0), _useFastInt(1), _positionInvariant(0),
1159 _warningsAsErrors(0), _performanceWarnings(0), _warningLevel(1), _pedantic(0), _pedanticError(0),
1168 GX_STR _mainSourceFile;
1170 GX_CSTR _entryFunctionName;
1171 u32 _searchPathCount;
1172 GX_STR _searchPaths;
1173 u32 _macroDefinitionCount;
1174 GX_STR _macroDefinitions;
1175 u32 _includeFileCount;
1176 GX_STR _includeFiles;
1177 u32 _suppressedWarningsCount;
1178 u32* _pSuppressedWarnings;
1185 s32 _optimizationLevel;
1187 s32 _useFastPrecision;
1189 s32 _positionInvariant;
1191 s32 _warningsAsErrors;
1192 s32 _performanceWarnings;
1199#if defined(_PS4) || defined(_PS5)
1208 struct GxPacketBodyCompileShaderResult
1216 enum class DATA_STRING
1218 ENTRY_FUNCTION_NAME,
1222 SUPPRESSED_WARNINGS,
1228 static constexpr u32 DATA_SIZE_MAX = PACKET_MAX_SIZE -
sizeof(GxDebugCommunicationBase::GxPacketHeader) -
sizeof(GxCompileOptions) -
sizeof(u32) * (
static_cast<s32
>(DATA_STRING::MAX) + 2);
1237 GxPacketBodyCompileShaderResult(
void) : _packetCount(0), _shaderCount(0) { GX_MEMSET(_size, 0,
sizeof(u32) *
static_cast<s32
>(DATA_STRING::MAX)); }
1245 GxCompileOptions _options;
1246 u32 _size[
static_cast<s32
>(DATA_STRING::MAX)];
1249 GX_CHAR _data[DATA_SIZE_MAX];
1255 struct GxPacketCompileShaderResult
1263 GxPacketCompileShaderResult(
void)
1265 _header._command = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u32
>(COMMAND::COMPILE_SHADER));
1266 _header._bodySize = GxDebugCommunicationBase::getPlatformToNetwork(
static_cast<u16
>(
sizeof(GxPacketBodyCompileShaderResult)));
1267 _header._isReply =
false;
1276 GxDebugCommunicationBase::GxPacketHeader _header;
1277 GxPacketBodyCompileShaderResult _body;
1286 struct GxPacketApplicationHeader
1298 GxSysDebugCommunication(
void);
1300 ~GxSysDebugCommunication(
void)
override;
1314 GX_FORCE_INLINE
b32 isConnected(
void)
const {
return (_pCommunication ==
nullptr) ?
static_cast<b32>(
false) : _pCommunication->isConnected(); }
1317 GX_FORCE_INLINE
void getKeyboardState(GX_CHAR* pDst)
const { GX_MEMCPY(pDst, _keyboardState,
sizeof(_keyboardState)); }
1319 GX_FORCE_INLINE
void getMouseState(GxMouse::GxInputData* pDst)
const { GX_MEMCPY(pDst, &_mouseState,
sizeof(_mouseState)); }
1320#if ENABLE_SHADER_COMPILE
1322 constexpr u32 getCompiledShaderSize(
void)
const {
return _compiledShaderSize; }
1324 constexpr GX_CHAR* getCompiledShader(
void){
return _compiledShader; }
1327 GX_FORCE_INLINE b32 getUseRuntimeShaderCompile(void) const { return _useRuntimeShaderCompile; }
1336 void update(
void)
override;
1343 u32 readFile(
GX_HANDLE handle,
void* pDst, u32 size);
1345 b32 writeFile(
GX_HANDLE handle,
const void* pSrc, u32 size);
1349 void moveFile(GX_CSTR srcPath, GX_CSTR dstPath);
1351 void copyFile(GX_CSTR srcPath, GX_CSTR dstPath);
1353 void removeFile(GX_CSTR path);
1361 void setLastWriteTime(
GX_HANDLE handle, u64 lastWriteTime);
1366 GX_FORCE_INLINE
b32 getUseLastWriteTime(
void)
const {
return _useLastWriteTime; }
1368 u64 getLastWriteTimeNX(GX_CSTR path);
1370 void setLastWriteTimeNX(GX_CSTR path, u64 lastWriteTime);
1373 b32 createDirectory(GX_CSTR directoryPath);
1375 b32 removeDirectory(GX_CSTR directoryPath);
1376#if ENABLE_SHADER_COMPILE
1378 b32 compileShader(
const GxCompileOptions& options,
void* pData, u32 size,
b32 isOutputTrace);
1380 constexpr void startCompileShader(
void) {_shaderCompiling =
true;}
1382 u32 addCompileCounter(
void);
1384 void sendShaderCompileRequset(
void);
1386 constexpr u32 getCompileCounter(
void)
const {
return _shaderCompileCount; }
1391 b32 sendApplicationData(u32 magic,
const void* pData, u32 size);
1393 b32 registerApplicationDataReceiveObserver(u32 magic, GxSysDebugCommunication::ApplicationDataReceiveObserverBase* pObserver);
1395 void unregisterApplicationDataReceiveObserver(u32 magic);
1399 GxSysDebugCommunication::ApplicationDataReceiveObserverBase* getApplicationDataReceiveObserver(u32 magic);
1402 b32 reserveFileCommunicationRights(
void);
1404 void freeFileCommunicationRigths(
void);
1406 b32 waitFileCommunicationResponse(
void);
1408 void completeFileCommunicationResponse(
void);
1411 static void callbackAnalyseMessage(
const GxDebugCommunicationBase::GxPacketHeader& header,
const void* pBody);
1419 GxDebugCommunicationBase* _pCommunication;
1421 GX_CHAR _keyboardState[GxPacketBodyInput::KEY_NUM];
1422 GxMouse::GxInputData _mouseState;
1424 GxTimer _fileCommunicationTimer;
1425 b32 _isFileCommunicationRights;
1426 b32 _isFileCommunicationResponseWaiting;
1427 GX_CHAR _fileCommunicationBuffer[PACKET_MAX_SIZE];
1431 GxArray* _pApplicationDataReceiveCallbackList;
1432 b32 _useRuntimeShaderCompile;
1434 b32 _useLastWriteTime;
1436#if ENABLE_SHADER_COMPILE
1437 u32 _shaderCompileCount;
1438 volatile bool _shaderCompiling;
1439 u32 _compiledShaderSize;
1440 GX_CHAR _compiledShader[PACKET_MAX_SIZE];
1446#if ENABLE_PARARELL_SHADER_COMPILE
1450class GxShaderCompileRequestSender:
public GxThread
1457 GX_OPERATOR_NEW_DELETE(GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
1466 GxShaderCompileRequestSender(
void) : _isFinish(0)
1468 GX_ASSERT(_pEvent ==
nullptr,
"singleton");
1472 ~GxShaderCompileRequestSender(
void){ _pEvent =
nullptr; }
1483 GX_FORCE_INLINE
void setEvent(
void) { _event.setEvent(); }
1485 GX_FORCE_INLINE
static void sendStart(
void) { _pEvent->setEvent(); }
1496 volatile u32 _isFinish;
1513 GX_OPERATOR_NEW_DELETE(gx::core::GxAllocatorList::ALLOCATOR_TYPE::DEVELOP)
1522 GxShaderCompileMessenger(
void) : _shaderCompiling(0), _compiledShaderSize(0), _currentCompileCount(0xffffffff)
1524 GX_MEMSET(_compiledShader, 0, GxDebugCommunicationBase::PACKET_MAX_SIZE);
1534 b32 compileShader(
const GxSysDebugCommunication::GxCompileOptions& options,
void* pData, u32 size,
b32 isOutputTrace);
1536 constexpr u32 getCurrentCompileCount(
void) {
return _currentCompileCount; }
1539 constexpr void setCurrentCompileCounter(u32 count){ _currentCompileCount = count; }
1541 void copyCompiledShader(
const void* pSrc, u32 size);
1543 constexpr GX_STR getCompileShader(
void) {
return _compiledShader; }
1545 constexpr u32 getCompiledShaderSize(
void) {
return _compiledShaderSize; }
1553 volatile u32 _shaderCompiling;
1554 u32 _compiledShaderSize;
1555 GX_CHAR _compiledShader[GxDebugCommunicationBase::PACKET_MAX_SIZE];
1556 u32 _currentCompileCount;
1565class GxCompileMessengerContainer
1573 static void initialize(
void);
1575 static void terminate(
void);
1584 static GxShaderCompileMessenger* createMessenger(
void);
1586 static GxShaderCompileMessenger* getMessengerFrom(u32 requestCount);
1588 static void releaseMessengerFrom(u32 requestCount);
1590 static void requestShaderCompile(GxSysDebugCommunication::GxPacketCompileShaderResult& requestData);
1592 GX_FORCE_INLINE
static GxArray* getRequestList(
void) {
return _pRequestList; }
1594 GX_FORCE_INLINE
static void lock(
void) { _pCriticalSection->lock(); }
1596 GX_FORCE_INLINE
static void unlock(
void) { _pCriticalSection->unlock(); }
1604 static GxArray* _pRequestList;
1605 static GxArray* _pCompilerList;
1613GX_FORCE_INLINE GxSysDebugCommunication* getGxSysDebugCommunication(
void) {
return GxSysDebugCommunication::getSingletonPointer(); }
1618class GxSysDebugCommunication::ApplicationDataReceiveObserverBase
1626 ApplicationDataReceiveObserverBase(
void){}
1628 virtual ~ApplicationDataReceiveObserverBase(
void){}
1640 virtual b32 callbackReceiveData(
const void* pData, u32 size) = 0;
1647GX_CORE_NAMESPACE_END()
#define GX_PROHIBIT_CLASS_BASE(__CLASS__)
GxClassBase継承の禁止宣言
Definition GxBase.h:240
void GxTypedObject
その他
Definition GxDefine.h:213
u32 GX_HANDLE
ハンドル
Definition GxDefine.h:214
RENDER_SHADER
Definition GxRender.h:75
配列クラス
Definition GxArray.h:18
オブジェクト基底クラス
Definition GxBase.h:88
参照オブジェクト基底クラス
Definition GxBase.h:122
クリティカルセクションクラス
Definition GxThread.h:20
イベントクラス
Definition GxThread.h:132
SEEK_TYPE
シークタイプ
Definition GxFile.h:201
MODE
ファイルアクセスモード
Definition GxFile.h:185
JSON解析用ノード
Definition GxJson.h:108
static constexpr u32 VALUE_256
256
Definition GxMath.h:127
プロパティクラス
Definition GxProperty.h:48
実行時型情報クラス
Definition GxRtti.h:154
システム基底クラス
Definition GxSysBase.h:18
virtual void update(void)
更新
Definition GxSysBase.cpp:79
virtual b32 initialize(const GxClassBase *pInitialiInformation=nullptr)
初期化
Definition GxSysBase.cpp:29
virtual void terminate(void)
終了処理
Definition GxSysBase.cpp:50
スレッドクラス
Definition GxThread.h:177
static void atomicExchangeU32(volatile u32 *pTarget, u32 newValue)
アトミックU32
Definition GxThread.cpp:78
virtual void threadMain(void *pArgument)=0
メインループ
タイマークラス
Definition GxTimer.h:110
シングルトン基礎クラス
Definition GxSingleton.h:19
32bitブーリアン
Definition GxDefine.h:173