/
redgpu
/
clspv
Обзор
Документация
Войти
/
redgpu
/
clspv
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test/ProgramScopeConstants/constant_array_with_function_call.cl
33 строки
2 KB
alan-baker
Fix how ArrayStride is generated for pointers (#640)
10 сен 2020, 22:02
Не верифицирован
10 сен 2020, 22:02
7506abb
Код
Авторство
О чём код?
// RUN: clspv %s -o %t.spv -no-inline-single -keep-unused-arguments // RUN: spirv-dis -o %t2.spvasm %t.spv // RUN: FileCheck %s < %t2.spvasm // TODO(dneto): OpPtrAccessChain on pointer to Private is not allowed by SPV_KHR_variable_pointers // RUN: not spirv-val --target-env vulkan1.0 %t.spv constant uint b[4] = {42, 13, 0, 5}; uint bar(constant uint* a) { return a[get_local_id(0)]; } void kernel __attribute__((reqd_work_group_size(4, 1, 1))) foo(global uint* a) { *a = bar(b); } // CHECK-DAG: [[_uint:%[0-9a-zA-Z_]+]] = OpTypeInt 32 0 // CHECK-DAG: [[_uint_4:%[0-9a-zA-Z_]+]] = OpConstant [[_uint]] 4 // CHECK-DAG: [[__arr_uint_uint_4:%[0-9a-zA-Z_]+]] = OpTypeArray [[_uint]] [[_uint_4]] // CHECK-DAG: [[__ptr_Private__arr_uint_uint_4:%[0-9a-zA-Z_]+]] = OpTypePointer Private [[__arr_uint_uint_4]] // CHECK-DAG: [[__ptr_Private_uint:%[0-9a-zA-Z_]+]] = OpTypePointer Private [[_uint]] // CHECK-DAG: [[_uint_0:%[0-9a-zA-Z_]+]] = OpConstant [[_uint]] 0 // CHECK-DAG: [[_uint_42:%[0-9a-zA-Z_]+]] = OpConstant [[_uint]] 42 // CHECK-DAG: [[_uint_13:%[0-9a-zA-Z_]+]] = OpConstant [[_uint]] 13 // CHECK-DAG: [[_uint_5:%[0-9a-zA-Z_]+]] = OpConstant [[_uint]] 5 // CHECK-DAG: [[_20:%[0-9a-zA-Z_]+]] = OpConstantComposite [[__arr_uint_uint_4]] [[_uint_42]] [[_uint_13]] [[_uint_0]] [[_uint_5]] // CHECK-DAG: [[_22:%[0-9a-zA-Z_]+]] = OpVariable [[__ptr_Private__arr_uint_uint_4]] Private [[_20]] // CHECK: [[_24:%[0-9a-zA-Z_]+]] = OpFunction [[_uint]] Pure // CHECK: = OpFunction // CHECK: [[_34:%[0-9a-zA-Z_]+]] = OpAccessChain [[__ptr_Private_uint]] [[_22]] [[_uint_0]] // CHECK: [[_35:%[0-9a-zA-Z_]+]] = OpFunctionCall [[_uint]] [[_24]] [[_34]]