/vert.asm Secret
Created
January 13, 2020 11:17
Compiled UTS2 (partial)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
28a.vert | |
!!ARBvp1.0 | |
# cgc version 3.1.0013, build date Apr 18 2012 | |
# command line args: -ogles -profile arbvp1 | |
# source file: 28a.vert | |
#vendor NVIDIA Corporation | |
#version 3.1.0.13 | |
#profile arbvp1 | |
#program main | |
#semantic _WorldSpaceCameraPos | |
#semantic hlslcc_mtx4x4unity_ObjectToWorld | |
#semantic hlslcc_mtx4x4unity_WorldToObject | |
#semantic hlslcc_mtx4x4unity_MatrixVP | |
#semantic _Outline_Width | |
#semantic _Farthest_Distance | |
#semantic _Nearest_Distance | |
#semantic _Outline_Sampler_ST | |
#semantic _Offset_Z | |
#semantic _BakedNormal_ST | |
#semantic _Is_BakedNormal | |
#semantic _Outline_Sampler | |
#semantic _BakedNormal | |
#var float4 gl_Position : $vout.POSITION : HPOS : -1 : 1 | |
#var float3 _WorldSpaceCameraPos : : c[1] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_ObjectToWorld[0] : : c[2] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_ObjectToWorld[1] : : c[3] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_ObjectToWorld[2] : : c[4] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_ObjectToWorld[3] : : c[5] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_WorldToObject[0] : : c[6] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_WorldToObject[1] : : c[7] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_WorldToObject[2] : : c[8] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_WorldToObject[3] : : : -1 : 0 | |
#var float4 hlslcc_mtx4x4unity_MatrixVP[0] : : c[9] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_MatrixVP[1] : : c[10] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_MatrixVP[2] : : c[11] : -1 : 1 | |
#var float4 hlslcc_mtx4x4unity_MatrixVP[3] : : c[12] : -1 : 1 | |
#var float _Outline_Width : : c[13] : -1 : 1 | |
#var float _Farthest_Distance : : c[14] : -1 : 1 | |
#var float _Nearest_Distance : : c[15] : -1 : 1 | |
#var float4 _Outline_Sampler_ST : : : -1 : 0 | |
#var float _Offset_Z : : c[16] : -1 : 1 | |
#var float4 _BakedNormal_ST : : : -1 : 0 | |
#var half _Is_BakedNormal : : c[17] : -1 : 1 | |
#var sampler2D _Outline_Sampler : : : -1 : 0 | |
#var sampler2D _BakedNormal : : : -1 : 0 | |
#var float4 in_POSITION0 : $vin.ATTR0 : ATTR0 : -1 : 1 | |
#var float3 in_NORMAL0 : $vin.ATTR1 : ATTR1 : -1 : 1 | |
#var float4 in_TANGENT0 : $vin.ATTR2 : ATTR2 : -1 : 1 | |
#var float2 in_TEXCOORD0 : $vin.ATTR3 : ATTR3 : -1 : 1 | |
#var float2 vs_TEXCOORD0 : $vout.TEX0 : TEX0 : -1 : 1 | |
#var float3 vs_TEXCOORD1 : $vout.TEX1 : TEX1 : -1 : 1 | |
#var float3 vs_TEXCOORD2 : $vout.TEX2 : TEX2 : -1 : 1 | |
#var float3 vs_TEXCOORD3 : $vout.TEX3 : TEX3 : -1 : 1 | |
#const c[0] = 1 0 -2 3 | |
#const c[18] = 0.001 0.0099999998 | |
PARAM c[19] = { { 1, 0, -2, 3 }, | |
program.local[1..17], | |
{ 0.001, 0.0099999998 } }; | |
TEMP R0; | |
TEMP R1; | |
TEMP R2; | |
TEMP R3; | |
TEMP R4; | |
TEMP R5; | |
MUL R0.xyz, vertex.attrib[2].y, c[3]; | |
MAD R0.xyz, vertex.attrib[2].x, c[2], R0; | |
MAD R1.xyz, vertex.attrib[2].z, c[4], R0; | |
DP3 R1.w, R1, R1; | |
RSQ R1.w, R1.w; | |
MUL R3.xyz, R1.w, R1; | |
MOV R2.xyz, c[5]; | |
ADD R2.xyz, R2, -c[1]; | |
DP3 R1.w, R2, R2; | |
RSQ R2.x, R1.w; | |
MOV R1.w, c[15].x; | |
RCP R2.x, R2.x; | |
ADD R1.w, R1, -c[14].x; | |
DP3 R0.z, vertex.attrib[1], c[8]; | |
DP3 R0.x, vertex.attrib[1], c[6]; | |
DP3 R0.y, vertex.attrib[1], c[7]; | |
DP3 R0.w, R0, R0; | |
RSQ R0.w, R0.w; | |
MUL R0.xyz, R0.w, R0; | |
MUL R1.xyz, R0.zxyw, R3.yzxw; | |
MAD R1.xyz, R0.yzxw, R3.zxyw, -R1; | |
MUL R1.xyz, R1, vertex.attrib[2].w; | |
DP3 R0.w, R1, R1; | |
RSQ R0.w, R0.w; | |
MUL R4.xyz, R0.w, R1; | |
ADD R1.xyz, R4, R3; | |
ADD R2.x, R2, -c[14]; | |
RCP R1.w, R1.w; | |
MUL R1.w, R1, R2.x; | |
MIN R1.w, R1, c[0].x; | |
MAX R0.w, R1, c[0].y; | |
MAD R1.w, R0, c[0].z, c[0]; | |
MUL R0.w, R0, R0; | |
MUL R0.w, R0, R1; | |
ADD R1.xyz, R0, R1; | |
DP3 R1.w, R1, R1; | |
RSQ R1.w, R1.w; | |
MUL R0.w, R0, c[13].x; | |
MUL R0.w, R0, c[18].x; | |
MUL R2.xyz, vertex.attrib[1], R0.w; | |
MUL R1.xyz, R1.w, R1; | |
MAD R1.xyz, R1, R0.w, vertex.attrib[0]; | |
ADD R2.xyz, vertex.attrib[0], R2; | |
ADD R1.xyz, R1, -R2; | |
MAD R2.xyz, R1, c[17].x, R2; | |
MUL R1, R2.y, c[3]; | |
MAD R1, R2.x, c[2], R1; | |
MAD R1, R2.z, c[4], R1; | |
ADD R1, R1, c[5]; | |
MUL R2, R1.y, c[10]; | |
MAD R2, R1.x, c[9], R2; | |
MOV R0.w, c[10].z; | |
MAD R2, R1.z, c[11], R2; | |
MAD R1, R1.w, c[12], R2; | |
MOV R5.xy, c[1].xzzw; | |
MUL R0.w, R0, c[1].y; | |
MAD R0.w, R5.x, c[9].z, R0; | |
MAD R0.w, R5.y, c[11].z, R0; | |
ADD R0.w, R0, c[12].z; | |
MUL R0.w, R0, c[16].x; | |
MOV result.position.xyw, R1; | |
MAD result.position.z, R0.w, c[18].y, R1; | |
MOV result.texcoord[3].xyz, R4; | |
MOV result.texcoord[2].xyz, R3; | |
MOV result.texcoord[1].xyz, R0; | |
MOV result.texcoord[0].xy, vertex.attrib[3]; | |
END | |
# 66 instructions, 6 R-regs |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment