Skip to content
Snippets Groups Projects
Commit 915e0b90 authored by Lars Hoerttrich's avatar Lars Hoerttrich
Browse files

[#91] small fixes, still not working

parent 0fcdae9d
No related branches found
No related tags found
1 merge request!79Draft: Resolve "Compute: First Network"
Pipeline #26767 passed
......@@ -27,7 +27,8 @@ int main(int argc, const char** argv) {
);
int input[64] = { 0 };
vkcv::Buffer<int> inputBuffer = core.createBuffer<int>(vkcv::BufferType::STORAGE, 64);
std::fill_n(input, 64, 2);
vkcv::Buffer<int> inputBuffer = core.createBuffer<int>(vkcv::BufferType::STORAGE, 64, vkcv::BufferMemoryType::HOST_VISIBLE);
inputBuffer.fill(input);
vkcv::PassConfig computePassDefinition({});
......@@ -64,7 +65,7 @@ int main(int argc, const char** argv) {
}
auto cmdStream = core.createCommandStream(vkcv::QueueType::Compute);
uint32_t computeDispatchCount[3] = {inputBuffer.getSize(),1,1 };
uint32_t computeDispatchCount[3] = {64,1,1 };
vkcv::PushConstants pushConstantsCompute(sizeof(int));
pushConstantsCompute.appendDrawcall(1);
......@@ -76,9 +77,13 @@ int main(int argc, const char** argv) {
pushConstantsCompute);
int output[64] = { 0 };
std::fill_n(output, 64, -1);
core.readBufferMemoryBarrier(cmdStream, inputBuffer.getHandle(), &output);
core.submitCommandStream(cmdStream);
std::cout << output << std::endl;
std::cout << "[";
for (int i = 0; i < 64; i++) {
std::cout << output[i] << ", ";
}
std::cout << "]" << std::endl;
return 0;
}
......@@ -350,9 +350,8 @@ namespace vkcv {
const size_t max_size = std::min(size, buffer.m_size);
void* mapped = allocator.mapMemory(buffer.m_allocation);
memcpy(data, reinterpret_cast<char*>(mapped) , max_size);
memcpy(reinterpret_cast<int*>(data), reinterpret_cast<char*>(mapped) , max_size);
allocator.unmapMemory(buffer.m_allocation);
}
void BufferManager ::readBufferMemoryBarrier(const BufferHandle& handle, vk::CommandBuffer cmdBuffer, void *data) {
......@@ -376,8 +375,8 @@ namespace vkcv {
buffer.m_size);
cmdBuffer.pipelineBarrier(
vk::PipelineStageFlagBits::eTopOfPipe,
vk::PipelineStageFlagBits::eBottomOfPipe,
vk::PipelineStageFlagBits::eComputeShader,
vk::PipelineStageFlagBits::eTransfer,
{},
nullptr,
memoryBarrier,
......@@ -395,8 +394,8 @@ namespace vkcv {
buffer.m_size);
cmdBuffer.pipelineBarrier(
vk::PipelineStageFlagBits::eTopOfPipe,
vk::PipelineStageFlagBits::eBottomOfPipe,
vk::PipelineStageFlagBits::eTransfer,
vk::PipelineStageFlagBits::eHost,
{},
nullptr,
memoryBarrier2,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment