KhronosGroup / KhronosGroup/SPIRV-Cross

[mvk-error] SPIR-V to MSL conversion error: Argument buffer resource base type could not be determined.

Open
#2,198 9 comments 0 reactions 1 assignee Claimed by @billhollings View on GitHub
bug
Dominant language
GLSL
Stars
2.5k
Forks
713
Avg merge
2d 18h
Merged PRs (30d)
16

Description

_[I was told to repost this](https://github.com/KhronosGroup/MoltenVK/issues/2016#issuecomment-1716428535)_
After I updated to the latest version of MVK I git the following error:

[mvk-error] SPIR-V to MSL conversion error: Argument buffer resource base type could not be determined. When padding argument buffer elements, all descriptor set resources must be supplied with a base type by the app.
[mvk-error] VK_ERROR_INVALID_SHADER_NV: Fragment shader function could not be compiled into pipeline. See previous logged error.`

The shader is written in hlsl, here are the relevent inputs:
[[vk::push_constant]]
struct rx_pushConstants {
uint instanceRefIndicies[6];
} rx_pushConstants;

[[vk::binding(0, 0)]] ByteAddressBuffer rx_staticResBlocks;
[[vk::binding(1, 0)]] ByteAddressBuffer rx_dynamicResBlocks;
[[vk::binding(2, 0)]] Texture2D rx_textures[];
[[vk::binding(3, 0)]] SamplerState rx_samplers[];

I use dxc to compile hlsl to spirv and MVK_CONFIG_USE_METAL_ARGUMENT_BUFFERS = 1

SpirvCross may does not like the ByteAddressBuffer? Is there a way around this problem without breaking my code?

Thanks for your help!

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.