Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.6, 6.7
-
None
-
-
7dd1fe963 (dev), 51cfb893c (6.7), dbc230139 (6.6)
Description
Qt3D allocates and uploads uniform buffers but fails to bind uniform buffers for compute shaders. This causes the compute shader not to run correctly or to crash the program. When running the attached project in Xcode debugger, I get the following error:
validateComputeFunctionArguments:819: failed assertion `Compute Function(main0): missing buffer binding at index 0 for _20[0].'
You can build the project in Xcode with the CMake Xcode generator.
Outside of Xcode, the example program will not render, or show black screen. If the particles are rendered they will stay still and not move around. This is because the compute shader fails to run.
This also fails on windows, running directx and vulkan.
Example program the reproduces the issue:
Attachments
For Gerrit Dashboard: QTBUG-119659 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
522264,4 | Enable uniform buffer for RHI compute shaders | dev | qt/qt3d | Status: MERGED | +2 | 0 |
531096,2 | Enable uniform buffer for RHI compute shaders | 6.7 | qt/qt3d | Status: MERGED | +2 | 0 |
531223,2 | Enable uniform buffer for RHI compute shaders | 6.6 | qt/qt3d | Status: MERGED | +2 | 0 |