[Mesa-dev] VulkanCTS only supporting robustBufferAccess == true?
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?
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
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?
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