Replace with 1.14.0 repository

Also new website! We've got the version2 branch if people want to search in those files.
This commit is contained in:
Crementif 2018-10-31 11:03:04 +01:00
parent 939a478799
commit 8433e2253c
912 changed files with 23859 additions and 222284 deletions

2
.gitattributes vendored
View File

@ -1 +1 @@
*.txt text eol=crlf
* text eol=crlf

13
.gitignore vendored
View File

@ -1,3 +1,10 @@
Enthusiast
Performance
Quality
Build/
docs/node_modules/
docs/\.idea/
docs/package-lock\.json
docs/Gemfile\.lock

View File

@ -1,66 +1,30 @@
# Aim to have fast builds
# TODO: Maybe don't build the files into seperate folders and copy them after that anyway.
language: php
php:
- 7.0
dist: trusty
sudo: false
language: node_js
node_js:
- "node"
git:
depth: 1
submodules: false
if: branch IS master
env:
global:
secure: JkXrZEYH1PvXUpI02PYZC9csCtHDS9C41vMMWZZ4gIlkugFQGwVqB2aOjCbiCZzo5PiBXqz9p+xcRHk97SnzCLBINovw3GgWw1YUApYNXDARAOvZVrWMUQhqiouezexPUfL0dxJW5T1it6zN+weAiDsdfgJB8Q++TOQbn2mbcVfRNoR/HCO0v/5P0rtmtqPLbvtLj76eesVVr5rmC8SRDv7x/kCj4fHFYlS7tQGE6nV8XHo0FLr9cPafuqPjsIXR/QnJR+XYMsQfi8LymBEfv92Fq47J+nS9+iGG3M+T+n3GQ8lAjx6gGeiNnfVXQB8rMNItBuFsNfu+iiyurw4uMFaP66+GgamosyuPM+Tw7p4zc/WP316enAYZ/aAbQsbV3BBZXfBy94iU/xNAq4T82QTNq2I3zS84MJnjQtNPBxmADEJ/EZN6SE+rDRq4KxsTCis+hWqiioaeF6rhF8z7Mbg3P6Hn/FesqyBSlRAHmq+bOJx5m2m7lww1DRTPeOH6vKut3yU6uSd+9let4K14AGgV4S0VdKRoTmZHLFUK+L6HkjERKDpeAWq1j4sKpBLPRXxKRmVFb9B9LJVGzAZQ4ad0gNLHP9SKHBF9DxwKESRNzY37FkRSj/rO8tASm4BZRiTVS/WUhTPig7C92+VuVedfTe7UHAX+2wow61qJlHQ=
if: tag IS blank
branches:
only:
master
# Simultaneous builds for common and uncommon resolutions
env:
matrix:
- buildType=Common
- buildType=Uncommon
global:
- secure: "X0PrKXLjW6r8e0zT7+SshhP7uaW/5EW2BJPCc/oRIWX6eC4QLXv0lQBstIZ6vChAvgYv2K1CcBlWHrQarTlHqmkYnfHAfOFK//qURFUfuyTkKcKU/aCYvm4op0jPGw8+wbOkxwfnbvOaa0E7oBv4GCXVPYCU3nm7E1H2XHgcfJukaEhpvFfHaNohoh1ygVt65G1WIoYwUIFh/0XXgP6RVBDCAU+QYaNopK5co2O40vhjtg2f0la4zMsunMEY5oXNMaM/oRAvGBaXJ3KUTgSb0+uRlEM/XxOYRyfmG6fjVXYbwL6j+kNCLsZklCfN98AAvbysCebQWhI46vJcPa/Ji/ImMeAns17fBlHMn+PI0MIBbPkMztEkenXW3Yv1BquBHElhB758Fd1Zt9KdA5H5JC6WfuRBd+QBwlzOBxOrVfmaI3uOmy3cEvQZgckPGN+7SdSDyrw/+ukM+Ks775qaZ/bw3eQyMx6DpfATa6pVzK0AWj4Xlm4IufaOFI/hy2gH60hV+3KuYXeSJOq4gXYbtJcruAbHK5YOeEmAEsVCpz+RKSuAWWvcPktoyLTOjbGTM89Yf3jFgZOFi4HNCt7K67/bDnflsHj04X/pDm3gQ0XhxQx1Sj1j0IG1XLh+k37uL2FZusBbd+8kI1SkMED5aVWTp1WmbJN+dJXZMWJxJPc=" # GITHUB_TOKEN
matrix:
fast_finish: true
# === Build steps ===
# No dependencies
install: npm install -g github-release-cli@0.4.1
# No need to debug the PHP code. Keeping this enabled slows down execution.
before_script:
- phpenv config-rm xdebug.ini
script: ./build.sh
after_success:
# Create zip file
- mkdir build
- mv $TRAVIS_BUILD_DIR/Enhancement/* build
- mv $TRAVIS_BUILD_DIR/Enthusiast/* build
- mv $TRAVIS_BUILD_DIR/Modifications/* build
- mv $TRAVIS_BUILD_DIR/Performance/* build
- mv $TRAVIS_BUILD_DIR/Quality/* build
- mv $TRAVIS_BUILD_DIR/Workaround/* build
- cd build
- $([ "$buildType" = "Common" ] && echo zip -o -9 -r -q "../graphicPacksCommon_$TRAVIS_BUILD_NUMBER"".zip" ./* || echo zip -o -9 -r -q "../graphicPacks$TRAVIS_BUILD_NUMBER""_Uncommon.zip" ./*)
- cd ..
# Create github release
# The odd naming of the releases will create a more compatible order. It's intended.
script:
- cd Enhancements && zip -r -q -9 "../graphicPacks$TRAVIS_BUILD_NUMBER"".zip" ./* && cd ..
- cd Source && zip -r -q -9 "../graphicPacks$TRAVIS_BUILD_NUMBER"".zip" ./* && cd ..
- cd Modifications && zip -r -q -9 "../graphicPacks$TRAVIS_BUILD_NUMBER"".zip" ./* && cd ..
- cd Workarounds && zip -r -q -9 "../graphicPacks$TRAVIS_BUILD_NUMBER"".zip" ./* && cd ..
- |
github-release upload \
--owner=slashiee \
--repo=cemu_graphic_packs \
--repo=gfx_pack \
--tag="Travis$TRAVIS_BUILD_NUMBER" \
--name="Graphic Packs: version $TRAVIS_BUILD_NUMBER" \
--body="$(git log -1 --format='Commited at %ci by **%cn** in commit %h%n### %s%n```%n%b%n```%n') $(if [ '$buildType' = 'Common' ]; then echo 'This is a prerelease with only the common resolutions.'; fi)" \
$([ "$buildType" = "Common" ] && echo "--prerelease=true" || echo "--prerelease=false") \
$([ "$buildType" = "Common" ] && echo "graphicPacksCommon_$TRAVIS_BUILD_NUMBER"".zip" || echo "graphicPacks$TRAVIS_BUILD_NUMBER""_Uncommon.zip")
# Request a new Github Pages build when all the releases are present so that the links will be updated. Need to use a seperate file due to weird yaml parsing.
- sh requestGithubPages.sh
--body="$(git log -1 --format='Commited at %ci by **%cn** in commit %h%n### %s%n```%n%b%n```%n')" \
"graphicPacks$TRAVIS_BUILD_NUMBER"".zip"

View File

@ -1,12 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader 0f2b9ee517917425 // Inventory AA removal
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
void main()
{
passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy);
}

View File

@ -1,11 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader f14bb57cd5c9cb77
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
void main()
{
passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - No Anti-Aliasing"
version = 2

View File

@ -1,350 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
/*-----------------------------settings-------------------------------------*/
#define Subpix 1.00 //[0.000 to 1.000] Choose the amount of sub-pixel aliasing removal.
#define EdgeThreshold 0.125 //[0.000 to 1.000] Edge detection threshold. The minimum amount of local contrast required to apply algorithm.
#define EdgeThresholdMin 0.0625 //[0.000 to 1.000] Darkness threshold. Trims the algorithm from processing darks.
/*--------------------------------------------------------------------------*/
// shader 0f2b9ee517917425
// fxaa in inventory screen
// original shader dumped using cemu 1.10.0f, BotW 1.3.1
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(binding = 1) uniform sampler2D textureUnitPS1;
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
#define FXAA_QUALITY__PS 12
#define FXAA_QUALITY__P0 1.0
#define FXAA_QUALITY__P1 1.0
#define FXAA_QUALITY__P2 1.0
#define FXAA_QUALITY__P3 1.0
#define FXAA_QUALITY__P4 1.0
#define FXAA_QUALITY__P5 1.5
#define FXAA_QUALITY__P6 2.0
#define FXAA_QUALITY__P7 2.0
#define FXAA_QUALITY__P8 2.0
#define FXAA_QUALITY__P9 2.0
#define FXAA_QUALITY__P10 4.0
#define FXAA_QUALITY__P11 8.0
#define FxaaBool bool
#define FxaaDiscard discard
#define FxaaFloat float
#define FxaaFloat2 vec2
#define FxaaFloat3 vec3
#define FxaaFloat4 vec4
#define FxaaHalf float
#define FxaaHalf2 vec2
#define FxaaHalf3 vec3
#define FxaaHalf4 vec4
#define FxaaInt2 ivec2
#define FxaaSat(x) clamp(x, 0.0, 1.0)
#define FxaaTex sampler2D
#define FxaaTexTop(t, p) textureLod(t, p, 0.0)
#define FxaaTexOff(t, p, o, r) textureLodOffset(t, p, 0.0, o)
#define FxaaTexAlpha4(t, p) textureGather(t, p, 3)
#define FxaaTexOffAlpha4(t, p, o) textureGatherOffset(t, p, o, 3)
#define FxaaTexGreen4(t, p) textureGather(t, p, 1)
#define FxaaTexOffGreen4(t, p, o) textureGatherOffset(t, p, o, 1)
FxaaFloat4 FxaaPixelShader(
FxaaFloat2 pos,
FxaaTex tex,
FxaaTex lum,
FxaaFloat2 fxaaQualityRcpFrame,
FxaaFloat fxaaQualitySubpix,
FxaaFloat fxaaQualityEdgeThreshold,
FxaaFloat fxaaQualityEdgeThresholdMin
) {
FxaaFloat2 posM;
posM.x = pos.x;
posM.y = pos.y;
FxaaFloat4 rgbyM = vec4(FxaaTexTop(tex, posM).xyz, FxaaTexTop(lum, posM).x);
#define lumaM rgbyM.w
FxaaFloat4 luma4A = textureGather(lum, posM);
FxaaFloat4 luma4B = textureGatherOffset(lum, posM, FxaaInt2(-1, -1));
#define lumaE luma4A.z
#define lumaS luma4A.x
#define lumaSE luma4A.y
#define lumaNW luma4B.w
#define lumaN luma4B.z
#define lumaW luma4B.x
FxaaFloat maxSM = max(lumaS, lumaM);
FxaaFloat minSM = min(lumaS, lumaM);
FxaaFloat maxESM = max(lumaE, maxSM);
FxaaFloat minESM = min(lumaE, minSM);
FxaaFloat maxWN = max(lumaN, lumaW);
FxaaFloat minWN = min(lumaN, lumaW);
FxaaFloat rangeMax = max(maxWN, maxESM);
FxaaFloat rangeMin = min(minWN, minESM);
FxaaFloat rangeMaxScaled = rangeMax * fxaaQualityEdgeThreshold;
FxaaFloat range = rangeMax - rangeMin;
FxaaFloat rangeMaxClamped = max(fxaaQualityEdgeThresholdMin, rangeMaxScaled);
FxaaBool earlyExit = range < rangeMaxClamped;
if(earlyExit)
return rgbyM;
FxaaFloat lumaNE = FxaaTexOff(lum, posM, FxaaInt2(1, -1), fxaaQualityRcpFrame.xy).x;
FxaaFloat lumaSW = FxaaTexOff(lum, posM, FxaaInt2(-1, 1), fxaaQualityRcpFrame.xy).x;
FxaaFloat lumaNS = lumaN + lumaS;
FxaaFloat lumaWE = lumaW + lumaE;
FxaaFloat subpixRcpRange = 1.0/range;
FxaaFloat subpixNSWE = lumaNS + lumaWE;
FxaaFloat edgeHorz1 = (-2.0 * lumaM) + lumaNS;
FxaaFloat edgeVert1 = (-2.0 * lumaM) + lumaWE;
FxaaFloat lumaNESE = lumaNE + lumaSE;
FxaaFloat lumaNWNE = lumaNW + lumaNE;
FxaaFloat edgeHorz2 = (-2.0 * lumaE) + lumaNESE;
FxaaFloat edgeVert2 = (-2.0 * lumaN) + lumaNWNE;
FxaaFloat lumaNWSW = lumaNW + lumaSW;
FxaaFloat lumaSWSE = lumaSW + lumaSE;
FxaaFloat edgeHorz4 = (abs(edgeHorz1) * 2.0) + abs(edgeHorz2);
FxaaFloat edgeVert4 = (abs(edgeVert1) * 2.0) + abs(edgeVert2);
FxaaFloat edgeHorz3 = (-2.0 * lumaW) + lumaNWSW;
FxaaFloat edgeVert3 = (-2.0 * lumaS) + lumaSWSE;
FxaaFloat edgeHorz = abs(edgeHorz3) + edgeHorz4;
FxaaFloat edgeVert = abs(edgeVert3) + edgeVert4;
FxaaFloat subpixNWSWNESE = lumaNWSW + lumaNESE;
FxaaFloat lengthSign = fxaaQualityRcpFrame.x;
FxaaBool horzSpan = edgeHorz >= edgeVert;
FxaaFloat subpixA = subpixNSWE * 2.0 + subpixNWSWNESE;
if(!horzSpan) lumaN = lumaW;
if(!horzSpan) lumaS = lumaE;
if(horzSpan) lengthSign = fxaaQualityRcpFrame.y;
FxaaFloat subpixB = (subpixA * (1.0/12.0)) - lumaM;
FxaaFloat gradientN = lumaN - lumaM;
FxaaFloat gradientS = lumaS - lumaM;
FxaaFloat lumaNN = lumaN + lumaM;
FxaaFloat lumaSS = lumaS + lumaM;
FxaaBool pairN = abs(gradientN) >= abs(gradientS);
FxaaFloat gradient = max(abs(gradientN), abs(gradientS));
if(pairN) lengthSign = -lengthSign;
FxaaFloat subpixC = FxaaSat(abs(subpixB) * subpixRcpRange);
FxaaFloat2 posB;
posB.x = posM.x;
posB.y = posM.y;
FxaaFloat2 offNP;
offNP.x = (!horzSpan) ? 0.0 : fxaaQualityRcpFrame.x;
offNP.y = ( horzSpan) ? 0.0 : fxaaQualityRcpFrame.y;
if(!horzSpan) posB.x += lengthSign * 0.5;
if( horzSpan) posB.y += lengthSign * 0.5;
FxaaFloat2 posN;
posN.x = posB.x - offNP.x * FXAA_QUALITY__P0;
posN.y = posB.y - offNP.y * FXAA_QUALITY__P0;
FxaaFloat2 posP;
posP.x = posB.x + offNP.x * FXAA_QUALITY__P0;
posP.y = posB.y + offNP.y * FXAA_QUALITY__P0;
FxaaFloat subpixD = ((-2.0)*subpixC) + 3.0;
FxaaFloat lumaEndN = FxaaTexTop(lum, posN).x;
FxaaFloat subpixE = subpixC * subpixC;
FxaaFloat lumaEndP = FxaaTexTop(lum, posP).x;
if(!pairN) lumaNN = lumaSS;
FxaaFloat gradientScaled = gradient * 1.0/4.0;
FxaaFloat lumaMM = lumaM - lumaNN * 0.5;
FxaaFloat subpixF = subpixD * subpixE;
FxaaBool lumaMLTZero = lumaMM < 0.0;
lumaEndN -= lumaNN * 0.5;
lumaEndP -= lumaNN * 0.5;
FxaaBool doneN = abs(lumaEndN) >= gradientScaled;
FxaaBool doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P1;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P1;
FxaaBool doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P1;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P1;
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P2;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P2;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P2;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P2;
#if (FXAA_QUALITY__PS > 3)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P3;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P3;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P3;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P3;
#if (FXAA_QUALITY__PS > 4)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P4;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P4;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P4;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P4;
#if (FXAA_QUALITY__PS > 5)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P5;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P5;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P5;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P5;
#if (FXAA_QUALITY__PS > 6)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P6;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P6;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P6;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P6;
#if (FXAA_QUALITY__PS > 7)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P7;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P7;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P7;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P7;
#if (FXAA_QUALITY__PS > 8)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P8;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P8;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P8;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P8;
#if (FXAA_QUALITY__PS > 9)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P9;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P9;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P9;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P9;
#if (FXAA_QUALITY__PS > 10)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P10;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P10;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P10;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P10;
#if (FXAA_QUALITY__PS > 11)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P11;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P11;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P11;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P11;
#if (FXAA_QUALITY__PS > 12)
if(doneNP) {
if(!doneN) lumaEndN = FxaaTexTop(lum, posN.xy).x;
if(!doneP) lumaEndP = FxaaTexTop(lum, posP.xy).x;
if(!doneN) lumaEndN = lumaEndN - lumaNN * 0.5;
if(!doneP) lumaEndP = lumaEndP - lumaNN * 0.5;
doneN = abs(lumaEndN) >= gradientScaled;
doneP = abs(lumaEndP) >= gradientScaled;
if(!doneN) posN.x -= offNP.x * FXAA_QUALITY__P12;
if(!doneN) posN.y -= offNP.y * FXAA_QUALITY__P12;
doneNP = (!doneN) || (!doneP);
if(!doneP) posP.x += offNP.x * FXAA_QUALITY__P12;
if(!doneP) posP.y += offNP.y * FXAA_QUALITY__P12;
}
#endif
}
#endif
}
#endif
}
#endif
}
#endif
}
#endif
}
#endif
}
#endif
}
#endif
}
#endif
}
FxaaFloat dstN = posM.x - posN.x;
FxaaFloat dstP = posP.x - posM.x;
if(!horzSpan) dstN = posM.y - posN.y;
if(!horzSpan) dstP = posP.y - posM.y;
FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero;
FxaaFloat spanLength = (dstP + dstN);
FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero;
FxaaFloat spanLengthRcp = 1.0/spanLength;
FxaaBool directionN = dstN < dstP;
FxaaFloat dst = min(dstN, dstP);
FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP;
FxaaFloat subpixG = subpixF * subpixF;
FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5;
FxaaFloat subpixH = subpixG * fxaaQualitySubpix;
FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0;
FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH);
if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign;
if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign;
return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM);
}
vec2 RcpFrame = vec2(1.0 / 1280.0, 1.0 / 720.0) * uf_fragCoordScale;
void main()
{
passPixelColor0 = FxaaPixelShader(passParameterSem2.xy, textureUnitPS0, textureUnitPS1, RcpFrame, Subpix, EdgeThreshold, EdgeThresholdMin);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - No Depth of Field"
version = 2

View File

@ -1,18 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - Regular Resolution Shadows"
version = 2
[TextureRedefine]
width = 360
height = 360
formats = 0x005
overwriteWidth = 360
overwriteHeight = 360
[TextureRedefine]
width = 720
height = 720
formats = 0x005
overwriteWidth = 720
overwriteHeight = 720

View File

@ -1,69 +0,0 @@
[BotwNoVsyncV33]
moduleMatches = 0xD91A406D
;0x03068414 = nop ;disables gx2 fence
0x030685E4 = nop ;disables wait for vsync
0x03068608 = nop ;disables wait for vsync loop
[BotwNoVsyncV48]
moduleMatches = 0x0F748D9C
;0x03068488 = nop ;disables gx2 fence
0x03068658 = nop ;disables wait for vsync
0x0306867C = nop ;disables wait for vsync loop
[BotwNoVsyncV64]
moduleMatches = 0x9A61FF4C
;0x03069B60 = nop ;disables gx2 fence
0x03069D30 = nop ;disables wait for vsync
0x03069D54 = nop ;disables wait for vsync loop
[BotwNoVsyncV80]
moduleMatches = 0x8E3324A9
;0x03088A68 = nop ;disables gx2 fence
0x03088C38 = nop ;disables wait for vsync
0x03088C5C = nop ;disables wait for vsync loop
[BotwNoVsyncV97]
moduleMatches = 0xD71D859D
;0x030D42A0 = nop ;disables gx2 fence
0x030D4474 = nop ;disables wait for vsync
0x030D4498 = nop ;disables wait for vsync loop
[BotwNoVsyncV112]
moduleMatches = 0x6FD41A61
;0x030D5200 = nop ;disables gx2 fence
0x030D53D4 = nop ;disables wait for vsync
0x030D53F8 = nop ;disables wait for vsync loop
[BotwNoVsyncV144]
moduleMatches = 0x9A2CA0C7
;0x03102808 = nop ;disables gx2 fence
0x031029DC = nop ;disables wait for vsync
0x03102A00 = nop ;disables wait for vsync loop
[BotwNoVsyncV160]
moduleMatches = 0x29DBB52A
;0x031026D8 = nop ;disables gx2 fence
0x031028A8 = nop ;disables wait for vsync
0x031028CC = nop ;disables wait for vsync loop
[BotwNoVsyncV176V192]
moduleMatches = 0xFD091F9F,0xD472D8A5
;0x031FA004 = nop ;disables gx2 fence
0x031FA1D4 = nop ;disables wait for vsync
0x031FA1F8 = nop ;disables wait for vsync loop
[BotwNoVsyncV208]
moduleMatches = 0x6267BFD0
;0x031FAB00 = nop ;disables gx2 fence
0x031FACD0 = nop ;disables wait for vsync
0x031FACF4 = nop ;disables wait for vsync loop

View File

@ -1,7 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - 30FPS Lock (Requires Fence Skip or FPS++)"
version = 2
[Control]
vsyncFrequency = 30

View File

@ -1,23 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - 1280x720 (Better Color Depth)"
version = 2
[TextureRedefine] #TV
width = 1280
height = 720
formats = 0x19,0x1a
overwriteFormat = 0x1f
tileModesExcluded = 0x001
[TextureRedefine] #inventory and title menu background blur
width = 320
height = 180
formats = 0x19
overwriteFormat = 0x823
[TextureRedefine] #title menu background bloom
width = 320
height = 180
formats = 0x1a
overwriteFormat = 0x823

View File

@ -1,124 +0,0 @@
-- How to set up your own Clarity Preset --
((Required storage space, Approx 2~4GB))
===================================================================
Hey, it's Serfrost. I'm writing this out because it's come to our attention that no matter what we really do for presets, it won't really matter in the long run. Every user has a unique monitor / display they use with their PC, yeah? A lot of them are calibrated differently, and they often come with numerous presets that alter colors, brightness, contrast, you name it. Because of this, the presets that look good to me might not look good to you--the presets that look good to Jamie might not look good to you; you get the idea. So I'm writing this hoping you'll take the time to do a few short steps to get you on your way to making the game look the way YOU want it to look on YOUR display!
Jamie has coded this faithfully and diligently, and he's added a lot of different functions that were previously unavailable with these newer updates. We hope you enjoy this and use it to it's fullest potential.
===================================================================
There are 15 steps total. Please read very carefully and with your full attention. As long as you do that, it's relatively just "point and click" and the rest is changing the numbers on your own and testing them to see what they do.
===================================================================
1) Download & install Visual Studio Community 2017
https://www.visualstudio.com/downloads/
2) On the setup window, within the Workload tab, select "Desktop development with C++"
After installation and setup, close Visual Studio 2017...
3) Download & install Nsight for Visual Studio 2017 (You are required to make a Developer Account)
https://developer.nvidia.com/nsight-visual-studio-edition-downloads
After installation and setup, re-open Visual Studio 2017
4) Make a new Visual C++ > General > Empty Project (with a name of your choosing, i.e. Clarity)
4) In the Solution Explorer pane on the right, right-click your project's name with the ++ icon, select "Nsight User Properties"
5) Set the "Launch external program" to your Cemu.exe
6) Below that, "Command line arguments", simply set it to "-nsight" -- Then, Ok/Confirm
7) Save your project. It can now be reused to skip these steps in the future.
===============\
Note 1: Transferrable ShaderCache and Precompiled ShaderCache must be either backed-up and deleted, or at least moved to a new location before the next step. You must have an empty Transferrable and Precompiled with no shaders from BotW each time you run Nsight! If Nsight ignores your regular Precompiled, read below.
Note 2: This should be a one-time step.
Visual Studio might be saving your shaderCache to a new location based on your working directory, if that happens you'll have to find that directory. Mine was at...
C:\Users\serfr\source\repos\Clarity\Clarity\shaderCache
If it indeed does this, open that folder and clear it out. Then right-click the folder, go to Properties, go to Security, and then edit the permissions to Deny all access to any user listed.
This prevents Visual Studio from saving any shaderCache, which is what you want, since Nsight will not be able to use shaders that have already been turned into shaderCache, effectively skipping over them and screwing up your workflow.
===============/
8) Nsight menu at the top > Start Graphics Debugging
9) After Cemu opens itself, load the game and your save file.
Note 2: My editing save is set to be at Riverside Stable between the Stable and the 4 trees on the hill.
This allows the shader to always be located as the same number in the next steps for consistency, not
only that, but it gives you a great vantage point to tune your variables.
10) Visual Studio: Nsight menu at the top > Windows > Shaders
11) Filter: "63" > Wait for the shader to process > Expand 633 > Open Shader Program 632, this should be Clarity.
===============\
Note 2: If this isn't Clarity, then restart at the previous "Note 1" and load a different save.
===============/
12) If you've successfully opened the shader as Clarity, then right-click the contents and select "Edit"
13) You may now edit all the variables in realtime. To view / compile your changes hit Ctrl + Shift + C
===============\
Note 3: "Realtime", as in, you can view your changes by using the hotkey. You do not have to stop the game, etc.
Pro Tip 1: If time changes too fast for you, you can use Cemu > Debug > Custom Timer options to slow down time to 0.125x!
Pro Tip 2: If you want to chance it, you can use Visual Studio > Nsight Menu > Pause and Capture Frame ... you may then edit the shader with the frame frozen; this keeps time from progressing. Keep in mind it may error, and keep in mind that resuming may heavily glitch the game.
MAKE SURE YOU CHECK VARIOUS AREAS IN THE GAME TO MAKE SURE YOUR COLOR / SHADOW BALANCING IS CORRECT.
===============/
14) When you have your variables for your Preset where you want them, Ctrl + A to select all text, then Copy it.
15) Paste your entire shader code into a notepad and save it to wherever you want.
-- Make backups of files before making changes. Keep track of your work! --
The new shader.txt file has to be put in the Clarity GFX Pack for it to be used. Make sure you replace the original with your own, or relocate the original somewhere else. Your Preset must be the same name as the original file! 37040a485a29d54e_00000000000003c9_ps_.txt
===
MAKE SURE YOU CHECK VARIOUS AREAS IN THE GAME TO MAKE SURE YOUR COLOR / SHADOW BALANCING IS CORRECT.
===

View File

@ -1,9 +0,0 @@
============================================
1. Open the 37040a485a29d54e_00000000000003c9_ps
2. Pick preset or make your own.
3. Enable the pack in Cemu in order to test the preset.
============================================

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - Clarity"
version = 2

View File

@ -1,135 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// Adjustable Bloom + Tone Mapping + Adjustable Vibrance(Contrasty)
/*=============================Settings=====================================*/
#define adjust_bloom 1 // 0: disable, 1: enable.
const float bloomFactor = 0.7; // 1.0 is neutral [0,1+]
#define tone_mapping 1
// -1: disable, loss of bright detail/color but keep [0,1] intact
// 0: (Wii U) BotW original
// 1: ACES Filmic
//---------------"ACES Filmic","disable" Parameters-------------//
const float Exposure = 0.6; // [0.0, 1.0+] Adjust exposure
//---------------------------------------------------------------//
#define post_process 0
// -1: disable
// 0: (Wii U) BotW original, only vibrance
// 1: Contrasty
//----------------"BotW original" vibrance adjust-------------//
const float satFactor = 0.25; // 0.18 is neutral. Experimental, adjust native saturation
//---------------------------------------------------------------//
//---------------------"Contrasty" Parameters-----------------//
const float gamma = 0.81; // 1.0 is neutral. Botw is already colour graded at this stage
const float exposure = 1.17; // 1.0 is neutral
const float vibrance = 0.40; // >0: saturate <0: desaturate
const vec3 vibrance_RGB_balance = vec3(1.0,1.0,1.0); // A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others.
const float crushContrast = 0.000; // 0.0 is neutral. Use small increments, loss of shadow detail
//---------------------------------------------------------------//
/*==========================================================================*/
// shader bd8bba59e2149449 // bloom(add), tonemap, saturate
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0; //bloom
layout(binding = 1) uniform sampler2D textureUnitPS1; //texture, hdr
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
float getL601(vec3 rgb) {
return dot(rgb,vec3(0.2989,0.5866,0.1145));
}
float getL709(vec3 rgb) {
return dot(rgb,vec3(0.2126,0.7152,0.0722));
}
vec3 BotWToneMap(vec3 color) {
float Lumn = getL601(color);
vec4 exptm = 1.0 - exp(-vec4(color,Lumn));
vec3 cpre = exptm.w / Lumn * color;
vec3 colorldr = mix(cpre,exptm.rgb,vec3(pow(exptm.w,2.0)));//refine
return colorldr;
}
vec3 ACESFilm(vec3 color) {
color *= Exposure;
float Lumn = getL709(color);
vec4 tm = vec4(color,Lumn);
tm = (tm*(2.51*tm+0.03))/(tm*(2.43*tm+0.59)+0.14); // tonemap
vec3 cpre = tm.w / Lumn * color;
vec3 colorldr = mix(cpre,tm.rgb,vec3(pow(tm.w,2.0)));//refine
return colorldr;
}
vec3 BotWVibrance(vec3 color) {
float avg = (color.r + color.g + color.b)/3.0;
float maxc = max(color.r, max(color.g,color.b));
float w = 1.0 - pow(1.0 - 2.0 * avg, 2.0);
float weight = 1.0 + w * satFactor;
vec3 satcolor = mix(vec3(maxc), color, weight);
return satcolor;
}
vec3 ReshadeVibrance(vec3 color) {
float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color
float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color
float luma = getL709(color);
float color_saturation = max_color - min_color; // The difference between the two is the saturation
vec3 coeffVibrance = vibrance_RGB_balance * vibrance;
color = mix(vec3(luma), color, 1.0 + (coeffVibrance * (1.0 - (sign(coeffVibrance) * color_saturation))));
return color;
}
vec3 Contrasty(vec3 fColour) {
fColour = max(vec3(0.0), fColour - vec3(crushContrast));
fColour = clamp(exposure * fColour, 0.0, 1.0);
fColour = pow(fColour, vec3(1.0 / gamma));
fColour = ReshadeVibrance(fColour); // reshade's identical, only a little stronger when at same setting
return fColour;
}
// bad curve, see reshade curves.fx
//vec3 Contrasty2(vec3 color) {
// color = clamp(color,0.0,1.0);
// vec3 dark = pow(color,vec3(1.0/dark_thr));
// vec3 bright = pow(color,vec3(1.0/bright_thr));
// float lumn = getL709(color);
// color = mix(dark,bright,lumn);
// color = ReshadeVibrance(color);
// return color;
//}
void main()
{
vec3 bloom = texture(textureUnitPS0, passParameterSem0.xy).xyz;
vec3 color = texture(textureUnitPS1, passParameterSem0.xy).xyz;
#if (adjust_bloom == 1)
bloom *= bloomFactor;
#endif
color += bloom;
#if (tone_mapping == -1)
color = clamp(color*Exposure,0.0,1.0);
#elif (tone_mapping == 0)
color = BotWToneMap(color);
#elif (tone_mapping == 1)
color = ACESFilm(color);
#endif
#if (post_process == 0)
color = BotWVibrance(color);
#elif (post_process == 1)
color = Contrasty(color);
#endif
// export
passPixelColor0 = vec4(color, passParameterSem0.w);
}

View File

@ -1,13 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - Contrasty"
version = 2
# Credit:
# getdls for contrasty
# lihe@bestminr.com for vibrance logic
# kiri hsv saturation
# navras seperate contrasty from AARemoval
# approximate ACES Filmic ~ https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/
# SweetFX Tone mapping by Christian Cann Schuldt Jensen ~ CeeJay.dk

View File

@ -1,8 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - LOD Bias"
version = 2
[TextureRedefine]
formats = 0x31,0x32,0x34,0x35,0x431,0x432,0x433,0x234,0x235
overwriteRelativeLodBias = -3

View File

@ -1,981 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader 37b9100c1310d3bb
// Used for: Camera GUI
uniform ivec4 uf_uniformRegisterVS[256];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if (v == 0x7FFFFFFF)
return floatBitsToInt(1.0);
else if (v == 0xFFFFFFFF)
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b) { if (a == 0.0 || b == 0.0) return 0.0; return a*b; }
void main()
{
// Check Camera GUI
int hideCamera = 1;
if (uf_uniformRegisterVS[4].w != -1018036225 && uf_uniformRegisterVS[30].y == 0) {
hideCamera = 2;
}
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[14];
bool activeMaskStackC[15];
activeMaskStack[0] = false;
activeMaskStack[1] = false;
activeMaskStack[2] = false;
activeMaskStack[3] = false;
activeMaskStack[4] = false;
activeMaskStack[5] = false;
activeMaskStack[6] = false;
activeMaskStack[7] = false;
activeMaskStack[8] = false;
activeMaskStack[9] = false;
activeMaskStack[10] = false;
activeMaskStack[11] = false;
activeMaskStack[12] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStackC[2] = false;
activeMaskStackC[3] = false;
activeMaskStackC[4] = false;
activeMaskStackC[5] = false;
activeMaskStackC[6] = false;
activeMaskStackC[7] = false;
activeMaskStackC[8] = false;
activeMaskStackC[9] = false;
activeMaskStackC[10] = false;
activeMaskStackC[11] = false;
activeMaskStackC[12] = false;
activeMaskStackC[13] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xy = attrDataSem0.xy;
attrDecoder.xy = (attrDecoder.xy >> 24) | ((attrDecoder.xy >> 8) & 0xFF00) | ((attrDecoder.xy << 8) & 0xFF0000) | ((attrDecoder.xy << 24));
attrDecoder.z = 0;
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
if (activeMaskStackC[1] == true) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_uniformRegisterVS[15].x)));
R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)));
PV0i.y = R0i.y;
R4i.z = 0;
R0i.w = 0x3f800000;
R127i.w = floatBitsToInt(1.0);
PS0i = R127i.w;
// 1
R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_uniformRegisterVS[15].z));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_uniformRegisterVS[15].y)));
// 2
R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_uniformRegisterVS[15].w));
PV0i.y = R0i.y;
R1i.w = uf_uniformRegisterVS[2].x & 0x40000000;
// 3
backupReg0i = R0i.w;
R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x), intBitsToFloat(PV0i.y), intBitsToFloat(R4i.z), intBitsToFloat(backupReg0i)), vec4(intBitsToFloat(uf_uniformRegisterVS[4].x), intBitsToFloat(uf_uniformRegisterVS[4].y), intBitsToFloat(uf_uniformRegisterVS[4].z), intBitsToFloat(uf_uniformRegisterVS[4].w))));
PV1i.x = R127i.x;
PV1i.y = R127i.x;
PV1i.z = R127i.x;
PV1i.w = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg1i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.y), intBitsToFloat(R4i.z), intBitsToFloat(backupReg1i)), vec4(intBitsToFloat(uf_uniformRegisterVS[5].x), intBitsToFloat(uf_uniformRegisterVS[5].y), intBitsToFloat(uf_uniformRegisterVS[5].z), intBitsToFloat(uf_uniformRegisterVS[5].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R127i.y = tempi.x;
// 5
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i), intBitsToFloat(R4i.z), intBitsToFloat(backupReg2i)), vec4(intBitsToFloat(uf_uniformRegisterVS[6].x), intBitsToFloat(uf_uniformRegisterVS[6].y), intBitsToFloat(uf_uniformRegisterVS[6].z), intBitsToFloat(uf_uniformRegisterVS[6].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R127i.z = tempi.x;
// 6
R6i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y), intBitsToFloat(PV1i.x), intBitsToFloat(R127i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[8].x), intBitsToFloat(uf_uniformRegisterVS[8].y), intBitsToFloat(uf_uniformRegisterVS[8].z), intBitsToFloat(uf_uniformRegisterVS[8].w))));
PV0i.x = R6i.x;
PV0i.y = R6i.x;
PV0i.z = R6i.x;
PV0i.w = R6i.x;
// 7
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y), intBitsToFloat(R127i.z), intBitsToFloat(R127i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[9].x), intBitsToFloat(uf_uniformRegisterVS[9].y), intBitsToFloat(uf_uniformRegisterVS[9].z), intBitsToFloat(uf_uniformRegisterVS[9].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R6i.y = tempi.x;
// 8
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y), intBitsToFloat(R127i.z), intBitsToFloat(R127i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[10].x), intBitsToFloat(uf_uniformRegisterVS[10].y), intBitsToFloat(uf_uniformRegisterVS[10].z), intBitsToFloat(uf_uniformRegisterVS[10].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R6i.z = tempi.x;
// 9
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x), intBitsToFloat(R127i.y), intBitsToFloat(R127i.z), intBitsToFloat(R127i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[11].x), intBitsToFloat(uf_uniformRegisterVS[11].y), intBitsToFloat(uf_uniformRegisterVS[11].z), intBitsToFloat(uf_uniformRegisterVS[11].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R6i.w = tempi.x;
// 10
predResult = (0 != R1i.w);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if (activeMaskStackC[2] == true) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R0i.z = uf_uniformRegisterVS[2].x & 0x00000002;
// 1
predResult = (0 != R0i.z);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if (activeMaskStackC[3] == true) {
// 0
backupReg0i = R1i.y;
R1i.y = backupReg0i;
PV0i.y = R1i.y;
R0i.z = 0;
PV0i.z = R0i.z;
R1i.w = 0x3f800000;
PV0i.w = R1i.w;
// 1
R2i.xyz = ivec3(R1i.x, PV0i.y, PV0i.z);
R2i.w = PV0i.w;
}
activeMaskStack[2] = activeMaskStack[2] == false;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if (activeMaskStackC[3] == true) {
// 0
PS0i = int(intBitsToFloat(R1i.y));
// 1
PV1i.x = PS0i << int(1);
PS1i = int(intBitsToFloat(R1i.x));
// 2
R126i.z = PV1i.x + PS1i;
PV0i.z = R126i.z;
// 3
R127i.x = (PV0i.z == 0x00000002) ? int(0xFFFFFFFF) : int(0x0);
PV1i.x = R127i.x;
R127i.y = (PV0i.z == int(1)) ? int(0xFFFFFFFF) : int(0x0);
// 4
R127i.z = ((PV1i.x == 0) ? (uf_uniformRegisterVS[23].y) : (uf_uniformRegisterVS[22].y));
R127i.w = ((PV1i.x == 0) ? (uf_uniformRegisterVS[23].x) : (uf_uniformRegisterVS[22].x));
// 5
R123i.x = ((R127i.x == 0) ? (uf_uniformRegisterVS[23].w) : (uf_uniformRegisterVS[22].w));
PV1i.x = R123i.x;
R123i.y = ((R127i.x == 0) ? (uf_uniformRegisterVS[23].z) : (uf_uniformRegisterVS[22].z));
PV1i.y = R123i.y;
// 6
R123i.x = ((R127i.y == 0) ? (PV1i.x) : (uf_uniformRegisterVS[21].w));
PV0i.x = R123i.x;
R123i.y = ((R127i.y == 0) ? (PV1i.y) : (uf_uniformRegisterVS[21].z));
PV0i.y = R123i.y;
R123i.z = ((R127i.y == 0) ? (R127i.z) : (uf_uniformRegisterVS[21].y));
PV0i.z = R123i.z;
R123i.w = ((R127i.y == 0) ? (R127i.w) : (uf_uniformRegisterVS[21].x));
PV0i.w = R123i.w;
// 7
R2i.x = ((R126i.z == 0) ? (uf_uniformRegisterVS[20].x) : (PV0i.w));
R2i.y = ((R126i.z == 0) ? (uf_uniformRegisterVS[20].y) : (PV0i.z));
R2i.z = ((R126i.z == 0) ? (uf_uniformRegisterVS[20].z) : (PV0i.y));
R2i.w = ((R126i.z == 0) ? (uf_uniformRegisterVS[20].w) : (PV0i.x));
}
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if (activeMaskStackC[2] == true) {
// 0
R3i.xyz = ivec3(0x437f0000, 0x437f0000, 0x437f0000);
R3i.w = 0x437f0000;
}
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if (activeMaskStackC[2] == true) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
PV0i.x = uf_uniformRegisterVS[2].x >> 0x00000008;
R2i.y = uf_uniformRegisterVS[2].x & 0x00000002;
// 1
R1i.z = PV0i.x & 0x0000000f;
// 2
predResult = (0 != R2i.y);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if (activeMaskStackC[3] == true) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
R4i.y = R1i.y;
R2i.z = 0;
R1i.w = 0x3f800000;
PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
// 1
R2i.x = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
PV1i.x = R2i.x;
R2i.y = floatBitsToInt(intBitsToFloat(PS0i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
// 2
R3i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS1i));
PV0i.x = R3i.x;
R3i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS1i));
R4i.x = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
PS0i = R4i.x;
// 3
R5i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + intBitsToFloat(PS0i));
R0i.z = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + 1.0);
PV1i.z = R0i.z;
R7i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0);
PS1i = R7i.x;
// 4
R3i.z = floatBitsToInt(-(intBitsToFloat(R3i.y)) + 1.0);
R2i.w = floatBitsToInt(-(intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.z));
// 5
predResult = (R1i.z == 0);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if (activeMaskStackC[4] == true) {
// 0
backupReg0i = R2i.x;
R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)));
R2i.y = R3i.x;
PV0i.y = R2i.y;
// 1
R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
}
activeMaskStack[3] = activeMaskStack[3] == false;
activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
if (activeMaskStackC[4] == true) {
activeMaskStack[4] = activeMaskStack[3];
activeMaskStackC[5] = activeMaskStackC[4];
// 0
predResult = (R1i.z == int(1));
activeMaskStack[4] = predResult;
activeMaskStackC[5] = predResult == true && activeMaskStackC[4] == true;
}
else {
activeMaskStack[4] = false;
activeMaskStackC[5] = false;
}
if (activeMaskStackC[5] == true) {
// 0
backupReg0i = R2i.y;
R2i.y = 0;
PV0i.y = R2i.y;
PV0i.z = R3i.x;
PV0i.w = backupReg0i;
// 1
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
}
activeMaskStack[4] = activeMaskStack[4] == false;
activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
if (activeMaskStackC[5] == true) {
activeMaskStack[5] = activeMaskStack[4];
activeMaskStackC[6] = activeMaskStackC[5];
// 0
predResult = (R1i.z == 0x00000002);
activeMaskStack[5] = predResult;
activeMaskStackC[6] = predResult == true && activeMaskStackC[5] == true;
}
else {
activeMaskStack[5] = false;
activeMaskStackC[6] = false;
}
if (activeMaskStackC[6] == true) {
// 0
backupReg0i = R3i.y;
R3i.y = backupReg0i;
PV0i.y = R3i.y;
PV0i.z = R3i.z;
PV0i.w = 0;
// 1
backupReg0i = R2i.x;
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
}
activeMaskStack[5] = activeMaskStack[5] == false;
activeMaskStackC[6] = activeMaskStack[5] == true && activeMaskStackC[5] == true;
if (activeMaskStackC[6] == true) {
activeMaskStack[6] = activeMaskStack[5];
activeMaskStackC[7] = activeMaskStackC[6];
// 0
predResult = (R1i.z == 0x00000003);
activeMaskStack[6] = predResult;
activeMaskStackC[7] = predResult == true && activeMaskStackC[6] == true;
}
else {
activeMaskStack[6] = false;
activeMaskStackC[7] = false;
}
if (activeMaskStackC[7] == true) {
// 0
backupReg0i = R2i.y;
R2i.y = R3i.z;
PV0i.y = R2i.y;
PV0i.z = R3i.y;
PV0i.w = backupReg0i;
// 1
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
}
activeMaskStack[6] = activeMaskStack[6] == false;
activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
if (activeMaskStackC[7] == true) {
activeMaskStack[7] = activeMaskStack[6];
activeMaskStackC[8] = activeMaskStackC[7];
// 0
predResult = (R1i.z == 0x00000004);
activeMaskStack[7] = predResult;
activeMaskStackC[8] = predResult == true && activeMaskStackC[7] == true;
}
else {
activeMaskStack[7] = false;
activeMaskStackC[8] = false;
}
if (activeMaskStackC[8] == true) {
// 0
R2i.y = R2i.w;
PV0i.y = R2i.y;
PV0i.z = R3i.x;
PV0i.w = 0;
// 1
backupReg0i = R2i.x;
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
}
activeMaskStack[7] = activeMaskStack[7] == false;
activeMaskStackC[8] = activeMaskStack[7] == true && activeMaskStackC[7] == true;
if (activeMaskStackC[8] == true) {
activeMaskStack[8] = activeMaskStack[7];
activeMaskStackC[9] = activeMaskStackC[8];
// 0
predResult = (R1i.z == 0x00000005);
activeMaskStack[8] = predResult;
activeMaskStackC[9] = predResult == true && activeMaskStackC[8] == true;
}
else {
activeMaskStack[8] = false;
activeMaskStackC[9] = false;
}
if (activeMaskStackC[9] == true) {
// 0
backupReg0i = R2i.y;
R2i.y = R3i.x;
PV0i.y = R2i.y;
PV0i.z = R2i.w;
PV0i.w = backupReg0i;
// 1
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
}
activeMaskStack[8] = activeMaskStack[8] == false;
activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
if (activeMaskStackC[9] == true) {
activeMaskStack[9] = activeMaskStack[8];
activeMaskStackC[10] = activeMaskStackC[9];
// 0
predResult = (R1i.z == 0x00000006);
activeMaskStack[9] = predResult;
activeMaskStackC[10] = predResult == true && activeMaskStackC[9] == true;
}
else {
activeMaskStack[9] = false;
activeMaskStackC[10] = false;
}
if (activeMaskStackC[10] == true) {
// 0
R2i.y = R3i.x;
PV0i.y = R2i.y;
R3i.y = 0;
PS0i = R3i.y;
// 1
backupReg0i = R2i.x;
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)));
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
}
activeMaskStack[9] = activeMaskStack[9] == false;
activeMaskStackC[10] = activeMaskStack[9] == true && activeMaskStackC[9] == true;
if (activeMaskStackC[10] == true) {
activeMaskStack[10] = activeMaskStack[9];
activeMaskStackC[11] = activeMaskStackC[10];
// 0
predResult = (R1i.z == 0x00000007);
activeMaskStack[10] = predResult;
activeMaskStackC[11] = predResult == true && activeMaskStackC[10] == true;
}
else {
activeMaskStack[10] = false;
activeMaskStackC[11] = false;
}
if (activeMaskStackC[11] == true) {
// 0
backupReg0i = R2i.x;
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R5i.x)) + intBitsToFloat(backupReg0i)));
R2i.y = R3i.y;
PV0i.y = R2i.y;
R3i.y = R3i.z;
PS0i = R3i.y;
// 1
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PS0i)));
}
activeMaskStack[10] = activeMaskStack[10] == false;
activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
if (activeMaskStackC[11] == true) {
activeMaskStack[11] = activeMaskStack[10];
activeMaskStackC[12] = activeMaskStackC[11];
// 0
predResult = (R1i.z == 0x00000008);
activeMaskStack[11] = predResult;
activeMaskStackC[12] = predResult == true && activeMaskStackC[11] == true;
}
else {
activeMaskStack[11] = false;
activeMaskStackC[12] = false;
}
if (activeMaskStackC[12] == true) {
// 0
R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x)));
R2i.y = R3i.x;
PV0i.y = R2i.y;
// 1
R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
}
activeMaskStack[11] = activeMaskStack[11] == false;
activeMaskStackC[12] = activeMaskStack[11] == true && activeMaskStackC[11] == true;
if (activeMaskStackC[12] == true) {
activeMaskStack[12] = activeMaskStack[11];
activeMaskStackC[13] = activeMaskStackC[12];
// 0
predResult = (R1i.z == 0x00000009);
activeMaskStack[12] = predResult;
activeMaskStackC[13] = predResult == true && activeMaskStackC[12] == true;
}
else {
activeMaskStack[12] = false;
activeMaskStackC[13] = false;
}
if (activeMaskStackC[13] == true) {
// 0
backupReg0i = R2i.y;
R2i.y = 0;
PV0i.y = R2i.y;
PV0i.z = R3i.z;
PV0i.w = backupReg0i;
// 1
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R7i.x)));
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.z)) + intBitsToFloat(PV0i.y)));
}
activeMaskStack[12] = activeMaskStack[12] == false;
activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
if (activeMaskStackC[13] == true) {
activeMaskStack[13] = activeMaskStack[12];
activeMaskStackC[14] = activeMaskStackC[13];
// 0
predResult = (R1i.z == 0x0000000a);
activeMaskStack[13] = predResult;
activeMaskStackC[14] = predResult == true && activeMaskStackC[13] == true;
}
else {
activeMaskStack[13] = false;
activeMaskStackC[14] = false;
}
if (activeMaskStackC[14] == true) {
// 0
R2i.y = R0i.z;
PV0i.y = R2i.y;
PV0i.z = R3i.x;
PV0i.w = 0;
// 1
backupReg0i = R2i.x;
R2i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(backupReg0i)) + intBitsToFloat(PV0i.w)));
R2i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)) + intBitsToFloat(PV0i.z)));
}
activeMaskStack[13] = activeMaskStack[13] == false;
activeMaskStackC[14] = activeMaskStack[13] == true && activeMaskStackC[13] == true;
if (activeMaskStackC[14] == true) {
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R7i.x)));
R2i.y = R2i.w;
PV0i.y = R2i.y;
R127i.z = (R1i.z == 0x0000000c) ? int(0xFFFFFFFF) : int(0x0);
PV0i.z = R127i.z;
R127i.w = (R1i.z == 0x0000000b) ? int(0xFFFFFFFF) : int(0x0);
// 1
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.y)));
R2i.y = R3i.z;
PV1i.y = R2i.y;
R123i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(R4i.x)) + intBitsToFloat(R2i.x)));
PV1i.z = R123i.z;
R123i.w = ((PV0i.z == 0) ? (0) : (PV0i.x));
PV1i.w = R123i.w;
// 2
R2i.x = ((R127i.w == 0) ? (PV1i.w) : (PV1i.z));
R123i.z = ((R127i.z == 0) ? (0) : (PV1i.x));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(R3i.y)) + intBitsToFloat(PV1i.y)));
PV0i.w = R123i.w;
// 3
R2i.y = ((R127i.w == 0) ? (PV0i.z) : (PV0i.w));
}
activeMaskStackC[13] = activeMaskStack[12] == true && activeMaskStackC[12] == true;
activeMaskStackC[11] = activeMaskStack[10] == true && activeMaskStackC[10] == true;
activeMaskStackC[9] = activeMaskStack[8] == true && activeMaskStackC[8] == true;
activeMaskStackC[7] = activeMaskStack[6] == true && activeMaskStackC[6] == true;
activeMaskStackC[5] = activeMaskStack[4] == true && activeMaskStackC[4] == true;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if (activeMaskStackC[3] == true) {
// 0
R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.y)) + 1.0);
PV0i.x = R127i.x;
R126i.y = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0);
// 1
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x)));
// 2
R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x)));
R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z)));
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 3
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
PS1i = R127i.w;
// 4
backupReg0i = R127i.z;
R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x)));
R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z)));
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.y), intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg0i)));
PS0i = R126i.z;
// 5
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
PS1i = R3i.x;
// 6
R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
// 7
backupReg0i = R2i.z;
R2i.xyz = ivec3(R1i.x, R4i.y, backupReg0i);
R2i.w = R1i.w;
}
activeMaskStack[2] = activeMaskStack[2] == false;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if (activeMaskStackC[3] == true) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
PS0i = int(intBitsToFloat(R1i.y));
// 1
PV1i.z = PS0i << int(1);
PS1i = int(intBitsToFloat(R1i.x));
// 2
R0i.z = PV1i.z + PS1i;
PV0i.z = R0i.z;
// 3
R127i.x = (PV0i.z == 0x00000002) ? int(0xFFFFFFFF) : int(0x0);
PV1i.x = R127i.x;
R127i.y = (PV0i.z == int(1)) ? int(0xFFFFFFFF) : int(0x0);
// 4
R127i.z = ((PV1i.x == 0) ? (uf_uniformRegisterVS[23].y) : (uf_uniformRegisterVS[22].y));
R127i.w = ((PV1i.x == 0) ? (uf_uniformRegisterVS[23].x) : (uf_uniformRegisterVS[22].x));
// 5
R123i.x = ((R127i.x == 0) ? (uf_uniformRegisterVS[23].w) : (uf_uniformRegisterVS[22].w));
PV1i.x = R123i.x;
R123i.y = ((R127i.x == 0) ? (uf_uniformRegisterVS[23].z) : (uf_uniformRegisterVS[22].z));
PV1i.y = R123i.y;
// 6
R123i.x = ((R127i.y == 0) ? (PV1i.x) : (uf_uniformRegisterVS[21].w));
PV0i.x = R123i.x;
R123i.y = ((R127i.y == 0) ? (PV1i.y) : (uf_uniformRegisterVS[21].z));
PV0i.y = R123i.y;
R123i.z = ((R127i.y == 0) ? (R127i.z) : (uf_uniformRegisterVS[21].y));
PV0i.z = R123i.z;
R123i.w = ((R127i.y == 0) ? (R127i.w) : (uf_uniformRegisterVS[21].x));
PV0i.w = R123i.w;
// 7
R2i.x = ((R0i.z == 0) ? (uf_uniformRegisterVS[20].x) : (PV0i.w));
R2i.y = ((R0i.z == 0) ? (uf_uniformRegisterVS[20].y) : (PV0i.z));
R2i.z = ((R0i.z == 0) ? (uf_uniformRegisterVS[20].z) : (PV0i.y));
R2i.w = ((R0i.z == 0) ? (uf_uniformRegisterVS[20].w) : (PV0i.x));
// 8
predResult = (R1i.z == 0x0000000d);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if (activeMaskStackC[4] == true) {
// 0
PS0i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].y));
// 1
PV1i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].w) * intBitsToFloat(PS0i));
PV1i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[1].z) * intBitsToFloat(PS0i));
PS1i = floatBitsToInt(1.0 / intBitsToFloat(uf_uniformRegisterVS[7].x));
// 2
R127i.x = PV1i.z;
R127i.y = PV1i.w;
PV0i.y = R127i.y;
R127i.z = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].x));
PV0i.z = R127i.z;
R127i.w = floatBitsToInt(intBitsToFloat(PS1i) * intBitsToFloat(uf_uniformRegisterVS[1].y));
// 3
PV1i.z = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + 1.0);
PV1i.w = floatBitsToInt(-(intBitsToFloat(PV0i.z)) + 1.0);
// 4
PV0i.x = floatBitsToInt(-(intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.z));
PV0i.y = floatBitsToInt(-(intBitsToFloat(R127i.w)) + intBitsToFloat(PV1i.w));
// 5
backupReg0i = R127i.z;
R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.y), intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.y)));
PV1i.z = R127i.z;
R126i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.y)) + intBitsToFloat(backupReg0i)));
PV1i.w = R126i.w;
// 6
R127i.x = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
PV0i.x = R127i.x;
R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
// 7
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].w)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.x), intBitsToFloat(uf_uniformRegisterVS[16].x)));
// 8
R126i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[18].w)) + intBitsToFloat(PV1i.x)));
R127i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[18].z)) + intBitsToFloat(PV1i.y)));
R126i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[18].y)) + intBitsToFloat(PV1i.z)));
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[18].x)) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 9
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].w)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].z)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].y)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.x), intBitsToFloat(uf_uniformRegisterVS[17].x)));
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(PV0i.w)));
PS1i = R127i.w;
// 10
backupReg0i = R127i.z;
backupReg0i = R127i.z;
backupReg1i = R126i.z;
R127i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[19].w)) + intBitsToFloat(PV1i.x)));
R125i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(uf_uniformRegisterVS[19].z)) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_uniformRegisterVS[19].y)) + intBitsToFloat(PV1i.z)));
R123i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(backupReg0i), intBitsToFloat(uf_uniformRegisterVS[19].x)) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
R126i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(backupReg1i)));
PS0i = R126i.z;
// 11
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R126i.x)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.y), intBitsToFloat(R127i.y)));
R3i.x = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PV0i.w)) + intBitsToFloat(R127i.w)));
PS1i = R3i.x;
// 12
R3i.y = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R127i.z)) + intBitsToFloat(R126i.z)));
R3i.z = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R125i.y)) + intBitsToFloat(PV1i.y)));
R3i.w = floatBitsToInt((mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(R127i.x)) + intBitsToFloat(PV1i.x)));
}
activeMaskStack[3] = activeMaskStack[3] == false;
activeMaskStackC[4] = activeMaskStack[3] == true && activeMaskStackC[3] == true;
if (activeMaskStackC[4] == true) {
// 0
R127i.x = floatBitsToInt(float(R0i.z));
PS0i = R127i.x;
// 1
tempResultf = intBitsToFloat(PS0i);
tempResultf = floor(tempResultf);
tempResultf = clamp(tempResultf, -256.0, 255.0);
ARi.x = int(tempResultf);
PV1i.x = floatBitsToInt(tempResultf);
// 2
R3i.xyz = ivec3(uf_uniformRegisterVS[ARi.x + 16].x, uf_uniformRegisterVS[ARi.x + 16].y, uf_uniformRegisterVS[ARi.x + 16].z);
R3i.w = uf_uniformRegisterVS[ARi.x + 16].w;
}
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if (activeMaskStackC[1] == true) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
predResult = (0 != uf_uniformRegisterVS[3].x);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if (activeMaskStackC[2] == true) {
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.w;
R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x), intBitsToFloat(backupReg0i), intBitsToFloat(R4i.z), intBitsToFloat(backupReg1i)), vec4(intBitsToFloat(uf_uniformRegisterVS[20].x), intBitsToFloat(uf_uniformRegisterVS[20].y), intBitsToFloat(uf_uniformRegisterVS[20].z), intBitsToFloat(uf_uniformRegisterVS[20].w))));
PV0i.x = R2i.x;
PV0i.y = R2i.x;
PV0i.z = R2i.x;
PV0i.w = R2i.x;
// 1
backupReg0i = R0i.x;
backupReg1i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(R0i.y), intBitsToFloat(R4i.z), intBitsToFloat(backupReg1i)), vec4(intBitsToFloat(uf_uniformRegisterVS[21].x), intBitsToFloat(uf_uniformRegisterVS[21].y), intBitsToFloat(uf_uniformRegisterVS[21].z), intBitsToFloat(uf_uniformRegisterVS[21].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R2i.y = tempi.x;
// 2
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i), intBitsToFloat(R4i.z), intBitsToFloat(backupReg2i)), vec4(intBitsToFloat(uf_uniformRegisterVS[22].x), intBitsToFloat(uf_uniformRegisterVS[22].y), intBitsToFloat(uf_uniformRegisterVS[22].z), intBitsToFloat(uf_uniformRegisterVS[22].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R2i.z = tempi.x;
// 3
backupReg0i = R0i.x;
backupReg1i = R0i.y;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i), intBitsToFloat(backupReg1i), intBitsToFloat(R4i.z), intBitsToFloat(R0i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[23].x), intBitsToFloat(uf_uniformRegisterVS[23].y), intBitsToFloat(uf_uniformRegisterVS[23].z), intBitsToFloat(uf_uniformRegisterVS[23].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R2i.w = tempi.x;
}
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if (activeMaskStackC[2] == true) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R0i.z = uf_uniformRegisterVS[2].x & int(1);
// 1
predResult = (0 != R0i.z);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if (activeMaskStackC[3] == true) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
R0i.y = uf_uniformRegisterVS[2].x & 0x00000002;
// 1
predResult = (0 != R0i.y);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if (activeMaskStackC[4] == true) {
// 0
R127i.x = uf_uniformRegisterVS[2].x & 0x00010000;
R127i.y = uf_uniformRegisterVS[2].x & 0x00000010;
PV0i.y = R127i.y;
R125i.z = uf_uniformRegisterVS[2].x & 0x00000004;
R127i.w = uf_uniformRegisterVS[2].x & 0x00000020;
// 1
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].y)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].x)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].y), intBitsToFloat(uf_uniformRegisterVS[12].x)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_uniformRegisterVS[15].x), intBitsToFloat(uf_uniformRegisterVS[12].y)));
R127i.z = ((PV0i.y == 0) ? (R2i.y) : (R2i.y));
PS1i = R127i.z;
// 2
R123i.x = ((R127i.y == 0) ? (R2i.w) : (R2i.w));
PV0i.x = R123i.x;
R123i.y = ((R127i.y == 0) ? (R2i.z) : (R2i.z));
PV0i.y = R123i.y;
R126i.z = ((R127i.x == 0) ? (PV1i.x) : (PV1i.z));
PV0i.z = R126i.z;
R123i.w = ((R127i.x == 0) ? (PV1i.y) : (PV1i.w));
PV0i.w = R123i.w;
R124i.y = uf_uniformRegisterVS[2].x & 0x00000008;
PS0i = R124i.y;
// 3
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R2i.x), intBitsToFloat(PV0i.w)));
PV1i.x = R0i.x;
R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0);
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z)));
R123i.w = ((R127i.w == 0) ? (PV0i.y) : (PV0i.y));
PV1i.w = R123i.w;
R122i.x = ((R127i.w == 0) ? (PV0i.x) : (PV0i.x));
PS1i = R122i.x;
// 4
backupReg0i = R127i.y;
R123i.x = ((R127i.w == 0) ? (R127i.z) : (PV1i.z));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
R127i.z = ((R125i.z == 0) ? (PV1i.w) : (PV1i.w));
R123i.w = ((backupReg0i == 0) ? (R2i.x) : (PV1i.x));
PV0i.w = R123i.w;
R126i.z = ((R125i.z == 0) ? (PS1i) : (PS1i));
PS0i = R126i.z;
// 5
R127i.x = ((R125i.z == 0) ? (PV0i.x) : (PV0i.x));
PV1i.x = R127i.x;
R125i.y = ((R127i.w == 0) ? (PV0i.w) : (PV0i.w));
PV1i.y = R125i.y;
// 6
R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y));
PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.y));
// 7
R123i.y = ((R125i.z == 0) ? (R125i.y) : (PV0i.z));
PV1i.y = R123i.y;
// 8
R2i.x = ((R124i.y == 0) ? (PV1i.y) : (PV1i.y));
R2i.y = ((R124i.y == 0) ? (R127i.x) : (R126i.x));
R2i.z = ((R124i.y == 0) ? (R127i.z) : (R127i.z));
R2i.w = ((R124i.y == 0) ? (R126i.z) : (R126i.z));
PS0i = R2i.w;
}
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if (activeMaskStackC[3] == true) {
// 0
R0i.x = floatBitsToInt(-(intBitsToFloat(R2i.x)) + 1.0);
PV0i.x = R0i.x;
R126i.y = uf_uniformRegisterVS[2].x & 0x00010000;
R127i.z = uf_uniformRegisterVS[2].x & 0x00040000;
PV0i.w = uf_uniformRegisterVS[2].x & 0x00020000;
// 1
R123i.x = ((PV0i.w == 0) ? (R2i.z) : (R2i.z));
PV1i.x = R123i.x;
R127i.y = ((PV0i.w == 0) ? (R2i.y) : (R2i.y));
PV1i.y = R127i.y;
R123i.z = ((PV0i.w == 0) ? (R2i.x) : (PV0i.x));
PV1i.z = R123i.z;
R123i.w = ((PV0i.w == 0) ? (R2i.w) : (R2i.w));
PV1i.w = R123i.w;
// 2
R127i.x = ((R127i.z == 0) ? (PV1i.z) : (PV1i.z));
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
R126i.z = ((R127i.z == 0) ? (PV1i.x) : (PV1i.x));
R127i.w = ((R127i.z == 0) ? (PV1i.w) : (PV1i.w));
// 3
R123i.w = ((R127i.z == 0) ? (R127i.y) : (PV0i.y));
PV1i.w = R123i.w;
// 4
R2i.x = ((R126i.y == 0) ? (R127i.x) : (PV1i.w));
R2i.y = ((R126i.y == 0) ? (PV1i.w) : (R127i.x));
R2i.z = ((R126i.y == 0) ? (R126i.z) : (R126i.z));
R2i.w = ((R126i.y == 0) ? (R127i.w) : (R127i.w));
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if (activeMaskStackC[1] == true) {
// 0
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[14].x), intBitsToFloat(uf_uniformRegisterVS[14].y), intBitsToFloat(uf_uniformRegisterVS[14].z), intBitsToFloat(uf_uniformRegisterVS[14].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
// 1
PV1i.x = PV0i.x;
R0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.y), intBitsToFloat(uf_uniformRegisterVS[0].y)));
R0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.z), intBitsToFloat(uf_uniformRegisterVS[0].z)));
R1i.w = PV0i.x;
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(uf_uniformRegisterVS[0].x)));
PS1i = R0i.x;
// 2
R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w)), vec4(intBitsToFloat(uf_uniformRegisterVS[13].x), intBitsToFloat(uf_uniformRegisterVS[13].y), intBitsToFloat(uf_uniformRegisterVS[13].z), intBitsToFloat(uf_uniformRegisterVS[13].w))));
PV0i.x = R1i.x;
PV0i.y = R1i.x;
PV0i.z = R1i.x;
PV0i.w = R1i.x;
R1i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
PS0i = R1i.y;
// 3
R0i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.w), intBitsToFloat(uf_uniformRegisterVS[0].w)));
}
// export
gl_Position = vec4(intBitsToFloat(R6i.x), intBitsToFloat(R6i.y), intBitsToFloat(R6i.z)*hideCamera, intBitsToFloat(R6i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
}

View File

@ -1,125 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader 3e0262467e8add7d
// Used for: Some leftovers from the Camera GUI
uniform ivec4 uf_remappedVS[4];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
layout(location = 2) in uvec4 attrDataSem2;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xyz = attrDataSem2.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem0.xyzw)/255.0);
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w));
attrDecoder.xyz = attrDataSem1.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
int hideText = 1;
if (uf_remappedVS[0].w == -1012724819) {
hideText = 2;
}
// 0
R126i.x = 0;
PV0i.y = floatBitsToInt(-(intBitsToFloat(R1i.w)));
R127i.z = ((0.0 > intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0));
PV0i.z = R127i.z;
R127i.w = 0x3f800000;
PV0i.w = R127i.w;
R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + -(1.0));
PS0i = R127i.x;
// 1
R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))));
PV1i.x = R0i.x;
PV1i.y = R0i.x;
PV1i.z = R0i.x;
PV1i.w = R0i.x;
R4i.w = ((PV0i.z == 0)?(R1i.w):(PV0i.y));
PS1i = R4i.w;
// 2
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R0i.y = tempi.x;
R5i.z = ((R127i.z == 0)?(R2i.z):(R127i.x));
PS0i = R5i.z;
// 3
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R0i.z = tempi.x;
R4i.x = ((R127i.z == 0)?(R1i.x):(R1i.x));
PS1i = R4i.x;
// 4
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R0i.w = tempi.x;
R4i.y = ((R127i.z == 0)?(R1i.y):(R1i.y));
PS0i = R4i.y;
// 5
R5i.x = ((R127i.z == 0)?(R2i.x):(R2i.x));
R5i.y = ((R127i.z == 0)?(R2i.y):(R2i.y));
R4i.z = ((R127i.z == 0)?(R1i.z):(R1i.z));
// 6
R5i.w = ((R127i.z == 0)?(R126i.x):(R126i.x));
// export
gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z)*hideText, intBitsToFloat(R0i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
}

View File

@ -1,161 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader a8f3ec17a11d4a50
// Used for: Specific removing of text
bool CameraObjectLabel = false;
// Enable if you want to...
// - See the orange colored label from any objects in the camera view. Example: The orange text shown on this photo https://i.pinimg.com/originals/dd/88/68/dd8868f7bb9cf6497ecd0307fd3ce82f.jpg
// - See the 'x' character next to e.g. your 'x6 Mighty Bananas'. (Minor unsolvable bug).
// False (default) if you want to...
// - Take selfies without the orange labels of your weapon or nearby objects.
bool hideAllText = false;
// False is default, true is turned on. Does what the name suggests, affects most text, not recommended for actual gameplay.
// -------------------------------
uniform ivec4 uf_remappedVS[4];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
layout(location = 2) in uvec4 attrDataSem2;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xyz = attrDataSem2.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R3i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
attrDecoder.xyzw = floatBitsToUint(vec4(attrDataSem0.xyzw)/255.0);
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), int(attrDecoder.w));
attrDecoder.xyz = attrDataSem1.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R2i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
// Specifically target text with code that uses constants from both uniforms and inputs. These variables and code shouldn't be touched!!! Use the options above for proper controls.
int hideText = 1;
if (attrDataSem2.y <= 2000000000) { // This separates the orange label text from the inventory number. Removes the 'x' with the label, but does make the inventory numbers not disappear with the label text.
if (!CameraObjectLabel) {
hideText = 0;
}
}
if (uf_remappedVS[0].w == -1052388992 || uf_remappedVS[0].w == 1093474128 || (uf_remappedVS[0].w == 0 && uf_remappedVS[1].w != 0) || hideAllText) { // Code that specifically targets text. It separates the text being drawn with differences in the uniform.
hideText = 2;
}
if ((uf_remappedVS[0].x == 1069928832 && uf_remappedVS[0].y == 0 && uf_remappedVS[0].z == 0) &&
(uf_remappedVS[1].x == 0 && uf_remappedVS[1].y == -1070606677 && uf_remappedVS[1].z == 0) &&
(uf_remappedVS[2].x == 0 && uf_remappedVS[2].y == 0 && uf_remappedVS[2].z == -1082128754 && uf_remappedVS[2].w == 1148637833) &&
(uf_remappedVS[3].x == 0 && uf_remappedVS[3].y == 0 && uf_remappedVS[3].z == -1082130432 && uf_remappedVS[3].w == 1148667362)) {
hideText += 1;
}
// 0
R126i.x = 0;
PV0i.y = floatBitsToInt(-(intBitsToFloat(R1i.w)));
R127i.z = ((0.0 > intBitsToFloat(R2i.z))?int(0xFFFFFFFF):int(0x0));
PV0i.z = R127i.z;
R127i.w = 0x3f800000;
PV0i.w = R127i.w;
R127i.x = floatBitsToInt(-(intBitsToFloat(R2i.z)) + -(1.0));
PS0i = R127i.x;
// 1
R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(PV0i.w)),vec4(intBitsToFloat(uf_remappedVS[0].x),intBitsToFloat(uf_remappedVS[0].y),intBitsToFloat(uf_remappedVS[0].z),intBitsToFloat(uf_remappedVS[0].w))));
PV1i.x = R0i.x;
PV1i.y = R0i.x;
PV1i.z = R0i.x;
PV1i.w = R0i.x;
R4i.w = ((PV0i.z == 0)?(R1i.w):(PV0i.y));
PS1i = R4i.w;
// 2
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[1].x),intBitsToFloat(uf_remappedVS[1].y),intBitsToFloat(uf_remappedVS[1].z),intBitsToFloat(uf_remappedVS[1].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R0i.y = tempi.x;
R5i.z = ((R127i.z == 0)?(R2i.z):(R127i.x));
PS0i = R5i.z;
// 3
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R0i.z = tempi.x;
R4i.x = ((R127i.z == 0)?(R1i.x):(R1i.x));
PS1i = R4i.x;
// 4
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R0i.w = tempi.x;
R4i.y = ((R127i.z == 0)?(R1i.y):(R1i.y));
PS0i = R4i.y;
// 5
R5i.x = ((R127i.z == 0)?(R2i.x):(R2i.x));
R5i.y = ((R127i.z == 0)?(R2i.y):(R2i.y));
R4i.z = ((R127i.z == 0)?(R1i.z):(R1i.z));
// 6
R5i.w = ((R127i.z == 0)?(R126i.x):(R126i.x));
// export
gl_Position = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z)*hideText, intBitsToFloat(R0i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R4i.x), intBitsToFloat(R4i.y), intBitsToFloat(R4i.z), intBitsToFloat(R4i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
}

View File

@ -1,395 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - Minimalistic GUI V1.0".
version = 2
# This pack changes the GUI to a modern looking GUI and cleans up things like menu's and the camera rune.
# Minor (random, might be better/worse) gameplay compromises.
# Some small text bugs:
# - e.g. missing the 'x' character from 'x6 Mighty Bananas'. Can be fixed in the shader file named `a8f3ec17a11d4a50_0000000000000000_vs.txt`, where you can find more info.
# - Missing bonus modifier text from inventory screen.
# - Holding items in the inventory or having a second or third etc.. loading screen seems to break text and HUD prompts after you've done this.
# - Might be related to the thing above, random texture corruption from rules.txt, not aware of any solution. Probably the circumstances, but it seems like some memory leak issue. Higher GPU accuracy and drawDone could decrease how often/fast it appears.
# If you find more bugs you can make an issue on the Github repository. If you don't want/have a github account, you can also leave a message in the gfx_packs channel in the official Cemu discord.
# This pack got renamed from CleanCameraRune pack due to it no longer affecting gameplay and having several menu changes.
# -----------------------------------------------------------------
# >>> Camera UI <<<
#[TextureRedefine] # Disable Photo Lock, already disabled!!! # 239df000_fmt0034_mip00_200x200_tm04_sw00000000.bmp
#width = 200
#height = 200
#formats = 0x034
#tilemodes = 4
#overwriteHeight = 1
#overwriteWidth = 1
# Affects leaves (and maybe more)!
[TextureRedefine] # Disable Sheikah Opening Animation # 238dd000_fmt0034_mip00_314x358_tm04_sw00000700.bmp
width = 314
height = 358
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # UNORM -> SNORM
[TextureRedefine] # Removes Storage Numbers # f4252800_fmt001a_mip00_24x24_tm04_sw00000000.bmp
width = 24
height = 24
formats = 0x001a
tilemodes = 4
overwriteFormat = 0x021a # UNORM -> SNORM
[TextureRedefine] # Remove the zoom triangle # 229f1000_fmt0034_mip00_75x75_tm04_sw00000000.bmp
width = 75
height = 75
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # Remove the zoom line # 236ad000_fmt0034_mip00_8x8_tm02_sw00000000.bmp
width = 8
height = 8
formats = 0x034
tilemodes = 2
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # Remove the orange borders # 23379900_fmt0034_mip00_26x26_tm02_sw00000000.bmp
width = 26
height = 26
formats = 0x034
tilemodes = 2
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
# >>> MISC <<<
[TextureRedefine] # Disable Camera Vignette # 2330e000_fmt0034_mip00_242x162_tm04_sw00000100.bmp
width = 242
height = 162
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # Disable Background 'Lines' # 2258b000_fmt0034_mip00_13x305_tm04_sw00000400.bmp
width = 13
height = 305
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # Removing Border Runes # 2005e000_fmt0034_mip00_32x1024_tm04_sw00000000.bmp
width = 32
height = 1024
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # Removing Background # 228d9000_fmt0034_mip00_512x512_tm04_sw00000300.bmp
width = 512
height = 512
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # Removing Textures from edge # 239f3000_fmt0034_mip00_1278x387_tm04_sw00000400.bmp
width = 1278
height = 387
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # Removes the glow at the border, but can affect other effects. Off by default due to this. # 22456000_fmt0035_mip00_128x128_tm04_sw00000000.bmp
width = 128
height = 128
formats = 0x035
tilemodes = 4
overwriteFormat = 0x235 # UNORM -> SNORM
# >>> Frame Decoration <<<
[TextureRedefine] # 23c76000_fmt0433_mip00_97x156_tm04_sw00000600.bmp
width = 97
height = 156
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 22a80000_fmt0433_mip00_179x40_tm04_sw00000000.bmp
width = 179
height = 40
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 22f42000_fmt0433_mip00_855x30_tm04_sw00000300.bmp
width = 855
height = 30
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 23d74000_fmt0433_mip00_151x139_tm04_sw00000500.bmp
width = 151
height = 139
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 229d8000_fmt0433_mip00_88x77_tm04_sw00000200.bmp
width = 88
height = 77
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 2375e000_fmt0433_mip00_908x26_tm04_sw00000200.bmp
width = 908
height = 26
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 22346000_fmt0433_mip00_57x171_tm04_sw00000200.bmp
width = 57
height = 171
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 22360000_fmt0433_mip00_79x187_tm04_sw00000100.bmp
width = 79
height = 187
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 22884000_fmt0433_mip00_96x69_tm04_sw00000700.bmp
width = 96
height = 69
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 23697100_fmt0433_mip00_107x47_tm02_sw00000000.bmp
width = 107
height = 47
formats = 0x433
tilemodes = 2
overwriteFormat = 0x033 # SRGB -> UNORM
[TextureRedefine] # 23c76000_fmt0433_mip00_97x156_tm04_sw00000600.bmp
width = 97
height = 156
formats = 0x433
tilemodes = 4
overwriteFormat = 0x033 # SRGB -> UNORM
# >>> Frame Glow <<<
[TextureRedefine] # 22df3000_fmt0034_mip00_92x157_tm04_sw00000100.bmp
width = 92
height = 157
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 22dfe000_fmt0034_mip00_135x188_tm04_sw00000000.bmp
width = 135
height = 188
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 23b23000_fmt0034_mip00_58x171_tm04_sw00000600.bmp
width = 58
height = 171
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 23c46000_fmt0034_mip00_148x140_tm04_sw00000200.bmp
width = 148
height = 140
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 223ae000_fmt0034_mip00_159x152_tm04_sw00000500.bmp
width = 159
height = 152
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
# >>> Frame Decoration Edges <<<
[TextureRedefine] # 22f03400_fmt0033_mip00_108x47_tm02_sw00000000.bmp
width = 108
height = 47
formats = 0x033
tilemodes = 2
overwriteFormat = 0x433 # UNORM -> SRGB
[TextureRedefine] # 23c64000_fmt0033_mip00_97x69_tm04_sw00000500.bmp
width = 97
height = 69
formats = 0x033
tilemodes = 4
overwriteFormat = 0x433 # UNORM -> SRGB
[TextureRedefine] # 224c0000_fmt0033_mip00_1086x41_tm04_sw00000600.bmp
width = 1086
height = 41
formats = 0x033
tilemodes = 4
overwriteFormat = 0x433 # UNORM -> SRGB
[TextureRedefine] # 2234e000_fmt0033_mip00_110x77_tm04_sw00000000.bmp
width = 110
height = 77
formats = 0x033
tilemodes = 4
overwriteFormat = 0x433 # UNORM -> SRGB
[TextureRedefine] # 2299a000_fmt0033_mip00_832x30_tm04_sw00000100.bmp
width = 110
height = 77
formats = 0x033
tilemodes = 4
overwriteFormat = 0x433 # UNORM -> SRGB
[TextureRedefine] # 2365c000_fmt0033_mip00_151x149_tm04_sw00000300.bmp
width = 151
height = 149
formats = 0x033
tilemodes = 4
overwriteFormat = 0x433 # UNORM -> SRGB
[TextureRedefine] # 23644000_fmt0033_mip00_97x157_tm04_sw00000400.bmp
width = 97
height = 157
formats = 0x033
tilemodes = 4
overwriteFormat = 0x433 # UNORM -> SRGB
[TextureRedefine] # 23770000_fmt0033_mip00_57x160_tm04_sw00000000.bmp
width = 57
height = 160
formats = 0x033
tilemodes = 4
overwriteFormat = 0x433 # UNORM -> SRGB
[TextureRedefine] # 23784000_fmt0033_mip00_79x187_tm04_sw00000700.bmp
width = 79
height = 187
formats = 0x033
tilemodes = 4
overwriteFormat = 0x433 # UNORM -> SRGB
# >>> Frame Decoration Blur <<<
[TextureRedefine] # 23dc1000_fmt0034_mip00_97x80_tm04_sw00000700.bmp
width = 97
height = 80
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 227d7000_fmt0034_mip00_68x174_tm04_sw00000300.bmp
width = 68
height = 174
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 228c0000_fmt0034_mip00_157x148_tm04_sw00000700.bmp
width = 157
height = 148
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 236ae000_fmt0034_mip00_101x168_tm04_sw00000600.bmp
width = 101
height = 168
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 236e8000_fmt0034_mip00_144x199_tm04_sw00000500.bmp
width = 144
height = 199
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
# >>> Frame Decoration Edges <<<
[TextureRedefine] # 22ac0000_fmt0034_mip00_182x152_tm04_sw00000200.bmp
width = 182
height = 152
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 230ed000_fmt0034_mip00_126x153_tm04_sw00000400.bmp
width = 126
height = 153
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 23983000_fmt0034_mip00_52x133_tm04_sw00000100.bmp
width = 52
height = 133
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 23797000_fmt0034_mip00_279x54_tm04_sw00000500.bmp
width = 279
height = 54
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 23983000_fmt0034_mip00_52x133_tm04_sw00000100.bmp
width = 52
height = 133
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 238d9000_fmt0034_mip00_292x42_tm04_sw00000400.bmp
width = 292
height = 42
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 238d9000_fmt0034_mip00_292x42_tm04_sw00000400.bmp
width = 292
height = 42
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 23447000_fmt0034_mip00_90x69_tm04_sw00000200.bmp
width = 90
height = 69
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 227e8000_fmt0034_mip00_1098x58_tm04_sw00000400.bmp
width = 1098
height = 58
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM
[TextureRedefine] # 23601000_fmt0034_mip00_997x58_tm04_sw00000100.bmp
width = 997
height = 58
formats = 0x034
tilemodes = 4
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM

View File

@ -1,23 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - Minimalistic GUI V2.0".
version = 2
# This pack changes the GUI to a modern looking GUI and only cleans up the camera menu.
# The Minimalistic GUI pack without the experimental Clean Camera Rune files doesn't have any gameplay affect or compromise.
# Installing the experimental clean camera rune pack should be simple, just overwrite the files from that folder in this specific folder.
# Be sure to read the SEPERATE rules.txt which is completely stand-alone and has information about that specific pack.
# If you find bugs you can make an issue on the Github repository. If you don't want/have a github account, you can also leave a message in the gfx_packs channel in the official Cemu discord.
# ====================================================================
# ====================================================================
# ====================================================================
[TextureRedefine]# 236ad000_fmt0034_mip00_8x8_tm02_sw00000000.bmp
width = 8
height = 8
formats = 0x034
tilemodes = 2
overwriteFormat = 0x001 # BC4_UNORM -> R8_UNORM

View File

@ -1,10 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - No Master Mode Triforce"
version = 2
[TextureRedefine]
width = 36
height = 36
formats = 0x034
overwriteFormat = 0x001

View File

@ -1,927 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader 4d58e6f0906ff5cf
// PRO+ hud v2
uniform ivec4 uf_remappedVS[29];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
layout(location = 2) out vec4 passParameterSem2;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
bool isCurrentSizeEqualTo(vec2 param) {
float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy);
return (result <= 0.001);
}
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R7i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[4];
bool activeMaskStackC[5];
activeMaskStack[0] = false;
activeMaskStack[1] = false;
activeMaskStack[2] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStackC[2] = false;
activeMaskStackC[3] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xy = attrDataSem0.xy;
attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
attrDecoder.z = 0;
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x)));
R0i.y = floatBitsToInt(-(intBitsToFloat(R1i.y)));
PV0i.y = R0i.y;
R0i.z = 0;
R2i.w = 0x3f800000;
R127i.w = floatBitsToInt(1.0);
PS0i = R127i.w;
// 1
R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y)));
// 2
R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w));
PV0i.y = R0i.y;
R0i.w = uf_remappedVS[1].x & 0x40000000;
// 3
backupReg0i = R0i.z;
R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
PV1i.x = R127i.x;
PV1i.y = R127i.x;
PV1i.z = R127i.x;
PV1i.w = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R127i.y = tempi.x;
// 5
backupReg0i = R0i.x;
backupReg1i = R0i.y;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R127i.z = tempi.x;
// 6
R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))));
PV0i.x = R5i.x;
PV0i.y = R5i.x;
PV0i.z = R5i.x;
PV0i.w = R5i.x;
// 7
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R5i.y = tempi.x;
// 8
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R5i.z = tempi.x;
// 9
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R5i.w = tempi.x;
// 10
R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].x)));
R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].y)));
R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].y)));
PS0i = R6i.x;
// 11
R6i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].x)));
// 12
predResult = (0 != R0i.w);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R1i.z = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R1i.z);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
// 0
backupReg0i = R1i.y;
R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
PV0i.y = R1i.y;
PV0i.z = R1i.z;
PV0i.w = R1i.w;
// 1
R3i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
PV1i.x = R3i.x;
PV1i.y = R3i.y;
PV1i.z = R3i.z;
R3i.w = PV0i.w;
PV1i.w = R3i.w;
// 2
R4i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z);
R4i.w = PV1i.w;
}
activeMaskStack[2] = activeMaskStack[2] == false;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
PS0i = int(intBitsToFloat(R1i.y));
// 1
PV1i.x = PS0i << int(1);
PS1i = int(intBitsToFloat(R1i.x));
// 2
R124i.z = PV1i.x + PS1i;
PV0i.z = R124i.z;
// 3
R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
PV1i.x = R127i.x;
R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
PS1i = R124i.w;
// 4
R124i.y = (R124i.z == int(1))?int(0xFFFFFFFF):int(0x0);
R126i.z = ((PV1i.x == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y));
R127i.w = ((PV1i.x == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x));
// 5
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w));
R126i.y = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z));
// 6
R126i.x = ((R127i.z == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y));
R125i.y = ((R127i.z == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x));
// 7
backupReg0i = R127i.z;
backupReg0i = R127i.z;
R127i.z = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w));
R125i.w = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z));
// 8
R125i.z = ((R127i.y == 0)?(uf_remappedVS[14].y):(uf_remappedVS[15].y));
R0i.w = ((R127i.y == 0)?(uf_remappedVS[14].x):(uf_remappedVS[15].x));
// 9
backupReg0i = R127i.y;
R125i.x = ((R127i.y == 0)?(uf_remappedVS[14].w):(uf_remappedVS[15].w));
R127i.y = ((backupReg0i == 0)?(uf_remappedVS[14].z):(uf_remappedVS[15].z));
// 10
backupReg0i = R127i.x;
backupReg1i = R126i.y;
backupReg2i = R126i.z;
backupReg3i = R127i.w;
R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[16].w));
R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[16].z));
R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[16].y));
R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[16].x));
// 11
backupReg0i = R126i.x;
backupReg1i = R125i.y;
backupReg2i = R127i.z;
backupReg3i = R125i.w;
R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_remappedVS[17].y));
R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_remappedVS[17].x));
R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_remappedVS[17].w));
R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_remappedVS[17].z));
// 12
backupReg0i = R125i.x;
backupReg1i = R127i.y;
backupReg2i = R125i.z;
R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_remappedVS[18].w));
R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_remappedVS[18].z));
R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_remappedVS[18].y));
R124i.w = ((R124i.y == 0)?(R0i.w):(uf_remappedVS[18].x));
// 13
R1i.x = ((R124i.z == 0)?(uf_remappedVS[19].x):(R127i.w));
R1i.y = ((R124i.z == 0)?(uf_remappedVS[19].y):(R126i.z));
R1i.z = ((R124i.z == 0)?(uf_remappedVS[19].z):(R126i.y));
R1i.w = ((R124i.z == 0)?(uf_remappedVS[19].w):(R127i.x));
// 14
R3i.x = ((R124i.z == 0)?(uf_remappedVS[20].x):(R125i.y));
R3i.y = ((R124i.z == 0)?(uf_remappedVS[20].y):(R126i.x));
R3i.z = ((R124i.z == 0)?(uf_remappedVS[20].z):(R125i.w));
R3i.w = ((R124i.z == 0)?(uf_remappedVS[20].w):(R127i.z));
// 15
R4i.x = ((R124i.z == 0)?(uf_remappedVS[21].x):(R124i.w));
R4i.y = ((R124i.z == 0)?(uf_remappedVS[21].y):(R125i.z));
R4i.z = ((R124i.z == 0)?(uf_remappedVS[21].z):(R127i.y));
R4i.w = ((R124i.z == 0)?(uf_remappedVS[21].w):(R125i.x));
}
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R0i.w = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R0i.w);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
// 0
backupReg0i = R1i.y;
R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
PV0i.y = R1i.y;
PV0i.z = R1i.z;
PV0i.w = R1i.w;
// 1
R3i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
PV1i.x = R3i.x;
PV1i.y = R3i.y;
PV1i.z = R3i.z;
R3i.w = PV0i.w;
PV1i.w = R3i.w;
// 2
R4i.xyz = ivec3(PV1i.x,PV1i.y,PV1i.z);
R4i.w = PV1i.w;
}
activeMaskStack[2] = activeMaskStack[2] == false;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
PS0i = int(intBitsToFloat(R1i.y));
// 1
PV1i.x = PS0i << int(1);
PS1i = int(intBitsToFloat(R1i.x));
// 2
R124i.z = PV1i.x + PS1i;
PV0i.z = R124i.z;
// 3
R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
PV1i.x = R127i.x;
R127i.y = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
R127i.z = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
R126i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
R124i.w = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
PS1i = R124i.w;
// 4
R124i.y = (R124i.z == int(1))?int(0xFFFFFFFF):int(0x0);
R126i.z = ((PV1i.x == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y));
R127i.w = ((PV1i.x == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x));
// 5
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w));
R126i.y = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z));
// 6
R126i.x = ((R127i.z == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y));
R125i.y = ((R127i.z == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x));
// 7
backupReg0i = R127i.z;
backupReg0i = R127i.z;
R127i.z = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w));
R125i.w = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z));
// 8
R125i.z = ((R127i.y == 0)?(uf_remappedVS[14].y):(uf_remappedVS[15].y));
R0i.w = ((R127i.y == 0)?(uf_remappedVS[14].x):(uf_remappedVS[15].x));
// 9
backupReg0i = R127i.y;
R125i.x = ((R127i.y == 0)?(uf_remappedVS[14].w):(uf_remappedVS[15].w));
R127i.y = ((backupReg0i == 0)?(uf_remappedVS[14].z):(uf_remappedVS[15].z));
// 10
backupReg0i = R127i.x;
backupReg1i = R126i.y;
backupReg2i = R126i.z;
backupReg3i = R127i.w;
R127i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[16].w));
R126i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[16].z));
R126i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[16].y));
R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[16].x));
// 11
backupReg0i = R126i.x;
backupReg1i = R125i.y;
backupReg2i = R127i.z;
backupReg3i = R125i.w;
R126i.x = ((R124i.w == 0)?(backupReg0i):(uf_remappedVS[17].y));
R125i.y = ((R124i.w == 0)?(backupReg1i):(uf_remappedVS[17].x));
R127i.z = ((R124i.w == 0)?(backupReg2i):(uf_remappedVS[17].w));
R125i.w = ((R124i.w == 0)?(backupReg3i):(uf_remappedVS[17].z));
// 12
backupReg0i = R125i.x;
backupReg1i = R127i.y;
backupReg2i = R125i.z;
R125i.x = ((R124i.y == 0)?(backupReg0i):(uf_remappedVS[18].w));
R127i.y = ((R124i.y == 0)?(backupReg1i):(uf_remappedVS[18].z));
R125i.z = ((R124i.y == 0)?(backupReg2i):(uf_remappedVS[18].y));
R124i.w = ((R124i.y == 0)?(R0i.w):(uf_remappedVS[18].x));
// 13
R1i.x = ((R124i.z == 0)?(uf_remappedVS[19].x):(R127i.w));
R1i.y = ((R124i.z == 0)?(uf_remappedVS[19].y):(R126i.z));
R1i.z = ((R124i.z == 0)?(uf_remappedVS[19].z):(R126i.y));
R1i.w = ((R124i.z == 0)?(uf_remappedVS[19].w):(R127i.x));
// 14
R3i.x = ((R124i.z == 0)?(uf_remappedVS[20].x):(R125i.y));
R3i.y = ((R124i.z == 0)?(uf_remappedVS[20].y):(R126i.x));
R3i.z = ((R124i.z == 0)?(uf_remappedVS[20].z):(R125i.w));
R3i.w = ((R124i.z == 0)?(uf_remappedVS[20].w):(R127i.z));
// 15
R4i.x = ((R124i.z == 0)?(uf_remappedVS[21].x):(R124i.w));
R4i.y = ((R124i.z == 0)?(uf_remappedVS[21].y):(R125i.z));
R4i.z = ((R124i.z == 0)?(uf_remappedVS[21].z):(R127i.y));
R4i.w = ((R124i.z == 0)?(uf_remappedVS[21].w):(R125i.x));
}
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
predResult = (0 != uf_remappedVS[22].x);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.z;
R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))));
PV0i.x = R1i.x;
PV0i.y = R1i.x;
PV0i.z = R1i.x;
PV0i.w = R1i.x;
// 1
backupReg0i = R0i.x;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R1i.y = tempi.x;
// 2
backupReg0i = R0i.x;
backupReg1i = R0i.y;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R1i.z = tempi.x;
// 3
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R1i.w = tempi.x;
}
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R7i.x = uf_remappedVS[1].x & int(1);
// 1
predResult = (0 != R7i.x);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
R0i.w = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R0i.w);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if( activeMaskStackC[4] == true ) {
// 0
PV0i.x = uf_remappedVS[1].x & 0x00010000;
R127i.y = uf_remappedVS[1].x & 0x00000010;
PV0i.y = R127i.y;
R125i.z = uf_remappedVS[1].x & 0x00000004;
R127i.w = uf_remappedVS[1].x & 0x00000020;
// 1
R123i.x = ((PV0i.y == 0)?(R1i.w):(R1i.w));
PV1i.x = R123i.x;
R123i.y = ((PV0i.y == 0)?(R1i.z):(R1i.z));
PV1i.y = R123i.y;
R126i.z = ((PV0i.x == 0)?(R2i.y):(R6i.y));
PV1i.z = R126i.z;
R123i.w = ((PV0i.x == 0)?(R2i.x):(R6i.x));
PV1i.w = R123i.w;
R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y));
PS1i = R127i.z;
// 2
R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w)));
PV0i.x = R7i.x;
R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z)));
R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y));
PV0i.w = R123i.w;
R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x));
PS0i = R122i.x;
// 3
backupReg0i = R127i.y;
R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z));
PV1i.x = R123i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w));
R123i.w = ((backupReg0i == 0)?(R1i.x):(PV0i.x));
PV1i.w = R123i.w;
R124i.z = ((R125i.z == 0)?(PS0i):(PS0i));
PS1i = R124i.z;
// 4
R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x));
PV0i.x = R127i.x;
R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w));
PV0i.y = R125i.y;
R126i.z = uf_remappedVS[1].x & 0x00000008;
// 5
R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y));
// 6
R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z));
PV0i.y = R123i.y;
// 7
R1i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y));
R1i.y = ((R126i.z == 0)?(R127i.x):(R126i.x));
R1i.z = ((R126i.z == 0)?(R127i.z):(R127i.z));
// 8
R1i.w = ((R126i.z == 0)?(R124i.z):(R124i.z));
}
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
R7i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0);
PV0i.x = R7i.x;
R126i.y = uf_remappedVS[1].x & 0x00010000;
R127i.z = uf_remappedVS[1].x & 0x00040000;
PV0i.w = uf_remappedVS[1].x & 0x00020000;
// 1
R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z));
PV1i.x = R123i.x;
R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y));
PV1i.y = R127i.y;
R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x));
PV1i.z = R123i.z;
R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w));
PV1i.w = R123i.w;
// 2
R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
// 3
R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
PV1i.w = R123i.w;
// 4
R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[23].x),intBitsToFloat(uf_remappedVS[23].y),intBitsToFloat(uf_remappedVS[23].z),intBitsToFloat(uf_remappedVS[23].w))));
PV0i.x = R127i.x;
PV0i.y = R127i.x;
PV0i.z = R127i.x;
PV0i.w = R127i.x;
// 1
backupReg0i = R1i.x;
R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[24].x),intBitsToFloat(uf_remappedVS[24].y),intBitsToFloat(uf_remappedVS[24].z),intBitsToFloat(uf_remappedVS[24].w))));
PV1i.x = R1i.x;
PV1i.y = R1i.x;
PV1i.z = R1i.x;
PV1i.w = R1i.x;
R1i.y = PV0i.x;
PS1i = R1i.y;
// 2
R1i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
R1i.w = R127i.x;
// 3
predResult = (0 != uf_remappedVS[22].y);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.z;
R3i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))));
PV0i.x = R3i.x;
PV0i.y = R3i.x;
PV0i.z = R3i.x;
PV0i.w = R3i.x;
// 1
backupReg0i = R0i.x;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R3i.y = tempi.x;
// 2
backupReg0i = R0i.x;
backupReg1i = R0i.y;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R3i.z = tempi.x;
// 3
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R3i.w = tempi.x;
}
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R7i.y = uf_remappedVS[1].x & int(1);
// 1
predResult = (0 != R7i.y);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
R7i.x = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R7i.x);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if( activeMaskStackC[4] == true ) {
// 0
R127i.x = uf_remappedVS[1].x & 0x00000020;
R127i.y = uf_remappedVS[1].x & 0x00000010;
PV0i.y = R127i.y;
R125i.z = uf_remappedVS[1].x & 0x00000004;
PV0i.w = uf_remappedVS[1].x & 0x00010000;
// 1
R123i.x = ((PV0i.w == 0)?(R2i.y):(R6i.y));
PV1i.x = R123i.x;
R123i.z = ((PV0i.w == 0)?(R2i.x):(R6i.x));
PV1i.z = R123i.z;
R125i.w = uf_remappedVS[1].x & 0x00000008;
R127i.z = ((PV0i.y == 0)?(R3i.y):(R3i.y));
PS1i = R127i.z;
// 2
R7i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R3i.x), intBitsToFloat(PV1i.z)));
PV0i.x = R7i.x;
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
// 3
R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
PV1i.z = R123i.z;
R123i.w = ((R127i.y == 0)?(R3i.x):(PV0i.x));
PV1i.w = R123i.w;
// 4
backupReg0i = R127i.x;
R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
PV0i.x = R127i.x;
R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
PV0i.w = R126i.w;
// 5
R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
// 6
R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
PV0i.y = R123i.y;
// 7
R3i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
R3i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
}
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
R7i.x = floatBitsToInt(-(intBitsToFloat(R3i.x)) + 1.0);
PV0i.x = R7i.x;
PV0i.y = uf_remappedVS[1].x & 0x00020000;
R127i.z = uf_remappedVS[1].x & 0x00040000;
R126i.w = uf_remappedVS[1].x & 0x00010000;
// 1
R123i.x = ((PV0i.y == 0)?(R3i.x):(PV0i.x));
PV1i.x = R123i.x;
R127i.w = ((PV0i.y == 0)?(R3i.y):(R3i.y));
PV1i.w = R127i.w;
// 2
R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
// 3
R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
PV1i.w = R123i.w;
// 4
R3i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
R3i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedVS[25].x),intBitsToFloat(uf_remappedVS[25].y),intBitsToFloat(uf_remappedVS[25].z),intBitsToFloat(uf_remappedVS[25].w))));
PV0i.x = R127i.x;
PV0i.y = R127i.x;
PV0i.z = R127i.x;
PV0i.w = R127i.x;
// 1
backupReg0i = R3i.x;
R3i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R3i.y),intBitsToFloat(R3i.z),intBitsToFloat(R3i.w)),vec4(intBitsToFloat(uf_remappedVS[26].x),intBitsToFloat(uf_remappedVS[26].y),intBitsToFloat(uf_remappedVS[26].z),intBitsToFloat(uf_remappedVS[26].w))));
PV1i.x = R3i.x;
PV1i.y = R3i.x;
PV1i.z = R3i.x;
PV1i.w = R3i.x;
R3i.y = PV0i.x;
PS1i = R3i.y;
// 2
R3i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
R3i.w = R127i.x;
// 3
predResult = (0 != uf_remappedVS[22].z);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.z;
R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))));
PV0i.x = R4i.x;
PV0i.y = R4i.x;
PV0i.z = R4i.x;
PV0i.w = R4i.x;
// 1
backupReg0i = R0i.x;
backupReg1i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[18].x),intBitsToFloat(uf_remappedVS[18].y),intBitsToFloat(uf_remappedVS[18].z),intBitsToFloat(uf_remappedVS[18].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.y = tempi.x;
// 2
backupReg0i = R0i.x;
backupReg1i = R0i.y;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R4i.z = tempi.x;
// 3
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R2i.w)),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.w = tempi.x;
}
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R0i.z = uf_remappedVS[1].x & int(1);
// 1
predResult = (0 != R0i.z);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
R0i.y = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R0i.y);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if( activeMaskStackC[4] == true ) {
// 0
R127i.x = uf_remappedVS[1].x & 0x00000020;
R127i.y = uf_remappedVS[1].x & 0x00000010;
PV0i.y = R127i.y;
R125i.z = uf_remappedVS[1].x & 0x00000004;
PV0i.w = uf_remappedVS[1].x & 0x00010000;
// 1
R123i.x = ((PV0i.w == 0)?(R2i.y):(R6i.y));
PV1i.x = R123i.x;
R123i.z = ((PV0i.w == 0)?(R2i.x):(R6i.x));
PV1i.z = R123i.z;
R125i.w = uf_remappedVS[1].x & 0x00000008;
R127i.z = ((PV0i.y == 0)?(R4i.y):(R4i.y));
PS1i = R127i.z;
// 2
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z)));
PV0i.x = R0i.x;
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
// 3
R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
PV1i.z = R123i.z;
R123i.w = ((R127i.y == 0)?(R4i.x):(PV0i.x));
PV1i.w = R123i.w;
// 4
backupReg0i = R127i.x;
R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
PV0i.x = R127i.x;
R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
PV0i.w = R126i.w;
// 5
R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
// 6
R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
PV0i.y = R123i.y;
// 7
R4i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
R4i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
}
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
R0i.x = floatBitsToInt(-(intBitsToFloat(R4i.x)) + 1.0);
PV0i.x = R0i.x;
PV0i.y = uf_remappedVS[1].x & 0x00020000;
R127i.z = uf_remappedVS[1].x & 0x00040000;
R126i.w = uf_remappedVS[1].x & 0x00010000;
// 1
R123i.x = ((PV0i.y == 0)?(R4i.x):(PV0i.x));
PV1i.x = R123i.x;
R127i.w = ((PV0i.y == 0)?(R4i.y):(R4i.y));
PV1i.w = R127i.w;
// 2
R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
// 3
R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
PV1i.w = R123i.w;
// 4
R4i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
R4i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
// 0
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[27].x),intBitsToFloat(uf_remappedVS[27].y),intBitsToFloat(uf_remappedVS[27].z),intBitsToFloat(uf_remappedVS[27].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
// 1
PV1i.x = PV0i.x;
R0i.w = PV0i.x;
PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedVS[28].w)));
// 2
R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[28].x),intBitsToFloat(uf_remappedVS[28].y),intBitsToFloat(uf_remappedVS[28].z),1.0)));
PV0i.x = R0i.x;
PV0i.y = R0i.x;
PV0i.z = R0i.x;
PV0i.w = R0i.x;
R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
PS0i = R0i.y;
}
// export
gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
if (isCurrentSizeEqualTo(vec2(32, 32))) {
gl_Position.y -= 9000.0;
}
// export
passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R3i.x), intBitsToFloat(R3i.y), intBitsToFloat(R3i.x), intBitsToFloat(R3i.w));
// export
passParameterSem2 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w));
}

View File

@ -1,480 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader b88c6020a8b17332
// PRO+ hud v2
uniform ivec4 uf_remappedVS[17];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
bool isCurrentSizeEqualTo(vec2 param) {
float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy);
return (result <= 0.001);
}
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[4];
bool activeMaskStackC[5];
activeMaskStack[0] = false;
activeMaskStack[1] = false;
activeMaskStack[2] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStackC[2] = false;
activeMaskStackC[3] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xy = attrDataSem0.xy;
attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
attrDecoder.z = 0;
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x)));
R0i.yzw = ivec3(floatBitsToInt(-(intBitsToFloat(R1i.y))),0,0x3f800000);
PV0i.y = R0i.y;
R127i.w = floatBitsToInt(1.0);
PS0i = R127i.w;
// 1
R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y)));
// 2
R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w));
PV0i.y = R0i.y;
R1i.w = uf_remappedVS[1].x & 0x40000000;
// 3
backupReg0i = R0i.z;
backupReg1i = R0i.w;
R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
PV1i.x = R127i.x;
PV1i.y = R127i.x;
PV1i.z = R127i.x;
PV1i.w = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R127i.y = tempi.x;
// 5
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R127i.z = tempi.x;
// 6
R2i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))));
PV0i.x = R2i.x;
PV0i.y = R2i.x;
PV0i.z = R2i.x;
PV0i.w = R2i.x;
// 7
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R2i.y = tempi.x;
// 8
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R2i.z = tempi.x;
// 9
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R2i.w = tempi.x;
// 10
predResult = (0 != R1i.w);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R1i.z = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R1i.z);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
// 0
backupReg0i = R1i.y;
R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
}
activeMaskStack[2] = activeMaskStack[2] == false;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
PS0i = int(intBitsToFloat(R1i.y));
// 1
PV1i.x = PS0i << int(1);
PS1i = int(intBitsToFloat(R1i.x));
// 2
R126i.z = PV1i.x + PS1i;
PV0i.z = R126i.z;
// 3
R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
PV1i.x = R127i.x;
R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
// 4
R127i.z = ((PV1i.x == 0)?(uf_remappedVS[9].y):(uf_remappedVS[10].y));
R127i.w = ((PV1i.x == 0)?(uf_remappedVS[9].x):(uf_remappedVS[10].x));
// 5
R123i.x = ((R127i.x == 0)?(uf_remappedVS[9].w):(uf_remappedVS[10].w));
PV1i.x = R123i.x;
R123i.y = ((R127i.x == 0)?(uf_remappedVS[9].z):(uf_remappedVS[10].z));
PV1i.y = R123i.y;
// 6
R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_remappedVS[11].w));
PV0i.x = R123i.x;
R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_remappedVS[11].z));
PV0i.y = R123i.y;
R123i.z = ((R127i.y == 0)?(R127i.z):(uf_remappedVS[11].y));
PV0i.z = R123i.z;
R123i.w = ((R127i.y == 0)?(R127i.w):(uf_remappedVS[11].x));
PV0i.w = R123i.w;
// 7
R1i.x = ((R126i.z == 0)?(uf_remappedVS[12].x):(PV0i.w));
R1i.y = ((R126i.z == 0)?(uf_remappedVS[12].y):(PV0i.z));
R1i.z = ((R126i.z == 0)?(uf_remappedVS[12].z):(PV0i.y));
R1i.w = ((R126i.z == 0)?(uf_remappedVS[12].w):(PV0i.x));
}
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R1i.w = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R1i.w);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
// 0
backupReg0i = R1i.y;
R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
}
activeMaskStack[2] = activeMaskStack[2] == false;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
PS0i = int(intBitsToFloat(R1i.y));
// 1
PV1i.x = PS0i << int(1);
PS1i = int(intBitsToFloat(R1i.x));
// 2
R126i.z = PV1i.x + PS1i;
PV0i.z = R126i.z;
// 3
R127i.x = (PV0i.z == 0x00000002)?int(0xFFFFFFFF):int(0x0);
PV1i.x = R127i.x;
R127i.y = (PV0i.z == int(1))?int(0xFFFFFFFF):int(0x0);
// 4
R127i.z = ((PV1i.x == 0)?(uf_remappedVS[9].y):(uf_remappedVS[10].y));
R127i.w = ((PV1i.x == 0)?(uf_remappedVS[9].x):(uf_remappedVS[10].x));
// 5
R123i.x = ((R127i.x == 0)?(uf_remappedVS[9].w):(uf_remappedVS[10].w));
PV1i.x = R123i.x;
R123i.y = ((R127i.x == 0)?(uf_remappedVS[9].z):(uf_remappedVS[10].z));
PV1i.y = R123i.y;
// 6
R123i.x = ((R127i.y == 0)?(PV1i.x):(uf_remappedVS[11].w));
PV0i.x = R123i.x;
R123i.y = ((R127i.y == 0)?(PV1i.y):(uf_remappedVS[11].z));
PV0i.y = R123i.y;
R123i.z = ((R127i.y == 0)?(R127i.z):(uf_remappedVS[11].y));
PV0i.z = R123i.z;
R123i.w = ((R127i.y == 0)?(R127i.w):(uf_remappedVS[11].x));
PV0i.w = R123i.w;
// 7
R1i.x = ((R126i.z == 0)?(uf_remappedVS[12].x):(PV0i.w));
R1i.y = ((R126i.z == 0)?(uf_remappedVS[12].y):(PV0i.z));
R1i.z = ((R126i.z == 0)?(uf_remappedVS[12].z):(PV0i.y));
R1i.w = ((R126i.z == 0)?(uf_remappedVS[12].w):(PV0i.x));
}
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
predResult = (0 != uf_remappedVS[13].x);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.z;
backupReg2i = R0i.w;
R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))));
PV0i.x = R1i.x;
PV0i.y = R1i.x;
PV0i.z = R1i.x;
PV0i.w = R1i.x;
// 1
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R1i.y = tempi.x;
// 2
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R1i.z = tempi.x;
// 3
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[9].x),intBitsToFloat(uf_remappedVS[9].y),intBitsToFloat(uf_remappedVS[9].z),intBitsToFloat(uf_remappedVS[9].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R1i.w = tempi.x;
}
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R0i.x = uf_remappedVS[1].x & int(1);
// 1
backupReg0i = R0i.x;
predResult = (0 != backupReg0i);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
R0i.w = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R0i.w);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if( activeMaskStackC[4] == true ) {
// 0
R127i.x = uf_remappedVS[1].x & 0x00010000;
R127i.y = uf_remappedVS[1].x & 0x00000010;
PV0i.y = R127i.y;
R125i.z = uf_remappedVS[1].x & 0x00000004;
R127i.w = uf_remappedVS[1].x & 0x00000020;
// 1
PV1i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[14].y)));
PV1i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[14].x)));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[14].x)));
PV1i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[14].y)));
R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y));
PS1i = R127i.z;
// 2
R123i.x = ((R127i.y == 0)?(R1i.w):(R1i.w));
PV0i.x = R123i.x;
R123i.y = ((R127i.y == 0)?(R1i.z):(R1i.z));
PV0i.y = R123i.y;
R126i.z = ((R127i.x == 0)?(PV1i.x):(PV1i.z));
PV0i.z = R126i.z;
R123i.w = ((R127i.x == 0)?(PV1i.y):(PV1i.w));
PV0i.w = R123i.w;
R124i.y = uf_remappedVS[1].x & 0x00000008;
PS0i = R124i.y;
// 3
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV0i.w)));
PV1i.x = R0i.x;
R126i.y = floatBitsToInt(-(intBitsToFloat(PV0i.w)) + 1.0);
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.z), intBitsToFloat(PV0i.z)));
R123i.w = ((R127i.w == 0)?(PV0i.y):(PV0i.y));
PV1i.w = R123i.w;
R122i.x = ((R127i.w == 0)?(PV0i.x):(PV0i.x));
PS1i = R122i.x;
// 4
backupReg0i = R127i.y;
R123i.x = ((R127i.w == 0)?(R127i.z):(PV1i.z));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
R127i.z = ((R125i.z == 0)?(PV1i.w):(PV1i.w));
R123i.w = ((backupReg0i == 0)?(R1i.x):(PV1i.x));
PV0i.w = R123i.w;
R126i.z = ((R125i.z == 0)?(PS1i):(PS1i));
PS0i = R126i.z;
// 5
R127i.x = ((R125i.z == 0)?(PV0i.x):(PV0i.x));
PV1i.x = R127i.x;
R125i.y = ((R127i.w == 0)?(PV0i.w):(PV0i.w));
PV1i.y = R125i.y;
// 6
R126i.x = floatBitsToInt(intBitsToFloat(PV1i.x) + intBitsToFloat(R127i.y));
PV0i.z = floatBitsToInt(intBitsToFloat(PV1i.y) + intBitsToFloat(R126i.y));
// 7
R123i.y = ((R125i.z == 0)?(R125i.y):(PV0i.z));
PV1i.y = R123i.y;
// 8
R1i.x = ((R124i.y == 0)?(PV1i.y):(PV1i.y));
R1i.y = ((R124i.y == 0)?(R127i.x):(R126i.x));
R1i.z = ((R124i.y == 0)?(R127i.z):(R127i.z));
R1i.w = ((R124i.y == 0)?(R126i.z):(R126i.z));
PS0i = R1i.w;
}
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
R0i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0);
PV0i.x = R0i.x;
R126i.y = uf_remappedVS[1].x & 0x00010000;
R127i.z = uf_remappedVS[1].x & 0x00040000;
PV0i.w = uf_remappedVS[1].x & 0x00020000;
// 1
R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z));
PV1i.x = R123i.x;
R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y));
PV1i.y = R127i.y;
R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x));
PV1i.z = R123i.z;
R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w));
PV1i.w = R123i.w;
// 2
R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
// 3
R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
PV1i.w = R123i.w;
// 4
R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
// 0
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
// 1
PV1i.x = PV0i.x;
R0i.w = PV0i.x;
PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.w), intBitsToFloat(uf_remappedVS[16].w)));
// 2
R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),1.0)));
PV0i.x = R0i.x;
PV0i.y = R0i.x;
PV0i.z = R0i.x;
PV0i.w = R0i.x;
R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
PS0i = R0i.y;
}
// export
gl_Position = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w));
if (//isCurrentSizeEqualTo(vec2(36, 36)) || //master mode logo
isCurrentSizeEqualTo(vec2(80, 80)) ||
isCurrentSizeEqualTo(vec2(84, 84)) ||
isCurrentSizeEqualTo(vec2(90, 90)) //stamina red with weapon
) {
gl_Position.y -= 9000.0;
}
if (isCurrentSizeEqualTo(vec2(32, 32)) && // hearts but also inventory icons
(uf_remappedVS[3].w == 1133903872 || uf_remappedVS[3].w == 1134559232)) {
gl_Position.y -= 9000.0;
}
// export
passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w));
}

View File

@ -1,715 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader f56fcbd319ceba00
// PRO+ hud v2
uniform ivec4 uf_remappedVS[23];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
bool isCurrentSizeEqualTo(vec2 param) {
float result = distance(param, intBitsToFloat(uf_remappedVS[0]).xy);
return (result <= 0.001);
}
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R6i = ivec4(0);
ivec4 R122i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[4];
bool activeMaskStackC[5];
activeMaskStack[0] = false;
activeMaskStack[1] = false;
activeMaskStack[2] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStackC[2] = false;
activeMaskStackC[3] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xy = attrDataSem0.xy;
attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
attrDecoder.z = 0;
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), floatBitsToInt(0.0), floatBitsToInt(1.0));
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(uf_remappedVS[0].x)));
R0i.yzw = ivec3(floatBitsToInt(-(intBitsToFloat(R1i.y))),0,0x3f800000);
PV0i.y = R0i.y;
R127i.w = floatBitsToInt(1.0);
PS0i = R127i.w;
// 1
R0i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(uf_remappedVS[0].z));
PV1i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedVS[0].y)));
// 2
R0i.y = floatBitsToInt(intBitsToFloat(PV1i.z) + intBitsToFloat(uf_remappedVS[0].w));
PV0i.y = R0i.y;
R1i.w = uf_remappedVS[1].x & 0x40000000;
// 3
backupReg0i = R0i.z;
backupReg1i = R0i.w;
R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(PV0i.y),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i)),vec4(intBitsToFloat(uf_remappedVS[2].x),intBitsToFloat(uf_remappedVS[2].y),intBitsToFloat(uf_remappedVS[2].z),intBitsToFloat(uf_remappedVS[2].w))));
PV1i.x = R127i.x;
PV1i.y = R127i.x;
PV1i.z = R127i.x;
PV1i.w = R127i.x;
// 4
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[3].x),intBitsToFloat(uf_remappedVS[3].y),intBitsToFloat(uf_remappedVS[3].z),intBitsToFloat(uf_remappedVS[3].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R127i.y = tempi.x;
// 5
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[4].x),intBitsToFloat(uf_remappedVS[4].y),intBitsToFloat(uf_remappedVS[4].z),intBitsToFloat(uf_remappedVS[4].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R127i.z = tempi.x;
// 6
R5i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.x),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[5].x),intBitsToFloat(uf_remappedVS[5].y),intBitsToFloat(uf_remappedVS[5].z),intBitsToFloat(uf_remappedVS[5].w))));
PV0i.x = R5i.x;
PV0i.y = R5i.x;
PV0i.z = R5i.x;
PV0i.w = R5i.x;
// 7
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[6].x),intBitsToFloat(uf_remappedVS[6].y),intBitsToFloat(uf_remappedVS[6].z),intBitsToFloat(uf_remappedVS[6].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R5i.y = tempi.x;
// 8
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[7].x),intBitsToFloat(uf_remappedVS[7].y),intBitsToFloat(uf_remappedVS[7].z),intBitsToFloat(uf_remappedVS[7].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R5i.z = tempi.x;
// 9
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R127i.x),intBitsToFloat(R127i.y),intBitsToFloat(R127i.z),intBitsToFloat(R127i.w)),vec4(intBitsToFloat(uf_remappedVS[8].x),intBitsToFloat(uf_remappedVS[8].y),intBitsToFloat(uf_remappedVS[8].z),intBitsToFloat(uf_remappedVS[8].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R5i.w = tempi.x;
// 10
R2i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].x)));
R2i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].y)));
R3i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), intBitsToFloat(uf_remappedVS[9].y)));
PS0i = R3i.x;
// 11
R3i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), intBitsToFloat(uf_remappedVS[9].x)));
// 12
predResult = (0 != R1i.w);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R1i.z = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R1i.z);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
// 0
backupReg0i = R1i.y;
R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
PV0i.y = R1i.y;
PV0i.z = R1i.z;
PV0i.w = R1i.w;
// 1
R4i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
R4i.w = PV0i.w;
}
activeMaskStack[2] = activeMaskStack[2] == false;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
PS0i = int(intBitsToFloat(R1i.y));
// 1
PV1i.z = PS0i << int(1);
PS1i = int(intBitsToFloat(R1i.x));
// 2
R125i.x = PV1i.z + PS1i;
PV0i.x = R125i.x;
// 3
R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
PV1i.z = R127i.z;
R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
// 4
R126i.x = ((PV1i.z == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y));
R127i.y = ((PV1i.z == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x));
// 5
backupReg0i = R127i.z;
backupReg0i = R127i.z;
R127i.z = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w));
R127i.w = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z));
// 6
R126i.z = ((R127i.x == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y));
R125i.w = ((R127i.x == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x));
// 7
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w));
R126i.y = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z));
// 8
backupReg0i = R126i.x;
backupReg1i = R127i.y;
backupReg2i = R127i.z;
backupReg3i = R127i.w;
R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[14].y));
R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[14].x));
R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[14].w));
R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[14].z));
// 9
backupReg0i = R127i.x;
backupReg1i = R126i.y;
backupReg2i = R126i.z;
backupReg3i = R125i.w;
R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_remappedVS[15].w));
R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_remappedVS[15].z));
R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_remappedVS[15].y));
R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_remappedVS[15].x));
// 10
R1i.x = ((R125i.x == 0)?(uf_remappedVS[16].x):(R127i.y));
R1i.y = ((R125i.x == 0)?(uf_remappedVS[16].y):(R126i.x));
R1i.z = ((R125i.x == 0)?(uf_remappedVS[16].z):(R127i.w));
R1i.w = ((R125i.x == 0)?(uf_remappedVS[16].w):(R127i.z));
// 11
R4i.x = ((R125i.x == 0)?(uf_remappedVS[17].x):(R125i.w));
R4i.y = ((R125i.x == 0)?(uf_remappedVS[17].y):(R126i.z));
R4i.z = ((R125i.x == 0)?(uf_remappedVS[17].z):(R126i.y));
R4i.w = ((R125i.x == 0)?(uf_remappedVS[17].w):(R127i.x));
}
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R4i.y = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R4i.y);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
// 0
backupReg0i = R1i.y;
R1i.yzw = ivec3(backupReg0i,0,0x3f800000);
PV0i.y = R1i.y;
PV0i.z = R1i.z;
PV0i.w = R1i.w;
// 1
R4i.xyz = ivec3(R1i.x,PV0i.y,PV0i.z);
R4i.w = PV0i.w;
}
activeMaskStack[2] = activeMaskStack[2] == false;
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
PS0i = int(intBitsToFloat(R1i.y));
// 1
PV1i.z = PS0i << int(1);
PS1i = int(intBitsToFloat(R1i.x));
// 2
R125i.x = PV1i.z + PS1i;
PV0i.x = R125i.x;
// 3
R127i.x = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
R125i.y = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
R127i.z = (PV0i.x == 0x00000002)?int(0xFFFFFFFF):int(0x0);
PV1i.z = R127i.z;
R126i.w = (PV0i.x == int(1))?int(0xFFFFFFFF):int(0x0);
// 4
R126i.x = ((PV1i.z == 0)?(uf_remappedVS[10].y):(uf_remappedVS[11].y));
R127i.y = ((PV1i.z == 0)?(uf_remappedVS[10].x):(uf_remappedVS[11].x));
// 5
backupReg0i = R127i.z;
backupReg0i = R127i.z;
R127i.z = ((backupReg0i == 0)?(uf_remappedVS[10].w):(uf_remappedVS[11].w));
R127i.w = ((backupReg0i == 0)?(uf_remappedVS[10].z):(uf_remappedVS[11].z));
// 6
R126i.z = ((R127i.x == 0)?(uf_remappedVS[12].y):(uf_remappedVS[13].y));
R125i.w = ((R127i.x == 0)?(uf_remappedVS[12].x):(uf_remappedVS[13].x));
// 7
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = ((backupReg0i == 0)?(uf_remappedVS[12].w):(uf_remappedVS[13].w));
R126i.y = ((backupReg0i == 0)?(uf_remappedVS[12].z):(uf_remappedVS[13].z));
// 8
backupReg0i = R126i.x;
backupReg1i = R127i.y;
backupReg2i = R127i.z;
backupReg3i = R127i.w;
R126i.x = ((R126i.w == 0)?(backupReg0i):(uf_remappedVS[14].y));
R127i.y = ((R126i.w == 0)?(backupReg1i):(uf_remappedVS[14].x));
R127i.z = ((R126i.w == 0)?(backupReg2i):(uf_remappedVS[14].w));
R127i.w = ((R126i.w == 0)?(backupReg3i):(uf_remappedVS[14].z));
// 9
backupReg0i = R127i.x;
backupReg1i = R126i.y;
backupReg2i = R126i.z;
backupReg3i = R125i.w;
R127i.x = ((R125i.y == 0)?(backupReg0i):(uf_remappedVS[15].w));
R126i.y = ((R125i.y == 0)?(backupReg1i):(uf_remappedVS[15].z));
R126i.z = ((R125i.y == 0)?(backupReg2i):(uf_remappedVS[15].y));
R125i.w = ((R125i.y == 0)?(backupReg3i):(uf_remappedVS[15].x));
// 10
R1i.x = ((R125i.x == 0)?(uf_remappedVS[16].x):(R127i.y));
R1i.y = ((R125i.x == 0)?(uf_remappedVS[16].y):(R126i.x));
R1i.z = ((R125i.x == 0)?(uf_remappedVS[16].z):(R127i.w));
R1i.w = ((R125i.x == 0)?(uf_remappedVS[16].w):(R127i.z));
// 11
R4i.x = ((R125i.x == 0)?(uf_remappedVS[17].x):(R125i.w));
R4i.y = ((R125i.x == 0)?(uf_remappedVS[17].y):(R126i.z));
R4i.z = ((R125i.x == 0)?(uf_remappedVS[17].z):(R126i.y));
R4i.w = ((R125i.x == 0)?(uf_remappedVS[17].w):(R127i.x));
}
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
predResult = (0 != uf_remappedVS[18].x);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.z;
backupReg2i = R0i.w;
R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[16].x),intBitsToFloat(uf_remappedVS[16].y),intBitsToFloat(uf_remappedVS[16].z),intBitsToFloat(uf_remappedVS[16].w))));
PV0i.x = R1i.x;
PV0i.y = R1i.x;
PV0i.z = R1i.x;
PV0i.w = R1i.x;
// 1
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[14].x),intBitsToFloat(uf_remappedVS[14].y),intBitsToFloat(uf_remappedVS[14].z),intBitsToFloat(uf_remappedVS[14].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R1i.y = tempi.x;
// 2
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[11].x),intBitsToFloat(uf_remappedVS[11].y),intBitsToFloat(uf_remappedVS[11].z),intBitsToFloat(uf_remappedVS[11].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R1i.z = tempi.x;
// 3
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[10].x),intBitsToFloat(uf_remappedVS[10].y),intBitsToFloat(uf_remappedVS[10].z),intBitsToFloat(uf_remappedVS[10].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R1i.w = tempi.x;
}
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R6i.x = uf_remappedVS[1].x & int(1);
// 1
predResult = (0 != R6i.x);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
R2i.w = uf_remappedVS[1].x & 0x00000002;
// 1
predResult = (0 != R2i.w);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if( activeMaskStackC[4] == true ) {
// 0
PV0i.x = uf_remappedVS[1].x & 0x00010000;
R127i.y = uf_remappedVS[1].x & 0x00000010;
PV0i.y = R127i.y;
R125i.z = uf_remappedVS[1].x & 0x00000004;
R127i.w = uf_remappedVS[1].x & 0x00000020;
// 1
R123i.x = ((PV0i.y == 0)?(R1i.w):(R1i.w));
PV1i.x = R123i.x;
R123i.y = ((PV0i.y == 0)?(R1i.z):(R1i.z));
PV1i.y = R123i.y;
R126i.z = ((PV0i.x == 0)?(R2i.y):(R3i.y));
PV1i.z = R126i.z;
R123i.w = ((PV0i.x == 0)?(R2i.x):(R3i.x));
PV1i.w = R123i.w;
R127i.z = ((PV0i.y == 0)?(R1i.y):(R1i.y));
PS1i = R127i.z;
// 2
R6i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R1i.x), intBitsToFloat(PV1i.w)));
PV0i.x = R6i.x;
R126i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
PV0i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.z)));
R123i.w = ((R127i.w == 0)?(PV1i.y):(PV1i.y));
PV0i.w = R123i.w;
R122i.x = ((R127i.w == 0)?(PV1i.x):(PV1i.x));
PS0i = R122i.x;
// 3
backupReg0i = R127i.y;
R123i.x = ((R127i.w == 0)?(R127i.z):(PV0i.z));
PV1i.x = R123i.x;
R127i.y = floatBitsToInt(-(intBitsToFloat(R126i.z)) + 1.0);
R127i.z = ((R125i.z == 0)?(PV0i.w):(PV0i.w));
R123i.w = ((backupReg0i == 0)?(R1i.x):(PV0i.x));
PV1i.w = R123i.w;
R124i.z = ((R125i.z == 0)?(PS0i):(PS0i));
PS1i = R124i.z;
// 4
R127i.x = ((R125i.z == 0)?(PV1i.x):(PV1i.x));
PV0i.x = R127i.x;
R125i.y = ((R127i.w == 0)?(PV1i.w):(PV1i.w));
PV0i.y = R125i.y;
R126i.z = uf_remappedVS[1].x & 0x00000008;
// 5
R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.y));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.y) + intBitsToFloat(R126i.y));
// 6
R123i.y = ((R125i.z == 0)?(R125i.y):(PV1i.z));
PV0i.y = R123i.y;
// 7
R1i.x = ((R126i.z == 0)?(PV0i.y):(PV0i.y));
R1i.y = ((R126i.z == 0)?(R127i.x):(R126i.x));
R1i.z = ((R126i.z == 0)?(R127i.z):(R127i.z));
// 8
R1i.w = ((R126i.z == 0)?(R124i.z):(R124i.z));
}
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
R6i.x = floatBitsToInt(-(intBitsToFloat(R1i.x)) + 1.0);
PV0i.x = R6i.x;
R126i.y = uf_remappedVS[1].x & 0x00010000;
R127i.z = uf_remappedVS[1].x & 0x00040000;
PV0i.w = uf_remappedVS[1].x & 0x00020000;
// 1
R123i.x = ((PV0i.w == 0)?(R1i.z):(R1i.z));
PV1i.x = R123i.x;
R127i.y = ((PV0i.w == 0)?(R1i.y):(R1i.y));
PV1i.y = R127i.y;
R123i.z = ((PV0i.w == 0)?(R1i.x):(PV0i.x));
PV1i.z = R123i.z;
R123i.w = ((PV0i.w == 0)?(R1i.w):(R1i.w));
PV1i.w = R123i.w;
// 2
R127i.x = ((R127i.z == 0)?(PV1i.z):(PV1i.z));
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.y)) + 1.0);
R126i.z = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
R127i.w = ((R127i.z == 0)?(PV1i.w):(PV1i.w));
// 3
R123i.w = ((R127i.z == 0)?(R127i.y):(PV0i.y));
PV1i.w = R123i.w;
// 4
R1i.x = ((R126i.y == 0)?(R127i.x):(PV1i.w));
R1i.y = ((R126i.y == 0)?(PV1i.w):(R127i.x));
R1i.z = ((R126i.y == 0)?(R126i.z):(R126i.z));
R1i.w = ((R126i.y == 0)?(R127i.w):(R127i.w));
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
R127i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[19].x),intBitsToFloat(uf_remappedVS[19].y),intBitsToFloat(uf_remappedVS[19].z),intBitsToFloat(uf_remappedVS[19].w))));
PV0i.x = R127i.x;
PV0i.y = R127i.x;
PV0i.z = R127i.x;
PV0i.w = R127i.x;
// 1
backupReg0i = R1i.x;
R1i.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),intBitsToFloat(R1i.w)),vec4(intBitsToFloat(uf_remappedVS[20].x),intBitsToFloat(uf_remappedVS[20].y),intBitsToFloat(uf_remappedVS[20].z),intBitsToFloat(uf_remappedVS[20].w))));
PV1i.x = R1i.x;
PV1i.y = R1i.x;
PV1i.z = R1i.x;
PV1i.w = R1i.x;
R1i.y = PV0i.x;
PS1i = R1i.y;
// 2
R1i.y = floatBitsToInt(-(intBitsToFloat(PS1i)) + 1.0);
R1i.w = R127i.x;
// 3
predResult = (0 != uf_remappedVS[18].y);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0i = R0i.y;
backupReg1i = R0i.z;
backupReg2i = R0i.w;
R4i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R0i.x),intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[17].x),intBitsToFloat(uf_remappedVS[17].y),intBitsToFloat(uf_remappedVS[17].z),intBitsToFloat(uf_remappedVS[17].w))));
PV0i.x = R4i.x;
PV0i.y = R4i.x;
PV0i.z = R4i.x;
PV0i.w = R4i.x;
// 1
backupReg0i = R0i.x;
backupReg1i = R0i.z;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(R0i.y),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[15].x),intBitsToFloat(uf_remappedVS[15].y),intBitsToFloat(uf_remappedVS[15].z),intBitsToFloat(uf_remappedVS[15].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.y = tempi.x;
// 2
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.w;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(R0i.z),intBitsToFloat(backupReg2i)),vec4(intBitsToFloat(uf_remappedVS[13].x),intBitsToFloat(uf_remappedVS[13].y),intBitsToFloat(uf_remappedVS[13].z),intBitsToFloat(uf_remappedVS[13].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R4i.z = tempi.x;
// 3
backupReg0i = R0i.x;
backupReg1i = R0i.y;
backupReg2i = R0i.z;
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(backupReg0i),intBitsToFloat(backupReg1i),intBitsToFloat(backupReg2i),intBitsToFloat(R0i.w)),vec4(intBitsToFloat(uf_remappedVS[12].x),intBitsToFloat(uf_remappedVS[12].y),intBitsToFloat(uf_remappedVS[12].z),intBitsToFloat(uf_remappedVS[12].w))));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R4i.w = tempi.x;
}
activeMaskStack[1] = activeMaskStack[1] == false;
activeMaskStackC[2] = activeMaskStack[1] == true && activeMaskStackC[1] == true;
if( activeMaskStackC[2] == true ) {
activeMaskStack[2] = activeMaskStack[1];
activeMaskStackC[3] = activeMaskStackC[2];
// 0
R0i.y = uf_remappedVS[1].x & int(1);
// 1
predResult = (0 != R0i.y);
activeMaskStack[2] = predResult;
activeMaskStackC[3] = predResult == true && activeMaskStackC[2] == true;
}
else {
activeMaskStack[2] = false;
activeMaskStackC[3] = false;
}
if( activeMaskStackC[3] == true ) {
activeMaskStack[3] = activeMaskStack[2];
activeMaskStackC[4] = activeMaskStackC[3];
// 0
R0i.x = uf_remappedVS[1].x & 0x00000002;
// 1
backupReg0i = R0i.x;
predResult = (0 != backupReg0i);
activeMaskStack[3] = predResult;
activeMaskStackC[4] = predResult == true && activeMaskStackC[3] == true;
}
else {
activeMaskStack[3] = false;
activeMaskStackC[4] = false;
}
if( activeMaskStackC[4] == true ) {
// 0
R127i.x = uf_remappedVS[1].x & 0x00000020;
R127i.y = uf_remappedVS[1].x & 0x00000010;
PV0i.y = R127i.y;
R125i.z = uf_remappedVS[1].x & 0x00000004;
PV0i.w = uf_remappedVS[1].x & 0x00010000;
// 1
R123i.x = ((PV0i.w == 0)?(R2i.y):(R3i.y));
PV1i.x = R123i.x;
R123i.z = ((PV0i.w == 0)?(R2i.x):(R3i.x));
PV1i.z = R123i.z;
R125i.w = uf_remappedVS[1].x & 0x00000008;
R127i.z = ((PV0i.y == 0)?(R4i.y):(R4i.y));
PS1i = R127i.z;
// 2
R0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.x), intBitsToFloat(PV1i.z)));
PV0i.x = R0i.x;
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PS1i), intBitsToFloat(PV1i.x)));
R126i.z = floatBitsToInt(-(intBitsToFloat(PV1i.z)) + 1.0);
R127i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
// 3
R123i.z = ((R127i.x == 0)?(R127i.z):(PV0i.y));
PV1i.z = R123i.z;
R123i.w = ((R127i.y == 0)?(R4i.x):(PV0i.x));
PV1i.w = R123i.w;
// 4
backupReg0i = R127i.x;
R127i.x = ((R125i.z == 0)?(PV1i.z):(PV1i.z));
PV0i.x = R127i.x;
R126i.w = ((backupReg0i == 0)?(PV1i.w):(PV1i.w));
PV0i.w = R126i.w;
// 5
R126i.x = floatBitsToInt(intBitsToFloat(PV0i.x) + intBitsToFloat(R127i.w));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.w) + intBitsToFloat(R126i.z));
// 6
R123i.y = ((R125i.z == 0)?(R126i.w):(PV1i.z));
PV0i.y = R123i.y;
// 7
R4i.x = ((R125i.w == 0)?(PV0i.y):(PV0i.y));
R4i.y = ((R125i.w == 0)?(R127i.x):(R126i.x));
}
activeMaskStackC[3] = activeMaskStack[2] == true && activeMaskStackC[2] == true;
if( activeMaskStackC[3] == true ) {
// 0
R0i.x = floatBitsToInt(-(intBitsToFloat(R4i.x)) + 1.0);
PV0i.x = R0i.x;
PV0i.y = uf_remappedVS[1].x & 0x00020000;
R127i.z = uf_remappedVS[1].x & 0x00040000;
R126i.w = uf_remappedVS[1].x & 0x00010000;
// 1
R123i.x = ((PV0i.y == 0)?(R4i.x):(PV0i.x));
PV1i.x = R123i.x;
R127i.w = ((PV0i.y == 0)?(R4i.y):(R4i.y));
PV1i.w = R127i.w;
// 2
R127i.x = ((R127i.z == 0)?(PV1i.x):(PV1i.x));
PV0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.w)) + 1.0);
// 3
R123i.w = ((R127i.z == 0)?(R127i.w):(PV0i.y));
PV1i.w = R123i.w;
// 4
R4i.x = ((R126i.w == 0)?(R127i.x):(PV1i.w));
R4i.y = ((R126i.w == 0)?(PV1i.w):(R127i.x));
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
if( activeMaskStackC[1] == true ) {
// 0
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(R4i.w)),vec4(intBitsToFloat(uf_remappedVS[21].x),intBitsToFloat(uf_remappedVS[21].y),intBitsToFloat(uf_remappedVS[21].z),intBitsToFloat(uf_remappedVS[21].w))));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
// 1
PV1i.x = PV0i.x;
R0i.w = PV0i.x;
PS1i = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R4i.w), intBitsToFloat(uf_remappedVS[22].w)));
// 2
R0i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),intBitsToFloat(PS1i)),vec4(intBitsToFloat(uf_remappedVS[22].x),intBitsToFloat(uf_remappedVS[22].y),intBitsToFloat(uf_remappedVS[22].z),1.0)));
PV0i.x = R0i.x;
PV0i.y = R0i.x;
PV0i.z = R0i.x;
PV0i.w = R0i.x;
R0i.y = floatBitsToInt(-(intBitsToFloat(PV1i.x)) + 1.0);
PS0i = R0i.y;
}
// export
gl_Position = vec4(intBitsToFloat(R5i.x), intBitsToFloat(R5i.y), intBitsToFloat(R5i.z), intBitsToFloat(R5i.w));
if (isCurrentSizeEqualTo(vec2(70, 70)) ||
isCurrentSizeEqualTo(vec2(80, 80)) //stamina 3rd red flash
) {
gl_Position.y -= 9000.0;
}
if (isCurrentSizeEqualTo(vec2(56, 56)) &&
uf_remappedVS[9].x == 1016219941) {
// stamina 1st red flash but also shrine map marker glow
gl_Position.y -= 9000.0;
}
// export
passParameterSem0 = vec4(intBitsToFloat(R1i.x), intBitsToFloat(R1i.y), intBitsToFloat(R1i.x), intBitsToFloat(R1i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.x), intBitsToFloat(R0i.w));
}

View File

@ -1,25 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - Pro+ HUD"
version = 2
[TextureRedefine] # Disable Hearts
width = 48
height = 48
formats = 0x007
tilemodes = 4
overwriteFormat = 0x005
[TextureRedefine] # Disable text from subtitles, currupts some text.
width = 1024
height = 1024
formats = 0x034
# Remove the hash sign ('#') from the line below to enable.
#overwriteFormat = 0x235
[TextureRedefine] # Disable text from subtitles, currupts some text.
width = 512
height = 1024
formats = 0x034
# Remove the hash sign ('#') from the line below to enable.
#overwriteFormat = 0x235

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - ReflExtra - Enhanced Reflections"
version = 2

View File

@ -1,182 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader 37a4ec1a7dbc7391
uniform ivec4 uf_remappedPS[4];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x15c28800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[2];
bool activeMaskStackC[3];
activeMaskStack[0] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem2;
if( activeMaskStackC[1] == true ) {
R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
//R4f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy);
}
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0f.x = max(R4f.z, R4f.x);
PV0f.y = min(R4f.w, R4f.y);
PV0f.z = R2f.x * intBitsToFloat(uf_remappedPS[0].x);
PV0f.w = min(R4f.z, R4f.x);
PS0f = max(R4f.w, R4f.y);
// 1
R123f.x = (R2f.y * intBitsToFloat(uf_remappedPS[0].y) + PV0f.z);
PV1f.x = R123f.x;
PV1f.y = max(PV0f.x, PS0f);
R127f.z = R4f.z + -(R4f.y);
PV1f.z = R127f.z;
PV1f.w = min(PV0f.w, PV0f.y);
R126f.z = R4f.w + -(R4f.x);
PS1f = R126f.z;
// 2
PV0f.x = max(PV1f.x, PV1f.y);
PV0f.y = PV1f.y * intBitsToFloat(uf_remappedPS[1].x);
PV0f.z = min(PV1f.x, PV1f.w);
R3f.x = PV1f.z + PS1f;
PS0f = R3f.x;
// 3
R1f.x = max(PV0f.y, intBitsToFloat(uf_remappedPS[1].y));
R3f.y = R127f.z + -(R126f.z);
R0f.w = -(PV0f.z) + PV0f.x;
// 4
predResult = (R0f.w > R1f.x);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
R1f.x = R4f.y + R4f.x;
PV0f.x = R1f.x;
R1f.y = intBitsToFloat(uf_remappedPS[2].z) * 0.25;
R0f.w = max(R3f.x, -(R3f.x));
PV0f.w = R0f.w;
R4f.x = max(R3f.y, -(R3f.y));
PS0f = R4f.x;
// 1
R1f.x = min(PV0f.w, PS0f);
R4f.y = -(intBitsToFloat(uf_remappedPS[3].y));
R0f.z = intBitsToFloat(uf_remappedPS[3].x);
R0f.w = R4f.z + PV0f.x;
PV1f.w = R0f.w;
R4f.x = -(intBitsToFloat(uf_remappedPS[3].x));
PS1f = R4f.x;
// 2
R1f.z = R4f.w + PV1f.w;
PV0f.z = R1f.z;
R0f.w = intBitsToFloat(uf_remappedPS[3].y);
// 3
backupReg0f = R1f.y;
R1f.y = (backupReg0f * PV0f.z + intBitsToFloat(uf_remappedPS[2].w));
PV1f.y = R1f.y;
// 4
backupReg0f = R1f.x;
R1f.x = max(PV1f.y, backupReg0f);
PV0f.x = R1f.x;
// 5
R1f.w = 1.0 / PV0f.x;
PS1f = R1f.w;
// 6
R1f.x = R3f.x * PS1f;
PV0f.x = R1f.x;
R1f.y = R3f.y * PS1f;
PV0f.y = R1f.y;
// 7
R1f.x = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[2].y)));
PV1f.x = R1f.x;
R1f.y = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[2].y)));
PV1f.y = R1f.y;
// 8
R1f.x = min(PV1f.x, intBitsToFloat(uf_remappedPS[2].y));
PV0f.x = R1f.x;
R1f.y = min(PV1f.y, intBitsToFloat(uf_remappedPS[2].y));
PV0f.y = R1f.y;
// 9
backupReg0f = R0f.x;
backupReg1f = R0f.y;
backupReg2f = R0f.z;
backupReg0f = R0f.x;
backupReg3f = R0f.w;
backupReg1f = R0f.y;
R0f.x = (PV0f.x * R4f.x + backupReg0f);
R0f.y = (PV0f.y * R4f.y + backupReg1f);
R0f.z = (PV0f.x * backupReg2f + backupReg0f);
R0f.w = (PV0f.y * backupReg3f + backupReg1f);
}
if( activeMaskStackC[2] == true ) {
R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw);
R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0f = R0f.y;
backupReg1f = R0f.x;
PV0f.x = R0f.w + R1f.w;
PV0f.x /= 2.0;
PV0f.y = R0f.z + R1f.z;
PV0f.y /= 2.0;
PV0f.z = backupReg0f + R1f.y;
PV0f.z /= 2.0;
PV0f.w = backupReg1f + R1f.x;
PV0f.w /= 2.0;
// 1
PV1f.x = -(R2f.w) + PV0f.x;
PV1f.y = -(R2f.z) + PV0f.y;
PV1f.z = -(R2f.y) + PV0f.z;
PV1f.w = -(R2f.x) + PV0f.w;
// 2
backupReg0f = R2f.x;
backupReg1f = R2f.y;
backupReg2f = R2f.z;
backupReg3f = R2f.w;
R2f.x = (PV1f.w * intBitsToFloat(0x3f4ccccd) + backupReg0f);
R2f.y = (PV1f.z * intBitsToFloat(0x3f4ccccd) + backupReg1f);
R2f.z = (PV1f.y * intBitsToFloat(0x3f4ccccd) + backupReg2f);
R2f.w = (PV1f.x * intBitsToFloat(0x3f4ccccd) + backupReg3f);
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
// export
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010180600,0005000010180700,0005000010180500
name = "Captain Toad: Treasure Tracker - No Anti-Aliasing"
version = 2

View File

@ -1,207 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader b4ad3f6c36f63964
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R3i = ivec4(0);
ivec4 R4i = ivec4(0);
ivec4 R5i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R124i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = floatBitsToInt(passParameterSem0);
//R1i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.zw),0.0).xyz);
//R2i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(1,0)).xyz);
//R3i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(0,1)).xyz);
//R4i.xyz = floatBitsToInt(textureLodOffset(textureUnitPS0, intBitsToFloat(R0i.zw),0.0,ivec2(1,1)).xyz);
//R5i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xy),0.0).xyz);
// 0
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R1i.x),intBitsToFloat(R1i.y),intBitsToFloat(R1i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0)));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
R127i.z = tempi.x;
PS0i = floatBitsToInt(intBitsToFloat(R2i.z) * intBitsToFloat(0x3dea7371));
// 1
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R2i.x),intBitsToFloat(R2i.y),intBitsToFloat(PS0i),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),1.0,0.0)));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R127i.y = tempi.x;
PS1i = floatBitsToInt(intBitsToFloat(R3i.z) * intBitsToFloat(0x3dea7371));
// 2
R125i.x = floatBitsToInt(dot(vec4(intBitsToFloat(R3i.x),intBitsToFloat(R3i.y),intBitsToFloat(PS1i),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),1.0,0.0)));
PV0i.x = R125i.x;
PV0i.y = R125i.x;
PV0i.z = R125i.x;
PV0i.w = R125i.x;
R126i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV1i.x));
PS0i = R126i.x;
// 3
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R4i.x),intBitsToFloat(R4i.y),intBitsToFloat(R4i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0)));
PV1i.x = tempi.x;
PV1i.y = tempi.x;
PV1i.z = tempi.x;
PV1i.w = tempi.x;
R127i.w = tempi.x;
R127i.x = floatBitsToInt(intBitsToFloat(R127i.z) + intBitsToFloat(PV0i.x));
PS1i = R127i.x;
// 4
PV0i.x = floatBitsToInt(intBitsToFloat(R127i.y) + intBitsToFloat(PV1i.x));
PV0i.y = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(PV1i.x));
PV0i.z = floatBitsToInt(intBitsToFloat(R125i.x) + intBitsToFloat(R126i.x));
R126i.w = floatBitsToInt(min(intBitsToFloat(R127i.z), intBitsToFloat(R127i.y)));
R124i.x = floatBitsToInt(min(intBitsToFloat(R125i.x), intBitsToFloat(PV1i.x)));
PS0i = R124i.x;
// 5
backupReg0i = R127i.z;
backupReg1i = R127i.w;
PV1i.x = floatBitsToInt(-(intBitsToFloat(PV0i.y)) + intBitsToFloat(R126i.x));
PV1i.y = floatBitsToInt(intBitsToFloat(R127i.w) + intBitsToFloat(PV0i.z));
R127i.z = floatBitsToInt(max(intBitsToFloat(backupReg0i), intBitsToFloat(R127i.y)));
R127i.w = floatBitsToInt(-(intBitsToFloat(PV0i.x)) + intBitsToFloat(R127i.x));
PV1i.w = R127i.w;
R127i.x = floatBitsToInt(max(intBitsToFloat(R125i.x), intBitsToFloat(backupReg1i)));
PS1i = R127i.x;
// 6
backupReg0i = R126i.w;
PV0i.x = floatBitsToInt(intBitsToFloat(PV1i.y) * intBitsToFloat(0x3d000000));
PV0i.y = floatBitsToInt(max(intBitsToFloat(PV1i.w), -(intBitsToFloat(PV1i.w))));
PV0i.z = floatBitsToInt(max(-(intBitsToFloat(PV1i.x)), intBitsToFloat(PV1i.x)));
R126i.w = floatBitsToInt(-(intBitsToFloat(PV1i.x)));
R125i.w = floatBitsToInt(min(intBitsToFloat(backupReg0i), intBitsToFloat(R124i.x)));
PS0i = R125i.w;
// 7
PV1i.x = floatBitsToInt(min(intBitsToFloat(PV0i.z), intBitsToFloat(PV0i.y)));
R127i.y = floatBitsToInt(max(intBitsToFloat(R127i.z), intBitsToFloat(R127i.x)));
PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0x3c000000)));
PS1i = floatBitsToInt(intBitsToFloat(R5i.z) * intBitsToFloat(0x3dea7371));
// 8
R123i.x = floatBitsToInt((intBitsToFloat(R5i.y) * intBitsToFloat(0x3f162c23) + intBitsToFloat(PS1i)));
PV0i.x = R123i.x;
PV0i.w = floatBitsToInt(intBitsToFloat(PV1i.w) + intBitsToFloat(PV1i.x));
// 9
R123i.z = floatBitsToInt((intBitsToFloat(R5i.x) * intBitsToFloat(0x3e990afe) + intBitsToFloat(PV0i.x)));
PV1i.z = R123i.z;
PS1i = floatBitsToInt(1.0 / intBitsToFloat(PV0i.w));
// 10
PV0i.x = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R127i.w), intBitsToFloat(PS1i)));
PV0i.y = floatBitsToInt(mul_nonIEEE(intBitsToFloat(R126i.w), intBitsToFloat(PS1i)));
R2i.z = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(R125i.w)));
R1i.w = floatBitsToInt(max(intBitsToFloat(PV1i.z), intBitsToFloat(R127i.y)));
// 11
PV1i.z = floatBitsToInt(max(intBitsToFloat(PV0i.x), intBitsToFloat(0xc1000000)));
PV1i.w = floatBitsToInt(max(intBitsToFloat(PV0i.y), intBitsToFloat(0xc1000000)));
// 12
PV0i.y = floatBitsToInt(min(intBitsToFloat(PV1i.w), intBitsToFloat(0x41000000)));
PV0i.w = floatBitsToInt(min(intBitsToFloat(PV1i.z), intBitsToFloat(0x41000000)));
// 13
R127i.z = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.y), intBitsToFloat(uf_remappedPS[0].x)));
PV1i.z = R127i.z;
R127i.w = floatBitsToInt(mul_nonIEEE(intBitsToFloat(PV0i.w), intBitsToFloat(uf_remappedPS[0].y)));
PV1i.w = R127i.w;
// 14
R5i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0x3e2a9930) + intBitsToFloat(R0i.x)));
R5i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0x3e2a9930) + intBitsToFloat(R0i.y)));
R5i.z = floatBitsToInt((intBitsToFloat(PV1i.z) * intBitsToFloat(0xbe2ab368) + intBitsToFloat(R0i.x)));
R5i.w = floatBitsToInt((intBitsToFloat(PV1i.w) * intBitsToFloat(0xbe2ab368) + intBitsToFloat(R0i.y)));
R4i.x = floatBitsToInt((intBitsToFloat(PV1i.z) * 0.5 + intBitsToFloat(R0i.x)));
PS0i = R4i.x;
// 15
backupReg0i = R0i.x;
R0i.x = floatBitsToInt((-(intBitsToFloat(R127i.z)) * 0.5 + intBitsToFloat(backupReg0i)));
R4i.y = floatBitsToInt((intBitsToFloat(R127i.w) * 0.5 + intBitsToFloat(R0i.y)));
R0i.z = floatBitsToInt((-(intBitsToFloat(R127i.w)) * 0.5 + intBitsToFloat(R0i.y)));
R3i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R5i.xy),0.0).xyz);
R5i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R5i.zw),0.0).xyz);
R4i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R4i.xy),0.0).xyz);
R0i.xyz = floatBitsToInt(textureLod(textureUnitPS0, intBitsToFloat(R0i.xz),0.0).xyz);
// 0
R127i.x = floatBitsToInt(intBitsToFloat(R3i.z) + intBitsToFloat(R5i.z));
R127i.x = floatBitsToInt(intBitsToFloat(R127i.x) / 2.0);
R126i.z = floatBitsToInt(intBitsToFloat(R3i.y) + intBitsToFloat(R5i.y));
R126i.z = floatBitsToInt(intBitsToFloat(R126i.z) / 2.0);
PV0i.z = R126i.z;
R127i.w = floatBitsToInt(intBitsToFloat(R3i.x) + intBitsToFloat(R5i.x));
R127i.w = floatBitsToInt(intBitsToFloat(R127i.w) / 2.0);
PV0i.w = R127i.w;
// 1
backupReg0i = R0i.x;
backupReg1i = R0i.y;
PV1i.x = floatBitsToInt(intBitsToFloat(R4i.x) + intBitsToFloat(backupReg0i));
PV1i.y = PV0i.w;
PV1i.y = floatBitsToInt(intBitsToFloat(PV1i.y) / 2.0);
R127i.z = floatBitsToInt(intBitsToFloat(R4i.z) + intBitsToFloat(R0i.z));
PV1i.w = floatBitsToInt(intBitsToFloat(R4i.y) + intBitsToFloat(backupReg1i));
PS1i = PV0i.z;
PS1i = floatBitsToInt(intBitsToFloat(PS1i) / 2.0);
// 2
R124i.x = floatBitsToInt((intBitsToFloat(PV1i.x) * 0.25 + intBitsToFloat(PV1i.y)));
R127i.y = floatBitsToInt((intBitsToFloat(PV1i.w) * 0.25 + intBitsToFloat(PS1i)));
PV0i.w = R127i.x;
PV0i.w = floatBitsToInt(intBitsToFloat(PV0i.w) / 2.0);
// 3
backupReg0i = R127i.z;
R127i.z = floatBitsToInt((intBitsToFloat(backupReg0i) * 0.25 + intBitsToFloat(PV0i.w)));
PV1i.z = R127i.z;
// 4
tempi.x = floatBitsToInt(dot(vec4(intBitsToFloat(R124i.x),intBitsToFloat(R127i.y),intBitsToFloat(PV1i.z),-0.0),vec4(intBitsToFloat(0x3e990afe),intBitsToFloat(0x3f162c23),intBitsToFloat(0x3dea7371),0.0)));
PV0i.x = tempi.x;
PV0i.y = tempi.x;
PV0i.z = tempi.x;
PV0i.w = tempi.x;
// 5
PV1i.x = ((intBitsToFloat(PV0i.x) > intBitsToFloat(R1i.w))?int(0xFFFFFFFF):int(0x0));
PV1i.y = ((intBitsToFloat(R2i.z) > intBitsToFloat(PV0i.x))?int(0xFFFFFFFF):int(0x0));
// 6
R123i.w = ((PV1i.y == 0)?(PV1i.x):(int(-1)));
PV0i.w = R123i.w;
// 7
R123i.x = ((PV0i.w == 0)?(0):(R126i.z));
PV1i.x = R123i.x;
R123i.y = ((PV0i.w == 0)?(0):(R127i.w));
PV1i.y = R123i.y;
R123i.z = ((PV0i.w == 0)?(0):(0x3f800000));
PV1i.z = R123i.z;
R123i.w = ((PV0i.w == 0)?(0):(R127i.x));
PV1i.w = R123i.w;
// 8
R0i.x = ((PV1i.z == 0)?(R124i.x):(PV1i.y));
R0i.y = ((PV1i.z == 0)?(R127i.y):(PV1i.x));
R0i.z = ((PV1i.z == 0)?(R127i.z):(PV1i.w));
// 9
R0i.w = 0x3f800000;
// export
passPixelColor0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 000500001F600900,000500001F600A00,000500001F600B00
name = "Paper Mario: Color Splash - No Anti-Aliasing"
version = 2

View File

@ -1,163 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader 8e1337dde42fd224
uniform ivec4 uf_remappedPS[4];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1000 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[2];
bool activeMaskStackC[3];
activeMaskStack[0] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem2;
if( activeMaskStackC[1] == true ) {
//R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy);
R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
}
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0f.x = R1f.y + R1f.x;
R127f.y = intBitsToFloat(uf_remappedPS[0].z) * 0.25;
PV0f.z = R1f.w + -(R1f.x);
PV0f.w = R1f.z + -(R1f.y);
R127f.z = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[1].x));
PS0f = R127f.z;
// 1
R127f.x = PV0f.w + -(PV0f.z);
PV1f.x = R127f.x;
R126f.y = PV0f.w + PV0f.z;
PV1f.y = R126f.y;
PV1f.z = R1f.z + PV0f.x;
R127f.w = min(R1f.z, R1f.x);
R126f.w = min(R1f.w, R1f.y);
PS1f = R126f.w;
// 2
PV0f.x = R1f.w + PV1f.z;
PV0f.y = max(PV1f.x, -(PV1f.x));
PV0f.z = max(PV1f.y, -(PV1f.y));
PV0f.w = max(R1f.z, R1f.x);
PS0f = max(R1f.w, R1f.y);
// 3
PV1f.x = min(PV0f.z, PV0f.y);
R123f.y = (R2f.y * intBitsToFloat(uf_remappedPS[1].y) + R127f.z);
PV1f.y = R123f.y;
PV1f.z = min(R127f.w, R126f.w);
R123f.w = (R127f.y * PV0f.x + intBitsToFloat(uf_remappedPS[0].w));
PV1f.w = R123f.w;
PS1f = max(PV0f.w, PS0f);
// 4
PV0f.x = mul_nonIEEE(PS1f, intBitsToFloat(uf_remappedPS[2].x));
PV0f.y = max(PV1f.y, PS1f);
PV0f.z = min(PV1f.y, PV1f.z);
PV0f.w = max(PV1f.w, PV1f.x);
// 5
R3f.x = max(PV0f.x, intBitsToFloat(uf_remappedPS[2].y));
R3f.y = -(PV0f.z) + PV0f.y;
PS1f = 1.0 / PV0f.w;
// 6
PV0f.x = mul_nonIEEE(R127f.x, PS1f);
PV0f.y = mul_nonIEEE(R126f.y, PS1f);
// 7
PV1f.z = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[0].y)));
PV1f.w = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[0].y)));
// 8
R1f.x = min(PV1f.w, intBitsToFloat(uf_remappedPS[0].y));
R1f.y = min(PV1f.z, intBitsToFloat(uf_remappedPS[0].y));
// 9
predResult = (R3f.y > R3f.x);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
R3f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[3].z)) + R0f.x);
R3f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[3].w)) + R0f.y);
R0f.z = (R1f.x * intBitsToFloat(uf_remappedPS[3].x) + R0f.x);
R0f.w = (R1f.y * intBitsToFloat(uf_remappedPS[3].y) + R0f.y);
R3f.z = (R1f.x * intBitsToFloat(uf_remappedPS[3].z) + R0f.x);
PS0f = R3f.z;
// 1
R4f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[3].x)) + R0f.x);
R4f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[3].y)) + R0f.y);
R3f.w = (R1f.y * intBitsToFloat(uf_remappedPS[3].w) + R0f.y);
}
if( activeMaskStackC[2] == true ) {
R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw);
R0f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw);
R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw);
R2f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw);
}
if( activeMaskStackC[2] == true ) {
// 0
R127f.x = R0f.w + R1f.w;
R127f.x /= 2.0;
R127f.y = R0f.z + R1f.z;
R127f.y /= 2.0;
R127f.z = R0f.y + R1f.y;
R127f.z /= 2.0;
R127f.w = R0f.x + R1f.x;
R127f.w /= 2.0;
// 1
PV1f.x = R2f.w + R3f.w;
PV1f.x /= 2.0;
PV1f.y = R2f.z + R3f.z;
PV1f.y /= 2.0;
PV1f.z = R2f.y + R3f.y;
PV1f.z /= 2.0;
PV1f.w = R2f.x + R3f.x;
PV1f.w /= 2.0;
// 2
R2f.x = R127f.w + PV1f.w;
R2f.x /= 2.0;
R2f.y = R127f.z + PV1f.z;
R2f.y /= 2.0;
R2f.z = R127f.y + PV1f.y;
R2f.z /= 2.0;
R2f.w = R127f.x + PV1f.x;
R2f.w /= 2.0;
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
// export
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 000500001010ec00,000500001010ed00,000500001010eb00
name = "Mario Kart 8 - No Anti-Aliasing"
version = 2

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 000500001010ec00,000500001010ed00,000500001010eb00
name = "Mario Kart 8 - Adjustable Bloom"
version = 2

View File

@ -1,43 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader d81508000beb90fd
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4c24800 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
//R0f = passParameterSem0;
//R0f.xyz = (textureLod(textureUnitPS0, R0f.zw,0.0).xyz);
// 0
backupReg0f = R0f.x;
backupReg1f = R0f.y;
backupReg2f = R0f.z;
R0f.x = dot(vec4(backupReg0f,backupReg1f,backupReg2f,-0.0),vec4(intBitsToFloat(0x3e59b3d0),intBitsToFloat(0x3f371759),intBitsToFloat(0x3d93dd98),0.0));
PV0f.x = R0f.x;
PV0f.y = R0f.x;
PV0f.z = R0f.x;
PV0f.w = R0f.x;
// export
passPixelColor0 = vec4(R0f.x, R0f.x, R0f.x, R0f.x);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 00050000101A3500,00050000101A3600,0005000010199000
name = "Mario Tennis: Ultra Smash - No Anti-Aliasing"
version = 2

View File

@ -1,161 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader 50e29e8929cea348
uniform ivec4 uf_remappedPS[3];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4240800 res 1280x720x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf45c5000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem1;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R125f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[2];
bool activeMaskStackC[3];
activeMaskStack[0] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem1;
if( activeMaskStackC[1] == true ) {
//R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).xyzw);
R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
}
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0f.x = R1f.z + R1f.w;
PV0f.y = R1f.y + -(R1f.w);
PV0f.z = R1f.x + -(R1f.z);
R127f.w = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[0].x));
R126f.w = min(R1f.z, R1f.w);
PS0f = R126f.w;
// 1
R126f.x = PV0f.z + PV0f.y;
PV1f.x = R126f.x;
PV1f.y = R1f.x + PV0f.x;
R127f.z = min(R1f.x, R1f.y);
R125f.w = PV0f.z + -(PV0f.y);
PV1f.w = R125f.w;
R127f.y = max(R1f.z, R1f.w);
PS1f = R127f.y;
// 2
PV0f.x = R1f.y + PV1f.y;
PV0f.y = max(PV1f.w, -(PV1f.w));
PV0f.z = max(PV1f.x, -(PV1f.x));
PV0f.w = max(R1f.x, R1f.y);
R127f.x = (R2f.y * intBitsToFloat(uf_remappedPS[0].y) + R127f.w);
PS0f = R127f.x;
// 3
PV1f.x = min(PV0f.z, PV0f.y);
PV1f.y = min(R126f.w, R127f.z);
PV1f.z = max(R127f.y, PV0f.w);
R123f.w = (PV0f.x * intBitsToFloat(0x3d000000) + intBitsToFloat(0x3b800000));
PV1f.w = R123f.w;
// 4
PV0f.x = min(R127f.x, PV1f.y);
PV0f.y = max(R127f.x, PV1f.z);
PV0f.w = max(PV1f.w, PV1f.x);
// 5
R0f.z = -(PV0f.x) + PV0f.y;
PS1f = 1.0 / PV0f.w;
// 6
PV0f.x = R125f.w * PS1f;
PV0f.y = R126f.x * PS1f;
// 7
PV1f.z = max(PV0f.x, intBitsToFloat(0xc0400000));
PV1f.w = max(PV0f.y, intBitsToFloat(0xc0400000));
// 8
R1f.x = min(PV1f.w, intBitsToFloat(0x40400000));
R1f.y = min(PV1f.z, intBitsToFloat(0x40400000));
// 9
predResult = (R0f.z > intBitsToFloat(uf_remappedPS[1].y));
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
R3f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[2].z)) + R0f.x);
R3f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[2].w)) + R0f.y);
R0f.z = (R1f.x * intBitsToFloat(uf_remappedPS[2].x) + R0f.x);
R0f.w = (R1f.y * intBitsToFloat(uf_remappedPS[2].y) + R0f.y);
R3f.z = (R1f.x * intBitsToFloat(uf_remappedPS[2].z) + R0f.x);
PS0f = R3f.z;
// 1
R4f.x = (R1f.x * -(intBitsToFloat(uf_remappedPS[2].x)) + R0f.x);
R4f.y = (R1f.y * -(intBitsToFloat(uf_remappedPS[2].y)) + R0f.y);
R3f.w = (R1f.y * intBitsToFloat(uf_remappedPS[2].w) + R0f.y);
}
if( activeMaskStackC[2] == true ) {
R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw);
R0f.xyzw = (texture(textureUnitPS0, R3f.zw).xyzw);
R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw);
R2f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw);
}
if( activeMaskStackC[2] == true ) {
// 0
R127f.x = R0f.w + R1f.w;
R127f.x /= 2.0;
R127f.y = R0f.z + R1f.z;
R127f.y /= 2.0;
R127f.z = R0f.y + R1f.y;
R127f.z /= 2.0;
R127f.w = R0f.x + R1f.x;
R127f.w /= 2.0;
// 1
PV1f.x = R2f.w + R3f.w;
PV1f.x /= 2.0;
PV1f.y = R2f.z + R3f.z;
PV1f.y /= 2.0;
PV1f.z = R2f.y + R3f.y;
PV1f.z /= 2.0;
PV1f.w = R2f.x + R3f.x;
PV1f.w /= 2.0;
// 2
R2f.x = R127f.w + PV1f.w;
R2f.x /= 2.0;
R2f.y = R127f.z + PV1f.z;
R2f.y /= 2.0;
R2f.z = R127f.y + PV1f.y;
R2f.z /= 2.0;
R2f.w = R127f.x + PV1f.x;
R2f.w /= 2.0;
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
// export
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010101D00,0005000010101E00,000500001014B700,000500001014B800,0005000010101C00,0005000010142300,0005000010142400,0005000010142200
name = "New Super Mario Bros. U + New Super Luigi U - No Anti-Aliasing"
version = 2

View File

@ -1,315 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 4fe1bb2bc0611f15
// Disable this fucking godforsaken piece of shit blur filter that makes the game look lower res than it actually is
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 1280x720x1 dim 1 tm: 4 format 041a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R5f = vec4(0.0);
vec4 R6f = vec4(0.0);
vec4 R7f = vec4(0.0);
vec4 R8f = vec4(0.0);
vec4 R9f = vec4(0.0);
vec4 R10f = vec4(0.0);
vec4 R11f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R124f = vec4(0.0);
vec4 R125f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw);
// 0
PV0f.z = R0f.x + 0.5;
PV0f.w = R0f.y + 0.5;
// 1
R4f.x = mul_nonIEEE(PV0f.z, intBitsToFloat(uf_remappedPS[0].x));
PV1f.x = R4f.x;
R4f.y = mul_nonIEEE(PV0f.w, intBitsToFloat(uf_remappedPS[0].y));
PV1f.y = R4f.y;
// 2
R0f.xyz = vec3(PV1f.x,PV1f.y,PV1f.x) + vec3(intBitsToFloat(0xba99999a),0.0,0.0);
R0f.w = PV1f.y + intBitsToFloat(0xbb088889);
R1f.x = PV1f.x + intBitsToFloat(0x3a99999a);
PS0f = R1f.x;
// 3
R2f.x = R4f.x + 0.0;
R1f.y = R4f.y + 0.0;
R2f.zwy = vec3(R4f.y,R4f.x,R4f.y) + vec3(intBitsToFloat(0x3b088889),intBitsToFloat(0xba99999a),intBitsToFloat(0xbb088889));
PS1f = R2f.y;
// 4
R3f.x = R4f.x + intBitsToFloat(0xba99999a);
R3f.y = R4f.y + intBitsToFloat(0x3b088889);
R1f.z = R4f.x + intBitsToFloat(0x3a99999a);
R1f.w = R4f.y + intBitsToFloat(0xbb088889);
R6f.x = R4f.x + intBitsToFloat(0x3a99999a);
PS0f = R6f.x;
//R11f.xyzw = (texture(textureUnitPS0, R4f.xy).xyzw);
R11f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw);
R5f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
R0f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw);
R7f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw);
R8f.xyzw = (texture(textureUnitPS0, R2f.xz).xyzw);
R9f.xyzw = (texture(textureUnitPS0, R2f.wy).xyzw);
R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw);
R10f.xyzw = (texture(textureUnitPS0, R1f.zw).xyzw);
// 0
R127f.x = -(R11f.x) + R5f.x;
R6f.y = R4f.y + intBitsToFloat(0x3b088889);
R123f.z = (R11f.w * 2.0 + -(1.0));
PV0f.z = R123f.z;
PV0f.w = R5f.w + intBitsToFloat(0x3c23d70a);
R127f.w = -(R11f.y) + R5f.y;
PS0f = R127f.w;
// 1
R126f.x = -(R11f.z) + R5f.z;
//PV1f.y = max(PV0f.z, -(PV0f.z));
PV1f.y = max(PV1f.z, -(PV1f.z));
PV1f.z = -(R11f.w) + PV0f.w;
R126f.w = -(R11f.w) + R5f.w;
PS1f = R0f.w + intBitsToFloat(0x3c23d70a);
// 2
backupReg0f = R0f.x;
PV0f.x = -(PV1f.y) + 1.0;
R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0)));
PV0f.y = R123f.y;
R127f.z = -(R11f.w) + PS1f;
R5f.w = R7f.w + intBitsToFloat(0x3c23d70a);
R1f.w = -(R11f.x) + backupReg0f;
PS0f = R1f.w;
// 3
R5f.x = (mul_nonIEEE(R127f.x,PV0f.y) + R11f.x);
R5f.y = (mul_nonIEEE(R127f.w,PV0f.y) + R11f.y);
R5f.z = (mul_nonIEEE(R126f.x,PV0f.y) + R11f.z);
R2f.w = max(PV0f.x, intBitsToFloat(0x3de38e39));
PV1f.w = R2f.w;
R4f.y = (mul_nonIEEE(R126f.w,PV0f.y) + R11f.w);
PS1f = R4f.y;
// 4
backupReg0f = R0f.y;
backupReg1f = R0f.z;
backupReg2f = R0f.w;
R4f.x = intBitsToFloat(((R127f.z >= 0.0)?(floatBitsToInt(1.0)):(0)));
R0f.yzw = vec3(-(R11f.y),-(PV1f.w),-(R11f.z)) + vec3(backupReg0f,1.0,backupReg1f);
R0f.x = -(R11f.w) + backupReg2f;
PS0f = R0f.x;
R6f.xyzw = (texture(textureUnitPS0, R6f.xy).xyzw);
// 0
backupReg0f = R0f.y;
R127f.x = R8f.w + intBitsToFloat(0x3c23d70a);
R0f.y = R0f.z * intBitsToFloat(0x3e15f619);
PV0f.y = R0f.y;
R127f.z = -(R11f.w) + R5f.w;
R126f.w = (mul_nonIEEE(backupReg0f,R4f.x) + R11f.y);
R125f.x = (mul_nonIEEE(R0f.x,R4f.x) + R11f.w);
PS0f = R125f.x;
// 1
PV1f.x = mul_nonIEEE(PV0f.y, R5f.x);
PV1f.y = mul_nonIEEE(PV0f.y, R4f.y);
PV1f.z = mul_nonIEEE(PV0f.y, R5f.z);
PV1f.w = mul_nonIEEE(PV0f.y, R5f.y);
R127f.w = (mul_nonIEEE(R1f.w,R4f.x) + R11f.x);
PS1f = R127f.w;
// 2
R126f.x = (mul_nonIEEE(R11f.x,R2f.w) + PV1f.x);
R126f.y = (mul_nonIEEE(R11f.w,R2f.w) + PV1f.y);
R126f.z = (mul_nonIEEE(R11f.z,R2f.w) + PV1f.z);
R125f.w = (mul_nonIEEE(R11f.y,R2f.w) + PV1f.w);
R127f.y = (mul_nonIEEE(R0f.w,R4f.x) + R11f.z);
PS0f = R127f.y;
// 3
R124f.x = -(R11f.x) + R7f.x;
R124f.y = intBitsToFloat(((R127f.z >= 0.0)?(floatBitsToInt(1.0)):(0)));
R127f.z = -(R11f.z) + R7f.z;
R124f.w = -(R11f.y) + R7f.y;
R125f.y = -(R11f.w) + R7f.w;
PS1f = R125f.y;
// 4
backupReg0f = R127f.x;
backupReg1f = R0f.y;
backupReg2f = R126f.z;
backupReg1f = R0f.y;
R127f.x = (mul_nonIEEE(R0f.y,R127f.w) + R126f.x);
PV0f.y = -(R11f.w) + backupReg0f;
R126f.z = (mul_nonIEEE(backupReg1f,R127f.y) + backupReg2f);
R127f.w = R9f.w + intBitsToFloat(0x3c23d70a);
R126f.x = (mul_nonIEEE(backupReg1f,R125f.x) + R126f.y);
PS0f = R126f.x;
// 5
backupReg0f = R124f.x;
R124f.x = (mul_nonIEEE(backupReg0f,R124f.y) + R11f.x);
R127f.y = (mul_nonIEEE(R127f.z,R124f.y) + R11f.z);
R127f.z = (mul_nonIEEE(R0f.y,R126f.w) + R125f.w);
R126f.w = (mul_nonIEEE(R124f.w,R124f.y) + R11f.y);
R7f.x = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0)));
PS1f = R7f.x;
// 6
backupReg0f = R127f.w;
R125f.x = -(R11f.z) + R8f.z;
R123f.y = (mul_nonIEEE(R125f.y,R124f.y) + R11f.w);
PV0f.y = R123f.y;
R125f.z = -(R11f.w) + R8f.w;
R127f.w = -(R11f.x) + R8f.x;
R124f.z = -(R11f.w) + backupReg0f;
PS0f = R124f.z;
// 7
backupReg0f = R127f.x;
backupReg1f = R126f.w;
R127f.x = R3f.w + intBitsToFloat(0x3c23d70a);
R125f.y = (mul_nonIEEE(R0f.y,R124f.x) + backupReg0f);
PV1f.z = -(R11f.y) + R8f.y;
R126f.w = (mul_nonIEEE(R0f.y,backupReg1f) + R127f.z);
R125f.w = (mul_nonIEEE(R0f.y,PV0f.y) + R126f.x);
PS1f = R125f.w;
// 8
backupReg0f = R125f.x;
backupReg1f = R127f.y;
backupReg2f = R126f.z;
backupReg3f = R127f.w;
R125f.x = (mul_nonIEEE(PV1f.z,R7f.x) + R11f.y);
R127f.y = (mul_nonIEEE(backupReg0f,R7f.x) + R11f.z);
R126f.z = (mul_nonIEEE(R0f.y,backupReg1f) + backupReg2f);
R127f.w = (mul_nonIEEE(backupReg3f,R7f.x) + R11f.x);
R126f.x = (mul_nonIEEE(R125f.z,R7f.x) + R11f.w);
PS0f = R126f.x;
// 9
R124f.x = -(R11f.x) + R9f.x;
R126f.y = intBitsToFloat(((R124f.z >= 0.0)?(floatBitsToInt(1.0)):(0)));
R124f.zwy = vec3(-(R11f.z),-(R11f.y),-(R11f.w)) + vec3(R9f.z,R9f.y,R9f.w);
PS1f = R124f.y;
// 10
backupReg0f = R127f.x;
backupReg1f = R0f.y;
backupReg2f = R126f.z;
backupReg1f = R0f.y;
R127f.x = (mul_nonIEEE(R0f.y,R127f.w) + R125f.y);
PV0f.y = -(R11f.w) + backupReg0f;
R126f.z = (mul_nonIEEE(backupReg1f,R127f.y) + backupReg2f);
R127f.w = R10f.w + intBitsToFloat(0x3c23d70a);
R9f.x = backupReg1f * intBitsToFloat(0x3f3504f3);
PS0f = R9f.x;
// 11
backupReg0f = R126f.x;
R126f.x = (mul_nonIEEE(R0f.y,backupReg0f) + R125f.w);
R127f.y = (mul_nonIEEE(R124f.z,R126f.y) + R11f.z);
R124f.z = (mul_nonIEEE(R0f.y,R125f.x) + R126f.w);
R126f.w = (mul_nonIEEE(R124f.w,R126f.y) + R11f.y);
R125f.x = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0)));
PS1f = R125f.x;
// 12
backupReg0f = R126f.y;
R123f.x = (mul_nonIEEE(R124f.x,R126f.y) + R11f.x);
PV0f.x = R123f.x;
R126f.y = (mul_nonIEEE(R124f.y,backupReg0f) + R11f.w);
R125f.z = -(R11f.z) + R3f.z;
R125f.w = -(R11f.x) + R3f.x;
R124f.x = -(R11f.w) + R3f.w;
PS0f = R124f.x;
// 13
backupReg0f = R127f.y;
backupReg1f = R126f.z;
PV1f.x = -(R11f.w) + R127f.w;
R127f.y = R6f.w + intBitsToFloat(0x3c23d70a);
PV1f.z = -(R11f.y) + R3f.y;
R127f.w = (mul_nonIEEE(R9f.x,PV0f.x) + R127f.x);
R126f.z = (mul_nonIEEE(R9f.x,backupReg0f) + backupReg1f);
PS1f = R126f.z;
// 14
backupReg0f = R126f.x;
backupReg1f = R126f.w;
R126f.x = (mul_nonIEEE(R9f.x,R126f.y) + backupReg0f);
R126f.y = (mul_nonIEEE(R125f.z,R125f.x) + R11f.z);
R125f.z = (mul_nonIEEE(PV1f.z,R125f.x) + R11f.y);
R126f.w = (mul_nonIEEE(R9f.x,backupReg1f) + R124f.z);
R3f.y = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0)));
PS0f = R3f.y;
// 15
backupReg0f = R125f.x;
backupReg0f = R125f.x;
R125f.x = (mul_nonIEEE(R124f.x,backupReg0f) + R11f.w);
R124f.y = -(R11f.y) + R10f.y;
R124f.z = -(R11f.z) + R10f.z;
R123f.w = (mul_nonIEEE(R125f.w,backupReg0f) + R11f.x);
PV1f.w = R123f.w;
R125f.y = -(R11f.w) + R10f.w;
PS1f = R125f.y;
// 16
backupReg0f = R127f.w;
backupReg1f = R126f.z;
R124f.x = -(R11f.x) + R10f.x;
PV0f.y = -(R11f.w) + R127f.y;
R126f.z = (mul_nonIEEE(R9f.x,R125f.z) + R126f.w);
R127f.w = (mul_nonIEEE(R9f.x,PV1f.w) + backupReg0f);
R127f.y = (mul_nonIEEE(R9f.x,R126f.y) + backupReg1f);
PS0f = R127f.y;
// 17
backupReg0f = R126f.x;
backupReg1f = R124f.z;
backupReg2f = R124f.y;
R126f.x = (mul_nonIEEE(R9f.x,R125f.x) + backupReg0f);
R124f.y = intBitsToFloat(((PV0f.y >= 0.0)?(floatBitsToInt(1.0)):(0)));
PV1f.y = R124f.y;
R124f.z = (mul_nonIEEE(backupReg1f,R3f.y) + R11f.z);
R126f.w = (mul_nonIEEE(backupReg2f,R3f.y) + R11f.y);
PS1f = -(R11f.z) + R6f.z;
// 18
R123f.x = (mul_nonIEEE(R124f.x,R3f.y) + R11f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(R125f.y,R3f.y) + R11f.w);
PV0f.y = R123f.y;
R125f.z = -(R11f.w) + R6f.w;
R125f.w = -(R11f.x) + R6f.x;
R125f.y = (mul_nonIEEE(PS1f,PV1f.y) + R11f.z);
PS0f = R125f.y;
// 19
backupReg0f = R126f.x;
R126f.x = (mul_nonIEEE(R9f.x,PV0f.x) + R127f.w);
R123f.y = (mul_nonIEEE(R9f.x,R124f.z) + R127f.y);
PV1f.y = R123f.y;
PV1f.z = -(R11f.y) + R6f.y;
R127f.w = (mul_nonIEEE(R9f.x,R126f.w) + R126f.z);
R126f.w = (mul_nonIEEE(R9f.x,PV0f.y) + backupReg0f);
PS1f = R126f.w;
// 20
R123f.x = (mul_nonIEEE(R125f.z,R124f.y) + R11f.w);
PV0f.x = R123f.x;
R123f.z = (mul_nonIEEE(PV1f.z,R124f.y) + R11f.y);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(R125f.w,R124f.y) + R11f.x);
PV0f.w = R123f.w;
R11f.z = (mul_nonIEEE(R9f.x,R125f.y) + PV1f.y);
PS0f = R11f.z;
// 21
R11f.x = (mul_nonIEEE(R9f.x,PV0f.w) + R126f.x);
R11f.y = (mul_nonIEEE(R9f.x,PV0f.z) + R127f.w);
R11f.w = (mul_nonIEEE(R9f.x,PV0f.x) + R126f.w);
// export
passPixelColor0 = vec4(R11f.x, R11f.y, R11f.z, R11f.w);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 00050000101DD600,000500001011AF00,0005000010136300,000500021011AF01
name = "Runner2 - Disable Blur (use w/o resolution packs)"
version = 2

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010176900,0005000010176A00,0005000010162B00
name = "Splatoon - Adjustable Bloom"
version = 2

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010176900,0005000010176A00,0005000010162B00
name = "Splatoon - Splat FX"
version = 2

View File

@ -1,30 +0,0 @@
[Definition]
titleIds = 0005000010176900,0005000010176A00,0005000010162B00
name = "Splatoon - LOD Bias"
version = 2
#general
[TextureRedefine]
formats = 0x31,0x32,0x34,0x35,0x431,0x432,0x433,0x234,0x235
overwriteRelativeLodBias = -3
#ink splats - disabled by default, mainly for online sake
#[TextureRedefine]
#width = 32
#height = 32
#formats = 0x33
#overwriteLodBias = -16
#[TextureRedefine]
#width = 32
#height = 64
#formats = 0x33
#overwriteLodBias = -16
#[TextureRedefine]
#width = 128
#height = 128
#formats = 0x33
#overwriteLodBias = -16

View File

@ -1,187 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader be99d80628d31127
uniform ivec4 uf_remappedPS[4];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5800800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4341000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R5f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[2];
bool activeMaskStackC[3];
activeMaskStack[0] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem2;
if( activeMaskStackC[1] == true ) {
R4f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
//R2f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy);
}
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0f.x = min(R2f.z, R2f.x);
PV0f.y = max(R2f.z, R2f.x);
PV0f.z = R4f.x * intBitsToFloat(uf_remappedPS[0].x);
PV0f.w = min(R2f.w, R2f.y);
PS0f = max(R2f.w, R2f.y);
// 1
PV1f.x = min(PV0f.x, PV0f.w);
R123f.y = (R4f.y * intBitsToFloat(uf_remappedPS[0].y) + PV0f.z);
PV1f.y = R123f.y;
R127f.z = R2f.z + -(R2f.y);
PV1f.z = R127f.z;
PV1f.w = max(PV0f.y, PS0f);
R126f.z = R2f.w + -(R2f.x);
PS1f = R126f.z;
// 2
PV0f.x = PV1f.w * intBitsToFloat(uf_remappedPS[1].x);
PV0f.y = max(PV1f.y, PV1f.w);
PV0f.z = min(PV1f.y, PV1f.x);
R3f.x = PV1f.z + PS1f;
PS0f = R3f.x;
// 3
R1f.x = max(PV0f.x, intBitsToFloat(uf_remappedPS[1].y));
R3f.y = -(PV0f.z) + PV0f.y;
R1f.y = R127f.z + -(R126f.z);
PS1f = R1f.y;
// 4
predResult = (R3f.y > R1f.x);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0f = R2f.y;
R1f.x = max(R3f.x, -(R3f.x));
PV0f.x = R1f.x;
R2f.y = backupReg0f + R2f.x;
PV0f.y = R2f.y;
R0f.z = intBitsToFloat(uf_remappedPS[2].z) * 0.25;
R0f.w = max(R1f.y, -(R1f.y));
PV0f.w = R0f.w;
R2f.x = -(intBitsToFloat(uf_remappedPS[3].x));
PS0f = R2f.x;
// 1
R3f.y = R2f.z + PV0f.y;
PV1f.y = R3f.y;
R2f.y = min(PV0f.x, PV0f.w);
PS1f = R2f.y;
// 2
R3f.y = R2f.w + PV1f.y;
PV0f.y = R3f.y;
R1f.z = intBitsToFloat(uf_remappedPS[3].x);
R0f.w = intBitsToFloat(uf_remappedPS[3].y);
R5f.y = -(intBitsToFloat(uf_remappedPS[3].y));
PS0f = R5f.y;
// 3
backupReg0f = R0f.z;
R0f.z = (backupReg0f * PV0f.y + intBitsToFloat(uf_remappedPS[2].w));
PV1f.z = R0f.z;
// 4
backupReg0f = R2f.y;
R2f.y = max(PV1f.z, backupReg0f);
PV0f.y = R2f.y;
// 5
R2f.y = 1.0 / PV0f.y;
PS1f = R2f.y;
// 6
backupReg0f = R1f.y;
R1f.x = R3f.x * PS1f;
PV0f.x = R1f.x;
R1f.y = backupReg0f * PS1f;
PV0f.y = R1f.y;
// 7
R1f.x = max(PV0f.x, -(intBitsToFloat(uf_remappedPS[2].y)));
PV1f.x = R1f.x;
R1f.y = max(PV0f.y, -(intBitsToFloat(uf_remappedPS[2].y)));
PV1f.y = R1f.y;
// 8
R1f.x = min(PV1f.x, intBitsToFloat(uf_remappedPS[2].y));
PV0f.x = R1f.x;
R1f.y = min(PV1f.y, intBitsToFloat(uf_remappedPS[2].y));
PV0f.y = R1f.y;
// 9
backupReg0f = R0f.x;
backupReg1f = R0f.y;
backupReg0f = R0f.x;
backupReg2f = R0f.w;
backupReg1f = R0f.y;
R0f.x = (PV0f.x * R2f.x + backupReg0f);
R0f.y = (PV0f.y * R5f.y + backupReg1f);
R0f.z = (PV0f.x * R1f.z + backupReg0f);
R0f.w = (PV0f.y * backupReg2f + backupReg1f);
}
if( activeMaskStackC[2] == true ) {
R1f.xyzw = (texture(textureUnitPS0, R0f.zw).xyzw);
R0f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0f = R0f.y;
backupReg1f = R0f.x;
PV0f.x = R0f.w + R1f.w;
PV0f.x /= 2.0;
PV0f.y = R0f.z + R1f.z;
PV0f.y /= 2.0;
PV0f.z = backupReg0f + R1f.y;
PV0f.z /= 2.0;
PV0f.w = backupReg1f + R1f.x;
PV0f.w /= 2.0;
// 1
PV1f.x = -(R4f.w) + PV0f.x;
PV1f.y = -(R4f.z) + PV0f.y;
PV1f.z = -(R4f.y) + PV0f.z;
PV1f.w = -(R4f.x) + PV0f.w;
// 2
backupReg0f = R4f.x;
backupReg1f = R4f.y;
backupReg2f = R4f.z;
backupReg3f = R4f.w;
R4f.x = (PV1f.w * intBitsToFloat(0x3f4ccccd) + backupReg0f);
R4f.y = (PV1f.z * intBitsToFloat(0x3f4ccccd) + backupReg1f);
R4f.z = (PV1f.y * intBitsToFloat(0x3f4ccccd) + backupReg2f);
R4f.w = (PV1f.x * intBitsToFloat(0x3f4ccccd) + backupReg3f);
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
// export
passPixelColor0 = vec4(R4f.x, R4f.y, R4f.z, R4f.w);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010145d00,0005000010145c00,0005000010106100
name = "Super Mario 3D World - No Anti-Aliasing"
version = 2

View File

@ -1,8 +0,0 @@
[Definition]
titleIds = 00050000101ED700,00050000101ED800,0005000010131D00
name = "Tokyo Mirage Sessions FE - AA removal" # Does not improve performance, for downsampling / injecting AA only
version = 2
[TextureRedefine] #0x01a, nvidia taa
formats = 0x01a
overwriteRelativeLodBias = -16 #

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010137F00,0005000010138300,0005000010144800
name = "Donkey Kong Country: Tropical Freeze - No Anti-Aliasing"
version = 2

View File

@ -1,41 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader c14019840473ff86
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf5187000 res 1920x1080x1 dim 1 tm: 4 format 0011 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
//R1f.xyzw = textureGather(textureUnitPS1, R0f.xy).wzxy;
R2f.xyzw = texture(textureUnitPS0, R0f.xy).xyzw;
passPixelColor0 = R2f.xyzw;
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 000500001019C800,000500001019E600,000500001019E500,0005000E1019C800
name = "The Legend of Zelda: Twilight Princess HD - No Anti-Aliasing"
version = 2

View File

@ -1,335 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
const float bloomFactor = 0.4;
// shader 95a5a89d62998e0d
uniform ivec4 uf_remappedPS[3];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59ff000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R5f = vec4(0.0);
vec4 R6f = vec4(0.0);
vec4 R7f = vec4(0.0);
vec4 R123f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw);
// 0
R7f.x = R0f.x * intBitsToFloat(0x3b088889);
PV0f.x = R7f.x;
R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6);
PV0f.y = R7f.y;
// 1
R0f.x = PV0f.x;
R0f.y = PV0f.y + intBitsToFloat(0x3b72b9d6);
R1f.z = PV0f.x;
R1f.y = PV0f.y + intBitsToFloat(0xbb72b9d6);
PS1f = R1f.y;
// 2
R2f.x = R7f.x;
R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6);
R4f.z = R7f.x;
R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6);
PS0f = R4f.y;
R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.zy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
backupReg0f = R0f.x;
backupReg1f = R0f.w;
PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y);
PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z);
PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f);
PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f);
R0f.y = R7f.y + intBitsToFloat(0x3c360b60);
PS0f = R0f.y;
// 1
R123f.x = (R3f.y * intBitsToFloat(uf_remappedPS[0].x) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R3f.w * intBitsToFloat(uf_remappedPS[0].x) + PV0f.w);
PV1f.y = R123f.y;
R123f.z = (R3f.x * intBitsToFloat(uf_remappedPS[0].x) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R3f.z * intBitsToFloat(uf_remappedPS[0].x) + PV0f.y);
PV1f.w = R123f.w;
R0f.x = R7f.x;
PS1f = R0f.x;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[0].y) * R1f.y + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[0].y) * R1f.x + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[0].y) * R1f.w + PV1f.y);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[0].y) * R1f.z + PV1f.w);
PV0f.w = R123f.w;
R1f.y = R7f.y + intBitsToFloat(0xbc360b60);
PS0f = R1f.y;
// 3
backupReg0f = R2f.z;
R3f.x = (intBitsToFloat(uf_remappedPS[0].z) * R2f.x + PV0f.y);
R3f.y = (intBitsToFloat(uf_remappedPS[0].z) * R2f.y + PV0f.x);
R2f.z = (intBitsToFloat(uf_remappedPS[0].z) * R2f.w + PV0f.z);
R2f.w = (intBitsToFloat(uf_remappedPS[0].z) * backupReg0f + PV0f.w);
R1f.x = R7f.x;
PS1f = R1f.x;
// 4
R2f.x = R7f.x;
R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6);
R6f.z = R7f.x;
R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6);
PS0f = R6f.y;
R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[0].z) * R4f.x + R3f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[0].z) * R4f.w + R2f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[0].z) * R4f.z + R2f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[0].z) * R4f.y + R3f.y);
PV0f.w = R123f.w;
R3f.y = R7f.y + intBitsToFloat(0x3c97b426);
PS0f = R3f.y;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[0].w) * R0f.w + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[0].w) * R0f.x + PV0f.x);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[0].w) * R0f.z + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[0].w) * R0f.y + PV0f.w);
PV1f.w = R123f.w;
R3f.x = R7f.x;
PS1f = R3f.x;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[0].w) * R1f.w + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[0].w) * R1f.z + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[0].w) * R1f.y + PV1f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[0].w) * R1f.x + PV1f.y);
PV0f.w = R123f.w;
R1f.y = R7f.y + intBitsToFloat(0xbc97b426);
PS0f = R1f.y;
// 3
R0f.x = (R5f.z * intBitsToFloat(uf_remappedPS[1].x) + PV0f.y);
R0f.y = (R5f.w * intBitsToFloat(uf_remappedPS[1].x) + PV0f.x);
R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[1].x) + PV0f.z);
R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[1].x) + PV0f.w);
R1f.x = R7f.x;
PS1f = R1f.x;
// 4
R5f.x = R7f.x;
R5f.y = R7f.y + intBitsToFloat(0x3cb60b60);
R4f.z = R7f.x;
R4f.y = R7f.y + intBitsToFloat(0xbcb60b60);
PS0f = R4f.y;
R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw);
R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[1].x) * R6f.z + R0f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].x) * R6f.y + R5f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].x) * R6f.x + R5f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].x) * R6f.w + R0f.y);
PV0f.w = R123f.w;
R0f.y = R7f.y + intBitsToFloat(0x3cd4629b);
PS0f = R0f.y;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[1].y) * R3f.y + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].y) * R3f.w + PV0f.w);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].y) * R3f.x + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].y) * R3f.z + PV0f.x);
PV1f.w = R123f.w;
R0f.x = R7f.x;
PS1f = R0f.x;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[1].y) * R1f.y + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].y) * R1f.x + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].y) * R1f.w + PV1f.y);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].y) * R1f.z + PV1f.w);
PV0f.w = R123f.w;
R1f.y = R7f.y + intBitsToFloat(0xbcd4629b);
PS0f = R1f.y;
// 3
backupReg0f = R2f.z;
R3f.x = (intBitsToFloat(uf_remappedPS[1].z) * R2f.x + PV0f.y);
R3f.y = (intBitsToFloat(uf_remappedPS[1].z) * R2f.y + PV0f.x);
R2f.z = (intBitsToFloat(uf_remappedPS[1].z) * R2f.w + PV0f.z);
R2f.w = (intBitsToFloat(uf_remappedPS[1].z) * backupReg0f + PV0f.w);
R1f.x = R7f.x;
PS1f = R1f.x;
// 4
R2f.x = R7f.x;
R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6);
R6f.z = R7f.x;
R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6);
PS0f = R6f.y;
R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[1].z) * R4f.x + R3f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].z) * R4f.w + R2f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].z) * R4f.z + R2f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].z) * R4f.y + R3f.y);
PV0f.w = R123f.w;
R3f.y = R7f.y + intBitsToFloat(0x3d088888);
PS0f = R3f.y;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[1].w) * R0f.w + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].w) * R0f.x + PV0f.x);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].w) * R0f.z + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].w) * R0f.y + PV0f.w);
PV1f.w = R123f.w;
R3f.x = R7f.x;
PS1f = R3f.x;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[1].w) * R1f.w + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].w) * R1f.z + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].w) * R1f.y + PV1f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].w) * R1f.x + PV1f.y);
PV0f.w = R123f.w;
R1f.y = R7f.y + intBitsToFloat(0xbd088888);
PS0f = R1f.y;
// 3
R0f.x = (R5f.z * intBitsToFloat(uf_remappedPS[2].x) + PV0f.y);
R0f.y = (R5f.w * intBitsToFloat(uf_remappedPS[2].x) + PV0f.x);
R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[2].x) + PV0f.z);
R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[2].x) + PV0f.w);
R1f.x = R7f.x;
PS1f = R1f.x;
// 4
R5f.x = R7f.x;
R5f.y = R7f.y + intBitsToFloat(0x3d17b426);
R4f.z = R7f.x;
R4f.y = R7f.y + intBitsToFloat(0xbd17b426);
PS0f = R4f.y;
R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw);
R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[2].x) * R6f.z + R0f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].x) * R6f.y + R5f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].x) * R6f.x + R5f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].x) * R6f.w + R0f.y);
PV0f.w = R123f.w;
R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3);
PS0f = R0f.y;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[2].y) * R3f.y + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].y) * R3f.w + PV0f.w);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].y) * R3f.x + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].y) * R3f.z + PV0f.x);
PV1f.w = R123f.w;
R0f.x = R7f.x;
PS1f = R0f.x;
// 2
backupReg0f = R7f.y;
R123f.x = (intBitsToFloat(uf_remappedPS[2].y) * R1f.y + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].y) * R1f.x + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].y) * R1f.w + PV1f.y);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].y) * R1f.z + PV1f.w);
PV0f.w = R123f.w;
R7f.y = backupReg0f + intBitsToFloat(0xbd26dfc3);
PS0f = R7f.y;
// 3
backupReg0f = R2f.x;
backupReg1f = R2f.y;
backupReg2f = R2f.z;
R2f.x = (intBitsToFloat(uf_remappedPS[2].z) * backupReg0f + PV0f.y);
R2f.y = (intBitsToFloat(uf_remappedPS[2].z) * backupReg1f + PV0f.x);
R2f.z = (intBitsToFloat(uf_remappedPS[2].z) * R2f.w + PV0f.z);
R2f.w = (intBitsToFloat(uf_remappedPS[2].z) * backupReg2f + PV0f.w);
R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[2].z) * R4f.x + R2f.x);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].z) * R4f.w + R2f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].z) * R4f.z + R2f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].z) * R4f.y + R2f.y);
PV0f.w = R123f.w;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[2].w) * R0f.w + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].w) * R0f.x + PV0f.x);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].w) * R0f.z + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].w) * R0f.y + PV0f.w);
PV1f.w = R123f.w;
// 2
backupReg0f = R7f.x;
backupReg1f = R7f.y;
backupReg2f = R7f.z;
backupReg3f = R7f.w;
R7f.x = (intBitsToFloat(uf_remappedPS[2].w) * backupReg0f + PV1f.y * bloomFactor);
R7f.y = (intBitsToFloat(uf_remappedPS[2].w) * backupReg1f + PV1f.w * bloomFactor);
R7f.z = (intBitsToFloat(uf_remappedPS[2].w) * backupReg2f + PV1f.z * bloomFactor);
R7f.w = (intBitsToFloat(uf_remappedPS[2].w) * backupReg3f + PV1f.x * bloomFactor);
// export
passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w);
}

View File

@ -1,538 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
const float bloomFactor = 0.4;
// shader c612390d4c70f430
uniform ivec4 uf_remappedPS[5];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf597f000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R5f = vec4(0.0);
vec4 R6f = vec4(0.0);
vec4 R7f = vec4(0.0);
vec4 R123f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw);
// 0
R7f.x = R0f.x * intBitsToFloat(0x3b088889);
PV0f.x = R7f.x;
R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6);
PV0f.y = R7f.y;
// 1
R0f.x = PV0f.x + intBitsToFloat(0x3b088889);
R0f.y = PV0f.y;
R1f.z = PV0f.y;
R1f.x = PV0f.x + intBitsToFloat(0xbb088889);
PS1f = R1f.x;
// 2
R2f.x = R7f.x + intBitsToFloat(0x3b888889);
R2f.y = R7f.y;
R4f.z = R7f.y;
R4f.x = R7f.x + intBitsToFloat(0xbb888889);
PS0f = R4f.x;
R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xz,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
backupReg0f = R0f.y;
backupReg1f = R0f.x;
backupReg2f = R0f.w;
PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z);
PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f);
PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f);
PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg2f);
R0f.x = R7f.x + intBitsToFloat(0x3bccccce);
PS0f = R0f.x;
// 1
R123f.x = (R3f.w * intBitsToFloat(uf_remappedPS[0].x) + PV0f.w);
PV1f.x = R123f.x;
R123f.y = (R3f.y * intBitsToFloat(uf_remappedPS[0].x) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R3f.x * intBitsToFloat(uf_remappedPS[0].x) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R3f.z * intBitsToFloat(uf_remappedPS[0].x) + PV0f.x);
PV1f.w = R123f.w;
R0f.y = R7f.y;
PS1f = R0f.y;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[0].y) * R1f.y + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[0].y) * R1f.x + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[0].y) * R1f.w + PV1f.x);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[0].y) * R1f.z + PV1f.w);
PV0f.w = R123f.w;
R1f.x = R7f.x + intBitsToFloat(0xbbccccce);
PS0f = R1f.x;
// 3
backupReg0f = R2f.z;
R3f.x = (intBitsToFloat(uf_remappedPS[0].z) * R2f.w + PV0f.z);
R3f.y = (intBitsToFloat(uf_remappedPS[0].z) * R2f.x + PV0f.y);
R2f.z = (intBitsToFloat(uf_remappedPS[0].z) * backupReg0f + PV0f.w);
R2f.w = (intBitsToFloat(uf_remappedPS[0].z) * R2f.y + PV0f.x);
R1f.y = R7f.y;
PS1f = R1f.y;
// 4
R2f.x = R7f.x + intBitsToFloat(0x3c088889);
R2f.y = R7f.y;
R6f.z = R7f.y;
R6f.x = R7f.x + intBitsToFloat(0xbc088889);
PS0f = R6f.x;
R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[0].z) * R4f.x + R3f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[0].z) * R4f.w + R3f.x);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[0].z) * R4f.z + R2f.z);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[0].z) * R4f.y + R2f.w);
PV0f.w = R123f.w;
R3f.x = R7f.x + intBitsToFloat(0x3c2aaaab);
PS0f = R3f.x;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[0].w) * R0f.x + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[0].w) * R0f.w + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[0].w) * R0f.z + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[0].w) * R0f.y + PV0f.w);
PV1f.w = R123f.w;
R3f.y = R7f.y;
PS1f = R3f.y;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[0].w) * R1f.w + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[0].w) * R1f.z + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[0].w) * R1f.y + PV1f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[0].w) * R1f.x + PV1f.x);
PV0f.w = R123f.w;
R1f.x = R7f.x + intBitsToFloat(0xbc2aaaab);
PS0f = R1f.x;
// 3
R0f.x = (R5f.w * intBitsToFloat(uf_remappedPS[1].x) + PV0f.x);
R0f.y = (R5f.z * intBitsToFloat(uf_remappedPS[1].x) + PV0f.y);
R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[1].x) + PV0f.z);
R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[1].x) + PV0f.w);
R1f.y = R7f.y;
PS1f = R1f.y;
// 4
R5f.x = R7f.x + intBitsToFloat(0x3c4cccce);
R5f.y = R7f.y;
R4f.z = R7f.y;
R4f.x = R7f.x + intBitsToFloat(0xbc4cccce);
PS0f = R4f.x;
R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw);
R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[1].x) * R6f.z + R0f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].x) * R6f.y + R5f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].x) * R6f.x + R5f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].x) * R6f.w + R0f.x);
PV0f.w = R123f.w;
R0f.x = R7f.x + intBitsToFloat(0x3c6eeef0);
PS0f = R0f.x;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[1].y) * R3f.w + PV0f.w);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].y) * R3f.y + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].y) * R3f.x + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].y) * R3f.z + PV0f.x);
PV1f.w = R123f.w;
R0f.y = R7f.y;
PS1f = R0f.y;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[1].y) * R1f.y + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].y) * R1f.x + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].y) * R1f.w + PV1f.x);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].y) * R1f.z + PV1f.w);
PV0f.w = R123f.w;
R1f.x = R7f.x + intBitsToFloat(0xbc6eeef0);
PS0f = R1f.x;
// 3
backupReg0f = R2f.z;
R3f.x = (intBitsToFloat(uf_remappedPS[1].z) * R2f.w + PV0f.z);
R3f.y = (intBitsToFloat(uf_remappedPS[1].z) * R2f.x + PV0f.y);
R2f.z = (intBitsToFloat(uf_remappedPS[1].z) * backupReg0f + PV0f.w);
R2f.w = (intBitsToFloat(uf_remappedPS[1].z) * R2f.y + PV0f.x);
R1f.y = R7f.y;
PS1f = R1f.y;
// 4
R2f.x = R7f.x + intBitsToFloat(0x3c888889);
R2f.y = R7f.y;
R6f.z = R7f.y;
R6f.x = R7f.x + intBitsToFloat(0xbc888889);
PS0f = R6f.x;
R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[1].z) * R4f.x + R3f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].z) * R4f.w + R3f.x);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].z) * R4f.z + R2f.z);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].z) * R4f.y + R2f.w);
PV0f.w = R123f.w;
R3f.x = R7f.x + intBitsToFloat(0x3c99999a);
PS0f = R3f.x;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[1].w) * R0f.x + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].w) * R0f.w + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].w) * R0f.z + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].w) * R0f.y + PV0f.w);
PV1f.w = R123f.w;
R3f.y = R7f.y;
PS1f = R3f.y;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[1].w) * R1f.w + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[1].w) * R1f.z + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[1].w) * R1f.y + PV1f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[1].w) * R1f.x + PV1f.x);
PV0f.w = R123f.w;
R1f.x = R7f.x + intBitsToFloat(0xbc99999a);
PS0f = R1f.x;
// 3
R0f.x = (R5f.w * intBitsToFloat(uf_remappedPS[2].x) + PV0f.x);
R0f.y = (R5f.z * intBitsToFloat(uf_remappedPS[2].x) + PV0f.y);
R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[2].x) + PV0f.z);
R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[2].x) + PV0f.w);
R1f.y = R7f.y;
PS1f = R1f.y;
// 4
R5f.x = R7f.x + intBitsToFloat(0x3caaaaab);
R5f.y = R7f.y;
R4f.z = R7f.y;
R4f.x = R7f.x + intBitsToFloat(0xbcaaaaab);
PS0f = R4f.x;
R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw);
R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[2].x) * R6f.z + R0f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].x) * R6f.y + R5f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].x) * R6f.x + R5f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].x) * R6f.w + R0f.x);
PV0f.w = R123f.w;
R0f.x = R7f.x + intBitsToFloat(0x3cbbbbbc);
PS0f = R0f.x;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[2].y) * R3f.w + PV0f.w);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].y) * R3f.y + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].y) * R3f.x + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].y) * R3f.z + PV0f.x);
PV1f.w = R123f.w;
R0f.y = R7f.y;
PS1f = R0f.y;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[2].y) * R1f.y + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].y) * R1f.x + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].y) * R1f.w + PV1f.x);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].y) * R1f.z + PV1f.w);
PV0f.w = R123f.w;
R1f.x = R7f.x + intBitsToFloat(0xbcbbbbbc);
PS0f = R1f.x;
// 3
backupReg0f = R2f.z;
R3f.x = (intBitsToFloat(uf_remappedPS[2].z) * R2f.w + PV0f.z);
R3f.y = (intBitsToFloat(uf_remappedPS[2].z) * R2f.x + PV0f.y);
R2f.z = (intBitsToFloat(uf_remappedPS[2].z) * backupReg0f + PV0f.w);
R2f.w = (intBitsToFloat(uf_remappedPS[2].z) * R2f.y + PV0f.x);
R1f.y = R7f.y;
PS1f = R1f.y;
// 4
R2f.x = R7f.x + intBitsToFloat(0x3cccccce);
R2f.y = R7f.y;
R6f.z = R7f.y;
R6f.x = R7f.x + intBitsToFloat(0xbcccccce);
PS0f = R6f.x;
R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[2].z) * R4f.x + R3f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].z) * R4f.w + R3f.x);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].z) * R4f.z + R2f.z);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].z) * R4f.y + R2f.w);
PV0f.w = R123f.w;
R3f.x = R7f.x + intBitsToFloat(0x3cdddddf);
PS0f = R3f.x;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[2].w) * R0f.x + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].w) * R0f.w + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].w) * R0f.z + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].w) * R0f.y + PV0f.w);
PV1f.w = R123f.w;
R3f.y = R7f.y;
PS1f = R3f.y;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[2].w) * R1f.w + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[2].w) * R1f.z + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[2].w) * R1f.y + PV1f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[2].w) * R1f.x + PV1f.x);
PV0f.w = R123f.w;
R1f.x = R7f.x + intBitsToFloat(0xbcdddddf);
PS0f = R1f.x;
// 3
R0f.x = (R5f.w * intBitsToFloat(uf_remappedPS[3].x) + PV0f.x);
R0f.y = (R5f.z * intBitsToFloat(uf_remappedPS[3].x) + PV0f.y);
R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[3].x) + PV0f.z);
R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[3].x) + PV0f.w);
R1f.y = R7f.y;
PS1f = R1f.y;
// 4
R5f.x = R7f.x + intBitsToFloat(0x3ceeeef0);
R5f.y = R7f.y;
R4f.z = R7f.y;
R4f.x = R7f.x + intBitsToFloat(0xbceeeef0);
PS0f = R4f.x;
R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw);
R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[3].x) * R6f.z + R0f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[3].x) * R6f.y + R5f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[3].x) * R6f.x + R5f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[3].x) * R6f.w + R0f.x);
PV0f.w = R123f.w;
R0f.x = R7f.x + intBitsToFloat(0x3d000000);
PS0f = R0f.x;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[3].y) * R3f.w + PV0f.w);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[3].y) * R3f.y + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[3].y) * R3f.x + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[3].y) * R3f.z + PV0f.x);
PV1f.w = R123f.w;
R0f.y = R7f.y;
PS1f = R0f.y;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[3].y) * R1f.y + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[3].y) * R1f.x + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[3].y) * R1f.w + PV1f.x);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[3].y) * R1f.z + PV1f.w);
PV0f.w = R123f.w;
R1f.x = R7f.x + intBitsToFloat(0xbd000000);
PS0f = R1f.x;
// 3
backupReg0f = R2f.z;
R3f.x = (intBitsToFloat(uf_remappedPS[3].z) * R2f.w + PV0f.z);
R3f.y = (intBitsToFloat(uf_remappedPS[3].z) * R2f.x + PV0f.y);
R2f.z = (intBitsToFloat(uf_remappedPS[3].z) * backupReg0f + PV0f.w);
R2f.w = (intBitsToFloat(uf_remappedPS[3].z) * R2f.y + PV0f.x);
R1f.y = R7f.y;
PS1f = R1f.y;
// 4
R2f.x = R7f.x + intBitsToFloat(0x3d088889);
R2f.y = R7f.y;
R6f.z = R7f.y;
R6f.x = R7f.x + intBitsToFloat(0xbd088889);
PS0f = R6f.x;
R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[3].z) * R4f.x + R3f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[3].z) * R4f.w + R3f.x);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[3].z) * R4f.z + R2f.z);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[3].z) * R4f.y + R2f.w);
PV0f.w = R123f.w;
R3f.x = R7f.x + intBitsToFloat(0x3d111112);
PS0f = R3f.x;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[3].w) * R0f.x + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[3].w) * R0f.w + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[3].w) * R0f.z + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[3].w) * R0f.y + PV0f.w);
PV1f.w = R123f.w;
R3f.y = R7f.y;
PS1f = R3f.y;
// 2
R123f.x = (intBitsToFloat(uf_remappedPS[3].w) * R1f.w + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[3].w) * R1f.z + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[3].w) * R1f.y + PV1f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[3].w) * R1f.x + PV1f.x);
PV0f.w = R123f.w;
R1f.x = R7f.x + intBitsToFloat(0xbd111112);
PS0f = R1f.x;
// 3
R0f.x = (R5f.w * intBitsToFloat(uf_remappedPS[4].x) + PV0f.x);
R0f.y = (R5f.z * intBitsToFloat(uf_remappedPS[4].x) + PV0f.y);
R5f.z = (R5f.y * intBitsToFloat(uf_remappedPS[4].x) + PV0f.z);
R5f.w = (R5f.x * intBitsToFloat(uf_remappedPS[4].x) + PV0f.w);
R1f.y = R7f.y;
PS1f = R1f.y;
// 4
R5f.x = R7f.x + intBitsToFloat(0x3d19999a);
R5f.y = R7f.y;
R4f.z = R7f.y;
R4f.x = R7f.x + intBitsToFloat(0xbd19999a);
PS0f = R4f.x;
R6f.xyzw = (textureLod(textureUnitPS0, R6f.xz,0.0).xyzw);
R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[4].x) * R6f.z + R0f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[4].x) * R6f.y + R5f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[4].x) * R6f.x + R5f.w);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[4].x) * R6f.w + R0f.x);
PV0f.w = R123f.w;
R0f.x = R7f.x + intBitsToFloat(0x3d222223);
PS0f = R0f.x;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[4].y) * R3f.w + PV0f.w);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[4].y) * R3f.y + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[4].y) * R3f.x + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[4].y) * R3f.z + PV0f.x);
PV1f.w = R123f.w;
R0f.y = R7f.y;
PS1f = R0f.y;
// 2
backupReg0f = R7f.x;
R123f.x = (intBitsToFloat(uf_remappedPS[4].y) * R1f.y + PV1f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[4].y) * R1f.x + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[4].y) * R1f.w + PV1f.x);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[4].y) * R1f.z + PV1f.w);
PV0f.w = R123f.w;
R7f.x = backupReg0f + intBitsToFloat(0xbd222223);
PS0f = R7f.x;
// 3
backupReg0f = R2f.x;
backupReg1f = R2f.z;
backupReg2f = R2f.y;
R2f.x = (intBitsToFloat(uf_remappedPS[4].z) * R2f.w + PV0f.z);
R2f.y = (intBitsToFloat(uf_remappedPS[4].z) * backupReg0f + PV0f.y);
R2f.z = (intBitsToFloat(uf_remappedPS[4].z) * backupReg1f + PV0f.w);
R2f.w = (intBitsToFloat(uf_remappedPS[4].z) * backupReg2f + PV0f.x);
R4f.xyzw = (textureLod(textureUnitPS0, R4f.xz,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw);
// 0
R123f.x = (intBitsToFloat(uf_remappedPS[4].z) * R4f.x + R2f.y);
PV0f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[4].z) * R4f.w + R2f.x);
PV0f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[4].z) * R4f.z + R2f.z);
PV0f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[4].z) * R4f.y + R2f.w);
PV0f.w = R123f.w;
// 1
R123f.x = (intBitsToFloat(uf_remappedPS[4].w) * R0f.x + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (intBitsToFloat(uf_remappedPS[4].w) * R0f.w + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (intBitsToFloat(uf_remappedPS[4].w) * R0f.z + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (intBitsToFloat(uf_remappedPS[4].w) * R0f.y + PV0f.w);
PV1f.w = R123f.w;
// 2
backupReg0f = R7f.x;
backupReg1f = R7f.y;
backupReg2f = R7f.z;
backupReg3f = R7f.w;
R7f.x = (intBitsToFloat(uf_remappedPS[4].w) * backupReg0f + PV1f.x * bloomFactor);
R7f.y = (intBitsToFloat(uf_remappedPS[4].w) * backupReg1f + PV1f.w * bloomFactor);
R7f.z = (intBitsToFloat(uf_remappedPS[4].w) * backupReg2f + PV1f.z * bloomFactor);
R7f.w = (intBitsToFloat(uf_remappedPS[4].w) * backupReg3f + PV1f.y * bloomFactor);
// export
passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 000500001019C800,000500001019E600,000500001019E500,0005000E1019C800
name = "The Legend of Zelda: Twilight Princess HD - Adjustable Bloom"
version = 2

View File

@ -1,56 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 49865bd2e62efda1
//dark world bloom
const float bloom = 0.98;
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf597f000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
R0f.xyz = (textureLod(textureUnitPS0, R0f.xy,0.0).xyz)*bloom;
// 0
backupReg0f = R0f.y;
backupReg1f = R0f.x;
PV0f.x = mul_nonIEEE(R0f.z, intBitsToFloat(uf_remappedPS[0].z));
PV0f.y = mul_nonIEEE(backupReg0f, intBitsToFloat(uf_remappedPS[0].y));
PV0f.z = mul_nonIEEE(backupReg1f, intBitsToFloat(uf_remappedPS[0].x));
PV0f.w = intBitsToFloat(uf_remappedPS[0].w);
// 1
PV1f.x = max(PV0f.w, 0.0);
PV1f.y = max(PV0f.x, 0.0);
PV1f.z = max(PV0f.y, 0.0);
PV1f.w = max(PV0f.z, 0.0);
// 2
R0f.x = min(PV1f.w, 1.0);
R0f.y = min(PV1f.z, 1.0);
R0f.z = min(PV1f.y, 1.0);
R0f.w = min(PV1f.x, 1.0);
// export
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
}

View File

@ -1,62 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 5f422bf63e25be7f // Bleach pass cutscene
const float bleach = 0.7;
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x24dfb000 res 960x540x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem1;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem1;
R0f.w = (texture(textureUnitPS0, R0f.xy).x);
// 0
PV0f.x = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000);
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000);
PV0f.w = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000);
R1f.w = intBitsToFloat(uf_remappedPS[0].w);
R1f.w = clamp(R1f.w, 0.0, 1.0);
PS0f = R1f.w;
// 1
PV1f.x = fract(PV0f.w);
PV1f.y = fract(PV0f.x);
PV1f.w = fract(PV0f.z);
// 2
PV0f.x = PV1f.w * intBitsToFloat(0x3f808081);
PV0f.y = PV1f.x * intBitsToFloat(0x3f808081);
PV0f.z = PV1f.y * intBitsToFloat(0x3f808081);
// 3
R1f.x = mul_nonIEEE(R0f.w, PV0f.z);
R1f.x = clamp(R1f.x, 0.0, 1.0);
R1f.y = mul_nonIEEE(R0f.w, PV0f.y);
R1f.y = clamp(R1f.y, 0.0, 1.0);
R1f.z = mul_nonIEEE(R0f.w, PV0f.x);
R1f.z = clamp(R1f.z, 0.0, 1.0);
// export
passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w) * bleach;
}

View File

@ -1,341 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 95a5a89d62998e0d
// blur
const float bloom = 0.98;
uniform ivec4 uf_remappedPS[3];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf59ff000 res 480x270x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R5f = vec4(0.0);
vec4 R6f = vec4(0.0);
vec4 R7f = vec4(0.0);
vec4 R123f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
float scaler;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = vec4(gl_FragCoord.xy*uf_fragCoordScale,gl_FragCoord.zw);
scaler = uf_fragCoordScale.x;
// 0
R7f.x = R0f.x * intBitsToFloat(0x3b088889);
PV0f.x = R7f.x;
R7f.y = R0f.y * intBitsToFloat(0x3b72b9d6);
PV0f.y = R7f.y;
// 1
R0f.x = PV0f.x;
R0f.y = PV0f.y + intBitsToFloat(0x3b72b9d6) * scaler;
R1f.z = PV0f.x;
R1f.y = PV0f.y + intBitsToFloat(0xbb72b9d6) * scaler;
PS1f = R1f.y;
// 2
R2f.x = R7f.x;
R2f.y = R7f.y + intBitsToFloat(0x3bf2b9d6) * scaler;
R4f.z = R7f.x;
R4f.y = R7f.y + intBitsToFloat(0xbbf2b9d6) * scaler;
PS0f = R4f.y;
R3f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.zy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
backupReg0f = R0f.x;
backupReg1f = R0f.w;
PV0f.x = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.y);
PV0f.y = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), R0f.z);
PV0f.z = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg0f);
PV0f.w = mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y), backupReg1f);
R0f.y = R7f.y + intBitsToFloat(0x3c360b60) * scaler;
PS0f = R0f.y;
// 1
R123f.x = (mul_nonIEEE(R3f.y,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (mul_nonIEEE(R3f.w,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.w);
PV1f.y = R123f.y;
R123f.z = (mul_nonIEEE(R3f.x,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (mul_nonIEEE(R3f.z,intBitsToFloat(uf_remappedPS[0].x)) + PV0f.y);
PV1f.w = R123f.w;
R0f.x = R7f.x;
PS1f = R0f.x;
// 2
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.y) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.x) + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.w) + PV1f.y);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].y),R1f.z) + PV1f.w);
PV0f.w = R123f.w;
R1f.y = R7f.y + intBitsToFloat(0xbc360b60) * scaler;
PS0f = R1f.y;
// 3
backupReg0f = R2f.z;
R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.x) + PV0f.y);
R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.y) + PV0f.x);
R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R2f.w) + PV0f.z);
R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),backupReg0f) + PV0f.w);
R1f.x = R7f.x;
PS1f = R1f.x;
// 4
R2f.x = R7f.x;
R2f.y = R7f.y + intBitsToFloat(0x3c72b9d6) * scaler;
R6f.z = R7f.x;
R6f.y = R7f.y + intBitsToFloat(0xbc72b9d6) * scaler;
PS0f = R6f.y;
R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.x) + R3f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.w) + R2f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.z) + R2f.w);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].z),R4f.y) + R3f.y);
PV0f.w = R123f.w;
R3f.y = R7f.y + intBitsToFloat(0x3c97b426) * scaler;
PS0f = R3f.y;
// 1
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.w) + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.x) + PV0f.x);
PV1f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.z) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R0f.y) + PV0f.w);
PV1f.w = R123f.w;
R3f.x = R7f.x;
PS1f = R3f.x;
// 2
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.z) + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.y) + PV1f.w);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[0].w),R1f.x) + PV1f.y);
PV0f.w = R123f.w;
R1f.y = R7f.y + intBitsToFloat(0xbc97b426) * scaler;
PS0f = R1f.y;
// 3
R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.y);
R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.x);
R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.z);
R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[1].x)) + PV0f.w);
R1f.x = R7f.x;
PS1f = R1f.x;
// 4
R5f.x = R7f.x;
R5f.y = R7f.y + intBitsToFloat(0x3cb60b60) * scaler;
R4f.z = R7f.x;
R4f.y = R7f.y + intBitsToFloat(0xbcb60b60) * scaler;
PS0f = R4f.y;
R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw);
R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw);
// 0
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.z) + R0f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.y) + R5f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.x) + R5f.w);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].x),R6f.w) + R0f.y);
PV0f.w = R123f.w;
R0f.y = R7f.y + intBitsToFloat(0x3cd4629b) * scaler;
PS0f = R0f.y;
// 1
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.y) + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.w) + PV0f.w);
PV1f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.x) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R3f.z) + PV0f.x);
PV1f.w = R123f.w;
R0f.x = R7f.x;
PS1f = R0f.x;
// 2
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.y) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.x) + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.w) + PV1f.y);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].y),R1f.z) + PV1f.w);
PV0f.w = R123f.w;
R1f.y = R7f.y + intBitsToFloat(0xbcd4629b) * scaler;
PS0f = R1f.y;
// 3
backupReg0f = R2f.z;
R3f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.x) + PV0f.y);
R3f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.y) + PV0f.x);
R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R2f.w) + PV0f.z);
R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),backupReg0f) + PV0f.w);
R1f.x = R7f.x;
PS1f = R1f.x;
// 4
R2f.x = R7f.x;
R2f.y = R7f.y + intBitsToFloat(0x3cf2b9d6) * scaler;
R6f.z = R7f.x;
R6f.y = R7f.y + intBitsToFloat(0xbcf2b9d6) * scaler;
PS0f = R6f.y;
R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R5f.xyzw = (textureLod(textureUnitPS0, R2f.xy,0.0).xyzw);
// 0
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.x) + R3f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.w) + R2f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.z) + R2f.w);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].z),R4f.y) + R3f.y);
PV0f.w = R123f.w;
R3f.y = R7f.y + intBitsToFloat(0x3d088888) * scaler;
PS0f = R3f.y;
// 1
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.w) + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.x) + PV0f.x);
PV1f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.z) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R0f.y) + PV0f.w);
PV1f.w = R123f.w;
R3f.x = R7f.x;
PS1f = R3f.x;
// 2
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.z) + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.y) + PV1f.w);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[1].w),R1f.x) + PV1f.y);
PV0f.w = R123f.w;
R1f.y = R7f.y + intBitsToFloat(0xbd088888) * scaler;
PS0f = R1f.y;
// 3
R0f.x = (mul_nonIEEE(R5f.z,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.y);
R0f.y = (mul_nonIEEE(R5f.w,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.x);
R5f.z = (mul_nonIEEE(R5f.y,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.z);
R5f.w = (mul_nonIEEE(R5f.x,intBitsToFloat(uf_remappedPS[2].x)) + PV0f.w);
R1f.x = R7f.x;
PS1f = R1f.x;
// 4
R5f.x = R7f.x;
R5f.y = R7f.y + intBitsToFloat(0x3d17b426) * scaler;
R4f.z = R7f.x;
R4f.y = R7f.y + intBitsToFloat(0xbd17b426) * scaler;
PS0f = R4f.y;
R6f.xyzw = (textureLod(textureUnitPS0, R6f.zy,0.0).xyzw);
R3f.xyzw = (textureLod(textureUnitPS0, R3f.xy,0.0).xyzw);
R1f.xyzw = (textureLod(textureUnitPS0, R1f.xy,0.0).xyzw);
R2f.xyzw = (textureLod(textureUnitPS0, R5f.xy,0.0).xyzw);
// 0
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.z) + R0f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.y) + R5f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.x) + R5f.w);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].x),R6f.w) + R0f.y);
PV0f.w = R123f.w;
R0f.y = R7f.y + intBitsToFloat(0x3d26dfc3) * scaler;
PS0f = R0f.y;
// 1
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.y) + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.w) + PV0f.w);
PV1f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.x) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R3f.z) + PV0f.x);
PV1f.w = R123f.w;
R0f.x = R7f.x;
PS1f = R0f.x;
// 2
backupReg0f = R7f.y;
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.y) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.x) + PV1f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.w) + PV1f.y);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].y),R1f.z) + PV1f.w);
PV0f.w = R123f.w;
R7f.y = backupReg0f + intBitsToFloat(0xbd26dfc3) * scaler;
PS0f = R7f.y;
// 3
backupReg0f = R2f.x;
backupReg1f = R2f.y;
backupReg2f = R2f.z;
R2f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg0f) + PV0f.y);
R2f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg1f) + PV0f.x);
R2f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R2f.w) + PV0f.z);
R2f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),backupReg2f) + PV0f.w);
R4f.xyzw = (textureLod(textureUnitPS0, R4f.zy,0.0).xyzw);
R0f.xyzw = (textureLod(textureUnitPS0, R0f.xy,0.0).xyzw);
R7f.xyzw = (textureLod(textureUnitPS0, R7f.xy,0.0).xyzw);
// 0
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.x) + R2f.x);
PV0f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.w) + R2f.z);
PV0f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.z) + R2f.w);
PV0f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].z),R4f.y) + R2f.y);
PV0f.w = R123f.w;
// 1
R123f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.w) + PV0f.y);
PV1f.x = R123f.x;
R123f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.x) + PV0f.x);
PV1f.y = R123f.y;
R123f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.z) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),R0f.y) + PV0f.w);
PV1f.w = R123f.w;
// 2
backupReg0f = R7f.x;
backupReg1f = R7f.y;
backupReg2f = R7f.z;
backupReg3f = R7f.w;
R7f.x = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg0f) + PV1f.y);
R7f.y = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg1f) + PV1f.w);
R7f.z = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg2f) + PV1f.z);
R7f.w = (mul_nonIEEE(intBitsToFloat(uf_remappedPS[2].w),backupReg3f) + PV1f.x);
// export
passPixelColor0 = vec4(R7f.x, R7f.y, R7f.z, R7f.w)* bloom;
}

View File

@ -1,87 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader 6437bc3fbba05d3a //skyline
const float redScale = 0.95;
const float greenScale = 1.06;
const float blueScale = 1.28;
const float hazeFactor = 0.1;
//old contrasty, or just copy paste clarity
const float gamma = 1.025; // 1.0 is neutral Botw is already colour graded at this stage
const float exposure = 0.99; // 1.0 is neutral
const float vibrance = 0.75; // 0.0 is neutral
const float crushContrast = 0.0; // 0.0 is neutral. Use small increments, loss of shadow detail
vec3 contrasty(vec3 colour){
vec3 fColour = (colour.xyz);
fColour.x = fColour.x *redScale;
fColour.y = fColour.y *greenScale;
fColour.z = fColour.z *blueScale;
fColour = clamp(exposure * fColour, 0.0, 1.0);
fColour = pow(fColour, vec3(1.0 / gamma));
float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114;
float mn = min(min(fColour.r, fColour.g), fColour.b);
float mx = max(max(fColour.r, fColour.g), fColour.b);
float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0;
vec3 lightness = vec3((mn + mx) / 2.0);
// vibrance
fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat);
fColour = max(vec3(0.0), fColour - vec3(crushContrast));
return fColour;
}
uniform ivec4 uf_remappedPS[1];
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
// 0
PV0f.x = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000);
PV0f.y = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000);
PV0f.z = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000);
PV0f.w = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000);
// 1
PV1f.x = fract(PV0f.w);
PV1f.y = fract(PV0f.x);
PV1f.z = fract(PV0f.y);
PV1f.w = fract(PV0f.z);
// 2
R0f.x = PV1f.x * intBitsToFloat(0x3f808081);
R0f.x = clamp(R0f.x, 0.0, 1.0);
R0f.y = PV1f.w * intBitsToFloat(0x3f808081);
R0f.y = clamp(R0f.y, 0.0, 1.0);
R0f.z = PV1f.z * intBitsToFloat(0x3f808081);
R0f.z = clamp(R0f.z, 0.0, 1.0);
R0f.w = PV1f.y * intBitsToFloat(0x3f808081);
R0f.w = clamp(R0f.w, 0.0, 1.0);
// export
R0f.xyz = contrasty(R0f.xyz);
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
//passPixelColor0 = vec4(R0f.x*redScale, R0f.y*greenScale, R0f.z*blueScale, R0f.w);
}

View File

@ -1,100 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader afa7dc4b804ad02f // sky
const float redScale = 0.95;
const float greenScale = 1.06;
const float blueScale = 1.28;
const float hazeFactor = 0.1;
//old contrasty, or just copy paste clarity
const float gamma = 1.025; // 1.0 is neutral Botw is already colour graded at this stage
const float exposure = 0.99; // 1.0 is neutral
const float vibrance = 0.75; // 0.0 is neutral
const float crushContrast = 0.0; // 0.0 is neutral. Use small increments, loss of shadow detail
vec3 contrasty(vec3 colour){
vec3 fColour = (colour.xyz);
fColour.x = fColour.x *redScale;
fColour.y = fColour.y *greenScale;
fColour.z = fColour.z *blueScale;
fColour = clamp(exposure * fColour, 0.0, 1.0);
fColour = pow(fColour, vec3(1.0 / gamma));
float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114;
float mn = min(min(fColour.r, fColour.g), fColour.b);
float mx = max(max(fColour.r, fColour.g), fColour.b);
float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0;
vec3 lightness = vec3((mn + mx) / 2.0);
// vibrance
fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat);
fColour = max(vec3(0.0), fColour - vec3(crushContrast));
return fColour;
}
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2f74d800 res 64x64x1 dim 1 tm: 4 format 0001 compSel: 0 0 0 0 mipView: 0x0 (num 0x7) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 0 0 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 1) in vec4 passParameterSem1;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
R1f = passParameterSem1;
R1f.xyz = (texture(textureUnitPS0, R1f.xy).xyz);
// 0
backupReg0f = R0f.w;
PV0f.x = intBitsToFloat(uf_remappedPS[0].x) * intBitsToFloat(0x3f7f0000);
PV0f.y = intBitsToFloat(uf_remappedPS[0].w) * intBitsToFloat(0x3f7f0000);
PV0f.z = intBitsToFloat(uf_remappedPS[0].z) * intBitsToFloat(0x3f7f0000);
PV0f.w = intBitsToFloat(uf_remappedPS[0].y) * intBitsToFloat(0x3f7f0000);
R127f.x = backupReg0f * intBitsToFloat(0x3f808081);
PS0f = R127f.x;
// 1
PV1f.x = fract(PV0f.w);
PV1f.y = fract(PV0f.x);
PV1f.z = fract(PV0f.y);
PV1f.w = fract(PV0f.z);
// 2
PV0f.y = PV1f.x * intBitsToFloat(0x3f808081);
PV0f.z = PV1f.y * intBitsToFloat(0x3f808081);
PV0f.w = PV1f.w * intBitsToFloat(0x3f808081);
R0f.w = mul_nonIEEE(PV1f.z, R127f.x);
R0f.w = clamp(R0f.w, 0.0, 1.0);
PS0f = R0f.w;
// 3
R0f.x = mul_nonIEEE(R1f.x, PV0f.z);
R0f.x = clamp(R0f.x, 0.0, 1.0);
R0f.y = mul_nonIEEE(R1f.y, PV0f.y);
R0f.y = clamp(R0f.y, 0.0, 1.0);
R0f.z = mul_nonIEEE(R1f.z, PV0f.w);
R0f.z = clamp(R0f.z, 0.0, 1.0);
// export
R0f.xyz = contrasty(R0f.xyz);
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
}

View File

@ -1,173 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader c14019840473ff86 //aa
const float redScale = 0.92;
const float greenScale = 1.02; //5
const float blueScale = 1.24;
const float hazeFactor = 0.1;
const float gamma = 0.98; // 1.0 is neutral Botw is already colour graded at this stage
const float exposure = 1.075; // 1.0 is neutral
const float vibrance = 0.37; // 0.0 is neutral
const float crushContrast = 0.00; // 0.0 is neutral. Use small increments, loss of shadow detail
float Sigmoid (float x) {
return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5)));
}
vec3 contrasty(vec3 colour){
vec3 fColour = (colour.xyz);
fColour.x = fColour.x *redScale;
fColour.y = fColour.y *greenScale;
fColour.z = fColour.z *blueScale;
fColour = clamp(exposure * fColour, 0.0, 1.0);
fColour = pow(fColour, vec3(1.0 / gamma));
float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114;
float mn = min(min(fColour.r, fColour.g), fColour.b);
float mx = max(max(fColour.r, fColour.g), fColour.b);
float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0;
vec3 lightness = vec3((mn + mx) / 2.0);
// vibrance
fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat);
fColour = max(vec3(0.0), fColour - vec3(crushContrast));
return fColour;
}
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4001000 res 1920x1080x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf5187000 res 1920x1080x1 dim 1 tm: 4 format 0011 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
R0f.w = (textureGather(textureUnitPS1, R0f.xy).y);
// 0
R1f.x = R0f.x + intBitsToFloat(0xba088889);
R1f.y = R0f.y + intBitsToFloat(0xba72b9d6);
R2f.z = R0f.x;
R2f.y = R0f.y + intBitsToFloat(0xba72b9d6);
PS0f = R2f.y;
// 1
R3f.x = R0f.x + intBitsToFloat(0xba088889);
R3f.y = R0f.y;
R1f.xyzw = (textureGather(textureUnitPS1, R1f.xy).xyzw);
R2f.yz = (textureGather(textureUnitPS1, R2f.zy).yz);
R3f.xy = (textureGather(textureUnitPS1, R3f.xy).xy);
// 0
PV0f.x = R2f.z + R3f.x;
PV0f.y = R1f.w + R0f.w;
PV0f.z = R1f.z + R3f.y;
PV0f.w = R1f.x + R2f.y;
// 1
R123f.x = (R1f.y * 2.0 + -(PV0f.x));
PV1f.x = R123f.x;
R123f.y = (R1f.y * 2.0 + -(PV0f.y));
PV1f.y = R123f.y;
R123f.z = (R1f.y * 2.0 + -(PV0f.z));
PV1f.z = R123f.z;
R123f.w = (R1f.y * 2.0 + -(PV0f.w));
PV1f.w = R123f.w;
// 2
PV0f.x = max(PV1f.x, -(PV1f.x));
PV0f.y = max(PV1f.y, -(PV1f.y));
PV0f.z = max(PV1f.z, -(PV1f.z));
PV0f.w = max(PV1f.w, -(PV1f.w));
// 3
PV1f.x = PV0f.x + intBitsToFloat(0xb400d959);
PV1f.y = PV0f.y + intBitsToFloat(0xb400d959);
PV1f.z = PV0f.z + intBitsToFloat(0xb400d959);
PV1f.w = PV0f.w + intBitsToFloat(0xb400d959);
// 4
R123f.x = intBitsToFloat(((PV1f.w >= 0.0)?(floatBitsToInt(1.0)):(0)));
PV0f.x = R123f.x;
R123f.y = intBitsToFloat(((PV1f.z >= 0.0)?(floatBitsToInt(1.0)):(0)));
PV0f.y = R123f.y;
R123f.z = intBitsToFloat(((PV1f.y >= 0.0)?(floatBitsToInt(1.0)):(0)));
PV0f.z = R123f.z;
R123f.w = intBitsToFloat(((PV1f.x >= 0.0)?(floatBitsToInt(1.0)):(0)));
PV0f.w = R123f.w;
// 5
tempf.x = dot(vec4(PV0f.x,PV0f.y,PV0f.z,PV0f.w),vec4(0.25,0.25,0.25,0.25));
PV1f.x = tempf.x;
PV1f.y = tempf.x;
PV1f.z = tempf.x;
PV1f.w = tempf.x;
// 6
R127f.z = PV1f.x * intBitsToFloat(0x3f400000)*0.5;
PV0f.z = R127f.z;
// 7
R1f.x = (PV0f.z * intBitsToFloat(0xba088889)*0.5 + R0f.x);
R1f.y = R0f.y;
R2f.z = R0f.x;
R2f.y = (PV0f.z * intBitsToFloat(0xba72b9d6)*0.5 + R0f.y);
PS1f = R2f.y;
// 8
R3f.x = (R127f.z * intBitsToFloat(0x3a088889)*0.5 + R0f.x);
R3f.y = R0f.y;
R0f.w = (R127f.z * intBitsToFloat(0x3a72b9d6) + R0f.y);
R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw);
R2f.xyzw = (texture(textureUnitPS0, R2f.zy).xyzw);
R3f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw);
R0f.xyzw = (texture(textureUnitPS0, R0f.xw).xyzw);
// 0
PV0f.x = R1f.w + R2f.w;
PV0f.y = R1f.z + R2f.z;
PV0f.z = R1f.y + R2f.y;
PV0f.w = R1f.x + R2f.x;
// 1
PV1f.x = R3f.w + PV0f.x;
PV1f.y = R3f.z + PV0f.y;
PV1f.z = R3f.y + PV0f.z;
PV1f.w = R3f.x + PV0f.w;
// 2
backupReg0f = R0f.y;
backupReg1f = R0f.x;
PV0f.x = R0f.w + PV1f.x;
PV0f.y = R0f.z + PV1f.y;
PV0f.z = backupReg0f + PV1f.z;
PV0f.w = backupReg1f + PV1f.w;
// 3
R0f.x = PV0f.w * 0.25;
R0f.y = PV0f.z * 0.25;
R0f.z = PV0f.y * 0.25;
R0f.w = PV0f.x * 0.25;
// export
//R0f.xyz = vec3(Sigmoid(R0f.x), Sigmoid(R0f.y),Sigmoid(R0f.z));
//R0f.xyz = contrasty(R0f.xyz);
//R0f.xyz = clamp(R0f.xyz,0,1);
//vec3 mix(vec3 x, vec3 y, float a)
R0f.xyz = mix(contrasty(R0f.xyz), vec3(Sigmoid(R0f.x), Sigmoid(R0f.y),Sigmoid(R0f.z)), 0.25);
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
}

View File

@ -1,187 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
// shader f42bb0ed469dd804 //sun
const float redScale = 0.92;
const float greenScale = 1.02; //5
const float blueScale = 1.24;
const float hazeFactor = 0.1;
const float gamma = 0.98; // 1.0 is neutral Botw is already colour graded at this stage
const float exposure = 1.075; // 1.0 is neutral
const float vibrance = 0.37; // 0.0 is neutral
const float crushContrast = 0.00; // 0.0 is neutral. Use small increments, loss of shadow detail
float Sigmoid (float x) {
return 1.0 / (1.0 + (exp(-(x - 0.5) * 5.5)));
}
vec3 contrasty(vec3 colour){
vec3 fColour = (colour.xyz);
fColour.x = fColour.x *redScale;
fColour.y = fColour.y *greenScale;
fColour.z = fColour.z *blueScale;
fColour = clamp(exposure * fColour, 0.0, 1.0);
fColour = pow(fColour, vec3(1.0 / gamma));
float luminance = fColour.r*0.299 + fColour.g*0.587 + fColour.b*0.114;
float mn = min(min(fColour.r, fColour.g), fColour.b);
float mx = max(max(fColour.r, fColour.g), fColour.b);
float sat = (1.0 - (mx - mn)) * (1.0 - mx) * luminance * 5.0;
vec3 lightness = vec3((mn + mx) / 2.0);
// vibrance
fColour = mix(fColour, mix(fColour, lightness, -vibrance), sat);
fColour = max(vec3(0.0), fColour - vec3(crushContrast));
return fColour;
}
uniform ivec4 uf_remappedPS[3];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0x2f478000 res 32x32x1 dim 1 tm: 4 format 0001 compSel: 0 0 0 0 mipView: 0x0 (num 0x6) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x2f3e2800 res 32x32x1 dim 1 tm: 4 format 0002 compSel: 0 0 0 1 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 2) uniform sampler2D textureUnitPS2;// Tex2 addr 0x24dfb000 res 960x540x1 dim 1 tm: 4 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler2 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem1;
layout(location = 1) in vec4 passParameterSem2;
layout(location = 2) in vec4 passParameterSem3;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R124f = vec4(0.0);
vec4 R125f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem1;
R1f = passParameterSem2;
R2f = passParameterSem3;
R0f.xyz = (texture(textureUnitPS0, R0f.xy).wzy);
R1f.xyzw = (texture(textureUnitPS1, R1f.xy).xyzw);
// 0
backupReg0f = R0f.y;
R125f.x = intBitsToFloat(uf_remappedPS[0].w);
PV0f.x = R125f.x;
PV0f.y = R0f.z * intBitsToFloat(0x437f0000);
PV0f.z = backupReg0f * intBitsToFloat(0x437f0000);
PV0f.w = R0f.x * intBitsToFloat(0x437f0000);
R127f.w = 1.0 / R2f.z;
PS0f = R127f.w;
// 1
PV1f.x = floor(PV0f.w);
R125f.y = intBitsToFloat(uf_remappedPS[1].w);
PV1f.y = R125f.y;
PV1f.z = floor(PV0f.y);
PV1f.w = floor(PV0f.z);
R124f.w = 1.0 / PV0f.x;
PS1f = R124f.w;
// 2
R127f.xyz = vec3(PV1f.x,PV1f.w,PV1f.z) + vec3(intBitsToFloat(0xc3000000),intBitsToFloat(0xc3000000),intBitsToFloat(0xc3000000));
PV0f.x = R127f.x;
PV0f.y = R127f.y;
PV0f.z = R127f.z;
R125f.w = mul_nonIEEE(R2f.x, R127f.w);
R126f.x = 1.0 / PV1f.y;
PS0f = R126f.x;
// 3
tempf.x = dot(vec4(intBitsToFloat(uf_remappedPS[1].x),intBitsToFloat(uf_remappedPS[1].y),intBitsToFloat(uf_remappedPS[1].z),-0.0),vec4(PV0f.x,PV0f.y,PV0f.z,0.0));
PV1f.x = tempf.x;
PV1f.y = tempf.x;
PV1f.z = tempf.x;
PV1f.w = tempf.x;
R126f.z = tempf.x;
R126f.y = mul_nonIEEE(R2f.y, R127f.w);
PS1f = R126f.y;
// 4
tempf.x = dot(vec4(intBitsToFloat(uf_remappedPS[0].x),intBitsToFloat(uf_remappedPS[0].y),intBitsToFloat(uf_remappedPS[0].z),-0.0),vec4(R127f.x,R127f.y,R127f.z,0.0));
PV0f.x = tempf.x;
PV0f.y = tempf.x;
PV0f.z = tempf.x;
PV0f.w = tempf.x;
R127f.w = tempf.x;
R127f.y = max(PV1f.x, -(PV1f.x));
PS0f = R127f.y;
// 5
R127f.x = max(PV0f.x, -(PV0f.x));
PV1f.x = R127f.x;
PV1f.y = (R126f.z > 0.0)?1.0:0.0;
PV1f.z = PS0f + intBitsToFloat(0xc4800000);
R126f.w = (PV0f.x > 0.0)?1.0:0.0;
PS1f = (0.0 > R126f.z)?1.0:0.0;
// 6
PV0f.x = (0.0 > R127f.w)?1.0:0.0;
R123f.y = (PV1f.z * intBitsToFloat(0x3a800000) + 1.0);
PV0f.y = R123f.y;
R126f.z = PV1f.y + -(PS1f);
PV0f.w = PV1f.x + intBitsToFloat(0xc4800000);
PS0f = intBitsToFloat(uf_remappedPS[2].w);
PS0f = clamp(PS0f, 0.0, 1.0);
// 7
backupReg0f = R126f.w;
R123f.x = (PV0f.w * intBitsToFloat(0x3a800000) + 1.0);
PV1f.x = R123f.x;
PV1f.z = floor(PV0f.y);
R126f.w = backupReg0f + -(PV0f.x);
R0f.w = mul_nonIEEE(R1f.w, PS0f);
R0f.w = clamp(R0f.w, 0.0, 1.0);
PS1f = R0f.w;
// 8
R123f.y = (-(PV1f.z) * intBitsToFloat(0x44800000) + R127f.y);
PV0f.y = R123f.y;
PV0f.w = floor(PV1f.x);
// 9
R123f.x = (-(PV0f.w) * intBitsToFloat(0x44800000) + R127f.x);
PV1f.x = R123f.x;
PV1f.y = mul_nonIEEE(PV0f.y, R126f.z);
// 10
PV0f.x = mul_nonIEEE(PV1f.x, R126f.w);
R123f.z = (mul_nonIEEE(R125f.w,R126f.x) + PV1f.y);
PV0f.z = R123f.z;
// 11
R2f.x = mul_nonIEEE(R125f.y, PV0f.z);
R123f.w = (mul_nonIEEE(R126f.y,R124f.w) + PV0f.x);
PV1f.w = R123f.w;
// 12
R2f.y = mul_nonIEEE(R125f.x, PV1f.w);
R2f.xyz = (texture(textureUnitPS2, R2f.xy).xyz);
// 0
PV0f.y = R2f.z;
PV0f.y = clamp(PV0f.y, 0.0, 1.0);
PV0f.z = R2f.y;
PV0f.z = clamp(PV0f.z, 0.0, 1.0);
PV0f.w = R2f.x;
PV0f.w = clamp(PV0f.w, 0.0, 1.0);
// 1
R0f.x = mul_nonIEEE(R1f.x, PV0f.w);
R0f.x = clamp(R0f.x, 0.0, 1.0);
R0f.y = mul_nonIEEE(R1f.y, PV0f.z);
R0f.y = clamp(R0f.y, 0.0, 1.0);
R0f.z = mul_nonIEEE(R1f.z, PV0f.y);
R0f.z = clamp(R0f.z, 0.0, 1.0);
// export
R0f.xyz = mix(contrasty(R0f.xyz), vec3(Sigmoid(R0f.x), Sigmoid(R0f.y),Sigmoid(R0f.z)), 0.25);
passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
}

View File

@ -1,12 +0,0 @@
[TPHDv81]
moduleMatches = 0x1A03E108
#Move some look tweaks to patches instead of shaders
#rodata constants
###exp and haze settings
0x100C3EB8 = .float 0.0034 ## Near world (over)exposure
0x100C36C4 = .float 0.0035 ## Bloom npc/object (over) "
0x100C3780 = .float 0.0034 ## Distant world (over)exposure
0x100C3774 = .float 22.0 ### haze 21 = default 21++~ gradually less
#0x100871C8 = .float 0.01 #100871C8:.float 0.00050000002 ###cloud float

View File

@ -1,21 +0,0 @@
[Definition]
titleIds = 000500001019C800,000500001019E600,000500001019E500
name = "The Legend of Zelda: Twilight Princess HD - Contrasty patch"
version = 2
#v0.0 Lets see of this works
#v0.1 "Baked" overexposure
#v0.2 haze world exposure
#[TextureRedefine] #general
#formats = 0x19,0x1a
#overwriteFormat = 0x1f
#[TextureRedefine] #horizon
#formats = 0x001
#overwriteFormat = 0x005
#[TextureRedefine] #clouds
#formats = 0x007
#overwriteFormat = 0x00f

View File

@ -1,5 +0,0 @@
# Found by jediyoshi, Shadow format found by SunBroDave
[Definition]
titleIds = 0005000010143400,0005000010143600,0005000010143500
name = "The Legend of Zelda: The Wind Waker HD - GC colour grading" # aka teal is not blue... nor is purple.
version = 2

View File

@ -1,51 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader ff71dcd2ad4defdc
uniform ivec4 uf_remappedPS[4];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf5807800 res 1920x1080x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0xf4000800 res 1920x1080x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[2];
bool activeMaskStackC[3];
activeMaskStack[0] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem2;
//R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy);
R2f.xyzw= (texture(textureUnitPS0, R0f.xy).xyzw);
passPixelColor0 = R2f.xyzw;
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010143400,0005000010143600,0005000010143500
name = "The Legend of Zelda: The Wind Waker HD - No Anti-Aliasing"
version = 2

View File

@ -1,45 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
const float bloomFactor = 0.4; // bloom strength
// shader 960d3ef6662043c7
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4000800 res 480x270x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x4) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
R0f.xyz = texture(textureUnitPS0, R0f.xy).xyz * bloomFactor;
// 0
/*
backupReg0f = R0f.x;
backupReg1f = R0f.y;
backupReg2f = R0f.z;
R0f.xyz = vec3(backupReg0f,backupReg1f,backupReg2f);
*/
// export
passPixelColor0 = R0f.xyzw;
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010143400,0005000010143600,0005000010143500
name = "The Legend of Zelda: The Wind Waker HD - Adjustable Bloom"
version = 2

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Xenoblade Chronicles X - No Anti-Aliasing" # Cemu 1.8
version = 2

View File

@ -1,171 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader 1cb8c35cca05b129
//dialog box
uniform ivec4 uf_remappedVS[14];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
layout(location = 2) in uvec4 attrDataSem2;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R127f = vec4(0.0);
uvec4 attrDecoder;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
attrDecoder.xyz = attrDataSem1.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0)));
attrDecoder = attrDataSem0;
attrDecoder = (attrDecoder>>24)|((attrDecoder>>8)&0xFF00)|((attrDecoder<<8)&0xFF0000)|((attrDecoder<<24));
R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(int(attrDecoder.w)));
attrDecoder.xy = attrDataSem2.xy;
attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
attrDecoder.z = 0;
attrDecoder.w = 0;
R3f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0)));
// 0
PV0f.x = intBitsToFloat(uf_remappedVS[0].w) * 1.0;
PV0f.y = intBitsToFloat(uf_remappedVS[0].z) * 1.0;
PV0f.z = intBitsToFloat(uf_remappedVS[0].y) * 1.0;
PV0f.w = intBitsToFloat(uf_remappedVS[0].x) * 1.0;
// 1
R123f.x = (R2f.y * intBitsToFloat(uf_remappedVS[1].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R2f.y * intBitsToFloat(uf_remappedVS[1].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R2f.y * intBitsToFloat(uf_remappedVS[1].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R2f.y * intBitsToFloat(uf_remappedVS[1].x) + PV0f.w);
PV1f.w = R123f.w;
// 2
R123f.x = (R2f.x * intBitsToFloat(uf_remappedVS[2].w) + PV1f.x);
PV0f.x = R123f.x;
R127f.y = (R2f.x * intBitsToFloat(uf_remappedVS[2].z) + PV1f.y);
R127f.z = (R2f.x * intBitsToFloat(uf_remappedVS[2].y) + PV1f.z);
R127f.w = (R2f.x * intBitsToFloat(uf_remappedVS[2].x) + PV1f.w);
// 3
PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[3].w);
PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[3].z);
PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[3].y);
PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[3].x);
// 4
R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[4].w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[4].z) + PV1f.y);
PV0f.y = R123f.y;
R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[4].y) + PV1f.z);
PV0f.z = R123f.z;
R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[4].x) + PV1f.w);
PV0f.w = R123f.w;
// 5
R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[5].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[5].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[5].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[5].x) + PV0f.w);
PV1f.w = R123f.w;
// 6
backupReg0f = R127f.w;
R123f.x = (R127f.w * intBitsToFloat(uf_remappedVS[6].w) + PV1f.x);
PV0f.x = R123f.x;
R127f.y = (R127f.w * intBitsToFloat(uf_remappedVS[6].z) + PV1f.y);
R127f.z = (R127f.w * intBitsToFloat(uf_remappedVS[6].y) + PV1f.z);
R127f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[6].x) + PV1f.w);
// 7
PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[7].w);
PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[7].z);
PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[7].y);
PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[7].x);
// 8
R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[8].w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[8].z) + PV1f.y);
PV0f.y = R123f.y;
R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[8].y) + PV1f.z);
PV0f.z = R123f.z;
R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[8].x) + PV1f.w);
PV0f.w = R123f.w;
// 9
R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[9].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[9].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[9].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[9].x) + PV0f.w);
PV1f.w = R123f.w;
// 10
R2f.x = (R127f.w * intBitsToFloat(uf_remappedVS[10].x) + PV1f.w);
R2f.y = (R127f.w * intBitsToFloat(uf_remappedVS[10].y) + PV1f.z);
R2f.z = (R127f.w * intBitsToFloat(uf_remappedVS[10].z) + PV1f.y);
R2f.w = (R127f.w * intBitsToFloat(uf_remappedVS[10].w) + PV1f.x);
// 11
PV1f.x = intBitsToFloat(uf_remappedVS[11].w) * 1.0;
PV1f.y = intBitsToFloat(uf_remappedVS[11].z) * 1.0;
PV1f.z = intBitsToFloat(uf_remappedVS[11].y) * 1.0;
PV1f.w = intBitsToFloat(uf_remappedVS[11].x) * 1.0;
// 12
R123f.x = (R3f.y * intBitsToFloat(uf_remappedVS[12].w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (R3f.y * intBitsToFloat(uf_remappedVS[12].z) + PV1f.y);
PV0f.y = R123f.y;
R123f.z = (R3f.y * intBitsToFloat(uf_remappedVS[12].y) + PV1f.z);
PV0f.z = R123f.z;
R123f.w = (R3f.y * intBitsToFloat(uf_remappedVS[12].x) + PV1f.w);
PV0f.w = R123f.w;
// 13
backupReg0f = R3f.x;
backupReg0f = R3f.x;
backupReg0f = R3f.x;
backupReg0f = R3f.x;
R3f.x = (backupReg0f * intBitsToFloat(uf_remappedVS[13].x) + PV0f.w);
R3f.y = (backupReg0f * intBitsToFloat(uf_remappedVS[13].y) + PV0f.z);
R3f.z = (backupReg0f * intBitsToFloat(uf_remappedVS[13].z) + PV0f.y);
R3f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[13].w) + PV0f.x);
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
// *(origRatio / newRatio)
gl_Position = vec4(R2f.x*(origRatio / newRatio), R2f.y, R2f.z, R2f.w);
// export
passParameterSem0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
// export
passParameterSem1 = vec4(R3f.x, R3f.y, R3f.z, R3f.w);
// 0
}

View File

@ -1,163 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader 28620f4f4753fb97
// selection position
uniform ivec4 uf_uniformRegisterVS[256];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xyz = attrDataSem0.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
// 0
R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0);
R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0);
R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0);
R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0);
PS0i = int(intBitsToFloat(R1i.z));
// 1
R126i.x = floatBitsToInt(float(PS0i));
PS1i = R126i.x;
// 2
tempResultf = intBitsToFloat(PS1i);
tempResultf = floor(tempResultf);
tempResultf = clamp(tempResultf, -256.0, 255.0);
ARi.x = int(tempResultf);
PV0i.x = floatBitsToInt(tempResultf);
// 3
R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[18].w) + intBitsToFloat(R127i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[18].z) + intBitsToFloat(R127i.y)));
PV1i.y = R123i.y;
// 4
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(PV1i.x)));
R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(PV1i.y)));
// 5
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[18].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[18].x) + intBitsToFloat(backupReg1i)));
// 6
backupReg0i = R127i.x;
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(backupReg0i)));
R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R127i.y)));
// 7
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i)));
// 8
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[15].w));
R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[15].z));
R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[15].y));
R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[15].x));
// 9
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(backupReg1i)));
// 10
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[14].w) + intBitsToFloat(R127i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[14].z) + intBitsToFloat(R127i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[14].y) + intBitsToFloat(R126i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[14].x) + intBitsToFloat(R126i.w)));
PV0i.w = R123i.w;
// 11
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[13].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[13].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[13].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[13].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 12
backupReg0i = R127i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[12].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[12].z) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[12].y) + intBitsToFloat(PV1i.z)));
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[12].x) + intBitsToFloat(PV1i.w)));
// 13
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w));
PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x));
// 14
R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 15
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 16
R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w)));
R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z)));
R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y)));
R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x)));
// 17
R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z);
R0i.w = uf_uniformRegisterVS[ARi.x+4].w;
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
// *(origRatio / newRatio)
gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
// 0
}

View File

@ -1,188 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader 3e12e7b9d981b915
// box canvas ingame *dumped*
uniform ivec4 uf_uniformRegisterVS[256];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xyz = attrDataSem0.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
// 0
R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].w) * 1.0);
R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].z) * 1.0);
R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].y) * 1.0);
R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].x) * 1.0);
PS0i = int(intBitsToFloat(R1i.z));
// 1
R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0);
R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0);
R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0);
R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0);
R125i.x = floatBitsToInt(float(PS0i));
PS1i = R125i.x;
// 2
tempResultf = intBitsToFloat(PS1i);
tempResultf = floor(tempResultf);
tempResultf = clamp(tempResultf, -256.0, 255.0);
ARi.x = int(tempResultf);
PV0i.x = floatBitsToInt(tempResultf);
// 3
R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].w) + intBitsToFloat(R127i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].z) + intBitsToFloat(R127i.y)));
PV1i.y = R123i.y;
// 4
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].w) + intBitsToFloat(PV1i.x)));
R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].z) + intBitsToFloat(PV1i.y)));
// 5
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].x) + intBitsToFloat(backupReg1i)));
// 6
backupReg0i = R127i.x;
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].w) + intBitsToFloat(backupReg0i)));
R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].z) + intBitsToFloat(R127i.y)));
// 7
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].x) + intBitsToFloat(backupReg1i)));
// 8
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].w));
R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].z));
R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].y));
R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].x));
// 9
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].x) + intBitsToFloat(backupReg1i)));
// 10
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(R126i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(R126i.w)));
PV0i.w = R123i.w;
// 11
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 12
backupReg0i = R127i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(PV1i.z)));
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(PV1i.w)));
// 13
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w));
PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x));
// 14
R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 15
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 16
R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w)));
R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z)));
R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y)));
R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x)));
// 17
backupReg0i = R125i.z;
backupReg1i = R125i.w;
R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i)));
R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i)));
// 18
backupReg0i = R126i.x;
backupReg1i = R125i.y;
R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(backupReg0i)));
R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(backupReg1i)));
// 19
R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z);
R0i.w = uf_uniformRegisterVS[ARi.x+4].w;
// 20
R2i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(R125i.w)));
R2i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(R125i.z)));
// 21
R2i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R125i.y)));
R2i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(R126i.x)));
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
// *(origRatio / newRatio)
gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w));
// 0
}

View File

@ -1,132 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader 46bdcbf27127ae3b
// depth, scary *dumped*
uniform ivec4 uf_remappedVS[11];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R127f = vec4(0.0);
uvec4 attrDecoder;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
attrDecoder.xyz = attrDataSem0.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0)));
// 0
PV0f.x = intBitsToFloat(uf_remappedVS[0].w) * 1.0;
PV0f.y = intBitsToFloat(uf_remappedVS[0].z) * 1.0;
PV0f.z = intBitsToFloat(uf_remappedVS[0].y) * 1.0;
PV0f.w = intBitsToFloat(uf_remappedVS[0].x) * 1.0;
// 1
R123f.x = (R1f.y * intBitsToFloat(uf_remappedVS[1].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R1f.y * intBitsToFloat(uf_remappedVS[1].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R1f.y * intBitsToFloat(uf_remappedVS[1].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R1f.y * intBitsToFloat(uf_remappedVS[1].x) + PV0f.w);
PV1f.w = R123f.w;
// 2
R123f.x = (R1f.x * intBitsToFloat(uf_remappedVS[2].w) + PV1f.x);
PV0f.x = R123f.x;
R127f.y = (R1f.x * intBitsToFloat(uf_remappedVS[2].z) + PV1f.y);
R127f.z = (R1f.x * intBitsToFloat(uf_remappedVS[2].y) + PV1f.z);
R127f.w = (R1f.x * intBitsToFloat(uf_remappedVS[2].x) + PV1f.w);
// 3
PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[3].w);
PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[3].z);
PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[3].y);
PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[3].x);
// 4
R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[4].w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[4].z) + PV1f.y);
PV0f.y = R123f.y;
R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[4].y) + PV1f.z);
PV0f.z = R123f.z;
R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[4].x) + PV1f.w);
PV0f.w = R123f.w;
// 5
R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[5].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[5].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[5].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[5].x) + PV0f.w);
PV1f.w = R123f.w;
// 6
backupReg0f = R127f.w;
R123f.x = (R127f.w * intBitsToFloat(uf_remappedVS[6].w) + PV1f.x);
PV0f.x = R123f.x;
R127f.y = (R127f.w * intBitsToFloat(uf_remappedVS[6].z) + PV1f.y);
R127f.z = (R127f.w * intBitsToFloat(uf_remappedVS[6].y) + PV1f.z);
R127f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[6].x) + PV1f.w);
// 7
PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[7].w);
PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[7].z);
PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[7].y);
PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[7].x);
// 8
R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[8].w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[8].z) + PV1f.y);
PV0f.y = R123f.y;
R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[8].y) + PV1f.z);
PV0f.z = R123f.z;
R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[8].x) + PV1f.w);
PV0f.w = R123f.w;
// 9
R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[9].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[9].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[9].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[9].x) + PV0f.w);
PV1f.w = R123f.w;
// 10
R1f.x = (R127f.w * intBitsToFloat(uf_remappedVS[10].x) + PV1f.w);
R1f.y = (R127f.w * intBitsToFloat(uf_remappedVS[10].y) + PV1f.z);
R1f.z = (R127f.w * intBitsToFloat(uf_remappedVS[10].z) + PV1f.y);
R1f.w = (R127f.w * intBitsToFloat(uf_remappedVS[10].w) + PV1f.x);
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
// *(origRatio / newRatio)
gl_Position = vec4(R1f.x*(origRatio / newRatio), R1f.y, R1f.z, R1f.w);
// export
// skipped export to semanticId 255
// 0
}

View File

@ -1,188 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader 538fc98d957aaa7c
// box canvas
uniform ivec4 uf_uniformRegisterVS[256];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xyz = attrDataSem0.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
// 0
R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].w) * 1.0);
R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].z) * 1.0);
R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].y) * 1.0);
R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].x) * 1.0);
PS0i = int(intBitsToFloat(R1i.z));
// 1
R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0);
R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0);
R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0);
R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0);
R125i.x = floatBitsToInt(float(PS0i));
PS1i = R125i.x;
// 2
tempResultf = intBitsToFloat(PS1i);
tempResultf = floor(tempResultf);
tempResultf = clamp(tempResultf, -256.0, 255.0);
ARi.x = int(tempResultf);
PV0i.x = floatBitsToInt(tempResultf);
// 3
R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].w) + intBitsToFloat(R127i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].z) + intBitsToFloat(R127i.y)));
PV1i.y = R123i.y;
// 4
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].w) + intBitsToFloat(PV1i.x)));
R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].z) + intBitsToFloat(PV1i.y)));
// 5
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].x) + intBitsToFloat(backupReg1i)));
// 6
backupReg0i = R127i.x;
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].w) + intBitsToFloat(backupReg0i)));
R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].z) + intBitsToFloat(R127i.y)));
// 7
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].x) + intBitsToFloat(backupReg1i)));
// 8
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].w));
R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].z));
R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].y));
R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].x));
// 9
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].x) + intBitsToFloat(backupReg1i)));
// 10
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(R126i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(R126i.w)));
PV0i.w = R123i.w;
// 11
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 12
backupReg0i = R127i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(PV1i.z)));
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(PV1i.w)));
// 13
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w));
PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x));
// 14
R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 15
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 16
R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w)));
R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z)));
R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y)));
R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x)));
// 17
backupReg0i = R125i.z;
backupReg1i = R125i.w;
R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i)));
R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i)));
// 18
backupReg0i = R126i.x;
backupReg1i = R125i.y;
R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(backupReg0i)));
R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(backupReg1i)));
// 19
R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z);
R0i.w = uf_uniformRegisterVS[ARi.x+4].w;
// 20
R2i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(R125i.w)));
R2i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(R125i.z)));
// 21
R2i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R125i.y)));
R2i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(R126i.x)));
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
// *(origRatio / newRatio)
gl_Position = vec4(intBitsToFloat(R1i.x) *(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w));
// 0
}

View File

@ -1,171 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader 8ff56afdf1a2f837
// text *dumped*
uniform ivec4 uf_uniformRegisterVS[256];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xyz = attrDataSem0.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
// 0
R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].w) * 1.0);
R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].z) * 1.0);
R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].y) * 1.0);
R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].x) * 1.0);
PS0i = int(intBitsToFloat(R1i.z));
// 1
R2i.z = 0;
R2i.w = floatBitsToInt(1.0);
R126i.x = floatBitsToInt(float(PS0i));
PS1i = R126i.x;
// 2
tempResultf = intBitsToFloat(PS1i);
tempResultf = floor(tempResultf);
tempResultf = clamp(tempResultf, -256.0, 255.0);
ARi.x = int(tempResultf);
PV0i.x = floatBitsToInt(tempResultf);
// 3
R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y)));
PV1i.y = R123i.y;
R0i.w = uf_uniformRegisterVS[ARi.x+8].w;
// 4
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV1i.x)));
R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV1i.y)));
// 5
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(backupReg1i)));
// 6
backupReg0i = R127i.x;
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(backupReg0i)));
R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(R127i.y)));
// 7
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(backupReg1i)));
// 8
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].w));
R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].z));
R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].y));
R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].x));
// 9
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(backupReg1i)));
// 10
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].w) + intBitsToFloat(R127i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].z) + intBitsToFloat(R127i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].y) + intBitsToFloat(R126i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].x) + intBitsToFloat(R126i.w)));
PV0i.w = R123i.w;
// 11
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 12
backupReg0i = R127i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(PV1i.z)));
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(PV1i.w)));
// 13
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w));
PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x));
// 14
R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 15
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 16
R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w)));
R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z)));
R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y)));
R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x)));
// 17
R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z);
// 18
R2i.x = uf_uniformRegisterVS[ARi.x+12].x;
R2i.y = uf_uniformRegisterVS[ARi.x+12].y;
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w));
// 0
}

View File

@ -1,181 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader 9f390af3897e9112
//active selection
uniform ivec4 uf_uniformRegisterVS[256];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xyz = attrDataSem0.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
// 0
R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].w) * 1.0);
R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].z) * 1.0);
R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].y) * 1.0);
R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[23].x) * 1.0);
PS0i = int(intBitsToFloat(R1i.z));
// 1
R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].w) * 1.0);
R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].z) * 1.0);
R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].y) * 1.0);
R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[15].x) * 1.0);
R125i.x = floatBitsToInt(float(PS0i));
PS1i = R125i.x;
// 2
tempResultf = intBitsToFloat(PS1i);
tempResultf = floor(tempResultf);
tempResultf = clamp(tempResultf, -256.0, 255.0);
ARi.x = int(tempResultf);
PV0i.x = floatBitsToInt(tempResultf);
// 3
R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y)));
PV1i.y = R123i.y;
// 4
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV1i.x)));
R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV1i.y)));
// 5
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].z) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(backupReg1i)));
// 6
backupReg0i = R127i.x;
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(backupReg0i)));
R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(R127i.y)));
// 7
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].y) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(backupReg1i)));
// 8
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].w));
R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].z));
R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].y));
R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[19].x));
// 9
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+4].x) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(backupReg1i)));
// 10
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].w) + intBitsToFloat(R127i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].z) + intBitsToFloat(R127i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].y) + intBitsToFloat(R126i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[18].x) + intBitsToFloat(R126i.w)));
PV0i.w = R123i.w;
// 11
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 12
backupReg0i = R127i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(PV1i.z)));
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(PV1i.w)));
// 13
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w));
PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x));
// 14
R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 15
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 16
R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w)));
R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z)));
R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y)));
R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x)));
// 17
backupReg0i = R125i.z;
backupReg1i = R125i.w;
R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].y) + intBitsToFloat(backupReg0i)));
R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].x) + intBitsToFloat(backupReg1i)));
// 18
backupReg0i = R126i.x;
backupReg1i = R125i.y;
R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].w) + intBitsToFloat(backupReg0i)));
R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[13].z) + intBitsToFloat(backupReg1i)));
// 19
R0i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].x) + intBitsToFloat(R125i.w)));
R0i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].y) + intBitsToFloat(R125i.z)));
// 20
R0i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].z) + intBitsToFloat(R125i.y)));
R0i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[12].w) + intBitsToFloat(R126i.x)));
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
// 0
}

View File

@ -1,163 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader b679b0945943e505
// selection box frame *dumped*
uniform ivec4 uf_remappedVS[14];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R127f = vec4(0.0);
uvec4 attrDecoder;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = floatBitsToInt(ivec4(gl_VertexID, 0, 0, gl_InstanceID));
attrDecoder.xyz = attrDataSem0.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R1f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(int(attrDecoder.z)), intBitsToFloat(floatBitsToInt(1.0)));
attrDecoder.xy = attrDataSem1.xy;
attrDecoder.xy = (attrDecoder.xy>>24)|((attrDecoder.xy>>8)&0xFF00)|((attrDecoder.xy<<8)&0xFF0000)|((attrDecoder.xy<<24));
attrDecoder.z = 0;
attrDecoder.w = 0;
R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0)));
// 0
PV0f.x = intBitsToFloat(uf_remappedVS[0].w) * 1.0;
PV0f.y = intBitsToFloat(uf_remappedVS[0].z) * 1.0;
PV0f.z = intBitsToFloat(uf_remappedVS[0].y) * 1.0;
PV0f.w = intBitsToFloat(uf_remappedVS[0].x) * 1.0;
// 1
R123f.x = (R1f.y * intBitsToFloat(uf_remappedVS[1].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R1f.y * intBitsToFloat(uf_remappedVS[1].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R1f.y * intBitsToFloat(uf_remappedVS[1].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R1f.y * intBitsToFloat(uf_remappedVS[1].x) + PV0f.w);
PV1f.w = R123f.w;
// 2
R123f.x = (R1f.x * intBitsToFloat(uf_remappedVS[2].w) + PV1f.x);
PV0f.x = R123f.x;
R127f.y = (R1f.x * intBitsToFloat(uf_remappedVS[2].z) + PV1f.y);
R127f.z = (R1f.x * intBitsToFloat(uf_remappedVS[2].y) + PV1f.z);
R127f.w = (R1f.x * intBitsToFloat(uf_remappedVS[2].x) + PV1f.w);
// 3
PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[3].w);
PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[3].z);
PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[3].y);
PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[3].x);
// 4
R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[4].w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[4].z) + PV1f.y);
PV0f.y = R123f.y;
R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[4].y) + PV1f.z);
PV0f.z = R123f.z;
R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[4].x) + PV1f.w);
PV0f.w = R123f.w;
// 5
R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[5].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[5].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[5].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[5].x) + PV0f.w);
PV1f.w = R123f.w;
// 6
backupReg0f = R127f.w;
R123f.x = (R127f.w * intBitsToFloat(uf_remappedVS[6].w) + PV1f.x);
PV0f.x = R123f.x;
R127f.y = (R127f.w * intBitsToFloat(uf_remappedVS[6].z) + PV1f.y);
R127f.z = (R127f.w * intBitsToFloat(uf_remappedVS[6].y) + PV1f.z);
R127f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[6].x) + PV1f.w);
// 7
PV1f.x = PV0f.x * intBitsToFloat(uf_remappedVS[7].w);
PV1f.y = PV0f.x * intBitsToFloat(uf_remappedVS[7].z);
PV1f.z = PV0f.x * intBitsToFloat(uf_remappedVS[7].y);
PV1f.w = PV0f.x * intBitsToFloat(uf_remappedVS[7].x);
// 8
R123f.x = (R127f.y * intBitsToFloat(uf_remappedVS[8].w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (R127f.y * intBitsToFloat(uf_remappedVS[8].z) + PV1f.y);
PV0f.y = R123f.y;
R123f.z = (R127f.y * intBitsToFloat(uf_remappedVS[8].y) + PV1f.z);
PV0f.z = R123f.z;
R123f.w = (R127f.y * intBitsToFloat(uf_remappedVS[8].x) + PV1f.w);
PV0f.w = R123f.w;
// 9
R123f.x = (R127f.z * intBitsToFloat(uf_remappedVS[9].w) + PV0f.x);
PV1f.x = R123f.x;
R123f.y = (R127f.z * intBitsToFloat(uf_remappedVS[9].z) + PV0f.y);
PV1f.y = R123f.y;
R123f.z = (R127f.z * intBitsToFloat(uf_remappedVS[9].y) + PV0f.z);
PV1f.z = R123f.z;
R123f.w = (R127f.z * intBitsToFloat(uf_remappedVS[9].x) + PV0f.w);
PV1f.w = R123f.w;
// 10
R1f.x = (R127f.w * intBitsToFloat(uf_remappedVS[10].x) + PV1f.w);
R1f.y = (R127f.w * intBitsToFloat(uf_remappedVS[10].y) + PV1f.z);
R1f.z = (R127f.w * intBitsToFloat(uf_remappedVS[10].z) + PV1f.y);
R1f.w = (R127f.w * intBitsToFloat(uf_remappedVS[10].w) + PV1f.x);
// 11
PV1f.x = intBitsToFloat(uf_remappedVS[11].w) * 1.0;
PV1f.y = intBitsToFloat(uf_remappedVS[11].z) * 1.0;
PV1f.z = intBitsToFloat(uf_remappedVS[11].y) * 1.0;
PV1f.w = intBitsToFloat(uf_remappedVS[11].x) * 1.0;
// 12
R123f.x = (R2f.y * intBitsToFloat(uf_remappedVS[12].w) + PV1f.x);
PV0f.x = R123f.x;
R123f.y = (R2f.y * intBitsToFloat(uf_remappedVS[12].z) + PV1f.y);
PV0f.y = R123f.y;
R123f.z = (R2f.y * intBitsToFloat(uf_remappedVS[12].y) + PV1f.z);
PV0f.z = R123f.z;
R123f.w = (R2f.y * intBitsToFloat(uf_remappedVS[12].x) + PV1f.w);
PV0f.w = R123f.w;
// 13
backupReg0f = R2f.x;
backupReg0f = R2f.x;
backupReg0f = R2f.x;
backupReg0f = R2f.x;
R2f.x = (backupReg0f * intBitsToFloat(uf_remappedVS[13].x) + PV0f.w);
R2f.y = (backupReg0f * intBitsToFloat(uf_remappedVS[13].y) + PV0f.z);
R2f.z = (backupReg0f * intBitsToFloat(uf_remappedVS[13].z) + PV0f.y);
R2f.w = (backupReg0f * intBitsToFloat(uf_remappedVS[13].w) + PV0f.x);
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
// *(origRatio / newRatio)
gl_Position = vec4(R1f.x*(origRatio / newRatio), R1f.y, R1f.z, R1f.w);
// export
passParameterSem0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
// 0
}

View File

@ -1,188 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_shading_language_packing : enable
// shader d6e8f178a5b828f0
// bg boxes
uniform ivec4 uf_uniformRegisterVS[256];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
uniform float uf_alphaTestRef;
layout(location = 0) in uvec4 attrDataSem0;
out gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
};
layout(location = 0) out vec4 passParameterSem0;
layout(location = 1) out vec4 passParameterSem1;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
void main()
{
ivec4 R0i = ivec4(0);
ivec4 R1i = ivec4(0);
ivec4 R2i = ivec4(0);
ivec4 R123i = ivec4(0);
ivec4 R125i = ivec4(0);
ivec4 R126i = ivec4(0);
ivec4 R127i = ivec4(0);
uvec4 attrDecoder;
int backupReg0i, backupReg1i, backupReg2i, backupReg3i, backupReg4i;
ivec4 PV0i = ivec4(0), PV1i = ivec4(0);
int PS0i = 0, PS1i = 0;
ivec4 tempi = ivec4(0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0i = ivec4(gl_VertexID, 0, 0, gl_InstanceID);
attrDecoder.xyz = attrDataSem0.xyz;
attrDecoder.xyz = (attrDecoder.xyz>>24)|((attrDecoder.xyz>>8)&0xFF00)|((attrDecoder.xyz<<8)&0xFF0000)|((attrDecoder.xyz<<24));
attrDecoder.w = 0;
R1i = ivec4(int(attrDecoder.x), int(attrDecoder.y), int(attrDecoder.z), floatBitsToInt(1.0));
// 0
R127i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].w) * 1.0);
R127i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].z) * 1.0);
R127i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].y) * 1.0);
R127i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[27].x) * 1.0);
PS0i = int(intBitsToFloat(R1i.z));
// 1
R126i.x = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].w) * 1.0);
R125i.y = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].z) * 1.0);
R125i.z = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].y) * 1.0);
R125i.w = floatBitsToInt(intBitsToFloat(uf_uniformRegisterVS[19].x) * 1.0);
R125i.x = floatBitsToInt(float(PS0i));
PS1i = R125i.x;
// 2
tempResultf = intBitsToFloat(PS1i);
tempResultf = floor(tempResultf);
tempResultf = clamp(tempResultf, -256.0, 255.0);
ARi.x = int(tempResultf);
PV0i.x = floatBitsToInt(tempResultf);
// 3
R123i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].w) + intBitsToFloat(R127i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].z) + intBitsToFloat(R127i.y)));
PV1i.y = R123i.y;
// 4
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].w) + intBitsToFloat(PV1i.x)));
R127i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].z) + intBitsToFloat(PV1i.y)));
// 5
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].z) * intBitsToFloat(uf_uniformRegisterVS[26].x) + intBitsToFloat(backupReg1i)));
// 6
backupReg0i = R127i.x;
R127i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].w) + intBitsToFloat(backupReg0i)));
R126i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].z) + intBitsToFloat(R127i.y)));
// 7
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].y) * intBitsToFloat(uf_uniformRegisterVS[25].x) + intBitsToFloat(backupReg1i)));
// 8
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
backupReg0i = R127i.x;
R127i.x = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].w));
R127i.y = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].z));
R126i.z = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].y));
R126i.w = floatBitsToInt(intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[23].x));
// 9
backupReg0i = R127i.z;
backupReg1i = R127i.w;
R127i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].y) + intBitsToFloat(backupReg0i)));
R127i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+8].x) * intBitsToFloat(uf_uniformRegisterVS[24].x) + intBitsToFloat(backupReg1i)));
// 10
R123i.x = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].w) + intBitsToFloat(R127i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].z) + intBitsToFloat(R127i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].y) + intBitsToFloat(R126i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R126i.y) * intBitsToFloat(uf_uniformRegisterVS[22].x) + intBitsToFloat(R126i.w)));
PV0i.w = R123i.w;
// 11
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[21].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 12
backupReg0i = R127i.w;
R123i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R127i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].z) + intBitsToFloat(PV1i.y)));
R127i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[20].y) + intBitsToFloat(PV1i.z)));
R127i.w = floatBitsToInt((intBitsToFloat(backupReg0i) * intBitsToFloat(uf_uniformRegisterVS[20].x) + intBitsToFloat(PV1i.w)));
// 13
PV1i.x = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].w));
PV1i.y = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].z));
PV1i.z = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].y));
PV1i.w = floatBitsToInt(intBitsToFloat(PV0i.x) * intBitsToFloat(uf_uniformRegisterVS[3].x));
// 14
R123i.x = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].w) + intBitsToFloat(PV1i.x)));
PV0i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].z) + intBitsToFloat(PV1i.y)));
PV0i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].y) + intBitsToFloat(PV1i.z)));
PV0i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.y) * intBitsToFloat(uf_uniformRegisterVS[2].x) + intBitsToFloat(PV1i.w)));
PV0i.w = R123i.w;
// 15
R123i.x = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].w) + intBitsToFloat(PV0i.x)));
PV1i.x = R123i.x;
R123i.y = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].z) + intBitsToFloat(PV0i.y)));
PV1i.y = R123i.y;
R123i.z = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].y) + intBitsToFloat(PV0i.z)));
PV1i.z = R123i.z;
R123i.w = floatBitsToInt((intBitsToFloat(R127i.z) * intBitsToFloat(uf_uniformRegisterVS[1].x) + intBitsToFloat(PV0i.w)));
PV1i.w = R123i.w;
// 16
R1i.x = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].x) + intBitsToFloat(PV1i.w)));
R1i.y = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].y) + intBitsToFloat(PV1i.z)));
R1i.z = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].z) + intBitsToFloat(PV1i.y)));
R1i.w = floatBitsToInt((intBitsToFloat(R127i.w) * intBitsToFloat(uf_uniformRegisterVS[0].w) + intBitsToFloat(PV1i.x)));
// 17
backupReg0i = R125i.z;
backupReg1i = R125i.w;
R125i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].y) + intBitsToFloat(backupReg0i)));
R125i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].x) + intBitsToFloat(backupReg1i)));
// 18
backupReg0i = R126i.x;
backupReg1i = R125i.y;
R126i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].w) + intBitsToFloat(backupReg0i)));
R125i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].y) * intBitsToFloat(uf_uniformRegisterVS[17].z) + intBitsToFloat(backupReg1i)));
// 19
R0i.xyz = ivec3(uf_uniformRegisterVS[ARi.x+4].x,uf_uniformRegisterVS[ARi.x+4].y,uf_uniformRegisterVS[ARi.x+4].z);
R0i.w = uf_uniformRegisterVS[ARi.x+4].w;
// 20
R2i.x = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].x) + intBitsToFloat(R125i.w)));
R2i.y = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].y) + intBitsToFloat(R125i.z)));
// 21
R2i.z = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].z) + intBitsToFloat(R125i.y)));
R2i.w = floatBitsToInt((intBitsToFloat(uf_uniformRegisterVS[ARi.x+12].x) * intBitsToFloat(uf_uniformRegisterVS[16].w) + intBitsToFloat(R126i.x)));
// export
float origRatio = 1.777f;
float newRatio = 2.370f;
// *(origRatio / newRatio)
gl_Position = vec4(intBitsToFloat(R1i.x)*(origRatio / newRatio), intBitsToFloat(R1i.y), intBitsToFloat(R1i.z), intBitsToFloat(R1i.w));
// export
passParameterSem0 = vec4(intBitsToFloat(R0i.x), intBitsToFloat(R0i.y), intBitsToFloat(R0i.z), intBitsToFloat(R0i.w));
// export
passParameterSem1 = vec4(intBitsToFloat(R2i.x), intBitsToFloat(R2i.y), intBitsToFloat(R2i.z), intBitsToFloat(R2i.w));
// 0
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Xenoblade Chronicles X - 21:9 GUI"
version = 2

View File

@ -1,280 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader 3cc7e98f78c258b4
//Xenoblade FX
//Version 0.01Beta
//Shader Dumped from 1.01
//Shader Edits by Jamie
//
//ToneMapping
#define Bleach 0.3 //Default is 0.0
#define exposure 1.25 //Default is 1.0
#define defog 0.000 //Default is 0.0 //How much of the overall color you want removed form the values of FogColor.
#define FogColor vec3(1.0, 1.0, 1.0) //Color you want to Add or Remove 0.25 would add .25 percent of that color 1.25 would remove .25 percent of the color."
//VibrancePass
#define Vibrance 0.15 //"Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.";
#define VibranceRGBBalance vec3(1.0, 1.0, 1.0) //"A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others.";
//Lift Gamma Gain
#define RGB_Lift vec3(1.05, 1.05, 1.05) //[0.000 to 2.000] Adjust shadows for Red, Green and Blue.
#define RGB_Gamma vec3(0.70, 0.70, 0.70) //[0.000 to 2.000] Adjust midtones for Red, Green and Blue
#define RGB_Gain vec3(1.05, 1.05, 1.05) //[0.000 to 2.000] Adjust highlights for Red, Green and Blue
//Note that a value of 1.0 is a neutral setting that leave the color unchanged.
//Curves
#define Contrast 0.50 //[-1.0, 1.0] The amount of contrast you want
//LumaShapening
#define sharp_strength 0.25 //[0.10 to 3.00] Strength of the sharpening Default is 0.65
#define sharp_clamp 0.085 //[0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - Default is 0.035
//Advanced sharpening settings
#define offset_bias 1.0 //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern.
//Fake High Dynamic Range.
#define HDRPower 1.70 // 0.0 to 8.0 "Raising this seems to make the effect stronger and also darker , Default 1.30."
#define radius1 0.793 // 0.0 to 8.0 "Default 0.793 , will affect FX."
#define radius2 0.87 // 0.0 to 8.0 "Default 0.87 , will affect FX."
//###########################################################
//Do not edit under this line.
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
//----------------------------------------------------------------------------
//ToneMapping
vec3 TonemapPass(vec3 inputColor) {
vec3 color = inputColor;
color = clamp(color - defog * FogColor * 2.55, 0.0, 1.0); // defog
color *= exposure / (1.0 + color / exposure);
const vec3 coefLuma = vec3(0.2126, 0.7152, 0.0722);
float lum = dot(coefLuma, color);
float L = clamp(10.0 * (lum - 0.45), 0.0, 1.0);
vec3 A2 = Bleach * color;
vec3 result1 = 2.0f * color * lum;
vec3 result2 = 1.0f - 2.0f * (1.0f - lum) * (1.0f - color);
vec3 newColor = mix(result1, result2, L);
vec3 mixRGB = A2 * newColor;
color += ((1.0f - A2) * mixRGB);
vec3 middlegray = vec3(dot(color, vec3(1.0 / 3.0)));
vec3 diffcolor = color - middlegray;
float sat = 0.0;
color = (color + diffcolor * sat) / (1 + (diffcolor * sat)); // saturation
return color;
}
//LumaShapening
#define px (1.0/1280.0*uf_fragCoordScale.x)
#define py (1.0/720.0*uf_fragCoordScale.y)
#define CoefLuma vec3(0.2126, 0.7152, 0.0722)
float lumasharping(sampler2D tex, vec2 pos) {
vec4 colorInput = texture(tex, pos);
vec3 ori = colorInput.rgb;
// -- Combining the strength and luma multipliers --
vec3 sharp_strength_luma = (CoefLuma * sharp_strength);
// -- Gaussian filter --
// [ .25, .50, .25] [ 1 , 2 , 1 ]
// [ .50, 1, .50] = [ 2 , 4 , 2 ]
// [ .25, .50, .25] [ 1 , 2 , 1 ]
vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East
blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West
blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East
blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West
blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches
// -- Calculate the sharpening --
vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image
// -- Adjust strength of the sharpening and clamp it--
vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot
float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp
sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down
return sharp_luma;
}
//Fake High Dynamic Range.
vec3 HDRPass(sampler2D tex, vec2 pos) {
vec3 color = texture(tex, pos).rgb;
vec3 bloom_sum1 = texture(tex, pos + vec2(1.5, -1.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(-1.5, -1.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(1.5, 1.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(-1.5, 1.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(0.0, -2.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(0.0, 2.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(-2.5, 0.0) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(2.5, 0.0) * radius1 * vec2(px, py)).rgb;
bloom_sum1 *= 0.005;
vec3 bloom_sum2 = texture(tex, pos + vec2(1.5, -1.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(-1.5, -1.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(1.5, 1.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(-1.5, 1.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(0.0, -2.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(0.0, 2.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(-2.5, 0.0) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(2.5, 0.0) * radius2 * vec2(px, py)).rgb;
bloom_sum2 *= 0.010;
float dist = radius2 - radius1;
vec3 HDR = (color + (bloom_sum2 - bloom_sum1)) * dist;
vec3 blend = HDR + color;
color = pow(abs(blend), vec3(abs(HDRPower))) + HDR;
return color;
}
//Lift Gamma Gain
vec3 LiftGammaGainPass(vec3 colorInput)
{
// -- Get input --
vec3 color = colorInput;
// -- Lift --
color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5;
color = clamp(color, 0.0, 1.0); //isn't strictly necessary, but doesn't cost performance.
// -- Gain --
color *= RGB_Gain;
// -- Gamma --
color = pow(color, 1.0 / RGB_Gamma); //Gamma
// -- Return output --
return clamp(color, 0.0, 1.0);
}
//VibrancePass
vec3 VibrancePass(vec3 color) {
const vec3 coefLuma = vec3(0.2126, 0.7152, 0.0722);
float luma = dot(coefLuma, color);
float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color
float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color
float color_saturation = max_color - min_color; // The difference between the two is the saturation
// Extrapolate between luma and original by 1 + (1-saturation) - current
vec3 coeffVibrance = VibranceRGBBalance * Vibrance;
color = mix(vec3(luma), color, 1.0 + (coeffVibrance * (1.0 - (sign(coeffVibrance) * color_saturation))));
return color;
}
//Curves
vec3 CurvesPass(vec3 inputColor) {
vec3 colorInput = inputColor;
float Contrast_blend = Contrast * 2.0; //I multiply by two to give it a strength closer to the other curves.
vec3 x = colorInput.rgb; //if the curve should be applied to both Luma and Chroma
x = x * (x * (1.5 - x) + 0.5); //horner form - fastest version
vec3 color = x; //if the curve should be applied to both Luma and Chroma
colorInput.rgb = mix(colorInput.rgb, color, Contrast_blend); //Blend by Contrast
return colorInput;
}
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
R0f.xyz = HDRPass(textureUnitPS0, passParameterSem0.xy);
float smask = lumasharping(textureUnitPS0, passParameterSem0.xy);
R0f.xyz += vec3(smask);
//R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz);
// -- Original shader code
// 0
R127f.x = R0f.z * intBitsToFloat(uf_remappedPS[0].x);
R127f.x = clamp(R127f.x, 0.0, 1.0);
R127f.y = R0f.y * intBitsToFloat(uf_remappedPS[0].x);
R127f.y = clamp(R127f.y, 0.0, 1.0);
PV0f.z = R0f.x * intBitsToFloat(uf_remappedPS[0].x);
PV0f.z = clamp(PV0f.z, 0.0, 1.0);
R1f.w = 1.0;
// 1
tempResultf = log2(PV0f.z);
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS1f = tempResultf;
// 2
R127f.z = PS1f * intBitsToFloat(0x3ee8ba2e);
tempResultf = log2(R127f.y);
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0f = tempResultf;
// 3
R127f.w = PS0f * intBitsToFloat(0x3ee8ba2e);
tempResultf = log2(R127f.x);
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS1f = tempResultf;
// 4
R127f.x = PS1f * intBitsToFloat(0x3ee8ba2e);
PS0f = exp2(R127f.z);
// 5
R0f.x = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w));
PS1f = exp2(R127f.w);
// 6
R0f.y = (PS1f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w));
PS0f = exp2(R127f.x);
// 7
R0f.z = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w));
R1f.xyz = (texture(textureUnitPS1, vec3(R0f.x,R0f.y,R0f.z)).xyz);
// -- End original shader code
//passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
vec3 color = texture(textureUnitPS0, passParameterSem0.xy).xyz;
color = TonemapPass(color);
color = CurvesPass(color);
color = LiftGammaGainPass(color);
color = VibrancePass(color);
passPixelColor0 = vec4(color, passParameterSem0.w);
//passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
}

View File

@ -1,296 +0,0 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader d936195db0dd8e7d //crossfade exposure
//Xenoblade FX
//Version 0.01Beta
//Shader Dumped from 1.01
//Shader Edits by Jamie
//
//ToneMapping
#define Bleach 0.3 //Default is 0.0
#define exposure 1.25 //Default is 1.0
#define defog 0.000 //Default is 0.0 //How much of the overall color you want removed form the values of FogColor.
#define FogColor vec3(1.0, 1.0, 1.0) //Color you want to Add or Remove 0.25 would add .25 percent of that color 1.25 would remove .25 percent of the color."
//VibrancePass
#define Vibrance 0.15 //"Intelligently saturates (or desaturates if you use negative values) the pixels depending on their original saturation.";
#define VibranceRGBBalance vec3(1.0, 1.0, 1.0) //"A per channel multiplier to the Vibrance strength so you can give more boost to certain colors over others.";
//Lift Gamma Gain
#define RGB_Lift vec3(1.05, 1.05, 1.05) //[0.000 to 2.000] Adjust shadows for Red, Green and Blue.
#define RGB_Gamma vec3(0.70, 0.70, 0.70) //[0.000 to 2.000] Adjust midtones for Red, Green and Blue
#define RGB_Gain vec3(1.05, 1.05, 1.05) //[0.000 to 2.000] Adjust highlights for Red, Green and Blue
//Note that a value of 1.0 is a neutral setting that leave the color unchanged.
//Curves
#define Contrast 0.50 //[-1.0, 1.0] The amount of contrast you want
//LumaShapening
#define sharp_strength 0.25 //[0.10 to 3.00] Strength of the sharpening Default is 0.65
#define sharp_clamp 0.085 //[0.000 to 1.000] Limits maximum amount of sharpening a pixel recieves - Default is 0.035
//Advanced sharpening settings
#define offset_bias 1.0 //[0.0 to 6.0] Offset bias adjusts the radius of the sampling pattern.
//Fake High Dynamic Range.
#define HDRPower 1.70 // 0.0 to 8.0 "Raising this seems to make the effect stronger and also darker , Default 1.30."
#define radius1 0.793 // 0.0 to 8.0 "Default 0.793 , will affect FX."
#define radius2 0.87 // 0.0 to 8.0 "Default 0.87 , will affect FX."
//###########################################################
//Do not edit under this line.
uniform ivec4 uf_remappedPS[1];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf470a000 res 1280x720x1 dim 1 tm: 4 format 0816 compSel: 0 1 2 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 1) uniform sampler3D textureUnitPS1;// Tex1 addr 0x26032000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler1 ClampX/Y/Z: 2 2 2 border: 0
layout(binding = 2) uniform sampler3D textureUnitPS2;// Tex2 addr 0x2603b000 res 16x16x16 dim 2 tm: 7 format 001a compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x10) Sampler2 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in vec4 passParameterSem0;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ return min(a*b,min(abs(a)*3.40282347E+38F,abs(b)*3.40282347E+38F)); }
//----------------------------------------------------------------------------
//ToneMapping
vec3 TonemapPass(vec3 inputColor) {
vec3 color = inputColor;
color = clamp(color - defog * FogColor * 2.55, 0.0, 1.0); // defog
color *= exposure / (1.0 + color / exposure);
const vec3 coefLuma = vec3(0.2126, 0.7152, 0.0722);
float lum = dot(coefLuma, color);
float L = clamp(10.0 * (lum - 0.45), 0.0, 1.0);
vec3 A2 = Bleach * color;
vec3 result1 = 2.0f * color * lum;
vec3 result2 = 1.0f - 2.0f * (1.0f - lum) * (1.0f - color);
vec3 newColor = mix(result1, result2, L);
vec3 mixRGB = A2 * newColor;
color += ((1.0f - A2) * mixRGB);
vec3 middlegray = vec3(dot(color, vec3(1.0 / 3.0)));
vec3 diffcolor = color - middlegray;
float sat = 0.0;
color = (color + diffcolor * sat) / (1 + (diffcolor * sat)); // saturation
return color;
}
//LumaShapening
#define px (1.0/1280.0*uf_fragCoordScale.x)
#define py (1.0/720.0*uf_fragCoordScale.y)
#define CoefLuma vec3(0.2126, 0.7152, 0.0722)
float lumasharping(sampler2D tex, vec2 pos) {
vec4 colorInput = texture(tex, pos);
vec3 ori = colorInput.rgb;
// -- Combining the strength and luma multipliers --
vec3 sharp_strength_luma = (CoefLuma * sharp_strength);
// -- Gaussian filter --
// [ .25, .50, .25] [ 1 , 2 , 1 ]
// [ .50, 1, .50] = [ 2 , 4 , 2 ]
// [ .25, .50, .25] [ 1 , 2 , 1 ]
vec3 blur_ori = texture(tex, pos + vec2(px, -py) * 0.5 * offset_bias).rgb; // South East
blur_ori += texture(tex, pos + vec2(-px, -py) * 0.5 * offset_bias).rgb; // South West
blur_ori += texture(tex, pos + vec2(px, py) * 0.5 * offset_bias).rgb; // North East
blur_ori += texture(tex, pos + vec2(-px, py) * 0.5 * offset_bias).rgb; // North West
blur_ori *= 0.25; // ( /= 4) Divide by the number of texture fetches
// -- Calculate the sharpening --
vec3 sharp = ori - blur_ori; //Subtracting the blurred image from the original image
// -- Adjust strength of the sharpening and clamp it--
vec4 sharp_strength_luma_clamp = vec4(sharp_strength_luma * (0.5 / sharp_clamp), 0.5); //Roll part of the clamp into the dot
float sharp_luma = clamp((dot(vec4(sharp, 1.0), sharp_strength_luma_clamp)), 0.0, 1.0); //Calculate the luma, adjust the strength, scale up and clamp
sharp_luma = (sharp_clamp * 2.0) * sharp_luma - sharp_clamp; //scale down
return sharp_luma;
}
//Fake High Dynamic Range.
vec3 HDRPass(sampler2D tex, vec2 pos) {
vec3 color = texture(tex, pos).rgb;
vec3 bloom_sum1 = texture(tex, pos + vec2(1.5, -1.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(-1.5, -1.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(1.5, 1.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(-1.5, 1.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(0.0, -2.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(0.0, 2.5) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(-2.5, 0.0) * radius1 * vec2(px, py)).rgb;
bloom_sum1 += texture(tex, pos + vec2(2.5, 0.0) * radius1 * vec2(px, py)).rgb;
bloom_sum1 *= 0.005;
vec3 bloom_sum2 = texture(tex, pos + vec2(1.5, -1.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(-1.5, -1.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(1.5, 1.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(-1.5, 1.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(0.0, -2.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(0.0, 2.5) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(-2.5, 0.0) * radius2 * vec2(px, py)).rgb;
bloom_sum2 += texture(tex, pos + vec2(2.5, 0.0) * radius2 * vec2(px, py)).rgb;
bloom_sum2 *= 0.010;
float dist = radius2 - radius1;
vec3 HDR = (color + (bloom_sum2 - bloom_sum1)) * dist;
vec3 blend = HDR + color;
color = pow(abs(blend), vec3(abs(HDRPower))) + HDR;
return color;
}
//Lift Gamma Gain
vec3 LiftGammaGainPass(vec3 colorInput)
{
// -- Get input --
vec3 color = colorInput;
// -- Lift --
color = color * (1.5 - 0.5 * RGB_Lift) + 0.5 * RGB_Lift - 0.5;
color = clamp(color, 0.0, 1.0); //isn't strictly necessary, but doesn't cost performance.
// -- Gain --
color *= RGB_Gain;
// -- Gamma --
color = pow(color, 1.0 / RGB_Gamma); //Gamma
// -- Return output --
return clamp(color, 0.0, 1.0);
}
//VibrancePass
vec3 VibrancePass(vec3 color) {
const vec3 coefLuma = vec3(0.2126, 0.7152, 0.0722);
float luma = dot(coefLuma, color);
float max_color = max(color.r, max(color.g, color.b)); // Find the strongest color
float min_color = min(color.r, min(color.g, color.b)); // Find the weakest color
float color_saturation = max_color - min_color; // The difference between the two is the saturation
// Extrapolate between luma and original by 1 + (1-saturation) - current
vec3 coeffVibrance = VibranceRGBBalance * Vibrance;
color = mix(vec3(luma), color, 1.0 + (coeffVibrance * (1.0 - (sign(coeffVibrance) * color_saturation))));
return color;
}
//Curves
vec3 CurvesPass(vec3 inputColor) {
vec3 colorInput = inputColor;
float Contrast_blend = Contrast * 2.0; //I multiply by two to give it a strength closer to the other curves.
vec3 x = colorInput.rgb; //if the curve should be applied to both Luma and Chroma
x = x * (x * (1.5 - x) + 0.5); //horner form - fastest version
vec3 color = x; //if the curve should be applied to both Luma and Chroma
colorInput.rgb = mix(colorInput.rgb, color, Contrast_blend); //Blend by Contrast
return colorInput;
}
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem0;
R0f.xyz = HDRPass(textureUnitPS0, passParameterSem0.xy);
float smask = lumasharping(textureUnitPS0, passParameterSem0.xy);
R0f.xyz += vec3(smask);
//R0f.xyz = (texture(textureUnitPS0, R0f.xy).xyz);
// -- Original shader code
// 0
backupReg0f = R0f.x;
PV0f.x = backupReg0f * intBitsToFloat(uf_remappedPS[0].x);
PV0f.x = clamp(PV0f.x, 0.0, 1.0);
R127f.z = R0f.z * intBitsToFloat(uf_remappedPS[0].x);
R127f.z = clamp(R127f.z, 0.0, 1.0);
R127f.w = R0f.y * intBitsToFloat(uf_remappedPS[0].x);
R127f.w = clamp(R127f.w, 0.0, 1.0);
R2f.w = 1.0;
PS0f = R2f.w;
// 1
tempResultf = log2(PV0f.x);
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS1f = tempResultf;
// 2
R127f.x = PS1f * intBitsToFloat(0x3ee8ba2e);
tempResultf = log2(R127f.w);
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS0f = tempResultf;
// 3
R127f.y = PS0f * intBitsToFloat(0x3ee8ba2e);
tempResultf = log2(R127f.z);
if( isinf(tempResultf) == true ) tempResultf = -3.40282347E+38F;
PS1f = tempResultf;
// 4
R127f.w = PS1f * intBitsToFloat(0x3ee8ba2e);
PS0f = exp2(R127f.x);
// 5
R0f.x = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w));
PS1f = exp2(R127f.y);
// 6
R0f.y = (PS1f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w));
PS0f = exp2(R127f.w);
// 7
R0f.z = (PS0f * intBitsToFloat(uf_remappedPS[0].z) + intBitsToFloat(uf_remappedPS[0].w));
R1f.xyz = (texture(textureUnitPS1, vec3(R0f.x,R0f.y,R0f.z)).xyz);
R0f.xyz = (texture(textureUnitPS2, vec3(R0f.x,R0f.y,R0f.z)).xyz);
// 0
backupReg0f = R0f.y;
backupReg1f = R0f.x;
PV0f.x = R1f.z + -(R0f.z);
PV0f.y = R1f.y + -(backupReg0f);
PV0f.z = R1f.x + -(backupReg1f);
// 1
R2f.x = (PV0f.z * intBitsToFloat(uf_remappedPS[0].y) + R0f.x);
R2f.y = (PV0f.y * intBitsToFloat(uf_remappedPS[0].y) + R0f.y);
R2f.z = (PV0f.x * intBitsToFloat(uf_remappedPS[0].y) + R0f.z);
// -- End original shader code
//passPixelColor0 = vec4(R0f.x, R0f.y, R0f.z, R0f.w);
vec3 color = texture(textureUnitPS0, passParameterSem0.xy).xyz;
color = TonemapPass(color);
color = CurvesPass(color);
color = LiftGammaGainPass(color);
color = VibrancePass(color);
passPixelColor0 = vec4(color, passParameterSem0.w);
//passPixelColor0 = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
//passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
}

View File

@ -1,4 +0,0 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Xenoblade Chronicles X - Fx By Jamie"
version = 2

View File

@ -1,10 +0,0 @@
[Definition]
titleIds = 0005000010116100,00050000101C4C00,00050000101C4D00
name = "Xenoblade Chronicles X - No Offline Tag"
version = 2
[TextureRedefine]
width = 128
height = 32
formats = 0x033
overwriteFormat = 0x433

View File

@ -1,6 +1,6 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader 58b84124c01721ff //in-game luminance
// shader 58b8411478181d7f
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem2;

View File

@ -1,6 +1,6 @@
#version 420
#extension GL_ARB_texture_gather : enable
// shader 58b8411478181d7f //inventory luminance
// shader 58b84124c01721ff
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(location = 0) in vec4 passParameterSem2;

View File

@ -1,6 +1,173 @@
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_EXT_gpu_shader4 : enable
// shader f14bb57cd5c9cb77
// Used for: Removing/Restoring the native BotW Anti-Aliasing implementation in inventory screen
#define preset $preset
#if (preset == 0)
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
void main()
{
passPixelColor0 = texture(textureUnitPS0, passParameterSem2.xy);
}
#endif
#if (preset == 1)
uniform ivec4 uf_remappedPS[4];
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf4713800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x387f8000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
ivec2 resDim = textureSize2D(textureUnitPS0,0);
const float resXScale = float(resDim.x)/1280;
const float resYScale = float(resDim.y)/720;
int clampFI32(int v)
{
if( v == 0x7FFFFFFF )
return floatBitsToInt(1.0);
else if( v == 0xFFFFFFFF )
return floatBitsToInt(0.0);
return floatBitsToInt(clamp(intBitsToFloat(v), 0.0, 1.0));
}
float mul_nonIEEE(float a, float b){ if( a == 0.0 || b == 0.0 ) return 0.0; return a*b; }
void main()
{
vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R123f = vec4(0.0);
vec4 R126f = vec4(0.0);
vec4 R127f = vec4(0.0);
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
float PS0f = 0.0, PS1f = 0.0;
vec4 tempf = vec4(0.0);
float tempResultf;
int tempResulti;
ivec4 ARi = ivec4(0);
bool predResult = true;
bool activeMaskStack[2];
bool activeMaskStackC[3];
activeMaskStack[0] = false;
activeMaskStackC[0] = false;
activeMaskStackC[1] = false;
activeMaskStack[0] = true;
activeMaskStackC[0] = true;
activeMaskStackC[1] = true;
vec3 cubeMapSTM;
int cubeMapFaceId;
R0f = passParameterSem2;
if( activeMaskStackC[1] == true ) {
R1f.xyzw = (textureGather(textureUnitPS1, R0f.xy).wzxy);
R2f.xyzw = (texture(textureUnitPS0, R0f.xy).xyzw);
}
if( activeMaskStackC[1] == true ) {
activeMaskStack[1] = activeMaskStack[0];
activeMaskStackC[2] = activeMaskStackC[1];
// 0
PV0f.x = R1f.w + -(R1f.x);
PV0f.y = R1f.z + -(R1f.y);
PV0f.z = mul_nonIEEE(R2f.x, intBitsToFloat(uf_remappedPS[0].x));
R127f.w = min(R1f.z, R1f.x);
R127f.x = min(R1f.w, R1f.y);
PS0f = R127f.x;
// 1
R123f.x = (mul_nonIEEE(R2f.y,intBitsToFloat(uf_remappedPS[0].y)) + PV0f.z);
PV1f.x = R123f.x;
PV1f.y = max(R1f.z, R1f.x);
R127f.z = PV0f.y + -(PV0f.x);
PV1f.z = R127f.z;
R126f.w = PV0f.y + PV0f.x;
PV1f.w = R126f.w;
PS1f = max(R1f.w, R1f.y);
// 2
PV0f.x = max(PV1f.z, -(PV1f.z));
PV0f.y = max(PV1f.w, -(PV1f.w));
R123f.z = (mul_nonIEEE(R2f.z,intBitsToFloat(uf_remappedPS[0].z)) + PV1f.x);
PV0f.z = R123f.z;
PV0f.w = min(R127f.w, R127f.x);
PS0f = max(PV1f.y, PS1f);
// 3
PV1f.x = mul_nonIEEE(PS0f, intBitsToFloat(uf_remappedPS[1].x));
PV1f.y = max(PV0f.z, PS0f);
PV1f.z = min(PV0f.z, PV0f.w);
PV1f.w = min(PV0f.y, PV0f.x);
// 4
R1f.x = -(PV1f.z) + PV1f.y;
R0f.z = max(PV1f.x, intBitsToFloat(uf_remappedPS[1].y));
PS0f = 1.0 / PV1f.w;
// 5
PV1f.x = mul_nonIEEE(R127f.z, PS0f);
PV1f.y = mul_nonIEEE(R126f.w, PS0f);
// 6
PV0f.z = max(PV1f.x, -(intBitsToFloat(uf_remappedPS[2].y)));
PV0f.w = max(PV1f.y, -(intBitsToFloat(uf_remappedPS[2].y)));
// 7
R3f.x = min(PV0f.w, intBitsToFloat(uf_remappedPS[2].y));
R1f.y = min(PV0f.z, intBitsToFloat(uf_remappedPS[2].y));
// 8
predResult = (R1f.x > R0f.z);
activeMaskStack[1] = predResult;
activeMaskStackC[2] = predResult == true && activeMaskStackC[1] == true;
}
else {
activeMaskStack[1] = false;
activeMaskStackC[2] = false;
}
if( activeMaskStackC[2] == true ) {
// 0
backupReg0f = R3f.x;
backupReg0f = R3f.x;
R3f.x = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedPS[3].x)/resXScale) + R0f.x);
R3f.y = (mul_nonIEEE(R1f.y,intBitsToFloat(uf_remappedPS[3].y)/resYScale) + R0f.y);
R1f.x = (mul_nonIEEE(backupReg0f,-(intBitsToFloat(uf_remappedPS[3].x)/resXScale)) + R0f.x);
PS0f = R1f.x;
// 1
backupReg0f = R1f.y;
R1f.y = (mul_nonIEEE(backupReg0f,-(intBitsToFloat(uf_remappedPS[3].y)/resYScale)) + R0f.y);
}
if( activeMaskStackC[2] == true ) {
R0f.xyzw = (texture(textureUnitPS0, R3f.xy).xyzw);
R1f.xyzw = (texture(textureUnitPS0, R1f.xy).xyzw);
}
if( activeMaskStackC[2] == true ) {
// 0
R127f.x = R0f.w + R1f.w;
R127f.x /= 2.0;
PV0f.x = R127f.x;
R127f.y = R0f.z + R1f.z;
R127f.y /= 2.0;
PV0f.y = R127f.y;
R127f.z = R0f.y + R1f.y;
R127f.z /= 2.0;
PV0f.z = R127f.z;
R127f.w = R0f.x + R1f.x;
R127f.w /= 2.0;
PV0f.w = R127f.w;
// 1
PV1f.x = R2f.w + -(PV0f.x);
PV1f.y = R2f.z + -(PV0f.y);
PV1f.z = R2f.y + -(PV0f.z);
PV1f.w = R2f.x + -(PV0f.w);
// 2
R2f.x = (PV1f.w * intBitsToFloat(0x3eb33333) + R127f.w);
R2f.y = (PV1f.z * intBitsToFloat(0x3eb33333) + R127f.z);
R2f.z = (PV1f.y * intBitsToFloat(0x3eb33333) + R127f.y);
R2f.w = (PV1f.x * intBitsToFloat(0x3eb33333) + R127f.x);
}
activeMaskStackC[1] = activeMaskStack[0] == true && activeMaskStackC[0] == true;
// export
passPixelColor0 = vec4(R2f.x, R2f.y, R2f.z, R2f.w);
}
#endif
#if (preset == 2)
/*-----------------------------settings-------------------------------------*/
#define Subpix 0.70 //[0.000 to 1.000] Choose the amount of sub-pixel aliasing removal.
@ -9,11 +176,8 @@
/*--------------------------------------------------------------------------*/
// shader f14bb57cd5c9cb77
// fxaa in game
// original shader dumped using cemu 1.10.0f, BotW 1.3.1
layout(binding = 0) uniform sampler2D textureUnitPS0;
layout(binding = 1) uniform sampler2D textureUnitPS1;
layout(binding = 0) uniform sampler2D textureUnitPS0;// Tex0 addr 0xf49b1800 res 1280x720x1 dim 1 tm: 4 format 0019 compSel: 0 1 2 3 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler0 ClampX/Y/Z: 2 2 2 border: 1
layout(binding = 1) uniform sampler2D textureUnitPS1;// Tex1 addr 0x387f8000 res 1280x720x1 dim 1 tm: 4 format 0001 compSel: 0 4 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler1 ClampX/Y/Z: 2 2 2 border: 1
layout(location = 0) in vec4 passParameterSem2;
layout(location = 0) out vec4 passPixelColor0;
uniform vec2 uf_fragCoordScale;
@ -348,3 +512,4 @@ void main()
{
passPixelColor0 = FxaaPixelShader(passParameterSem2.xy, textureUnitPS0, textureUnitPS1, RcpFrame, Subpix, EdgeThreshold, EdgeThresholdMin);
}
#endif

View File

@ -1,8 +1,21 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "The Legend of Zelda: Breath of the Wild - FXAA"
version = 2
name = Anti-Aliasing
path = "The Legend of Zelda: Breath of the Wild/Graphics/Anti-Aliasing"
description = Enables and Disables Anti-Aliasing processing. FXAA is better alternative and customizable. Check the "!GameTitleHere_Anti-Aliasing/rules.txt" file in your graphicPack folder for info about the individual settings.
version = 3
[Preset]
name = Disabled
$preset:int = 0
[Preset]
name = Enabled
$preset:int = 1
[Preset]
name = FXAA
$preset:int = 2
# Subpix:
# Choose the amount of sub-pixel aliasing removal.
@ -27,13 +40,5 @@ version = 2
# 0.0625 - high quality (faster)
# 0.0312 - visible limit (slower)
# Credit: Kiri, NAVras
[TextureRedefine] #Luma
width = 1280
height = 720
formats = 0x1
overwriteFormat = 0x5
tileModesExcluded = 0x001
# Credit: SkalFate for proper V3 Import.

View File

@ -0,0 +1,6 @@
[Definition]
titleIds = 00050000101C9300,00050000101C9400,00050000101C9500
name = "No Depth of Field"
path = "The Legend of Zelda: Breath of the Wild/Enhancements/No Depth of Field"
description = "Disables depth of field."
version = 3

View File

@ -3,8 +3,7 @@
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader 04d0827b9471eb22
const float resXScale = 3.0;
const float resYScale = 3.0;
uniform ivec4 uf_remappedVS[1];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(location = 0) in uvec4 attrDataSem0;
@ -57,9 +56,9 @@ R3f.x = R2f.x;
R3f.y = R2f.y;
PV0f.z = intBitsToFloat(uf_remappedVS[0].z) + 0.0;
// 1
R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y) / resYScale, PV0f.z);
R127f.z = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].y), PV0f.z);
PV1f.z = R127f.z;
PV1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x) / resXScale, PV0f.z);
PV1f.w = mul_nonIEEE(intBitsToFloat(uf_remappedVS[0].x), PV0f.z);
// 2
PV0f.x = R2f.y + PV1f.z;
PV0f.y = R2f.x + PV1f.w;

View File

@ -0,0 +1,6 @@
[Definition]
titleIds = 00050000101ED700,00050000101ED800,0005000010131D00
name = AA removal TMS
path = "Tokyo Mirage Sessions FE/Graphics/AA removal"
description = Removes AA, no performance gain. Used for clean look or injecting external AA
version = 3

View File

@ -0,0 +1,6 @@
[Definition]
titleIds = 0005000010137F00,0005000010138300,0005000010144800
name = Resolution
path = "Donkey Kong Country: Tropical Freeze/Graphics/AA Removal"
description = Removes AA, no performance gain. Used for clean look or injecting external AA.
version = 3

View File

@ -1,21 +1,11 @@
<?php
include 'Source/functions.php';
$fullWidth = $argv[1];
$fullHeight = $argv[2];
$scaleFactorX = always_decimal_format($fullWidth / 1280.0);
$scaleFactorY = always_decimal_format($fullHeight / 720.0);
?>
#version 420
#extension GL_ARB_texture_gather : enable
#extension GL_ARB_separate_shader_objects : enable
#extension GL_ARB_shading_language_packing : enable
// shader f5274bda2b5e1e9f
// bloom blur texture coordinates
const float resXScale = <?=$scaleFactorX?>;
const float resYScale = <?=$scaleFactorY?>;
// shader 497a209b49886520 //depth?
uniform ivec4 uf_remappedVS[1];
uniform vec2 uf_windowSpaceToClipSpaceTransform;
layout(binding = 32) uniform sampler2D textureUnitVS0;// Tex0 addr 0xf545c000 res 1x1x1 dim 1 tm: 2 format 081e compSel: 0 1 4 5 mipView: 0x0 (num 0x1) sliceView: 0x0 (num 0x1) Sampler18 ClampX/Y/Z: 2 2 2 border: 0
layout(location = 0) in uvec4 attrDataSem0;
layout(location = 1) in uvec4 attrDataSem1;
out gl_PerVertex
@ -41,8 +31,6 @@ vec4 R0f = vec4(0.0);
vec4 R1f = vec4(0.0);
vec4 R2f = vec4(0.0);
vec4 R3f = vec4(0.0);
vec4 R4f = vec4(0.0);
vec4 R127f = vec4(0.0);
uvec4 attrDecoder;
float backupReg0f, backupReg1f, backupReg2f, backupReg3f, backupReg4f;
vec4 PV0f = vec4(0.0), PV1f = vec4(0.0);
@ -65,35 +53,30 @@ attrDecoder.z = 0;
attrDecoder.w = 0;
R2f = vec4(intBitsToFloat(int(attrDecoder.x)), intBitsToFloat(int(attrDecoder.y)), intBitsToFloat(floatBitsToInt(0.0)), intBitsToFloat(floatBitsToInt(1.0)));
// 0
backupReg0f = R1f.x;
backupReg1f = R1f.y;
R1f.x = backupReg0f;
R1f.x *= 2.0;
R1f.y = backupReg1f;
R1f.y *= 2.0;
R1f.z = 0.0;
R1f.w = 1.0;
R127f.x = R2f.y + intBitsToFloat(uf_remappedVS[0].w) / resYScale;
PS0f = R127f.x;
// 1
R0f.x = R2f.x + intBitsToFloat(uf_remappedVS[0].z) / resXScale;
R0f.y = PS0f;
PV1f.z = R2f.y + -(intBitsToFloat(uf_remappedVS[0].w) / resYScale);
R4f.w = R2f.x;
R3f.x = R2f.x + -(intBitsToFloat(uf_remappedVS[0].z) / resXScale);
PS1f = R3f.x;
// 2
R4f.x = R2f.y;
R3f.y = R127f.x;
R3f.z = PV1f.z;
R0f.w = PV1f.z;
backupReg0f = R2f.x;
backupReg1f = R2f.y;
backupReg0f = R2f.x;
backupReg1f = R2f.y;
R2f.x = backupReg0f;
R2f.y = backupReg1f;
R0f.z = intBitsToFloat(0x3f000000);
R0f.w = (mul_nonIEEE(backupReg0f,intBitsToFloat(uf_remappedVS[0].x)) + intBitsToFloat(uf_remappedVS[0].z));
R0f.y = (mul_nonIEEE(backupReg1f,intBitsToFloat(uf_remappedVS[0].y)) + intBitsToFloat(uf_remappedVS[0].w));
PS0f = R0f.y;
R3f.xy = (textureLod(textureUnitVS0, R0f.zz,0.0).xy)*0.33335;
// export
gl_Position = vec4(R1f.x, R1f.y, R1f.z, R1f.w);
// export
passParameterSem1 = vec4(R0f.x, R0f.y, R0f.x, R0f.w);
passParameterSem1 = vec4(R2f.x, R2f.y, R2f.z, R2f.z);
// export
passParameterSem2 = vec4(R3f.x, R3f.y, R3f.x, R3f.z);
// export
passParameterSem0 = vec4(R4f.w, R4f.x, R4f.z, R4f.z);
passParameterSem2 = vec4(R0f.w, R0f.y, R0f.z, R0f.z);
// 0
backupReg0f = R3f.x;
backupReg1f = R3f.y;
R3f.x = backupReg0f;
R3f.y = backupReg1f;
// export
passParameterSem0 = vec4(R3f.x, R3f.y, R3f.z, R3f.z);
// 0
}

Some files were not shown because too many files have changed in this diff Show More