gpt4 book ai didi

ios - Metal :未知类型名称 float4

转载 作者:行者123 更新时间:2023-12-01 20:06:47 26 4
gpt4 key购买 nike

我正在尝试在 Metal 着色器中包含一个头文件。
对于这样的原型(prototype),

float4 someFunction(float4 v);

我收到此错误消息,
Unknown type name 'float4'; did you mean 'float'?

似乎它不明白它是着色器程序的标题......尽管其他错误表明它确实如此。例如,如果我不在这里指定地址空间,
static float someK = 2.0;

我得到这个错误,
Global variables must have a constant address space qualifier

如果我添加可以修复
constant static float someK = 2.0;

如果我使用引用,我也会得到这些类型的错误,
Reference type must include device, threadgroup, constant, or thread address space qualifier

所以它看起来好像编译器知道它是一个着色器。为什么它不知道float4? :(

最佳答案

确保着色器中有前两行,如下例所示:

#include <metal_stdlib>

using namespace metal;

float4 someFunction(float4 v);

kernel void compute(texture2d<float, access::write> output [[texture(0)]],
uint2 gid [[thread_position_in_grid]])
{
float4 color = float4(0, 0.5, 0.5, 1);
output.write(color, gid);
}

这对我来说很好。

关于ios - Metal :未知类型名称 float4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38737692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com