[Mesa-dev] VulkanCTS only supporting robustBufferAccess == true?

2019-11-08 Thread abergmeier
Testing my Vulkan driver agains Vulkan CTS, I am a bit suprised, that is seems like CTS does enforce robustBufferAccess (e.g. https://github.com/KhronosGroup/VK-GL-CTS/blob/master/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp#L1045).

 

Am I mistaken or can someone explain what the logic behind all that is.

 

Bonus points for pointing me to a hidden documentation about Vulkan CTS which I haven't found yet.

 
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] VulkanCTS only supporting robustBufferAccess == true?

2019-11-08 Thread Chris Forbes
This is enforcing a hard requirement in the spec:

30.1. Feature Requirements

All Vulkan graphics implementations must support the following features:

* robustBufferAccess


On Fri, Nov 8, 2019 at 1:49 PM  wrote:
>
> Testing my Vulkan driver agains Vulkan CTS, I am a bit suprised, that is 
> seems like CTS does enforce robustBufferAccess (e.g. 
> https://github.com/KhronosGroup/VK-GL-CTS/blob/master/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp#L1045).
>
> Am I mistaken or can someone explain what the logic behind all that is.
>
> Bonus points for pointing me to a hidden documentation about Vulkan CTS which 
> I haven't found yet.
>
> ___
> mesa-dev mailing list
> mesa-dev@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

[Mesa-dev] [PATCH] llvmpipe: Check thread creation errors

2019-11-08 Thread Nathan Kidd
In the case of glibc, pthread_t is internally a pointer.  If
lp_rast_destroy() passes a 0-value pthread_t to pthread_join(), the
latter will SEGV dereferencing it.

pthread_create() can fail if either the user's ulimit -u or Linux
kernel's /proc/sys/kernel/threads-max is reached.

Choosing to continue, rather than fail, on theory that it is better to
run with the one main thread, than not run at all.

Keeping as many threads as we got, since lack of threads severely
degrades llvmpipe performance.

Signed-off-by: Nathan Kidd 
---
 src/gallium/drivers/llvmpipe/lp_rast.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c
b/src/gallium/drivers/llvmpipe/lp_rast.c
index d50e92b..ef783ea 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -867,6 +867,10 @@ create_rast_threads(struct lp_rasterizer *rast)
   pipe_semaphore_init(&rast->tasks[i].work_done, 0);
   rast->threads[i] = u_thread_create(thread_function,
 (void *) &rast->tasks[i]);
+  if (!rast->threads[i]) {
+ rast->num_threads = i; /* previous thread is max */
+ break;
+  }
}
 }
 -- 1.8.3.1


___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Re: [Mesa-dev] VulkanCTS only supporting robustBufferAccess == true?

2019-11-08 Thread Andreas Bergmeier
Thanks. Seems like my google foo was weak.

On Fri, 8 Nov 2019 at 22:57, Chris Forbes  wrote:

> This is enforcing a hard requirement in the spec:
>
> 30.1. Feature Requirements
>
> All Vulkan graphics implementations must support the following features:
>
> * robustBufferAccess
>
>
> On Fri, Nov 8, 2019 at 1:49 PM  wrote:
> >
> > Testing my Vulkan driver agains Vulkan CTS, I am a bit suprised, that is
> seems like CTS does enforce robustBufferAccess (e.g.
> https://github.com/KhronosGroup/VK-GL-CTS/blob/master/external/vulkancts/modules/vulkan/api/vktApiFeatureInfo.cpp#L1045
> ).
> >
> > Am I mistaken or can someone explain what the logic behind all that is.
> >
> > Bonus points for pointing me to a hidden documentation about Vulkan CTS
> which I haven't found yet.
> >
> > ___
> > mesa-dev mailing list
> > mesa-dev@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev