Forums - Vulkan crash when creating a compute pipelines

4 posts / 0 new
Last post
Vulkan crash when creating a compute pipelines
vshcherbakov
Join Date: 15 Aug 18
Posts: 2
Posted: Mon, 2018-08-20 13:16

Hi,

on Google Pixel (both on android 7.1 and 9.0) with Adreno (TM) 530 Vendor 5143 Device 5030004 Driver 512.313.0 the attempt to create even a simplest compute pipeline crashes in driver.  the error is

SIGSEGV (signal SIGSEGV: invalid address (fault address: 0x4))

and the callstack is

<unknown function> 0x00000000e6337b56

<unknown function> 0x00000000e6337206

<unknown function> 0x00000000e5f4f526

<unknown function> 0x00000000e5f4ff40

<unknown function> 0x00000000e65220fe

<unknown function> 0x00000000e6529e8e

QGLCCompileToIRShader(void*, QGLC_SRCSHADER*, QGLC_COMPILETOIR_RESULT*) 0x00000000e65d109a

QglShaderCompiler::CompileToIrShader(QglProgram const*, QglShaderStage, char const*, unsigned int, char const*, QGLC_COMPILETOIR_RESULT*) 0x00000000d5921852

QglProgram::Compile(QglPipelineLayout const*) 0x00000000d59153d4

QglProgram::Create(QglProgramCreateData*) 0x00000000d591505e

QglPipeline::CreateProgram() 0x00000000d5913060

QglPipeline::Compile() 0x00000000d5912f04

QglPipeline::Init(QglPipelineCreateData*) 0x00000000d59122aa

QglPipeline::Create(QglPipelineCreateData*) 0x00000000d591220e

qglinternal::vkCreateComputePipelines(VkDevice_T*, unsigned long long, unsigned int, VkComputePipelineCreateInfo const*, VkAllocationCallbacks const*, unsigned long long*) 0x00000000d58e9174

So basically upgrading android didn't change anything. Would appreciate any hints. Thanks!

  • Up1
  • Down0
vshcherbakov
Join Date: 15 Aug 18
Posts: 2
Posted: Mon, 2018-08-20 13:32

here's the source for the shader

OpCapability Shader

%1 = OpExtInstImport "GLSL.std.450"

OpMemoryModel Logical GLSL450

OpEntryPoint GLCompute %2 "main" %gl_GlobalInvocationID

OpExecutionMode %2 LocalSize 8 8 1

OpDecorate %4 DescriptorSet 1

OpDecorate %4 Binding 0

OpDecorate %gl_GlobalInvocationID BuiltIn GlobalInvocationId

%void = OpTypeVoid

%6 = OpTypeFunction %void

%uint = OpTypeInt 32 0

%v3uint = OpTypeVector %uint 3

%int = OpTypeInt 32 1

%int_0 = OpConstant %int 0

%11 = OpTypeImage %int 3D 0 0 0 2 R32i

%_ptr_UniformConstant_11 = OpTypePointer UniformConstant %11

%4 = OpVariable %_ptr_UniformConstant_11 UniformConstant

%_ptr_Input_v3uint = OpTypePointer Input %v3uint

%gl_GlobalInvocationID = OpVariable %_ptr_Input_v3uint Input

%2 = OpFunction %void None %6

%14 = OpLabel

%15 = OpLoad %v3uint %gl_GlobalInvocationID

%16 = OpLoad %11 %4

OpImageWrite %16 %15 %int_0

OpReturn

 

OpFunctionEnd

  • Up1
  • Down0
seyedmorteza
Join Date: 27 Sep 18
Posts: 2
Posted: Tue, 2018-12-04 03:14

Were you able to fix the problem? I am having the same problem when using compute shader.

  • Up0
  • Down0
seyedmorteza
Join Date: 27 Sep 18
Posts: 2
Posted: Tue, 2018-12-04 03:45

Are you using DXC compiler or GlslangValidator? I am using DXC.

  • Up0
  • Down0
or Register

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries (“Qualcomm”). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.