Mateusz Kielan

Results 448 comments of Mateusz Kielan

> [@s-perron](https://github.com/s-perron) [#7127](https://github.com/microsoft/DirectXShaderCompiler/pull/7127) Fixed some cases, but, for example, this will still fail: https://godbolt.org/z/E8vWded94 > > struct SomeStruct > { > float a; > float getA(){ return a; } >...

> > > [@s-perron](https://github.com/s-perron) [#7127](https://github.com/microsoft/DirectXShaderCompiler/pull/7127) Fixed some cases, but, for example, this will still fail: https://godbolt.org/z/E8vWded94 > > > struct SomeStruct > > > { > > > float a;...

Seems that custom named permutation structs would be needed, same as deviceCaps is generated by the NSC toolchain.

This is the SPIR-V I'm trying to achieve https://godbolt.org/z/jKG5EK5x4 ```spv OpCapability Shader OpCapability Int16 OpCapability PhysicalStorageBufferAddresses OpCapability UntypedPointersKHR OpExtension "SPV_KHR_untyped_pointers" OpMemoryModel PhysicalStorageBuffer64 GLSL450 OpEntryPoint GLCompute %main "main" %gl_GlobalInvocationID OpExecutionMode %main...

This should compile with current HLSL, there's no overload resolution issues unlike the compound assignment where the operator method should usually return a reference and care about `const` qualifier on...

Ok actually one of our Devs found an interesting thing. You can define unary operator, but to call it you need to do ```cpp f1.operator-(); ```

Funny thing is that validator lets it pass with either `Float16` or `StoragePushConstant16` https://godbolt.org/z/eTGn3eeaG The worrying part is that the validator does no validation whether `StoragePushConstant16` should be present.

Its quite complicated, non of the AMD devices support 16bit push constants. However in the related discussion (and internal one between Spencer Fricke of LunarG and @alan-baker ) nobody is...

It appears to be caused by missing switch cases for `int64_t` and `uint64_t` @Keenuts could you tell us ~~how to fix and test~~ if the way we fixed it in...

Btw you can spirv bitcast between vk:: BufferPointer and uint64_t and uint32_t2 The Spir-V spec does indeed state that a buffer reference has same size and alignment as a uint64_t,...