Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/dxil.c:
- resource = operands[0];
- if (!sm6_value_validate_is_handle(resource, sm6))
return;
- if ((handler_idx = map_dx_atomic_binop(operands[1], sm6)) == VKD3DSIH_INVALID)
return;
- reg.type = VKD3DSPR_INVALID;
- if (resource->u.handle.d->resource_type != VKD3D_SHADER_RESOURCE_BUFFER)
- {
if (!sm6_parser_emit_coordinate_construct(sm6, &operands[coord_idx], 3, NULL, state, ®))
return;
- }
- else if (resource->u.handle.d->kind == RESOURCE_KIND_STRUCTUREDBUFFER)
- {
if (!sm6_parser_emit_coordinate_construct(sm6, &operands[coord_idx], 2, NULL, state, ®))
Since below you warn on unexpectedly defined operands, maybe you could do that here too?