Lines Matching defs:key

102                    const struct iris_vs_prog_key *key)
105 BRW_KEY_INIT(screen->devinfo.ver, key->vue.base.program_string_id,
106 key->vue.base.limit_trig_input_range),
117 const struct iris_tcs_prog_key *key)
120 BRW_KEY_INIT(screen->devinfo.ver, key->vue.base.program_string_id,
121 key->vue.base.limit_trig_input_range),
122 ._tes_primitive_mode = key->_tes_primitive_mode,
123 .input_vertices = key->input_vertices,
124 .patch_outputs_written = key->patch_outputs_written,
125 .outputs_written = key->outputs_written,
126 .quads_workaround = key->quads_workaround,
132 const struct iris_tes_prog_key *key)
135 BRW_KEY_INIT(screen->devinfo.ver, key->vue.base.program_string_id,
136 key->vue.base.limit_trig_input_range),
137 .patch_inputs_read = key->patch_inputs_read,
138 .inputs_read = key->inputs_read,
144 const struct iris_gs_prog_key *key)
147 BRW_KEY_INIT(screen->devinfo.ver, key->vue.base.program_string_id,
148 key->vue.base.limit_trig_input_range),
154 const struct iris_fs_prog_key *key)
157 BRW_KEY_INIT(screen->devinfo.ver, key->base.program_string_id,
158 key->base.limit_trig_input_range),
159 .nr_color_regions = key->nr_color_regions,
160 .flat_shade = key->flat_shade,
161 .alpha_test_replicate_alpha = key->alpha_test_replicate_alpha,
162 .alpha_to_coverage = key->alpha_to_coverage,
163 .clamp_fragment_color = key->clamp_fragment_color,
164 .persample_interp = key->persample_interp,
165 .multisample_fbo = key->multisample_fbo,
166 .force_dual_color_blend = key->force_dual_color_blend,
167 .coherent_fb_fetch = key->coherent_fb_fetch,
168 .color_outputs_valid = key->color_outputs_valid,
169 .input_slots_valid = key->input_slots_valid,
170 .ignore_sample_mask_out = !key->multisample_fbo,
176 const struct iris_cs_prog_key *key)
179 BRW_KEY_INIT(screen->devinfo.ver, key->base.program_string_id,
180 key->base.limit_trig_input_range),
1119 const struct brw_base_prog_key *key)
1135 const void *old_iris_key = &shader->key;
1162 brw_debug_key_recompile(c, dbg, info->stage, &old_key.base, key);
1203 * variant matching \c key was not found). Set to \c false
1210 const void *key, unsigned key_size,
1226 if (memcmp(&first->key, key, key_size) == 0) {
1244 if (memcmp(&v->key, key, key_size) == 0) {
1252 key_size, key);
1324 const struct iris_vs_prog_key *const key = &shader->key.vs;
1326 if (key->vue.nr_userclip_plane_consts) {
1328 nir_lower_clip_vs(nir, (1 << key->vue.nr_userclip_plane_consts) - 1,
1351 struct brw_vs_prog_key brw_key = iris_to_brw_vs_key(screen, key);
1355 .key = &brw_key,
1383 sizeof(*key), key, program);
1385 iris_disk_cache_store(screen->disk_cache, ish, shader, key, sizeof(*key));
1393 * Fill out the key, look in the cache, compile and bind if needed.
1404 struct iris_vs_prog_key key = { KEY_INIT(vue.base) };
1405 screen->vtbl.populate_vs_key(ice, &ish->nir->info, last_vue_stage(ice), &key);
1410 find_or_add_variant(screen, ish, IRIS_CACHE_VS, &key, sizeof(key), &added);
1413 &key, sizeof(key))) {
1509 const struct iris_tcs_prog_key *const key = &shader->key.tcs;
1510 struct brw_tcs_prog_key brw_key = iris_to_brw_tcs_key(screen, key);
1532 if (key->_tes_primitive_mode == TESS_PRIMITIVE_QUADS) {
1538 } else if (key->_tes_primitive_mode == TESS_PRIMITIVE_TRIANGLES) {
1544 assert(key->_tes_primitive_mode == TESS_PRIMITIVE_ISOLINES);
1560 .key = &brw_key,
1584 IRIS_CACHE_TCS, sizeof(*key), key, program);
1587 iris_disk_cache_store(screen->disk_cache, ish, shader, key, sizeof(*key));
1595 * Fill out the key, look in the cache, compile and bind if needed.
1610 struct iris_tcs_prog_key key = {
1619 get_unified_tess_slots(ice, &key.outputs_written,
1620 &key.patch_outputs_written);
1621 screen->vtbl.populate_tcs_key(ice, &key);
1628 shader = find_or_add_variant(screen, tcs, IRIS_CACHE_TCS, &key,
1629 sizeof(key), &added);
1632 shader = iris_find_cached_shader(ice, IRIS_CACHE_TCS, sizeof(key), &key);
1637 IRIS_CACHE_TCS, sizeof(key), &key);
1649 &key, sizeof(key)))) {
1693 const struct iris_tes_prog_key *const key = &shader->key.tes;
1695 if (key->vue.nr_userclip_plane_consts) {
1697 nir_lower_clip_vs(nir, (1 << key->vue.nr_userclip_plane_consts) - 1,
1715 brw_compute_tess_vue_map(&input_vue_map, key->inputs_read,
1716 key->patch_inputs_read);
1718 struct brw_tes_prog_key brw_key = iris_to_brw_tes_key(screen, key);
1722 .key = &brw_key,
1751 sizeof(*key), key, program);
1753 iris_disk_cache_store(screen->disk_cache, ish, shader, key, sizeof(*key));
1761 * Fill out the key, look in the cache, compile and bind if needed.
1772 struct iris_tes_prog_key key = { KEY_INIT(vue.base) };
1773 get_unified_tess_slots(ice, &key.inputs_read, &key.patch_inputs_read);
1774 screen->vtbl.populate_tes_key(ice, &ish->nir->info, last_vue_stage(ice), &key);
1779 find_or_add_variant(screen, ish, IRIS_CACHE_TES, &key, sizeof(key), &added);
1782 &key, sizeof(key))) {
1832 const struct iris_gs_prog_key *const key = &shader->key.gs;
1834 if (key->vue.nr_userclip_plane_consts) {
1836 nir_lower_clip_gs(nir, (1 << key->vue.nr_userclip_plane_consts) - 1,
1857 struct brw_gs_prog_key brw_key = iris_to_brw_gs_key(screen, key);
1861 .key = &brw_key,
1889 sizeof(*key), key, program);
1891 iris_disk_cache_store(screen->disk_cache, ish, shader, key, sizeof(*key));
1899 * Fill out the key, look in the cache, compile and bind if needed.
1913 struct iris_gs_prog_key key = { KEY_INIT(vue.base) };
1914 screen->vtbl.populate_gs_key(ice, &ish->nir->info, last_vue_stage(ice), &key);
1918 shader = find_or_add_variant(screen, ish, IRIS_CACHE_GS, &key,
1919 sizeof(key), &added);
1922 &key, sizeof(key))) {
1966 const struct iris_fs_prog_key *const key = &shader->key.fs;
1988 MAX2(key->nr_color_regions, null_rts),
1993 struct brw_wm_prog_key brw_key = iris_to_brw_fs_key(screen, key);
1997 .key = &brw_key,
2025 sizeof(*key), key, program);
2027 iris_disk_cache_store(screen->disk_cache, ish, shader, key, sizeof(*key));
2035 * Fill out the key, look in the cache, compile and bind if needed.
2045 struct iris_fs_prog_key key = { KEY_INIT(base) };
2046 screen->vtbl.populate_fs_key(ice, &ish->nir->info, &key);
2052 key.input_slots_valid = last_vue_map->slots_valid;
2057 find_or_add_variant(screen, ish, IRIS_CACHE_FS, &key,
2058 sizeof(key), &added);
2061 &key, sizeof(key))) {
2258 const struct iris_cs_prog_key *const key = &shader->key.cs;
2270 struct brw_cs_prog_key brw_key = iris_to_brw_cs_key(screen, key);
2274 .key = &brw_key,
2298 sizeof(*key), key, program);
2300 iris_disk_cache_store(screen->disk_cache, ish, shader, key, sizeof(*key));
2313 struct iris_cs_prog_key key = { KEY_INIT(base) };
2314 screen->vtbl.populate_cs_key(ice, &key);
2319 find_or_add_variant(screen, ish, IRIS_CACHE_CS, &key,
2320 sizeof(key), &added);
2323 &key, sizeof(key))) {
2529 struct iris_cs_prog_key key = { KEY_INIT(base) };
2533 sizeof(key), &key);
2539 &key, sizeof(key))) {
2598 union iris_any_prog_key key;
2601 memset(&key, 0, sizeof(key));
2609 key.vs = (struct iris_vs_prog_key) { KEY_INIT(vue.base) };
2610 key_size = sizeof(key.vs);
2614 key.tcs = (struct iris_tcs_prog_key) {
2624 /* 8_PATCH mode needs the key to contain the input patch dimensionality.
2630 key.tcs.input_vertices = info->tess.tcs_vertices_out;
2632 key_size = sizeof(key.tcs);
2641 key.tes = (struct iris_tes_prog_key) {
2648 key_size = sizeof(key.tes);
2656 key.gs = (struct iris_gs_prog_key) { KEY_INIT(vue.base) };
2657 key_size = sizeof(key.gs);
2666 /* The program key needs the VUE map if there are > 16 inputs */
2681 key.fs = (struct iris_fs_prog_key) {
2689 key_size = sizeof(key.fs);
2702 key_size, &key);
2708 &key, key_size)) {