Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl_codegen.c:
enum hlsl_type_class var_class = var->data_type->class; struct hlsl_buffer *buffer = var->buffer;
- if (var->reg_reservation.offset_type == 'c')
- if (var->reg_reservation.reg_type == 'c' && var->buffer == ctx->globals_buffer)
- {
/* On SM4, register(cX) reservations are translated to buffer offsets, but only for the $Globals buffer. */
var->buffer_offset = 4 * var->reg_reservation.reg_index;
- }
- else if (var->reg_reservation.offset_type == 'c')
This doesn't include any of the validity checks for packoffset(). Should it? We don't have tests for this.