Newer
Older
if ((result = vsir_program_materialize_undominated_ssas_to_temps(program, message_context)) < 0)
Conor McCarthy
committed
return result;
Giovanni Mascellani
committed
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
}
else
{
if (program->shader_version.type != VKD3D_SHADER_TYPE_PIXEL)
{
if ((result = vsir_program_remap_output_signature(program, compile_info, message_context)) < 0)
return result;
}
if (program->shader_version.type == VKD3D_SHADER_TYPE_HULL)
{
if ((result = instruction_array_flatten_hull_shader_phases(&program->instructions)) < 0)
return result;
if ((result = instruction_array_normalise_hull_shader_control_point_io(&program->instructions,
&program->input_signature)) < 0)
return result;
}
if ((result = vsir_program_normalise_io_registers(program)) < 0)
return result;
if ((result = instruction_array_normalise_flat_constants(program)) < 0)
return result;
remove_dead_code(program);
if ((result = vsir_program_normalise_combined_samplers(program, message_context)) < 0)
return result;
if (compile_info->target_type != VKD3D_SHADER_TARGET_GLSL
&& (result = vsir_program_flatten_control_flow_constructs(program, message_context)) < 0)
Conor McCarthy
committed
return result;
}
Giovanni Mascellani
committed
if (TRACE_ON())
vkd3d_shader_trace(program);
if ((result = vsir_program_validate(program, config_flags,
compile_info->source_name, message_context)) < 0)
return result;
return result;
}