Added shader state; WIP kernel objects

This commit is contained in:
Hamish Milne 2019-08-11 00:20:09 +01:00 committed by zhupengfei
parent 45788b9c82
commit f79c9668a3
33 changed files with 576 additions and 68 deletions

View file

@ -18,7 +18,8 @@
namespace Kernel {
std::shared_ptr<CodeSet> KernelSystem::CreateCodeSet(std::string name, u64 program_id) {
auto codeset{std::make_shared<CodeSet>(*this)};
auto codeset{std::make_shared<CodeSet>()};
codeset->Init(*this);
codeset->name = std::move(name);
codeset->program_id = program_id;
@ -26,11 +27,9 @@ std::shared_ptr<CodeSet> KernelSystem::CreateCodeSet(std::string name, u64 progr
return codeset;
}
CodeSet::CodeSet(KernelSystem& kernel) : Object(kernel) {}
CodeSet::~CodeSet() {}
std::shared_ptr<Process> KernelSystem::CreateProcess(std::shared_ptr<CodeSet> code_set) {
auto process{std::make_shared<Process>(*this)};
auto process{std::make_shared<Process>()};
process->Init(*this);
process->codeset = std::move(code_set);
process->flags.raw = 0;
@ -401,9 +400,8 @@ ResultCode Process::Unmap(VAddr target, VAddr source, u32 size, VMAPermission pe
return RESULT_SUCCESS;
}
Kernel::Process::Process(KernelSystem& kernel)
: Object(kernel), handle_table(kernel), vm_manager(kernel.memory), kernel(kernel) {
Kernel::Process::Process() : kernel(*g_kernel), handle_table(*g_kernel), vm_manager(g_kernel->memory)
{
kernel.memory.RegisterPageTable(&vm_manager.page_table);
}
Kernel::Process::~Process() {