Skip to content
Snippets Groups Projects

Resolve "Cmd/Sync-Rework"

Merged Ghost User requested to merge 66-cmd-sync-rework into develop
@@ -79,9 +79,6 @@ int main(int argc, const char** argv) {
@@ -79,9 +79,6 @@ int main(int argc, const char** argv) {
// an example attachment for passes that output to the window
// an example attachment for passes that output to the window
const vkcv::AttachmentDescription present_color_attachment(
const vkcv::AttachmentDescription present_color_attachment(
vkcv::AttachmentLayout::UNDEFINED,
vkcv::AttachmentLayout::COLOR_ATTACHMENT,
vkcv::AttachmentLayout::PRESENTATION,
vkcv::AttachmentOperation::STORE,
vkcv::AttachmentOperation::STORE,
vkcv::AttachmentOperation::CLEAR,
vkcv::AttachmentOperation::CLEAR,
core.getSwapchainImageFormat());
core.getSwapchainImageFormat());
@@ -103,21 +100,21 @@ int main(int argc, const char** argv) {
@@ -103,21 +100,21 @@ int main(int argc, const char** argv) {
const vkcv::PipelineConfig trianglePipelineDefinition(
const vkcv::PipelineConfig trianglePipelineDefinition(
triangleShaderProgram,
triangleShaderProgram,
windowWidth,
(uint32_t)windowWidth,
windowHeight,
(uint32_t)windowHeight,
trianglePass,
trianglePass,
{},
{},
{});
{},
 
false);
 
vkcv::PipelineHandle trianglePipeline = core.createGraphicsPipeline(trianglePipelineDefinition);
vkcv::PipelineHandle trianglePipeline = core.createGraphicsPipeline(trianglePipelineDefinition);
if (!trianglePipeline)
if (!trianglePipeline)
{
{
std::cout << "Error. Could not create graphics pipeline. Exiting." << std::endl;
std::cout << "Error. Could not create graphics pipeline. Exiting." << std::endl;
return EXIT_FAILURE;
return EXIT_FAILURE;
}
}
std::vector<vkcv::VertexBufferBinding> vertexBufferBindings;
/*
/*
* BufferHandle triangleVertices = core.createBuffer(vertices);
* BufferHandle triangleVertices = core.createBuffer(vertices);
* BufferHandle triangleIndices = core.createBuffer(indices);
* BufferHandle triangleIndices = core.createBuffer(indices);
@@ -133,10 +130,15 @@ int main(int argc, const char** argv) {
@@ -133,10 +130,15 @@ int main(int argc, const char** argv) {
*
*
* PipelineHandle trianglePipeline = core.CreatePipeline(trianglePipeline);
* PipelineHandle trianglePipeline = core.CreatePipeline(trianglePipeline);
*/
*/
auto start = std::chrono::system_clock::now();
auto start = std::chrono::system_clock::now();
vkcv::ImageHandle swapchainImageHandle = vkcv::ImageHandle::createSwapchainImageHandle();
vkcv::ImageHandle swapchainImageHandle = vkcv::ImageHandle::createSwapchainImageHandle();
 
const vkcv::Mesh renderMesh({}, triangleIndexBuffer.getVulkanHandle(), 3);
 
vkcv::DrawcallInfo drawcall(renderMesh, {});
 
 
const vkcv::ImageHandle swapchainInput = vkcv::ImageHandle::createSwapchainImageHandle();
 
while (window.isWindowOpen())
while (window.isWindowOpen())
{
{
window.pollEvents();
window.pollEvents();
@@ -147,17 +149,18 @@ int main(int argc, const char** argv) {
@@ -147,17 +149,18 @@ int main(int argc, const char** argv) {
cameraManager.getCamera().updateView(std::chrono::duration<double>(deltatime).count());
cameraManager.getCamera().updateView(std::chrono::duration<double>(deltatime).count());
const glm::mat4 mvp = cameraManager.getCamera().getProjection() * cameraManager.getCamera().getView();
const glm::mat4 mvp = cameraManager.getCamera().getProjection() * cameraManager.getCamera().getView();
core.recordDrawcallsToCmdStream(
vkcv::PushConstantData pushConstantData((void*)&mvp, sizeof(glm::mat4));
 
auto cmdStream = core.createCommandStream(vkcv::QueueType::Graphics);
 
 
core.recordDrawcallsToCmdStream(
 
cmdStream,
trianglePass,
trianglePass,
trianglePipeline,
trianglePipeline,
sizeof(mvp),
pushConstantData,
&mvp,
{ drawcall },
vertexBufferBindings,
{ swapchainInput });
triangleIndexBuffer.getHandle(),
core.prepareSwapchainImageForPresent(cmdStream);
3,
core.submitCommandStream(cmdStream);
vkcv::DescriptorSetHandle(),
0,
{swapchainImageHandle});
core.endFrame();
core.endFrame();
}
}
Loading