/
redgpu
/
clspv
Обзор
Документация
Войти
/
redgpu
/
clspv
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test/multiple_local_ptr_args.cl
42 строки
2 KB
alan-baker
Embedded reflection (#612)
05 авг 2020, 20:09
Не верифицирован
05 авг 2020, 20:09
86ce19c
Код
Авторство
О чём код?
// RUN: clspv %s -o %t.spv -cluster-pod-kernel-args // RUN: spirv-dis %t.spv -o %t.spvasm // RUN: FileCheck %s < %t.spvasm // RUN: clspv-reflection %t.spv -o %t.map // RUN: FileCheck --check-prefix=MAP %s < %t.map // RUN: spirv-val --target-env vulkan1.0 %t.spv // // RUN: clspv %s -o %t2.spv -cluster-pod-kernel-args=0 // RUN: spirv-dis %t2.spv -o %t2.spvasm // RUN: FileCheck %s < %t2.spvasm // RUN: clspv-reflection %t2.spv -o %t2.map // RUN: FileCheck --check-prefix=MAP %s < %t2.map // RUN: spirv-val --target-env vulkan1.0 %t2.spv kernel void foo(global int* out, local int* l1, int a, int b, local int* l2) { *out = *l1 + a + b + *l2; } kernel void bar(global int* out, local int* l1, int a, int b, local int* l2) { *out = *l1 - a - b - *l2; } // MAP: kernel,foo,arg,l1,argOrdinal,1,argKind,local,arrayElemSize,4,arrayNumElemSpecId,3 // MAP: kernel,foo,arg,l2,argOrdinal,4,argKind,local,arrayElemSize,4,arrayNumElemSpecId,4 // CHECK: OpDecorate [[spec_id_3:%[a-zA-Z0-9_]+]] SpecId 3 // CHECK: OpDecorate [[spec_id_4:%[a-zA-Z0-9_]+]] SpecId 4 // CHECK-DAG: [[uint:%[a-zA-Z0-9_]+]] = OpTypeInt 32 0 // CHECK-DAG: [[uint_0:%[a-zA-Z0-9_]+]] = OpConstant [[uint]] 0 // CHECK-DAG: [[spec_id_3]] = OpSpecConstant [[uint]] 1 // CHECK-DAG: [[array_3:%[a-zA-Z0-9_]+]] = OpTypeArray [[uint]] [[spec_id_3]] // CHECK-DAG: [[ptr_id_3:%[a-zA-Z0-9_]+]] = OpTypePointer Workgroup [[array_3]] // CHECK-DAG: [[spec_id_4]] = OpSpecConstant [[uint]] 1 // CHECK-DAG: [[array_4:%[a-zA-Z0-9_]+]] = OpTypeArray [[uint]] [[spec_id_4]] // CHECK-DAG: [[ptr_id_4:%[a-zA-Z0-9_]+]] = OpTypePointer Workgroup [[array_4]] // CHECK-DAG: [[ptr:%[a-zA-Z0-9_]+]] = OpTypePointer Workgroup [[uint]] // CHECK-DAG: [[var_3:%[a-zA-Z0-9_]+]] = OpVariable [[ptr_id_3]] Workgroup // CHECK-DAG: [[var_4:%[a-zA-Z0-9_]+]] = OpVariable [[ptr_id_4]] Workgroup // CHECK: [[gep_3:%[a-zA-Z0-9_]+]] = OpAccessChain [[ptr]] [[var_3]] [[uint_0]] // CHECK: [[gep_4:%[a-zA-Z0-9_]+]] = OpAccessChain [[ptr]] [[var_4]] [[uint_0]] // CHECK: OpLoad [[uint]] [[gep_3]] // CHECK: OpLoad [[uint]] [[gep_4]]