nir/drawpixels: handle load_color0, load_input, load_interpolated_input
[mesa.git] / src / compiler / glsl / lower_buffer_access.h
index cc4614e9792d910f104af3fe165374e152184271..bd177ca142f5be4c63b8df88346f0a76c35a6430 100644 (file)
@@ -31,7 +31,6 @@
  * shared variables.
  */
 
-#pragma once
 #ifndef LOWER_BUFFER_ACCESS_H
 #define LOWER_BUFFER_ACCESS_H
 
@@ -49,15 +48,21 @@ public:
 
    void emit_access(void *mem_ctx, bool is_write, ir_dereference *deref,
                     ir_variable *base_offset, unsigned int deref_offset,
-                    bool row_major, int matrix_columns,
-                    unsigned int packing, unsigned int write_mask);
+                    bool row_major, const glsl_type *matrix_type,
+                    enum glsl_interface_packing packing,
+                    unsigned int write_mask);
 
    bool is_dereferenced_thing_row_major(const ir_rvalue *deref);
 
-   void setup_buffer_access(void *mem_ctx, ir_variable *var, ir_rvalue *deref,
+   void setup_buffer_access(void *mem_ctx, ir_rvalue *deref,
                             ir_rvalue **offset, unsigned *const_offset,
-                            bool *row_major, int *matrix_columns,
-                            unsigned packing);
+                            bool *row_major,
+                            const glsl_type **matrix_type,
+                            const glsl_struct_field **struct_field,
+                            enum glsl_interface_packing packing);
+
+protected:
+   bool use_std430_as_default;
 };
 
 } /* namespace lower_buffer_access */