diff options
author | Francisco Jerez <[email protected]> | 2014-02-19 15:14:02 +0100 |
---|---|---|
committer | Francisco Jerez <[email protected]> | 2014-02-19 16:27:22 +0100 |
commit | ae8b066da5862b4cfc510b3a9a0e1273f9f6edd4 (patch) | |
tree | 700ad532f65cbba9e8e76710e0c27b44f40528dc /src/mesa/drivers/dri/i965/brw_context.h | |
parent | 7f00c5f1a3e0db20a89cfedefd53cbe817fec9e3 (diff) |
i965: Move up duplicated fields from stage-specific prog_data to brw_stage_prog_data.
There doesn't seem to be any reason for nr_params, nr_pull_params,
param, and pull_param to be duplicated in the stage-specific
subclasses of brw_stage_prog_data. Moving their definition to the
common base class will allow some code sharing in a future commit, the
removal of brw_vec4_prog_data_compare and brw_*_prog_data_free, and
the simplification of the stage-specific brw_*_prog_data_compare.
Reviewed-by: Paul Berry <[email protected]>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_context.h')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_context.h | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index c107683cb34..bdbbc3d733d 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -332,8 +332,7 @@ struct brw_shader { }; /* Note: If adding fields that need anything besides a normal memcmp() for - * comparing them, be sure to go fix the the stage-specific - * prog_data_compare(). + * comparing them, be sure to go fix brw_stage_prog_data_compare(). */ struct brw_stage_prog_data { struct { @@ -351,6 +350,18 @@ struct brw_stage_prog_data { uint32_t shader_time_start; /** @} */ } binding_table; + + GLuint nr_params; /**< number of float params/constants */ + GLuint nr_pull_params; + + /* Pointers to tracked values (only valid once + * _mesa_load_state_parameters has been called at runtime). + * + * These must be the last fields of the struct (see + * brw_stage_prog_data_compare()). + */ + const float **param; + const float **pull_param; }; /* Data about a particular attempt to compile a program. Note that @@ -381,8 +392,6 @@ struct brw_wm_prog_data { /** @} */ } binding_table; - GLuint nr_params; /**< number of float params/constants */ - GLuint nr_pull_params; bool dual_src_blend; bool uses_pos_offset; bool uses_omask; @@ -400,15 +409,6 @@ struct brw_wm_prog_data { * For varying slots that are not used by the FS, the value is -1. */ int urb_setup[VARYING_SLOT_MAX]; - - /* Pointers to tracked values (only valid once - * _mesa_load_state_parameters has been called at runtime). - * - * These must be the last fields of the struct (see - * brw_wm_prog_data_compare()). - */ - const float **param; - const float **pull_param; }; /** @@ -590,8 +590,6 @@ struct brw_vec4_prog_data { GLuint curb_read_length; GLuint urb_read_length; GLuint total_grf; - GLuint nr_params; /**< number of float params/constants */ - GLuint nr_pull_params; /**< number of dwords referenced by pull_param[] */ GLuint total_scratch; /* Used for calculating urb partitions. In the VS, this is the size of the @@ -599,10 +597,6 @@ struct brw_vec4_prog_data { * is the size of the URB entry used for output. */ GLuint urb_entry_size; - - /* These pointers must appear last. See brw_vec4_prog_data_compare(). */ - const float **param; - const float **pull_param; }; |