My example work on AMD but not on NVIDIA

I render 3d model.
On AMD i see my render, but on NVIDIA i see black screen or see cleared swapchain blue color, but absent 3d model.
I cleared SwapChain and render 3d model in one RenderPass.
In main render i do vkAcquireNextImageKHR then vkQueueSubmit and vkQueuePresentKHR

Do you get any validation layer errors? Usually it’s the other way round as AMD relies on proper transitions, but you may run into device limitations or use unsupported features. So enable all validation layers using the VK_LAYER_LUNARG_standard_validation meta layer and make sure that you don’t get any error.s

If you don’t get any validation layers, try using an offline debugging tool like renderdoc to find out in which part of the pipeline your problem is located.

My file with exe.
http://s000.tinyupload.com/index.php?file_id=00000078357163046371

That example won’t work on my Radeon R9 390 too, so I guess you’re doing something wrong in general and it just works on your specific AMD card by accident. Do you get any validation layer errors? If so, please try to isolate the parts of your code that cause the validation errors and we may be able to help you. Telling from just a binary what’s wrong is not possible.

^ My kind of guy, opening random binaries of the internet. Actually my kindly AV kills it and marks it as TR/FakeAV.

As for the layers, the .bat there is supposed to enable them and log to a .txt.

use VK_LAYER_LUNARG_standard_validation not just core_validation

Is this thing in assembly?

Ok, works for me as intended on AMD 280x. But I get this output:

