From 95608f1e82da1e531bad0812e5b15dd1776a2b7f Mon Sep 17 00:00:00 2001 From: 101001000 Date: Wed, 13 Sep 2023 15:08:04 +0200 Subject: [PATCH] corrected data retrieval --- src/Managers.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Managers.cpp b/src/Managers.cpp index e98ceac..2ea1207 100644 --- a/src/Managers.cpp +++ b/src/Managers.cpp @@ -213,9 +213,10 @@ RenderingManager::RenderInfo RenderingManager::get_render_info() { LOG(debug) << "Getting render info"; unsigned int sample_count = 0; + unsigned int* dev_samples; - d_q.memcpy(&sample_count, dev_scene->dev_samples, 1 * sizeof(unsigned int)); - d_q.wait(); + d_q.memcpy(&dev_samples, &(dev_scene->dev_samples), sizeof(unsigned int*)).wait(); + d_q.memcpy(&sample_count, dev_samples, 1 * sizeof(unsigned int)).wait(); RenderInfo render_info; render_info.samples = sample_count; @@ -285,8 +286,9 @@ float* RenderingManager::get_pass(std::string pass) { float* pass_result = new float[rd.pars.width * rd.pars.height * 4]; - d_q.memcpy(pass_result, dev_scene->dev_passes + n, rd.pars.width * rd.pars.height * 4 * sizeof(float)); - d_q.wait(); + float* dev_passes; + d_q.memcpy(&dev_passes, &(dev_scene->dev_passes), sizeof(float*)).wait(); + d_q.memcpy(pass_result, dev_passes + n, rd.pars.width * rd.pars.height * 4 * sizeof(float)).wait(); LOG(debug) << "Pass retrieved!";