Archived
1
Fork 0

Bring Metal backend up to speed

This commit is contained in:
redstrate 2021-02-17 01:08:46 -05:00
parent 1f98e19819
commit f3f6a219f6
2 changed files with 4 additions and 5 deletions

View file

@ -44,7 +44,7 @@ public:
GFXPipeline* create_graphics_pipeline(const GFXGraphicsPipelineCreateInfo& info) override;
GFXPipeline* create_compute_pipeline(const GFXComputePipelineCreateInfo& info) override;
GFXCommandBuffer* acquire_command_buffer() override;
GFXCommandBuffer* acquire_command_buffer(bool for_presentation_use = false) override;
void submit(GFXCommandBuffer* command_buffer, const int window = -1) override;

View file

@ -220,9 +220,8 @@ void GFXMetal::copy_buffer(GFXBuffer* buffer, void* data, const GFXSize offset,
const unsigned char * src = reinterpret_cast<const unsigned char*>(data);
unsigned char * dest = reinterpret_cast<unsigned char *>(metalBuffer->get(currentFrameIndex).contents);
memcpy(dest + offset, src, size);
//[metalBuffer->handle didModifyRange:NSMakeRange(offset, size)];
if(dest != nullptr)
memcpy(dest + offset, src, size);
}
void* GFXMetal::get_buffer_contents(GFXBuffer* buffer) {
@ -699,7 +698,7 @@ GFXPipeline* GFXMetal::create_compute_pipeline(const GFXComputePipelineCreateInf
return pipeline;
}
GFXCommandBuffer* GFXMetal::acquire_command_buffer() {
GFXCommandBuffer* GFXMetal::acquire_command_buffer(bool for_presentation_use) {
GFXCommandBuffer* cmdbuf = nullptr;
while(cmdbuf == nullptr) {
for(const auto [i, buffer_status] : utility::enumerate(free_command_buffers)) {