metal storage buffers + rework of shader maps
This commit is contained in:
@@ -14,4 +14,5 @@ typedef struct gnPlatformUniform_t {
|
||||
} gnPlatformUniform;
|
||||
|
||||
void updateMetalBufferUniform(gnUniform uniform, gnBufferUniformInfo* info);
|
||||
void updateMetalStorageUniform(gnUniform uniform, gnStorageUniformInfo* info);
|
||||
void updateMetalImageUniform(gnUniform uniform, gnImageUniformInfo* info);
|
||||
|
@@ -11,6 +11,16 @@ void updateMetalBufferUniform(gnUniform uniform, gnBufferUniformInfo* info) {
|
||||
}
|
||||
}
|
||||
|
||||
void updateMetalStorageUniform(gnUniform uniform, gnStorageUniformInfo* info) {
|
||||
for (int i = 0; i < uniform->uniform->bindingCount; i++) {
|
||||
if (uniform->uniform->bindings[i].binding == info->binding) {
|
||||
uniform->uniform->bindings[i].data = malloc(sizeof(gnStorageUniformInfo));
|
||||
memcpy(uniform->uniform->bindings[i].data, info, sizeof(gnStorageUniformInfo));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void updateMetalImageUniform(gnUniform uniform, gnImageUniformInfo* info) {
|
||||
for (int i = 0; i < uniform->uniform->bindingCount; i++) {
|
||||
if (uniform->uniform->bindings[i].binding == info->binding) {
|
||||
|
Reference in New Issue
Block a user