Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.6.1, 6.7
-
None
-
-
f21af7f88 (dev), 86cdd53a6 (6.7), ae6e5a6b8 (6.6)
Description
After successfully running (verified in xcode metal profiler) a simple compute shader, QRhiResourceUpdateBatch::readBackBuffer() fails to return the results. I've attached a simple program to reproduce the issue. The program creates 3 buffers. The first two buffers of 10 float are added and outputted to the 3 buffer.
Example code can be found here: https://github.com/vpicaver/qt_rhi_compute_shader
The output on my machine is:
Metal QRhiDriverInfo(deviceName="AMD Radeon Pro 580" deviceId=0x0 vendorId=0x0 deviceType=Integrated) compute supported: true read non uniform buffer: true Shader valid: true endComputePass endOffscreenFrame i: 0 value: -1 i: 1 value: -1 i: 2 value: -1 i: 3 value: -1 i: 4 value: -1 i: 5 value: -1 i: 6 value: -1 i: 7 value: -1 i: 8 value: -1 i: 9 value: -1 finish Finished with frame!
There shouldn't be -1 for the values of the output buffer.
This code works on an nvidia 1070 on windows 11 running with Directx12 and Vulkan.