Swapchain(ERROR): object: 0x5a514f74 type: 2 location: 0 msgCode: 25: swapchain::GetPhysicalDeviceSurfacePresentModesKHR() called with non-NULL pPresentModeCount; but no prior positive value has been seen for pPresentModes.
Swapchain(ERROR): object: 0x5a514d28 type: 3 location: 1584 msgCode: 14: vkCreateSwapchainKHR() called with a non-supported pCreateInfo->imageFormat (i.e. 37).
SC(ERROR): object: 0x0 type: 3 location: 2604 msgCode: 14: Shader uses descriptor slot 0.0 (used as type ptr to uniform struct of (mat4 of vec4 of float32, mat4 of vec4 of float32, mat4 of vec4 of float32)) but descriptor not accessible from stage VK_SHADER_STAGE_VERTEX_BIT
SC(ERROR): object: 0x0 type: 3 location: 2604 msgCode: 14: Shader uses descriptor slot 0.0 (used as type ptr to uniform struct of (mat4 of vec4 of float32, mat4 of vec4 of float32, mat4 of vec4 of float32, float32, float32)) but descriptor not accessible from stage VK_SHADER_STAGE_VERTEX_BIT
SC(ERROR): object: 0x0 type: 0 location: 1731 msgCode: 1: Attribute type of VK_FORMAT_R32G32B32A32_UINT at location 3 does not match VS input type of ptr to input vec4 of sint32
SC(ERROR): object: 0x0 type: 3 location: 2604 msgCode: 14: Shader uses descriptor slot 0.0 (used as type ptr to uniform struct of (mat4 of vec4 of float32, mat4 of vec4 of float32, mat4 of vec4 of float32)) but descriptor not accessible from stage VK_SHADER_STAGE_VERTEX_BIT
SC(ERROR): object: 0x0 type: 3 location: 2604 msgCode: 14: Shader uses descriptor slot 0.0 (used as type ptr to uniform struct of (mat4 of vec4 of float32, mat4 of vec4 of float32, mat4 of vec4 of float32)) but descriptor not accessible from stage VK_SHADER_STAGE_VERTEX_BIT
DS(ERROR): object: 0x28061de6c0 type: 6 location: 4116 msgCode: 7: Cannot submit cmd buffer using image (0x4) [sub-resource: aspectMask 0x2 array layer 0, mip level 0], with layout VK_IMAGE_LAYOUT_UNDEFINED when first use is VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL.
DS(ERROR): object: 0x19 type: 9 location: 5048 msgCode: 67: Cannot free buffer 0x19 that is in use by a command buffer.
DS(ERROR): object: 0x31 type: 9 location: 5048 msgCode: 67: Cannot free buffer 0x31 that is in use by a command buffer.
Swapchain(ERROR): object: 0x5a5149ec type: 3 location: 937 msgCode: 3: swapchain::DestroySurfaceKHR() called before all of its associated VkSwapchainKHRs were destroyed.
OBJTRACK(ERROR): object: 0x7c type: 5 location: 2183 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT object 0x7c has not been destroyed.
OBJTRACK(ERROR): object: 0x7d type: 5 location: 2183 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT object 0x7d has not been destroyed.
OBJTRACK(ERROR): object: 0x7e type: 5 location: 2183 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT object 0x7e has not been destroyed.
OBJTRACK(ERROR): object: 0x5 type: 8 location: 2207 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT object 0x5 has not been destroyed.
OBJTRACK(ERROR): object: 0x6 type: 8 location: 2207 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT object 0x6 has not been destroyed.
OBJTRACK(ERROR): object: 0x6b type: 8 location: 2207 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT object 0x6b has not been destroyed.
OBJTRACK(ERROR): object: 0x6c type: 8 location: 2207 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT object 0x6c has not been destroyed.
OBJTRACK(ERROR): object: 0x69 type: 9 location: 2219 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT object 0x69 has not been destroyed.
OBJTRACK(ERROR): object: 0x6a type: 9 location: 2219 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT object 0x6a has not been destroyed.
OBJTRACK(ERROR): object: 0x3 type: 10 location: 2231 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT object 0x3 has not been destroyed.
OBJTRACK(ERROR): object: 0x4 type: 10 location: 2231 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT object 0x4 has not been destroyed.
OBJTRACK(ERROR): object: 0x7 type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0x7 has not been destroyed.
OBJTRACK(ERROR): object: 0x8 type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0x8 has not been destroyed.
OBJTRACK(ERROR): object: 0x9 type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0x9 has not been destroyed.
OBJTRACK(ERROR): object: 0xd type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0xd has not been destroyed.
OBJTRACK(ERROR): object: 0xe type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0xe has not been destroyed.
OBJTRACK(ERROR): object: 0x86 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x86 has not been destroyed.
OBJTRACK(ERROR): object: 0x76 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x76 has not been destroyed.
OBJTRACK(ERROR): object: 0x7f type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x7f has not been destroyed.
OBJTRACK(ERROR): object: 0x77 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x77 has not been destroyed.
OBJTRACK(ERROR): object: 0x80 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x80 has not been destroyed.
OBJTRACK(ERROR): object: 0x82 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x82 has not been destroyed.
OBJTRACK(ERROR): object: 0x83 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x83 has not been destroyed.
OBJTRACK(ERROR): object: 0x85 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x85 has not been destroyed.
OBJTRACK(ERROR): object: 0x78 type: 16 location: 2303 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT object 0x78 has not been destroyed.
OBJTRACK(ERROR): object: 0x68 type: 17 location: 2315 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT object 0x68 has not been destroyed.
OBJTRACK(ERROR): object: 0xf type: 18 location: 2327 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT object 0xf has not been destroyed.
OBJTRACK(ERROR): object: 0x81 type: 19 location: 2339 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT object 0x81 has not been destroyed.
OBJTRACK(ERROR): object: 0x79 type: 19 location: 2339 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT object 0x79 has not been destroyed.
OBJTRACK(ERROR): object: 0x84 type: 19 location: 2339 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT object 0x84 has not been destroyed.
OBJTRACK(ERROR): object: 0x87 type: 19 location: 2339 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT object 0x87 has not been destroyed.
OBJTRACK(ERROR): object: 0x67 type: 20 location: 2351 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT object 0x67 has not been destroyed.
OBJTRACK(ERROR): object: 0x66 type: 22 location: 2375 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT object 0x66 has not been destroyed.
OBJTRACK(ERROR): object: 0x7a type: 24 location: 2387 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT object 0x7a has not been destroyed.
OBJTRACK(ERROR): object: 0x7b type: 24 location: 2387 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT object 0x7b has not been destroyed.
OBJTRACK(ERROR): object: 0x2 type: 25 location: 2399 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT object 0x2 has not been destroyed.
MEM(ERROR): object: 0x5 type: 8 location: 4071 msgCode: 7: Mem Object 0x5 has not been freed. You should clean up this memory by calling vkFreeMemory(0x5) prior to vkDestroyDevice().
MEM(ERROR): object: 0x6 type: 8 location: 4071 msgCode: 7: Mem Object 0x6 has not been freed. You should clean up this memory by calling vkFreeMemory(0x6) prior to vkDestroyDevice().
MEM(ERROR): object: 0x6b type: 8 location: 4071 msgCode: 7: Mem Object 0x6b has not been freed. You should clean up this memory by calling vkFreeMemory(0x6b) prior to vkDestroyDevice().
MEM(ERROR): object: 0x6c type: 8 location: 4071 msgCode: 7: Mem Object 0x6c has not been freed. You should clean up this memory by calling vkFreeMemory(0x6c) prior to vkDestroyDevice().

