anv/apply_pipeline_layout: Set image.write_only to false
This makes our driver robust to changes in spirv_to_nir which would set this flag on the variable. Right now, our driver relies on spirv_to_nir *not* setting var->data.image.write_only for correctness. Any patch which implements the shaderStorageImageWriteWithoutFormat will need to effectively revert this commit. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
parent
f8dfe9b826
commit
2c30918581
|
@ -398,6 +398,18 @@ anv_nir_apply_pipeline_layout(struct anv_pipeline *pipeline,
|
|||
unsigned binding = var->data.binding;
|
||||
unsigned image_index = state.set[set].image_offsets[binding];
|
||||
|
||||
/* We have a very tight coupling between back-end compiler and
|
||||
* state setup which requires us to fill the image surface state
|
||||
* out differently if and only if the image is declared write-only.
|
||||
* Right now, our state setup code sets up all images as if they
|
||||
* are read-write. This means that the compiler needs to see
|
||||
* read-only as well.
|
||||
*
|
||||
* Whenever we implement shaderStorageImageWriteWithoutFormat, we
|
||||
* need to delete this.
|
||||
*/
|
||||
var->data.image.write_only = false;
|
||||
|
||||
var->data.driver_location = shader->num_uniforms +
|
||||
image_index * BRW_IMAGE_PARAM_SIZE * 4;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue