diff options
Diffstat (limited to 'dev/LibSCI')
| -rw-r--r-- | dev/LibSCI/GPU.h | 28 | ||||
| -rw-r--r-- | dev/LibSCI/SCI.h | 2 |
2 files changed, 18 insertions, 12 deletions
diff --git a/dev/LibSCI/GPU.h b/dev/LibSCI/GPU.h index bbcd1300..a29eae00 100644 --- a/dev/LibSCI/GPU.h +++ b/dev/LibSCI/GPU.h @@ -13,10 +13,11 @@ Purpose: GPU/FB System Calls. #include <LibSCI/SCI.h> /// ------------------------------------------------------------------------------------------ // -/// @brief GPU API. +/// @brief Graphics Processor API. /// ------------------------------------------------------------------------------------------ // -struct GPUCmd; +struct GPUCmdEntry; +struct GPUCmdEntryTraits; typedef VoidPtr GPUObject; @@ -24,41 +25,46 @@ typedef VoidPtr GPUObject; /// @brief Command structure type. /// ------------------------------------------------------------------------------------------ // -struct GPUCmd +struct GPUCmdEntry { VoidPtr Data{nullptr}; SizeT DataSz{0}; - SizeT BufferLayer{0}; + SizeT Layer{0}; BOOL IsGPGPUData{NO}; +}; + +struct GPUCmdEntryTraits final +{ + GPUCmdEntry* Cmd{nullptr}; BOOL isGPGPUData() { - return this->isValid() && this->IsGPGPUData; + return this->isValid() && this->Cmd->IsGPGPUData; } BOOL isBackBuffer() { - return this->BufferLayer > 0; + return this->Cmd->Layer > 0; } BOOL isValid() { - return this->Data && (this->DataSz > 0) && (MmGetHeapFlags(this->Data) != -1); + return this->Cmd->Data && (this->Cmd->DataSz > 0) && (MmGetHeapFlags(this->Cmd->Data) != ~0); } }; IMPORT_C BOOL GPUListDevices(const Char** list, SizeT cnt); -IMPORT_C GPUObject GPUGetFromDeviceName(_Input const Char* device_name); +IMPORT_C GPUObject GPUFindByDeviceName(_Input const Char* device_name); -IMPORT_C GPUObject GPUQueryInfo(_Input const GPUObject* device_name, VoidPtr* out, SizeT out_sz); +IMPORT_C GPUObject GPUQueryInfo(_Input const GPUObject* gpu_handle, VoidPtr* out, SizeT out_sz); IMPORT_C SInt32 GPUDisposeDevice(GPUObject gpu_handle, Bool cancel_all, Bool flush_all); -IMPORT_C SInt32 GPUSendCmdBufferListWithCnt(GPUCmd** cmd_list, SizeT cmd_list_cnt); +IMPORT_C SInt32 GPUSendCmdBufferListWithCnt(GPUObject gpu_handle, GPUCmdEntry** cmd_list, SizeT cmd_list_cnt); // ------------------------------------------------------------------------------------------ // -// @brief FB API. +// @brief Framebuffer API. // ------------------------------------------------------------------------------------------ // IMPORT_C SInt32 FBAcquireBuffer(GPUObject* out, SInt32 width, SInt32 height); diff --git a/dev/LibSCI/SCI.h b/dev/LibSCI/SCI.h index a7d449d4..97af9ffc 100644 --- a/dev/LibSCI/SCI.h +++ b/dev/LibSCI/SCI.h @@ -347,6 +347,6 @@ IMPORT_C SInt32 MsgShow(VoidPtr handle); IMPORT_C SInt32 MsgSend(VoidPtr handle, const Char* fmt, ...);
IMPORT_C SInt32 MsgAlloc(VoidPtr handle);
-IMPORT_C VoidPtr kAlertMsg, kInfoMsg, kErrorMsg;
+IMPORT_C VoidPtr kWarnMsg, kInfoMsg, kErrorMsg;
#endif // ifndef SCI_SCI_H
|