DS(ERROR): object: 0x28061de6c0 type: 6 location: 4116 msgCode: 7: Cannot submit cmd buffer using image (0x4) [sub-resource: aspectMask 0x2 array layer 0, mip level 0], with layout VK_IMAGE_LAYOUT_UNDEFINED when first use is VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL.
Very interesting.

Sascha Willems try this exe. Replace old exe for this.
[ATTACH]116[/ATTACH]

[QUOTE=krOoze;40535]^ My kind of guy, opening random binaries of the internet. Actually my kindly AV kills it and marks it as TR/FakeAV.

As for the layers, the .bat there is supposed to enable them and log to a .txt.[/QUOTE]

Well, I ran it through 3 different AV-Solutions before running the random binary :wink:

But I would actually prefer some code that I can (safely) compile myself…

[QUOTE=Ronniko;40538]DS(ERROR): object: 0x28061de6c0 type: 6 location: 4116 msgCode: 7: Cannot submit cmd buffer using image (0x4) [sub-resource: aspectMask 0x2 array layer 0, mip level 0], with layout VK_IMAGE_LAYOUT_UNDEFINED when first use is VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL.
Very interesting.[/QUOTE]

So you’re obviously missing a proper layout transition for the depth(stencil) attachment. If you don’t read from depth you usually transition right after creating it.

From krOoze’s log output you can also spot some shader errors hinting at descriptor sets not available for that specific stage. So these should be fixed too.

Well the AV heuristic probably didn’t like some of those assembly tricks or decompress at runtime schemes or whatever it uses…

Reasonable approach would be to fix ALL those ERRORS and THEN worry about it… I mean all of those are serious (e.g. reading buffer after free). And e.g. omitting cleanup entirely is just lazy - training little bit of disciplined approach is good when working with Vulkan anyway…

Don’t forget to change your layer settings to the VK_LAYER_LUNARG_standard_validation and perhaps add 2>&1 to be sure you catch all of this in your file. You should get very similar output as I did, helping you to debug things yourself.
Also if you insist on this way of enabling layers, then adding the vk_layer_settings.txt settings file might be a good idea.

Very interesting. I fix my ERROR-s https://forums.khronos.org/showthread.php/13115-My-example-work-on-AMD-but-not-on-NVIDIA?p=40537&viewfull=1#post40537
But my example still not work on NVIDIA.

I check address from vkCreateSwapchainKHR and see next:
On amd i see swapChain = 0x5A04450 on NVIDIA i see swapChain = 0x000E !!!

NVIDIA driver work with aligned memory ?!

[QUOTE=Ronniko;40557]Very interesting. I fix my ERROR-s https://forums.khronos.org/showthread.php/13115-My-example-work-on-AMD-but-not-on-NVIDIA?p=40537&viewfull=1#post40537
But my example still not work on NVIDIA.

I check address from vkCreateSwapchainKHR and see next:
On amd i see swapChain = 0x5A04450 on NVIDIA i see swapChain = 0x000E !!!

