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
Implement overrides for functions that retrieve an array size and are used with the following pattern:
vkEnumeratePhysicalDevices(instance, &size, nullptr);
data = new VkPhsicalDevice[size];
vkEnumeratePhysicalDevices(instance, size, data);
Current replay behavior is to always use the size value read from the file. If the size value read from the capture file is smaller than the size value returned by the first call in the above example, the replay of the second call will produce a VK_INCOMPLETE return value.
The replay tool will print an error message for the VK_INCOMPLETE return value, but the replay tool will not use the data retrieved by the call, so it should be safe to ignore the message.
Short term, this could be addressed by silencing the VK_INCOMPLETE error message, but long term we will need to implement a portability override, which does the following to make the call with the correct array size:
When the array parameter is null, skip replay of the call.
When the array parameter is not null, first call the function with a null array value to obtain the appropriate size, then allocate memory for the array and make the call with retrieved size and allocated memory.
Although this is primarily a portability issue, where the size value would only be different for replay on a different GPU/driver, the vkGetPipelineCacheData has been observed to return different sizes when replayed on the same system used for capture, resulting in the VK_INCOMPLETE error message on replay, which should be addressed for the 'non-portability' replay case.
The text was updated successfully, but these errors were encountered:
Implement overrides for functions that retrieve an array size and are used with the following pattern:
Current replay behavior is to always use the size value read from the file. If the size value read from the capture file is smaller than the size value returned by the first call in the above example, the replay of the second call will produce a VK_INCOMPLETE return value.
The replay tool will print an error message for the VK_INCOMPLETE return value, but the replay tool will not use the data retrieved by the call, so it should be safe to ignore the message.
Short term, this could be addressed by silencing the VK_INCOMPLETE error message, but long term we will need to implement a portability override, which does the following to make the call with the correct array size:
Although this is primarily a portability issue, where the size value would only be different for replay on a different GPU/driver, the vkGetPipelineCacheData has been observed to return different sizes when replayed on the same system used for capture, resulting in the VK_INCOMPLETE error message on replay, which should be addressed for the 'non-portability' replay case.
The text was updated successfully, but these errors were encountered: