Does vkCreateComputePipelines() actually work on Quest ?
Hi,
it's months now I am working on some graphic engine vulkan based that I am developing/testing "in parallel" between PC and Quest ( they share a very common codebase ).
Recently, I started working with Compute Shaders but apparently I hit a weird obstacle,even "extremely basic stuff" that works perfectly on a PC it would appear can't make it work on Quest, any time - no matter what - I try to create a Compute Pipeline calling something like :
result = vkCreateComputePipelines(DeviceParams.device, VK_NULL_HANDLE, 1,
&computePipelineCreateInfo, nullptr, the_pipeline);
I always get a thing like :
Signal = SIGSEGV ( signal SIGSEVG : invalid address ( fault address 0x3df8e9be534709) )
Besides that "fault address" seems to be always the same.
Unfortunately there's NO Vulkan sample about "compute shader use" in the Quest SDK, I tried to "use a reference" the QualComm Adreno SDK but "it's not really made for quest". However even trying to put into my stuff their "extremely simple" compute shader with their settings seems to create the same problem.
I tried various things, it almost looks like "does not really matter what parameters you pass in", it's like something does not really want to work with that vkCreateComputePipelines.
I'd appreciate if you have any clue you could give me to look at, I am trying to debug this situation to not much avail, what I am quite certain of is :
- the SPIRV compiled code should be ok
- descriptors and layout too
Anyway if maybe in a future the Vulkan samples could contain some compute shader example that would be very helpful.
Cheers.
