iris: bypass params and do it ourselves

the backend keeps dead code eliminating them all, so we can't do that,
plus we don't want to because params[] is lame
This commit is contained in:
Kenneth Graunke
2018-11-09 02:04:23 -08:00
parent 78fc760bab
commit c60ce3f4fd
4 changed files with 78 additions and 31 deletions

View File

@@ -229,6 +229,10 @@ struct iris_compiled_shader {
/** The program data (owned by the program cache hash table) */
struct brw_stage_prog_data *prog_data;
/** A list of system values to be uploaded as uniforms. */
enum brw_param_builtin *system_values;
unsigned num_system_values;
/**
* Derived 3DSTATE_STREAMOUT and 3DSTATE_SO_DECL_LIST packets
* (the VUE-based information for transform feedback outputs).
@@ -594,7 +598,9 @@ void iris_upload_and_bind_shader(struct iris_context *ice,
const void *key,
const void *assembly,
struct brw_stage_prog_data *prog_data,
uint32_t *streamout);
uint32_t *streamout,
enum brw_param_builtin *system_values,
unsigned num_system_values);
const void *iris_find_previous_compile(const struct iris_context *ice,
enum iris_program_cache_id cache_id,
unsigned program_string_id);