Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.h:
/* Pointer to the current scope; changes as the parser reads the code. */ struct hlsl_scope *cur_scope;
/* Scope of global variables. */ struct hlsl_scope *globals;
/* Container entry for hlsl_scope.entry fields, containing all the scopes in the program. */ struct list scopes;
/* Container entry for hlsl_ir_var.extern_entry, containing all the extern variables. */ struct list extern_vars;
/* Container entry for hlsl_buffer.entry, containing both the built-in HLSL buffers ($Globals
* and $Params), and the ones declared in the shader. */
struct list buffers;
/* Current buffer (changes as the parser reads the code), $Globals buffer, and $Params buffer,
* respectively. */
struct hlsl_buffer *cur_buffer, *globals_buffer, *params_buffer;
Not super important, but I notice that the wrapping here is inconsistent. I don't particularly mind the two-space indent either, but I think the usual style for comments we use is to never indent, and use a "blank" line between paragraphs.