Adding IOStream + String library (needed to have proper iostream)

This commit is contained in:
2025-03-01 21:17:10 -05:00
parent fc399d52ec
commit 09dc26ae79
22 changed files with 464 additions and 99 deletions

View File

@@ -1,49 +1,49 @@
//#include <Core/Common/CoreTypes.h>
//#include <Core/Logging/LogManager.h>
//#include <Core/Logging/LogTypes.h>
#include <Core/Common/String.h>
#include <Core/HAL/IO/IOStream.h>
#include <Core/Logging/LogManager.h>
#include <Core/Logging/LogTypes.h>
// Must be before everything else.
// Cannot include DX12Includes because we redefine everything.
// TODO : Separate lib
// TODO : Only when not shipping
// Check if we just load the dll and not link against?
#include <DXCompiler.h>
//#include <DXCompiler.h>
//#pragma comment(lib, "dxcompiler.lib")
#pragma comment(lib, "dxcompiler.lib")
//using namespace Juliet;
using namespace Juliet;
void Compile()
{
// IDxcCompiler3* compiler = nullptr;
// DxcCreateInstance(&CLSID_DxcCompiler, IID_IDxcCompiler3, reinterpret_cast<void**>(&compiler));
//
// IDxcUtils* utils = nullptr;
// DxcCreateInstance(&CLSID_DxcUtils, &IID_IDxcUtils, reinterpret_cast<void**>(&utils));
//
// if (compiler == nullptr)
// {
// Juliet::Log(LogLevel::Error, LogCategory::Graphics, "Cannot create DXCompiler instance");
// }
//
// if (utils == nullptr)
// {
// Log(LogLevel::Error, LogCategory::Graphics, "Cannot create IDxcUtils instance");
// compiler->lpVtbl->Release(compiler);
// }
//
// IDxcIncludeHandler* includeHandler;
// utils->lpVtbl->CreateDefaultIncludeHandler(utils, &includeHandler);
// if (includeHandler == nullptr)
// {
// compiler->lpVtbl->Release(compiler);
// utils->lpVtbl->Release(utils);
// }
IDxcCompiler3* compiler = nullptr;
DxcCreateInstance(&CLSID_DxcCompiler, IID_IDxcCompiler3, reinterpret_cast<void**>(&compiler));
IDxcUtils* utils = nullptr;
DxcCreateInstance(&CLSID_DxcUtils, &IID_IDxcUtils, reinterpret_cast<void**>(&utils));
if (compiler == nullptr)
{
Juliet::Log(LogLevel::Error, LogCategory::Graphics, "Cannot create DXCompiler instance");
}
if (utils == nullptr)
{
Log(LogLevel::Error, LogCategory::Graphics, "Cannot create IDxcUtils instance");
compiler->lpVtbl->Release(compiler);
}
IDxcIncludeHandler* includeHandler;
utils->lpVtbl->CreateDefaultIncludeHandler(utils, &includeHandler);
if (includeHandler == nullptr)
{
compiler->lpVtbl->Release(compiler);
utils->lpVtbl->Release(utils);
}
}
int main(int argc, char* argv[])
{
auto* stream = IOFromFile(ConstString("bleeblou"), ConstString("w"));
return 0;
}