Subversion Repositories Kolibri OS

Rev

Rev 3277 | Rev 3298 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3277 Rev 3290
Line 650... Line 650...
650
}rect_t;
650
}rect_t;
651
 
651
 
Line 652... Line 652...
652
struct drm_i915_mask {
652
struct drm_i915_mask {
653
    __u32 handle;
653
    __u32 handle;
-
 
654
    __u32 width;
-
 
655
    __u32 height;
654
    __u32 bo_size;
656
    __u32 bo_size;
655
    __u32 bo_pitch;
657
    __u32 bo_pitch;
656
    __u32 bo_map;
658
    __u32 bo_map;
657
};
659
};
Line 691... Line 693...
691
    GetWindowRect(&winrc);
693
    GetWindowRect(&winrc);
692
    {
694
    {
693
        static warn_count;
695
        static warn_count;
Line -... Line 696...
-
 
696
 
-
 
697
        mask->width    = winrc.right - winrc.left + 1;
-
 
698
        mask->height   = winrc.bottom - winrc.top + 1;
-
 
699
        mask->bo_pitch = (mask->width+15) & ~15;
694
 
700
 
695
        if(warn_count < 1)
701
        if(warn_count < 1)
696
        {
702
        {
697
            printf("left %d top %d right %d bottom %d\n",
703
            printf("left %d top %d right %d bottom %d\n",
698
                    winrc.left, winrc.top, winrc.right, winrc.bottom);
704
                    winrc.left, winrc.top, winrc.right, winrc.bottom);
699
            printf("mask pitch %d data %p\n", mask->bo_pitch, mask->bo_size);
705
            printf("mask pitch %d data %p\n", mask->bo_pitch, mask->bo_size);
700
            warn_count++;
706
            warn_count++;
701
        };
707
        };
Line -... Line 708...
-
 
708
    };
702
    };
709
 
Line 703... Line 710...
703
 
710
 
704
    slot = *((u8*)CURRENT_TASK);
711
    slot = *((u8*)CURRENT_TASK);
705
 
712
 
Line 728... Line 735...
728
        src_offset = (u8*)( winrc.top*os_display->width + winrc.left);
735
        src_offset = (u8*)( winrc.top*os_display->width + winrc.left);
729
        src_offset+= get_display_map();
736
        src_offset+= get_display_map();
730
        dst_offset = (u8*)mask->bo_map;
737
        dst_offset = (u8*)mask->bo_map;
Line 731... Line 738...
731
 
738
 
Line 732... Line 739...
732
        u32_t tmp_h = winrc.bottom - winrc.top;
739
        u32_t tmp_h = mask->height;
733
 
740
 
734
        ifl = safe_cli();
741
        ifl = safe_cli();
Line 753... Line 760...
753
 
760
 
Line 754... Line 761...
754
                src_offset+= os_display->width;
761
                src_offset+= os_display->width;
755
                dst_offset+= mask->bo_pitch;
762
                dst_offset+= mask->bo_pitch;
Line 756... Line -...
756
 
-
 
757
//            while( tmp_w--)
-
 
758
//            {
-
 
759
//                *(tmp_src) = (*tmp_dst==slot)?0x1:0x00;
-
 
760
//                tmp_src++;
-
 
761
//                tmp_dst++;
-
 
762
//            };
763
 
763
                while(tmp_w >= 64)
764
                while(tmp_w >= 64)
764
                {
765
                {
765
                    __asm__ __volatile__ (
766
                    __asm__ __volatile__ (
766
                    "movdqu     (%0),   %%xmm0            \n"
767
                    "movdqu     (%0),   %%xmm0            \n"