You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 19, 2019. It is now read-only.
The function here looks wrong:
https://github.com/KhronosGroup/Vulkan-Samples/blob/master/samples/apps/atw/scenes/scene_perf.h#L1706
The UBO buffers are being copied from a wrong memory in case of multiview. I think that it should look like this:
static void ksPerfScene_UpdateBuffers( ksGpuCommandBuffer * commandBuffer, ksPerfScene * scene, const ksViewState * viewState, const int eye )
{
ksMatrix4x4f * sceneMatrices = NULL;
ksGpuBuffer * sceneMatricesBuffer = ksGpuCommandBuffer_MapBuffer( commandBuffer, &scene->sceneMatrices, (void **)&sceneMatrices );
const int count = ( eye == 2 ) ? 2 : 1;
const int offset = ( eye == 2) ? 0 : eye;
memcpy( sceneMatrices + 0 * count, &viewState->viewMatrix[offset], count * sizeof( ksMatrix4x4f ) );
memcpy( sceneMatrices + 1 * count, &viewState->projectionMatrix[offset], count * sizeof( ksMatrix4x4f ) );
ksGpuCommandBuffer_UnmapBuffer( commandBuffer, &scene->sceneMatrices, sceneMatricesBuffer, KS_GPU_BUFFER_UNMAP_TYPE_COPY_BACK );
}