one step closer to run games

This commit is contained in:
InoriRus
2022-04-27 18:49:15 +10:00
parent 08b0a87225
commit bc02c0560e
47 changed files with 3020 additions and 1108 deletions
@@ -31,6 +31,7 @@ public:
}
bool Equal(const uint64_t* other) const override;
// bool Reuse(const uint64_t* other) const override;
[[nodiscard]] create_func_t GetCreateFunc() const override;
[[nodiscard]] create_from_objects_func_t GetCreateFromObjectsFunc() const override { return nullptr; };
@@ -73,6 +73,7 @@ public:
KYTY_CLASS_DEFAULT_COPY(GpuObject);
virtual bool Equal(const uint64_t* other) const = 0;
// virtual bool Reuse(const uint64_t* /*other*/) const { return false; };
[[nodiscard]] virtual create_func_t GetCreateFunc() const = 0;
[[nodiscard]] virtual create_from_objects_func_t GetCreateFromObjectsFunc() const = 0;
@@ -90,9 +91,10 @@ void GpuMemoryInit();
void GpuMemorySetAllocatedRange(uint64_t vaddr, uint64_t size);
void GpuMemoryFree(GraphicContext* ctx, uint64_t vaddr, uint64_t size, bool unmap);
void* GpuMemoryCreateObject(GraphicContext* ctx, CommandBuffer* buffer, uint64_t vaddr, uint64_t size, const GpuObject& info);
void* GpuMemoryCreateObject(GraphicContext* ctx, CommandBuffer* buffer, const uint64_t* vaddr, const uint64_t* size, int vaddr_num,
void* GpuMemoryCreateObject(uint64_t submit_id, GraphicContext* ctx, CommandBuffer* buffer, uint64_t vaddr, uint64_t size,
const GpuObject& info);
void* GpuMemoryCreateObject(uint64_t submit_id, GraphicContext* ctx, CommandBuffer* buffer, const uint64_t* vaddr, const uint64_t* size,
int vaddr_num, const GpuObject& info);
void GpuMemoryResetHash(GraphicContext* ctx, const uint64_t* vaddr, const uint64_t* size, int vaddr_num, GpuMemoryObjectType type);
void GpuMemoryDbgDump();
void GpuMemoryFlush(GraphicContext* ctx);
@@ -101,7 +103,7 @@ void GpuMemoryWriteBack(GraphicContext* ctx);
bool GpuMemoryCheckAccessViolation(uint64_t vaddr, uint64_t size);
bool GpuMemoryWatcherEnabled();
Vector<GpuMemoryObject> GpuMemoryFindObjects(uint64_t vaddr, uint64_t size, bool exact, bool only_first);
Vector<GpuMemoryObject> GpuMemoryFindObjects(uint64_t vaddr, uint64_t size, GpuMemoryObjectType type, bool exact, bool only_first);
bool VulkanAllocate(GraphicContext* ctx, VulkanMemory* mem);
void VulkanFree(GraphicContext* ctx, VulkanMemory* mem);
@@ -12,6 +12,7 @@ namespace Kyty::Libs::Graphics {
struct Label;
class CommandBuffer;
struct GraphicContext;
void LabelInit();
@@ -53,7 +54,12 @@ public:
[[nodiscard]] update_func_t GetUpdateFunc() const override;
};
void LabelSet(CommandBuffer* buffer, Label* label);
Label* LabelCreate64(GraphicContext* ctx, uint64_t* dst_gpu_addr, uint64_t value, LabelGpuObject::callback_t callback_1,
LabelGpuObject::callback_t callback_2, const uint64_t* args);
Label* LabelCreate32(GraphicContext* ctx, uint32_t* dst_gpu_addr, uint32_t value, LabelGpuObject::callback_t callback_1,
LabelGpuObject::callback_t callback_2, const uint64_t* args);
void LabelDelete(Label* label);
void LabelSet(CommandBuffer* buffer, Label* label);
} // namespace Kyty::Libs::Graphics