Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.h:
name[lhs_array_size] = args[0]
- or -
name[lhs_array_size] = {args[0], args[1], ...};
- FX function call:
name(args[0], args[1], ...);
- */
+struct hlsl_state_block_entry +{
- bool is_function_call;
- /* For assignments, the name in the lhs. For function calls, the name of the function. */
- char *name;
- /* Whether the lhs in an assignment is an array and, in that case, its size. */
- bool lhs_is_array;
- unsigned int lhs_array_size;
I suspect this is rather an index. Effect documentation is nonexistent, but [1] shows some hints, this is probably how you set per-RT blend states.
It's probably worth testing with an actual effect target to see if BlendEnable is different from BlendEnable[0].
[1] https://learn.microsoft.com/en-us/windows/win32/direct3d11/d3d11-effect-vari...