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" |