You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Suppose I make a method (static or not) that is called dot, if that calls dot within itself is impossible to disambiguate and force the of the global instrinsic function dot
Steps to Reproduce
template<typename T>
structFunctor
{
staticinlinefloatdot(const in T lhs, const in T rhs)
{
return ::dot(lhs,rhs);
}
};
voidmain()
{
float32_t3 v = float32_t3(4,5,6);
vk::RawBufferStore(0xdeadbeefull,Functor<float32_t3>::dot(v,v));
}
<source>:9:16: error: no member named 'dot' in the global namespace; did you mean simply 'dot'?
return ::dot(lhs,rhs);
^~~~~
dot
<source>:7:25: note: 'dot' declared here
static inline float dot(const in T lhs, const in T rhs)
^
Environment
DXC version : latest trunk
Host Operating System: Godbolt
The text was updated successfully, but these errors were encountered:
HLSL isn't really C++, so this isn't expected to be valid with HLSL 2021 and earlier builtin resolution rules (which are a bit special). We do have this related proposal:
Which would move all the HLSL builtin functions into the hlsl namespace in a future language version. We're actually implementing it that way in Clang from the start, so you will have a better experience in Clang, but I don't think this is likely to be fixed in DXC.
Description
Suppose I make a method (static or not) that is called
dot
, if that callsdot
within itself is impossible to disambiguate and force the of the global instrinsic functiondot
Steps to Reproduce
https://godbolt.org/z/GTjzE511j
Actual Behavior
Environment
The text was updated successfully, but these errors were encountered: