Search Issue Tracker
By Design
Votes
0
Found in
6000.0.30f1
6000.1.0a7
6000.2.0a1
6000.3.0a1
Issue ID
UUM-90463
Regression
No
[Vulkan] Crash on vk::DescriptorState::BindRandomWriteBuffer when using Lit shaders with Custom Render Pipeline
Reproduction steps:
1. Open the attached “IN-89723_vulkancrash” project
2. Make sure Vulkan Graphics API is used
3. Replace “Assets/Custom RP/Runtime/Passes/LightingPass.cs“ with the attached LightinPass.cs script
4. Open the “Assets/Scenes/LOD/LOD Scene.unity” scene
Expected results: Scene is opened
Actual results: Unity Editor crashes
Reproduced with: 2023.3.0b10, 6000.0.30f1, 6000.1.0a7
Couldn’t reproduce with: 2021.3.46f1, 2022.3.54f1, 2023.3.0b9 (Couldn’t downgrade the project)
Reproduced on: Ubuntu 24.04, Windows 11
First lines of the stack trace:
0x00007FF93911A74F (Unity) vk::DescriptorState::BindRandomWriteBuffer
0x00007FF93915E7C9 (Unity) GfxDeviceVKBase::BindComputeBufferVK
0x00007FF93910AF6D (Unity) VKGpuProgram::ApplyGpuProgram
0x00007FF939136943 (Unity) VKImmediateContext::SetShaders
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Out-of-bounds memory access with multiple CanvasRenderers under a Canvas when using Mesh API
- Inspector tries to access file after it was deleted when the file was locked in Inspector window
- Changing Transform values in Search window Inspector loses focus while dragging and stopping mouse without releasing dragging action
- Saving changes on the dirty VFX Graph during the Play mode throws "The referenced script (Unknown) on this Behaviour is missing!" warnings
- VFX Graph Debug Info overlaps the "Initialize" block debug info by default
Resolution Note:
It's by design based on [the C# reference|https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/how-to-initialize-objects-by-using-an-object-initializer,]
The initializer should be as below:
builder.WriteBuffer(renderGraph.CreateBuffer(new BufferDesc
{
name = "Other Light Data",
count = maxOtherLightCount,
stride = OtherLightData.stride,
target = GraphicsBuffer.Target.Structured
}));