bind buffer and use in vertex buffer
This commit is contained in:
@@ -114,29 +114,11 @@ void metalDrawIndexed(gnCommandBufferHandle buffer, gnIndexType type, int indexC
|
||||
|
||||
void metalBindUniform(gnCommandBufferHandle buffer, gnUniform uniform, uint32_t set) {
|
||||
id<MTLRenderCommandEncoder> encoder = (id<MTLRenderCommandEncoder>)buffer->commandBuffer->encoder;
|
||||
[encoder useResources:uniform->uniform->usedResources count:uniform->uniform->usedResourceCount usage:MTLResourceUsageRead stages:MTLRenderStageFragment];
|
||||
[encoder setFragmentBuffer:uniform->uniform->argumentBuffer offset:0 atIndex:2];
|
||||
|
||||
// for (int i = 0; i < uniform->uniform->bindingCount; i++) {
|
||||
// if (uniform->uniform->bindings[i].type == GN_UNIFORM_BUFFER_DESCRIPTOR) {
|
||||
// gnBufferUniformInfo info = *(gnBufferUniformInfo*)uniform->uniform->bindings[i].data;
|
||||
// [encoder setVertexBuffer:info.buffer->buffer->buffer
|
||||
// offset:info.offset
|
||||
// atIndex:buffer->commandBuffer->boundGraphcisPipeline->graphicsPipeline->vertexShaderMaps.sets[set].bindings[info.binding]
|
||||
// ];
|
||||
// } else if (uniform->uniform->bindings[i].type == GN_SHADER_STORE_BUFFER_DESCRIPTOR) {
|
||||
// gnStorageUniformInfo info = *(gnStorageUniformInfo*)uniform->uniform->bindings[i].data;
|
||||
// [encoder setVertexBuffer:info.buffer->buffer->buffer
|
||||
// offset:info.offset
|
||||
// atIndex:buffer->commandBuffer->boundGraphcisPipeline->graphicsPipeline->vertexShaderMaps.sets[set].bindings[info.binding]
|
||||
// ];
|
||||
// } else if (uniform->uniform->bindings[i].type == GN_IMAGE_DESCRIPTOR) {
|
||||
// gnImageUniformInfo info = *(gnImageUniformInfo*)uniform->uniform->bindings[i].data;
|
||||
// uint32_t index = buffer->commandBuffer->boundGraphcisPipeline->graphicsPipeline->fragmentShaderMaps.sets[set].bindings[info.binding];
|
||||
// [encoder setFragmentTexture:info.texture->texture->texture atIndex:index];
|
||||
// [encoder setFragmentSamplerState:info.texture->texture->sampler atIndex:index];
|
||||
// }
|
||||
// }
|
||||
[encoder useResources:uniform->uniform->usedResources count:uniform->uniform->usedResourceCount usage:MTLResourceUsageRead stages:MTLRenderStageVertex | MTLRenderStageFragment];
|
||||
|
||||
[encoder setVertexBuffer:uniform->uniform->argumentBuffer offset:0 atIndex:(set + 1)];
|
||||
[encoder setFragmentBuffer:uniform->uniform->argumentBuffer offset:0 atIndex:(set + 1)];
|
||||
}
|
||||
|
||||
void metalBindVertexBytes(gnCommandBufferHandle buffer, gnPushConstantLayout layout, void* data) {
|
||||
|
Reference in New Issue
Block a user