⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matvectorrectmultimultitex.fp

📁 PDE simulator on GPU.
💻 FP
📖 第 1 页 / 共 3 页
字号:
#Multiply Ai*x
MAD R5, R4, R3.y, R5;

#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.z, R5;

#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.w, R5;

#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 5---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX7
TEX R3, f[TEX0], TEX7, RECT;

#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.x, R2;

#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.y, R5;

#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.z, R5;

#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.w, R5;

#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 6---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX8
TEX R3, f[TEX0], TEX8, RECT;

#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.x, R2;

#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.y, R5;

#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.z, R5;

#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.w, R5;

#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 7---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX9
TEX R3, f[TEX0], TEX9, RECT;

#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.x, R2;

#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.y, R5;

#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.z, R5;

#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.w, R5;

#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 8---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX10
TEX R3, f[TEX0], TEX10, RECT;

#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.x, R2;

#--------------------------------------------------
#subpart1
# the actual position in Vector X = i*Width + j + I + 1
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.y, R5;

#--------------------------------------------------
#subpart2
# the actual position in Vector X = i*Width + j + I + 2
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.z, R5;

#--------------------------------------------------
#subpart3
# the actual position in Vector X = i*Width + j + I + 3
ADD R0.x, R0.x, {1};

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.w, R5;

#---------------------------------------------------------------------
#Total Parts Number = 16-2 = 14
#Part 9---------------------------Each part consist of 11*4+1=45
#with 4 subparts
#fetch Current Ai,Ai+1,Ai+2,Ai+3 from TEX11
TEX R3, f[TEX0], TEX11, RECT;

#--------------------------------------------------
#subpart0---------------Each subpart consists of 11
# the actual position in Vector X = i*Width + j + I
ADD R0.x, R0.x, PassNo.x;

# a = (Tex0.y*Width + Tex0.x + i)%DimensionS -->R6.x
MUL R1.x, R0.x, TexPARA.w;
FLR R1.x, R1.x;
MUL R1.x, R1.x, TexPARA.z;
SUB R6.x, R0.x, R1.x;

#Integer m = a/Width --->R1.y
#Integer n = a%Width --->R1.x
MUL R1.y, R6.x, TexPARA.y;
FLR R1.y, R1.y;
MUL R1.x, R1.y, TexPARA.x;
SUB R1.x, R6.x, R1.x;

#Fetch x from Current Texture Position
TEX R4, R1, TEX0, RECT;

#Multiply Ai*x
MAD R5, R4, R3.x, R2;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -