On Wed Nov 15 06:54:38 2023 +0000, Henri Verbeet wrote:
> > This needs spirv changes to make any tests pass, but this series is
> already long enough. Not sure what to do about initialisers; we can't
> use `DCL_IMMEDIATE_CONSTANT_BUFFER` because it emits a variable,
> Is the issue purely that the shader may write to the variable, or are
> there other reasons that can't work? If what we want is essentially a
> writeable icb, we could perhaps consider adding a "data[]" field to the
> vkd3d_shader_indexable_temp structure, analogous to struct vkd3d_shader_immediate_constant_buffer.
What it really needed was a new value type to hold ICBs. Storing an ICB in the indexable temp declaration works well now. Constant arrays should be declared with `DCL_IMMEDIATE_CONSTANT_BUFFER`, but that must wait for the next MR. It's not broken, just ignores the constant attribute.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/471#note_52336