/
redgpu
/
clspv
Обзор
Документация
Войти
/
redgpu
/
clspv
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test/ShareModuleScopeVariables/share_local_var.cl
30 строк
1017 B
alan-baker
Test simplification (#411)
01 авг 2019, 20:51
Не верифицирован
01 авг 2019, 20:51
c0cf41c
Код
Авторство
О чём код?
// RUN: clspv %s -o %t.spv -keep-unused-arguments // RUN: spirv-dis -o %t2.spvasm %t.spv // RUN: FileCheck %s < %t2.spvasm // RUN: spirv-val --target-env vulkan1.0 %t.spv int helper(local int* A, int idx) { return A[idx]; } kernel void foo(global int *in, global int *out, int n) { local int foo_local[32]; foo_local[n] = in[n]; barrier(CLK_LOCAL_MEM_FENCE); out[n] = helper(foo_local, n); } kernel void bar(global int *in, global int *out, int n) { local int bar_local[32]; bar_local[n+1] = in[n+1]; barrier(CLK_LOCAL_MEM_FENCE); out[n+1] = helper(bar_local, n+1); } // CHECK-DAG: OpEntryPoint GLCompute [[foo:%[a-zA-Z0-9_]+]] "foo" // CHECK-DAG: OpEntryPoint GLCompute [[bar:%[a-zA-Z0-9_]+]] "bar" // CHECK-NOT: OpVariable {{.*}} Workgroup // CHECK: [[shared:%[a-zA-Z0-9_]+]] = OpVariable {{.*}} Workgroup // CHECK-NOT: OpVariable {{.*}} Workgroup // CHECK: [[foo]] = OpFunction // CHECK: OpAccessChain {{.*}} [[shared]] // CHECK: [[bar]] = OpFunction // CHECK: OpAccessChain {{.*}} [[shared]]