for (unsigned i = 0; i < spirv_data->NumSpecializationConstants; ++i) {
spec_entries[i].id = spirv_data->SpecializationConstantsIndex[i];
- spec_entries[i].data32 = spirv_data->SpecializationConstantsValue[i];
+ spec_entries[i].value.u32 = spirv_data->SpecializationConstantsValue[i];
spec_entries[i].defined_on_module = false;
}
const struct spirv_to_nir_options spirv_options = {
.environment = NIR_SPIRV_OPENGL,
- .lower_workgroup_access_to_offsets = true,
+ .frag_coord_is_sysval = ctx->Const.GLSLFragCoordIsSysVal,
.caps = ctx->Const.SpirVCapabilities,
.ubo_addr_format = nir_address_format_32bit_index_offset,
.ssbo_addr_format = nir_address_format_32bit_index_offset,
* inline functions. That way they get properly initialized at the top
* of the function and not at the top of its caller.
*/
- NIR_PASS_V(nir, nir_lower_constant_initializers, nir_var_function_temp);
+ NIR_PASS_V(nir, nir_lower_variable_initializers, nir_var_function_temp);
NIR_PASS_V(nir, nir_lower_returns);
NIR_PASS_V(nir, nir_inline_functions);
NIR_PASS_V(nir, nir_opt_deref);
for (unsigned i = 0; i < numSpecializationConstants; ++i) {
spec_entries[i].id = pConstantIndex[i];
- spec_entries[i].data32 = pConstantValue[i];
+ spec_entries[i].value.u32 = pConstantValue[i];
spec_entries[i].defined_on_module = false;
}