enum gl_access_qualifier access;
};
-bool vtn_pointer_uses_ssa_offset(struct vtn_builder *b,
- struct vtn_pointer *ptr);
+bool vtn_mode_uses_ssa_offset(struct vtn_builder *b,
+ enum vtn_variable_mode mode);
+
+static inline bool vtn_pointer_uses_ssa_offset(struct vtn_builder *b,
+ struct vtn_pointer *ptr)
+{
+ return vtn_mode_uses_ssa_offset(b, ptr->mode);
+}
+
struct vtn_variable {
enum vtn_variable_mode mode;
}
bool
-vtn_pointer_uses_ssa_offset(struct vtn_builder *b,
- struct vtn_pointer *ptr)
+vtn_mode_uses_ssa_offset(struct vtn_builder *b,
+ enum vtn_variable_mode mode)
{
- return ((ptr->mode == vtn_variable_mode_ubo ||
- ptr->mode == vtn_variable_mode_ssbo) &&
+ return ((mode == vtn_variable_mode_ubo ||
+ mode == vtn_variable_mode_ssbo) &&
b->options->lower_ubo_ssbo_access_to_offsets) ||
- ptr->mode == vtn_variable_mode_push_constant ||
- (ptr->mode == vtn_variable_mode_workgroup &&
+ mode == vtn_variable_mode_push_constant ||
+ (mode == vtn_variable_mode_workgroup &&
b->options->lower_workgroup_access_to_offsets);
}