NVIDIA driver work with aligned memory ?![/QUOTE]

Are the layers enabled?

One of the layers renames non-dispatchable objects (like swapchian) to make them unique. Essentially giving them a number from 1 to n with n the number of objects you created.

Errors fixed.
But my example still not work on NVIDIA.
In my program i am not using layers. Only in bat file.
http://s000.tinyupload.com/index.php?file_id=03937746871311970970

Errors fixed.

Nope:

Image(ERROR): object: 0x0 type: 10 location: 378 msgCode: 14: vkCreateImage parameter, pCreateInfo->initialLayout, must be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED
Swapchain(ERROR): object: 0x61d94f74 type: 2 location: 0 msgCode: 25: swapchain::GetPhysicalDeviceSurfacePresentModesKHR() called with non-NULL pPresentModeCount; but no prior positive value has been seen for pPresentModes.
DS(ERROR): object: 0x19 type: 9 location: 5048 msgCode: 67: Cannot free buffer 0x19 that is in use by a command buffer.
DS(ERROR): object: 0x31 type: 9 location: 5048 msgCode: 67: Cannot free buffer 0x31 that is in use by a command buffer.
Swapchain(ERROR): object: 0x61d949ec type: 3 location: 937 msgCode: 3: swapchain::DestroySurfaceKHR() called before all of its associated VkSwapchainKHRs were destroyed.
OBJTRACK(ERROR): object: 0x7c type: 5 location: 2183 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT object 0x7c has not been destroyed.
OBJTRACK(ERROR): object: 0x7d type: 5 location: 2183 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT object 0x7d has not been destroyed.
OBJTRACK(ERROR): object: 0x7e type: 5 location: 2183 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SEMAPHORE_EXT object 0x7e has not been destroyed.
OBJTRACK(ERROR): object: 0x5 type: 8 location: 2207 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT object 0x5 has not been destroyed.
OBJTRACK(ERROR): object: 0x6 type: 8 location: 2207 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT object 0x6 has not been destroyed.
OBJTRACK(ERROR): object: 0x6b type: 8 location: 2207 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT object 0x6b has not been destroyed.
OBJTRACK(ERROR): object: 0x6c type: 8 location: 2207 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DEVICE_MEMORY_EXT object 0x6c has not been destroyed.
OBJTRACK(ERROR): object: 0x69 type: 9 location: 2219 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT object 0x69 has not been destroyed.
OBJTRACK(ERROR): object: 0x6a type: 9 location: 2219 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_EXT object 0x6a has not been destroyed.
OBJTRACK(ERROR): object: 0x3 type: 10 location: 2231 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT object 0x3 has not been destroyed.
OBJTRACK(ERROR): object: 0x4 type: 10 location: 2231 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_EXT object 0x4 has not been destroyed.
OBJTRACK(ERROR): object: 0x7 type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0x7 has not been destroyed.
OBJTRACK(ERROR): object: 0x8 type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0x8 has not been destroyed.
OBJTRACK(ERROR): object: 0x9 type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0x9 has not been destroyed.
OBJTRACK(ERROR): object: 0xd type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0xd has not been destroyed.
OBJTRACK(ERROR): object: 0xe type: 14 location: 2279 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_IMAGE_VIEW_EXT object 0xe has not been destroyed.
OBJTRACK(ERROR): object: 0x76 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x76 has not been destroyed.
OBJTRACK(ERROR): object: 0x7f type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x7f has not been destroyed.
OBJTRACK(ERROR): object: 0x77 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x77 has not been destroyed.
OBJTRACK(ERROR): object: 0x80 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x80 has not been destroyed.
OBJTRACK(ERROR): object: 0x81 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x81 has not been destroyed.
OBJTRACK(ERROR): object: 0x82 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x82 has not been destroyed.
OBJTRACK(ERROR): object: 0x83 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x83 has not been destroyed.
OBJTRACK(ERROR): object: 0x84 type: 15 location: 2291 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT object 0x84 has not been destroyed.
OBJTRACK(ERROR): object: 0x78 type: 16 location: 2303 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_CACHE_EXT object 0x78 has not been destroyed.
OBJTRACK(ERROR): object: 0x68 type: 17 location: 2315 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_LAYOUT_EXT object 0x68 has not been destroyed.
OBJTRACK(ERROR): object: 0xf type: 18 location: 2327 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_RENDER_PASS_EXT object 0xf has not been destroyed.
OBJTRACK(ERROR): object: 0x79 type: 19 location: 2339 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_PIPELINE_EXT object 0x79 has not been destroyed.
OBJTRACK(ERROR): object: 0x67 type: 20 location: 2351 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT_EXT object 0x67 has not been destroyed.
OBJTRACK(ERROR): object: 0x66 type: 22 location: 2375 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_POOL_EXT object 0x66 has not been destroyed.
OBJTRACK(ERROR): object: 0x7a type: 24 location: 2387 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT object 0x7a has not been destroyed.
OBJTRACK(ERROR): object: 0x7b type: 24 location: 2387 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_FRAMEBUFFER_EXT object 0x7b has not been destroyed.
OBJTRACK(ERROR): object: 0x2 type: 25 location: 2399 msgCode: 3: OBJ ERROR : VK_DEBUG_REPORT_OBJECT_TYPE_COMMAND_POOL_EXT object 0x2 has not been destroyed.
MEM(ERROR): object: 0x5 type: 8 location: 4071 msgCode: 7: Mem Object 0x5 has not been freed. You should clean up this memory by calling vkFreeMemory(0x5) prior to vkDestroyDevice().
MEM(ERROR): object: 0x6 type: 8 location: 4071 msgCode: 7: Mem Object 0x6 has not been freed. You should clean up this memory by calling vkFreeMemory(0x6) prior to vkDestroyDevice().
MEM(ERROR): object: 0x6b type: 8 location: 4071 msgCode: 7: Mem Object 0x6b has not been freed. You should clean up this memory by calling vkFreeMemory(0x6b) prior to vkDestroyDevice().
MEM(ERROR): object: 0x6c type: 8 location: 4071 msgCode: 7: Mem Object 0x6c has not been freed. You should clean up this memory by calling vkFreeMemory(0x6c) prior to vkDestroyDevice().

Run this like so:

set VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
set VK_DEVICE_LAYERS=VK_LAYER_LUNARG_standard_validation
vulkan_animation_17.exe > log.txt 2>&1

You know, I am happy to do “debug service” from time to time, but it’s way more comfortable and easier with a source code and without having to run random binaries from the net…

Image(ERROR): object: 0x0 type: 10 location: 378 msgCode: 14: vkCreateImage parameter, pCreateInfo->initialLayout, must be VK_IMAGE_LAYOUT_UNDEFINED or VK_IMAGE_LAYOUT_PREINITIALIZED
This texture i use for render to texture. And in this example i not use this Image and render to texture.

Swapchain(ERROR): object: 0x61d94f74 type: 2 location: 0 msgCode: 25: swapchain::GetPhysicalDeviceSurfacePresentModesKHR () called with non-NULL pPresentModeCount; but no prior positive value has been seen for pPresentModes.
This error becas i call one time GetPhysicalDeviceSurfacePresentModesKHR.
Next errors when i exit and destroy vulkan resources\buffers.
I mean i fix errors in render.
And not see render on NVIDIA.

Ha-ha !!!
I found bug.
My example now run on NVIDIA !!!

On AMD work and rendering if write vkCmdDrawIndexed,Cmd_buf,NumTriangles,0,0,0,0 !!!
But on NVIDIA we not see render !
Only vkCmdDrawIndexed,Cmd_buf,NumTriangles,1,0,0,0 !!!

So, when you saw “The primitives are drawn instanceCount times” in the specification, or just the function documentation, what exactly did you think would happen when you passed an instanceCount of zero?

Also, I would hope that validation layers would catch things like this.

Well, it is valid usage… Maybe more importantly AMD should not have drawn anything (unless something else is rotten in his code…)