Subversion Repositories Kolibri OS

Rev

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;