[Mesa-dev] [PATCH] anv: generate different VkSemaphore handles

Kenneth Graunke kenneth at whitecape.org
Sat Feb 27 18:32:12 UTC 2016


On Saturday, February 27, 2016 2:47:22 PM PST Jacek Konieczny wrote:
> The same handle returned by all vkCreateSemaphore() calls confuses
> validation layers:
> 
> SEMAPHORE(ERROR): object: 0x1 type: 5 location: 1443 msgCode: 0: 
vkQueueSubmit: Semaphore must not be currently signaled or in a wait state
> 
> Signed-off-by: Jacek Konieczny <jajcus at jajcus.net>
> ---
>  src/intel/vulkan/anv_device.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c
> index 5993055..96aef00 100644
> --- a/src/intel/vulkan/anv_device.c
> +++ b/src/intel/vulkan/anv_device.c
> @@ -1546,7 +1546,9 @@ VkResult anv_CreateSemaphore(
>      * rings. As such, there's nothing to do for the user space semaphore.
>      */
>  
> -   *pSemaphore = (VkSemaphore)1;
> +   static uint64_t value = 0;
> +
> +   *pSemaphore = (VkSemaphore) ++value;
>  
>     return VK_SUCCESS;
>  }
> 

I believe this is okay on x86_64, but it would need locking (or an
atomic increment operation) on 32-bit systems.  I'll gladly defer
to the maintainers as to whether they care, however.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160227/380968d7/attachment.sig>


More information about the mesa-dev mailing list