pcsx2: delete old asm file

This commit is contained in:
Gregory Hainaut 2016-01-09 18:45:34 +01:00
parent 39b77c6fd3
commit c121bccb03
3 changed files with 0 additions and 2083 deletions

2
.gitignore vendored
View File

@ -18,8 +18,6 @@
*.dump *.dump
*.asm *.asm
!/pcsx2/IPU/yuv2rgb.asm
!/pcsx2/x86/ix86-32/aVif_proc-32.asm
!/plugins/CDVDpeops/i386.asm !/plugins/CDVDpeops/i386.asm
!/plugins/zerogs/dx/x86-32.asm !/plugins/zerogs/dx/x86-32.asm
!/plugins/zerogs/dx/x86-64.asm !/plugins/zerogs/dx/x86-64.asm

View File

@ -1,242 +0,0 @@
;/********************************************************
; * Some code. Copyright (C) 2003 by Pascal Massimino. *
; * All Rights Reserved. (http://skal.planet-d.net) *
; * For Educational/Academic use ONLY. See 'LICENSE.TXT'.*
; ********************************************************/
;//////////////////////////////////////////////////////////
;// NASM macros
;//////////////////////////////////////////////////////////
%ifdef LINUX
;//////////////////////////////////////////////////////////
; LINUX / egcs / macros
;//////////////////////////////////////////////////////////
%macro extrn 1
extern %1
%define %1 %1
%endmacro
%macro globl 1
global %1
%define %1 %1
%endmacro
%macro DATA 0
[section data align=16 write alloc USE32]
%endmacro
%macro TEXT 0
[section text align=16 nowrite alloc exec USE32]
%endmacro
%endif ; LINUX
;//////////////////////////////////////////////////////////
%ifdef WIN32
%macro extrn 1
extern _%1
%define %1 _%1
%endmacro
%macro globl 1
global _%1
%define %1 _%1
%endmacro
%macro DATA 0
[section .data align=16 write alloc USE32]
%endmacro
%macro TEXT 0
[section .text align=16 nowrite alloc exec USE32]
%endmacro
%endif ; WIN32
;//////////////////////////////////////////////////////////
;
; MACRO for timing. NASM.
; Total additional code size is 0xb0.
; this keep code alignment right.
extrn Skl_Cur_Count_
extrn Skl_Print_Tics
%macro SKL_USE_RDSTC 0
extrn SKL_RDTSC_0_ASM
extrn SKL_RDTSC_1_ASM
extrn SKL_RDTSC_2_ASM
%endmacro
%define SKL_RDTSC_OFFSET 15 ; check value with skl_rdtsc.h...
%macro SKL_RDTSC_IN 0
SKL_USE_RDSTC
call SKL_RDTSC_0_ASM
.Skl_RDTSC_Loop_:
call SKL_RDTSC_1_ASM
%endmacro
%macro SKL_RDTSC_OUT 0
call SKL_RDTSC_2_ASM
dec dword [Skl_Cur_Count_]
jge near .Skl_RDTSC_Loop_
push dword 53
call Skl_Print_Tics
%endmacro
;//////////////////////////////////////////////////////////
globl Skl_YUV_To_RGB32_MMX
;//////////////////////////////////////////////////////////////////////
; eax: *U
; ebx: *V
; esi: *Y
; edx: Src_BpS
; edi: *Dst
; ebx: Dst_BpS
; ecx: Counter
%define RGBp esp+20
%define Yp esp+16
%define Up esp+12
%define Vp esp+8
%define xCnt esp+4
%define yCnt esp+0
Skl_YUV_To_RGB32_MMX:
push ebx
push esi
push edi
push ebp
mov edi, [esp+4 +16] ; RGB
mov ebp, [esp+12 +16] ; Y
mov eax, [esp+16 +16] ; U
mov ebx, [esp+20 +16] ; V
mov edx, [esp+24 +16] ; Src_BpS
mov ecx, [esp+28 +16] ; Width
lea edi, [edi+4*ecx] ; RGB += Width*sizeof(32b)
lea ebp, [ebp+ecx] ; ebp: Y1 = Y + Width
add edx, ebp ; edx: Y2 = Y1+ BpS
push edi ; [RGBp]
push ebp ; [Yp]
shr ecx, 1 ; Width/=2
lea eax, [eax+ecx] ; U += W/2
lea ebx, [ebx+ecx] ; V += W/2
push eax ; [Up]
push ebx ; [Vp]
neg ecx ; ecx = -Width/2
push ecx ; save [xCnt]
push eax ; fake ([yCnt])
mov ecx, [esp+32 +40] ; Height
shr ecx, 1 ; /2
mov esi, [Up]
mov edi, [Vp]
jmp .Go
align 16
.Loop_y
dec ecx
jg .Add
add esp, 24 ; rid of all tmp
pop ebp
pop edi
pop esi
pop ebx
ret
align 16
.Add
mov edi, [esp+8 +40] ; Dst_BpS
mov esi, [esp+24 +40] ; Src_BpS
mov edx, [RGBp]
mov ebp, [Yp]
lea edx, [edx+2*edi] ; RGB += 2*Dst_BpS
lea ebp, [ebp+2*esi] ; Y += 2*Src_BpS
mov [RGBp], edx
mov edi, [Vp]
mov [Yp], ebp ; Y1
lea edx, [ebp+esi] ; Y2
lea edi, [edi+esi] ; V += Src_BpS
add esi, [Up] ; U += Src_BpS
mov [Vp], edi
mov [Up], esi
.Go
mov [yCnt], ecx
mov ecx, [xCnt]
; 5210c@640x480
.Loop_x ; edi,esi: U,V; ebp,edx: Y1, Y2; ecx: xCnt
; R = Y + a.U
; G = Y + c.V + b.U
; B = Y + d.V
movzx eax, byte [edi+ecx+0]
movzx ebx, byte [esi+ecx+0]
movq mm0, [Skl_YUV_Tab32_MMX+0*2048 + eax*8]
movzx eax, byte [edi+ecx+1]
paddw mm0, [Skl_YUV_Tab32_MMX+1*2048 + ebx*8]
movzx ebx, byte [esi+ecx+1]
movq mm4, [Skl_YUV_Tab32_MMX+0*2048 + eax*8]
movzx eax, byte [ebp + 2*ecx+0]
paddw mm4, [Skl_YUV_Tab32_MMX+1*2048 + ebx*8]
movzx ebx, byte [ebp + 2*ecx+1]
movq mm1, mm0
movq mm2, mm0
movq mm3, mm0
movq mm5, mm4
movq mm6, mm4
movq mm7, mm4
paddw mm0, [Skl_YUV_Tab32_MMX+2*2048 + eax*8]
movzx eax, byte [ebp + 2*ecx+2]
paddw mm1, [Skl_YUV_Tab32_MMX+2*2048 + ebx*8]
movzx ebx, byte [ebp + 2*ecx+3]
packuswb mm0, mm1
paddw mm4, [Skl_YUV_Tab32_MMX+2*2048 + eax*8]
movzx eax, byte [edx + 2*ecx+0]
paddw mm5, [Skl_YUV_Tab32_MMX+2*2048 + ebx*8]
packuswb mm4, mm5
mov esi, [RGBp]
movzx ebx, byte [edx + 2*ecx+1]
movq [esi+8*ecx+0], mm0 ; 2x32b
movq [esi+8*ecx+8], mm4 ; 2x32b
paddw mm2, [Skl_YUV_Tab32_MMX+2*2048 + eax*8]
movzx eax, byte [edx + 2*ecx+2]
paddw mm3, [Skl_YUV_Tab32_MMX+2*2048 + ebx*8]
movzx ebx, byte [edx + 2*ecx+3]
packuswb mm2, mm3
paddw mm6, [Skl_YUV_Tab32_MMX+2*2048 + eax*8]
add esi, [esp+8 +40]
paddw mm7, [Skl_YUV_Tab32_MMX+2*2048 + ebx*8]
mov edi, [Vp]
packuswb mm6, mm7
movq [esi+8*ecx+0], mm2 ; 2x32b
movq [esi+8*ecx+8], mm6 ; 2x32b
add ecx, 2
mov esi, [Up]
jl near .Loop_x
mov ecx, [yCnt]
jmp .Loop_y

File diff suppressed because it is too large Load Diff