/
redgpu
/
clspv
Обзор
Документация
Войти
/
redgpu
/
clspv
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test/CPlusPlus/template.cl
41 строка
915 B
alan-baker
Embedded reflection (#612)
05 авг 2020, 20:09
Не верифицирован
05 авг 2020, 20:09
86ce19c
Код
Авторство
О чём код?
// RUN: clspv -cl-std=CLC++ -inline-entry-points %s -o %t.spv // RUN: clspv-reflection %t.spv -o %t.dmap // RUN: FileCheck %s < %t.dmap -check-prefix=MAP // RUN: spirv-dis -o %t2.spvasm %t.spv // RUN: FileCheck %s < %t2.spvasm // RUN: spirv-val --target-env vulkan1.0 %t.spv // MAP: kernel,test_template,arg,out,argOrdinal,0,descriptorSet,0,binding,0,offset,0,argKind,buffer // CHECK: %[[uint:[0-9a-zA-Z_]+]] = OpTypeInt 32 0 // CHECK: %[[uint_233:[0-9a-zA-Z_]+]] = OpConstant %[[uint]] 233 // CHECK: OpStore {{.*}} %[[uint_233]] template <int T> struct Fibonacci { enum { value = (Fibonacci<T - 1>::value + Fibonacci<T - 2>::value) }; }; template <> struct Fibonacci<0> { enum { value = 1 }; }; template <> struct Fibonacci<1> { enum { value = 1 }; }; template <> struct Fibonacci<2> { enum { value = 1 }; }; void kernel test_template(global int* out) { *out = Fibonacci<13>::value; }