allow binding uniform at set
This commit is contained in:
@@ -114,7 +114,7 @@ void gnCommandDrawIndexedFn(gnCommandBufferHandle buffer, gnIndexType type, int
|
||||
];
|
||||
}
|
||||
|
||||
void gnCommandBindUniformFn(gnCommandBufferHandle buffer, gnUniform uniform) {
|
||||
void gnCommandBindUniformFn(gnCommandBufferHandle buffer, gnUniform uniform, uint32_t set) {
|
||||
id<MTLRenderCommandEncoder> encoder = (id<MTLRenderCommandEncoder>)buffer->commandBuffer->encoder;
|
||||
if (uniform->uniform->type == GN_UNIFORM_BUFFER_DESCRIPTOR) {
|
||||
gnBufferUniformInfo info = *(gnBufferUniformInfo*)uniform->uniform->data;
|
||||
|
@@ -75,11 +75,11 @@ void gnCommandDrawIndexedFn(gnCommandBufferHandle buffer, gnIndexType type, int
|
||||
buffer->commandBuffer->changedBuffer = gnFalse;
|
||||
}
|
||||
|
||||
void gnCommandBindUniformFn(gnCommandBufferHandle buffer, gnUniform uniform) {
|
||||
void gnCommandBindUniformFn(gnCommandBufferHandle buffer, gnUniform uniform, uint32_t set) {
|
||||
vkCmdBindDescriptorSets(
|
||||
buffer->commandBuffer->buffer,
|
||||
VK_PIPELINE_BIND_POINT_GRAPHICS,
|
||||
buffer->commandBuffer->boundGraphicsPipeline->graphicsPipeline->pipelineLayout, 0, 1,
|
||||
buffer->commandBuffer->boundGraphicsPipeline->graphicsPipeline->pipelineLayout, set, 1,
|
||||
&uniform->uniform->set, 0, NULL
|
||||
);
|
||||
}
|
||||
|
@@ -17,8 +17,8 @@ void gnCommandSetViewport(struct gnCommandBuffer_t* buffer, struct gnViewport_t
|
||||
void gnCommandSetScissor(struct gnCommandBuffer_t* buffer, struct gnScissor_t scissor) {
|
||||
buffer->commandPool->commandFunctions->_gnCommandSetScissor(buffer, scissor);
|
||||
}
|
||||
void gnCommandBindUniform(gnCommandBufferHandle buffer, gnUniform uniform) {
|
||||
buffer->commandPool->commandFunctions->_gnCommandBindUniform(buffer, uniform);
|
||||
void gnCommandBindUniform(gnCommandBufferHandle buffer, gnUniform uniform, uint32_t set) {
|
||||
buffer->commandPool->commandFunctions->_gnCommandBindUniform(buffer, uniform, set);
|
||||
}
|
||||
void gnCommandBindBuffer(gnCommandBufferHandle buffer, gnBufferHandle bufferToBind, gnBufferType type) {
|
||||
buffer->commandPool->commandFunctions->_gnCommandBindBuffer(buffer, bufferToBind, type);
|
||||
|
@@ -8,7 +8,7 @@ void gnCommandEndRenderPass(gnCommandBufferHandle buffer);
|
||||
void gnCommandBindGraphicsPipeline(gnCommandBufferHandle buffer, gnGraphicsPipelineHandle graphicsPipeline);
|
||||
void gnCommandSetViewport(gnCommandBufferHandle buffer, gnViewport viewport);
|
||||
void gnCommandSetScissor(gnCommandBufferHandle buffer, gnScissor scissor);
|
||||
void gnCommandBindUniform(gnCommandBufferHandle buffer, gnUniform uniform);
|
||||
void gnCommandBindUniform(gnCommandBufferHandle buffer, gnUniform uniform, uint32_t set);
|
||||
|
||||
#include "core/buffers/gryphn_buffer.h"
|
||||
void gnCommandBindBuffer(gnCommandBufferHandle buffer, gnBufferHandle bufferToBind, gnBufferType type);
|
||||
|
@@ -118,7 +118,7 @@ typedef struct gnCommandFunctions_t {
|
||||
void (*_gnCommandBindGraphicsPipeline)(gnCommandBufferHandle buffer, gnGraphicsPipelineHandle graphicsPipeline);
|
||||
void (*_gnCommandSetViewport)(gnCommandBufferHandle buffer, gnViewport viewport);
|
||||
void (*_gnCommandSetScissor)(gnCommandBufferHandle buffer, gnScissor scissor);
|
||||
void (*_gnCommandBindUniform)(gnCommandBufferHandle buffer, gnUniform uniform);
|
||||
void (*_gnCommandBindUniform)(gnCommandBufferHandle buffer, gnUniform uniform, uint32_t set);
|
||||
|
||||
void (*_gnCommandBindBuffer)(gnCommandBufferHandle buffer, gnBufferHandle bufferToBind, gnBufferType type);
|
||||
void (*_gnCommandDraw)(gnCommandBufferHandle buffer, int vertexCount, int firstVertex, int instanceCount, int firstInstance);
|
||||
|
Reference in New Issue
Block a user