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
Reproducible in 4.3.dev1 and later.
Not reproducible in 4.2.1 and earlier.
System information
Godot v4.3.dev.mono (89cc635) - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4070 Ti (NVIDIA; 31.0.15.4629) - 13th Gen Intel(R) Core(TM) i5-13600K (20 Threads)
Issue description
The bug described in #68293 has crept back in during the RenderingDevice refactor, affecting both Vulkan and Direct3D 12. The index array is bound with an offset, but then that offset is applied again when drawing, giving the wrong result.
The same solution (#68303) fixes this. The p_offset parameter in command_render_bind_index_buffer could just be removed, but maybe it's needed for console graphics APIs, I dunno.
Steps to reproduce
Run the MRP, check whether there's a nice red-green-blue triangle centered in the screen.
I think your proposed solution is correct. IIRC Vulkan is unique in that it lets you specify offsets at draw time. If other platforms need the offset at draw time, we can make the change in the Vulkan RDD and just ignore the p_offset parameter
Tested versions
Reproducible in 4.3.dev1 and later.
Not reproducible in 4.2.1 and earlier.
System information
Godot v4.3.dev.mono (89cc635) - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4070 Ti (NVIDIA; 31.0.15.4629) - 13th Gen Intel(R) Core(TM) i5-13600K (20 Threads)
Issue description
The bug described in #68293 has crept back in during the RenderingDevice refactor, affecting both Vulkan and Direct3D 12. The index array is bound with an offset, but then that offset is applied again when drawing, giving the wrong result.
godot/servers/rendering/rendering_device.cpp
Lines 4260 to 4262 in 89cc635
godot/servers/rendering/rendering_device.cpp
Line 4373 in 89cc635
The same solution (#68303) fixes this. The
p_offset
parameter incommand_render_bind_index_buffer
could just be removed, but maybe it's needed for console graphics APIs, I dunno.Steps to reproduce
Run the MRP, check whether there's a nice red-green-blue triangle centered in the screen.
Minimal reproduction project (MRP)
index-bug.zip
The text was updated successfully, but these errors were encountered: