AnsweredAssumed Answered

Bug in AMD Vulkan implementation

Question asked by thom on Oct 20, 2017
Latest reply on Jul 25, 2018 by xhuang

The latest version of Crimson ReLive software has a bug in Vulkan implementation (amdvlk32.dll) producing wrong depth buffering results.


When using a reverse-z technique (minDepth>maxDepth) depth isn't calculated properly.



More info about the technique:





Steps to reproduce:

- set viewport.minDepth=1.0f and viewport.maxDepth=0.0f with vkCmdSetViewport()

- render a triangle with depth=0.95f (for example)

- notice depth written to z-buffer is 0.0f instead of 0.05f


On NVIDIA hardware (GTX 960) this works correctly.



Tested (and reproducible) on:


AMD Graphics Card

- Radeon RX 560 (MSI Radeon RX 560 AERO ITX 4G OC)


Desktop or Laptop System

- Custom built desktop


Operating System

- Windows 7 x64 / Windows 10 x64


Driver version installed

- Catalyst Crimson ReLive 17.7.2 and 17.10.1


Display Devices



Motherboard + Bios Revision

- ASUS Z170-K (BIOS 3301)



- Intel i7 6700K


Power Supply Unit Make, Model & Wattage

- SilentiumPC Supremo FM2 Gold 750W



- 16GB DDR4


Depth format used




Please let me know if you need more info.