nir_var_mem_ubo | nir_var_mem_push_const |
nir_var_mem_ssbo);
- if (conf->read_only_images_as_srvs) {
+ if (conf->inferred_read_only_images_as_srvs) {
const nir_opt_access_options opt_access_options = {
.is_vulkan = true,
};
} while (progress);
}
- if (conf->read_only_images_as_srvs)
+ if (conf->declared_read_only_images_as_srvs)
NIR_PASS_V(nir, nir_lower_readonly_images_to_tex, true);
nir_lower_tex_options lower_tex_options = {
.lower_txp = UINT32_MAX,
conf.runtime_data_cbv.base_shader_register = 0;
conf.runtime_data_cbv.register_space = 31;
conf.zero_based_vertex_instance_id = true;
+ conf.declared_read_only_images_as_srvs = true;
conf.shader_model_max = SHADER_MODEL_6_2;
bool any_shaders = false;
// The caller supports read-only images to be turned into SRV accesses,
// which allows us to run the nir_opt_access() pass
- bool read_only_images_as_srvs;
+ bool declared_read_only_images_as_srvs;
+
+ // The caller supports read-write images to be turned into SRV accesses,
+ // if they are found not to be written
+ bool inferred_read_only_images_as_srvs;
// Force sample rate shading on a fragment shader
bool force_sample_rate_shading;
.y_mask = options->y_flip_mask,
.z_mask = options->z_flip_mask,
},
- .read_only_images_as_srvs = !device->bindless,
+ .declared_read_only_images_as_srvs = !device->bindless,
+ .inferred_read_only_images_as_srvs = !device->bindless,
.force_sample_rate_shading = options->force_sample_rate_shading,
.lower_view_index = options->lower_view_index,
.lower_view_index_to_rt_layer = options->lower_view_index_to_rt_layer,