panfrost: Derive texture/sampler_count from shader
[mesa.git] / src / gallium / drivers / panfrost / pan_context.h
index a53db0d611f85f54f8cf54743cbac88553dbcc9d..8fb6c3a3ad14b4b0cd18f7083d8a06c482142a9a 100644 (file)
@@ -185,10 +185,10 @@ struct panfrost_shader_state {
         bool compiled;
 
         /* Non-descript information */
-        int uniform_count;
-        unsigned uniform_cutoff;
+        unsigned uniform_count;
         unsigned work_reg_count;
         unsigned attribute_count;
+        unsigned texture_count;
         bool can_discard;
         bool writes_point_size;
         bool writes_depth;
@@ -222,7 +222,9 @@ struct panfrost_shader_state {
         /* Should we enable helper invocations */
         bool helper_invocations;
 
-        unsigned first_tag;
+        /* Pointer to GPU-executable memory formatted for the hardware. bo->gpu
+         * on Bifrost, bo->gpu | initial_tag on Midgard */
+        mali_ptr shader;
         struct panfrost_bo *bo;
 
         BITSET_WORD outputs_read;
@@ -254,7 +256,7 @@ struct panfrost_vertex_state {
         unsigned num_elements;
 
         struct pipe_vertex_element pipe[PIPE_MAX_ATTRIBS];
-        struct mali_attr_meta hw[PIPE_MAX_ATTRIBS];
+        unsigned formats[PIPE_MAX_ATTRIBS];
 };
 
 struct panfrost_zsa_state {
@@ -303,9 +305,6 @@ panfrost_get_shader_state(struct panfrost_context *ctx,
 struct pipe_context *
 panfrost_create_context(struct pipe_screen *screen, void *priv, unsigned flags);
 
-void
-panfrost_invalidate_frame(struct panfrost_context *ctx);
-
 bool
 panfrost_writes_point_size(struct panfrost_context *ctx);