Rev 2352 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2352 | Rev 2360 | ||
---|---|---|---|
Line 70... | Line 70... | ||
70 | #include "exa_wm_src_affine.g6b" |
70 | #include "exa_wm_src_affine.g6b" |
71 | #include "exa_wm_src_sample_argb.g6b" |
71 | #include "exa_wm_src_sample_argb.g6b" |
72 | #include "exa_wm_write.g6b" |
72 | #include "exa_wm_write.g6b" |
73 | }; |
73 | }; |
Line 74... | Line 74... | ||
74 | 74 | ||
75 | static const uint32_t ps_kernel_nomask_projective[][4] = { |
75 | static const uint32_t ps_kernel_masknoca_affine[][4] = { |
76 | #include "exa_wm_src_projective.g6b" |
76 | #include "exa_wm_src_affine.g6b" |
- | 77 | #include "exa_wm_src_sample_argb.g6b" |
|
- | 78 | #include "exa_wm_mask_affine.g6b" |
|
- | 79 | #include "exa_wm_mask_sample_a.g6b" |
|
77 | #include "exa_wm_src_sample_argb.g6b" |
80 | #include "exa_wm_noca.g6b" |
78 | #include "exa_wm_write.g6b" |
81 | #include "exa_wm_write.g6b" |
Line 79... | Line 82... | ||
79 | }; |
82 | }; |
Line 86... | Line 89... | ||
86 | const void *data; |
89 | const void *data; |
87 | unsigned int size; |
90 | unsigned int size; |
88 | Bool has_mask; |
91 | Bool has_mask; |
89 | } wm_kernels[] = { |
92 | } wm_kernels[] = { |
90 | KERNEL(NOMASK, ps_kernel_nomask_affine, FALSE), |
93 | KERNEL(NOMASK, ps_kernel_nomask_affine, FALSE), |
91 | KERNEL(NOMASK_PROJECTIVE, ps_kernel_nomask_projective, FALSE), |
94 | KERNEL(MASK, ps_kernel_masknoca_affine, TRUE), |
92 | - | ||
93 | }; |
95 | }; |
94 | #undef KERNEL |
96 | #undef KERNEL |
Line 95... | Line 97... | ||
95 | 97 | ||
96 | static const struct blendinfo { |
98 | static const struct blendinfo { |
Line 657... | Line 659... | ||
657 | OUT_BATCH(0); |
659 | OUT_BATCH(0); |
658 | OUT_BATCH(0); |
660 | OUT_BATCH(0); |
Line 659... | Line 661... | ||
659 | 661 | ||
660 | OUT_BATCH(GEN6_PIPE_CONTROL | (4 - 2)); |
662 | OUT_BATCH(GEN6_PIPE_CONTROL | (4 - 2)); |
661 | OUT_BATCH(GEN6_PIPE_CONTROL_WRITE_TIME); |
- | |
662 | // OUT_BATCH(kgem_add_reloc(&sna->kgem, sna->kgem.nbatch, |
- | |
663 | // sna->render_state.gen6.general_bo, |
- | |
664 | // I915_GEM_DOMAIN_INSTRUCTION << 16 | |
- | |
665 | // I915_GEM_DOMAIN_INSTRUCTION, |
- | |
Line 666... | Line 663... | ||
666 | // 64)); |
663 | OUT_BATCH(GEN6_PIPE_CONTROL_WRITE_TIME); |
Line 667... | Line 664... | ||
667 | 664 | ||
Line 1616... | Line 1613... | ||
1616 | uint32_t *binding_table; |
1613 | uint32_t *binding_table; |
1617 | uint16_t offset; |
1614 | uint16_t offset; |
1618 | bool dirty; |
1615 | bool dirty; |
Line 1619... | Line 1616... | ||
1619 | 1616 | ||
1620 | gen6_get_batch(sna); |
- | |
Line 1621... | Line 1617... | ||
1621 | // dirty = kgem_bo_is_dirty(op->dst.bo); |
1617 | gen6_get_batch(sna); |
Line 1622... | Line 1618... | ||
1622 | 1618 | ||
1623 | binding_table = gen6_composite_get_binding_table(sna, &offset); |
1619 | binding_table = gen6_composite_get_binding_table(sna, &offset); |
Line 1711... | Line 1707... | ||
1711 | op.src.bo = src_bo; |
1707 | op.src.bo = src_bo; |
1712 | op.src.card_format = GEN6_SURFACEFORMAT_B8G8R8X8_UNORM; |
1708 | op.src.card_format = GEN6_SURFACEFORMAT_B8G8R8X8_UNORM; |
1713 | op.src.width = src->width; |
1709 | op.src.width = src->width; |
1714 | op.src.height = src->height; |
1710 | op.src.height = src->height; |
Line 1715... | Line -... | ||
1715 | - | ||
1716 | // src_scale_x = ((float)src_w / frame->width) / (float)drw_w; |
- | |
1717 | // src_scale_y = ((float)src_h / frame->height) / (float)drw_h; |
- | |
1718 | 1711 | ||
1719 | op.src.scale[0] = 1.f/w; //src->width; |
1712 | op.src.scale[0] = 1.f/w; //src->width; |
1720 | op.src.scale[1] = 1.f/h; //src->height; |
1713 | op.src.scale[1] = 1.f/h; //src->height; |
1721 | op.src.filter = SAMPLER_FILTER_BILINEAR; |
1714 | op.src.filter = SAMPLER_FILTER_BILINEAR; |