Lines Matching defs:key
80 struct pan_blit_shader_key key;
96 struct pan_blit_blend_shader_key key;
112 struct pan_blit_rsd_key key;
153 nir_alu_type type = blit_shader->key.surfaces[rt].type;
345 struct pan_blit_blend_shader_key key = {
354 _mesa_hash_table_search(dev->blitter.shaders.blend, &key);
364 blend_shader->key = key;
402 &blend_shader->key, blend_shader);
410 const struct pan_blit_shader_key *key)
413 struct hash_entry *he = _mesa_hash_table_search(dev->blitter.shaders.blit, key);
423 for (unsigned i = 0; i < ARRAY_SIZE(key->surfaces); i++) {
425 if (key->surfaces[i].type == nir_type_invalid)
428 switch (key->surfaces[i].type) {
435 switch (key->surfaces[i].dim) {
444 (key->surfaces[i].dim ? : 3) +
445 (key->surfaces[i].array ? 1 : 0));
454 gl_frag_result_name(key->surfaces[i].loc),
456 key->surfaces[i].array ? "[]" : "",
457 key->surfaces[i].src_samples,
458 key->surfaces[i].dst_samples);
474 for (unsigned i = 0; i < ARRAY_SIZE(key->surfaces); i++) {
475 if (key->surfaces[i].type == nir_type_invalid)
479 assert(key->surfaces[i].dst_samples == 1 ||
480 key->surfaces[i].src_samples == key->surfaces[i].dst_samples);
486 unsigned ncomps = key->surfaces[i].loc >= FRAG_RESULT_DATA0 ? 4 : 1;
491 out->data.location = key->surfaces[i].loc;
494 bool resolve = key->surfaces[i].src_samples > key->surfaces[i].dst_samples;
495 bool ms = key->surfaces[i].src_samples > 1;
498 switch (key->surfaces[i].dim) {
525 nir_alu_type_get_base_type(key->surfaces[i].type);
527 key->surfaces[i].src_samples : 1;
533 tex->dest_type = key->surfaces[i].type;
535 tex->is_array = key->surfaces[i].array;
555 nir_alu_type_get_type_size(key->surfaces[i].type);
563 tex->dest_type = key->surfaces[i].type;
565 tex->is_array = key->surfaces[i].array;
595 if (key->surfaces[i].loc >= FRAG_RESULT_DATA0) {
598 unsigned c = key->surfaces[i].loc == FRAG_RESULT_STENCIL ? 1 : 0;
627 shader->key = *key;
643 _mesa_hash_table_insert(dev->blitter.shaders.blit, &shader->key, shader);
653 struct pan_blit_shader_key key = { 0 };
657 key.surfaces[0].loc = FRAG_RESULT_DEPTH;
658 key.surfaces[0].type = nir_type_float32;
659 key.surfaces[0].src_samples = views->src_z->image->layout.nr_samples;
660 key.surfaces[0].dst_samples = views->dst_z->image->layout.nr_samples;
661 key.surfaces[0].dim = views->src_z->dim;
662 key.surfaces[0].array = views->src_z->first_layer != views->src_z->last_layer;
667 key.surfaces[1].loc = FRAG_RESULT_STENCIL;
668 key.surfaces[1].type = nir_type_uint32;
669 key.surfaces[1].src_samples = views->src_s->image->layout.nr_samples;
670 key.surfaces[1].dst_samples = views->dst_s->image->layout.nr_samples;
671 key.surfaces[1].dim = views->src_s->dim;
672 key.surfaces[1].array = views->src_s->first_layer != views->src_s->last_layer;
680 key.surfaces[i].loc = FRAG_RESULT_DATA0 + i;
681 key.surfaces[i].type =
685 key.surfaces[i].src_samples = views->src_rts[i]->image->layout.nr_samples;
686 key.surfaces[i].dst_samples = views->dst_rts[i]->image->layout.nr_samples;
687 key.surfaces[i].dim = views->src_rts[i]->dim;
688 key.surfaces[i].array = views->src_rts[i]->first_layer != views->src_rts[i]->last_layer;
691 return key;
746 rsd->key = rsd_key;
765 _mesa_hash_table_insert(dev->blitter.rsds.rsds, &rsd->key, rsd);
1144 struct pan_blit_shader_key key = pan_blitter_get_key(&views);
1146 pan_blitter_get_blit_shader(pool->dev, &key);
1594 static uint32_t pan_blit_shader_key_hash(const void *key)
1596 return _mesa_hash_data(key, sizeof(struct pan_blit_shader_key));
1604 static uint32_t pan_blit_blend_shader_key_hash(const void *key)
1606 return _mesa_hash_data(key, sizeof(struct pan_blit_blend_shader_key));
1614 static uint32_t pan_blit_rsd_key_hash(const void *key)
1616 return _mesa_hash_data(key, sizeof(struct pan_blit_rsd_key));