get the metal backend to compile (does not load)
This commit is contained in:
@@ -1,7 +1,12 @@
|
||||
#include <core/uniforms/gryphn_uniform.h>
|
||||
#include <uniforms/gryphn_uniform.h>
|
||||
#include "metal_uniform.h"
|
||||
|
||||
void gnUpdateBufferUniformFn(gnUniform uniform, gnBufferUniformInfo* info) {
|
||||
uniform->uniform->data = malloc(sizeof(gnBufferUniformInfo));
|
||||
memcpy(uniform->uniform->data, info, sizeof(gnBufferUniformInfo));
|
||||
for (int i = 0; i < uniform->uniform->bindingCount; i++) {
|
||||
if (uniform->uniform->bindings[i].binding == info->binding) {
|
||||
uniform->uniform->bindings[i].data = malloc(sizeof(gnBufferUniformInfo));
|
||||
memcpy(uniform->uniform->bindings[i].data, info, sizeof(gnBufferUniformInfo));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -1,8 +1,14 @@
|
||||
#pragma once
|
||||
#include "core/uniforms/gryphn_uniform.h"
|
||||
#include <core/uniforms/gryphn_uniform_pool.h>
|
||||
#include "uniforms/gryphn_uniform.h"
|
||||
#include <uniforms/gryphn_uniform_pool.h>
|
||||
|
||||
typedef struct metalUniformBinding {
|
||||
gnUniformType type;
|
||||
uint32_t binding;
|
||||
void* data;
|
||||
} metalUniformBinding;
|
||||
|
||||
typedef struct gnPlatformUniform_t {
|
||||
gnUniformType type;
|
||||
void* data;
|
||||
uint32_t bindingCount;
|
||||
metalUniformBinding* bindings;
|
||||
} gnPlatformUniform;
|
||||
|
@@ -1,17 +1,21 @@
|
||||
#include <core/uniforms/gryphn_uniform_pool.h>
|
||||
#include <core/uniforms/gryphn_uniform.h>
|
||||
#include <uniforms/gryphn_uniform_pool.h>
|
||||
#include <uniforms/gryphn_uniform.h>
|
||||
#include "metal_uniform.h"
|
||||
|
||||
gnReturnCode gnCreateUniformPoolFn(gnUniformPool pool, gnDeviceHandle device) {
|
||||
return GN_SUCCESS;
|
||||
}
|
||||
|
||||
gnUniform* gnUniformPoolAllocateUniformsFn(gnUniformPool pool, const gnUniformLayout layout) {
|
||||
gnUniform* uniforms = malloc(sizeof(gnUniform) * layout.uniformBindingCount);
|
||||
for (int i = 0; i < layout.uniformBindingCount; i++) {
|
||||
gnUniform* gnUniformPoolAllocateUniformsFn(gnUniformPool pool, const gnUniformAllocationInfo allocInfo) {
|
||||
gnUniform* uniforms = malloc(sizeof(gnUniform) * allocInfo.setCount);
|
||||
for (int i = 0; i < allocInfo.setCount; i++) {
|
||||
uniforms[i] = malloc(sizeof(struct gnUniform_t));
|
||||
uniforms[i]->uniform = malloc(sizeof(struct gnPlatformUniform_t));
|
||||
uniforms[i]->uniform->type = layout.uniformBindings[i].type;
|
||||
uniforms[i]->uniform = malloc(sizeof(gnPlatformUniform));
|
||||
uniforms[i]->uniform->bindings = malloc(sizeof(metalUniformBinding) * allocInfo.sets[i].uniformBindingCount);
|
||||
for (int c = 0; c < allocInfo.sets[i].uniformBindingCount; c++) {
|
||||
uniforms[i]->uniform->bindings[c].type = allocInfo.sets[i].uniformBindings[c].type;
|
||||
uniforms[i]->uniform->bindings[c].binding = allocInfo.sets[i].uniformBindings[c].binding;
|
||||
}
|
||||
}
|
||||
return uniforms;
|
||||
}
|
||||
|
@@ -1,6 +1,5 @@
|
||||
#pragma once
|
||||
#include <vulkan/vulkan.h>
|
||||
#include <core/uniforms/gryphn_uniform_pool.h>
|
||||
#include <uniforms/gryphn_uniform_pool.h>
|
||||
|
||||
struct gnPlatformUniformPool_t {
|
||||
};
|
||||
typedef struct gnPlatformUniformPool_t {} gnPlatformUniformPool;
|
||||
|
Reference in New Issue
Block a user