Mostly what Giovanni already said. Specifically:
+static void sm6_parser_emit_thread_group(struct sm6_parser *sm6) +{ + struct vkd3d_shader_thread_group_size thread_group_size = {1, 1, 1}; + struct vkd3d_shader_instruction *ins; + + ins = sm6_parser_add_instruction(sm6, VKD3DSIH_DCL_THREAD_GROUP); + ins->declaration.thread_group_size = thread_group_size; + + FIXME("Dimensions are defaulting to 1.\n"); + + ins->declaration.thread_group_size = thread_group_size; +}
Is this the expected behaviour for dxil compute shaders that don't explicitly declare a thread group size? In that case we may want a vkd3d_shader_parser_warning(), but certainly not a FIXME. If such shaders are instead simply invalid, we should reject them.