From eb84bb298d2b95aec7b2ae12cbf25ac64f25379a Mon Sep 17 00:00:00 2001 From: tylermurphy534 Date: Sun, 6 Nov 2022 15:12:42 -0500 Subject: move to self host --- VRCSDK3Worlds/Assets/Editor/x64/Bakery.meta | 9 + .../Assets/Editor/x64/Bakery/.denoiserlog.txt | 48 + .../Assets/Editor/x64/Bakery/.ftracelog.txt | 30860 +++++++++++++++++++ .../Assets/Editor/x64/Bakery/.uvgblog.txt | 758 + .../Editor/x64/Bakery/NormalsFittingTexture_dds | Bin 0 -> 4194432 bytes .../x64/Bakery/NormalsFittingTexture_dds.meta | 8 + .../Assets/Editor/x64/Bakery/OpenImageDenoise.dll | Bin 0 -> 45172064 bytes .../Editor/x64/Bakery/OpenImageDenoise.dll.meta | 28 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx | 200 + .../Assets/Editor/x64/Bakery/addAO.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx | 327 + .../Assets/Editor/x64/Bakery/addDir.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx | 228 + .../Assets/Editor/x64/Bakery/addHalf.ptx.meta | 8 + .../Editor/x64/Bakery/addHalfSeparateIndirect.ptx | 290 + .../x64/Bakery/addHalfSeparateIndirect.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx | 666 + .../Assets/Editor/x64/Bakery/addSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/alphabuffergen.dll | Bin 0 -> 52736 bytes .../Editor/x64/Bakery/alphabuffergen.dll.meta | 138 + .../Assets/Editor/x64/Bakery/attrib_trimesh.ptx | 265 + .../Editor/x64/Bakery/attrib_trimesh.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx | 301 + .../Editor/x64/Bakery/attrib_trimeshTex.ptx.meta | 8 + .../x64/Bakery/attrib_trimeshTexLODselect.ptx | 341 + .../x64/Bakery/attrib_trimeshTexLODselect.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/clip_rtx.ptx | 114 + .../Assets/Editor/x64/Bakery/clip_rtx.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/combineMasks.exe | Bin 0 -> 73216 bytes .../Assets/Editor/x64/Bakery/combineMasks.exe.meta | 8 + .../Assets/Editor/x64/Bakery/cookieOutput.pso | Bin 0 -> 672 bytes .../Assets/Editor/x64/Bakery/cookieOutput.pso.meta | 8 + .../Assets/Editor/x64/Bakery/cudart32_91.dll | Bin 0 -> 299520 bytes .../Assets/Editor/x64/Bakery/cudart32_91.dll.meta | 115 + .../Assets/Editor/x64/Bakery/cudart64_90.dll | Bin 0 -> 390024 bytes .../Assets/Editor/x64/Bakery/cudart64_90.dll.meta | 115 + .../Assets/Editor/x64/Bakery/cudart64_91.dll | Bin 0 -> 374272 bytes .../Assets/Editor/x64/Bakery/cudart64_91.dll.meta | 115 + .../Assets/Editor/x64/Bakery/cudnn64_7.dll | 3 + .../Assets/Editor/x64/Bakery/cudnn64_7.dll.meta | 28 + .../Assets/Editor/x64/Bakery/d3dcompiler_47.dll | Bin 0 -> 4173928 bytes .../Editor/x64/Bakery/d3dcompiler_47.dll.meta | 138 + .../Assets/Editor/x64/Bakery/debugLines.pso | Bin 0 -> 1396 bytes .../Assets/Editor/x64/Bakery/debugLines.pso.meta | 8 + .../Assets/Editor/x64/Bakery/denoiseFinish.ptx | 1050 + .../Editor/x64/Bakery/denoiseFinish.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/denoiseFinish72.ptx | 93 + .../Editor/x64/Bakery/denoiseFinish72.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx | 107 + .../Editor/x64/Bakery/denoiseFinishOIDN.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/denoiseFinishSH.ptx | 598 + .../Editor/x64/Bakery/denoiseFinishSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx | 526 + .../Editor/x64/Bakery/denoiseFinishSH72.ptx.meta | 8 + .../Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx | 167 + .../x64/Bakery/denoiseFinishSH_OIDN.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/denoisePrepare.ptx | 586 + .../Editor/x64/Bakery/denoisePrepare.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/denoisePrepare72.ptx | 71 + .../Editor/x64/Bakery/denoisePrepare72.ptx.meta | 8 + .../Editor/x64/Bakery/denoisePrepareOIDN.ptx | 116 + .../Editor/x64/Bakery/denoisePrepareOIDN.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/denoisePrepareSH.ptx | 595 + .../Editor/x64/Bakery/denoisePrepareSH.ptx.meta | 8 + .../Editor/x64/Bakery/denoisePrepareSH72.ptx | 519 + .../Editor/x64/Bakery/denoisePrepareSH72.ptx.meta | 8 + .../Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx | 159 + .../x64/Bakery/denoisePrepareSH_OIDN.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/denoiser.exe | Bin 0 -> 52224 bytes .../Assets/Editor/x64/Bakery/denoiser.exe.meta | 8 + .../Assets/Editor/x64/Bakery/denoiser72.exe | Bin 0 -> 52224 bytes .../Assets/Editor/x64/Bakery/denoiser72.exe.meta | 8 + .../Assets/Editor/x64/Bakery/denoiserLegacy.exe | Bin 0 -> 52224 bytes .../Editor/x64/Bakery/denoiserLegacy.exe.meta | 8 + .../Assets/Editor/x64/Bakery/denoiserOIDN.exe | Bin 0 -> 51200 bytes .../Assets/Editor/x64/Bakery/denoiserOIDN.exe.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso | Bin 0 -> 2000 bytes .../Assets/Editor/x64/Bakery/dilate.pso.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx | 473 + .../Assets/Editor/x64/Bakery/dilate.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/dilateFloat.ptx | 284 + .../Assets/Editor/x64/Bakery/dilateFloat.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/dilateHalf.ptx | 472 + .../Assets/Editor/x64/Bakery/dilateHalf.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/dilateMask.ptx | 286 + .../Assets/Editor/x64/Bakery/dilateMask.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/dilateSimple.pso | Bin 0 -> 1796 bytes .../Assets/Editor/x64/Bakery/dilateSimple.pso.meta | 8 + .../Assets/Editor/x64/Bakery/exception.ptx | 934 + .../Assets/Editor/x64/Bakery/exception.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx | 337 + .../Assets/Editor/x64/Bakery/fixPos.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx | 245 + .../Assets/Editor/x64/Bakery/fixPos1.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/fixPos12.ptx | 702 + .../Assets/Editor/x64/Bakery/fixPos12.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx | 382 + .../Assets/Editor/x64/Bakery/fixPos2.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/fixPos3D.ptx | 513 + .../Assets/Editor/x64/Bakery/fixPos3D.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll | Bin 0 -> 97280 bytes .../Assets/Editor/x64/Bakery/frender.dll.meta | 138 + .../Assets/Editor/x64/Bakery/ftChecker.shader | 87 + .../Assets/Editor/x64/Bakery/ftChecker.shader.meta | 9 + .../Assets/Editor/x64/Bakery/ftServer.exe | Bin 0 -> 37376 bytes .../Assets/Editor/x64/Bakery/ftServer.exe.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe | Bin 0 -> 299520 bytes .../Assets/Editor/x64/Bakery/ftrace.exe.meta | 8 + .../Assets/Editor/x64/Bakery/ftraceRTX.exe | Bin 0 -> 300032 bytes .../Assets/Editor/x64/Bakery/ftraceRTX.exe.meta | 8 + .../Assets/Editor/x64/Bakery/halffloat2hdr.exe | Bin 0 -> 104960 bytes .../Editor/x64/Bakery/halffloat2hdr.exe.meta | 8 + .../Assets/Editor/x64/Bakery/halffloat2vb.dll | Bin 0 -> 101376 bytes .../Assets/Editor/x64/Bakery/halffloat2vb.dll.meta | 28 + .../Assets/Editor/x64/Bakery/heightfield.ptx | 648 + .../Assets/Editor/x64/Bakery/heightfield.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/heightfieldTex.ptx | 676 + .../Editor/x64/Bakery/heightfieldTex.ptx.meta | 8 + .../Editor/x64/Bakery/heightfieldTexLODSelect.ptx | 680 + .../x64/Bakery/heightfieldTexLODSelect.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/hwtestdata.meta | 9 + .../Editor/x64/Bakery/hwtestdata/alphabuffer.bin | Bin 0 -> 2 bytes .../x64/Bakery/hwtestdata/alphabuffer.bin.meta | 8 + .../Editor/x64/Bakery/hwtestdata/alphaid2.bin | 0 .../Editor/x64/Bakery/hwtestdata/alphaid2.bin.meta | 8 + .../Editor/x64/Bakery/hwtestdata/direct0.bin | Bin 0 -> 52 bytes .../Editor/x64/Bakery/hwtestdata/direct0.bin.meta | 8 + .../Editor/x64/Bakery/hwtestdata/heightmaps.bin | 0 .../x64/Bakery/hwtestdata/heightmaps.bin.meta | 8 + .../Assets/Editor/x64/Bakery/hwtestdata/ib32.bin | Bin 0 -> 28 bytes .../Editor/x64/Bakery/hwtestdata/ib32.bin.meta | 8 + .../Assets/Editor/x64/Bakery/hwtestdata/image.lz4 | Bin 0 -> 2046 bytes .../Editor/x64/Bakery/hwtestdata/image.lz4.meta | 8 + .../Editor/x64/Bakery/hwtestdata/light_HDR.lz4 | Bin 0 -> 75 bytes .../x64/Bakery/hwtestdata/light_HDR.lz4.meta | 7 + .../Assets/Editor/x64/Bakery/hwtestdata/lmid.bin | Bin 0 -> 4 bytes .../Editor/x64/Bakery/hwtestdata/lmid.bin.meta | 8 + .../Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin | 1 + .../Editor/x64/Bakery/hwtestdata/lmlod.bin.meta | 8 + .../Assets/Editor/x64/Bakery/hwtestdata/lms.bin | Bin 0 -> 18 bytes .../Editor/x64/Bakery/hwtestdata/lms.bin.meta | 8 + .../Editor/x64/Bakery/hwtestdata/settings.bin | Bin 0 -> 10 bytes .../Editor/x64/Bakery/hwtestdata/settings.bin.meta | 8 + .../Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4 | Bin 0 -> 74 bytes .../hwtestdata/uvnormal_tinyscene_LM0.lz4.meta | 8 + .../x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4 | Bin 0 -> 1695 bytes .../Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4.meta | 8 + .../Editor/x64/Bakery/hwtestdata/vbtrace.bin | Bin 0 -> 96 bytes .../Editor/x64/Bakery/hwtestdata/vbtrace.bin.meta | 8 + .../Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin | Bin 0 -> 32 bytes .../x64/Bakery/hwtestdata/vbtraceUV0.bin.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png | Bin 0 -> 19396 bytes .../Assets/Editor/x64/Bakery/icon.png.meta | 68 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe | Bin 0 -> 22016 bytes .../Assets/Editor/x64/Bakery/ies2tex.exe.meta | 8 + .../Assets/Editor/x64/Bakery/lambert_arealight.ptx | 329 + .../Editor/x64/Bakery/lambert_arealight.ptx.meta | 8 + .../Editor/x64/Bakery/lambert_backface_check.ptx | 149 + .../x64/Bakery/lambert_backface_check.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lambert_lodselect.ptx | 156 + .../Editor/x64/Bakery/lambert_lodselect.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lambert_sky.ptx | 629 + .../Assets/Editor/x64/Bakery/lambert_sky.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lambert_sss.ptx | 241 + .../Assets/Editor/x64/Bakery/lambert_sss.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx | 200 + .../Editor/x64/Bakery/lambert_tex_gi2.ptx.meta | 8 + .../Editor/x64/Bakery/lambert_texarealight.ptx | 351 + .../x64/Bakery/lambert_texarealight.ptx.meta | 8 + .../Editor/x64/Bakery/lightingDataChunks.meta | 9 + .../LightingData_2017_1_part0.bin | Bin 0 -> 7 bytes .../LightingData_2017_1_part0.bin.meta | 8 + .../LightingData_2017_1_part1.bin | Bin 0 -> 12597 bytes .../LightingData_2017_1_part1.bin.meta | 8 + .../LightingData_2017_1_part2.bin | Bin 0 -> 628 bytes .../LightingData_2017_1_part2.bin.meta | 8 + .../LightingData_2017_1_part3.bin | Bin 0 -> 88 bytes .../LightingData_2017_1_part3.bin.meta | 8 + .../lightingDataChunks/LightingData_5_6_part0.bin | Bin 0 -> 7 bytes .../LightingData_5_6_part0.bin.meta | 8 + .../lightingDataChunks/LightingData_5_6_part1.bin | Bin 0 -> 12497 bytes .../LightingData_5_6_part1.bin.meta | 8 + .../lightingDataChunks/LightingData_5_6_part2.bin | Bin 0 -> 584 bytes .../LightingData_5_6_part2.bin.meta | 8 + .../lightingDataChunks/LightingData_5_6_part3.bin | Bin 0 -> 84 bytes .../LightingData_5_6_part3.bin.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx | 1033 + .../Assets/Editor/x64/Bakery/lmAO.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx | 1098 + .../Assets/Editor/x64/Bakery/lmAOdir.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmAreaLight.ptx | 1807 ++ .../Assets/Editor/x64/Bakery/lmAreaLight.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmAreaLightDir.ptx | 1888 ++ .../Editor/x64/Bakery/lmAreaLightDir.ptx.meta | 8 + .../Editor/x64/Bakery/lmAreaLightProbeSH.ptx | 2314 ++ .../Editor/x64/Bakery/lmAreaLightProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx | 2483 ++ .../Editor/x64/Bakery/lmAreaLightRNM.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmAreaLightSH.ptx | 2376 ++ .../Editor/x64/Bakery/lmAreaLightSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmBatchPointLight.ptx | 1847 ++ .../Editor/x64/Bakery/lmBatchPointLight.ptx.meta | 8 + .../Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx | 2378 ++ .../x64/Bakery/lmBatchPointLightProbeSH.ptx.meta | 8 + .../Editor/x64/Bakery/lmBatchPointLightRNM.ptx | 2442 ++ .../x64/Bakery/lmBatchPointLightRNM.ptx.meta | 8 + .../Editor/x64/Bakery/lmBatchPointLightSH.ptx | 2382 ++ .../Editor/x64/Bakery/lmBatchPointLightSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmConeLight.ptx | 1568 + .../Assets/Editor/x64/Bakery/lmConeLight.ptx.meta | 8 + .../Editor/x64/Bakery/lmConeLightProbeSH.ptx | 2276 ++ .../Editor/x64/Bakery/lmConeLightProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmConeLightRNM.ptx | 2347 ++ .../Editor/x64/Bakery/lmConeLightRNM.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmConeLightSH.ptx | 2422 ++ .../Editor/x64/Bakery/lmConeLightSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmCookieLight.ptx | 1590 + .../Editor/x64/Bakery/lmCookieLight.ptx.meta | 8 + .../Editor/x64/Bakery/lmCookieLightProbeSH.ptx | 2305 ++ .../x64/Bakery/lmCookieLightProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx | 2395 ++ .../Editor/x64/Bakery/lmCookieLightRNM.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmCookieLightSH.ptx | 2464 ++ .../Editor/x64/Bakery/lmCookieLightSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmCubemapLight.ptx | 1569 + .../Editor/x64/Bakery/lmCubemapLight.ptx.meta | 8 + .../Editor/x64/Bakery/lmCubemapLightProbeSH.ptx | 2284 ++ .../x64/Bakery/lmCubemapLightProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx | 2374 ++ .../Editor/x64/Bakery/lmCubemapLightRNM.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx | 2443 ++ .../Editor/x64/Bakery/lmCubemapLightSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmPointLight.ptx | 1542 + .../Assets/Editor/x64/Bakery/lmPointLight.ptx.meta | 8 + .../Editor/x64/Bakery/lmPointLightProbeSH.ptx | 2250 ++ .../Editor/x64/Bakery/lmPointLightProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmPointLightRNM.ptx | 2321 ++ .../Editor/x64/Bakery/lmPointLightRNM.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmPointLightSH.ptx | 2408 ++ .../Editor/x64/Bakery/lmPointLightSH.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx | 1343 + .../Assets/Editor/x64/Bakery/lmSSS.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx | 1967 ++ .../Assets/Editor/x64/Bakery/lmSSSSH.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx | 1359 + .../Assets/Editor/x64/Bakery/lmSky.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyCubemap.ptx | 1378 + .../Assets/Editor/x64/Bakery/lmSkyCubemap.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx | 1466 + .../Editor/x64/Bakery/lmSkyCubemapDir.ptx.meta | 8 + .../Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx | 2066 ++ .../Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx | 2141 ++ .../Editor/x64/Bakery/lmSkyCubemapRNM.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx | 2069 ++ .../Editor/x64/Bakery/lmSkyCubemapSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyDir.ptx | 1420 + .../Assets/Editor/x64/Bakery/lmSkyDir.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx | 1913 ++ .../Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyRNM.ptx | 2025 ++ .../Assets/Editor/x64/Bakery/lmSkyRNM.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx | 1914 ++ .../Assets/Editor/x64/Bakery/lmSkySH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx | 2126 ++ .../Editor/x64/Bakery/lmSkyTangentSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSkyTex.ptx | 1483 + .../Assets/Editor/x64/Bakery/lmSkyTex.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx | 1787 ++ .../Assets/Editor/x64/Bakery/lmSun.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx | 1811 ++ .../Editor/x64/Bakery/lmSunCloudShadow.ptx.meta | 8 + .../Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx | 2133 ++ .../x64/Bakery/lmSunCloudShadowProbeSH.ptx.meta | 8 + .../Editor/x64/Bakery/lmSunCloudShadowRNM.ptx | 2449 ++ .../Editor/x64/Bakery/lmSunCloudShadowRNM.ptx.meta | 8 + .../Editor/x64/Bakery/lmSunCloudShadowSH.ptx | 2138 ++ .../Editor/x64/Bakery/lmSunCloudShadowSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSunProbeSH.ptx | 2107 ++ .../Assets/Editor/x64/Bakery/lmSunProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmSunRNM.ptx | 2403 ++ .../Assets/Editor/x64/Bakery/lmSunRNM.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx | 2112 ++ .../Assets/Editor/x64/Bakery/lmSunSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmTexAreaLight.ptx | 1843 ++ .../Editor/x64/Bakery/lmTexAreaLight.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx | 1928 ++ .../Editor/x64/Bakery/lmTexAreaLightDir.ptx.meta | 8 + .../Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx | 2489 ++ .../x64/Bakery/lmTexAreaLightProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx | 2587 ++ .../Editor/x64/Bakery/lmTexAreaLightRNM.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx | 2535 ++ .../Editor/x64/Bakery/lmTexAreaLightSH.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx | 1347 + .../Assets/Editor/x64/Bakery/lmTexGI.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx | 2016 ++ .../Editor/x64/Bakery/lmTexGIProbeSH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmTexGIRNM.ptx | 2088 ++ .../Assets/Editor/x64/Bakery/lmTexGIRNM.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmTexGISH.ptx | 2019 ++ .../Assets/Editor/x64/Bakery/lmTexGISH.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/lmTexGIdir.ptx | 1523 + .../Assets/Editor/x64/Bakery/lmTexGIdir.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso | Bin 0 -> 864 bytes .../Assets/Editor/x64/Bakery/lmr.pso.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso | Bin 0 -> 956 bytes .../Assets/Editor/x64/Bakery/lmr.vso.meta | 8 + .../Assets/Editor/x64/Bakery/lmrebake.dll | Bin 0 -> 52224 bytes .../Assets/Editor/x64/Bakery/lmrebake.dll.meta | 28 + .../Assets/Editor/x64/Bakery/lodselect.ptx | 1927 ++ .../Assets/Editor/x64/Bakery/lodselect.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx | 106 + .../Assets/Editor/x64/Bakery/miss.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/mulHalfByte.ptx | 652 + .../Assets/Editor/x64/Bakery/mulHalfByte.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll | Bin 0 -> 38267976 bytes .../Assets/Editor/x64/Bakery/optix.1.dll.meta | 28 + .../Assets/Editor/x64/Bakery/optix.51.dll | Bin 0 -> 40401408 bytes .../Assets/Editor/x64/Bakery/optix.51.dll.meta | 28 + .../Assets/Editor/x64/Bakery/optix.6.0.0.dll | Bin 0 -> 192928 bytes .../Assets/Editor/x64/Bakery/optix.6.0.0.dll.meta | 28 + .../Assets/Editor/x64/Bakery/optix_denoiser.51.dll | Bin 0 -> 32577024 bytes .../Editor/x64/Bakery/optix_denoiser.51.dll.meta | 28 + .../Editor/x64/Bakery/optix_denoiser.6.0.0.dll | Bin 0 -> 42589600 bytes .../x64/Bakery/optix_denoiser.6.0.0.dll.meta | 28 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso | Bin 0 -> 744 bytes .../Assets/Editor/x64/Bakery/output.pso.meta | 8 + .../Assets/Editor/x64/Bakery/packalpha.pso | Bin 0 -> 2784 bytes .../Assets/Editor/x64/Bakery/packalpha.pso.meta | 8 + .../Assets/Editor/x64/Bakery/packalpha_noflip.pso | Bin 0 -> 2772 bytes .../Editor/x64/Bakery/packalpha_noflip.pso.meta | 8 + .../Assets/Editor/x64/Bakery/postAddDir.ptx | 159 + .../Assets/Editor/x64/Bakery/postAddDir.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/postAddHalf.ptx | 228 + .../Assets/Editor/x64/Bakery/postAddHalf.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso | Bin 0 -> 628 bytes .../Assets/Editor/x64/Bakery/quad.vso.meta | 8 + .../Assets/Editor/x64/Bakery/removeEmissive.ptx | 216 + .../Editor/x64/Bakery/removeEmissive.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/rgba2tga.exe | Bin 0 -> 57856 bytes .../Assets/Editor/x64/Bakery/rgba2tga.exe.meta | 8 + .../Assets/Editor/x64/Bakery/scripts.meta | 9 + .../x64/Bakery/scripts/BakeryEditorAssembly.asmdef | 16 + .../scripts/BakeryEditorAssembly.asmdef.meta | 8 + .../x64/Bakery/scripts/ftAdditionalConfig.cs | 68 + .../x64/Bakery/scripts/ftAdditionalConfig.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftBuildGraphics.cs | 7944 +++++ .../x64/Bakery/scripts/ftBuildGraphics.cs.meta | 8 + .../Editor/x64/Bakery/scripts/ftBuildLights.cs | 1118 + .../x64/Bakery/scripts/ftBuildLights.cs.meta | 8 + .../Editor/x64/Bakery/scripts/ftClearMenu.cs | 153 + .../Editor/x64/Bakery/scripts/ftClearMenu.cs.meta | 12 + .../Assets/Editor/x64/Bakery/scripts/ftClient.cs | 505 + .../Editor/x64/Bakery/scripts/ftClient.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftCreateMenu.cs | 96 + .../Editor/x64/Bakery/scripts/ftCreateMenu.cs.meta | 12 + .../Assets/Editor/x64/Bakery/scripts/ftDDS.cs | 56 + .../Assets/Editor/x64/Bakery/scripts/ftDDS.cs.meta | 12 + .../Assets/Editor/x64/Bakery/scripts/ftDefine.cs | 41 + .../Editor/x64/Bakery/scripts/ftDefine.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftDetectSettings.cs | 261 + .../x64/Bakery/scripts/ftDetectSettings.cs.meta | 12 + .../x64/Bakery/scripts/ftDirectLightInspector.cs | 418 + .../Bakery/scripts/ftDirectLightInspector.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftErrorCodes.cs | 266 + .../Editor/x64/Bakery/scripts/ftErrorCodes.cs.meta | 12 + .../Bakery/scripts/ftFixResettingGlobalsOnSave.cs | 32 + .../scripts/ftFixResettingGlobalsOnSave.cs.meta | 12 + .../x64/Bakery/scripts/ftLMGroupInspector.cs | 94 + .../x64/Bakery/scripts/ftLMGroupInspector.cs.meta | 12 + .../Bakery/scripts/ftLMGroupSelectorInspector.cs | 166 + .../scripts/ftLMGroupSelectorInspector.cs.meta | 12 + .../x64/Bakery/scripts/ftLightMeshInspector.cs | 671 + .../Bakery/scripts/ftLightMeshInspector.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftLightingDataGen.cs | 202 + .../x64/Bakery/scripts/ftLightingDataGen.cs.meta | 12 + .../Bakery/scripts/ftLightmappedPrefabInspector.cs | 117 + .../scripts/ftLightmappedPrefabInspector.cs.meta | 12 + .../Bakery/scripts/ftLightmapsStorageInspector.cs | 29 + .../scripts/ftLightmapsStorageInspector.cs.meta | 12 + .../x64/Bakery/scripts/ftModelPostProcessor.cs | 418 + .../Bakery/scripts/ftModelPostProcessor.cs.meta | 12 + .../x64/Bakery/scripts/ftPointLightInspector.cs | 835 + .../Bakery/scripts/ftPointLightInspector.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftRenderLightmap.cs | 10681 +++++++ .../x64/Bakery/scripts/ftRenderLightmap.cs.meta | 8 + .../x64/Bakery/scripts/ftRestorePaddingMenu.cs | 88 + .../Bakery/scripts/ftRestorePaddingMenu.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftSavePadding.cs | 55 + .../x64/Bakery/scripts/ftSavePadding.cs.meta | 12 + .../x64/Bakery/scripts/ftSaveSettingsMenu.cs | 53 + .../x64/Bakery/scripts/ftSaveSettingsMenu.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftSavedPadding2.cs | 8 + .../x64/Bakery/scripts/ftSavedPadding2.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftSceneView.cs | 171 + .../Editor/x64/Bakery/scripts/ftSceneView.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftSectorInspector.cs | 474 + .../x64/Bakery/scripts/ftSectorInspector.cs.meta | 12 + .../x64/Bakery/scripts/ftSettingsProvider.cs | 69 + .../x64/Bakery/scripts/ftSettingsProvider.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftShaderTweaks.cs | 777 + .../x64/Bakery/scripts/ftShaderTweaks.cs.meta | 12 + .../x64/Bakery/scripts/ftSkyLightInspector.cs | 360 + .../x64/Bakery/scripts/ftSkyLightInspector.cs.meta | 12 + .../x64/Bakery/scripts/ftTextureProcessor.cs | 57 + .../x64/Bakery/scripts/ftTextureProcessor.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftUVGBufferGen.cs | 595 + .../x64/Bakery/scripts/ftUVGBufferGen.cs.meta | 12 + .../Assets/Editor/x64/Bakery/scripts/ftUpdater.cs | 378 + .../Editor/x64/Bakery/scripts/ftUpdater.cs.meta | 12 + .../Editor/x64/Bakery/scripts/ftVolumeInspector.cs | 226 + .../x64/Bakery/scripts/ftVolumeInspector.cs.meta | 12 + .../Assets/Editor/x64/Bakery/scripts/xatlas.meta | 9 + .../x64/Bakery/scripts/xatlas/xatlas-license.txt | 23 + .../Bakery/scripts/xatlas/xatlas-license.txt.meta | 8 + .../Editor/x64/Bakery/scripts/xatlas/xatlas.cs | 289 + .../x64/Bakery/scripts/xatlas/xatlas.cs.meta | 12 + .../x64/Bakery/scripts/xatlas/xatlasEnable.cs | 13 + .../x64/Bakery/scripts/xatlas/xatlasEnable.cs.meta | 12 + .../Editor/x64/Bakery/scripts/xatlas/xatlasLib.dll | Bin 0 -> 184832 bytes .../x64/Bakery/scripts/xatlas/xatlasLib.dll.meta | 28 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/seamfix.vso | Bin 0 -> 1008 bytes .../Assets/Editor/x64/Bakery/seamfix.vso.meta | 8 + .../Assets/Editor/x64/Bakery/seamfixer.exe | Bin 0 -> 66560 bytes .../Assets/Editor/x64/Bakery/seamfixer.exe.meta | 8 + .../Assets/Editor/x64/Bakery/shaderSrc.meta | 9 + .../x64/Bakery/shaderSrc/ftCullFarSphere.compute | 79 + .../Bakery/shaderSrc/ftCullFarSphere.compute.meta | 9 + .../Bakery/shaderSrc/ftTransformFarSphere.compute | 64 + .../shaderSrc/ftTransformFarSphere.compute.meta | 9 + .../Editor/x64/Bakery/shaderSrc/ftrace.cginc | 163 + .../Editor/x64/Bakery/shaderSrc/ftrace.cginc.meta | 9 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx | 109 + .../Assets/Editor/x64/Bakery/shadow.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx | 111 + .../Assets/Editor/x64/Bakery/shadow3.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/shadow3_rtx.ptx | 133 + .../Assets/Editor/x64/Bakery/shadow3_rtx.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/shadow_rtx.ptx | 131 + .../Assets/Editor/x64/Bakery/shadow_rtx.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/simpleProgressBar.dll | Bin 0 -> 39424 bytes .../Editor/x64/Bakery/simpleProgressBar.dll.meta | 28 + .../Assets/Editor/x64/Bakery/skyOutput.pso | Bin 0 -> 2004 bytes .../Assets/Editor/x64/Bakery/skyOutput.pso.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll | Bin 0 -> 400256 bytes .../Assets/Editor/x64/Bakery/tbb.dll.meta | 28 + .../Assets/Editor/x64/Bakery/tbbmalloc.dll | Bin 0 -> 246656 bytes .../Assets/Editor/x64/Bakery/tbbmalloc.dll.meta | 28 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx | 459 + .../Assets/Editor/x64/Bakery/trimesh.ptx.meta | 8 + .../Assets/Editor/x64/Bakery/trimeshTex.ptx | 490 + .../Assets/Editor/x64/Bakery/trimeshTex.ptx.meta | 8 + .../Editor/x64/Bakery/trimeshTexLODSelect.ptx | 513 + .../Editor/x64/Bakery/trimeshTexLODSelect.ptx.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso | Bin 0 -> 1292 bytes VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso.meta | 8 + .../Editor/x64/Bakery/uvTerrainFaceNormal.pso | Bin 0 -> 2772 bytes .../Editor/x64/Bakery/uvTerrainFaceNormal.pso.meta | 8 + .../Assets/Editor/x64/Bakery/uvTerrainNormal.pso | Bin 0 -> 8852 bytes .../Editor/x64/Bakery/uvTerrainNormal.pso.meta | 8 + .../Assets/Editor/x64/Bakery/uvTerrainPos.pso | Bin 0 -> 2888 bytes .../Assets/Editor/x64/Bakery/uvTerrainPos.pso.meta | 8 + .../Editor/x64/Bakery/uvTerrainSmoothPos.pso | Bin 0 -> 9040 bytes .../Editor/x64/Bakery/uvTerrainSmoothPos.pso.meta | 8 + .../Assets/Editor/x64/Bakery/uvalbedo.pso | Bin 0 -> 936 bytes .../Assets/Editor/x64/Bakery/uvalbedo.pso.meta | 8 + .../Assets/Editor/x64/Bakery/uvemissive.pso | Bin 0 -> 1156 bytes .../Assets/Editor/x64/Bakery/uvemissive.pso.meta | 8 + .../Assets/Editor/x64/Bakery/uvfacenormal.gso | Bin 0 -> 1148 bytes .../Assets/Editor/x64/Bakery/uvfacenormal.gso.meta | 8 + .../Editor/x64/Bakery/uvfacenormal_point.gso | Bin 0 -> 1148 bytes .../Editor/x64/Bakery/uvfacenormal_point.gso.meta | 8 + .../Assets/Editor/x64/Bakery/uvgbuffergen.dll | Bin 0 -> 87552 bytes .../Assets/Editor/x64/Bakery/uvgbuffergen.dll.meta | 28 + .../Assets/Editor/x64/Bakery/uvnormal.pso | Bin 0 -> 1636 bytes .../Assets/Editor/x64/Bakery/uvnormal.pso.meta | 8 + VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso | Bin 0 -> 748 bytes .../Assets/Editor/x64/Bakery/uvpos.pso.meta | 8 + .../Assets/Editor/x64/Bakery/uvrepack.dll | Bin 0 -> 35840 bytes .../Assets/Editor/x64/Bakery/uvrepack.dll.meta | 28 + .../Assets/Editor/x64/Bakery/uvsmoothpos.gso | Bin 0 -> 2268 bytes .../Assets/Editor/x64/Bakery/uvsmoothpos.gso.meta | 8 + .../Assets/Editor/x64/Bakery/uvsmoothpos.pso | Bin 0 -> 3800 bytes .../Assets/Editor/x64/Bakery/uvsmoothpos.pso.meta | 8 + .../Assets/Editor/x64/Bakery/uvtangent.pso | Bin 0 -> 1372 bytes .../Assets/Editor/x64/Bakery/uvtangent.pso.meta | 8 + 487 files changed, 202889 insertions(+) create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/.denoiserlog.txt create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/.ftracelog.txt create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/.uvgblog.txt create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/NormalsFittingTexture_dds create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/NormalsFittingTexture_dds.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/OpenImageDenoise.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/OpenImageDenoise.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalfSeparateIndirect.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalfSeparateIndirect.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/alphabuffergen.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/alphabuffergen.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimesh.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimesh.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTexLODselect.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTexLODselect.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/clip_rtx.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/clip_rtx.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/combineMasks.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/combineMasks.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cookieOutput.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cookieOutput.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart32_91.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart32_91.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_90.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_90.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_91.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_91.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudnn64_7.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudnn64_7.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/d3dcompiler_47.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/d3dcompiler_47.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/debugLines.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/debugLines.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish72.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish72.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare72.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare72.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareOIDN.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareOIDN.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH72.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH72.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser72.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser72.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserLegacy.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserLegacy.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserOIDN.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserOIDN.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateFloat.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateFloat.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateHalf.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateHalf.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateMask.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateMask.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateSimple.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateSimple.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/exception.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/exception.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos12.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos12.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos3D.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos3D.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftChecker.shader create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftChecker.shader.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftServer.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftServer.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftraceRTX.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftraceRTX.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2hdr.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2hdr.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2vb.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2vb.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfield.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfield.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTex.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTex.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTexLODSelect.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTexLODSelect.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphabuffer.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphabuffer.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphaid2.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphaid2.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/direct0.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/direct0.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/heightmaps.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/heightmaps.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/ib32.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/ib32.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/image.lz4 create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/image.lz4.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/light_HDR.lz4 create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/light_HDR.lz4.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmid.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmid.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lms.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lms.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/settings.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/settings.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4 create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4 create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtrace.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtrace.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_arealight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_arealight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_backface_check.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_backface_check.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_lodselect.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_lodselect.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sky.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sky.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sss.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sss.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_texarealight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_texarealight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part0.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part0.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part1.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part1.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part2.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part2.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part3.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part3.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part0.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part0.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part1.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part1.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part2.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part2.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part3.bin create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part3.bin.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightDir.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightDir.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemap.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemap.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyDir.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyDir.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTex.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTex.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLight.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLight.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIRNM.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIRNM.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGISH.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGISH.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIdir.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIdir.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmrebake.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmrebake.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lodselect.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/lodselect.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/mulHalfByte.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/mulHalfByte.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.51.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.51.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.6.0.0.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.6.0.0.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.51.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.51.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.6.0.0.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.6.0.0.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha_noflip.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha_noflip.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddDir.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddDir.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddHalf.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddHalf.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/removeEmissive.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/removeEmissive.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/rgba2tga.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/rgba2tga.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/BakeryEditorAssembly.asmdef create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/BakeryEditorAssembly.asmdef.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftAdditionalConfig.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftAdditionalConfig.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildGraphics.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildGraphics.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildLights.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildLights.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClearMenu.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClearMenu.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClient.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClient.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftCreateMenu.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftCreateMenu.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDDS.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDDS.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDefine.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDefine.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDetectSettings.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDetectSettings.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDirectLightInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDirectLightInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftErrorCodes.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftErrorCodes.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftFixResettingGlobalsOnSave.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftFixResettingGlobalsOnSave.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupSelectorInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupSelectorInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightMeshInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightMeshInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightingDataGen.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightingDataGen.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmappedPrefabInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmappedPrefabInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmapsStorageInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmapsStorageInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftModelPostProcessor.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftModelPostProcessor.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftPointLightInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftPointLightInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRestorePaddingMenu.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRestorePaddingMenu.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavePadding.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavePadding.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSaveSettingsMenu.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSaveSettingsMenu.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavedPadding2.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavedPadding2.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSceneView.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSceneView.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSectorInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSectorInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSettingsProvider.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSettingsProvider.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftShaderTweaks.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftShaderTweaks.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSkyLightInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSkyLightInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftTextureProcessor.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftTextureProcessor.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUVGBufferGen.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUVGBufferGen.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUpdater.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUpdater.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftVolumeInspector.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftVolumeInspector.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas-license.txt create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas-license.txt.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlasEnable.cs create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlasEnable.cs.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlasLib.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlasLib.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/seamfix.vso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/seamfix.vso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/seamfixer.exe create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/seamfixer.exe.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftCullFarSphere.compute create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftCullFarSphere.compute.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftTransformFarSphere.compute create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftTransformFarSphere.compute.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftrace.cginc create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftrace.cginc.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3_rtx.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3_rtx.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow_rtx.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow_rtx.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/simpleProgressBar.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/simpleProgressBar.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/skyOutput.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/skyOutput.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbbmalloc.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbbmalloc.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTex.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTex.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTexLODSelect.ptx create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTexLODSelect.ptx.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainFaceNormal.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainFaceNormal.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainNormal.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainNormal.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainPos.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainPos.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainSmoothPos.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainSmoothPos.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvalbedo.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvalbedo.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvemissive.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvemissive.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal.gso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal.gso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal_point.gso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal_point.gso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvgbuffergen.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvgbuffergen.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvnormal.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvnormal.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvrepack.dll create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvrepack.dll.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.gso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.gso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.pso.meta create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvtangent.pso create mode 100644 VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvtangent.pso.meta (limited to 'VRCSDK3Worlds/Assets/Editor/x64') diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery.meta new file mode 100644 index 00000000..26cc9ce7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 60589892feefcc9478c5986b4ffa8a72 +folderAsset: yes +timeCreated: 1622807246 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.denoiserlog.txt b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.denoiserlog.txt new file mode 100644 index 00000000..bf525bbf --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.denoiserlog.txt @@ -0,0 +1,48 @@ +2021-11-29 +Init... +Tiles: 1 +Loading shader denoisePrepare.ptx::oxMain... +Loading shader denoiseFinish.ptx::oxMain... +2021-11-29 +Init... +Tiles: 1 +Done +Loading shader denoisePrepare.ptx::oxMain... +Loading shader denoiseFinish.ptx::oxMain... +Done +2021-11-29 +Init... +Tiles: 1 +Loading shader denoisePrepare72.ptx::oxMain... +Loading shader denoiseFinish72.ptx::oxMain... +Done +2021-11-29 +Init... +Tiles: 1 +Loading shader denoisePrepareOIDN.ptx::oxMain... +Loading shader denoiseFinishOIDN.ptx::oxMain... +Done +2021-11-29 +Init... +Tiles: 1 +Loading shader denoisePrepare.ptx::oxMain... +Loading shader denoiseFinish.ptx::oxMain... +2021-11-29 +Init... +Tiles: 1 +Loading shader denoisePrepare.ptx::oxMain... +Loading shader denoiseFinish.ptx::oxMain... +Done +Done +2021-11-29 +Init... +Tiles: 1 +Loading shader denoisePrepare72.ptx::oxMain... +Loading shader denoiseFinish72.ptx::oxMain... +Done +2021-11-29 +Init... +Tiles: 1 +Loading shader denoisePrepareOIDN.ptx::oxMain... +Loading shader denoiseFinishOIDN.ptx::oxMain... +Done diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.ftracelog.txt b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.ftracelog.txt new file mode 100644 index 00000000..739bc1d3 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.ftracelog.txt @@ -0,0 +1,30860 @@ +Init... +sun +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5156mb +MODE: sun +USING HALF +Load shaders... +Loading shader lmSun.ptx::oxMain... +Loading shader clip_rtx.ptx::oxMain... +Loading shader shadow_rtx.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader attrib_trimesh.ptx::interpolate... +Used host memory: 0mb, available GPU memory: 5156mb +Used host memory: 0mb, available GPU memory: 5156mb +Create buffer... +Num passes: 4 +Num tex: 4 +Skipping pass LDR +Pass light_HDR... +Skipping pass Mask +Skipping pass Dir +Used host memory: 0mb, available GPU memory: 5156mb +Launch 1x1 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 5091mb +----- +Mem stats: +Total: 64 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 0 +UV GBuffer: 0 +Scene: 4160 +----- +Render time: 0.45 sec + +Writing... +light_HDR.lz4 +Done +Init... +sun +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: sun +USING HALF +Load shaders... +Loading shader lmSun.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 4 +Num tex: 4 +Skipping pass LDR +Pass light_HDR... +Skipping pass Mask +Skipping pass Dir +Used host memory: 0mb, available GPU memory: 5038mb +Launch 1x1 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 5036mb +----- +Mem stats: +Total: 2 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 0 +UV GBuffer: 0 +Scene: 4097 +----- +Render time: 0.74 sec + +Writing... +light_HDR.lz4 +Done +Init... +sun +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5156mb +MODE: sun +USING HALF +Load shaders... +Loading shader lmSun.ptx::oxMain... +Loading shader clip_rtx.ptx::oxMain... +Loading shader shadow_rtx.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader attrib_trimesh.ptx::interpolate... +Used host memory: 0mb, available GPU memory: 5156mb +Used host memory: 0mb, available GPU memory: 5156mb +Create buffer... +Num passes: 4 +Num tex: 4 +Skipping pass LDR +Pass light_HDR... +Skipping pass Mask +Skipping pass Dir +Used host memory: 0mb, available GPU memory: 5156mb +Launch 1x1 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 5091mb +----- +Mem stats: +Total: 64 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 0 +UV GBuffer: 0 +Scene: 4160 +----- +Render time: 0.154 sec + +Writing... +light_HDR.lz4 +Done +Init... +sun +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: sun +USING HALF +Load shaders... +Loading shader lmSun.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 4 +Num tex: 4 +Skipping pass LDR +Pass light_HDR... +Skipping pass Mask +Skipping pass Dir +Used host memory: 0mb, available GPU memory: 5038mb +Launch 1x1 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 5036mb +----- +Mem stats: +Total: 2 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 0 +UV GBuffer: 0 +Scene: 4097 +----- +Render time: 0.4 sec + +Writing... +light_HDR.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA12.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.997 sec +Writing... +uvpos_Trista_LMA12.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA9.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.73 sec +Writing... +uvpos_Trista_LMA9.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA16.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.755 sec +Writing... +uvpos_Trista_LMA16.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA7.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.69 sec +Writing... +uvpos_Trista_LMA7.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA6.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.739 sec +Writing... +uvpos_Trista_LMA6.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA10.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.757 sec +Writing... +uvpos_Trista_LMA10.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA15.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.748 sec +Writing... +uvpos_Trista_LMA15.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA11.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.731 sec +Writing... +uvpos_Trista_LMA11.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA14.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.779 sec +Writing... +uvpos_Trista_LMA14.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA18.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.744 sec +Writing... +uvpos_Trista_LMA18.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA19.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.747 sec +Writing... +uvpos_Trista_LMA19.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA21.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.726 sec +Writing... +uvpos_Trista_LMA21.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA17.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.768 sec +Writing... +uvpos_Trista_LMA17.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA8.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.717 sec +Writing... +uvpos_Trista_LMA8.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA13.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.753 sec +Writing... +uvpos_Trista_LMA13.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA20.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.735 sec +Writing... +uvpos_Trista_LMA20.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA23.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 4x4 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +----- +Mem stats: +Total: 163 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 64 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 2x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 3x0... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 0x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 1x1... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 2x1... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 3x1... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 0x2... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 1x2... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 2x2... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 3x2... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 0x3... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 1x3... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 2x3... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 3x3... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Render time: 0.521 sec +Writing... +uvpos_Trista_LMA23.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA22.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.641 sec +Writing... +uvpos_Trista_LMA22.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA2.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.712 sec +Writing... +uvpos_Trista_LMA2.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA4.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.697 sec +Writing... +uvpos_Trista_LMA4.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA5.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.696 sec +Writing... +uvpos_Trista_LMA5.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA24.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 4x4 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +----- +Mem stats: +Total: 163 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 64 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 2x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 3x0... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 0x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 1x1... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 2x1... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 3x1... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 0x2... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 1x2... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 2x2... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 3x2... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 0x3... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 1x3... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 2x3... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Tile 3x3... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4874mb +Render time: 0.505 sec +Writing... +uvpos_Trista_LMA24.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA1.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.66 sec +Writing... +uvpos_Trista_LMA1.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LM0.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.764 sec +Writing... +uvpos_Trista_LM0.lz4 +Done +Init... +fixpos12 +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: fixpos12 +USING FLOAT +Load shaders... +Loading shader fixPos12.ptx::oxMain... +Loading shader lambert_backface_check.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader trimesh.ptx::intersect... +Loading shader trimesh.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 2 +Num tex: 2 +Pass uvpos_Trista_LMA3.lz4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +----- +Mem stats: +Total: 355 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 256 +UV GBuffer: 10 +Scene: 4185 +----- +Tile 1x0... +Streaming...0 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x0... +Streaming...1 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x0... +Streaming...3 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x0... +Streaming...4 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x0... +Streaming...6 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x0... +Streaming...7 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x0... +Streaming...9 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x1... +Streaming...10 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x1... +Streaming...12 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x1... +Streaming...14 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x1... +Streaming...15 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x1... +Streaming...17 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x1... +Streaming...18 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x1... +Streaming...20 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x1... +Streaming...21 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x2... +Streaming...23 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x2... +Streaming...25 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x2... +Streaming...26 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x2... +Streaming...28 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x2... +Streaming...29 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x2... +Streaming...31 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x2... +Streaming...32 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x2... +Streaming...34 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x3... +Streaming...35 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x3... +Streaming...37 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x3... +Streaming...39 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x3... +Streaming...40 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x3... +Streaming...42 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x3... +Streaming...43 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x3... +Streaming...45 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x3... +Streaming...46 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x4... +Streaming...48 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x4... +Streaming...50 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x4... +Streaming...51 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x4... +Streaming...53 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x4... +Streaming...54 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x4... +Streaming...56 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x4... +Streaming...57 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x4... +Streaming...59 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x5... +Streaming...60 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x5... +Streaming...62 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x5... +Streaming...64 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x5... +Streaming...65 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x5... +Streaming...67 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x5... +Streaming...68 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x5... +Streaming...70 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x5... +Streaming...71 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x6... +Streaming...73 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x6... +Streaming...75 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x6... +Streaming...76 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x6... +Streaming...78 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x6... +Streaming...79 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x6... +Streaming...81 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x6... +Streaming...82 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x6... +Streaming...84 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 0x7... +Streaming...85 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 1x7... +Streaming...87 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 2x7... +Streaming...89 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 3x7... +Streaming...90 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 4x7... +Streaming...92 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 5x7... +Streaming...93 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 6x7... +Streaming...95 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Tile 7x7... +Streaming...96 +nFNFPFSd +Launching... +Used host memory: 0mb, available GPU memory: 4682mb +Render time: 0.735 sec +Writing... +uvpos_Trista_LMA3.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_12_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.628 sec + +Writing... +light_712658426_12_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_12_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.201 sec + +Writing... +light_-2025409501_12_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_14_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 2.378 sec + +Writing... +light_712658426_14_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_14_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 3.098 sec + +Writing... +light_-2025409501_14_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_7_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.834 sec + +Writing... +light_712658426_7_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_7_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.548 sec + +Writing... +light_-2025409501_7_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_16_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.842 sec + +Writing... +light_712658426_16_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_16_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.818 sec + +Writing... +light_-2025409501_16_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_17_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.28 sec + +Writing... +light_712658426_17_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_17_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.263 sec + +Writing... +light_-2025409501_17_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_13_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.879 sec + +Writing... +light_712658426_13_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_13_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.853 sec + +Writing... +light_-2025409501_13_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_8_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.892 sec + +Writing... +light_712658426_8_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_8_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.861 sec + +Writing... +light_-2025409501_8_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_23_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.978 sec + +Writing... +light_712658426_23_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_23_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.942 sec + +Writing... +light_-2025409501_23_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_9_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.101 sec + +Writing... +light_712658426_9_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_9_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.068 sec + +Writing... +light_-2025409501_9_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_5_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.093 sec + +Writing... +light_712658426_5_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_5_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 1.024 sec + +Writing... +light_-2025409501_5_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.876 sec + +Writing... +light_712658426_4_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_4_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.851 sec + +Writing... +light_-2025409501_4_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_2_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.849 sec + +Writing... +light_712658426_2_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_2_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.831 sec + +Writing... +light_-2025409501_2_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_6_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.889 sec + +Writing... +light_712658426_6_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_6_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.874 sec + +Writing... +light_-2025409501_6_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_15_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.911 sec + +Writing... +light_712658426_15_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_15_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.886 sec + +Writing... +light_-2025409501_15_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_10_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.859 sec + +Writing... +light_712658426_10_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_10_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.83 sec + +Writing... +light_-2025409501_10_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_3_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.826 sec + +Writing... +light_712658426_3_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_3_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.82 sec + +Writing... +light_-2025409501_3_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_1_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.748 sec + +Writing... +light_712658426_1_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_1_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.747 sec + +Writing... +light_-2025409501_1_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_21_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.797 sec + +Writing... +light_712658426_21_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_21_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.782 sec + +Writing... +light_-2025409501_21_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_19_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.794 sec + +Writing... +light_712658426_19_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_19_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.794 sec + +Writing... +light_-2025409501_19_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_712658426_0_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.836 sec + +Writing... +light_712658426_0_HDR.lz4 +Done +Init... +arealight +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: arealight +USING HALF +Load shaders... +Loading shader lmAreaLight.ptx::oxMain... +Loading shader lambert_arealight.ptx::oxMain... +Loading shader shadow.ptx::oxMain... +Loading shader miss.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass light_-2025409501_0_HDR... +Skipping pass Mask +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +----- +Mem stats: +Total: 228 +Alphas: 0 +GI albedos: 0 +GI lightmaps: 0 +Light data: 0 +Output: 128 +UV GBuffer: 5 +Scene: 4191 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 4809mb +Render time: 0.837 sec + +Writing... +light_-2025409501_0_HDR.lz4 +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +addmul +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5168mb +MODE: addmul +USING FLOAT +Loading shader addHalf.ptx::oxMain... +Launched +Loading shader dilateHalf.ptx::oxMain... +Loading shader mulHalfByte.ptx::oxMain... +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA12_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 67.081 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA12_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA9_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 162.452 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA9_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA16_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 157.464 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA16_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA7_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 95.129 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA7_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA6_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 131.612 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA6_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA10_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 203.936 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA10_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA15_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 140.214 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA15_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA11_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 118.613 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA11_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA14_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 197.303 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA14_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA18_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 128.808 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA18_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA19_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 215.498 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA19_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA21_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 118.116 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA21_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA17_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 168.753 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA17_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA8_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 117.371 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA8_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA13_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 165.247 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA13_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA20_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 138.234 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA20_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA23_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 4x4 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +----- +Mem stats: +Total: -951 +Alphas: 0 +GI albedos: 16 +GI lightmaps: 3008 +Light data: 0 +Output: 32 +UV GBuffer: 7 +Scene: 4177 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 2x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 3x0... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 0x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 1x1... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 2x1... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 3x1... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 0x2... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 1x2... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 2x2... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 3x2... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 0x3... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 1x3... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 2x3... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Tile 3x3... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1893mb +Render time: 22.582 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA23_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA22_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...28 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x2... +Streaming...29 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x2... +Streaming...31 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x2... +Streaming...32 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x2... +Streaming...34 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x3... +Streaming...35 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x3... +Streaming...37 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x3... +Streaming...39 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x3... +Streaming...40 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x3... +Streaming...42 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x3... +Streaming...43 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x3... +Streaming...45 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x3... +Streaming...46 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x4... +Streaming...48 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x4... +Streaming...50 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x4... +Streaming...51 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x4... +Streaming...53 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x4... +Streaming...54 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x4... +Streaming...56 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x4... +Streaming...57 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x4... +Streaming...59 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x5... +Streaming...60 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x5... +Streaming...62 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x5... +Streaming...64 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x5... +Streaming...65 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x5... +Streaming...67 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x5... +Streaming...68 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x5... +Streaming...70 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x5... +Streaming...71 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x6... +Streaming...73 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x6... +Streaming...75 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x6... +Streaming...76 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x6... +Streaming...78 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x6... +Streaming...79 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x6... +Streaming...81 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x6... +Streaming...82 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x6... +Streaming...84 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x7... +Streaming...85 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x7... +Streaming...87 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x7... +Streaming...89 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x7... +Streaming...90 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x7... +Streaming...92 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x7... +Streaming...93 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x7... +Streaming...95 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x7... +Streaming...96 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Render time: 9.344 sec +Dilate... +Loading shader dilateHalf.ptx::oxMain... +0...1...2...3...4...5...6...7...8...9...10...11...12...13...14...15... +Writing... +Trista_LMA22_final_HDR.lz4 +Done +Init... +texgi +Loading geometry... +Loading alphas... +Tile size: 512 +Device 0: NVIDIA GeForce GTX 1660 SUPER (ON) +Used host memory: 0mb, available GPU memory: 5038mb +MODE: texgi +USING HALF +Loading additional lightmap: Trista_LMA12_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA9_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA16_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA7_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA6_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA10_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA15_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA11_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA14_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA18_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA19_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA21_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA17_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA8_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA13_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA20_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA23_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA22_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA2_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA4_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA5_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA24_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA1_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LM0_diffuse_HDR.lz4 +LM is half +Loading additional lightmap: Trista_LMA3_diffuse_HDR.lz4 +LM is half +Load shaders... +Loading shader lmTexGI.ptx::oxMain... +Loading shader lambert_tex_gi2.ptx::oxMain... +Loading shader shadow3.ptx::oxMain... +Loading shader trimeshTex.ptx::intersect... +Loading shader trimeshTex.ptx::bbox... +Used host memory: 0mb, available GPU memory: 5038mb +Used host memory: 0mb, available GPU memory: 5038mb +Create buffer... +Num passes: 3 +Num tex: 3 +Skipping pass LDR +Pass Trista_LMA2_final_HDR... +Skipping pass HDR2 +Used host memory: 0mb, available GPU memory: 5038mb +Launch 8x8 tiles... +Tile 0x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +----- +Mem stats: +Total: -855 +Alphas: 0 +GI albedos: 64 +GI lightmaps: 3008 +Light data: 0 +Output: 128 +UV GBuffer: 7 +Scene: 4129 +----- +Tile 1x0... +Streaming...0 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x0... +Streaming...1 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x0... +Streaming...3 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x0... +Streaming...4 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x0... +Streaming...6 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x0... +Streaming...7 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x0... +Streaming...9 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x1... +Streaming...10 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x1... +Streaming...12 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x1... +Streaming...14 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x1... +Streaming...15 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 4x1... +Streaming...17 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 5x1... +Streaming...18 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 6x1... +Streaming...20 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 7x1... +Streaming...21 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 0x2... +Streaming...23 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 1x2... +Streaming...25 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 2x2... +Streaming...26 +npHD +Launching... +Used host memory: 0mb, available GPU memory: 1797mb +Tile 3x2... +Streaming...1000 diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.uvgblog.txt b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.uvgblog.txt new file mode 100644 index 00000000..8c705956 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/.uvgblog.txt @@ -0,0 +1,758 @@ +2021-11-29 +Rendering UV GBuffer for Trista_LM0 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA82 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA81 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA80 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA79 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA78 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA77 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA76 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA75 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA74 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA73 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA72 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA83 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA71 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA69 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA68 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA67 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA66 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA65 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA64 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA63 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA62 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA61 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA60 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA59 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA70 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA84 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA85 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA86 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA111 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA110 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA109 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA108 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA107 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA106 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA105 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA104 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA103 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA102 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA101 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA100 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA99 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA98 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA97 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA96 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA95 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA94 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA93 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA92 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA91 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA90 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA89 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA88 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA87 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA58 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA57 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA56 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA55 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA25 51 +2021-11-29 +Rendering UV GBuffer for Trista_LM0 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA22 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA21 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA20 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA19 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA18 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA17 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA16 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA15 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA14 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA13 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA23 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA12 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA10 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA9 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA8 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA7 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA6 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA5 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA4 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA3 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA2 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA1 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA11 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA24 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Done +Done +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA12.lz4" 2 0 12 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA9.lz4" 2 0 14 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA16.lz4" 2 0 7 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA7.lz4" 2 0 16 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA6.lz4" 2 0 17 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA10.lz4" 2 0 13 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA15.lz4" 2 0 8 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA11.lz4" 2 0 23 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA14.lz4" 2 0 9 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA18.lz4" 2 0 5 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA19.lz4" 2 0 4 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA21.lz4" 2 0 2 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA17.lz4" 2 0 6 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA8.lz4" 2 0 15 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA13.lz4" 2 0 10 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA20.lz4" 2 0 3 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA23.lz4" 2 0 11 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA22.lz4" 2 0 1 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA2.lz4" 2 0 21 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA4.lz4" 2 0 19 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA5.lz4" 2 0 18 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA24.lz4" 2 0 24 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA1.lz4" 2 0 22 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LM0.lz4" 2 0 0 0 +Running ftrace fixpos12 "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "uvpos_Trista_LMA3.lz4" 2 0 20 0 +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_12" 4 0 12 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_12" 4 0 12 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA12" 4 0 12 comp_12.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_14" 4 0 14 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_14" 4 0 14 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA9" 4 0 14 comp_14.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_7" 4 0 7 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_7" 4 0 7 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA16" 4 0 7 comp_7.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_16" 4 0 16 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_16" 4 0 16 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA7" 4 0 16 comp_16.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_17" 4 0 17 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_17" 4 0 17 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA6" 4 0 17 comp_17.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_13" 4 0 13 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_13" 4 0 13 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA10" 4 0 13 comp_13.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_8" 4 0 8 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_8" 4 0 8 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA15" 4 0 8 comp_8.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_23" 4 0 23 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_23" 4 0 23 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA11" 4 0 23 comp_23.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_9" 4 0 9 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_9" 4 0 9 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA14" 4 0 9 comp_9.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_5" 4 0 5 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_5" 4 0 5 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA18" 4 0 5 comp_5.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_4" 4 0 4 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_4" 4 0 4 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA19" 4 0 4 comp_4.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_2" 4 0 2 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_2" 4 0 2 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA21" 4 0 2 comp_2.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_6" 4 0 6 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_6" 4 0 6 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA17" 4 0 6 comp_6.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_15" 4 0 15 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_15" 4 0 15 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA8" 4 0 15 comp_15.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_10" 4 0 10 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_10" 4 0 10 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA13" 4 0 10 comp_10.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_3" 4 0 3 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_3" 4 0 3 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA20" 4 0 3 comp_3.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA23" 4 0 11 comp_11.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_1" 4 0 1 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_1" 4 0 1 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA22" 4 0 1 comp_1.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_21" 4 0 21 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_21" 4 0 21 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA2" 4 0 21 comp_21.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_19" 4 0 19 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_19" 4 0 19 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA4" 4 0 19 comp_19.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA5" 4 0 18 comp_18.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA24" 4 0 24 comp_24.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA1" 4 0 22 comp_22.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_712658426_0" 4 0 0 lights0.bin +Running ftrace arealight "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "light_-2025409501_0" 4 0 0 lights1.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LM0" 4 0 0 comp_0.bin +Running ftrace addmul "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA3" 4 0 20 comp_20.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA12_final" 4 16 12 "gi_Trista_LMA120.bin" "Trista_LMA12_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA9_final" 4 16 14 "gi_Trista_LMA90.bin" "Trista_LMA9_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA16_final" 4 16 7 "gi_Trista_LMA160.bin" "Trista_LMA16_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA7_final" 4 16 16 "gi_Trista_LMA70.bin" "Trista_LMA7_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA6_final" 4 16 17 "gi_Trista_LMA60.bin" "Trista_LMA6_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA10_final" 4 16 13 "gi_Trista_LMA100.bin" "Trista_LMA10_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA15_final" 4 16 8 "gi_Trista_LMA150.bin" "Trista_LMA15_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA11_final" 4 16 23 "gi_Trista_LMA110.bin" "Trista_LMA11_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA14_final" 4 16 9 "gi_Trista_LMA140.bin" "Trista_LMA14_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA18_final" 4 16 5 "gi_Trista_LMA180.bin" "Trista_LMA18_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA19_final" 4 16 4 "gi_Trista_LMA190.bin" "Trista_LMA19_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA21_final" 4 16 2 "gi_Trista_LMA210.bin" "Trista_LMA21_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA17_final" 4 16 6 "gi_Trista_LMA170.bin" "Trista_LMA17_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA8_final" 4 16 15 "gi_Trista_LMA80.bin" "Trista_LMA8_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA13_final" 4 16 10 "gi_Trista_LMA130.bin" "Trista_LMA13_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA20_final" 4 16 3 "gi_Trista_LMA200.bin" "Trista_LMA20_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA23_final" 4 16 11 "gi_Trista_LMA230.bin" "Trista_LMA23_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA22_final" 4 16 1 "gi_Trista_LMA220.bin" "Trista_LMA22_lights_HDR.lz4" vbTraceTex.bin +Running ftrace texgi "C:\Users\TYLERM~1\AppData\Local\Temp\frender" "Trista_LMA2_final" 4 16 21 "gi_Trista_LMA20.bin" "Trista_LMA2_lights_HDR.lz4" vbTraceTex.bin +2021-11-30 +Rendering UV GBuffer for Trista_LM0 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA22 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA21 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA20 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA19 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA18 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA17 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA16 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA15 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA14 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA13 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA23 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA12 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA10 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA9 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA8 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA7 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA6 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA5 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA4 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA3 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA2 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA1 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA11 51 +RGBA32F...RGBA8...RGBA8_SRGB...RGBA16F...states... +Rendering UV normal... +Rendering faceted UV normal... +Rendering UV pos... +Rendering smooth UV pos... +Rendering UV GBuffer for Trista_LMA24 51 diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/NormalsFittingTexture_dds b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/NormalsFittingTexture_dds new file mode 100644 index 00000000..32297db0 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/NormalsFittingTexture_dds differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/NormalsFittingTexture_dds.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/NormalsFittingTexture_dds.meta new file mode 100644 index 00000000..c1f57991 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/NormalsFittingTexture_dds.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fad0196ede3a41749af057ec68f43124 +timeCreated: 1531334118 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/OpenImageDenoise.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/OpenImageDenoise.dll new file mode 100644 index 00000000..cd919307 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/OpenImageDenoise.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/OpenImageDenoise.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/OpenImageDenoise.dll.meta new file mode 100644 index 00000000..e0450298 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/OpenImageDenoise.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 4ccddc16f2ea5484dbb20164a60bf488 +timeCreated: 1589355275 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx new file mode 100644 index 00000000..c93e8d92 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx @@ -0,0 +1,200 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image2[1]; +.global .align 4 .f32 intensity; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9intensityE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9intensityE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9intensityE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9intensityE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9intensityE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b16 %rs<10>; + .reg .f32 %f<15>; + .reg .b32 %r<37>; + .reg .b64 %rd<39>; + + + ld.global.v2.u32 {%r13, %r14}, [pixelID]; + cvt.u64.u32 %rd3, %r13; + cvt.u64.u32 %rd4, %r14; + mov.u64 %rd37, image; + cvta.global.u64 %rd2, %rd37; + mov.u32 %r11, 2; + mov.u32 %r12, 8; + mov.u64 %rd36, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r11, %r12, %rd3, %rd4, %rd36, %rd36); + // inline asm + ld.u16 %rs1, [%rd1+6]; + // inline asm + { cvt.f32.f16 %f1, %rs1;} + + // inline asm + ld.global.v2.u32 {%r17, %r18}, [pixelID]; + cvt.u64.u32 %rd9, %r17; + cvt.u64.u32 %rd10, %r18; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd2, %r11, %r12, %rd9, %rd10, %rd36, %rd36); + // inline asm + ld.u16 %rs2, [%rd7]; + // inline asm + { cvt.f32.f16 %f2, %rs2;} + + // inline asm + ld.global.v2.u32 {%r21, %r22}, [pixelID]; + cvt.u64.u32 %rd15, %r21; + cvt.u64.u32 %rd16, %r22; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd2, %r11, %r12, %rd15, %rd16, %rd36, %rd36); + // inline asm + ld.u16 %rs3, [%rd13+2]; + // inline asm + { cvt.f32.f16 %f3, %rs3;} + + // inline asm + ld.global.v2.u32 {%r25, %r26}, [pixelID]; + cvt.u64.u32 %rd21, %r25; + cvt.u64.u32 %rd22, %r26; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd2, %r11, %r12, %rd21, %rd22, %rd36, %rd36); + // inline asm + ld.u16 %rs4, [%rd19+4]; + // inline asm + { cvt.f32.f16 %f4, %rs4;} + + // inline asm + ld.global.v2.u32 {%r29, %r30}, [pixelID]; + cvt.u64.u32 %rd27, %r29; + cvt.u64.u32 %rd28, %r30; + mov.u64 %rd38, image2; + cvta.global.u64 %rd26, %rd38; + mov.u32 %r10, 1; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd26, %r11, %r10, %rd27, %rd28, %rd36, %rd36); + // inline asm + ld.u8 %rs9, [%rd25]; + cvt.rn.f32.u16 %f9, %rs9; + div.rn.f32 %f10, %f9, 0f437F0000; + ld.global.f32 %f11, [intensity]; + add.f32 %f12, %f10, 0fBF800000; + fma.rn.f32 %f13, %f11, %f12, 0f3F800000; + cvt.sat.f32.f32 %f14, %f13; + mul.f32 %f5, %f2, %f14; + mul.f32 %f6, %f3, %f14; + mul.f32 %f7, %f4, %f14; + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + cvt.u64.u32 %rd33, %r33; + cvt.u64.u32 %rd34, %r34; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd2, %r11, %r12, %rd33, %rd34, %rd36, %rd36); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs7, %f7;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs6, %f6;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs5, %f5;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs8, %f1;} + + // inline asm + st.v4.u16 [%rd31], {%rs5, %rs6, %rs7, %rs8}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx.meta new file mode 100644 index 00000000..6fda51f9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addAO.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa2c6f245990b69408c255eb48c206eb +timeCreated: 1534430149 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx new file mode 100644 index 00000000..ef98e4b9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx @@ -0,0 +1,327 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image2[1]; +.global .align 1 .b8 imageHDR[1]; +.global .align 1 .b8 imageFinal[1]; +.global .align 4 .f32 DoNormalize; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11DoNormalizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11DoNormalizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11DoNormalizeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11DoNormalizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11DoNormalizeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<4>; + .reg .b16 %rs<20>; + .reg .f32 %f<88>; + .reg .b32 %r<79>; + .reg .b64 %rd<80>; + + + ld.global.v2.u32 {%r20, %r21}, [pixelID]; + cvt.u64.u32 %rd4, %r20; + cvt.u64.u32 %rd5, %r21; + mov.u64 %rd56, imageHDR; + cvta.global.u64 %rd3, %rd56; + mov.u32 %r18, 2; + mov.u32 %r7, 8; + mov.u64 %rd55, 0; + // inline asm + call (%rd2), _rt_buffer_get_64, (%rd3, %r18, %r7, %rd4, %rd5, %rd55, %rd55); + // inline asm + ld.u16 %rs2, [%rd2]; + // inline asm + { cvt.f32.f16 %f17, %rs2;} + + // inline asm + ld.global.v2.u32 {%r24, %r25}, [pixelID]; + cvt.u64.u32 %rd10, %r24; + cvt.u64.u32 %rd11, %r25; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd3, %r18, %r7, %rd10, %rd11, %rd55, %rd55); + // inline asm + ld.u16 %rs3, [%rd8+2]; + // inline asm + { cvt.f32.f16 %f18, %rs3;} + + // inline asm + ld.global.v2.u32 {%r28, %r29}, [pixelID]; + cvt.u64.u32 %rd16, %r28; + cvt.u64.u32 %rd17, %r29; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd3, %r18, %r7, %rd16, %rd17, %rd55, %rd55); + // inline asm + ld.u16 %rs4, [%rd14+4]; + // inline asm + { cvt.f32.f16 %f19, %rs4;} + + // inline asm + mul.f32 %f20, %f18, 0f3F372474; + fma.rn.f32 %f21, %f17, 0f3E59999A, %f20; + fma.rn.f32 %f22, %f19, 0f3D93A92A, %f21; + ld.global.v2.u32 {%r32, %r33}, [pixelID]; + cvt.u64.u32 %rd22, %r32; + cvt.u64.u32 %rd23, %r33; + mov.u64 %rd57, image2; + cvta.global.u64 %rd21, %rd57; + mov.u32 %r19, 16; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r18, %r19, %rd22, %rd23, %rd55, %rd55); + // inline asm + ld.v4.f32 {%f23, %f24, %f25, %f26}, [%rd20]; + ld.global.v2.u32 {%r36, %r37}, [pixelID]; + cvt.u64.u32 %rd28, %r36; + cvt.u64.u32 %rd29, %r37; + mov.u64 %rd58, image; + cvta.global.u64 %rd27, %rd58; + mov.u32 %r17, 4; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r18, %r17, %rd28, %rd29, %rd55, %rd55); + // inline asm + ld.u8 %rs5, [%rd26]; + cvt.rn.f32.u16 %f30, %rs5; + div.rn.f32 %f31, %f30, 0f437F0000; + fma.rn.f32 %f32, %f31, 0f40000000, 0fBF800000; + ld.global.v2.u32 {%r40, %r41}, [pixelID]; + cvt.u64.u32 %rd34, %r40; + cvt.u64.u32 %rd35, %r41; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd27, %r18, %r17, %rd34, %rd35, %rd55, %rd55); + // inline asm + ld.u8 %rs6, [%rd32+1]; + cvt.rn.f32.u16 %f33, %rs6; + div.rn.f32 %f34, %f33, 0f437F0000; + fma.rn.f32 %f35, %f34, 0f40000000, 0fBF800000; + ld.global.v2.u32 {%r44, %r45}, [pixelID]; + cvt.u64.u32 %rd40, %r44; + cvt.u64.u32 %rd41, %r45; + // inline asm + call (%rd38), _rt_buffer_get_64, (%rd27, %r18, %r17, %rd40, %rd41, %rd55, %rd55); + // inline asm + ld.u8 %rs7, [%rd38+2]; + cvt.rn.f32.u16 %f36, %rs7; + div.rn.f32 %f37, %f36, 0f437F0000; + fma.rn.f32 %f38, %f37, 0f40000000, 0fBF800000; + mul.f32 %f39, %f35, %f35; + fma.rn.f32 %f40, %f32, %f32, %f39; + fma.rn.f32 %f41, %f38, %f38, %f40; + sqrt.rn.f32 %f42, %f41; + rcp.rn.f32 %f43, %f42; + mul.f32 %f44, %f32, %f43; + mul.f32 %f45, %f35, %f43; + mul.f32 %f46, %f38, %f43; + fma.rn.f32 %f1, %f22, %f44, %f23; + fma.rn.f32 %f2, %f22, %f45, %f24; + fma.rn.f32 %f3, %f22, %f46, %f25; + ld.global.v2.u32 {%r48, %r49}, [pixelID]; + cvt.u64.u32 %rd46, %r48; + cvt.u64.u32 %rd47, %r49; + // inline asm + call (%rd44), _rt_buffer_get_64, (%rd27, %r18, %r17, %rd46, %rd47, %rd55, %rd55); + // inline asm + ld.u8 %rs8, [%rd44+3]; + cvt.rn.f32.u16 %f47, %rs8; + div.rn.f32 %f48, %f47, 0f437F0000; + ld.global.v2.u32 {%r52, %r53}, [pixelID]; + cvt.u64.u32 %rd52, %r52; + cvt.u64.u32 %rd53, %r53; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd21, %r18, %r19, %rd52, %rd53, %rd55, %rd55); + // inline asm + ld.f32 %f49, [%rd50+12]; + min.f32 %f87, %f48, %f49; + ld.global.f32 %f50, [DoNormalize]; + setp.gt.f32 %p1, %f50, 0f3F000000; + @%p1 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + mul.f32 %f54, %f2, %f2; + fma.rn.f32 %f55, %f1, %f1, %f54; + fma.rn.f32 %f56, %f3, %f3, %f55; + sqrt.rn.f32 %f57, %f56; + rcp.rn.f32 %f58, %f57; + mul.f32 %f5, %f1, %f58; + mul.f32 %f6, %f2, %f58; + mul.f32 %f7, %f3, %f58; + ld.global.v2.u32 {%r64, %r65}, [pixelID]; + cvt.u64.u32 %rd68, %r64; + cvt.u64.u32 %rd69, %r65; + mov.u64 %rd72, uvnormal; + cvta.global.u64 %rd67, %rd72; + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd67, %r18, %r17, %rd68, %rd69, %rd55, %rd55); + // inline asm + ld.u32 %r1, [%rd66]; + shr.u32 %r68, %r1, 16; + cvt.u16.u32 %rs1, %r68; + and.b16 %rs9, %rs1, 255; + cvt.u16.u32 %rs10, %r1; + or.b16 %rs11, %rs10, %rs9; + setp.eq.s16 %p2, %rs11, 0; + mov.f32 %f84, 0f00000000; + mov.f32 %f85, %f84; + mov.f32 %f86, %f84; + @%p2 bra BB0_4; + + ld.u8 %rs12, [%rd66+1]; + and.b16 %rs14, %rs10, 255; + cvt.rn.f32.u16 %f59, %rs14; + div.rn.f32 %f60, %f59, 0f437F0000; + fma.rn.f32 %f61, %f60, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f62, %rs12; + div.rn.f32 %f63, %f62, 0f437F0000; + fma.rn.f32 %f64, %f63, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f65, %rs9; + div.rn.f32 %f66, %f65, 0f437F0000; + fma.rn.f32 %f67, %f66, 0f40000000, 0fBF800000; + mul.f32 %f68, %f64, %f64; + fma.rn.f32 %f69, %f61, %f61, %f68; + fma.rn.f32 %f70, %f67, %f67, %f69; + sqrt.rn.f32 %f71, %f70; + rcp.rn.f32 %f72, %f71; + mul.f32 %f84, %f61, %f72; + mul.f32 %f85, %f64, %f72; + mul.f32 %f86, %f67, %f72; + +BB0_4: + mul.f32 %f73, %f6, %f85; + fma.rn.f32 %f74, %f5, %f84, %f73; + fma.rn.f32 %f14, %f7, %f86, %f74; + setp.leu.f32 %p3, %f87, 0f00000000; + @%p3 bra BB0_6; + + fma.rn.f32 %f75, %f14, 0f3F000000, 0f3F000000; + mov.f32 %f76, 0f3B808081; + max.f32 %f87, %f75, %f76; + +BB0_6: + ld.global.v2.u32 {%r71, %r72}, [pixelID]; + cvt.u64.u32 %rd75, %r71; + cvt.u64.u32 %rd76, %r72; + mov.u64 %rd79, imageFinal; + cvta.global.u64 %rd74, %rd79; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r18, %r17, %rd75, %rd76, %rd55, %rd55); + // inline asm + fma.rn.f32 %f77, %f5, 0f3F000000, 0f3F000000; + mul.f32 %f78, %f77, 0f437F0000; + cvt.rzi.u32.f32 %r75, %f78; + fma.rn.f32 %f79, %f6, 0f3F000000, 0f3F000000; + mul.f32 %f80, %f79, 0f437F0000; + cvt.rzi.u32.f32 %r76, %f80; + fma.rn.f32 %f81, %f7, 0f3F000000, 0f3F000000; + mul.f32 %f82, %f81, 0f437F0000; + cvt.rzi.u32.f32 %r77, %f82; + mul.f32 %f83, %f87, 0f437F0000; + cvt.rzi.u32.f32 %r78, %f83; + cvt.u16.u32 %rs16, %r78; + cvt.u16.u32 %rs17, %r77; + cvt.u16.u32 %rs18, %r76; + cvt.u16.u32 %rs19, %r75; + st.v4.u8 [%rd73], {%rs19, %rs18, %rs17, %rs16}; + bra.uni BB0_7; + +BB0_1: + ld.global.v2.u32 {%r58, %r59}, [pixelID]; + cvt.u64.u32 %rd61, %r58; + cvt.u64.u32 %rd62, %r59; + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd21, %r18, %r19, %rd61, %rd62, %rd55, %rd55); + // inline asm + st.v4.f32 [%rd59], {%f1, %f2, %f3, %f87}; + +BB0_7: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx.meta new file mode 100644 index 00000000..496bc9fe --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addDir.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2610b17ae27a5bb4493e1491e8e5dc4d +timeCreated: 1537442170 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx new file mode 100644 index 00000000..ca40514f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx @@ -0,0 +1,228 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image2[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b16 %rs<13>; + .reg .f32 %f<16>; + .reg .b32 %r<55>; + .reg .b64 %rd<57>; + + + ld.global.v2.u32 {%r19, %r20}, [pixelID]; + cvt.u64.u32 %rd3, %r19; + cvt.u64.u32 %rd4, %r20; + mov.u64 %rd55, image; + cvta.global.u64 %rd2, %rd55; + mov.u32 %r17, 2; + mov.u32 %r18, 8; + mov.u64 %rd54, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r17, %r18, %rd3, %rd4, %rd54, %rd54); + // inline asm + ld.u16 %rs1, [%rd1+6]; + // inline asm + { cvt.f32.f16 %f1, %rs1;} + + // inline asm + ld.global.v2.u32 {%r23, %r24}, [pixelID]; + cvt.u64.u32 %rd9, %r23; + cvt.u64.u32 %rd10, %r24; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd2, %r17, %r18, %rd9, %rd10, %rd54, %rd54); + // inline asm + ld.u16 %rs2, [%rd7]; + // inline asm + { cvt.f32.f16 %f2, %rs2;} + + // inline asm + ld.global.v2.u32 {%r27, %r28}, [pixelID]; + cvt.u64.u32 %rd15, %r27; + cvt.u64.u32 %rd16, %r28; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd2, %r17, %r18, %rd15, %rd16, %rd54, %rd54); + // inline asm + ld.u16 %rs3, [%rd13+2]; + // inline asm + { cvt.f32.f16 %f3, %rs3;} + + // inline asm + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + cvt.u64.u32 %rd21, %r31; + cvt.u64.u32 %rd22, %r32; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd2, %r17, %r18, %rd21, %rd22, %rd54, %rd54); + // inline asm + ld.u16 %rs4, [%rd19+4]; + // inline asm + { cvt.f32.f16 %f4, %rs4;} + + // inline asm + ld.global.v2.u32 {%r35, %r36}, [pixelID]; + cvt.u64.u32 %rd27, %r35; + cvt.u64.u32 %rd28, %r36; + mov.u64 %rd56, image2; + cvta.global.u64 %rd26, %rd56; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd26, %r17, %r18, %rd27, %rd28, %rd54, %rd54); + // inline asm + ld.u16 %rs5, [%rd25+6]; + // inline asm + { cvt.f32.f16 %f5, %rs5;} + + // inline asm + ld.global.v2.u32 {%r39, %r40}, [pixelID]; + cvt.u64.u32 %rd33, %r39; + cvt.u64.u32 %rd34, %r40; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd26, %r17, %r18, %rd33, %rd34, %rd54, %rd54); + // inline asm + ld.u16 %rs6, [%rd31]; + // inline asm + { cvt.f32.f16 %f6, %rs6;} + + // inline asm + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd39, %r43; + cvt.u64.u32 %rd40, %r44; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd26, %r17, %r18, %rd39, %rd40, %rd54, %rd54); + // inline asm + ld.u16 %rs7, [%rd37+2]; + // inline asm + { cvt.f32.f16 %f7, %rs7;} + + // inline asm + ld.global.v2.u32 {%r47, %r48}, [pixelID]; + cvt.u64.u32 %rd45, %r47; + cvt.u64.u32 %rd46, %r48; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd26, %r17, %r18, %rd45, %rd46, %rd54, %rd54); + // inline asm + ld.u16 %rs8, [%rd43+4]; + // inline asm + { cvt.f32.f16 %f8, %rs8;} + + // inline asm + add.f32 %f13, %f2, %f6; + add.f32 %f14, %f3, %f7; + add.f32 %f15, %f4, %f8; + mul.f32 %f9, %f1, %f13; + mul.f32 %f10, %f1, %f14; + mul.f32 %f11, %f1, %f15; + min.f32 %f12, %f1, %f5; + ld.global.v2.u32 {%r51, %r52}, [pixelID]; + cvt.u64.u32 %rd51, %r51; + cvt.u64.u32 %rd52, %r52; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd26, %r17, %r18, %rd51, %rd52, %rd54, %rd54); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs12, %f12;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs11, %f11;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs10, %f10;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs9, %f9;} + + // inline asm + st.v4.u16 [%rd49], {%rs9, %rs10, %rs11, %rs12}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx.meta new file mode 100644 index 00000000..d3776bd1 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalf.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e11fe20f1d7fb5c4e8a3e879f3aef436 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalfSeparateIndirect.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalfSeparateIndirect.ptx new file mode 100644 index 00000000..c7fabfc6 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalfSeparateIndirect.ptx @@ -0,0 +1,290 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image2[1]; +.global .align 1 .b8 imageIndirect[1]; +.global .align 4 .f32 indirectIntensity; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo17indirectIntensityE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename17indirectIntensityE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum17indirectIntensityE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic17indirectIntensityE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation17indirectIntensityE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b16 %rs<19>; + .reg .f32 %f<20>; + .reg .b32 %r<79>; + .reg .b64 %rd<82>; + + + ld.global.v2.u32 {%r27, %r28}, [pixelID]; + cvt.u64.u32 %rd3, %r27; + cvt.u64.u32 %rd4, %r28; + mov.u64 %rd79, image; + cvta.global.u64 %rd2, %rd79; + mov.u32 %r25, 2; + mov.u32 %r26, 8; + mov.u64 %rd78, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r25, %r26, %rd3, %rd4, %rd78, %rd78); + // inline asm + ld.u16 %rs1, [%rd1+6]; + // inline asm + { cvt.f32.f16 %f1, %rs1;} + + // inline asm + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + cvt.u64.u32 %rd9, %r31; + cvt.u64.u32 %rd10, %r32; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd2, %r25, %r26, %rd9, %rd10, %rd78, %rd78); + // inline asm + ld.u16 %rs2, [%rd7]; + // inline asm + { cvt.f32.f16 %f2, %rs2;} + + // inline asm + ld.global.v2.u32 {%r35, %r36}, [pixelID]; + cvt.u64.u32 %rd15, %r35; + cvt.u64.u32 %rd16, %r36; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd2, %r25, %r26, %rd15, %rd16, %rd78, %rd78); + // inline asm + ld.u16 %rs3, [%rd13+2]; + // inline asm + { cvt.f32.f16 %f3, %rs3;} + + // inline asm + ld.global.v2.u32 {%r39, %r40}, [pixelID]; + cvt.u64.u32 %rd21, %r39; + cvt.u64.u32 %rd22, %r40; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd2, %r25, %r26, %rd21, %rd22, %rd78, %rd78); + // inline asm + ld.u16 %rs4, [%rd19+4]; + // inline asm + { cvt.f32.f16 %f4, %rs4;} + + // inline asm + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd27, %r43; + cvt.u64.u32 %rd28, %r44; + mov.u64 %rd80, image2; + cvta.global.u64 %rd26, %rd80; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd26, %r25, %r26, %rd27, %rd28, %rd78, %rd78); + // inline asm + ld.u16 %rs5, [%rd25+6]; + // inline asm + { cvt.f32.f16 %f5, %rs5;} + + // inline asm + ld.global.v2.u32 {%r47, %r48}, [pixelID]; + cvt.u64.u32 %rd33, %r47; + cvt.u64.u32 %rd34, %r48; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd26, %r25, %r26, %rd33, %rd34, %rd78, %rd78); + // inline asm + ld.u16 %rs6, [%rd31]; + // inline asm + { cvt.f32.f16 %f6, %rs6;} + + // inline asm + ld.global.v2.u32 {%r51, %r52}, [pixelID]; + cvt.u64.u32 %rd39, %r51; + cvt.u64.u32 %rd40, %r52; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd26, %r25, %r26, %rd39, %rd40, %rd78, %rd78); + // inline asm + ld.u16 %rs7, [%rd37+2]; + // inline asm + { cvt.f32.f16 %f7, %rs7;} + + // inline asm + ld.global.v2.u32 {%r55, %r56}, [pixelID]; + cvt.u64.u32 %rd45, %r55; + cvt.u64.u32 %rd46, %r56; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd26, %r25, %r26, %rd45, %rd46, %rd78, %rd78); + // inline asm + ld.u16 %rs8, [%rd43+4]; + // inline asm + { cvt.f32.f16 %f8, %rs8;} + + // inline asm + add.f32 %f9, %f2, %f6; + add.f32 %f10, %f3, %f7; + add.f32 %f11, %f4, %f8; + min.f32 %f12, %f1, %f5; + ld.global.v2.u32 {%r59, %r60}, [pixelID]; + cvt.u64.u32 %rd51, %r59; + cvt.u64.u32 %rd52, %r60; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd26, %r25, %r26, %rd51, %rd52, %rd78, %rd78); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs11, %f11;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs10, %f10;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs9, %f9;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs12, %f12;} + + // inline asm + st.v4.u16 [%rd49], {%rs9, %rs10, %rs11, %rs12}; + ld.global.v2.u32 {%r63, %r64}, [pixelID]; + cvt.u64.u32 %rd57, %r63; + cvt.u64.u32 %rd58, %r64; + mov.u64 %rd81, imageIndirect; + cvta.global.u64 %rd56, %rd81; + // inline asm + call (%rd55), _rt_buffer_get_64, (%rd56, %r25, %r26, %rd57, %rd58, %rd78, %rd78); + // inline asm + ld.u16 %rs13, [%rd55]; + // inline asm + { cvt.f32.f16 %f13, %rs13;} + + // inline asm + ld.global.v2.u32 {%r67, %r68}, [pixelID]; + cvt.u64.u32 %rd63, %r67; + cvt.u64.u32 %rd64, %r68; + // inline asm + call (%rd61), _rt_buffer_get_64, (%rd56, %r25, %r26, %rd63, %rd64, %rd78, %rd78); + // inline asm + ld.u16 %rs14, [%rd61+2]; + // inline asm + { cvt.f32.f16 %f14, %rs14;} + + // inline asm + ld.global.v2.u32 {%r71, %r72}, [pixelID]; + cvt.u64.u32 %rd69, %r71; + cvt.u64.u32 %rd70, %r72; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd56, %r25, %r26, %rd69, %rd70, %rd78, %rd78); + // inline asm + ld.u16 %rs15, [%rd67+4]; + // inline asm + { cvt.f32.f16 %f15, %rs15;} + + // inline asm + ld.global.f32 %f19, [indirectIntensity]; + fma.rn.f32 %f16, %f2, %f19, %f13; + fma.rn.f32 %f17, %f3, %f19, %f14; + fma.rn.f32 %f18, %f4, %f19, %f15; + ld.global.v2.u32 {%r75, %r76}, [pixelID]; + cvt.u64.u32 %rd75, %r75; + cvt.u64.u32 %rd76, %r76; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd56, %r25, %r26, %rd75, %rd76, %rd78, %rd78); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs18, %f18;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs17, %f17;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs16, %f16;} + + // inline asm + st.v4.u16 [%rd73], {%rs16, %rs17, %rs18, %rs12}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalfSeparateIndirect.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalfSeparateIndirect.ptx.meta new file mode 100644 index 00000000..84146528 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addHalfSeparateIndirect.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3eeb7fb131fab904397234e1258187d6 +timeCreated: 1536238249 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx new file mode 100644 index 00000000..8dcce319 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx @@ -0,0 +1,666 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 inputImageL0[1]; +.global .align 1 .b8 inputImageL1x[1]; +.global .align 1 .b8 inputImageL1y[1]; +.global .align 1 .b8 inputImageL1z[1]; +.global .align 1 .b8 outputImageL0[1]; +.global .align 1 .b8 outputImageL1x[1]; +.global .align 1 .b8 outputImageL1y[1]; +.global .align 1 .b8 outputImageL1z[1]; +.global .align 1 .b8 packedImageL1x[1]; +.global .align 1 .b8 packedImageL1y[1]; +.global .align 1 .b8 packedImageL1z[1]; +.global .align 4 .f32 DoPack; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6DoPackE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6DoPackE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6DoPackE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic6DoPackE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6DoPackE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .b16 %rs<51>; + .reg .f32 %f<132>; + .reg .b32 %r<209>; + .reg .b64 %rd<213>; + + + ld.global.v2.u32 {%r55, %r56}, [pixelID]; + cvt.u64.u32 %rd3, %r55; + cvt.u64.u32 %rd4, %r56; + mov.u64 %rd163, inputImageL0; + cvta.global.u64 %rd2, %rd163; + mov.u32 %r53, 2; + mov.u32 %r54, 8; + mov.u64 %rd162, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r53, %r54, %rd3, %rd4, %rd162, %rd162); + // inline asm + ld.u16 %rs2, [%rd1]; + // inline asm + { cvt.f32.f16 %f11, %rs2;} + + // inline asm + ld.global.v2.u32 {%r59, %r60}, [pixelID]; + cvt.u64.u32 %rd9, %r59; + cvt.u64.u32 %rd10, %r60; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd2, %r53, %r54, %rd9, %rd10, %rd162, %rd162); + // inline asm + ld.u16 %rs3, [%rd7+2]; + // inline asm + { cvt.f32.f16 %f12, %rs3;} + + // inline asm + ld.global.v2.u32 {%r63, %r64}, [pixelID]; + cvt.u64.u32 %rd15, %r63; + cvt.u64.u32 %rd16, %r64; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd2, %r53, %r54, %rd15, %rd16, %rd162, %rd162); + // inline asm + ld.u16 %rs4, [%rd13+4]; + // inline asm + { cvt.f32.f16 %f13, %rs4;} + + // inline asm + ld.global.v2.u32 {%r67, %r68}, [pixelID]; + cvt.u64.u32 %rd21, %r67; + cvt.u64.u32 %rd22, %r68; + mov.u64 %rd164, inputImageL1x; + cvta.global.u64 %rd20, %rd164; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r53, %r54, %rd21, %rd22, %rd162, %rd162); + // inline asm + ld.u16 %rs5, [%rd19]; + // inline asm + { cvt.f32.f16 %f14, %rs5;} + + // inline asm + ld.global.v2.u32 {%r71, %r72}, [pixelID]; + cvt.u64.u32 %rd27, %r71; + cvt.u64.u32 %rd28, %r72; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd20, %r53, %r54, %rd27, %rd28, %rd162, %rd162); + // inline asm + ld.u16 %rs6, [%rd25+2]; + // inline asm + { cvt.f32.f16 %f15, %rs6;} + + // inline asm + ld.global.v2.u32 {%r75, %r76}, [pixelID]; + cvt.u64.u32 %rd33, %r75; + cvt.u64.u32 %rd34, %r76; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd20, %r53, %r54, %rd33, %rd34, %rd162, %rd162); + // inline asm + ld.u16 %rs7, [%rd31+4]; + // inline asm + { cvt.f32.f16 %f16, %rs7;} + + // inline asm + fma.rn.f32 %f41, %f14, 0f40000000, 0fBF800000; + fma.rn.f32 %f42, %f15, 0f40000000, 0fBF800000; + fma.rn.f32 %f43, %f16, 0f40000000, 0fBF800000; + ld.global.v2.u32 {%r79, %r80}, [pixelID]; + cvt.u64.u32 %rd39, %r79; + cvt.u64.u32 %rd40, %r80; + mov.u64 %rd165, inputImageL1y; + cvta.global.u64 %rd38, %rd165; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd38, %r53, %r54, %rd39, %rd40, %rd162, %rd162); + // inline asm + ld.u16 %rs8, [%rd37]; + // inline asm + { cvt.f32.f16 %f17, %rs8;} + + // inline asm + ld.global.v2.u32 {%r83, %r84}, [pixelID]; + cvt.u64.u32 %rd45, %r83; + cvt.u64.u32 %rd46, %r84; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd38, %r53, %r54, %rd45, %rd46, %rd162, %rd162); + // inline asm + ld.u16 %rs9, [%rd43+2]; + // inline asm + { cvt.f32.f16 %f18, %rs9;} + + // inline asm + ld.global.v2.u32 {%r87, %r88}, [pixelID]; + cvt.u64.u32 %rd51, %r87; + cvt.u64.u32 %rd52, %r88; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd38, %r53, %r54, %rd51, %rd52, %rd162, %rd162); + // inline asm + ld.u16 %rs10, [%rd49+4]; + // inline asm + { cvt.f32.f16 %f19, %rs10;} + + // inline asm + fma.rn.f32 %f44, %f17, 0f40000000, 0fBF800000; + fma.rn.f32 %f45, %f18, 0f40000000, 0fBF800000; + fma.rn.f32 %f46, %f19, 0f40000000, 0fBF800000; + ld.global.v2.u32 {%r91, %r92}, [pixelID]; + cvt.u64.u32 %rd57, %r91; + cvt.u64.u32 %rd58, %r92; + mov.u64 %rd166, inputImageL1z; + cvta.global.u64 %rd56, %rd166; + // inline asm + call (%rd55), _rt_buffer_get_64, (%rd56, %r53, %r54, %rd57, %rd58, %rd162, %rd162); + // inline asm + ld.u16 %rs11, [%rd55]; + // inline asm + { cvt.f32.f16 %f20, %rs11;} + + // inline asm + ld.global.v2.u32 {%r95, %r96}, [pixelID]; + cvt.u64.u32 %rd63, %r95; + cvt.u64.u32 %rd64, %r96; + // inline asm + call (%rd61), _rt_buffer_get_64, (%rd56, %r53, %r54, %rd63, %rd64, %rd162, %rd162); + // inline asm + ld.u16 %rs12, [%rd61+2]; + // inline asm + { cvt.f32.f16 %f21, %rs12;} + + // inline asm + ld.global.v2.u32 {%r99, %r100}, [pixelID]; + cvt.u64.u32 %rd69, %r99; + cvt.u64.u32 %rd70, %r100; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd56, %r53, %r54, %rd69, %rd70, %rd162, %rd162); + // inline asm + ld.u16 %rs13, [%rd67+4]; + // inline asm + { cvt.f32.f16 %f22, %rs13;} + + // inline asm + fma.rn.f32 %f47, %f20, 0f40000000, 0fBF800000; + fma.rn.f32 %f48, %f21, 0f40000000, 0fBF800000; + fma.rn.f32 %f49, %f22, 0f40000000, 0fBF800000; + ld.global.v2.u32 {%r103, %r104}, [pixelID]; + cvt.u64.u32 %rd75, %r103; + cvt.u64.u32 %rd76, %r104; + mov.u64 %rd167, outputImageL0; + cvta.global.u64 %rd74, %rd167; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r53, %r54, %rd75, %rd76, %rd162, %rd162); + // inline asm + ld.u16 %rs14, [%rd73]; + // inline asm + { cvt.f32.f16 %f23, %rs14;} + + // inline asm + ld.global.v2.u32 {%r107, %r108}, [pixelID]; + cvt.u64.u32 %rd81, %r107; + cvt.u64.u32 %rd82, %r108; + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd74, %r53, %r54, %rd81, %rd82, %rd162, %rd162); + // inline asm + ld.u16 %rs15, [%rd79+2]; + // inline asm + { cvt.f32.f16 %f24, %rs15;} + + // inline asm + ld.global.v2.u32 {%r111, %r112}, [pixelID]; + cvt.u64.u32 %rd87, %r111; + cvt.u64.u32 %rd88, %r112; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd74, %r53, %r54, %rd87, %rd88, %rd162, %rd162); + // inline asm + ld.u16 %rs16, [%rd85+4]; + // inline asm + { cvt.f32.f16 %f25, %rs16;} + + // inline asm + ld.global.v2.u32 {%r115, %r116}, [pixelID]; + cvt.u64.u32 %rd93, %r115; + cvt.u64.u32 %rd94, %r116; + mov.u64 %rd168, outputImageL1x; + cvta.global.u64 %rd92, %rd168; + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd92, %r53, %r54, %rd93, %rd94, %rd162, %rd162); + // inline asm + ld.u16 %rs17, [%rd91]; + // inline asm + { cvt.f32.f16 %f26, %rs17;} + + // inline asm + ld.global.v2.u32 {%r119, %r120}, [pixelID]; + cvt.u64.u32 %rd99, %r119; + cvt.u64.u32 %rd100, %r120; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd92, %r53, %r54, %rd99, %rd100, %rd162, %rd162); + // inline asm + ld.u16 %rs18, [%rd97+2]; + // inline asm + { cvt.f32.f16 %f27, %rs18;} + + // inline asm + ld.global.v2.u32 {%r123, %r124}, [pixelID]; + cvt.u64.u32 %rd105, %r123; + cvt.u64.u32 %rd106, %r124; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd92, %r53, %r54, %rd105, %rd106, %rd162, %rd162); + // inline asm + ld.u16 %rs19, [%rd103+4]; + // inline asm + { cvt.f32.f16 %f28, %rs19;} + + // inline asm + fma.rn.f32 %f50, %f26, 0f40000000, 0fBF800000; + fma.rn.f32 %f51, %f27, 0f40000000, 0fBF800000; + fma.rn.f32 %f52, %f28, 0f40000000, 0fBF800000; + mul.f32 %f53, %f23, %f50; + mul.f32 %f54, %f24, %f51; + mul.f32 %f55, %f25, %f52; + ld.global.v2.u32 {%r127, %r128}, [pixelID]; + cvt.u64.u32 %rd111, %r127; + cvt.u64.u32 %rd112, %r128; + mov.u64 %rd169, outputImageL1y; + cvta.global.u64 %rd110, %rd169; + // inline asm + call (%rd109), _rt_buffer_get_64, (%rd110, %r53, %r54, %rd111, %rd112, %rd162, %rd162); + // inline asm + ld.u16 %rs20, [%rd109]; + // inline asm + { cvt.f32.f16 %f29, %rs20;} + + // inline asm + ld.global.v2.u32 {%r131, %r132}, [pixelID]; + cvt.u64.u32 %rd117, %r131; + cvt.u64.u32 %rd118, %r132; + // inline asm + call (%rd115), _rt_buffer_get_64, (%rd110, %r53, %r54, %rd117, %rd118, %rd162, %rd162); + // inline asm + ld.u16 %rs21, [%rd115+2]; + // inline asm + { cvt.f32.f16 %f30, %rs21;} + + // inline asm + ld.global.v2.u32 {%r135, %r136}, [pixelID]; + cvt.u64.u32 %rd123, %r135; + cvt.u64.u32 %rd124, %r136; + // inline asm + call (%rd121), _rt_buffer_get_64, (%rd110, %r53, %r54, %rd123, %rd124, %rd162, %rd162); + // inline asm + ld.u16 %rs22, [%rd121+4]; + // inline asm + { cvt.f32.f16 %f31, %rs22;} + + // inline asm + fma.rn.f32 %f56, %f29, 0f40000000, 0fBF800000; + fma.rn.f32 %f57, %f30, 0f40000000, 0fBF800000; + fma.rn.f32 %f58, %f31, 0f40000000, 0fBF800000; + mul.f32 %f59, %f23, %f56; + mul.f32 %f60, %f24, %f57; + mul.f32 %f61, %f25, %f58; + ld.global.v2.u32 {%r139, %r140}, [pixelID]; + cvt.u64.u32 %rd129, %r139; + cvt.u64.u32 %rd130, %r140; + mov.u64 %rd170, outputImageL1z; + cvta.global.u64 %rd128, %rd170; + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd128, %r53, %r54, %rd129, %rd130, %rd162, %rd162); + // inline asm + ld.u16 %rs23, [%rd127]; + // inline asm + { cvt.f32.f16 %f32, %rs23;} + + // inline asm + ld.global.v2.u32 {%r143, %r144}, [pixelID]; + cvt.u64.u32 %rd135, %r143; + cvt.u64.u32 %rd136, %r144; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd128, %r53, %r54, %rd135, %rd136, %rd162, %rd162); + // inline asm + ld.u16 %rs24, [%rd133+2]; + // inline asm + { cvt.f32.f16 %f33, %rs24;} + + // inline asm + ld.global.v2.u32 {%r147, %r148}, [pixelID]; + cvt.u64.u32 %rd141, %r147; + cvt.u64.u32 %rd142, %r148; + // inline asm + call (%rd139), _rt_buffer_get_64, (%rd128, %r53, %r54, %rd141, %rd142, %rd162, %rd162); + // inline asm + ld.u16 %rs25, [%rd139+4]; + // inline asm + { cvt.f32.f16 %f34, %rs25;} + + // inline asm + fma.rn.f32 %f62, %f32, 0f40000000, 0fBF800000; + fma.rn.f32 %f63, %f33, 0f40000000, 0fBF800000; + fma.rn.f32 %f64, %f34, 0f40000000, 0fBF800000; + mul.f32 %f65, %f23, %f62; + mul.f32 %f66, %f24, %f63; + mul.f32 %f67, %f25, %f64; + ld.global.v2.u32 {%r151, %r152}, [pixelID]; + cvt.u64.u32 %rd147, %r151; + cvt.u64.u32 %rd148, %r152; + // inline asm + call (%rd145), _rt_buffer_get_64, (%rd2, %r53, %r54, %rd147, %rd148, %rd162, %rd162); + // inline asm + ld.u16 %rs26, [%rd145+6]; + // inline asm + { cvt.f32.f16 %f35, %rs26;} + + // inline asm + ld.global.v2.u32 {%r155, %r156}, [pixelID]; + cvt.u64.u32 %rd153, %r155; + cvt.u64.u32 %rd154, %r156; + // inline asm + call (%rd151), _rt_buffer_get_64, (%rd74, %r53, %r54, %rd153, %rd154, %rd162, %rd162); + // inline asm + ld.u16 %rs27, [%rd151+6]; + // inline asm + { cvt.f32.f16 %f36, %rs27;} + + // inline asm + min.f32 %f40, %f35, %f36; + add.f32 %f68, %f11, %f23; + add.f32 %f69, %f12, %f24; + add.f32 %f70, %f13, %f25; + fma.rn.f32 %f71, %f11, %f41, %f53; + fma.rn.f32 %f72, %f12, %f42, %f54; + fma.rn.f32 %f73, %f13, %f43, %f55; + fma.rn.f32 %f74, %f11, %f44, %f59; + fma.rn.f32 %f75, %f12, %f45, %f60; + fma.rn.f32 %f76, %f13, %f46, %f61; + fma.rn.f32 %f77, %f11, %f47, %f65; + fma.rn.f32 %f78, %f12, %f48, %f66; + fma.rn.f32 %f79, %f13, %f49, %f67; + mov.f32 %f80, 0f34000000; + max.f32 %f81, %f68, %f80; + max.f32 %f82, %f69, %f80; + max.f32 %f83, %f70, %f80; + div.rn.f32 %f84, %f71, %f81; + div.rn.f32 %f85, %f72, %f82; + div.rn.f32 %f86, %f73, %f83; + fma.rn.f32 %f87, %f84, 0f3F000000, 0f3F000000; + fma.rn.f32 %f88, %f85, 0f3F000000, 0f3F000000; + fma.rn.f32 %f89, %f86, 0f3F000000, 0f3F000000; + div.rn.f32 %f90, %f74, %f81; + div.rn.f32 %f91, %f75, %f82; + div.rn.f32 %f92, %f76, %f83; + fma.rn.f32 %f93, %f90, 0f3F000000, 0f3F000000; + fma.rn.f32 %f94, %f91, 0f3F000000, 0f3F000000; + fma.rn.f32 %f95, %f92, 0f3F000000, 0f3F000000; + div.rn.f32 %f96, %f77, %f81; + div.rn.f32 %f97, %f78, %f82; + div.rn.f32 %f98, %f79, %f83; + fma.rn.f32 %f99, %f96, 0f3F000000, 0f3F000000; + fma.rn.f32 %f100, %f97, 0f3F000000, 0f3F000000; + fma.rn.f32 %f101, %f98, 0f3F000000, 0f3F000000; + mul.f32 %f37, %f68, %f40; + mul.f32 %f38, %f69, %f40; + mul.f32 %f39, %f70, %f40; + mul.f32 %f2, %f40, %f87; + mul.f32 %f3, %f40, %f88; + mul.f32 %f4, %f40, %f89; + mul.f32 %f5, %f40, %f93; + mul.f32 %f6, %f40, %f94; + mul.f32 %f7, %f40, %f95; + mul.f32 %f8, %f40, %f99; + mul.f32 %f9, %f40, %f100; + mul.f32 %f10, %f40, %f101; + ld.global.v2.u32 {%r159, %r160}, [pixelID]; + cvt.u64.u32 %rd159, %r159; + cvt.u64.u32 %rd160, %r160; + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd74, %r53, %r54, %rd159, %rd160, %rd162, %rd162); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f40;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f39;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f38;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f37;} + + // inline asm + st.v4.u16 [%rd157], {%rs28, %rs29, %rs30, %rs31}; + ld.global.f32 %f102, [DoPack]; + setp.gt.f32 %p1, %f102, 0f3F000000; + @%p1 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + mul.f32 %f112, %f2, 0f437F0000; + mov.f32 %f113, 0f437F0000; + min.f32 %f114, %f112, %f113; + mul.f32 %f115, %f3, 0f437F0000; + min.f32 %f116, %f115, %f113; + mul.f32 %f117, %f4, 0f437F0000; + min.f32 %f118, %f117, %f113; + mul.f32 %f119, %f5, 0f437F0000; + min.f32 %f120, %f119, %f113; + mul.f32 %f121, %f6, 0f437F0000; + min.f32 %f122, %f121, %f113; + mul.f32 %f123, %f7, 0f437F0000; + min.f32 %f124, %f123, %f113; + mul.f32 %f125, %f8, 0f437F0000; + min.f32 %f126, %f125, %f113; + mul.f32 %f127, %f9, 0f437F0000; + min.f32 %f128, %f127, %f113; + mul.f32 %f129, %f10, 0f437F0000; + min.f32 %f130, %f129, %f113; + ld.global.v2.u32 {%r187, %r188}, [pixelID]; + cvt.u64.u32 %rd194, %r187; + cvt.u64.u32 %rd195, %r188; + mov.u64 %rd210, packedImageL1x; + cvta.global.u64 %rd193, %rd210; + mov.u32 %r186, 4; + // inline asm + call (%rd192), _rt_buffer_get_64, (%rd193, %r53, %r186, %rd194, %rd195, %rd162, %rd162); + // inline asm + cvt.rzi.u32.f32 %r191, %f114; + cvt.rzi.u32.f32 %r192, %f116; + cvt.rzi.u32.f32 %r193, %f118; + mul.f32 %f131, %f40, 0f437F0000; + cvt.rzi.u32.f32 %r194, %f131; + cvt.u16.u32 %rs41, %r193; + cvt.u16.u32 %rs42, %r192; + cvt.u16.u32 %rs43, %r191; + cvt.u16.u32 %rs44, %r194; + st.v4.u8 [%rd192], {%rs43, %rs42, %rs41, %rs44}; + ld.global.v2.u32 {%r195, %r196}, [pixelID]; + cvt.u64.u32 %rd200, %r195; + cvt.u64.u32 %rd201, %r196; + mov.u64 %rd211, packedImageL1y; + cvta.global.u64 %rd199, %rd211; + // inline asm + call (%rd198), _rt_buffer_get_64, (%rd199, %r53, %r186, %rd200, %rd201, %rd162, %rd162); + // inline asm + cvt.rzi.u32.f32 %r199, %f120; + cvt.rzi.u32.f32 %r200, %f122; + cvt.rzi.u32.f32 %r201, %f124; + cvt.u16.u32 %rs45, %r201; + cvt.u16.u32 %rs46, %r200; + cvt.u16.u32 %rs47, %r199; + st.v4.u8 [%rd198], {%rs47, %rs46, %rs45, %rs44}; + ld.global.v2.u32 {%r202, %r203}, [pixelID]; + cvt.u64.u32 %rd206, %r202; + cvt.u64.u32 %rd207, %r203; + mov.u64 %rd212, packedImageL1z; + cvta.global.u64 %rd205, %rd212; + // inline asm + call (%rd204), _rt_buffer_get_64, (%rd205, %r53, %r186, %rd206, %rd207, %rd162, %rd162); + // inline asm + cvt.rzi.u32.f32 %r206, %f126; + cvt.rzi.u32.f32 %r207, %f128; + cvt.rzi.u32.f32 %r208, %f130; + cvt.u16.u32 %rs48, %r208; + cvt.u16.u32 %rs49, %r207; + cvt.u16.u32 %rs50, %r206; + st.v4.u8 [%rd204], {%rs50, %rs49, %rs48, %rs44}; + bra.uni BB0_3; + +BB0_1: + ld.global.v2.u32 {%r169, %r170}, [pixelID]; + cvt.u64.u32 %rd173, %r169; + cvt.u64.u32 %rd174, %r170; + // inline asm + call (%rd171), _rt_buffer_get_64, (%rd92, %r53, %r54, %rd173, %rd174, %rd162, %rd162); + // inline asm + cvt.sat.f32.f32 %f103, %f2; + cvt.sat.f32.f32 %f104, %f3; + cvt.sat.f32.f32 %f105, %f4; + // inline asm + { cvt.rn.f16.f32 %rs34, %f105;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f104;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f103;} + + // inline asm + st.v4.u16 [%rd171], {%rs32, %rs33, %rs34, %rs31}; + ld.global.v2.u32 {%r173, %r174}, [pixelID]; + cvt.u64.u32 %rd179, %r173; + cvt.u64.u32 %rd180, %r174; + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd110, %r53, %r54, %rd179, %rd180, %rd162, %rd162); + // inline asm + cvt.sat.f32.f32 %f106, %f5; + cvt.sat.f32.f32 %f107, %f6; + cvt.sat.f32.f32 %f108, %f7; + // inline asm + { cvt.rn.f16.f32 %rs37, %f108;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f107;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs35, %f106;} + + // inline asm + st.v4.u16 [%rd177], {%rs35, %rs36, %rs37, %rs31}; + ld.global.v2.u32 {%r177, %r178}, [pixelID]; + cvt.u64.u32 %rd185, %r177; + cvt.u64.u32 %rd186, %r178; + // inline asm + call (%rd183), _rt_buffer_get_64, (%rd128, %r53, %r54, %rd185, %rd186, %rd162, %rd162); + // inline asm + cvt.sat.f32.f32 %f109, %f8; + cvt.sat.f32.f32 %f110, %f9; + cvt.sat.f32.f32 %f111, %f10; + // inline asm + { cvt.rn.f16.f32 %rs40, %f111;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f110;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f109;} + + // inline asm + st.v4.u16 [%rd183], {%rs38, %rs39, %rs40, %rs31}; + +BB0_3: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx.meta new file mode 100644 index 00000000..e352a558 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/addSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8e93cdd837ccece47adea672aa4bcff2 +timeCreated: 1537695617 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/alphabuffergen.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/alphabuffergen.dll new file mode 100644 index 00000000..6d02dac6 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/alphabuffergen.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/alphabuffergen.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/alphabuffergen.dll.meta new file mode 100644 index 00000000..5a43a031 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/alphabuffergen.dll.meta @@ -0,0 +1,138 @@ +fileFormatVersion: 2 +guid: 36d566e460135294e9e29bd27a12b9b5 +timeCreated: 1526150503 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXIntel: 1 + Exclude OSXIntel64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + data: + first: + '': Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + OS: AnyOS + data: + first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: x86 + data: + first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: x86_64 + data: + first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXIntel64 + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + iPhone: iOS + second: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimesh.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimesh.ptx new file mode 100644 index 00000000..82a31f75 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimesh.ptx @@ -0,0 +1,265 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z11interpolatei +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .f32 triAlpha; +.global .align 1 .b8 vertex_buffer[1]; +.global .align 1 .b8 index_buffer[1]; +.global .align 4 .u32 firstAlphaTriangle; +.global .align 1 .b8 vertex_buffer_uv[1]; +.global .align 1 .b8 triangleAlphaIDs[1]; +.global .align 1 .b8 alphaTextures[1]; +.global .align 4 .b8 ray[36]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8triAlphaE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo18firstAlphaTriangleE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8triAlphaE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename18firstAlphaTriangleE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8triAlphaE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum18firstAlphaTriangleE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic8triAlphaE[19] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 114, 105, 65, 108, 112, 104, 97, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic18firstAlphaTriangleE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8triAlphaE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation18firstAlphaTriangleE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; + +.visible .entry _Z11interpolatei( + .param .u32 _Z11interpolatei_param_0 +) +{ + .reg .pred %p<3>; + .reg .f32 %f<65>; + .reg .b32 %r<39>; + .reg .b64 %rd<76>; + + + ld.param.u32 %r5, [_Z11interpolatei_param_0]; + // inline asm + call (%f6, %f7), _rt_get_triangle_barycentrics, (); + // inline asm + cvt.s64.s32 %rd3, %r5; + mov.u64 %rd7, index_buffer; + cvta.global.u64 %rd2, %rd7; + mov.u32 %r6, 1; + mov.u32 %r7, 12; + mov.u64 %rd6, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r6, %r7, %rd3, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %r1, [%rd1]; + ld.u32 %r2, [%rd1+4]; + ld.u32 %r3, [%rd1+8]; + ld.global.u32 %r4, [firstAlphaTriangle]; + setp.gt.s32 %p1, %r4, %r5; + mov.f32 %f64, 0f3F800000; + sub.f32 %f9, %f64, %f6; + sub.f32 %f3, %f9, %f7; + @%p1 bra BB0_2; + + cvt.s64.s32 %rd28, %r3; + sub.s32 %r26, %r5, %r4; + cvt.s64.s32 %rd10, %r26; + mov.u64 %rd53, triangleAlphaIDs; + cvta.global.u64 %rd9, %rd53; + mov.u32 %r22, 4; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd9, %r6, %r22, %rd10, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %rd54, [%rd8]; + cvt.u32.u64 %r27, %rd54; + shr.u32 %r28, %r27, 16; + cvt.s64.s32 %rd16, %r1; + mov.u64 %rd55, vertex_buffer_uv; + cvta.global.u64 %rd15, %rd55; + mov.u32 %r15, 8; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd15, %r6, %r15, %rd16, %rd6, %rd6, %rd6); + // inline asm + ld.v2.f32 {%f10, %f11}, [%rd14]; + cvt.s64.s32 %rd22, %r2; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd15, %r6, %r15, %rd22, %rd6, %rd6, %rd6); + // inline asm + ld.v2.f32 {%f14, %f15}, [%rd20]; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd15, %r6, %r15, %rd28, %rd6, %rd6, %rd6); + // inline asm + mul.f32 %f18, %f6, %f14; + mul.f32 %f19, %f6, %f15; + fma.rn.f32 %f20, %f3, %f10, %f18; + fma.rn.f32 %f21, %f3, %f11, %f19; + ld.v2.f32 {%f22, %f23}, [%rd26]; + fma.rn.f32 %f26, %f7, %f22, %f20; + fma.rn.f32 %f27, %f7, %f23, %f21; + abs.f32 %f28, %f26; + cvt.rmi.f32.f32 %f29, %f28; + sub.f32 %f30, %f28, %f29; + abs.f32 %f31, %f27; + cvt.rmi.f32.f32 %f32, %f31; + sub.f32 %f33, %f31, %f32; + and.b64 %rd34, %rd54, 65535; + mov.u64 %rd56, alphaTextures; + cvta.global.u64 %rd33, %rd56; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r6, %r22, %rd34, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %r18, [%rd32]; + mov.u32 %r24, 2; + // inline asm + call (%rd38, %rd39, %rd40, %rd41), _rt_buffer_get_id_size_64, (%r18, %r24, %r6); + // inline asm + cvt.rn.f32.u64 %f34, %rd38; + mul.f32 %f35, %f30, %f34; + cvt.rzi.u32.f32 %r29, %f35; + cvt.rn.f32.u64 %f36, %rd39; + mul.f32 %f37, %f33, %f36; + cvt.rzi.u32.f32 %r30, %f37; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd33, %r6, %r22, %rd34, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %r23, [%rd42]; + cvt.u64.u32 %rd49, %r29; + cvt.u64.u32 %rd50, %r30; + // inline asm + call (%rd48), _rt_buffer_get_id_64, (%r23, %r24, %r6, %rd49, %rd50, %rd6, %rd6); + // inline asm + ld.u8 %r31, [%rd48]; + and.b32 %r32, %r31, %r28; + setp.eq.s32 %p2, %r32, 0; + selp.f32 %f64, 0f00000000, 0f3F800000, %p2; + +BB0_2: + st.global.f32 [triAlpha], %f64; + cvt.s64.s32 %rd59, %r1; + mov.u64 %rd75, vertex_buffer; + cvta.global.u64 %rd58, %rd75; + mov.u32 %r38, 24; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd58, %r6, %r38, %rd59, %rd6, %rd6, %rd6); + // inline asm + ld.f32 %f38, [%rd57+20]; + ld.f32 %f39, [%rd57+16]; + ld.f32 %f40, [%rd57+12]; + cvt.s64.s32 %rd65, %r2; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd58, %r6, %r38, %rd65, %rd6, %rd6, %rd6); + // inline asm + ld.f32 %f41, [%rd63+20]; + ld.f32 %f42, [%rd63+16]; + ld.f32 %f43, [%rd63+12]; + cvt.s64.s32 %rd71, %r3; + // inline asm + call (%rd69), _rt_buffer_get_64, (%rd58, %r6, %r38, %rd71, %rd6, %rd6, %rd6); + // inline asm + mul.f32 %f44, %f6, %f43; + mul.f32 %f45, %f6, %f42; + mul.f32 %f46, %f6, %f41; + fma.rn.f32 %f47, %f3, %f40, %f44; + fma.rn.f32 %f48, %f3, %f39, %f45; + fma.rn.f32 %f49, %f3, %f38, %f46; + ld.f32 %f50, [%rd69+20]; + ld.f32 %f51, [%rd69+16]; + ld.f32 %f52, [%rd69+12]; + fma.rn.f32 %f53, %f7, %f52, %f47; + fma.rn.f32 %f54, %f7, %f51, %f48; + fma.rn.f32 %f55, %f7, %f50, %f49; + mul.f32 %f56, %f54, %f54; + fma.rn.f32 %f57, %f53, %f53, %f56; + fma.rn.f32 %f58, %f55, %f55, %f57; + sqrt.rn.f32 %f59, %f58; + rcp.rn.f32 %f60, %f59; + mul.f32 %f61, %f60, %f53; + mul.f32 %f62, %f60, %f54; + mul.f32 %f63, %f60, %f55; + st.global.f32 [normal], %f61; + st.global.f32 [normal+4], %f62; + st.global.f32 [normal+8], %f63; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimesh.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimesh.ptx.meta new file mode 100644 index 00000000..c55d3ddc --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimesh.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 84cdf34ffa295d046887fff61e29ed06 +timeCreated: 1549654014 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx new file mode 100644 index 00000000..5555a98c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx @@ -0,0 +1,301 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z11interpolatei +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .f32 triAlpha; +.global .align 1 .b8 vertex_buffer[1]; +.global .align 1 .b8 index_buffer[1]; +.global .align 4 .u32 firstAlphaTriangle; +.global .align 1 .b8 vertex_buffer_uv[1]; +.global .align 1 .b8 triangleAlphaIDs[1]; +.global .align 1 .b8 alphaTextures[1]; +.global .align 4 .b8 ray[36]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8triAlphaE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo18firstAlphaTriangleE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8triAlphaE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename18firstAlphaTriangleE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8triAlphaE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum18firstAlphaTriangleE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic8triAlphaE[19] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 114, 105, 65, 108, 112, 104, 97, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic18firstAlphaTriangleE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8triAlphaE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation18firstAlphaTriangleE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; + +.visible .entry _Z11interpolatei( + .param .u32 _Z11interpolatei_param_0 +) +{ + .reg .pred %p<4>; + .reg .f32 %f<88>; + .reg .b32 %r<45>; + .reg .b64 %rd<95>; + + + ld.param.u32 %r5, [_Z11interpolatei_param_0]; + // inline asm + call (%f15, %f16), _rt_get_triangle_barycentrics, (); + // inline asm + cvt.s64.s32 %rd4, %r5; + mov.u64 %rd8, index_buffer; + cvta.global.u64 %rd3, %rd8; + mov.u32 %r6, 1; + mov.u32 %r7, 12; + mov.u64 %rd7, 0; + // inline asm + call (%rd2), _rt_buffer_get_64, (%rd3, %r6, %r7, %rd4, %rd7, %rd7, %rd7); + // inline asm + ld.u32 %r1, [%rd2]; + ld.u32 %r2, [%rd2+4]; + ld.u32 %r3, [%rd2+8]; + ld.global.u32 %r4, [firstAlphaTriangle]; + setp.gt.s32 %p1, %r4, %r5; + mov.f32 %f85, 0f3F800000; + sub.f32 %f18, %f85, %f15; + sub.f32 %f3, %f18, %f16; + @%p1 bra BB0_2; + + cvt.s64.s32 %rd29, %r3; + sub.s32 %r26, %r5, %r4; + cvt.s64.s32 %rd11, %r26; + mov.u64 %rd54, triangleAlphaIDs; + cvta.global.u64 %rd10, %rd54; + mov.u32 %r22, 4; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd10, %r6, %r22, %rd11, %rd7, %rd7, %rd7); + // inline asm + ld.u32 %rd55, [%rd9]; + cvt.u32.u64 %r27, %rd55; + shr.u32 %r28, %r27, 16; + cvt.s64.s32 %rd17, %r1; + mov.u64 %rd56, vertex_buffer_uv; + cvta.global.u64 %rd16, %rd56; + mov.u32 %r15, 8; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r6, %r15, %rd17, %rd7, %rd7, %rd7); + // inline asm + ld.v2.f32 {%f19, %f20}, [%rd15]; + cvt.s64.s32 %rd23, %r2; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd16, %r6, %r15, %rd23, %rd7, %rd7, %rd7); + // inline asm + ld.v2.f32 {%f23, %f24}, [%rd21]; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd16, %r6, %r15, %rd29, %rd7, %rd7, %rd7); + // inline asm + mul.f32 %f27, %f15, %f23; + mul.f32 %f28, %f15, %f24; + fma.rn.f32 %f29, %f3, %f19, %f27; + fma.rn.f32 %f30, %f3, %f20, %f28; + ld.v2.f32 {%f31, %f32}, [%rd27]; + fma.rn.f32 %f35, %f16, %f31, %f29; + fma.rn.f32 %f36, %f16, %f32, %f30; + abs.f32 %f37, %f35; + cvt.rmi.f32.f32 %f38, %f37; + sub.f32 %f39, %f37, %f38; + abs.f32 %f40, %f36; + cvt.rmi.f32.f32 %f41, %f40; + sub.f32 %f42, %f40, %f41; + and.b64 %rd35, %rd55, 65535; + mov.u64 %rd57, alphaTextures; + cvta.global.u64 %rd34, %rd57; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r6, %r22, %rd35, %rd7, %rd7, %rd7); + // inline asm + ld.u32 %r18, [%rd33]; + mov.u32 %r24, 2; + // inline asm + call (%rd39, %rd40, %rd41, %rd42), _rt_buffer_get_id_size_64, (%r18, %r24, %r6); + // inline asm + cvt.rn.f32.u64 %f43, %rd39; + mul.f32 %f44, %f39, %f43; + cvt.rzi.u32.f32 %r29, %f44; + cvt.rn.f32.u64 %f45, %rd40; + mul.f32 %f46, %f42, %f45; + cvt.rzi.u32.f32 %r30, %f46; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd34, %r6, %r22, %rd35, %rd7, %rd7, %rd7); + // inline asm + ld.u32 %r23, [%rd43]; + cvt.u64.u32 %rd50, %r29; + cvt.u64.u32 %rd51, %r30; + // inline asm + call (%rd49), _rt_buffer_get_id_64, (%r23, %r24, %r6, %rd50, %rd51, %rd7, %rd7); + // inline asm + ld.u8 %r31, [%rd49]; + and.b32 %r32, %r31, %r28; + setp.eq.s32 %p2, %r32, 0; + selp.f32 %f85, 0f00000000, 0f3F800000, %p2; + +BB0_2: + st.global.f32 [triAlpha], %f85; + cvt.s64.s32 %rd78, %r1; + mov.u64 %rd94, vertex_buffer; + cvta.global.u64 %rd59, %rd94; + mov.u32 %r44, 32; + // inline asm + call (%rd58), _rt_buffer_get_64, (%rd59, %r6, %r44, %rd78, %rd7, %rd7, %rd7); + // inline asm + ld.f32 %f47, [%rd58+20]; + ld.f32 %f48, [%rd58+16]; + ld.f32 %f49, [%rd58+12]; + cvt.s64.s32 %rd84, %r2; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd59, %r6, %r44, %rd84, %rd7, %rd7, %rd7); + // inline asm + ld.f32 %f50, [%rd64+20]; + ld.f32 %f51, [%rd64+16]; + ld.f32 %f52, [%rd64+12]; + cvt.s64.s32 %rd90, %r3; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd59, %r6, %r44, %rd90, %rd7, %rd7, %rd7); + // inline asm + mul.f32 %f53, %f15, %f52; + mul.f32 %f54, %f15, %f51; + mul.f32 %f55, %f15, %f50; + fma.rn.f32 %f56, %f3, %f49, %f53; + fma.rn.f32 %f57, %f3, %f48, %f54; + fma.rn.f32 %f58, %f3, %f47, %f55; + ld.f32 %f59, [%rd70+20]; + ld.f32 %f60, [%rd70+16]; + ld.f32 %f61, [%rd70+12]; + fma.rn.f32 %f62, %f16, %f61, %f56; + fma.rn.f32 %f63, %f16, %f60, %f57; + fma.rn.f32 %f64, %f16, %f59, %f58; + mul.f32 %f65, %f63, %f63; + fma.rn.f32 %f66, %f62, %f62, %f65; + fma.rn.f32 %f67, %f64, %f64, %f66; + sqrt.rn.f32 %f68, %f67; + rcp.rn.f32 %f69, %f68; + mul.f32 %f70, %f69, %f62; + mul.f32 %f71, %f69, %f63; + mul.f32 %f72, %f69, %f64; + st.global.f32 [normal], %f70; + st.global.f32 [normal+4], %f71; + st.global.f32 [normal+8], %f72; + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd59, %r6, %r44, %rd78, %rd7, %rd7, %rd7); + // inline asm + ld.v2.f32 {%f86, %f74}, [%rd76+24]; + // inline asm + call (%rd82), _rt_buffer_get_64, (%rd59, %r6, %r44, %rd84, %rd7, %rd7, %rd7); + // inline asm + ld.v2.f32 {%f75, %f76}, [%rd82+24]; + // inline asm + call (%rd88), _rt_buffer_get_64, (%rd59, %r6, %r44, %rd90, %rd7, %rd7, %rd7); + // inline asm + setp.lt.f32 %p3, %f74, 0f00000000; + @%p3 bra BB0_4; + bra.uni BB0_3; + +BB0_4: + add.f32 %f87, %f74, 0f3F800000; + bra.uni BB0_5; + +BB0_3: + ld.v2.f32 {%f77, %f78}, [%rd88+24]; + mul.f32 %f81, %f15, %f75; + mul.f32 %f82, %f15, %f76; + fma.rn.f32 %f83, %f3, %f86, %f81; + fma.rn.f32 %f84, %f3, %f74, %f82; + fma.rn.f32 %f86, %f16, %f77, %f83; + fma.rn.f32 %f87, %f16, %f78, %f84; + +BB0_5: + st.global.v2.f32 [texCoords], {%f86, %f87}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx.meta new file mode 100644 index 00000000..0bada72b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTex.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 855bb282e20f49b4cb68df002aea39ce +timeCreated: 1549654381 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTexLODselect.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTexLODselect.ptx new file mode 100644 index 00000000..584e7e68 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTexLODselect.ptx @@ -0,0 +1,341 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z11interpolatei +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .f32 triAlpha; +.global .align 1 .b8 vertex_buffer[1]; +.global .align 1 .b8 index_buffer[1]; +.global .align 4 .u32 firstAlphaTriangle; +.global .align 1 .b8 vertex_buffer_uv[1]; +.global .align 1 .b8 triangleAlphaIDs[1]; +.global .align 1 .b8 alphaTextures[1]; +.global .align 4 .b8 ray[36]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8triAlphaE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo18firstAlphaTriangleE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8triAlphaE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename18firstAlphaTriangleE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8triAlphaE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum18firstAlphaTriangleE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic8triAlphaE[19] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 114, 105, 65, 108, 112, 104, 97, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic18firstAlphaTriangleE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8triAlphaE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation18firstAlphaTriangleE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; + +.visible .entry _Z11interpolatei( + .param .u32 _Z11interpolatei_param_0 +) +{ + .reg .pred %p<3>; + .reg .f32 %f<134>; + .reg .b32 %r<51>; + .reg .b64 %rd<112>; + + + ld.param.u32 %r5, [_Z11interpolatei_param_0]; + // inline asm + call (%f6, %f7), _rt_get_triangle_barycentrics, (); + // inline asm + cvt.s64.s32 %rd3, %r5; + mov.u64 %rd7, index_buffer; + cvta.global.u64 %rd2, %rd7; + mov.u32 %r6, 1; + mov.u32 %r7, 12; + mov.u64 %rd6, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r6, %r7, %rd3, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %r1, [%rd1]; + ld.u32 %r2, [%rd1+4]; + ld.u32 %r3, [%rd1+8]; + ld.global.u32 %r4, [firstAlphaTriangle]; + setp.gt.s32 %p1, %r4, %r5; + mov.f32 %f133, 0f3F800000; + sub.f32 %f9, %f133, %f6; + sub.f32 %f3, %f9, %f7; + @%p1 bra BB0_2; + + cvt.s64.s32 %rd28, %r3; + sub.s32 %r26, %r5, %r4; + cvt.s64.s32 %rd10, %r26; + mov.u64 %rd53, triangleAlphaIDs; + cvta.global.u64 %rd9, %rd53; + mov.u32 %r22, 4; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd9, %r6, %r22, %rd10, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %rd54, [%rd8]; + cvt.u32.u64 %r27, %rd54; + shr.u32 %r28, %r27, 16; + cvt.s64.s32 %rd16, %r1; + mov.u64 %rd55, vertex_buffer_uv; + cvta.global.u64 %rd15, %rd55; + mov.u32 %r15, 8; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd15, %r6, %r15, %rd16, %rd6, %rd6, %rd6); + // inline asm + ld.v2.f32 {%f10, %f11}, [%rd14]; + cvt.s64.s32 %rd22, %r2; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd15, %r6, %r15, %rd22, %rd6, %rd6, %rd6); + // inline asm + ld.v2.f32 {%f14, %f15}, [%rd20]; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd15, %r6, %r15, %rd28, %rd6, %rd6, %rd6); + // inline asm + mul.f32 %f18, %f6, %f14; + mul.f32 %f19, %f6, %f15; + fma.rn.f32 %f20, %f3, %f10, %f18; + fma.rn.f32 %f21, %f3, %f11, %f19; + ld.v2.f32 {%f22, %f23}, [%rd26]; + fma.rn.f32 %f26, %f7, %f22, %f20; + fma.rn.f32 %f27, %f7, %f23, %f21; + abs.f32 %f28, %f26; + cvt.rmi.f32.f32 %f29, %f28; + sub.f32 %f30, %f28, %f29; + abs.f32 %f31, %f27; + cvt.rmi.f32.f32 %f32, %f31; + sub.f32 %f33, %f31, %f32; + and.b64 %rd34, %rd54, 65535; + mov.u64 %rd56, alphaTextures; + cvta.global.u64 %rd33, %rd56; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r6, %r22, %rd34, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %r18, [%rd32]; + mov.u32 %r24, 2; + // inline asm + call (%rd38, %rd39, %rd40, %rd41), _rt_buffer_get_id_size_64, (%r18, %r24, %r6); + // inline asm + cvt.rn.f32.u64 %f34, %rd38; + mul.f32 %f35, %f30, %f34; + cvt.rzi.u32.f32 %r29, %f35; + cvt.rn.f32.u64 %f36, %rd39; + mul.f32 %f37, %f33, %f36; + cvt.rzi.u32.f32 %r30, %f37; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd33, %r6, %r22, %rd34, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %r23, [%rd42]; + cvt.u64.u32 %rd49, %r29; + cvt.u64.u32 %rd50, %r30; + // inline asm + call (%rd48), _rt_buffer_get_id_64, (%r23, %r24, %r6, %rd49, %rd50, %rd6, %rd6); + // inline asm + ld.u8 %r31, [%rd48]; + and.b32 %r32, %r31, %r28; + setp.eq.s32 %p2, %r32, 0; + selp.f32 %f133, 0f00000000, 0f3F800000, %p2; + +BB0_2: + st.global.f32 [triAlpha], %f133; + cvt.s64.s32 %rd95, %r1; + mov.u64 %rd111, vertex_buffer; + cvta.global.u64 %rd58, %rd111; + mov.u32 %r50, 32; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd95, %rd6, %rd6, %rd6); + // inline asm + ld.f32 %f38, [%rd57+8]; + ld.v2.f32 {%f39, %f40}, [%rd57]; + cvt.s64.s32 %rd101, %r2; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd101, %rd6, %rd6, %rd6); + // inline asm + ld.f32 %f43, [%rd63+8]; + ld.v2.f32 {%f44, %f45}, [%rd63]; + cvt.s64.s32 %rd107, %r3; + // inline asm + call (%rd69), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd107, %rd6, %rd6, %rd6); + // inline asm + ld.f32 %f48, [%rd69+8]; + ld.v2.f32 {%f49, %f50}, [%rd69]; + // inline asm + call (%rd75), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd95, %rd6, %rd6, %rd6); + // inline asm + ld.f32 %f53, [%rd75+20]; + ld.f32 %f54, [%rd75+16]; + ld.f32 %f55, [%rd75+12]; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd101, %rd6, %rd6, %rd6); + // inline asm + ld.f32 %f56, [%rd81+20]; + ld.f32 %f57, [%rd81+16]; + ld.f32 %f58, [%rd81+12]; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd107, %rd6, %rd6, %rd6); + // inline asm + mul.f32 %f59, %f6, %f58; + mul.f32 %f60, %f6, %f57; + mul.f32 %f61, %f6, %f56; + fma.rn.f32 %f62, %f3, %f55, %f59; + fma.rn.f32 %f63, %f3, %f54, %f60; + fma.rn.f32 %f64, %f3, %f53, %f61; + ld.f32 %f65, [%rd87+20]; + ld.f32 %f66, [%rd87+16]; + ld.f32 %f67, [%rd87+12]; + fma.rn.f32 %f68, %f7, %f67, %f62; + fma.rn.f32 %f69, %f7, %f66, %f63; + fma.rn.f32 %f70, %f7, %f65, %f64; + mul.f32 %f71, %f69, %f69; + fma.rn.f32 %f72, %f68, %f68, %f71; + fma.rn.f32 %f73, %f70, %f70, %f72; + sqrt.rn.f32 %f74, %f73; + rcp.rn.f32 %f75, %f74; + mul.f32 %f76, %f75, %f68; + mul.f32 %f77, %f75, %f69; + mul.f32 %f78, %f75, %f70; + st.global.f32 [normal], %f76; + st.global.f32 [normal+4], %f77; + st.global.f32 [normal+8], %f78; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd95, %rd6, %rd6, %rd6); + // inline asm + ld.v2.f32 {%f79, %f80}, [%rd93+24]; + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd101, %rd6, %rd6, %rd6); + // inline asm + ld.v2.f32 {%f83, %f84}, [%rd99+24]; + // inline asm + call (%rd105), _rt_buffer_get_64, (%rd58, %r6, %r50, %rd107, %rd6, %rd6, %rd6); + // inline asm + ld.v2.f32 {%f87, %f88}, [%rd105+24]; + mul.f32 %f91, %f6, %f83; + fma.rn.f32 %f92, %f3, %f79, %f91; + sub.f32 %f93, %f44, %f39; + sub.f32 %f94, %f45, %f40; + sub.f32 %f95, %f43, %f38; + sub.f32 %f96, %f49, %f39; + sub.f32 %f97, %f50, %f40; + sub.f32 %f98, %f48, %f38; + mul.f32 %f99, %f94, %f98; + mul.f32 %f100, %f95, %f97; + sub.f32 %f101, %f99, %f100; + mul.f32 %f102, %f95, %f96; + mul.f32 %f103, %f93, %f98; + sub.f32 %f104, %f102, %f103; + mul.f32 %f105, %f93, %f97; + mul.f32 %f106, %f94, %f96; + sub.f32 %f107, %f105, %f106; + mul.f32 %f108, %f104, %f104; + fma.rn.f32 %f109, %f101, %f101, %f108; + fma.rn.f32 %f110, %f107, %f107, %f109; + sqrt.rn.f32 %f111, %f110; + mul.f32 %f112, %f111, 0f3F000000; + sub.f32 %f113, %f83, %f79; + sub.f32 %f114, %f84, %f80; + sub.f32 %f115, %f87, %f79; + sub.f32 %f116, %f88, %f80; + mul.f32 %f117, %f114, 0f00000000; + mul.f32 %f118, %f116, 0f00000000; + sub.f32 %f119, %f117, %f118; + mul.f32 %f120, %f115, 0f00000000; + mul.f32 %f121, %f113, 0f00000000; + sub.f32 %f122, %f120, %f121; + mul.f32 %f123, %f113, %f116; + mul.f32 %f124, %f114, %f115; + sub.f32 %f125, %f123, %f124; + mul.f32 %f126, %f122, %f122; + fma.rn.f32 %f127, %f119, %f119, %f126; + fma.rn.f32 %f128, %f125, %f125, %f127; + sqrt.rn.f32 %f129, %f128; + mul.f32 %f130, %f129, 0f3F000000; + div.rn.f32 %f131, %f112, %f130; + fma.rn.f32 %f132, %f7, %f87, %f92; + st.global.v2.f32 [texCoords], {%f132, %f131}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTexLODselect.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTexLODselect.ptx.meta new file mode 100644 index 00000000..d5bfc631 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/attrib_trimeshTexLODselect.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aac069d2f1ef4f54b99e859563c0b380 +timeCreated: 1552566788 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/clip_rtx.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/clip_rtx.ptx new file mode 100644 index 00000000..fb6e5033 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/clip_rtx.ptx @@ -0,0 +1,114 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .f32 triAlpha; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8triAlphaE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8triAlphaE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8triAlphaE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic8triAlphaE[19] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 114, 105, 65, 108, 112, 104, 97, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8triAlphaE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .f32 %f<2>; + + + ld.global.f32 %f1, [triAlpha]; + setp.neu.f32 %p1, %f1, 0f00000000; + @%p1 bra BB0_2; + + // inline asm + call _rt_ignore_intersection, (); + // inline asm + +BB0_2: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/clip_rtx.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/clip_rtx.ptx.meta new file mode 100644 index 00000000..b8c5bc6e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/clip_rtx.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 55fda1d6fc84d9e42838115c0ee88ec2 +timeCreated: 1549922863 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/combineMasks.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/combineMasks.exe new file mode 100644 index 00000000..3386fa2b Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/combineMasks.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/combineMasks.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/combineMasks.exe.meta new file mode 100644 index 00000000..c0623198 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/combineMasks.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5aaaa91ab09a47640a15dcc03d1d0fac +timeCreated: 1534844129 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cookieOutput.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cookieOutput.pso new file mode 100644 index 00000000..4351a32f Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cookieOutput.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cookieOutput.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cookieOutput.pso.meta new file mode 100644 index 00000000..d19d5a7a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cookieOutput.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dd0648d1aa6ef1846b294f90270347e7 +timeCreated: 1526155640 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart32_91.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart32_91.dll new file mode 100644 index 00000000..58bb9702 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart32_91.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart32_91.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart32_91.dll.meta new file mode 100644 index 00000000..a7067acf --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart32_91.dll.meta @@ -0,0 +1,115 @@ +fileFormatVersion: 2 +guid: 4e60d954644e0a145b35eea29aeba48a +timeCreated: 1526150503 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXIntel: 1 + Exclude OSXIntel64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_90.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_90.dll new file mode 100644 index 00000000..ea61794b Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_90.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_90.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_90.dll.meta new file mode 100644 index 00000000..ad528ee9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_90.dll.meta @@ -0,0 +1,115 @@ +fileFormatVersion: 2 +guid: dce443ff26676e84a942d0b78415b969 +timeCreated: 1526150504 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXIntel: 1 + Exclude OSXIntel64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_91.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_91.dll new file mode 100644 index 00000000..a7cad6c7 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_91.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_91.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_91.dll.meta new file mode 100644 index 00000000..b0ebd318 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudart64_91.dll.meta @@ -0,0 +1,115 @@ +fileFormatVersion: 2 +guid: 76bf0bd45bbd4f34598f7ce6ac52f5e9 +timeCreated: 1526150503 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXIntel: 1 + Exclude OSXIntel64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel64 + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: None + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudnn64_7.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudnn64_7.dll new file mode 100644 index 00000000..f7a23ada --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudnn64_7.dll @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:82c590e787b564e4a2064925569b17f565dbbaa558fc9ef3ab6b7bf879e4d236 +size 338200992 diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudnn64_7.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudnn64_7.dll.meta new file mode 100644 index 00000000..dc473632 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/cudnn64_7.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 4442e59a46322ab45ae831f1bd869c5c +timeCreated: 1526331884 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/d3dcompiler_47.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/d3dcompiler_47.dll new file mode 100644 index 00000000..356a777f Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/d3dcompiler_47.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/d3dcompiler_47.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/d3dcompiler_47.dll.meta new file mode 100644 index 00000000..eb47476b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/d3dcompiler_47.dll.meta @@ -0,0 +1,138 @@ +fileFormatVersion: 2 +guid: c17aba6c3878ffb4da8ecb9800b93d9e +timeCreated: 1526150504 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXIntel: 1 + Exclude OSXIntel64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + data: + first: + '': Editor + second: + enabled: 0 + settings: + CPU: AnyCPU + OS: AnyOS + data: + first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: x86 + data: + first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: x86_64 + data: + first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXIntel64 + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + iPhone: iOS + second: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/debugLines.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/debugLines.pso new file mode 100644 index 00000000..3198893e Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/debugLines.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/debugLines.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/debugLines.pso.meta new file mode 100644 index 00000000..36e3e924 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/debugLines.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c983cb8f06427e46be24df2114836d6 +timeCreated: 1580816320 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish.ptx new file mode 100644 index 00000000..0f73050a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish.ptx @@ -0,0 +1,1050 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 1 .b8 output_buffer[1]; +.global .align 1 .b8 image2[1]; +.global .align 4 .u32 mode; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4modeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename4modeE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4modeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic4modeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4modeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<105>; + .reg .b16 %rs<8>; + .reg .f32 %f<669>; + .reg .b32 %r<87>; + .reg .b64 %rd<35>; + + + ld.global.v2.u32 {%r3, %r4}, [pixelID]; + cvt.u64.u32 %rd3, %r3; + cvt.u64.u32 %rd4, %r4; + mov.u64 %rd7, output_buffer; + cvta.global.u64 %rd2, %rd7; + mov.u32 %r1, 2; + mov.u32 %r2, 16; + mov.u64 %rd6, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r1, %r2, %rd3, %rd4, %rd6, %rd6); + // inline asm + ld.v4.f32 {%f96, %f97, %f98, %f99}, [%rd1]; + ld.global.u32 %r7, [mode]; + setp.eq.s32 %p7, %r7, 1; + selp.f32 %f2, %f98, %f96, %p7; + selp.f32 %f3, %f96, %f98, %p7; + setp.eq.s32 %p8, %r7, 0; + mov.f32 %f102, 0f3F8CCCCD; + cvt.rzi.f32.f32 %f103, %f102; + fma.rn.f32 %f104, %f103, 0fC0000000, 0f400CCCCD; + abs.f32 %f4, %f104; + @%p8 bra BB0_35; + + ld.global.v2.u32 {%r14, %r15}, [pixelID]; + cvt.u64.u32 %rd10, %r14; + cvt.u64.u32 %rd11, %r15; + mov.u64 %rd26, image2; + cvta.global.u64 %rd9, %rd26; + mov.u32 %r13, 8; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd9, %r1, %r13, %rd10, %rd11, %rd6, %rd6); + // inline asm + ld.u16 %rs1, [%rd8]; + // inline asm + { cvt.f32.f16 %f105, %rs1;} + + // inline asm + ld.global.v2.u32 {%r18, %r19}, [pixelID]; + cvt.u64.u32 %rd16, %r18; + cvt.u64.u32 %rd17, %r19; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd9, %r1, %r13, %rd16, %rd17, %rd6, %rd6); + // inline asm + ld.u16 %rs2, [%rd14+2]; + // inline asm + { cvt.f32.f16 %f106, %rs2;} + + // inline asm + ld.global.v2.u32 {%r22, %r23}, [pixelID]; + cvt.u64.u32 %rd22, %r22; + cvt.u64.u32 %rd23, %r23; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd9, %r1, %r13, %rd22, %rd23, %rd6, %rd6); + // inline asm + ld.u16 %rs3, [%rd20+4]; + // inline asm + { cvt.f32.f16 %f107, %rs3;} + + // inline asm + mov.f32 %f110, 0f3F800000; + sub.f32 %f8, %f110, %f2; + abs.f32 %f9, %f8; + setp.lt.f32 %p9, %f9, 0f00800000; + mul.f32 %f111, %f9, 0f4B800000; + selp.f32 %f112, 0fC3170000, 0fC2FE0000, %p9; + selp.f32 %f113, %f111, %f9, %p9; + mov.b32 %r26, %f113; + and.b32 %r27, %r26, 8388607; + or.b32 %r28, %r27, 1065353216; + mov.b32 %f114, %r28; + shr.u32 %r29, %r26, 23; + cvt.rn.f32.u32 %f115, %r29; + add.f32 %f116, %f112, %f115; + setp.gt.f32 %p10, %f114, 0f3FB504F3; + mul.f32 %f117, %f114, 0f3F000000; + add.f32 %f118, %f116, 0f3F800000; + selp.f32 %f119, %f117, %f114, %p10; + selp.f32 %f120, %f118, %f116, %p10; + add.f32 %f121, %f119, 0fBF800000; + add.f32 %f109, %f119, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f108,%f109; + // inline asm + add.f32 %f122, %f121, %f121; + mul.f32 %f123, %f108, %f122; + mul.f32 %f124, %f123, %f123; + mov.f32 %f125, 0f3C4CAF63; + mov.f32 %f126, 0f3B18F0FE; + fma.rn.f32 %f127, %f126, %f124, %f125; + mov.f32 %f128, 0f3DAAAABD; + fma.rn.f32 %f129, %f127, %f124, %f128; + mul.rn.f32 %f130, %f129, %f124; + mul.rn.f32 %f131, %f130, %f123; + sub.f32 %f132, %f121, %f123; + neg.f32 %f133, %f123; + add.f32 %f134, %f132, %f132; + fma.rn.f32 %f135, %f133, %f121, %f134; + mul.rn.f32 %f136, %f108, %f135; + add.f32 %f137, %f131, %f123; + sub.f32 %f138, %f123, %f137; + add.f32 %f139, %f131, %f138; + add.f32 %f140, %f136, %f139; + add.f32 %f141, %f137, %f140; + sub.f32 %f142, %f137, %f141; + add.f32 %f143, %f140, %f142; + mov.f32 %f144, 0f3F317200; + mul.rn.f32 %f145, %f120, %f144; + mov.f32 %f146, 0f35BFBE8E; + mul.rn.f32 %f147, %f120, %f146; + add.f32 %f148, %f145, %f141; + sub.f32 %f149, %f145, %f148; + add.f32 %f150, %f141, %f149; + add.f32 %f151, %f143, %f150; + add.f32 %f152, %f147, %f151; + add.f32 %f153, %f148, %f152; + sub.f32 %f154, %f148, %f153; + add.f32 %f155, %f152, %f154; + mov.f32 %f156, 0f400CCCCD; + mul.rn.f32 %f157, %f156, %f153; + neg.f32 %f158, %f157; + fma.rn.f32 %f159, %f156, %f153, %f158; + fma.rn.f32 %f160, %f156, %f155, %f159; + mov.f32 %f161, 0f00000000; + fma.rn.f32 %f162, %f161, %f153, %f160; + add.rn.f32 %f163, %f157, %f162; + neg.f32 %f164, %f163; + add.rn.f32 %f165, %f157, %f164; + add.rn.f32 %f166, %f165, %f162; + mov.b32 %r30, %f163; + setp.eq.s32 %p11, %r30, 1118925336; + add.s32 %r31, %r30, -1; + mov.b32 %f167, %r31; + add.f32 %f168, %f166, 0f37000000; + selp.f32 %f169, %f167, %f163, %p11; + selp.f32 %f10, %f168, %f166, %p11; + mul.f32 %f170, %f169, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f171, %f170; + mov.f32 %f172, 0fBF317200; + fma.rn.f32 %f173, %f171, %f172, %f169; + mov.f32 %f174, 0fB5BFBE8E; + fma.rn.f32 %f175, %f171, %f174, %f173; + mul.f32 %f176, %f175, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f177, %f176; + add.f32 %f178, %f171, 0f00000000; + ex2.approx.f32 %f179, %f178; + mul.f32 %f180, %f177, %f179; + setp.lt.f32 %p12, %f169, 0fC2D20000; + selp.f32 %f181, 0f00000000, %f180, %p12; + setp.gt.f32 %p13, %f169, 0f42D20000; + selp.f32 %f648, 0f7F800000, %f181, %p13; + setp.eq.f32 %p14, %f648, 0f7F800000; + @%p14 bra BB0_3; + + fma.rn.f32 %f648, %f648, %f10, %f648; + +BB0_3: + setp.lt.f32 %p15, %f8, 0f00000000; + setp.eq.f32 %p16, %f4, 0f3F800000; + and.pred %p1, %p15, %p16; + mov.b32 %r32, %f648; + xor.b32 %r33, %r32, -2147483648; + mov.b32 %f182, %r33; + selp.f32 %f650, %f182, %f648, %p1; + setp.eq.f32 %p17, %f8, 0f00000000; + @%p17 bra BB0_6; + bra.uni BB0_4; + +BB0_6: + add.f32 %f185, %f8, %f8; + selp.f32 %f650, %f185, 0f00000000, %p16; + bra.uni BB0_7; + +BB0_35: + abs.f32 %f52, %f2; + setp.lt.f32 %p57, %f52, 0f00800000; + mul.f32 %f359, %f52, 0f4B800000; + selp.f32 %f360, 0fC3170000, 0fC2FE0000, %p57; + selp.f32 %f361, %f359, %f52, %p57; + mov.b32 %r53, %f361; + and.b32 %r54, %r53, 8388607; + or.b32 %r55, %r54, 1065353216; + mov.b32 %f362, %r55; + shr.u32 %r56, %r53, 23; + cvt.rn.f32.u32 %f363, %r56; + add.f32 %f364, %f360, %f363; + setp.gt.f32 %p58, %f362, 0f3FB504F3; + mul.f32 %f365, %f362, 0f3F000000; + add.f32 %f366, %f364, 0f3F800000; + selp.f32 %f367, %f365, %f362, %p58; + selp.f32 %f368, %f366, %f364, %p58; + add.f32 %f369, %f367, 0fBF800000; + add.f32 %f358, %f367, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f357,%f358; + // inline asm + add.f32 %f370, %f369, %f369; + mul.f32 %f371, %f357, %f370; + mul.f32 %f372, %f371, %f371; + mov.f32 %f373, 0f3C4CAF63; + mov.f32 %f374, 0f3B18F0FE; + fma.rn.f32 %f375, %f374, %f372, %f373; + mov.f32 %f376, 0f3DAAAABD; + fma.rn.f32 %f377, %f375, %f372, %f376; + mul.rn.f32 %f378, %f377, %f372; + mul.rn.f32 %f379, %f378, %f371; + sub.f32 %f380, %f369, %f371; + neg.f32 %f381, %f371; + add.f32 %f382, %f380, %f380; + fma.rn.f32 %f383, %f381, %f369, %f382; + mul.rn.f32 %f384, %f357, %f383; + add.f32 %f385, %f379, %f371; + sub.f32 %f386, %f371, %f385; + add.f32 %f387, %f379, %f386; + add.f32 %f388, %f384, %f387; + add.f32 %f389, %f385, %f388; + sub.f32 %f390, %f385, %f389; + add.f32 %f391, %f388, %f390; + mov.f32 %f392, 0f3F317200; + mul.rn.f32 %f393, %f368, %f392; + mov.f32 %f394, 0f35BFBE8E; + mul.rn.f32 %f395, %f368, %f394; + add.f32 %f396, %f393, %f389; + sub.f32 %f397, %f393, %f396; + add.f32 %f398, %f389, %f397; + add.f32 %f399, %f391, %f398; + add.f32 %f400, %f395, %f399; + add.f32 %f401, %f396, %f400; + sub.f32 %f402, %f396, %f401; + add.f32 %f403, %f400, %f402; + mov.f32 %f404, 0f400CCCCD; + mul.rn.f32 %f405, %f404, %f401; + neg.f32 %f406, %f405; + fma.rn.f32 %f407, %f404, %f401, %f406; + fma.rn.f32 %f408, %f404, %f403, %f407; + mov.f32 %f409, 0f00000000; + fma.rn.f32 %f410, %f409, %f401, %f408; + add.rn.f32 %f411, %f405, %f410; + neg.f32 %f412, %f411; + add.rn.f32 %f413, %f405, %f412; + add.rn.f32 %f414, %f413, %f410; + mov.b32 %r57, %f411; + setp.eq.s32 %p59, %r57, 1118925336; + add.s32 %r58, %r57, -1; + mov.b32 %f415, %r58; + add.f32 %f416, %f414, 0f37000000; + selp.f32 %f417, %f415, %f411, %p59; + selp.f32 %f53, %f416, %f414, %p59; + mul.f32 %f418, %f417, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f419, %f418; + mov.f32 %f420, 0fBF317200; + fma.rn.f32 %f421, %f419, %f420, %f417; + mov.f32 %f422, 0fB5BFBE8E; + fma.rn.f32 %f423, %f419, %f422, %f421; + mul.f32 %f424, %f423, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f425, %f424; + add.f32 %f426, %f419, 0f00000000; + ex2.approx.f32 %f427, %f426; + mul.f32 %f428, %f425, %f427; + setp.lt.f32 %p60, %f417, 0fC2D20000; + selp.f32 %f429, 0f00000000, %f428, %p60; + setp.gt.f32 %p61, %f417, 0f42D20000; + selp.f32 %f657, 0f7F800000, %f429, %p61; + setp.eq.f32 %p62, %f657, 0f7F800000; + @%p62 bra BB0_37; + + fma.rn.f32 %f657, %f657, %f53, %f657; + +BB0_37: + setp.lt.f32 %p63, %f2, 0f00000000; + setp.eq.f32 %p64, %f4, 0f3F800000; + and.pred %p4, %p63, %p64; + mov.b32 %r59, %f657; + xor.b32 %r60, %r59, -2147483648; + mov.b32 %f430, %r60; + selp.f32 %f659, %f430, %f657, %p4; + setp.eq.f32 %p65, %f2, 0f00000000; + @%p65 bra BB0_40; + bra.uni BB0_38; + +BB0_40: + add.f32 %f433, %f2, %f2; + selp.f32 %f659, %f433, 0f00000000, %p64; + bra.uni BB0_41; + +BB0_4: + setp.geu.f32 %p18, %f8, 0f00000000; + @%p18 bra BB0_7; + + mov.f32 %f630, 0f400CCCCD; + cvt.rzi.f32.f32 %f184, %f630; + setp.neu.f32 %p19, %f184, 0f400CCCCD; + selp.f32 %f650, 0f7FFFFFFF, %f650, %p19; + +BB0_7: + abs.f32 %f604, %f8; + add.f32 %f186, %f604, 0f400CCCCD; + mov.b32 %r34, %f186; + setp.lt.s32 %p21, %r34, 2139095040; + @%p21 bra BB0_12; + + abs.f32 %f628, %f8; + setp.gtu.f32 %p22, %f628, 0f7F800000; + @%p22 bra BB0_11; + bra.uni BB0_9; + +BB0_11: + add.f32 %f650, %f8, 0f400CCCCD; + bra.uni BB0_12; + +BB0_9: + abs.f32 %f629, %f8; + setp.neu.f32 %p23, %f629, 0f7F800000; + @%p23 bra BB0_12; + + selp.f32 %f650, 0fFF800000, 0f7F800000, %p1; + +BB0_12: + mov.f32 %f614, 0fB5BFBE8E; + mov.f32 %f613, 0fBF317200; + mov.f32 %f612, 0f00000000; + mov.f32 %f611, 0f35BFBE8E; + mov.f32 %f610, 0f3F317200; + mov.f32 %f609, 0f3DAAAABD; + mov.f32 %f608, 0f3C4CAF63; + mov.f32 %f607, 0f3B18F0FE; + mov.f32 %f606, 0f3F800000; + mov.f32 %f605, 0f400CCCCD; + setp.eq.f32 %p24, %f8, 0f3F800000; + selp.f32 %f189, 0f3F800000, %f650, %p24; + cvt.sat.f32.f32 %f21, %f189; + sub.f32 %f22, %f606, %f97; + abs.f32 %f23, %f22; + setp.lt.f32 %p25, %f23, 0f00800000; + mul.f32 %f191, %f23, 0f4B800000; + selp.f32 %f192, 0fC3170000, 0fC2FE0000, %p25; + selp.f32 %f193, %f191, %f23, %p25; + mov.b32 %r35, %f193; + and.b32 %r36, %r35, 8388607; + or.b32 %r37, %r36, 1065353216; + mov.b32 %f194, %r37; + shr.u32 %r38, %r35, 23; + cvt.rn.f32.u32 %f195, %r38; + add.f32 %f196, %f192, %f195; + setp.gt.f32 %p26, %f194, 0f3FB504F3; + mul.f32 %f197, %f194, 0f3F000000; + add.f32 %f198, %f196, 0f3F800000; + selp.f32 %f199, %f197, %f194, %p26; + selp.f32 %f200, %f198, %f196, %p26; + add.f32 %f201, %f199, 0fBF800000; + add.f32 %f188, %f199, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f187,%f188; + // inline asm + add.f32 %f202, %f201, %f201; + mul.f32 %f203, %f187, %f202; + mul.f32 %f204, %f203, %f203; + fma.rn.f32 %f207, %f607, %f204, %f608; + fma.rn.f32 %f209, %f207, %f204, %f609; + mul.rn.f32 %f210, %f209, %f204; + mul.rn.f32 %f211, %f210, %f203; + sub.f32 %f212, %f201, %f203; + neg.f32 %f213, %f203; + add.f32 %f214, %f212, %f212; + fma.rn.f32 %f215, %f213, %f201, %f214; + mul.rn.f32 %f216, %f187, %f215; + add.f32 %f217, %f211, %f203; + sub.f32 %f218, %f203, %f217; + add.f32 %f219, %f211, %f218; + add.f32 %f220, %f216, %f219; + add.f32 %f221, %f217, %f220; + sub.f32 %f222, %f217, %f221; + add.f32 %f223, %f220, %f222; + mul.rn.f32 %f225, %f200, %f610; + mul.rn.f32 %f227, %f200, %f611; + add.f32 %f228, %f225, %f221; + sub.f32 %f229, %f225, %f228; + add.f32 %f230, %f221, %f229; + add.f32 %f231, %f223, %f230; + add.f32 %f232, %f227, %f231; + add.f32 %f233, %f228, %f232; + sub.f32 %f234, %f228, %f233; + add.f32 %f235, %f232, %f234; + mul.rn.f32 %f237, %f605, %f233; + neg.f32 %f238, %f237; + fma.rn.f32 %f239, %f605, %f233, %f238; + fma.rn.f32 %f240, %f605, %f235, %f239; + fma.rn.f32 %f242, %f612, %f233, %f240; + add.rn.f32 %f243, %f237, %f242; + neg.f32 %f244, %f243; + add.rn.f32 %f245, %f237, %f244; + add.rn.f32 %f246, %f245, %f242; + mov.b32 %r39, %f243; + setp.eq.s32 %p27, %r39, 1118925336; + add.s32 %r40, %r39, -1; + mov.b32 %f247, %r40; + add.f32 %f248, %f246, 0f37000000; + selp.f32 %f249, %f247, %f243, %p27; + selp.f32 %f24, %f248, %f246, %p27; + mul.f32 %f250, %f249, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f251, %f250; + fma.rn.f32 %f253, %f251, %f613, %f249; + fma.rn.f32 %f255, %f251, %f614, %f253; + mul.f32 %f256, %f255, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f257, %f256; + add.f32 %f258, %f251, 0f00000000; + ex2.approx.f32 %f259, %f258; + mul.f32 %f260, %f257, %f259; + setp.lt.f32 %p28, %f249, 0fC2D20000; + selp.f32 %f261, 0f00000000, %f260, %p28; + setp.gt.f32 %p29, %f249, 0f42D20000; + selp.f32 %f651, 0f7F800000, %f261, %p29; + setp.eq.f32 %p30, %f651, 0f7F800000; + @%p30 bra BB0_14; + + fma.rn.f32 %f651, %f651, %f24, %f651; + +BB0_14: + setp.lt.f32 %p31, %f22, 0f00000000; + and.pred %p2, %p31, %p16; + mov.b32 %r41, %f651; + xor.b32 %r42, %r41, -2147483648; + mov.b32 %f262, %r42; + selp.f32 %f653, %f262, %f651, %p2; + setp.eq.f32 %p33, %f22, 0f00000000; + @%p33 bra BB0_17; + bra.uni BB0_15; + +BB0_17: + add.f32 %f265, %f22, %f22; + selp.f32 %f653, %f265, 0f00000000, %p16; + bra.uni BB0_18; + +BB0_15: + setp.geu.f32 %p34, %f22, 0f00000000; + @%p34 bra BB0_18; + + mov.f32 %f627, 0f400CCCCD; + cvt.rzi.f32.f32 %f264, %f627; + setp.neu.f32 %p35, %f264, 0f400CCCCD; + selp.f32 %f653, 0f7FFFFFFF, %f653, %p35; + +BB0_18: + add.f32 %f266, %f23, 0f400CCCCD; + mov.b32 %r43, %f266; + setp.lt.s32 %p37, %r43, 2139095040; + @%p37 bra BB0_23; + + setp.gtu.f32 %p38, %f23, 0f7F800000; + @%p38 bra BB0_22; + bra.uni BB0_20; + +BB0_22: + add.f32 %f653, %f22, 0f400CCCCD; + bra.uni BB0_23; + +BB0_20: + setp.neu.f32 %p39, %f23, 0f7F800000; + @%p39 bra BB0_23; + + selp.f32 %f653, 0fFF800000, 0f7F800000, %p2; + +BB0_23: + mov.f32 %f624, 0fB5BFBE8E; + mov.f32 %f623, 0fBF317200; + mov.f32 %f622, 0f00000000; + mov.f32 %f621, 0f35BFBE8E; + mov.f32 %f620, 0f3F317200; + mov.f32 %f619, 0f3DAAAABD; + mov.f32 %f618, 0f3C4CAF63; + mov.f32 %f617, 0f3B18F0FE; + mov.f32 %f616, 0f3F800000; + mov.f32 %f615, 0f400CCCCD; + setp.eq.f32 %p40, %f22, 0f3F800000; + selp.f32 %f269, 0f3F800000, %f653, %p40; + cvt.sat.f32.f32 %f35, %f269; + sub.f32 %f36, %f616, %f3; + abs.f32 %f37, %f36; + setp.lt.f32 %p41, %f37, 0f00800000; + mul.f32 %f271, %f37, 0f4B800000; + selp.f32 %f272, 0fC3170000, 0fC2FE0000, %p41; + selp.f32 %f273, %f271, %f37, %p41; + mov.b32 %r44, %f273; + and.b32 %r45, %r44, 8388607; + or.b32 %r46, %r45, 1065353216; + mov.b32 %f274, %r46; + shr.u32 %r47, %r44, 23; + cvt.rn.f32.u32 %f275, %r47; + add.f32 %f276, %f272, %f275; + setp.gt.f32 %p42, %f274, 0f3FB504F3; + mul.f32 %f277, %f274, 0f3F000000; + add.f32 %f278, %f276, 0f3F800000; + selp.f32 %f279, %f277, %f274, %p42; + selp.f32 %f280, %f278, %f276, %p42; + add.f32 %f281, %f279, 0fBF800000; + add.f32 %f268, %f279, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f267,%f268; + // inline asm + add.f32 %f282, %f281, %f281; + mul.f32 %f283, %f267, %f282; + mul.f32 %f284, %f283, %f283; + fma.rn.f32 %f287, %f617, %f284, %f618; + fma.rn.f32 %f289, %f287, %f284, %f619; + mul.rn.f32 %f290, %f289, %f284; + mul.rn.f32 %f291, %f290, %f283; + sub.f32 %f292, %f281, %f283; + neg.f32 %f293, %f283; + add.f32 %f294, %f292, %f292; + fma.rn.f32 %f295, %f293, %f281, %f294; + mul.rn.f32 %f296, %f267, %f295; + add.f32 %f297, %f291, %f283; + sub.f32 %f298, %f283, %f297; + add.f32 %f299, %f291, %f298; + add.f32 %f300, %f296, %f299; + add.f32 %f301, %f297, %f300; + sub.f32 %f302, %f297, %f301; + add.f32 %f303, %f300, %f302; + mul.rn.f32 %f305, %f280, %f620; + mul.rn.f32 %f307, %f280, %f621; + add.f32 %f308, %f305, %f301; + sub.f32 %f309, %f305, %f308; + add.f32 %f310, %f301, %f309; + add.f32 %f311, %f303, %f310; + add.f32 %f312, %f307, %f311; + add.f32 %f313, %f308, %f312; + sub.f32 %f314, %f308, %f313; + add.f32 %f315, %f312, %f314; + mul.rn.f32 %f317, %f615, %f313; + neg.f32 %f318, %f317; + fma.rn.f32 %f319, %f615, %f313, %f318; + fma.rn.f32 %f320, %f615, %f315, %f319; + fma.rn.f32 %f322, %f622, %f313, %f320; + add.rn.f32 %f323, %f317, %f322; + neg.f32 %f324, %f323; + add.rn.f32 %f325, %f317, %f324; + add.rn.f32 %f326, %f325, %f322; + mov.b32 %r48, %f323; + setp.eq.s32 %p43, %r48, 1118925336; + add.s32 %r49, %r48, -1; + mov.b32 %f327, %r49; + add.f32 %f328, %f326, 0f37000000; + selp.f32 %f329, %f327, %f323, %p43; + selp.f32 %f38, %f328, %f326, %p43; + mul.f32 %f330, %f329, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f331, %f330; + fma.rn.f32 %f333, %f331, %f623, %f329; + fma.rn.f32 %f335, %f331, %f624, %f333; + mul.f32 %f336, %f335, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f337, %f336; + add.f32 %f338, %f331, 0f00000000; + ex2.approx.f32 %f339, %f338; + mul.f32 %f340, %f337, %f339; + setp.lt.f32 %p44, %f329, 0fC2D20000; + selp.f32 %f341, 0f00000000, %f340, %p44; + setp.gt.f32 %p45, %f329, 0f42D20000; + selp.f32 %f654, 0f7F800000, %f341, %p45; + setp.eq.f32 %p46, %f654, 0f7F800000; + @%p46 bra BB0_25; + + fma.rn.f32 %f654, %f654, %f38, %f654; + +BB0_25: + setp.lt.f32 %p47, %f36, 0f00000000; + and.pred %p3, %p47, %p16; + mov.b32 %r50, %f654; + xor.b32 %r51, %r50, -2147483648; + mov.b32 %f342, %r51; + selp.f32 %f656, %f342, %f654, %p3; + setp.eq.f32 %p49, %f36, 0f00000000; + @%p49 bra BB0_28; + bra.uni BB0_26; + +BB0_28: + add.f32 %f345, %f36, %f36; + selp.f32 %f656, %f345, 0f00000000, %p16; + bra.uni BB0_29; + +BB0_26: + setp.geu.f32 %p50, %f36, 0f00000000; + @%p50 bra BB0_29; + + mov.f32 %f626, 0f400CCCCD; + cvt.rzi.f32.f32 %f344, %f626; + setp.neu.f32 %p51, %f344, 0f400CCCCD; + selp.f32 %f656, 0f7FFFFFFF, %f656, %p51; + +BB0_29: + abs.f32 %f631, %f36; + add.f32 %f346, %f631, 0f400CCCCD; + mov.b32 %r52, %f346; + setp.lt.s32 %p53, %r52, 2139095040; + @%p53 bra BB0_34; + + abs.f32 %f632, %f36; + setp.gtu.f32 %p54, %f632, 0f7F800000; + @%p54 bra BB0_33; + bra.uni BB0_31; + +BB0_33: + add.f32 %f656, %f36, 0f400CCCCD; + bra.uni BB0_34; + +BB0_31: + abs.f32 %f633, %f36; + setp.neu.f32 %p55, %f633, 0f7F800000; + @%p55 bra BB0_34; + + selp.f32 %f656, 0fFF800000, 0f7F800000, %p3; + +BB0_34: + mov.f32 %f625, 0f3F800000; + setp.eq.f32 %p56, %f36, 0f3F800000; + selp.f32 %f347, 0f3F800000, %f656, %p56; + cvt.sat.f32.f32 %f348, %f347; + max.f32 %f349, %f21, %f35; + max.f32 %f350, %f349, %f348; + sub.f32 %f352, %f625, %f350; + rcp.rn.f32 %f353, %f352; + mul.f32 %f354, %f21, %f353; + mul.f32 %f355, %f35, %f353; + mul.f32 %f356, %f348, %f353; + min.f32 %f666, %f354, %f105; + min.f32 %f667, %f355, %f106; + min.f32 %f668, %f356, %f107; + bra.uni BB0_69; + +BB0_38: + setp.geu.f32 %p66, %f2, 0f00000000; + @%p66 bra BB0_41; + + cvt.rzi.f32.f32 %f432, %f404; + setp.neu.f32 %p67, %f432, 0f400CCCCD; + selp.f32 %f659, 0f7FFFFFFF, %f659, %p67; + +BB0_41: + add.f32 %f434, %f52, 0f400CCCCD; + mov.b32 %r61, %f434; + setp.lt.s32 %p69, %r61, 2139095040; + @%p69 bra BB0_46; + + setp.gtu.f32 %p70, %f52, 0f7F800000; + @%p70 bra BB0_45; + bra.uni BB0_43; + +BB0_45: + add.f32 %f659, %f2, 0f400CCCCD; + bra.uni BB0_46; + +BB0_43: + setp.neu.f32 %p71, %f52, 0f7F800000; + @%p71 bra BB0_46; + + selp.f32 %f659, 0fFF800000, 0f7F800000, %p4; + +BB0_46: + mov.f32 %f640, 0fBF317200; + mov.f32 %f639, 0f00000000; + mov.f32 %f638, 0f35BFBE8E; + mov.f32 %f637, 0f3F317200; + mov.f32 %f636, 0f3DAAAABD; + mov.f32 %f635, 0f3C4CAF63; + mov.f32 %f634, 0f3B18F0FE; + setp.eq.f32 %p72, %f2, 0f3F800000; + selp.f32 %f437, 0f3F800000, %f659, %p72; + cvt.sat.f32.f32 %f64, %f437; + abs.f32 %f65, %f97; + setp.lt.f32 %p73, %f65, 0f00800000; + mul.f32 %f438, %f65, 0f4B800000; + selp.f32 %f439, 0fC3170000, 0fC2FE0000, %p73; + selp.f32 %f440, %f438, %f65, %p73; + mov.b32 %r62, %f440; + and.b32 %r63, %r62, 8388607; + or.b32 %r64, %r63, 1065353216; + mov.b32 %f441, %r64; + shr.u32 %r65, %r62, 23; + cvt.rn.f32.u32 %f442, %r65; + add.f32 %f443, %f439, %f442; + setp.gt.f32 %p74, %f441, 0f3FB504F3; + mul.f32 %f444, %f441, 0f3F000000; + add.f32 %f445, %f443, 0f3F800000; + selp.f32 %f446, %f444, %f441, %p74; + selp.f32 %f447, %f445, %f443, %p74; + add.f32 %f448, %f446, 0fBF800000; + add.f32 %f436, %f446, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f435,%f436; + // inline asm + add.f32 %f449, %f448, %f448; + mul.f32 %f450, %f435, %f449; + mul.f32 %f451, %f450, %f450; + fma.rn.f32 %f454, %f634, %f451, %f635; + fma.rn.f32 %f456, %f454, %f451, %f636; + mul.rn.f32 %f457, %f456, %f451; + mul.rn.f32 %f458, %f457, %f450; + sub.f32 %f459, %f448, %f450; + neg.f32 %f460, %f450; + add.f32 %f461, %f459, %f459; + fma.rn.f32 %f462, %f460, %f448, %f461; + mul.rn.f32 %f463, %f435, %f462; + add.f32 %f464, %f458, %f450; + sub.f32 %f465, %f450, %f464; + add.f32 %f466, %f458, %f465; + add.f32 %f467, %f463, %f466; + add.f32 %f468, %f464, %f467; + sub.f32 %f469, %f464, %f468; + add.f32 %f470, %f467, %f469; + mul.rn.f32 %f472, %f447, %f637; + mul.rn.f32 %f474, %f447, %f638; + add.f32 %f475, %f472, %f468; + sub.f32 %f476, %f472, %f475; + add.f32 %f477, %f468, %f476; + add.f32 %f478, %f470, %f477; + add.f32 %f479, %f474, %f478; + add.f32 %f480, %f475, %f479; + sub.f32 %f481, %f475, %f480; + add.f32 %f482, %f479, %f481; + mul.rn.f32 %f484, %f404, %f480; + neg.f32 %f485, %f484; + fma.rn.f32 %f486, %f404, %f480, %f485; + fma.rn.f32 %f487, %f404, %f482, %f486; + fma.rn.f32 %f489, %f639, %f480, %f487; + add.rn.f32 %f490, %f484, %f489; + neg.f32 %f491, %f490; + add.rn.f32 %f492, %f484, %f491; + add.rn.f32 %f493, %f492, %f489; + mov.b32 %r66, %f490; + setp.eq.s32 %p75, %r66, 1118925336; + add.s32 %r67, %r66, -1; + mov.b32 %f494, %r67; + add.f32 %f495, %f493, 0f37000000; + selp.f32 %f496, %f494, %f490, %p75; + selp.f32 %f66, %f495, %f493, %p75; + mul.f32 %f497, %f496, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f498, %f497; + fma.rn.f32 %f500, %f498, %f640, %f496; + fma.rn.f32 %f502, %f498, %f422, %f500; + mul.f32 %f503, %f502, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f504, %f503; + add.f32 %f505, %f498, 0f00000000; + ex2.approx.f32 %f506, %f505; + mul.f32 %f507, %f504, %f506; + setp.lt.f32 %p76, %f496, 0fC2D20000; + selp.f32 %f508, 0f00000000, %f507, %p76; + setp.gt.f32 %p77, %f496, 0f42D20000; + selp.f32 %f660, 0f7F800000, %f508, %p77; + setp.eq.f32 %p78, %f660, 0f7F800000; + @%p78 bra BB0_48; + + fma.rn.f32 %f660, %f660, %f66, %f660; + +BB0_48: + setp.lt.f32 %p79, %f97, 0f00000000; + and.pred %p5, %p79, %p64; + mov.b32 %r68, %f660; + xor.b32 %r69, %r68, -2147483648; + mov.b32 %f509, %r69; + selp.f32 %f662, %f509, %f660, %p5; + setp.eq.f32 %p81, %f97, 0f00000000; + @%p81 bra BB0_51; + bra.uni BB0_49; + +BB0_51: + add.f32 %f512, %f97, %f97; + selp.f32 %f662, %f512, 0f00000000, %p64; + bra.uni BB0_52; + +BB0_49: + setp.geu.f32 %p82, %f97, 0f00000000; + @%p82 bra BB0_52; + + cvt.rzi.f32.f32 %f511, %f404; + setp.neu.f32 %p83, %f511, 0f400CCCCD; + selp.f32 %f662, 0f7FFFFFFF, %f662, %p83; + +BB0_52: + add.f32 %f513, %f65, 0f400CCCCD; + mov.b32 %r70, %f513; + setp.lt.s32 %p85, %r70, 2139095040; + @%p85 bra BB0_57; + + setp.gtu.f32 %p86, %f65, 0f7F800000; + @%p86 bra BB0_56; + bra.uni BB0_54; + +BB0_56: + add.f32 %f662, %f97, 0f400CCCCD; + bra.uni BB0_57; + +BB0_54: + setp.neu.f32 %p87, %f65, 0f7F800000; + @%p87 bra BB0_57; + + selp.f32 %f662, 0fFF800000, 0f7F800000, %p5; + +BB0_57: + mov.f32 %f647, 0fBF317200; + mov.f32 %f646, 0f00000000; + mov.f32 %f645, 0f35BFBE8E; + mov.f32 %f644, 0f3F317200; + mov.f32 %f643, 0f3DAAAABD; + mov.f32 %f642, 0f3C4CAF63; + mov.f32 %f641, 0f3B18F0FE; + setp.eq.f32 %p88, %f97, 0f3F800000; + selp.f32 %f516, 0f3F800000, %f662, %p88; + cvt.sat.f32.f32 %f77, %f516; + abs.f32 %f78, %f3; + setp.lt.f32 %p89, %f78, 0f00800000; + mul.f32 %f517, %f78, 0f4B800000; + selp.f32 %f518, 0fC3170000, 0fC2FE0000, %p89; + selp.f32 %f519, %f517, %f78, %p89; + mov.b32 %r71, %f519; + and.b32 %r72, %r71, 8388607; + or.b32 %r73, %r72, 1065353216; + mov.b32 %f520, %r73; + shr.u32 %r74, %r71, 23; + cvt.rn.f32.u32 %f521, %r74; + add.f32 %f522, %f518, %f521; + setp.gt.f32 %p90, %f520, 0f3FB504F3; + mul.f32 %f523, %f520, 0f3F000000; + add.f32 %f524, %f522, 0f3F800000; + selp.f32 %f525, %f523, %f520, %p90; + selp.f32 %f526, %f524, %f522, %p90; + add.f32 %f527, %f525, 0fBF800000; + add.f32 %f515, %f525, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f514,%f515; + // inline asm + add.f32 %f528, %f527, %f527; + mul.f32 %f529, %f514, %f528; + mul.f32 %f530, %f529, %f529; + fma.rn.f32 %f533, %f641, %f530, %f642; + fma.rn.f32 %f535, %f533, %f530, %f643; + mul.rn.f32 %f536, %f535, %f530; + mul.rn.f32 %f537, %f536, %f529; + sub.f32 %f538, %f527, %f529; + neg.f32 %f539, %f529; + add.f32 %f540, %f538, %f538; + fma.rn.f32 %f541, %f539, %f527, %f540; + mul.rn.f32 %f542, %f514, %f541; + add.f32 %f543, %f537, %f529; + sub.f32 %f544, %f529, %f543; + add.f32 %f545, %f537, %f544; + add.f32 %f546, %f542, %f545; + add.f32 %f547, %f543, %f546; + sub.f32 %f548, %f543, %f547; + add.f32 %f549, %f546, %f548; + mul.rn.f32 %f551, %f526, %f644; + mul.rn.f32 %f553, %f526, %f645; + add.f32 %f554, %f551, %f547; + sub.f32 %f555, %f551, %f554; + add.f32 %f556, %f547, %f555; + add.f32 %f557, %f549, %f556; + add.f32 %f558, %f553, %f557; + add.f32 %f559, %f554, %f558; + sub.f32 %f560, %f554, %f559; + add.f32 %f561, %f558, %f560; + mul.rn.f32 %f563, %f404, %f559; + neg.f32 %f564, %f563; + fma.rn.f32 %f565, %f404, %f559, %f564; + fma.rn.f32 %f566, %f404, %f561, %f565; + fma.rn.f32 %f568, %f646, %f559, %f566; + add.rn.f32 %f569, %f563, %f568; + neg.f32 %f570, %f569; + add.rn.f32 %f571, %f563, %f570; + add.rn.f32 %f572, %f571, %f568; + mov.b32 %r75, %f569; + setp.eq.s32 %p91, %r75, 1118925336; + add.s32 %r76, %r75, -1; + mov.b32 %f573, %r76; + add.f32 %f574, %f572, 0f37000000; + selp.f32 %f575, %f573, %f569, %p91; + selp.f32 %f79, %f574, %f572, %p91; + mul.f32 %f576, %f575, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f577, %f576; + fma.rn.f32 %f579, %f577, %f647, %f575; + fma.rn.f32 %f581, %f577, %f422, %f579; + mul.f32 %f582, %f581, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f583, %f582; + add.f32 %f584, %f577, 0f00000000; + ex2.approx.f32 %f585, %f584; + mul.f32 %f586, %f583, %f585; + setp.lt.f32 %p92, %f575, 0fC2D20000; + selp.f32 %f587, 0f00000000, %f586, %p92; + setp.gt.f32 %p93, %f575, 0f42D20000; + selp.f32 %f663, 0f7F800000, %f587, %p93; + setp.eq.f32 %p94, %f663, 0f7F800000; + @%p94 bra BB0_59; + + fma.rn.f32 %f663, %f663, %f79, %f663; + +BB0_59: + setp.lt.f32 %p95, %f3, 0f00000000; + and.pred %p6, %p95, %p64; + mov.b32 %r77, %f663; + xor.b32 %r78, %r77, -2147483648; + mov.b32 %f588, %r78; + selp.f32 %f665, %f588, %f663, %p6; + setp.eq.f32 %p97, %f3, 0f00000000; + @%p97 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f591, %f3, %f3; + selp.f32 %f665, %f591, 0f00000000, %p64; + bra.uni BB0_63; + +BB0_60: + setp.geu.f32 %p98, %f3, 0f00000000; + @%p98 bra BB0_63; + + cvt.rzi.f32.f32 %f590, %f404; + setp.neu.f32 %p99, %f590, 0f400CCCCD; + selp.f32 %f665, 0f7FFFFFFF, %f665, %p99; + +BB0_63: + add.f32 %f592, %f78, 0f400CCCCD; + mov.b32 %r79, %f592; + setp.lt.s32 %p101, %r79, 2139095040; + @%p101 bra BB0_68; + + setp.gtu.f32 %p102, %f78, 0f7F800000; + @%p102 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f665, %f3, 0f400CCCCD; + bra.uni BB0_68; + +BB0_65: + setp.neu.f32 %p103, %f78, 0f7F800000; + @%p103 bra BB0_68; + + selp.f32 %f665, 0fFF800000, 0f7F800000, %p6; + +BB0_68: + setp.eq.f32 %p104, %f3, 0f3F800000; + selp.f32 %f593, 0f3F800000, %f665, %p104; + cvt.sat.f32.f32 %f594, %f593; + max.f32 %f595, %f64, %f77; + max.f32 %f596, %f595, %f594; + mov.f32 %f597, 0f3F800000; + sub.f32 %f598, %f597, %f596; + rcp.rn.f32 %f599, %f598; + mul.f32 %f666, %f64, %f599; + mul.f32 %f667, %f77, %f599; + mul.f32 %f668, %f594, %f599; + +BB0_69: + mov.u64 %rd34, 0; + mov.u32 %r86, 2; + ld.global.v2.u32 {%r82, %r83}, [pixelID]; + cvt.u64.u32 %rd29, %r82; + cvt.u64.u32 %rd30, %r83; + mov.u64 %rd33, image2; + cvta.global.u64 %rd28, %rd33; + mov.u32 %r81, 8; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r86, %r81, %rd29, %rd30, %rd34, %rd34); + // inline asm + mov.f32 %f603, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs7, %f603;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs6, %f668;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs5, %f667;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs4, %f666;} + + // inline asm + st.v4.u16 [%rd27], {%rs4, %rs5, %rs6, %rs7}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish.ptx.meta new file mode 100644 index 00000000..136b2e08 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bbbbce75a9e818f4ea65df709d80bc4c +timeCreated: 1526332011 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish72.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish72.ptx new file mode 100644 index 00000000..b9ca48eb --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish72.ptx @@ -0,0 +1,93 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl __raygen__oxMain +.const .align 8 .b8 cs[32]; + +.visible .entry __raygen__oxMain( + +) +{ + .reg .pred %p<3>; + .reg .b16 %rs<12>; + .reg .f32 %f<26>; + .reg .b32 %r<9>; + .reg .b64 %rd<13>; + + + // inline asm + call (%r1), _optix_get_launch_index_x, (); + // inline asm + // inline asm + call (%r2), _optix_get_launch_index_y, (); + // inline asm + ld.const.u64 %rd3, [cs+8]; + cvta.to.global.u64 %rd4, %rd3; + ld.const.v2.u32 {%r4, %r5}, [cs+24]; + mad.lo.s32 %r7, %r4, %r2, %r1; + cvt.u64.u32 %rd1, %r7; + mul.wide.u32 %rd5, %r7, 16; + add.s64 %rd6, %rd4, %rd5; + ld.global.v4.f32 {%f10, %f24, %f12, %f13}, [%rd6]; + setp.eq.s32 %p1, %r5, 1; + selp.f32 %f23, %f12, %f10, %p1; + selp.f32 %f25, %f10, %f12, %p1; + setp.eq.s32 %p2, %r5, 0; + ld.const.u64 %rd2, [cs]; + @%p2 bra BB0_2; + + cvta.to.global.u64 %rd7, %rd2; + shl.b64 %rd8, %rd1, 3; + add.s64 %rd9, %rd7, %rd8; + ld.global.v4.u16 {%rs4, %rs5, %rs6, %rs7}, [%rd9]; + // inline asm + { cvt.f32.f16 %f16, %rs4;} + + // inline asm + // inline asm + { cvt.f32.f16 %f17, %rs5;} + + // inline asm + // inline asm + { cvt.f32.f16 %f18, %rs6;} + + // inline asm + min.f32 %f23, %f23, %f16; + min.f32 %f24, %f24, %f17; + min.f32 %f25, %f25, %f18; + +BB0_2: + cvta.to.global.u64 %rd10, %rd2; + shl.b64 %rd11, %rd1, 3; + add.s64 %rd12, %rd10, %rd11; + mov.f32 %f22, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs11, %f22;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs10, %f25;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs9, %f24;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs8, %f23;} + + // inline asm + st.global.v4.u16 [%rd12], {%rs8, %rs9, %rs10, %rs11}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish72.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish72.ptx.meta new file mode 100644 index 00000000..f151aac8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinish72.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 09ae1bcf43095f94eadb21257b0ccff0 +timeCreated: 1605208943 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx new file mode 100644 index 00000000..69fed3fe --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx @@ -0,0 +1,107 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 1 .b8 output_buffer[1]; +.global .align 1 .b8 image2[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b16 %rs<5>; + .reg .f32 %f<5>; + .reg .b32 %r<13>; + .reg .b64 %rd<15>; + + + ld.global.v2.u32 {%r5, %r6}, [pixelID]; + cvt.u64.u32 %rd3, %r5; + cvt.u64.u32 %rd4, %r6; + mov.u64 %rd13, output_buffer; + cvta.global.u64 %rd2, %rd13; + mov.u32 %r3, 2; + mov.u32 %r2, 12; + mov.u64 %rd12, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r3, %r2, %rd3, %rd4, %rd12, %rd12); + // inline asm + ld.f32 %f1, [%rd1]; + ld.f32 %f2, [%rd1+4]; + ld.f32 %f3, [%rd1+8]; + ld.global.v2.u32 {%r9, %r10}, [pixelID]; + cvt.u64.u32 %rd9, %r9; + cvt.u64.u32 %rd10, %r10; + mov.u64 %rd14, image2; + cvta.global.u64 %rd8, %rd14; + mov.u32 %r4, 8; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd8, %r3, %r4, %rd9, %rd10, %rd12, %rd12); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs3, %f3;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs2, %f2;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs1, %f1;} + + // inline asm + mov.f32 %f4, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs4, %f4;} + + // inline asm + st.v4.u16 [%rd7], {%rs1, %rs2, %rs3, %rs4}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx.meta new file mode 100644 index 00000000..034f199b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishOIDN.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 37a0eda7ff3594543a94083548bef4fb +timeCreated: 1589355275 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH.ptx new file mode 100644 index 00000000..a67d1e43 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH.ptx @@ -0,0 +1,598 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 1 .b8 output_buffer[1]; +.global .align 1 .b8 image2[1]; +.global .align 1 .b8 image3[1]; +.global .align 4 .u32 mode; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4modeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename4modeE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4modeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic4modeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4modeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<53>; + .reg .b16 %rs<9>; + .reg .f32 %f<338>; + .reg .b32 %r<52>; + .reg .b64 %rd<24>; + + + ld.global.v2.u32 {%r3, %r4}, [pixelID]; + cvt.u64.u32 %rd3, %r3; + cvt.u64.u32 %rd4, %r4; + mov.u64 %rd7, output_buffer; + cvta.global.u64 %rd2, %rd7; + mov.u32 %r1, 2; + mov.u32 %r2, 16; + mov.u64 %rd6, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r1, %r2, %rd3, %rd4, %rd6, %rd6); + // inline asm + ld.v4.f32 {%f46, %f47, %f48, %f49}, [%rd1]; + mov.f32 %f50, 0f3F8CCCCD; + cvt.rzi.f32.f32 %f51, %f50; + fma.rn.f32 %f52, %f51, 0fC0000000, 0f400CCCCD; + abs.f32 %f3, %f52; + abs.f32 %f5, %f46; + setp.lt.f32 %p4, %f5, 0f00800000; + mul.f32 %f53, %f5, 0f4B800000; + selp.f32 %f54, 0fC3170000, 0fC2FE0000, %p4; + selp.f32 %f55, %f53, %f5, %p4; + mov.b32 %r7, %f55; + and.b32 %r8, %r7, 8388607; + or.b32 %r9, %r8, 1065353216; + mov.b32 %f56, %r9; + shr.u32 %r10, %r7, 23; + cvt.rn.f32.u32 %f57, %r10; + add.f32 %f58, %f54, %f57; + setp.gt.f32 %p5, %f56, 0f3FB504F3; + mul.f32 %f59, %f56, 0f3F000000; + add.f32 %f60, %f58, 0f3F800000; + selp.f32 %f61, %f59, %f56, %p5; + selp.f32 %f62, %f60, %f58, %p5; + add.f32 %f63, %f61, 0fBF800000; + add.f32 %f45, %f61, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f44,%f45; + // inline asm + add.f32 %f64, %f63, %f63; + mul.f32 %f65, %f44, %f64; + mul.f32 %f66, %f65, %f65; + mov.f32 %f67, 0f3C4CAF63; + mov.f32 %f68, 0f3B18F0FE; + fma.rn.f32 %f69, %f68, %f66, %f67; + mov.f32 %f70, 0f3DAAAABD; + fma.rn.f32 %f71, %f69, %f66, %f70; + mul.rn.f32 %f72, %f71, %f66; + mul.rn.f32 %f73, %f72, %f65; + sub.f32 %f74, %f63, %f65; + neg.f32 %f75, %f65; + add.f32 %f76, %f74, %f74; + fma.rn.f32 %f77, %f75, %f63, %f76; + mul.rn.f32 %f78, %f44, %f77; + add.f32 %f79, %f73, %f65; + sub.f32 %f80, %f65, %f79; + add.f32 %f81, %f73, %f80; + add.f32 %f82, %f78, %f81; + add.f32 %f83, %f79, %f82; + sub.f32 %f84, %f79, %f83; + add.f32 %f85, %f82, %f84; + mov.f32 %f86, 0f3F317200; + mul.rn.f32 %f87, %f62, %f86; + mov.f32 %f88, 0f35BFBE8E; + mul.rn.f32 %f89, %f62, %f88; + add.f32 %f90, %f87, %f83; + sub.f32 %f91, %f87, %f90; + add.f32 %f92, %f83, %f91; + add.f32 %f93, %f85, %f92; + add.f32 %f94, %f89, %f93; + add.f32 %f95, %f90, %f94; + sub.f32 %f96, %f90, %f95; + add.f32 %f97, %f94, %f96; + mov.f32 %f98, 0f400CCCCD; + mul.rn.f32 %f99, %f98, %f95; + neg.f32 %f100, %f99; + fma.rn.f32 %f101, %f98, %f95, %f100; + fma.rn.f32 %f102, %f98, %f97, %f101; + mov.f32 %f103, 0f00000000; + fma.rn.f32 %f104, %f103, %f95, %f102; + add.rn.f32 %f105, %f99, %f104; + neg.f32 %f106, %f105; + add.rn.f32 %f107, %f99, %f106; + add.rn.f32 %f108, %f107, %f104; + mov.b32 %r11, %f105; + setp.eq.s32 %p6, %r11, 1118925336; + add.s32 %r12, %r11, -1; + mov.b32 %f109, %r12; + add.f32 %f110, %f108, 0f37000000; + selp.f32 %f111, %f109, %f105, %p6; + selp.f32 %f6, %f110, %f108, %p6; + mul.f32 %f112, %f111, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f113, %f112; + mov.f32 %f114, 0fBF317200; + fma.rn.f32 %f115, %f113, %f114, %f111; + mov.f32 %f116, 0fB5BFBE8E; + fma.rn.f32 %f117, %f113, %f116, %f115; + mul.f32 %f118, %f117, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f119, %f118; + add.f32 %f120, %f113, 0f00000000; + ex2.approx.f32 %f121, %f120; + mul.f32 %f122, %f119, %f121; + setp.lt.f32 %p7, %f111, 0fC2D20000; + selp.f32 %f123, 0f00000000, %f122, %p7; + setp.gt.f32 %p8, %f111, 0f42D20000; + selp.f32 %f329, 0f7F800000, %f123, %p8; + setp.eq.f32 %p9, %f329, 0f7F800000; + @%p9 bra BB0_2; + + fma.rn.f32 %f329, %f329, %f6, %f329; + +BB0_2: + setp.lt.f32 %p10, %f46, 0f00000000; + setp.eq.f32 %p11, %f3, 0f3F800000; + and.pred %p1, %p10, %p11; + mov.b32 %r13, %f329; + xor.b32 %r14, %r13, -2147483648; + mov.b32 %f124, %r14; + selp.f32 %f331, %f124, %f329, %p1; + setp.eq.f32 %p12, %f46, 0f00000000; + @%p12 bra BB0_5; + bra.uni BB0_3; + +BB0_5: + add.f32 %f127, %f46, %f46; + selp.f32 %f331, %f127, 0f00000000, %p11; + bra.uni BB0_6; + +BB0_3: + setp.geu.f32 %p13, %f46, 0f00000000; + @%p13 bra BB0_6; + + mov.f32 %f328, 0f400CCCCD; + cvt.rzi.f32.f32 %f126, %f328; + setp.neu.f32 %p14, %f126, 0f400CCCCD; + selp.f32 %f331, 0f7FFFFFFF, %f331, %p14; + +BB0_6: + abs.f32 %f305, %f46; + add.f32 %f128, %f305, 0f400CCCCD; + mov.b32 %r15, %f128; + setp.lt.s32 %p16, %r15, 2139095040; + @%p16 bra BB0_11; + + abs.f32 %f326, %f46; + setp.gtu.f32 %p17, %f326, 0f7F800000; + @%p17 bra BB0_10; + bra.uni BB0_8; + +BB0_10: + add.f32 %f331, %f46, 0f400CCCCD; + bra.uni BB0_11; + +BB0_8: + abs.f32 %f327, %f46; + setp.neu.f32 %p18, %f327, 0f7F800000; + @%p18 bra BB0_11; + + selp.f32 %f331, 0fFF800000, 0f7F800000, %p1; + +BB0_11: + mov.f32 %f314, 0fB5BFBE8E; + mov.f32 %f313, 0fBF317200; + mov.f32 %f312, 0f00000000; + mov.f32 %f311, 0f35BFBE8E; + mov.f32 %f310, 0f3F317200; + mov.f32 %f309, 0f3DAAAABD; + mov.f32 %f308, 0f3C4CAF63; + mov.f32 %f307, 0f3B18F0FE; + mov.f32 %f306, 0f400CCCCD; + setp.eq.f32 %p19, %f46, 0f3F800000; + selp.f32 %f131, 0f3F800000, %f331, %p19; + cvt.sat.f32.f32 %f17, %f131; + abs.f32 %f18, %f47; + setp.lt.f32 %p20, %f18, 0f00800000; + mul.f32 %f132, %f18, 0f4B800000; + selp.f32 %f133, 0fC3170000, 0fC2FE0000, %p20; + selp.f32 %f134, %f132, %f18, %p20; + mov.b32 %r16, %f134; + and.b32 %r17, %r16, 8388607; + or.b32 %r18, %r17, 1065353216; + mov.b32 %f135, %r18; + shr.u32 %r19, %r16, 23; + cvt.rn.f32.u32 %f136, %r19; + add.f32 %f137, %f133, %f136; + setp.gt.f32 %p21, %f135, 0f3FB504F3; + mul.f32 %f138, %f135, 0f3F000000; + add.f32 %f139, %f137, 0f3F800000; + selp.f32 %f140, %f138, %f135, %p21; + selp.f32 %f141, %f139, %f137, %p21; + add.f32 %f142, %f140, 0fBF800000; + add.f32 %f130, %f140, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f129,%f130; + // inline asm + add.f32 %f143, %f142, %f142; + mul.f32 %f144, %f129, %f143; + mul.f32 %f145, %f144, %f144; + fma.rn.f32 %f148, %f307, %f145, %f308; + fma.rn.f32 %f150, %f148, %f145, %f309; + mul.rn.f32 %f151, %f150, %f145; + mul.rn.f32 %f152, %f151, %f144; + sub.f32 %f153, %f142, %f144; + neg.f32 %f154, %f144; + add.f32 %f155, %f153, %f153; + fma.rn.f32 %f156, %f154, %f142, %f155; + mul.rn.f32 %f157, %f129, %f156; + add.f32 %f158, %f152, %f144; + sub.f32 %f159, %f144, %f158; + add.f32 %f160, %f152, %f159; + add.f32 %f161, %f157, %f160; + add.f32 %f162, %f158, %f161; + sub.f32 %f163, %f158, %f162; + add.f32 %f164, %f161, %f163; + mul.rn.f32 %f166, %f141, %f310; + mul.rn.f32 %f168, %f141, %f311; + add.f32 %f169, %f166, %f162; + sub.f32 %f170, %f166, %f169; + add.f32 %f171, %f162, %f170; + add.f32 %f172, %f164, %f171; + add.f32 %f173, %f168, %f172; + add.f32 %f174, %f169, %f173; + sub.f32 %f175, %f169, %f174; + add.f32 %f176, %f173, %f175; + mul.rn.f32 %f178, %f306, %f174; + neg.f32 %f179, %f178; + fma.rn.f32 %f180, %f306, %f174, %f179; + fma.rn.f32 %f181, %f306, %f176, %f180; + fma.rn.f32 %f183, %f312, %f174, %f181; + add.rn.f32 %f184, %f178, %f183; + neg.f32 %f185, %f184; + add.rn.f32 %f186, %f178, %f185; + add.rn.f32 %f187, %f186, %f183; + mov.b32 %r20, %f184; + setp.eq.s32 %p22, %r20, 1118925336; + add.s32 %r21, %r20, -1; + mov.b32 %f188, %r21; + add.f32 %f189, %f187, 0f37000000; + selp.f32 %f190, %f188, %f184, %p22; + selp.f32 %f19, %f189, %f187, %p22; + mul.f32 %f191, %f190, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f192, %f191; + fma.rn.f32 %f194, %f192, %f313, %f190; + fma.rn.f32 %f196, %f192, %f314, %f194; + mul.f32 %f197, %f196, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f198, %f197; + add.f32 %f199, %f192, 0f00000000; + ex2.approx.f32 %f200, %f199; + mul.f32 %f201, %f198, %f200; + setp.lt.f32 %p23, %f190, 0fC2D20000; + selp.f32 %f202, 0f00000000, %f201, %p23; + setp.gt.f32 %p24, %f190, 0f42D20000; + selp.f32 %f332, 0f7F800000, %f202, %p24; + setp.eq.f32 %p25, %f332, 0f7F800000; + @%p25 bra BB0_13; + + fma.rn.f32 %f332, %f332, %f19, %f332; + +BB0_13: + setp.lt.f32 %p26, %f47, 0f00000000; + and.pred %p2, %p26, %p11; + mov.b32 %r22, %f332; + xor.b32 %r23, %r22, -2147483648; + mov.b32 %f203, %r23; + selp.f32 %f334, %f203, %f332, %p2; + setp.eq.f32 %p28, %f47, 0f00000000; + @%p28 bra BB0_16; + bra.uni BB0_14; + +BB0_16: + add.f32 %f206, %f47, %f47; + selp.f32 %f334, %f206, 0f00000000, %p11; + bra.uni BB0_17; + +BB0_14: + setp.geu.f32 %p29, %f47, 0f00000000; + @%p29 bra BB0_17; + + mov.f32 %f325, 0f400CCCCD; + cvt.rzi.f32.f32 %f205, %f325; + setp.neu.f32 %p30, %f205, 0f400CCCCD; + selp.f32 %f334, 0f7FFFFFFF, %f334, %p30; + +BB0_17: + add.f32 %f207, %f18, 0f400CCCCD; + mov.b32 %r24, %f207; + setp.lt.s32 %p32, %r24, 2139095040; + @%p32 bra BB0_22; + + setp.gtu.f32 %p33, %f18, 0f7F800000; + @%p33 bra BB0_21; + bra.uni BB0_19; + +BB0_21: + add.f32 %f334, %f47, 0f400CCCCD; + bra.uni BB0_22; + +BB0_19: + setp.neu.f32 %p34, %f18, 0f7F800000; + @%p34 bra BB0_22; + + selp.f32 %f334, 0fFF800000, 0f7F800000, %p2; + +BB0_22: + mov.f32 %f323, 0fB5BFBE8E; + mov.f32 %f322, 0fBF317200; + mov.f32 %f321, 0f00000000; + mov.f32 %f320, 0f35BFBE8E; + mov.f32 %f319, 0f3F317200; + mov.f32 %f318, 0f3DAAAABD; + mov.f32 %f317, 0f3C4CAF63; + mov.f32 %f316, 0f3B18F0FE; + mov.f32 %f315, 0f400CCCCD; + setp.eq.f32 %p35, %f47, 0f3F800000; + selp.f32 %f210, 0f3F800000, %f334, %p35; + cvt.sat.f32.f32 %f30, %f210; + abs.f32 %f31, %f48; + setp.lt.f32 %p36, %f31, 0f00800000; + mul.f32 %f211, %f31, 0f4B800000; + selp.f32 %f212, 0fC3170000, 0fC2FE0000, %p36; + selp.f32 %f213, %f211, %f31, %p36; + mov.b32 %r25, %f213; + and.b32 %r26, %r25, 8388607; + or.b32 %r27, %r26, 1065353216; + mov.b32 %f214, %r27; + shr.u32 %r28, %r25, 23; + cvt.rn.f32.u32 %f215, %r28; + add.f32 %f216, %f212, %f215; + setp.gt.f32 %p37, %f214, 0f3FB504F3; + mul.f32 %f217, %f214, 0f3F000000; + add.f32 %f218, %f216, 0f3F800000; + selp.f32 %f219, %f217, %f214, %p37; + selp.f32 %f220, %f218, %f216, %p37; + add.f32 %f221, %f219, 0fBF800000; + add.f32 %f209, %f219, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f208,%f209; + // inline asm + add.f32 %f222, %f221, %f221; + mul.f32 %f223, %f208, %f222; + mul.f32 %f224, %f223, %f223; + fma.rn.f32 %f227, %f316, %f224, %f317; + fma.rn.f32 %f229, %f227, %f224, %f318; + mul.rn.f32 %f230, %f229, %f224; + mul.rn.f32 %f231, %f230, %f223; + sub.f32 %f232, %f221, %f223; + neg.f32 %f233, %f223; + add.f32 %f234, %f232, %f232; + fma.rn.f32 %f235, %f233, %f221, %f234; + mul.rn.f32 %f236, %f208, %f235; + add.f32 %f237, %f231, %f223; + sub.f32 %f238, %f223, %f237; + add.f32 %f239, %f231, %f238; + add.f32 %f240, %f236, %f239; + add.f32 %f241, %f237, %f240; + sub.f32 %f242, %f237, %f241; + add.f32 %f243, %f240, %f242; + mul.rn.f32 %f245, %f220, %f319; + mul.rn.f32 %f247, %f220, %f320; + add.f32 %f248, %f245, %f241; + sub.f32 %f249, %f245, %f248; + add.f32 %f250, %f241, %f249; + add.f32 %f251, %f243, %f250; + add.f32 %f252, %f247, %f251; + add.f32 %f253, %f248, %f252; + sub.f32 %f254, %f248, %f253; + add.f32 %f255, %f252, %f254; + mul.rn.f32 %f257, %f315, %f253; + neg.f32 %f258, %f257; + fma.rn.f32 %f259, %f315, %f253, %f258; + fma.rn.f32 %f260, %f315, %f255, %f259; + fma.rn.f32 %f262, %f321, %f253, %f260; + add.rn.f32 %f263, %f257, %f262; + neg.f32 %f264, %f263; + add.rn.f32 %f265, %f257, %f264; + add.rn.f32 %f266, %f265, %f262; + mov.b32 %r29, %f263; + setp.eq.s32 %p38, %r29, 1118925336; + add.s32 %r30, %r29, -1; + mov.b32 %f267, %r30; + add.f32 %f268, %f266, 0f37000000; + selp.f32 %f269, %f267, %f263, %p38; + selp.f32 %f32, %f268, %f266, %p38; + mul.f32 %f270, %f269, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f271, %f270; + fma.rn.f32 %f273, %f271, %f322, %f269; + fma.rn.f32 %f275, %f271, %f323, %f273; + mul.f32 %f276, %f275, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f277, %f276; + add.f32 %f278, %f271, 0f00000000; + ex2.approx.f32 %f279, %f278; + mul.f32 %f280, %f277, %f279; + setp.lt.f32 %p39, %f269, 0fC2D20000; + selp.f32 %f281, 0f00000000, %f280, %p39; + setp.gt.f32 %p40, %f269, 0f42D20000; + selp.f32 %f335, 0f7F800000, %f281, %p40; + setp.eq.f32 %p41, %f335, 0f7F800000; + @%p41 bra BB0_24; + + fma.rn.f32 %f335, %f335, %f32, %f335; + +BB0_24: + setp.lt.f32 %p42, %f48, 0f00000000; + and.pred %p3, %p42, %p11; + mov.b32 %r31, %f335; + xor.b32 %r32, %r31, -2147483648; + mov.b32 %f282, %r32; + selp.f32 %f337, %f282, %f335, %p3; + setp.eq.f32 %p44, %f48, 0f00000000; + @%p44 bra BB0_27; + bra.uni BB0_25; + +BB0_27: + add.f32 %f285, %f48, %f48; + selp.f32 %f337, %f285, 0f00000000, %p11; + bra.uni BB0_28; + +BB0_25: + setp.geu.f32 %p45, %f48, 0f00000000; + @%p45 bra BB0_28; + + mov.f32 %f324, 0f400CCCCD; + cvt.rzi.f32.f32 %f284, %f324; + setp.neu.f32 %p46, %f284, 0f400CCCCD; + selp.f32 %f337, 0f7FFFFFFF, %f337, %p46; + +BB0_28: + add.f32 %f286, %f31, 0f400CCCCD; + mov.b32 %r33, %f286; + setp.lt.s32 %p48, %r33, 2139095040; + @%p48 bra BB0_33; + + setp.gtu.f32 %p49, %f31, 0f7F800000; + @%p49 bra BB0_32; + bra.uni BB0_30; + +BB0_32: + add.f32 %f337, %f48, 0f400CCCCD; + bra.uni BB0_33; + +BB0_30: + setp.neu.f32 %p50, %f31, 0f7F800000; + @%p50 bra BB0_33; + + selp.f32 %f337, 0fFF800000, 0f7F800000, %p3; + +BB0_33: + setp.eq.f32 %p51, %f48, 0f3F800000; + selp.f32 %f287, 0f3F800000, %f337, %p51; + cvt.sat.f32.f32 %f43, %f287; + ld.global.u32 %r34, [mode]; + setp.gt.s32 %p52, %r34, 0; + @%p52 bra BB0_35; + bra.uni BB0_34; + +BB0_35: + mov.u64 %rd23, 0; + mov.u32 %r51, 2; + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd17, %r43; + cvt.u64.u32 %rd18, %r44; + mov.u64 %rd21, image3; + cvta.global.u64 %rd16, %rd21; + mov.u32 %r42, 4; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r51, %r42, %rd17, %rd18, %rd23, %rd23); + // inline asm + cvt.sat.f32.f32 %f299, %f17; + mul.f32 %f300, %f299, 0f437F0000; + cvt.rzi.u32.f32 %r47, %f300; + cvt.sat.f32.f32 %f301, %f30; + mul.f32 %f302, %f301, 0f437F0000; + cvt.rzi.u32.f32 %r48, %f302; + cvt.sat.f32.f32 %f303, %f43; + mul.f32 %f304, %f303, 0f437F0000; + cvt.rzi.u32.f32 %r49, %f304; + cvt.u16.u32 %rs5, %r49; + cvt.u16.u32 %rs6, %r48; + cvt.u16.u32 %rs7, %r47; + mov.u16 %rs8, 255; + st.v4.u8 [%rd15], {%rs7, %rs6, %rs5, %rs8}; + bra.uni BB0_36; + +BB0_34: + mov.u64 %rd22, 0; + mov.u32 %r50, 2; + max.f32 %f292, %f17, %f30; + max.f32 %f293, %f292, %f43; + mov.f32 %f291, 0f3F800000; + sub.f32 %f294, %f291, %f293; + rcp.rn.f32 %f295, %f294; + mul.f32 %f296, %f17, %f295; + mul.f32 %f297, %f30, %f295; + mul.f32 %f298, %f43, %f295; + mul.f32 %f288, %f296, 0f3E800000; + mul.f32 %f289, %f297, 0f3E800000; + mul.f32 %f290, %f298, 0f3E800000; + ld.global.v2.u32 {%r37, %r38}, [pixelID]; + cvt.u64.u32 %rd10, %r37; + cvt.u64.u32 %rd11, %r38; + mov.u64 %rd14, image2; + cvta.global.u64 %rd9, %rd14; + mov.u32 %r36, 8; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd9, %r50, %r36, %rd10, %rd11, %rd22, %rd22); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs3, %f290;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs2, %f289;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs1, %f288;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs4, %f291;} + + // inline asm + st.v4.u16 [%rd8], {%rs1, %rs2, %rs3, %rs4}; + +BB0_36: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH.ptx.meta new file mode 100644 index 00000000..c48cb561 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7fd4e37367df86746b44d9f09203b06a +timeCreated: 1538345689 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx new file mode 100644 index 00000000..cd5ee610 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx @@ -0,0 +1,526 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl __raygen__oxMain +.const .align 8 .b8 cs[32]; + +.visible .entry __raygen__oxMain( + +) +{ + .reg .pred %p<53>; + .reg .b16 %rs<9>; + .reg .f32 %f<326>; + .reg .b32 %r<39>; + .reg .b64 %rd<14>; + + + // inline asm + call (%r1), _optix_get_launch_index_x, (); + // inline asm + // inline asm + call (%r2), _optix_get_launch_index_y, (); + // inline asm + ld.const.u64 %rd2, [cs+8]; + cvta.to.global.u64 %rd3, %rd2; + ld.const.v2.u32 {%r4, %r5}, [cs+24]; + mad.lo.s32 %r7, %r4, %r2, %r1; + cvt.u64.u32 %rd1, %r7; + mul.wide.u32 %rd4, %r7, 16; + add.s64 %rd5, %rd3, %rd4; + ld.global.v4.f32 {%f43, %f44, %f45, %f46}, [%rd5]; + setp.gt.s32 %p4, %r5, 0; + @%p4 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + mov.f32 %f53, 0f3F8CCCCD; + cvt.rzi.f32.f32 %f54, %f53; + fma.rn.f32 %f55, %f54, 0fC0000000, 0f400CCCCD; + abs.f32 %f4, %f55; + abs.f32 %f5, %f43; + setp.lt.f32 %p5, %f5, 0f00800000; + mul.f32 %f56, %f5, 0f4B800000; + selp.f32 %f57, 0fC3170000, 0fC2FE0000, %p5; + selp.f32 %f58, %f56, %f5, %p5; + mov.b32 %r9, %f58; + and.b32 %r10, %r9, 8388607; + or.b32 %r11, %r10, 1065353216; + mov.b32 %f59, %r11; + shr.u32 %r12, %r9, 23; + cvt.rn.f32.u32 %f60, %r12; + add.f32 %f61, %f57, %f60; + setp.gt.f32 %p6, %f59, 0f3FB504F3; + mul.f32 %f62, %f59, 0f3F000000; + add.f32 %f63, %f61, 0f3F800000; + selp.f32 %f64, %f62, %f59, %p6; + selp.f32 %f65, %f63, %f61, %p6; + add.f32 %f66, %f64, 0fBF800000; + add.f32 %f52, %f64, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f51,%f52; + // inline asm + add.f32 %f67, %f66, %f66; + mul.f32 %f68, %f51, %f67; + mul.f32 %f69, %f68, %f68; + mov.f32 %f70, 0f3C4CAF63; + mov.f32 %f71, 0f3B18F0FE; + fma.rn.f32 %f72, %f71, %f69, %f70; + mov.f32 %f73, 0f3DAAAABD; + fma.rn.f32 %f74, %f72, %f69, %f73; + mul.rn.f32 %f75, %f74, %f69; + mul.rn.f32 %f76, %f75, %f68; + sub.f32 %f77, %f66, %f68; + neg.f32 %f78, %f68; + add.f32 %f79, %f77, %f77; + fma.rn.f32 %f80, %f78, %f66, %f79; + mul.rn.f32 %f81, %f51, %f80; + add.f32 %f82, %f76, %f68; + sub.f32 %f83, %f68, %f82; + add.f32 %f84, %f76, %f83; + add.f32 %f85, %f81, %f84; + add.f32 %f86, %f82, %f85; + sub.f32 %f87, %f82, %f86; + add.f32 %f88, %f85, %f87; + mov.f32 %f89, 0f3F317200; + mul.rn.f32 %f90, %f65, %f89; + mov.f32 %f91, 0f35BFBE8E; + mul.rn.f32 %f92, %f65, %f91; + add.f32 %f93, %f90, %f86; + sub.f32 %f94, %f90, %f93; + add.f32 %f95, %f86, %f94; + add.f32 %f96, %f88, %f95; + add.f32 %f97, %f92, %f96; + add.f32 %f98, %f93, %f97; + sub.f32 %f99, %f93, %f98; + add.f32 %f100, %f97, %f99; + mov.f32 %f101, 0f400CCCCD; + mul.rn.f32 %f102, %f101, %f98; + neg.f32 %f103, %f102; + fma.rn.f32 %f104, %f101, %f98, %f103; + fma.rn.f32 %f105, %f101, %f100, %f104; + mov.f32 %f106, 0f00000000; + fma.rn.f32 %f107, %f106, %f98, %f105; + add.rn.f32 %f108, %f102, %f107; + neg.f32 %f109, %f108; + add.rn.f32 %f110, %f102, %f109; + add.rn.f32 %f111, %f110, %f107; + mov.b32 %r13, %f108; + setp.eq.s32 %p7, %r13, 1118925336; + add.s32 %r14, %r13, -1; + mov.b32 %f112, %r14; + add.f32 %f113, %f111, 0f37000000; + selp.f32 %f114, %f112, %f108, %p7; + selp.f32 %f6, %f113, %f111, %p7; + mul.f32 %f115, %f114, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f116, %f115; + mov.f32 %f117, 0fBF317200; + fma.rn.f32 %f118, %f116, %f117, %f114; + mov.f32 %f119, 0fB5BFBE8E; + fma.rn.f32 %f120, %f116, %f119, %f118; + mul.f32 %f121, %f120, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f122, %f121; + add.f32 %f123, %f116, 0f00000000; + ex2.approx.f32 %f124, %f123; + mul.f32 %f125, %f122, %f124; + setp.lt.f32 %p8, %f114, 0fC2D20000; + selp.f32 %f126, 0f00000000, %f125, %p8; + setp.gt.f32 %p9, %f114, 0f42D20000; + selp.f32 %f317, 0f7F800000, %f126, %p9; + setp.eq.f32 %p10, %f317, 0f7F800000; + @%p10 bra BB0_4; + + fma.rn.f32 %f317, %f317, %f6, %f317; + +BB0_4: + setp.lt.f32 %p11, %f43, 0f00000000; + setp.eq.f32 %p12, %f4, 0f3F800000; + and.pred %p1, %p11, %p12; + mov.b32 %r15, %f317; + xor.b32 %r16, %r15, -2147483648; + mov.b32 %f127, %r16; + selp.f32 %f319, %f127, %f317, %p1; + setp.eq.f32 %p13, %f43, 0f00000000; + @%p13 bra BB0_7; + bra.uni BB0_5; + +BB0_7: + add.f32 %f130, %f43, %f43; + selp.f32 %f319, %f130, 0f00000000, %p12; + bra.uni BB0_8; + +BB0_1: + ld.const.u64 %rd6, [cs]; + cvta.to.global.u64 %rd7, %rd6; + shl.b64 %rd8, %rd1, 3; + add.s64 %rd9, %rd7, %rd8; + mov.f32 %f50, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs4, %f50;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs3, %f45;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs2, %f44;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs1, %f43;} + + // inline asm + st.global.v4.u16 [%rd9], {%rs1, %rs2, %rs3, %rs4}; + bra.uni BB0_36; + +BB0_5: + setp.geu.f32 %p14, %f43, 0f00000000; + @%p14 bra BB0_8; + + cvt.rzi.f32.f32 %f129, %f101; + setp.neu.f32 %p15, %f129, 0f400CCCCD; + selp.f32 %f319, 0f7FFFFFFF, %f319, %p15; + +BB0_8: + abs.f32 %f298, %f43; + add.f32 %f131, %f298, 0f400CCCCD; + mov.b32 %r17, %f131; + setp.lt.s32 %p17, %r17, 2139095040; + @%p17 bra BB0_13; + + abs.f32 %f315, %f43; + setp.gtu.f32 %p18, %f315, 0f7F800000; + @%p18 bra BB0_12; + bra.uni BB0_10; + +BB0_12: + add.f32 %f319, %f43, 0f400CCCCD; + bra.uni BB0_13; + +BB0_10: + abs.f32 %f316, %f43; + setp.neu.f32 %p19, %f316, 0f7F800000; + @%p19 bra BB0_13; + + selp.f32 %f319, 0fFF800000, 0f7F800000, %p1; + +BB0_13: + mov.f32 %f306, 0fB5BFBE8E; + mov.f32 %f305, 0fBF317200; + mov.f32 %f304, 0f00000000; + mov.f32 %f303, 0f35BFBE8E; + mov.f32 %f302, 0f3F317200; + mov.f32 %f301, 0f3DAAAABD; + mov.f32 %f300, 0f3C4CAF63; + mov.f32 %f299, 0f3B18F0FE; + setp.eq.f32 %p20, %f43, 0f3F800000; + selp.f32 %f134, 0f3F800000, %f319, %p20; + cvt.sat.f32.f32 %f17, %f134; + abs.f32 %f18, %f44; + setp.lt.f32 %p21, %f18, 0f00800000; + mul.f32 %f135, %f18, 0f4B800000; + selp.f32 %f136, 0fC3170000, 0fC2FE0000, %p21; + selp.f32 %f137, %f135, %f18, %p21; + mov.b32 %r18, %f137; + and.b32 %r19, %r18, 8388607; + or.b32 %r20, %r19, 1065353216; + mov.b32 %f138, %r20; + shr.u32 %r21, %r18, 23; + cvt.rn.f32.u32 %f139, %r21; + add.f32 %f140, %f136, %f139; + setp.gt.f32 %p22, %f138, 0f3FB504F3; + mul.f32 %f141, %f138, 0f3F000000; + add.f32 %f142, %f140, 0f3F800000; + selp.f32 %f143, %f141, %f138, %p22; + selp.f32 %f144, %f142, %f140, %p22; + add.f32 %f145, %f143, 0fBF800000; + add.f32 %f133, %f143, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f132,%f133; + // inline asm + add.f32 %f146, %f145, %f145; + mul.f32 %f147, %f132, %f146; + mul.f32 %f148, %f147, %f147; + fma.rn.f32 %f151, %f299, %f148, %f300; + fma.rn.f32 %f153, %f151, %f148, %f301; + mul.rn.f32 %f154, %f153, %f148; + mul.rn.f32 %f155, %f154, %f147; + sub.f32 %f156, %f145, %f147; + neg.f32 %f157, %f147; + add.f32 %f158, %f156, %f156; + fma.rn.f32 %f159, %f157, %f145, %f158; + mul.rn.f32 %f160, %f132, %f159; + add.f32 %f161, %f155, %f147; + sub.f32 %f162, %f147, %f161; + add.f32 %f163, %f155, %f162; + add.f32 %f164, %f160, %f163; + add.f32 %f165, %f161, %f164; + sub.f32 %f166, %f161, %f165; + add.f32 %f167, %f164, %f166; + mul.rn.f32 %f169, %f144, %f302; + mul.rn.f32 %f171, %f144, %f303; + add.f32 %f172, %f169, %f165; + sub.f32 %f173, %f169, %f172; + add.f32 %f174, %f165, %f173; + add.f32 %f175, %f167, %f174; + add.f32 %f176, %f171, %f175; + add.f32 %f177, %f172, %f176; + sub.f32 %f178, %f172, %f177; + add.f32 %f179, %f176, %f178; + mul.rn.f32 %f181, %f101, %f177; + neg.f32 %f182, %f181; + fma.rn.f32 %f183, %f101, %f177, %f182; + fma.rn.f32 %f184, %f101, %f179, %f183; + fma.rn.f32 %f186, %f304, %f177, %f184; + add.rn.f32 %f187, %f181, %f186; + neg.f32 %f188, %f187; + add.rn.f32 %f189, %f181, %f188; + add.rn.f32 %f190, %f189, %f186; + mov.b32 %r22, %f187; + setp.eq.s32 %p23, %r22, 1118925336; + add.s32 %r23, %r22, -1; + mov.b32 %f191, %r23; + add.f32 %f192, %f190, 0f37000000; + selp.f32 %f193, %f191, %f187, %p23; + selp.f32 %f19, %f192, %f190, %p23; + mul.f32 %f194, %f193, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f195, %f194; + fma.rn.f32 %f197, %f195, %f305, %f193; + fma.rn.f32 %f199, %f195, %f306, %f197; + mul.f32 %f200, %f199, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f201, %f200; + add.f32 %f202, %f195, 0f00000000; + ex2.approx.f32 %f203, %f202; + mul.f32 %f204, %f201, %f203; + setp.lt.f32 %p24, %f193, 0fC2D20000; + selp.f32 %f205, 0f00000000, %f204, %p24; + setp.gt.f32 %p25, %f193, 0f42D20000; + selp.f32 %f320, 0f7F800000, %f205, %p25; + setp.eq.f32 %p26, %f320, 0f7F800000; + @%p26 bra BB0_15; + + fma.rn.f32 %f320, %f320, %f19, %f320; + +BB0_15: + setp.lt.f32 %p27, %f44, 0f00000000; + and.pred %p2, %p27, %p12; + mov.b32 %r24, %f320; + xor.b32 %r25, %r24, -2147483648; + mov.b32 %f206, %r25; + selp.f32 %f322, %f206, %f320, %p2; + setp.eq.f32 %p29, %f44, 0f00000000; + @%p29 bra BB0_18; + bra.uni BB0_16; + +BB0_18: + add.f32 %f209, %f44, %f44; + selp.f32 %f322, %f209, 0f00000000, %p12; + bra.uni BB0_19; + +BB0_16: + setp.geu.f32 %p30, %f44, 0f00000000; + @%p30 bra BB0_19; + + cvt.rzi.f32.f32 %f208, %f101; + setp.neu.f32 %p31, %f208, 0f400CCCCD; + selp.f32 %f322, 0f7FFFFFFF, %f322, %p31; + +BB0_19: + add.f32 %f210, %f18, 0f400CCCCD; + mov.b32 %r26, %f210; + setp.lt.s32 %p33, %r26, 2139095040; + @%p33 bra BB0_24; + + setp.gtu.f32 %p34, %f18, 0f7F800000; + @%p34 bra BB0_23; + bra.uni BB0_21; + +BB0_23: + add.f32 %f322, %f44, 0f400CCCCD; + bra.uni BB0_24; + +BB0_21: + setp.neu.f32 %p35, %f18, 0f7F800000; + @%p35 bra BB0_24; + + selp.f32 %f322, 0fFF800000, 0f7F800000, %p2; + +BB0_24: + mov.f32 %f314, 0fB5BFBE8E; + mov.f32 %f313, 0fBF317200; + mov.f32 %f312, 0f00000000; + mov.f32 %f311, 0f35BFBE8E; + mov.f32 %f310, 0f3F317200; + mov.f32 %f309, 0f3DAAAABD; + mov.f32 %f308, 0f3C4CAF63; + mov.f32 %f307, 0f3B18F0FE; + setp.eq.f32 %p36, %f44, 0f3F800000; + selp.f32 %f213, 0f3F800000, %f322, %p36; + cvt.sat.f32.f32 %f30, %f213; + abs.f32 %f31, %f45; + setp.lt.f32 %p37, %f31, 0f00800000; + mul.f32 %f214, %f31, 0f4B800000; + selp.f32 %f215, 0fC3170000, 0fC2FE0000, %p37; + selp.f32 %f216, %f214, %f31, %p37; + mov.b32 %r27, %f216; + and.b32 %r28, %r27, 8388607; + or.b32 %r29, %r28, 1065353216; + mov.b32 %f217, %r29; + shr.u32 %r30, %r27, 23; + cvt.rn.f32.u32 %f218, %r30; + add.f32 %f219, %f215, %f218; + setp.gt.f32 %p38, %f217, 0f3FB504F3; + mul.f32 %f220, %f217, 0f3F000000; + add.f32 %f221, %f219, 0f3F800000; + selp.f32 %f222, %f220, %f217, %p38; + selp.f32 %f223, %f221, %f219, %p38; + add.f32 %f224, %f222, 0fBF800000; + add.f32 %f212, %f222, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f211,%f212; + // inline asm + add.f32 %f225, %f224, %f224; + mul.f32 %f226, %f211, %f225; + mul.f32 %f227, %f226, %f226; + fma.rn.f32 %f230, %f307, %f227, %f308; + fma.rn.f32 %f232, %f230, %f227, %f309; + mul.rn.f32 %f233, %f232, %f227; + mul.rn.f32 %f234, %f233, %f226; + sub.f32 %f235, %f224, %f226; + neg.f32 %f236, %f226; + add.f32 %f237, %f235, %f235; + fma.rn.f32 %f238, %f236, %f224, %f237; + mul.rn.f32 %f239, %f211, %f238; + add.f32 %f240, %f234, %f226; + sub.f32 %f241, %f226, %f240; + add.f32 %f242, %f234, %f241; + add.f32 %f243, %f239, %f242; + add.f32 %f244, %f240, %f243; + sub.f32 %f245, %f240, %f244; + add.f32 %f246, %f243, %f245; + mul.rn.f32 %f248, %f223, %f310; + mul.rn.f32 %f250, %f223, %f311; + add.f32 %f251, %f248, %f244; + sub.f32 %f252, %f248, %f251; + add.f32 %f253, %f244, %f252; + add.f32 %f254, %f246, %f253; + add.f32 %f255, %f250, %f254; + add.f32 %f256, %f251, %f255; + sub.f32 %f257, %f251, %f256; + add.f32 %f258, %f255, %f257; + mul.rn.f32 %f260, %f101, %f256; + neg.f32 %f261, %f260; + fma.rn.f32 %f262, %f101, %f256, %f261; + fma.rn.f32 %f263, %f101, %f258, %f262; + fma.rn.f32 %f265, %f312, %f256, %f263; + add.rn.f32 %f266, %f260, %f265; + neg.f32 %f267, %f266; + add.rn.f32 %f268, %f260, %f267; + add.rn.f32 %f269, %f268, %f265; + mov.b32 %r31, %f266; + setp.eq.s32 %p39, %r31, 1118925336; + add.s32 %r32, %r31, -1; + mov.b32 %f270, %r32; + add.f32 %f271, %f269, 0f37000000; + selp.f32 %f272, %f270, %f266, %p39; + selp.f32 %f32, %f271, %f269, %p39; + mul.f32 %f273, %f272, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f274, %f273; + fma.rn.f32 %f276, %f274, %f313, %f272; + fma.rn.f32 %f278, %f274, %f314, %f276; + mul.f32 %f279, %f278, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f280, %f279; + add.f32 %f281, %f274, 0f00000000; + ex2.approx.f32 %f282, %f281; + mul.f32 %f283, %f280, %f282; + setp.lt.f32 %p40, %f272, 0fC2D20000; + selp.f32 %f284, 0f00000000, %f283, %p40; + setp.gt.f32 %p41, %f272, 0f42D20000; + selp.f32 %f323, 0f7F800000, %f284, %p41; + setp.eq.f32 %p42, %f323, 0f7F800000; + @%p42 bra BB0_26; + + fma.rn.f32 %f323, %f323, %f32, %f323; + +BB0_26: + setp.lt.f32 %p43, %f45, 0f00000000; + and.pred %p3, %p43, %p12; + mov.b32 %r33, %f323; + xor.b32 %r34, %r33, -2147483648; + mov.b32 %f285, %r34; + selp.f32 %f325, %f285, %f323, %p3; + setp.eq.f32 %p45, %f45, 0f00000000; + @%p45 bra BB0_29; + bra.uni BB0_27; + +BB0_29: + add.f32 %f288, %f45, %f45; + selp.f32 %f325, %f288, 0f00000000, %p12; + bra.uni BB0_30; + +BB0_27: + setp.geu.f32 %p46, %f45, 0f00000000; + @%p46 bra BB0_30; + + cvt.rzi.f32.f32 %f287, %f101; + setp.neu.f32 %p47, %f287, 0f400CCCCD; + selp.f32 %f325, 0f7FFFFFFF, %f325, %p47; + +BB0_30: + add.f32 %f289, %f31, 0f400CCCCD; + mov.b32 %r35, %f289; + setp.lt.s32 %p49, %r35, 2139095040; + @%p49 bra BB0_35; + + setp.gtu.f32 %p50, %f31, 0f7F800000; + @%p50 bra BB0_34; + bra.uni BB0_32; + +BB0_34: + add.f32 %f325, %f45, 0f400CCCCD; + bra.uni BB0_35; + +BB0_32: + setp.neu.f32 %p51, %f31, 0f7F800000; + @%p51 bra BB0_35; + + selp.f32 %f325, 0fFF800000, 0f7F800000, %p3; + +BB0_35: + setp.eq.f32 %p52, %f45, 0f3F800000; + selp.f32 %f290, 0f3F800000, %f325, %p52; + cvt.sat.f32.f32 %f291, %f290; + cvt.sat.f32.f32 %f292, %f17; + mul.f32 %f293, %f292, 0f437F0000; + cvt.rzi.u32.f32 %r36, %f293; + cvt.sat.f32.f32 %f294, %f30; + mul.f32 %f295, %f294, 0f437F0000; + cvt.rzi.u32.f32 %r37, %f295; + cvt.sat.f32.f32 %f296, %f291; + mul.f32 %f297, %f296, 0f437F0000; + cvt.rzi.u32.f32 %r38, %f297; + ld.const.u64 %rd10, [cs+16]; + cvta.to.global.u64 %rd11, %rd10; + shl.b64 %rd12, %rd1, 2; + add.s64 %rd13, %rd11, %rd12; + cvt.u16.u32 %rs5, %r38; + cvt.u16.u32 %rs6, %r37; + cvt.u16.u32 %rs7, %r36; + mov.u16 %rs8, 255; + st.global.v4.u8 [%rd13], {%rs7, %rs6, %rs5, %rs8}; + +BB0_36: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx.meta new file mode 100644 index 00000000..4e9520e0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH72.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 941f8431b37da2447b84b09660fed6c7 +timeCreated: 1605379707 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx new file mode 100644 index 00000000..b93a4d0f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx @@ -0,0 +1,167 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 1 .b8 output_buffer[1]; +.global .align 1 .b8 image2[1]; +.global .align 1 .b8 image3[1]; +.global .align 4 .u32 mode; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4modeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename4modeE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4modeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic4modeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4modeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .b16 %rs<12>; + .reg .f32 %f<17>; + .reg .b32 %r<37>; + .reg .b64 %rd<43>; + + + ld.global.v2.u32 {%r3, %r4}, [pixelID]; + cvt.u64.u32 %rd5, %r3; + cvt.u64.u32 %rd6, %r4; + mov.u64 %rd9, output_buffer; + cvta.global.u64 %rd4, %rd9; + mov.u32 %r1, 2; + mov.u32 %r2, 12; + mov.u64 %rd8, 0; + // inline asm + call (%rd3), _rt_buffer_get_64, (%rd4, %r1, %r2, %rd5, %rd6, %rd8, %rd8); + // inline asm + ld.f32 %f1, [%rd3]; + ld.f32 %f2, [%rd3+4]; + ld.f32 %f3, [%rd3+8]; + ld.global.u32 %r7, [mode]; + setp.gt.s32 %p1, %r7, 0; + ld.global.v2.u32 {%r8, %r9}, [pixelID]; + cvt.u64.u32 %rd1, %r8; + cvt.u64.u32 %rd2, %r9; + @%p1 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + mov.u64 %rd41, image2; + cvta.global.u64 %rd18, %rd41; + mov.u32 %r19, 8; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r1, %r19, %rd1, %rd2, %rd8, %rd8); + // inline asm + ld.global.v2.u32 {%r22, %r23}, [pixelID]; + cvt.u64.u32 %rd25, %r22; + cvt.u64.u32 %rd26, %r23; + // inline asm + call (%rd23), _rt_buffer_get_64, (%rd18, %r1, %r19, %rd25, %rd26, %rd8, %rd8); + // inline asm + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd31, %r26; + cvt.u64.u32 %rd32, %r27; + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd18, %r1, %r19, %rd31, %rd32, %rd8, %rd8); + // inline asm + ld.global.v2.u32 {%r30, %r31}, [pixelID]; + cvt.u64.u32 %rd37, %r30; + cvt.u64.u32 %rd38, %r31; + mov.u64 %rd42, image3; + cvta.global.u64 %rd36, %rd42; + mov.u32 %r21, 4; + // inline asm + call (%rd35), _rt_buffer_get_64, (%rd36, %r1, %r21, %rd37, %rd38, %rd8, %rd8); + // inline asm + cvt.sat.f32.f32 %f11, %f1; + mul.f32 %f12, %f11, 0f437F0000; + cvt.rzi.u32.f32 %r34, %f12; + cvt.sat.f32.f32 %f13, %f2; + mul.f32 %f14, %f13, 0f437F0000; + cvt.rzi.u32.f32 %r35, %f14; + cvt.sat.f32.f32 %f15, %f3; + mul.f32 %f16, %f15, 0f437F0000; + cvt.rzi.u32.f32 %r36, %f16; + cvt.u16.u32 %rs8, %r36; + cvt.u16.u32 %rs9, %r35; + cvt.u16.u32 %rs10, %r34; + mov.u16 %rs11, 255; + st.v4.u8 [%rd35], {%rs10, %rs9, %rs8, %rs11}; + bra.uni BB0_3; + +BB0_1: + mov.u64 %rd16, image2; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r13, 8; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r1, %r13, %rd1, %rd2, %rd8, %rd8); + // inline asm + mov.f32 %f7, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs4, %f7;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs3, %f3;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs2, %f2;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs1, %f1;} + + // inline asm + st.v4.u16 [%rd10], {%rs1, %rs2, %rs3, %rs4}; + +BB0_3: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx.meta new file mode 100644 index 00000000..018af1dc --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiseFinishSH_OIDN.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0d06c9e9bf3986941abe247af43f8ae1 +timeCreated: 1599897795 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare.ptx new file mode 100644 index 00000000..9fb2836a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare.ptx @@ -0,0 +1,586 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 input_buffer[1]; +.global .align 4 .u32 mode; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4modeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename4modeE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4modeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic4modeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4modeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<54>; + .reg .b16 %rs<4>; + .reg .f32 %f<335>; + .reg .b32 %r<55>; + .reg .b64 %rd<29>; + + + ld.global.v2.u32 {%r7, %r8}, [pixelID]; + cvt.u64.u32 %rd4, %r7; + cvt.u64.u32 %rd5, %r8; + mov.u64 %rd20, image; + cvta.global.u64 %rd3, %rd20; + mov.u32 %r5, 2; + mov.u32 %r6, 8; + mov.u64 %rd19, 0; + // inline asm + call (%rd2), _rt_buffer_get_64, (%rd3, %r5, %r6, %rd4, %rd5, %rd19, %rd19); + // inline asm + ld.u16 %rs1, [%rd2]; + // inline asm + { cvt.f32.f16 %f44, %rs1;} + + // inline asm + ld.global.v2.u32 {%r11, %r12}, [pixelID]; + cvt.u64.u32 %rd10, %r11; + cvt.u64.u32 %rd11, %r12; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd3, %r5, %r6, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.u16 %rs2, [%rd8+2]; + // inline asm + { cvt.f32.f16 %f45, %rs2;} + + // inline asm + ld.global.v2.u32 {%r15, %r16}, [pixelID]; + cvt.u64.u32 %rd16, %r15; + cvt.u64.u32 %rd17, %r16; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd3, %r5, %r6, %rd16, %rd17, %rd19, %rd19); + // inline asm + ld.u16 %rs3, [%rd14+4]; + // inline asm + { cvt.f32.f16 %f46, %rs3;} + + // inline asm + max.f32 %f49, %f44, %f45; + max.f32 %f50, %f49, %f46; + add.f32 %f51, %f50, 0f3F800000; + rcp.rn.f32 %f52, %f51; + mul.f32 %f53, %f44, %f52; + mul.f32 %f1, %f45, %f52; + mul.f32 %f54, %f46, %f52; + ld.global.u32 %r19, [mode]; + setp.eq.s32 %p4, %r19, 1; + selp.f32 %f2, %f54, %f53, %p4; + selp.f32 %f3, %f53, %f54, %p4; + abs.f32 %f5, %f2; + setp.lt.f32 %p5, %f5, 0f00800000; + mul.f32 %f58, %f5, 0f4B800000; + selp.f32 %f59, 0fC3170000, 0fC2FE0000, %p5; + selp.f32 %f60, %f58, %f5, %p5; + mov.b32 %r20, %f60; + and.b32 %r21, %r20, 8388607; + or.b32 %r22, %r21, 1065353216; + mov.b32 %f61, %r22; + shr.u32 %r23, %r20, 23; + cvt.rn.f32.u32 %f62, %r23; + add.f32 %f63, %f59, %f62; + setp.gt.f32 %p6, %f61, 0f3FB504F3; + mul.f32 %f64, %f61, 0f3F000000; + add.f32 %f65, %f63, 0f3F800000; + selp.f32 %f66, %f64, %f61, %p6; + selp.f32 %f67, %f65, %f63, %p6; + add.f32 %f68, %f66, 0fBF800000; + add.f32 %f48, %f66, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f47,%f48; + // inline asm + add.f32 %f69, %f68, %f68; + mul.f32 %f70, %f47, %f69; + mul.f32 %f71, %f70, %f70; + mov.f32 %f72, 0f3C4CAF63; + mov.f32 %f73, 0f3B18F0FE; + fma.rn.f32 %f74, %f73, %f71, %f72; + mov.f32 %f75, 0f3DAAAABD; + fma.rn.f32 %f76, %f74, %f71, %f75; + mul.rn.f32 %f77, %f76, %f71; + mul.rn.f32 %f78, %f77, %f70; + sub.f32 %f79, %f68, %f70; + neg.f32 %f80, %f70; + add.f32 %f81, %f79, %f79; + fma.rn.f32 %f82, %f80, %f68, %f81; + mul.rn.f32 %f83, %f47, %f82; + add.f32 %f84, %f78, %f70; + sub.f32 %f85, %f70, %f84; + add.f32 %f86, %f78, %f85; + add.f32 %f87, %f83, %f86; + add.f32 %f88, %f84, %f87; + sub.f32 %f89, %f84, %f88; + add.f32 %f90, %f87, %f89; + mov.f32 %f91, 0f3F317200; + mul.rn.f32 %f92, %f67, %f91; + mov.f32 %f93, 0f35BFBE8E; + mul.rn.f32 %f94, %f67, %f93; + add.f32 %f95, %f92, %f88; + sub.f32 %f96, %f92, %f95; + add.f32 %f97, %f88, %f96; + add.f32 %f98, %f90, %f97; + add.f32 %f99, %f94, %f98; + add.f32 %f100, %f95, %f99; + sub.f32 %f101, %f95, %f100; + add.f32 %f102, %f99, %f101; + mov.f32 %f103, 0f3EE8BA2E; + mul.rn.f32 %f104, %f103, %f100; + neg.f32 %f105, %f104; + fma.rn.f32 %f106, %f103, %f100, %f105; + fma.rn.f32 %f107, %f103, %f102, %f106; + mov.f32 %f108, 0f00000000; + fma.rn.f32 %f109, %f108, %f100, %f107; + add.rn.f32 %f110, %f104, %f109; + neg.f32 %f111, %f110; + add.rn.f32 %f112, %f104, %f111; + add.rn.f32 %f113, %f112, %f109; + mov.b32 %r24, %f110; + setp.eq.s32 %p7, %r24, 1118925336; + add.s32 %r25, %r24, -1; + mov.b32 %f114, %r25; + add.f32 %f115, %f113, 0f37000000; + selp.f32 %f116, %f114, %f110, %p7; + selp.f32 %f6, %f115, %f113, %p7; + mul.f32 %f117, %f116, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f118, %f117; + mov.f32 %f119, 0fBF317200; + fma.rn.f32 %f120, %f118, %f119, %f116; + mov.f32 %f121, 0fB5BFBE8E; + fma.rn.f32 %f122, %f118, %f121, %f120; + mul.f32 %f123, %f122, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f124, %f123; + add.f32 %f125, %f118, 0f00000000; + ex2.approx.f32 %f126, %f125; + mul.f32 %f127, %f124, %f126; + setp.lt.f32 %p8, %f116, 0fC2D20000; + selp.f32 %f128, 0f00000000, %f127, %p8; + setp.gt.f32 %p9, %f116, 0f42D20000; + selp.f32 %f326, 0f7F800000, %f128, %p9; + setp.eq.f32 %p10, %f326, 0f7F800000; + @%p10 bra BB0_2; + + fma.rn.f32 %f326, %f326, %f6, %f326; + +BB0_2: + mov.f32 %f325, 0f3E68BA2E; + cvt.rzi.f32.f32 %f324, %f325; + fma.rn.f32 %f323, %f324, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f322, %f323; + setp.lt.f32 %p11, %f2, 0f00000000; + setp.eq.f32 %p12, %f322, 0f3F800000; + and.pred %p1, %p11, %p12; + mov.b32 %r26, %f326; + xor.b32 %r27, %r26, -2147483648; + mov.b32 %f129, %r27; + selp.f32 %f328, %f129, %f326, %p1; + setp.eq.f32 %p13, %f2, 0f00000000; + @%p13 bra BB0_5; + bra.uni BB0_3; + +BB0_5: + add.f32 %f132, %f2, %f2; + selp.f32 %f328, %f132, 0f00000000, %p12; + bra.uni BB0_6; + +BB0_3: + setp.geu.f32 %p14, %f2, 0f00000000; + @%p14 bra BB0_6; + + mov.f32 %f321, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f131, %f321; + setp.neu.f32 %p15, %f131, 0f3EE8BA2E; + selp.f32 %f328, 0f7FFFFFFF, %f328, %p15; + +BB0_6: + abs.f32 %f298, %f2; + add.f32 %f133, %f298, 0f3EE8BA2E; + mov.b32 %r28, %f133; + setp.lt.s32 %p17, %r28, 2139095040; + @%p17 bra BB0_11; + + abs.f32 %f319, %f2; + setp.gtu.f32 %p18, %f319, 0f7F800000; + @%p18 bra BB0_10; + bra.uni BB0_8; + +BB0_10: + add.f32 %f328, %f2, 0f3EE8BA2E; + bra.uni BB0_11; + +BB0_8: + abs.f32 %f320, %f2; + setp.neu.f32 %p19, %f320, 0f7F800000; + @%p19 bra BB0_11; + + selp.f32 %f328, 0fFF800000, 0f7F800000, %p1; + +BB0_11: + mov.f32 %f307, 0fB5BFBE8E; + mov.f32 %f306, 0fBF317200; + mov.f32 %f305, 0f00000000; + mov.f32 %f304, 0f35BFBE8E; + mov.f32 %f303, 0f3F317200; + mov.f32 %f302, 0f3DAAAABD; + mov.f32 %f301, 0f3C4CAF63; + mov.f32 %f300, 0f3B18F0FE; + mov.f32 %f299, 0f3EE8BA2E; + setp.eq.f32 %p20, %f2, 0f3F800000; + selp.f32 %f136, 0f3F800000, %f328, %p20; + cvt.sat.f32.f32 %f17, %f136; + abs.f32 %f18, %f1; + setp.lt.f32 %p21, %f18, 0f00800000; + mul.f32 %f137, %f18, 0f4B800000; + selp.f32 %f138, 0fC3170000, 0fC2FE0000, %p21; + selp.f32 %f139, %f137, %f18, %p21; + mov.b32 %r29, %f139; + and.b32 %r30, %r29, 8388607; + or.b32 %r31, %r30, 1065353216; + mov.b32 %f140, %r31; + shr.u32 %r32, %r29, 23; + cvt.rn.f32.u32 %f141, %r32; + add.f32 %f142, %f138, %f141; + setp.gt.f32 %p22, %f140, 0f3FB504F3; + mul.f32 %f143, %f140, 0f3F000000; + add.f32 %f144, %f142, 0f3F800000; + selp.f32 %f145, %f143, %f140, %p22; + selp.f32 %f146, %f144, %f142, %p22; + add.f32 %f147, %f145, 0fBF800000; + add.f32 %f135, %f145, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f134,%f135; + // inline asm + add.f32 %f148, %f147, %f147; + mul.f32 %f149, %f134, %f148; + mul.f32 %f150, %f149, %f149; + fma.rn.f32 %f153, %f300, %f150, %f301; + fma.rn.f32 %f155, %f153, %f150, %f302; + mul.rn.f32 %f156, %f155, %f150; + mul.rn.f32 %f157, %f156, %f149; + sub.f32 %f158, %f147, %f149; + neg.f32 %f159, %f149; + add.f32 %f160, %f158, %f158; + fma.rn.f32 %f161, %f159, %f147, %f160; + mul.rn.f32 %f162, %f134, %f161; + add.f32 %f163, %f157, %f149; + sub.f32 %f164, %f149, %f163; + add.f32 %f165, %f157, %f164; + add.f32 %f166, %f162, %f165; + add.f32 %f167, %f163, %f166; + sub.f32 %f168, %f163, %f167; + add.f32 %f169, %f166, %f168; + mul.rn.f32 %f171, %f146, %f303; + mul.rn.f32 %f173, %f146, %f304; + add.f32 %f174, %f171, %f167; + sub.f32 %f175, %f171, %f174; + add.f32 %f176, %f167, %f175; + add.f32 %f177, %f169, %f176; + add.f32 %f178, %f173, %f177; + add.f32 %f179, %f174, %f178; + sub.f32 %f180, %f174, %f179; + add.f32 %f181, %f178, %f180; + mul.rn.f32 %f183, %f299, %f179; + neg.f32 %f184, %f183; + fma.rn.f32 %f185, %f299, %f179, %f184; + fma.rn.f32 %f186, %f299, %f181, %f185; + fma.rn.f32 %f188, %f305, %f179, %f186; + add.rn.f32 %f189, %f183, %f188; + neg.f32 %f190, %f189; + add.rn.f32 %f191, %f183, %f190; + add.rn.f32 %f192, %f191, %f188; + mov.b32 %r33, %f189; + setp.eq.s32 %p23, %r33, 1118925336; + add.s32 %r34, %r33, -1; + mov.b32 %f193, %r34; + add.f32 %f194, %f192, 0f37000000; + selp.f32 %f195, %f193, %f189, %p23; + selp.f32 %f19, %f194, %f192, %p23; + mul.f32 %f196, %f195, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f197, %f196; + fma.rn.f32 %f199, %f197, %f306, %f195; + fma.rn.f32 %f201, %f197, %f307, %f199; + mul.f32 %f202, %f201, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f203, %f202; + add.f32 %f204, %f197, 0f00000000; + ex2.approx.f32 %f205, %f204; + mul.f32 %f206, %f203, %f205; + setp.lt.f32 %p24, %f195, 0fC2D20000; + selp.f32 %f207, 0f00000000, %f206, %p24; + setp.gt.f32 %p25, %f195, 0f42D20000; + selp.f32 %f329, 0f7F800000, %f207, %p25; + setp.eq.f32 %p26, %f329, 0f7F800000; + @%p26 bra BB0_13; + + fma.rn.f32 %f329, %f329, %f19, %f329; + +BB0_13: + setp.lt.f32 %p27, %f1, 0f00000000; + and.pred %p2, %p27, %p12; + mov.b32 %r35, %f329; + xor.b32 %r36, %r35, -2147483648; + mov.b32 %f208, %r36; + selp.f32 %f331, %f208, %f329, %p2; + setp.eq.f32 %p29, %f1, 0f00000000; + @%p29 bra BB0_16; + bra.uni BB0_14; + +BB0_16: + add.f32 %f211, %f1, %f1; + selp.f32 %f331, %f211, 0f00000000, %p12; + bra.uni BB0_17; + +BB0_14: + setp.geu.f32 %p30, %f1, 0f00000000; + @%p30 bra BB0_17; + + mov.f32 %f318, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f210, %f318; + setp.neu.f32 %p31, %f210, 0f3EE8BA2E; + selp.f32 %f331, 0f7FFFFFFF, %f331, %p31; + +BB0_17: + add.f32 %f212, %f18, 0f3EE8BA2E; + mov.b32 %r37, %f212; + setp.lt.s32 %p33, %r37, 2139095040; + @%p33 bra BB0_22; + + setp.gtu.f32 %p34, %f18, 0f7F800000; + @%p34 bra BB0_21; + bra.uni BB0_19; + +BB0_21: + add.f32 %f331, %f1, 0f3EE8BA2E; + bra.uni BB0_22; + +BB0_19: + setp.neu.f32 %p35, %f18, 0f7F800000; + @%p35 bra BB0_22; + + selp.f32 %f331, 0fFF800000, 0f7F800000, %p2; + +BB0_22: + mov.f32 %f316, 0fB5BFBE8E; + mov.f32 %f315, 0fBF317200; + mov.f32 %f314, 0f00000000; + mov.f32 %f313, 0f35BFBE8E; + mov.f32 %f312, 0f3F317200; + mov.f32 %f311, 0f3DAAAABD; + mov.f32 %f310, 0f3C4CAF63; + mov.f32 %f309, 0f3B18F0FE; + mov.f32 %f308, 0f3EE8BA2E; + setp.eq.f32 %p36, %f1, 0f3F800000; + selp.f32 %f215, 0f3F800000, %f331, %p36; + cvt.sat.f32.f32 %f30, %f215; + abs.f32 %f31, %f3; + setp.lt.f32 %p37, %f31, 0f00800000; + mul.f32 %f216, %f31, 0f4B800000; + selp.f32 %f217, 0fC3170000, 0fC2FE0000, %p37; + selp.f32 %f218, %f216, %f31, %p37; + mov.b32 %r38, %f218; + and.b32 %r39, %r38, 8388607; + or.b32 %r40, %r39, 1065353216; + mov.b32 %f219, %r40; + shr.u32 %r41, %r38, 23; + cvt.rn.f32.u32 %f220, %r41; + add.f32 %f221, %f217, %f220; + setp.gt.f32 %p38, %f219, 0f3FB504F3; + mul.f32 %f222, %f219, 0f3F000000; + add.f32 %f223, %f221, 0f3F800000; + selp.f32 %f224, %f222, %f219, %p38; + selp.f32 %f225, %f223, %f221, %p38; + add.f32 %f226, %f224, 0fBF800000; + add.f32 %f214, %f224, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f213,%f214; + // inline asm + add.f32 %f227, %f226, %f226; + mul.f32 %f228, %f213, %f227; + mul.f32 %f229, %f228, %f228; + fma.rn.f32 %f232, %f309, %f229, %f310; + fma.rn.f32 %f234, %f232, %f229, %f311; + mul.rn.f32 %f235, %f234, %f229; + mul.rn.f32 %f236, %f235, %f228; + sub.f32 %f237, %f226, %f228; + neg.f32 %f238, %f228; + add.f32 %f239, %f237, %f237; + fma.rn.f32 %f240, %f238, %f226, %f239; + mul.rn.f32 %f241, %f213, %f240; + add.f32 %f242, %f236, %f228; + sub.f32 %f243, %f228, %f242; + add.f32 %f244, %f236, %f243; + add.f32 %f245, %f241, %f244; + add.f32 %f246, %f242, %f245; + sub.f32 %f247, %f242, %f246; + add.f32 %f248, %f245, %f247; + mul.rn.f32 %f250, %f225, %f312; + mul.rn.f32 %f252, %f225, %f313; + add.f32 %f253, %f250, %f246; + sub.f32 %f254, %f250, %f253; + add.f32 %f255, %f246, %f254; + add.f32 %f256, %f248, %f255; + add.f32 %f257, %f252, %f256; + add.f32 %f258, %f253, %f257; + sub.f32 %f259, %f253, %f258; + add.f32 %f260, %f257, %f259; + mul.rn.f32 %f262, %f308, %f258; + neg.f32 %f263, %f262; + fma.rn.f32 %f264, %f308, %f258, %f263; + fma.rn.f32 %f265, %f308, %f260, %f264; + fma.rn.f32 %f267, %f314, %f258, %f265; + add.rn.f32 %f268, %f262, %f267; + neg.f32 %f269, %f268; + add.rn.f32 %f270, %f262, %f269; + add.rn.f32 %f271, %f270, %f267; + mov.b32 %r42, %f268; + setp.eq.s32 %p39, %r42, 1118925336; + add.s32 %r43, %r42, -1; + mov.b32 %f272, %r43; + add.f32 %f273, %f271, 0f37000000; + selp.f32 %f274, %f272, %f268, %p39; + selp.f32 %f32, %f273, %f271, %p39; + mul.f32 %f275, %f274, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f276, %f275; + fma.rn.f32 %f278, %f276, %f315, %f274; + fma.rn.f32 %f280, %f276, %f316, %f278; + mul.f32 %f281, %f280, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f282, %f281; + add.f32 %f283, %f276, 0f00000000; + ex2.approx.f32 %f284, %f283; + mul.f32 %f285, %f282, %f284; + setp.lt.f32 %p40, %f274, 0fC2D20000; + selp.f32 %f286, 0f00000000, %f285, %p40; + setp.gt.f32 %p41, %f274, 0f42D20000; + selp.f32 %f332, 0f7F800000, %f286, %p41; + setp.eq.f32 %p42, %f332, 0f7F800000; + @%p42 bra BB0_24; + + fma.rn.f32 %f332, %f332, %f32, %f332; + +BB0_24: + setp.lt.f32 %p43, %f3, 0f00000000; + and.pred %p3, %p43, %p12; + mov.b32 %r44, %f332; + xor.b32 %r45, %r44, -2147483648; + mov.b32 %f287, %r45; + selp.f32 %f334, %f287, %f332, %p3; + setp.eq.f32 %p45, %f3, 0f00000000; + @%p45 bra BB0_27; + bra.uni BB0_25; + +BB0_27: + add.f32 %f290, %f3, %f3; + selp.f32 %f334, %f290, 0f00000000, %p12; + bra.uni BB0_28; + +BB0_25: + setp.geu.f32 %p46, %f3, 0f00000000; + @%p46 bra BB0_28; + + mov.f32 %f317, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f289, %f317; + setp.neu.f32 %p47, %f289, 0f3EE8BA2E; + selp.f32 %f334, 0f7FFFFFFF, %f334, %p47; + +BB0_28: + add.f32 %f291, %f31, 0f3EE8BA2E; + mov.b32 %r46, %f291; + setp.lt.s32 %p49, %r46, 2139095040; + @%p49 bra BB0_33; + + setp.gtu.f32 %p50, %f31, 0f7F800000; + @%p50 bra BB0_32; + bra.uni BB0_30; + +BB0_32: + add.f32 %f334, %f3, 0f3EE8BA2E; + bra.uni BB0_33; + +BB0_30: + setp.neu.f32 %p51, %f31, 0f7F800000; + @%p51 bra BB0_33; + + selp.f32 %f334, 0fFF800000, 0f7F800000, %p3; + +BB0_33: + mov.u64 %rd28, 0; + mov.u32 %r54, 2; + setp.eq.f32 %p52, %f3, 0f3F800000; + selp.f32 %f292, 0f3F800000, %f334, %p52; + cvt.sat.f32.f32 %f43, %f292; + ld.global.v2.u32 {%r49, %r50}, [pixelID]; + cvt.u64.u32 %rd23, %r49; + cvt.u64.u32 %rd24, %r50; + mov.u64 %rd27, input_buffer; + cvta.global.u64 %rd22, %rd27; + mov.u32 %r48, 16; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd22, %r54, %r48, %rd23, %rd24, %rd28, %rd28); + // inline asm + ld.global.u32 %r53, [mode]; + setp.eq.s32 %p53, %r53, 0; + @%p53 bra BB0_35; + + mov.f32 %f293, 0f3F800000; + sub.f32 %f294, %f293, %f43; + sub.f32 %f295, %f293, %f30; + sub.f32 %f296, %f293, %f17; + st.v4.f32 [%rd21], {%f296, %f295, %f294, %f293}; + bra.uni BB0_36; + +BB0_35: + mov.f32 %f297, 0f3F800000; + st.v4.f32 [%rd21], {%f17, %f30, %f43, %f297}; + +BB0_36: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare.ptx.meta new file mode 100644 index 00000000..efea276a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c975724414595b499496e69340c5672 +timeCreated: 1526332011 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare72.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare72.ptx new file mode 100644 index 00000000..391b5873 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare72.ptx @@ -0,0 +1,71 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl __raygen__oxMain +.const .align 8 .b8 cs[32]; + +.visible .entry __raygen__oxMain( + +) +{ + .reg .pred %p<3>; + .reg .b16 %rs<8>; + .reg .f32 %f<13>; + .reg .b32 %r<9>; + .reg .b64 %rd<9>; + + + // inline asm + call (%r1), _optix_get_launch_index_x, (); + // inline asm + // inline asm + call (%r2), _optix_get_launch_index_y, (); + // inline asm + ld.const.u64 %rd1, [cs]; + cvta.to.global.u64 %rd2, %rd1; + ld.const.v2.u32 {%r4, %r5}, [cs+24]; + mad.lo.s32 %r7, %r4, %r2, %r1; + mul.wide.u32 %rd3, %r7, 8; + add.s64 %rd4, %rd2, %rd3; + ld.global.v4.u16 {%rs4, %rs5, %rs6, %rs7}, [%rd4]; + // inline asm + { cvt.f32.f16 %f1, %rs4;} + + // inline asm + // inline asm + { cvt.f32.f16 %f2, %rs5;} + + // inline asm + // inline asm + { cvt.f32.f16 %f3, %rs6;} + + // inline asm + setp.eq.s32 %p1, %r5, 1; + selp.f32 %f4, %f1, %f3, %p1; + selp.f32 %f5, %f3, %f1, %p1; + setp.eq.s32 %p2, %r5, 0; + mov.f32 %f6, 0f3F800000; + sub.f32 %f7, %f6, %f5; + sub.f32 %f8, %f6, %f2; + sub.f32 %f9, %f6, %f4; + ld.const.u64 %rd5, [cs+8]; + cvta.to.global.u64 %rd6, %rd5; + mul.wide.u32 %rd7, %r7, 16; + add.s64 %rd8, %rd6, %rd7; + selp.f32 %f10, %f4, %f9, %p2; + selp.f32 %f11, %f5, %f7, %p2; + selp.f32 %f12, %f2, %f8, %p2; + st.global.v4.f32 [%rd8], {%f11, %f12, %f10, %f6}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare72.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare72.ptx.meta new file mode 100644 index 00000000..fe6cff2b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepare72.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 37759ebb3c14dd94c8fd9cb41ba67722 +timeCreated: 1605208943 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareOIDN.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareOIDN.ptx new file mode 100644 index 00000000..d2b42d8d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareOIDN.ptx @@ -0,0 +1,116 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 input_buffer[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b16 %rs<4>; + .reg .f32 %f<4>; + .reg .b32 %r<25>; + .reg .b64 %rd<27>; + + + ld.global.v2.u32 {%r9, %r10}, [pixelID]; + cvt.u64.u32 %rd3, %r9; + cvt.u64.u32 %rd4, %r10; + mov.u64 %rd25, image; + cvta.global.u64 %rd2, %rd25; + mov.u32 %r7, 2; + mov.u32 %r6, 8; + mov.u64 %rd24, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r7, %r6, %rd3, %rd4, %rd24, %rd24); + // inline asm + ld.u16 %rs1, [%rd1]; + // inline asm + { cvt.f32.f16 %f1, %rs1;} + + // inline asm + ld.global.v2.u32 {%r13, %r14}, [pixelID]; + cvt.u64.u32 %rd9, %r13; + cvt.u64.u32 %rd10, %r14; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd2, %r7, %r6, %rd9, %rd10, %rd24, %rd24); + // inline asm + ld.u16 %rs2, [%rd7+2]; + // inline asm + { cvt.f32.f16 %f2, %rs2;} + + // inline asm + ld.global.v2.u32 {%r17, %r18}, [pixelID]; + cvt.u64.u32 %rd15, %r17; + cvt.u64.u32 %rd16, %r18; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd2, %r7, %r6, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.u16 %rs3, [%rd13+4]; + // inline asm + { cvt.f32.f16 %f3, %rs3;} + + // inline asm + ld.global.v2.u32 {%r21, %r22}, [pixelID]; + cvt.u64.u32 %rd21, %r21; + cvt.u64.u32 %rd22, %r22; + mov.u64 %rd26, input_buffer; + cvta.global.u64 %rd20, %rd26; + mov.u32 %r8, 12; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r7, %r8, %rd21, %rd22, %rd24, %rd24); + // inline asm + st.f32 [%rd19+8], %f3; + st.f32 [%rd19+4], %f2; + st.f32 [%rd19], %f1; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareOIDN.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareOIDN.ptx.meta new file mode 100644 index 00000000..9c476601 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareOIDN.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 239bdcce70626464e9dbf82737527c87 +timeCreated: 1589355275 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH.ptx new file mode 100644 index 00000000..92bce048 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH.ptx @@ -0,0 +1,595 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 1 .b8 input_buffer[1]; +.global .align 1 .b8 image[1]; +.global .align 4 .u32 mode; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4modeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename4modeE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4modeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic4modeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4modeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<53>; + .reg .b16 %rs<4>; + .reg .f32 %f<327>; + .reg .b32 %r<67>; + .reg .b64 %rd<48>; + + + ld.global.u32 %r1, [mode]; + setp.gt.s32 %p4, %r1, 0; + ld.global.v2.u32 {%r2, %r3}, [pixelID]; + cvt.u64.u32 %rd1, %r2; + cvt.u64.u32 %rd2, %r3; + @%p4 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + mov.u64 %rd40, input_buffer; + cvta.global.u64 %rd23, %rd40; + mov.u32 %r24, 2; + mov.u32 %r25, 16; + mov.u64 %rd39, 0; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r24, %r25, %rd1, %rd2, %rd39, %rd39); + // inline asm + ld.f32 %f315, [%rd22]; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd30, %r26; + cvt.u64.u32 %rd31, %r27; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd23, %r24, %r25, %rd30, %rd31, %rd39, %rd39); + // inline asm + ld.f32 %f316, [%rd28+4]; + ld.global.v2.u32 {%r30, %r31}, [pixelID]; + cvt.u64.u32 %rd36, %r30; + cvt.u64.u32 %rd37, %r31; + // inline asm + call (%rd34), _rt_buffer_get_64, (%rd23, %r24, %r25, %rd36, %rd37, %rd39, %rd39); + // inline asm + ld.f32 %f317, [%rd34+8]; + bra.uni BB0_3; + +BB0_1: + mov.u64 %rd21, image; + cvta.global.u64 %rd4, %rd21; + mov.u32 %r10, 2; + mov.u32 %r11, 8; + mov.u64 %rd20, 0; + // inline asm + call (%rd3), _rt_buffer_get_64, (%rd4, %r10, %r11, %rd1, %rd2, %rd20, %rd20); + // inline asm + ld.u16 %rs1, [%rd3]; + // inline asm + { cvt.f32.f16 %f49, %rs1;} + + // inline asm + ld.global.v2.u32 {%r12, %r13}, [pixelID]; + cvt.u64.u32 %rd11, %r12; + cvt.u64.u32 %rd12, %r13; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd4, %r10, %r11, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.u16 %rs2, [%rd9+2]; + // inline asm + { cvt.f32.f16 %f50, %rs2;} + + // inline asm + ld.global.v2.u32 {%r16, %r17}, [pixelID]; + cvt.u64.u32 %rd17, %r16; + cvt.u64.u32 %rd18, %r17; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd4, %r10, %r11, %rd17, %rd18, %rd20, %rd20); + // inline asm + ld.u16 %rs3, [%rd15+4]; + // inline asm + { cvt.f32.f16 %f51, %rs3;} + + // inline asm + mul.f32 %f52, %f49, 0f40800000; + mul.f32 %f53, %f50, 0f40800000; + mul.f32 %f54, %f51, 0f40800000; + max.f32 %f55, %f52, %f53; + max.f32 %f56, %f55, %f54; + add.f32 %f57, %f56, 0f3F800000; + rcp.rn.f32 %f58, %f57; + mul.f32 %f315, %f52, %f58; + mul.f32 %f316, %f53, %f58; + mul.f32 %f317, %f54, %f58; + +BB0_3: + mov.f32 %f61, 0f3E68BA2E; + cvt.rzi.f32.f32 %f62, %f61; + fma.rn.f32 %f63, %f62, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f10, %f63; + abs.f32 %f11, %f315; + setp.lt.f32 %p5, %f11, 0f00800000; + mul.f32 %f64, %f11, 0f4B800000; + selp.f32 %f65, 0fC3170000, 0fC2FE0000, %p5; + selp.f32 %f66, %f64, %f11, %p5; + mov.b32 %r34, %f66; + and.b32 %r35, %r34, 8388607; + or.b32 %r36, %r35, 1065353216; + mov.b32 %f67, %r36; + shr.u32 %r37, %r34, 23; + cvt.rn.f32.u32 %f68, %r37; + add.f32 %f69, %f65, %f68; + setp.gt.f32 %p6, %f67, 0f3FB504F3; + mul.f32 %f70, %f67, 0f3F000000; + add.f32 %f71, %f69, 0f3F800000; + selp.f32 %f72, %f70, %f67, %p6; + selp.f32 %f73, %f71, %f69, %p6; + add.f32 %f74, %f72, 0fBF800000; + add.f32 %f60, %f72, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f59,%f60; + // inline asm + add.f32 %f75, %f74, %f74; + mul.f32 %f76, %f59, %f75; + mul.f32 %f77, %f76, %f76; + mov.f32 %f78, 0f3C4CAF63; + mov.f32 %f79, 0f3B18F0FE; + fma.rn.f32 %f80, %f79, %f77, %f78; + mov.f32 %f81, 0f3DAAAABD; + fma.rn.f32 %f82, %f80, %f77, %f81; + mul.rn.f32 %f83, %f82, %f77; + mul.rn.f32 %f84, %f83, %f76; + sub.f32 %f85, %f74, %f76; + neg.f32 %f86, %f76; + add.f32 %f87, %f85, %f85; + fma.rn.f32 %f88, %f86, %f74, %f87; + mul.rn.f32 %f89, %f59, %f88; + add.f32 %f90, %f84, %f76; + sub.f32 %f91, %f76, %f90; + add.f32 %f92, %f84, %f91; + add.f32 %f93, %f89, %f92; + add.f32 %f94, %f90, %f93; + sub.f32 %f95, %f90, %f94; + add.f32 %f96, %f93, %f95; + mov.f32 %f97, 0f3F317200; + mul.rn.f32 %f98, %f73, %f97; + mov.f32 %f99, 0f35BFBE8E; + mul.rn.f32 %f100, %f73, %f99; + add.f32 %f101, %f98, %f94; + sub.f32 %f102, %f98, %f101; + add.f32 %f103, %f94, %f102; + add.f32 %f104, %f96, %f103; + add.f32 %f105, %f100, %f104; + add.f32 %f106, %f101, %f105; + sub.f32 %f107, %f101, %f106; + add.f32 %f108, %f105, %f107; + mov.f32 %f109, 0f3EE8BA2E; + mul.rn.f32 %f110, %f109, %f106; + neg.f32 %f111, %f110; + fma.rn.f32 %f112, %f109, %f106, %f111; + fma.rn.f32 %f113, %f109, %f108, %f112; + mov.f32 %f114, 0f00000000; + fma.rn.f32 %f115, %f114, %f106, %f113; + add.rn.f32 %f116, %f110, %f115; + neg.f32 %f117, %f116; + add.rn.f32 %f118, %f110, %f117; + add.rn.f32 %f119, %f118, %f115; + mov.b32 %r38, %f116; + setp.eq.s32 %p7, %r38, 1118925336; + add.s32 %r39, %r38, -1; + mov.b32 %f120, %r39; + add.f32 %f121, %f119, 0f37000000; + selp.f32 %f122, %f120, %f116, %p7; + selp.f32 %f12, %f121, %f119, %p7; + mul.f32 %f123, %f122, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f124, %f123; + mov.f32 %f125, 0fBF317200; + fma.rn.f32 %f126, %f124, %f125, %f122; + mov.f32 %f127, 0fB5BFBE8E; + fma.rn.f32 %f128, %f124, %f127, %f126; + mul.f32 %f129, %f128, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f130, %f129; + add.f32 %f131, %f124, 0f00000000; + ex2.approx.f32 %f132, %f131; + mul.f32 %f133, %f130, %f132; + setp.lt.f32 %p8, %f122, 0fC2D20000; + selp.f32 %f134, 0f00000000, %f133, %p8; + setp.gt.f32 %p9, %f122, 0f42D20000; + selp.f32 %f318, 0f7F800000, %f134, %p9; + setp.eq.f32 %p10, %f318, 0f7F800000; + @%p10 bra BB0_5; + + fma.rn.f32 %f318, %f318, %f12, %f318; + +BB0_5: + setp.lt.f32 %p11, %f315, 0f00000000; + setp.eq.f32 %p12, %f10, 0f3F800000; + and.pred %p1, %p11, %p12; + mov.b32 %r40, %f318; + xor.b32 %r41, %r40, -2147483648; + mov.b32 %f135, %r41; + selp.f32 %f320, %f135, %f318, %p1; + setp.eq.f32 %p13, %f315, 0f00000000; + @%p13 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f138, %f315, %f315; + selp.f32 %f320, %f138, 0f00000000, %p12; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p14, %f315, 0f00000000; + @%p14 bra BB0_9; + + cvt.rzi.f32.f32 %f137, %f109; + setp.neu.f32 %p15, %f137, 0f3EE8BA2E; + selp.f32 %f320, 0f7FFFFFFF, %f320, %p15; + +BB0_9: + add.f32 %f139, %f11, 0f3EE8BA2E; + mov.b32 %r42, %f139; + setp.lt.s32 %p17, %r42, 2139095040; + @%p17 bra BB0_14; + + setp.gtu.f32 %p18, %f11, 0f7F800000; + @%p18 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f320, %f315, 0f3EE8BA2E; + bra.uni BB0_14; + +BB0_11: + setp.neu.f32 %p19, %f11, 0f7F800000; + @%p19 bra BB0_14; + + selp.f32 %f320, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f307, 0fBF317200; + mov.f32 %f306, 0f00000000; + mov.f32 %f305, 0f35BFBE8E; + mov.f32 %f304, 0f3F317200; + mov.f32 %f303, 0f3DAAAABD; + mov.f32 %f302, 0f3C4CAF63; + mov.f32 %f301, 0f3B18F0FE; + setp.eq.f32 %p20, %f315, 0f3F800000; + selp.f32 %f142, 0f3F800000, %f320, %p20; + cvt.sat.f32.f32 %f23, %f142; + abs.f32 %f24, %f316; + setp.lt.f32 %p21, %f24, 0f00800000; + mul.f32 %f143, %f24, 0f4B800000; + selp.f32 %f144, 0fC3170000, 0fC2FE0000, %p21; + selp.f32 %f145, %f143, %f24, %p21; + mov.b32 %r43, %f145; + and.b32 %r44, %r43, 8388607; + or.b32 %r45, %r44, 1065353216; + mov.b32 %f146, %r45; + shr.u32 %r46, %r43, 23; + cvt.rn.f32.u32 %f147, %r46; + add.f32 %f148, %f144, %f147; + setp.gt.f32 %p22, %f146, 0f3FB504F3; + mul.f32 %f149, %f146, 0f3F000000; + add.f32 %f150, %f148, 0f3F800000; + selp.f32 %f151, %f149, %f146, %p22; + selp.f32 %f152, %f150, %f148, %p22; + add.f32 %f153, %f151, 0fBF800000; + add.f32 %f141, %f151, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f140,%f141; + // inline asm + add.f32 %f154, %f153, %f153; + mul.f32 %f155, %f140, %f154; + mul.f32 %f156, %f155, %f155; + fma.rn.f32 %f159, %f301, %f156, %f302; + fma.rn.f32 %f161, %f159, %f156, %f303; + mul.rn.f32 %f162, %f161, %f156; + mul.rn.f32 %f163, %f162, %f155; + sub.f32 %f164, %f153, %f155; + neg.f32 %f165, %f155; + add.f32 %f166, %f164, %f164; + fma.rn.f32 %f167, %f165, %f153, %f166; + mul.rn.f32 %f168, %f140, %f167; + add.f32 %f169, %f163, %f155; + sub.f32 %f170, %f155, %f169; + add.f32 %f171, %f163, %f170; + add.f32 %f172, %f168, %f171; + add.f32 %f173, %f169, %f172; + sub.f32 %f174, %f169, %f173; + add.f32 %f175, %f172, %f174; + mul.rn.f32 %f177, %f152, %f304; + mul.rn.f32 %f179, %f152, %f305; + add.f32 %f180, %f177, %f173; + sub.f32 %f181, %f177, %f180; + add.f32 %f182, %f173, %f181; + add.f32 %f183, %f175, %f182; + add.f32 %f184, %f179, %f183; + add.f32 %f185, %f180, %f184; + sub.f32 %f186, %f180, %f185; + add.f32 %f187, %f184, %f186; + mul.rn.f32 %f189, %f109, %f185; + neg.f32 %f190, %f189; + fma.rn.f32 %f191, %f109, %f185, %f190; + fma.rn.f32 %f192, %f109, %f187, %f191; + fma.rn.f32 %f194, %f306, %f185, %f192; + add.rn.f32 %f195, %f189, %f194; + neg.f32 %f196, %f195; + add.rn.f32 %f197, %f189, %f196; + add.rn.f32 %f198, %f197, %f194; + mov.b32 %r47, %f195; + setp.eq.s32 %p23, %r47, 1118925336; + add.s32 %r48, %r47, -1; + mov.b32 %f199, %r48; + add.f32 %f200, %f198, 0f37000000; + selp.f32 %f201, %f199, %f195, %p23; + selp.f32 %f25, %f200, %f198, %p23; + mul.f32 %f202, %f201, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f203, %f202; + fma.rn.f32 %f205, %f203, %f307, %f201; + fma.rn.f32 %f207, %f203, %f127, %f205; + mul.f32 %f208, %f207, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f209, %f208; + add.f32 %f210, %f203, 0f00000000; + ex2.approx.f32 %f211, %f210; + mul.f32 %f212, %f209, %f211; + setp.lt.f32 %p24, %f201, 0fC2D20000; + selp.f32 %f213, 0f00000000, %f212, %p24; + setp.gt.f32 %p25, %f201, 0f42D20000; + selp.f32 %f321, 0f7F800000, %f213, %p25; + setp.eq.f32 %p26, %f321, 0f7F800000; + @%p26 bra BB0_16; + + fma.rn.f32 %f321, %f321, %f25, %f321; + +BB0_16: + setp.lt.f32 %p27, %f316, 0f00000000; + and.pred %p2, %p27, %p12; + mov.b32 %r49, %f321; + xor.b32 %r50, %r49, -2147483648; + mov.b32 %f214, %r50; + selp.f32 %f323, %f214, %f321, %p2; + setp.eq.f32 %p29, %f316, 0f00000000; + @%p29 bra BB0_19; + bra.uni BB0_17; + +BB0_19: + add.f32 %f217, %f316, %f316; + selp.f32 %f323, %f217, 0f00000000, %p12; + bra.uni BB0_20; + +BB0_17: + setp.geu.f32 %p30, %f316, 0f00000000; + @%p30 bra BB0_20; + + cvt.rzi.f32.f32 %f216, %f109; + setp.neu.f32 %p31, %f216, 0f3EE8BA2E; + selp.f32 %f323, 0f7FFFFFFF, %f323, %p31; + +BB0_20: + add.f32 %f218, %f24, 0f3EE8BA2E; + mov.b32 %r51, %f218; + setp.lt.s32 %p33, %r51, 2139095040; + @%p33 bra BB0_25; + + setp.gtu.f32 %p34, %f24, 0f7F800000; + @%p34 bra BB0_24; + bra.uni BB0_22; + +BB0_24: + add.f32 %f323, %f316, 0f3EE8BA2E; + bra.uni BB0_25; + +BB0_22: + setp.neu.f32 %p35, %f24, 0f7F800000; + @%p35 bra BB0_25; + + selp.f32 %f323, 0fFF800000, 0f7F800000, %p2; + +BB0_25: + mov.f32 %f314, 0fBF317200; + mov.f32 %f313, 0f00000000; + mov.f32 %f312, 0f35BFBE8E; + mov.f32 %f311, 0f3F317200; + mov.f32 %f310, 0f3DAAAABD; + mov.f32 %f309, 0f3C4CAF63; + mov.f32 %f308, 0f3B18F0FE; + setp.eq.f32 %p36, %f316, 0f3F800000; + selp.f32 %f221, 0f3F800000, %f323, %p36; + cvt.sat.f32.f32 %f36, %f221; + abs.f32 %f37, %f317; + setp.lt.f32 %p37, %f37, 0f00800000; + mul.f32 %f222, %f37, 0f4B800000; + selp.f32 %f223, 0fC3170000, 0fC2FE0000, %p37; + selp.f32 %f224, %f222, %f37, %p37; + mov.b32 %r52, %f224; + and.b32 %r53, %r52, 8388607; + or.b32 %r54, %r53, 1065353216; + mov.b32 %f225, %r54; + shr.u32 %r55, %r52, 23; + cvt.rn.f32.u32 %f226, %r55; + add.f32 %f227, %f223, %f226; + setp.gt.f32 %p38, %f225, 0f3FB504F3; + mul.f32 %f228, %f225, 0f3F000000; + add.f32 %f229, %f227, 0f3F800000; + selp.f32 %f230, %f228, %f225, %p38; + selp.f32 %f231, %f229, %f227, %p38; + add.f32 %f232, %f230, 0fBF800000; + add.f32 %f220, %f230, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f219,%f220; + // inline asm + add.f32 %f233, %f232, %f232; + mul.f32 %f234, %f219, %f233; + mul.f32 %f235, %f234, %f234; + fma.rn.f32 %f238, %f308, %f235, %f309; + fma.rn.f32 %f240, %f238, %f235, %f310; + mul.rn.f32 %f241, %f240, %f235; + mul.rn.f32 %f242, %f241, %f234; + sub.f32 %f243, %f232, %f234; + neg.f32 %f244, %f234; + add.f32 %f245, %f243, %f243; + fma.rn.f32 %f246, %f244, %f232, %f245; + mul.rn.f32 %f247, %f219, %f246; + add.f32 %f248, %f242, %f234; + sub.f32 %f249, %f234, %f248; + add.f32 %f250, %f242, %f249; + add.f32 %f251, %f247, %f250; + add.f32 %f252, %f248, %f251; + sub.f32 %f253, %f248, %f252; + add.f32 %f254, %f251, %f253; + mul.rn.f32 %f256, %f231, %f311; + mul.rn.f32 %f258, %f231, %f312; + add.f32 %f259, %f256, %f252; + sub.f32 %f260, %f256, %f259; + add.f32 %f261, %f252, %f260; + add.f32 %f262, %f254, %f261; + add.f32 %f263, %f258, %f262; + add.f32 %f264, %f259, %f263; + sub.f32 %f265, %f259, %f264; + add.f32 %f266, %f263, %f265; + mul.rn.f32 %f268, %f109, %f264; + neg.f32 %f269, %f268; + fma.rn.f32 %f270, %f109, %f264, %f269; + fma.rn.f32 %f271, %f109, %f266, %f270; + fma.rn.f32 %f273, %f313, %f264, %f271; + add.rn.f32 %f274, %f268, %f273; + neg.f32 %f275, %f274; + add.rn.f32 %f276, %f268, %f275; + add.rn.f32 %f277, %f276, %f273; + mov.b32 %r56, %f274; + setp.eq.s32 %p39, %r56, 1118925336; + add.s32 %r57, %r56, -1; + mov.b32 %f278, %r57; + add.f32 %f279, %f277, 0f37000000; + selp.f32 %f280, %f278, %f274, %p39; + selp.f32 %f38, %f279, %f277, %p39; + mul.f32 %f281, %f280, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f282, %f281; + fma.rn.f32 %f284, %f282, %f314, %f280; + fma.rn.f32 %f286, %f282, %f127, %f284; + mul.f32 %f287, %f286, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f288, %f287; + add.f32 %f289, %f282, 0f00000000; + ex2.approx.f32 %f290, %f289; + mul.f32 %f291, %f288, %f290; + setp.lt.f32 %p40, %f280, 0fC2D20000; + selp.f32 %f292, 0f00000000, %f291, %p40; + setp.gt.f32 %p41, %f280, 0f42D20000; + selp.f32 %f324, 0f7F800000, %f292, %p41; + setp.eq.f32 %p42, %f324, 0f7F800000; + @%p42 bra BB0_27; + + fma.rn.f32 %f324, %f324, %f38, %f324; + +BB0_27: + setp.lt.f32 %p43, %f317, 0f00000000; + and.pred %p3, %p43, %p12; + mov.b32 %r58, %f324; + xor.b32 %r59, %r58, -2147483648; + mov.b32 %f293, %r59; + selp.f32 %f326, %f293, %f324, %p3; + setp.eq.f32 %p45, %f317, 0f00000000; + @%p45 bra BB0_30; + bra.uni BB0_28; + +BB0_30: + add.f32 %f296, %f317, %f317; + selp.f32 %f326, %f296, 0f00000000, %p12; + bra.uni BB0_31; + +BB0_28: + setp.geu.f32 %p46, %f317, 0f00000000; + @%p46 bra BB0_31; + + cvt.rzi.f32.f32 %f295, %f109; + setp.neu.f32 %p47, %f295, 0f3EE8BA2E; + selp.f32 %f326, 0f7FFFFFFF, %f326, %p47; + +BB0_31: + add.f32 %f297, %f37, 0f3EE8BA2E; + mov.b32 %r60, %f297; + setp.lt.s32 %p49, %r60, 2139095040; + @%p49 bra BB0_36; + + setp.gtu.f32 %p50, %f37, 0f7F800000; + @%p50 bra BB0_35; + bra.uni BB0_33; + +BB0_35: + add.f32 %f326, %f317, 0f3EE8BA2E; + bra.uni BB0_36; + +BB0_33: + setp.neu.f32 %p51, %f37, 0f7F800000; + @%p51 bra BB0_36; + + selp.f32 %f326, 0fFF800000, 0f7F800000, %p3; + +BB0_36: + setp.eq.f32 %p52, %f317, 0f3F800000; + selp.f32 %f298, 0f3F800000, %f326, %p52; + ld.global.v2.u32 {%r63, %r64}, [pixelID]; + cvt.u64.u32 %rd43, %r63; + cvt.u64.u32 %rd44, %r64; + mov.u64 %rd47, input_buffer; + cvta.global.u64 %rd42, %rd47; + mov.u32 %r61, 2; + mov.u32 %r62, 16; + mov.u64 %rd46, 0; + // inline asm + call (%rd41), _rt_buffer_get_64, (%rd42, %r61, %r62, %rd43, %rd44, %rd46, %rd46); + // inline asm + cvt.sat.f32.f32 %f299, %f298; + mov.f32 %f300, 0f3F800000; + st.v4.f32 [%rd41], {%f23, %f36, %f299, %f300}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH.ptx.meta new file mode 100644 index 00000000..3200f9e8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 20b1479cc74212c4bb1e3ac7a32c7eb4 +timeCreated: 1538345689 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH72.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH72.ptx new file mode 100644 index 00000000..34da48b1 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH72.ptx @@ -0,0 +1,519 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl __raygen__oxMain +.const .align 8 .b8 cs[32]; + +.visible .entry __raygen__oxMain( + +) +{ + .reg .pred %p<53>; + .reg .b16 %rs<8>; + .reg .f32 %f<334>; + .reg .b32 %r<42>; + .reg .b64 %rd<16>; + + + // inline asm + call (%r6), _optix_get_launch_index_x, (); + // inline asm + // inline asm + call (%r7), _optix_get_launch_index_y, (); + // inline asm + ld.const.u32 %r9, [cs+28]; + setp.gt.s32 %p4, %r9, 0; + @%p4 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + ld.const.u64 %rd2, [cs+8]; + cvta.to.global.u64 %rd8, %rd2; + ld.const.u32 %r4, [cs+24]; + mad.lo.s32 %r11, %r4, %r7, %r6; + mul.wide.u32 %rd9, %r11, 16; + add.s64 %rd10, %rd8, %rd9; + ld.global.v4.f32 {%f55, %f56, %f57, %f58}, [%rd10]; + mov.f32 %f59, 0f3E68BA2E; + cvt.rzi.f32.f32 %f60, %f59; + fma.rn.f32 %f61, %f60, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f6, %f61; + abs.f32 %f8, %f55; + setp.lt.f32 %p5, %f8, 0f00800000; + mul.f32 %f62, %f8, 0f4B800000; + selp.f32 %f63, 0fC3170000, 0fC2FE0000, %p5; + selp.f32 %f64, %f62, %f8, %p5; + mov.b32 %r12, %f64; + and.b32 %r13, %r12, 8388607; + or.b32 %r14, %r13, 1065353216; + mov.b32 %f65, %r14; + shr.u32 %r15, %r12, 23; + cvt.rn.f32.u32 %f66, %r15; + add.f32 %f67, %f63, %f66; + setp.gt.f32 %p6, %f65, 0f3FB504F3; + mul.f32 %f68, %f65, 0f3F000000; + add.f32 %f69, %f67, 0f3F800000; + selp.f32 %f70, %f68, %f65, %p6; + selp.f32 %f71, %f69, %f67, %p6; + add.f32 %f72, %f70, 0fBF800000; + add.f32 %f54, %f70, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f53,%f54; + // inline asm + add.f32 %f73, %f72, %f72; + mul.f32 %f74, %f53, %f73; + mul.f32 %f75, %f74, %f74; + mov.f32 %f76, 0f3C4CAF63; + mov.f32 %f77, 0f3B18F0FE; + fma.rn.f32 %f78, %f77, %f75, %f76; + mov.f32 %f79, 0f3DAAAABD; + fma.rn.f32 %f80, %f78, %f75, %f79; + mul.rn.f32 %f81, %f80, %f75; + mul.rn.f32 %f82, %f81, %f74; + sub.f32 %f83, %f72, %f74; + neg.f32 %f84, %f74; + add.f32 %f85, %f83, %f83; + fma.rn.f32 %f86, %f84, %f72, %f85; + mul.rn.f32 %f87, %f53, %f86; + add.f32 %f88, %f82, %f74; + sub.f32 %f89, %f74, %f88; + add.f32 %f90, %f82, %f89; + add.f32 %f91, %f87, %f90; + add.f32 %f92, %f88, %f91; + sub.f32 %f93, %f88, %f92; + add.f32 %f94, %f91, %f93; + mov.f32 %f95, 0f3F317200; + mul.rn.f32 %f96, %f71, %f95; + mov.f32 %f97, 0f35BFBE8E; + mul.rn.f32 %f98, %f71, %f97; + add.f32 %f99, %f96, %f92; + sub.f32 %f100, %f96, %f99; + add.f32 %f101, %f92, %f100; + add.f32 %f102, %f94, %f101; + add.f32 %f103, %f98, %f102; + add.f32 %f104, %f99, %f103; + sub.f32 %f105, %f99, %f104; + add.f32 %f106, %f103, %f105; + mov.f32 %f107, 0f3EE8BA2E; + mul.rn.f32 %f108, %f107, %f104; + neg.f32 %f109, %f108; + fma.rn.f32 %f110, %f107, %f104, %f109; + fma.rn.f32 %f111, %f107, %f106, %f110; + mov.f32 %f112, 0f00000000; + fma.rn.f32 %f113, %f112, %f104, %f111; + add.rn.f32 %f114, %f108, %f113; + neg.f32 %f115, %f114; + add.rn.f32 %f116, %f108, %f115; + add.rn.f32 %f117, %f116, %f113; + mov.b32 %r16, %f114; + setp.eq.s32 %p7, %r16, 1118925336; + add.s32 %r17, %r16, -1; + mov.b32 %f118, %r17; + add.f32 %f119, %f117, 0f37000000; + selp.f32 %f120, %f118, %f114, %p7; + selp.f32 %f9, %f119, %f117, %p7; + mul.f32 %f121, %f120, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f122, %f121; + mov.f32 %f123, 0fBF317200; + fma.rn.f32 %f124, %f122, %f123, %f120; + mov.f32 %f125, 0fB5BFBE8E; + fma.rn.f32 %f126, %f122, %f125, %f124; + mul.f32 %f127, %f126, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f128, %f127; + add.f32 %f129, %f122, 0f00000000; + ex2.approx.f32 %f130, %f129; + mul.f32 %f131, %f128, %f130; + setp.lt.f32 %p8, %f120, 0fC2D20000; + selp.f32 %f132, 0f00000000, %f131, %p8; + setp.gt.f32 %p9, %f120, 0f42D20000; + selp.f32 %f322, 0f7F800000, %f132, %p9; + setp.eq.f32 %p10, %f322, 0f7F800000; + @%p10 bra BB0_4; + + fma.rn.f32 %f322, %f322, %f9, %f322; + +BB0_4: + setp.lt.f32 %p11, %f55, 0f00000000; + setp.eq.f32 %p12, %f6, 0f3F800000; + and.pred %p1, %p11, %p12; + mov.b32 %r18, %f322; + xor.b32 %r19, %r18, -2147483648; + mov.b32 %f133, %r19; + selp.f32 %f324, %f133, %f322, %p1; + setp.eq.f32 %p13, %f55, 0f00000000; + @%p13 bra BB0_7; + bra.uni BB0_5; + +BB0_7: + add.f32 %f136, %f55, %f55; + selp.f32 %f324, %f136, 0f00000000, %p12; + bra.uni BB0_8; + +BB0_1: + ld.const.u64 %rd4, [cs]; + cvta.to.global.u64 %rd5, %rd4; + ld.const.u32 %r41, [cs+24]; + mad.lo.s32 %r10, %r41, %r7, %r6; + mul.wide.u32 %rd6, %r10, 8; + add.s64 %rd7, %rd5, %rd6; + ld.global.v4.u16 {%rs4, %rs5, %rs6, %rs7}, [%rd7]; + // inline asm + { cvt.f32.f16 %f331, %rs4;} + + // inline asm + // inline asm + { cvt.f32.f16 %f332, %rs5;} + + // inline asm + // inline asm + { cvt.f32.f16 %f333, %rs6;} + + // inline asm + ld.const.u64 %rd15, [cs+8]; + bra.uni BB0_36; + +BB0_5: + setp.geu.f32 %p14, %f55, 0f00000000; + @%p14 bra BB0_8; + + mov.f32 %f321, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f135, %f321; + setp.neu.f32 %p15, %f135, 0f3EE8BA2E; + selp.f32 %f324, 0f7FFFFFFF, %f324, %p15; + +BB0_8: + abs.f32 %f298, %f55; + add.f32 %f137, %f298, 0f3EE8BA2E; + mov.b32 %r20, %f137; + setp.lt.s32 %p17, %r20, 2139095040; + @%p17 bra BB0_13; + + abs.f32 %f319, %f55; + setp.gtu.f32 %p18, %f319, 0f7F800000; + @%p18 bra BB0_12; + bra.uni BB0_10; + +BB0_12: + add.f32 %f324, %f55, 0f3EE8BA2E; + bra.uni BB0_13; + +BB0_10: + abs.f32 %f320, %f55; + setp.neu.f32 %p19, %f320, 0f7F800000; + @%p19 bra BB0_13; + + selp.f32 %f324, 0fFF800000, 0f7F800000, %p1; + +BB0_13: + mov.f32 %f307, 0fB5BFBE8E; + mov.f32 %f306, 0fBF317200; + mov.f32 %f305, 0f00000000; + mov.f32 %f304, 0f35BFBE8E; + mov.f32 %f303, 0f3F317200; + mov.f32 %f302, 0f3DAAAABD; + mov.f32 %f301, 0f3C4CAF63; + mov.f32 %f300, 0f3B18F0FE; + mov.f32 %f299, 0f3EE8BA2E; + setp.eq.f32 %p20, %f55, 0f3F800000; + selp.f32 %f140, 0f3F800000, %f324, %p20; + cvt.sat.f32.f32 %f331, %f140; + abs.f32 %f21, %f56; + setp.lt.f32 %p21, %f21, 0f00800000; + mul.f32 %f141, %f21, 0f4B800000; + selp.f32 %f142, 0fC3170000, 0fC2FE0000, %p21; + selp.f32 %f143, %f141, %f21, %p21; + mov.b32 %r21, %f143; + and.b32 %r22, %r21, 8388607; + or.b32 %r23, %r22, 1065353216; + mov.b32 %f144, %r23; + shr.u32 %r24, %r21, 23; + cvt.rn.f32.u32 %f145, %r24; + add.f32 %f146, %f142, %f145; + setp.gt.f32 %p22, %f144, 0f3FB504F3; + mul.f32 %f147, %f144, 0f3F000000; + add.f32 %f148, %f146, 0f3F800000; + selp.f32 %f149, %f147, %f144, %p22; + selp.f32 %f150, %f148, %f146, %p22; + add.f32 %f151, %f149, 0fBF800000; + add.f32 %f139, %f149, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f138,%f139; + // inline asm + add.f32 %f152, %f151, %f151; + mul.f32 %f153, %f138, %f152; + mul.f32 %f154, %f153, %f153; + fma.rn.f32 %f157, %f300, %f154, %f301; + fma.rn.f32 %f159, %f157, %f154, %f302; + mul.rn.f32 %f160, %f159, %f154; + mul.rn.f32 %f161, %f160, %f153; + sub.f32 %f162, %f151, %f153; + neg.f32 %f163, %f153; + add.f32 %f164, %f162, %f162; + fma.rn.f32 %f165, %f163, %f151, %f164; + mul.rn.f32 %f166, %f138, %f165; + add.f32 %f167, %f161, %f153; + sub.f32 %f168, %f153, %f167; + add.f32 %f169, %f161, %f168; + add.f32 %f170, %f166, %f169; + add.f32 %f171, %f167, %f170; + sub.f32 %f172, %f167, %f171; + add.f32 %f173, %f170, %f172; + mul.rn.f32 %f175, %f150, %f303; + mul.rn.f32 %f177, %f150, %f304; + add.f32 %f178, %f175, %f171; + sub.f32 %f179, %f175, %f178; + add.f32 %f180, %f171, %f179; + add.f32 %f181, %f173, %f180; + add.f32 %f182, %f177, %f181; + add.f32 %f183, %f178, %f182; + sub.f32 %f184, %f178, %f183; + add.f32 %f185, %f182, %f184; + mul.rn.f32 %f187, %f299, %f183; + neg.f32 %f188, %f187; + fma.rn.f32 %f189, %f299, %f183, %f188; + fma.rn.f32 %f190, %f299, %f185, %f189; + fma.rn.f32 %f192, %f305, %f183, %f190; + add.rn.f32 %f193, %f187, %f192; + neg.f32 %f194, %f193; + add.rn.f32 %f195, %f187, %f194; + add.rn.f32 %f196, %f195, %f192; + mov.b32 %r25, %f193; + setp.eq.s32 %p23, %r25, 1118925336; + add.s32 %r26, %r25, -1; + mov.b32 %f197, %r26; + add.f32 %f198, %f196, 0f37000000; + selp.f32 %f199, %f197, %f193, %p23; + selp.f32 %f22, %f198, %f196, %p23; + mul.f32 %f200, %f199, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f201, %f200; + fma.rn.f32 %f203, %f201, %f306, %f199; + fma.rn.f32 %f205, %f201, %f307, %f203; + mul.f32 %f206, %f205, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f207, %f206; + add.f32 %f208, %f201, 0f00000000; + ex2.approx.f32 %f209, %f208; + mul.f32 %f210, %f207, %f209; + setp.lt.f32 %p24, %f199, 0fC2D20000; + selp.f32 %f211, 0f00000000, %f210, %p24; + setp.gt.f32 %p25, %f199, 0f42D20000; + selp.f32 %f325, 0f7F800000, %f211, %p25; + setp.eq.f32 %p26, %f325, 0f7F800000; + @%p26 bra BB0_15; + + fma.rn.f32 %f325, %f325, %f22, %f325; + +BB0_15: + setp.lt.f32 %p27, %f56, 0f00000000; + and.pred %p2, %p27, %p12; + mov.b32 %r27, %f325; + xor.b32 %r28, %r27, -2147483648; + mov.b32 %f212, %r28; + selp.f32 %f327, %f212, %f325, %p2; + setp.eq.f32 %p29, %f56, 0f00000000; + @%p29 bra BB0_18; + bra.uni BB0_16; + +BB0_18: + add.f32 %f215, %f56, %f56; + selp.f32 %f327, %f215, 0f00000000, %p12; + bra.uni BB0_19; + +BB0_16: + setp.geu.f32 %p30, %f56, 0f00000000; + @%p30 bra BB0_19; + + mov.f32 %f318, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f214, %f318; + setp.neu.f32 %p31, %f214, 0f3EE8BA2E; + selp.f32 %f327, 0f7FFFFFFF, %f327, %p31; + +BB0_19: + add.f32 %f216, %f21, 0f3EE8BA2E; + mov.b32 %r29, %f216; + setp.lt.s32 %p33, %r29, 2139095040; + @%p33 bra BB0_24; + + setp.gtu.f32 %p34, %f21, 0f7F800000; + @%p34 bra BB0_23; + bra.uni BB0_21; + +BB0_23: + add.f32 %f327, %f56, 0f3EE8BA2E; + bra.uni BB0_24; + +BB0_21: + setp.neu.f32 %p35, %f21, 0f7F800000; + @%p35 bra BB0_24; + + selp.f32 %f327, 0fFF800000, 0f7F800000, %p2; + +BB0_24: + mov.f32 %f316, 0fB5BFBE8E; + mov.f32 %f315, 0fBF317200; + mov.f32 %f314, 0f00000000; + mov.f32 %f313, 0f35BFBE8E; + mov.f32 %f312, 0f3F317200; + mov.f32 %f311, 0f3DAAAABD; + mov.f32 %f310, 0f3C4CAF63; + mov.f32 %f309, 0f3B18F0FE; + mov.f32 %f308, 0f3EE8BA2E; + setp.eq.f32 %p36, %f56, 0f3F800000; + selp.f32 %f219, 0f3F800000, %f327, %p36; + cvt.sat.f32.f32 %f332, %f219; + abs.f32 %f34, %f57; + setp.lt.f32 %p37, %f34, 0f00800000; + mul.f32 %f220, %f34, 0f4B800000; + selp.f32 %f221, 0fC3170000, 0fC2FE0000, %p37; + selp.f32 %f222, %f220, %f34, %p37; + mov.b32 %r30, %f222; + and.b32 %r31, %r30, 8388607; + or.b32 %r32, %r31, 1065353216; + mov.b32 %f223, %r32; + shr.u32 %r33, %r30, 23; + cvt.rn.f32.u32 %f224, %r33; + add.f32 %f225, %f221, %f224; + setp.gt.f32 %p38, %f223, 0f3FB504F3; + mul.f32 %f226, %f223, 0f3F000000; + add.f32 %f227, %f225, 0f3F800000; + selp.f32 %f228, %f226, %f223, %p38; + selp.f32 %f229, %f227, %f225, %p38; + add.f32 %f230, %f228, 0fBF800000; + add.f32 %f218, %f228, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f217,%f218; + // inline asm + add.f32 %f231, %f230, %f230; + mul.f32 %f232, %f217, %f231; + mul.f32 %f233, %f232, %f232; + fma.rn.f32 %f236, %f309, %f233, %f310; + fma.rn.f32 %f238, %f236, %f233, %f311; + mul.rn.f32 %f239, %f238, %f233; + mul.rn.f32 %f240, %f239, %f232; + sub.f32 %f241, %f230, %f232; + neg.f32 %f242, %f232; + add.f32 %f243, %f241, %f241; + fma.rn.f32 %f244, %f242, %f230, %f243; + mul.rn.f32 %f245, %f217, %f244; + add.f32 %f246, %f240, %f232; + sub.f32 %f247, %f232, %f246; + add.f32 %f248, %f240, %f247; + add.f32 %f249, %f245, %f248; + add.f32 %f250, %f246, %f249; + sub.f32 %f251, %f246, %f250; + add.f32 %f252, %f249, %f251; + mul.rn.f32 %f254, %f229, %f312; + mul.rn.f32 %f256, %f229, %f313; + add.f32 %f257, %f254, %f250; + sub.f32 %f258, %f254, %f257; + add.f32 %f259, %f250, %f258; + add.f32 %f260, %f252, %f259; + add.f32 %f261, %f256, %f260; + add.f32 %f262, %f257, %f261; + sub.f32 %f263, %f257, %f262; + add.f32 %f264, %f261, %f263; + mul.rn.f32 %f266, %f308, %f262; + neg.f32 %f267, %f266; + fma.rn.f32 %f268, %f308, %f262, %f267; + fma.rn.f32 %f269, %f308, %f264, %f268; + fma.rn.f32 %f271, %f314, %f262, %f269; + add.rn.f32 %f272, %f266, %f271; + neg.f32 %f273, %f272; + add.rn.f32 %f274, %f266, %f273; + add.rn.f32 %f275, %f274, %f271; + mov.b32 %r34, %f272; + setp.eq.s32 %p39, %r34, 1118925336; + add.s32 %r35, %r34, -1; + mov.b32 %f276, %r35; + add.f32 %f277, %f275, 0f37000000; + selp.f32 %f278, %f276, %f272, %p39; + selp.f32 %f35, %f277, %f275, %p39; + mul.f32 %f279, %f278, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f280, %f279; + fma.rn.f32 %f282, %f280, %f315, %f278; + fma.rn.f32 %f284, %f280, %f316, %f282; + mul.f32 %f285, %f284, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f286, %f285; + add.f32 %f287, %f280, 0f00000000; + ex2.approx.f32 %f288, %f287; + mul.f32 %f289, %f286, %f288; + setp.lt.f32 %p40, %f278, 0fC2D20000; + selp.f32 %f290, 0f00000000, %f289, %p40; + setp.gt.f32 %p41, %f278, 0f42D20000; + selp.f32 %f328, 0f7F800000, %f290, %p41; + setp.eq.f32 %p42, %f328, 0f7F800000; + @%p42 bra BB0_26; + + fma.rn.f32 %f328, %f328, %f35, %f328; + +BB0_26: + setp.lt.f32 %p43, %f57, 0f00000000; + and.pred %p3, %p43, %p12; + mov.b32 %r36, %f328; + xor.b32 %r37, %r36, -2147483648; + mov.b32 %f291, %r37; + selp.f32 %f330, %f291, %f328, %p3; + setp.eq.f32 %p45, %f57, 0f00000000; + @%p45 bra BB0_29; + bra.uni BB0_27; + +BB0_29: + add.f32 %f294, %f57, %f57; + selp.f32 %f330, %f294, 0f00000000, %p12; + bra.uni BB0_30; + +BB0_27: + setp.geu.f32 %p46, %f57, 0f00000000; + @%p46 bra BB0_30; + + mov.f32 %f317, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f293, %f317; + setp.neu.f32 %p47, %f293, 0f3EE8BA2E; + selp.f32 %f330, 0f7FFFFFFF, %f330, %p47; + +BB0_30: + add.f32 %f295, %f34, 0f3EE8BA2E; + mov.b32 %r38, %f295; + setp.lt.s32 %p49, %r38, 2139095040; + @%p49 bra BB0_35; + + setp.gtu.f32 %p50, %f34, 0f7F800000; + @%p50 bra BB0_34; + bra.uni BB0_32; + +BB0_34: + add.f32 %f330, %f57, 0f3EE8BA2E; + bra.uni BB0_35; + +BB0_32: + setp.neu.f32 %p51, %f34, 0f7F800000; + @%p51 bra BB0_35; + + selp.f32 %f330, 0fFF800000, 0f7F800000, %p3; + +BB0_35: + ld.const.u64 %rd15, [cs+8]; + ld.const.u32 %r41, [cs+24]; + setp.eq.f32 %p52, %f57, 0f3F800000; + selp.f32 %f296, 0f3F800000, %f330, %p52; + cvt.sat.f32.f32 %f333, %f296; + +BB0_36: + mad.lo.s32 %r39, %r41, %r7, %r6; + cvta.to.global.u64 %rd11, %rd15; + mul.wide.u32 %rd12, %r39, 16; + add.s64 %rd13, %rd11, %rd12; + mov.f32 %f297, 0f3F800000; + st.global.v4.f32 [%rd13], {%f331, %f332, %f333, %f297}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH72.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH72.ptx.meta new file mode 100644 index 00000000..ea675adb --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH72.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf96e815cf5f4354a9ccd4524316bf97 +timeCreated: 1605376410 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx new file mode 100644 index 00000000..d2896873 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx @@ -0,0 +1,159 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 1 .b8 input_buffer[1]; +.global .align 1 .b8 image[1]; +.global .align 4 .u32 mode; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4modeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename4modeE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4modeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic4modeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4modeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .b16 %rs<4>; + .reg .f32 %f<16>; + .reg .b32 %r<40>; + .reg .b64 %rd<48>; + + + ld.global.u32 %r1, [mode]; + setp.gt.s32 %p1, %r1, 0; + ld.global.v2.u32 {%r2, %r3}, [pixelID]; + cvt.u64.u32 %rd1, %r2; + cvt.u64.u32 %rd2, %r3; + @%p1 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + mov.u64 %rd40, input_buffer; + cvta.global.u64 %rd23, %rd40; + mov.u32 %r24, 2; + mov.u32 %r25, 12; + mov.u64 %rd39, 0; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r24, %r25, %rd1, %rd2, %rd39, %rd39); + // inline asm + ld.f32 %f13, [%rd22]; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd30, %r26; + cvt.u64.u32 %rd31, %r27; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd23, %r24, %r25, %rd30, %rd31, %rd39, %rd39); + // inline asm + ld.f32 %f14, [%rd28+4]; + ld.global.v2.u32 {%r30, %r31}, [pixelID]; + cvt.u64.u32 %rd36, %r30; + cvt.u64.u32 %rd37, %r31; + // inline asm + call (%rd34), _rt_buffer_get_64, (%rd23, %r24, %r25, %rd36, %rd37, %rd39, %rd39); + // inline asm + ld.f32 %f15, [%rd34+8]; + bra.uni BB0_3; + +BB0_1: + mov.u64 %rd21, image; + cvta.global.u64 %rd4, %rd21; + mov.u32 %r10, 2; + mov.u32 %r11, 8; + mov.u64 %rd20, 0; + // inline asm + call (%rd3), _rt_buffer_get_64, (%rd4, %r10, %r11, %rd1, %rd2, %rd20, %rd20); + // inline asm + ld.u16 %rs1, [%rd3]; + // inline asm + { cvt.f32.f16 %f13, %rs1;} + + // inline asm + ld.global.v2.u32 {%r12, %r13}, [pixelID]; + cvt.u64.u32 %rd11, %r12; + cvt.u64.u32 %rd12, %r13; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd4, %r10, %r11, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.u16 %rs2, [%rd9+2]; + // inline asm + { cvt.f32.f16 %f14, %rs2;} + + // inline asm + ld.global.v2.u32 {%r16, %r17}, [pixelID]; + cvt.u64.u32 %rd17, %r16; + cvt.u64.u32 %rd18, %r17; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd4, %r10, %r11, %rd17, %rd18, %rd20, %rd20); + // inline asm + ld.u16 %rs3, [%rd15+4]; + // inline asm + { cvt.f32.f16 %f15, %rs3;} + + // inline asm + +BB0_3: + ld.global.v2.u32 {%r36, %r37}, [pixelID]; + cvt.u64.u32 %rd43, %r36; + cvt.u64.u32 %rd44, %r37; + mov.u64 %rd47, input_buffer; + cvta.global.u64 %rd42, %rd47; + mov.u32 %r34, 2; + mov.u32 %r35, 12; + mov.u64 %rd46, 0; + // inline asm + call (%rd41), _rt_buffer_get_64, (%rd42, %r34, %r35, %rd43, %rd44, %rd46, %rd46); + // inline asm + st.f32 [%rd41+8], %f15; + st.f32 [%rd41+4], %f14; + st.f32 [%rd41], %f13; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx.meta new file mode 100644 index 00000000..068e0111 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoisePrepareSH_OIDN.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f763370827bb0e94b89c753d02bf676d +timeCreated: 1599897795 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser.exe new file mode 100644 index 00000000..1b4357d5 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser.exe.meta new file mode 100644 index 00000000..0bae6a56 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00324aa8cc137c44cb8bdb89b0b85076 +timeCreated: 1562931708 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser72.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser72.exe new file mode 100644 index 00000000..af5397e7 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser72.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser72.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser72.exe.meta new file mode 100644 index 00000000..a97ccc68 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiser72.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 923624ea465edaf4e8fbde0e3317fa96 +timeCreated: 1605206208 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserLegacy.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserLegacy.exe new file mode 100644 index 00000000..b2a36993 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserLegacy.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserLegacy.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserLegacy.exe.meta new file mode 100644 index 00000000..7aaa527c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserLegacy.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e835870912302c34abd30850e21d1f0b +timeCreated: 1573289338 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserOIDN.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserOIDN.exe new file mode 100644 index 00000000..6bd72748 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserOIDN.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserOIDN.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserOIDN.exe.meta new file mode 100644 index 00000000..e900af34 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/denoiserOIDN.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7c5044bbfa3bae54196b28dca3529e39 +timeCreated: 1605444920 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso new file mode 100644 index 00000000..28adb557 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso.meta new file mode 100644 index 00000000..87c15687 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e5bdfd4e6f60ffb438e29f5ce906e4c0 +timeCreated: 1529751953 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx new file mode 100644 index 00000000..b903d35c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx @@ -0,0 +1,473 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<14>; + .reg .b16 %rs<45>; + .reg .f32 %f<159>; + .reg .b32 %r<149>; + .reg .b64 %rd<271>; + + + ld.global.v2.u32 {%r18, %r19}, [pixelID]; + cvt.u64.u32 %rd9, %r18; + cvt.u64.u32 %rd10, %r19; + mov.u64 %rd13, image; + cvta.global.u64 %rd8, %rd13; + mov.u32 %r16, 2; + mov.u32 %r17, 4; + mov.u64 %rd12, 0; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd9, %rd10, %rd12, %rd12); + // inline asm + ld.u8 %rs1, [%rd7+3]; + setp.ne.s16 %p1, %rs1, 0; + @%p1 bra BB0_17; + + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + cvt.u64.u32 %rd16, %r33; + cvt.u64.u32 %rd17, %r34; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd16, %rd17, %rd12, %rd12); + // inline asm + ld.u8 %rs2, [%rd14+2]; + cvt.rn.f32.u16 %f61, %rs2; + div.rn.f32 %f135, %f61, 0f437F0000; + ld.global.v2.u32 {%r37, %r38}, [pixelID]; + cvt.u64.u32 %rd22, %r37; + cvt.u64.u32 %rd23, %r38; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd22, %rd23, %rd12, %rd12); + // inline asm + ld.u8 %rs3, [%rd20+1]; + cvt.rn.f32.u16 %f62, %rs3; + div.rn.f32 %f136, %f62, 0f437F0000; + ld.global.v2.u32 {%r41, %r42}, [pixelID]; + cvt.u64.u32 %rd28, %r41; + cvt.u64.u32 %rd29, %r42; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd28, %rd29, %rd12, %rd12); + // inline asm + ld.u8 %rs4, [%rd26]; + cvt.rn.f32.u16 %f63, %rs4; + div.rn.f32 %f137, %f63, 0f437F0000; + ld.global.v2.u32 {%r45, %r46}, [pixelID]; + cvt.u64.u32 %rd34, %r45; + cvt.u64.u32 %rd35, %r46; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd35, %rd12, %rd12); + // inline asm + ld.u8 %rs5, [%rd32+3]; + cvt.rn.f32.u16 %f64, %rs5; + div.rn.f32 %f138, %f64, 0f437F0000; + ld.global.v2.u32 {%r49, %r50}, [pixelID]; + setp.eq.s32 %p2, %r49, 0; + add.s32 %r52, %r49, -1; + cvt.u64.u32 %rd45, %r52; + selp.b64 %rd40, 0, %rd45, %p2; + setp.eq.s32 %p3, %r50, 0; + add.s32 %r54, %r50, -1; + cvt.u64.u32 %rd46, %r54; + selp.b64 %rd41, 0, %rd46, %p3; + ld.global.v2.u32 {%r55, %r56}, [resolution]; + add.s32 %r58, %r55, -1; + setp.eq.s32 %p4, %r49, %r58; + add.s32 %r59, %r49, 1; + selp.b32 %r1, %r58, %r59, %p4; + add.s32 %r61, %r56, -1; + setp.eq.s32 %p5, %r50, %r61; + add.s32 %r62, %r50, 1; + selp.b32 %r2, %r61, %r62, %p5; + // inline asm + call (%rd38), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs6, [%rd38+3]; + setp.eq.s16 %p6, %rs6, 0; + mov.u32 %r143, 0; + @%p6 bra BB0_3; + + // inline asm + call (%rd47), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs7, [%rd47+2]; + cvt.rn.f32.u16 %f65, %rs7; + div.rn.f32 %f66, %f65, 0f437F0000; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs8, [%rd53+1]; + cvt.rn.f32.u16 %f67, %rs8; + div.rn.f32 %f68, %f67, 0f437F0000; + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs9, [%rd59]; + cvt.rn.f32.u16 %f69, %rs9; + div.rn.f32 %f70, %f69, 0f437F0000; + // inline asm + call (%rd65), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs10, [%rd65+3]; + cvt.rn.f32.u16 %f71, %rs10; + div.rn.f32 %f72, %f71, 0f437F0000; + add.f32 %f135, %f135, %f66; + add.f32 %f136, %f136, %f68; + add.f32 %f137, %f137, %f70; + add.f32 %f138, %f138, %f72; + mov.u32 %r143, 1; + +BB0_3: + ld.global.u32 %rd74, [pixelID]; + // inline asm + call (%rd72), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd74, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs11, [%rd72+3]; + setp.eq.s16 %p7, %rs11, 0; + @%p7 bra BB0_5; + + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd74, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs12, [%rd79+2]; + cvt.rn.f32.u16 %f73, %rs12; + div.rn.f32 %f74, %f73, 0f437F0000; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd74, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs13, [%rd85+1]; + cvt.rn.f32.u16 %f75, %rs13; + div.rn.f32 %f76, %f75, 0f437F0000; + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd74, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs14, [%rd91]; + cvt.rn.f32.u16 %f77, %rs14; + div.rn.f32 %f78, %f77, 0f437F0000; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd74, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs15, [%rd97+3]; + cvt.rn.f32.u16 %f79, %rs15; + div.rn.f32 %f80, %f79, 0f437F0000; + add.f32 %f135, %f135, %f74; + add.f32 %f136, %f136, %f76; + add.f32 %f137, %f137, %f78; + add.f32 %f138, %f138, %f80; + add.s32 %r143, %r143, 1; + +BB0_5: + cvt.u64.u32 %rd106, %r1; + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs16, [%rd104+3]; + setp.eq.s16 %p8, %rs16, 0; + @%p8 bra BB0_7; + + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs17, [%rd111+2]; + cvt.rn.f32.u16 %f81, %rs17; + div.rn.f32 %f82, %f81, 0f437F0000; + // inline asm + call (%rd117), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs18, [%rd117+1]; + cvt.rn.f32.u16 %f83, %rs18; + div.rn.f32 %f84, %f83, 0f437F0000; + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs19, [%rd123]; + cvt.rn.f32.u16 %f85, %rs19; + div.rn.f32 %f86, %f85, 0f437F0000; + // inline asm + call (%rd129), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd41, %rd12, %rd12); + // inline asm + ld.u8 %rs20, [%rd129+3]; + cvt.rn.f32.u16 %f87, %rs20; + div.rn.f32 %f88, %f87, 0f437F0000; + add.f32 %f135, %f135, %f82; + add.f32 %f136, %f136, %f84; + add.f32 %f137, %f137, %f86; + add.f32 %f138, %f138, %f88; + add.s32 %r143, %r143, 1; + +BB0_7: + ld.global.u32 %rd139, [pixelID+4]; + // inline asm + call (%rd136), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs21, [%rd136+3]; + setp.eq.s16 %p9, %rs21, 0; + @%p9 bra BB0_9; + + // inline asm + call (%rd143), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs22, [%rd143+2]; + cvt.rn.f32.u16 %f89, %rs22; + div.rn.f32 %f90, %f89, 0f437F0000; + // inline asm + call (%rd149), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs23, [%rd149+1]; + cvt.rn.f32.u16 %f91, %rs23; + div.rn.f32 %f92, %f91, 0f437F0000; + // inline asm + call (%rd155), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs24, [%rd155]; + cvt.rn.f32.u16 %f93, %rs24; + div.rn.f32 %f94, %f93, 0f437F0000; + // inline asm + call (%rd161), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs25, [%rd161+3]; + cvt.rn.f32.u16 %f95, %rs25; + div.rn.f32 %f96, %f95, 0f437F0000; + add.f32 %f135, %f135, %f90; + add.f32 %f136, %f136, %f92; + add.f32 %f137, %f137, %f94; + add.f32 %f138, %f138, %f96; + add.s32 %r143, %r143, 1; + +BB0_9: + // inline asm + call (%rd168), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs26, [%rd168+3]; + setp.eq.s16 %p10, %rs26, 0; + @%p10 bra BB0_11; + + // inline asm + call (%rd175), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs27, [%rd175+2]; + cvt.rn.f32.u16 %f97, %rs27; + div.rn.f32 %f98, %f97, 0f437F0000; + // inline asm + call (%rd181), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs28, [%rd181+1]; + cvt.rn.f32.u16 %f99, %rs28; + div.rn.f32 %f100, %f99, 0f437F0000; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs29, [%rd187]; + cvt.rn.f32.u16 %f101, %rs29; + div.rn.f32 %f102, %f101, 0f437F0000; + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd139, %rd12, %rd12); + // inline asm + ld.u8 %rs30, [%rd193+3]; + cvt.rn.f32.u16 %f103, %rs30; + div.rn.f32 %f104, %f103, 0f437F0000; + add.f32 %f135, %f135, %f98; + add.f32 %f136, %f136, %f100; + add.f32 %f137, %f137, %f102; + add.f32 %f138, %f138, %f104; + add.s32 %r143, %r143, 1; + +BB0_11: + cvt.u64.u32 %rd203, %r2; + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs31, [%rd200+3]; + setp.eq.s16 %p11, %rs31, 0; + @%p11 bra BB0_13; + + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs32, [%rd207+2]; + cvt.rn.f32.u16 %f105, %rs32; + div.rn.f32 %f106, %f105, 0f437F0000; + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs33, [%rd213+1]; + cvt.rn.f32.u16 %f107, %rs33; + div.rn.f32 %f108, %f107, 0f437F0000; + // inline asm + call (%rd219), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs34, [%rd219]; + cvt.rn.f32.u16 %f109, %rs34; + div.rn.f32 %f110, %f109, 0f437F0000; + // inline asm + call (%rd225), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd40, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs35, [%rd225+3]; + cvt.rn.f32.u16 %f111, %rs35; + div.rn.f32 %f112, %f111, 0f437F0000; + add.f32 %f135, %f135, %f106; + add.f32 %f136, %f136, %f108; + add.f32 %f137, %f137, %f110; + add.f32 %f138, %f138, %f112; + add.s32 %r143, %r143, 1; + +BB0_13: + // inline asm + call (%rd232), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs36, [%rd232+3]; + setp.eq.s16 %p12, %rs36, 0; + @%p12 bra BB0_15; + + // inline asm + call (%rd239), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs37, [%rd239+2]; + cvt.rn.f32.u16 %f113, %rs37; + div.rn.f32 %f114, %f113, 0f437F0000; + // inline asm + call (%rd245), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs38, [%rd245+1]; + cvt.rn.f32.u16 %f115, %rs38; + div.rn.f32 %f116, %f115, 0f437F0000; + // inline asm + call (%rd251), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs39, [%rd251]; + cvt.rn.f32.u16 %f117, %rs39; + div.rn.f32 %f118, %f117, 0f437F0000; + // inline asm + call (%rd257), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd106, %rd203, %rd12, %rd12); + // inline asm + ld.u8 %rs40, [%rd257+3]; + cvt.rn.f32.u16 %f119, %rs40; + div.rn.f32 %f120, %f119, 0f437F0000; + add.f32 %f135, %f135, %f114; + add.f32 %f136, %f136, %f116; + add.f32 %f137, %f137, %f118; + add.f32 %f138, %f138, %f120; + add.s32 %r143, %r143, 1; + +BB0_15: + setp.eq.s32 %p13, %r143, 0; + @%p13 bra BB0_17; + + cvt.rn.f32.u32 %f121, %r143; + rcp.rn.f32 %f122, %f121; + mul.f32 %f123, %f135, %f122; + mul.f32 %f124, %f136, %f122; + mul.f32 %f125, %f137, %f122; + mul.f32 %f126, %f138, %f122; + mul.f32 %f127, %f123, 0f437F0000; + mul.f32 %f128, %f124, 0f437F0000; + mul.f32 %f129, %f125, 0f437F0000; + mul.f32 %f130, %f126, 0f437F0000; + ld.global.v2.u32 {%r134, %r135}, [pixelID]; + cvt.u64.u32 %rd266, %r134; + cvt.u64.u32 %rd267, %r135; + // inline asm + call (%rd264), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd266, %rd267, %rd12, %rd12); + // inline asm + cvt.rzi.u32.f32 %r138, %f129; + cvt.rzi.u32.f32 %r139, %f128; + cvt.rzi.u32.f32 %r140, %f127; + cvt.rzi.u32.f32 %r141, %f130; + cvt.u16.u32 %rs41, %r141; + cvt.u16.u32 %rs42, %r140; + cvt.u16.u32 %rs43, %r139; + cvt.u16.u32 %rs44, %r138; + st.v4.u8 [%rd264], {%rs44, %rs43, %rs42, %rs41}; + +BB0_17: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx.meta new file mode 100644 index 00000000..5fc03ec0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilate.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8714cded3f3d6d64681ce7f4c7b804a6 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateFloat.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateFloat.ptx new file mode 100644 index 00000000..7332df82 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateFloat.ptx @@ -0,0 +1,284 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<14>; + .reg .f32 %f<134>; + .reg .b32 %r<85>; + .reg .b64 %rd<127>; + + + ld.global.v2.u32 {%r18, %r19}, [pixelID]; + cvt.u64.u32 %rd9, %r18; + cvt.u64.u32 %rd10, %r19; + mov.u64 %rd13, image; + cvta.global.u64 %rd8, %rd13; + mov.u32 %r16, 2; + mov.u32 %r17, 16; + mov.u64 %rd12, 0; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd9, %rd10, %rd12, %rd12); + // inline asm + ld.f32 %f46, [%rd7+12]; + setp.gt.f32 %p1, %f46, 0f00000000; + @%p1 bra BB0_17; + + ld.global.v2.u32 {%r27, %r28}, [pixelID]; + cvt.u64.u32 %rd16, %r27; + cvt.u64.u32 %rd17, %r28; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd16, %rd17, %rd12, %rd12); + // inline asm + ld.v4.f32 {%f116, %f117, %f118, %f50}, [%rd14]; + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + setp.eq.s32 %p2, %r31, 0; + add.s32 %r34, %r31, -1; + cvt.u64.u32 %rd27, %r34; + selp.b64 %rd22, 0, %rd27, %p2; + setp.eq.s32 %p3, %r32, 0; + add.s32 %r36, %r32, -1; + cvt.u64.u32 %rd28, %r36; + selp.b64 %rd23, 0, %rd28, %p3; + ld.global.v2.u32 {%r37, %r38}, [resolution]; + add.s32 %r40, %r37, -1; + setp.eq.s32 %p4, %r31, %r40; + add.s32 %r41, %r31, 1; + selp.b32 %r1, %r40, %r41, %p4; + add.s32 %r43, %r38, -1; + setp.eq.s32 %p5, %r32, %r43; + add.s32 %r44, %r32, 1; + selp.b32 %r2, %r43, %r44, %p5; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd22, %rd23, %rd12, %rd12); + // inline asm + ld.f32 %f51, [%rd20+12]; + mov.u32 %r79, 0; + setp.leu.f32 %p6, %f51, 0f00000000; + @%p6 bra BB0_3; + + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd22, %rd23, %rd12, %rd12); + // inline asm + ld.v4.f32 {%f52, %f53, %f54, %f55}, [%rd29]; + add.f32 %f116, %f116, %f52; + add.f32 %f117, %f117, %f53; + add.f32 %f118, %f118, %f54; + mov.u32 %r79, 1; + +BB0_3: + ld.global.u32 %rd38, [pixelID]; + // inline asm + call (%rd36), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd38, %rd23, %rd12, %rd12); + // inline asm + ld.f32 %f59, [%rd36+12]; + setp.leu.f32 %p7, %f59, 0f00000000; + @%p7 bra BB0_5; + + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd38, %rd23, %rd12, %rd12); + // inline asm + ld.v4.f32 {%f60, %f61, %f62, %f63}, [%rd43]; + add.f32 %f116, %f116, %f60; + add.f32 %f117, %f117, %f61; + add.f32 %f118, %f118, %f62; + add.s32 %r79, %r79, 1; + +BB0_5: + cvt.u64.u32 %rd52, %r1; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd52, %rd23, %rd12, %rd12); + // inline asm + ld.f32 %f67, [%rd50+12]; + setp.leu.f32 %p8, %f67, 0f00000000; + @%p8 bra BB0_7; + + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd52, %rd23, %rd12, %rd12); + // inline asm + ld.v4.f32 {%f68, %f69, %f70, %f71}, [%rd57]; + add.f32 %f116, %f116, %f68; + add.f32 %f117, %f117, %f69; + add.f32 %f118, %f118, %f70; + add.s32 %r79, %r79, 1; + +BB0_7: + ld.global.u32 %rd67, [pixelID+4]; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd22, %rd67, %rd12, %rd12); + // inline asm + ld.f32 %f75, [%rd64+12]; + setp.leu.f32 %p9, %f75, 0f00000000; + @%p9 bra BB0_9; + + // inline asm + call (%rd71), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd22, %rd67, %rd12, %rd12); + // inline asm + ld.v4.f32 {%f76, %f77, %f78, %f79}, [%rd71]; + add.f32 %f116, %f116, %f76; + add.f32 %f117, %f117, %f77; + add.f32 %f118, %f118, %f78; + add.s32 %r79, %r79, 1; + +BB0_9: + // inline asm + call (%rd78), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd52, %rd67, %rd12, %rd12); + // inline asm + ld.f32 %f83, [%rd78+12]; + setp.leu.f32 %p10, %f83, 0f00000000; + @%p10 bra BB0_11; + + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd52, %rd67, %rd12, %rd12); + // inline asm + ld.v4.f32 {%f84, %f85, %f86, %f87}, [%rd85]; + add.f32 %f116, %f116, %f84; + add.f32 %f117, %f117, %f85; + add.f32 %f118, %f118, %f86; + add.s32 %r79, %r79, 1; + +BB0_11: + cvt.u64.u32 %rd95, %r2; + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd22, %rd95, %rd12, %rd12); + // inline asm + ld.f32 %f91, [%rd92+12]; + setp.leu.f32 %p11, %f91, 0f00000000; + @%p11 bra BB0_13; + + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd22, %rd95, %rd12, %rd12); + // inline asm + ld.v4.f32 {%f92, %f93, %f94, %f95}, [%rd99]; + add.f32 %f116, %f116, %f92; + add.f32 %f117, %f117, %f93; + add.f32 %f118, %f118, %f94; + add.s32 %r79, %r79, 1; + +BB0_13: + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd52, %rd95, %rd12, %rd12); + // inline asm + ld.f32 %f99, [%rd106+12]; + setp.leu.f32 %p12, %f99, 0f00000000; + @%p12 bra BB0_15; + + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd52, %rd95, %rd12, %rd12); + // inline asm + ld.v4.f32 {%f100, %f101, %f102, %f103}, [%rd113]; + add.f32 %f116, %f116, %f100; + add.f32 %f117, %f117, %f101; + add.f32 %f118, %f118, %f102; + add.s32 %r79, %r79, 1; + +BB0_15: + setp.eq.s32 %p13, %r79, 0; + @%p13 bra BB0_17; + + cvt.rn.f32.u32 %f107, %r79; + rcp.rn.f32 %f108, %f107; + ld.global.v2.u32 {%r74, %r75}, [pixelID]; + cvt.u64.u32 %rd122, %r74; + cvt.u64.u32 %rd123, %r75; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd122, %rd123, %rd12, %rd12); + // inline asm + mul.f32 %f109, %f118, %f108; + mul.f32 %f110, %f117, %f108; + mul.f32 %f111, %f116, %f108; + mov.f32 %f112, 0f3F800000; + st.v4.f32 [%rd120], {%f111, %f110, %f109, %f112}; + +BB0_17: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateFloat.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateFloat.ptx.meta new file mode 100644 index 00000000..8f33fbe4 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateFloat.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3321abd087b2e44e8f1852158e8d948 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateHalf.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateHalf.ptx new file mode 100644 index 00000000..0d6fd130 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateHalf.ptx @@ -0,0 +1,472 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<14>; + .reg .b16 %rs<39>; + .reg .f32 %f<98>; + .reg .b32 %r<125>; + .reg .b64 %rd<223>; + + + ld.global.v2.u32 {%r18, %r19}, [pixelID]; + cvt.u64.u32 %rd9, %r18; + cvt.u64.u32 %rd10, %r19; + mov.u64 %rd13, image; + cvta.global.u64 %rd8, %rd13; + mov.u32 %r16, 2; + mov.u32 %r17, 8; + mov.u64 %rd12, 0; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd9, %rd10, %rd12, %rd12); + // inline asm + ld.u16 %rs3, [%rd7+6]; + mov.f32 %f46, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs2, %f46;} + + // inline asm + setp.gt.u16 %p1, %rs3, %rs2; + @%p1 bra BB0_17; + + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + cvt.u64.u32 %rd16, %r31; + cvt.u64.u32 %rd17, %r32; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd16, %rd17, %rd12, %rd12); + // inline asm + ld.u16 %rs4, [%rd14]; + // inline asm + { cvt.f32.f16 %f80, %rs4;} + + // inline asm + ld.global.v2.u32 {%r35, %r36}, [pixelID]; + cvt.u64.u32 %rd22, %r35; + cvt.u64.u32 %rd23, %r36; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd22, %rd23, %rd12, %rd12); + // inline asm + ld.u16 %rs5, [%rd20+2]; + // inline asm + { cvt.f32.f16 %f81, %rs5;} + + // inline asm + ld.global.v2.u32 {%r39, %r40}, [pixelID]; + cvt.u64.u32 %rd28, %r39; + cvt.u64.u32 %rd29, %r40; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd28, %rd29, %rd12, %rd12); + // inline asm + ld.u16 %rs6, [%rd26+4]; + // inline asm + { cvt.f32.f16 %f82, %rs6;} + + // inline asm + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + setp.eq.s32 %p2, %r43, 0; + add.s32 %r46, %r43, -1; + cvt.u64.u32 %rd39, %r46; + selp.b64 %rd34, 0, %rd39, %p2; + setp.eq.s32 %p3, %r44, 0; + add.s32 %r48, %r44, -1; + cvt.u64.u32 %rd40, %r48; + selp.b64 %rd35, 0, %rd40, %p3; + ld.global.v2.u32 {%r49, %r50}, [resolution]; + add.s32 %r52, %r49, -1; + setp.eq.s32 %p4, %r43, %r52; + add.s32 %r53, %r43, 1; + selp.b32 %r1, %r52, %r53, %p4; + add.s32 %r55, %r50, -1; + setp.eq.s32 %p5, %r44, %r55; + add.s32 %r56, %r44, 1; + selp.b32 %r2, %r55, %r56, %p5; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs7, [%rd32+6]; + mov.u32 %r119, 0; + setp.le.u16 %p6, %rs7, %rs2; + @%p6 bra BB0_3; + + // inline asm + call (%rd41), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs8, [%rd41]; + // inline asm + { cvt.f32.f16 %f50, %rs8;} + + // inline asm + // inline asm + call (%rd47), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs9, [%rd47+2]; + // inline asm + { cvt.f32.f16 %f51, %rs9;} + + // inline asm + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs10, [%rd53+4]; + // inline asm + { cvt.f32.f16 %f52, %rs10;} + + // inline asm + add.f32 %f80, %f80, %f50; + add.f32 %f81, %f81, %f51; + add.f32 %f82, %f82, %f52; + mov.u32 %r119, 1; + +BB0_3: + ld.global.u32 %rd62, [pixelID]; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd62, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs11, [%rd60+6]; + setp.le.u16 %p7, %rs11, %rs2; + @%p7 bra BB0_5; + + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd62, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs12, [%rd67]; + // inline asm + { cvt.f32.f16 %f53, %rs12;} + + // inline asm + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd62, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs13, [%rd73+2]; + // inline asm + { cvt.f32.f16 %f54, %rs13;} + + // inline asm + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd62, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs14, [%rd79+4]; + // inline asm + { cvt.f32.f16 %f55, %rs14;} + + // inline asm + add.f32 %f80, %f80, %f53; + add.f32 %f81, %f81, %f54; + add.f32 %f82, %f82, %f55; + add.s32 %r119, %r119, 1; + +BB0_5: + cvt.u64.u32 %rd88, %r1; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs15, [%rd86+6]; + setp.le.u16 %p8, %rs15, %rs2; + @%p8 bra BB0_7; + + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs16, [%rd93]; + // inline asm + { cvt.f32.f16 %f56, %rs16;} + + // inline asm + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs17, [%rd99+2]; + // inline asm + { cvt.f32.f16 %f57, %rs17;} + + // inline asm + // inline asm + call (%rd105), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd35, %rd12, %rd12); + // inline asm + ld.u16 %rs18, [%rd105+4]; + // inline asm + { cvt.f32.f16 %f58, %rs18;} + + // inline asm + add.f32 %f80, %f80, %f56; + add.f32 %f81, %f81, %f57; + add.f32 %f82, %f82, %f58; + add.s32 %r119, %r119, 1; + +BB0_7: + ld.global.u32 %rd115, [pixelID+4]; + // inline asm + call (%rd112), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd115, %rd12, %rd12); + // inline asm + ld.u16 %rs19, [%rd112+6]; + setp.le.u16 %p9, %rs19, %rs2; + @%p9 bra BB0_9; + + // inline asm + call (%rd119), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd115, %rd12, %rd12); + // inline asm + ld.u16 %rs20, [%rd119]; + // inline asm + { cvt.f32.f16 %f59, %rs20;} + + // inline asm + // inline asm + call (%rd125), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd115, %rd12, %rd12); + // inline asm + ld.u16 %rs21, [%rd125+2]; + // inline asm + { cvt.f32.f16 %f60, %rs21;} + + // inline asm + // inline asm + call (%rd131), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd115, %rd12, %rd12); + // inline asm + ld.u16 %rs22, [%rd131+4]; + // inline asm + { cvt.f32.f16 %f61, %rs22;} + + // inline asm + add.f32 %f80, %f80, %f59; + add.f32 %f81, %f81, %f60; + add.f32 %f82, %f82, %f61; + add.s32 %r119, %r119, 1; + +BB0_9: + // inline asm + call (%rd138), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd115, %rd12, %rd12); + // inline asm + ld.u16 %rs23, [%rd138+6]; + setp.le.u16 %p10, %rs23, %rs2; + @%p10 bra BB0_11; + + // inline asm + call (%rd145), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd115, %rd12, %rd12); + // inline asm + ld.u16 %rs24, [%rd145]; + // inline asm + { cvt.f32.f16 %f62, %rs24;} + + // inline asm + // inline asm + call (%rd151), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd115, %rd12, %rd12); + // inline asm + ld.u16 %rs25, [%rd151+2]; + // inline asm + { cvt.f32.f16 %f63, %rs25;} + + // inline asm + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd115, %rd12, %rd12); + // inline asm + ld.u16 %rs26, [%rd157+4]; + // inline asm + { cvt.f32.f16 %f64, %rs26;} + + // inline asm + add.f32 %f80, %f80, %f62; + add.f32 %f81, %f81, %f63; + add.f32 %f82, %f82, %f64; + add.s32 %r119, %r119, 1; + +BB0_11: + cvt.u64.u32 %rd167, %r2; + // inline asm + call (%rd164), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd167, %rd12, %rd12); + // inline asm + ld.u16 %rs27, [%rd164+6]; + setp.le.u16 %p11, %rs27, %rs2; + @%p11 bra BB0_13; + + // inline asm + call (%rd171), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd167, %rd12, %rd12); + // inline asm + ld.u16 %rs28, [%rd171]; + // inline asm + { cvt.f32.f16 %f65, %rs28;} + + // inline asm + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd167, %rd12, %rd12); + // inline asm + ld.u16 %rs29, [%rd177+2]; + // inline asm + { cvt.f32.f16 %f66, %rs29;} + + // inline asm + // inline asm + call (%rd183), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd34, %rd167, %rd12, %rd12); + // inline asm + ld.u16 %rs30, [%rd183+4]; + // inline asm + { cvt.f32.f16 %f67, %rs30;} + + // inline asm + add.f32 %f80, %f80, %f65; + add.f32 %f81, %f81, %f66; + add.f32 %f82, %f82, %f67; + add.s32 %r119, %r119, 1; + +BB0_13: + // inline asm + call (%rd190), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd167, %rd12, %rd12); + // inline asm + ld.u16 %rs31, [%rd190+6]; + setp.le.u16 %p12, %rs31, %rs2; + @%p12 bra BB0_15; + + // inline asm + call (%rd197), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd167, %rd12, %rd12); + // inline asm + ld.u16 %rs32, [%rd197]; + // inline asm + { cvt.f32.f16 %f68, %rs32;} + + // inline asm + // inline asm + call (%rd203), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd167, %rd12, %rd12); + // inline asm + ld.u16 %rs33, [%rd203+2]; + // inline asm + { cvt.f32.f16 %f69, %rs33;} + + // inline asm + // inline asm + call (%rd209), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd88, %rd167, %rd12, %rd12); + // inline asm + ld.u16 %rs34, [%rd209+4]; + // inline asm + { cvt.f32.f16 %f70, %rs34;} + + // inline asm + add.f32 %f80, %f80, %f68; + add.f32 %f81, %f81, %f69; + add.f32 %f82, %f82, %f70; + add.s32 %r119, %r119, 1; + +BB0_15: + setp.eq.s32 %p13, %r119, 0; + @%p13 bra BB0_17; + + cvt.rn.f32.u32 %f75, %r119; + rcp.rn.f32 %f76, %f75; + mul.f32 %f71, %f80, %f76; + mul.f32 %f72, %f81, %f76; + mul.f32 %f73, %f82, %f76; + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + cvt.u64.u32 %rd218, %r114; + cvt.u64.u32 %rd219, %r115; + // inline asm + call (%rd216), _rt_buffer_get_64, (%rd8, %r16, %r17, %rd218, %rd219, %rd12, %rd12); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f73;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f72;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs35, %f71;} + + // inline asm + mov.f32 %f74, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs38, %f74;} + + // inline asm + st.v4.u16 [%rd216], {%rs35, %rs36, %rs37, %rs38}; + +BB0_17: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateHalf.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateHalf.ptx.meta new file mode 100644 index 00000000..2959f463 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateHalf.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 221f0729ddb8fc742a94d3f5ed9ae330 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateMask.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateMask.ptx new file mode 100644 index 00000000..02c61cfd --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateMask.ptx @@ -0,0 +1,286 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<14>; + .reg .b16 %rs<19>; + .reg .f32 %f<41>; + .reg .b32 %r<86>; + .reg .b64 %rd<127>; + + + ld.global.v2.u32 {%r18, %r19}, [pixelID]; + cvt.u64.u32 %rd9, %r18; + cvt.u64.u32 %rd10, %r19; + mov.u64 %rd13, image; + cvta.global.u64 %rd8, %rd13; + mov.u32 %r17, 2; + mov.u64 %rd12, 0; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd9, %rd10, %rd12, %rd12); + // inline asm + ld.u8 %rs1, [%rd7+1]; + setp.ne.s16 %p1, %rs1, 0; + @%p1 bra BB0_17; + + ld.global.v2.u32 {%r27, %r28}, [pixelID]; + cvt.u64.u32 %rd16, %r27; + cvt.u64.u32 %rd17, %r28; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd16, %rd17, %rd12, %rd12); + // inline asm + ld.u8 %rs2, [%rd14]; + cvt.rn.f32.u16 %f16, %rs2; + div.rn.f32 %f35, %f16, 0f437F0000; + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + setp.eq.s32 %p2, %r31, 0; + add.s32 %r34, %r31, -1; + cvt.u64.u32 %rd27, %r34; + selp.b64 %rd22, 0, %rd27, %p2; + setp.eq.s32 %p3, %r32, 0; + add.s32 %r36, %r32, -1; + cvt.u64.u32 %rd28, %r36; + selp.b64 %rd23, 0, %rd28, %p3; + ld.global.v2.u32 {%r37, %r38}, [resolution]; + add.s32 %r40, %r37, -1; + setp.eq.s32 %p4, %r31, %r40; + add.s32 %r41, %r31, 1; + selp.b32 %r1, %r40, %r41, %p4; + add.s32 %r43, %r38, -1; + setp.eq.s32 %p5, %r32, %r43; + add.s32 %r44, %r32, 1; + selp.b32 %r2, %r43, %r44, %p5; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd22, %rd23, %rd12, %rd12); + // inline asm + ld.u8 %rs3, [%rd20+1]; + setp.eq.s16 %p6, %rs3, 0; + mov.u32 %r80, 0; + @%p6 bra BB0_3; + + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd22, %rd23, %rd12, %rd12); + // inline asm + ld.u8 %rs4, [%rd29]; + cvt.rn.f32.u16 %f17, %rs4; + div.rn.f32 %f18, %f17, 0f437F0000; + add.f32 %f35, %f35, %f18; + mov.u32 %r80, 1; + +BB0_3: + ld.global.u32 %rd38, [pixelID]; + // inline asm + call (%rd36), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd38, %rd23, %rd12, %rd12); + // inline asm + ld.u8 %rs5, [%rd36+1]; + setp.eq.s16 %p7, %rs5, 0; + @%p7 bra BB0_5; + + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd38, %rd23, %rd12, %rd12); + // inline asm + ld.u8 %rs6, [%rd43]; + cvt.rn.f32.u16 %f19, %rs6; + div.rn.f32 %f20, %f19, 0f437F0000; + add.f32 %f35, %f35, %f20; + add.s32 %r80, %r80, 1; + +BB0_5: + cvt.u64.u32 %rd52, %r1; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd52, %rd23, %rd12, %rd12); + // inline asm + ld.u8 %rs7, [%rd50+1]; + setp.eq.s16 %p8, %rs7, 0; + @%p8 bra BB0_7; + + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd52, %rd23, %rd12, %rd12); + // inline asm + ld.u8 %rs8, [%rd57]; + cvt.rn.f32.u16 %f21, %rs8; + div.rn.f32 %f22, %f21, 0f437F0000; + add.f32 %f35, %f35, %f22; + add.s32 %r80, %r80, 1; + +BB0_7: + ld.global.u32 %rd67, [pixelID+4]; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd22, %rd67, %rd12, %rd12); + // inline asm + ld.u8 %rs9, [%rd64+1]; + setp.eq.s16 %p9, %rs9, 0; + @%p9 bra BB0_9; + + // inline asm + call (%rd71), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd22, %rd67, %rd12, %rd12); + // inline asm + ld.u8 %rs10, [%rd71]; + cvt.rn.f32.u16 %f23, %rs10; + div.rn.f32 %f24, %f23, 0f437F0000; + add.f32 %f35, %f35, %f24; + add.s32 %r80, %r80, 1; + +BB0_9: + // inline asm + call (%rd78), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd52, %rd67, %rd12, %rd12); + // inline asm + ld.u8 %rs11, [%rd78+1]; + setp.eq.s16 %p10, %rs11, 0; + @%p10 bra BB0_11; + + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd52, %rd67, %rd12, %rd12); + // inline asm + ld.u8 %rs12, [%rd85]; + cvt.rn.f32.u16 %f25, %rs12; + div.rn.f32 %f26, %f25, 0f437F0000; + add.f32 %f35, %f35, %f26; + add.s32 %r80, %r80, 1; + +BB0_11: + cvt.u64.u32 %rd95, %r2; + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd22, %rd95, %rd12, %rd12); + // inline asm + ld.u8 %rs13, [%rd92+1]; + setp.eq.s16 %p11, %rs13, 0; + @%p11 bra BB0_13; + + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd22, %rd95, %rd12, %rd12); + // inline asm + ld.u8 %rs14, [%rd99]; + cvt.rn.f32.u16 %f27, %rs14; + div.rn.f32 %f28, %f27, 0f437F0000; + add.f32 %f35, %f35, %f28; + add.s32 %r80, %r80, 1; + +BB0_13: + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd52, %rd95, %rd12, %rd12); + // inline asm + ld.u8 %rs15, [%rd106+1]; + setp.eq.s16 %p12, %rs15, 0; + @%p12 bra BB0_15; + + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd52, %rd95, %rd12, %rd12); + // inline asm + ld.u8 %rs16, [%rd113]; + cvt.rn.f32.u16 %f29, %rs16; + div.rn.f32 %f30, %f29, 0f437F0000; + add.f32 %f35, %f35, %f30; + add.s32 %r80, %r80, 1; + +BB0_15: + setp.eq.s32 %p13, %r80, 0; + @%p13 bra BB0_17; + + cvt.rn.f32.u32 %f31, %r80; + div.rn.f32 %f32, %f35, %f31; + ld.global.v2.u32 {%r74, %r75}, [pixelID]; + cvt.u64.u32 %rd122, %r74; + cvt.u64.u32 %rd123, %r75; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd8, %r17, %r17, %rd122, %rd123, %rd12, %rd12); + // inline asm + mul.f32 %f33, %f32, 0f437F0000; + cvt.rzi.u32.f32 %r78, %f33; + cvt.u16.u32 %rs17, %r78; + mov.u16 %rs18, 255; + st.v2.u8 [%rd120], {%rs17, %rs18}; + +BB0_17: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateMask.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateMask.ptx.meta new file mode 100644 index 00000000..fa3ed217 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateMask.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47011ee837ad730478e644f3ec8b3953 +timeCreated: 1534426493 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateSimple.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateSimple.pso new file mode 100644 index 00000000..9f47d28a Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateSimple.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateSimple.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateSimple.pso.meta new file mode 100644 index 00000000..33e3cab0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/dilateSimple.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fb7aef4959b95904399631eb75d7f0e5 +timeCreated: 1530103296 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/exception.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/exception.ptx new file mode 100644 index 00000000..6bf2bf19 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/exception.ptx @@ -0,0 +1,934 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.extern .func (.param .b32 func_retval0) vprintf +( + .param .b64 vprintf_param_0, + .param .b64 vprintf_param_1 +) +; +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 16 .b8 $str[64] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 83, 84, 65, 67, 75, 95, 79, 86, 69, 82, 70, 76, 79, 87, 10, 32, 32, 108, 97, 117, 110, 99, 104, 32, 105, 110, 100, 101, 120, 32, 58, 32, 37, 100, 44, 32, 37, 100, 44, 32, 37, 100, 10, 0}; +.global .align 16 .b8 $str1[218] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 66, 85, 70, 70, 69, 82, 95, 73, 78, 68, 69, 88, 95, 79, 85, 84, 95, 79, 70, 95, 66, 79, 85, 78, 68, 83, 10, 32, 32, 108, 97, 117, 110, 99, 104, 32, 105, 110, 100, 101, 120, 32, 32, 32, 58, 32, 37, 100, 44, 32, 37, 100, 44, 32, 37, 100, 10, 32, 32, 98, 117, 102, 102, 101, 114, 32, 97, 100, 100, 114, 101, 115, 115, 32, 58, 32, 48, 120, 37, 108, 108, 88, 10, 32, 32, 100, 105, 109, 101, 110, 115, 105, 111, 110, 97, 108, 105, 116, 121, 32, 58, 32, 37, 100, 10, 32, 32, 115, 105, 122, 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 37, 108, 108, 100, 120, 37, 108, 108, 100, 120, 37, 108, 108, 100, 10, 32, 32, 101, 108, 101, 109, 101, 110, 116, 32, 115, 105, 122, 101, 32, 32, 32, 58, 32, 37, 100, 10, 32, 32, 97, 99, 99, 101, 115, 115, 101, 100, 32, 105, 110, 100, 101, 120, 32, 58, 32, 37, 108, 108, 100, 44, 32, 37, 108, 108, 100, 44, 32, 37, 108, 108, 100, 10, 0}; +.global .align 16 .b8 $str2[40] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 80, 82, 79, 71, 82, 65, 77, 95, 73, 68, 95, 73, 78, 86, 65, 76, 73, 68, 10, 0}; +.global .align 16 .b8 $str3[46] = {9, 112, 114, 111, 103, 114, 97, 109, 32, 73, 68, 32, 101, 113, 117, 97, 108, 32, 116, 111, 32, 82, 84, 95, 80, 82, 79, 71, 82, 65, 77, 95, 73, 68, 95, 78, 85, 76, 76, 32, 117, 115, 101, 100, 10, 0}; +.global .align 16 .b8 $str4[56] = {9, 112, 114, 111, 103, 114, 97, 109, 32, 73, 68, 32, 40, 37, 100, 41, 32, 105, 115, 32, 110, 111, 116, 32, 105, 110, 32, 116, 104, 101, 32, 118, 97, 108, 105, 100, 32, 114, 97, 110, 103, 101, 32, 111, 102, 32, 91, 49, 44, 115, 105, 122, 101, 41, 10, 0}; +.global .align 16 .b8 $str5[39] = {9, 112, 114, 111, 103, 114, 97, 109, 32, 73, 68, 32, 111, 102, 32, 97, 32, 100, 101, 108, 101, 116, 101, 100, 32, 112, 114, 111, 103, 114, 97, 109, 32, 117, 115, 101, 100, 10, 0}; +.global .align 16 .b8 $str6[40] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 84, 69, 88, 84, 85, 82, 69, 95, 73, 68, 95, 73, 78, 86, 65, 76, 73, 68, 10, 0}; +.global .align 16 .b8 $str7[33] = {9, 116, 101, 120, 116, 117, 114, 101, 32, 73, 68, 32, 40, 37, 100, 41, 32, 105, 115, 32, 105, 110, 118, 97, 108, 105, 100, 32, 40, 48, 41, 10, 0}; +.global .align 16 .b8 $str8[56] = {9, 116, 101, 120, 116, 117, 114, 101, 32, 73, 68, 32, 40, 37, 100, 41, 32, 105, 115, 32, 110, 111, 116, 32, 105, 110, 32, 116, 104, 101, 32, 118, 97, 108, 105, 100, 32, 114, 97, 110, 103, 101, 32, 111, 102, 32, 91, 49, 44, 115, 105, 122, 101, 41, 10, 0}; +.global .align 16 .b8 $str9[34] = {9, 116, 101, 120, 116, 117, 114, 101, 32, 73, 68, 32, 40, 37, 100, 41, 32, 105, 115, 32, 105, 110, 118, 97, 108, 105, 100, 32, 40, 45, 49, 41, 10, 0}; +.global .align 16 .b8 $str10[39] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 66, 85, 70, 70, 69, 82, 95, 73, 68, 95, 73, 78, 86, 65, 76, 73, 68, 10, 0}; +.global .align 16 .b8 $str11[44] = {9, 98, 117, 102, 102, 101, 114, 32, 73, 68, 32, 101, 113, 117, 97, 108, 32, 116, 111, 32, 82, 84, 95, 66, 85, 70, 70, 69, 82, 95, 73, 68, 95, 78, 85, 76, 76, 32, 117, 115, 101, 100, 10, 0}; +.global .align 16 .b8 $str12[55] = {9, 98, 117, 102, 102, 101, 114, 32, 73, 68, 32, 40, 37, 100, 41, 32, 105, 115, 32, 110, 111, 116, 32, 105, 110, 32, 116, 104, 101, 32, 118, 97, 108, 105, 100, 32, 114, 97, 110, 103, 101, 32, 111, 102, 32, 91, 49, 44, 115, 105, 122, 101, 41, 10, 0}; +.global .align 16 .b8 $str13[37] = {9, 66, 117, 102, 102, 101, 114, 32, 73, 68, 32, 111, 102, 32, 97, 32, 100, 101, 108, 101, 116, 101, 100, 32, 98, 117, 102, 102, 101, 114, 32, 117, 115, 101, 100, 10, 0}; +.global .align 16 .b8 $str14[145] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 73, 78, 68, 69, 88, 95, 79, 85, 84, 95, 79, 70, 95, 66, 79, 85, 78, 68, 83, 10, 32, 32, 108, 97, 117, 110, 99, 104, 32, 105, 110, 100, 101, 120, 32, 32, 32, 58, 32, 37, 100, 44, 32, 37, 100, 44, 32, 37, 100, 10, 32, 32, 98, 117, 102, 102, 101, 114, 32, 97, 100, 100, 114, 101, 115, 115, 32, 58, 32, 48, 120, 37, 108, 108, 88, 10, 32, 32, 115, 105, 122, 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 58, 32, 37, 108, 108, 100, 10, 32, 32, 97, 99, 99, 101, 115, 115, 101, 100, 32, 105, 110, 100, 101, 120, 32, 58, 32, 37, 108, 108, 100, 10, 0}; +.global .align 16 .b8 $str15[179] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 73, 78, 86, 65, 76, 73, 68, 95, 82, 65, 89, 10, 32, 32, 108, 97, 117, 110, 99, 104, 32, 105, 110, 100, 101, 120, 32, 32, 58, 32, 37, 100, 44, 32, 37, 100, 44, 32, 37, 100, 10, 32, 32, 114, 97, 121, 32, 111, 114, 105, 103, 105, 110, 32, 32, 32, 32, 58, 32, 37, 102, 32, 37, 102, 32, 37, 102, 10, 32, 32, 114, 97, 121, 32, 100, 105, 114, 101, 99, 116, 105, 111, 110, 32, 58, 32, 37, 102, 32, 37, 102, 32, 37, 102, 10, 32, 32, 114, 97, 121, 32, 116, 121, 112, 101, 32, 32, 32, 32, 32, 32, 58, 32, 37, 100, 10, 32, 32, 114, 97, 121, 32, 116, 109, 105, 110, 32, 32, 32, 32, 32, 32, 58, 32, 37, 102, 10, 32, 32, 114, 97, 121, 32, 116, 109, 97, 120, 32, 32, 32, 32, 32, 32, 58, 32, 37, 102, 10, 0}; +.global .align 16 .b8 $str16[84] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 73, 78, 84, 69, 82, 78, 65, 76, 95, 69, 82, 82, 79, 82, 10, 32, 32, 108, 97, 117, 110, 99, 104, 32, 105, 110, 100, 101, 120, 32, 58, 32, 37, 100, 44, 32, 37, 100, 44, 32, 37, 100, 10, 32, 32, 101, 114, 114, 111, 114, 32, 105, 100, 32, 32, 32, 32, 32, 58, 32, 37, 100, 10, 0}; +.global .align 16 .b8 $str17[57] = {67, 97, 117, 103, 104, 116, 32, 82, 84, 95, 69, 88, 67, 69, 80, 84, 73, 79, 78, 95, 85, 83, 69, 82, 43, 37, 100, 10, 32, 32, 108, 97, 117, 110, 99, 104, 32, 105, 110, 100, 101, 120, 32, 58, 32, 37, 100, 44, 32, 37, 100, 44, 32, 37, 100, 10, 0}; +.global .align 16 .b8 $str18[54] = {67, 97, 117, 103, 104, 116, 32, 117, 110, 107, 110, 111, 119, 110, 32, 101, 120, 99, 101, 112, 116, 105, 111, 110, 10, 32, 32, 108, 97, 117, 110, 99, 104, 32, 105, 110, 100, 101, 120, 32, 58, 32, 37, 100, 44, 32, 37, 100, 44, 32, 37, 100, 10, 0}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 16 .b8 __local_depot0[208]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<40>; + .reg .f32 %f<9>; + .reg .b32 %r<84>; + .reg .f64 %fd<9>; + .reg .b64 %rd<90>; + + + mov.u64 %rd89, __local_depot0; + cvta.local.u64 %SP, %rd89; + // inline asm + call (%r39), _rt_get_exception_code, (); + // inline asm + // inline asm + call (%r40), _rt_get_exception_code, (); + // inline asm + setp.eq.s32 %p1, %r40, 1020; + @%p1 bra BB0_58; + bra.uni BB0_1; + +BB0_58: + ld.volatile.global.u32 %r36, [_ZN21rti_internal_register14reg_rayIndex_xE]; + ld.volatile.global.u32 %r37, [_ZN21rti_internal_register14reg_rayIndex_yE]; + ld.volatile.global.u32 %r38, [_ZN21rti_internal_register14reg_rayIndex_zE]; + // inline asm + call (%r81), _rt_print_active, (); + // inline asm + setp.eq.s32 %p39, %r81, 0; + @%p39 bra BB0_60; + + add.u64 %rd83, %SP, 184; + cvta.to.local.u64 %rd84, %rd83; + st.local.v2.u32 [%rd84], {%r36, %r37}; + st.local.u32 [%rd84+8], %r38; + mov.u64 %rd85, $str; + cvta.global.u64 %rd86, %rd85; + // Callseq Start 18 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd86; + .param .b64 param1; + st.param.b64 [param1+0], %rd83; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r82, [retval0+0]; + + //{ + }// Callseq End 18 + bra.uni BB0_60; + +BB0_1: + setp.eq.s32 %p2, %r40, 1021; + @%p2 bra BB0_52; + bra.uni BB0_2; + +BB0_52: + ld.volatile.global.u32 %r30, [_ZN21rti_internal_register21reg_exception_detail0E]; + ld.volatile.global.u32 %r31, [_ZN21rti_internal_register14reg_rayIndex_xE]; + ld.volatile.global.u32 %r32, [_ZN21rti_internal_register14reg_rayIndex_yE]; + ld.volatile.global.u32 %r33, [_ZN21rti_internal_register14reg_rayIndex_zE]; + ld.volatile.global.u64 %rd5, [_ZN21rti_internal_register24reg_exception_64_detail0E]; + ld.volatile.global.u32 %r34, [_ZN21rti_internal_register21reg_exception_detail0E]; + ld.volatile.global.u64 %rd6, [_ZN21rti_internal_register24reg_exception_64_detail1E]; + mov.u64 %rd88, 1; + setp.lt.u32 %p36, %r30, 2; + mov.u64 %rd87, %rd88; + @%p36 bra BB0_54; + + ld.volatile.global.u64 %rd87, [_ZN21rti_internal_register24reg_exception_64_detail2E]; + +BB0_54: + setp.lt.u32 %p37, %r30, 3; + @%p37 bra BB0_56; + + ld.volatile.global.u64 %rd88, [_ZN21rti_internal_register24reg_exception_64_detail3E]; + +BB0_56: + ld.volatile.global.u32 %r35, [_ZN21rti_internal_register21reg_exception_detail1E]; + ld.volatile.global.u64 %rd11, [_ZN21rti_internal_register24reg_exception_64_detail4E]; + ld.volatile.global.u64 %rd12, [_ZN21rti_internal_register24reg_exception_64_detail5E]; + ld.volatile.global.u64 %rd13, [_ZN21rti_internal_register24reg_exception_64_detail6E]; + // inline asm + call (%r79), _rt_print_active, (); + // inline asm + setp.eq.s32 %p38, %r79, 0; + @%p38 bra BB0_60; + + add.u64 %rd79, %SP, 96; + cvta.to.local.u64 %rd80, %rd79; + st.local.v2.u32 [%rd80], {%r31, %r32}; + st.local.u32 [%rd80+8], %r33; + st.local.u32 [%rd80+24], %r34; + st.local.u32 [%rd80+56], %r35; + st.local.u64 [%rd80+16], %rd5; + st.local.u64 [%rd80+32], %rd6; + st.local.u64 [%rd80+40], %rd87; + st.local.u64 [%rd80+48], %rd88; + st.local.u64 [%rd80+64], %rd11; + st.local.u64 [%rd80+72], %rd12; + st.local.u64 [%rd80+80], %rd13; + mov.u64 %rd81, $str1; + cvta.global.u64 %rd82, %rd81; + // Callseq Start 17 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd82; + .param .b64 param1; + st.param.b64 [param1+0], %rd79; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r80, [retval0+0]; + + //{ + }// Callseq End 17 + +BB0_60: + ret; + +BB0_2: + setp.eq.s32 %p3, %r40, 1006; + @%p3 bra BB0_41; + bra.uni BB0_3; + +BB0_41: + // inline asm + call (%r70), _rt_print_active, (); + // inline asm + setp.eq.s32 %p29, %r70, 0; + @%p29 bra BB0_43; + + mov.u64 %rd64, $str2; + cvta.global.u64 %rd65, %rd64; + mov.u64 %rd66, 0; + // Callseq Start 13 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd65; + .param .b64 param1; + st.param.b64 [param1+0], %rd66; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r71, [retval0+0]; + + //{ + }// Callseq End 13 + +BB0_43: + ld.volatile.global.u32 %r72, [_ZN21rti_internal_register21reg_exception_detail1E]; + setp.eq.s32 %p30, %r72, 0; + @%p30 bra BB0_50; + + setp.eq.s32 %p31, %r72, 1; + @%p31 bra BB0_48; + bra.uni BB0_45; + +BB0_48: + ld.volatile.global.u32 %r29, [_ZN21rti_internal_register21reg_exception_detail0E]; + // inline asm + call (%r75), _rt_print_active, (); + // inline asm + setp.eq.s32 %p34, %r75, 0; + @%p34 bra BB0_60; + + add.u64 %rd70, %SP, 88; + cvta.to.local.u64 %rd71, %rd70; + st.local.u32 [%rd71], %r29; + mov.u64 %rd72, $str4; + cvta.global.u64 %rd73, %rd72; + // Callseq Start 15 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd73; + .param .b64 param1; + st.param.b64 [param1+0], %rd70; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r76, [retval0+0]; + + //{ + }// Callseq End 15 + bra.uni BB0_60; + +BB0_3: + setp.eq.s32 %p4, %r40, 1007; + @%p4 bra BB0_30; + bra.uni BB0_4; + +BB0_30: + // inline asm + call (%r61), _rt_print_active, (); + // inline asm + setp.eq.s32 %p22, %r61, 0; + @%p22 bra BB0_32; + + mov.u64 %rd49, $str6; + cvta.global.u64 %rd50, %rd49; + mov.u64 %rd51, 0; + // Callseq Start 9 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd50; + .param .b64 param1; + st.param.b64 [param1+0], %rd51; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r62, [retval0+0]; + + //{ + }// Callseq End 9 + +BB0_32: + ld.volatile.global.u32 %r63, [_ZN21rti_internal_register21reg_exception_detail1E]; + setp.eq.s32 %p23, %r63, 0; + @%p23 bra BB0_39; + + setp.eq.s32 %p24, %r63, 1; + @%p24 bra BB0_37; + bra.uni BB0_34; + +BB0_37: + ld.volatile.global.u32 %r27, [_ZN21rti_internal_register21reg_exception_detail0E]; + // inline asm + call (%r66), _rt_print_active, (); + // inline asm + setp.eq.s32 %p27, %r66, 0; + @%p27 bra BB0_60; + + add.u64 %rd56, %SP, 72; + cvta.to.local.u64 %rd57, %rd56; + st.local.u32 [%rd57], %r27; + mov.u64 %rd58, $str8; + cvta.global.u64 %rd59, %rd58; + // Callseq Start 11 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd59; + .param .b64 param1; + st.param.b64 [param1+0], %rd56; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r67, [retval0+0]; + + //{ + }// Callseq End 11 + bra.uni BB0_60; + +BB0_4: + setp.eq.s32 %p5, %r40, 1018; + @%p5 bra BB0_19; + bra.uni BB0_5; + +BB0_19: + // inline asm + call (%r52), _rt_print_active, (); + // inline asm + setp.eq.s32 %p15, %r52, 0; + @%p15 bra BB0_21; + + mov.u64 %rd36, $str10; + cvta.global.u64 %rd37, %rd36; + mov.u64 %rd38, 0; + // Callseq Start 5 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd37; + .param .b64 param1; + st.param.b64 [param1+0], %rd38; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r53, [retval0+0]; + + //{ + }// Callseq End 5 + +BB0_21: + ld.volatile.global.u32 %r54, [_ZN21rti_internal_register21reg_exception_detail1E]; + setp.eq.s32 %p16, %r54, 0; + @%p16 bra BB0_28; + + setp.eq.s32 %p17, %r54, 1; + @%p17 bra BB0_26; + bra.uni BB0_23; + +BB0_26: + ld.volatile.global.u32 %r25, [_ZN21rti_internal_register21reg_exception_detail0E]; + // inline asm + call (%r57), _rt_print_active, (); + // inline asm + setp.eq.s32 %p20, %r57, 0; + @%p20 bra BB0_60; + + add.u64 %rd42, %SP, 56; + cvta.to.local.u64 %rd43, %rd42; + st.local.u32 [%rd43], %r25; + mov.u64 %rd44, $str12; + cvta.global.u64 %rd45, %rd44; + // Callseq Start 7 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd45; + .param .b64 param1; + st.param.b64 [param1+0], %rd42; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r58, [retval0+0]; + + //{ + }// Callseq End 7 + bra.uni BB0_60; + +BB0_50: + // inline asm + call (%r77), _rt_print_active, (); + // inline asm + setp.eq.s32 %p35, %r77, 0; + @%p35 bra BB0_60; + + mov.u64 %rd74, $str3; + cvta.global.u64 %rd75, %rd74; + mov.u64 %rd76, 0; + // Callseq Start 16 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd75; + .param .b64 param1; + st.param.b64 [param1+0], %rd76; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r78, [retval0+0]; + + //{ + }// Callseq End 16 + bra.uni BB0_60; + +BB0_45: + setp.ne.s32 %p32, %r72, 2; + @%p32 bra BB0_60; + + // inline asm + call (%r73), _rt_print_active, (); + // inline asm + setp.eq.s32 %p33, %r73, 0; + @%p33 bra BB0_60; + + mov.u64 %rd67, $str5; + cvta.global.u64 %rd68, %rd67; + mov.u64 %rd69, 0; + // Callseq Start 14 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd68; + .param .b64 param1; + st.param.b64 [param1+0], %rd69; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r74, [retval0+0]; + + //{ + }// Callseq End 14 + bra.uni BB0_60; + +BB0_5: + setp.eq.s32 %p6, %r40, 1019; + @%p6 bra BB0_17; + bra.uni BB0_6; + +BB0_17: + ld.volatile.global.u32 %r50, [_ZN21rti_internal_register21reg_exception_detail0E]; + ld.volatile.global.u32 %r22, [_ZN21rti_internal_register14reg_rayIndex_xE]; + ld.volatile.global.u32 %r23, [_ZN21rti_internal_register14reg_rayIndex_yE]; + ld.volatile.global.u32 %r24, [_ZN21rti_internal_register14reg_rayIndex_zE]; + ld.volatile.global.u64 %rd2, [_ZN21rti_internal_register24reg_exception_64_detail0E]; + ld.volatile.global.u64 %rd3, [_ZN21rti_internal_register24reg_exception_64_detail1E]; + ld.volatile.global.u64 %rd4, [_ZN21rti_internal_register24reg_exception_64_detail2E]; + // inline asm + call (%r49), _rt_print_active, (); + // inline asm + setp.eq.s32 %p14, %r49, 0; + @%p14 bra BB0_60; + + add.u64 %rd32, %SP, 16; + cvta.to.local.u64 %rd33, %rd32; + st.local.v2.u32 [%rd33], {%r22, %r23}; + st.local.u32 [%rd33+8], %r24; + st.local.u64 [%rd33+16], %rd2; + st.local.u64 [%rd33+24], %rd3; + st.local.u64 [%rd33+32], %rd4; + mov.u64 %rd34, $str14; + cvta.global.u64 %rd35, %rd34; + // Callseq Start 4 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd35; + .param .b64 param1; + st.param.b64 [param1+0], %rd32; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r51, [retval0+0]; + + //{ + }// Callseq End 4 + bra.uni BB0_60; + +BB0_39: + ld.volatile.global.u32 %r28, [_ZN21rti_internal_register21reg_exception_detail0E]; + // inline asm + call (%r68), _rt_print_active, (); + // inline asm + setp.eq.s32 %p28, %r68, 0; + @%p28 bra BB0_60; + + add.u64 %rd60, %SP, 80; + cvta.to.local.u64 %rd61, %rd60; + st.local.u32 [%rd61], %r28; + mov.u64 %rd62, $str7; + cvta.global.u64 %rd63, %rd62; + // Callseq Start 12 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd63; + .param .b64 param1; + st.param.b64 [param1+0], %rd60; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r69, [retval0+0]; + + //{ + }// Callseq End 12 + bra.uni BB0_60; + +BB0_34: + setp.ne.s32 %p25, %r63, 2; + @%p25 bra BB0_60; + + ld.volatile.global.u32 %r26, [_ZN21rti_internal_register21reg_exception_detail0E]; + // inline asm + call (%r64), _rt_print_active, (); + // inline asm + setp.eq.s32 %p26, %r64, 0; + @%p26 bra BB0_60; + + add.u64 %rd52, %SP, 64; + cvta.to.local.u64 %rd53, %rd52; + st.local.u32 [%rd53], %r26; + mov.u64 %rd54, $str9; + cvta.global.u64 %rd55, %rd54; + // Callseq Start 10 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd55; + .param .b64 param1; + st.param.b64 [param1+0], %rd52; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r65, [retval0+0]; + + //{ + }// Callseq End 10 + bra.uni BB0_60; + +BB0_6: + setp.eq.s32 %p7, %r40, 1022; + @%p7 bra BB0_15; + bra.uni BB0_7; + +BB0_15: + ld.volatile.global.u32 %r10, [_ZN21rti_internal_register14reg_rayIndex_xE]; + ld.volatile.global.u32 %r11, [_ZN21rti_internal_register14reg_rayIndex_yE]; + ld.volatile.global.u32 %r12, [_ZN21rti_internal_register14reg_rayIndex_zE]; + ld.volatile.global.u32 %r13, [_ZN21rti_internal_register21reg_exception_detail0E]; + ld.volatile.global.u32 %r14, [_ZN21rti_internal_register21reg_exception_detail1E]; + ld.volatile.global.u32 %r15, [_ZN21rti_internal_register21reg_exception_detail2E]; + ld.volatile.global.u32 %r16, [_ZN21rti_internal_register21reg_exception_detail3E]; + ld.volatile.global.u32 %r17, [_ZN21rti_internal_register21reg_exception_detail4E]; + ld.volatile.global.u32 %r18, [_ZN21rti_internal_register21reg_exception_detail5E]; + ld.volatile.global.u32 %r19, [_ZN21rti_internal_register21reg_exception_detail6E]; + ld.volatile.global.u32 %r20, [_ZN21rti_internal_register21reg_exception_detail7E]; + ld.volatile.global.u32 %r21, [_ZN21rti_internal_register21reg_exception_detail8E]; + // inline asm + call (%r47), _rt_print_active, (); + // inline asm + setp.eq.s32 %p13, %r47, 0; + @%p13 bra BB0_60; + + mov.b32 %f1, %r13; + cvt.f64.f32 %fd1, %f1; + mov.b32 %f2, %r14; + cvt.f64.f32 %fd2, %f2; + mov.b32 %f3, %r15; + cvt.f64.f32 %fd3, %f3; + mov.b32 %f4, %r16; + cvt.f64.f32 %fd4, %f4; + mov.b32 %f5, %r17; + cvt.f64.f32 %fd5, %f5; + mov.b32 %f6, %r18; + cvt.f64.f32 %fd6, %f6; + mov.b32 %f7, %r20; + cvt.f64.f32 %fd7, %f7; + mov.b32 %f8, %r21; + cvt.f64.f32 %fd8, %f8; + add.u64 %rd28, %SP, 96; + cvta.to.local.u64 %rd29, %rd28; + st.local.v2.u32 [%rd29], {%r10, %r11}; + st.local.u32 [%rd29+8], %r12; + st.local.u32 [%rd29+64], %r19; + st.local.f64 [%rd29+16], %fd1; + st.local.f64 [%rd29+24], %fd2; + st.local.f64 [%rd29+32], %fd3; + st.local.f64 [%rd29+40], %fd4; + st.local.f64 [%rd29+48], %fd5; + st.local.f64 [%rd29+56], %fd6; + st.local.f64 [%rd29+72], %fd7; + st.local.f64 [%rd29+80], %fd8; + mov.u64 %rd30, $str15; + cvta.global.u64 %rd31, %rd30; + // Callseq Start 3 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd31; + .param .b64 param1; + st.param.b64 [param1+0], %rd28; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r48, [retval0+0]; + + //{ + }// Callseq End 3 + bra.uni BB0_60; + +BB0_28: + // inline asm + call (%r59), _rt_print_active, (); + // inline asm + setp.eq.s32 %p21, %r59, 0; + @%p21 bra BB0_60; + + mov.u64 %rd46, $str11; + cvta.global.u64 %rd47, %rd46; + mov.u64 %rd48, 0; + // Callseq Start 8 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd47; + .param .b64 param1; + st.param.b64 [param1+0], %rd48; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r60, [retval0+0]; + + //{ + }// Callseq End 8 + bra.uni BB0_60; + +BB0_23: + setp.ne.s32 %p18, %r54, 2; + @%p18 bra BB0_60; + + // inline asm + call (%r55), _rt_print_active, (); + // inline asm + setp.eq.s32 %p19, %r55, 0; + @%p19 bra BB0_60; + + mov.u64 %rd39, $str13; + cvta.global.u64 %rd40, %rd39; + mov.u64 %rd41, 0; + // Callseq Start 6 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd40; + .param .b64 param1; + st.param.b64 [param1+0], %rd41; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r56, [retval0+0]; + + //{ + }// Callseq End 6 + bra.uni BB0_60; + +BB0_7: + setp.eq.s32 %p8, %r40, 1023; + add.u64 %rd14, %SP, 0; + cvta.to.local.u64 %rd15, %rd14; + add.s64 %rd1, %rd15, 4; + @%p8 bra BB0_13; + bra.uni BB0_8; + +BB0_13: + ld.volatile.global.u32 %r6, [_ZN21rti_internal_register14reg_rayIndex_xE]; + ld.volatile.global.u32 %r7, [_ZN21rti_internal_register14reg_rayIndex_yE]; + ld.volatile.global.u32 %r8, [_ZN21rti_internal_register14reg_rayIndex_zE]; + ld.volatile.global.u32 %r9, [_ZN21rti_internal_register21reg_exception_detail0E]; + // inline asm + call (%r45), _rt_print_active, (); + // inline asm + setp.eq.s32 %p12, %r45, 0; + @%p12 bra BB0_60; + + st.local.u32 [%rd15], %r6; + st.local.u32 [%rd1], %r7; + st.local.v2.u32 [%rd1+4], {%r8, %r9}; + mov.u64 %rd26, $str16; + cvta.global.u64 %rd27, %rd26; + // Callseq Start 2 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd27; + .param .b64 param1; + st.param.b64 [param1+0], %rd14; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r46, [retval0+0]; + + //{ + }// Callseq End 2 + bra.uni BB0_60; + +BB0_8: + add.s32 %r2, %r40, -1024; + setp.lt.u32 %p9, %r2, 64512; + ld.volatile.global.u32 %r3, [_ZN21rti_internal_register14reg_rayIndex_xE]; + ld.volatile.global.u32 %r4, [_ZN21rti_internal_register14reg_rayIndex_yE]; + ld.volatile.global.u32 %r5, [_ZN21rti_internal_register14reg_rayIndex_zE]; + @%p9 bra BB0_11; + bra.uni BB0_9; + +BB0_11: + // inline asm + call (%r43), _rt_print_active, (); + // inline asm + setp.eq.s32 %p11, %r43, 0; + @%p11 bra BB0_60; + + add.s32 %r83, %r40, -1024; + st.local.u32 [%rd15], %r83; + st.local.u32 [%rd1], %r3; + st.local.v2.u32 [%rd1+4], {%r4, %r5}; + mov.u64 %rd22, $str17; + cvta.global.u64 %rd23, %rd22; + // Callseq Start 1 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd23; + .param .b64 param1; + st.param.b64 [param1+0], %rd14; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r44, [retval0+0]; + + //{ + }// Callseq End 1 + bra.uni BB0_60; + +BB0_9: + // inline asm + call (%r41), _rt_print_active, (); + // inline asm + setp.eq.s32 %p10, %r41, 0; + @%p10 bra BB0_60; + + add.u64 %rd16, %SP, 184; + cvta.to.local.u64 %rd17, %rd16; + st.local.v2.u32 [%rd17], {%r3, %r4}; + st.local.u32 [%rd17+8], %r5; + mov.u64 %rd18, $str18; + cvta.global.u64 %rd19, %rd18; + // Callseq Start 0 + { + .reg .b32 temp_param_reg; + // } + .param .b64 param0; + st.param.b64 [param0+0], %rd19; + .param .b64 param1; + st.param.b64 [param1+0], %rd16; + .param .b32 retval0; + call.uni (retval0), + vprintf, + ( + param0, + param1 + ); + ld.param.b32 %r42, [retval0+0]; + + //{ + }// Callseq End 0 + bra.uni BB0_60; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/exception.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/exception.ptx.meta new file mode 100644 index 00000000..091f8325 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/exception.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9d9bc0dee203fca4e82a2ec45087ad9e +timeCreated: 1527356601 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx new file mode 100644 index 00000000..ccb3b806 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx @@ -0,0 +1,337 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 uvfacenormal[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<12>; + .reg .b16 %rs<9>; + .reg .f32 %f<153>; + .reg .b32 %r<59>; + .reg .b64 %rd<57>; + + + mov.u64 %rd56, __local_depot0; + cvta.local.u64 %SP, %rd56; + ld.global.v2.u32 {%r6, %r7}, [pixelID]; + cvt.u64.u32 %rd4, %r6; + cvt.u64.u32 %rd5, %r7; + mov.u64 %rd8, uvfacenormal; + cvta.global.u64 %rd3, %rd8; + mov.u32 %r4, 2; + mov.u32 %r5, 4; + mov.u64 %rd7, 0; + // inline asm + call (%rd2), _rt_buffer_get_64, (%rd3, %r4, %r5, %rd4, %rd5, %rd7, %rd7); + // inline asm + ld.u32 %r1, [%rd2]; + shr.u32 %r10, %r1, 16; + cvt.u16.u32 %rs1, %r10; + and.b16 %rs2, %rs1, 255; + cvt.u16.u32 %rs3, %r1; + or.b16 %rs4, %rs3, %rs2; + setp.eq.s16 %p1, %rs4, 0; + mov.f32 %f143, 0f00000000; + mov.f32 %f144, %f143; + mov.f32 %f145, %f143; + @%p1 bra BB0_2; + + ld.u8 %rs5, [%rd2+1]; + and.b16 %rs7, %rs3, 255; + cvt.rn.f32.u16 %f61, %rs7; + div.rn.f32 %f62, %f61, 0f437F0000; + fma.rn.f32 %f63, %f62, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f64, %rs5; + div.rn.f32 %f65, %f64, 0f437F0000; + fma.rn.f32 %f66, %f65, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f67, %rs2; + div.rn.f32 %f68, %f67, 0f437F0000; + fma.rn.f32 %f69, %f68, 0f40000000, 0fBF800000; + mul.f32 %f70, %f66, %f66; + fma.rn.f32 %f71, %f63, %f63, %f70; + fma.rn.f32 %f72, %f69, %f69, %f71; + sqrt.rn.f32 %f73, %f72; + rcp.rn.f32 %f74, %f73; + mul.f32 %f143, %f63, %f74; + mul.f32 %f144, %f66, %f74; + mul.f32 %f145, %f69, %f74; + +BB0_2: + ld.global.v2.u32 {%r11, %r12}, [pixelID]; + ld.global.v2.u32 {%r14, %r15}, [tileInfo]; + add.s32 %r2, %r11, %r14; + add.s32 %r3, %r12, %r15; + setp.eq.f32 %p2, %f144, 0f00000000; + setp.eq.f32 %p3, %f143, 0f00000000; + and.pred %p4, %p3, %p2; + setp.eq.f32 %p5, %f145, 0f00000000; + and.pred %p6, %p4, %p5; + @%p6 bra BB0_9; + bra.uni BB0_3; + +BB0_9: + cvt.u64.u32 %rd51, %r2; + cvt.u64.u32 %rd52, %r3; + mov.u64 %rd55, image_HDR; + cvta.global.u64 %rd50, %rd55; + mov.u32 %r58, 16; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd50, %r4, %r58, %rd51, %rd52, %rd7, %rd7); + // inline asm + mov.f32 %f142, 0f00000000; + st.v4.f32 [%rd49], {%f142, %f142, %f142, %f142}; + bra.uni BB0_10; + +BB0_3: + ld.global.v2.u32 {%r30, %r31}, [pixelID]; + cvt.u64.u32 %rd11, %r30; + cvt.u64.u32 %rd12, %r31; + mov.u64 %rd34, uvpos; + cvta.global.u64 %rd10, %rd34; + mov.u32 %r26, 16; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd10, %r4, %r26, %rd11, %rd12, %rd7, %rd7); + // inline asm + ld.f32 %f150, [%rd9]; + ld.global.v2.u32 {%r34, %r35}, [pixelID]; + cvt.u64.u32 %rd17, %r34; + cvt.u64.u32 %rd18, %r35; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd10, %r4, %r26, %rd17, %rd18, %rd7, %rd7); + // inline asm + ld.f32 %f151, [%rd15+4]; + ld.global.v2.u32 {%r38, %r39}, [pixelID]; + cvt.u64.u32 %rd23, %r38; + cvt.u64.u32 %rd24, %r39; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd10, %r4, %r26, %rd23, %rd24, %rd7, %rd7); + // inline asm + ld.f32 %f152, [%rd21+8]; + ld.global.v2.u32 {%r42, %r43}, [pixelID]; + cvt.u64.u32 %rd29, %r42; + cvt.u64.u32 %rd30, %r43; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd10, %r4, %r26, %rd29, %rd30, %rd7, %rd7); + // inline asm + ld.f32 %f83, [%rd27+12]; + add.f32 %f82, %f83, 0f38D1B717; + fma.rn.f32 %f11, %f143, 0f38D1B717, %f150; + fma.rn.f32 %f12, %f144, 0f38D1B717, %f151; + fma.rn.f32 %f13, %f145, 0f38D1B717, %f152; + abs.f32 %f84, %f145; + abs.f32 %f85, %f143; + setp.gt.f32 %p7, %f85, %f84; + neg.f32 %f86, %f144; + selp.f32 %f87, %f86, 0f00000000, %p7; + neg.f32 %f88, %f145; + selp.f32 %f89, %f143, %f88, %p7; + selp.f32 %f90, 0f00000000, %f144, %p7; + mul.f32 %f91, %f89, %f89; + fma.rn.f32 %f92, %f87, %f87, %f91; + fma.rn.f32 %f93, %f90, %f90, %f92; + sqrt.rn.f32 %f94, %f93; + rcp.rn.f32 %f95, %f94; + mul.f32 %f14, %f87, %f95; + mul.f32 %f15, %f89, %f95; + mul.f32 %f16, %f90, %f95; + mul.f32 %f96, %f145, %f15; + mul.f32 %f97, %f144, %f16; + sub.f32 %f17, %f96, %f97; + mul.f32 %f98, %f143, %f16; + mul.f32 %f99, %f145, %f14; + sub.f32 %f18, %f98, %f99; + mul.f32 %f100, %f144, %f14; + mul.f32 %f101, %f143, %f15; + sub.f32 %f19, %f100, %f101; + mov.f32 %f102, 0f3F8147AE; + sqrt.rn.f32 %f103, %f102; + rcp.rn.f32 %f20, %f103; + neg.f32 %f21, %f20; + mul.f32 %f22, %f20, 0f00000000; + mul.f32 %f104, %f20, 0f3DCCCCCD; + mul.f32 %f23, %f14, %f22; + mul.f32 %f24, %f15, %f22; + mul.f32 %f25, %f16, %f22; + fma.rn.f32 %f105, %f17, %f21, %f23; + fma.rn.f32 %f106, %f18, %f21, %f24; + fma.rn.f32 %f107, %f19, %f21, %f25; + mul.f32 %f26, %f143, %f104; + mul.f32 %f27, %f144, %f104; + mul.f32 %f28, %f145, %f104; + add.f32 %f149, %f105, %f26; + add.f32 %f148, %f106, %f27; + add.f32 %f147, %f107, %f28; + add.u64 %rd33, %SP, 0; + cvta.to.local.u64 %rd35, %rd33; + mov.u32 %r28, 0; + st.local.u32 [%rd35], %r28; + ld.global.u32 %r27, [root]; + mov.f32 %f81, 0f38D1B717; + // inline asm + call _rt_trace_64, (%r27, %f11, %f12, %f13, %f149, %f148, %f147, %r28, %f81, %f82, %rd33, %r5); + // inline asm + ld.local.f32 %f146, [%rd35]; + setp.gt.f32 %p8, %f146, 0f00000000; + @%p8 bra BB0_7; + + fma.rn.f32 %f116, %f17, %f20, %f23; + fma.rn.f32 %f117, %f18, %f20, %f24; + fma.rn.f32 %f118, %f19, %f20, %f25; + add.f32 %f149, %f116, %f26; + add.f32 %f148, %f117, %f27; + add.f32 %f147, %f118, %f28; + st.local.u32 [%rd35], %r28; + ld.global.u32 %r46, [root]; + // inline asm + call _rt_trace_64, (%r46, %f11, %f12, %f13, %f149, %f148, %f147, %r28, %f81, %f82, %rd33, %r5); + // inline asm + ld.local.f32 %f146, [%rd35]; + setp.gt.f32 %p9, %f146, 0f00000000; + @%p9 bra BB0_7; + + mul.f32 %f37, %f17, %f22; + fma.rn.f32 %f127, %f14, %f21, %f37; + mul.f32 %f38, %f18, %f22; + fma.rn.f32 %f128, %f15, %f21, %f38; + mul.f32 %f39, %f19, %f22; + fma.rn.f32 %f129, %f16, %f21, %f39; + add.f32 %f149, %f127, %f26; + add.f32 %f148, %f128, %f27; + add.f32 %f147, %f129, %f28; + st.local.u32 [%rd35], %r28; + ld.global.u32 %r49, [root]; + // inline asm + call _rt_trace_64, (%r49, %f11, %f12, %f13, %f149, %f148, %f147, %r28, %f81, %f82, %rd33, %r5); + // inline asm + ld.local.f32 %f146, [%rd35]; + setp.gt.f32 %p10, %f146, 0f00000000; + @%p10 bra BB0_7; + + fma.rn.f32 %f138, %f14, %f20, %f37; + fma.rn.f32 %f139, %f15, %f20, %f38; + fma.rn.f32 %f140, %f16, %f20, %f39; + add.f32 %f149, %f138, %f26; + add.f32 %f148, %f139, %f27; + add.f32 %f147, %f140, %f28; + st.local.u32 [%rd35], %r28; + ld.global.u32 %r52, [root]; + // inline asm + call _rt_trace_64, (%r52, %f11, %f12, %f13, %f149, %f148, %f147, %r28, %f81, %f82, %rd33, %r5); + // inline asm + ld.local.f32 %f146, [%rd35]; + setp.leu.f32 %p11, %f146, 0f00000000; + @%p11 bra BB0_8; + +BB0_7: + fma.rn.f32 %f150, %f146, %f149, %f11; + fma.rn.f32 %f151, %f146, %f148, %f12; + fma.rn.f32 %f152, %f146, %f147, %f13; + +BB0_8: + cvt.u64.u32 %rd45, %r3; + cvt.u64.u32 %rd44, %r2; + mov.u64 %rd48, image_HDR; + cvta.global.u64 %rd43, %rd48; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd43, %r4, %r26, %rd44, %rd45, %rd7, %rd7); + // inline asm + mov.f32 %f141, 0f3F800000; + st.v4.f32 [%rd42], {%f150, %f151, %f152, %f141}; + +BB0_10: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx.meta new file mode 100644 index 00000000..016afcce --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 04bc0e20327a72741902db186ca7e332 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx new file mode 100644 index 00000000..f91be368 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx @@ -0,0 +1,245 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 uvfacenormal[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvsmoothpos[1]; +.global .align 1 .b8 triangleMarks[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<8>; + .reg .b16 %rs<10>; + .reg .f32 %f<50>; + .reg .b32 %r<46>; + .reg .b64 %rd<51>; + + + mov.u64 %rd50, __local_depot0; + cvta.local.u64 %SP, %rd50; + ld.global.v2.u32 {%r4, %r5}, [pixelID]; + cvt.u64.u32 %rd4, %r4; + cvt.u64.u32 %rd5, %r5; + mov.u64 %rd8, uvfacenormal; + cvta.global.u64 %rd3, %rd8; + mov.u32 %r2, 2; + mov.u32 %r3, 4; + mov.u64 %rd7, 0; + // inline asm + call (%rd2), _rt_buffer_get_64, (%rd3, %r2, %r3, %rd4, %rd5, %rd7, %rd7); + // inline asm + ld.u32 %r1, [%rd2]; + shr.u32 %r8, %r1, 16; + cvt.u16.u32 %rs1, %r8; + and.b16 %rs2, %rs1, 255; + cvt.u16.u32 %rs3, %r1; + or.b16 %rs4, %rs3, %rs2; + setp.eq.s16 %p1, %rs4, 0; + mov.f32 %f47, 0f00000000; + mov.f32 %f48, %f47; + mov.f32 %f49, %f47; + @%p1 bra BB0_2; + + ld.u8 %rs5, [%rd2+1]; + and.b16 %rs7, %rs3, 255; + cvt.rn.f32.u16 %f11, %rs7; + div.rn.f32 %f12, %f11, 0f437F0000; + fma.rn.f32 %f13, %f12, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f14, %rs5; + div.rn.f32 %f15, %f14, 0f437F0000; + fma.rn.f32 %f16, %f15, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f17, %rs2; + div.rn.f32 %f18, %f17, 0f437F0000; + fma.rn.f32 %f19, %f18, 0f40000000, 0fBF800000; + mul.f32 %f20, %f16, %f16; + fma.rn.f32 %f21, %f13, %f13, %f20; + fma.rn.f32 %f22, %f19, %f19, %f21; + sqrt.rn.f32 %f23, %f22; + rcp.rn.f32 %f24, %f23; + mul.f32 %f47, %f13, %f24; + mul.f32 %f48, %f16, %f24; + mul.f32 %f49, %f19, %f24; + +BB0_2: + setp.eq.f32 %p2, %f48, 0f00000000; + setp.eq.f32 %p3, %f47, 0f00000000; + and.pred %p4, %p3, %p2; + setp.eq.f32 %p5, %f49, 0f00000000; + and.pred %p6, %p4, %p5; + @%p6 bra BB0_5; + + ld.global.v2.u32 {%r22, %r23}, [pixelID]; + cvt.u64.u32 %rd11, %r22; + cvt.u64.u32 %rd12, %r23; + mov.u64 %rd40, uvpos; + cvta.global.u64 %rd10, %rd40; + mov.u32 %r10, 12; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd10, %r2, %r10, %rd11, %rd12, %rd7, %rd7); + // inline asm + ld.f32 %f33, [%rd9+8]; + ld.f32 %f34, [%rd9+4]; + ld.f32 %f35, [%rd9]; + fma.rn.f32 %f25, %f47, 0f38D1B717, %f35; + fma.rn.f32 %f26, %f48, 0f38D1B717, %f34; + fma.rn.f32 %f27, %f49, 0f38D1B717, %f33; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd17, %r26; + cvt.u64.u32 %rd18, %r27; + mov.u64 %rd41, uvsmoothpos; + cvta.global.u64 %rd16, %rd41; + mov.u32 %r18, 16; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r2, %r18, %rd17, %rd18, %rd7, %rd7); + // inline asm + ld.f32 %f36, [%rd15]; + ld.global.v2.u32 {%r30, %r31}, [pixelID]; + cvt.u64.u32 %rd23, %r30; + cvt.u64.u32 %rd24, %r31; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd16, %r2, %r18, %rd23, %rd24, %rd7, %rd7); + // inline asm + ld.f32 %f37, [%rd21+4]; + ld.global.v2.u32 {%r34, %r35}, [pixelID]; + cvt.u64.u32 %rd29, %r34; + cvt.u64.u32 %rd30, %r35; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd16, %r2, %r18, %rd29, %rd30, %rd7, %rd7); + // inline asm + ld.f32 %f38, [%rd27+8]; + ld.global.v2.u32 {%r38, %r39}, [pixelID]; + cvt.u64.u32 %rd35, %r38; + cvt.u64.u32 %rd36, %r39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd16, %r2, %r18, %rd35, %rd36, %rd7, %rd7); + // inline asm + ld.f32 %f7, [%rd33+12]; + sub.f32 %f39, %f36, %f35; + sub.f32 %f40, %f37, %f34; + sub.f32 %f41, %f38, %f33; + mul.f32 %f42, %f40, %f40; + fma.rn.f32 %f43, %f39, %f39, %f42; + fma.rn.f32 %f44, %f41, %f41, %f43; + sqrt.rn.f32 %f32, %f44; + rcp.rn.f32 %f45, %f32; + mul.f32 %f28, %f39, %f45; + mul.f32 %f29, %f40, %f45; + mul.f32 %f30, %f41, %f45; + add.u64 %rd39, %SP, 0; + cvta.to.local.u64 %rd42, %rd39; + mov.u32 %r42, -1082130432; + st.local.u32 [%rd42], %r42; + ld.global.u32 %r19, [root]; + mov.u32 %r20, 0; + mov.f32 %f31, 0f38D1B717; + // inline asm + call _rt_trace_64, (%r19, %f25, %f26, %f27, %f28, %f29, %f30, %r20, %f31, %f32, %rd39, %r3); + // inline asm + ld.local.f32 %f46, [%rd42]; + setp.ltu.f32 %p7, %f46, 0f00000000; + @%p7 bra BB0_5; + + cvt.rzi.u32.f32 %r45, %f7; + cvt.u64.u32 %rd45, %r45; + mov.u64 %rd49, triangleMarks; + cvta.global.u64 %rd44, %rd49; + mov.u32 %r44, 1; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd44, %r44, %r44, %rd45, %rd7, %rd7, %rd7); + // inline asm + mov.u16 %rs9, 255; + st.u8 [%rd43], %rs9; + +BB0_5: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx.meta new file mode 100644 index 00000000..6f7a5150 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos1.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fdf30ebf12520be429e3ad31eb009930 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos12.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos12.ptx new file mode 100644 index 00000000..607de26f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos12.ptx @@ -0,0 +1,702 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 uvfacenormal[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvsmoothpos[1]; +.global .align 1 .b8 triangleMarks[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 4 .f32 fakeBias; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8fakeBiasE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8fakeBiasE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8fakeBiasE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8fakeBiasE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8fakeBiasE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[28]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<33>; + .reg .b16 %rs<12>; + .reg .f32 %f<382>; + .reg .b32 %r<129>; + .reg .b64 %rd<124>; + + + mov.u64 %rd123, __local_depot0; + cvta.local.u64 %SP, %rd123; + ld.global.v2.u32 {%r8, %r9}, [pixelID]; + cvt.u64.u32 %rd8, %r8; + cvt.u64.u32 %rd9, %r9; + mov.u64 %rd12, uvfacenormal; + cvta.global.u64 %rd7, %rd12; + mov.u32 %r6, 2; + mov.u32 %r7, 4; + mov.u64 %rd11, 0; + // inline asm + call (%rd6), _rt_buffer_get_64, (%rd7, %r6, %r7, %rd8, %rd9, %rd11, %rd11); + // inline asm + ld.u32 %r1, [%rd6]; + shr.u32 %r12, %r1, 16; + cvt.u16.u32 %rs1, %r12; + and.b16 %rs2, %rs1, 255; + cvt.u16.u32 %rs3, %r1; + or.b16 %rs4, %rs3, %rs2; + setp.eq.s16 %p1, %rs4, 0; + mov.f32 %f360, 0f00000000; + mov.f32 %f361, %f360; + mov.f32 %f362, %f360; + @%p1 bra BB0_2; + + ld.u8 %rs5, [%rd6+1]; + and.b16 %rs7, %rs3, 255; + cvt.rn.f32.u16 %f115, %rs7; + div.rn.f32 %f116, %f115, 0f437F0000; + fma.rn.f32 %f117, %f116, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f118, %rs5; + div.rn.f32 %f119, %f118, 0f437F0000; + fma.rn.f32 %f120, %f119, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f121, %rs2; + div.rn.f32 %f122, %f121, 0f437F0000; + fma.rn.f32 %f123, %f122, 0f40000000, 0fBF800000; + mul.f32 %f124, %f120, %f120; + fma.rn.f32 %f125, %f117, %f117, %f124; + fma.rn.f32 %f126, %f123, %f123, %f125; + sqrt.rn.f32 %f127, %f126; + rcp.rn.f32 %f128, %f127; + mul.f32 %f360, %f117, %f128; + mul.f32 %f361, %f120, %f128; + mul.f32 %f362, %f123, %f128; + +BB0_2: + ld.global.v2.u32 {%r13, %r14}, [pixelID]; + ld.global.v2.u32 {%r16, %r17}, [tileInfo]; + add.s32 %r2, %r13, %r16; + add.s32 %r3, %r14, %r17; + setp.eq.f32 %p2, %f361, 0f00000000; + setp.eq.f32 %p3, %f360, 0f00000000; + and.pred %p4, %p3, %p2; + setp.eq.f32 %p5, %f362, 0f00000000; + and.pred %p6, %p4, %p5; + @%p6 bra BB0_27; + bra.uni BB0_3; + +BB0_27: + cvt.u64.u32 %rd107, %r2; + cvt.u64.u32 %rd108, %r3; + mov.u64 %rd111, image_HDR; + cvta.global.u64 %rd106, %rd111; + mov.u32 %r109, 16; + // inline asm + call (%rd105), _rt_buffer_get_64, (%rd106, %r6, %r109, %rd107, %rd108, %rd11, %rd11); + // inline asm + mov.f32 %f348, 0f00000000; + st.v4.f32 [%rd105], {%f348, %f348, %f348, %f348}; + bra.uni BB0_28; + +BB0_3: + ld.global.v2.u32 {%r39, %r40}, [pixelID]; + cvt.u64.u32 %rd15, %r39; + cvt.u64.u32 %rd16, %r40; + mov.u64 %rd67, uvpos; + cvta.global.u64 %rd14, %rd67; + mov.u32 %r36, 16; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd14, %r6, %r36, %rd15, %rd16, %rd11, %rd11); + // inline asm + ld.f32 %f129, [%rd13]; + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd21, %r43; + cvt.u64.u32 %rd22, %r44; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd14, %r6, %r36, %rd21, %rd22, %rd11, %rd11); + // inline asm + ld.f32 %f130, [%rd19+4]; + ld.global.v2.u32 {%r47, %r48}, [pixelID]; + cvt.u64.u32 %rd27, %r47; + cvt.u64.u32 %rd28, %r48; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd14, %r6, %r36, %rd27, %rd28, %rd11, %rd11); + // inline asm + abs.f32 %f131, %f129; + setp.gtu.f32 %p7, %f131, 0f7F800000; + selp.f32 %f7, 0f00000000, %f129, %p7; + abs.f32 %f132, %f130; + setp.gtu.f32 %p8, %f132, 0f7F800000; + selp.f32 %f8, 0f00000000, %f130, %p8; + ld.f32 %f133, [%rd25+8]; + abs.f32 %f134, %f133; + setp.gtu.f32 %p9, %f134, 0f7F800000; + selp.f32 %f9, 0f00000000, %f133, %p9; + ld.global.v2.u32 {%r51, %r52}, [pixelID]; + cvt.u64.u32 %rd33, %r51; + cvt.u64.u32 %rd34, %r52; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd14, %r6, %r36, %rd33, %rd34, %rd11, %rd11); + // inline asm + ld.f32 %f135, [%rd31+12]; + add.f32 %f10, %f135, 0f38D1B717; + mul.f32 %f136, %f7, 0f3456BF95; + mul.f32 %f137, %f8, 0f3456BF95; + mul.f32 %f138, %f9, 0f3456BF95; + abs.f32 %f11, %f360; + div.rn.f32 %f139, %f136, %f11; + abs.f32 %f140, %f361; + div.rn.f32 %f141, %f137, %f140; + abs.f32 %f12, %f362; + div.rn.f32 %f142, %f138, %f12; + abs.f32 %f143, %f139; + abs.f32 %f144, %f141; + abs.f32 %f145, %f142; + mov.f32 %f146, 0f38D1B717; + max.f32 %f147, %f143, %f146; + max.f32 %f148, %f144, %f146; + max.f32 %f149, %f145, %f146; + fma.rn.f32 %f13, %f360, %f147, %f7; + fma.rn.f32 %f14, %f361, %f148, %f8; + fma.rn.f32 %f15, %f362, %f149, %f9; + ld.global.v2.u32 {%r55, %r56}, [pixelID]; + cvt.u64.u32 %rd39, %r55; + cvt.u64.u32 %rd40, %r56; + mov.u64 %rd68, uvsmoothpos; + cvta.global.u64 %rd38, %rd68; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd38, %r6, %r36, %rd39, %rd40, %rd11, %rd11); + // inline asm + ld.f32 %f16, [%rd37]; + ld.global.v2.u32 {%r59, %r60}, [pixelID]; + cvt.u64.u32 %rd45, %r59; + cvt.u64.u32 %rd46, %r60; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd38, %r6, %r36, %rd45, %rd46, %rd11, %rd11); + // inline asm + ld.f32 %f17, [%rd43+4]; + ld.global.v2.u32 {%r63, %r64}, [pixelID]; + cvt.u64.u32 %rd51, %r63; + cvt.u64.u32 %rd52, %r64; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd38, %r6, %r36, %rd51, %rd52, %rd11, %rd11); + // inline asm + ld.f32 %f18, [%rd49+8]; + ld.global.v2.u32 {%r67, %r68}, [pixelID]; + cvt.u64.u32 %rd57, %r67; + cvt.u64.u32 %rd58, %r68; + // inline asm + call (%rd55), _rt_buffer_get_64, (%rd38, %r6, %r36, %rd57, %rd58, %rd11, %rd11); + // inline asm + ld.f32 %f150, [%rd55+12]; + cvt.rzi.u32.f32 %r71, %f150; + cvt.u64.u32 %rd63, %r71; + mov.u64 %rd69, triangleMarks; + cvta.global.u64 %rd62, %rd69; + mov.u32 %r38, 1; + // inline asm + call (%rd61), _rt_buffer_get_64, (%rd62, %r38, %r38, %rd63, %rd11, %rd11, %rd11); + // inline asm + ld.u8 %r128, [%rd61]; + sub.f32 %f19, %f16, %f7; + sub.f32 %f20, %f17, %f8; + sub.f32 %f21, %f18, %f9; + mul.f32 %f151, %f20, %f20; + fma.rn.f32 %f152, %f19, %f19, %f151; + fma.rn.f32 %f153, %f21, %f21, %f152; + sqrt.rn.f32 %f22, %f153; + setp.leu.f32 %p10, %f22, 0f3727C5AC; + setp.eq.s32 %p11, %r128, 255; + or.pred %p12, %p11, %p10; + @%p12 bra BB0_6; + + rcp.rn.f32 %f162, %f22; + mul.f32 %f157, %f19, %f162; + mul.f32 %f158, %f20, %f162; + mul.f32 %f159, %f21, %f162; + add.u64 %rd70, %SP, 12; + cvta.to.local.u64 %rd71, %rd70; + mov.u32 %r75, 1065353216; + st.local.u32 [%rd71], %r75; + ld.global.u32 %r72, [root]; + // inline asm + call _rt_trace_64, (%r72, %f13, %f14, %f15, %f157, %f158, %f159, %r38, %f146, %f22, %rd70, %r7); + // inline asm + ld.local.f32 %f163, [%rd71]; + setp.neu.f32 %p13, %f163, 0f00000000; + @%p13 bra BB0_6; + + // inline asm + call (%rd72), _rt_buffer_get_64, (%rd62, %r38, %r38, %rd63, %rd11, %rd11, %rd11); + // inline asm + mov.u16 %rs9, 255; + st.u8 [%rd72], %rs9; + mov.u32 %r128, 255; + +BB0_6: + setp.eq.s32 %p14, %r128, 0; + selp.f32 %f367, %f16, %f7, %p14; + selp.f32 %f368, %f17, %f8, %p14; + selp.f32 %f369, %f18, %f9, %p14; + neg.f32 %f173, %f361; + setp.gt.f32 %p15, %f11, %f12; + selp.f32 %f174, %f173, 0f00000000, %p15; + neg.f32 %f175, %f362; + selp.f32 %f176, %f360, %f175, %p15; + selp.f32 %f177, 0f00000000, %f361, %p15; + mul.f32 %f178, %f176, %f176; + fma.rn.f32 %f179, %f174, %f174, %f178; + fma.rn.f32 %f180, %f177, %f177, %f179; + sqrt.rn.f32 %f181, %f180; + rcp.rn.f32 %f182, %f181; + mul.f32 %f26, %f174, %f182; + mul.f32 %f27, %f176, %f182; + mul.f32 %f28, %f177, %f182; + mul.f32 %f183, %f362, %f27; + mul.f32 %f184, %f361, %f28; + sub.f32 %f29, %f183, %f184; + mul.f32 %f185, %f360, %f28; + mul.f32 %f186, %f362, %f26; + sub.f32 %f30, %f185, %f186; + mul.f32 %f187, %f361, %f26; + mul.f32 %f188, %f360, %f27; + sub.f32 %f31, %f187, %f188; + mov.f32 %f189, 0f3F8147AE; + sqrt.rn.f32 %f190, %f189; + rcp.rn.f32 %f32, %f190; + neg.f32 %f33, %f32; + mul.f32 %f34, %f32, 0f00000000; + mul.f32 %f191, %f32, 0f3DCCCCCD; + mul.f32 %f192, %f13, 0f3456BF95; + abs.f32 %f193, %f192; + mul.f32 %f194, %f14, 0f3456BF95; + abs.f32 %f195, %f194; + mul.f32 %f196, %f15, 0f3456BF95; + abs.f32 %f197, %f196; + max.f32 %f198, %f193, %f195; + max.f32 %f199, %f198, %f197; + max.f32 %f35, %f199, %f146; + mul.f32 %f36, %f26, %f34; + mul.f32 %f37, %f27, %f34; + mul.f32 %f38, %f28, %f34; + fma.rn.f32 %f201, %f29, %f33, %f36; + fma.rn.f32 %f202, %f30, %f33, %f37; + fma.rn.f32 %f203, %f31, %f33, %f38; + mul.f32 %f39, %f360, %f191; + mul.f32 %f40, %f361, %f191; + mul.f32 %f41, %f362, %f191; + add.f32 %f167, %f201, %f39; + add.f32 %f168, %f202, %f40; + add.f32 %f169, %f203, %f41; + add.u64 %rd79, %SP, 16; + cvta.to.local.u64 %rd80, %rd79; + mov.u32 %r80, 0; + st.local.u32 [%rd80+8], %r80; + st.local.u32 [%rd80+4], %r80; + st.local.u32 [%rd80], %r80; + ld.global.u32 %r79, [root]; + mul.f32 %f171, %f10, 0f3FB504F3; + mov.f32 %f170, 0f00000000; + mov.u32 %r81, 12; + // inline asm + call _rt_trace_64, (%r79, %f13, %f14, %f15, %f167, %f168, %f169, %r80, %f170, %f171, %rd79, %r81); + // inline asm + ld.local.f32 %f46, [%rd80+4]; + ld.local.f32 %f47, [%rd80]; + add.f32 %f204, %f47, %f46; + ld.local.f32 %f48, [%rd80+8]; + add.f32 %f205, %f204, %f48; + mov.f32 %f370, 0f47C34F80; + setp.eq.f32 %p16, %f205, 0f00000000; + @%p16 bra BB0_9; + + mul.f32 %f207, %f46, %f46; + fma.rn.f32 %f208, %f47, %f47, %f207; + fma.rn.f32 %f209, %f48, %f48, %f208; + sqrt.rn.f32 %f49, %f209; + rcp.rn.f32 %f210, %f49; + mul.f32 %f211, %f210, %f47; + mul.f32 %f212, %f210, %f46; + mul.f32 %f213, %f210, %f48; + fma.rn.f32 %f214, %f35, %f211, %f13; + fma.rn.f32 %f215, %f35, %f212, %f14; + fma.rn.f32 %f216, %f35, %f213, %f15; + fma.rn.f32 %f50, %f49, %f167, %f214; + fma.rn.f32 %f51, %f49, %f168, %f215; + fma.rn.f32 %f52, %f49, %f169, %f216; + setp.geu.f32 %p17, %f49, 0f47C34F80; + @%p17 bra BB0_9; + + mov.f32 %f367, %f50; + mov.f32 %f368, %f51; + mov.f32 %f369, %f52; + mov.f32 %f370, %f49; + +BB0_9: + mov.u32 %r111, 12; + mov.f32 %f349, 0f00000000; + add.u64 %rd113, %SP, 16; + cvta.to.local.u64 %rd112, %rd113; + mov.u32 %r110, 0; + fma.rn.f32 %f225, %f29, %f32, %f36; + fma.rn.f32 %f226, %f30, %f32, %f37; + fma.rn.f32 %f227, %f31, %f32, %f38; + add.f32 %f220, %f225, %f39; + add.f32 %f221, %f226, %f40; + add.f32 %f222, %f227, %f41; + st.local.u32 [%rd112+8], %r110; + st.local.u32 [%rd112+4], %r110; + st.local.u32 [%rd112], %r110; + ld.global.u32 %r82, [root]; + // inline asm + call _rt_trace_64, (%r82, %f13, %f14, %f15, %f220, %f221, %f222, %r110, %f349, %f171, %rd113, %r111); + // inline asm + ld.local.f32 %f60, [%rd112+4]; + ld.local.f32 %f61, [%rd112]; + add.f32 %f228, %f61, %f60; + ld.local.f32 %f62, [%rd112+8]; + add.f32 %f229, %f228, %f62; + setp.eq.f32 %p18, %f229, 0f00000000; + @%p18 bra BB0_12; + + mul.f32 %f230, %f60, %f60; + fma.rn.f32 %f231, %f61, %f61, %f230; + fma.rn.f32 %f232, %f62, %f62, %f231; + sqrt.rn.f32 %f63, %f232; + rcp.rn.f32 %f233, %f63; + mul.f32 %f234, %f233, %f61; + mul.f32 %f235, %f233, %f60; + mul.f32 %f236, %f233, %f62; + fma.rn.f32 %f237, %f35, %f234, %f13; + fma.rn.f32 %f238, %f35, %f235, %f14; + fma.rn.f32 %f239, %f35, %f236, %f15; + fma.rn.f32 %f64, %f63, %f220, %f237; + fma.rn.f32 %f65, %f63, %f221, %f238; + fma.rn.f32 %f66, %f63, %f222, %f239; + setp.geu.f32 %p19, %f63, %f370; + @%p19 bra BB0_12; + + mov.f32 %f367, %f64; + mov.f32 %f368, %f65; + mov.f32 %f369, %f66; + mov.f32 %f370, %f63; + +BB0_12: + neg.f32 %f352, %f32; + mul.f32 %f351, %f32, 0f00000000; + mov.u32 %r113, 12; + mov.f32 %f350, 0f00000000; + add.u64 %rd116, %SP, 16; + cvta.to.local.u64 %rd115, %rd116; + mov.u32 %r112, 0; + mul.f32 %f71, %f29, %f351; + fma.rn.f32 %f248, %f26, %f352, %f71; + mul.f32 %f72, %f30, %f351; + fma.rn.f32 %f249, %f27, %f352, %f72; + mul.f32 %f73, %f31, %f351; + fma.rn.f32 %f250, %f28, %f352, %f73; + add.f32 %f243, %f248, %f39; + add.f32 %f244, %f249, %f40; + add.f32 %f245, %f250, %f41; + st.local.u32 [%rd115+8], %r112; + st.local.u32 [%rd115+4], %r112; + st.local.u32 [%rd115], %r112; + ld.global.u32 %r85, [root]; + // inline asm + call _rt_trace_64, (%r85, %f13, %f14, %f15, %f243, %f244, %f245, %r112, %f350, %f171, %rd116, %r113); + // inline asm + ld.local.f32 %f77, [%rd115+4]; + ld.local.f32 %f78, [%rd115]; + add.f32 %f251, %f78, %f77; + ld.local.f32 %f79, [%rd115+8]; + add.f32 %f252, %f251, %f79; + setp.eq.f32 %p20, %f252, 0f00000000; + @%p20 bra BB0_15; + + mul.f32 %f253, %f77, %f77; + fma.rn.f32 %f254, %f78, %f78, %f253; + fma.rn.f32 %f255, %f79, %f79, %f254; + sqrt.rn.f32 %f80, %f255; + rcp.rn.f32 %f256, %f80; + mul.f32 %f257, %f256, %f78; + mul.f32 %f258, %f256, %f77; + mul.f32 %f259, %f256, %f79; + fma.rn.f32 %f260, %f35, %f257, %f13; + fma.rn.f32 %f261, %f35, %f258, %f14; + fma.rn.f32 %f262, %f35, %f259, %f15; + fma.rn.f32 %f81, %f80, %f243, %f260; + fma.rn.f32 %f82, %f80, %f244, %f261; + fma.rn.f32 %f83, %f80, %f245, %f262; + setp.geu.f32 %p21, %f80, %f370; + @%p21 bra BB0_15; + + mov.f32 %f367, %f81; + mov.f32 %f368, %f82; + mov.f32 %f369, %f83; + mov.f32 %f370, %f80; + +BB0_15: + mov.u32 %r115, 12; + mov.f32 %f353, 0f00000000; + add.u64 %rd119, %SP, 16; + cvta.to.local.u64 %rd118, %rd119; + mov.u32 %r114, 0; + fma.rn.f32 %f271, %f26, %f32, %f71; + fma.rn.f32 %f272, %f27, %f32, %f72; + fma.rn.f32 %f273, %f28, %f32, %f73; + add.f32 %f266, %f271, %f39; + add.f32 %f267, %f272, %f40; + add.f32 %f268, %f273, %f41; + st.local.u32 [%rd118+8], %r114; + st.local.u32 [%rd118+4], %r114; + st.local.u32 [%rd118], %r114; + ld.global.u32 %r88, [root]; + // inline asm + call _rt_trace_64, (%r88, %f13, %f14, %f15, %f266, %f267, %f268, %r114, %f353, %f171, %rd119, %r115); + // inline asm + ld.local.f32 %f91, [%rd118+4]; + ld.local.f32 %f92, [%rd118]; + add.f32 %f274, %f92, %f91; + ld.local.f32 %f93, [%rd118+8]; + add.f32 %f275, %f274, %f93; + setp.eq.f32 %p22, %f275, 0f00000000; + @%p22 bra BB0_18; + + mul.f32 %f276, %f91, %f91; + fma.rn.f32 %f277, %f92, %f92, %f276; + fma.rn.f32 %f278, %f93, %f93, %f277; + sqrt.rn.f32 %f279, %f278; + rcp.rn.f32 %f280, %f279; + mul.f32 %f281, %f280, %f92; + mul.f32 %f282, %f280, %f91; + mul.f32 %f283, %f280, %f93; + fma.rn.f32 %f284, %f35, %f281, %f13; + fma.rn.f32 %f285, %f35, %f282, %f14; + fma.rn.f32 %f286, %f35, %f283, %f15; + fma.rn.f32 %f94, %f279, %f266, %f284; + fma.rn.f32 %f95, %f279, %f267, %f285; + fma.rn.f32 %f96, %f279, %f268, %f286; + setp.geu.f32 %p23, %f279, %f370; + @%p23 bra BB0_18; + + mov.f32 %f367, %f94; + mov.f32 %f368, %f95; + mov.f32 %f369, %f96; + +BB0_18: + abs.f32 %f287, %f367; + setp.gtu.f32 %p24, %f287, 0f7F800000; + selp.f32 %f378, 0f00000000, %f367, %p24; + abs.f32 %f288, %f368; + setp.gtu.f32 %p25, %f288, 0f7F800000; + selp.f32 %f379, 0f00000000, %f368, %p25; + abs.f32 %f289, %f369; + setp.gtu.f32 %p26, %f289, 0f7F800000; + selp.f32 %f380, 0f00000000, %f369, %p26; + ld.global.f32 %f103, [fakeBias]; + setp.eq.f32 %p27, %f103, 0f00000000; + @%p27 bra BB0_20; + + fma.rn.f32 %f378, %f360, %f103, %f378; + fma.rn.f32 %f379, %f361, %f103, %f379; + fma.rn.f32 %f380, %f362, %f103, %f380; + +BB0_20: + mov.u32 %r117, 16; + mov.u64 %rd121, 0; + mov.u32 %r116, 2; + cvt.u64.u32 %rd90, %r3; + cvt.u64.u32 %rd89, %r2; + mov.u64 %rd93, image_HDR; + cvta.global.u64 %rd88, %rd93; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r116, %r117, %rd89, %rd90, %rd121, %rd121); + // inline asm + mov.f32 %f290, 0f3F800000; + st.v4.f32 [%rd87], {%f378, %f379, %f380, %f290}; + ld.global.u8 %rs10, [imageEnabled]; + and.b16 %rs11, %rs10, 32; + setp.eq.s16 %p28, %rs11, 0; + @%p28 bra BB0_28; + + add.f32 %f355, %f135, 0f38D1B717; + mov.u32 %r119, 12; + mov.u32 %r118, 0; + mov.f32 %f354, 0f38D1B717; + mul.f32 %f298, %f355, 0f41000000; + add.u64 %rd94, %SP, 0; + cvta.to.local.u64 %rd5, %rd94; + st.local.u32 [%rd5+8], %r118; + st.local.u32 [%rd5+4], %r118; + st.local.u32 [%rd5], %r118; + ld.global.u32 %r93, [root]; + // inline asm + call _rt_trace_64, (%r93, %f13, %f14, %f15, %f167, %f168, %f169, %r118, %f354, %f298, %rd94, %r119); + // inline asm + ld.local.f32 %f300, [%rd5+4]; + ld.local.f32 %f301, [%rd5]; + add.f32 %f302, %f301, %f300; + ld.local.f32 %f303, [%rd5+8]; + add.f32 %f304, %f302, %f303; + setp.neu.f32 %p29, %f304, 0f00000000; + mov.f32 %f381, 0f437F0000; + @%p29 bra BB0_26; + + mov.u32 %r121, 12; + mov.u32 %r120, 0; + mov.f32 %f356, 0f38D1B717; + st.local.u32 [%rd5+8], %r120; + st.local.u32 [%rd5+4], %r120; + st.local.u32 [%rd5], %r120; + ld.global.u32 %r96, [root]; + // inline asm + call _rt_trace_64, (%r96, %f13, %f14, %f15, %f220, %f221, %f222, %r120, %f356, %f298, %rd94, %r121); + // inline asm + ld.local.f32 %f314, [%rd5+4]; + ld.local.f32 %f315, [%rd5]; + add.f32 %f316, %f315, %f314; + ld.local.f32 %f317, [%rd5+8]; + add.f32 %f318, %f316, %f317; + setp.neu.f32 %p30, %f318, 0f00000000; + @%p30 bra BB0_26; + + mov.u32 %r123, 12; + mov.u32 %r122, 0; + mov.f32 %f357, 0f38D1B717; + st.local.u32 [%rd5+8], %r122; + st.local.u32 [%rd5+4], %r122; + st.local.u32 [%rd5], %r122; + ld.global.u32 %r99, [root]; + // inline asm + call _rt_trace_64, (%r99, %f13, %f14, %f15, %f243, %f244, %f245, %r122, %f357, %f298, %rd94, %r123); + // inline asm + ld.local.f32 %f328, [%rd5+4]; + ld.local.f32 %f329, [%rd5]; + add.f32 %f330, %f329, %f328; + ld.local.f32 %f331, [%rd5+8]; + add.f32 %f332, %f330, %f331; + setp.neu.f32 %p31, %f332, 0f00000000; + @%p31 bra BB0_26; + + mov.u32 %r125, 12; + mov.u32 %r124, 0; + mov.f32 %f358, 0f38D1B717; + st.local.u32 [%rd5+8], %r124; + st.local.u32 [%rd5+4], %r124; + st.local.u32 [%rd5], %r124; + ld.global.u32 %r102, [root]; + // inline asm + call _rt_trace_64, (%r102, %f13, %f14, %f15, %f266, %f267, %f268, %r124, %f358, %f298, %rd94, %r125); + // inline asm + ld.local.f32 %f342, [%rd5+4]; + ld.local.f32 %f343, [%rd5]; + add.f32 %f344, %f343, %f342; + ld.local.f32 %f345, [%rd5+8]; + add.f32 %f346, %f344, %f345; + setp.neu.f32 %p32, %f346, 0f00000000; + @%p32 bra BB0_26; + + mov.f32 %f381, 0f00000000; + +BB0_26: + mov.u32 %r127, 1; + mov.u64 %rd122, 0; + mov.u32 %r126, 2; + mov.u64 %rd104, image_Mask; + cvta.global.u64 %rd99, %rd104; + // inline asm + call (%rd98), _rt_buffer_get_64, (%rd99, %r126, %r127, %rd89, %rd90, %rd122, %rd122); + // inline asm + cvt.rzi.u32.f32 %r107, %f381; + st.u8 [%rd98], %r107; + +BB0_28: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos12.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos12.ptx.meta new file mode 100644 index 00000000..946bf086 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos12.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8ac7ed1b9a8960c4980b929d79748557 +timeCreated: 1526320804 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx new file mode 100644 index 00000000..f9e6b4b8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx @@ -0,0 +1,382 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 uvfacenormal[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvsmoothpos[1]; +.global .align 1 .b8 triangleMarks[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<14>; + .reg .b16 %rs<10>; + .reg .f32 %f<160>; + .reg .b32 %r<86>; + .reg .b64 %rd<89>; + + + mov.u64 %rd88, __local_depot0; + cvta.local.u64 %SP, %rd88; + ld.global.v2.u32 {%r6, %r7}, [pixelID]; + cvt.u64.u32 %rd4, %r6; + cvt.u64.u32 %rd5, %r7; + mov.u64 %rd8, uvfacenormal; + cvta.global.u64 %rd3, %rd8; + mov.u32 %r4, 2; + mov.u32 %r5, 4; + mov.u64 %rd7, 0; + // inline asm + call (%rd2), _rt_buffer_get_64, (%rd3, %r4, %r5, %rd4, %rd5, %rd7, %rd7); + // inline asm + ld.u32 %r1, [%rd2]; + shr.u32 %r10, %r1, 16; + cvt.u16.u32 %rs1, %r10; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r1; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p1, %rs5, 0; + mov.f32 %f150, 0f00000000; + mov.f32 %f151, %f150; + mov.f32 %f152, %f150; + @%p1 bra BB0_2; + + ld.u8 %rs6, [%rd2+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f61, %rs8; + div.rn.f32 %f62, %f61, 0f437F0000; + fma.rn.f32 %f63, %f62, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f64, %rs6; + div.rn.f32 %f65, %f64, 0f437F0000; + fma.rn.f32 %f66, %f65, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f67, %rs3; + div.rn.f32 %f68, %f67, 0f437F0000; + fma.rn.f32 %f69, %f68, 0f40000000, 0fBF800000; + mul.f32 %f70, %f66, %f66; + fma.rn.f32 %f71, %f63, %f63, %f70; + fma.rn.f32 %f72, %f69, %f69, %f71; + sqrt.rn.f32 %f73, %f72; + rcp.rn.f32 %f74, %f73; + mul.f32 %f150, %f63, %f74; + mul.f32 %f151, %f66, %f74; + mul.f32 %f152, %f69, %f74; + +BB0_2: + ld.global.v2.u32 {%r11, %r12}, [pixelID]; + ld.global.v2.u32 {%r14, %r15}, [tileInfo]; + add.s32 %r2, %r11, %r14; + add.s32 %r3, %r12, %r15; + setp.eq.f32 %p2, %f151, 0f00000000; + setp.eq.f32 %p3, %f150, 0f00000000; + and.pred %p4, %p3, %p2; + setp.eq.f32 %p5, %f152, 0f00000000; + and.pred %p6, %p4, %p5; + @%p6 bra BB0_9; + bra.uni BB0_3; + +BB0_9: + cvt.u64.u32 %rd83, %r2; + cvt.u64.u32 %rd84, %r3; + mov.u64 %rd87, image_HDR; + cvta.global.u64 %rd82, %rd87; + mov.u32 %r85, 16; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd82, %r4, %r85, %rd83, %rd84, %rd7, %rd7); + // inline asm + mov.f32 %f149, 0f00000000; + st.v4.f32 [%rd81], {%f149, %f149, %f149, %f149}; + bra.uni BB0_10; + +BB0_3: + ld.global.v2.u32 {%r40, %r41}, [pixelID]; + cvt.u64.u32 %rd11, %r40; + cvt.u64.u32 %rd12, %r41; + mov.u64 %rd64, uvpos; + cvta.global.u64 %rd10, %rd64; + mov.u32 %r34, 16; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd10, %r4, %r34, %rd11, %rd12, %rd7, %rd7); + // inline asm + ld.f32 %f83, [%rd9]; + ld.global.v2.u32 {%r44, %r45}, [pixelID]; + cvt.u64.u32 %rd17, %r44; + cvt.u64.u32 %rd18, %r45; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd10, %r4, %r34, %rd17, %rd18, %rd7, %rd7); + // inline asm + ld.f32 %f84, [%rd15+4]; + ld.global.v2.u32 {%r48, %r49}, [pixelID]; + cvt.u64.u32 %rd23, %r48; + cvt.u64.u32 %rd24, %r49; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd10, %r4, %r34, %rd23, %rd24, %rd7, %rd7); + // inline asm + ld.f32 %f85, [%rd21+8]; + ld.global.v2.u32 {%r52, %r53}, [pixelID]; + cvt.u64.u32 %rd29, %r52; + cvt.u64.u32 %rd30, %r53; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd10, %r4, %r34, %rd29, %rd30, %rd7, %rd7); + // inline asm + ld.f32 %f86, [%rd27+12]; + add.f32 %f82, %f86, 0f38D1B717; + ld.global.v2.u32 {%r56, %r57}, [pixelID]; + cvt.u64.u32 %rd35, %r56; + cvt.u64.u32 %rd36, %r57; + mov.u64 %rd65, uvsmoothpos; + cvta.global.u64 %rd34, %rd65; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r4, %r34, %rd35, %rd36, %rd7, %rd7); + // inline asm + ld.f32 %f87, [%rd33]; + ld.global.v2.u32 {%r60, %r61}, [pixelID]; + cvt.u64.u32 %rd41, %r60; + cvt.u64.u32 %rd42, %r61; + // inline asm + call (%rd39), _rt_buffer_get_64, (%rd34, %r4, %r34, %rd41, %rd42, %rd7, %rd7); + // inline asm + ld.f32 %f88, [%rd39+4]; + ld.global.v2.u32 {%r64, %r65}, [pixelID]; + cvt.u64.u32 %rd47, %r64; + cvt.u64.u32 %rd48, %r65; + // inline asm + call (%rd45), _rt_buffer_get_64, (%rd34, %r4, %r34, %rd47, %rd48, %rd7, %rd7); + // inline asm + ld.f32 %f89, [%rd45+8]; + ld.global.v2.u32 {%r68, %r69}, [pixelID]; + cvt.u64.u32 %rd53, %r68; + cvt.u64.u32 %rd54, %r69; + // inline asm + call (%rd51), _rt_buffer_get_64, (%rd34, %r4, %r34, %rd53, %rd54, %rd7, %rd7); + // inline asm + ld.f32 %f90, [%rd51+12]; + cvt.rzi.u32.f32 %r72, %f90; + cvt.u64.u32 %rd59, %r72; + mov.u64 %rd66, triangleMarks; + cvta.global.u64 %rd58, %rd66; + mov.u32 %r36, 1; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd58, %r36, %r36, %rd59, %rd7, %rd7, %rd7); + // inline asm + ld.u8 %rs2, [%rd57]; + setp.eq.s16 %p7, %rs2, 0; + selp.f32 %f157, %f87, %f83, %p7; + selp.f32 %f158, %f88, %f84, %p7; + selp.f32 %f159, %f89, %f85, %p7; + fma.rn.f32 %f11, %f150, 0f38D1B717, %f157; + fma.rn.f32 %f12, %f151, 0f38D1B717, %f158; + fma.rn.f32 %f13, %f152, 0f38D1B717, %f159; + abs.f32 %f91, %f152; + abs.f32 %f92, %f150; + setp.gt.f32 %p8, %f92, %f91; + neg.f32 %f93, %f151; + selp.f32 %f94, %f93, 0f00000000, %p8; + neg.f32 %f95, %f152; + selp.f32 %f96, %f150, %f95, %p8; + selp.f32 %f97, 0f00000000, %f151, %p8; + mul.f32 %f98, %f96, %f96; + fma.rn.f32 %f99, %f94, %f94, %f98; + fma.rn.f32 %f100, %f97, %f97, %f99; + sqrt.rn.f32 %f101, %f100; + rcp.rn.f32 %f102, %f101; + mul.f32 %f14, %f94, %f102; + mul.f32 %f15, %f96, %f102; + mul.f32 %f16, %f97, %f102; + mul.f32 %f103, %f152, %f15; + mul.f32 %f104, %f151, %f16; + sub.f32 %f17, %f103, %f104; + mul.f32 %f105, %f150, %f16; + mul.f32 %f106, %f152, %f14; + sub.f32 %f18, %f105, %f106; + mul.f32 %f107, %f151, %f14; + mul.f32 %f108, %f150, %f15; + sub.f32 %f19, %f107, %f108; + mov.f32 %f109, 0f3F8147AE; + sqrt.rn.f32 %f110, %f109; + rcp.rn.f32 %f20, %f110; + neg.f32 %f21, %f20; + mul.f32 %f22, %f20, 0f00000000; + mul.f32 %f111, %f20, 0f3DCCCCCD; + mul.f32 %f23, %f14, %f22; + mul.f32 %f24, %f15, %f22; + mul.f32 %f25, %f16, %f22; + fma.rn.f32 %f112, %f17, %f21, %f23; + fma.rn.f32 %f113, %f18, %f21, %f24; + fma.rn.f32 %f114, %f19, %f21, %f25; + mul.f32 %f26, %f150, %f111; + mul.f32 %f27, %f151, %f111; + mul.f32 %f28, %f152, %f111; + add.f32 %f156, %f112, %f26; + add.f32 %f155, %f113, %f27; + add.f32 %f154, %f114, %f28; + add.u64 %rd63, %SP, 0; + cvta.to.local.u64 %rd67, %rd63; + mov.u32 %r38, 0; + st.local.u32 [%rd67], %r38; + ld.global.u32 %r37, [root]; + mov.f32 %f81, 0f38D1B717; + // inline asm + call _rt_trace_64, (%r37, %f11, %f12, %f13, %f156, %f155, %f154, %r38, %f81, %f82, %rd63, %r5); + // inline asm + ld.local.f32 %f153, [%rd67]; + setp.gt.f32 %p9, %f153, 0f00000000; + @%p9 bra BB0_7; + + fma.rn.f32 %f123, %f17, %f20, %f23; + fma.rn.f32 %f124, %f18, %f20, %f24; + fma.rn.f32 %f125, %f19, %f20, %f25; + add.f32 %f156, %f123, %f26; + add.f32 %f155, %f124, %f27; + add.f32 %f154, %f125, %f28; + st.local.u32 [%rd67], %r38; + ld.global.u32 %r73, [root]; + // inline asm + call _rt_trace_64, (%r73, %f11, %f12, %f13, %f156, %f155, %f154, %r38, %f81, %f82, %rd63, %r5); + // inline asm + ld.local.f32 %f153, [%rd67]; + setp.gt.f32 %p10, %f153, 0f00000000; + @%p10 bra BB0_7; + + mul.f32 %f37, %f17, %f22; + fma.rn.f32 %f134, %f14, %f21, %f37; + mul.f32 %f38, %f18, %f22; + fma.rn.f32 %f135, %f15, %f21, %f38; + mul.f32 %f39, %f19, %f22; + fma.rn.f32 %f136, %f16, %f21, %f39; + add.f32 %f156, %f134, %f26; + add.f32 %f155, %f135, %f27; + add.f32 %f154, %f136, %f28; + st.local.u32 [%rd67], %r38; + ld.global.u32 %r76, [root]; + // inline asm + call _rt_trace_64, (%r76, %f11, %f12, %f13, %f156, %f155, %f154, %r38, %f81, %f82, %rd63, %r5); + // inline asm + ld.local.f32 %f153, [%rd67]; + setp.gt.f32 %p11, %f153, 0f00000000; + @%p11 bra BB0_7; + + fma.rn.f32 %f145, %f14, %f20, %f37; + fma.rn.f32 %f146, %f15, %f20, %f38; + fma.rn.f32 %f147, %f16, %f20, %f39; + add.f32 %f156, %f145, %f26; + add.f32 %f155, %f146, %f27; + add.f32 %f154, %f147, %f28; + st.local.u32 [%rd67], %r38; + ld.global.u32 %r79, [root]; + // inline asm + call _rt_trace_64, (%r79, %f11, %f12, %f13, %f156, %f155, %f154, %r38, %f81, %f82, %rd63, %r5); + // inline asm + ld.local.f32 %f153, [%rd67]; + setp.leu.f32 %p12, %f153, 0f00000000; + @%p12 bra BB0_8; + +BB0_7: + fma.rn.f32 %f157, %f153, %f156, %f11; + fma.rn.f32 %f158, %f153, %f155, %f12; + fma.rn.f32 %f159, %f153, %f154, %f13; + +BB0_8: + cvt.u64.u32 %rd77, %r3; + cvt.u64.u32 %rd76, %r2; + mov.u64 %rd80, image_HDR; + cvta.global.u64 %rd75, %rd80; + // inline asm + call (%rd74), _rt_buffer_get_64, (%rd75, %r4, %r34, %rd76, %rd77, %rd7, %rd7); + // inline asm + selp.f32 %f148, 0f3F000000, 0f3F800000, %p7; + st.v4.f32 [%rd74], {%f157, %f158, %f159, %f148}; + +BB0_10: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx.meta new file mode 100644 index 00000000..77ded8b3 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos2.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 81c36c1f006bd8848b64a84a623af92d +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos3D.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos3D.ptx new file mode 100644 index 00000000..b4ec12de --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos3D.ptx @@ -0,0 +1,513 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 4 .b8 voxelSize[12]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9voxelSizeE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9voxelSizeE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9voxelSizeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9voxelSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9voxelSizeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[12]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<28>; + .reg .b16 %rs<9>; + .reg .f32 %f<277>; + .reg .b32 %r<59>; + .reg .b64 %rd<55>; + + + mov.u64 %rd54, __local_depot0; + cvta.local.u64 %SP, %rd54; + ld.global.v2.u32 {%r6, %r7}, [pixelID]; + cvt.u64.u32 %rd4, %r6; + cvt.u64.u32 %rd5, %r7; + mov.u64 %rd8, uvnormal; + cvta.global.u64 %rd3, %rd8; + mov.u32 %r4, 2; + mov.u32 %r5, 4; + mov.u64 %rd7, 0; + // inline asm + call (%rd2), _rt_buffer_get_64, (%rd3, %r4, %r5, %rd4, %rd5, %rd7, %rd7); + // inline asm + ld.u32 %r1, [%rd2]; + shr.u32 %r10, %r1, 16; + cvt.u16.u32 %rs1, %r10; + and.b16 %rs2, %rs1, 255; + cvt.u16.u32 %rs3, %r1; + or.b16 %rs4, %rs3, %rs2; + setp.eq.s16 %p10, %rs4, 0; + mov.pred %p25, -1; + mov.pred %p26, %p25; + mov.pred %p27, %p25; + @%p10 bra BB0_2; + + ld.u8 %rs5, [%rd2+1]; + and.b16 %rs7, %rs3, 255; + cvt.rn.f32.u16 %f71, %rs7; + div.rn.f32 %f72, %f71, 0f437F0000; + fma.rn.f32 %f73, %f72, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f74, %rs5; + div.rn.f32 %f75, %f74, 0f437F0000; + fma.rn.f32 %f76, %f75, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f77, %rs2; + div.rn.f32 %f78, %f77, 0f437F0000; + fma.rn.f32 %f79, %f78, 0f40000000, 0fBF800000; + mul.f32 %f80, %f76, %f76; + fma.rn.f32 %f81, %f73, %f73, %f80; + fma.rn.f32 %f82, %f79, %f79, %f81; + sqrt.rn.f32 %f83, %f82; + rcp.rn.f32 %f84, %f83; + mul.f32 %f85, %f73, %f84; + mul.f32 %f86, %f76, %f84; + mul.f32 %f87, %f79, %f84; + setp.eq.f32 %p25, %f85, 0f00000000; + setp.eq.f32 %p26, %f86, 0f00000000; + setp.eq.f32 %p27, %f87, 0f00000000; + +BB0_2: + ld.global.v2.u32 {%r11, %r12}, [pixelID]; + ld.global.v2.u32 {%r14, %r15}, [tileInfo]; + add.s32 %r2, %r11, %r14; + add.s32 %r3, %r12, %r15; + and.pred %p11, %p25, %p26; + and.pred %p12, %p11, %p27; + @%p12 bra BB0_23; + bra.uni BB0_3; + +BB0_23: + cvt.u64.u32 %rd49, %r2; + cvt.u64.u32 %rd50, %r3; + mov.u64 %rd53, image_HDR; + cvta.global.u64 %rd48, %rd53; + mov.u32 %r58, 16; + // inline asm + call (%rd47), _rt_buffer_get_64, (%rd48, %r4, %r58, %rd49, %rd50, %rd7, %rd7); + // inline asm + mov.f32 %f253, 0f00000000; + st.v4.f32 [%rd47], {%f253, %f253, %f253, %f253}; + bra.uni BB0_24; + +BB0_3: + ld.global.v2.u32 {%r28, %r29}, [pixelID]; + cvt.u64.u32 %rd11, %r28; + cvt.u64.u32 %rd12, %r29; + mov.u64 %rd28, uvpos; + cvta.global.u64 %rd10, %rd28; + mov.u32 %r27, 12; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd10, %r4, %r27, %rd11, %rd12, %rd7, %rd7); + // inline asm + ld.f32 %f1, [%rd9]; + ld.global.v2.u32 {%r32, %r33}, [pixelID]; + cvt.u64.u32 %rd17, %r32; + cvt.u64.u32 %rd18, %r33; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd10, %r4, %r27, %rd17, %rd18, %rd7, %rd7); + // inline asm + ld.f32 %f2, [%rd15+4]; + ld.global.v2.u32 {%r36, %r37}, [pixelID]; + cvt.u64.u32 %rd23, %r36; + cvt.u64.u32 %rd24, %r37; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd10, %r4, %r27, %rd23, %rd24, %rd7, %rd7); + // inline asm + mul.f32 %f97, %f1, 0f3456BF95; + mul.f32 %f98, %f2, 0f3456BF95; + ld.f32 %f3, [%rd21+8]; + mul.f32 %f99, %f3, 0f3456BF95; + abs.f32 %f100, %f97; + abs.f32 %f101, %f98; + abs.f32 %f102, %f99; + max.f32 %f103, %f100, %f101; + max.f32 %f104, %f103, %f102; + mov.f32 %f105, 0f38D1B717; + max.f32 %f4, %f104, %f105; + ld.global.f32 %f106, [voxelSize]; + ld.global.f32 %f107, [voxelSize+4]; + mul.f32 %f108, %f107, 0f00000000; + sub.f32 %f109, %f108, %f106; + ld.global.f32 %f110, [voxelSize+8]; + fma.rn.f32 %f111, %f110, 0f00000000, %f109; + abs.f32 %f95, %f111; + add.u64 %rd27, %SP, 0; + cvta.to.local.u64 %rd29, %rd27; + mov.u32 %r26, 0; + st.local.u32 [%rd29+8], %r26; + st.local.u32 [%rd29+4], %r26; + st.local.u32 [%rd29], %r26; + ld.global.u32 %r25, [root]; + mov.f32 %f91, 0fBF800000; + mov.f32 %f94, 0f00000000; + // inline asm + call _rt_trace_64, (%r25, %f1, %f2, %f3, %f91, %f94, %f94, %r26, %f94, %f95, %rd27, %r27); + // inline asm + ld.local.f32 %f5, [%rd29+4]; + ld.local.f32 %f6, [%rd29]; + add.f32 %f112, %f6, %f5; + ld.local.f32 %f7, [%rd29+8]; + add.f32 %f113, %f112, %f7; + mov.f32 %f261, 0f47C34F80; + setp.eq.f32 %p13, %f113, 0f00000000; + @%p13 bra BB0_4; + + mul.f32 %f115, %f5, %f5; + fma.rn.f32 %f116, %f6, %f6, %f115; + fma.rn.f32 %f117, %f7, %f7, %f116; + sqrt.rn.f32 %f8, %f117; + rcp.rn.f32 %f118, %f8; + mul.f32 %f119, %f118, %f6; + mul.f32 %f120, %f118, %f5; + mul.f32 %f121, %f118, %f7; + fma.rn.f32 %f122, %f4, %f119, %f1; + fma.rn.f32 %f123, %f4, %f120, %f2; + fma.rn.f32 %f124, %f4, %f121, %f3; + sub.f32 %f9, %f122, %f8; + fma.rn.f32 %f10, %f8, 0f00000000, %f123; + fma.rn.f32 %f11, %f8, 0f00000000, %f124; + setp.geu.f32 %p14, %f8, 0f47C34F80; + mov.f32 %f258, %f1; + mov.f32 %f259, %f2; + mov.f32 %f260, %f3; + @%p14 bra BB0_7; + + mov.f32 %f258, %f9; + mov.f32 %f259, %f10; + mov.f32 %f260, %f11; + mov.f32 %f261, %f8; + bra.uni BB0_7; + +BB0_4: + mov.f32 %f258, %f1; + mov.f32 %f259, %f2; + mov.f32 %f260, %f3; + +BB0_7: + ld.global.f32 %f133, [voxelSize+4]; + ld.global.f32 %f134, [voxelSize]; + fma.rn.f32 %f135, %f133, 0f00000000, %f134; + ld.global.f32 %f136, [voxelSize+8]; + fma.rn.f32 %f137, %f136, 0f00000000, %f135; + abs.f32 %f132, %f137; + st.local.u32 [%rd29+8], %r26; + st.local.u32 [%rd29+4], %r26; + st.local.u32 [%rd29], %r26; + ld.global.u32 %r40, [root]; + mov.f32 %f128, 0f3F800000; + // inline asm + call _rt_trace_64, (%r40, %f1, %f2, %f3, %f128, %f94, %f94, %r26, %f94, %f132, %rd27, %r27); + // inline asm + ld.local.f32 %f16, [%rd29+4]; + ld.local.f32 %f17, [%rd29]; + add.f32 %f138, %f17, %f16; + ld.local.f32 %f18, [%rd29+8]; + add.f32 %f139, %f138, %f18; + setp.eq.f32 %p15, %f139, 0f00000000; + @%p15 bra BB0_10; + + mul.f32 %f140, %f16, %f16; + fma.rn.f32 %f141, %f17, %f17, %f140; + fma.rn.f32 %f142, %f18, %f18, %f141; + sqrt.rn.f32 %f19, %f142; + rcp.rn.f32 %f143, %f19; + mul.f32 %f144, %f143, %f17; + mul.f32 %f145, %f143, %f16; + mul.f32 %f146, %f143, %f18; + fma.rn.f32 %f20, %f4, %f144, %f1; + fma.rn.f32 %f147, %f4, %f145, %f2; + fma.rn.f32 %f148, %f4, %f146, %f3; + fma.rn.f32 %f21, %f19, 0f00000000, %f147; + fma.rn.f32 %f22, %f19, 0f00000000, %f148; + setp.geu.f32 %p16, %f19, %f261; + @%p16 bra BB0_10; + + add.f32 %f258, %f20, %f19; + mov.f32 %f259, %f21; + mov.f32 %f260, %f22; + mov.f32 %f261, %f19; + +BB0_10: + ld.global.f32 %f157, [voxelSize]; + ld.global.f32 %f158, [voxelSize+4]; + neg.f32 %f159, %f158; + fma.rn.f32 %f160, %f157, 0f00000000, %f159; + ld.global.f32 %f161, [voxelSize+8]; + fma.rn.f32 %f162, %f161, 0f00000000, %f160; + abs.f32 %f156, %f162; + st.local.u32 [%rd29+8], %r26; + st.local.u32 [%rd29+4], %r26; + st.local.u32 [%rd29], %r26; + ld.global.u32 %r43, [root]; + // inline asm + call _rt_trace_64, (%r43, %f1, %f2, %f3, %f94, %f91, %f94, %r26, %f94, %f156, %rd27, %r27); + // inline asm + ld.local.f32 %f28, [%rd29+4]; + ld.local.f32 %f29, [%rd29]; + add.f32 %f163, %f29, %f28; + ld.local.f32 %f30, [%rd29+8]; + add.f32 %f164, %f163, %f30; + setp.eq.f32 %p17, %f164, 0f00000000; + @%p17 bra BB0_13; + + mul.f32 %f165, %f28, %f28; + fma.rn.f32 %f166, %f29, %f29, %f165; + fma.rn.f32 %f167, %f30, %f30, %f166; + sqrt.rn.f32 %f31, %f167; + rcp.rn.f32 %f168, %f31; + mul.f32 %f169, %f168, %f29; + mul.f32 %f170, %f168, %f28; + mul.f32 %f171, %f168, %f30; + fma.rn.f32 %f172, %f4, %f169, %f1; + fma.rn.f32 %f173, %f4, %f170, %f2; + fma.rn.f32 %f174, %f4, %f171, %f3; + fma.rn.f32 %f32, %f31, 0f00000000, %f172; + sub.f32 %f33, %f173, %f31; + fma.rn.f32 %f34, %f31, 0f00000000, %f174; + setp.geu.f32 %p18, %f31, %f261; + @%p18 bra BB0_13; + + mov.f32 %f258, %f32; + mov.f32 %f259, %f33; + mov.f32 %f260, %f34; + mov.f32 %f261, %f31; + +BB0_13: + ld.global.f32 %f183, [voxelSize]; + ld.global.f32 %f184, [voxelSize+4]; + fma.rn.f32 %f185, %f183, 0f00000000, %f184; + ld.global.f32 %f186, [voxelSize+8]; + fma.rn.f32 %f187, %f186, 0f00000000, %f185; + abs.f32 %f182, %f187; + st.local.u32 [%rd29+8], %r26; + st.local.u32 [%rd29+4], %r26; + st.local.u32 [%rd29], %r26; + ld.global.u32 %r46, [root]; + // inline asm + call _rt_trace_64, (%r46, %f1, %f2, %f3, %f94, %f128, %f94, %r26, %f94, %f182, %rd27, %r27); + // inline asm + ld.local.f32 %f39, [%rd29+4]; + ld.local.f32 %f40, [%rd29]; + add.f32 %f188, %f40, %f39; + ld.local.f32 %f41, [%rd29+8]; + add.f32 %f189, %f188, %f41; + setp.eq.f32 %p19, %f189, 0f00000000; + @%p19 bra BB0_16; + + mul.f32 %f190, %f39, %f39; + fma.rn.f32 %f191, %f40, %f40, %f190; + fma.rn.f32 %f192, %f41, %f41, %f191; + sqrt.rn.f32 %f42, %f192; + rcp.rn.f32 %f193, %f42; + mul.f32 %f194, %f193, %f40; + mul.f32 %f195, %f193, %f39; + mul.f32 %f196, %f193, %f41; + fma.rn.f32 %f197, %f4, %f194, %f1; + fma.rn.f32 %f43, %f4, %f195, %f2; + fma.rn.f32 %f198, %f4, %f196, %f3; + fma.rn.f32 %f44, %f42, 0f00000000, %f197; + fma.rn.f32 %f45, %f42, 0f00000000, %f198; + setp.geu.f32 %p20, %f42, %f261; + @%p20 bra BB0_16; + + add.f32 %f259, %f43, %f42; + mov.f32 %f258, %f44; + mov.f32 %f260, %f45; + mov.f32 %f261, %f42; + +BB0_16: + ld.global.f32 %f207, [voxelSize]; + ld.global.f32 %f208, [voxelSize+4]; + mul.f32 %f209, %f208, 0f00000000; + fma.rn.f32 %f210, %f207, 0f00000000, %f209; + ld.global.f32 %f211, [voxelSize+8]; + sub.f32 %f212, %f210, %f211; + abs.f32 %f206, %f212; + st.local.u32 [%rd29+8], %r26; + st.local.u32 [%rd29+4], %r26; + st.local.u32 [%rd29], %r26; + ld.global.u32 %r49, [root]; + // inline asm + call _rt_trace_64, (%r49, %f1, %f2, %f3, %f94, %f94, %f91, %r26, %f94, %f206, %rd27, %r27); + // inline asm + ld.local.f32 %f51, [%rd29+4]; + ld.local.f32 %f52, [%rd29]; + add.f32 %f213, %f52, %f51; + ld.local.f32 %f53, [%rd29+8]; + add.f32 %f214, %f213, %f53; + setp.eq.f32 %p21, %f214, 0f00000000; + @%p21 bra BB0_19; + + mul.f32 %f215, %f51, %f51; + fma.rn.f32 %f216, %f52, %f52, %f215; + fma.rn.f32 %f217, %f53, %f53, %f216; + sqrt.rn.f32 %f54, %f217; + rcp.rn.f32 %f218, %f54; + mul.f32 %f219, %f218, %f52; + mul.f32 %f220, %f218, %f51; + mul.f32 %f221, %f218, %f53; + fma.rn.f32 %f222, %f4, %f219, %f1; + fma.rn.f32 %f223, %f4, %f220, %f2; + fma.rn.f32 %f224, %f4, %f221, %f3; + fma.rn.f32 %f55, %f54, 0f00000000, %f222; + fma.rn.f32 %f56, %f54, 0f00000000, %f223; + sub.f32 %f57, %f224, %f54; + setp.geu.f32 %p22, %f54, %f261; + @%p22 bra BB0_19; + + mov.f32 %f258, %f55; + mov.f32 %f259, %f56; + mov.f32 %f260, %f57; + mov.f32 %f261, %f54; + +BB0_19: + ld.global.f32 %f233, [voxelSize]; + ld.global.f32 %f234, [voxelSize+4]; + mul.f32 %f235, %f234, 0f00000000; + fma.rn.f32 %f236, %f233, 0f00000000, %f235; + ld.global.f32 %f237, [voxelSize+8]; + add.f32 %f238, %f236, %f237; + abs.f32 %f232, %f238; + st.local.u32 [%rd29+8], %r26; + st.local.u32 [%rd29+4], %r26; + st.local.u32 [%rd29], %r26; + ld.global.u32 %r52, [root]; + // inline asm + call _rt_trace_64, (%r52, %f1, %f2, %f3, %f94, %f94, %f128, %r26, %f94, %f232, %rd27, %r27); + // inline asm + ld.local.f32 %f62, [%rd29+4]; + ld.local.f32 %f63, [%rd29]; + add.f32 %f239, %f63, %f62; + ld.local.f32 %f64, [%rd29+8]; + add.f32 %f240, %f239, %f64; + setp.eq.f32 %p23, %f240, 0f00000000; + @%p23 bra BB0_22; + + mul.f32 %f241, %f62, %f62; + fma.rn.f32 %f242, %f63, %f63, %f241; + fma.rn.f32 %f243, %f64, %f64, %f242; + sqrt.rn.f32 %f244, %f243; + rcp.rn.f32 %f245, %f244; + mul.f32 %f246, %f245, %f63; + mul.f32 %f247, %f245, %f62; + mul.f32 %f248, %f245, %f64; + fma.rn.f32 %f249, %f4, %f246, %f1; + fma.rn.f32 %f250, %f4, %f247, %f2; + fma.rn.f32 %f251, %f4, %f248, %f3; + fma.rn.f32 %f65, %f244, 0f00000000, %f249; + fma.rn.f32 %f66, %f244, 0f00000000, %f250; + add.f32 %f67, %f251, %f244; + setp.geu.f32 %p24, %f244, %f261; + @%p24 bra BB0_22; + + mov.f32 %f258, %f65; + mov.f32 %f259, %f66; + mov.f32 %f260, %f67; + +BB0_22: + cvt.u64.u32 %rd43, %r3; + cvt.u64.u32 %rd42, %r2; + mov.u64 %rd46, image_HDR; + cvta.global.u64 %rd41, %rd46; + mov.u32 %r56, 16; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r4, %r56, %rd42, %rd43, %rd7, %rd7); + // inline asm + st.v4.f32 [%rd40], {%f258, %f259, %f260, %f128}; + +BB0_24: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos3D.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos3D.ptx.meta new file mode 100644 index 00000000..865cd30d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/fixPos3D.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d3c23da2dc42294fa8ca290df4f84c2 +timeCreated: 1589639893 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll new file mode 100644 index 00000000..db46162f Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll.meta new file mode 100644 index 00000000..1e5a9833 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/frender.dll.meta @@ -0,0 +1,138 @@ +fileFormatVersion: 2 +guid: a071375b62913014282acc67a8c276c2 +timeCreated: 1526150503 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + '': Any + second: + enabled: 0 + settings: + Exclude Android: 1 + Exclude Editor: 0 + Exclude Linux: 1 + Exclude Linux64: 1 + Exclude LinuxUniversal: 1 + Exclude OSXIntel: 1 + Exclude OSXIntel64: 1 + Exclude OSXUniversal: 1 + Exclude WebGL: 1 + Exclude Win: 1 + Exclude Win64: 1 + Exclude iOS: 1 + data: + first: + '': Editor + second: + enabled: 0 + settings: + CPU: x86_64 + OS: Windows + data: + first: + Android: Android + second: + enabled: 0 + settings: + CPU: ARMv7 + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + DefaultValueInitialized: true + data: + first: + Facebook: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Facebook: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: Linux + second: + enabled: 0 + settings: + CPU: x86 + data: + first: + Standalone: Linux64 + second: + enabled: 0 + settings: + CPU: x86_64 + data: + first: + Standalone: LinuxUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: OSXIntel + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXIntel64 + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + Standalone: OSXUniversal + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win + second: + enabled: 0 + settings: + CPU: None + data: + first: + Standalone: Win64 + second: + enabled: 0 + settings: + CPU: AnyCPU + data: + first: + iPhone: iOS + second: + enabled: 0 + settings: + CompileFlags: + FrameworkDependencies: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftChecker.shader b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftChecker.shader new file mode 100644 index 00000000..4a819296 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftChecker.shader @@ -0,0 +1,87 @@ +Shader "Hidden/ftChecker" +{ + Properties + { + _MainTex ("Texture", 2D) = "white" {} + } + + SubShader { + + Tags { "RenderType"="Opaque" } + LOD 200 + + CGPROGRAM + // Physically based Standard lighting model, and enable shadows on all light types + #pragma surface surf Standard vertex:vert noinstancing + + // Use shader model 3.0 target, to get nicer looking lighting + #pragma target 3.0 + + sampler2D _MainTex; + float bakeryLightmapSize; + float3 bakeryLightmapID; + + struct Input { + float2 texcoord1; + float3 worldPos; + }; + + half _Glossiness; + half _Metallic; + fixed4 _Color; + + float2 pri( in float2 x ) + { + // see https://www.shadertoy.com/view/MtffWs + float2 h = frac(x/2.0)-0.5; + return x*0.5 + h*(1.0-2.0*abs(h)); + } + + float2 tri( in float2 x ) + { + float2 h = frac(x/2.0)-0.5; + return 1.0-2.0*abs(h); + } + + struct vinput + { + float4 vertex : POSITION; + float2 texcoord1 : TEXCOORD1; + float2 texcoord2 : TEXCOORD2; + float3 normal : NORMAL0; + float2 texcoord : TEXCOORD0; + float4 tangent : TANGENT; + }; + + void vert (inout vinput v, out Input o) + { + UNITY_INITIALIZE_OUTPUT(Input,o); + o.texcoord1 = v.texcoord1 * unity_LightmapST.xy + unity_LightmapST.zw; + } + + void surf (Input IN, inout SurfaceOutputStandard o) { + o.Albedo = 0; + o.Smoothness = 0; + + //float width, height; + //unity_Lightmap.GetDimensions(width, height); + //float2 resolution = float2(width, height); + + // Filtered checker from https://www.shadertoy.com/view/llffWs + float2 uv = IN.texcoord1 * bakeryLightmapSize * 0.5f; + float2 uvDx = ddx(uv); + float2 uvDy = ddy(uv); + + float2 w = max(abs(uvDx), abs(uvDy)) + 0.01; // filter kernel + float2 i = (tri(uv+0.5*w)-tri(uv-0.5*w))/w; // analytical integral (box filter) + float checker = 0.5 - 0.5*i.x*i.y; // xor pattern + + float3 color = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, IN.texcoord1)); + color = lerp(saturate(color), checker * bakeryLightmapID, 0.5f); + + o.Emission = color; + } + ENDCG + } + FallBack "Diffuse" +} diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftChecker.shader.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftChecker.shader.meta new file mode 100644 index 00000000..6c162f41 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftChecker.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4bcd2e3bee7aa694db5e644c90dbe178 +timeCreated: 1540224024 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftServer.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftServer.exe new file mode 100644 index 00000000..f5279141 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftServer.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftServer.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftServer.exe.meta new file mode 100644 index 00000000..c8c7f63b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftServer.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ee2998595053cdd4a9b503902cabd498 +timeCreated: 1552145710 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe new file mode 100644 index 00000000..235ca6b0 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe.meta new file mode 100644 index 00000000..f8303948 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftrace.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 16127b989b7276947ac47f77f5f641c8 +timeCreated: 1526150503 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftraceRTX.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftraceRTX.exe new file mode 100644 index 00000000..80b653c4 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftraceRTX.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftraceRTX.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftraceRTX.exe.meta new file mode 100644 index 00000000..4e2cca5f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ftraceRTX.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 31723c36feaba3a43a6a56c27e94b3bf +timeCreated: 1551528778 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2hdr.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2hdr.exe new file mode 100644 index 00000000..83b0597e Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2hdr.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2hdr.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2hdr.exe.meta new file mode 100644 index 00000000..5f6f0da7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2hdr.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e15a4474deea07545a6e1b58d36c4d71 +timeCreated: 1526331764 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2vb.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2vb.dll new file mode 100644 index 00000000..93410cea Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2vb.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2vb.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2vb.dll.meta new file mode 100644 index 00000000..d16fc3ae --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/halffloat2vb.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 77e9329d2b603b046bbb020a6b7bed62 +timeCreated: 1532196753 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfield.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfield.ptx new file mode 100644 index 00000000..3bec1882 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfield.ptx @@ -0,0 +1,648 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z9intersecti +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 ray[36]; +.global .align 4 .u32 heightmap; +.global .align 4 .f32 heightmapMaxMip; +.global .align 4 .b8 heightmapMin[12]; +.global .align 4 .b8 heightmapMax[12]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9heightmapE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo15heightmapMaxMipE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12heightmapMinE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12heightmapMaxE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename9heightmapE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename15heightmapMaxMipE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12heightmapMinE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12heightmapMaxE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9heightmapE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum15heightmapMaxMipE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12heightmapMinE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12heightmapMaxE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic9heightmapE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic15heightmapMaxMipE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12heightmapMinE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12heightmapMaxE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9heightmapE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation15heightmapMaxMipE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12heightmapMinE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12heightmapMaxE[1]; + +.visible .entry _Z9intersecti( + .param .u32 _Z9intersecti_param_0 +) +{ + .reg .pred %p<57>; + .reg .b16 %rs<9>; + .reg .f32 %f<439>; + .reg .b32 %r<36>; + + + ld.global.f32 %f3, [heightmapMin+8]; + ld.global.f32 %f2, [heightmapMin+4]; + ld.global.f32 %f1, [heightmapMin]; + ld.global.f32 %f139, [heightmapMax+8]; + ld.global.f32 %f140, [heightmapMax+4]; + ld.global.f32 %f141, [heightmapMax]; + add.f32 %f142, %f1, %f141; + add.f32 %f143, %f2, %f140; + add.f32 %f144, %f3, %f139; + mul.f32 %f145, %f142, 0f3F000000; + mul.f32 %f146, %f143, 0f3F000000; + mul.f32 %f147, %f144, 0f3F000000; + sub.f32 %f4, %f141, %f1; + sub.f32 %f5, %f140, %f2; + sub.f32 %f6, %f139, %f3; + mul.f32 %f148, %f4, 0f3F000000; + mul.f32 %f149, %f5, 0f3F000000; + mul.f32 %f150, %f6, 0f3F000000; + ld.global.f32 %f7, [ray+12]; + rcp.rn.f32 %f151, %f7; + ld.global.f32 %f8, [ray+16]; + rcp.rn.f32 %f152, %f8; + ld.global.f32 %f9, [ray+20]; + rcp.rn.f32 %f153, %f9; + ld.global.f32 %f10, [ray]; + sub.f32 %f154, %f10, %f145; + ld.global.f32 %f11, [ray+4]; + sub.f32 %f155, %f11, %f146; + ld.global.f32 %f12, [ray+8]; + sub.f32 %f156, %f12, %f147; + mul.f32 %f157, %f151, %f154; + mul.f32 %f158, %f152, %f155; + mul.f32 %f159, %f153, %f156; + abs.f32 %f160, %f151; + abs.f32 %f161, %f152; + abs.f32 %f162, %f153; + mul.f32 %f163, %f148, %f160; + mul.f32 %f164, %f149, %f161; + mul.f32 %f165, %f150, %f162; + neg.f32 %f166, %f157; + neg.f32 %f167, %f158; + neg.f32 %f168, %f159; + sub.f32 %f169, %f166, %f163; + sub.f32 %f170, %f167, %f164; + sub.f32 %f171, %f168, %f165; + sub.f32 %f172, %f163, %f157; + sub.f32 %f173, %f164, %f158; + sub.f32 %f174, %f165, %f159; + max.f32 %f175, %f169, %f170; + max.f32 %f13, %f175, %f171; + min.f32 %f176, %f172, %f173; + min.f32 %f177, %f176, %f174; + setp.gt.f32 %p4, %f13, %f177; + setp.lt.f32 %p5, %f177, 0f00000000; + or.pred %p6, %p4, %p5; + @%p6 bra BB0_32; + + add.f32 %f178, %f13, 0f3C23D70A; + setp.lt.f32 %p7, %f178, 0f00000000; + selp.f32 %f14, 0f00000000, %f178, %p7; + fma.rn.f32 %f179, %f14, %f7, %f10; + fma.rn.f32 %f180, %f14, %f8, %f11; + fma.rn.f32 %f181, %f14, %f9, %f12; + sub.f32 %f182, %f179, %f1; + sub.f32 %f15, %f180, %f2; + sub.f32 %f183, %f181, %f3; + div.rn.f32 %f419, %f182, %f4; + div.rn.f32 %f421, %f183, %f6; + abs.f32 %f184, %f15; + sub.f32 %f18, %f11, %f2; + setp.geu.f32 %p8, %f184, 0f38D1B717; + @%p8 bra BB0_3; + + abs.f32 %f185, %f18; + setp.gt.f32 %p9, %f185, 0f38D1B717; + @%p9 bra BB0_30; + bra.uni BB0_3; + +BB0_30: + // inline asm + call (%r29), _rt_potential_intersection, (%f14); + // inline asm + setp.eq.s32 %p55, %r29, 0; + @%p55 bra BB0_32; + + mov.u32 %r31, 0; + st.global.u32 [normal+8], %r31; + mov.u32 %r32, 1065353216; + st.global.u32 [normal+4], %r32; + st.global.u32 [normal], %r31; + // inline asm + call (%r30), _rt_report_intersection, (%r31); + // inline asm + bra.uni BB0_32; + +BB0_3: + sub.f32 %f187, %f10, %f1; + div.rn.f32 %f19, %f187, %f4; + div.rn.f32 %f20, %f18, %f5; + sub.f32 %f188, %f12, %f3; + div.rn.f32 %f21, %f188, %f6; + add.f32 %f189, %f419, %f419; + cvt.rmi.f32.f32 %f190, %f189; + mul.f32 %f422, %f190, 0f3F000000; + add.f32 %f191, %f421, %f421; + cvt.rmi.f32.f32 %f192, %f191; + mul.f32 %f423, %f192, 0f3F000000; + div.rn.f32 %f193, %f7, %f4; + div.rn.f32 %f194, %f8, %f5; + mul.f32 %f195, %f194, %f194; + fma.rn.f32 %f196, %f193, %f193, %f195; + div.rn.f32 %f197, %f9, %f6; + fma.rn.f32 %f198, %f197, %f197, %f196; + sqrt.rn.f32 %f199, %f198; + rcp.rn.f32 %f200, %f199; + mul.f32 %f24, %f193, %f200; + mul.f32 %f25, %f194, %f200; + mul.f32 %f26, %f197, %f200; + setp.gt.f32 %p10, %f24, 0f00000000; + mov.f32 %f437, 0f3F800000; + mov.f32 %f392, %f437; + @%p10 bra BB0_5; + + setp.eq.f32 %p11, %f24, 0f00000000; + selp.f32 %f392, 0f00000000, 0fBF800000, %p11; + +BB0_5: + setp.gt.f32 %p12, %f26, 0f00000000; + mov.f32 %f393, %f437; + @%p12 bra BB0_7; + + setp.eq.f32 %p13, %f26, 0f00000000; + selp.f32 %f393, 0f00000000, 0fBF800000, %p13; + +BB0_7: + ld.global.f32 %f425, [heightmapMaxMip]; + abs.f32 %f207, %f26; + mov.f32 %f208, 0f38D1B717; + max.f32 %f32, %f207, %f208; + add.f32 %f209, %f422, 0f3F000000; + setp.lt.f32 %p14, %f392, 0f00000000; + selp.f32 %f210, %f422, %f209, %p14; + sub.f32 %f211, %f210, %f419; + abs.f32 %f212, %f211; + abs.f32 %f213, %f24; + max.f32 %f33, %f213, %f208; + div.rn.f32 %f427, %f212, %f33; + add.f32 %f214, %f423, 0f3F000000; + setp.lt.f32 %p15, %f393, 0f00000000; + selp.f32 %f215, %f423, %f214, %p15; + sub.f32 %f216, %f215, %f421; + abs.f32 %f217, %f216; + div.rn.f32 %f428, %f217, %f32; + rcp.rn.f32 %f218, %f24; + abs.f32 %f219, %f218; + mul.f32 %f429, %f219, 0f3F000000; + rcp.rn.f32 %f220, %f26; + abs.f32 %f221, %f220; + mul.f32 %f430, %f221, 0f3F000000; + mul.f32 %f431, %f392, 0f3F000000; + mul.f32 %f432, %f393, 0f3F000000; + rcp.rn.f32 %f40, %f25; + div.rn.f32 %f420, %f15, %f5; + mov.f32 %f438, 0f00000000; + mov.f32 %f424, 0f3F000000; + mov.f32 %f426, 0f40000000; + mov.u32 %r33, 0; + mov.u32 %r35, %r33; + mov.f32 %f436, %f438; + +BB0_8: + ld.global.u32 %r3, [heightmap]; + setp.eq.f32 %p16, %f425, 0f00000000; + @%p16 bra BB0_12; + bra.uni BB0_9; + +BB0_12: + mov.u32 %r22, 2; + mov.u32 %r23, 0; + mov.f32 %f264, 0f00000000; + // inline asm + call (%f233, %f234, %f235, %f236), _rt_texture_get_level_id, (%r3, %r22, %f422, %f423, %f264, %r23, %f264); + // inline asm + ld.global.u32 %r15, [heightmap]; + add.f32 %f253, %f422, %f424; + // inline asm + call (%f241, %f242, %f243, %f244), _rt_texture_get_level_id, (%r15, %r22, %f253, %f423, %f264, %r23, %f264); + // inline asm + ld.global.u32 %r18, [heightmap]; + add.f32 %f262, %f423, %f424; + // inline asm + call (%f249, %f250, %f251, %f252), _rt_texture_get_level_id, (%r18, %r22, %f253, %f262, %f264, %r23, %f264); + // inline asm + ld.global.u32 %r21, [heightmap]; + // inline asm + call (%f257, %f258, %f259, %f260), _rt_texture_get_level_id, (%r21, %r22, %f422, %f262, %f264, %r23, %f264); + // inline asm + sub.f32 %f265, %f253, %f422; + sub.f32 %f266, %f249, %f233; + sub.f32 %f267, %f262, %f423; + sub.f32 %f268, %f233, %f257; + sub.f32 %f269, %f423, %f262; + mul.f32 %f270, %f267, %f268; + mul.f32 %f271, %f269, %f266; + sub.f32 %f436, %f270, %f271; + mul.f32 %f67, %f269, %f265; + sub.f32 %f272, %f422, %f422; + mul.f32 %f273, %f272, %f267; + sub.f32 %f437, %f67, %f273; + mul.f32 %f274, %f272, %f266; + mul.f32 %f275, %f265, %f268; + sub.f32 %f438, %f274, %f275; + mul.f32 %f276, %f24, %f436; + fma.rn.f32 %f277, %f25, %f437, %f276; + fma.rn.f32 %f278, %f26, %f438, %f277; + rcp.rn.f32 %f279, %f278; + sub.f32 %f70, %f233, %f20; + sub.f32 %f280, %f422, %f19; + mul.f32 %f281, %f280, %f279; + mul.f32 %f282, %f70, %f279; + sub.f32 %f283, %f423, %f21; + mul.f32 %f284, %f283, %f279; + mul.f32 %f285, %f25, %f284; + mul.f32 %f286, %f26, %f282; + sub.f32 %f287, %f285, %f286; + mul.f32 %f288, %f26, %f281; + mul.f32 %f289, %f24, %f284; + sub.f32 %f290, %f288, %f289; + mul.f32 %f291, %f24, %f282; + mul.f32 %f292, %f25, %f281; + sub.f32 %f293, %f291, %f292; + mul.f32 %f294, %f268, %f290; + fma.rn.f32 %f295, %f272, %f287, %f294; + fma.rn.f32 %f296, %f269, %f293, %f295; + mul.f32 %f297, %f266, %f290; + fma.rn.f32 %f298, %f265, %f287, %f297; + fma.rn.f32 %f299, %f267, %f293, %f298; + mul.f32 %f300, %f281, %f436; + fma.rn.f32 %f301, %f437, %f282, %f300; + fma.rn.f32 %f71, %f284, %f438, %f301; + setp.gt.f32 %p22, %f71, 0f3456BF95; + setp.ge.f32 %p23, %f296, 0f00000000; + and.pred %p24, %p22, %p23; + setp.ge.f32 %p25, %f299, 0f00000000; + and.pred %p26, %p24, %p25; + add.f32 %f302, %f296, %f299; + setp.le.f32 %p27, %f302, 0f3F800000; + and.pred %p28, %p26, %p27; + @%p28 bra BB0_26; + + sub.f32 %f303, %f241, %f233; + sub.f32 %f305, %f422, %f253; + sub.f32 %f306, %f233, %f249; + sub.f32 %f307, %f423, %f423; + mul.f32 %f308, %f307, %f306; + mul.f32 %f311, %f269, %f303; + sub.f32 %f436, %f308, %f311; + mul.f32 %f312, %f307, %f305; + sub.f32 %f437, %f67, %f312; + mul.f32 %f313, %f305, %f303; + mul.f32 %f315, %f265, %f306; + sub.f32 %f438, %f313, %f315; + mul.f32 %f316, %f24, %f436; + fma.rn.f32 %f317, %f25, %f437, %f316; + fma.rn.f32 %f318, %f26, %f438, %f317; + rcp.rn.f32 %f319, %f318; + mul.f32 %f321, %f280, %f319; + mul.f32 %f322, %f70, %f319; + mul.f32 %f324, %f283, %f319; + mul.f32 %f325, %f25, %f324; + mul.f32 %f326, %f26, %f322; + sub.f32 %f327, %f325, %f326; + mul.f32 %f328, %f26, %f321; + mul.f32 %f329, %f24, %f324; + sub.f32 %f330, %f328, %f329; + mul.f32 %f331, %f24, %f322; + mul.f32 %f332, %f25, %f321; + sub.f32 %f333, %f331, %f332; + mul.f32 %f334, %f306, %f330; + fma.rn.f32 %f335, %f305, %f327, %f334; + fma.rn.f32 %f336, %f269, %f333, %f335; + mul.f32 %f337, %f303, %f330; + fma.rn.f32 %f338, %f265, %f327, %f337; + fma.rn.f32 %f339, %f307, %f333, %f338; + mul.f32 %f340, %f437, %f322; + fma.rn.f32 %f341, %f436, %f321, %f340; + fma.rn.f32 %f75, %f438, %f324, %f341; + setp.gt.f32 %p29, %f75, 0f3456BF95; + setp.ge.f32 %p30, %f336, 0f00000000; + and.pred %p31, %p29, %p30; + setp.ge.f32 %p32, %f339, 0f00000000; + and.pred %p33, %p31, %p32; + add.f32 %f342, %f336, %f339; + setp.le.f32 %p34, %f342, 0f3F800000; + and.pred %p35, %p33, %p34; + selp.u16 %rs7, 1, 0, %p35; + @%p35 bra BB0_25; + bra.uni BB0_14; + +BB0_9: + setp.lt.f32 %p17, %f25, 0f00000000; + mov.u32 %r10, 2; + mov.f32 %f228, 0f00000000; + mov.u32 %r11, 0; + // inline asm + call (%f222, %f223, %f224, %f225), _rt_texture_get_level_id, (%r3, %r10, %f422, %f423, %f228, %r11, %f425); + // inline asm + setp.gt.f32 %p56, %f222, %f420; + setp.leu.f32 %p18, %f222, %f420; + and.pred %p19, %p17, %p18; + @!%p19 bra BB0_11; + bra.uni BB0_10; + +BB0_10: + sub.f32 %f230, %f420, %f222; + mul.f32 %f231, %f40, %f230; + neg.f32 %f232, %f231; + setp.gt.f32 %p20, %f427, %f232; + setp.gt.f32 %p21, %f428, %f232; + and.pred %p56, %p20, %p21; + +BB0_11: + selp.u16 %rs7, 1, 0, %p56; + +BB0_14: + setp.eq.s16 %p36, %rs7, 0; + @%p36 bra BB0_16; + bra.uni BB0_15; + +BB0_16: + setp.eq.s32 %p39, %r35, 4; + @%p39 bra BB0_22; + bra.uni BB0_17; + +BB0_22: + add.f32 %f425, %f425, 0f3F800000; + mul.f32 %f426, %f426, 0f3F000000; + mul.f32 %f355, %f419, %f426; + cvt.rmi.f32.f32 %f356, %f355; + div.rn.f32 %f422, %f356, %f426; + mul.f32 %f357, %f421, %f426; + cvt.rmi.f32.f32 %f358, %f357; + div.rn.f32 %f423, %f358, %f426; + add.f32 %f424, %f424, %f424; + add.f32 %f359, %f424, %f422; + selp.f32 %f360, %f422, %f359, %p14; + sub.f32 %f361, %f360, %f419; + abs.f32 %f362, %f361; + div.rn.f32 %f427, %f362, %f33; + add.f32 %f363, %f424, %f423; + selp.f32 %f364, %f423, %f363, %p15; + sub.f32 %f365, %f364, %f421; + abs.f32 %f366, %f365; + div.rn.f32 %f428, %f366, %f32; + add.f32 %f429, %f429, %f429; + add.f32 %f430, %f430, %f430; + add.f32 %f431, %f431, %f431; + add.f32 %f432, %f432, %f432; + bra.uni BB0_23; + +BB0_15: + add.f32 %f425, %f425, 0fBF800000; + add.f32 %f426, %f426, %f426; + mul.f32 %f343, %f419, %f426; + cvt.rmi.f32.f32 %f344, %f343; + div.rn.f32 %f422, %f344, %f426; + mul.f32 %f345, %f421, %f426; + cvt.rmi.f32.f32 %f346, %f345; + div.rn.f32 %f423, %f346, %f426; + mul.f32 %f424, %f424, 0f3F000000; + add.f32 %f347, %f424, %f422; + selp.f32 %f348, %f422, %f347, %p14; + sub.f32 %f349, %f348, %f419; + abs.f32 %f350, %f349; + div.rn.f32 %f427, %f350, %f33; + add.f32 %f351, %f424, %f423; + selp.f32 %f352, %f423, %f351, %p15; + sub.f32 %f353, %f352, %f421; + abs.f32 %f354, %f353; + div.rn.f32 %f428, %f354, %f32; + mul.f32 %f429, %f429, 0f3F000000; + mul.f32 %f430, %f430, 0f3F000000; + mul.f32 %f431, %f431, 0f3F000000; + mul.f32 %f432, %f432, 0f3F000000; + +BB0_23: + mov.u32 %r35, 0; + bra.uni BB0_24; + +BB0_17: + setp.lt.f32 %p40, %f427, %f428; + @%p40 bra BB0_19; + bra.uni BB0_18; + +BB0_19: + sub.f32 %f418, %f428, %f427; + add.f32 %f422, %f422, %f431; + mov.f32 %f428, %f427; + mov.f32 %f427, %f429; + bra.uni BB0_20; + +BB0_18: + sub.f32 %f427, %f427, %f428; + add.f32 %f423, %f423, %f432; + mov.f32 %f418, %f430; + +BB0_20: + fma.rn.f32 %f421, %f26, %f428, %f421; + fma.rn.f32 %f420, %f25, %f428, %f420; + fma.rn.f32 %f419, %f24, %f428, %f419; + setp.ge.f32 %p41, %f419, 0f00000000; + setp.ge.f32 %p42, %f421, 0f00000000; + and.pred %p43, %p41, %p42; + setp.lt.f32 %p44, %f419, 0f3F800000; + and.pred %p45, %p43, %p44; + setp.lt.f32 %p46, %f421, 0f3F800000; + and.pred %p47, %p45, %p46; + setp.lt.f32 %p48, %f420, 0f3F800000; + and.pred %p49, %p47, %p48; + mov.u16 %rs8, 0; + @!%p49 bra BB0_27; + bra.uni BB0_21; + +BB0_21: + add.s32 %r35, %r35, 1; + mov.f32 %f428, %f418; + +BB0_24: + add.s32 %r33, %r33, 1; + setp.lt.s32 %p52, %r33, 512; + mov.u16 %rs8, %rs7; + @%p52 bra BB0_8; + bra.uni BB0_27; + +BB0_26: + fma.rn.f32 %f419, %f24, %f71, %f19; + fma.rn.f32 %f420, %f25, %f71, %f20; + fma.rn.f32 %f421, %f26, %f71, %f21; + mov.u16 %rs8, 1; + bra.uni BB0_27; + +BB0_25: + fma.rn.f32 %f419, %f24, %f75, %f19; + fma.rn.f32 %f420, %f25, %f75, %f20; + fma.rn.f32 %f421, %f26, %f75, %f21; + mov.u16 %rs8, %rs7; + +BB0_27: + setp.eq.s16 %p53, %rs8, 0; + @%p53 bra BB0_32; + + fma.rn.f32 %f368, %f4, %f419, %f1; + fma.rn.f32 %f369, %f5, %f420, %f2; + fma.rn.f32 %f370, %f6, %f421, %f3; + ld.global.f32 %f371, [ray]; + sub.f32 %f372, %f368, %f371; + ld.global.f32 %f373, [ray+4]; + sub.f32 %f374, %f369, %f373; + ld.global.f32 %f375, [ray+8]; + sub.f32 %f376, %f370, %f375; + mul.f32 %f377, %f374, %f374; + fma.rn.f32 %f378, %f372, %f372, %f377; + fma.rn.f32 %f379, %f376, %f376, %f378; + sqrt.rn.f32 %f367, %f379; + // inline asm + call (%r26), _rt_potential_intersection, (%f367); + // inline asm + setp.eq.s32 %p54, %r26, 0; + @%p54 bra BB0_32; + + mul.f32 %f380, %f437, %f437; + fma.rn.f32 %f381, %f436, %f436, %f380; + fma.rn.f32 %f382, %f438, %f438, %f381; + sqrt.rn.f32 %f383, %f382; + rcp.rn.f32 %f384, %f383; + mul.f32 %f385, %f436, %f384; + neg.f32 %f386, %f385; + mul.f32 %f387, %f437, %f384; + neg.f32 %f388, %f387; + mul.f32 %f389, %f438, %f384; + neg.f32 %f390, %f389; + st.global.f32 [normal], %f386; + st.global.f32 [normal+4], %f388; + st.global.f32 [normal+8], %f390; + mov.u32 %r28, 0; + // inline asm + call (%r27), _rt_report_intersection, (%r28); + // inline asm + +BB0_32: + ret; +} + + // .globl _Z4bboxiPN5optix4AabbE +.visible .entry _Z4bboxiPN5optix4AabbE( + .param .u32 _Z4bboxiPN5optix4AabbE_param_0, + .param .u64 _Z4bboxiPN5optix4AabbE_param_1 +) +{ + .reg .f32 %f<7>; + .reg .b64 %rd<3>; + + + ld.param.u64 %rd1, [_Z4bboxiPN5optix4AabbE_param_1]; + cvta.to.global.u64 %rd2, %rd1; + ld.global.f32 %f1, [heightmapMin]; + ld.global.f32 %f2, [heightmapMin+4]; + ld.global.f32 %f3, [heightmapMin+8]; + st.global.f32 [%rd2+8], %f3; + st.global.f32 [%rd2+4], %f2; + st.global.f32 [%rd2], %f1; + ld.global.f32 %f4, [heightmapMax]; + ld.global.f32 %f5, [heightmapMax+4]; + ld.global.f32 %f6, [heightmapMax+8]; + st.global.f32 [%rd2+20], %f6; + st.global.f32 [%rd2+16], %f5; + st.global.f32 [%rd2+12], %f4; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfield.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfield.ptx.meta new file mode 100644 index 00000000..519f24db --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfield.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d59872cbc2f1b94e9cbd52dbed696b0 +timeCreated: 1544952179 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTex.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTex.ptx new file mode 100644 index 00000000..12da642f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTex.ptx @@ -0,0 +1,676 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z9intersecti +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 ray[36]; +.global .align 4 .u32 heightmap; +.global .align 4 .f32 heightmapMaxMip; +.global .align 4 .b8 heightmapMin[12]; +.global .align 4 .b8 heightmapMax[12]; +.global .align 4 .f32 heightmapLMID; +.global .align 16 .b8 heightmapOffsetScaleUV[16]; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9heightmapE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo15heightmapMaxMipE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12heightmapMinE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12heightmapMaxE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13heightmapLMIDE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo22heightmapOffsetScaleUVE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename9heightmapE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename15heightmapMaxMipE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12heightmapMinE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12heightmapMaxE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename13heightmapLMIDE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename22heightmapOffsetScaleUVE[7] = {102, 108, 111, 97, 116, 52, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9heightmapE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum15heightmapMaxMipE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12heightmapMinE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12heightmapMaxE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13heightmapLMIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum22heightmapOffsetScaleUVE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic9heightmapE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic15heightmapMaxMipE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12heightmapMinE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12heightmapMaxE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13heightmapLMIDE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic22heightmapOffsetScaleUVE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9heightmapE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation15heightmapMaxMipE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12heightmapMinE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12heightmapMaxE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13heightmapLMIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation22heightmapOffsetScaleUVE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; + +.visible .entry _Z9intersecti( + .param .u32 _Z9intersecti_param_0 +) +{ + .reg .pred %p<57>; + .reg .b16 %rs<9>; + .reg .f32 %f<454>; + .reg .b32 %r<36>; + + + ld.global.f32 %f4, [heightmapMin+8]; + ld.global.f32 %f3, [heightmapMin+4]; + ld.global.f32 %f2, [heightmapMin]; + ld.global.f32 %f1, [heightmapLMID]; + ld.global.f32 %f144, [heightmapMax+8]; + ld.global.f32 %f145, [heightmapMax+4]; + ld.global.f32 %f146, [heightmapMax]; + add.f32 %f147, %f2, %f146; + add.f32 %f148, %f3, %f145; + add.f32 %f149, %f4, %f144; + mul.f32 %f150, %f147, 0f3F000000; + mul.f32 %f151, %f148, 0f3F000000; + mul.f32 %f152, %f149, 0f3F000000; + sub.f32 %f5, %f146, %f2; + sub.f32 %f6, %f145, %f3; + sub.f32 %f7, %f144, %f4; + mul.f32 %f153, %f5, 0f3F000000; + mul.f32 %f154, %f6, 0f3F000000; + mul.f32 %f155, %f7, 0f3F000000; + ld.global.f32 %f8, [ray+12]; + rcp.rn.f32 %f156, %f8; + ld.global.f32 %f9, [ray+16]; + rcp.rn.f32 %f157, %f9; + ld.global.f32 %f10, [ray+20]; + rcp.rn.f32 %f158, %f10; + ld.global.f32 %f11, [ray]; + sub.f32 %f159, %f11, %f150; + ld.global.f32 %f12, [ray+4]; + sub.f32 %f160, %f12, %f151; + ld.global.f32 %f13, [ray+8]; + sub.f32 %f161, %f13, %f152; + mul.f32 %f162, %f156, %f159; + mul.f32 %f163, %f157, %f160; + mul.f32 %f164, %f158, %f161; + abs.f32 %f165, %f156; + abs.f32 %f166, %f157; + abs.f32 %f167, %f158; + mul.f32 %f168, %f153, %f165; + mul.f32 %f169, %f154, %f166; + mul.f32 %f170, %f155, %f167; + neg.f32 %f171, %f162; + neg.f32 %f172, %f163; + neg.f32 %f173, %f164; + sub.f32 %f174, %f171, %f168; + sub.f32 %f175, %f172, %f169; + sub.f32 %f176, %f173, %f170; + sub.f32 %f177, %f168, %f162; + sub.f32 %f178, %f169, %f163; + sub.f32 %f179, %f170, %f164; + max.f32 %f180, %f174, %f175; + max.f32 %f14, %f180, %f176; + min.f32 %f181, %f177, %f178; + min.f32 %f182, %f181, %f179; + setp.gt.f32 %p4, %f14, %f182; + setp.lt.f32 %p5, %f182, 0f00000000; + or.pred %p6, %p4, %p5; + @%p6 bra BB0_32; + + ld.global.v4.f32 {%f183, %f184, %f185, %f186}, [heightmapOffsetScaleUV]; + add.f32 %f187, %f14, 0f3C23D70A; + setp.lt.f32 %p7, %f187, 0f00000000; + selp.f32 %f19, 0f00000000, %f187, %p7; + fma.rn.f32 %f188, %f19, %f8, %f11; + fma.rn.f32 %f189, %f19, %f9, %f12; + fma.rn.f32 %f190, %f19, %f10, %f13; + sub.f32 %f191, %f188, %f2; + sub.f32 %f20, %f189, %f3; + sub.f32 %f192, %f190, %f4; + div.rn.f32 %f434, %f191, %f5; + div.rn.f32 %f436, %f192, %f7; + abs.f32 %f193, %f20; + sub.f32 %f23, %f12, %f3; + setp.geu.f32 %p8, %f193, 0f38D1B717; + @%p8 bra BB0_3; + + abs.f32 %f194, %f23; + setp.gt.f32 %p9, %f194, 0f38D1B717; + @%p9 bra BB0_30; + bra.uni BB0_3; + +BB0_30: + // inline asm + call (%r29), _rt_potential_intersection, (%f19); + // inline asm + setp.eq.s32 %p55, %r29, 0; + @%p55 bra BB0_32; + + mov.u32 %r31, 0; + st.global.u32 [normal+8], %r31; + mov.u32 %r32, 1065353216; + st.global.u32 [normal+4], %r32; + st.global.u32 [normal], %r31; + fma.rn.f32 %f404, %f185, %f434, %f183; + fma.rn.f32 %f405, %f186, %f436, %f184; + fma.rn.f32 %f406, %f1, 0f41200000, %f404; + st.global.v2.f32 [texCoords], {%f406, %f405}; + // inline asm + call (%r30), _rt_report_intersection, (%r31); + // inline asm + bra.uni BB0_32; + +BB0_3: + sub.f32 %f196, %f11, %f2; + div.rn.f32 %f24, %f196, %f5; + div.rn.f32 %f25, %f23, %f6; + sub.f32 %f197, %f13, %f4; + div.rn.f32 %f26, %f197, %f7; + add.f32 %f198, %f434, %f434; + cvt.rmi.f32.f32 %f199, %f198; + mul.f32 %f437, %f199, 0f3F000000; + add.f32 %f200, %f436, %f436; + cvt.rmi.f32.f32 %f201, %f200; + mul.f32 %f438, %f201, 0f3F000000; + div.rn.f32 %f202, %f8, %f5; + div.rn.f32 %f203, %f9, %f6; + mul.f32 %f204, %f203, %f203; + fma.rn.f32 %f205, %f202, %f202, %f204; + div.rn.f32 %f206, %f10, %f7; + fma.rn.f32 %f207, %f206, %f206, %f205; + sqrt.rn.f32 %f208, %f207; + rcp.rn.f32 %f209, %f208; + mul.f32 %f29, %f202, %f209; + mul.f32 %f30, %f203, %f209; + mul.f32 %f31, %f206, %f209; + setp.gt.f32 %p10, %f29, 0f00000000; + mov.f32 %f452, 0f3F800000; + mov.f32 %f407, %f452; + @%p10 bra BB0_5; + + setp.eq.f32 %p11, %f29, 0f00000000; + selp.f32 %f407, 0f00000000, 0fBF800000, %p11; + +BB0_5: + setp.gt.f32 %p12, %f31, 0f00000000; + mov.f32 %f408, %f452; + @%p12 bra BB0_7; + + setp.eq.f32 %p13, %f31, 0f00000000; + selp.f32 %f408, 0f00000000, 0fBF800000, %p13; + +BB0_7: + ld.global.f32 %f440, [heightmapMaxMip]; + abs.f32 %f216, %f31; + mov.f32 %f217, 0f38D1B717; + max.f32 %f37, %f216, %f217; + add.f32 %f218, %f437, 0f3F000000; + setp.lt.f32 %p14, %f407, 0f00000000; + selp.f32 %f219, %f437, %f218, %p14; + sub.f32 %f220, %f219, %f434; + abs.f32 %f221, %f220; + abs.f32 %f222, %f29; + max.f32 %f38, %f222, %f217; + div.rn.f32 %f442, %f221, %f38; + add.f32 %f223, %f438, 0f3F000000; + setp.lt.f32 %p15, %f408, 0f00000000; + selp.f32 %f224, %f438, %f223, %p15; + sub.f32 %f225, %f224, %f436; + abs.f32 %f226, %f225; + div.rn.f32 %f443, %f226, %f37; + rcp.rn.f32 %f227, %f29; + abs.f32 %f228, %f227; + mul.f32 %f444, %f228, 0f3F000000; + rcp.rn.f32 %f229, %f31; + abs.f32 %f230, %f229; + mul.f32 %f445, %f230, 0f3F000000; + mul.f32 %f446, %f407, 0f3F000000; + mul.f32 %f447, %f408, 0f3F000000; + rcp.rn.f32 %f45, %f30; + div.rn.f32 %f435, %f20, %f6; + mov.f32 %f453, 0f00000000; + mov.f32 %f439, 0f3F000000; + mov.f32 %f441, 0f40000000; + mov.u32 %r33, 0; + mov.u32 %r35, %r33; + mov.f32 %f451, %f453; + +BB0_8: + ld.global.u32 %r3, [heightmap]; + setp.eq.f32 %p16, %f440, 0f00000000; + @%p16 bra BB0_12; + bra.uni BB0_9; + +BB0_12: + mov.u32 %r22, 2; + mov.u32 %r23, 0; + mov.f32 %f273, 0f00000000; + // inline asm + call (%f242, %f243, %f244, %f245), _rt_texture_get_level_id, (%r3, %r22, %f437, %f438, %f273, %r23, %f273); + // inline asm + ld.global.u32 %r15, [heightmap]; + add.f32 %f262, %f437, %f439; + // inline asm + call (%f250, %f251, %f252, %f253), _rt_texture_get_level_id, (%r15, %r22, %f262, %f438, %f273, %r23, %f273); + // inline asm + ld.global.u32 %r18, [heightmap]; + add.f32 %f271, %f438, %f439; + // inline asm + call (%f258, %f259, %f260, %f261), _rt_texture_get_level_id, (%r18, %r22, %f262, %f271, %f273, %r23, %f273); + // inline asm + ld.global.u32 %r21, [heightmap]; + // inline asm + call (%f266, %f267, %f268, %f269), _rt_texture_get_level_id, (%r21, %r22, %f437, %f271, %f273, %r23, %f273); + // inline asm + sub.f32 %f274, %f262, %f437; + sub.f32 %f275, %f258, %f242; + sub.f32 %f276, %f271, %f438; + sub.f32 %f277, %f242, %f266; + sub.f32 %f278, %f438, %f271; + mul.f32 %f279, %f276, %f277; + mul.f32 %f280, %f278, %f275; + sub.f32 %f451, %f279, %f280; + mul.f32 %f72, %f278, %f274; + sub.f32 %f281, %f437, %f437; + mul.f32 %f282, %f281, %f276; + sub.f32 %f452, %f72, %f282; + mul.f32 %f283, %f281, %f275; + mul.f32 %f284, %f274, %f277; + sub.f32 %f453, %f283, %f284; + mul.f32 %f285, %f29, %f451; + fma.rn.f32 %f286, %f30, %f452, %f285; + fma.rn.f32 %f287, %f31, %f453, %f286; + rcp.rn.f32 %f288, %f287; + sub.f32 %f75, %f242, %f25; + sub.f32 %f289, %f437, %f24; + mul.f32 %f290, %f289, %f288; + mul.f32 %f291, %f75, %f288; + sub.f32 %f292, %f438, %f26; + mul.f32 %f293, %f292, %f288; + mul.f32 %f294, %f30, %f293; + mul.f32 %f295, %f31, %f291; + sub.f32 %f296, %f294, %f295; + mul.f32 %f297, %f31, %f290; + mul.f32 %f298, %f29, %f293; + sub.f32 %f299, %f297, %f298; + mul.f32 %f300, %f29, %f291; + mul.f32 %f301, %f30, %f290; + sub.f32 %f302, %f300, %f301; + mul.f32 %f303, %f277, %f299; + fma.rn.f32 %f304, %f281, %f296, %f303; + fma.rn.f32 %f305, %f278, %f302, %f304; + mul.f32 %f306, %f275, %f299; + fma.rn.f32 %f307, %f274, %f296, %f306; + fma.rn.f32 %f308, %f276, %f302, %f307; + mul.f32 %f309, %f290, %f451; + fma.rn.f32 %f310, %f452, %f291, %f309; + fma.rn.f32 %f76, %f293, %f453, %f310; + setp.gt.f32 %p22, %f76, 0f3456BF95; + setp.ge.f32 %p23, %f305, 0f00000000; + and.pred %p24, %p22, %p23; + setp.ge.f32 %p25, %f308, 0f00000000; + and.pred %p26, %p24, %p25; + add.f32 %f311, %f305, %f308; + setp.le.f32 %p27, %f311, 0f3F800000; + and.pred %p28, %p26, %p27; + @%p28 bra BB0_26; + + sub.f32 %f312, %f250, %f242; + sub.f32 %f314, %f437, %f262; + sub.f32 %f315, %f242, %f258; + sub.f32 %f316, %f438, %f438; + mul.f32 %f317, %f316, %f315; + mul.f32 %f320, %f278, %f312; + sub.f32 %f451, %f317, %f320; + mul.f32 %f321, %f316, %f314; + sub.f32 %f452, %f72, %f321; + mul.f32 %f322, %f314, %f312; + mul.f32 %f324, %f274, %f315; + sub.f32 %f453, %f322, %f324; + mul.f32 %f325, %f29, %f451; + fma.rn.f32 %f326, %f30, %f452, %f325; + fma.rn.f32 %f327, %f31, %f453, %f326; + rcp.rn.f32 %f328, %f327; + mul.f32 %f330, %f289, %f328; + mul.f32 %f331, %f75, %f328; + mul.f32 %f333, %f292, %f328; + mul.f32 %f334, %f30, %f333; + mul.f32 %f335, %f31, %f331; + sub.f32 %f336, %f334, %f335; + mul.f32 %f337, %f31, %f330; + mul.f32 %f338, %f29, %f333; + sub.f32 %f339, %f337, %f338; + mul.f32 %f340, %f29, %f331; + mul.f32 %f341, %f30, %f330; + sub.f32 %f342, %f340, %f341; + mul.f32 %f343, %f315, %f339; + fma.rn.f32 %f344, %f314, %f336, %f343; + fma.rn.f32 %f345, %f278, %f342, %f344; + mul.f32 %f346, %f312, %f339; + fma.rn.f32 %f347, %f274, %f336, %f346; + fma.rn.f32 %f348, %f316, %f342, %f347; + mul.f32 %f349, %f452, %f331; + fma.rn.f32 %f350, %f451, %f330, %f349; + fma.rn.f32 %f80, %f453, %f333, %f350; + setp.gt.f32 %p29, %f80, 0f3456BF95; + setp.ge.f32 %p30, %f345, 0f00000000; + and.pred %p31, %p29, %p30; + setp.ge.f32 %p32, %f348, 0f00000000; + and.pred %p33, %p31, %p32; + add.f32 %f351, %f345, %f348; + setp.le.f32 %p34, %f351, 0f3F800000; + and.pred %p35, %p33, %p34; + selp.u16 %rs7, 1, 0, %p35; + @%p35 bra BB0_25; + bra.uni BB0_14; + +BB0_9: + setp.lt.f32 %p17, %f30, 0f00000000; + mov.u32 %r10, 2; + mov.f32 %f237, 0f00000000; + mov.u32 %r11, 0; + // inline asm + call (%f231, %f232, %f233, %f234), _rt_texture_get_level_id, (%r3, %r10, %f437, %f438, %f237, %r11, %f440); + // inline asm + setp.gt.f32 %p56, %f231, %f435; + setp.leu.f32 %p18, %f231, %f435; + and.pred %p19, %p17, %p18; + @!%p19 bra BB0_11; + bra.uni BB0_10; + +BB0_10: + sub.f32 %f239, %f435, %f231; + mul.f32 %f240, %f45, %f239; + neg.f32 %f241, %f240; + setp.gt.f32 %p20, %f442, %f241; + setp.gt.f32 %p21, %f443, %f241; + and.pred %p56, %p20, %p21; + +BB0_11: + selp.u16 %rs7, 1, 0, %p56; + +BB0_14: + setp.eq.s16 %p36, %rs7, 0; + @%p36 bra BB0_16; + bra.uni BB0_15; + +BB0_16: + setp.eq.s32 %p39, %r35, 4; + @%p39 bra BB0_22; + bra.uni BB0_17; + +BB0_22: + add.f32 %f440, %f440, 0f3F800000; + mul.f32 %f441, %f441, 0f3F000000; + mul.f32 %f364, %f434, %f441; + cvt.rmi.f32.f32 %f365, %f364; + div.rn.f32 %f437, %f365, %f441; + mul.f32 %f366, %f436, %f441; + cvt.rmi.f32.f32 %f367, %f366; + div.rn.f32 %f438, %f367, %f441; + add.f32 %f439, %f439, %f439; + add.f32 %f368, %f439, %f437; + selp.f32 %f369, %f437, %f368, %p14; + sub.f32 %f370, %f369, %f434; + abs.f32 %f371, %f370; + div.rn.f32 %f442, %f371, %f38; + add.f32 %f372, %f439, %f438; + selp.f32 %f373, %f438, %f372, %p15; + sub.f32 %f374, %f373, %f436; + abs.f32 %f375, %f374; + div.rn.f32 %f443, %f375, %f37; + add.f32 %f444, %f444, %f444; + add.f32 %f445, %f445, %f445; + add.f32 %f446, %f446, %f446; + add.f32 %f447, %f447, %f447; + bra.uni BB0_23; + +BB0_15: + add.f32 %f440, %f440, 0fBF800000; + add.f32 %f441, %f441, %f441; + mul.f32 %f352, %f434, %f441; + cvt.rmi.f32.f32 %f353, %f352; + div.rn.f32 %f437, %f353, %f441; + mul.f32 %f354, %f436, %f441; + cvt.rmi.f32.f32 %f355, %f354; + div.rn.f32 %f438, %f355, %f441; + mul.f32 %f439, %f439, 0f3F000000; + add.f32 %f356, %f439, %f437; + selp.f32 %f357, %f437, %f356, %p14; + sub.f32 %f358, %f357, %f434; + abs.f32 %f359, %f358; + div.rn.f32 %f442, %f359, %f38; + add.f32 %f360, %f439, %f438; + selp.f32 %f361, %f438, %f360, %p15; + sub.f32 %f362, %f361, %f436; + abs.f32 %f363, %f362; + div.rn.f32 %f443, %f363, %f37; + mul.f32 %f444, %f444, 0f3F000000; + mul.f32 %f445, %f445, 0f3F000000; + mul.f32 %f446, %f446, 0f3F000000; + mul.f32 %f447, %f447, 0f3F000000; + +BB0_23: + mov.u32 %r35, 0; + bra.uni BB0_24; + +BB0_17: + setp.lt.f32 %p40, %f442, %f443; + @%p40 bra BB0_19; + bra.uni BB0_18; + +BB0_19: + sub.f32 %f433, %f443, %f442; + add.f32 %f437, %f437, %f446; + mov.f32 %f443, %f442; + mov.f32 %f442, %f444; + bra.uni BB0_20; + +BB0_18: + sub.f32 %f442, %f442, %f443; + add.f32 %f438, %f438, %f447; + mov.f32 %f433, %f445; + +BB0_20: + fma.rn.f32 %f436, %f31, %f443, %f436; + fma.rn.f32 %f435, %f30, %f443, %f435; + fma.rn.f32 %f434, %f29, %f443, %f434; + setp.ge.f32 %p41, %f434, 0f00000000; + setp.ge.f32 %p42, %f436, 0f00000000; + and.pred %p43, %p41, %p42; + setp.lt.f32 %p44, %f434, 0f3F800000; + and.pred %p45, %p43, %p44; + setp.lt.f32 %p46, %f436, 0f3F800000; + and.pred %p47, %p45, %p46; + setp.lt.f32 %p48, %f435, 0f3F800000; + and.pred %p49, %p47, %p48; + mov.u16 %rs8, 0; + @!%p49 bra BB0_27; + bra.uni BB0_21; + +BB0_21: + add.s32 %r35, %r35, 1; + mov.f32 %f443, %f433; + +BB0_24: + add.s32 %r33, %r33, 1; + setp.lt.s32 %p52, %r33, 512; + mov.u16 %rs8, %rs7; + @%p52 bra BB0_8; + bra.uni BB0_27; + +BB0_26: + fma.rn.f32 %f434, %f29, %f76, %f24; + fma.rn.f32 %f435, %f30, %f76, %f25; + fma.rn.f32 %f436, %f31, %f76, %f26; + mov.u16 %rs8, 1; + bra.uni BB0_27; + +BB0_25: + fma.rn.f32 %f434, %f29, %f80, %f24; + fma.rn.f32 %f435, %f30, %f80, %f25; + fma.rn.f32 %f436, %f31, %f80, %f26; + mov.u16 %rs8, %rs7; + +BB0_27: + setp.eq.s16 %p53, %rs8, 0; + @%p53 bra BB0_32; + + fma.rn.f32 %f377, %f5, %f434, %f2; + fma.rn.f32 %f378, %f6, %f435, %f3; + fma.rn.f32 %f379, %f7, %f436, %f4; + ld.global.f32 %f380, [ray]; + sub.f32 %f381, %f377, %f380; + ld.global.f32 %f382, [ray+4]; + sub.f32 %f383, %f378, %f382; + ld.global.f32 %f384, [ray+8]; + sub.f32 %f385, %f379, %f384; + mul.f32 %f386, %f383, %f383; + fma.rn.f32 %f387, %f381, %f381, %f386; + fma.rn.f32 %f388, %f385, %f385, %f387; + sqrt.rn.f32 %f376, %f388; + // inline asm + call (%r26), _rt_potential_intersection, (%f376); + // inline asm + setp.eq.s32 %p54, %r26, 0; + @%p54 bra BB0_32; + + mul.f32 %f389, %f452, %f452; + fma.rn.f32 %f390, %f451, %f451, %f389; + fma.rn.f32 %f391, %f453, %f453, %f390; + sqrt.rn.f32 %f392, %f391; + rcp.rn.f32 %f393, %f392; + mul.f32 %f394, %f451, %f393; + neg.f32 %f395, %f394; + mul.f32 %f396, %f452, %f393; + neg.f32 %f397, %f396; + mul.f32 %f398, %f453, %f393; + neg.f32 %f399, %f398; + st.global.f32 [normal], %f395; + st.global.f32 [normal+4], %f397; + st.global.f32 [normal+8], %f399; + fma.rn.f32 %f400, %f185, %f434, %f183; + fma.rn.f32 %f401, %f186, %f436, %f184; + fma.rn.f32 %f402, %f1, 0f41200000, %f400; + st.global.v2.f32 [texCoords], {%f402, %f401}; + mov.u32 %r28, 0; + // inline asm + call (%r27), _rt_report_intersection, (%r28); + // inline asm + +BB0_32: + ret; +} + + // .globl _Z4bboxiPN5optix4AabbE +.visible .entry _Z4bboxiPN5optix4AabbE( + .param .u32 _Z4bboxiPN5optix4AabbE_param_0, + .param .u64 _Z4bboxiPN5optix4AabbE_param_1 +) +{ + .reg .f32 %f<7>; + .reg .b64 %rd<3>; + + + ld.param.u64 %rd1, [_Z4bboxiPN5optix4AabbE_param_1]; + cvta.to.global.u64 %rd2, %rd1; + ld.global.f32 %f1, [heightmapMin]; + ld.global.f32 %f2, [heightmapMin+4]; + ld.global.f32 %f3, [heightmapMin+8]; + st.global.f32 [%rd2+8], %f3; + st.global.f32 [%rd2+4], %f2; + st.global.f32 [%rd2], %f1; + ld.global.f32 %f4, [heightmapMax]; + ld.global.f32 %f5, [heightmapMax+4]; + ld.global.f32 %f6, [heightmapMax+8]; + st.global.f32 [%rd2+20], %f6; + st.global.f32 [%rd2+16], %f5; + st.global.f32 [%rd2+12], %f4; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTex.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTex.ptx.meta new file mode 100644 index 00000000..5d623f45 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTex.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2024b1f0802e2384caf3d3dcaffe1e9e +timeCreated: 1547673362 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTexLODSelect.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTexLODSelect.ptx new file mode 100644 index 00000000..5f161955 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTexLODSelect.ptx @@ -0,0 +1,680 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z9intersecti +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 ray[36]; +.global .align 4 .u32 heightmap; +.global .align 4 .f32 heightmapMaxMip; +.global .align 4 .b8 heightmapMin[12]; +.global .align 4 .b8 heightmapMax[12]; +.global .align 4 .f32 heightmapLMID; +.global .align 16 .b8 heightmapOffsetScaleUV[16]; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9heightmapE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo15heightmapMaxMipE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12heightmapMinE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12heightmapMaxE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13heightmapLMIDE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo22heightmapOffsetScaleUVE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename9heightmapE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename15heightmapMaxMipE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12heightmapMinE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12heightmapMaxE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename13heightmapLMIDE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename22heightmapOffsetScaleUVE[7] = {102, 108, 111, 97, 116, 52, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9heightmapE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum15heightmapMaxMipE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12heightmapMinE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12heightmapMaxE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13heightmapLMIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum22heightmapOffsetScaleUVE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic9heightmapE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic15heightmapMaxMipE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12heightmapMinE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12heightmapMaxE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13heightmapLMIDE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic22heightmapOffsetScaleUVE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9heightmapE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation15heightmapMaxMipE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12heightmapMinE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12heightmapMaxE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13heightmapLMIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation22heightmapOffsetScaleUVE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; + +.visible .entry _Z9intersecti( + .param .u32 _Z9intersecti_param_0 +) +{ + .reg .pred %p<57>; + .reg .b16 %rs<9>; + .reg .f32 %f<457>; + .reg .b32 %r<36>; + + + ld.global.f32 %f4, [heightmapMin+8]; + ld.global.f32 %f3, [heightmapMin+4]; + ld.global.f32 %f2, [heightmapMin]; + ld.global.f32 %f1, [heightmapLMID]; + ld.global.f32 %f143, [heightmapMax+8]; + ld.global.f32 %f144, [heightmapMax+4]; + ld.global.f32 %f145, [heightmapMax]; + add.f32 %f146, %f2, %f145; + add.f32 %f147, %f3, %f144; + add.f32 %f148, %f4, %f143; + mul.f32 %f149, %f146, 0f3F000000; + mul.f32 %f150, %f147, 0f3F000000; + mul.f32 %f151, %f148, 0f3F000000; + sub.f32 %f5, %f145, %f2; + sub.f32 %f6, %f144, %f3; + sub.f32 %f7, %f143, %f4; + mul.f32 %f152, %f5, 0f3F000000; + mul.f32 %f153, %f6, 0f3F000000; + mul.f32 %f154, %f7, 0f3F000000; + ld.global.f32 %f8, [ray+12]; + rcp.rn.f32 %f155, %f8; + ld.global.f32 %f9, [ray+16]; + rcp.rn.f32 %f156, %f9; + ld.global.f32 %f10, [ray+20]; + rcp.rn.f32 %f157, %f10; + ld.global.f32 %f11, [ray]; + sub.f32 %f158, %f11, %f149; + ld.global.f32 %f12, [ray+4]; + sub.f32 %f159, %f12, %f150; + ld.global.f32 %f13, [ray+8]; + sub.f32 %f160, %f13, %f151; + mul.f32 %f161, %f155, %f158; + mul.f32 %f162, %f156, %f159; + mul.f32 %f163, %f157, %f160; + abs.f32 %f164, %f155; + abs.f32 %f165, %f156; + abs.f32 %f166, %f157; + mul.f32 %f167, %f152, %f164; + mul.f32 %f168, %f153, %f165; + mul.f32 %f169, %f154, %f166; + neg.f32 %f170, %f161; + neg.f32 %f171, %f162; + neg.f32 %f172, %f163; + sub.f32 %f173, %f170, %f167; + sub.f32 %f174, %f171, %f168; + sub.f32 %f175, %f172, %f169; + sub.f32 %f176, %f167, %f161; + sub.f32 %f177, %f168, %f162; + sub.f32 %f178, %f169, %f163; + max.f32 %f179, %f173, %f174; + max.f32 %f14, %f179, %f175; + min.f32 %f180, %f176, %f177; + min.f32 %f181, %f180, %f178; + setp.gt.f32 %p4, %f14, %f181; + setp.lt.f32 %p5, %f181, 0f00000000; + or.pred %p6, %p4, %p5; + @%p6 bra BB0_32; + + ld.global.v4.f32 {%f182, %f183, %f184, %f185}, [heightmapOffsetScaleUV]; + add.f32 %f186, %f14, 0f3C23D70A; + setp.lt.f32 %p7, %f186, 0f00000000; + selp.f32 %f18, 0f00000000, %f186, %p7; + fma.rn.f32 %f187, %f18, %f8, %f11; + fma.rn.f32 %f188, %f18, %f9, %f12; + fma.rn.f32 %f189, %f18, %f10, %f13; + sub.f32 %f190, %f187, %f2; + sub.f32 %f19, %f188, %f3; + sub.f32 %f191, %f189, %f4; + div.rn.f32 %f437, %f190, %f5; + div.rn.f32 %f439, %f191, %f7; + abs.f32 %f192, %f19; + sub.f32 %f22, %f12, %f3; + setp.geu.f32 %p8, %f192, 0f38D1B717; + @%p8 bra BB0_3; + + abs.f32 %f193, %f22; + setp.gt.f32 %p9, %f193, 0f38D1B717; + @%p9 bra BB0_30; + bra.uni BB0_3; + +BB0_30: + // inline asm + call (%r29), _rt_potential_intersection, (%f18); + // inline asm + setp.eq.s32 %p55, %r29, 0; + @%p55 bra BB0_32; + + mov.u32 %r31, 0; + st.global.u32 [normal+8], %r31; + mov.u32 %r32, 1065353216; + st.global.u32 [normal+4], %r32; + st.global.u32 [normal], %r31; + fma.rn.f32 %f405, %f184, %f437, %f182; + mul.f32 %f406, %f184, %f185; + mul.f32 %f407, %f5, %f7; + div.rn.f32 %f408, %f407, %f406; + fma.rn.f32 %f409, %f1, 0f41200000, %f405; + st.global.v2.f32 [texCoords], {%f409, %f408}; + // inline asm + call (%r30), _rt_report_intersection, (%r31); + // inline asm + bra.uni BB0_32; + +BB0_3: + sub.f32 %f195, %f11, %f2; + div.rn.f32 %f23, %f195, %f5; + div.rn.f32 %f24, %f22, %f6; + sub.f32 %f196, %f13, %f4; + div.rn.f32 %f25, %f196, %f7; + add.f32 %f197, %f437, %f437; + cvt.rmi.f32.f32 %f198, %f197; + mul.f32 %f440, %f198, 0f3F000000; + add.f32 %f199, %f439, %f439; + cvt.rmi.f32.f32 %f200, %f199; + mul.f32 %f441, %f200, 0f3F000000; + div.rn.f32 %f201, %f8, %f5; + div.rn.f32 %f202, %f9, %f6; + mul.f32 %f203, %f202, %f202; + fma.rn.f32 %f204, %f201, %f201, %f203; + div.rn.f32 %f205, %f10, %f7; + fma.rn.f32 %f206, %f205, %f205, %f204; + sqrt.rn.f32 %f207, %f206; + rcp.rn.f32 %f208, %f207; + mul.f32 %f28, %f201, %f208; + mul.f32 %f29, %f202, %f208; + mul.f32 %f30, %f205, %f208; + setp.gt.f32 %p10, %f28, 0f00000000; + mov.f32 %f455, 0f3F800000; + mov.f32 %f410, %f455; + @%p10 bra BB0_5; + + setp.eq.f32 %p11, %f28, 0f00000000; + selp.f32 %f410, 0f00000000, 0fBF800000, %p11; + +BB0_5: + setp.gt.f32 %p12, %f30, 0f00000000; + mov.f32 %f411, %f455; + @%p12 bra BB0_7; + + setp.eq.f32 %p13, %f30, 0f00000000; + selp.f32 %f411, 0f00000000, 0fBF800000, %p13; + +BB0_7: + ld.global.f32 %f443, [heightmapMaxMip]; + abs.f32 %f215, %f30; + mov.f32 %f216, 0f38D1B717; + max.f32 %f36, %f215, %f216; + add.f32 %f217, %f440, 0f3F000000; + setp.lt.f32 %p14, %f410, 0f00000000; + selp.f32 %f218, %f440, %f217, %p14; + sub.f32 %f219, %f218, %f437; + abs.f32 %f220, %f219; + abs.f32 %f221, %f28; + max.f32 %f37, %f221, %f216; + div.rn.f32 %f445, %f220, %f37; + add.f32 %f222, %f441, 0f3F000000; + setp.lt.f32 %p15, %f411, 0f00000000; + selp.f32 %f223, %f441, %f222, %p15; + sub.f32 %f224, %f223, %f439; + abs.f32 %f225, %f224; + div.rn.f32 %f446, %f225, %f36; + rcp.rn.f32 %f226, %f28; + abs.f32 %f227, %f226; + mul.f32 %f447, %f227, 0f3F000000; + rcp.rn.f32 %f228, %f30; + abs.f32 %f229, %f228; + mul.f32 %f448, %f229, 0f3F000000; + mul.f32 %f449, %f410, 0f3F000000; + mul.f32 %f450, %f411, 0f3F000000; + rcp.rn.f32 %f44, %f29; + div.rn.f32 %f438, %f19, %f6; + mov.f32 %f456, 0f00000000; + mov.f32 %f442, 0f3F000000; + mov.f32 %f444, 0f40000000; + mov.u32 %r33, 0; + mov.u32 %r35, %r33; + mov.f32 %f454, %f456; + +BB0_8: + ld.global.u32 %r3, [heightmap]; + setp.eq.f32 %p16, %f443, 0f00000000; + @%p16 bra BB0_12; + bra.uni BB0_9; + +BB0_12: + mov.u32 %r22, 2; + mov.u32 %r23, 0; + mov.f32 %f272, 0f00000000; + // inline asm + call (%f241, %f242, %f243, %f244), _rt_texture_get_level_id, (%r3, %r22, %f440, %f441, %f272, %r23, %f272); + // inline asm + ld.global.u32 %r15, [heightmap]; + add.f32 %f261, %f440, %f442; + // inline asm + call (%f249, %f250, %f251, %f252), _rt_texture_get_level_id, (%r15, %r22, %f261, %f441, %f272, %r23, %f272); + // inline asm + ld.global.u32 %r18, [heightmap]; + add.f32 %f270, %f441, %f442; + // inline asm + call (%f257, %f258, %f259, %f260), _rt_texture_get_level_id, (%r18, %r22, %f261, %f270, %f272, %r23, %f272); + // inline asm + ld.global.u32 %r21, [heightmap]; + // inline asm + call (%f265, %f266, %f267, %f268), _rt_texture_get_level_id, (%r21, %r22, %f440, %f270, %f272, %r23, %f272); + // inline asm + sub.f32 %f273, %f261, %f440; + sub.f32 %f274, %f257, %f241; + sub.f32 %f275, %f270, %f441; + sub.f32 %f276, %f241, %f265; + sub.f32 %f277, %f441, %f270; + mul.f32 %f278, %f275, %f276; + mul.f32 %f279, %f277, %f274; + sub.f32 %f454, %f278, %f279; + mul.f32 %f71, %f277, %f273; + sub.f32 %f280, %f440, %f440; + mul.f32 %f281, %f280, %f275; + sub.f32 %f455, %f71, %f281; + mul.f32 %f282, %f280, %f274; + mul.f32 %f283, %f273, %f276; + sub.f32 %f456, %f282, %f283; + mul.f32 %f284, %f28, %f454; + fma.rn.f32 %f285, %f29, %f455, %f284; + fma.rn.f32 %f286, %f30, %f456, %f285; + rcp.rn.f32 %f287, %f286; + sub.f32 %f74, %f241, %f24; + sub.f32 %f288, %f440, %f23; + mul.f32 %f289, %f288, %f287; + mul.f32 %f290, %f74, %f287; + sub.f32 %f291, %f441, %f25; + mul.f32 %f292, %f291, %f287; + mul.f32 %f293, %f29, %f292; + mul.f32 %f294, %f30, %f290; + sub.f32 %f295, %f293, %f294; + mul.f32 %f296, %f30, %f289; + mul.f32 %f297, %f28, %f292; + sub.f32 %f298, %f296, %f297; + mul.f32 %f299, %f28, %f290; + mul.f32 %f300, %f29, %f289; + sub.f32 %f301, %f299, %f300; + mul.f32 %f302, %f276, %f298; + fma.rn.f32 %f303, %f280, %f295, %f302; + fma.rn.f32 %f304, %f277, %f301, %f303; + mul.f32 %f305, %f274, %f298; + fma.rn.f32 %f306, %f273, %f295, %f305; + fma.rn.f32 %f307, %f275, %f301, %f306; + mul.f32 %f308, %f289, %f454; + fma.rn.f32 %f309, %f455, %f290, %f308; + fma.rn.f32 %f75, %f292, %f456, %f309; + setp.gt.f32 %p22, %f75, 0f3456BF95; + setp.ge.f32 %p23, %f304, 0f00000000; + and.pred %p24, %p22, %p23; + setp.ge.f32 %p25, %f307, 0f00000000; + and.pred %p26, %p24, %p25; + add.f32 %f310, %f304, %f307; + setp.le.f32 %p27, %f310, 0f3F800000; + and.pred %p28, %p26, %p27; + @%p28 bra BB0_26; + + sub.f32 %f311, %f249, %f241; + sub.f32 %f313, %f440, %f261; + sub.f32 %f314, %f241, %f257; + sub.f32 %f315, %f441, %f441; + mul.f32 %f316, %f315, %f314; + mul.f32 %f319, %f277, %f311; + sub.f32 %f454, %f316, %f319; + mul.f32 %f320, %f315, %f313; + sub.f32 %f455, %f71, %f320; + mul.f32 %f321, %f313, %f311; + mul.f32 %f323, %f273, %f314; + sub.f32 %f456, %f321, %f323; + mul.f32 %f324, %f28, %f454; + fma.rn.f32 %f325, %f29, %f455, %f324; + fma.rn.f32 %f326, %f30, %f456, %f325; + rcp.rn.f32 %f327, %f326; + mul.f32 %f329, %f288, %f327; + mul.f32 %f330, %f74, %f327; + mul.f32 %f332, %f291, %f327; + mul.f32 %f333, %f29, %f332; + mul.f32 %f334, %f30, %f330; + sub.f32 %f335, %f333, %f334; + mul.f32 %f336, %f30, %f329; + mul.f32 %f337, %f28, %f332; + sub.f32 %f338, %f336, %f337; + mul.f32 %f339, %f28, %f330; + mul.f32 %f340, %f29, %f329; + sub.f32 %f341, %f339, %f340; + mul.f32 %f342, %f314, %f338; + fma.rn.f32 %f343, %f313, %f335, %f342; + fma.rn.f32 %f344, %f277, %f341, %f343; + mul.f32 %f345, %f311, %f338; + fma.rn.f32 %f346, %f273, %f335, %f345; + fma.rn.f32 %f347, %f315, %f341, %f346; + mul.f32 %f348, %f455, %f330; + fma.rn.f32 %f349, %f454, %f329, %f348; + fma.rn.f32 %f79, %f456, %f332, %f349; + setp.gt.f32 %p29, %f79, 0f3456BF95; + setp.ge.f32 %p30, %f344, 0f00000000; + and.pred %p31, %p29, %p30; + setp.ge.f32 %p32, %f347, 0f00000000; + and.pred %p33, %p31, %p32; + add.f32 %f350, %f344, %f347; + setp.le.f32 %p34, %f350, 0f3F800000; + and.pred %p35, %p33, %p34; + selp.u16 %rs7, 1, 0, %p35; + @%p35 bra BB0_25; + bra.uni BB0_14; + +BB0_9: + setp.lt.f32 %p17, %f29, 0f00000000; + mov.u32 %r10, 2; + mov.f32 %f236, 0f00000000; + mov.u32 %r11, 0; + // inline asm + call (%f230, %f231, %f232, %f233), _rt_texture_get_level_id, (%r3, %r10, %f440, %f441, %f236, %r11, %f443); + // inline asm + setp.gt.f32 %p56, %f230, %f438; + setp.leu.f32 %p18, %f230, %f438; + and.pred %p19, %p17, %p18; + @!%p19 bra BB0_11; + bra.uni BB0_10; + +BB0_10: + sub.f32 %f238, %f438, %f230; + mul.f32 %f239, %f44, %f238; + neg.f32 %f240, %f239; + setp.gt.f32 %p20, %f445, %f240; + setp.gt.f32 %p21, %f446, %f240; + and.pred %p56, %p20, %p21; + +BB0_11: + selp.u16 %rs7, 1, 0, %p56; + +BB0_14: + setp.eq.s16 %p36, %rs7, 0; + @%p36 bra BB0_16; + bra.uni BB0_15; + +BB0_16: + setp.eq.s32 %p39, %r35, 4; + @%p39 bra BB0_22; + bra.uni BB0_17; + +BB0_22: + add.f32 %f443, %f443, 0f3F800000; + mul.f32 %f444, %f444, 0f3F000000; + mul.f32 %f363, %f437, %f444; + cvt.rmi.f32.f32 %f364, %f363; + div.rn.f32 %f440, %f364, %f444; + mul.f32 %f365, %f439, %f444; + cvt.rmi.f32.f32 %f366, %f365; + div.rn.f32 %f441, %f366, %f444; + add.f32 %f442, %f442, %f442; + add.f32 %f367, %f442, %f440; + selp.f32 %f368, %f440, %f367, %p14; + sub.f32 %f369, %f368, %f437; + abs.f32 %f370, %f369; + div.rn.f32 %f445, %f370, %f37; + add.f32 %f371, %f442, %f441; + selp.f32 %f372, %f441, %f371, %p15; + sub.f32 %f373, %f372, %f439; + abs.f32 %f374, %f373; + div.rn.f32 %f446, %f374, %f36; + add.f32 %f447, %f447, %f447; + add.f32 %f448, %f448, %f448; + add.f32 %f449, %f449, %f449; + add.f32 %f450, %f450, %f450; + bra.uni BB0_23; + +BB0_15: + add.f32 %f443, %f443, 0fBF800000; + add.f32 %f444, %f444, %f444; + mul.f32 %f351, %f437, %f444; + cvt.rmi.f32.f32 %f352, %f351; + div.rn.f32 %f440, %f352, %f444; + mul.f32 %f353, %f439, %f444; + cvt.rmi.f32.f32 %f354, %f353; + div.rn.f32 %f441, %f354, %f444; + mul.f32 %f442, %f442, 0f3F000000; + add.f32 %f355, %f442, %f440; + selp.f32 %f356, %f440, %f355, %p14; + sub.f32 %f357, %f356, %f437; + abs.f32 %f358, %f357; + div.rn.f32 %f445, %f358, %f37; + add.f32 %f359, %f442, %f441; + selp.f32 %f360, %f441, %f359, %p15; + sub.f32 %f361, %f360, %f439; + abs.f32 %f362, %f361; + div.rn.f32 %f446, %f362, %f36; + mul.f32 %f447, %f447, 0f3F000000; + mul.f32 %f448, %f448, 0f3F000000; + mul.f32 %f449, %f449, 0f3F000000; + mul.f32 %f450, %f450, 0f3F000000; + +BB0_23: + mov.u32 %r35, 0; + bra.uni BB0_24; + +BB0_17: + setp.lt.f32 %p40, %f445, %f446; + @%p40 bra BB0_19; + bra.uni BB0_18; + +BB0_19: + sub.f32 %f436, %f446, %f445; + add.f32 %f440, %f440, %f449; + mov.f32 %f446, %f445; + mov.f32 %f445, %f447; + bra.uni BB0_20; + +BB0_18: + sub.f32 %f445, %f445, %f446; + add.f32 %f441, %f441, %f450; + mov.f32 %f436, %f448; + +BB0_20: + fma.rn.f32 %f439, %f30, %f446, %f439; + fma.rn.f32 %f438, %f29, %f446, %f438; + fma.rn.f32 %f437, %f28, %f446, %f437; + setp.ge.f32 %p41, %f437, 0f00000000; + setp.ge.f32 %p42, %f439, 0f00000000; + and.pred %p43, %p41, %p42; + setp.lt.f32 %p44, %f437, 0f3F800000; + and.pred %p45, %p43, %p44; + setp.lt.f32 %p46, %f439, 0f3F800000; + and.pred %p47, %p45, %p46; + setp.lt.f32 %p48, %f438, 0f3F800000; + and.pred %p49, %p47, %p48; + mov.u16 %rs8, 0; + @!%p49 bra BB0_27; + bra.uni BB0_21; + +BB0_21: + add.s32 %r35, %r35, 1; + mov.f32 %f446, %f436; + +BB0_24: + add.s32 %r33, %r33, 1; + setp.lt.s32 %p52, %r33, 512; + mov.u16 %rs8, %rs7; + @%p52 bra BB0_8; + bra.uni BB0_27; + +BB0_26: + fma.rn.f32 %f437, %f28, %f75, %f23; + fma.rn.f32 %f438, %f29, %f75, %f24; + fma.rn.f32 %f439, %f30, %f75, %f25; + mov.u16 %rs8, 1; + bra.uni BB0_27; + +BB0_25: + fma.rn.f32 %f437, %f28, %f79, %f23; + fma.rn.f32 %f438, %f29, %f79, %f24; + fma.rn.f32 %f439, %f30, %f79, %f25; + mov.u16 %rs8, %rs7; + +BB0_27: + setp.eq.s16 %p53, %rs8, 0; + @%p53 bra BB0_32; + + fma.rn.f32 %f376, %f5, %f437, %f2; + fma.rn.f32 %f377, %f6, %f438, %f3; + fma.rn.f32 %f378, %f7, %f439, %f4; + ld.global.f32 %f379, [ray]; + sub.f32 %f380, %f376, %f379; + ld.global.f32 %f381, [ray+4]; + sub.f32 %f382, %f377, %f381; + ld.global.f32 %f383, [ray+8]; + sub.f32 %f384, %f378, %f383; + mul.f32 %f385, %f382, %f382; + fma.rn.f32 %f386, %f380, %f380, %f385; + fma.rn.f32 %f387, %f384, %f384, %f386; + sqrt.rn.f32 %f375, %f387; + // inline asm + call (%r26), _rt_potential_intersection, (%f375); + // inline asm + setp.eq.s32 %p54, %r26, 0; + @%p54 bra BB0_32; + + mul.f32 %f388, %f455, %f455; + fma.rn.f32 %f389, %f454, %f454, %f388; + fma.rn.f32 %f390, %f456, %f456, %f389; + sqrt.rn.f32 %f391, %f390; + rcp.rn.f32 %f392, %f391; + mul.f32 %f393, %f454, %f392; + neg.f32 %f394, %f393; + mul.f32 %f395, %f455, %f392; + neg.f32 %f396, %f395; + mul.f32 %f397, %f456, %f392; + neg.f32 %f398, %f397; + st.global.f32 [normal], %f394; + st.global.f32 [normal+4], %f396; + st.global.f32 [normal+8], %f398; + fma.rn.f32 %f399, %f184, %f437, %f182; + mul.f32 %f400, %f184, %f185; + mul.f32 %f401, %f5, %f7; + div.rn.f32 %f402, %f401, %f400; + fma.rn.f32 %f403, %f1, 0f41200000, %f399; + st.global.v2.f32 [texCoords], {%f403, %f402}; + mov.u32 %r28, 0; + // inline asm + call (%r27), _rt_report_intersection, (%r28); + // inline asm + +BB0_32: + ret; +} + + // .globl _Z4bboxiPN5optix4AabbE +.visible .entry _Z4bboxiPN5optix4AabbE( + .param .u32 _Z4bboxiPN5optix4AabbE_param_0, + .param .u64 _Z4bboxiPN5optix4AabbE_param_1 +) +{ + .reg .f32 %f<7>; + .reg .b64 %rd<3>; + + + ld.param.u64 %rd1, [_Z4bboxiPN5optix4AabbE_param_1]; + cvta.to.global.u64 %rd2, %rd1; + ld.global.f32 %f1, [heightmapMin]; + ld.global.f32 %f2, [heightmapMin+4]; + ld.global.f32 %f3, [heightmapMin+8]; + st.global.f32 [%rd2+8], %f3; + st.global.f32 [%rd2+4], %f2; + st.global.f32 [%rd2], %f1; + ld.global.f32 %f4, [heightmapMax]; + ld.global.f32 %f5, [heightmapMax+4]; + ld.global.f32 %f6, [heightmapMax+8]; + st.global.f32 [%rd2+20], %f6; + st.global.f32 [%rd2+16], %f5; + st.global.f32 [%rd2+12], %f4; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTexLODSelect.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTexLODSelect.ptx.meta new file mode 100644 index 00000000..1b771b02 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/heightfieldTexLODSelect.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 02597b306d2cfe245a15db3be39db306 +timeCreated: 1547895167 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata.meta new file mode 100644 index 00000000..fe37e35f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cb1eddb1404d3b742b181ab3e8376411 +folderAsset: yes +timeCreated: 1622807248 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphabuffer.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphabuffer.bin new file mode 100644 index 00000000..09f370e3 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphabuffer.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphabuffer.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphabuffer.bin.meta new file mode 100644 index 00000000..09d929ac --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphabuffer.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22487ee623b389d4f85e3e004ac2fe36 +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphaid2.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphaid2.bin new file mode 100644 index 00000000..e69de29b diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphaid2.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphaid2.bin.meta new file mode 100644 index 00000000..6b4217d1 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/alphaid2.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3a962ff54f74d3e45b79d78f28b109a5 +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/direct0.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/direct0.bin new file mode 100644 index 00000000..b58065fa Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/direct0.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/direct0.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/direct0.bin.meta new file mode 100644 index 00000000..a0d044d3 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/direct0.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 21dabbc47964a9b4bae253f3874e74e6 +timeCreated: 1605466788 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/heightmaps.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/heightmaps.bin new file mode 100644 index 00000000..e69de29b diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/heightmaps.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/heightmaps.bin.meta new file mode 100644 index 00000000..757f0cf2 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/heightmaps.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9f260cd8a9ee8d34a9234bee3aa4447b +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/ib32.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/ib32.bin new file mode 100644 index 00000000..10ba4af4 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/ib32.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/ib32.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/ib32.bin.meta new file mode 100644 index 00000000..e72741ce --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/ib32.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5065c0b262788774ea10c5b5d2904cec +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/image.lz4 b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/image.lz4 new file mode 100644 index 00000000..01a975d9 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/image.lz4 differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/image.lz4.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/image.lz4.meta new file mode 100644 index 00000000..238b3304 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/image.lz4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 26a3ce6370d056a43b72a3f344be3740 +timeCreated: 1605467957 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/light_HDR.lz4 b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/light_HDR.lz4 new file mode 100644 index 00000000..e4ccf34c Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/light_HDR.lz4 differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/light_HDR.lz4.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/light_HDR.lz4.meta new file mode 100644 index 00000000..34561a4e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/light_HDR.lz4.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 2f71d4dc456c9df40ba738e0cdcda938 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmid.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmid.bin new file mode 100644 index 00000000..593f4708 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmid.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmid.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmid.bin.meta new file mode 100644 index 00000000..9868a073 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmid.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9152f295c04090a438f0a966d51aaa60 +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin new file mode 100644 index 00000000..7bde8641 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin @@ -0,0 +1 @@ +ÿÿÿÿ \ No newline at end of file diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin.meta new file mode 100644 index 00000000..5463cc13 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lmlod.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b22bdfb52a9712f4fb8e5df1fd4a944d +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lms.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lms.bin new file mode 100644 index 00000000..257dc521 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lms.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lms.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lms.bin.meta new file mode 100644 index 00000000..894d229b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/lms.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f76c542b04c1e02449397dfc33039315 +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/settings.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/settings.bin new file mode 100644 index 00000000..ac710e10 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/settings.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/settings.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/settings.bin.meta new file mode 100644 index 00000000..75db4e41 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/settings.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eefc1a7b7e7e4554fb7f94e7c2518e81 +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4 b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4 new file mode 100644 index 00000000..0cb19d39 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4 differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4.meta new file mode 100644 index 00000000..e6e1bc62 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvnormal_tinyscene_LM0.lz4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 94b7eefd3a67057419a4fcda14c6c725 +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4 b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4 new file mode 100644 index 00000000..bcf7da77 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4 differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4.meta new file mode 100644 index 00000000..9a29eef6 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/uvpos_tinyscene_LM0.lz4.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b16a7caeaf3f06547a1bff9a9c998b48 +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtrace.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtrace.bin new file mode 100644 index 00000000..b91df98c Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtrace.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtrace.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtrace.bin.meta new file mode 100644 index 00000000..2df81871 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtrace.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9525b3a943077849bfc50b4f26b887a +timeCreated: 1605466142 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin new file mode 100644 index 00000000..2d529b8c Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin.meta new file mode 100644 index 00000000..413d026f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/hwtestdata/vbtraceUV0.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9bf1a6130f5bd7d4d8323100b5bf88f6 +timeCreated: 1605466171 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png new file mode 100644 index 00000000..8ff72da9 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png.meta new file mode 100644 index 00000000..1813dee5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/icon.png.meta @@ -0,0 +1,68 @@ +fileFormatVersion: 2 +guid: 9f3214aa72e84444bafd15f7a4c74fd5 +timeCreated: 1548277603 +licenseType: Store +TextureImporter: + fileIDToRecycleName: {} + serializedVersion: 4 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + filterMode: -1 + aniso: -1 + mipBias: -1 + wrapMode: -1 + nPOTScale: 1 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spritePixelsToUnits: 100 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + platformSettings: + - buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + textureFormat: -1 + textureCompression: 1 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + spritePackingTag: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe new file mode 100644 index 00000000..4f77c51b Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe.meta new file mode 100644 index 00000000..c1108ed7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/ies2tex.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6621917730988734a8310aa09d12c50b +timeCreated: 1526330848 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_arealight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_arealight.ptx new file mode 100644 index 00000000..22684e7a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_arealight.ptx @@ -0,0 +1,329 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .b8 payload[4]; +.global .align 4 .b8 ray[36]; +.global .align 4 .f32 t; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .u32 lightLMID; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo1tE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9lightLMIDE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename7payloadE[8] = {82, 97, 121, 68, 97, 116, 97, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename1tE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename9lightLMIDE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum1tE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9lightLMIDE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic1tE[23] = {114, 116, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 68, 105, 115, 116, 97, 110, 99, 101, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9lightLMIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation1tE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9lightLMIDE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<23>; + .reg .f32 %f<125>; + .reg .b32 %r<16>; + + + ld.global.f32 %f19, [texCoords]; + div.rn.f32 %f1, %f19, 0f41200000; + abs.f32 %f20, %f1; + mov.b32 %r1, %f1; + and.b32 %r2, %r1, -2147483648; + or.b32 %r3, %r2, 1056964608; + mov.b32 %f21, %r3; + add.f32 %f22, %f1, %f21; + cvt.rzi.f32.f32 %f23, %f22; + setp.gt.f32 %p2, %f20, 0f4B000000; + selp.f32 %f121, %f1, %f23, %p2; + setp.geu.f32 %p3, %f20, 0f3F000000; + @%p3 bra BB0_2; + + cvt.rzi.f32.f32 %f121, %f1; + +BB0_2: + ld.global.f32 %f24, [ray+12]; + ld.global.f32 %f25, [normal]; + ld.global.f32 %f26, [ray+16]; + ld.global.f32 %f27, [normal+4]; + mul.f32 %f28, %f27, %f26; + fma.rn.f32 %f29, %f25, %f24, %f28; + ld.global.f32 %f30, [ray+20]; + ld.global.f32 %f31, [normal+8]; + fma.rn.f32 %f32, %f31, %f30, %f29; + mov.u32 %r4, -1082130432; + st.global.u32 [payload], %r4; + setp.leu.f32 %p4, %f32, 0f00000000; + ld.global.u32 %r5, [lightLMID]; + cvt.rzi.s32.f32 %r6, %f121; + setp.eq.s32 %p5, %r6, %r5; + and.pred %p6, %p4, %p5; + @!%p6 bra BB0_15; + bra.uni BB0_3; + +BB0_3: + ld.global.f32 %f35, [t]; + ld.global.f32 %f36, [lightInvCutoff]; + mul.f32 %f5, %f35, %f36; + mov.f32 %f37, 0f40000000; + cvt.rzi.f32.f32 %f38, %f37; + add.f32 %f39, %f38, %f38; + mov.f32 %f40, 0f40800000; + sub.f32 %f41, %f40, %f39; + abs.f32 %f6, %f41; + abs.f32 %f7, %f5; + setp.lt.f32 %p7, %f7, 0f00800000; + mul.f32 %f42, %f7, 0f4B800000; + selp.f32 %f43, 0fC3170000, 0fC2FE0000, %p7; + selp.f32 %f44, %f42, %f7, %p7; + mov.b32 %r7, %f44; + and.b32 %r8, %r7, 8388607; + or.b32 %r9, %r8, 1065353216; + mov.b32 %f45, %r9; + shr.u32 %r10, %r7, 23; + cvt.rn.f32.u32 %f46, %r10; + add.f32 %f47, %f43, %f46; + setp.gt.f32 %p8, %f45, 0f3FB504F3; + mul.f32 %f48, %f45, 0f3F000000; + add.f32 %f49, %f47, 0f3F800000; + selp.f32 %f50, %f48, %f45, %p8; + selp.f32 %f51, %f49, %f47, %p8; + add.f32 %f52, %f50, 0fBF800000; + add.f32 %f34, %f50, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f33,%f34; + // inline asm + add.f32 %f53, %f52, %f52; + mul.f32 %f54, %f33, %f53; + mul.f32 %f55, %f54, %f54; + mov.f32 %f56, 0f3C4CAF63; + mov.f32 %f57, 0f3B18F0FE; + fma.rn.f32 %f58, %f57, %f55, %f56; + mov.f32 %f59, 0f3DAAAABD; + fma.rn.f32 %f60, %f58, %f55, %f59; + mul.rn.f32 %f61, %f60, %f55; + mul.rn.f32 %f62, %f61, %f54; + sub.f32 %f63, %f52, %f54; + neg.f32 %f64, %f54; + add.f32 %f65, %f63, %f63; + fma.rn.f32 %f66, %f64, %f52, %f65; + mul.rn.f32 %f67, %f33, %f66; + add.f32 %f68, %f62, %f54; + sub.f32 %f69, %f54, %f68; + add.f32 %f70, %f62, %f69; + add.f32 %f71, %f67, %f70; + add.f32 %f72, %f68, %f71; + sub.f32 %f73, %f68, %f72; + add.f32 %f74, %f71, %f73; + mov.f32 %f75, 0f3F317200; + mul.rn.f32 %f76, %f51, %f75; + mov.f32 %f77, 0f35BFBE8E; + mul.rn.f32 %f78, %f51, %f77; + add.f32 %f79, %f76, %f72; + sub.f32 %f80, %f76, %f79; + add.f32 %f81, %f72, %f80; + add.f32 %f82, %f74, %f81; + add.f32 %f83, %f78, %f82; + add.f32 %f84, %f79, %f83; + sub.f32 %f85, %f79, %f84; + add.f32 %f86, %f83, %f85; + mul.rn.f32 %f87, %f40, %f84; + neg.f32 %f88, %f87; + fma.rn.f32 %f89, %f40, %f84, %f88; + fma.rn.f32 %f90, %f40, %f86, %f89; + mov.f32 %f91, 0f00000000; + fma.rn.f32 %f92, %f91, %f84, %f90; + add.rn.f32 %f93, %f87, %f92; + neg.f32 %f94, %f93; + add.rn.f32 %f95, %f87, %f94; + add.rn.f32 %f96, %f95, %f92; + mov.b32 %r11, %f93; + setp.eq.s32 %p9, %r11, 1118925336; + add.s32 %r12, %r11, -1; + mov.b32 %f97, %r12; + add.f32 %f98, %f96, 0f37000000; + selp.f32 %f99, %f97, %f93, %p9; + selp.f32 %f8, %f98, %f96, %p9; + mul.f32 %f100, %f99, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f101, %f100; + mov.f32 %f102, 0fBF317200; + fma.rn.f32 %f103, %f101, %f102, %f99; + mov.f32 %f104, 0fB5BFBE8E; + fma.rn.f32 %f105, %f101, %f104, %f103; + mul.f32 %f106, %f105, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f107, %f106; + add.f32 %f108, %f101, 0f00000000; + ex2.approx.f32 %f109, %f108; + mul.f32 %f110, %f107, %f109; + setp.lt.f32 %p10, %f99, 0fC2D20000; + selp.f32 %f111, 0f00000000, %f110, %p10; + setp.gt.f32 %p11, %f99, 0f42D20000; + selp.f32 %f122, 0f7F800000, %f111, %p11; + setp.eq.f32 %p12, %f122, 0f7F800000; + @%p12 bra BB0_5; + + fma.rn.f32 %f122, %f122, %f8, %f122; + +BB0_5: + setp.lt.f32 %p13, %f5, 0f00000000; + setp.eq.f32 %p14, %f6, 0f3F800000; + and.pred %p1, %p13, %p14; + mov.b32 %r13, %f122; + xor.b32 %r14, %r13, -2147483648; + mov.b32 %f112, %r14; + selp.f32 %f124, %f112, %f122, %p1; + setp.eq.f32 %p15, %f5, 0f00000000; + @%p15 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f115, %f5, %f5; + selp.f32 %f124, %f115, 0f00000000, %p14; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p16, %f5, 0f00000000; + @%p16 bra BB0_9; + + cvt.rzi.f32.f32 %f114, %f40; + setp.neu.f32 %p17, %f114, 0f40800000; + selp.f32 %f124, 0f7FFFFFFF, %f124, %p17; + +BB0_9: + add.f32 %f116, %f7, 0f40800000; + mov.b32 %r15, %f116; + setp.lt.s32 %p19, %r15, 2139095040; + @%p19 bra BB0_14; + + setp.gtu.f32 %p20, %f7, 0f7F800000; + @%p20 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f124, %f5, 0f40800000; + bra.uni BB0_14; + +BB0_11: + setp.neu.f32 %p21, %f7, 0f7F800000; + @%p21 bra BB0_14; + + selp.f32 %f124, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f117, 0f3F800000; + sub.f32 %f118, %f117, %f124; + setp.eq.f32 %p22, %f5, 0f3F800000; + selp.f32 %f119, 0f00000000, %f118, %p22; + cvt.sat.f32.f32 %f120, %f119; + st.global.f32 [payload], %f120; + +BB0_15: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_arealight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_arealight.ptx.meta new file mode 100644 index 00000000..bbc9507e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_arealight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e172d523e539132488e0cd7a91342957 +timeCreated: 1527161172 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_backface_check.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_backface_check.ptx new file mode 100644 index 00000000..b5ea360e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_backface_check.ptx @@ -0,0 +1,149 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 payload[12]; +.global .align 4 .b8 ray[36]; +.global .align 4 .f32 t; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo1tE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename7payloadE[9] = {82, 97, 121, 68, 97, 116, 97, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename1tE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum1tE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic1tE[23] = {114, 116, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 68, 105, 115, 116, 97, 110, 99, 101, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation1tE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .f32 %f<15>; + .reg .b32 %r<2>; + + + ld.global.f32 %f1, [normal]; + ld.global.f32 %f4, [ray+12]; + ld.global.f32 %f5, [ray+16]; + ld.global.f32 %f2, [normal+4]; + mul.f32 %f6, %f2, %f5; + fma.rn.f32 %f7, %f1, %f4, %f6; + ld.global.f32 %f8, [ray+20]; + ld.global.f32 %f3, [normal+8]; + fma.rn.f32 %f9, %f3, %f8, %f7; + setp.gt.f32 %p1, %f9, 0f00000000; + @%p1 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + ld.global.f32 %f10, [t]; + add.f32 %f11, %f10, 0f38D1B717; + mul.f32 %f12, %f1, %f11; + mul.f32 %f13, %f11, %f2; + mul.f32 %f14, %f11, %f3; + st.global.f32 [payload], %f12; + st.global.f32 [payload+4], %f13; + st.global.f32 [payload+8], %f14; + bra.uni BB0_3; + +BB0_1: + mov.u32 %r1, 0; + st.global.u32 [payload+8], %r1; + st.global.u32 [payload+4], %r1; + st.global.u32 [payload], %r1; + +BB0_3: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_backface_check.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_backface_check.ptx.meta new file mode 100644 index 00000000..683927b0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_backface_check.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e65f981759769984da75f419f9ec11ad +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_lodselect.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_lodselect.ptx new file mode 100644 index 00000000..42742461 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_lodselect.ptx @@ -0,0 +1,156 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .b8 payload[12]; +.global .align 4 .b8 ray[36]; +.global .align 4 .f32 t; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo1tE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename7payloadE[9] = {82, 97, 121, 68, 97, 116, 97, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename1tE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum1tE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic1tE[23] = {114, 116, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 68, 105, 115, 116, 97, 110, 99, 101, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation1tE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .f32 %f<18>; + .reg .b32 %r<3>; + + + ld.global.f32 %f1, [normal]; + ld.global.f32 %f2, [ray+12]; + ld.global.f32 %f3, [ray+16]; + ld.global.f32 %f4, [normal+4]; + mul.f32 %f5, %f4, %f3; + fma.rn.f32 %f6, %f1, %f2, %f5; + ld.global.f32 %f7, [ray+20]; + ld.global.f32 %f8, [normal+8]; + fma.rn.f32 %f9, %f8, %f7, %f6; + setp.ltu.f32 %p1, %f9, 0f00000000; + @%p1 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + ld.global.v2.f32 {%f10, %f11}, [texCoords]; + ld.global.f32 %f14, [t]; + mul.f32 %f15, %f14, %f14; + mul.f32 %f16, %f15, 0f40C90FDB; + div.rn.f32 %f17, %f11, %f16; + st.global.f32 [payload], %f10; + st.global.f32 [payload+4], %f17; + mov.u32 %r2, 0; + st.global.u32 [payload+8], %r2; + bra.uni BB0_3; + +BB0_1: + mov.u32 %r1, 0; + st.global.u32 [payload+8], %r1; + st.global.u32 [payload+4], %r1; + st.global.u32 [payload], %r1; + +BB0_3: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_lodselect.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_lodselect.ptx.meta new file mode 100644 index 00000000..ae218301 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_lodselect.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 27401003d6559f147baae0443847c44c +timeCreated: 1530260521 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sky.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sky.ptx new file mode 100644 index 00000000..528932c4 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sky.ptx @@ -0,0 +1,629 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 payload[4]; +.global .align 4 .b8 ray[36]; +.global .align 4 .f32 t; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo1tE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename7payloadE[8] = {82, 97, 121, 68, 97, 116, 97, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename1tE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum1tE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic1tE[23] = {114, 116, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 68, 105, 115, 116, 97, 110, 99, 101, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation1tE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<31>; + .reg .f32 %f<192>; + .reg .b32 %r<212>; + .reg .b64 %rd<37>; + + + mov.u64 %rd36, __local_depot0; + cvta.local.u64 %SP, %rd36; + ld.global.f32 %f62, [normal]; + ld.global.f32 %f63, [normal+4]; + ld.global.f32 %f64, [normal+8]; + mov.u32 %r80, 7937; + mov.f32 %f191, 0f00000000; + // inline asm + call (%f58, %f59, %f60, %f61), _rt_transform_tuple, (%r80, %f62, %f63, %f64, %f191); + // inline asm + mul.f32 %f67, %f59, %f59; + fma.rn.f32 %f68, %f58, %f58, %f67; + fma.rn.f32 %f69, %f60, %f60, %f68; + sqrt.rn.f32 %f70, %f69; + rcp.rn.f32 %f71, %f70; + mul.f32 %f1, %f58, %f71; + mul.f32 %f2, %f59, %f71; + mul.f32 %f3, %f60, %f71; + ld.global.f32 %f72, [ray+12]; + ld.global.f32 %f73, [t]; + ld.global.f32 %f74, [ray+16]; + ld.global.f32 %f75, [ray+20]; + ld.global.f32 %f76, [ray]; + fma.rn.f32 %f4, %f73, %f72, %f76; + ld.global.f32 %f77, [ray+4]; + fma.rn.f32 %f5, %f73, %f74, %f77; + ld.global.f32 %f78, [ray+8]; + fma.rn.f32 %f6, %f73, %f75, %f78; + abs.f32 %f79, %f1; + abs.f32 %f80, %f3; + setp.gt.f32 %p1, %f79, %f80; + neg.f32 %f81, %f2; + neg.f32 %f82, %f3; + selp.f32 %f83, %f81, 0f00000000, %p1; + selp.f32 %f84, %f1, %f82, %p1; + selp.f32 %f85, 0f00000000, %f2, %p1; + mul.f32 %f86, %f84, %f84; + fma.rn.f32 %f87, %f83, %f83, %f86; + fma.rn.f32 %f88, %f85, %f85, %f87; + sqrt.rn.f32 %f89, %f88; + rcp.rn.f32 %f90, %f89; + mul.f32 %f7, %f83, %f90; + mul.f32 %f8, %f84, %f90; + mul.f32 %f9, %f85, %f90; + mul.f32 %f91, %f3, %f8; + mul.f32 %f92, %f2, %f9; + sub.f32 %f10, %f91, %f92; + mul.f32 %f93, %f1, %f9; + mul.f32 %f94, %f3, %f7; + sub.f32 %f11, %f93, %f94; + mul.f32 %f95, %f2, %f7; + mul.f32 %f96, %f1, %f8; + sub.f32 %f12, %f95, %f96; + ld.global.v2.u32 {%r84, %r85}, [pixelID]; + cvt.u64.u32 %rd15, %r84; + cvt.u64.u32 %rd16, %r85; + mov.u64 %rd19, rnd_seeds; + cvta.global.u64 %rd14, %rd19; + mov.u32 %r81, 2; + mov.u32 %r82, 4; + mov.u64 %rd18, 0; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd14, %r81, %r82, %rd15, %rd16, %rd18, %rd18); + // inline asm + ld.u32 %r191, [%rd13]; + mov.u32 %r83, 0; + st.global.u32 [payload], %r83; + mov.u32 %r188, %r83; + +BB0_1: + cvt.rn.f32.s32 %f14, %r188; + mov.u32 %r190, %r83; + +BB0_2: + mad.lo.s32 %r89, %r191, 1664525, 1013904223; + and.b32 %r90, %r89, 16777215; + cvt.rn.f32.u32 %f97, %r90; + fma.rn.f32 %f98, %f97, 0f33800000, %f14; + mul.f32 %f99, %f98, 0f3DCCCCCD; + mad.lo.s32 %r191, %r89, 1664525, 1013904223; + and.b32 %r91, %r191, 16777215; + cvt.rn.f32.u32 %f100, %r91; + cvt.rn.f32.s32 %f101, %r190; + fma.rn.f32 %f102, %f100, 0f33800000, %f101; + mul.f32 %f103, %f102, 0f3DCCCCCD; + sqrt.rn.f32 %f16, %f99; + mul.f32 %f185, %f103, 0f40C90FDB; + abs.f32 %f18, %f185; + setp.neu.f32 %p2, %f18, 0f7F800000; + mov.f32 %f179, %f185; + @%p2 bra BB0_4; + + mov.f32 %f104, 0f00000000; + mul.rn.f32 %f179, %f185, %f104; + +BB0_4: + mul.f32 %f105, %f179, 0f3F22F983; + cvt.rni.s32.f32 %r201, %f105; + cvt.rn.f32.s32 %f106, %r201; + neg.f32 %f107, %f106; + mov.f32 %f108, 0f3FC90FDA; + fma.rn.f32 %f109, %f107, %f108, %f179; + mov.f32 %f110, 0f33A22168; + fma.rn.f32 %f111, %f107, %f110, %f109; + mov.f32 %f112, 0f27C234C5; + fma.rn.f32 %f180, %f107, %f112, %f111; + abs.f32 %f113, %f179; + setp.leu.f32 %p3, %f113, 0f47CE4780; + @%p3 bra BB0_15; + + mov.b32 %r8, %f179; + shr.u32 %r9, %r8, 23; + shl.b32 %r94, %r8, 8; + or.b32 %r10, %r94, -2147483648; + add.u64 %rd21, %SP, 4; + cvta.to.local.u64 %rd33, %rd21; + mov.u32 %r193, 0; + mov.u64 %rd32, __cudart_i2opi_f; + mov.u32 %r192, -6; + +BB0_6: + .pragma "nounroll"; + ld.const.u32 %r97, [%rd32]; + // inline asm + { + mad.lo.cc.u32 %r95, %r97, %r10, %r193; + madc.hi.u32 %r193, %r97, %r10, 0; + } + // inline asm + st.local.u32 [%rd33], %r95; + add.s64 %rd33, %rd33, 4; + add.s64 %rd32, %rd32, 4; + add.s32 %r192, %r192, 1; + setp.ne.s32 %p4, %r192, 0; + @%p4 bra BB0_6; + + and.b32 %r100, %r9, 255; + add.s32 %r101, %r100, -128; + shr.u32 %r102, %r101, 5; + and.b32 %r15, %r8, -2147483648; + cvta.to.local.u64 %rd23, %rd21; + st.local.u32 [%rd23+24], %r193; + mov.u32 %r103, 6; + sub.s32 %r104, %r103, %r102; + mul.wide.s32 %rd24, %r104, 4; + add.s64 %rd6, %rd23, %rd24; + ld.local.u32 %r194, [%rd6]; + ld.local.u32 %r195, [%rd6+-4]; + and.b32 %r18, %r9, 31; + setp.eq.s32 %p5, %r18, 0; + @%p5 bra BB0_9; + + mov.u32 %r105, 32; + sub.s32 %r106, %r105, %r18; + shr.u32 %r107, %r195, %r106; + shl.b32 %r108, %r194, %r18; + add.s32 %r194, %r107, %r108; + ld.local.u32 %r109, [%rd6+-8]; + shr.u32 %r110, %r109, %r106; + shl.b32 %r111, %r195, %r18; + add.s32 %r195, %r110, %r111; + +BB0_9: + shr.u32 %r112, %r195, 30; + shl.b32 %r113, %r194, 2; + add.s32 %r196, %r112, %r113; + shl.b32 %r24, %r195, 2; + shr.u32 %r114, %r196, 31; + shr.u32 %r115, %r194, 30; + add.s32 %r25, %r114, %r115; + setp.eq.s32 %p6, %r114, 0; + @%p6 bra BB0_10; + bra.uni BB0_11; + +BB0_10: + mov.u32 %r197, %r15; + mov.u32 %r198, %r24; + bra.uni BB0_12; + +BB0_11: + not.b32 %r116, %r196; + neg.s32 %r198, %r24; + setp.eq.s32 %p7, %r24, 0; + selp.u32 %r117, 1, 0, %p7; + add.s32 %r196, %r117, %r116; + xor.b32 %r197, %r15, -2147483648; + +BB0_12: + clz.b32 %r200, %r196; + setp.eq.s32 %p8, %r200, 0; + shl.b32 %r118, %r196, %r200; + mov.u32 %r119, 32; + sub.s32 %r120, %r119, %r200; + shr.u32 %r121, %r198, %r120; + add.s32 %r122, %r121, %r118; + selp.b32 %r33, %r196, %r122, %p8; + mov.u32 %r123, -921707870; + mul.hi.u32 %r199, %r33, %r123; + setp.eq.s32 %p9, %r15, 0; + neg.s32 %r124, %r25; + selp.b32 %r201, %r25, %r124, %p9; + setp.lt.s32 %p10, %r199, 1; + @%p10 bra BB0_14; + + mul.lo.s32 %r125, %r33, -921707870; + shr.u32 %r126, %r125, 31; + shl.b32 %r127, %r199, 1; + add.s32 %r199, %r126, %r127; + add.s32 %r200, %r200, 1; + +BB0_14: + mov.u32 %r128, 126; + sub.s32 %r129, %r128, %r200; + shl.b32 %r130, %r129, 23; + add.s32 %r131, %r199, 1; + shr.u32 %r132, %r131, 7; + add.s32 %r133, %r132, 1; + shr.u32 %r134, %r133, 1; + add.s32 %r135, %r134, %r130; + or.b32 %r136, %r135, %r197; + mov.b32 %f180, %r136; + +BB0_15: + mul.rn.f32 %f24, %f180, %f180; + add.s32 %r41, %r201, 1; + and.b32 %r42, %r41, 1; + setp.eq.s32 %p11, %r42, 0; + @%p11 bra BB0_17; + bra.uni BB0_16; + +BB0_17: + mov.f32 %f116, 0f3C08839E; + mov.f32 %f117, 0fB94CA1F9; + fma.rn.f32 %f181, %f117, %f24, %f116; + bra.uni BB0_18; + +BB0_16: + mov.f32 %f114, 0fBAB6061A; + mov.f32 %f115, 0f37CCF5CE; + fma.rn.f32 %f181, %f115, %f24, %f114; + +BB0_18: + @%p11 bra BB0_20; + bra.uni BB0_19; + +BB0_20: + mov.f32 %f121, 0fBE2AAAA3; + fma.rn.f32 %f122, %f181, %f24, %f121; + mov.f32 %f123, 0f00000000; + fma.rn.f32 %f182, %f122, %f24, %f123; + bra.uni BB0_21; + +BB0_19: + mov.f32 %f118, 0f3D2AAAA5; + fma.rn.f32 %f119, %f181, %f24, %f118; + mov.f32 %f120, 0fBF000000; + fma.rn.f32 %f182, %f119, %f24, %f120; + +BB0_21: + fma.rn.f32 %f183, %f182, %f180, %f180; + @%p11 bra BB0_23; + + mov.f32 %f124, 0f3F800000; + fma.rn.f32 %f183, %f182, %f24, %f124; + +BB0_23: + and.b32 %r137, %r41, 2; + setp.eq.s32 %p14, %r137, 0; + @%p14 bra BB0_25; + + mov.f32 %f125, 0f00000000; + mov.f32 %f126, 0fBF800000; + fma.rn.f32 %f183, %f183, %f126, %f125; + +BB0_25: + @%p2 bra BB0_27; + + mov.f32 %f127, 0f00000000; + mul.rn.f32 %f185, %f185, %f127; + +BB0_27: + mul.f32 %f128, %f185, 0f3F22F983; + cvt.rni.s32.f32 %r211, %f128; + cvt.rn.f32.s32 %f129, %r211; + neg.f32 %f130, %f129; + fma.rn.f32 %f132, %f130, %f108, %f185; + fma.rn.f32 %f134, %f130, %f110, %f132; + fma.rn.f32 %f186, %f130, %f112, %f134; + abs.f32 %f136, %f185; + setp.leu.f32 %p16, %f136, 0f47CE4780; + @%p16 bra BB0_38; + + mov.b32 %r44, %f185; + shr.u32 %r45, %r44, 23; + shl.b32 %r140, %r44, 8; + or.b32 %r46, %r140, -2147483648; + add.u64 %rd26, %SP, 4; + cvta.to.local.u64 %rd35, %rd26; + mov.u32 %r203, 0; + mov.u64 %rd34, __cudart_i2opi_f; + mov.u32 %r202, -6; + +BB0_29: + .pragma "nounroll"; + ld.const.u32 %r143, [%rd34]; + // inline asm + { + mad.lo.cc.u32 %r141, %r143, %r46, %r203; + madc.hi.u32 %r203, %r143, %r46, 0; + } + // inline asm + st.local.u32 [%rd35], %r141; + add.s64 %rd35, %rd35, 4; + add.s64 %rd34, %rd34, 4; + add.s32 %r202, %r202, 1; + setp.ne.s32 %p17, %r202, 0; + @%p17 bra BB0_29; + + and.b32 %r146, %r45, 255; + add.s32 %r147, %r146, -128; + shr.u32 %r148, %r147, 5; + and.b32 %r51, %r44, -2147483648; + cvta.to.local.u64 %rd28, %rd26; + st.local.u32 [%rd28+24], %r203; + mov.u32 %r149, 6; + sub.s32 %r150, %r149, %r148; + mul.wide.s32 %rd29, %r150, 4; + add.s64 %rd12, %rd28, %rd29; + ld.local.u32 %r204, [%rd12]; + ld.local.u32 %r205, [%rd12+-4]; + and.b32 %r54, %r45, 31; + setp.eq.s32 %p18, %r54, 0; + @%p18 bra BB0_32; + + mov.u32 %r151, 32; + sub.s32 %r152, %r151, %r54; + shr.u32 %r153, %r205, %r152; + shl.b32 %r154, %r204, %r54; + add.s32 %r204, %r153, %r154; + ld.local.u32 %r155, [%rd12+-8]; + shr.u32 %r156, %r155, %r152; + shl.b32 %r157, %r205, %r54; + add.s32 %r205, %r156, %r157; + +BB0_32: + shr.u32 %r158, %r205, 30; + shl.b32 %r159, %r204, 2; + add.s32 %r206, %r158, %r159; + shl.b32 %r60, %r205, 2; + shr.u32 %r160, %r206, 31; + shr.u32 %r161, %r204, 30; + add.s32 %r61, %r160, %r161; + setp.eq.s32 %p19, %r160, 0; + @%p19 bra BB0_33; + bra.uni BB0_34; + +BB0_33: + mov.u32 %r207, %r51; + mov.u32 %r208, %r60; + bra.uni BB0_35; + +BB0_34: + not.b32 %r162, %r206; + neg.s32 %r208, %r60; + setp.eq.s32 %p20, %r60, 0; + selp.u32 %r163, 1, 0, %p20; + add.s32 %r206, %r163, %r162; + xor.b32 %r207, %r51, -2147483648; + +BB0_35: + clz.b32 %r210, %r206; + setp.eq.s32 %p21, %r210, 0; + shl.b32 %r164, %r206, %r210; + mov.u32 %r165, 32; + sub.s32 %r166, %r165, %r210; + shr.u32 %r167, %r208, %r166; + add.s32 %r168, %r167, %r164; + selp.b32 %r69, %r206, %r168, %p21; + mov.u32 %r169, -921707870; + mul.hi.u32 %r209, %r69, %r169; + setp.eq.s32 %p22, %r51, 0; + neg.s32 %r170, %r61; + selp.b32 %r211, %r61, %r170, %p22; + setp.lt.s32 %p23, %r209, 1; + @%p23 bra BB0_37; + + mul.lo.s32 %r171, %r69, -921707870; + shr.u32 %r172, %r171, 31; + shl.b32 %r173, %r209, 1; + add.s32 %r209, %r172, %r173; + add.s32 %r210, %r210, 1; + +BB0_37: + mov.u32 %r174, 126; + sub.s32 %r175, %r174, %r210; + shl.b32 %r176, %r175, 23; + add.s32 %r177, %r209, 1; + shr.u32 %r178, %r177, 7; + add.s32 %r179, %r178, 1; + shr.u32 %r180, %r179, 1; + add.s32 %r181, %r180, %r176; + or.b32 %r182, %r181, %r207; + mov.b32 %f186, %r182; + +BB0_38: + mul.rn.f32 %f41, %f186, %f186; + and.b32 %r77, %r211, 1; + setp.eq.s32 %p24, %r77, 0; + @%p24 bra BB0_40; + bra.uni BB0_39; + +BB0_40: + mov.f32 %f139, 0f3C08839E; + mov.f32 %f140, 0fB94CA1F9; + fma.rn.f32 %f187, %f140, %f41, %f139; + bra.uni BB0_41; + +BB0_39: + mov.f32 %f137, 0fBAB6061A; + mov.f32 %f138, 0f37CCF5CE; + fma.rn.f32 %f187, %f138, %f41, %f137; + +BB0_41: + @%p24 bra BB0_43; + bra.uni BB0_42; + +BB0_43: + mov.f32 %f144, 0fBE2AAAA3; + fma.rn.f32 %f145, %f187, %f41, %f144; + mov.f32 %f146, 0f00000000; + fma.rn.f32 %f188, %f145, %f41, %f146; + bra.uni BB0_44; + +BB0_42: + mov.f32 %f141, 0f3D2AAAA5; + fma.rn.f32 %f142, %f187, %f41, %f141; + mov.f32 %f143, 0fBF000000; + fma.rn.f32 %f188, %f142, %f41, %f143; + +BB0_44: + fma.rn.f32 %f189, %f188, %f186, %f186; + @%p24 bra BB0_46; + + mov.f32 %f147, 0f3F800000; + fma.rn.f32 %f189, %f188, %f41, %f147; + +BB0_46: + and.b32 %r183, %r211, 2; + setp.eq.s32 %p27, %r183, 0; + @%p27 bra BB0_48; + + mov.f32 %f148, 0f00000000; + mov.f32 %f149, 0fBF800000; + fma.rn.f32 %f189, %f189, %f149, %f148; + +BB0_48: + mul.f32 %f150, %f16, %f183; + mul.f32 %f151, %f150, %f150; + mov.f32 %f152, 0f3F800000; + sub.f32 %f153, %f152, %f151; + mul.f32 %f154, %f16, %f189; + mul.f32 %f155, %f154, %f154; + sub.f32 %f156, %f153, %f155; + mov.f32 %f157, 0f00000000; + max.f32 %f158, %f157, %f156; + sqrt.rn.f32 %f159, %f158; + mul.f32 %f160, %f7, %f154; + mul.f32 %f161, %f8, %f154; + mul.f32 %f162, %f9, %f154; + fma.rn.f32 %f163, %f10, %f150, %f160; + fma.rn.f32 %f164, %f11, %f150, %f161; + fma.rn.f32 %f165, %f12, %f150, %f162; + fma.rn.f32 %f53, %f1, %f159, %f163; + fma.rn.f32 %f54, %f2, %f159, %f164; + fma.rn.f32 %f55, %f3, %f159, %f165; + setp.leu.f32 %p28, %f54, 0f00000000; + @%p28 bra BB0_50; + + add.u64 %rd30, %SP, 0; + cvta.to.local.u64 %rd31, %rd30; + mov.u32 %r187, 1065353216; + st.local.u32 [%rd31], %r187; + ld.global.u32 %r184, [root]; + mov.u32 %r185, 1; + mov.f32 %f172, 0f3A83126F; + mov.f32 %f173, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r184, %f4, %f5, %f6, %f53, %f54, %f55, %r185, %f172, %f173, %rd30, %r82); + // inline asm + ld.global.f32 %f174, [payload]; + ld.local.f32 %f175, [%rd31]; + add.f32 %f191, %f175, %f174; + st.global.f32 [payload], %f191; + +BB0_50: + add.s32 %r190, %r190, 1; + setp.lt.s32 %p29, %r190, 10; + @%p29 bra BB0_2; + + add.s32 %r188, %r188, 1; + setp.lt.s32 %p30, %r188, 10; + @%p30 bra BB0_1; + + div.rn.f32 %f176, %f191, 0f42C80000; + st.global.f32 [payload], %f176; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sky.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sky.ptx.meta new file mode 100644 index 00000000..66f42be7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sky.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 25613c7320d9d2e4389ebad7e23aba11 +timeCreated: 1527528502 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sss.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sss.ptx new file mode 100644 index 00000000..6b7bbabe --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sss.ptx @@ -0,0 +1,241 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .b8 payload[12]; +.global .align 4 .b8 ray[36]; +.global .align 4 .f32 t; +.global .align 1 .b8 lightmapDirect[1]; +.global .align 4 .u32 LMID; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo1tE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4LMIDE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename7payloadE[9] = {82, 97, 121, 68, 97, 116, 97, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename1tE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename4LMIDE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum1tE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4LMIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic1tE[23] = {114, 116, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 68, 105, 115, 116, 97, 110, 99, 101, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic4LMIDE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation1tE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4LMIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<5>; + .reg .b16 %rs<8>; + .reg .f32 %f<50>; + .reg .b32 %r<12>; + .reg .b64 %rd<8>; + + + ld.global.f32 %f2, [normal]; + ld.global.f32 %f3, [ray+12]; + ld.global.f32 %f4, [ray+16]; + ld.global.f32 %f5, [normal+4]; + mul.f32 %f6, %f5, %f4; + fma.rn.f32 %f7, %f2, %f3, %f6; + ld.global.f32 %f8, [ray+20]; + ld.global.f32 %f9, [normal+8]; + fma.rn.f32 %f10, %f9, %f8, %f7; + setp.ltu.f32 %p1, %f10, 0f00000000; + @%p1 bra BB0_3; + bra.uni BB0_1; + +BB0_3: + ld.global.f32 %f48, [t]; + neg.f32 %f49, %f48; + st.global.f32 [payload], %f49; + st.global.f32 [payload+4], %f49; + st.global.f32 [payload+8], %f49; + bra.uni BB0_4; + +BB0_1: + ld.global.f32 %f1, [texCoords]; + div.rn.f32 %f11, %f1, 0f41200000; + cvt.rzi.s32.f32 %r1, %f11; + ld.global.u32 %r2, [LMID]; + setp.ne.s32 %p2, %r1, %r2; + @%p2 bra BB0_4; + + cvt.rzi.s32.f32 %r5, %f1; + cvt.rn.f32.s32 %f15, %r5; + sub.f32 %f16, %f1, %f15; + ld.global.v2.u32 {%r6, %r7}, [resolution]; + cvt.rn.f32.u32 %f17, %r6; + mul.f32 %f18, %f16, %f17; + cvt.rzi.u32.f32 %r10, %f18; + cvt.rn.f32.u32 %f19, %r7; + ld.global.f32 %f20, [texCoords+4]; + mul.f32 %f21, %f20, %f19; + cvt.rzi.u32.f32 %r11, %f21; + cvt.u64.u32 %rd3, %r10; + cvt.u64.u32 %rd4, %r11; + mov.u64 %rd7, lightmapDirect; + cvta.global.u64 %rd2, %rd7; + mov.u32 %r3, 2; + mov.u32 %r4, 8; + mov.u64 %rd6, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r3, %r4, %rd3, %rd4, %rd6, %rd6); + // inline asm + ld.v4.u16 {%rs4, %rs5, %rs6, %rs7}, [%rd1]; + // inline asm + { cvt.f32.f16 %f12, %rs4;} + + // inline asm + // inline asm + { cvt.f32.f16 %f13, %rs5;} + + // inline asm + // inline asm + { cvt.f32.f16 %f14, %rs6;} + + // inline asm + ld.global.f32 %f22, [t]; + ld.global.f32 %f23, [lightRadius]; + mul.f32 %f24, %f23, %f22; + neg.f32 %f25, %f24; + mul.f32 %f26, %f24, 0fBFB8AA3B; + cvt.rzi.f32.f32 %f27, %f26; + mov.f32 %f28, 0fBF317200; + fma.rn.f32 %f29, %f27, %f28, %f25; + mov.f32 %f30, 0fB5BFBE8E; + fma.rn.f32 %f31, %f27, %f30, %f29; + mul.f32 %f32, %f31, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f33, %f32; + add.f32 %f34, %f27, 0f00000000; + ex2.approx.f32 %f35, %f34; + mul.f32 %f36, %f33, %f35; + setp.gt.f32 %p3, %f24, 0f42D20000; + selp.f32 %f37, 0f00000000, %f36, %p3; + setp.lt.f32 %p4, %f24, 0fC2D20000; + selp.f32 %f38, 0f7F800000, %f37, %p4; + mul.f32 %f39, %f12, %f38; + mul.f32 %f40, %f13, %f38; + mul.f32 %f41, %f14, %f38; + ld.global.f32 %f42, [lightColor]; + mul.f32 %f43, %f42, %f39; + ld.global.f32 %f44, [lightColor+4]; + mul.f32 %f45, %f44, %f40; + ld.global.f32 %f46, [lightColor+8]; + mul.f32 %f47, %f46, %f41; + st.global.f32 [payload], %f43; + st.global.f32 [payload+4], %f45; + st.global.f32 [payload+8], %f47; + +BB0_4: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sss.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sss.ptx.meta new file mode 100644 index 00000000..5c9fda80 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_sss.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 049a1401f47deb448b7543c6d4ed31d0 +timeCreated: 1540291414 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx new file mode 100644 index 00000000..e55cef90 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx @@ -0,0 +1,200 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .b8 payload[12]; +.global .align 4 .b8 ray[36]; +.global .align 4 .f32 t; +.global .align 1 .b8 textureIDs[1]; +.global .align 4 .f32 backFaceWeight; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo1tE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14backFaceWeightE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename7payloadE[9] = {82, 97, 121, 68, 97, 116, 97, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename1tE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14backFaceWeightE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum1tE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14backFaceWeightE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic1tE[23] = {114, 116, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 68, 105, 115, 116, 97, 110, 99, 101, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic14backFaceWeightE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation1tE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14backFaceWeightE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<3>; + .reg .b16 %rs<4>; + .reg .f32 %f<25>; + .reg .b32 %r<12>; + .reg .b64 %rd<8>; + + + ld.global.f32 %f3, [normal]; + ld.global.f32 %f4, [ray+12]; + ld.global.f32 %f5, [ray+16]; + ld.global.f32 %f6, [normal+4]; + mul.f32 %f7, %f6, %f5; + fma.rn.f32 %f8, %f3, %f4, %f7; + ld.global.f32 %f9, [ray+20]; + ld.global.f32 %f10, [normal+8]; + fma.rn.f32 %f1, %f10, %f9, %f8; + ld.global.f32 %f2, [texCoords]; + div.rn.f32 %f11, %f2, 0f41200000; + cvt.rzi.s32.f32 %r1, %f11; + setp.lt.s32 %p1, %r1, 0; + @%p1 bra BB0_2; + + setp.ltu.f32 %p2, %f1, 0f00000000; + cvt.rzi.s32.f32 %r10, %f2; + cvt.rn.f32.s32 %f19, %r10; + sub.f32 %f12, %f2, %f19; + ld.global.f32 %f13, [texCoords+4]; + cvt.s64.s32 %rd3, %r1; + mov.u64 %rd7, textureIDs; + cvta.global.u64 %rd2, %rd7; + mov.u32 %r2, 1; + mov.u32 %r3, 4; + mov.u64 %rd6, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r2, %r3, %rd3, %rd6, %rd6, %rd6); + // inline asm + ld.u32 %r8, [%rd1]; + mov.u32 %r9, 2; + mov.f32 %f15, 0f00000000; + // inline asm + call (%r4, %r5, %r6, %r7), _rt_texture_get_u_id, (%r8, %r9, %f12, %f13, %f15, %f15); + // inline asm + cvt.u16.u32 %rs1, %r4; + cvt.u16.u32 %rs2, %r5; + cvt.u16.u32 %rs3, %r6; + // inline asm + { cvt.f32.f16 %f16, %rs1;} + + // inline asm + // inline asm + { cvt.f32.f16 %f17, %rs2;} + + // inline asm + // inline asm + { cvt.f32.f16 %f18, %rs3;} + + // inline asm + ld.global.f32 %f20, [backFaceWeight]; + selp.f32 %f21, 0f3F800000, %f20, %p2; + mul.f32 %f22, %f16, %f21; + mul.f32 %f23, %f17, %f21; + mul.f32 %f24, %f18, %f21; + st.global.f32 [payload], %f22; + st.global.f32 [payload+4], %f23; + st.global.f32 [payload+8], %f24; + bra.uni BB0_3; + +BB0_2: + mov.u32 %r11, 0; + st.global.u32 [payload+8], %r11; + st.global.u32 [payload+4], %r11; + st.global.u32 [payload], %r11; + +BB0_3: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx.meta new file mode 100644 index 00000000..f342137a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_tex_gi2.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 634a49dd93a6c1e46946efb6157c8559 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_texarealight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_texarealight.ptx new file mode 100644 index 00000000..eae840b0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_texarealight.ptx @@ -0,0 +1,351 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 4 .b8 payload[12]; +.global .align 4 .u32 lightCookie; +.global .align 4 .b8 ray[36]; +.global .align 4 .f32 t; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .u32 lightLMID; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo1tE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9lightLMIDE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename7payloadE[9] = {82, 97, 121, 68, 97, 116, 97, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename1tE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename9lightLMIDE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum1tE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9lightLMIDE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic1tE[23] = {114, 116, 73, 110, 116, 101, 114, 115, 101, 99, 116, 105, 111, 110, 68, 105, 115, 116, 97, 110, 99, 101, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9lightLMIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation1tE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9lightLMIDE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<23>; + .reg .f32 %f<137>; + .reg .b32 %r<19>; + + + ld.global.f32 %f1, [texCoords]; + div.rn.f32 %f2, %f1, 0f41200000; + abs.f32 %f20, %f2; + mov.b32 %r2, %f2; + and.b32 %r3, %r2, -2147483648; + or.b32 %r4, %r3, 1056964608; + mov.b32 %f21, %r4; + add.f32 %f22, %f2, %f21; + cvt.rzi.f32.f32 %f23, %f22; + setp.gt.f32 %p2, %f20, 0f4B000000; + selp.f32 %f133, %f2, %f23, %p2; + setp.geu.f32 %p3, %f20, 0f3F000000; + @%p3 bra BB0_2; + + cvt.rzi.f32.f32 %f133, %f2; + +BB0_2: + ld.global.f32 %f24, [ray+12]; + ld.global.f32 %f25, [normal]; + ld.global.f32 %f26, [ray+16]; + ld.global.f32 %f27, [normal+4]; + mul.f32 %f28, %f27, %f26; + fma.rn.f32 %f29, %f25, %f24, %f28; + ld.global.f32 %f30, [ray+20]; + ld.global.f32 %f31, [normal+8]; + fma.rn.f32 %f32, %f31, %f30, %f29; + mov.u32 %r5, -1082130432; + st.global.u32 [payload+8], %r5; + st.global.u32 [payload+4], %r5; + st.global.u32 [payload], %r5; + setp.leu.f32 %p4, %f32, 0f00000000; + ld.global.u32 %r6, [lightLMID]; + cvt.rzi.s32.f32 %r1, %f133; + setp.eq.s32 %p5, %r1, %r6; + and.pred %p6, %p4, %p5; + @!%p6 bra BB0_15; + bra.uni BB0_3; + +BB0_3: + ld.global.f32 %f35, [t]; + ld.global.f32 %f36, [lightInvCutoff]; + mul.f32 %f6, %f35, %f36; + mov.f32 %f37, 0f40000000; + cvt.rzi.f32.f32 %f38, %f37; + add.f32 %f39, %f38, %f38; + mov.f32 %f40, 0f40800000; + sub.f32 %f41, %f40, %f39; + abs.f32 %f7, %f41; + abs.f32 %f8, %f6; + setp.lt.f32 %p7, %f8, 0f00800000; + mul.f32 %f42, %f8, 0f4B800000; + selp.f32 %f43, 0fC3170000, 0fC2FE0000, %p7; + selp.f32 %f44, %f42, %f8, %p7; + mov.b32 %r7, %f44; + and.b32 %r8, %r7, 8388607; + or.b32 %r9, %r8, 1065353216; + mov.b32 %f45, %r9; + shr.u32 %r10, %r7, 23; + cvt.rn.f32.u32 %f46, %r10; + add.f32 %f47, %f43, %f46; + setp.gt.f32 %p8, %f45, 0f3FB504F3; + mul.f32 %f48, %f45, 0f3F000000; + add.f32 %f49, %f47, 0f3F800000; + selp.f32 %f50, %f48, %f45, %p8; + selp.f32 %f51, %f49, %f47, %p8; + add.f32 %f52, %f50, 0fBF800000; + add.f32 %f34, %f50, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f33,%f34; + // inline asm + add.f32 %f53, %f52, %f52; + mul.f32 %f54, %f33, %f53; + mul.f32 %f55, %f54, %f54; + mov.f32 %f56, 0f3C4CAF63; + mov.f32 %f57, 0f3B18F0FE; + fma.rn.f32 %f58, %f57, %f55, %f56; + mov.f32 %f59, 0f3DAAAABD; + fma.rn.f32 %f60, %f58, %f55, %f59; + mul.rn.f32 %f61, %f60, %f55; + mul.rn.f32 %f62, %f61, %f54; + sub.f32 %f63, %f52, %f54; + neg.f32 %f64, %f54; + add.f32 %f65, %f63, %f63; + fma.rn.f32 %f66, %f64, %f52, %f65; + mul.rn.f32 %f67, %f33, %f66; + add.f32 %f68, %f62, %f54; + sub.f32 %f69, %f54, %f68; + add.f32 %f70, %f62, %f69; + add.f32 %f71, %f67, %f70; + add.f32 %f72, %f68, %f71; + sub.f32 %f73, %f68, %f72; + add.f32 %f74, %f71, %f73; + mov.f32 %f75, 0f3F317200; + mul.rn.f32 %f76, %f51, %f75; + mov.f32 %f77, 0f35BFBE8E; + mul.rn.f32 %f78, %f51, %f77; + add.f32 %f79, %f76, %f72; + sub.f32 %f80, %f76, %f79; + add.f32 %f81, %f72, %f80; + add.f32 %f82, %f74, %f81; + add.f32 %f83, %f78, %f82; + add.f32 %f84, %f79, %f83; + sub.f32 %f85, %f79, %f84; + add.f32 %f86, %f83, %f85; + mul.rn.f32 %f87, %f40, %f84; + neg.f32 %f88, %f87; + fma.rn.f32 %f89, %f40, %f84, %f88; + fma.rn.f32 %f90, %f40, %f86, %f89; + mov.f32 %f91, 0f00000000; + fma.rn.f32 %f92, %f91, %f84, %f90; + add.rn.f32 %f93, %f87, %f92; + neg.f32 %f94, %f93; + add.rn.f32 %f95, %f87, %f94; + add.rn.f32 %f96, %f95, %f92; + mov.b32 %r11, %f93; + setp.eq.s32 %p9, %r11, 1118925336; + add.s32 %r12, %r11, -1; + mov.b32 %f97, %r12; + add.f32 %f98, %f96, 0f37000000; + selp.f32 %f99, %f97, %f93, %p9; + selp.f32 %f9, %f98, %f96, %p9; + mul.f32 %f100, %f99, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f101, %f100; + mov.f32 %f102, 0fBF317200; + fma.rn.f32 %f103, %f101, %f102, %f99; + mov.f32 %f104, 0fB5BFBE8E; + fma.rn.f32 %f105, %f101, %f104, %f103; + mul.f32 %f106, %f105, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f107, %f106; + add.f32 %f108, %f101, 0f00000000; + ex2.approx.f32 %f109, %f108; + mul.f32 %f110, %f107, %f109; + setp.lt.f32 %p10, %f99, 0fC2D20000; + selp.f32 %f111, 0f00000000, %f110, %p10; + setp.gt.f32 %p11, %f99, 0f42D20000; + selp.f32 %f134, 0f7F800000, %f111, %p11; + setp.eq.f32 %p12, %f134, 0f7F800000; + @%p12 bra BB0_5; + + fma.rn.f32 %f134, %f134, %f9, %f134; + +BB0_5: + setp.lt.f32 %p13, %f6, 0f00000000; + setp.eq.f32 %p14, %f7, 0f3F800000; + and.pred %p1, %p13, %p14; + mov.b32 %r13, %f134; + xor.b32 %r14, %r13, -2147483648; + mov.b32 %f112, %r14; + selp.f32 %f136, %f112, %f134, %p1; + setp.eq.f32 %p15, %f6, 0f00000000; + @%p15 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f115, %f6, %f6; + selp.f32 %f136, %f115, 0f00000000, %p14; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p16, %f6, 0f00000000; + @%p16 bra BB0_9; + + cvt.rzi.f32.f32 %f114, %f40; + setp.neu.f32 %p17, %f114, 0f40800000; + selp.f32 %f136, 0f7FFFFFFF, %f136, %p17; + +BB0_9: + add.f32 %f116, %f8, 0f40800000; + mov.b32 %r15, %f116; + setp.lt.s32 %p19, %r15, 2139095040; + @%p19 bra BB0_14; + + setp.gtu.f32 %p20, %f8, 0f7F800000; + @%p20 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f136, %f6, 0f40800000; + bra.uni BB0_14; + +BB0_11: + setp.neu.f32 %p21, %f8, 0f7F800000; + @%p21 bra BB0_14; + + selp.f32 %f136, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f125, 0f3F800000; + sub.f32 %f126, %f125, %f136; + setp.eq.f32 %p22, %f6, 0f3F800000; + selp.f32 %f127, 0f00000000, %f126, %p22; + cvt.sat.f32.f32 %f128, %f127; + ld.global.u32 %r16, [lightCookie]; + mul.lo.s32 %r18, %r1, 10; + cvt.rn.f32.s32 %f129, %r18; + sub.f32 %f121, %f1, %f129; + ld.global.f32 %f122, [texCoords+4]; + mov.u32 %r17, 2; + // inline asm + call (%f117, %f118, %f119, %f120), _rt_texture_get_f_id, (%r16, %r17, %f121, %f122, %f91, %f91); + // inline asm + mul.f32 %f130, %f128, %f117; + mul.f32 %f131, %f128, %f118; + mul.f32 %f132, %f128, %f119; + st.global.f32 [payload], %f130; + st.global.f32 [payload+4], %f131; + st.global.f32 [payload+8], %f132; + +BB0_15: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_texarealight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_texarealight.ptx.meta new file mode 100644 index 00000000..68374ff2 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lambert_texarealight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e8146e515ac999548978f331c254bda6 +timeCreated: 1528384204 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks.meta new file mode 100644 index 00000000..5774acb2 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6d93dd912cd02f54981f5917cbe9a812 +folderAsset: yes +timeCreated: 1622807248 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part0.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part0.bin new file mode 100644 index 00000000..0a3ae167 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part0.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part0.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part0.bin.meta new file mode 100644 index 00000000..84e46138 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part0.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44251655c8922d140a7e9ab5676e5263 +timeCreated: 1535061060 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part1.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part1.bin new file mode 100644 index 00000000..dfb54913 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part1.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part1.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part1.bin.meta new file mode 100644 index 00000000..12661c70 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part1.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4623dd8c1da3c724eb8226045500a441 +timeCreated: 1535061060 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part2.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part2.bin new file mode 100644 index 00000000..aedaf39d Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part2.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part2.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part2.bin.meta new file mode 100644 index 00000000..835efb99 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part2.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9ac3c82f948c81429859d2792c35bec +timeCreated: 1535061060 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part3.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part3.bin new file mode 100644 index 00000000..5faa31a2 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part3.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part3.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part3.bin.meta new file mode 100644 index 00000000..0b5c50d7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_2017_1_part3.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ba7816ea05d4610418371036ad7841ab +timeCreated: 1535061060 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part0.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part0.bin new file mode 100644 index 00000000..fc58f8e7 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part0.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part0.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part0.bin.meta new file mode 100644 index 00000000..acc3d2c7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part0.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4178a0f28734a014e9275b7c6d2d15c5 +timeCreated: 1535030935 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part1.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part1.bin new file mode 100644 index 00000000..2dfa4a57 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part1.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part1.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part1.bin.meta new file mode 100644 index 00000000..1560054f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part1.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a3ff5a3eecc04904bb8e1c862145ec8c +timeCreated: 1535030935 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part2.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part2.bin new file mode 100644 index 00000000..314bde0d Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part2.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part2.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part2.bin.meta new file mode 100644 index 00000000..e25bf834 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part2.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea2dfecbce91acc4e877262c7731b9d6 +timeCreated: 1535030935 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part3.bin b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part3.bin new file mode 100644 index 00000000..4ab9d87d Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part3.bin differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part3.bin.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part3.bin.meta new file mode 100644 index 00000000..02efa7c7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lightingDataChunks/LightingData_5_6_part3.bin.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e47578a0834797d469b941948ea50f17 +timeCreated: 1535030935 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx new file mode 100644 index 00000000..e5626799 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx @@ -0,0 +1,1033 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightRadius; +.global .align 4 .f32 intensity; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9intensityE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9intensityE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9intensityE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9intensityE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9intensityE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<61>; + .reg .b16 %rs<47>; + .reg .f32 %f<345>; + .reg .b32 %r<275>; + .reg .b64 %rd<112>; + + + mov.u64 %rd111, __local_depot0; + cvta.local.u64 %SP, %rd111; + ld.global.v2.u32 {%r91, %r92}, [pixelID]; + cvt.u64.u32 %rd22, %r91; + cvt.u64.u32 %rd23, %r92; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r89, 2; + mov.u32 %r90, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r89, %r90, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r1, [%rd20]; + shr.u32 %r95, %r1, 16; + cvt.u16.u32 %rs1, %r95; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r1; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p2, %rs5, 0; + mov.f32 %f323, 0f00000000; + mov.f32 %f324, %f323; + mov.f32 %f325, %f323; + @%p2 bra BB0_2; + + ld.u8 %rs6, [%rd20+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f81, %rs8; + div.rn.f32 %f82, %f81, 0f437F0000; + fma.rn.f32 %f83, %f82, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f84, %rs6; + div.rn.f32 %f85, %f84, 0f437F0000; + fma.rn.f32 %f86, %f85, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f87, %rs3; + div.rn.f32 %f88, %f87, 0f437F0000; + fma.rn.f32 %f89, %f88, 0f40000000, 0fBF800000; + mul.f32 %f90, %f86, %f86; + fma.rn.f32 %f91, %f83, %f83, %f90; + fma.rn.f32 %f92, %f89, %f89, %f91; + sqrt.rn.f32 %f93, %f92; + rcp.rn.f32 %f94, %f93; + mul.f32 %f323, %f83, %f94; + mul.f32 %f324, %f86, %f94; + mul.f32 %f325, %f89, %f94; + +BB0_2: + ld.global.v2.u32 {%r96, %r97}, [pixelID]; + ld.global.v2.u32 {%r99, %r100}, [tileInfo]; + add.s32 %r2, %r96, %r99; + add.s32 %r3, %r97, %r100; + setp.eq.f32 %p3, %f324, 0f00000000; + setp.eq.f32 %p4, %f323, 0f00000000; + and.pred %p5, %p4, %p3; + setp.eq.f32 %p6, %f325, 0f00000000; + and.pred %p7, %p5, %p6; + @%p7 bra BB0_72; + bra.uni BB0_3; + +BB0_72: + ld.global.u8 %rs28, [imageEnabled]; + and.b16 %rs29, %rs28, 4; + setp.eq.s16 %p58, %rs29, 0; + @%p58 bra BB0_76; + + ld.global.u32 %r237, [additive]; + setp.eq.s32 %p59, %r237, 0; + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + @%p59 bra BB0_75; + + mov.u64 %rd92, image_HDR; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r241, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r89, %r241, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs36, %rs37, %rs38, %rs39}, [%rd80]; + // inline asm + { cvt.f32.f16 %f313, %rs36;} + + // inline asm + // inline asm + { cvt.f32.f16 %f314, %rs37;} + + // inline asm + // inline asm + { cvt.f32.f16 %f315, %rs38;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r89, %r241, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f316, %f313, 0f00000000; + add.f32 %f317, %f314, 0f00000000; + add.f32 %f318, %f315, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs35, %f318;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs34, %f317;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f316;} + + // inline asm + mov.u16 %rs40, 0; + st.v4.u16 [%rd86], {%rs33, %rs34, %rs35, %rs40}; + bra.uni BB0_76; + +BB0_3: + ld.global.v2.u32 {%r108, %r109}, [pixelID]; + cvt.u64.u32 %rd29, %r108; + cvt.u64.u32 %rd30, %r109; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r105, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r89, %r105, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f96, [%rd27+8]; + ld.f32 %f97, [%rd27+4]; + ld.f32 %f98, [%rd27]; + mul.f32 %f99, %f98, 0f3456BF95; + mul.f32 %f100, %f97, 0f3456BF95; + mul.f32 %f101, %f96, 0f3456BF95; + abs.f32 %f102, %f323; + div.rn.f32 %f103, %f99, %f102; + abs.f32 %f104, %f324; + div.rn.f32 %f105, %f100, %f104; + abs.f32 %f106, %f325; + div.rn.f32 %f107, %f101, %f106; + abs.f32 %f108, %f103; + abs.f32 %f109, %f105; + abs.f32 %f110, %f107; + mov.f32 %f111, 0f38D1B717; + max.f32 %f112, %f108, %f111; + max.f32 %f113, %f109, %f111; + max.f32 %f114, %f110, %f111; + fma.rn.f32 %f7, %f323, %f112, %f98; + fma.rn.f32 %f8, %f324, %f113, %f97; + fma.rn.f32 %f9, %f325, %f114, %f96; + setp.gt.f32 %p8, %f102, %f106; + neg.f32 %f115, %f324; + selp.f32 %f116, %f115, 0f00000000, %p8; + neg.f32 %f117, %f325; + selp.f32 %f118, %f323, %f117, %p8; + selp.f32 %f119, 0f00000000, %f324, %p8; + mul.f32 %f120, %f118, %f118; + fma.rn.f32 %f121, %f116, %f116, %f120; + fma.rn.f32 %f122, %f119, %f119, %f121; + sqrt.rn.f32 %f123, %f122; + rcp.rn.f32 %f124, %f123; + mul.f32 %f10, %f116, %f124; + mul.f32 %f11, %f118, %f124; + mul.f32 %f12, %f119, %f124; + ld.global.v2.u32 {%r112, %r113}, [pixelID]; + cvt.u64.u32 %rd35, %r112; + cvt.u64.u32 %rd36, %r113; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r89, %r90, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.global.u32 %r247, [samples]; + mov.f32 %f340, 0f00000000; + setp.lt.s32 %p9, %r247, 1; + @%p9 bra BB0_55; + + cvt.rn.f32.s32 %f126, %r247; + rcp.rn.f32 %f13, %f126; + ld.u32 %r273, [%rd33]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f127, %f323, %f11; + mul.f32 %f128, %f324, %f10; + sub.f32 %f17, %f128, %f127; + mul.f32 %f129, %f325, %f10; + mul.f32 %f130, %f323, %f12; + sub.f32 %f18, %f130, %f129; + mul.f32 %f131, %f324, %f12; + mul.f32 %f132, %f325, %f11; + sub.f32 %f19, %f132, %f131; + mov.f32 %f340, 0f00000000; + mov.u32 %r248, 0; + abs.f32 %f133, %f15; + abs.f32 %f134, %f14; + max.f32 %f135, %f134, %f133; + abs.f32 %f136, %f16; + max.f32 %f137, %f135, %f136; + +BB0_5: + setp.lt.s32 %p10, %r247, 1; + @%p10 bra BB0_54; + + cvt.rn.f32.s32 %f21, %r248; + max.f32 %f22, %f137, %f111; + mov.u32 %r250, 0; + +BB0_7: + mad.lo.s32 %r118, %r273, 1664525, 1013904223; + and.b32 %r119, %r118, 16777215; + cvt.rn.f32.u32 %f139, %r119; + fma.rn.f32 %f140, %f139, 0f33800000, %f21; + mul.f32 %f141, %f13, %f140; + mad.lo.s32 %r273, %r118, 1664525, 1013904223; + and.b32 %r120, %r273, 16777215; + cvt.rn.f32.u32 %f142, %r120; + cvt.rn.f32.s32 %f143, %r250; + fma.rn.f32 %f144, %f142, 0f33800000, %f143; + mul.f32 %f145, %f13, %f144; + sqrt.rn.f32 %f24, %f141; + mul.f32 %f334, %f145, 0f40C90FDB; + abs.f32 %f26, %f334; + setp.neu.f32 %p11, %f26, 0f7F800000; + mov.f32 %f328, %f334; + @%p11 bra BB0_9; + + mov.f32 %f146, 0f00000000; + mul.rn.f32 %f328, %f334, %f146; + +BB0_9: + mul.f32 %f147, %f328, 0f3F22F983; + cvt.rni.s32.f32 %r261, %f147; + cvt.rn.f32.s32 %f148, %r261; + neg.f32 %f149, %f148; + mov.f32 %f150, 0f3FC90FDA; + fma.rn.f32 %f151, %f149, %f150, %f328; + mov.f32 %f152, 0f33A22168; + fma.rn.f32 %f153, %f149, %f152, %f151; + mov.f32 %f154, 0f27C234C5; + fma.rn.f32 %f329, %f149, %f154, %f153; + abs.f32 %f155, %f328; + setp.leu.f32 %p12, %f155, 0f47CE4780; + @%p12 bra BB0_20; + + mov.b32 %r13, %f328; + shr.u32 %r14, %r13, 23; + shl.b32 %r123, %r13, 8; + or.b32 %r15, %r123, -2147483648; + add.u64 %rd42, %SP, 4; + cvta.to.local.u64 %rd108, %rd42; + mov.u32 %r253, 0; + mov.u64 %rd107, __cudart_i2opi_f; + mov.u32 %r252, -6; + +BB0_11: + .pragma "nounroll"; + ld.const.u32 %r126, [%rd107]; + // inline asm + { + mad.lo.cc.u32 %r124, %r126, %r15, %r253; + madc.hi.u32 %r253, %r126, %r15, 0; + } + // inline asm + st.local.u32 [%rd108], %r124; + add.s64 %rd108, %rd108, 4; + add.s64 %rd107, %rd107, 4; + add.s32 %r252, %r252, 1; + setp.ne.s32 %p13, %r252, 0; + @%p13 bra BB0_11; + + and.b32 %r129, %r14, 255; + add.s32 %r130, %r129, -128; + shr.u32 %r131, %r130, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd44, %rd42; + st.local.u32 [%rd44+24], %r253; + mov.u32 %r132, 6; + sub.s32 %r133, %r132, %r131; + mul.wide.s32 %rd45, %r133, 4; + add.s64 %rd8, %rd44, %rd45; + ld.local.u32 %r254, [%rd8]; + ld.local.u32 %r255, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p14, %r23, 0; + @%p14 bra BB0_14; + + mov.u32 %r134, 32; + sub.s32 %r135, %r134, %r23; + shr.u32 %r136, %r255, %r135; + shl.b32 %r137, %r254, %r23; + add.s32 %r254, %r136, %r137; + ld.local.u32 %r138, [%rd8+-8]; + shr.u32 %r139, %r138, %r135; + shl.b32 %r140, %r255, %r23; + add.s32 %r255, %r139, %r140; + +BB0_14: + shr.u32 %r141, %r255, 30; + shl.b32 %r142, %r254, 2; + add.s32 %r256, %r141, %r142; + shl.b32 %r29, %r255, 2; + shr.u32 %r143, %r256, 31; + shr.u32 %r144, %r254, 30; + add.s32 %r30, %r143, %r144; + setp.eq.s32 %p15, %r143, 0; + @%p15 bra BB0_15; + bra.uni BB0_16; + +BB0_15: + mov.u32 %r257, %r20; + mov.u32 %r258, %r29; + bra.uni BB0_17; + +BB0_16: + not.b32 %r145, %r256; + neg.s32 %r258, %r29; + setp.eq.s32 %p16, %r29, 0; + selp.u32 %r146, 1, 0, %p16; + add.s32 %r256, %r146, %r145; + xor.b32 %r257, %r20, -2147483648; + +BB0_17: + clz.b32 %r260, %r256; + setp.eq.s32 %p17, %r260, 0; + shl.b32 %r147, %r256, %r260; + mov.u32 %r148, 32; + sub.s32 %r149, %r148, %r260; + shr.u32 %r150, %r258, %r149; + add.s32 %r151, %r150, %r147; + selp.b32 %r38, %r256, %r151, %p17; + mov.u32 %r152, -921707870; + mul.hi.u32 %r259, %r38, %r152; + setp.eq.s32 %p18, %r20, 0; + neg.s32 %r153, %r30; + selp.b32 %r261, %r30, %r153, %p18; + setp.lt.s32 %p19, %r259, 1; + @%p19 bra BB0_19; + + mul.lo.s32 %r154, %r38, -921707870; + shr.u32 %r155, %r154, 31; + shl.b32 %r156, %r259, 1; + add.s32 %r259, %r155, %r156; + add.s32 %r260, %r260, 1; + +BB0_19: + mov.u32 %r157, 126; + sub.s32 %r158, %r157, %r260; + shl.b32 %r159, %r158, 23; + add.s32 %r160, %r259, 1; + shr.u32 %r161, %r160, 7; + add.s32 %r162, %r161, 1; + shr.u32 %r163, %r162, 1; + add.s32 %r164, %r163, %r159; + or.b32 %r165, %r164, %r257; + mov.b32 %f329, %r165; + +BB0_20: + mul.rn.f32 %f32, %f329, %f329; + add.s32 %r46, %r261, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p20, %r47, 0; + @%p20 bra BB0_22; + bra.uni BB0_21; + +BB0_22: + mov.f32 %f158, 0f3C08839E; + mov.f32 %f159, 0fB94CA1F9; + fma.rn.f32 %f330, %f159, %f32, %f158; + bra.uni BB0_23; + +BB0_21: + mov.f32 %f156, 0fBAB6061A; + mov.f32 %f157, 0f37CCF5CE; + fma.rn.f32 %f330, %f157, %f32, %f156; + +BB0_23: + @%p20 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f163, 0fBE2AAAA3; + fma.rn.f32 %f164, %f330, %f32, %f163; + mov.f32 %f165, 0f00000000; + fma.rn.f32 %f331, %f164, %f32, %f165; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f160, 0f3D2AAAA5; + fma.rn.f32 %f161, %f330, %f32, %f160; + mov.f32 %f162, 0fBF000000; + fma.rn.f32 %f331, %f161, %f32, %f162; + +BB0_26: + fma.rn.f32 %f332, %f331, %f329, %f329; + @%p20 bra BB0_28; + + mov.f32 %f166, 0f3F800000; + fma.rn.f32 %f332, %f331, %f32, %f166; + +BB0_28: + and.b32 %r166, %r46, 2; + setp.eq.s32 %p23, %r166, 0; + @%p23 bra BB0_30; + + mov.f32 %f167, 0f00000000; + mov.f32 %f168, 0fBF800000; + fma.rn.f32 %f332, %f332, %f168, %f167; + +BB0_30: + @%p11 bra BB0_32; + + mov.f32 %f169, 0f00000000; + mul.rn.f32 %f334, %f334, %f169; + +BB0_32: + mul.f32 %f170, %f334, 0f3F22F983; + cvt.rni.s32.f32 %r271, %f170; + cvt.rn.f32.s32 %f171, %r271; + neg.f32 %f172, %f171; + fma.rn.f32 %f174, %f172, %f150, %f334; + fma.rn.f32 %f176, %f172, %f152, %f174; + fma.rn.f32 %f335, %f172, %f154, %f176; + abs.f32 %f178, %f334; + setp.leu.f32 %p25, %f178, 0f47CE4780; + @%p25 bra BB0_43; + + mov.b32 %r49, %f334; + shr.u32 %r50, %r49, 23; + shl.b32 %r169, %r49, 8; + or.b32 %r51, %r169, -2147483648; + add.u64 %rd47, %SP, 4; + cvta.to.local.u64 %rd110, %rd47; + mov.u32 %r263, 0; + mov.u64 %rd109, __cudart_i2opi_f; + mov.u32 %r262, -6; + +BB0_34: + .pragma "nounroll"; + ld.const.u32 %r172, [%rd109]; + // inline asm + { + mad.lo.cc.u32 %r170, %r172, %r51, %r263; + madc.hi.u32 %r263, %r172, %r51, 0; + } + // inline asm + st.local.u32 [%rd110], %r170; + add.s64 %rd110, %rd110, 4; + add.s64 %rd109, %rd109, 4; + add.s32 %r262, %r262, 1; + setp.ne.s32 %p26, %r262, 0; + @%p26 bra BB0_34; + + and.b32 %r175, %r50, 255; + add.s32 %r176, %r175, -128; + shr.u32 %r177, %r176, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd49, %rd47; + st.local.u32 [%rd49+24], %r263; + mov.u32 %r178, 6; + sub.s32 %r179, %r178, %r177; + mul.wide.s32 %rd50, %r179, 4; + add.s64 %rd14, %rd49, %rd50; + ld.local.u32 %r264, [%rd14]; + ld.local.u32 %r265, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p27, %r59, 0; + @%p27 bra BB0_37; + + mov.u32 %r180, 32; + sub.s32 %r181, %r180, %r59; + shr.u32 %r182, %r265, %r181; + shl.b32 %r183, %r264, %r59; + add.s32 %r264, %r182, %r183; + ld.local.u32 %r184, [%rd14+-8]; + shr.u32 %r185, %r184, %r181; + shl.b32 %r186, %r265, %r59; + add.s32 %r265, %r185, %r186; + +BB0_37: + shr.u32 %r187, %r265, 30; + shl.b32 %r188, %r264, 2; + add.s32 %r266, %r187, %r188; + shl.b32 %r65, %r265, 2; + shr.u32 %r189, %r266, 31; + shr.u32 %r190, %r264, 30; + add.s32 %r66, %r189, %r190; + setp.eq.s32 %p28, %r189, 0; + @%p28 bra BB0_38; + bra.uni BB0_39; + +BB0_38: + mov.u32 %r267, %r56; + mov.u32 %r268, %r65; + bra.uni BB0_40; + +BB0_39: + not.b32 %r191, %r266; + neg.s32 %r268, %r65; + setp.eq.s32 %p29, %r65, 0; + selp.u32 %r192, 1, 0, %p29; + add.s32 %r266, %r192, %r191; + xor.b32 %r267, %r56, -2147483648; + +BB0_40: + clz.b32 %r270, %r266; + setp.eq.s32 %p30, %r270, 0; + shl.b32 %r193, %r266, %r270; + mov.u32 %r194, 32; + sub.s32 %r195, %r194, %r270; + shr.u32 %r196, %r268, %r195; + add.s32 %r197, %r196, %r193; + selp.b32 %r74, %r266, %r197, %p30; + mov.u32 %r198, -921707870; + mul.hi.u32 %r269, %r74, %r198; + setp.eq.s32 %p31, %r56, 0; + neg.s32 %r199, %r66; + selp.b32 %r271, %r66, %r199, %p31; + setp.lt.s32 %p32, %r269, 1; + @%p32 bra BB0_42; + + mul.lo.s32 %r200, %r74, -921707870; + shr.u32 %r201, %r200, 31; + shl.b32 %r202, %r269, 1; + add.s32 %r269, %r201, %r202; + add.s32 %r270, %r270, 1; + +BB0_42: + mov.u32 %r203, 126; + sub.s32 %r204, %r203, %r270; + shl.b32 %r205, %r204, 23; + add.s32 %r206, %r269, 1; + shr.u32 %r207, %r206, 7; + add.s32 %r208, %r207, 1; + shr.u32 %r209, %r208, 1; + add.s32 %r210, %r209, %r205; + or.b32 %r211, %r210, %r267; + mov.b32 %f335, %r211; + +BB0_43: + mul.rn.f32 %f49, %f335, %f335; + and.b32 %r82, %r271, 1; + setp.eq.s32 %p33, %r82, 0; + @%p33 bra BB0_45; + bra.uni BB0_44; + +BB0_45: + mov.f32 %f181, 0f3C08839E; + mov.f32 %f182, 0fB94CA1F9; + fma.rn.f32 %f336, %f182, %f49, %f181; + bra.uni BB0_46; + +BB0_44: + mov.f32 %f179, 0fBAB6061A; + mov.f32 %f180, 0f37CCF5CE; + fma.rn.f32 %f336, %f180, %f49, %f179; + +BB0_46: + @%p33 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f186, 0fBE2AAAA3; + fma.rn.f32 %f187, %f336, %f49, %f186; + mov.f32 %f188, 0f00000000; + fma.rn.f32 %f337, %f187, %f49, %f188; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f183, 0f3D2AAAA5; + fma.rn.f32 %f184, %f336, %f49, %f183; + mov.f32 %f185, 0fBF000000; + fma.rn.f32 %f337, %f184, %f49, %f185; + +BB0_49: + fma.rn.f32 %f338, %f337, %f335, %f335; + @%p33 bra BB0_51; + + mov.f32 %f189, 0f3F800000; + fma.rn.f32 %f338, %f337, %f49, %f189; + +BB0_51: + and.b32 %r212, %r271, 2; + setp.eq.s32 %p36, %r212, 0; + @%p36 bra BB0_53; + + mov.f32 %f190, 0f00000000; + mov.f32 %f191, 0fBF800000; + fma.rn.f32 %f338, %f338, %f191, %f190; + +BB0_53: + mul.f32 %f200, %f24, %f332; + add.u64 %rd51, %SP, 0; + cvta.to.local.u64 %rd52, %rd51; + mul.f32 %f201, %f200, %f200; + mov.f32 %f202, 0f3F800000; + sub.f32 %f203, %f202, %f201; + mul.f32 %f204, %f24, %f338; + mul.f32 %f205, %f204, %f204; + sub.f32 %f206, %f203, %f205; + mov.f32 %f207, 0f00000000; + max.f32 %f208, %f207, %f206; + sqrt.rn.f32 %f209, %f208; + mul.f32 %f210, %f10, %f204; + mul.f32 %f211, %f11, %f204; + mul.f32 %f212, %f12, %f204; + fma.rn.f32 %f213, %f19, %f200, %f210; + fma.rn.f32 %f214, %f18, %f200, %f211; + fma.rn.f32 %f215, %f17, %f200, %f212; + fma.rn.f32 %f195, %f323, %f209, %f213; + fma.rn.f32 %f196, %f324, %f209, %f214; + fma.rn.f32 %f197, %f325, %f209, %f215; + ld.global.f32 %f199, [lightRadius]; + mov.u32 %r216, 1065353216; + st.local.u32 [%rd52], %r216; + ld.global.u32 %r213, [root]; + mov.u32 %r214, 1; + // inline asm + call _rt_trace_64, (%r213, %f7, %f8, %f9, %f195, %f196, %f197, %r214, %f22, %f199, %rd51, %r90); + // inline asm + ld.local.f32 %f216, [%rd52]; + add.f32 %f340, %f340, %f216; + ld.global.u32 %r247, [samples]; + add.s32 %r250, %r250, 1; + setp.lt.s32 %p37, %r250, %r247; + @%p37 bra BB0_7; + +BB0_54: + add.s32 %r248, %r248, 1; + setp.lt.s32 %p38, %r248, %r247; + @%p38 bra BB0_5; + +BB0_55: + mul.lo.s32 %r217, %r247, %r247; + cvt.rn.f32.s32 %f217, %r217; + div.rn.f32 %f218, %f340, %f217; + add.f32 %f219, %f218, 0fBF800000; + ld.global.f32 %f220, [intensity]; + fma.rn.f32 %f221, %f220, %f219, 0f3F800000; + cvt.sat.f32.f32 %f64, %f221; + ld.global.u8 %rs10, [imageEnabled]; + and.b16 %rs11, %rs10, 4; + setp.eq.s16 %p39, %rs11, 0; + @%p39 bra BB0_59; + + ld.global.u32 %r218, [additive]; + setp.eq.s32 %p40, %r218, 0; + cvt.u64.u32 %rd15, %r2; + cvt.u64.u32 %rd16, %r3; + mov.f32 %f222, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs12, %f222;} + + // inline asm + @%p40 bra BB0_58; + + mov.u64 %rd65, image_HDR; + cvta.global.u64 %rd54, %rd65; + mov.u32 %r222, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r89, %r222, %rd15, %rd16, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs19, %rs20, %rs21, %rs22}, [%rd53]; + // inline asm + { cvt.f32.f16 %f223, %rs19;} + + // inline asm + // inline asm + { cvt.f32.f16 %f224, %rs20;} + + // inline asm + // inline asm + { cvt.f32.f16 %f225, %rs21;} + + // inline asm + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd54, %r89, %r222, %rd15, %rd16, %rd25, %rd25); + // inline asm + add.f32 %f226, %f64, %f223; + add.f32 %f227, %f64, %f224; + add.f32 %f228, %f64, %f225; + // inline asm + { cvt.rn.f16.f32 %rs18, %f228;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs17, %f227;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs16, %f226;} + + // inline asm + st.v4.u16 [%rd59], {%rs16, %rs17, %rs18, %rs12}; + bra.uni BB0_59; + +BB0_75: + mov.u64 %rd99, image_HDR; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r243, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r89, %r243, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f319, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs41, %f319;} + + // inline asm + mov.u16 %rs42, 0; + st.v4.u16 [%rd93], {%rs41, %rs41, %rs41, %rs42}; + +BB0_76: + ld.global.u8 %rs43, [imageEnabled]; + and.b16 %rs44, %rs43, 8; + setp.eq.s16 %p60, %rs44, 0; + @%p60 bra BB0_78; + + cvt.u64.u32 %rd102, %r2; + cvt.u64.u32 %rd103, %r3; + mov.u64 %rd106, image_Mask; + cvta.global.u64 %rd101, %rd106; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r89, %r89, %rd102, %rd103, %rd25, %rd25); + // inline asm + mov.f32 %f322, 0f00000000; + cvt.rzi.u32.f32 %r246, %f322; + cvt.u16.u32 %rs45, %r246; + mov.u16 %rs46, 0; + st.v2.u8 [%rd100], {%rs45, %rs46}; + bra.uni BB0_78; + +BB0_58: + mov.u64 %rd72, image_HDR; + cvta.global.u64 %rd67, %rd72; + mov.u32 %r224, 8; + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd67, %r89, %r224, %rd15, %rd16, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs23, %f64;} + + // inline asm + st.v4.u16 [%rd66], {%rs23, %rs23, %rs23, %rs12}; + +BB0_59: + ld.global.u8 %rs24, [imageEnabled]; + and.b16 %rs25, %rs24, 8; + setp.eq.s16 %p41, %rs25, 0; + @%p41 bra BB0_78; + + cvt.u64.u32 %rd75, %r2; + cvt.u64.u32 %rd76, %r3; + mov.u64 %rd79, image_Mask; + cvta.global.u64 %rd74, %rd79; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r89, %r89, %rd75, %rd76, %rd25, %rd25); + // inline asm + mov.f32 %f232, 0f3E68BA2E; + cvt.rzi.f32.f32 %f233, %f232; + fma.rn.f32 %f234, %f233, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f65, %f234; + abs.f32 %f66, %f64; + setp.lt.f32 %p42, %f66, 0f00800000; + mul.f32 %f235, %f66, 0f4B800000; + selp.f32 %f236, 0fC3170000, 0fC2FE0000, %p42; + selp.f32 %f237, %f235, %f66, %p42; + mov.b32 %r227, %f237; + and.b32 %r228, %r227, 8388607; + or.b32 %r229, %r228, 1065353216; + mov.b32 %f238, %r229; + shr.u32 %r230, %r227, 23; + cvt.rn.f32.u32 %f239, %r230; + add.f32 %f240, %f236, %f239; + setp.gt.f32 %p43, %f238, 0f3FB504F3; + mul.f32 %f241, %f238, 0f3F000000; + add.f32 %f242, %f240, 0f3F800000; + selp.f32 %f243, %f241, %f238, %p43; + selp.f32 %f244, %f242, %f240, %p43; + add.f32 %f245, %f243, 0fBF800000; + add.f32 %f231, %f243, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f230,%f231; + // inline asm + add.f32 %f246, %f245, %f245; + mul.f32 %f247, %f230, %f246; + mul.f32 %f248, %f247, %f247; + mov.f32 %f249, 0f3C4CAF63; + mov.f32 %f250, 0f3B18F0FE; + fma.rn.f32 %f251, %f250, %f248, %f249; + mov.f32 %f252, 0f3DAAAABD; + fma.rn.f32 %f253, %f251, %f248, %f252; + mul.rn.f32 %f254, %f253, %f248; + mul.rn.f32 %f255, %f254, %f247; + sub.f32 %f256, %f245, %f247; + neg.f32 %f257, %f247; + add.f32 %f258, %f256, %f256; + fma.rn.f32 %f259, %f257, %f245, %f258; + mul.rn.f32 %f260, %f230, %f259; + add.f32 %f261, %f255, %f247; + sub.f32 %f262, %f247, %f261; + add.f32 %f263, %f255, %f262; + add.f32 %f264, %f260, %f263; + add.f32 %f265, %f261, %f264; + sub.f32 %f266, %f261, %f265; + add.f32 %f267, %f264, %f266; + mov.f32 %f268, 0f3F317200; + mul.rn.f32 %f269, %f244, %f268; + mov.f32 %f270, 0f35BFBE8E; + mul.rn.f32 %f271, %f244, %f270; + add.f32 %f272, %f269, %f265; + sub.f32 %f273, %f269, %f272; + add.f32 %f274, %f265, %f273; + add.f32 %f275, %f267, %f274; + add.f32 %f276, %f271, %f275; + add.f32 %f277, %f272, %f276; + sub.f32 %f278, %f272, %f277; + add.f32 %f279, %f276, %f278; + mov.f32 %f280, 0f3EE8BA2E; + mul.rn.f32 %f281, %f280, %f277; + neg.f32 %f282, %f281; + fma.rn.f32 %f283, %f280, %f277, %f282; + fma.rn.f32 %f284, %f280, %f279, %f283; + mov.f32 %f285, 0f00000000; + fma.rn.f32 %f286, %f285, %f277, %f284; + add.rn.f32 %f287, %f281, %f286; + neg.f32 %f288, %f287; + add.rn.f32 %f289, %f281, %f288; + add.rn.f32 %f290, %f289, %f286; + mov.b32 %r231, %f287; + setp.eq.s32 %p44, %r231, 1118925336; + add.s32 %r232, %r231, -1; + mov.b32 %f291, %r232; + add.f32 %f292, %f290, 0f37000000; + selp.f32 %f293, %f291, %f287, %p44; + selp.f32 %f67, %f292, %f290, %p44; + mul.f32 %f294, %f293, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f295, %f294; + mov.f32 %f296, 0fBF317200; + fma.rn.f32 %f297, %f295, %f296, %f293; + mov.f32 %f298, 0fB5BFBE8E; + fma.rn.f32 %f299, %f295, %f298, %f297; + mul.f32 %f300, %f299, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f301, %f300; + add.f32 %f302, %f295, 0f00000000; + ex2.approx.f32 %f303, %f302; + mul.f32 %f304, %f301, %f303; + setp.lt.f32 %p45, %f293, 0fC2D20000; + selp.f32 %f305, 0f00000000, %f304, %p45; + setp.gt.f32 %p46, %f293, 0f42D20000; + selp.f32 %f342, 0f7F800000, %f305, %p46; + setp.eq.f32 %p47, %f342, 0f7F800000; + @%p47 bra BB0_62; + + fma.rn.f32 %f342, %f342, %f67, %f342; + +BB0_62: + setp.lt.f32 %p48, %f64, 0f00000000; + setp.eq.f32 %p49, %f65, 0f3F800000; + and.pred %p1, %p48, %p49; + mov.b32 %r233, %f342; + xor.b32 %r234, %r233, -2147483648; + mov.b32 %f306, %r234; + selp.f32 %f344, %f306, %f342, %p1; + setp.eq.f32 %p50, %f64, 0f00000000; + @%p50 bra BB0_65; + bra.uni BB0_63; + +BB0_65: + add.f32 %f309, %f64, %f64; + selp.f32 %f344, %f309, 0f00000000, %p49; + bra.uni BB0_66; + +BB0_63: + setp.geu.f32 %p51, %f64, 0f00000000; + @%p51 bra BB0_66; + + cvt.rzi.f32.f32 %f308, %f280; + setp.neu.f32 %p52, %f308, 0f3EE8BA2E; + selp.f32 %f344, 0f7FFFFFFF, %f344, %p52; + +BB0_66: + add.f32 %f310, %f66, 0f3EE8BA2E; + mov.b32 %r235, %f310; + setp.lt.s32 %p54, %r235, 2139095040; + @%p54 bra BB0_71; + + setp.gtu.f32 %p55, %f66, 0f7F800000; + @%p55 bra BB0_70; + bra.uni BB0_68; + +BB0_70: + add.f32 %f344, %f64, 0f3EE8BA2E; + bra.uni BB0_71; + +BB0_68: + setp.neu.f32 %p56, %f66, 0f7F800000; + @%p56 bra BB0_71; + + selp.f32 %f344, 0fFF800000, 0f7F800000, %p1; + +BB0_71: + mul.f32 %f311, %f344, 0f437F0000; + setp.eq.f32 %p57, %f64, 0f3F800000; + selp.f32 %f312, 0f437F0000, %f311, %p57; + cvt.rzi.u32.f32 %r236, %f312; + cvt.u16.u32 %rs26, %r236; + mov.u16 %rs27, 255; + st.v2.u8 [%rd73], {%rs26, %rs27}; + +BB0_78: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx.meta new file mode 100644 index 00000000..d33679ad --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAO.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 63fee9abd3eaf564b81dc332e5b5955d +timeCreated: 1534419389 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx new file mode 100644 index 00000000..edb76b28 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx @@ -0,0 +1,1098 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightRadius; +.global .align 4 .f32 intensity; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9intensityE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9intensityE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9intensityE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9intensityE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9intensityE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<63>; + .reg .b16 %rs<48>; + .reg .f32 %f<392>; + .reg .b32 %r<294>; + .reg .b64 %rd<126>; + + + mov.u64 %rd125, __local_depot0; + cvta.local.u64 %SP, %rd125; + ld.global.v2.u32 {%r97, %r98}, [pixelID]; + cvt.u64.u32 %rd22, %r97; + cvt.u64.u32 %rd23, %r98; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r95, 2; + mov.u32 %r96, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r95, %r96, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r1, [%rd20]; + shr.u32 %r101, %r1, 16; + cvt.u16.u32 %rs1, %r101; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r1; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p2, %rs5, 0; + mov.f32 %f358, 0f00000000; + mov.f32 %f359, %f358; + mov.f32 %f360, %f358; + @%p2 bra BB0_2; + + ld.u8 %rs6, [%rd20+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f96, %rs8; + div.rn.f32 %f97, %f96, 0f437F0000; + fma.rn.f32 %f98, %f97, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f99, %rs6; + div.rn.f32 %f100, %f99, 0f437F0000; + fma.rn.f32 %f101, %f100, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f102, %rs3; + div.rn.f32 %f103, %f102, 0f437F0000; + fma.rn.f32 %f104, %f103, 0f40000000, 0fBF800000; + mul.f32 %f105, %f101, %f101; + fma.rn.f32 %f106, %f98, %f98, %f105; + fma.rn.f32 %f107, %f104, %f104, %f106; + sqrt.rn.f32 %f108, %f107; + rcp.rn.f32 %f109, %f108; + mul.f32 %f358, %f98, %f109; + mul.f32 %f359, %f101, %f109; + mul.f32 %f360, %f104, %f109; + +BB0_2: + ld.global.v2.u32 {%r102, %r103}, [pixelID]; + ld.global.v2.u32 {%r105, %r106}, [tileInfo]; + add.s32 %r2, %r102, %r105; + add.s32 %r3, %r103, %r106; + setp.eq.f32 %p3, %f359, 0f00000000; + setp.eq.f32 %p4, %f358, 0f00000000; + and.pred %p5, %p4, %p3; + setp.eq.f32 %p6, %f360, 0f00000000; + and.pred %p7, %p5, %p6; + @%p7 bra BB0_75; + bra.uni BB0_3; + +BB0_75: + ld.global.u8 %rs30, [imageEnabled]; + and.b16 %rs31, %rs30, 4; + setp.eq.s16 %p59, %rs31, 0; + @%p59 bra BB0_79; + + ld.global.u32 %r250, [additive]; + setp.eq.s32 %p60, %r250, 0; + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + @%p60 bra BB0_78; + + mov.u64 %rd99, image_HDR; + cvta.global.u64 %rd88, %rd99; + mov.u32 %r254, 8; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r95, %r254, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs38, %rs39, %rs40, %rs41}, [%rd87]; + // inline asm + { cvt.f32.f16 %f348, %rs38;} + + // inline asm + // inline asm + { cvt.f32.f16 %f349, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f350, %rs40;} + + // inline asm + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd88, %r95, %r254, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f351, %f348, 0f00000000; + add.f32 %f352, %f349, 0f00000000; + add.f32 %f353, %f350, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs37, %f353;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f352;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs35, %f351;} + + // inline asm + mov.u16 %rs42, 0; + st.v4.u16 [%rd93], {%rs35, %rs36, %rs37, %rs42}; + bra.uni BB0_79; + +BB0_3: + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + cvt.u64.u32 %rd29, %r114; + cvt.u64.u32 %rd30, %r115; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r111, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r95, %r111, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f114, [%rd27+8]; + ld.f32 %f115, [%rd27+4]; + ld.f32 %f116, [%rd27]; + mul.f32 %f117, %f116, 0f3456BF95; + mul.f32 %f118, %f115, 0f3456BF95; + mul.f32 %f119, %f114, 0f3456BF95; + abs.f32 %f120, %f358; + div.rn.f32 %f121, %f117, %f120; + abs.f32 %f122, %f359; + div.rn.f32 %f123, %f118, %f122; + abs.f32 %f124, %f360; + div.rn.f32 %f125, %f119, %f124; + abs.f32 %f126, %f121; + abs.f32 %f127, %f123; + abs.f32 %f128, %f125; + mov.f32 %f129, 0f38D1B717; + max.f32 %f130, %f126, %f129; + max.f32 %f131, %f127, %f129; + max.f32 %f132, %f128, %f129; + fma.rn.f32 %f7, %f358, %f130, %f116; + fma.rn.f32 %f8, %f359, %f131, %f115; + fma.rn.f32 %f9, %f360, %f132, %f114; + setp.gt.f32 %p8, %f120, %f124; + neg.f32 %f133, %f359; + selp.f32 %f134, %f133, 0f00000000, %p8; + neg.f32 %f135, %f360; + selp.f32 %f136, %f358, %f135, %p8; + selp.f32 %f137, 0f00000000, %f359, %p8; + mul.f32 %f138, %f136, %f136; + fma.rn.f32 %f139, %f134, %f134, %f138; + fma.rn.f32 %f140, %f137, %f137, %f139; + sqrt.rn.f32 %f141, %f140; + rcp.rn.f32 %f142, %f141; + mul.f32 %f10, %f134, %f142; + mul.f32 %f11, %f136, %f142; + mul.f32 %f12, %f137, %f142; + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd35, %r118; + cvt.u64.u32 %rd36, %r119; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r95, %r96, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.global.u32 %r264, [samples]; + mov.f32 %f381, 0f00000000; + setp.lt.s32 %p9, %r264, 1; + @%p9 bra BB0_4; + + cvt.rn.f32.s32 %f147, %r264; + rcp.rn.f32 %f13, %f147; + ld.u32 %r290, [%rd33]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f148, %f358, %f11; + mul.f32 %f149, %f359, %f10; + sub.f32 %f17, %f149, %f148; + mul.f32 %f150, %f360, %f10; + mul.f32 %f151, %f358, %f12; + sub.f32 %f18, %f151, %f150; + mul.f32 %f152, %f359, %f12; + mul.f32 %f153, %f360, %f11; + sub.f32 %f19, %f153, %f152; + mov.f32 %f381, 0f00000000; + mov.u32 %r265, 0; + abs.f32 %f154, %f15; + abs.f32 %f155, %f14; + max.f32 %f156, %f155, %f154; + abs.f32 %f157, %f16; + max.f32 %f158, %f156, %f157; + mov.f32 %f382, %f381; + mov.f32 %f383, %f381; + mov.f32 %f384, %f381; + +BB0_6: + setp.lt.s32 %p10, %r264, 1; + @%p10 bra BB0_55; + + cvt.rn.f32.s32 %f24, %r265; + max.f32 %f25, %f158, %f129; + mov.u32 %r267, 0; + +BB0_8: + mad.lo.s32 %r124, %r290, 1664525, 1013904223; + and.b32 %r125, %r124, 16777215; + cvt.rn.f32.u32 %f160, %r125; + fma.rn.f32 %f161, %f160, 0f33800000, %f24; + mul.f32 %f162, %f13, %f161; + mad.lo.s32 %r290, %r124, 1664525, 1013904223; + and.b32 %r126, %r290, 16777215; + cvt.rn.f32.u32 %f163, %r126; + cvt.rn.f32.s32 %f164, %r267; + fma.rn.f32 %f165, %f163, 0f33800000, %f164; + mul.f32 %f166, %f13, %f165; + sqrt.rn.f32 %f30, %f162; + mul.f32 %f375, %f166, 0f40C90FDB; + abs.f32 %f32, %f375; + setp.neu.f32 %p11, %f32, 0f7F800000; + mov.f32 %f369, %f375; + @%p11 bra BB0_10; + + mov.f32 %f167, 0f00000000; + mul.rn.f32 %f369, %f375, %f167; + +BB0_10: + mul.f32 %f168, %f369, 0f3F22F983; + cvt.rni.s32.f32 %r278, %f168; + cvt.rn.f32.s32 %f169, %r278; + neg.f32 %f170, %f169; + mov.f32 %f171, 0f3FC90FDA; + fma.rn.f32 %f172, %f170, %f171, %f369; + mov.f32 %f173, 0f33A22168; + fma.rn.f32 %f174, %f170, %f173, %f172; + mov.f32 %f175, 0f27C234C5; + fma.rn.f32 %f370, %f170, %f175, %f174; + abs.f32 %f176, %f369; + setp.leu.f32 %p12, %f176, 0f47CE4780; + @%p12 bra BB0_21; + + mov.b32 %r13, %f369; + shr.u32 %r14, %r13, 23; + shl.b32 %r129, %r13, 8; + or.b32 %r15, %r129, -2147483648; + add.u64 %rd42, %SP, 4; + cvta.to.local.u64 %rd122, %rd42; + mov.u32 %r270, 0; + mov.u64 %rd121, __cudart_i2opi_f; + mov.u32 %r269, -6; + +BB0_12: + .pragma "nounroll"; + ld.const.u32 %r132, [%rd121]; + // inline asm + { + mad.lo.cc.u32 %r130, %r132, %r15, %r270; + madc.hi.u32 %r270, %r132, %r15, 0; + } + // inline asm + st.local.u32 [%rd122], %r130; + add.s64 %rd122, %rd122, 4; + add.s64 %rd121, %rd121, 4; + add.s32 %r269, %r269, 1; + setp.ne.s32 %p13, %r269, 0; + @%p13 bra BB0_12; + + and.b32 %r135, %r14, 255; + add.s32 %r136, %r135, -128; + shr.u32 %r137, %r136, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd44, %rd42; + st.local.u32 [%rd44+24], %r270; + mov.u32 %r138, 6; + sub.s32 %r139, %r138, %r137; + mul.wide.s32 %rd45, %r139, 4; + add.s64 %rd8, %rd44, %rd45; + ld.local.u32 %r271, [%rd8]; + ld.local.u32 %r272, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p14, %r23, 0; + @%p14 bra BB0_15; + + mov.u32 %r140, 32; + sub.s32 %r141, %r140, %r23; + shr.u32 %r142, %r272, %r141; + shl.b32 %r143, %r271, %r23; + add.s32 %r271, %r142, %r143; + ld.local.u32 %r144, [%rd8+-8]; + shr.u32 %r145, %r144, %r141; + shl.b32 %r146, %r272, %r23; + add.s32 %r272, %r145, %r146; + +BB0_15: + shr.u32 %r147, %r272, 30; + shl.b32 %r148, %r271, 2; + add.s32 %r273, %r147, %r148; + shl.b32 %r29, %r272, 2; + shr.u32 %r149, %r273, 31; + shr.u32 %r150, %r271, 30; + add.s32 %r30, %r149, %r150; + setp.eq.s32 %p15, %r149, 0; + @%p15 bra BB0_16; + bra.uni BB0_17; + +BB0_16: + mov.u32 %r274, %r20; + mov.u32 %r275, %r29; + bra.uni BB0_18; + +BB0_17: + not.b32 %r151, %r273; + neg.s32 %r275, %r29; + setp.eq.s32 %p16, %r29, 0; + selp.u32 %r152, 1, 0, %p16; + add.s32 %r273, %r152, %r151; + xor.b32 %r274, %r20, -2147483648; + +BB0_18: + clz.b32 %r277, %r273; + setp.eq.s32 %p17, %r277, 0; + shl.b32 %r153, %r273, %r277; + mov.u32 %r154, 32; + sub.s32 %r155, %r154, %r277; + shr.u32 %r156, %r275, %r155; + add.s32 %r157, %r156, %r153; + selp.b32 %r38, %r273, %r157, %p17; + mov.u32 %r158, -921707870; + mul.hi.u32 %r276, %r38, %r158; + setp.eq.s32 %p18, %r20, 0; + neg.s32 %r159, %r30; + selp.b32 %r278, %r30, %r159, %p18; + setp.lt.s32 %p19, %r276, 1; + @%p19 bra BB0_20; + + mul.lo.s32 %r160, %r38, -921707870; + shr.u32 %r161, %r160, 31; + shl.b32 %r162, %r276, 1; + add.s32 %r276, %r161, %r162; + add.s32 %r277, %r277, 1; + +BB0_20: + mov.u32 %r163, 126; + sub.s32 %r164, %r163, %r277; + shl.b32 %r165, %r164, 23; + add.s32 %r166, %r276, 1; + shr.u32 %r167, %r166, 7; + add.s32 %r168, %r167, 1; + shr.u32 %r169, %r168, 1; + add.s32 %r170, %r169, %r165; + or.b32 %r171, %r170, %r274; + mov.b32 %f370, %r171; + +BB0_21: + mul.rn.f32 %f38, %f370, %f370; + add.s32 %r46, %r278, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p20, %r47, 0; + @%p20 bra BB0_23; + bra.uni BB0_22; + +BB0_23: + mov.f32 %f179, 0f3C08839E; + mov.f32 %f180, 0fB94CA1F9; + fma.rn.f32 %f371, %f180, %f38, %f179; + bra.uni BB0_24; + +BB0_22: + mov.f32 %f177, 0fBAB6061A; + mov.f32 %f178, 0f37CCF5CE; + fma.rn.f32 %f371, %f178, %f38, %f177; + +BB0_24: + @%p20 bra BB0_26; + bra.uni BB0_25; + +BB0_26: + mov.f32 %f184, 0fBE2AAAA3; + fma.rn.f32 %f185, %f371, %f38, %f184; + mov.f32 %f186, 0f00000000; + fma.rn.f32 %f372, %f185, %f38, %f186; + bra.uni BB0_27; + +BB0_25: + mov.f32 %f181, 0f3D2AAAA5; + fma.rn.f32 %f182, %f371, %f38, %f181; + mov.f32 %f183, 0fBF000000; + fma.rn.f32 %f372, %f182, %f38, %f183; + +BB0_27: + fma.rn.f32 %f373, %f372, %f370, %f370; + @%p20 bra BB0_29; + + mov.f32 %f187, 0f3F800000; + fma.rn.f32 %f373, %f372, %f38, %f187; + +BB0_29: + and.b32 %r172, %r46, 2; + setp.eq.s32 %p23, %r172, 0; + @%p23 bra BB0_31; + + mov.f32 %f188, 0f00000000; + mov.f32 %f189, 0fBF800000; + fma.rn.f32 %f373, %f373, %f189, %f188; + +BB0_31: + @%p11 bra BB0_33; + + mov.f32 %f190, 0f00000000; + mul.rn.f32 %f375, %f375, %f190; + +BB0_33: + mul.f32 %f191, %f375, 0f3F22F983; + cvt.rni.s32.f32 %r288, %f191; + cvt.rn.f32.s32 %f192, %r288; + neg.f32 %f193, %f192; + fma.rn.f32 %f195, %f193, %f171, %f375; + fma.rn.f32 %f197, %f193, %f173, %f195; + fma.rn.f32 %f376, %f193, %f175, %f197; + abs.f32 %f199, %f375; + setp.leu.f32 %p25, %f199, 0f47CE4780; + @%p25 bra BB0_44; + + mov.b32 %r49, %f375; + shr.u32 %r50, %r49, 23; + shl.b32 %r175, %r49, 8; + or.b32 %r51, %r175, -2147483648; + add.u64 %rd47, %SP, 4; + cvta.to.local.u64 %rd124, %rd47; + mov.u32 %r280, 0; + mov.u64 %rd123, __cudart_i2opi_f; + mov.u32 %r279, -6; + +BB0_35: + .pragma "nounroll"; + ld.const.u32 %r178, [%rd123]; + // inline asm + { + mad.lo.cc.u32 %r176, %r178, %r51, %r280; + madc.hi.u32 %r280, %r178, %r51, 0; + } + // inline asm + st.local.u32 [%rd124], %r176; + add.s64 %rd124, %rd124, 4; + add.s64 %rd123, %rd123, 4; + add.s32 %r279, %r279, 1; + setp.ne.s32 %p26, %r279, 0; + @%p26 bra BB0_35; + + and.b32 %r181, %r50, 255; + add.s32 %r182, %r181, -128; + shr.u32 %r183, %r182, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd49, %rd47; + st.local.u32 [%rd49+24], %r280; + mov.u32 %r184, 6; + sub.s32 %r185, %r184, %r183; + mul.wide.s32 %rd50, %r185, 4; + add.s64 %rd14, %rd49, %rd50; + ld.local.u32 %r281, [%rd14]; + ld.local.u32 %r282, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p27, %r59, 0; + @%p27 bra BB0_38; + + mov.u32 %r186, 32; + sub.s32 %r187, %r186, %r59; + shr.u32 %r188, %r282, %r187; + shl.b32 %r189, %r281, %r59; + add.s32 %r281, %r188, %r189; + ld.local.u32 %r190, [%rd14+-8]; + shr.u32 %r191, %r190, %r187; + shl.b32 %r192, %r282, %r59; + add.s32 %r282, %r191, %r192; + +BB0_38: + shr.u32 %r193, %r282, 30; + shl.b32 %r194, %r281, 2; + add.s32 %r283, %r193, %r194; + shl.b32 %r65, %r282, 2; + shr.u32 %r195, %r283, 31; + shr.u32 %r196, %r281, 30; + add.s32 %r66, %r195, %r196; + setp.eq.s32 %p28, %r195, 0; + @%p28 bra BB0_39; + bra.uni BB0_40; + +BB0_39: + mov.u32 %r284, %r56; + mov.u32 %r285, %r65; + bra.uni BB0_41; + +BB0_40: + not.b32 %r197, %r283; + neg.s32 %r285, %r65; + setp.eq.s32 %p29, %r65, 0; + selp.u32 %r198, 1, 0, %p29; + add.s32 %r283, %r198, %r197; + xor.b32 %r284, %r56, -2147483648; + +BB0_41: + clz.b32 %r287, %r283; + setp.eq.s32 %p30, %r287, 0; + shl.b32 %r199, %r283, %r287; + mov.u32 %r200, 32; + sub.s32 %r201, %r200, %r287; + shr.u32 %r202, %r285, %r201; + add.s32 %r203, %r202, %r199; + selp.b32 %r74, %r283, %r203, %p30; + mov.u32 %r204, -921707870; + mul.hi.u32 %r286, %r74, %r204; + setp.eq.s32 %p31, %r56, 0; + neg.s32 %r205, %r66; + selp.b32 %r288, %r66, %r205, %p31; + setp.lt.s32 %p32, %r286, 1; + @%p32 bra BB0_43; + + mul.lo.s32 %r206, %r74, -921707870; + shr.u32 %r207, %r206, 31; + shl.b32 %r208, %r286, 1; + add.s32 %r286, %r207, %r208; + add.s32 %r287, %r287, 1; + +BB0_43: + mov.u32 %r209, 126; + sub.s32 %r210, %r209, %r287; + shl.b32 %r211, %r210, 23; + add.s32 %r212, %r286, 1; + shr.u32 %r213, %r212, 7; + add.s32 %r214, %r213, 1; + shr.u32 %r215, %r214, 1; + add.s32 %r216, %r215, %r211; + or.b32 %r217, %r216, %r284; + mov.b32 %f376, %r217; + +BB0_44: + mul.rn.f32 %f55, %f376, %f376; + and.b32 %r82, %r288, 1; + setp.eq.s32 %p33, %r82, 0; + @%p33 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f202, 0f3C08839E; + mov.f32 %f203, 0fB94CA1F9; + fma.rn.f32 %f377, %f203, %f55, %f202; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f200, 0fBAB6061A; + mov.f32 %f201, 0f37CCF5CE; + fma.rn.f32 %f377, %f201, %f55, %f200; + +BB0_47: + @%p33 bra BB0_49; + bra.uni BB0_48; + +BB0_49: + mov.f32 %f207, 0fBE2AAAA3; + fma.rn.f32 %f208, %f377, %f55, %f207; + mov.f32 %f209, 0f00000000; + fma.rn.f32 %f378, %f208, %f55, %f209; + bra.uni BB0_50; + +BB0_48: + mov.f32 %f204, 0f3D2AAAA5; + fma.rn.f32 %f205, %f377, %f55, %f204; + mov.f32 %f206, 0fBF000000; + fma.rn.f32 %f378, %f205, %f55, %f206; + +BB0_50: + fma.rn.f32 %f379, %f378, %f376, %f376; + @%p33 bra BB0_52; + + mov.f32 %f210, 0f3F800000; + fma.rn.f32 %f379, %f378, %f55, %f210; + +BB0_52: + and.b32 %r218, %r288, 2; + setp.eq.s32 %p36, %r218, 0; + @%p36 bra BB0_54; + + mov.f32 %f211, 0f00000000; + mov.f32 %f212, 0fBF800000; + fma.rn.f32 %f379, %f379, %f212, %f211; + +BB0_54: + mul.f32 %f221, %f30, %f373; + add.u64 %rd51, %SP, 0; + cvta.to.local.u64 %rd52, %rd51; + mul.f32 %f222, %f221, %f221; + mov.f32 %f223, 0f3F800000; + sub.f32 %f224, %f223, %f222; + mul.f32 %f225, %f30, %f379; + mul.f32 %f226, %f225, %f225; + sub.f32 %f227, %f224, %f226; + mov.f32 %f228, 0f00000000; + max.f32 %f229, %f228, %f227; + sqrt.rn.f32 %f230, %f229; + mul.f32 %f231, %f10, %f225; + mul.f32 %f232, %f11, %f225; + mul.f32 %f233, %f12, %f225; + fma.rn.f32 %f234, %f19, %f221, %f231; + fma.rn.f32 %f235, %f18, %f221, %f232; + fma.rn.f32 %f236, %f17, %f221, %f233; + fma.rn.f32 %f216, %f358, %f230, %f234; + fma.rn.f32 %f217, %f359, %f230, %f235; + fma.rn.f32 %f218, %f360, %f230, %f236; + ld.global.f32 %f220, [lightRadius]; + mov.u32 %r222, 1065353216; + st.local.u32 [%rd52], %r222; + ld.global.u32 %r219, [root]; + mov.u32 %r220, 1; + // inline asm + call _rt_trace_64, (%r219, %f7, %f8, %f9, %f216, %f217, %f218, %r220, %f25, %f220, %rd51, %r96); + // inline asm + ld.local.f32 %f237, [%rd52]; + add.f32 %f381, %f381, %f237; + fma.rn.f32 %f384, %f216, %f237, %f384; + fma.rn.f32 %f383, %f217, %f237, %f383; + fma.rn.f32 %f382, %f218, %f237, %f382; + ld.global.u32 %r264, [samples]; + add.s32 %r267, %r267, 1; + setp.lt.s32 %p37, %r267, %r264; + @%p37 bra BB0_8; + +BB0_55: + add.s32 %r265, %r265, 1; + setp.lt.s32 %p38, %r265, %r264; + @%p38 bra BB0_6; + bra.uni BB0_56; + +BB0_4: + mov.f32 %f382, %f381; + mov.f32 %f383, %f381; + mov.f32 %f384, %f381; + +BB0_56: + mul.lo.s32 %r223, %r264, %r264; + cvt.rn.f32.s32 %f238, %r223; + div.rn.f32 %f239, %f381, %f238; + add.f32 %f240, %f239, 0fBF800000; + ld.global.f32 %f241, [intensity]; + fma.rn.f32 %f242, %f241, %f240, 0f3F800000; + cvt.sat.f32.f32 %f79, %f242; + ld.global.u8 %rs10, [imageEnabled]; + and.b16 %rs11, %rs10, 4; + setp.eq.s16 %p39, %rs11, 0; + @%p39 bra BB0_60; + + ld.global.u32 %r224, [additive]; + setp.eq.s32 %p40, %r224, 0; + cvt.u64.u32 %rd15, %r2; + cvt.u64.u32 %rd16, %r3; + mov.f32 %f243, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs12, %f243;} + + // inline asm + @%p40 bra BB0_59; + + mov.u64 %rd65, image_HDR; + cvta.global.u64 %rd54, %rd65; + mov.u32 %r228, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r95, %r228, %rd15, %rd16, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs19, %rs20, %rs21, %rs22}, [%rd53]; + // inline asm + { cvt.f32.f16 %f244, %rs19;} + + // inline asm + // inline asm + { cvt.f32.f16 %f245, %rs20;} + + // inline asm + // inline asm + { cvt.f32.f16 %f246, %rs21;} + + // inline asm + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd54, %r95, %r228, %rd15, %rd16, %rd25, %rd25); + // inline asm + add.f32 %f247, %f79, %f244; + add.f32 %f248, %f79, %f245; + add.f32 %f249, %f79, %f246; + // inline asm + { cvt.rn.f16.f32 %rs18, %f249;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs17, %f248;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs16, %f247;} + + // inline asm + st.v4.u16 [%rd59], {%rs16, %rs17, %rs18, %rs12}; + bra.uni BB0_60; + +BB0_78: + mov.u64 %rd106, image_HDR; + cvta.global.u64 %rd101, %rd106; + mov.u32 %r256, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r95, %r256, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f354, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs43, %f354;} + + // inline asm + mov.u16 %rs44, 0; + st.v4.u16 [%rd100], {%rs43, %rs43, %rs43, %rs44}; + +BB0_79: + ld.global.u32 %r293, [imageEnabled]; + and.b32 %r257, %r293, 8; + setp.eq.s32 %p61, %r257, 0; + @%p61 bra BB0_81; + + cvt.u64.u32 %rd109, %r2; + cvt.u64.u32 %rd110, %r3; + mov.u64 %rd113, image_Mask; + cvta.global.u64 %rd108, %rd113; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r95, %r95, %rd109, %rd110, %rd25, %rd25); + // inline asm + mov.f32 %f357, 0f00000000; + cvt.rzi.u32.f32 %r260, %f357; + cvt.u16.u32 %rs45, %r260; + mov.u16 %rs46, 0; + st.v2.u8 [%rd107], {%rs45, %rs46}; + ld.global.u32 %r293, [imageEnabled]; + +BB0_81: + and.b32 %r261, %r293, 64; + setp.eq.s32 %p62, %r261, 0; + @%p62 bra BB0_83; + + cvt.u64.u32 %rd116, %r2; + cvt.u64.u32 %rd117, %r3; + mov.u64 %rd120, image_Dir; + cvta.global.u64 %rd115, %rd120; + // inline asm + call (%rd114), _rt_buffer_get_64, (%rd115, %r95, %r96, %rd116, %rd117, %rd25, %rd25); + // inline asm + mov.u16 %rs47, 0; + st.v4.u8 [%rd114], {%rs47, %rs47, %rs47, %rs47}; + bra.uni BB0_83; + +BB0_59: + mov.u64 %rd72, image_HDR; + cvta.global.u64 %rd67, %rd72; + mov.u32 %r230, 8; + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd67, %r95, %r230, %rd15, %rd16, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs23, %f79;} + + // inline asm + st.v4.u16 [%rd66], {%rs23, %rs23, %rs23, %rs12}; + +BB0_60: + ld.global.u32 %r292, [imageEnabled]; + and.b32 %r231, %r292, 8; + setp.eq.s32 %p41, %r231, 0; + @%p41 bra BB0_73; + + cvt.u64.u32 %rd75, %r2; + cvt.u64.u32 %rd76, %r3; + mov.u64 %rd79, image_Mask; + cvta.global.u64 %rd74, %rd79; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r95, %r95, %rd75, %rd76, %rd25, %rd25); + // inline asm + mov.f32 %f253, 0f3E68BA2E; + cvt.rzi.f32.f32 %f254, %f253; + fma.rn.f32 %f255, %f254, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f80, %f255; + abs.f32 %f81, %f79; + setp.lt.f32 %p42, %f81, 0f00800000; + mul.f32 %f256, %f81, 0f4B800000; + selp.f32 %f257, 0fC3170000, 0fC2FE0000, %p42; + selp.f32 %f258, %f256, %f81, %p42; + mov.b32 %r234, %f258; + and.b32 %r235, %r234, 8388607; + or.b32 %r236, %r235, 1065353216; + mov.b32 %f259, %r236; + shr.u32 %r237, %r234, 23; + cvt.rn.f32.u32 %f260, %r237; + add.f32 %f261, %f257, %f260; + setp.gt.f32 %p43, %f259, 0f3FB504F3; + mul.f32 %f262, %f259, 0f3F000000; + add.f32 %f263, %f261, 0f3F800000; + selp.f32 %f264, %f262, %f259, %p43; + selp.f32 %f265, %f263, %f261, %p43; + add.f32 %f266, %f264, 0fBF800000; + add.f32 %f252, %f264, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f251,%f252; + // inline asm + add.f32 %f267, %f266, %f266; + mul.f32 %f268, %f251, %f267; + mul.f32 %f269, %f268, %f268; + mov.f32 %f270, 0f3C4CAF63; + mov.f32 %f271, 0f3B18F0FE; + fma.rn.f32 %f272, %f271, %f269, %f270; + mov.f32 %f273, 0f3DAAAABD; + fma.rn.f32 %f274, %f272, %f269, %f273; + mul.rn.f32 %f275, %f274, %f269; + mul.rn.f32 %f276, %f275, %f268; + sub.f32 %f277, %f266, %f268; + neg.f32 %f278, %f268; + add.f32 %f279, %f277, %f277; + fma.rn.f32 %f280, %f278, %f266, %f279; + mul.rn.f32 %f281, %f251, %f280; + add.f32 %f282, %f276, %f268; + sub.f32 %f283, %f268, %f282; + add.f32 %f284, %f276, %f283; + add.f32 %f285, %f281, %f284; + add.f32 %f286, %f282, %f285; + sub.f32 %f287, %f282, %f286; + add.f32 %f288, %f285, %f287; + mov.f32 %f289, 0f3F317200; + mul.rn.f32 %f290, %f265, %f289; + mov.f32 %f291, 0f35BFBE8E; + mul.rn.f32 %f292, %f265, %f291; + add.f32 %f293, %f290, %f286; + sub.f32 %f294, %f290, %f293; + add.f32 %f295, %f286, %f294; + add.f32 %f296, %f288, %f295; + add.f32 %f297, %f292, %f296; + add.f32 %f298, %f293, %f297; + sub.f32 %f299, %f293, %f298; + add.f32 %f300, %f297, %f299; + mov.f32 %f301, 0f3EE8BA2E; + mul.rn.f32 %f302, %f301, %f298; + neg.f32 %f303, %f302; + fma.rn.f32 %f304, %f301, %f298, %f303; + fma.rn.f32 %f305, %f301, %f300, %f304; + mov.f32 %f306, 0f00000000; + fma.rn.f32 %f307, %f306, %f298, %f305; + add.rn.f32 %f308, %f302, %f307; + neg.f32 %f309, %f308; + add.rn.f32 %f310, %f302, %f309; + add.rn.f32 %f311, %f310, %f307; + mov.b32 %r238, %f308; + setp.eq.s32 %p44, %r238, 1118925336; + add.s32 %r239, %r238, -1; + mov.b32 %f312, %r239; + add.f32 %f313, %f311, 0f37000000; + selp.f32 %f314, %f312, %f308, %p44; + selp.f32 %f82, %f313, %f311, %p44; + mul.f32 %f315, %f314, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f316, %f315; + mov.f32 %f317, 0fBF317200; + fma.rn.f32 %f318, %f316, %f317, %f314; + mov.f32 %f319, 0fB5BFBE8E; + fma.rn.f32 %f320, %f316, %f319, %f318; + mul.f32 %f321, %f320, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f322, %f321; + add.f32 %f323, %f316, 0f00000000; + ex2.approx.f32 %f324, %f323; + mul.f32 %f325, %f322, %f324; + setp.lt.f32 %p45, %f314, 0fC2D20000; + selp.f32 %f326, 0f00000000, %f325, %p45; + setp.gt.f32 %p46, %f314, 0f42D20000; + selp.f32 %f389, 0f7F800000, %f326, %p46; + setp.eq.f32 %p47, %f389, 0f7F800000; + @%p47 bra BB0_63; + + fma.rn.f32 %f389, %f389, %f82, %f389; + +BB0_63: + setp.lt.f32 %p48, %f79, 0f00000000; + setp.eq.f32 %p49, %f80, 0f3F800000; + and.pred %p1, %p48, %p49; + mov.b32 %r240, %f389; + xor.b32 %r241, %r240, -2147483648; + mov.b32 %f327, %r241; + selp.f32 %f391, %f327, %f389, %p1; + setp.eq.f32 %p50, %f79, 0f00000000; + @%p50 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f330, %f79, %f79; + selp.f32 %f391, %f330, 0f00000000, %p49; + bra.uni BB0_67; + +BB0_64: + setp.geu.f32 %p51, %f79, 0f00000000; + @%p51 bra BB0_67; + + cvt.rzi.f32.f32 %f329, %f301; + setp.neu.f32 %p52, %f329, 0f3EE8BA2E; + selp.f32 %f391, 0f7FFFFFFF, %f391, %p52; + +BB0_67: + add.f32 %f331, %f81, 0f3EE8BA2E; + mov.b32 %r242, %f331; + setp.lt.s32 %p54, %r242, 2139095040; + @%p54 bra BB0_72; + + setp.gtu.f32 %p55, %f81, 0f7F800000; + @%p55 bra BB0_71; + bra.uni BB0_69; + +BB0_71: + add.f32 %f391, %f79, 0f3EE8BA2E; + bra.uni BB0_72; + +BB0_69: + setp.neu.f32 %p56, %f81, 0f7F800000; + @%p56 bra BB0_72; + + selp.f32 %f391, 0fFF800000, 0f7F800000, %p1; + +BB0_72: + mul.f32 %f332, %f391, 0f437F0000; + setp.eq.f32 %p57, %f79, 0f3F800000; + selp.f32 %f333, 0f437F0000, %f332, %p57; + cvt.rzi.u32.f32 %r243, %f333; + cvt.u16.u32 %rs24, %r243; + mov.u16 %rs25, 255; + st.v2.u8 [%rd73], {%rs24, %rs25}; + ld.global.u32 %r292, [imageEnabled]; + +BB0_73: + and.b32 %r244, %r292, 64; + setp.eq.s32 %p58, %r244, 0; + @%p58 bra BB0_83; + + mul.f32 %f334, %f383, %f383; + fma.rn.f32 %f335, %f384, %f384, %f334; + fma.rn.f32 %f336, %f382, %f382, %f335; + sqrt.rn.f32 %f337, %f336; + rcp.rn.f32 %f338, %f337; + mul.f32 %f339, %f384, %f338; + mul.f32 %f340, %f383, %f338; + mul.f32 %f341, %f382, %f338; + cvt.u64.u32 %rd83, %r3; + cvt.u64.u32 %rd82, %r2; + mov.u64 %rd86, image_Dir; + cvta.global.u64 %rd81, %rd86; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r95, %r96, %rd82, %rd83, %rd25, %rd25); + // inline asm + fma.rn.f32 %f342, %f339, 0f3F000000, 0f3F000000; + mul.f32 %f343, %f342, 0f437F0000; + cvt.rzi.u32.f32 %r247, %f343; + fma.rn.f32 %f344, %f340, 0f3F000000, 0f3F000000; + mul.f32 %f345, %f344, 0f437F0000; + cvt.rzi.u32.f32 %r248, %f345; + fma.rn.f32 %f346, %f341, 0f3F000000, 0f3F000000; + mul.f32 %f347, %f346, 0f437F0000; + cvt.rzi.u32.f32 %r249, %f347; + cvt.u16.u32 %rs26, %r249; + cvt.u16.u32 %rs27, %r248; + cvt.u16.u32 %rs28, %r247; + mov.u16 %rs29, 255; + st.v4.u8 [%rd80], {%rs28, %rs27, %rs26, %rs29}; + +BB0_83: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx.meta new file mode 100644 index 00000000..99cd8bb7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAOdir.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d371a404195306f48911ef466bec4f05 +timeCreated: 1538858291 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLight.ptx new file mode 100644 index 00000000..465c62a5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLight.ptx @@ -0,0 +1,1807 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[36]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<143>; + .reg .b16 %rs<46>; + .reg .f32 %f<853>; + .reg .b32 %r<363>; + .reg .b64 %rd<138>; + + + mov.u64 %rd137, __local_depot0; + cvta.local.u64 %SP, %rd137; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r103, %r104}, [pixelID]; + cvt.u64.u32 %rd21, %r103; + cvt.u64.u32 %rd22, %r104; + mov.u64 %rd25, uvnormal; + cvta.global.u64 %rd20, %rd25; + mov.u32 %r101, 2; + mov.u32 %r102, 4; + mov.u64 %rd24, 0; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r101, %r102, %rd21, %rd22, %rd24, %rd24); + // inline asm + ld.u32 %r2, [%rd19]; + shr.u32 %r107, %r2, 16; + cvt.u16.u32 %rs1, %r107; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r2; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p7, %rs5, 0; + mov.f32 %f807, 0f00000000; + mov.f32 %f808, %f807; + mov.f32 %f809, %f807; + @%p7 bra BB0_2; + + ld.u8 %rs6, [%rd19+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f173, %rs8; + div.rn.f32 %f174, %f173, 0f437F0000; + fma.rn.f32 %f175, %f174, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f176, %rs6; + div.rn.f32 %f177, %f176, 0f437F0000; + fma.rn.f32 %f178, %f177, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f179, %rs3; + div.rn.f32 %f180, %f179, 0f437F0000; + fma.rn.f32 %f181, %f180, 0f40000000, 0fBF800000; + mul.f32 %f182, %f178, %f178; + fma.rn.f32 %f183, %f175, %f175, %f182; + fma.rn.f32 %f184, %f181, %f181, %f183; + sqrt.rn.f32 %f185, %f184; + rcp.rn.f32 %f186, %f185; + mul.f32 %f807, %f175, %f186; + mul.f32 %f808, %f178, %f186; + mul.f32 %f809, %f181, %f186; + +BB0_2: + ld.global.v2.u32 {%r108, %r109}, [pixelID]; + ld.global.v2.u32 {%r111, %r112}, [tileInfo]; + add.s32 %r3, %r108, %r111; + add.s32 %r4, %r109, %r112; + setp.eq.f32 %p8, %f808, 0f00000000; + setp.eq.f32 %p9, %f807, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f809, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_129; + bra.uni BB0_3; + +BB0_129: + ld.global.u32 %r362, [imageEnabled]; + and.b32 %r308, %r362, 1; + setp.eq.b32 %p138, %r308, 1; + @!%p138 bra BB0_131; + bra.uni BB0_130; + +BB0_130: + cvt.u64.u32 %rd99, %r3; + cvt.u64.u32 %rd100, %r4; + mov.u64 %rd103, image; + cvta.global.u64 %rd98, %rd103; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd98, %r101, %r102, %rd99, %rd100, %rd24, %rd24); + // inline asm + mov.u16 %rs30, 0; + st.v4.u8 [%rd97], {%rs30, %rs30, %rs30, %rs30}; + ld.global.u32 %r362, [imageEnabled]; + +BB0_131: + and.b32 %r311, %r362, 8; + setp.eq.s32 %p139, %r311, 0; + @%p139 bra BB0_133; + + cvt.u64.u32 %rd106, %r3; + cvt.u64.u32 %rd107, %r4; + mov.u64 %rd110, image_Mask; + cvta.global.u64 %rd105, %rd110; + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd105, %r101, %r101, %rd106, %rd107, %rd24, %rd24); + // inline asm + mov.f32 %f790, 0f00000000; + cvt.rzi.u32.f32 %r314, %f790; + cvt.u16.u32 %rs31, %r314; + mov.u16 %rs32, 0; + st.v2.u8 [%rd104], {%rs31, %rs32}; + ld.global.u32 %r362, [imageEnabled]; + +BB0_133: + and.b32 %r315, %r362, 4; + setp.eq.s32 %p140, %r315, 0; + @%p140 bra BB0_137; + + ld.global.u32 %r316, [additive]; + setp.eq.s32 %p141, %r316, 0; + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + @%p141 bra BB0_136; + + mov.u64 %rd123, image_HDR; + cvta.global.u64 %rd112, %rd123; + mov.u32 %r320, 8; + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd112, %r101, %r320, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs39, %rs40, %rs41, %rs42}, [%rd111]; + // inline asm + { cvt.f32.f16 %f791, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f792, %rs40;} + + // inline asm + // inline asm + { cvt.f32.f16 %f793, %rs41;} + + // inline asm + // inline asm + call (%rd117), _rt_buffer_get_64, (%rd112, %r101, %r320, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f794, %f791, 0f00000000; + add.f32 %f795, %f792, 0f00000000; + add.f32 %f796, %f793, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs38, %f796;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f795;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f794;} + + // inline asm + mov.u16 %rs43, 0; + st.v4.u16 [%rd117], {%rs36, %rs37, %rs38, %rs43}; + bra.uni BB0_137; + +BB0_3: + ld.global.v2.u32 {%r121, %r122}, [pixelID]; + cvt.u64.u32 %rd28, %r121; + cvt.u64.u32 %rd29, %r122; + mov.u64 %rd38, uvpos; + cvta.global.u64 %rd27, %rd38; + mov.u32 %r117, 12; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r101, %r117, %rd28, %rd29, %rd24, %rd24); + // inline asm + ld.f32 %f9, [%rd26+8]; + ld.f32 %f8, [%rd26+4]; + ld.f32 %f7, [%rd26]; + mul.f32 %f189, %f7, 0f3456BF95; + mul.f32 %f190, %f8, 0f3456BF95; + mul.f32 %f191, %f9, 0f3456BF95; + abs.f32 %f10, %f807; + div.rn.f32 %f192, %f189, %f10; + abs.f32 %f193, %f808; + div.rn.f32 %f194, %f190, %f193; + abs.f32 %f11, %f809; + div.rn.f32 %f195, %f191, %f11; + abs.f32 %f196, %f192; + abs.f32 %f197, %f194; + abs.f32 %f198, %f195; + mov.f32 %f199, 0f38D1B717; + max.f32 %f200, %f196, %f199; + max.f32 %f201, %f197, %f199; + max.f32 %f202, %f198, %f199; + fma.rn.f32 %f12, %f807, %f200, %f7; + fma.rn.f32 %f13, %f808, %f201, %f8; + fma.rn.f32 %f14, %f809, %f202, %f9; + ld.global.v2.u32 {%r125, %r126}, [pixelID]; + cvt.u64.u32 %rd34, %r125; + cvt.u64.u32 %rd35, %r126; + mov.u64 %rd39, rnd_seeds; + cvta.global.u64 %rd33, %rd39; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r101, %r102, %rd34, %rd35, %rd24, %rd24); + // inline asm + ld.u32 %r129, [%rd32]; + mad.lo.s32 %r5, %r129, 1664525, 1013904223; + ld.global.u32 %r130, [lightMeshBufferSize]; + setp.eq.s32 %p14, %r130, 0; + mov.pred %p13, 0; + mov.f32 %f20, 0f00000000; + mov.u32 %r7, 0; + @%p14 bra BB0_4; + + ld.global.f32 %f15, [lightPointSize]; + mul.f32 %f16, %f12, 0f3456BF95; + mul.f32 %f17, %f13, 0f3456BF95; + mul.f32 %f18, %f14, 0f3456BF95; + and.b32 %r133, %r5, 16777215; + cvt.rn.f32.u32 %f205, %r133; + mul.f32 %f206, %f205, 0fB3800000; + fma.rn.f32 %f19, %f206, 0f3F333333, 0f3F800000; + mov.f32 %f20, 0f00000000; + mov.u32 %r331, 0; + abs.f32 %f329, %f17; + abs.f32 %f330, %f16; + max.f32 %f331, %f330, %f329; + abs.f32 %f332, %f18; + max.f32 %f333, %f331, %f332; + mov.u32 %r7, %r331; + mov.f32 %f21, %f20; + +BB0_6: + shl.b32 %r8, %r331, 1; + cvt.s64.s32 %rd42, %r8; + mov.u64 %rd46, lightMeshBuffer; + cvta.global.u64 %rd41, %rd46; + mov.u32 %r134, 1; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r134, %r117, %rd42, %rd24, %rd24, %rd24); + // inline asm + ld.f32 %f207, [%rd40]; + sub.f32 %f208, %f207, %f7; + ld.f32 %f209, [%rd40+4]; + sub.f32 %f210, %f209, %f8; + ld.f32 %f211, [%rd40+8]; + sub.f32 %f212, %f211, %f9; + mul.f32 %f213, %f210, %f210; + fma.rn.f32 %f214, %f208, %f208, %f213; + fma.rn.f32 %f215, %f212, %f212, %f214; + sqrt.rn.f32 %f22, %f215; + rcp.rn.f32 %f216, %f22; + mul.f32 %f23, %f208, %f216; + mul.f32 %f24, %f210, %f216; + mul.f32 %f25, %f212, %f216; + mul.f32 %f217, %f808, %f24; + fma.rn.f32 %f218, %f807, %f23, %f217; + fma.rn.f32 %f26, %f809, %f25, %f218; + setp.leu.f32 %p15, %f26, 0f00000000; + @%p15 bra BB0_22; + + setp.ne.s32 %p17, %r1, 0; + mul.f32 %f219, %f22, %f22; + mul.f32 %f220, %f219, 0f40C90FDB; + div.rn.f32 %f221, %f15, %f220; + add.f32 %f27, %f221, %f221; + setp.gt.f32 %p18, %f27, %f19; + and.pred %p19, %p17, %p18; + mov.pred %p142, -1; + @%p19 bra BB0_24; + + ld.global.f32 %f224, [lightInvCutoff]; + mul.f32 %f28, %f22, %f224; + mov.f32 %f228, 0f40800000; + abs.f32 %f30, %f28; + setp.lt.f32 %p20, %f30, 0f00800000; + mul.f32 %f230, %f30, 0f4B800000; + selp.f32 %f231, 0fC3170000, 0fC2FE0000, %p20; + selp.f32 %f232, %f230, %f30, %p20; + mov.b32 %r136, %f232; + and.b32 %r137, %r136, 8388607; + or.b32 %r138, %r137, 1065353216; + mov.b32 %f233, %r138; + shr.u32 %r139, %r136, 23; + cvt.rn.f32.u32 %f234, %r139; + add.f32 %f235, %f231, %f234; + setp.gt.f32 %p21, %f233, 0f3FB504F3; + mul.f32 %f236, %f233, 0f3F000000; + add.f32 %f237, %f235, 0f3F800000; + selp.f32 %f238, %f236, %f233, %p21; + selp.f32 %f239, %f237, %f235, %p21; + add.f32 %f240, %f238, 0fBF800000; + add.f32 %f223, %f238, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f222,%f223; + // inline asm + add.f32 %f241, %f240, %f240; + mul.f32 %f242, %f222, %f241; + mul.f32 %f243, %f242, %f242; + mov.f32 %f244, 0f3C4CAF63; + mov.f32 %f245, 0f3B18F0FE; + fma.rn.f32 %f246, %f245, %f243, %f244; + mov.f32 %f247, 0f3DAAAABD; + fma.rn.f32 %f248, %f246, %f243, %f247; + mul.rn.f32 %f249, %f248, %f243; + mul.rn.f32 %f250, %f249, %f242; + sub.f32 %f251, %f240, %f242; + neg.f32 %f252, %f242; + add.f32 %f253, %f251, %f251; + fma.rn.f32 %f254, %f252, %f240, %f253; + mul.rn.f32 %f255, %f222, %f254; + add.f32 %f256, %f250, %f242; + sub.f32 %f257, %f242, %f256; + add.f32 %f258, %f250, %f257; + add.f32 %f259, %f255, %f258; + add.f32 %f260, %f256, %f259; + sub.f32 %f261, %f256, %f260; + add.f32 %f262, %f259, %f261; + mov.f32 %f263, 0f3F317200; + mul.rn.f32 %f264, %f239, %f263; + mov.f32 %f265, 0f35BFBE8E; + mul.rn.f32 %f266, %f239, %f265; + add.f32 %f267, %f264, %f260; + sub.f32 %f268, %f264, %f267; + add.f32 %f269, %f260, %f268; + add.f32 %f270, %f262, %f269; + add.f32 %f271, %f266, %f270; + add.f32 %f272, %f267, %f271; + sub.f32 %f273, %f267, %f272; + add.f32 %f274, %f271, %f273; + mul.rn.f32 %f275, %f228, %f272; + neg.f32 %f276, %f275; + fma.rn.f32 %f277, %f228, %f272, %f276; + fma.rn.f32 %f278, %f228, %f274, %f277; + mov.f32 %f279, 0f00000000; + fma.rn.f32 %f280, %f279, %f272, %f278; + add.rn.f32 %f281, %f275, %f280; + neg.f32 %f282, %f281; + add.rn.f32 %f283, %f275, %f282; + add.rn.f32 %f284, %f283, %f280; + mov.b32 %r140, %f281; + setp.eq.s32 %p22, %r140, 1118925336; + add.s32 %r141, %r140, -1; + mov.b32 %f285, %r141; + add.f32 %f286, %f284, 0f37000000; + selp.f32 %f287, %f285, %f281, %p22; + selp.f32 %f31, %f286, %f284, %p22; + mul.f32 %f288, %f287, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f289, %f288; + mov.f32 %f290, 0fBF317200; + fma.rn.f32 %f291, %f289, %f290, %f287; + mov.f32 %f292, 0fB5BFBE8E; + fma.rn.f32 %f293, %f289, %f292, %f291; + mul.f32 %f294, %f293, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f295, %f294; + add.f32 %f296, %f289, 0f00000000; + ex2.approx.f32 %f297, %f296; + mul.f32 %f298, %f295, %f297; + setp.lt.f32 %p23, %f287, 0fC2D20000; + selp.f32 %f299, 0f00000000, %f298, %p23; + setp.gt.f32 %p24, %f287, 0f42D20000; + selp.f32 %f812, 0f7F800000, %f299, %p24; + setp.eq.f32 %p25, %f812, 0f7F800000; + @%p25 bra BB0_10; + + fma.rn.f32 %f812, %f812, %f31, %f812; + +BB0_10: + mov.f32 %f803, 0f40000000; + cvt.rzi.f32.f32 %f802, %f803; + add.f32 %f801, %f802, %f802; + mov.f32 %f800, 0f40800000; + sub.f32 %f799, %f800, %f801; + abs.f32 %f798, %f799; + setp.lt.f32 %p26, %f28, 0f00000000; + setp.eq.f32 %p27, %f798, 0f3F800000; + and.pred %p1, %p26, %p27; + mov.b32 %r142, %f812; + xor.b32 %r143, %r142, -2147483648; + mov.b32 %f300, %r143; + selp.f32 %f814, %f300, %f812, %p1; + setp.eq.f32 %p28, %f28, 0f00000000; + @%p28 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f303, %f28, %f28; + selp.f32 %f814, %f303, 0f00000000, %p27; + bra.uni BB0_14; + +BB0_11: + setp.geu.f32 %p29, %f28, 0f00000000; + @%p29 bra BB0_14; + + mov.f32 %f806, 0f40800000; + cvt.rzi.f32.f32 %f302, %f806; + setp.neu.f32 %p30, %f302, 0f40800000; + selp.f32 %f814, 0f7FFFFFFF, %f814, %p30; + +BB0_14: + add.f32 %f304, %f30, 0f40800000; + mov.b32 %r144, %f304; + setp.lt.s32 %p32, %r144, 2139095040; + @%p32 bra BB0_19; + + setp.gtu.f32 %p33, %f30, 0f7F800000; + @%p33 bra BB0_18; + bra.uni BB0_16; + +BB0_18: + add.f32 %f814, %f28, 0f40800000; + bra.uni BB0_19; + +BB0_16: + setp.neu.f32 %p34, %f30, 0f7F800000; + @%p34 bra BB0_19; + + selp.f32 %f814, 0fFF800000, 0f7F800000, %p1; + +BB0_19: + mov.u32 %r324, 1; + mov.u64 %rd132, lightMeshBuffer; + cvta.global.u64 %rd131, %rd132; + shl.b32 %r323, %r331, 1; + mov.f32 %f305, 0f3F800000; + sub.f32 %f306, %f305, %f814; + setp.eq.f32 %p35, %f28, 0f3F800000; + selp.f32 %f307, 0f00000000, %f306, %p35; + cvt.sat.f32.f32 %f308, %f307; + mul.f32 %f309, %f27, %f308; + add.s32 %r147, %r323, 1; + cvt.s64.s32 %rd49, %r147; + // inline asm + call (%rd47), _rt_buffer_get_64, (%rd131, %r324, %r117, %rd49, %rd24, %rd24, %rd24); + // inline asm + ld.f32 %f310, [%rd47]; + mul.f32 %f311, %f23, %f310; + ld.f32 %f312, [%rd47+4]; + mul.f32 %f313, %f24, %f312; + neg.f32 %f314, %f313; + sub.f32 %f315, %f314, %f311; + ld.f32 %f316, [%rd47+8]; + mul.f32 %f317, %f25, %f316; + sub.f32 %f318, %f315, %f317; + cvt.sat.f32.f32 %f319, %f318; + mul.f32 %f42, %f309, %f319; + cvt.sat.f32.f32 %f43, %f26; + mul.f32 %f320, %f42, %f43; + setp.leu.f32 %p36, %f320, 0f3727C5AC; + @%p36 bra BB0_21; + + mov.u32 %r330, 1; + add.u64 %rd54, %SP, 28; + cvta.to.local.u64 %rd55, %rd54; + max.f32 %f327, %f333, %f199; + sub.f32 %f328, %f22, %f327; + mov.u32 %r151, 1065353216; + st.local.u32 [%rd55], %r151; + ld.global.u32 %r148, [root]; + // inline asm + call _rt_trace_64, (%r148, %f12, %f13, %f14, %f23, %f24, %f25, %r330, %f327, %f328, %rd54, %r102); + // inline asm + ld.local.f32 %f335, [%rd55]; + mul.f32 %f336, %f42, %f335; + fma.rn.f32 %f21, %f43, %f336, %f21; + add.f32 %f20, %f20, %f335; + +BB0_21: + add.s32 %r7, %r7, 1; + +BB0_22: + ld.global.u32 %r152, [lightMeshBufferSize]; + add.s32 %r331, %r331, 1; + setp.lt.u32 %p38, %r331, %r152; + @%p38 bra BB0_6; + bra.uni BB0_23; + +BB0_4: + mov.f32 %f21, %f20; + +BB0_23: + mov.pred %p142, %p13; + +BB0_24: + cvt.rn.f32.s32 %f337, %r7; + mov.f32 %f338, 0f3F800000; + max.f32 %f339, %f337, %f338; + div.rn.f32 %f839, %f21, %f339; + div.rn.f32 %f840, %f20, %f339; + @!%p142 bra BB0_77; + bra.uni BB0_25; + +BB0_25: + abs.f32 %f805, %f809; + abs.f32 %f804, %f807; + setp.gt.f32 %p39, %f804, %f805; + neg.f32 %f342, %f808; + selp.f32 %f343, %f342, 0f00000000, %p39; + neg.f32 %f344, %f809; + selp.f32 %f345, %f807, %f344, %p39; + selp.f32 %f346, 0f00000000, %f808, %p39; + mul.f32 %f347, %f345, %f345; + fma.rn.f32 %f348, %f343, %f343, %f347; + fma.rn.f32 %f349, %f346, %f346, %f348; + sqrt.rn.f32 %f350, %f349; + rcp.rn.f32 %f351, %f350; + mul.f32 %f54, %f343, %f351; + mul.f32 %f55, %f345, %f351; + mul.f32 %f56, %f346, %f351; + mov.f32 %f823, 0f00000000; + setp.lt.s32 %p40, %r1, 1; + mov.f32 %f824, %f823; + @%p40 bra BB0_76; + + mad.lo.s32 %r338, %r129, 1664525, 1013904223; + cvt.rn.f32.s32 %f354, %r1; + rcp.rn.f32 %f57, %f354; + add.u64 %rd56, %SP, 0; + cvta.to.local.u64 %rd2, %rd56; + mul.f32 %f58, %f12, 0f3456BF95; + mul.f32 %f59, %f13, 0f3456BF95; + mul.f32 %f60, %f14, 0f3456BF95; + add.u64 %rd57, %SP, 32; + cvta.to.local.u64 %rd3, %rd57; + mul.f32 %f355, %f807, %f55; + mul.f32 %f356, %f808, %f54; + sub.f32 %f61, %f356, %f355; + mul.f32 %f357, %f809, %f54; + mul.f32 %f358, %f807, %f56; + sub.f32 %f62, %f358, %f357; + mul.f32 %f359, %f808, %f56; + mul.f32 %f360, %f809, %f55; + sub.f32 %f63, %f360, %f359; + mov.f32 %f823, 0f00000000; + mov.u32 %r153, 0; + abs.f32 %f361, %f59; + abs.f32 %f362, %f58; + max.f32 %f363, %f362, %f361; + abs.f32 %f364, %f60; + max.f32 %f365, %f363, %f364; + mov.u32 %r335, %r153; + mov.f32 %f824, %f823; + +BB0_27: + cvt.rn.f32.s32 %f66, %r335; + max.f32 %f67, %f365, %f199; + mov.u32 %r337, %r153; + +BB0_28: + mad.lo.s32 %r155, %r338, 1664525, 1013904223; + and.b32 %r156, %r155, 16777215; + cvt.rn.f32.u32 %f367, %r156; + fma.rn.f32 %f368, %f367, 0f33800000, %f66; + mul.f32 %f369, %f57, %f368; + mad.lo.s32 %r338, %r155, 1664525, 1013904223; + and.b32 %r157, %r338, 16777215; + cvt.rn.f32.u32 %f370, %r157; + cvt.rn.f32.s32 %f371, %r337; + fma.rn.f32 %f372, %f370, 0f33800000, %f371; + mul.f32 %f373, %f57, %f372; + sqrt.rn.f32 %f70, %f369; + mul.f32 %f831, %f373, 0f40C90FDB; + abs.f32 %f72, %f831; + setp.neu.f32 %p41, %f72, 0f7F800000; + mov.f32 %f825, %f831; + @%p41 bra BB0_30; + + mov.f32 %f374, 0f00000000; + mul.rn.f32 %f825, %f831, %f374; + +BB0_30: + mul.f32 %f375, %f825, 0f3F22F983; + cvt.rni.s32.f32 %r348, %f375; + cvt.rn.f32.s32 %f376, %r348; + neg.f32 %f377, %f376; + mov.f32 %f378, 0f3FC90FDA; + fma.rn.f32 %f379, %f377, %f378, %f825; + mov.f32 %f380, 0f33A22168; + fma.rn.f32 %f381, %f377, %f380, %f379; + mov.f32 %f382, 0f27C234C5; + fma.rn.f32 %f826, %f377, %f382, %f381; + abs.f32 %f383, %f825; + setp.leu.f32 %p42, %f383, 0f47CE4780; + @%p42 bra BB0_41; + + mov.b32 %r19, %f825; + shr.u32 %r20, %r19, 23; + shl.b32 %r160, %r19, 8; + or.b32 %r21, %r160, -2147483648; + mov.u32 %r340, 0; + mov.u64 %rd133, __cudart_i2opi_f; + mov.u32 %r339, -6; + mov.u64 %rd134, %rd2; + +BB0_32: + .pragma "nounroll"; + ld.const.u32 %r163, [%rd133]; + // inline asm + { + mad.lo.cc.u32 %r161, %r163, %r21, %r340; + madc.hi.u32 %r340, %r163, %r21, 0; + } + // inline asm + st.local.u32 [%rd134], %r161; + add.s64 %rd134, %rd134, 4; + add.s64 %rd133, %rd133, 4; + add.s32 %r339, %r339, 1; + setp.ne.s32 %p43, %r339, 0; + @%p43 bra BB0_32; + + and.b32 %r166, %r20, 255; + add.s32 %r167, %r166, -128; + shr.u32 %r168, %r167, 5; + and.b32 %r26, %r19, -2147483648; + st.local.u32 [%rd2+24], %r340; + mov.u32 %r169, 6; + sub.s32 %r170, %r169, %r168; + mul.wide.s32 %rd59, %r170, 4; + add.s64 %rd8, %rd2, %rd59; + ld.local.u32 %r341, [%rd8]; + ld.local.u32 %r342, [%rd8+-4]; + and.b32 %r29, %r20, 31; + setp.eq.s32 %p44, %r29, 0; + @%p44 bra BB0_35; + + mov.u32 %r171, 32; + sub.s32 %r172, %r171, %r29; + shr.u32 %r173, %r342, %r172; + shl.b32 %r174, %r341, %r29; + add.s32 %r341, %r173, %r174; + ld.local.u32 %r175, [%rd8+-8]; + shr.u32 %r176, %r175, %r172; + shl.b32 %r177, %r342, %r29; + add.s32 %r342, %r176, %r177; + +BB0_35: + shr.u32 %r178, %r342, 30; + shl.b32 %r179, %r341, 2; + add.s32 %r343, %r178, %r179; + shl.b32 %r35, %r342, 2; + shr.u32 %r180, %r343, 31; + shr.u32 %r181, %r341, 30; + add.s32 %r36, %r180, %r181; + setp.eq.s32 %p45, %r180, 0; + @%p45 bra BB0_36; + bra.uni BB0_37; + +BB0_36: + mov.u32 %r344, %r26; + mov.u32 %r345, %r35; + bra.uni BB0_38; + +BB0_37: + not.b32 %r182, %r343; + neg.s32 %r345, %r35; + setp.eq.s32 %p46, %r35, 0; + selp.u32 %r183, 1, 0, %p46; + add.s32 %r343, %r183, %r182; + xor.b32 %r344, %r26, -2147483648; + +BB0_38: + clz.b32 %r347, %r343; + setp.eq.s32 %p47, %r347, 0; + shl.b32 %r184, %r343, %r347; + mov.u32 %r185, 32; + sub.s32 %r186, %r185, %r347; + shr.u32 %r187, %r345, %r186; + add.s32 %r188, %r187, %r184; + selp.b32 %r44, %r343, %r188, %p47; + mov.u32 %r189, -921707870; + mul.hi.u32 %r346, %r44, %r189; + setp.eq.s32 %p48, %r26, 0; + neg.s32 %r190, %r36; + selp.b32 %r348, %r36, %r190, %p48; + setp.lt.s32 %p49, %r346, 1; + @%p49 bra BB0_40; + + mul.lo.s32 %r191, %r44, -921707870; + shr.u32 %r192, %r191, 31; + shl.b32 %r193, %r346, 1; + add.s32 %r346, %r192, %r193; + add.s32 %r347, %r347, 1; + +BB0_40: + mov.u32 %r194, 126; + sub.s32 %r195, %r194, %r347; + shl.b32 %r196, %r195, 23; + add.s32 %r197, %r346, 1; + shr.u32 %r198, %r197, 7; + add.s32 %r199, %r198, 1; + shr.u32 %r200, %r199, 1; + add.s32 %r201, %r200, %r196; + or.b32 %r202, %r201, %r344; + mov.b32 %f826, %r202; + +BB0_41: + mul.rn.f32 %f78, %f826, %f826; + add.s32 %r52, %r348, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p50, %r53, 0; + @%p50 bra BB0_43; + bra.uni BB0_42; + +BB0_43: + mov.f32 %f386, 0f3C08839E; + mov.f32 %f387, 0fB94CA1F9; + fma.rn.f32 %f827, %f387, %f78, %f386; + bra.uni BB0_44; + +BB0_42: + mov.f32 %f384, 0fBAB6061A; + mov.f32 %f385, 0f37CCF5CE; + fma.rn.f32 %f827, %f385, %f78, %f384; + +BB0_44: + @%p50 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f391, 0fBE2AAAA3; + fma.rn.f32 %f392, %f827, %f78, %f391; + mov.f32 %f393, 0f00000000; + fma.rn.f32 %f828, %f392, %f78, %f393; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f388, 0f3D2AAAA5; + fma.rn.f32 %f389, %f827, %f78, %f388; + mov.f32 %f390, 0fBF000000; + fma.rn.f32 %f828, %f389, %f78, %f390; + +BB0_47: + fma.rn.f32 %f829, %f828, %f826, %f826; + @%p50 bra BB0_49; + + fma.rn.f32 %f829, %f828, %f78, %f338; + +BB0_49: + and.b32 %r203, %r52, 2; + setp.eq.s32 %p53, %r203, 0; + @%p53 bra BB0_51; + + mov.f32 %f395, 0f00000000; + mov.f32 %f396, 0fBF800000; + fma.rn.f32 %f829, %f829, %f396, %f395; + +BB0_51: + @%p41 bra BB0_53; + + mov.f32 %f397, 0f00000000; + mul.rn.f32 %f831, %f831, %f397; + +BB0_53: + mul.f32 %f398, %f831, 0f3F22F983; + cvt.rni.s32.f32 %r358, %f398; + cvt.rn.f32.s32 %f399, %r358; + neg.f32 %f400, %f399; + fma.rn.f32 %f402, %f400, %f378, %f831; + fma.rn.f32 %f404, %f400, %f380, %f402; + fma.rn.f32 %f832, %f400, %f382, %f404; + abs.f32 %f406, %f831; + setp.leu.f32 %p55, %f406, 0f47CE4780; + @%p55 bra BB0_64; + + mov.b32 %r55, %f831; + shr.u32 %r56, %r55, 23; + shl.b32 %r206, %r55, 8; + or.b32 %r57, %r206, -2147483648; + mov.u32 %r350, 0; + mov.u64 %rd135, __cudart_i2opi_f; + mov.u32 %r349, -6; + mov.u64 %rd136, %rd2; + +BB0_55: + .pragma "nounroll"; + ld.const.u32 %r209, [%rd135]; + // inline asm + { + mad.lo.cc.u32 %r207, %r209, %r57, %r350; + madc.hi.u32 %r350, %r209, %r57, 0; + } + // inline asm + st.local.u32 [%rd136], %r207; + add.s64 %rd136, %rd136, 4; + add.s64 %rd135, %rd135, 4; + add.s32 %r349, %r349, 1; + setp.ne.s32 %p56, %r349, 0; + @%p56 bra BB0_55; + + and.b32 %r212, %r56, 255; + add.s32 %r213, %r212, -128; + shr.u32 %r214, %r213, 5; + and.b32 %r62, %r55, -2147483648; + st.local.u32 [%rd2+24], %r350; + mov.u32 %r215, 6; + sub.s32 %r216, %r215, %r214; + mul.wide.s32 %rd61, %r216, 4; + add.s64 %rd13, %rd2, %rd61; + ld.local.u32 %r351, [%rd13]; + ld.local.u32 %r352, [%rd13+-4]; + and.b32 %r65, %r56, 31; + setp.eq.s32 %p57, %r65, 0; + @%p57 bra BB0_58; + + mov.u32 %r217, 32; + sub.s32 %r218, %r217, %r65; + shr.u32 %r219, %r352, %r218; + shl.b32 %r220, %r351, %r65; + add.s32 %r351, %r219, %r220; + ld.local.u32 %r221, [%rd13+-8]; + shr.u32 %r222, %r221, %r218; + shl.b32 %r223, %r352, %r65; + add.s32 %r352, %r222, %r223; + +BB0_58: + shr.u32 %r224, %r352, 30; + shl.b32 %r225, %r351, 2; + add.s32 %r353, %r224, %r225; + shl.b32 %r71, %r352, 2; + shr.u32 %r226, %r353, 31; + shr.u32 %r227, %r351, 30; + add.s32 %r72, %r226, %r227; + setp.eq.s32 %p58, %r226, 0; + @%p58 bra BB0_59; + bra.uni BB0_60; + +BB0_59: + mov.u32 %r354, %r62; + mov.u32 %r355, %r71; + bra.uni BB0_61; + +BB0_60: + not.b32 %r228, %r353; + neg.s32 %r355, %r71; + setp.eq.s32 %p59, %r71, 0; + selp.u32 %r229, 1, 0, %p59; + add.s32 %r353, %r229, %r228; + xor.b32 %r354, %r62, -2147483648; + +BB0_61: + clz.b32 %r357, %r353; + setp.eq.s32 %p60, %r357, 0; + shl.b32 %r230, %r353, %r357; + mov.u32 %r231, 32; + sub.s32 %r232, %r231, %r357; + shr.u32 %r233, %r355, %r232; + add.s32 %r234, %r233, %r230; + selp.b32 %r80, %r353, %r234, %p60; + mov.u32 %r235, -921707870; + mul.hi.u32 %r356, %r80, %r235; + setp.eq.s32 %p61, %r62, 0; + neg.s32 %r236, %r72; + selp.b32 %r358, %r72, %r236, %p61; + setp.lt.s32 %p62, %r356, 1; + @%p62 bra BB0_63; + + mul.lo.s32 %r237, %r80, -921707870; + shr.u32 %r238, %r237, 31; + shl.b32 %r239, %r356, 1; + add.s32 %r356, %r238, %r239; + add.s32 %r357, %r357, 1; + +BB0_63: + mov.u32 %r240, 126; + sub.s32 %r241, %r240, %r357; + shl.b32 %r242, %r241, 23; + add.s32 %r243, %r356, 1; + shr.u32 %r244, %r243, 7; + add.s32 %r245, %r244, 1; + shr.u32 %r246, %r245, 1; + add.s32 %r247, %r246, %r242; + or.b32 %r248, %r247, %r354; + mov.b32 %f832, %r248; + +BB0_64: + mul.rn.f32 %f95, %f832, %f832; + and.b32 %r88, %r358, 1; + setp.eq.s32 %p63, %r88, 0; + @%p63 bra BB0_66; + bra.uni BB0_65; + +BB0_66: + mov.f32 %f409, 0f3C08839E; + mov.f32 %f410, 0fB94CA1F9; + fma.rn.f32 %f833, %f410, %f95, %f409; + bra.uni BB0_67; + +BB0_65: + mov.f32 %f407, 0fBAB6061A; + mov.f32 %f408, 0f37CCF5CE; + fma.rn.f32 %f833, %f408, %f95, %f407; + +BB0_67: + @%p63 bra BB0_69; + bra.uni BB0_68; + +BB0_69: + mov.f32 %f414, 0fBE2AAAA3; + fma.rn.f32 %f415, %f833, %f95, %f414; + mov.f32 %f416, 0f00000000; + fma.rn.f32 %f834, %f415, %f95, %f416; + bra.uni BB0_70; + +BB0_68: + mov.f32 %f411, 0f3D2AAAA5; + fma.rn.f32 %f412, %f833, %f95, %f411; + mov.f32 %f413, 0fBF000000; + fma.rn.f32 %f834, %f412, %f95, %f413; + +BB0_70: + fma.rn.f32 %f835, %f834, %f832, %f832; + @%p63 bra BB0_72; + + fma.rn.f32 %f835, %f834, %f95, %f338; + +BB0_72: + and.b32 %r249, %r358, 2; + setp.eq.s32 %p66, %r249, 0; + @%p66 bra BB0_74; + + mov.f32 %f418, 0f00000000; + mov.f32 %f419, 0fBF800000; + fma.rn.f32 %f835, %f835, %f419, %f418; + +BB0_74: + mul.f32 %f428, %f70, %f829; + mul.f32 %f429, %f428, %f428; + sub.f32 %f431, %f338, %f429; + mul.f32 %f432, %f70, %f835; + mul.f32 %f433, %f432, %f432; + sub.f32 %f434, %f431, %f433; + mov.f32 %f435, 0f00000000; + max.f32 %f436, %f435, %f434; + sqrt.rn.f32 %f437, %f436; + mul.f32 %f438, %f54, %f432; + mul.f32 %f439, %f55, %f432; + mul.f32 %f440, %f56, %f432; + fma.rn.f32 %f441, %f63, %f428, %f438; + fma.rn.f32 %f442, %f62, %f428, %f439; + fma.rn.f32 %f443, %f61, %f428, %f440; + fma.rn.f32 %f423, %f807, %f437, %f441; + fma.rn.f32 %f424, %f808, %f437, %f442; + fma.rn.f32 %f425, %f809, %f437, %f443; + mov.u32 %r251, 0; + st.local.u32 [%rd3], %r251; + ld.global.u32 %r250, [root]; + mov.f32 %f427, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r250, %f12, %f13, %f14, %f423, %f424, %f425, %r251, %f67, %f427, %rd57, %r102); + // inline asm + ld.local.f32 %f444, [%rd3]; + setp.lt.f32 %p67, %f444, 0f00000000; + selp.f32 %f445, 0f00000000, %f444, %p67; + selp.f32 %f446, 0f00000000, 0f3F800000, %p67; + add.f32 %f823, %f823, %f446; + add.f32 %f824, %f824, %f445; + add.s32 %r337, %r337, 1; + setp.lt.s32 %p68, %r337, %r1; + @%p68 bra BB0_28; + + add.s32 %r335, %r335, 1; + setp.lt.s32 %p69, %r335, %r1; + @%p69 bra BB0_27; + +BB0_76: + mul.lo.s32 %r253, %r1, %r1; + cvt.rn.f32.s32 %f447, %r253; + div.rn.f32 %f839, %f824, %f447; + div.rn.f32 %f840, %f823, %f447; + +BB0_77: + ld.global.u32 %r360, [imageEnabled]; + and.b32 %r254, %r360, 8; + setp.eq.s32 %p70, %r254, 0; + @%p70 bra BB0_90; + + mov.u32 %r325, 2; + cvt.u64.u32 %rd65, %r3; + cvt.u64.u32 %rd66, %r4; + mov.u64 %rd69, image_Mask; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r325, %r325, %rd65, %rd66, %rd24, %rd24); + // inline asm + mov.f32 %f450, 0f3E68BA2E; + cvt.rzi.f32.f32 %f451, %f450; + fma.rn.f32 %f452, %f451, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f115, %f452; + abs.f32 %f116, %f840; + setp.lt.f32 %p71, %f116, 0f00800000; + mul.f32 %f453, %f116, 0f4B800000; + selp.f32 %f454, 0fC3170000, 0fC2FE0000, %p71; + selp.f32 %f455, %f453, %f116, %p71; + mov.b32 %r257, %f455; + and.b32 %r258, %r257, 8388607; + or.b32 %r259, %r258, 1065353216; + mov.b32 %f456, %r259; + shr.u32 %r260, %r257, 23; + cvt.rn.f32.u32 %f457, %r260; + add.f32 %f458, %f454, %f457; + setp.gt.f32 %p72, %f456, 0f3FB504F3; + mul.f32 %f459, %f456, 0f3F000000; + add.f32 %f460, %f458, 0f3F800000; + selp.f32 %f461, %f459, %f456, %p72; + selp.f32 %f462, %f460, %f458, %p72; + add.f32 %f463, %f461, 0fBF800000; + add.f32 %f449, %f461, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f448,%f449; + // inline asm + add.f32 %f464, %f463, %f463; + mul.f32 %f465, %f448, %f464; + mul.f32 %f466, %f465, %f465; + mov.f32 %f467, 0f3C4CAF63; + mov.f32 %f468, 0f3B18F0FE; + fma.rn.f32 %f469, %f468, %f466, %f467; + mov.f32 %f470, 0f3DAAAABD; + fma.rn.f32 %f471, %f469, %f466, %f470; + mul.rn.f32 %f472, %f471, %f466; + mul.rn.f32 %f473, %f472, %f465; + sub.f32 %f474, %f463, %f465; + neg.f32 %f475, %f465; + add.f32 %f476, %f474, %f474; + fma.rn.f32 %f477, %f475, %f463, %f476; + mul.rn.f32 %f478, %f448, %f477; + add.f32 %f479, %f473, %f465; + sub.f32 %f480, %f465, %f479; + add.f32 %f481, %f473, %f480; + add.f32 %f482, %f478, %f481; + add.f32 %f483, %f479, %f482; + sub.f32 %f484, %f479, %f483; + add.f32 %f485, %f482, %f484; + mov.f32 %f486, 0f3F317200; + mul.rn.f32 %f487, %f462, %f486; + mov.f32 %f488, 0f35BFBE8E; + mul.rn.f32 %f489, %f462, %f488; + add.f32 %f490, %f487, %f483; + sub.f32 %f491, %f487, %f490; + add.f32 %f492, %f483, %f491; + add.f32 %f493, %f485, %f492; + add.f32 %f494, %f489, %f493; + add.f32 %f495, %f490, %f494; + sub.f32 %f496, %f490, %f495; + add.f32 %f497, %f494, %f496; + mov.f32 %f498, 0f3EE8BA2E; + mul.rn.f32 %f499, %f498, %f495; + neg.f32 %f500, %f499; + fma.rn.f32 %f501, %f498, %f495, %f500; + fma.rn.f32 %f502, %f498, %f497, %f501; + mov.f32 %f503, 0f00000000; + fma.rn.f32 %f504, %f503, %f495, %f502; + add.rn.f32 %f505, %f499, %f504; + neg.f32 %f506, %f505; + add.rn.f32 %f507, %f499, %f506; + add.rn.f32 %f508, %f507, %f504; + mov.b32 %r261, %f505; + setp.eq.s32 %p73, %r261, 1118925336; + add.s32 %r262, %r261, -1; + mov.b32 %f509, %r262; + add.f32 %f510, %f508, 0f37000000; + selp.f32 %f511, %f509, %f505, %p73; + selp.f32 %f117, %f510, %f508, %p73; + mul.f32 %f512, %f511, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f513, %f512; + mov.f32 %f514, 0fBF317200; + fma.rn.f32 %f515, %f513, %f514, %f511; + mov.f32 %f516, 0fB5BFBE8E; + fma.rn.f32 %f517, %f513, %f516, %f515; + mul.f32 %f518, %f517, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f519, %f518; + add.f32 %f520, %f513, 0f00000000; + ex2.approx.f32 %f521, %f520; + mul.f32 %f522, %f519, %f521; + setp.lt.f32 %p74, %f511, 0fC2D20000; + selp.f32 %f523, 0f00000000, %f522, %p74; + setp.gt.f32 %p75, %f511, 0f42D20000; + selp.f32 %f841, 0f7F800000, %f523, %p75; + setp.eq.f32 %p76, %f841, 0f7F800000; + @%p76 bra BB0_80; + + fma.rn.f32 %f841, %f841, %f117, %f841; + +BB0_80: + setp.lt.f32 %p77, %f840, 0f00000000; + setp.eq.f32 %p78, %f115, 0f3F800000; + and.pred %p3, %p77, %p78; + mov.b32 %r263, %f841; + xor.b32 %r264, %r263, -2147483648; + mov.b32 %f524, %r264; + selp.f32 %f843, %f524, %f841, %p3; + setp.eq.f32 %p79, %f840, 0f00000000; + @%p79 bra BB0_83; + bra.uni BB0_81; + +BB0_83: + add.f32 %f527, %f840, %f840; + selp.f32 %f843, %f527, 0f00000000, %p78; + bra.uni BB0_84; + +BB0_136: + mov.u64 %rd130, image_HDR; + cvta.global.u64 %rd125, %rd130; + mov.u32 %r322, 8; + // inline asm + call (%rd124), _rt_buffer_get_64, (%rd125, %r101, %r322, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f797, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs44, %f797;} + + // inline asm + mov.u16 %rs45, 0; + st.v4.u16 [%rd124], {%rs44, %rs44, %rs44, %rs45}; + bra.uni BB0_137; + +BB0_81: + setp.geu.f32 %p80, %f840, 0f00000000; + @%p80 bra BB0_84; + + cvt.rzi.f32.f32 %f526, %f498; + setp.neu.f32 %p81, %f526, 0f3EE8BA2E; + selp.f32 %f843, 0f7FFFFFFF, %f843, %p81; + +BB0_84: + add.f32 %f528, %f116, 0f3EE8BA2E; + mov.b32 %r265, %f528; + setp.lt.s32 %p83, %r265, 2139095040; + @%p83 bra BB0_89; + + setp.gtu.f32 %p84, %f116, 0f7F800000; + @%p84 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f843, %f840, 0f3EE8BA2E; + bra.uni BB0_89; + +BB0_86: + setp.neu.f32 %p85, %f116, 0f7F800000; + @%p85 bra BB0_89; + + selp.f32 %f843, 0fFF800000, 0f7F800000, %p3; + +BB0_89: + mul.f32 %f529, %f843, 0f437F0000; + setp.eq.f32 %p86, %f840, 0f3F800000; + selp.f32 %f530, 0f437F0000, %f529, %p86; + cvt.rzi.u32.f32 %r266, %f530; + cvt.u16.u32 %rs10, %r266; + mov.u16 %rs11, 255; + st.v2.u8 [%rd63], {%rs10, %rs11}; + ld.global.u32 %r360, [imageEnabled]; + +BB0_90: + ld.global.f32 %f531, [lightColor]; + mul.f32 %f128, %f839, %f531; + ld.global.f32 %f532, [lightColor+4]; + mul.f32 %f129, %f839, %f532; + ld.global.f32 %f533, [lightColor+8]; + mul.f32 %f130, %f839, %f533; + and.b32 %r267, %r360, 1; + setp.eq.b32 %p87, %r267, 1; + @!%p87 bra BB0_125; + bra.uni BB0_91; + +BB0_91: + mov.f32 %f536, 0f3E666666; + cvt.rzi.f32.f32 %f537, %f536; + fma.rn.f32 %f538, %f537, 0fC0000000, 0f3EE66666; + abs.f32 %f131, %f538; + abs.f32 %f132, %f128; + setp.lt.f32 %p88, %f132, 0f00800000; + mul.f32 %f539, %f132, 0f4B800000; + selp.f32 %f540, 0fC3170000, 0fC2FE0000, %p88; + selp.f32 %f541, %f539, %f132, %p88; + mov.b32 %r268, %f541; + and.b32 %r269, %r268, 8388607; + or.b32 %r270, %r269, 1065353216; + mov.b32 %f542, %r270; + shr.u32 %r271, %r268, 23; + cvt.rn.f32.u32 %f543, %r271; + add.f32 %f544, %f540, %f543; + setp.gt.f32 %p89, %f542, 0f3FB504F3; + mul.f32 %f545, %f542, 0f3F000000; + add.f32 %f546, %f544, 0f3F800000; + selp.f32 %f547, %f545, %f542, %p89; + selp.f32 %f548, %f546, %f544, %p89; + add.f32 %f549, %f547, 0fBF800000; + add.f32 %f535, %f547, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f534,%f535; + // inline asm + add.f32 %f550, %f549, %f549; + mul.f32 %f551, %f534, %f550; + mul.f32 %f552, %f551, %f551; + mov.f32 %f553, 0f3C4CAF63; + mov.f32 %f554, 0f3B18F0FE; + fma.rn.f32 %f555, %f554, %f552, %f553; + mov.f32 %f556, 0f3DAAAABD; + fma.rn.f32 %f557, %f555, %f552, %f556; + mul.rn.f32 %f558, %f557, %f552; + mul.rn.f32 %f559, %f558, %f551; + sub.f32 %f560, %f549, %f551; + neg.f32 %f561, %f551; + add.f32 %f562, %f560, %f560; + fma.rn.f32 %f563, %f561, %f549, %f562; + mul.rn.f32 %f564, %f534, %f563; + add.f32 %f565, %f559, %f551; + sub.f32 %f566, %f551, %f565; + add.f32 %f567, %f559, %f566; + add.f32 %f568, %f564, %f567; + add.f32 %f569, %f565, %f568; + sub.f32 %f570, %f565, %f569; + add.f32 %f571, %f568, %f570; + mov.f32 %f572, 0f3F317200; + mul.rn.f32 %f573, %f548, %f572; + mov.f32 %f574, 0f35BFBE8E; + mul.rn.f32 %f575, %f548, %f574; + add.f32 %f576, %f573, %f569; + sub.f32 %f577, %f573, %f576; + add.f32 %f578, %f569, %f577; + add.f32 %f579, %f571, %f578; + add.f32 %f580, %f575, %f579; + add.f32 %f581, %f576, %f580; + sub.f32 %f582, %f576, %f581; + add.f32 %f583, %f580, %f582; + mov.f32 %f584, 0f3EE66666; + mul.rn.f32 %f585, %f584, %f581; + neg.f32 %f586, %f585; + fma.rn.f32 %f587, %f584, %f581, %f586; + fma.rn.f32 %f588, %f584, %f583, %f587; + mov.f32 %f589, 0f00000000; + fma.rn.f32 %f590, %f589, %f581, %f588; + add.rn.f32 %f591, %f585, %f590; + neg.f32 %f592, %f591; + add.rn.f32 %f593, %f585, %f592; + add.rn.f32 %f594, %f593, %f590; + mov.b32 %r272, %f591; + setp.eq.s32 %p90, %r272, 1118925336; + add.s32 %r273, %r272, -1; + mov.b32 %f595, %r273; + add.f32 %f596, %f594, 0f37000000; + selp.f32 %f597, %f595, %f591, %p90; + selp.f32 %f133, %f596, %f594, %p90; + mul.f32 %f598, %f597, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f599, %f598; + mov.f32 %f600, 0fBF317200; + fma.rn.f32 %f601, %f599, %f600, %f597; + mov.f32 %f602, 0fB5BFBE8E; + fma.rn.f32 %f603, %f599, %f602, %f601; + mul.f32 %f604, %f603, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f605, %f604; + add.f32 %f606, %f599, 0f00000000; + ex2.approx.f32 %f607, %f606; + mul.f32 %f608, %f605, %f607; + setp.lt.f32 %p91, %f597, 0fC2D20000; + selp.f32 %f609, 0f00000000, %f608, %p91; + setp.gt.f32 %p92, %f597, 0f42D20000; + selp.f32 %f844, 0f7F800000, %f609, %p92; + setp.eq.f32 %p93, %f844, 0f7F800000; + @%p93 bra BB0_93; + + fma.rn.f32 %f844, %f844, %f133, %f844; + +BB0_93: + setp.lt.f32 %p94, %f128, 0f00000000; + setp.eq.f32 %p95, %f131, 0f3F800000; + and.pred %p4, %p94, %p95; + mov.b32 %r274, %f844; + xor.b32 %r275, %r274, -2147483648; + mov.b32 %f610, %r275; + selp.f32 %f846, %f610, %f844, %p4; + setp.eq.f32 %p96, %f128, 0f00000000; + @%p96 bra BB0_96; + bra.uni BB0_94; + +BB0_96: + add.f32 %f613, %f128, %f128; + selp.f32 %f846, %f613, 0f00000000, %p95; + bra.uni BB0_97; + +BB0_94: + setp.geu.f32 %p97, %f128, 0f00000000; + @%p97 bra BB0_97; + + cvt.rzi.f32.f32 %f612, %f584; + setp.neu.f32 %p98, %f612, 0f3EE66666; + selp.f32 %f846, 0f7FFFFFFF, %f846, %p98; + +BB0_97: + add.f32 %f614, %f132, 0f3EE66666; + mov.b32 %r276, %f614; + setp.lt.s32 %p100, %r276, 2139095040; + @%p100 bra BB0_102; + + setp.gtu.f32 %p101, %f132, 0f7F800000; + @%p101 bra BB0_101; + bra.uni BB0_99; + +BB0_101: + add.f32 %f846, %f128, 0f3EE66666; + bra.uni BB0_102; + +BB0_99: + setp.neu.f32 %p102, %f132, 0f7F800000; + @%p102 bra BB0_102; + + selp.f32 %f846, 0fFF800000, 0f7F800000, %p4; + +BB0_102: + setp.eq.f32 %p103, %f128, 0f3F800000; + selp.f32 %f144, 0f3F800000, %f846, %p103; + abs.f32 %f145, %f129; + setp.lt.f32 %p104, %f145, 0f00800000; + mul.f32 %f617, %f145, 0f4B800000; + selp.f32 %f618, 0fC3170000, 0fC2FE0000, %p104; + selp.f32 %f619, %f617, %f145, %p104; + mov.b32 %r277, %f619; + and.b32 %r278, %r277, 8388607; + or.b32 %r279, %r278, 1065353216; + mov.b32 %f620, %r279; + shr.u32 %r280, %r277, 23; + cvt.rn.f32.u32 %f621, %r280; + add.f32 %f622, %f618, %f621; + setp.gt.f32 %p105, %f620, 0f3FB504F3; + mul.f32 %f623, %f620, 0f3F000000; + add.f32 %f624, %f622, 0f3F800000; + selp.f32 %f625, %f623, %f620, %p105; + selp.f32 %f626, %f624, %f622, %p105; + add.f32 %f627, %f625, 0fBF800000; + add.f32 %f616, %f625, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f615,%f616; + // inline asm + add.f32 %f628, %f627, %f627; + mul.f32 %f629, %f615, %f628; + mul.f32 %f630, %f629, %f629; + fma.rn.f32 %f633, %f554, %f630, %f553; + fma.rn.f32 %f635, %f633, %f630, %f556; + mul.rn.f32 %f636, %f635, %f630; + mul.rn.f32 %f637, %f636, %f629; + sub.f32 %f638, %f627, %f629; + neg.f32 %f639, %f629; + add.f32 %f640, %f638, %f638; + fma.rn.f32 %f641, %f639, %f627, %f640; + mul.rn.f32 %f642, %f615, %f641; + add.f32 %f643, %f637, %f629; + sub.f32 %f644, %f629, %f643; + add.f32 %f645, %f637, %f644; + add.f32 %f646, %f642, %f645; + add.f32 %f647, %f643, %f646; + sub.f32 %f648, %f643, %f647; + add.f32 %f649, %f646, %f648; + mul.rn.f32 %f651, %f626, %f572; + mul.rn.f32 %f653, %f626, %f574; + add.f32 %f654, %f651, %f647; + sub.f32 %f655, %f651, %f654; + add.f32 %f656, %f647, %f655; + add.f32 %f657, %f649, %f656; + add.f32 %f658, %f653, %f657; + add.f32 %f659, %f654, %f658; + sub.f32 %f660, %f654, %f659; + add.f32 %f661, %f658, %f660; + mul.rn.f32 %f663, %f584, %f659; + neg.f32 %f664, %f663; + fma.rn.f32 %f665, %f584, %f659, %f664; + fma.rn.f32 %f666, %f584, %f661, %f665; + fma.rn.f32 %f668, %f589, %f659, %f666; + add.rn.f32 %f669, %f663, %f668; + neg.f32 %f670, %f669; + add.rn.f32 %f671, %f663, %f670; + add.rn.f32 %f672, %f671, %f668; + mov.b32 %r281, %f669; + setp.eq.s32 %p106, %r281, 1118925336; + add.s32 %r282, %r281, -1; + mov.b32 %f673, %r282; + add.f32 %f674, %f672, 0f37000000; + selp.f32 %f675, %f673, %f669, %p106; + selp.f32 %f146, %f674, %f672, %p106; + mul.f32 %f676, %f675, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f677, %f676; + fma.rn.f32 %f679, %f677, %f600, %f675; + fma.rn.f32 %f681, %f677, %f602, %f679; + mul.f32 %f682, %f681, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f683, %f682; + add.f32 %f684, %f677, 0f00000000; + ex2.approx.f32 %f685, %f684; + mul.f32 %f686, %f683, %f685; + setp.lt.f32 %p107, %f675, 0fC2D20000; + selp.f32 %f687, 0f00000000, %f686, %p107; + setp.gt.f32 %p108, %f675, 0f42D20000; + selp.f32 %f847, 0f7F800000, %f687, %p108; + setp.eq.f32 %p109, %f847, 0f7F800000; + @%p109 bra BB0_104; + + fma.rn.f32 %f847, %f847, %f146, %f847; + +BB0_104: + setp.lt.f32 %p110, %f129, 0f00000000; + and.pred %p5, %p110, %p95; + mov.b32 %r283, %f847; + xor.b32 %r284, %r283, -2147483648; + mov.b32 %f688, %r284; + selp.f32 %f849, %f688, %f847, %p5; + setp.eq.f32 %p112, %f129, 0f00000000; + @%p112 bra BB0_107; + bra.uni BB0_105; + +BB0_107: + add.f32 %f691, %f129, %f129; + selp.f32 %f849, %f691, 0f00000000, %p95; + bra.uni BB0_108; + +BB0_105: + setp.geu.f32 %p113, %f129, 0f00000000; + @%p113 bra BB0_108; + + cvt.rzi.f32.f32 %f690, %f584; + setp.neu.f32 %p114, %f690, 0f3EE66666; + selp.f32 %f849, 0f7FFFFFFF, %f849, %p114; + +BB0_108: + add.f32 %f692, %f145, 0f3EE66666; + mov.b32 %r285, %f692; + setp.lt.s32 %p116, %r285, 2139095040; + @%p116 bra BB0_113; + + setp.gtu.f32 %p117, %f145, 0f7F800000; + @%p117 bra BB0_112; + bra.uni BB0_110; + +BB0_112: + add.f32 %f849, %f129, 0f3EE66666; + bra.uni BB0_113; + +BB0_110: + setp.neu.f32 %p118, %f145, 0f7F800000; + @%p118 bra BB0_113; + + selp.f32 %f849, 0fFF800000, 0f7F800000, %p5; + +BB0_113: + setp.eq.f32 %p119, %f129, 0f3F800000; + selp.f32 %f157, 0f3F800000, %f849, %p119; + abs.f32 %f158, %f130; + setp.lt.f32 %p120, %f158, 0f00800000; + mul.f32 %f695, %f158, 0f4B800000; + selp.f32 %f696, 0fC3170000, 0fC2FE0000, %p120; + selp.f32 %f697, %f695, %f158, %p120; + mov.b32 %r286, %f697; + and.b32 %r287, %r286, 8388607; + or.b32 %r288, %r287, 1065353216; + mov.b32 %f698, %r288; + shr.u32 %r289, %r286, 23; + cvt.rn.f32.u32 %f699, %r289; + add.f32 %f700, %f696, %f699; + setp.gt.f32 %p121, %f698, 0f3FB504F3; + mul.f32 %f701, %f698, 0f3F000000; + add.f32 %f702, %f700, 0f3F800000; + selp.f32 %f703, %f701, %f698, %p121; + selp.f32 %f704, %f702, %f700, %p121; + add.f32 %f705, %f703, 0fBF800000; + add.f32 %f694, %f703, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f693,%f694; + // inline asm + add.f32 %f706, %f705, %f705; + mul.f32 %f707, %f693, %f706; + mul.f32 %f708, %f707, %f707; + fma.rn.f32 %f711, %f554, %f708, %f553; + fma.rn.f32 %f713, %f711, %f708, %f556; + mul.rn.f32 %f714, %f713, %f708; + mul.rn.f32 %f715, %f714, %f707; + sub.f32 %f716, %f705, %f707; + neg.f32 %f717, %f707; + add.f32 %f718, %f716, %f716; + fma.rn.f32 %f719, %f717, %f705, %f718; + mul.rn.f32 %f720, %f693, %f719; + add.f32 %f721, %f715, %f707; + sub.f32 %f722, %f707, %f721; + add.f32 %f723, %f715, %f722; + add.f32 %f724, %f720, %f723; + add.f32 %f725, %f721, %f724; + sub.f32 %f726, %f721, %f725; + add.f32 %f727, %f724, %f726; + mul.rn.f32 %f729, %f704, %f572; + mul.rn.f32 %f731, %f704, %f574; + add.f32 %f732, %f729, %f725; + sub.f32 %f733, %f729, %f732; + add.f32 %f734, %f725, %f733; + add.f32 %f735, %f727, %f734; + add.f32 %f736, %f731, %f735; + add.f32 %f737, %f732, %f736; + sub.f32 %f738, %f732, %f737; + add.f32 %f739, %f736, %f738; + mul.rn.f32 %f741, %f584, %f737; + neg.f32 %f742, %f741; + fma.rn.f32 %f743, %f584, %f737, %f742; + fma.rn.f32 %f744, %f584, %f739, %f743; + fma.rn.f32 %f746, %f589, %f737, %f744; + add.rn.f32 %f747, %f741, %f746; + neg.f32 %f748, %f747; + add.rn.f32 %f749, %f741, %f748; + add.rn.f32 %f750, %f749, %f746; + mov.b32 %r290, %f747; + setp.eq.s32 %p122, %r290, 1118925336; + add.s32 %r291, %r290, -1; + mov.b32 %f751, %r291; + add.f32 %f752, %f750, 0f37000000; + selp.f32 %f753, %f751, %f747, %p122; + selp.f32 %f159, %f752, %f750, %p122; + mul.f32 %f754, %f753, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f755, %f754; + fma.rn.f32 %f757, %f755, %f600, %f753; + fma.rn.f32 %f759, %f755, %f602, %f757; + mul.f32 %f760, %f759, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f761, %f760; + add.f32 %f762, %f755, 0f00000000; + ex2.approx.f32 %f763, %f762; + mul.f32 %f764, %f761, %f763; + setp.lt.f32 %p123, %f753, 0fC2D20000; + selp.f32 %f765, 0f00000000, %f764, %p123; + setp.gt.f32 %p124, %f753, 0f42D20000; + selp.f32 %f850, 0f7F800000, %f765, %p124; + setp.eq.f32 %p125, %f850, 0f7F800000; + @%p125 bra BB0_115; + + fma.rn.f32 %f850, %f850, %f159, %f850; + +BB0_115: + setp.lt.f32 %p126, %f130, 0f00000000; + and.pred %p6, %p126, %p95; + mov.b32 %r292, %f850; + xor.b32 %r293, %r292, -2147483648; + mov.b32 %f766, %r293; + selp.f32 %f852, %f766, %f850, %p6; + setp.eq.f32 %p128, %f130, 0f00000000; + @%p128 bra BB0_118; + bra.uni BB0_116; + +BB0_118: + add.f32 %f769, %f130, %f130; + selp.f32 %f852, %f769, 0f00000000, %p95; + bra.uni BB0_119; + +BB0_116: + setp.geu.f32 %p129, %f130, 0f00000000; + @%p129 bra BB0_119; + + cvt.rzi.f32.f32 %f768, %f584; + setp.neu.f32 %p130, %f768, 0f3EE66666; + selp.f32 %f852, 0f7FFFFFFF, %f852, %p130; + +BB0_119: + add.f32 %f770, %f158, 0f3EE66666; + mov.b32 %r294, %f770; + setp.lt.s32 %p132, %r294, 2139095040; + @%p132 bra BB0_124; + + setp.gtu.f32 %p133, %f158, 0f7F800000; + @%p133 bra BB0_123; + bra.uni BB0_121; + +BB0_123: + add.f32 %f852, %f130, 0f3EE66666; + bra.uni BB0_124; + +BB0_121: + setp.neu.f32 %p134, %f158, 0f7F800000; + @%p134 bra BB0_124; + + selp.f32 %f852, 0fFF800000, 0f7F800000, %p6; + +BB0_124: + mov.u32 %r326, 2; + setp.eq.f32 %p135, %f130, 0f3F800000; + selp.f32 %f771, 0f3F800000, %f852, %p135; + cvt.u64.u32 %rd73, %r4; + cvt.u64.u32 %rd72, %r3; + mov.u64 %rd76, image; + cvta.global.u64 %rd71, %rd76; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r326, %r102, %rd72, %rd73, %rd24, %rd24); + // inline asm + cvt.sat.f32.f32 %f772, %f771; + mul.f32 %f773, %f772, 0f437FFD71; + cvt.rzi.u32.f32 %r297, %f773; + cvt.sat.f32.f32 %f774, %f157; + mul.f32 %f775, %f774, 0f437FFD71; + cvt.rzi.u32.f32 %r298, %f775; + cvt.sat.f32.f32 %f776, %f144; + mul.f32 %f777, %f776, 0f437FFD71; + cvt.rzi.u32.f32 %r299, %f777; + cvt.u16.u32 %rs12, %r297; + cvt.u16.u32 %rs13, %r299; + cvt.u16.u32 %rs14, %r298; + mov.u16 %rs15, 255; + st.v4.u8 [%rd70], {%rs12, %rs14, %rs13, %rs15}; + ld.global.u32 %r360, [imageEnabled]; + +BB0_125: + and.b32 %r300, %r360, 4; + setp.eq.s32 %p136, %r300, 0; + @%p136 bra BB0_137; + + ld.global.u32 %r301, [additive]; + setp.eq.s32 %p137, %r301, 0; + cvt.u64.u32 %rd15, %r3; + cvt.u64.u32 %rd16, %r4; + // inline asm + { cvt.rn.f16.f32 %rs16, %f338;} + + // inline asm + @%p137 bra BB0_128; + + mov.u32 %r327, 2; + mov.u64 %rd89, image_HDR; + cvta.global.u64 %rd78, %rd89; + mov.u32 %r305, 8; + // inline asm + call (%rd77), _rt_buffer_get_64, (%rd78, %r327, %r305, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs23, %rs24, %rs25, %rs26}, [%rd77]; + // inline asm + { cvt.f32.f16 %f779, %rs23;} + + // inline asm + // inline asm + { cvt.f32.f16 %f780, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f781, %rs25;} + + // inline asm + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd78, %r327, %r305, %rd15, %rd16, %rd24, %rd24); + // inline asm + add.f32 %f782, %f128, %f779; + add.f32 %f783, %f129, %f780; + add.f32 %f784, %f130, %f781; + // inline asm + { cvt.rn.f16.f32 %rs22, %f784;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f783;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs20, %f782;} + + // inline asm + st.v4.u16 [%rd83], {%rs20, %rs21, %rs22, %rs16}; + bra.uni BB0_137; + +BB0_128: + mov.u32 %r328, 2; + mov.u64 %rd96, image_HDR; + cvta.global.u64 %rd91, %rd96; + mov.u32 %r307, 8; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r328, %r307, %rd15, %rd16, %rd24, %rd24); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f130;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f129;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f128;} + + // inline asm + st.v4.u16 [%rd90], {%rs27, %rs28, %rs29, %rs16}; + +BB0_137: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLight.ptx.meta new file mode 100644 index 00000000..9f356d92 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 68f3872877b46914aaf236ed2053c1b0 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightDir.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightDir.ptx new file mode 100644 index 00000000..1d739a9a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightDir.ptx @@ -0,0 +1,1888 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[36]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<145>; + .reg .b16 %rs<55>; + .reg .f32 %f<935>; + .reg .b32 %r<371>; + .reg .b64 %rd<162>; + + + mov.u64 %rd161, __local_depot0; + cvta.local.u64 %SP, %rd161; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r103, %r104}, [pixelID]; + cvt.u64.u32 %rd23, %r103; + cvt.u64.u32 %rd24, %r104; + mov.u64 %rd27, uvnormal; + cvta.global.u64 %rd22, %rd27; + mov.u32 %r101, 2; + mov.u32 %r102, 4; + mov.u64 %rd26, 0; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd22, %r101, %r102, %rd23, %rd24, %rd26, %rd26); + // inline asm + ld.u32 %r2, [%rd21]; + shr.u32 %r107, %r2, 16; + cvt.u16.u32 %rs1, %r107; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r2; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p7, %rs5, 0; + mov.f32 %f865, 0f00000000; + mov.f32 %f866, %f865; + mov.f32 %f867, %f865; + @%p7 bra BB0_2; + + ld.u8 %rs6, [%rd21+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f204, %rs8; + div.rn.f32 %f205, %f204, 0f437F0000; + fma.rn.f32 %f206, %f205, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f207, %rs6; + div.rn.f32 %f208, %f207, 0f437F0000; + fma.rn.f32 %f209, %f208, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f210, %rs3; + div.rn.f32 %f211, %f210, 0f437F0000; + fma.rn.f32 %f212, %f211, 0f40000000, 0fBF800000; + mul.f32 %f213, %f209, %f209; + fma.rn.f32 %f214, %f206, %f206, %f213; + fma.rn.f32 %f215, %f212, %f212, %f214; + sqrt.rn.f32 %f216, %f215; + rcp.rn.f32 %f217, %f216; + mul.f32 %f865, %f206, %f217; + mul.f32 %f866, %f209, %f217; + mul.f32 %f867, %f212, %f217; + +BB0_2: + ld.global.v2.u32 {%r108, %r109}, [pixelID]; + ld.global.v2.u32 {%r111, %r112}, [tileInfo]; + add.s32 %r3, %r108, %r111; + add.s32 %r4, %r109, %r112; + setp.eq.f32 %p8, %f866, 0f00000000; + setp.eq.f32 %p9, %f865, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f867, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_131; + bra.uni BB0_3; + +BB0_131: + ld.global.u32 %r370, [imageEnabled]; + and.b32 %r313, %r370, 1; + setp.eq.b32 %p139, %r313, 1; + @!%p139 bra BB0_133; + bra.uni BB0_132; + +BB0_132: + cvt.u64.u32 %rd116, %r3; + cvt.u64.u32 %rd117, %r4; + mov.u64 %rd120, image; + cvta.global.u64 %rd115, %rd120; + mov.u64 %rd119, 0; + // inline asm + call (%rd114), _rt_buffer_get_64, (%rd115, %r101, %r102, %rd116, %rd117, %rd119, %rd119); + // inline asm + mov.u16 %rs36, 0; + st.v4.u8 [%rd114], {%rs36, %rs36, %rs36, %rs36}; + ld.global.u32 %r370, [imageEnabled]; + +BB0_133: + and.b32 %r316, %r370, 8; + setp.eq.s32 %p140, %r316, 0; + @%p140 bra BB0_135; + + cvt.u64.u32 %rd123, %r3; + cvt.u64.u32 %rd124, %r4; + mov.u64 %rd127, image_Mask; + cvta.global.u64 %rd122, %rd127; + mov.u64 %rd126, 0; + // inline asm + call (%rd121), _rt_buffer_get_64, (%rd122, %r101, %r101, %rd123, %rd124, %rd126, %rd126); + // inline asm + mov.f32 %f848, 0f00000000; + cvt.rzi.u32.f32 %r319, %f848; + cvt.u16.u32 %rs37, %r319; + mov.u16 %rs38, 0; + st.v2.u8 [%rd121], {%rs37, %rs38}; + ld.global.u32 %r370, [imageEnabled]; + +BB0_135: + and.b32 %r320, %r370, 4; + setp.eq.s32 %p141, %r320, 0; + @%p141 bra BB0_139; + + ld.global.u32 %r321, [additive]; + setp.eq.s32 %p142, %r321, 0; + cvt.u64.u32 %rd19, %r3; + cvt.u64.u32 %rd20, %r4; + @%p142 bra BB0_138; + + mov.u64 %rd140, image_HDR; + cvta.global.u64 %rd129, %rd140; + mov.u32 %r325, 8; + mov.u64 %rd139, 0; + // inline asm + call (%rd128), _rt_buffer_get_64, (%rd129, %r101, %r325, %rd19, %rd20, %rd139, %rd139); + // inline asm + ld.v4.u16 {%rs45, %rs46, %rs47, %rs48}, [%rd128]; + // inline asm + { cvt.f32.f16 %f849, %rs45;} + + // inline asm + // inline asm + { cvt.f32.f16 %f850, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f851, %rs47;} + + // inline asm + // inline asm + call (%rd134), _rt_buffer_get_64, (%rd129, %r101, %r325, %rd19, %rd20, %rd139, %rd139); + // inline asm + add.f32 %f852, %f849, 0f00000000; + add.f32 %f853, %f850, 0f00000000; + add.f32 %f854, %f851, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs44, %f854;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f853;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs42, %f852;} + + // inline asm + mov.u16 %rs49, 0; + st.v4.u16 [%rd134], {%rs42, %rs43, %rs44, %rs49}; + bra.uni BB0_139; + +BB0_3: + ld.global.v2.u32 {%r121, %r122}, [pixelID]; + cvt.u64.u32 %rd30, %r121; + cvt.u64.u32 %rd31, %r122; + mov.u64 %rd40, uvpos; + cvta.global.u64 %rd29, %rd40; + mov.u32 %r117, 12; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd29, %r101, %r117, %rd30, %rd31, %rd26, %rd26); + // inline asm + ld.f32 %f9, [%rd28+8]; + ld.f32 %f8, [%rd28+4]; + ld.f32 %f7, [%rd28]; + mul.f32 %f223, %f7, 0f3456BF95; + mul.f32 %f224, %f8, 0f3456BF95; + mul.f32 %f225, %f9, 0f3456BF95; + abs.f32 %f10, %f865; + div.rn.f32 %f226, %f223, %f10; + abs.f32 %f227, %f866; + div.rn.f32 %f228, %f224, %f227; + abs.f32 %f11, %f867; + div.rn.f32 %f229, %f225, %f11; + abs.f32 %f230, %f226; + abs.f32 %f231, %f228; + abs.f32 %f232, %f229; + mov.f32 %f233, 0f38D1B717; + max.f32 %f234, %f230, %f233; + max.f32 %f235, %f231, %f233; + max.f32 %f236, %f232, %f233; + fma.rn.f32 %f12, %f865, %f234, %f7; + fma.rn.f32 %f13, %f866, %f235, %f8; + fma.rn.f32 %f14, %f867, %f236, %f9; + ld.global.v2.u32 {%r125, %r126}, [pixelID]; + cvt.u64.u32 %rd36, %r125; + cvt.u64.u32 %rd37, %r126; + mov.u64 %rd41, rnd_seeds; + cvta.global.u64 %rd35, %rd41; + // inline asm + call (%rd34), _rt_buffer_get_64, (%rd35, %r101, %r102, %rd36, %rd37, %rd26, %rd26); + // inline asm + ld.u32 %r129, [%rd34]; + mad.lo.s32 %r5, %r129, 1664525, 1013904223; + ld.global.u32 %r130, [lightMeshBufferSize]; + setp.eq.s32 %p14, %r130, 0; + mov.pred %p13, 0; + mov.f32 %f20, 0f00000000; + mov.u32 %r7, 0; + @%p14 bra BB0_4; + + ld.global.f32 %f15, [lightPointSize]; + mul.f32 %f16, %f12, 0f3456BF95; + mul.f32 %f17, %f13, 0f3456BF95; + mul.f32 %f18, %f14, 0f3456BF95; + and.b32 %r133, %r5, 16777215; + cvt.rn.f32.u32 %f242, %r133; + mul.f32 %f243, %f242, 0fB3800000; + fma.rn.f32 %f19, %f243, 0f3F333333, 0f3F800000; + mov.f32 %f20, 0f00000000; + mov.u32 %r339, 0; + abs.f32 %f366, %f17; + abs.f32 %f367, %f16; + max.f32 %f368, %f367, %f366; + abs.f32 %f369, %f18; + max.f32 %f370, %f368, %f369; + mov.u32 %r7, %r339; + mov.f32 %f21, %f20; + mov.f32 %f888, %f20; + mov.f32 %f889, %f20; + mov.f32 %f890, %f20; + +BB0_6: + shl.b32 %r8, %r339, 1; + cvt.s64.s32 %rd44, %r8; + mov.u64 %rd48, lightMeshBuffer; + cvta.global.u64 %rd43, %rd48; + mov.u32 %r134, 1; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd43, %r134, %r117, %rd44, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f244, [%rd42]; + sub.f32 %f245, %f244, %f7; + ld.f32 %f246, [%rd42+4]; + sub.f32 %f247, %f246, %f8; + ld.f32 %f248, [%rd42+8]; + sub.f32 %f249, %f248, %f9; + mul.f32 %f250, %f247, %f247; + fma.rn.f32 %f251, %f245, %f245, %f250; + fma.rn.f32 %f252, %f249, %f249, %f251; + sqrt.rn.f32 %f25, %f252; + rcp.rn.f32 %f253, %f25; + mul.f32 %f26, %f245, %f253; + mul.f32 %f27, %f247, %f253; + mul.f32 %f28, %f249, %f253; + mul.f32 %f254, %f866, %f27; + fma.rn.f32 %f255, %f865, %f26, %f254; + fma.rn.f32 %f29, %f867, %f28, %f255; + setp.leu.f32 %p15, %f29, 0f00000000; + @%p15 bra BB0_22; + + setp.ne.s32 %p17, %r1, 0; + mul.f32 %f256, %f25, %f25; + mul.f32 %f257, %f256, 0f40C90FDB; + div.rn.f32 %f258, %f15, %f257; + add.f32 %f30, %f258, %f258; + setp.gt.f32 %p18, %f30, %f19; + and.pred %p19, %p17, %p18; + mov.pred %p144, -1; + @%p19 bra BB0_24; + + ld.global.f32 %f261, [lightInvCutoff]; + mul.f32 %f31, %f25, %f261; + mov.f32 %f265, 0f40800000; + abs.f32 %f33, %f31; + setp.lt.f32 %p20, %f33, 0f00800000; + mul.f32 %f267, %f33, 0f4B800000; + selp.f32 %f268, 0fC3170000, 0fC2FE0000, %p20; + selp.f32 %f269, %f267, %f33, %p20; + mov.b32 %r136, %f269; + and.b32 %r137, %r136, 8388607; + or.b32 %r138, %r137, 1065353216; + mov.b32 %f270, %r138; + shr.u32 %r139, %r136, 23; + cvt.rn.f32.u32 %f271, %r139; + add.f32 %f272, %f268, %f271; + setp.gt.f32 %p21, %f270, 0f3FB504F3; + mul.f32 %f273, %f270, 0f3F000000; + add.f32 %f274, %f272, 0f3F800000; + selp.f32 %f275, %f273, %f270, %p21; + selp.f32 %f276, %f274, %f272, %p21; + add.f32 %f277, %f275, 0fBF800000; + add.f32 %f260, %f275, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f259,%f260; + // inline asm + add.f32 %f278, %f277, %f277; + mul.f32 %f279, %f259, %f278; + mul.f32 %f280, %f279, %f279; + mov.f32 %f281, 0f3C4CAF63; + mov.f32 %f282, 0f3B18F0FE; + fma.rn.f32 %f283, %f282, %f280, %f281; + mov.f32 %f284, 0f3DAAAABD; + fma.rn.f32 %f285, %f283, %f280, %f284; + mul.rn.f32 %f286, %f285, %f280; + mul.rn.f32 %f287, %f286, %f279; + sub.f32 %f288, %f277, %f279; + neg.f32 %f289, %f279; + add.f32 %f290, %f288, %f288; + fma.rn.f32 %f291, %f289, %f277, %f290; + mul.rn.f32 %f292, %f259, %f291; + add.f32 %f293, %f287, %f279; + sub.f32 %f294, %f279, %f293; + add.f32 %f295, %f287, %f294; + add.f32 %f296, %f292, %f295; + add.f32 %f297, %f293, %f296; + sub.f32 %f298, %f293, %f297; + add.f32 %f299, %f296, %f298; + mov.f32 %f300, 0f3F317200; + mul.rn.f32 %f301, %f276, %f300; + mov.f32 %f302, 0f35BFBE8E; + mul.rn.f32 %f303, %f276, %f302; + add.f32 %f304, %f301, %f297; + sub.f32 %f305, %f301, %f304; + add.f32 %f306, %f297, %f305; + add.f32 %f307, %f299, %f306; + add.f32 %f308, %f303, %f307; + add.f32 %f309, %f304, %f308; + sub.f32 %f310, %f304, %f309; + add.f32 %f311, %f308, %f310; + mul.rn.f32 %f312, %f265, %f309; + neg.f32 %f313, %f312; + fma.rn.f32 %f314, %f265, %f309, %f313; + fma.rn.f32 %f315, %f265, %f311, %f314; + mov.f32 %f316, 0f00000000; + fma.rn.f32 %f317, %f316, %f309, %f315; + add.rn.f32 %f318, %f312, %f317; + neg.f32 %f319, %f318; + add.rn.f32 %f320, %f312, %f319; + add.rn.f32 %f321, %f320, %f317; + mov.b32 %r140, %f318; + setp.eq.s32 %p22, %r140, 1118925336; + add.s32 %r141, %r140, -1; + mov.b32 %f322, %r141; + add.f32 %f323, %f321, 0f37000000; + selp.f32 %f324, %f322, %f318, %p22; + selp.f32 %f34, %f323, %f321, %p22; + mul.f32 %f325, %f324, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f326, %f325; + mov.f32 %f327, 0fBF317200; + fma.rn.f32 %f328, %f326, %f327, %f324; + mov.f32 %f329, 0fB5BFBE8E; + fma.rn.f32 %f330, %f326, %f329, %f328; + mul.f32 %f331, %f330, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f332, %f331; + add.f32 %f333, %f326, 0f00000000; + ex2.approx.f32 %f334, %f333; + mul.f32 %f335, %f332, %f334; + setp.lt.f32 %p23, %f324, 0fC2D20000; + selp.f32 %f336, 0f00000000, %f335, %p23; + setp.gt.f32 %p24, %f324, 0f42D20000; + selp.f32 %f873, 0f7F800000, %f336, %p24; + setp.eq.f32 %p25, %f873, 0f7F800000; + @%p25 bra BB0_10; + + fma.rn.f32 %f873, %f873, %f34, %f873; + +BB0_10: + mov.f32 %f861, 0f40000000; + cvt.rzi.f32.f32 %f860, %f861; + add.f32 %f859, %f860, %f860; + mov.f32 %f858, 0f40800000; + sub.f32 %f857, %f858, %f859; + abs.f32 %f856, %f857; + setp.lt.f32 %p26, %f31, 0f00000000; + setp.eq.f32 %p27, %f856, 0f3F800000; + and.pred %p1, %p26, %p27; + mov.b32 %r142, %f873; + xor.b32 %r143, %r142, -2147483648; + mov.b32 %f337, %r143; + selp.f32 %f875, %f337, %f873, %p1; + setp.eq.f32 %p28, %f31, 0f00000000; + @%p28 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f340, %f31, %f31; + selp.f32 %f875, %f340, 0f00000000, %p27; + bra.uni BB0_14; + +BB0_11: + setp.geu.f32 %p29, %f31, 0f00000000; + @%p29 bra BB0_14; + + mov.f32 %f864, 0f40800000; + cvt.rzi.f32.f32 %f339, %f864; + setp.neu.f32 %p30, %f339, 0f40800000; + selp.f32 %f875, 0f7FFFFFFF, %f875, %p30; + +BB0_14: + add.f32 %f341, %f33, 0f40800000; + mov.b32 %r144, %f341; + setp.lt.s32 %p32, %r144, 2139095040; + @%p32 bra BB0_19; + + setp.gtu.f32 %p33, %f33, 0f7F800000; + @%p33 bra BB0_18; + bra.uni BB0_16; + +BB0_18: + add.f32 %f875, %f31, 0f40800000; + bra.uni BB0_19; + +BB0_16: + setp.neu.f32 %p34, %f33, 0f7F800000; + @%p34 bra BB0_19; + + selp.f32 %f875, 0fFF800000, 0f7F800000, %p1; + +BB0_19: + mov.u32 %r331, 1; + mov.u64 %rd156, lightMeshBuffer; + cvta.global.u64 %rd155, %rd156; + shl.b32 %r330, %r339, 1; + mov.f32 %f342, 0f3F800000; + sub.f32 %f343, %f342, %f875; + setp.eq.f32 %p35, %f31, 0f3F800000; + selp.f32 %f344, 0f00000000, %f343, %p35; + cvt.sat.f32.f32 %f345, %f344; + mul.f32 %f346, %f30, %f345; + add.s32 %r147, %r330, 1; + cvt.s64.s32 %rd51, %r147; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd155, %r331, %r117, %rd51, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f347, [%rd49]; + mul.f32 %f348, %f26, %f347; + ld.f32 %f349, [%rd49+4]; + mul.f32 %f350, %f27, %f349; + neg.f32 %f351, %f350; + sub.f32 %f352, %f351, %f348; + ld.f32 %f353, [%rd49+8]; + mul.f32 %f354, %f28, %f353; + sub.f32 %f355, %f352, %f354; + cvt.sat.f32.f32 %f356, %f355; + mul.f32 %f45, %f346, %f356; + cvt.sat.f32.f32 %f46, %f29; + mul.f32 %f357, %f45, %f46; + setp.leu.f32 %p36, %f357, 0f3727C5AC; + @%p36 bra BB0_21; + + mov.u32 %r338, 1; + add.u64 %rd56, %SP, 28; + cvta.to.local.u64 %rd57, %rd56; + max.f32 %f364, %f370, %f233; + sub.f32 %f365, %f25, %f364; + mov.u32 %r151, 1065353216; + st.local.u32 [%rd57], %r151; + ld.global.u32 %r148, [root]; + // inline asm + call _rt_trace_64, (%r148, %f12, %f13, %f14, %f26, %f27, %f28, %r338, %f364, %f365, %rd56, %r102); + // inline asm + ld.local.f32 %f372, [%rd57]; + mul.f32 %f373, %f45, %f372; + fma.rn.f32 %f21, %f46, %f373, %f21; + add.f32 %f20, %f20, %f372; + fma.rn.f32 %f890, %f26, %f372, %f890; + fma.rn.f32 %f889, %f27, %f372, %f889; + fma.rn.f32 %f888, %f28, %f372, %f888; + +BB0_21: + add.s32 %r7, %r7, 1; + +BB0_22: + ld.global.u32 %r152, [lightMeshBufferSize]; + add.s32 %r339, %r339, 1; + setp.lt.u32 %p38, %r339, %r152; + @%p38 bra BB0_6; + bra.uni BB0_23; + +BB0_4: + mov.f32 %f21, %f20; + mov.f32 %f888, %f20; + mov.f32 %f889, %f20; + mov.f32 %f890, %f20; + +BB0_23: + mov.pred %p144, %p13; + +BB0_24: + cvt.rn.f32.s32 %f374, %r7; + mov.f32 %f375, 0f3F800000; + max.f32 %f376, %f374, %f375; + div.rn.f32 %f921, %f21, %f376; + div.rn.f32 %f922, %f20, %f376; + @!%p144 bra BB0_77; + bra.uni BB0_25; + +BB0_25: + abs.f32 %f863, %f867; + abs.f32 %f862, %f865; + setp.gt.f32 %p39, %f862, %f863; + neg.f32 %f382, %f866; + selp.f32 %f383, %f382, 0f00000000, %p39; + neg.f32 %f384, %f867; + selp.f32 %f385, %f865, %f384, %p39; + selp.f32 %f386, 0f00000000, %f866, %p39; + mul.f32 %f387, %f385, %f385; + fma.rn.f32 %f388, %f383, %f383, %f387; + fma.rn.f32 %f389, %f386, %f386, %f388; + sqrt.rn.f32 %f390, %f389; + rcp.rn.f32 %f391, %f390; + mul.f32 %f69, %f383, %f391; + mul.f32 %f70, %f385, %f391; + mul.f32 %f71, %f386, %f391; + mov.f32 %f896, 0f00000000; + setp.lt.s32 %p40, %r1, 1; + mov.f32 %f897, %f896; + mov.f32 %f888, %f896; + mov.f32 %f889, %f896; + mov.f32 %f890, %f896; + @%p40 bra BB0_76; + + mad.lo.s32 %r346, %r129, 1664525, 1013904223; + cvt.rn.f32.s32 %f397, %r1; + rcp.rn.f32 %f72, %f397; + add.u64 %rd58, %SP, 0; + cvta.to.local.u64 %rd2, %rd58; + mul.f32 %f73, %f12, 0f3456BF95; + mul.f32 %f74, %f13, 0f3456BF95; + mul.f32 %f75, %f14, 0f3456BF95; + add.u64 %rd59, %SP, 32; + cvta.to.local.u64 %rd3, %rd59; + mul.f32 %f398, %f865, %f70; + mul.f32 %f399, %f866, %f69; + sub.f32 %f76, %f399, %f398; + mul.f32 %f400, %f867, %f69; + mul.f32 %f401, %f865, %f71; + sub.f32 %f77, %f401, %f400; + mul.f32 %f402, %f866, %f71; + mul.f32 %f403, %f867, %f70; + sub.f32 %f78, %f403, %f402; + mov.f32 %f896, 0f00000000; + mov.u32 %r153, 0; + abs.f32 %f404, %f74; + abs.f32 %f405, %f73; + max.f32 %f406, %f405, %f404; + abs.f32 %f407, %f75; + max.f32 %f408, %f406, %f407; + mov.u32 %r343, %r153; + mov.f32 %f897, %f896; + mov.f32 %f888, %f896; + mov.f32 %f889, %f896; + mov.f32 %f890, %f896; + +BB0_27: + cvt.rn.f32.s32 %f84, %r343; + max.f32 %f85, %f408, %f233; + mov.u32 %r345, %r153; + +BB0_28: + mad.lo.s32 %r155, %r346, 1664525, 1013904223; + and.b32 %r156, %r155, 16777215; + cvt.rn.f32.u32 %f410, %r156; + fma.rn.f32 %f411, %f410, 0f33800000, %f84; + mul.f32 %f91, %f72, %f411; + mad.lo.s32 %r346, %r155, 1664525, 1013904223; + and.b32 %r157, %r346, 16777215; + cvt.rn.f32.u32 %f412, %r157; + cvt.rn.f32.s32 %f413, %r345; + fma.rn.f32 %f414, %f412, 0f33800000, %f413; + mul.f32 %f415, %f72, %f414; + mul.f32 %f416, %f91, %f91; + sub.f32 %f418, %f375, %f416; + mov.f32 %f419, 0f00000000; + max.f32 %f420, %f419, %f418; + sqrt.rn.f32 %f92, %f420; + mul.f32 %f907, %f415, 0f40C90FDB; + abs.f32 %f94, %f907; + setp.neu.f32 %p41, %f94, 0f7F800000; + mov.f32 %f901, %f907; + @%p41 bra BB0_30; + + mul.rn.f32 %f901, %f907, %f419; + +BB0_30: + mul.f32 %f422, %f901, 0f3F22F983; + cvt.rni.s32.f32 %r356, %f422; + cvt.rn.f32.s32 %f423, %r356; + neg.f32 %f424, %f423; + mov.f32 %f425, 0f3FC90FDA; + fma.rn.f32 %f426, %f424, %f425, %f901; + mov.f32 %f427, 0f33A22168; + fma.rn.f32 %f428, %f424, %f427, %f426; + mov.f32 %f429, 0f27C234C5; + fma.rn.f32 %f902, %f424, %f429, %f428; + abs.f32 %f430, %f901; + setp.leu.f32 %p42, %f430, 0f47CE4780; + @%p42 bra BB0_41; + + mov.b32 %r19, %f901; + shr.u32 %r20, %r19, 23; + shl.b32 %r160, %r19, 8; + or.b32 %r21, %r160, -2147483648; + mov.u32 %r347, 0; + mov.u64 %rd158, 0; + mov.u64 %rd157, %rd2; + mov.u32 %r348, %r347; + +BB0_32: + .pragma "nounroll"; + shl.b64 %rd61, %rd158, 2; + mov.u64 %rd62, __cudart_i2opi_f; + add.s64 %rd63, %rd62, %rd61; + ld.const.u32 %r163, [%rd63]; + // inline asm + { + mad.lo.cc.u32 %r161, %r163, %r21, %r348; + madc.hi.u32 %r348, %r163, %r21, 0; + } + // inline asm + st.local.u32 [%rd157], %r161; + add.s32 %r347, %r347, 1; + cvt.s64.s32 %rd158, %r347; + mul.wide.s32 %rd64, %r347, 4; + add.s64 %rd157, %rd2, %rd64; + setp.ne.s32 %p43, %r347, 6; + @%p43 bra BB0_32; + + and.b32 %r166, %r20, 255; + add.s32 %r167, %r166, -128; + shr.u32 %r168, %r167, 5; + and.b32 %r26, %r19, -2147483648; + st.local.u32 [%rd2+24], %r348; + mov.u32 %r169, 6; + sub.s32 %r170, %r169, %r168; + mul.wide.s32 %rd65, %r170, 4; + add.s64 %rd9, %rd2, %rd65; + ld.local.u32 %r349, [%rd9]; + ld.local.u32 %r350, [%rd9+-4]; + and.b32 %r29, %r20, 31; + setp.eq.s32 %p44, %r29, 0; + @%p44 bra BB0_35; + + mov.u32 %r171, 32; + sub.s32 %r172, %r171, %r29; + shr.u32 %r173, %r350, %r172; + shl.b32 %r174, %r349, %r29; + add.s32 %r349, %r173, %r174; + ld.local.u32 %r175, [%rd9+-8]; + shr.u32 %r176, %r175, %r172; + shl.b32 %r177, %r350, %r29; + add.s32 %r350, %r176, %r177; + +BB0_35: + shr.u32 %r178, %r350, 30; + shl.b32 %r179, %r349, 2; + add.s32 %r351, %r178, %r179; + shl.b32 %r35, %r350, 2; + shr.u32 %r180, %r351, 31; + shr.u32 %r181, %r349, 30; + add.s32 %r36, %r180, %r181; + setp.eq.s32 %p45, %r180, 0; + @%p45 bra BB0_36; + bra.uni BB0_37; + +BB0_36: + mov.u32 %r352, %r26; + mov.u32 %r353, %r35; + bra.uni BB0_38; + +BB0_37: + not.b32 %r182, %r351; + neg.s32 %r353, %r35; + setp.eq.s32 %p46, %r35, 0; + selp.u32 %r183, 1, 0, %p46; + add.s32 %r351, %r183, %r182; + xor.b32 %r352, %r26, -2147483648; + +BB0_38: + clz.b32 %r355, %r351; + setp.eq.s32 %p47, %r355, 0; + shl.b32 %r184, %r351, %r355; + mov.u32 %r185, 32; + sub.s32 %r186, %r185, %r355; + shr.u32 %r187, %r353, %r186; + add.s32 %r188, %r187, %r184; + selp.b32 %r44, %r351, %r188, %p47; + mov.u32 %r189, -921707870; + mul.hi.u32 %r354, %r44, %r189; + setp.eq.s32 %p48, %r26, 0; + neg.s32 %r190, %r36; + selp.b32 %r356, %r36, %r190, %p48; + setp.lt.s32 %p49, %r354, 1; + @%p49 bra BB0_40; + + mul.lo.s32 %r191, %r44, -921707870; + shr.u32 %r192, %r191, 31; + shl.b32 %r193, %r354, 1; + add.s32 %r354, %r192, %r193; + add.s32 %r355, %r355, 1; + +BB0_40: + mov.u32 %r194, 126; + sub.s32 %r195, %r194, %r355; + shl.b32 %r196, %r195, 23; + add.s32 %r197, %r354, 1; + shr.u32 %r198, %r197, 7; + add.s32 %r199, %r198, 1; + shr.u32 %r200, %r199, 1; + add.s32 %r201, %r200, %r196; + or.b32 %r202, %r201, %r352; + mov.b32 %f902, %r202; + +BB0_41: + mul.rn.f32 %f100, %f902, %f902; + add.s32 %r52, %r356, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p50, %r53, 0; + @%p50 bra BB0_43; + bra.uni BB0_42; + +BB0_43: + mov.f32 %f433, 0f3C08839E; + mov.f32 %f434, 0fB94CA1F9; + fma.rn.f32 %f903, %f434, %f100, %f433; + bra.uni BB0_44; + +BB0_42: + mov.f32 %f431, 0fBAB6061A; + mov.f32 %f432, 0f37CCF5CE; + fma.rn.f32 %f903, %f432, %f100, %f431; + +BB0_44: + @%p50 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f438, 0fBE2AAAA3; + fma.rn.f32 %f439, %f903, %f100, %f438; + fma.rn.f32 %f904, %f439, %f100, %f419; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f435, 0f3D2AAAA5; + fma.rn.f32 %f436, %f903, %f100, %f435; + mov.f32 %f437, 0fBF000000; + fma.rn.f32 %f904, %f436, %f100, %f437; + +BB0_47: + fma.rn.f32 %f905, %f904, %f902, %f902; + @%p50 bra BB0_49; + + fma.rn.f32 %f905, %f904, %f100, %f375; + +BB0_49: + and.b32 %r203, %r52, 2; + setp.eq.s32 %p53, %r203, 0; + @%p53 bra BB0_51; + + mov.f32 %f443, 0fBF800000; + fma.rn.f32 %f905, %f905, %f443, %f419; + +BB0_51: + @%p41 bra BB0_53; + + mul.rn.f32 %f907, %f907, %f419; + +BB0_53: + mul.f32 %f445, %f907, 0f3F22F983; + cvt.rni.s32.f32 %r366, %f445; + cvt.rn.f32.s32 %f446, %r366; + neg.f32 %f447, %f446; + fma.rn.f32 %f449, %f447, %f425, %f907; + fma.rn.f32 %f451, %f447, %f427, %f449; + fma.rn.f32 %f908, %f447, %f429, %f451; + abs.f32 %f453, %f907; + setp.leu.f32 %p55, %f453, 0f47CE4780; + @%p55 bra BB0_64; + + mov.b32 %r55, %f907; + shr.u32 %r56, %r55, 23; + shl.b32 %r206, %r55, 8; + or.b32 %r57, %r206, -2147483648; + mov.u32 %r357, 0; + mov.u64 %rd159, %rd2; + mov.u64 %rd160, %rd26; + mov.u32 %r358, %r357; + +BB0_55: + .pragma "nounroll"; + shl.b64 %rd67, %rd160, 2; + mov.u64 %rd68, __cudart_i2opi_f; + add.s64 %rd69, %rd68, %rd67; + ld.const.u32 %r209, [%rd69]; + // inline asm + { + mad.lo.cc.u32 %r207, %r209, %r57, %r358; + madc.hi.u32 %r358, %r209, %r57, 0; + } + // inline asm + st.local.u32 [%rd159], %r207; + add.s32 %r357, %r357, 1; + cvt.s64.s32 %rd160, %r357; + mul.wide.s32 %rd70, %r357, 4; + add.s64 %rd159, %rd2, %rd70; + setp.ne.s32 %p56, %r357, 6; + @%p56 bra BB0_55; + + and.b32 %r212, %r56, 255; + add.s32 %r213, %r212, -128; + shr.u32 %r214, %r213, 5; + and.b32 %r62, %r55, -2147483648; + st.local.u32 [%rd2+24], %r358; + mov.u32 %r215, 6; + sub.s32 %r216, %r215, %r214; + mul.wide.s32 %rd71, %r216, 4; + add.s64 %rd15, %rd2, %rd71; + ld.local.u32 %r359, [%rd15]; + ld.local.u32 %r360, [%rd15+-4]; + and.b32 %r65, %r56, 31; + setp.eq.s32 %p57, %r65, 0; + @%p57 bra BB0_58; + + mov.u32 %r217, 32; + sub.s32 %r218, %r217, %r65; + shr.u32 %r219, %r360, %r218; + shl.b32 %r220, %r359, %r65; + add.s32 %r359, %r219, %r220; + ld.local.u32 %r221, [%rd15+-8]; + shr.u32 %r222, %r221, %r218; + shl.b32 %r223, %r360, %r65; + add.s32 %r360, %r222, %r223; + +BB0_58: + shr.u32 %r224, %r360, 30; + shl.b32 %r225, %r359, 2; + add.s32 %r361, %r224, %r225; + shl.b32 %r71, %r360, 2; + shr.u32 %r226, %r361, 31; + shr.u32 %r227, %r359, 30; + add.s32 %r72, %r226, %r227; + setp.eq.s32 %p58, %r226, 0; + @%p58 bra BB0_59; + bra.uni BB0_60; + +BB0_59: + mov.u32 %r362, %r62; + mov.u32 %r363, %r71; + bra.uni BB0_61; + +BB0_60: + not.b32 %r228, %r361; + neg.s32 %r363, %r71; + setp.eq.s32 %p59, %r71, 0; + selp.u32 %r229, 1, 0, %p59; + add.s32 %r361, %r229, %r228; + xor.b32 %r362, %r62, -2147483648; + +BB0_61: + clz.b32 %r365, %r361; + setp.eq.s32 %p60, %r365, 0; + shl.b32 %r230, %r361, %r365; + mov.u32 %r231, 32; + sub.s32 %r232, %r231, %r365; + shr.u32 %r233, %r363, %r232; + add.s32 %r234, %r233, %r230; + selp.b32 %r80, %r361, %r234, %p60; + mov.u32 %r235, -921707870; + mul.hi.u32 %r364, %r80, %r235; + setp.eq.s32 %p61, %r62, 0; + neg.s32 %r236, %r72; + selp.b32 %r366, %r72, %r236, %p61; + setp.lt.s32 %p62, %r364, 1; + @%p62 bra BB0_63; + + mul.lo.s32 %r237, %r80, -921707870; + shr.u32 %r238, %r237, 31; + shl.b32 %r239, %r364, 1; + add.s32 %r364, %r238, %r239; + add.s32 %r365, %r365, 1; + +BB0_63: + mov.u32 %r240, 126; + sub.s32 %r241, %r240, %r365; + shl.b32 %r242, %r241, 23; + add.s32 %r243, %r364, 1; + shr.u32 %r244, %r243, 7; + add.s32 %r245, %r244, 1; + shr.u32 %r246, %r245, 1; + add.s32 %r247, %r246, %r242; + or.b32 %r248, %r247, %r362; + mov.b32 %f908, %r248; + +BB0_64: + mul.rn.f32 %f117, %f908, %f908; + and.b32 %r88, %r366, 1; + setp.eq.s32 %p63, %r88, 0; + @%p63 bra BB0_66; + bra.uni BB0_65; + +BB0_66: + mov.f32 %f456, 0f3C08839E; + mov.f32 %f457, 0fB94CA1F9; + fma.rn.f32 %f909, %f457, %f117, %f456; + bra.uni BB0_67; + +BB0_65: + mov.f32 %f454, 0fBAB6061A; + mov.f32 %f455, 0f37CCF5CE; + fma.rn.f32 %f909, %f455, %f117, %f454; + +BB0_67: + @%p63 bra BB0_69; + bra.uni BB0_68; + +BB0_69: + mov.f32 %f461, 0fBE2AAAA3; + fma.rn.f32 %f462, %f909, %f117, %f461; + fma.rn.f32 %f910, %f462, %f117, %f419; + bra.uni BB0_70; + +BB0_68: + mov.f32 %f458, 0f3D2AAAA5; + fma.rn.f32 %f459, %f909, %f117, %f458; + mov.f32 %f460, 0fBF000000; + fma.rn.f32 %f910, %f459, %f117, %f460; + +BB0_70: + fma.rn.f32 %f911, %f910, %f908, %f908; + @%p63 bra BB0_72; + + fma.rn.f32 %f911, %f910, %f117, %f375; + +BB0_72: + and.b32 %r249, %r366, 2; + setp.eq.s32 %p66, %r249, 0; + @%p66 bra BB0_74; + + mov.f32 %f466, 0fBF800000; + fma.rn.f32 %f911, %f911, %f466, %f419; + +BB0_74: + mul.f32 %f475, %f92, %f905; + mul.f32 %f476, %f92, %f911; + mul.f32 %f477, %f69, %f476; + mul.f32 %f478, %f70, %f476; + mul.f32 %f479, %f71, %f476; + fma.rn.f32 %f480, %f78, %f475, %f477; + fma.rn.f32 %f481, %f77, %f475, %f478; + fma.rn.f32 %f482, %f76, %f475, %f479; + fma.rn.f32 %f470, %f865, %f91, %f480; + fma.rn.f32 %f471, %f866, %f91, %f481; + fma.rn.f32 %f472, %f867, %f91, %f482; + mov.u32 %r251, 0; + st.local.u32 [%rd3], %r251; + ld.global.u32 %r250, [root]; + mov.f32 %f474, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r250, %f12, %f13, %f14, %f470, %f471, %f472, %r251, %f85, %f474, %rd59, %r102); + // inline asm + ld.local.f32 %f483, [%rd3]; + setp.lt.f32 %p67, %f483, 0f00000000; + selp.f32 %f484, 0f00000000, %f483, %p67; + selp.f32 %f485, 0f00000000, 0f3F800000, %p67; + fma.rn.f32 %f890, %f470, %f485, %f890; + fma.rn.f32 %f889, %f471, %f485, %f889; + fma.rn.f32 %f888, %f472, %f485, %f888; + add.f32 %f896, %f896, %f485; + mul.f32 %f486, %f866, %f471; + fma.rn.f32 %f487, %f865, %f470, %f486; + fma.rn.f32 %f488, %f867, %f472, %f487; + cvt.sat.f32.f32 %f489, %f488; + fma.rn.f32 %f897, %f484, %f489, %f897; + add.s32 %r345, %r345, 1; + setp.lt.s32 %p68, %r345, %r1; + @%p68 bra BB0_28; + + add.s32 %r343, %r343, 1; + setp.lt.s32 %p69, %r343, %r1; + @%p69 bra BB0_27; + +BB0_76: + mul.lo.s32 %r253, %r1, %r1; + cvt.rn.f32.s32 %f490, %r253; + div.rn.f32 %f491, %f897, %f490; + div.rn.f32 %f922, %f896, %f490; + add.f32 %f921, %f491, %f491; + +BB0_77: + ld.global.u32 %r368, [imageEnabled]; + and.b32 %r254, %r368, 8; + setp.eq.s32 %p70, %r254, 0; + @%p70 bra BB0_90; + + mov.u32 %r332, 2; + cvt.u64.u32 %rd75, %r3; + cvt.u64.u32 %rd76, %r4; + mov.u64 %rd79, image_Mask; + cvta.global.u64 %rd74, %rd79; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r332, %r332, %rd75, %rd76, %rd26, %rd26); + // inline asm + mov.f32 %f494, 0f3E68BA2E; + cvt.rzi.f32.f32 %f495, %f494; + fma.rn.f32 %f496, %f495, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f146, %f496; + abs.f32 %f147, %f922; + setp.lt.f32 %p71, %f147, 0f00800000; + mul.f32 %f497, %f147, 0f4B800000; + selp.f32 %f498, 0fC3170000, 0fC2FE0000, %p71; + selp.f32 %f499, %f497, %f147, %p71; + mov.b32 %r257, %f499; + and.b32 %r258, %r257, 8388607; + or.b32 %r259, %r258, 1065353216; + mov.b32 %f500, %r259; + shr.u32 %r260, %r257, 23; + cvt.rn.f32.u32 %f501, %r260; + add.f32 %f502, %f498, %f501; + setp.gt.f32 %p72, %f500, 0f3FB504F3; + mul.f32 %f503, %f500, 0f3F000000; + add.f32 %f504, %f502, 0f3F800000; + selp.f32 %f505, %f503, %f500, %p72; + selp.f32 %f506, %f504, %f502, %p72; + add.f32 %f507, %f505, 0fBF800000; + add.f32 %f493, %f505, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f492,%f493; + // inline asm + add.f32 %f508, %f507, %f507; + mul.f32 %f509, %f492, %f508; + mul.f32 %f510, %f509, %f509; + mov.f32 %f511, 0f3C4CAF63; + mov.f32 %f512, 0f3B18F0FE; + fma.rn.f32 %f513, %f512, %f510, %f511; + mov.f32 %f514, 0f3DAAAABD; + fma.rn.f32 %f515, %f513, %f510, %f514; + mul.rn.f32 %f516, %f515, %f510; + mul.rn.f32 %f517, %f516, %f509; + sub.f32 %f518, %f507, %f509; + neg.f32 %f519, %f509; + add.f32 %f520, %f518, %f518; + fma.rn.f32 %f521, %f519, %f507, %f520; + mul.rn.f32 %f522, %f492, %f521; + add.f32 %f523, %f517, %f509; + sub.f32 %f524, %f509, %f523; + add.f32 %f525, %f517, %f524; + add.f32 %f526, %f522, %f525; + add.f32 %f527, %f523, %f526; + sub.f32 %f528, %f523, %f527; + add.f32 %f529, %f526, %f528; + mov.f32 %f530, 0f3F317200; + mul.rn.f32 %f531, %f506, %f530; + mov.f32 %f532, 0f35BFBE8E; + mul.rn.f32 %f533, %f506, %f532; + add.f32 %f534, %f531, %f527; + sub.f32 %f535, %f531, %f534; + add.f32 %f536, %f527, %f535; + add.f32 %f537, %f529, %f536; + add.f32 %f538, %f533, %f537; + add.f32 %f539, %f534, %f538; + sub.f32 %f540, %f534, %f539; + add.f32 %f541, %f538, %f540; + mov.f32 %f542, 0f3EE8BA2E; + mul.rn.f32 %f543, %f542, %f539; + neg.f32 %f544, %f543; + fma.rn.f32 %f545, %f542, %f539, %f544; + fma.rn.f32 %f546, %f542, %f541, %f545; + mov.f32 %f547, 0f00000000; + fma.rn.f32 %f548, %f547, %f539, %f546; + add.rn.f32 %f549, %f543, %f548; + neg.f32 %f550, %f549; + add.rn.f32 %f551, %f543, %f550; + add.rn.f32 %f552, %f551, %f548; + mov.b32 %r261, %f549; + setp.eq.s32 %p73, %r261, 1118925336; + add.s32 %r262, %r261, -1; + mov.b32 %f553, %r262; + add.f32 %f554, %f552, 0f37000000; + selp.f32 %f555, %f553, %f549, %p73; + selp.f32 %f148, %f554, %f552, %p73; + mul.f32 %f556, %f555, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f557, %f556; + mov.f32 %f558, 0fBF317200; + fma.rn.f32 %f559, %f557, %f558, %f555; + mov.f32 %f560, 0fB5BFBE8E; + fma.rn.f32 %f561, %f557, %f560, %f559; + mul.f32 %f562, %f561, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f563, %f562; + add.f32 %f564, %f557, 0f00000000; + ex2.approx.f32 %f565, %f564; + mul.f32 %f566, %f563, %f565; + setp.lt.f32 %p74, %f555, 0fC2D20000; + selp.f32 %f567, 0f00000000, %f566, %p74; + setp.gt.f32 %p75, %f555, 0f42D20000; + selp.f32 %f923, 0f7F800000, %f567, %p75; + setp.eq.f32 %p76, %f923, 0f7F800000; + @%p76 bra BB0_80; + + fma.rn.f32 %f923, %f923, %f148, %f923; + +BB0_80: + setp.lt.f32 %p77, %f922, 0f00000000; + setp.eq.f32 %p78, %f146, 0f3F800000; + and.pred %p3, %p77, %p78; + mov.b32 %r263, %f923; + xor.b32 %r264, %r263, -2147483648; + mov.b32 %f568, %r264; + selp.f32 %f925, %f568, %f923, %p3; + setp.eq.f32 %p79, %f922, 0f00000000; + @%p79 bra BB0_83; + bra.uni BB0_81; + +BB0_83: + add.f32 %f571, %f922, %f922; + selp.f32 %f925, %f571, 0f00000000, %p78; + bra.uni BB0_84; + +BB0_138: + mov.u64 %rd147, image_HDR; + cvta.global.u64 %rd142, %rd147; + mov.u32 %r327, 8; + mov.u64 %rd146, 0; + // inline asm + call (%rd141), _rt_buffer_get_64, (%rd142, %r101, %r327, %rd19, %rd20, %rd146, %rd146); + // inline asm + mov.f32 %f855, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs50, %f855;} + + // inline asm + mov.u16 %rs51, 0; + st.v4.u16 [%rd141], {%rs50, %rs50, %rs50, %rs51}; + +BB0_139: + ld.global.u8 %rs52, [imageEnabled]; + and.b16 %rs53, %rs52, 64; + setp.eq.s16 %p143, %rs53, 0; + @%p143 bra BB0_141; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd151, %r4; + mov.u64 %rd154, image_Dir; + cvta.global.u64 %rd149, %rd154; + mov.u64 %rd153, 0; + // inline asm + call (%rd148), _rt_buffer_get_64, (%rd149, %r101, %r102, %rd150, %rd151, %rd153, %rd153); + // inline asm + mov.u16 %rs54, 0; + st.v4.u8 [%rd148], {%rs54, %rs54, %rs54, %rs54}; + bra.uni BB0_141; + +BB0_81: + setp.geu.f32 %p80, %f922, 0f00000000; + @%p80 bra BB0_84; + + cvt.rzi.f32.f32 %f570, %f542; + setp.neu.f32 %p81, %f570, 0f3EE8BA2E; + selp.f32 %f925, 0f7FFFFFFF, %f925, %p81; + +BB0_84: + add.f32 %f572, %f147, 0f3EE8BA2E; + mov.b32 %r265, %f572; + setp.lt.s32 %p83, %r265, 2139095040; + @%p83 bra BB0_89; + + setp.gtu.f32 %p84, %f147, 0f7F800000; + @%p84 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f925, %f922, 0f3EE8BA2E; + bra.uni BB0_89; + +BB0_86: + setp.neu.f32 %p85, %f147, 0f7F800000; + @%p85 bra BB0_89; + + selp.f32 %f925, 0fFF800000, 0f7F800000, %p3; + +BB0_89: + mul.f32 %f573, %f925, 0f437F0000; + setp.eq.f32 %p86, %f922, 0f3F800000; + selp.f32 %f574, 0f437F0000, %f573, %p86; + cvt.rzi.u32.f32 %r266, %f574; + cvt.u16.u32 %rs10, %r266; + mov.u16 %rs11, 255; + st.v2.u8 [%rd73], {%rs10, %rs11}; + ld.global.u32 %r368, [imageEnabled]; + +BB0_90: + ld.global.f32 %f575, [lightColor]; + mul.f32 %f159, %f921, %f575; + ld.global.f32 %f576, [lightColor+4]; + mul.f32 %f160, %f921, %f576; + ld.global.f32 %f577, [lightColor+8]; + mul.f32 %f161, %f921, %f577; + and.b32 %r267, %r368, 1; + setp.eq.b32 %p87, %r267, 1; + @!%p87 bra BB0_125; + bra.uni BB0_91; + +BB0_91: + mov.f32 %f580, 0f3E666666; + cvt.rzi.f32.f32 %f581, %f580; + fma.rn.f32 %f582, %f581, 0fC0000000, 0f3EE66666; + abs.f32 %f162, %f582; + abs.f32 %f163, %f159; + setp.lt.f32 %p88, %f163, 0f00800000; + mul.f32 %f583, %f163, 0f4B800000; + selp.f32 %f584, 0fC3170000, 0fC2FE0000, %p88; + selp.f32 %f585, %f583, %f163, %p88; + mov.b32 %r268, %f585; + and.b32 %r269, %r268, 8388607; + or.b32 %r270, %r269, 1065353216; + mov.b32 %f586, %r270; + shr.u32 %r271, %r268, 23; + cvt.rn.f32.u32 %f587, %r271; + add.f32 %f588, %f584, %f587; + setp.gt.f32 %p89, %f586, 0f3FB504F3; + mul.f32 %f589, %f586, 0f3F000000; + add.f32 %f590, %f588, 0f3F800000; + selp.f32 %f591, %f589, %f586, %p89; + selp.f32 %f592, %f590, %f588, %p89; + add.f32 %f593, %f591, 0fBF800000; + add.f32 %f579, %f591, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f578,%f579; + // inline asm + add.f32 %f594, %f593, %f593; + mul.f32 %f595, %f578, %f594; + mul.f32 %f596, %f595, %f595; + mov.f32 %f597, 0f3C4CAF63; + mov.f32 %f598, 0f3B18F0FE; + fma.rn.f32 %f599, %f598, %f596, %f597; + mov.f32 %f600, 0f3DAAAABD; + fma.rn.f32 %f601, %f599, %f596, %f600; + mul.rn.f32 %f602, %f601, %f596; + mul.rn.f32 %f603, %f602, %f595; + sub.f32 %f604, %f593, %f595; + neg.f32 %f605, %f595; + add.f32 %f606, %f604, %f604; + fma.rn.f32 %f607, %f605, %f593, %f606; + mul.rn.f32 %f608, %f578, %f607; + add.f32 %f609, %f603, %f595; + sub.f32 %f610, %f595, %f609; + add.f32 %f611, %f603, %f610; + add.f32 %f612, %f608, %f611; + add.f32 %f613, %f609, %f612; + sub.f32 %f614, %f609, %f613; + add.f32 %f615, %f612, %f614; + mov.f32 %f616, 0f3F317200; + mul.rn.f32 %f617, %f592, %f616; + mov.f32 %f618, 0f35BFBE8E; + mul.rn.f32 %f619, %f592, %f618; + add.f32 %f620, %f617, %f613; + sub.f32 %f621, %f617, %f620; + add.f32 %f622, %f613, %f621; + add.f32 %f623, %f615, %f622; + add.f32 %f624, %f619, %f623; + add.f32 %f625, %f620, %f624; + sub.f32 %f626, %f620, %f625; + add.f32 %f627, %f624, %f626; + mov.f32 %f628, 0f3EE66666; + mul.rn.f32 %f629, %f628, %f625; + neg.f32 %f630, %f629; + fma.rn.f32 %f631, %f628, %f625, %f630; + fma.rn.f32 %f632, %f628, %f627, %f631; + mov.f32 %f633, 0f00000000; + fma.rn.f32 %f634, %f633, %f625, %f632; + add.rn.f32 %f635, %f629, %f634; + neg.f32 %f636, %f635; + add.rn.f32 %f637, %f629, %f636; + add.rn.f32 %f638, %f637, %f634; + mov.b32 %r272, %f635; + setp.eq.s32 %p90, %r272, 1118925336; + add.s32 %r273, %r272, -1; + mov.b32 %f639, %r273; + add.f32 %f640, %f638, 0f37000000; + selp.f32 %f641, %f639, %f635, %p90; + selp.f32 %f164, %f640, %f638, %p90; + mul.f32 %f642, %f641, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f643, %f642; + mov.f32 %f644, 0fBF317200; + fma.rn.f32 %f645, %f643, %f644, %f641; + mov.f32 %f646, 0fB5BFBE8E; + fma.rn.f32 %f647, %f643, %f646, %f645; + mul.f32 %f648, %f647, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f649, %f648; + add.f32 %f650, %f643, 0f00000000; + ex2.approx.f32 %f651, %f650; + mul.f32 %f652, %f649, %f651; + setp.lt.f32 %p91, %f641, 0fC2D20000; + selp.f32 %f653, 0f00000000, %f652, %p91; + setp.gt.f32 %p92, %f641, 0f42D20000; + selp.f32 %f926, 0f7F800000, %f653, %p92; + setp.eq.f32 %p93, %f926, 0f7F800000; + @%p93 bra BB0_93; + + fma.rn.f32 %f926, %f926, %f164, %f926; + +BB0_93: + setp.lt.f32 %p94, %f159, 0f00000000; + setp.eq.f32 %p95, %f162, 0f3F800000; + and.pred %p4, %p94, %p95; + mov.b32 %r274, %f926; + xor.b32 %r275, %r274, -2147483648; + mov.b32 %f654, %r275; + selp.f32 %f928, %f654, %f926, %p4; + setp.eq.f32 %p96, %f159, 0f00000000; + @%p96 bra BB0_96; + bra.uni BB0_94; + +BB0_96: + add.f32 %f657, %f159, %f159; + selp.f32 %f928, %f657, 0f00000000, %p95; + bra.uni BB0_97; + +BB0_94: + setp.geu.f32 %p97, %f159, 0f00000000; + @%p97 bra BB0_97; + + cvt.rzi.f32.f32 %f656, %f628; + setp.neu.f32 %p98, %f656, 0f3EE66666; + selp.f32 %f928, 0f7FFFFFFF, %f928, %p98; + +BB0_97: + add.f32 %f658, %f163, 0f3EE66666; + mov.b32 %r276, %f658; + setp.lt.s32 %p100, %r276, 2139095040; + @%p100 bra BB0_102; + + setp.gtu.f32 %p101, %f163, 0f7F800000; + @%p101 bra BB0_101; + bra.uni BB0_99; + +BB0_101: + add.f32 %f928, %f159, 0f3EE66666; + bra.uni BB0_102; + +BB0_99: + setp.neu.f32 %p102, %f163, 0f7F800000; + @%p102 bra BB0_102; + + selp.f32 %f928, 0fFF800000, 0f7F800000, %p4; + +BB0_102: + setp.eq.f32 %p103, %f159, 0f3F800000; + selp.f32 %f175, 0f3F800000, %f928, %p103; + abs.f32 %f176, %f160; + setp.lt.f32 %p104, %f176, 0f00800000; + mul.f32 %f661, %f176, 0f4B800000; + selp.f32 %f662, 0fC3170000, 0fC2FE0000, %p104; + selp.f32 %f663, %f661, %f176, %p104; + mov.b32 %r277, %f663; + and.b32 %r278, %r277, 8388607; + or.b32 %r279, %r278, 1065353216; + mov.b32 %f664, %r279; + shr.u32 %r280, %r277, 23; + cvt.rn.f32.u32 %f665, %r280; + add.f32 %f666, %f662, %f665; + setp.gt.f32 %p105, %f664, 0f3FB504F3; + mul.f32 %f667, %f664, 0f3F000000; + add.f32 %f668, %f666, 0f3F800000; + selp.f32 %f669, %f667, %f664, %p105; + selp.f32 %f670, %f668, %f666, %p105; + add.f32 %f671, %f669, 0fBF800000; + add.f32 %f660, %f669, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f659,%f660; + // inline asm + add.f32 %f672, %f671, %f671; + mul.f32 %f673, %f659, %f672; + mul.f32 %f674, %f673, %f673; + fma.rn.f32 %f677, %f598, %f674, %f597; + fma.rn.f32 %f679, %f677, %f674, %f600; + mul.rn.f32 %f680, %f679, %f674; + mul.rn.f32 %f681, %f680, %f673; + sub.f32 %f682, %f671, %f673; + neg.f32 %f683, %f673; + add.f32 %f684, %f682, %f682; + fma.rn.f32 %f685, %f683, %f671, %f684; + mul.rn.f32 %f686, %f659, %f685; + add.f32 %f687, %f681, %f673; + sub.f32 %f688, %f673, %f687; + add.f32 %f689, %f681, %f688; + add.f32 %f690, %f686, %f689; + add.f32 %f691, %f687, %f690; + sub.f32 %f692, %f687, %f691; + add.f32 %f693, %f690, %f692; + mul.rn.f32 %f695, %f670, %f616; + mul.rn.f32 %f697, %f670, %f618; + add.f32 %f698, %f695, %f691; + sub.f32 %f699, %f695, %f698; + add.f32 %f700, %f691, %f699; + add.f32 %f701, %f693, %f700; + add.f32 %f702, %f697, %f701; + add.f32 %f703, %f698, %f702; + sub.f32 %f704, %f698, %f703; + add.f32 %f705, %f702, %f704; + mul.rn.f32 %f707, %f628, %f703; + neg.f32 %f708, %f707; + fma.rn.f32 %f709, %f628, %f703, %f708; + fma.rn.f32 %f710, %f628, %f705, %f709; + fma.rn.f32 %f712, %f633, %f703, %f710; + add.rn.f32 %f713, %f707, %f712; + neg.f32 %f714, %f713; + add.rn.f32 %f715, %f707, %f714; + add.rn.f32 %f716, %f715, %f712; + mov.b32 %r281, %f713; + setp.eq.s32 %p106, %r281, 1118925336; + add.s32 %r282, %r281, -1; + mov.b32 %f717, %r282; + add.f32 %f718, %f716, 0f37000000; + selp.f32 %f719, %f717, %f713, %p106; + selp.f32 %f177, %f718, %f716, %p106; + mul.f32 %f720, %f719, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f721, %f720; + fma.rn.f32 %f723, %f721, %f644, %f719; + fma.rn.f32 %f725, %f721, %f646, %f723; + mul.f32 %f726, %f725, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f727, %f726; + add.f32 %f728, %f721, 0f00000000; + ex2.approx.f32 %f729, %f728; + mul.f32 %f730, %f727, %f729; + setp.lt.f32 %p107, %f719, 0fC2D20000; + selp.f32 %f731, 0f00000000, %f730, %p107; + setp.gt.f32 %p108, %f719, 0f42D20000; + selp.f32 %f929, 0f7F800000, %f731, %p108; + setp.eq.f32 %p109, %f929, 0f7F800000; + @%p109 bra BB0_104; + + fma.rn.f32 %f929, %f929, %f177, %f929; + +BB0_104: + setp.lt.f32 %p110, %f160, 0f00000000; + and.pred %p5, %p110, %p95; + mov.b32 %r283, %f929; + xor.b32 %r284, %r283, -2147483648; + mov.b32 %f732, %r284; + selp.f32 %f931, %f732, %f929, %p5; + setp.eq.f32 %p112, %f160, 0f00000000; + @%p112 bra BB0_107; + bra.uni BB0_105; + +BB0_107: + add.f32 %f735, %f160, %f160; + selp.f32 %f931, %f735, 0f00000000, %p95; + bra.uni BB0_108; + +BB0_105: + setp.geu.f32 %p113, %f160, 0f00000000; + @%p113 bra BB0_108; + + cvt.rzi.f32.f32 %f734, %f628; + setp.neu.f32 %p114, %f734, 0f3EE66666; + selp.f32 %f931, 0f7FFFFFFF, %f931, %p114; + +BB0_108: + add.f32 %f736, %f176, 0f3EE66666; + mov.b32 %r285, %f736; + setp.lt.s32 %p116, %r285, 2139095040; + @%p116 bra BB0_113; + + setp.gtu.f32 %p117, %f176, 0f7F800000; + @%p117 bra BB0_112; + bra.uni BB0_110; + +BB0_112: + add.f32 %f931, %f160, 0f3EE66666; + bra.uni BB0_113; + +BB0_110: + setp.neu.f32 %p118, %f176, 0f7F800000; + @%p118 bra BB0_113; + + selp.f32 %f931, 0fFF800000, 0f7F800000, %p5; + +BB0_113: + setp.eq.f32 %p119, %f160, 0f3F800000; + selp.f32 %f188, 0f3F800000, %f931, %p119; + abs.f32 %f189, %f161; + setp.lt.f32 %p120, %f189, 0f00800000; + mul.f32 %f739, %f189, 0f4B800000; + selp.f32 %f740, 0fC3170000, 0fC2FE0000, %p120; + selp.f32 %f741, %f739, %f189, %p120; + mov.b32 %r286, %f741; + and.b32 %r287, %r286, 8388607; + or.b32 %r288, %r287, 1065353216; + mov.b32 %f742, %r288; + shr.u32 %r289, %r286, 23; + cvt.rn.f32.u32 %f743, %r289; + add.f32 %f744, %f740, %f743; + setp.gt.f32 %p121, %f742, 0f3FB504F3; + mul.f32 %f745, %f742, 0f3F000000; + add.f32 %f746, %f744, 0f3F800000; + selp.f32 %f747, %f745, %f742, %p121; + selp.f32 %f748, %f746, %f744, %p121; + add.f32 %f749, %f747, 0fBF800000; + add.f32 %f738, %f747, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f737,%f738; + // inline asm + add.f32 %f750, %f749, %f749; + mul.f32 %f751, %f737, %f750; + mul.f32 %f752, %f751, %f751; + fma.rn.f32 %f755, %f598, %f752, %f597; + fma.rn.f32 %f757, %f755, %f752, %f600; + mul.rn.f32 %f758, %f757, %f752; + mul.rn.f32 %f759, %f758, %f751; + sub.f32 %f760, %f749, %f751; + neg.f32 %f761, %f751; + add.f32 %f762, %f760, %f760; + fma.rn.f32 %f763, %f761, %f749, %f762; + mul.rn.f32 %f764, %f737, %f763; + add.f32 %f765, %f759, %f751; + sub.f32 %f766, %f751, %f765; + add.f32 %f767, %f759, %f766; + add.f32 %f768, %f764, %f767; + add.f32 %f769, %f765, %f768; + sub.f32 %f770, %f765, %f769; + add.f32 %f771, %f768, %f770; + mul.rn.f32 %f773, %f748, %f616; + mul.rn.f32 %f775, %f748, %f618; + add.f32 %f776, %f773, %f769; + sub.f32 %f777, %f773, %f776; + add.f32 %f778, %f769, %f777; + add.f32 %f779, %f771, %f778; + add.f32 %f780, %f775, %f779; + add.f32 %f781, %f776, %f780; + sub.f32 %f782, %f776, %f781; + add.f32 %f783, %f780, %f782; + mul.rn.f32 %f785, %f628, %f781; + neg.f32 %f786, %f785; + fma.rn.f32 %f787, %f628, %f781, %f786; + fma.rn.f32 %f788, %f628, %f783, %f787; + fma.rn.f32 %f790, %f633, %f781, %f788; + add.rn.f32 %f791, %f785, %f790; + neg.f32 %f792, %f791; + add.rn.f32 %f793, %f785, %f792; + add.rn.f32 %f794, %f793, %f790; + mov.b32 %r290, %f791; + setp.eq.s32 %p122, %r290, 1118925336; + add.s32 %r291, %r290, -1; + mov.b32 %f795, %r291; + add.f32 %f796, %f794, 0f37000000; + selp.f32 %f797, %f795, %f791, %p122; + selp.f32 %f190, %f796, %f794, %p122; + mul.f32 %f798, %f797, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f799, %f798; + fma.rn.f32 %f801, %f799, %f644, %f797; + fma.rn.f32 %f803, %f799, %f646, %f801; + mul.f32 %f804, %f803, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f805, %f804; + add.f32 %f806, %f799, 0f00000000; + ex2.approx.f32 %f807, %f806; + mul.f32 %f808, %f805, %f807; + setp.lt.f32 %p123, %f797, 0fC2D20000; + selp.f32 %f809, 0f00000000, %f808, %p123; + setp.gt.f32 %p124, %f797, 0f42D20000; + selp.f32 %f932, 0f7F800000, %f809, %p124; + setp.eq.f32 %p125, %f932, 0f7F800000; + @%p125 bra BB0_115; + + fma.rn.f32 %f932, %f932, %f190, %f932; + +BB0_115: + setp.lt.f32 %p126, %f161, 0f00000000; + and.pred %p6, %p126, %p95; + mov.b32 %r292, %f932; + xor.b32 %r293, %r292, -2147483648; + mov.b32 %f810, %r293; + selp.f32 %f934, %f810, %f932, %p6; + setp.eq.f32 %p128, %f161, 0f00000000; + @%p128 bra BB0_118; + bra.uni BB0_116; + +BB0_118: + add.f32 %f813, %f161, %f161; + selp.f32 %f934, %f813, 0f00000000, %p95; + bra.uni BB0_119; + +BB0_116: + setp.geu.f32 %p129, %f161, 0f00000000; + @%p129 bra BB0_119; + + cvt.rzi.f32.f32 %f812, %f628; + setp.neu.f32 %p130, %f812, 0f3EE66666; + selp.f32 %f934, 0f7FFFFFFF, %f934, %p130; + +BB0_119: + add.f32 %f814, %f189, 0f3EE66666; + mov.b32 %r294, %f814; + setp.lt.s32 %p132, %r294, 2139095040; + @%p132 bra BB0_124; + + setp.gtu.f32 %p133, %f189, 0f7F800000; + @%p133 bra BB0_123; + bra.uni BB0_121; + +BB0_123: + add.f32 %f934, %f161, 0f3EE66666; + bra.uni BB0_124; + +BB0_121: + setp.neu.f32 %p134, %f189, 0f7F800000; + @%p134 bra BB0_124; + + selp.f32 %f934, 0fFF800000, 0f7F800000, %p6; + +BB0_124: + mov.u32 %r333, 2; + setp.eq.f32 %p135, %f161, 0f3F800000; + selp.f32 %f815, 0f3F800000, %f934, %p135; + cvt.u64.u32 %rd83, %r4; + cvt.u64.u32 %rd82, %r3; + mov.u64 %rd86, image; + cvta.global.u64 %rd81, %rd86; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r333, %r102, %rd82, %rd83, %rd26, %rd26); + // inline asm + cvt.sat.f32.f32 %f816, %f815; + mul.f32 %f817, %f816, 0f437FFD71; + cvt.rzi.u32.f32 %r297, %f817; + cvt.sat.f32.f32 %f818, %f188; + mul.f32 %f819, %f818, 0f437FFD71; + cvt.rzi.u32.f32 %r298, %f819; + cvt.sat.f32.f32 %f820, %f175; + mul.f32 %f821, %f820, 0f437FFD71; + cvt.rzi.u32.f32 %r299, %f821; + cvt.u16.u32 %rs12, %r297; + cvt.u16.u32 %rs13, %r299; + cvt.u16.u32 %rs14, %r298; + mov.u16 %rs15, 255; + st.v4.u8 [%rd80], {%rs12, %rs14, %rs13, %rs15}; + ld.global.u32 %r368, [imageEnabled]; + +BB0_125: + and.b32 %r300, %r368, 4; + setp.eq.s32 %p136, %r300, 0; + @%p136 bra BB0_129; + + ld.global.u32 %r301, [additive]; + setp.eq.s32 %p137, %r301, 0; + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + // inline asm + { cvt.rn.f16.f32 %rs16, %f375;} + + // inline asm + @%p137 bra BB0_128; + + mov.u32 %r334, 2; + mov.u64 %rd99, image_HDR; + cvta.global.u64 %rd88, %rd99; + mov.u32 %r305, 8; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r334, %r305, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs23, %rs24, %rs25, %rs26}, [%rd87]; + // inline asm + { cvt.f32.f16 %f823, %rs23;} + + // inline asm + // inline asm + { cvt.f32.f16 %f824, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f825, %rs25;} + + // inline asm + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd88, %r334, %r305, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f826, %f159, %f823; + add.f32 %f827, %f160, %f824; + add.f32 %f828, %f161, %f825; + // inline asm + { cvt.rn.f16.f32 %rs22, %f828;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f827;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs20, %f826;} + + // inline asm + st.v4.u16 [%rd93], {%rs20, %rs21, %rs22, %rs16}; + bra.uni BB0_129; + +BB0_128: + mov.u32 %r335, 2; + mov.u64 %rd106, image_HDR; + cvta.global.u64 %rd101, %rd106; + mov.u32 %r307, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r335, %r307, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f161;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f160;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f159;} + + // inline asm + st.v4.u16 [%rd100], {%rs27, %rs28, %rs29, %rs16}; + +BB0_129: + ld.global.u8 %rs30, [imageEnabled]; + and.b16 %rs31, %rs30, 64; + setp.eq.s16 %p138, %rs31, 0; + @%p138 bra BB0_141; + + mov.u32 %r336, 2; + mul.f32 %f832, %f889, %f889; + fma.rn.f32 %f833, %f890, %f890, %f832; + fma.rn.f32 %f834, %f888, %f888, %f833; + sqrt.rn.f32 %f835, %f834; + rcp.rn.f32 %f836, %f835; + mul.f32 %f837, %f890, %f836; + mul.f32 %f838, %f889, %f836; + mul.f32 %f839, %f888, %f836; + cvt.u64.u32 %rd110, %r4; + cvt.u64.u32 %rd109, %r3; + mov.u64 %rd113, image_Dir; + cvta.global.u64 %rd108, %rd113; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r336, %r102, %rd109, %rd110, %rd26, %rd26); + // inline asm + fma.rn.f32 %f840, %f837, 0f3F000000, 0f3F000000; + mul.f32 %f841, %f840, 0f437F0000; + cvt.rzi.u32.f32 %r310, %f841; + fma.rn.f32 %f842, %f838, 0f3F000000, 0f3F000000; + mul.f32 %f843, %f842, 0f437F0000; + cvt.rzi.u32.f32 %r311, %f843; + fma.rn.f32 %f844, %f839, 0f3F000000, 0f3F000000; + mul.f32 %f845, %f844, 0f437F0000; + cvt.rzi.u32.f32 %r312, %f845; + cvt.u16.u32 %rs32, %r312; + cvt.u16.u32 %rs33, %r311; + cvt.u16.u32 %rs34, %r310; + mov.u16 %rs35, 255; + st.v4.u8 [%rd107], {%rs34, %rs33, %rs32, %rs35}; + +BB0_141: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightDir.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightDir.ptx.meta new file mode 100644 index 00000000..4d6b39ea --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightDir.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b13fcee54e0c624e8958ca4c74dd10c +timeCreated: 1537467071 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightProbeSH.ptx new file mode 100644 index 00000000..f21b633e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightProbeSH.ptx @@ -0,0 +1,2314 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[36]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<149>; + .reg .b16 %rs<152>; + .reg .f32 %f<988>; + .reg .b32 %r<411>; + .reg .b64 %rd<298>; + + + mov.u64 %rd297, __local_depot0; + cvta.local.u64 %SP, %rd297; + ld.global.u32 %r1, [samples]; + shl.b32 %r2, %r1, 1; + ld.global.v2.u32 {%r100, %r101}, [pixelID]; + cvt.u64.u32 %rd21, %r100; + cvt.u64.u32 %rd22, %r101; + mov.u64 %rd25, uvnormal; + cvta.global.u64 %rd20, %rd25; + mov.u32 %r98, 2; + mov.u32 %r99, 4; + mov.u64 %rd24, 0; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r98, %r99, %rd21, %rd22, %rd24, %rd24); + // inline asm + ld.u32 %r3, [%rd19]; + shr.u32 %r104, %r3, 16; + cvt.u16.u32 %rs1, %r104; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r3; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p7, %rs9, 0; + mov.f32 %f916, 0f00000000; + mov.f32 %f917, %f916; + mov.f32 %f918, %f916; + @%p7 bra BB0_2; + + ld.u8 %rs10, [%rd19+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f217, %rs12; + div.rn.f32 %f218, %f217, 0f437F0000; + fma.rn.f32 %f219, %f218, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f220, %rs10; + div.rn.f32 %f221, %f220, 0f437F0000; + fma.rn.f32 %f222, %f221, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f223, %rs7; + div.rn.f32 %f224, %f223, 0f437F0000; + fma.rn.f32 %f225, %f224, 0f40000000, 0fBF800000; + mul.f32 %f226, %f222, %f222; + fma.rn.f32 %f227, %f219, %f219, %f226; + fma.rn.f32 %f228, %f225, %f225, %f227; + sqrt.rn.f32 %f229, %f228; + rcp.rn.f32 %f230, %f229; + mul.f32 %f916, %f219, %f230; + mul.f32 %f917, %f222, %f230; + mul.f32 %f918, %f225, %f230; + +BB0_2: + ld.global.v2.u32 {%r105, %r106}, [pixelID]; + ld.global.v2.u32 {%r108, %r109}, [tileInfo]; + add.s32 %r4, %r105, %r108; + add.s32 %r5, %r106, %r109; + setp.eq.f32 %p8, %f917, 0f00000000; + setp.eq.f32 %p9, %f916, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f918, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_139; + bra.uni BB0_3; + +BB0_139: + ld.global.u32 %r410, [imageEnabled]; + and.b32 %r334, %r410, 1; + setp.eq.b32 %p140, %r334, 1; + @!%p140 bra BB0_141; + bra.uni BB0_140; + +BB0_140: + cvt.u64.u32 %rd179, %r4; + cvt.u64.u32 %rd180, %r5; + mov.u64 %rd183, image; + cvta.global.u64 %rd178, %rd183; + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd178, %r98, %r99, %rd179, %rd180, %rd24, %rd24); + // inline asm + mov.u16 %rs84, 0; + st.v4.u8 [%rd177], {%rs84, %rs84, %rs84, %rs84}; + ld.global.u32 %r410, [imageEnabled]; + +BB0_141: + and.b32 %r337, %r410, 8; + setp.eq.s32 %p141, %r337, 0; + @%p141 bra BB0_143; + + cvt.u64.u32 %rd187, %r5; + cvt.u64.u32 %rd186, %r4; + mov.u64 %rd190, image_Mask; + cvta.global.u64 %rd185, %rd190; + // inline asm + call (%rd184), _rt_buffer_get_64, (%rd185, %r98, %r98, %rd186, %rd187, %rd24, %rd24); + // inline asm + mov.f32 %f873, 0f00000000; + cvt.rzi.u32.f32 %r340, %f873; + cvt.u16.u32 %rs85, %r340; + mov.u16 %rs86, 0; + st.v2.u8 [%rd184], {%rs85, %rs86}; + ld.global.u32 %r410, [imageEnabled]; + +BB0_143: + cvt.u64.u32 %rd17, %r4; + cvt.u64.u32 %rd18, %r5; + and.b32 %r341, %r410, 4; + setp.eq.s32 %p142, %r341, 0; + @%p142 bra BB0_147; + + ld.global.u32 %r342, [additive]; + setp.eq.s32 %p143, %r342, 0; + @%p143 bra BB0_146; + + mov.u64 %rd203, image_HDR; + cvta.global.u64 %rd192, %rd203; + mov.u32 %r346, 8; + // inline asm + call (%rd191), _rt_buffer_get_64, (%rd192, %r98, %r346, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd191]; + // inline asm + { cvt.f32.f16 %f874, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f875, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f876, %rs95;} + + // inline asm + // inline asm + call (%rd197), _rt_buffer_get_64, (%rd192, %r98, %r346, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f877, %f874, 0f00000000; + add.f32 %f878, %f875, 0f00000000; + add.f32 %f879, %f876, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs92, %f879;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f878;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f877;} + + // inline asm + mov.u16 %rs97, 0; + st.v4.u16 [%rd197], {%rs90, %rs91, %rs92, %rs97}; + bra.uni BB0_147; + +BB0_3: + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd28, %r118; + cvt.u64.u32 %rd29, %r119; + mov.u64 %rd38, uvpos; + cvta.global.u64 %rd27, %rd38; + mov.u32 %r114, 12; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r98, %r114, %rd28, %rd29, %rd24, %rd24); + // inline asm + ld.f32 %f9, [%rd26+8]; + ld.f32 %f8, [%rd26+4]; + ld.f32 %f7, [%rd26]; + mul.f32 %f237, %f7, 0f3456BF95; + mul.f32 %f238, %f8, 0f3456BF95; + mul.f32 %f239, %f9, 0f3456BF95; + abs.f32 %f240, %f916; + div.rn.f32 %f241, %f237, %f240; + abs.f32 %f242, %f917; + div.rn.f32 %f243, %f238, %f242; + abs.f32 %f244, %f918; + div.rn.f32 %f245, %f239, %f244; + abs.f32 %f246, %f241; + abs.f32 %f247, %f243; + abs.f32 %f248, %f245; + mov.f32 %f249, 0f38D1B717; + max.f32 %f250, %f246, %f249; + max.f32 %f251, %f247, %f249; + max.f32 %f252, %f248, %f249; + fma.rn.f32 %f10, %f916, %f250, %f7; + fma.rn.f32 %f11, %f917, %f251, %f8; + fma.rn.f32 %f12, %f918, %f252, %f9; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd34, %r122; + cvt.u64.u32 %rd35, %r123; + mov.u64 %rd39, rnd_seeds; + cvta.global.u64 %rd33, %rd39; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r98, %r99, %rd34, %rd35, %rd24, %rd24); + // inline asm + ld.u32 %r126, [%rd32]; + mad.lo.s32 %r6, %r126, 1664525, 1013904223; + ld.global.u32 %r127, [lightMeshBufferSize]; + setp.eq.s32 %p14, %r127, 0; + mov.pred %p13, 0; + mov.f32 %f18, 0f00000000; + mov.u32 %r382, 0; + @%p14 bra BB0_4; + + ld.global.f32 %f13, [lightPointSize]; + mul.f32 %f14, %f10, 0f3456BF95; + mul.f32 %f15, %f11, 0f3456BF95; + mul.f32 %f16, %f12, 0f3456BF95; + and.b32 %r129, %r6, 16777215; + cvt.rn.f32.u32 %f259, %r129; + mul.f32 %f260, %f259, 0fB3800000; + fma.rn.f32 %f17, %f260, 0f3F333333, 0f3F800000; + mov.f32 %f18, 0f00000000; + mov.u32 %r382, 0; + abs.f32 %f382, %f15; + abs.f32 %f383, %f14; + max.f32 %f384, %f383, %f382; + abs.f32 %f385, %f16; + max.f32 %f386, %f384, %f385; + mov.f32 %f19, %f18; + mov.f32 %f20, %f18; + mov.f32 %f21, %f18; + mov.f32 %f22, %f18; + mov.f32 %f23, %f18; + +BB0_6: + shl.b32 %r132, %r382, 1; + cvt.s64.s32 %rd42, %r132; + mov.u64 %rd46, lightMeshBuffer; + cvta.global.u64 %rd41, %rd46; + mov.u32 %r130, 1; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r130, %r114, %rd42, %rd24, %rd24, %rd24); + // inline asm + ld.f32 %f261, [%rd40]; + sub.f32 %f262, %f261, %f7; + ld.f32 %f263, [%rd40+4]; + sub.f32 %f264, %f263, %f8; + ld.f32 %f265, [%rd40+8]; + sub.f32 %f266, %f265, %f9; + mul.f32 %f267, %f264, %f264; + fma.rn.f32 %f268, %f262, %f262, %f267; + fma.rn.f32 %f269, %f266, %f266, %f268; + sqrt.rn.f32 %f24, %f269; + rcp.rn.f32 %f270, %f24; + mul.f32 %f25, %f262, %f270; + mul.f32 %f26, %f264, %f270; + mul.f32 %f27, %f266, %f270; + mul.f32 %f271, %f24, %f24; + mul.f32 %f272, %f271, 0f40C90FDB; + div.rn.f32 %f273, %f13, %f272; + add.f32 %f28, %f273, %f273; + setp.gt.f32 %p16, %f28, %f17; + setp.ne.s32 %p17, %r1, 0; + and.pred %p18, %p17, %p16; + mov.pred %p148, -1; + @%p18 bra BB0_22; + + ld.global.f32 %f276, [lightInvCutoff]; + mul.f32 %f29, %f24, %f276; + mov.f32 %f280, 0f40800000; + abs.f32 %f31, %f29; + setp.lt.f32 %p19, %f31, 0f00800000; + mul.f32 %f282, %f31, 0f4B800000; + selp.f32 %f283, 0fC3170000, 0fC2FE0000, %p19; + selp.f32 %f284, %f282, %f31, %p19; + mov.b32 %r133, %f284; + and.b32 %r134, %r133, 8388607; + or.b32 %r135, %r134, 1065353216; + mov.b32 %f285, %r135; + shr.u32 %r136, %r133, 23; + cvt.rn.f32.u32 %f286, %r136; + add.f32 %f287, %f283, %f286; + setp.gt.f32 %p20, %f285, 0f3FB504F3; + mul.f32 %f288, %f285, 0f3F000000; + add.f32 %f289, %f287, 0f3F800000; + selp.f32 %f290, %f288, %f285, %p20; + selp.f32 %f291, %f289, %f287, %p20; + add.f32 %f292, %f290, 0fBF800000; + add.f32 %f275, %f290, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f274,%f275; + // inline asm + add.f32 %f293, %f292, %f292; + mul.f32 %f294, %f274, %f293; + mul.f32 %f295, %f294, %f294; + mov.f32 %f296, 0f3C4CAF63; + mov.f32 %f297, 0f3B18F0FE; + fma.rn.f32 %f298, %f297, %f295, %f296; + mov.f32 %f299, 0f3DAAAABD; + fma.rn.f32 %f300, %f298, %f295, %f299; + mul.rn.f32 %f301, %f300, %f295; + mul.rn.f32 %f302, %f301, %f294; + sub.f32 %f303, %f292, %f294; + neg.f32 %f304, %f294; + add.f32 %f305, %f303, %f303; + fma.rn.f32 %f306, %f304, %f292, %f305; + mul.rn.f32 %f307, %f274, %f306; + add.f32 %f308, %f302, %f294; + sub.f32 %f309, %f294, %f308; + add.f32 %f310, %f302, %f309; + add.f32 %f311, %f307, %f310; + add.f32 %f312, %f308, %f311; + sub.f32 %f313, %f308, %f312; + add.f32 %f314, %f311, %f313; + mov.f32 %f315, 0f3F317200; + mul.rn.f32 %f316, %f291, %f315; + mov.f32 %f317, 0f35BFBE8E; + mul.rn.f32 %f318, %f291, %f317; + add.f32 %f319, %f316, %f312; + sub.f32 %f320, %f316, %f319; + add.f32 %f321, %f312, %f320; + add.f32 %f322, %f314, %f321; + add.f32 %f323, %f318, %f322; + add.f32 %f324, %f319, %f323; + sub.f32 %f325, %f319, %f324; + add.f32 %f326, %f323, %f325; + mul.rn.f32 %f327, %f280, %f324; + neg.f32 %f328, %f327; + fma.rn.f32 %f329, %f280, %f324, %f328; + fma.rn.f32 %f330, %f280, %f326, %f329; + mov.f32 %f331, 0f00000000; + fma.rn.f32 %f332, %f331, %f324, %f330; + add.rn.f32 %f333, %f327, %f332; + neg.f32 %f334, %f333; + add.rn.f32 %f335, %f327, %f334; + add.rn.f32 %f336, %f335, %f332; + mov.b32 %r137, %f333; + setp.eq.s32 %p21, %r137, 1118925336; + add.s32 %r138, %r137, -1; + mov.b32 %f337, %r138; + add.f32 %f338, %f336, 0f37000000; + selp.f32 %f339, %f337, %f333, %p21; + selp.f32 %f32, %f338, %f336, %p21; + mul.f32 %f340, %f339, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f341, %f340; + mov.f32 %f342, 0fBF317200; + fma.rn.f32 %f343, %f341, %f342, %f339; + mov.f32 %f344, 0fB5BFBE8E; + fma.rn.f32 %f345, %f341, %f344, %f343; + mul.f32 %f346, %f345, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f347, %f346; + add.f32 %f348, %f341, 0f00000000; + ex2.approx.f32 %f349, %f348; + mul.f32 %f350, %f347, %f349; + setp.lt.f32 %p22, %f339, 0fC2D20000; + selp.f32 %f351, 0f00000000, %f350, %p22; + setp.gt.f32 %p23, %f339, 0f42D20000; + selp.f32 %f925, 0f7F800000, %f351, %p23; + setp.eq.f32 %p24, %f925, 0f7F800000; + @%p24 bra BB0_9; + + fma.rn.f32 %f925, %f925, %f32, %f925; + +BB0_9: + mov.f32 %f914, 0f40000000; + cvt.rzi.f32.f32 %f913, %f914; + add.f32 %f912, %f913, %f913; + mov.f32 %f911, 0f40800000; + sub.f32 %f910, %f911, %f912; + abs.f32 %f909, %f910; + setp.lt.f32 %p25, %f29, 0f00000000; + setp.eq.f32 %p26, %f909, 0f3F800000; + and.pred %p1, %p25, %p26; + mov.b32 %r139, %f925; + xor.b32 %r140, %r139, -2147483648; + mov.b32 %f352, %r140; + selp.f32 %f927, %f352, %f925, %p1; + setp.eq.f32 %p27, %f29, 0f00000000; + @%p27 bra BB0_12; + bra.uni BB0_10; + +BB0_12: + add.f32 %f355, %f29, %f29; + selp.f32 %f927, %f355, 0f00000000, %p26; + bra.uni BB0_13; + +BB0_10: + setp.geu.f32 %p28, %f29, 0f00000000; + @%p28 bra BB0_13; + + mov.f32 %f915, 0f40800000; + cvt.rzi.f32.f32 %f354, %f915; + setp.neu.f32 %p29, %f354, 0f40800000; + selp.f32 %f927, 0f7FFFFFFF, %f927, %p29; + +BB0_13: + add.f32 %f356, %f31, 0f40800000; + mov.b32 %r141, %f356; + setp.lt.s32 %p31, %r141, 2139095040; + @%p31 bra BB0_18; + + setp.gtu.f32 %p32, %f31, 0f7F800000; + @%p32 bra BB0_17; + bra.uni BB0_15; + +BB0_17: + add.f32 %f927, %f29, 0f40800000; + bra.uni BB0_18; + +BB0_15: + setp.neu.f32 %p33, %f31, 0f7F800000; + @%p33 bra BB0_18; + + selp.f32 %f927, 0fFF800000, 0f7F800000, %p1; + +BB0_18: + mov.u32 %r378, 1; + mov.u64 %rd292, lightMeshBuffer; + cvta.global.u64 %rd291, %rd292; + shl.b32 %r377, %r382, 1; + mov.f32 %f357, 0f3F800000; + sub.f32 %f358, %f357, %f927; + setp.eq.f32 %p34, %f29, 0f3F800000; + selp.f32 %f359, 0f00000000, %f358, %p34; + cvt.sat.f32.f32 %f360, %f359; + mul.f32 %f361, %f28, %f360; + add.s32 %r145, %r377, 1; + cvt.s64.s32 %rd49, %r145; + // inline asm + call (%rd47), _rt_buffer_get_64, (%rd291, %r378, %r114, %rd49, %rd24, %rd24, %rd24); + // inline asm + ld.f32 %f362, [%rd47]; + mul.f32 %f363, %f25, %f362; + ld.f32 %f364, [%rd47+4]; + mul.f32 %f365, %f26, %f364; + neg.f32 %f366, %f365; + sub.f32 %f367, %f366, %f363; + ld.f32 %f368, [%rd47+8]; + mul.f32 %f369, %f27, %f368; + sub.f32 %f370, %f367, %f369; + cvt.sat.f32.f32 %f371, %f370; + mul.f32 %f43, %f361, %f371; + mul.f32 %f372, %f917, %f26; + fma.rn.f32 %f373, %f916, %f25, %f372; + fma.rn.f32 %f44, %f918, %f27, %f373; + setp.leu.f32 %p35, %f43, 0f3727C5AC; + @%p35 bra BB0_20; + + mov.u32 %r380, 1; + add.u64 %rd54, %SP, 4; + cvta.to.local.u64 %rd55, %rd54; + max.f32 %f380, %f386, %f249; + sub.f32 %f381, %f24, %f380; + mov.u32 %r149, 1065353216; + st.local.u32 [%rd55], %r149; + ld.global.u32 %r146, [root]; + // inline asm + call _rt_trace_64, (%r146, %f10, %f11, %f12, %f25, %f26, %f27, %r380, %f380, %f381, %rd54, %r99); + // inline asm + ld.local.f32 %f388, [%rd55]; + mul.f32 %f389, %f43, %f388; + cvt.sat.f32.f32 %f390, %f44; + fma.rn.f32 %f23, %f390, %f389, %f23; + fma.rn.f32 %f21, %f25, %f389, %f21; + fma.rn.f32 %f20, %f26, %f389, %f20; + fma.rn.f32 %f19, %f27, %f389, %f19; + add.f32 %f22, %f22, %f389; + add.f32 %f18, %f18, %f388; + +BB0_20: + ld.global.u32 %r150, [lightMeshBufferSize]; + add.s32 %r382, %r382, 1; + setp.lt.u32 %p37, %r382, %r150; + @%p37 bra BB0_6; + bra.uni BB0_21; + +BB0_4: + mov.f32 %f19, %f18; + mov.f32 %f20, %f18; + mov.f32 %f21, %f18; + mov.f32 %f22, %f18; + mov.f32 %f23, %f18; + +BB0_21: + mov.pred %p148, %p13; + +BB0_22: + cvt.rn.f32.s32 %f391, %r382; + mov.f32 %f392, 0f3F800000; + max.f32 %f393, %f391, %f392; + div.rn.f32 %f970, %f23, %f393; + div.rn.f32 %f975, %f18, %f393; + div.rn.f32 %f971, %f22, %f393; + div.rn.f32 %f972, %f21, %f393; + div.rn.f32 %f973, %f20, %f393; + div.rn.f32 %f974, %f19, %f393; + @!%p148 bra BB0_75; + bra.uni BB0_23; + +BB0_23: + mov.f32 %f946, 0f00000000; + setp.lt.s32 %p38, %r1, 1; + mov.f32 %f947, %f946; + mov.f32 %f948, %f946; + mov.f32 %f949, %f946; + mov.f32 %f950, %f946; + mov.f32 %f951, %f946; + @%p38 bra BB0_74; + + mad.lo.s32 %r386, %r126, 1664525, 1013904223; + cvt.rn.f32.s32 %f406, %r2; + rcp.rn.f32 %f69, %f406; + add.u64 %rd56, %SP, 8; + cvta.to.local.u64 %rd2, %rd56; + mul.f32 %f70, %f10, 0f3456BF95; + mul.f32 %f71, %f11, 0f3456BF95; + mul.f32 %f72, %f12, 0f3456BF95; + add.u64 %rd57, %SP, 0; + cvta.to.local.u64 %rd3, %rd57; + mov.f32 %f946, 0f00000000; + mov.u32 %r151, 0; + abs.f32 %f407, %f71; + abs.f32 %f408, %f70; + max.f32 %f409, %f408, %f407; + abs.f32 %f410, %f72; + max.f32 %f411, %f409, %f410; + mov.u32 %r383, %r151; + mov.f32 %f947, %f946; + mov.f32 %f948, %f946; + mov.f32 %f949, %f946; + mov.f32 %f950, %f946; + mov.f32 %f951, %f946; + +BB0_25: + cvt.rn.f32.s32 %f79, %r383; + max.f32 %f80, %f411, %f249; + mov.u32 %r385, %r151; + +BB0_26: + mad.lo.s32 %r153, %r386, 1664525, 1013904223; + and.b32 %r154, %r153, 16777215; + cvt.rn.f32.u32 %f413, %r154; + fma.rn.f32 %f414, %f413, 0f33800000, %f79; + mul.f32 %f415, %f69, %f414; + mad.lo.s32 %r386, %r153, 1664525, 1013904223; + and.b32 %r155, %r386, 16777215; + cvt.rn.f32.u32 %f416, %r155; + cvt.rn.f32.s32 %f417, %r385; + fma.rn.f32 %f418, %f416, 0f33800000, %f417; + mul.f32 %f419, %f69, %f418; + fma.rn.f32 %f87, %f415, 0fC0000000, 0f3F800000; + mul.f32 %f420, %f87, %f87; + sub.f32 %f422, %f392, %f420; + mov.f32 %f423, 0f00000000; + max.f32 %f424, %f423, %f422; + sqrt.rn.f32 %f88, %f424; + mul.f32 %f958, %f419, 0f40C90FDB; + abs.f32 %f90, %f958; + setp.neu.f32 %p39, %f90, 0f7F800000; + mov.f32 %f952, %f958; + @%p39 bra BB0_28; + + mul.rn.f32 %f952, %f958, %f423; + +BB0_28: + mul.f32 %f426, %f952, 0f3F22F983; + cvt.rni.s32.f32 %r396, %f426; + cvt.rn.f32.s32 %f427, %r396; + neg.f32 %f428, %f427; + mov.f32 %f429, 0f3FC90FDA; + fma.rn.f32 %f430, %f428, %f429, %f952; + mov.f32 %f431, 0f33A22168; + fma.rn.f32 %f432, %f428, %f431, %f430; + mov.f32 %f433, 0f27C234C5; + fma.rn.f32 %f953, %f428, %f433, %f432; + abs.f32 %f434, %f952; + setp.leu.f32 %p40, %f434, 0f47CE4780; + @%p40 bra BB0_39; + + mov.b32 %r16, %f952; + shr.u32 %r17, %r16, 23; + shl.b32 %r158, %r16, 8; + or.b32 %r18, %r158, -2147483648; + mov.u32 %r388, 0; + mov.u64 %rd293, __cudart_i2opi_f; + mov.u32 %r387, -6; + mov.u64 %rd294, %rd2; + +BB0_30: + .pragma "nounroll"; + ld.const.u32 %r161, [%rd293]; + // inline asm + { + mad.lo.cc.u32 %r159, %r161, %r18, %r388; + madc.hi.u32 %r388, %r161, %r18, 0; + } + // inline asm + st.local.u32 [%rd294], %r159; + add.s64 %rd294, %rd294, 4; + add.s64 %rd293, %rd293, 4; + add.s32 %r387, %r387, 1; + setp.ne.s32 %p41, %r387, 0; + @%p41 bra BB0_30; + + and.b32 %r164, %r17, 255; + add.s32 %r165, %r164, -128; + shr.u32 %r166, %r165, 5; + and.b32 %r23, %r16, -2147483648; + st.local.u32 [%rd2+24], %r388; + mov.u32 %r167, 6; + sub.s32 %r168, %r167, %r166; + mul.wide.s32 %rd59, %r168, 4; + add.s64 %rd8, %rd2, %rd59; + ld.local.u32 %r389, [%rd8]; + ld.local.u32 %r390, [%rd8+-4]; + and.b32 %r26, %r17, 31; + setp.eq.s32 %p42, %r26, 0; + @%p42 bra BB0_33; + + mov.u32 %r169, 32; + sub.s32 %r170, %r169, %r26; + shr.u32 %r171, %r390, %r170; + shl.b32 %r172, %r389, %r26; + add.s32 %r389, %r171, %r172; + ld.local.u32 %r173, [%rd8+-8]; + shr.u32 %r174, %r173, %r170; + shl.b32 %r175, %r390, %r26; + add.s32 %r390, %r174, %r175; + +BB0_33: + shr.u32 %r176, %r390, 30; + shl.b32 %r177, %r389, 2; + add.s32 %r391, %r176, %r177; + shl.b32 %r32, %r390, 2; + shr.u32 %r178, %r391, 31; + shr.u32 %r179, %r389, 30; + add.s32 %r33, %r178, %r179; + setp.eq.s32 %p43, %r178, 0; + @%p43 bra BB0_34; + bra.uni BB0_35; + +BB0_34: + mov.u32 %r392, %r23; + mov.u32 %r393, %r32; + bra.uni BB0_36; + +BB0_35: + not.b32 %r180, %r391; + neg.s32 %r393, %r32; + setp.eq.s32 %p44, %r32, 0; + selp.u32 %r181, 1, 0, %p44; + add.s32 %r391, %r181, %r180; + xor.b32 %r392, %r23, -2147483648; + +BB0_36: + clz.b32 %r395, %r391; + setp.eq.s32 %p45, %r395, 0; + shl.b32 %r182, %r391, %r395; + mov.u32 %r183, 32; + sub.s32 %r184, %r183, %r395; + shr.u32 %r185, %r393, %r184; + add.s32 %r186, %r185, %r182; + selp.b32 %r41, %r391, %r186, %p45; + mov.u32 %r187, -921707870; + mul.hi.u32 %r394, %r41, %r187; + setp.eq.s32 %p46, %r23, 0; + neg.s32 %r188, %r33; + selp.b32 %r396, %r33, %r188, %p46; + setp.lt.s32 %p47, %r394, 1; + @%p47 bra BB0_38; + + mul.lo.s32 %r189, %r41, -921707870; + shr.u32 %r190, %r189, 31; + shl.b32 %r191, %r394, 1; + add.s32 %r394, %r190, %r191; + add.s32 %r395, %r395, 1; + +BB0_38: + mov.u32 %r192, 126; + sub.s32 %r193, %r192, %r395; + shl.b32 %r194, %r193, 23; + add.s32 %r195, %r394, 1; + shr.u32 %r196, %r195, 7; + add.s32 %r197, %r196, 1; + shr.u32 %r198, %r197, 1; + add.s32 %r199, %r198, %r194; + or.b32 %r200, %r199, %r392; + mov.b32 %f953, %r200; + +BB0_39: + mul.rn.f32 %f96, %f953, %f953; + add.s32 %r49, %r396, 1; + and.b32 %r50, %r49, 1; + setp.eq.s32 %p48, %r50, 0; + @%p48 bra BB0_41; + bra.uni BB0_40; + +BB0_41: + mov.f32 %f437, 0f3C08839E; + mov.f32 %f438, 0fB94CA1F9; + fma.rn.f32 %f954, %f438, %f96, %f437; + bra.uni BB0_42; + +BB0_40: + mov.f32 %f435, 0fBAB6061A; + mov.f32 %f436, 0f37CCF5CE; + fma.rn.f32 %f954, %f436, %f96, %f435; + +BB0_42: + @%p48 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f442, 0fBE2AAAA3; + fma.rn.f32 %f443, %f954, %f96, %f442; + fma.rn.f32 %f955, %f443, %f96, %f423; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f439, 0f3D2AAAA5; + fma.rn.f32 %f440, %f954, %f96, %f439; + mov.f32 %f441, 0fBF000000; + fma.rn.f32 %f955, %f440, %f96, %f441; + +BB0_45: + fma.rn.f32 %f956, %f955, %f953, %f953; + @%p48 bra BB0_47; + + fma.rn.f32 %f956, %f955, %f96, %f392; + +BB0_47: + and.b32 %r201, %r49, 2; + setp.eq.s32 %p51, %r201, 0; + @%p51 bra BB0_49; + + mov.f32 %f447, 0fBF800000; + fma.rn.f32 %f956, %f956, %f447, %f423; + +BB0_49: + @%p39 bra BB0_51; + + mul.rn.f32 %f958, %f958, %f423; + +BB0_51: + mul.f32 %f449, %f958, 0f3F22F983; + cvt.rni.s32.f32 %r406, %f449; + cvt.rn.f32.s32 %f450, %r406; + neg.f32 %f451, %f450; + fma.rn.f32 %f453, %f451, %f429, %f958; + fma.rn.f32 %f455, %f451, %f431, %f453; + fma.rn.f32 %f959, %f451, %f433, %f455; + abs.f32 %f457, %f958; + setp.leu.f32 %p53, %f457, 0f47CE4780; + @%p53 bra BB0_62; + + mov.b32 %r52, %f958; + shr.u32 %r53, %r52, 23; + shl.b32 %r204, %r52, 8; + or.b32 %r54, %r204, -2147483648; + mov.u32 %r398, 0; + mov.u64 %rd295, __cudart_i2opi_f; + mov.u32 %r397, -6; + mov.u64 %rd296, %rd2; + +BB0_53: + .pragma "nounroll"; + ld.const.u32 %r207, [%rd295]; + // inline asm + { + mad.lo.cc.u32 %r205, %r207, %r54, %r398; + madc.hi.u32 %r398, %r207, %r54, 0; + } + // inline asm + st.local.u32 [%rd296], %r205; + add.s64 %rd296, %rd296, 4; + add.s64 %rd295, %rd295, 4; + add.s32 %r397, %r397, 1; + setp.ne.s32 %p54, %r397, 0; + @%p54 bra BB0_53; + + and.b32 %r210, %r53, 255; + add.s32 %r211, %r210, -128; + shr.u32 %r212, %r211, 5; + and.b32 %r59, %r52, -2147483648; + st.local.u32 [%rd2+24], %r398; + mov.u32 %r213, 6; + sub.s32 %r214, %r213, %r212; + mul.wide.s32 %rd61, %r214, 4; + add.s64 %rd13, %rd2, %rd61; + ld.local.u32 %r399, [%rd13]; + ld.local.u32 %r400, [%rd13+-4]; + and.b32 %r62, %r53, 31; + setp.eq.s32 %p55, %r62, 0; + @%p55 bra BB0_56; + + mov.u32 %r215, 32; + sub.s32 %r216, %r215, %r62; + shr.u32 %r217, %r400, %r216; + shl.b32 %r218, %r399, %r62; + add.s32 %r399, %r217, %r218; + ld.local.u32 %r219, [%rd13+-8]; + shr.u32 %r220, %r219, %r216; + shl.b32 %r221, %r400, %r62; + add.s32 %r400, %r220, %r221; + +BB0_56: + shr.u32 %r222, %r400, 30; + shl.b32 %r223, %r399, 2; + add.s32 %r401, %r222, %r223; + shl.b32 %r68, %r400, 2; + shr.u32 %r224, %r401, 31; + shr.u32 %r225, %r399, 30; + add.s32 %r69, %r224, %r225; + setp.eq.s32 %p56, %r224, 0; + @%p56 bra BB0_57; + bra.uni BB0_58; + +BB0_57: + mov.u32 %r402, %r59; + mov.u32 %r403, %r68; + bra.uni BB0_59; + +BB0_58: + not.b32 %r226, %r401; + neg.s32 %r403, %r68; + setp.eq.s32 %p57, %r68, 0; + selp.u32 %r227, 1, 0, %p57; + add.s32 %r401, %r227, %r226; + xor.b32 %r402, %r59, -2147483648; + +BB0_59: + clz.b32 %r405, %r401; + setp.eq.s32 %p58, %r405, 0; + shl.b32 %r228, %r401, %r405; + mov.u32 %r229, 32; + sub.s32 %r230, %r229, %r405; + shr.u32 %r231, %r403, %r230; + add.s32 %r232, %r231, %r228; + selp.b32 %r77, %r401, %r232, %p58; + mov.u32 %r233, -921707870; + mul.hi.u32 %r404, %r77, %r233; + setp.eq.s32 %p59, %r59, 0; + neg.s32 %r234, %r69; + selp.b32 %r406, %r69, %r234, %p59; + setp.lt.s32 %p60, %r404, 1; + @%p60 bra BB0_61; + + mul.lo.s32 %r235, %r77, -921707870; + shr.u32 %r236, %r235, 31; + shl.b32 %r237, %r404, 1; + add.s32 %r404, %r236, %r237; + add.s32 %r405, %r405, 1; + +BB0_61: + mov.u32 %r238, 126; + sub.s32 %r239, %r238, %r405; + shl.b32 %r240, %r239, 23; + add.s32 %r241, %r404, 1; + shr.u32 %r242, %r241, 7; + add.s32 %r243, %r242, 1; + shr.u32 %r244, %r243, 1; + add.s32 %r245, %r244, %r240; + or.b32 %r246, %r245, %r402; + mov.b32 %f959, %r246; + +BB0_62: + mul.rn.f32 %f113, %f959, %f959; + and.b32 %r85, %r406, 1; + setp.eq.s32 %p61, %r85, 0; + @%p61 bra BB0_64; + bra.uni BB0_63; + +BB0_64: + mov.f32 %f460, 0f3C08839E; + mov.f32 %f461, 0fB94CA1F9; + fma.rn.f32 %f960, %f461, %f113, %f460; + bra.uni BB0_65; + +BB0_63: + mov.f32 %f458, 0fBAB6061A; + mov.f32 %f459, 0f37CCF5CE; + fma.rn.f32 %f960, %f459, %f113, %f458; + +BB0_65: + @%p61 bra BB0_67; + bra.uni BB0_66; + +BB0_67: + mov.f32 %f465, 0fBE2AAAA3; + fma.rn.f32 %f466, %f960, %f113, %f465; + fma.rn.f32 %f961, %f466, %f113, %f423; + bra.uni BB0_68; + +BB0_66: + mov.f32 %f462, 0f3D2AAAA5; + fma.rn.f32 %f463, %f960, %f113, %f462; + mov.f32 %f464, 0fBF000000; + fma.rn.f32 %f961, %f463, %f113, %f464; + +BB0_68: + fma.rn.f32 %f962, %f961, %f959, %f959; + @%p61 bra BB0_70; + + fma.rn.f32 %f962, %f961, %f113, %f392; + +BB0_70: + and.b32 %r247, %r406, 2; + setp.eq.s32 %p64, %r247, 0; + @%p64 bra BB0_72; + + mov.f32 %f470, 0fBF800000; + fma.rn.f32 %f962, %f962, %f470, %f423; + +BB0_72: + mul.f32 %f474, %f88, %f956; + mov.u32 %r249, 0; + st.local.u32 [%rd3], %r249; + ld.global.u32 %r248, [root]; + mul.f32 %f475, %f88, %f962; + mov.f32 %f478, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r248, %f10, %f11, %f12, %f474, %f475, %f87, %r249, %f80, %f478, %rd57, %r99); + // inline asm + ld.local.f32 %f479, [%rd3]; + setp.lt.f32 %p65, %f479, 0f00000000; + selp.f32 %f480, 0f00000000, %f479, %p65; + selp.f32 %f481, 0f00000000, 0f3F800000, %p65; + add.f32 %f946, %f946, %f481; + fma.rn.f32 %f949, %f474, %f480, %f949; + fma.rn.f32 %f948, %f475, %f480, %f948; + fma.rn.f32 %f947, %f87, %f480, %f947; + add.f32 %f950, %f950, %f480; + mul.f32 %f482, %f917, %f475; + fma.rn.f32 %f483, %f916, %f474, %f482; + fma.rn.f32 %f484, %f918, %f87, %f483; + cvt.sat.f32.f32 %f485, %f484; + fma.rn.f32 %f951, %f480, %f485, %f951; + add.s32 %r385, %r385, 1; + setp.lt.s32 %p66, %r385, %r2; + @%p66 bra BB0_26; + + add.s32 %r383, %r383, 1; + setp.lt.s32 %p67, %r383, %r2; + @%p67 bra BB0_25; + +BB0_74: + mul.lo.s32 %r251, %r2, %r2; + cvt.rn.f32.s32 %f486, %r251; + div.rn.f32 %f487, %f951, %f486; + div.rn.f32 %f975, %f946, %f486; + div.rn.f32 %f971, %f950, %f486; + div.rn.f32 %f972, %f949, %f486; + div.rn.f32 %f973, %f948, %f486; + div.rn.f32 %f974, %f947, %f486; + add.f32 %f970, %f487, %f487; + +BB0_75: + ld.global.u32 %r408, [imageEnabled]; + and.b32 %r252, %r408, 8; + setp.eq.s32 %p68, %r252, 0; + @%p68 bra BB0_88; + + cvt.u64.u32 %rd65, %r4; + cvt.u64.u32 %rd66, %r5; + mov.u64 %rd69, image_Mask; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r98, %r98, %rd65, %rd66, %rd24, %rd24); + // inline asm + mov.f32 %f490, 0f3E68BA2E; + cvt.rzi.f32.f32 %f491, %f490; + fma.rn.f32 %f492, %f491, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f149, %f492; + abs.f32 %f150, %f975; + setp.lt.f32 %p69, %f150, 0f00800000; + mul.f32 %f493, %f150, 0f4B800000; + selp.f32 %f494, 0fC3170000, 0fC2FE0000, %p69; + selp.f32 %f495, %f493, %f150, %p69; + mov.b32 %r255, %f495; + and.b32 %r256, %r255, 8388607; + or.b32 %r257, %r256, 1065353216; + mov.b32 %f496, %r257; + shr.u32 %r258, %r255, 23; + cvt.rn.f32.u32 %f497, %r258; + add.f32 %f498, %f494, %f497; + setp.gt.f32 %p70, %f496, 0f3FB504F3; + mul.f32 %f499, %f496, 0f3F000000; + add.f32 %f500, %f498, 0f3F800000; + selp.f32 %f501, %f499, %f496, %p70; + selp.f32 %f502, %f500, %f498, %p70; + add.f32 %f503, %f501, 0fBF800000; + add.f32 %f489, %f501, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f488,%f489; + // inline asm + add.f32 %f504, %f503, %f503; + mul.f32 %f505, %f488, %f504; + mul.f32 %f506, %f505, %f505; + mov.f32 %f507, 0f3C4CAF63; + mov.f32 %f508, 0f3B18F0FE; + fma.rn.f32 %f509, %f508, %f506, %f507; + mov.f32 %f510, 0f3DAAAABD; + fma.rn.f32 %f511, %f509, %f506, %f510; + mul.rn.f32 %f512, %f511, %f506; + mul.rn.f32 %f513, %f512, %f505; + sub.f32 %f514, %f503, %f505; + neg.f32 %f515, %f505; + add.f32 %f516, %f514, %f514; + fma.rn.f32 %f517, %f515, %f503, %f516; + mul.rn.f32 %f518, %f488, %f517; + add.f32 %f519, %f513, %f505; + sub.f32 %f520, %f505, %f519; + add.f32 %f521, %f513, %f520; + add.f32 %f522, %f518, %f521; + add.f32 %f523, %f519, %f522; + sub.f32 %f524, %f519, %f523; + add.f32 %f525, %f522, %f524; + mov.f32 %f526, 0f3F317200; + mul.rn.f32 %f527, %f502, %f526; + mov.f32 %f528, 0f35BFBE8E; + mul.rn.f32 %f529, %f502, %f528; + add.f32 %f530, %f527, %f523; + sub.f32 %f531, %f527, %f530; + add.f32 %f532, %f523, %f531; + add.f32 %f533, %f525, %f532; + add.f32 %f534, %f529, %f533; + add.f32 %f535, %f530, %f534; + sub.f32 %f536, %f530, %f535; + add.f32 %f537, %f534, %f536; + mov.f32 %f538, 0f3EE8BA2E; + mul.rn.f32 %f539, %f538, %f535; + neg.f32 %f540, %f539; + fma.rn.f32 %f541, %f538, %f535, %f540; + fma.rn.f32 %f542, %f538, %f537, %f541; + mov.f32 %f543, 0f00000000; + fma.rn.f32 %f544, %f543, %f535, %f542; + add.rn.f32 %f545, %f539, %f544; + neg.f32 %f546, %f545; + add.rn.f32 %f547, %f539, %f546; + add.rn.f32 %f548, %f547, %f544; + mov.b32 %r259, %f545; + setp.eq.s32 %p71, %r259, 1118925336; + add.s32 %r260, %r259, -1; + mov.b32 %f549, %r260; + add.f32 %f550, %f548, 0f37000000; + selp.f32 %f551, %f549, %f545, %p71; + selp.f32 %f151, %f550, %f548, %p71; + mul.f32 %f552, %f551, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f553, %f552; + mov.f32 %f554, 0fBF317200; + fma.rn.f32 %f555, %f553, %f554, %f551; + mov.f32 %f556, 0fB5BFBE8E; + fma.rn.f32 %f557, %f553, %f556, %f555; + mul.f32 %f558, %f557, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f559, %f558; + add.f32 %f560, %f553, 0f00000000; + ex2.approx.f32 %f561, %f560; + mul.f32 %f562, %f559, %f561; + setp.lt.f32 %p72, %f551, 0fC2D20000; + selp.f32 %f563, 0f00000000, %f562, %p72; + setp.gt.f32 %p73, %f551, 0f42D20000; + selp.f32 %f976, 0f7F800000, %f563, %p73; + setp.eq.f32 %p74, %f976, 0f7F800000; + @%p74 bra BB0_78; + + fma.rn.f32 %f976, %f976, %f151, %f976; + +BB0_78: + setp.lt.f32 %p75, %f975, 0f00000000; + setp.eq.f32 %p76, %f149, 0f3F800000; + and.pred %p3, %p75, %p76; + mov.b32 %r261, %f976; + xor.b32 %r262, %r261, -2147483648; + mov.b32 %f564, %r262; + selp.f32 %f978, %f564, %f976, %p3; + setp.eq.f32 %p77, %f975, 0f00000000; + @%p77 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f567, %f975, %f975; + selp.f32 %f978, %f567, 0f00000000, %p76; + bra.uni BB0_82; + +BB0_146: + mov.u64 %rd210, image_HDR; + cvta.global.u64 %rd205, %rd210; + mov.u32 %r348, 8; + // inline asm + call (%rd204), _rt_buffer_get_64, (%rd205, %r98, %r348, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f880, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f880;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd204], {%rs98, %rs98, %rs98, %rs99}; + +BB0_147: + ld.global.u32 %r349, [additive]; + setp.eq.s32 %p144, %r349, 0; + @%p144 bra BB0_149; + + mov.u64 %rd223, image_RNM0; + cvta.global.u64 %rd212, %rd223; + mov.u32 %r353, 8; + // inline asm + call (%rd211), _rt_buffer_get_64, (%rd212, %r98, %r353, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs106, %rs107, %rs108, %rs109}, [%rd211]; + // inline asm + { cvt.f32.f16 %f881, %rs106;} + + // inline asm + // inline asm + { cvt.f32.f16 %f882, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f883, %rs108;} + + // inline asm + // inline asm + call (%rd217), _rt_buffer_get_64, (%rd212, %r98, %r353, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f884, %f881, 0f00000000; + add.f32 %f885, %f882, 0f00000000; + add.f32 %f886, %f883, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f886;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f885;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f884;} + + // inline asm + mov.u16 %rs110, 0; + st.v4.u16 [%rd217], {%rs103, %rs104, %rs105, %rs110}; + bra.uni BB0_150; + +BB0_149: + mov.u64 %rd230, image_RNM0; + cvta.global.u64 %rd225, %rd230; + mov.u32 %r355, 8; + // inline asm + call (%rd224), _rt_buffer_get_64, (%rd225, %r98, %r355, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f887, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f887;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd224], {%rs111, %rs111, %rs111, %rs112}; + +BB0_150: + ld.global.u32 %r356, [additive]; + setp.eq.s32 %p145, %r356, 0; + @%p145 bra BB0_152; + + mov.u64 %rd243, image_RNM1; + cvta.global.u64 %rd232, %rd243; + mov.u32 %r360, 8; + // inline asm + call (%rd231), _rt_buffer_get_64, (%rd232, %r98, %r360, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs119, %rs120, %rs121, %rs122}, [%rd231]; + // inline asm + { cvt.f32.f16 %f888, %rs119;} + + // inline asm + // inline asm + { cvt.f32.f16 %f889, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f890, %rs121;} + + // inline asm + // inline asm + call (%rd237), _rt_buffer_get_64, (%rd232, %r98, %r360, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f891, %f888, 0f00000000; + add.f32 %f892, %f889, 0f00000000; + add.f32 %f893, %f890, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs118, %f893;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f892;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs116, %f891;} + + // inline asm + mov.u16 %rs123, 0; + st.v4.u16 [%rd237], {%rs116, %rs117, %rs118, %rs123}; + bra.uni BB0_153; + +BB0_152: + mov.u64 %rd250, image_RNM1; + cvta.global.u64 %rd245, %rd250; + mov.u32 %r362, 8; + // inline asm + call (%rd244), _rt_buffer_get_64, (%rd245, %r98, %r362, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f894, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f894;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd244], {%rs124, %rs124, %rs124, %rs125}; + +BB0_153: + ld.global.u32 %r363, [additive]; + setp.eq.s32 %p146, %r363, 0; + @%p146 bra BB0_155; + + mov.u64 %rd263, image_RNM2; + cvta.global.u64 %rd252, %rd263; + mov.u32 %r367, 8; + // inline asm + call (%rd251), _rt_buffer_get_64, (%rd252, %r98, %r367, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs132, %rs133, %rs134, %rs135}, [%rd251]; + // inline asm + { cvt.f32.f16 %f895, %rs132;} + + // inline asm + // inline asm + { cvt.f32.f16 %f896, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f897, %rs134;} + + // inline asm + // inline asm + call (%rd257), _rt_buffer_get_64, (%rd252, %r98, %r367, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f898, %f895, 0f00000000; + add.f32 %f899, %f896, 0f00000000; + add.f32 %f900, %f897, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs131, %f900;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f899;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs129, %f898;} + + // inline asm + mov.u16 %rs136, 0; + st.v4.u16 [%rd257], {%rs129, %rs130, %rs131, %rs136}; + bra.uni BB0_156; + +BB0_155: + mov.u64 %rd270, image_RNM2; + cvta.global.u64 %rd265, %rd270; + mov.u32 %r369, 8; + // inline asm + call (%rd264), _rt_buffer_get_64, (%rd265, %r98, %r369, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f901, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f901;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd264], {%rs137, %rs137, %rs137, %rs138}; + +BB0_156: + ld.global.u32 %r370, [additive]; + setp.eq.s32 %p147, %r370, 0; + @%p147 bra BB0_158; + + mov.u64 %rd283, image_RNM3; + cvta.global.u64 %rd272, %rd283; + mov.u32 %r374, 8; + // inline asm + call (%rd271), _rt_buffer_get_64, (%rd272, %r98, %r374, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs145, %rs146, %rs147, %rs148}, [%rd271]; + // inline asm + { cvt.f32.f16 %f902, %rs145;} + + // inline asm + // inline asm + { cvt.f32.f16 %f903, %rs146;} + + // inline asm + // inline asm + { cvt.f32.f16 %f904, %rs147;} + + // inline asm + // inline asm + call (%rd277), _rt_buffer_get_64, (%rd272, %r98, %r374, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f905, %f902, 0f00000000; + add.f32 %f906, %f903, 0f00000000; + add.f32 %f907, %f904, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs144, %f907;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs143, %f906;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs142, %f905;} + + // inline asm + mov.u16 %rs149, 0; + st.v4.u16 [%rd277], {%rs142, %rs143, %rs144, %rs149}; + bra.uni BB0_159; + +BB0_158: + mov.u64 %rd290, image_RNM3; + cvta.global.u64 %rd285, %rd290; + mov.u32 %r376, 8; + // inline asm + call (%rd284), _rt_buffer_get_64, (%rd285, %r98, %r376, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f908, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f908;} + + // inline asm + mov.u16 %rs151, 0; + st.v4.u16 [%rd284], {%rs150, %rs150, %rs150, %rs151}; + bra.uni BB0_159; + +BB0_79: + setp.geu.f32 %p78, %f975, 0f00000000; + @%p78 bra BB0_82; + + cvt.rzi.f32.f32 %f566, %f538; + setp.neu.f32 %p79, %f566, 0f3EE8BA2E; + selp.f32 %f978, 0f7FFFFFFF, %f978, %p79; + +BB0_82: + add.f32 %f568, %f150, 0f3EE8BA2E; + mov.b32 %r263, %f568; + setp.lt.s32 %p81, %r263, 2139095040; + @%p81 bra BB0_87; + + setp.gtu.f32 %p82, %f150, 0f7F800000; + @%p82 bra BB0_86; + bra.uni BB0_84; + +BB0_86: + add.f32 %f978, %f975, 0f3EE8BA2E; + bra.uni BB0_87; + +BB0_84: + setp.neu.f32 %p83, %f150, 0f7F800000; + @%p83 bra BB0_87; + + selp.f32 %f978, 0fFF800000, 0f7F800000, %p3; + +BB0_87: + mul.f32 %f569, %f978, 0f437F0000; + setp.eq.f32 %p84, %f975, 0f3F800000; + selp.f32 %f570, 0f437F0000, %f569, %p84; + cvt.rzi.u32.f32 %r264, %f570; + cvt.u16.u32 %rs14, %r264; + mov.u16 %rs15, 255; + st.v2.u8 [%rd63], {%rs14, %rs15}; + ld.global.u32 %r408, [imageEnabled]; + +BB0_88: + ld.global.f32 %f571, [lightColor]; + mul.f32 %f162, %f970, %f571; + ld.global.f32 %f572, [lightColor+4]; + mul.f32 %f163, %f970, %f572; + ld.global.f32 %f573, [lightColor+8]; + mul.f32 %f164, %f970, %f573; + and.b32 %r265, %r408, 1; + setp.eq.b32 %p85, %r265, 1; + @!%p85 bra BB0_123; + bra.uni BB0_89; + +BB0_89: + mov.f32 %f576, 0f3E666666; + cvt.rzi.f32.f32 %f577, %f576; + fma.rn.f32 %f578, %f577, 0fC0000000, 0f3EE66666; + abs.f32 %f165, %f578; + abs.f32 %f166, %f162; + setp.lt.f32 %p86, %f166, 0f00800000; + mul.f32 %f579, %f166, 0f4B800000; + selp.f32 %f580, 0fC3170000, 0fC2FE0000, %p86; + selp.f32 %f581, %f579, %f166, %p86; + mov.b32 %r266, %f581; + and.b32 %r267, %r266, 8388607; + or.b32 %r268, %r267, 1065353216; + mov.b32 %f582, %r268; + shr.u32 %r269, %r266, 23; + cvt.rn.f32.u32 %f583, %r269; + add.f32 %f584, %f580, %f583; + setp.gt.f32 %p87, %f582, 0f3FB504F3; + mul.f32 %f585, %f582, 0f3F000000; + add.f32 %f586, %f584, 0f3F800000; + selp.f32 %f587, %f585, %f582, %p87; + selp.f32 %f588, %f586, %f584, %p87; + add.f32 %f589, %f587, 0fBF800000; + add.f32 %f575, %f587, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f574,%f575; + // inline asm + add.f32 %f590, %f589, %f589; + mul.f32 %f591, %f574, %f590; + mul.f32 %f592, %f591, %f591; + mov.f32 %f593, 0f3C4CAF63; + mov.f32 %f594, 0f3B18F0FE; + fma.rn.f32 %f595, %f594, %f592, %f593; + mov.f32 %f596, 0f3DAAAABD; + fma.rn.f32 %f597, %f595, %f592, %f596; + mul.rn.f32 %f598, %f597, %f592; + mul.rn.f32 %f599, %f598, %f591; + sub.f32 %f600, %f589, %f591; + neg.f32 %f601, %f591; + add.f32 %f602, %f600, %f600; + fma.rn.f32 %f603, %f601, %f589, %f602; + mul.rn.f32 %f604, %f574, %f603; + add.f32 %f605, %f599, %f591; + sub.f32 %f606, %f591, %f605; + add.f32 %f607, %f599, %f606; + add.f32 %f608, %f604, %f607; + add.f32 %f609, %f605, %f608; + sub.f32 %f610, %f605, %f609; + add.f32 %f611, %f608, %f610; + mov.f32 %f612, 0f3F317200; + mul.rn.f32 %f613, %f588, %f612; + mov.f32 %f614, 0f35BFBE8E; + mul.rn.f32 %f615, %f588, %f614; + add.f32 %f616, %f613, %f609; + sub.f32 %f617, %f613, %f616; + add.f32 %f618, %f609, %f617; + add.f32 %f619, %f611, %f618; + add.f32 %f620, %f615, %f619; + add.f32 %f621, %f616, %f620; + sub.f32 %f622, %f616, %f621; + add.f32 %f623, %f620, %f622; + mov.f32 %f624, 0f3EE66666; + mul.rn.f32 %f625, %f624, %f621; + neg.f32 %f626, %f625; + fma.rn.f32 %f627, %f624, %f621, %f626; + fma.rn.f32 %f628, %f624, %f623, %f627; + mov.f32 %f629, 0f00000000; + fma.rn.f32 %f630, %f629, %f621, %f628; + add.rn.f32 %f631, %f625, %f630; + neg.f32 %f632, %f631; + add.rn.f32 %f633, %f625, %f632; + add.rn.f32 %f634, %f633, %f630; + mov.b32 %r270, %f631; + setp.eq.s32 %p88, %r270, 1118925336; + add.s32 %r271, %r270, -1; + mov.b32 %f635, %r271; + add.f32 %f636, %f634, 0f37000000; + selp.f32 %f637, %f635, %f631, %p88; + selp.f32 %f167, %f636, %f634, %p88; + mul.f32 %f638, %f637, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f639, %f638; + mov.f32 %f640, 0fBF317200; + fma.rn.f32 %f641, %f639, %f640, %f637; + mov.f32 %f642, 0fB5BFBE8E; + fma.rn.f32 %f643, %f639, %f642, %f641; + mul.f32 %f644, %f643, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f645, %f644; + add.f32 %f646, %f639, 0f00000000; + ex2.approx.f32 %f647, %f646; + mul.f32 %f648, %f645, %f647; + setp.lt.f32 %p89, %f637, 0fC2D20000; + selp.f32 %f649, 0f00000000, %f648, %p89; + setp.gt.f32 %p90, %f637, 0f42D20000; + selp.f32 %f979, 0f7F800000, %f649, %p90; + setp.eq.f32 %p91, %f979, 0f7F800000; + @%p91 bra BB0_91; + + fma.rn.f32 %f979, %f979, %f167, %f979; + +BB0_91: + setp.lt.f32 %p92, %f162, 0f00000000; + setp.eq.f32 %p93, %f165, 0f3F800000; + and.pred %p4, %p92, %p93; + mov.b32 %r272, %f979; + xor.b32 %r273, %r272, -2147483648; + mov.b32 %f650, %r273; + selp.f32 %f981, %f650, %f979, %p4; + setp.eq.f32 %p94, %f162, 0f00000000; + @%p94 bra BB0_94; + bra.uni BB0_92; + +BB0_94: + add.f32 %f653, %f162, %f162; + selp.f32 %f981, %f653, 0f00000000, %p93; + bra.uni BB0_95; + +BB0_92: + setp.geu.f32 %p95, %f162, 0f00000000; + @%p95 bra BB0_95; + + cvt.rzi.f32.f32 %f652, %f624; + setp.neu.f32 %p96, %f652, 0f3EE66666; + selp.f32 %f981, 0f7FFFFFFF, %f981, %p96; + +BB0_95: + add.f32 %f654, %f166, 0f3EE66666; + mov.b32 %r274, %f654; + setp.lt.s32 %p98, %r274, 2139095040; + @%p98 bra BB0_100; + + setp.gtu.f32 %p99, %f166, 0f7F800000; + @%p99 bra BB0_99; + bra.uni BB0_97; + +BB0_99: + add.f32 %f981, %f162, 0f3EE66666; + bra.uni BB0_100; + +BB0_97: + setp.neu.f32 %p100, %f166, 0f7F800000; + @%p100 bra BB0_100; + + selp.f32 %f981, 0fFF800000, 0f7F800000, %p4; + +BB0_100: + setp.eq.f32 %p101, %f162, 0f3F800000; + selp.f32 %f178, 0f3F800000, %f981, %p101; + abs.f32 %f179, %f163; + setp.lt.f32 %p102, %f179, 0f00800000; + mul.f32 %f657, %f179, 0f4B800000; + selp.f32 %f658, 0fC3170000, 0fC2FE0000, %p102; + selp.f32 %f659, %f657, %f179, %p102; + mov.b32 %r275, %f659; + and.b32 %r276, %r275, 8388607; + or.b32 %r277, %r276, 1065353216; + mov.b32 %f660, %r277; + shr.u32 %r278, %r275, 23; + cvt.rn.f32.u32 %f661, %r278; + add.f32 %f662, %f658, %f661; + setp.gt.f32 %p103, %f660, 0f3FB504F3; + mul.f32 %f663, %f660, 0f3F000000; + add.f32 %f664, %f662, 0f3F800000; + selp.f32 %f665, %f663, %f660, %p103; + selp.f32 %f666, %f664, %f662, %p103; + add.f32 %f667, %f665, 0fBF800000; + add.f32 %f656, %f665, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f655,%f656; + // inline asm + add.f32 %f668, %f667, %f667; + mul.f32 %f669, %f655, %f668; + mul.f32 %f670, %f669, %f669; + fma.rn.f32 %f673, %f594, %f670, %f593; + fma.rn.f32 %f675, %f673, %f670, %f596; + mul.rn.f32 %f676, %f675, %f670; + mul.rn.f32 %f677, %f676, %f669; + sub.f32 %f678, %f667, %f669; + neg.f32 %f679, %f669; + add.f32 %f680, %f678, %f678; + fma.rn.f32 %f681, %f679, %f667, %f680; + mul.rn.f32 %f682, %f655, %f681; + add.f32 %f683, %f677, %f669; + sub.f32 %f684, %f669, %f683; + add.f32 %f685, %f677, %f684; + add.f32 %f686, %f682, %f685; + add.f32 %f687, %f683, %f686; + sub.f32 %f688, %f683, %f687; + add.f32 %f689, %f686, %f688; + mul.rn.f32 %f691, %f666, %f612; + mul.rn.f32 %f693, %f666, %f614; + add.f32 %f694, %f691, %f687; + sub.f32 %f695, %f691, %f694; + add.f32 %f696, %f687, %f695; + add.f32 %f697, %f689, %f696; + add.f32 %f698, %f693, %f697; + add.f32 %f699, %f694, %f698; + sub.f32 %f700, %f694, %f699; + add.f32 %f701, %f698, %f700; + mul.rn.f32 %f703, %f624, %f699; + neg.f32 %f704, %f703; + fma.rn.f32 %f705, %f624, %f699, %f704; + fma.rn.f32 %f706, %f624, %f701, %f705; + fma.rn.f32 %f708, %f629, %f699, %f706; + add.rn.f32 %f709, %f703, %f708; + neg.f32 %f710, %f709; + add.rn.f32 %f711, %f703, %f710; + add.rn.f32 %f712, %f711, %f708; + mov.b32 %r279, %f709; + setp.eq.s32 %p104, %r279, 1118925336; + add.s32 %r280, %r279, -1; + mov.b32 %f713, %r280; + add.f32 %f714, %f712, 0f37000000; + selp.f32 %f715, %f713, %f709, %p104; + selp.f32 %f180, %f714, %f712, %p104; + mul.f32 %f716, %f715, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f717, %f716; + fma.rn.f32 %f719, %f717, %f640, %f715; + fma.rn.f32 %f721, %f717, %f642, %f719; + mul.f32 %f722, %f721, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f723, %f722; + add.f32 %f724, %f717, 0f00000000; + ex2.approx.f32 %f725, %f724; + mul.f32 %f726, %f723, %f725; + setp.lt.f32 %p105, %f715, 0fC2D20000; + selp.f32 %f727, 0f00000000, %f726, %p105; + setp.gt.f32 %p106, %f715, 0f42D20000; + selp.f32 %f982, 0f7F800000, %f727, %p106; + setp.eq.f32 %p107, %f982, 0f7F800000; + @%p107 bra BB0_102; + + fma.rn.f32 %f982, %f982, %f180, %f982; + +BB0_102: + setp.lt.f32 %p108, %f163, 0f00000000; + and.pred %p5, %p108, %p93; + mov.b32 %r281, %f982; + xor.b32 %r282, %r281, -2147483648; + mov.b32 %f728, %r282; + selp.f32 %f984, %f728, %f982, %p5; + setp.eq.f32 %p110, %f163, 0f00000000; + @%p110 bra BB0_105; + bra.uni BB0_103; + +BB0_105: + add.f32 %f731, %f163, %f163; + selp.f32 %f984, %f731, 0f00000000, %p93; + bra.uni BB0_106; + +BB0_103: + setp.geu.f32 %p111, %f163, 0f00000000; + @%p111 bra BB0_106; + + cvt.rzi.f32.f32 %f730, %f624; + setp.neu.f32 %p112, %f730, 0f3EE66666; + selp.f32 %f984, 0f7FFFFFFF, %f984, %p112; + +BB0_106: + add.f32 %f732, %f179, 0f3EE66666; + mov.b32 %r283, %f732; + setp.lt.s32 %p114, %r283, 2139095040; + @%p114 bra BB0_111; + + setp.gtu.f32 %p115, %f179, 0f7F800000; + @%p115 bra BB0_110; + bra.uni BB0_108; + +BB0_110: + add.f32 %f984, %f163, 0f3EE66666; + bra.uni BB0_111; + +BB0_108: + setp.neu.f32 %p116, %f179, 0f7F800000; + @%p116 bra BB0_111; + + selp.f32 %f984, 0fFF800000, 0f7F800000, %p5; + +BB0_111: + setp.eq.f32 %p117, %f163, 0f3F800000; + selp.f32 %f191, 0f3F800000, %f984, %p117; + abs.f32 %f192, %f164; + setp.lt.f32 %p118, %f192, 0f00800000; + mul.f32 %f735, %f192, 0f4B800000; + selp.f32 %f736, 0fC3170000, 0fC2FE0000, %p118; + selp.f32 %f737, %f735, %f192, %p118; + mov.b32 %r284, %f737; + and.b32 %r285, %r284, 8388607; + or.b32 %r286, %r285, 1065353216; + mov.b32 %f738, %r286; + shr.u32 %r287, %r284, 23; + cvt.rn.f32.u32 %f739, %r287; + add.f32 %f740, %f736, %f739; + setp.gt.f32 %p119, %f738, 0f3FB504F3; + mul.f32 %f741, %f738, 0f3F000000; + add.f32 %f742, %f740, 0f3F800000; + selp.f32 %f743, %f741, %f738, %p119; + selp.f32 %f744, %f742, %f740, %p119; + add.f32 %f745, %f743, 0fBF800000; + add.f32 %f734, %f743, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f733,%f734; + // inline asm + add.f32 %f746, %f745, %f745; + mul.f32 %f747, %f733, %f746; + mul.f32 %f748, %f747, %f747; + fma.rn.f32 %f751, %f594, %f748, %f593; + fma.rn.f32 %f753, %f751, %f748, %f596; + mul.rn.f32 %f754, %f753, %f748; + mul.rn.f32 %f755, %f754, %f747; + sub.f32 %f756, %f745, %f747; + neg.f32 %f757, %f747; + add.f32 %f758, %f756, %f756; + fma.rn.f32 %f759, %f757, %f745, %f758; + mul.rn.f32 %f760, %f733, %f759; + add.f32 %f761, %f755, %f747; + sub.f32 %f762, %f747, %f761; + add.f32 %f763, %f755, %f762; + add.f32 %f764, %f760, %f763; + add.f32 %f765, %f761, %f764; + sub.f32 %f766, %f761, %f765; + add.f32 %f767, %f764, %f766; + mul.rn.f32 %f769, %f744, %f612; + mul.rn.f32 %f771, %f744, %f614; + add.f32 %f772, %f769, %f765; + sub.f32 %f773, %f769, %f772; + add.f32 %f774, %f765, %f773; + add.f32 %f775, %f767, %f774; + add.f32 %f776, %f771, %f775; + add.f32 %f777, %f772, %f776; + sub.f32 %f778, %f772, %f777; + add.f32 %f779, %f776, %f778; + mul.rn.f32 %f781, %f624, %f777; + neg.f32 %f782, %f781; + fma.rn.f32 %f783, %f624, %f777, %f782; + fma.rn.f32 %f784, %f624, %f779, %f783; + fma.rn.f32 %f786, %f629, %f777, %f784; + add.rn.f32 %f787, %f781, %f786; + neg.f32 %f788, %f787; + add.rn.f32 %f789, %f781, %f788; + add.rn.f32 %f790, %f789, %f786; + mov.b32 %r288, %f787; + setp.eq.s32 %p120, %r288, 1118925336; + add.s32 %r289, %r288, -1; + mov.b32 %f791, %r289; + add.f32 %f792, %f790, 0f37000000; + selp.f32 %f793, %f791, %f787, %p120; + selp.f32 %f193, %f792, %f790, %p120; + mul.f32 %f794, %f793, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f795, %f794; + fma.rn.f32 %f797, %f795, %f640, %f793; + fma.rn.f32 %f799, %f795, %f642, %f797; + mul.f32 %f800, %f799, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f801, %f800; + add.f32 %f802, %f795, 0f00000000; + ex2.approx.f32 %f803, %f802; + mul.f32 %f804, %f801, %f803; + setp.lt.f32 %p121, %f793, 0fC2D20000; + selp.f32 %f805, 0f00000000, %f804, %p121; + setp.gt.f32 %p122, %f793, 0f42D20000; + selp.f32 %f985, 0f7F800000, %f805, %p122; + setp.eq.f32 %p123, %f985, 0f7F800000; + @%p123 bra BB0_113; + + fma.rn.f32 %f985, %f985, %f193, %f985; + +BB0_113: + setp.lt.f32 %p124, %f164, 0f00000000; + and.pred %p6, %p124, %p93; + mov.b32 %r290, %f985; + xor.b32 %r291, %r290, -2147483648; + mov.b32 %f806, %r291; + selp.f32 %f987, %f806, %f985, %p6; + setp.eq.f32 %p126, %f164, 0f00000000; + @%p126 bra BB0_116; + bra.uni BB0_114; + +BB0_116: + add.f32 %f809, %f164, %f164; + selp.f32 %f987, %f809, 0f00000000, %p93; + bra.uni BB0_117; + +BB0_114: + setp.geu.f32 %p127, %f164, 0f00000000; + @%p127 bra BB0_117; + + cvt.rzi.f32.f32 %f808, %f624; + setp.neu.f32 %p128, %f808, 0f3EE66666; + selp.f32 %f987, 0f7FFFFFFF, %f987, %p128; + +BB0_117: + add.f32 %f810, %f192, 0f3EE66666; + mov.b32 %r292, %f810; + setp.lt.s32 %p130, %r292, 2139095040; + @%p130 bra BB0_122; + + setp.gtu.f32 %p131, %f192, 0f7F800000; + @%p131 bra BB0_121; + bra.uni BB0_119; + +BB0_121: + add.f32 %f987, %f164, 0f3EE66666; + bra.uni BB0_122; + +BB0_119: + setp.neu.f32 %p132, %f192, 0f7F800000; + @%p132 bra BB0_122; + + selp.f32 %f987, 0fFF800000, 0f7F800000, %p6; + +BB0_122: + setp.eq.f32 %p133, %f164, 0f3F800000; + selp.f32 %f811, 0f3F800000, %f987, %p133; + cvt.u64.u32 %rd73, %r5; + cvt.u64.u32 %rd72, %r4; + mov.u64 %rd76, image; + cvta.global.u64 %rd71, %rd76; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r98, %r99, %rd72, %rd73, %rd24, %rd24); + // inline asm + cvt.sat.f32.f32 %f812, %f811; + mul.f32 %f813, %f812, 0f437FFD71; + cvt.rzi.u32.f32 %r295, %f813; + cvt.sat.f32.f32 %f814, %f191; + mul.f32 %f815, %f814, 0f437FFD71; + cvt.rzi.u32.f32 %r296, %f815; + cvt.sat.f32.f32 %f816, %f178; + mul.f32 %f817, %f816, 0f437FFD71; + cvt.rzi.u32.f32 %r297, %f817; + cvt.u16.u32 %rs16, %r295; + cvt.u16.u32 %rs17, %r297; + cvt.u16.u32 %rs18, %r296; + mov.u16 %rs19, 255; + st.v4.u8 [%rd70], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r408, [imageEnabled]; + +BB0_123: + cvt.u64.u32 %rd15, %r4; + cvt.u64.u32 %rd16, %r5; + and.b32 %r298, %r408, 4; + setp.eq.s32 %p134, %r298, 0; + @%p134 bra BB0_127; + + ld.global.u32 %r299, [additive]; + setp.eq.s32 %p135, %r299, 0; + // inline asm + { cvt.rn.f16.f32 %rs20, %f392;} + + // inline asm + @%p135 bra BB0_126; + + mov.u64 %rd89, image_HDR; + cvta.global.u64 %rd78, %rd89; + mov.u32 %r303, 8; + // inline asm + call (%rd77), _rt_buffer_get_64, (%rd78, %r98, %r303, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd77]; + // inline asm + { cvt.f32.f16 %f819, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f820, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f821, %rs29;} + + // inline asm + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd78, %r98, %r303, %rd15, %rd16, %rd24, %rd24); + // inline asm + add.f32 %f822, %f162, %f819; + add.f32 %f823, %f163, %f820; + add.f32 %f824, %f164, %f821; + // inline asm + { cvt.rn.f16.f32 %rs26, %f824;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f823;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f822;} + + // inline asm + st.v4.u16 [%rd83], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_127; + +BB0_126: + mov.u64 %rd96, image_HDR; + cvta.global.u64 %rd91, %rd96; + mov.u32 %r305, 8; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r98, %r305, %rd15, %rd16, %rd24, %rd24); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f164;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f163;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f162;} + + // inline asm + st.v4.u16 [%rd90], {%rs31, %rs32, %rs33, %rs20}; + +BB0_127: + selp.f32 %f829, 0f3F800000, 0f3E800000, %p148; + mul.f32 %f204, %f829, %f971; + mul.f32 %f205, %f829, %f972; + mul.f32 %f206, %f829, %f973; + mul.f32 %f207, %f829, %f974; + ld.global.f32 %f830, [lightColor]; + mul.f32 %f208, %f204, %f830; + ld.global.f32 %f831, [lightColor+4]; + mul.f32 %f209, %f204, %f831; + ld.global.f32 %f832, [lightColor+8]; + mul.f32 %f210, %f204, %f832; + ld.global.u32 %r306, [additive]; + setp.eq.s32 %p136, %r306, 0; + // inline asm + { cvt.rn.f16.f32 %rs34, %f392;} + + // inline asm + @%p136 bra BB0_129; + + mov.u64 %rd109, image_RNM0; + cvta.global.u64 %rd98, %rd109; + mov.u32 %r310, 8; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd98, %r98, %r310, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd97]; + // inline asm + { cvt.f32.f16 %f833, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f834, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f835, %rs43;} + + // inline asm + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd98, %r98, %r310, %rd15, %rd16, %rd24, %rd24); + // inline asm + add.f32 %f836, %f208, %f833; + add.f32 %f837, %f209, %f834; + add.f32 %f838, %f210, %f835; + // inline asm + { cvt.rn.f16.f32 %rs40, %f838;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f837;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f836;} + + // inline asm + st.v4.u16 [%rd103], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_130; + +BB0_129: + mov.u64 %rd116, image_RNM0; + cvta.global.u64 %rd111, %rd116; + mov.u32 %r312, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r98, %r312, %rd15, %rd16, %rd24, %rd24); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f210;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f209;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f208;} + + // inline asm + st.v4.u16 [%rd110], {%rs45, %rs46, %rs47, %rs34}; + +BB0_130: + mov.f32 %f843, 0f34000000; + max.f32 %f844, %f204, %f843; + div.rn.f32 %f845, %f205, %f844; + fma.rn.f32 %f211, %f845, 0f3F000000, 0f3F000000; + div.rn.f32 %f846, %f206, %f844; + fma.rn.f32 %f212, %f846, 0f3F000000, 0f3F000000; + div.rn.f32 %f847, %f207, %f844; + fma.rn.f32 %f213, %f847, 0f3F000000, 0f3F000000; + ld.global.u32 %r313, [additive]; + setp.eq.s32 %p137, %r313, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f392;} + + // inline asm + @%p137 bra BB0_132; + + mov.u64 %rd129, image_RNM1; + cvta.global.u64 %rd118, %rd129; + mov.u32 %r317, 8; + // inline asm + call (%rd117), _rt_buffer_get_64, (%rd118, %r98, %r317, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd117]; + // inline asm + { cvt.f32.f16 %f848, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f849, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f850, %rs57;} + + // inline asm + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd118, %r98, %r317, %rd15, %rd16, %rd24, %rd24); + // inline asm + add.f32 %f851, %f211, %f848; + add.f32 %f852, %f211, %f849; + add.f32 %f853, %f211, %f850; + // inline asm + { cvt.rn.f16.f32 %rs54, %f853;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f852;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f851;} + + // inline asm + st.v4.u16 [%rd123], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_133; + +BB0_132: + mov.u64 %rd136, image_RNM1; + cvta.global.u64 %rd131, %rd136; + mov.u32 %r319, 8; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r98, %r319, %rd15, %rd16, %rd24, %rd24); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f211;} + + // inline asm + st.v4.u16 [%rd130], {%rs59, %rs59, %rs59, %rs48}; + +BB0_133: + ld.global.u32 %r320, [additive]; + setp.eq.s32 %p138, %r320, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f392;} + + // inline asm + @%p138 bra BB0_135; + + mov.u64 %rd149, image_RNM2; + cvta.global.u64 %rd138, %rd149; + mov.u32 %r324, 8; + // inline asm + call (%rd137), _rt_buffer_get_64, (%rd138, %r98, %r324, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd137]; + // inline asm + { cvt.f32.f16 %f856, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f857, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f858, %rs69;} + + // inline asm + // inline asm + call (%rd143), _rt_buffer_get_64, (%rd138, %r98, %r324, %rd15, %rd16, %rd24, %rd24); + // inline asm + add.f32 %f859, %f212, %f856; + add.f32 %f860, %f212, %f857; + add.f32 %f861, %f212, %f858; + // inline asm + { cvt.rn.f16.f32 %rs66, %f861;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f860;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f859;} + + // inline asm + st.v4.u16 [%rd143], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_136; + +BB0_135: + mov.u64 %rd156, image_RNM2; + cvta.global.u64 %rd151, %rd156; + mov.u32 %r326, 8; + // inline asm + call (%rd150), _rt_buffer_get_64, (%rd151, %r98, %r326, %rd15, %rd16, %rd24, %rd24); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f212;} + + // inline asm + st.v4.u16 [%rd150], {%rs71, %rs71, %rs71, %rs60}; + +BB0_136: + ld.global.u32 %r327, [additive]; + setp.eq.s32 %p139, %r327, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f392;} + + // inline asm + @%p139 bra BB0_138; + + mov.u64 %rd169, image_RNM3; + cvta.global.u64 %rd158, %rd169; + mov.u32 %r331, 8; + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd158, %r98, %r331, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd157]; + // inline asm + { cvt.f32.f16 %f864, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f865, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f866, %rs81;} + + // inline asm + // inline asm + call (%rd163), _rt_buffer_get_64, (%rd158, %r98, %r331, %rd15, %rd16, %rd24, %rd24); + // inline asm + add.f32 %f867, %f213, %f864; + add.f32 %f868, %f213, %f865; + add.f32 %f869, %f213, %f866; + // inline asm + { cvt.rn.f16.f32 %rs78, %f869;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f868;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f867;} + + // inline asm + st.v4.u16 [%rd163], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_159; + +BB0_138: + mov.u64 %rd176, image_RNM3; + cvta.global.u64 %rd171, %rd176; + mov.u32 %r333, 8; + // inline asm + call (%rd170), _rt_buffer_get_64, (%rd171, %r98, %r333, %rd15, %rd16, %rd24, %rd24); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f213;} + + // inline asm + st.v4.u16 [%rd170], {%rs83, %rs83, %rs83, %rs72}; + +BB0_159: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightProbeSH.ptx.meta new file mode 100644 index 00000000..cc0a8e28 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2e7e633188b9ad54b9aa8574f0516dbf +timeCreated: 1551460554 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx new file mode 100644 index 00000000..02c78f1f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx @@ -0,0 +1,2483 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[36]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<156>; + .reg .b16 %rs<157>; + .reg .f32 %f<1168>; + .reg .b32 %r<435>; + .reg .b64 %rd<292>; + + + mov.u64 %rd291, __local_depot0; + cvta.local.u64 %SP, %rd291; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r109, %r110}, [pixelID]; + cvt.u64.u32 %rd26, %r109; + cvt.u64.u32 %rd27, %r110; + mov.u64 %rd30, uvnormal; + cvta.global.u64 %rd25, %rd30; + mov.u32 %r107, 2; + mov.u32 %r108, 4; + mov.u64 %rd29, 0; + // inline asm + call (%rd24), _rt_buffer_get_64, (%rd25, %r107, %r108, %rd26, %rd27, %rd29, %rd29); + // inline asm + ld.u32 %r2, [%rd24]; + shr.u32 %r113, %r2, 16; + cvt.u16.u32 %rs1, %r113; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r2; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p7, %rs8, 0; + mov.f32 %f1089, 0f00000000; + mov.f32 %f1090, %f1089; + mov.f32 %f1091, %f1089; + @%p7 bra BB0_2; + + ld.u8 %rs9, [%rd24+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f248, %rs11; + div.rn.f32 %f249, %f248, 0f437F0000; + fma.rn.f32 %f250, %f249, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f251, %rs9; + div.rn.f32 %f252, %f251, 0f437F0000; + fma.rn.f32 %f253, %f252, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f254, %rs6; + div.rn.f32 %f255, %f254, 0f437F0000; + fma.rn.f32 %f256, %f255, 0f40000000, 0fBF800000; + mul.f32 %f257, %f253, %f253; + fma.rn.f32 %f258, %f250, %f250, %f257; + fma.rn.f32 %f259, %f256, %f256, %f258; + sqrt.rn.f32 %f260, %f259; + rcp.rn.f32 %f261, %f260; + mul.f32 %f1089, %f250, %f261; + mul.f32 %f1090, %f253, %f261; + mul.f32 %f1091, %f256, %f261; + +BB0_2: + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + ld.global.v2.u32 {%r117, %r118}, [tileInfo]; + add.s32 %r3, %r114, %r117; + add.s32 %r4, %r115, %r118; + setp.eq.f32 %p8, %f1090, 0f00000000; + setp.eq.f32 %p9, %f1089, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f1091, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_144; + bra.uni BB0_3; + +BB0_144: + ld.global.u32 %r434, [imageEnabled]; + and.b32 %r353, %r434, 1; + setp.eq.b32 %p148, %r353, 1; + @!%p148 bra BB0_146; + bra.uni BB0_145; + +BB0_145: + cvt.u64.u32 %rd193, %r3; + cvt.u64.u32 %rd194, %r4; + mov.u64 %rd197, image; + cvta.global.u64 %rd192, %rd197; + mov.u64 %rd196, 0; + // inline asm + call (%rd191), _rt_buffer_get_64, (%rd192, %r107, %r108, %rd193, %rd194, %rd196, %rd196); + // inline asm + mov.u16 %rs102, 0; + st.v4.u8 [%rd191], {%rs102, %rs102, %rs102, %rs102}; + ld.global.u32 %r434, [imageEnabled]; + +BB0_146: + and.b32 %r356, %r434, 8; + setp.eq.s32 %p149, %r356, 0; + @%p149 bra BB0_148; + + cvt.u64.u32 %rd201, %r4; + cvt.u64.u32 %rd200, %r3; + mov.u64 %rd204, image_Mask; + cvta.global.u64 %rd199, %rd204; + mov.u64 %rd203, 0; + // inline asm + call (%rd198), _rt_buffer_get_64, (%rd199, %r107, %r107, %rd200, %rd201, %rd203, %rd203); + // inline asm + mov.f32 %f1051, 0f00000000; + cvt.rzi.u32.f32 %r359, %f1051; + cvt.u16.u32 %rs103, %r359; + mov.u16 %rs104, 0; + st.v2.u8 [%rd198], {%rs103, %rs104}; + ld.global.u32 %r434, [imageEnabled]; + +BB0_148: + cvt.u64.u32 %rd22, %r3; + cvt.u64.u32 %rd23, %r4; + and.b32 %r360, %r434, 4; + setp.eq.s32 %p150, %r360, 0; + @%p150 bra BB0_152; + + ld.global.u32 %r361, [additive]; + setp.eq.s32 %p151, %r361, 0; + @%p151 bra BB0_151; + + mov.u64 %rd217, image_HDR; + cvta.global.u64 %rd206, %rd217; + mov.u32 %r365, 8; + mov.u64 %rd216, 0; + // inline asm + call (%rd205), _rt_buffer_get_64, (%rd206, %r107, %r365, %rd22, %rd23, %rd216, %rd216); + // inline asm + ld.v4.u16 {%rs111, %rs112, %rs113, %rs114}, [%rd205]; + // inline asm + { cvt.f32.f16 %f1052, %rs111;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1053, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1054, %rs113;} + + // inline asm + // inline asm + call (%rd211), _rt_buffer_get_64, (%rd206, %r107, %r365, %rd22, %rd23, %rd216, %rd216); + // inline asm + add.f32 %f1055, %f1052, 0f00000000; + add.f32 %f1056, %f1053, 0f00000000; + add.f32 %f1057, %f1054, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f1057;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f1056;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs108, %f1055;} + + // inline asm + mov.u16 %rs115, 0; + st.v4.u16 [%rd211], {%rs108, %rs109, %rs110, %rs115}; + bra.uni BB0_152; + +BB0_3: + ld.global.v2.u32 {%r126, %r127}, [pixelID]; + cvt.u64.u32 %rd33, %r126; + cvt.u64.u32 %rd34, %r127; + mov.u64 %rd43, uvpos; + cvta.global.u64 %rd32, %rd43; + mov.u32 %r123, 12; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd32, %r107, %r123, %rd33, %rd34, %rd29, %rd29); + // inline asm + ld.f32 %f9, [%rd31+8]; + ld.f32 %f8, [%rd31+4]; + ld.f32 %f7, [%rd31]; + mul.f32 %f265, %f7, 0f3456BF95; + mul.f32 %f266, %f8, 0f3456BF95; + mul.f32 %f267, %f9, 0f3456BF95; + abs.f32 %f10, %f1089; + div.rn.f32 %f268, %f265, %f10; + abs.f32 %f269, %f1090; + div.rn.f32 %f270, %f266, %f269; + abs.f32 %f11, %f1091; + div.rn.f32 %f271, %f267, %f11; + abs.f32 %f272, %f268; + abs.f32 %f273, %f270; + abs.f32 %f274, %f271; + mov.f32 %f275, 0f38D1B717; + max.f32 %f276, %f272, %f275; + max.f32 %f277, %f273, %f275; + max.f32 %f278, %f274, %f275; + fma.rn.f32 %f12, %f1089, %f276, %f7; + fma.rn.f32 %f13, %f1090, %f277, %f8; + fma.rn.f32 %f14, %f1091, %f278, %f9; + ld.global.v2.u32 {%r130, %r131}, [pixelID]; + cvt.u64.u32 %rd39, %r130; + cvt.u64.u32 %rd40, %r131; + mov.u64 %rd44, uvtangent; + cvta.global.u64 %rd38, %rd44; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd38, %r107, %r108, %rd39, %rd40, %rd29, %rd29); + // inline asm + ld.u32 %r5, [%rd37]; + shr.u32 %r6, %r5, 16; + cvt.u16.u32 %rs13, %r6; + and.b16 %rs14, %rs13, 255; + cvt.u16.u32 %rs15, %r5; + or.b16 %rs16, %rs15, %rs14; + setp.eq.s16 %p13, %rs16, 0; + mov.f32 %f50, 0f00000000; + mov.f32 %f1092, %f50; + mov.f32 %f1093, %f50; + mov.f32 %f1094, %f50; + @%p13 bra BB0_5; + + ld.u8 %rs17, [%rd37+1]; + and.b16 %rs19, %rs15, 255; + cvt.rn.f32.u16 %f279, %rs19; + div.rn.f32 %f280, %f279, 0f437F0000; + fma.rn.f32 %f281, %f280, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f282, %rs17; + div.rn.f32 %f283, %f282, 0f437F0000; + fma.rn.f32 %f284, %f283, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f285, %rs14; + div.rn.f32 %f286, %f285, 0f437F0000; + fma.rn.f32 %f287, %f286, 0f40000000, 0fBF800000; + mul.f32 %f288, %f284, %f284; + fma.rn.f32 %f289, %f281, %f281, %f288; + fma.rn.f32 %f290, %f287, %f287, %f289; + sqrt.rn.f32 %f291, %f290; + rcp.rn.f32 %f292, %f291; + mul.f32 %f1092, %f281, %f292; + mul.f32 %f1093, %f284, %f292; + mul.f32 %f1094, %f287, %f292; + +BB0_5: + mul.f32 %f296, %f1091, %f1093; + mul.f32 %f297, %f1090, %f1094; + sub.f32 %f298, %f297, %f296; + mul.f32 %f299, %f1089, %f1094; + mul.f32 %f300, %f1091, %f1092; + sub.f32 %f301, %f300, %f299; + mul.f32 %f302, %f1090, %f1092; + mul.f32 %f303, %f1089, %f1093; + sub.f32 %f304, %f303, %f302; + setp.lt.u32 %p14, %r5, 16777216; + selp.f32 %f305, 0fBF800000, 0f3F800000, %p14; + mul.f32 %f306, %f298, %f305; + mul.f32 %f307, %f301, %f305; + mul.f32 %f308, %f304, %f305; + mul.f32 %f309, %f306, 0f00000000; + mul.f32 %f310, %f307, 0f00000000; + mul.f32 %f311, %f308, 0f00000000; + fma.rn.f32 %f312, %f1092, 0f3F5105EC, %f309; + fma.rn.f32 %f313, %f1093, 0f3F5105EC, %f310; + fma.rn.f32 %f314, %f1094, 0f3F5105EC, %f311; + mul.f32 %f21, %f1089, 0f3F13CD3A; + add.f32 %f22, %f21, %f312; + mul.f32 %f23, %f1090, 0f3F13CD3A; + add.f32 %f24, %f23, %f313; + mul.f32 %f25, %f1091, 0f3F13CD3A; + add.f32 %f26, %f25, %f314; + ld.global.v2.u32 {%r136, %r137}, [pixelID]; + cvt.u64.u32 %rd47, %r136; + cvt.u64.u32 %rd48, %r137; + // inline asm + call (%rd45), _rt_buffer_get_64, (%rd38, %r107, %r108, %rd47, %rd48, %rd29, %rd29); + // inline asm + ld.u32 %r7, [%rd45]; + shr.u32 %r8, %r7, 16; + cvt.u16.u32 %rs22, %r8; + and.b16 %rs23, %rs22, 255; + cvt.u16.u32 %rs24, %r7; + or.b16 %rs25, %rs24, %rs23; + setp.eq.s16 %p15, %rs25, 0; + mov.f32 %f1095, %f50; + mov.f32 %f1096, %f50; + mov.f32 %f1097, %f50; + @%p15 bra BB0_7; + + ld.u8 %rs26, [%rd45+1]; + and.b16 %rs28, %rs24, 255; + cvt.rn.f32.u16 %f315, %rs28; + div.rn.f32 %f316, %f315, 0f437F0000; + fma.rn.f32 %f317, %f316, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f318, %rs26; + div.rn.f32 %f319, %f318, 0f437F0000; + fma.rn.f32 %f320, %f319, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f321, %rs23; + div.rn.f32 %f322, %f321, 0f437F0000; + fma.rn.f32 %f323, %f322, 0f40000000, 0fBF800000; + mul.f32 %f324, %f320, %f320; + fma.rn.f32 %f325, %f317, %f317, %f324; + fma.rn.f32 %f326, %f323, %f323, %f325; + sqrt.rn.f32 %f327, %f326; + rcp.rn.f32 %f328, %f327; + mul.f32 %f1095, %f317, %f328; + mul.f32 %f1096, %f320, %f328; + mul.f32 %f1097, %f323, %f328; + +BB0_7: + mul.f32 %f332, %f1091, %f1096; + mul.f32 %f333, %f1090, %f1097; + sub.f32 %f334, %f333, %f332; + mul.f32 %f335, %f1089, %f1097; + mul.f32 %f336, %f1091, %f1095; + sub.f32 %f337, %f336, %f335; + mul.f32 %f338, %f1090, %f1095; + mul.f32 %f339, %f1089, %f1096; + sub.f32 %f340, %f339, %f338; + setp.lt.u32 %p16, %r7, 16777216; + selp.f32 %f341, 0fBF800000, 0f3F800000, %p16; + mul.f32 %f342, %f334, %f341; + mul.f32 %f343, %f337, %f341; + mul.f32 %f344, %f340, %f341; + mul.f32 %f345, %f342, 0f3F3504F3; + mul.f32 %f346, %f343, 0f3F3504F3; + mul.f32 %f347, %f344, 0f3F3504F3; + fma.rn.f32 %f348, %f1095, 0fBED105EC, %f345; + fma.rn.f32 %f349, %f1096, 0fBED105EC, %f346; + fma.rn.f32 %f350, %f1097, 0fBED105EC, %f347; + add.f32 %f33, %f21, %f348; + add.f32 %f34, %f23, %f349; + add.f32 %f35, %f25, %f350; + ld.global.v2.u32 {%r142, %r143}, [pixelID]; + cvt.u64.u32 %rd54, %r142; + cvt.u64.u32 %rd55, %r143; + // inline asm + call (%rd52), _rt_buffer_get_64, (%rd38, %r107, %r108, %rd54, %rd55, %rd29, %rd29); + // inline asm + ld.u32 %r9, [%rd52]; + shr.u32 %r10, %r9, 16; + cvt.u16.u32 %rs31, %r10; + and.b16 %rs32, %rs31, 255; + cvt.u16.u32 %rs33, %r9; + or.b16 %rs34, %rs33, %rs32; + setp.eq.s16 %p17, %rs34, 0; + mov.f32 %f1098, %f50; + mov.f32 %f1099, %f50; + mov.f32 %f1100, %f50; + @%p17 bra BB0_9; + + ld.u8 %rs35, [%rd52+1]; + and.b16 %rs37, %rs33, 255; + cvt.rn.f32.u16 %f351, %rs37; + div.rn.f32 %f352, %f351, 0f437F0000; + fma.rn.f32 %f353, %f352, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f354, %rs35; + div.rn.f32 %f355, %f354, 0f437F0000; + fma.rn.f32 %f356, %f355, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f357, %rs32; + div.rn.f32 %f358, %f357, 0f437F0000; + fma.rn.f32 %f359, %f358, 0f40000000, 0fBF800000; + mul.f32 %f360, %f356, %f356; + fma.rn.f32 %f361, %f353, %f353, %f360; + fma.rn.f32 %f362, %f359, %f359, %f361; + sqrt.rn.f32 %f363, %f362; + rcp.rn.f32 %f364, %f363; + mul.f32 %f1098, %f353, %f364; + mul.f32 %f1099, %f356, %f364; + mul.f32 %f1100, %f359, %f364; + +BB0_9: + mul.f32 %f370, %f1091, %f1099; + mul.f32 %f371, %f1090, %f1100; + sub.f32 %f372, %f371, %f370; + mul.f32 %f373, %f1089, %f1100; + mul.f32 %f374, %f1091, %f1098; + sub.f32 %f375, %f374, %f373; + mul.f32 %f376, %f1090, %f1098; + mul.f32 %f377, %f1089, %f1099; + sub.f32 %f378, %f377, %f376; + setp.lt.u32 %p19, %r9, 16777216; + selp.f32 %f379, 0fBF800000, 0f3F800000, %p19; + mul.f32 %f380, %f372, %f379; + mul.f32 %f381, %f375, %f379; + mul.f32 %f382, %f378, %f379; + mul.f32 %f383, %f380, 0fBF3504F3; + mul.f32 %f384, %f381, 0fBF3504F3; + mul.f32 %f385, %f382, 0fBF3504F3; + fma.rn.f32 %f386, %f1098, 0fBED105EC, %f383; + fma.rn.f32 %f387, %f1099, 0fBED105EC, %f384; + fma.rn.f32 %f388, %f1100, 0fBED105EC, %f385; + add.f32 %f42, %f21, %f386; + add.f32 %f43, %f23, %f387; + add.f32 %f44, %f25, %f388; + ld.global.v2.u32 {%r149, %r150}, [pixelID]; + cvt.u64.u32 %rd61, %r149; + cvt.u64.u32 %rd62, %r150; + mov.u64 %rd65, rnd_seeds; + cvta.global.u64 %rd60, %rd65; + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd60, %r107, %r108, %rd61, %rd62, %rd29, %rd29); + // inline asm + ld.u32 %r153, [%rd59]; + mad.lo.s32 %r11, %r153, 1664525, 1013904223; + ld.global.u32 %r154, [lightMeshBufferSize]; + setp.eq.s32 %p20, %r154, 0; + mov.pred %p18, 0; + mov.u32 %r13, 0; + @%p20 bra BB0_10; + + ld.global.f32 %f45, [lightPointSize]; + mul.f32 %f46, %f12, 0f3456BF95; + mul.f32 %f47, %f13, 0f3456BF95; + mul.f32 %f48, %f14, 0f3456BF95; + and.b32 %r157, %r11, 16777215; + cvt.rn.f32.u32 %f394, %r157; + mul.f32 %f395, %f394, 0fB3800000; + fma.rn.f32 %f49, %f395, 0f3F333333, 0f3F800000; + mov.f32 %f50, 0f00000000; + mov.u32 %r403, 0; + abs.f32 %f517, %f47; + abs.f32 %f518, %f46; + max.f32 %f519, %f518, %f517; + abs.f32 %f520, %f48; + max.f32 %f521, %f519, %f520; + mov.u32 %r13, %r403; + mov.f32 %f51, %f50; + mov.f32 %f52, %f50; + mov.f32 %f53, %f50; + mov.f32 %f54, %f50; + +BB0_12: + shl.b32 %r14, %r403, 1; + cvt.s64.s32 %rd68, %r14; + mov.u64 %rd72, lightMeshBuffer; + cvta.global.u64 %rd67, %rd72; + mov.u32 %r158, 1; + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd67, %r158, %r123, %rd68, %rd29, %rd29, %rd29); + // inline asm + ld.f32 %f396, [%rd66]; + sub.f32 %f397, %f396, %f7; + ld.f32 %f398, [%rd66+4]; + sub.f32 %f399, %f398, %f8; + ld.f32 %f400, [%rd66+8]; + sub.f32 %f401, %f400, %f9; + mul.f32 %f402, %f399, %f399; + fma.rn.f32 %f403, %f397, %f397, %f402; + fma.rn.f32 %f404, %f401, %f401, %f403; + sqrt.rn.f32 %f55, %f404; + rcp.rn.f32 %f405, %f55; + mul.f32 %f56, %f397, %f405; + mul.f32 %f57, %f399, %f405; + mul.f32 %f58, %f401, %f405; + mul.f32 %f406, %f1090, %f57; + fma.rn.f32 %f407, %f1089, %f56, %f406; + fma.rn.f32 %f59, %f1091, %f58, %f407; + setp.leu.f32 %p21, %f59, 0f00000000; + @%p21 bra BB0_28; + + setp.ne.s32 %p23, %r1, 0; + mul.f32 %f408, %f55, %f55; + mul.f32 %f409, %f408, 0f40C90FDB; + div.rn.f32 %f410, %f45, %f409; + add.f32 %f60, %f410, %f410; + setp.gt.f32 %p24, %f60, %f49; + and.pred %p25, %p23, %p24; + mov.pred %p155, -1; + @%p25 bra BB0_30; + + ld.global.f32 %f413, [lightInvCutoff]; + mul.f32 %f61, %f55, %f413; + mov.f32 %f417, 0f40800000; + abs.f32 %f63, %f61; + setp.lt.f32 %p26, %f63, 0f00800000; + mul.f32 %f419, %f63, 0f4B800000; + selp.f32 %f420, 0fC3170000, 0fC2FE0000, %p26; + selp.f32 %f421, %f419, %f63, %p26; + mov.b32 %r160, %f421; + and.b32 %r161, %r160, 8388607; + or.b32 %r162, %r161, 1065353216; + mov.b32 %f422, %r162; + shr.u32 %r163, %r160, 23; + cvt.rn.f32.u32 %f423, %r163; + add.f32 %f424, %f420, %f423; + setp.gt.f32 %p27, %f422, 0f3FB504F3; + mul.f32 %f425, %f422, 0f3F000000; + add.f32 %f426, %f424, 0f3F800000; + selp.f32 %f427, %f425, %f422, %p27; + selp.f32 %f428, %f426, %f424, %p27; + add.f32 %f429, %f427, 0fBF800000; + add.f32 %f412, %f427, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f411,%f412; + // inline asm + add.f32 %f430, %f429, %f429; + mul.f32 %f431, %f411, %f430; + mul.f32 %f432, %f431, %f431; + mov.f32 %f433, 0f3C4CAF63; + mov.f32 %f434, 0f3B18F0FE; + fma.rn.f32 %f435, %f434, %f432, %f433; + mov.f32 %f436, 0f3DAAAABD; + fma.rn.f32 %f437, %f435, %f432, %f436; + mul.rn.f32 %f438, %f437, %f432; + mul.rn.f32 %f439, %f438, %f431; + sub.f32 %f440, %f429, %f431; + neg.f32 %f441, %f431; + add.f32 %f442, %f440, %f440; + fma.rn.f32 %f443, %f441, %f429, %f442; + mul.rn.f32 %f444, %f411, %f443; + add.f32 %f445, %f439, %f431; + sub.f32 %f446, %f431, %f445; + add.f32 %f447, %f439, %f446; + add.f32 %f448, %f444, %f447; + add.f32 %f449, %f445, %f448; + sub.f32 %f450, %f445, %f449; + add.f32 %f451, %f448, %f450; + mov.f32 %f452, 0f3F317200; + mul.rn.f32 %f453, %f428, %f452; + mov.f32 %f454, 0f35BFBE8E; + mul.rn.f32 %f455, %f428, %f454; + add.f32 %f456, %f453, %f449; + sub.f32 %f457, %f453, %f456; + add.f32 %f458, %f449, %f457; + add.f32 %f459, %f451, %f458; + add.f32 %f460, %f455, %f459; + add.f32 %f461, %f456, %f460; + sub.f32 %f462, %f456, %f461; + add.f32 %f463, %f460, %f462; + mul.rn.f32 %f464, %f417, %f461; + neg.f32 %f465, %f464; + fma.rn.f32 %f466, %f417, %f461, %f465; + fma.rn.f32 %f467, %f417, %f463, %f466; + mov.f32 %f468, 0f00000000; + fma.rn.f32 %f469, %f468, %f461, %f467; + add.rn.f32 %f470, %f464, %f469; + neg.f32 %f471, %f470; + add.rn.f32 %f472, %f464, %f471; + add.rn.f32 %f473, %f472, %f469; + mov.b32 %r164, %f470; + setp.eq.s32 %p28, %r164, 1118925336; + add.s32 %r165, %r164, -1; + mov.b32 %f474, %r165; + add.f32 %f475, %f473, 0f37000000; + selp.f32 %f476, %f474, %f470, %p28; + selp.f32 %f64, %f475, %f473, %p28; + mul.f32 %f477, %f476, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f478, %f477; + mov.f32 %f479, 0fBF317200; + fma.rn.f32 %f480, %f478, %f479, %f476; + mov.f32 %f481, 0fB5BFBE8E; + fma.rn.f32 %f482, %f478, %f481, %f480; + mul.f32 %f483, %f482, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f484, %f483; + add.f32 %f485, %f478, 0f00000000; + ex2.approx.f32 %f486, %f485; + mul.f32 %f487, %f484, %f486; + setp.lt.f32 %p29, %f476, 0fC2D20000; + selp.f32 %f488, 0f00000000, %f487, %p29; + setp.gt.f32 %p30, %f476, 0f42D20000; + selp.f32 %f1106, 0f7F800000, %f488, %p30; + setp.eq.f32 %p31, %f1106, 0f7F800000; + @%p31 bra BB0_16; + + fma.rn.f32 %f1106, %f1106, %f64, %f1106; + +BB0_16: + mov.f32 %f1085, 0f40000000; + cvt.rzi.f32.f32 %f1084, %f1085; + add.f32 %f1083, %f1084, %f1084; + mov.f32 %f1082, 0f40800000; + sub.f32 %f1081, %f1082, %f1083; + abs.f32 %f1080, %f1081; + setp.lt.f32 %p32, %f61, 0f00000000; + setp.eq.f32 %p33, %f1080, 0f3F800000; + and.pred %p1, %p32, %p33; + mov.b32 %r166, %f1106; + xor.b32 %r167, %r166, -2147483648; + mov.b32 %f489, %r167; + selp.f32 %f1108, %f489, %f1106, %p1; + setp.eq.f32 %p34, %f61, 0f00000000; + @%p34 bra BB0_19; + bra.uni BB0_17; + +BB0_19: + add.f32 %f492, %f61, %f61; + selp.f32 %f1108, %f492, 0f00000000, %p33; + bra.uni BB0_20; + +BB0_17: + setp.geu.f32 %p35, %f61, 0f00000000; + @%p35 bra BB0_20; + + mov.f32 %f1088, 0f40800000; + cvt.rzi.f32.f32 %f491, %f1088; + setp.neu.f32 %p36, %f491, 0f40800000; + selp.f32 %f1108, 0f7FFFFFFF, %f1108, %p36; + +BB0_20: + add.f32 %f493, %f63, 0f40800000; + mov.b32 %r168, %f493; + setp.lt.s32 %p38, %r168, 2139095040; + @%p38 bra BB0_25; + + setp.gtu.f32 %p39, %f63, 0f7F800000; + @%p39 bra BB0_24; + bra.uni BB0_22; + +BB0_24: + add.f32 %f1108, %f61, 0f40800000; + bra.uni BB0_25; + +BB0_22: + setp.neu.f32 %p40, %f63, 0f7F800000; + @%p40 bra BB0_25; + + selp.f32 %f1108, 0fFF800000, 0f7F800000, %p1; + +BB0_25: + mov.u32 %r390, 1; + mov.u64 %rd286, lightMeshBuffer; + cvta.global.u64 %rd285, %rd286; + shl.b32 %r389, %r403, 1; + mov.f32 %f494, 0f3F800000; + sub.f32 %f495, %f494, %f1108; + setp.eq.f32 %p41, %f61, 0f3F800000; + selp.f32 %f496, 0f00000000, %f495, %p41; + cvt.sat.f32.f32 %f497, %f496; + mul.f32 %f498, %f60, %f497; + add.s32 %r171, %r389, 1; + cvt.s64.s32 %rd75, %r171; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd285, %r390, %r123, %rd75, %rd29, %rd29, %rd29); + // inline asm + ld.f32 %f499, [%rd73]; + mul.f32 %f500, %f56, %f499; + ld.f32 %f501, [%rd73+4]; + mul.f32 %f502, %f57, %f501; + neg.f32 %f503, %f502; + sub.f32 %f504, %f503, %f500; + ld.f32 %f505, [%rd73+8]; + mul.f32 %f506, %f58, %f505; + sub.f32 %f507, %f504, %f506; + cvt.sat.f32.f32 %f508, %f507; + mul.f32 %f75, %f498, %f508; + setp.leu.f32 %p42, %f75, 0f3727C5AC; + @%p42 bra BB0_27; + + mov.u32 %r402, 1; + add.u64 %rd80, %SP, 4; + cvta.to.local.u64 %rd81, %rd80; + max.f32 %f515, %f521, %f275; + sub.f32 %f516, %f55, %f515; + mov.u32 %r175, 1065353216; + st.local.u32 [%rd81], %r175; + ld.global.u32 %r172, [root]; + // inline asm + call _rt_trace_64, (%r172, %f12, %f13, %f14, %f56, %f57, %f58, %r402, %f515, %f516, %rd80, %r108); + // inline asm + ld.local.f32 %f523, [%rd81]; + mul.f32 %f524, %f75, %f523; + cvt.sat.f32.f32 %f525, %f59; + fma.rn.f32 %f54, %f525, %f524, %f54; + mul.f32 %f526, %f24, %f57; + fma.rn.f32 %f527, %f22, %f56, %f526; + fma.rn.f32 %f528, %f26, %f58, %f527; + cvt.sat.f32.f32 %f529, %f528; + fma.rn.f32 %f53, %f529, %f524, %f53; + mul.f32 %f530, %f34, %f57; + fma.rn.f32 %f531, %f33, %f56, %f530; + fma.rn.f32 %f532, %f35, %f58, %f531; + cvt.sat.f32.f32 %f533, %f532; + fma.rn.f32 %f52, %f524, %f533, %f52; + mul.f32 %f534, %f43, %f57; + fma.rn.f32 %f535, %f42, %f56, %f534; + fma.rn.f32 %f536, %f44, %f58, %f535; + cvt.sat.f32.f32 %f537, %f536; + fma.rn.f32 %f51, %f524, %f537, %f51; + add.f32 %f50, %f50, %f523; + +BB0_27: + add.s32 %r13, %r13, 1; + +BB0_28: + ld.global.u32 %r176, [lightMeshBufferSize]; + add.s32 %r403, %r403, 1; + setp.lt.u32 %p44, %r403, %r176; + @%p44 bra BB0_12; + bra.uni BB0_29; + +BB0_10: + mov.f32 %f51, %f50; + mov.f32 %f52, %f50; + mov.f32 %f53, %f50; + mov.f32 %f54, %f50; + +BB0_29: + mov.pred %p155, %p18; + +BB0_30: + cvt.rn.f32.s32 %f538, %r13; + mov.f32 %f539, 0f3F800000; + max.f32 %f540, %f538, %f539; + div.rn.f32 %f1151, %f54, %f540; + div.rn.f32 %f1155, %f50, %f540; + div.rn.f32 %f1152, %f53, %f540; + div.rn.f32 %f1153, %f52, %f540; + div.rn.f32 %f1154, %f51, %f540; + @!%p155 bra BB0_83; + bra.uni BB0_31; + +BB0_31: + abs.f32 %f1087, %f1091; + abs.f32 %f1086, %f1089; + setp.gt.f32 %p45, %f1086, %f1087; + neg.f32 %f546, %f1090; + selp.f32 %f547, %f546, 0f00000000, %p45; + neg.f32 %f548, %f1091; + selp.f32 %f549, %f1089, %f548, %p45; + selp.f32 %f550, 0f00000000, %f1090, %p45; + mul.f32 %f551, %f549, %f549; + fma.rn.f32 %f552, %f547, %f547, %f551; + fma.rn.f32 %f553, %f550, %f550, %f552; + sqrt.rn.f32 %f554, %f553; + rcp.rn.f32 %f555, %f554; + mul.f32 %f101, %f547, %f555; + mul.f32 %f102, %f549, %f555; + mul.f32 %f103, %f550, %f555; + mov.f32 %f1129, 0f00000000; + setp.lt.s32 %p46, %r1, 1; + mov.f32 %f1130, %f1129; + mov.f32 %f1131, %f1129; + mov.f32 %f1132, %f1129; + mov.f32 %f1133, %f1129; + @%p46 bra BB0_82; + + mad.lo.s32 %r410, %r153, 1664525, 1013904223; + cvt.rn.f32.s32 %f561, %r1; + rcp.rn.f32 %f104, %f561; + add.u64 %rd82, %SP, 8; + cvta.to.local.u64 %rd5, %rd82; + mul.f32 %f105, %f12, 0f3456BF95; + mul.f32 %f106, %f13, 0f3456BF95; + mul.f32 %f107, %f14, 0f3456BF95; + add.u64 %rd83, %SP, 0; + cvta.to.local.u64 %rd6, %rd83; + mul.f32 %f562, %f1089, %f102; + mul.f32 %f563, %f1090, %f101; + sub.f32 %f108, %f563, %f562; + mul.f32 %f564, %f1091, %f101; + mul.f32 %f565, %f1089, %f103; + sub.f32 %f109, %f565, %f564; + mul.f32 %f566, %f1090, %f103; + mul.f32 %f567, %f1091, %f102; + sub.f32 %f110, %f567, %f566; + mov.f32 %f1129, 0f00000000; + mov.u32 %r177, 0; + abs.f32 %f568, %f106; + abs.f32 %f569, %f105; + max.f32 %f570, %f569, %f568; + abs.f32 %f571, %f107; + max.f32 %f572, %f570, %f571; + mov.u32 %r407, %r177; + mov.f32 %f1130, %f1129; + mov.f32 %f1131, %f1129; + mov.f32 %f1132, %f1129; + mov.f32 %f1133, %f1129; + +BB0_33: + cvt.rn.f32.s32 %f116, %r407; + max.f32 %f117, %f572, %f275; + mov.u32 %r409, %r177; + +BB0_34: + mad.lo.s32 %r179, %r410, 1664525, 1013904223; + and.b32 %r180, %r179, 16777215; + cvt.rn.f32.u32 %f574, %r180; + fma.rn.f32 %f575, %f574, 0f33800000, %f116; + mul.f32 %f123, %f104, %f575; + mad.lo.s32 %r410, %r179, 1664525, 1013904223; + and.b32 %r181, %r410, 16777215; + cvt.rn.f32.u32 %f576, %r181; + cvt.rn.f32.s32 %f577, %r409; + fma.rn.f32 %f578, %f576, 0f33800000, %f577; + mul.f32 %f579, %f104, %f578; + mul.f32 %f580, %f123, %f123; + sub.f32 %f582, %f539, %f580; + mov.f32 %f583, 0f00000000; + max.f32 %f584, %f583, %f582; + sqrt.rn.f32 %f124, %f584; + mul.f32 %f1140, %f579, 0f40C90FDB; + abs.f32 %f126, %f1140; + setp.neu.f32 %p47, %f126, 0f7F800000; + mov.f32 %f1134, %f1140; + @%p47 bra BB0_36; + + mul.rn.f32 %f1134, %f1140, %f583; + +BB0_36: + mul.f32 %f586, %f1134, 0f3F22F983; + cvt.rni.s32.f32 %r420, %f586; + cvt.rn.f32.s32 %f587, %r420; + neg.f32 %f588, %f587; + mov.f32 %f589, 0f3FC90FDA; + fma.rn.f32 %f590, %f588, %f589, %f1134; + mov.f32 %f591, 0f33A22168; + fma.rn.f32 %f592, %f588, %f591, %f590; + mov.f32 %f593, 0f27C234C5; + fma.rn.f32 %f1135, %f588, %f593, %f592; + abs.f32 %f594, %f1134; + setp.leu.f32 %p48, %f594, 0f47CE4780; + @%p48 bra BB0_47; + + mov.b32 %r25, %f1134; + shr.u32 %r26, %r25, 23; + shl.b32 %r184, %r25, 8; + or.b32 %r27, %r184, -2147483648; + mov.u32 %r411, 0; + mov.u64 %rd288, 0; + mov.u64 %rd287, %rd5; + mov.u32 %r412, %r411; + +BB0_38: + .pragma "nounroll"; + shl.b64 %rd85, %rd288, 2; + mov.u64 %rd86, __cudart_i2opi_f; + add.s64 %rd87, %rd86, %rd85; + ld.const.u32 %r187, [%rd87]; + // inline asm + { + mad.lo.cc.u32 %r185, %r187, %r27, %r412; + madc.hi.u32 %r412, %r187, %r27, 0; + } + // inline asm + st.local.u32 [%rd287], %r185; + add.s32 %r411, %r411, 1; + cvt.s64.s32 %rd288, %r411; + mul.wide.s32 %rd88, %r411, 4; + add.s64 %rd287, %rd5, %rd88; + setp.ne.s32 %p49, %r411, 6; + @%p49 bra BB0_38; + + and.b32 %r190, %r26, 255; + add.s32 %r191, %r190, -128; + shr.u32 %r192, %r191, 5; + and.b32 %r32, %r25, -2147483648; + st.local.u32 [%rd5+24], %r412; + mov.u32 %r193, 6; + sub.s32 %r194, %r193, %r192; + mul.wide.s32 %rd89, %r194, 4; + add.s64 %rd12, %rd5, %rd89; + ld.local.u32 %r413, [%rd12]; + ld.local.u32 %r414, [%rd12+-4]; + and.b32 %r35, %r26, 31; + setp.eq.s32 %p50, %r35, 0; + @%p50 bra BB0_41; + + mov.u32 %r195, 32; + sub.s32 %r196, %r195, %r35; + shr.u32 %r197, %r414, %r196; + shl.b32 %r198, %r413, %r35; + add.s32 %r413, %r197, %r198; + ld.local.u32 %r199, [%rd12+-8]; + shr.u32 %r200, %r199, %r196; + shl.b32 %r201, %r414, %r35; + add.s32 %r414, %r200, %r201; + +BB0_41: + shr.u32 %r202, %r414, 30; + shl.b32 %r203, %r413, 2; + add.s32 %r415, %r202, %r203; + shl.b32 %r41, %r414, 2; + shr.u32 %r204, %r415, 31; + shr.u32 %r205, %r413, 30; + add.s32 %r42, %r204, %r205; + setp.eq.s32 %p51, %r204, 0; + @%p51 bra BB0_42; + bra.uni BB0_43; + +BB0_42: + mov.u32 %r416, %r32; + mov.u32 %r417, %r41; + bra.uni BB0_44; + +BB0_43: + not.b32 %r206, %r415; + neg.s32 %r417, %r41; + setp.eq.s32 %p52, %r41, 0; + selp.u32 %r207, 1, 0, %p52; + add.s32 %r415, %r207, %r206; + xor.b32 %r416, %r32, -2147483648; + +BB0_44: + clz.b32 %r419, %r415; + setp.eq.s32 %p53, %r419, 0; + shl.b32 %r208, %r415, %r419; + mov.u32 %r209, 32; + sub.s32 %r210, %r209, %r419; + shr.u32 %r211, %r417, %r210; + add.s32 %r212, %r211, %r208; + selp.b32 %r50, %r415, %r212, %p53; + mov.u32 %r213, -921707870; + mul.hi.u32 %r418, %r50, %r213; + setp.eq.s32 %p54, %r32, 0; + neg.s32 %r214, %r42; + selp.b32 %r420, %r42, %r214, %p54; + setp.lt.s32 %p55, %r418, 1; + @%p55 bra BB0_46; + + mul.lo.s32 %r215, %r50, -921707870; + shr.u32 %r216, %r215, 31; + shl.b32 %r217, %r418, 1; + add.s32 %r418, %r216, %r217; + add.s32 %r419, %r419, 1; + +BB0_46: + mov.u32 %r218, 126; + sub.s32 %r219, %r218, %r419; + shl.b32 %r220, %r219, 23; + add.s32 %r221, %r418, 1; + shr.u32 %r222, %r221, 7; + add.s32 %r223, %r222, 1; + shr.u32 %r224, %r223, 1; + add.s32 %r225, %r224, %r220; + or.b32 %r226, %r225, %r416; + mov.b32 %f1135, %r226; + +BB0_47: + mul.rn.f32 %f132, %f1135, %f1135; + add.s32 %r58, %r420, 1; + and.b32 %r59, %r58, 1; + setp.eq.s32 %p56, %r59, 0; + @%p56 bra BB0_49; + bra.uni BB0_48; + +BB0_49: + mov.f32 %f597, 0f3C08839E; + mov.f32 %f598, 0fB94CA1F9; + fma.rn.f32 %f1136, %f598, %f132, %f597; + bra.uni BB0_50; + +BB0_48: + mov.f32 %f595, 0fBAB6061A; + mov.f32 %f596, 0f37CCF5CE; + fma.rn.f32 %f1136, %f596, %f132, %f595; + +BB0_50: + @%p56 bra BB0_52; + bra.uni BB0_51; + +BB0_52: + mov.f32 %f602, 0fBE2AAAA3; + fma.rn.f32 %f603, %f1136, %f132, %f602; + fma.rn.f32 %f1137, %f603, %f132, %f583; + bra.uni BB0_53; + +BB0_51: + mov.f32 %f599, 0f3D2AAAA5; + fma.rn.f32 %f600, %f1136, %f132, %f599; + mov.f32 %f601, 0fBF000000; + fma.rn.f32 %f1137, %f600, %f132, %f601; + +BB0_53: + fma.rn.f32 %f1138, %f1137, %f1135, %f1135; + @%p56 bra BB0_55; + + fma.rn.f32 %f1138, %f1137, %f132, %f539; + +BB0_55: + and.b32 %r227, %r58, 2; + setp.eq.s32 %p59, %r227, 0; + @%p59 bra BB0_57; + + mov.f32 %f607, 0fBF800000; + fma.rn.f32 %f1138, %f1138, %f607, %f583; + +BB0_57: + @%p47 bra BB0_59; + + mul.rn.f32 %f1140, %f1140, %f583; + +BB0_59: + mul.f32 %f609, %f1140, 0f3F22F983; + cvt.rni.s32.f32 %r430, %f609; + cvt.rn.f32.s32 %f610, %r430; + neg.f32 %f611, %f610; + fma.rn.f32 %f613, %f611, %f589, %f1140; + fma.rn.f32 %f615, %f611, %f591, %f613; + fma.rn.f32 %f1141, %f611, %f593, %f615; + abs.f32 %f617, %f1140; + setp.leu.f32 %p61, %f617, 0f47CE4780; + @%p61 bra BB0_70; + + mov.b32 %r61, %f1140; + shr.u32 %r62, %r61, 23; + shl.b32 %r230, %r61, 8; + or.b32 %r63, %r230, -2147483648; + mov.u32 %r421, 0; + mov.u64 %rd289, %rd5; + mov.u64 %rd290, %rd29; + mov.u32 %r422, %r421; + +BB0_61: + .pragma "nounroll"; + shl.b64 %rd91, %rd290, 2; + mov.u64 %rd92, __cudart_i2opi_f; + add.s64 %rd93, %rd92, %rd91; + ld.const.u32 %r233, [%rd93]; + // inline asm + { + mad.lo.cc.u32 %r231, %r233, %r63, %r422; + madc.hi.u32 %r422, %r233, %r63, 0; + } + // inline asm + st.local.u32 [%rd289], %r231; + add.s32 %r421, %r421, 1; + cvt.s64.s32 %rd290, %r421; + mul.wide.s32 %rd94, %r421, 4; + add.s64 %rd289, %rd5, %rd94; + setp.ne.s32 %p62, %r421, 6; + @%p62 bra BB0_61; + + and.b32 %r236, %r62, 255; + add.s32 %r237, %r236, -128; + shr.u32 %r238, %r237, 5; + and.b32 %r68, %r61, -2147483648; + st.local.u32 [%rd5+24], %r422; + mov.u32 %r239, 6; + sub.s32 %r240, %r239, %r238; + mul.wide.s32 %rd95, %r240, 4; + add.s64 %rd18, %rd5, %rd95; + ld.local.u32 %r423, [%rd18]; + ld.local.u32 %r424, [%rd18+-4]; + and.b32 %r71, %r62, 31; + setp.eq.s32 %p63, %r71, 0; + @%p63 bra BB0_64; + + mov.u32 %r241, 32; + sub.s32 %r242, %r241, %r71; + shr.u32 %r243, %r424, %r242; + shl.b32 %r244, %r423, %r71; + add.s32 %r423, %r243, %r244; + ld.local.u32 %r245, [%rd18+-8]; + shr.u32 %r246, %r245, %r242; + shl.b32 %r247, %r424, %r71; + add.s32 %r424, %r246, %r247; + +BB0_64: + shr.u32 %r248, %r424, 30; + shl.b32 %r249, %r423, 2; + add.s32 %r425, %r248, %r249; + shl.b32 %r77, %r424, 2; + shr.u32 %r250, %r425, 31; + shr.u32 %r251, %r423, 30; + add.s32 %r78, %r250, %r251; + setp.eq.s32 %p64, %r250, 0; + @%p64 bra BB0_65; + bra.uni BB0_66; + +BB0_65: + mov.u32 %r426, %r68; + mov.u32 %r427, %r77; + bra.uni BB0_67; + +BB0_66: + not.b32 %r252, %r425; + neg.s32 %r427, %r77; + setp.eq.s32 %p65, %r77, 0; + selp.u32 %r253, 1, 0, %p65; + add.s32 %r425, %r253, %r252; + xor.b32 %r426, %r68, -2147483648; + +BB0_67: + clz.b32 %r429, %r425; + setp.eq.s32 %p66, %r429, 0; + shl.b32 %r254, %r425, %r429; + mov.u32 %r255, 32; + sub.s32 %r256, %r255, %r429; + shr.u32 %r257, %r427, %r256; + add.s32 %r258, %r257, %r254; + selp.b32 %r86, %r425, %r258, %p66; + mov.u32 %r259, -921707870; + mul.hi.u32 %r428, %r86, %r259; + setp.eq.s32 %p67, %r68, 0; + neg.s32 %r260, %r78; + selp.b32 %r430, %r78, %r260, %p67; + setp.lt.s32 %p68, %r428, 1; + @%p68 bra BB0_69; + + mul.lo.s32 %r261, %r86, -921707870; + shr.u32 %r262, %r261, 31; + shl.b32 %r263, %r428, 1; + add.s32 %r428, %r262, %r263; + add.s32 %r429, %r429, 1; + +BB0_69: + mov.u32 %r264, 126; + sub.s32 %r265, %r264, %r429; + shl.b32 %r266, %r265, 23; + add.s32 %r267, %r428, 1; + shr.u32 %r268, %r267, 7; + add.s32 %r269, %r268, 1; + shr.u32 %r270, %r269, 1; + add.s32 %r271, %r270, %r266; + or.b32 %r272, %r271, %r426; + mov.b32 %f1141, %r272; + +BB0_70: + mul.rn.f32 %f149, %f1141, %f1141; + and.b32 %r94, %r430, 1; + setp.eq.s32 %p69, %r94, 0; + @%p69 bra BB0_72; + bra.uni BB0_71; + +BB0_72: + mov.f32 %f620, 0f3C08839E; + mov.f32 %f621, 0fB94CA1F9; + fma.rn.f32 %f1142, %f621, %f149, %f620; + bra.uni BB0_73; + +BB0_71: + mov.f32 %f618, 0fBAB6061A; + mov.f32 %f619, 0f37CCF5CE; + fma.rn.f32 %f1142, %f619, %f149, %f618; + +BB0_73: + @%p69 bra BB0_75; + bra.uni BB0_74; + +BB0_75: + mov.f32 %f625, 0fBE2AAAA3; + fma.rn.f32 %f626, %f1142, %f149, %f625; + fma.rn.f32 %f1143, %f626, %f149, %f583; + bra.uni BB0_76; + +BB0_74: + mov.f32 %f622, 0f3D2AAAA5; + fma.rn.f32 %f623, %f1142, %f149, %f622; + mov.f32 %f624, 0fBF000000; + fma.rn.f32 %f1143, %f623, %f149, %f624; + +BB0_76: + fma.rn.f32 %f1144, %f1143, %f1141, %f1141; + @%p69 bra BB0_78; + + fma.rn.f32 %f1144, %f1143, %f149, %f539; + +BB0_78: + and.b32 %r273, %r430, 2; + setp.eq.s32 %p72, %r273, 0; + @%p72 bra BB0_80; + + mov.f32 %f630, 0fBF800000; + fma.rn.f32 %f1144, %f1144, %f630, %f583; + +BB0_80: + mul.f32 %f639, %f124, %f1138; + mul.f32 %f640, %f124, %f1144; + mul.f32 %f641, %f101, %f640; + mul.f32 %f642, %f102, %f640; + mul.f32 %f643, %f103, %f640; + fma.rn.f32 %f644, %f110, %f639, %f641; + fma.rn.f32 %f645, %f109, %f639, %f642; + fma.rn.f32 %f646, %f108, %f639, %f643; + fma.rn.f32 %f634, %f1089, %f123, %f644; + fma.rn.f32 %f635, %f1090, %f123, %f645; + fma.rn.f32 %f636, %f1091, %f123, %f646; + mov.u32 %r275, 0; + st.local.u32 [%rd6], %r275; + ld.global.u32 %r274, [root]; + mov.f32 %f638, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r274, %f12, %f13, %f14, %f634, %f635, %f636, %r275, %f117, %f638, %rd83, %r108); + // inline asm + ld.local.f32 %f647, [%rd6]; + setp.lt.f32 %p73, %f647, 0f00000000; + selp.f32 %f648, 0f00000000, %f647, %p73; + selp.f32 %f649, 0f00000000, 0f3F800000, %p73; + add.f32 %f1129, %f1129, %f649; + mul.f32 %f650, %f24, %f635; + fma.rn.f32 %f651, %f22, %f634, %f650; + fma.rn.f32 %f652, %f26, %f636, %f651; + cvt.sat.f32.f32 %f653, %f652; + fma.rn.f32 %f1132, %f648, %f653, %f1132; + mul.f32 %f654, %f34, %f635; + fma.rn.f32 %f655, %f33, %f634, %f654; + fma.rn.f32 %f656, %f35, %f636, %f655; + cvt.sat.f32.f32 %f657, %f656; + fma.rn.f32 %f1131, %f648, %f657, %f1131; + mul.f32 %f658, %f43, %f635; + fma.rn.f32 %f659, %f42, %f634, %f658; + fma.rn.f32 %f660, %f44, %f636, %f659; + cvt.sat.f32.f32 %f661, %f660; + fma.rn.f32 %f1130, %f648, %f661, %f1130; + mul.f32 %f662, %f1090, %f635; + fma.rn.f32 %f663, %f1089, %f634, %f662; + fma.rn.f32 %f664, %f1091, %f636, %f663; + cvt.sat.f32.f32 %f665, %f664; + fma.rn.f32 %f1133, %f648, %f665, %f1133; + add.s32 %r409, %r409, 1; + setp.lt.s32 %p74, %r409, %r1; + @%p74 bra BB0_34; + + add.s32 %r407, %r407, 1; + setp.lt.s32 %p75, %r407, %r1; + @%p75 bra BB0_33; + +BB0_82: + mul.lo.s32 %r277, %r1, %r1; + cvt.rn.f32.s32 %f666, %r277; + div.rn.f32 %f667, %f1133, %f666; + div.rn.f32 %f1155, %f1129, %f666; + div.rn.f32 %f1152, %f1132, %f666; + div.rn.f32 %f1153, %f1131, %f666; + div.rn.f32 %f1154, %f1130, %f666; + add.f32 %f1151, %f667, %f667; + +BB0_83: + ld.global.u32 %r432, [imageEnabled]; + and.b32 %r278, %r432, 8; + setp.eq.s32 %p76, %r278, 0; + @%p76 bra BB0_96; + + mov.u32 %r391, 2; + cvt.u64.u32 %rd99, %r3; + cvt.u64.u32 %rd100, %r4; + mov.u64 %rd103, image_Mask; + cvta.global.u64 %rd98, %rd103; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd98, %r391, %r391, %rd99, %rd100, %rd29, %rd29); + // inline asm + mov.f32 %f670, 0f3E68BA2E; + cvt.rzi.f32.f32 %f671, %f670; + fma.rn.f32 %f672, %f671, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f181, %f672; + abs.f32 %f182, %f1155; + setp.lt.f32 %p77, %f182, 0f00800000; + mul.f32 %f673, %f182, 0f4B800000; + selp.f32 %f674, 0fC3170000, 0fC2FE0000, %p77; + selp.f32 %f675, %f673, %f182, %p77; + mov.b32 %r281, %f675; + and.b32 %r282, %r281, 8388607; + or.b32 %r283, %r282, 1065353216; + mov.b32 %f676, %r283; + shr.u32 %r284, %r281, 23; + cvt.rn.f32.u32 %f677, %r284; + add.f32 %f678, %f674, %f677; + setp.gt.f32 %p78, %f676, 0f3FB504F3; + mul.f32 %f679, %f676, 0f3F000000; + add.f32 %f680, %f678, 0f3F800000; + selp.f32 %f681, %f679, %f676, %p78; + selp.f32 %f682, %f680, %f678, %p78; + add.f32 %f683, %f681, 0fBF800000; + add.f32 %f669, %f681, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f668,%f669; + // inline asm + add.f32 %f684, %f683, %f683; + mul.f32 %f685, %f668, %f684; + mul.f32 %f686, %f685, %f685; + mov.f32 %f687, 0f3C4CAF63; + mov.f32 %f688, 0f3B18F0FE; + fma.rn.f32 %f689, %f688, %f686, %f687; + mov.f32 %f690, 0f3DAAAABD; + fma.rn.f32 %f691, %f689, %f686, %f690; + mul.rn.f32 %f692, %f691, %f686; + mul.rn.f32 %f693, %f692, %f685; + sub.f32 %f694, %f683, %f685; + neg.f32 %f695, %f685; + add.f32 %f696, %f694, %f694; + fma.rn.f32 %f697, %f695, %f683, %f696; + mul.rn.f32 %f698, %f668, %f697; + add.f32 %f699, %f693, %f685; + sub.f32 %f700, %f685, %f699; + add.f32 %f701, %f693, %f700; + add.f32 %f702, %f698, %f701; + add.f32 %f703, %f699, %f702; + sub.f32 %f704, %f699, %f703; + add.f32 %f705, %f702, %f704; + mov.f32 %f706, 0f3F317200; + mul.rn.f32 %f707, %f682, %f706; + mov.f32 %f708, 0f35BFBE8E; + mul.rn.f32 %f709, %f682, %f708; + add.f32 %f710, %f707, %f703; + sub.f32 %f711, %f707, %f710; + add.f32 %f712, %f703, %f711; + add.f32 %f713, %f705, %f712; + add.f32 %f714, %f709, %f713; + add.f32 %f715, %f710, %f714; + sub.f32 %f716, %f710, %f715; + add.f32 %f717, %f714, %f716; + mov.f32 %f718, 0f3EE8BA2E; + mul.rn.f32 %f719, %f718, %f715; + neg.f32 %f720, %f719; + fma.rn.f32 %f721, %f718, %f715, %f720; + fma.rn.f32 %f722, %f718, %f717, %f721; + mov.f32 %f723, 0f00000000; + fma.rn.f32 %f724, %f723, %f715, %f722; + add.rn.f32 %f725, %f719, %f724; + neg.f32 %f726, %f725; + add.rn.f32 %f727, %f719, %f726; + add.rn.f32 %f728, %f727, %f724; + mov.b32 %r285, %f725; + setp.eq.s32 %p79, %r285, 1118925336; + add.s32 %r286, %r285, -1; + mov.b32 %f729, %r286; + add.f32 %f730, %f728, 0f37000000; + selp.f32 %f731, %f729, %f725, %p79; + selp.f32 %f183, %f730, %f728, %p79; + mul.f32 %f732, %f731, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f733, %f732; + mov.f32 %f734, 0fBF317200; + fma.rn.f32 %f735, %f733, %f734, %f731; + mov.f32 %f736, 0fB5BFBE8E; + fma.rn.f32 %f737, %f733, %f736, %f735; + mul.f32 %f738, %f737, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f739, %f738; + add.f32 %f740, %f733, 0f00000000; + ex2.approx.f32 %f741, %f740; + mul.f32 %f742, %f739, %f741; + setp.lt.f32 %p80, %f731, 0fC2D20000; + selp.f32 %f743, 0f00000000, %f742, %p80; + setp.gt.f32 %p81, %f731, 0f42D20000; + selp.f32 %f1156, 0f7F800000, %f743, %p81; + setp.eq.f32 %p82, %f1156, 0f7F800000; + @%p82 bra BB0_86; + + fma.rn.f32 %f1156, %f1156, %f183, %f1156; + +BB0_86: + setp.lt.f32 %p83, %f1155, 0f00000000; + setp.eq.f32 %p84, %f181, 0f3F800000; + and.pred %p3, %p83, %p84; + mov.b32 %r287, %f1156; + xor.b32 %r288, %r287, -2147483648; + mov.b32 %f744, %r288; + selp.f32 %f1158, %f744, %f1156, %p3; + setp.eq.f32 %p85, %f1155, 0f00000000; + @%p85 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f747, %f1155, %f1155; + selp.f32 %f1158, %f747, 0f00000000, %p84; + bra.uni BB0_90; + +BB0_151: + mov.u64 %rd224, image_HDR; + cvta.global.u64 %rd219, %rd224; + mov.u32 %r367, 8; + mov.u64 %rd223, 0; + // inline asm + call (%rd218), _rt_buffer_get_64, (%rd219, %r107, %r367, %rd22, %rd23, %rd223, %rd223); + // inline asm + mov.f32 %f1058, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f1058;} + + // inline asm + mov.u16 %rs117, 0; + st.v4.u16 [%rd218], {%rs116, %rs116, %rs116, %rs117}; + +BB0_152: + ld.global.u32 %r368, [additive]; + setp.eq.s32 %p152, %r368, 0; + @%p152 bra BB0_154; + + mov.u64 %rd237, image_RNM0; + cvta.global.u64 %rd226, %rd237; + mov.u32 %r372, 8; + mov.u64 %rd236, 0; + // inline asm + call (%rd225), _rt_buffer_get_64, (%rd226, %r107, %r372, %rd22, %rd23, %rd236, %rd236); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd225]; + // inline asm + { cvt.f32.f16 %f1059, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1060, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1061, %rs126;} + + // inline asm + // inline asm + call (%rd231), _rt_buffer_get_64, (%rd226, %r107, %r372, %rd22, %rd23, %rd236, %rd236); + // inline asm + add.f32 %f1062, %f1059, 0f00000000; + add.f32 %f1063, %f1060, 0f00000000; + add.f32 %f1064, %f1061, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f1064;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f1063;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f1062;} + + // inline asm + mov.u16 %rs128, 0; + st.v4.u16 [%rd231], {%rs121, %rs122, %rs123, %rs128}; + bra.uni BB0_155; + +BB0_154: + mov.u64 %rd244, image_RNM0; + cvta.global.u64 %rd239, %rd244; + mov.u32 %r374, 8; + mov.u64 %rd243, 0; + // inline asm + call (%rd238), _rt_buffer_get_64, (%rd239, %r107, %r374, %rd22, %rd23, %rd243, %rd243); + // inline asm + mov.f32 %f1065, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs129, %f1065;} + + // inline asm + mov.u16 %rs130, 0; + st.v4.u16 [%rd238], {%rs129, %rs129, %rs129, %rs130}; + +BB0_155: + ld.global.u32 %r375, [additive]; + setp.eq.s32 %p153, %r375, 0; + @%p153 bra BB0_157; + + mov.u64 %rd257, image_RNM1; + cvta.global.u64 %rd246, %rd257; + mov.u32 %r379, 8; + mov.u64 %rd256, 0; + // inline asm + call (%rd245), _rt_buffer_get_64, (%rd246, %r107, %r379, %rd22, %rd23, %rd256, %rd256); + // inline asm + ld.v4.u16 {%rs137, %rs138, %rs139, %rs140}, [%rd245]; + // inline asm + { cvt.f32.f16 %f1066, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1067, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1068, %rs139;} + + // inline asm + // inline asm + call (%rd251), _rt_buffer_get_64, (%rd246, %r107, %r379, %rd22, %rd23, %rd256, %rd256); + // inline asm + add.f32 %f1069, %f1066, 0f00000000; + add.f32 %f1070, %f1067, 0f00000000; + add.f32 %f1071, %f1068, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs136, %f1071;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f1070;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f1069;} + + // inline asm + mov.u16 %rs141, 0; + st.v4.u16 [%rd251], {%rs134, %rs135, %rs136, %rs141}; + bra.uni BB0_158; + +BB0_157: + mov.u64 %rd264, image_RNM1; + cvta.global.u64 %rd259, %rd264; + mov.u32 %r381, 8; + mov.u64 %rd263, 0; + // inline asm + call (%rd258), _rt_buffer_get_64, (%rd259, %r107, %r381, %rd22, %rd23, %rd263, %rd263); + // inline asm + mov.f32 %f1072, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs142, %f1072;} + + // inline asm + mov.u16 %rs143, 0; + st.v4.u16 [%rd258], {%rs142, %rs142, %rs142, %rs143}; + +BB0_158: + ld.global.u32 %r382, [additive]; + setp.eq.s32 %p154, %r382, 0; + @%p154 bra BB0_160; + + mov.u64 %rd277, image_RNM2; + cvta.global.u64 %rd266, %rd277; + mov.u32 %r386, 8; + mov.u64 %rd276, 0; + // inline asm + call (%rd265), _rt_buffer_get_64, (%rd266, %r107, %r386, %rd22, %rd23, %rd276, %rd276); + // inline asm + ld.v4.u16 {%rs150, %rs151, %rs152, %rs153}, [%rd265]; + // inline asm + { cvt.f32.f16 %f1073, %rs150;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1074, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1075, %rs152;} + + // inline asm + // inline asm + call (%rd271), _rt_buffer_get_64, (%rd266, %r107, %r386, %rd22, %rd23, %rd276, %rd276); + // inline asm + add.f32 %f1076, %f1073, 0f00000000; + add.f32 %f1077, %f1074, 0f00000000; + add.f32 %f1078, %f1075, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs149, %f1078;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f1077;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs147, %f1076;} + + // inline asm + mov.u16 %rs154, 0; + st.v4.u16 [%rd271], {%rs147, %rs148, %rs149, %rs154}; + bra.uni BB0_161; + +BB0_160: + mov.u64 %rd284, image_RNM2; + cvta.global.u64 %rd279, %rd284; + mov.u32 %r388, 8; + mov.u64 %rd283, 0; + // inline asm + call (%rd278), _rt_buffer_get_64, (%rd279, %r107, %r388, %rd22, %rd23, %rd283, %rd283); + // inline asm + mov.f32 %f1079, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs155, %f1079;} + + // inline asm + mov.u16 %rs156, 0; + st.v4.u16 [%rd278], {%rs155, %rs155, %rs155, %rs156}; + bra.uni BB0_161; + +BB0_87: + setp.geu.f32 %p86, %f1155, 0f00000000; + @%p86 bra BB0_90; + + cvt.rzi.f32.f32 %f746, %f718; + setp.neu.f32 %p87, %f746, 0f3EE8BA2E; + selp.f32 %f1158, 0f7FFFFFFF, %f1158, %p87; + +BB0_90: + add.f32 %f748, %f182, 0f3EE8BA2E; + mov.b32 %r289, %f748; + setp.lt.s32 %p89, %r289, 2139095040; + @%p89 bra BB0_95; + + setp.gtu.f32 %p90, %f182, 0f7F800000; + @%p90 bra BB0_94; + bra.uni BB0_92; + +BB0_94: + add.f32 %f1158, %f1155, 0f3EE8BA2E; + bra.uni BB0_95; + +BB0_92: + setp.neu.f32 %p91, %f182, 0f7F800000; + @%p91 bra BB0_95; + + selp.f32 %f1158, 0fFF800000, 0f7F800000, %p3; + +BB0_95: + mul.f32 %f749, %f1158, 0f437F0000; + setp.eq.f32 %p92, %f1155, 0f3F800000; + selp.f32 %f750, 0f437F0000, %f749, %p92; + cvt.rzi.u32.f32 %r290, %f750; + cvt.u16.u32 %rs40, %r290; + mov.u16 %rs41, 255; + st.v2.u8 [%rd97], {%rs40, %rs41}; + ld.global.u32 %r432, [imageEnabled]; + +BB0_96: + ld.global.f32 %f751, [lightColor]; + mul.f32 %f194, %f1151, %f751; + ld.global.f32 %f752, [lightColor+4]; + mul.f32 %f195, %f1151, %f752; + ld.global.f32 %f753, [lightColor+8]; + mul.f32 %f196, %f1151, %f753; + and.b32 %r291, %r432, 1; + setp.eq.b32 %p93, %r291, 1; + @!%p93 bra BB0_131; + bra.uni BB0_97; + +BB0_97: + mov.f32 %f756, 0f3E666666; + cvt.rzi.f32.f32 %f757, %f756; + fma.rn.f32 %f758, %f757, 0fC0000000, 0f3EE66666; + abs.f32 %f197, %f758; + abs.f32 %f198, %f194; + setp.lt.f32 %p94, %f198, 0f00800000; + mul.f32 %f759, %f198, 0f4B800000; + selp.f32 %f760, 0fC3170000, 0fC2FE0000, %p94; + selp.f32 %f761, %f759, %f198, %p94; + mov.b32 %r292, %f761; + and.b32 %r293, %r292, 8388607; + or.b32 %r294, %r293, 1065353216; + mov.b32 %f762, %r294; + shr.u32 %r295, %r292, 23; + cvt.rn.f32.u32 %f763, %r295; + add.f32 %f764, %f760, %f763; + setp.gt.f32 %p95, %f762, 0f3FB504F3; + mul.f32 %f765, %f762, 0f3F000000; + add.f32 %f766, %f764, 0f3F800000; + selp.f32 %f767, %f765, %f762, %p95; + selp.f32 %f768, %f766, %f764, %p95; + add.f32 %f769, %f767, 0fBF800000; + add.f32 %f755, %f767, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f754,%f755; + // inline asm + add.f32 %f770, %f769, %f769; + mul.f32 %f771, %f754, %f770; + mul.f32 %f772, %f771, %f771; + mov.f32 %f773, 0f3C4CAF63; + mov.f32 %f774, 0f3B18F0FE; + fma.rn.f32 %f775, %f774, %f772, %f773; + mov.f32 %f776, 0f3DAAAABD; + fma.rn.f32 %f777, %f775, %f772, %f776; + mul.rn.f32 %f778, %f777, %f772; + mul.rn.f32 %f779, %f778, %f771; + sub.f32 %f780, %f769, %f771; + neg.f32 %f781, %f771; + add.f32 %f782, %f780, %f780; + fma.rn.f32 %f783, %f781, %f769, %f782; + mul.rn.f32 %f784, %f754, %f783; + add.f32 %f785, %f779, %f771; + sub.f32 %f786, %f771, %f785; + add.f32 %f787, %f779, %f786; + add.f32 %f788, %f784, %f787; + add.f32 %f789, %f785, %f788; + sub.f32 %f790, %f785, %f789; + add.f32 %f791, %f788, %f790; + mov.f32 %f792, 0f3F317200; + mul.rn.f32 %f793, %f768, %f792; + mov.f32 %f794, 0f35BFBE8E; + mul.rn.f32 %f795, %f768, %f794; + add.f32 %f796, %f793, %f789; + sub.f32 %f797, %f793, %f796; + add.f32 %f798, %f789, %f797; + add.f32 %f799, %f791, %f798; + add.f32 %f800, %f795, %f799; + add.f32 %f801, %f796, %f800; + sub.f32 %f802, %f796, %f801; + add.f32 %f803, %f800, %f802; + mov.f32 %f804, 0f3EE66666; + mul.rn.f32 %f805, %f804, %f801; + neg.f32 %f806, %f805; + fma.rn.f32 %f807, %f804, %f801, %f806; + fma.rn.f32 %f808, %f804, %f803, %f807; + mov.f32 %f809, 0f00000000; + fma.rn.f32 %f810, %f809, %f801, %f808; + add.rn.f32 %f811, %f805, %f810; + neg.f32 %f812, %f811; + add.rn.f32 %f813, %f805, %f812; + add.rn.f32 %f814, %f813, %f810; + mov.b32 %r296, %f811; + setp.eq.s32 %p96, %r296, 1118925336; + add.s32 %r297, %r296, -1; + mov.b32 %f815, %r297; + add.f32 %f816, %f814, 0f37000000; + selp.f32 %f817, %f815, %f811, %p96; + selp.f32 %f199, %f816, %f814, %p96; + mul.f32 %f818, %f817, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f819, %f818; + mov.f32 %f820, 0fBF317200; + fma.rn.f32 %f821, %f819, %f820, %f817; + mov.f32 %f822, 0fB5BFBE8E; + fma.rn.f32 %f823, %f819, %f822, %f821; + mul.f32 %f824, %f823, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f825, %f824; + add.f32 %f826, %f819, 0f00000000; + ex2.approx.f32 %f827, %f826; + mul.f32 %f828, %f825, %f827; + setp.lt.f32 %p97, %f817, 0fC2D20000; + selp.f32 %f829, 0f00000000, %f828, %p97; + setp.gt.f32 %p98, %f817, 0f42D20000; + selp.f32 %f1159, 0f7F800000, %f829, %p98; + setp.eq.f32 %p99, %f1159, 0f7F800000; + @%p99 bra BB0_99; + + fma.rn.f32 %f1159, %f1159, %f199, %f1159; + +BB0_99: + setp.lt.f32 %p100, %f194, 0f00000000; + setp.eq.f32 %p101, %f197, 0f3F800000; + and.pred %p4, %p100, %p101; + mov.b32 %r298, %f1159; + xor.b32 %r299, %r298, -2147483648; + mov.b32 %f830, %r299; + selp.f32 %f1161, %f830, %f1159, %p4; + setp.eq.f32 %p102, %f194, 0f00000000; + @%p102 bra BB0_102; + bra.uni BB0_100; + +BB0_102: + add.f32 %f833, %f194, %f194; + selp.f32 %f1161, %f833, 0f00000000, %p101; + bra.uni BB0_103; + +BB0_100: + setp.geu.f32 %p103, %f194, 0f00000000; + @%p103 bra BB0_103; + + cvt.rzi.f32.f32 %f832, %f804; + setp.neu.f32 %p104, %f832, 0f3EE66666; + selp.f32 %f1161, 0f7FFFFFFF, %f1161, %p104; + +BB0_103: + add.f32 %f834, %f198, 0f3EE66666; + mov.b32 %r300, %f834; + setp.lt.s32 %p106, %r300, 2139095040; + @%p106 bra BB0_108; + + setp.gtu.f32 %p107, %f198, 0f7F800000; + @%p107 bra BB0_107; + bra.uni BB0_105; + +BB0_107: + add.f32 %f1161, %f194, 0f3EE66666; + bra.uni BB0_108; + +BB0_105: + setp.neu.f32 %p108, %f198, 0f7F800000; + @%p108 bra BB0_108; + + selp.f32 %f1161, 0fFF800000, 0f7F800000, %p4; + +BB0_108: + setp.eq.f32 %p109, %f194, 0f3F800000; + selp.f32 %f210, 0f3F800000, %f1161, %p109; + abs.f32 %f211, %f195; + setp.lt.f32 %p110, %f211, 0f00800000; + mul.f32 %f837, %f211, 0f4B800000; + selp.f32 %f838, 0fC3170000, 0fC2FE0000, %p110; + selp.f32 %f839, %f837, %f211, %p110; + mov.b32 %r301, %f839; + and.b32 %r302, %r301, 8388607; + or.b32 %r303, %r302, 1065353216; + mov.b32 %f840, %r303; + shr.u32 %r304, %r301, 23; + cvt.rn.f32.u32 %f841, %r304; + add.f32 %f842, %f838, %f841; + setp.gt.f32 %p111, %f840, 0f3FB504F3; + mul.f32 %f843, %f840, 0f3F000000; + add.f32 %f844, %f842, 0f3F800000; + selp.f32 %f845, %f843, %f840, %p111; + selp.f32 %f846, %f844, %f842, %p111; + add.f32 %f847, %f845, 0fBF800000; + add.f32 %f836, %f845, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f835,%f836; + // inline asm + add.f32 %f848, %f847, %f847; + mul.f32 %f849, %f835, %f848; + mul.f32 %f850, %f849, %f849; + fma.rn.f32 %f853, %f774, %f850, %f773; + fma.rn.f32 %f855, %f853, %f850, %f776; + mul.rn.f32 %f856, %f855, %f850; + mul.rn.f32 %f857, %f856, %f849; + sub.f32 %f858, %f847, %f849; + neg.f32 %f859, %f849; + add.f32 %f860, %f858, %f858; + fma.rn.f32 %f861, %f859, %f847, %f860; + mul.rn.f32 %f862, %f835, %f861; + add.f32 %f863, %f857, %f849; + sub.f32 %f864, %f849, %f863; + add.f32 %f865, %f857, %f864; + add.f32 %f866, %f862, %f865; + add.f32 %f867, %f863, %f866; + sub.f32 %f868, %f863, %f867; + add.f32 %f869, %f866, %f868; + mul.rn.f32 %f871, %f846, %f792; + mul.rn.f32 %f873, %f846, %f794; + add.f32 %f874, %f871, %f867; + sub.f32 %f875, %f871, %f874; + add.f32 %f876, %f867, %f875; + add.f32 %f877, %f869, %f876; + add.f32 %f878, %f873, %f877; + add.f32 %f879, %f874, %f878; + sub.f32 %f880, %f874, %f879; + add.f32 %f881, %f878, %f880; + mul.rn.f32 %f883, %f804, %f879; + neg.f32 %f884, %f883; + fma.rn.f32 %f885, %f804, %f879, %f884; + fma.rn.f32 %f886, %f804, %f881, %f885; + fma.rn.f32 %f888, %f809, %f879, %f886; + add.rn.f32 %f889, %f883, %f888; + neg.f32 %f890, %f889; + add.rn.f32 %f891, %f883, %f890; + add.rn.f32 %f892, %f891, %f888; + mov.b32 %r305, %f889; + setp.eq.s32 %p112, %r305, 1118925336; + add.s32 %r306, %r305, -1; + mov.b32 %f893, %r306; + add.f32 %f894, %f892, 0f37000000; + selp.f32 %f895, %f893, %f889, %p112; + selp.f32 %f212, %f894, %f892, %p112; + mul.f32 %f896, %f895, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f897, %f896; + fma.rn.f32 %f899, %f897, %f820, %f895; + fma.rn.f32 %f901, %f897, %f822, %f899; + mul.f32 %f902, %f901, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f903, %f902; + add.f32 %f904, %f897, 0f00000000; + ex2.approx.f32 %f905, %f904; + mul.f32 %f906, %f903, %f905; + setp.lt.f32 %p113, %f895, 0fC2D20000; + selp.f32 %f907, 0f00000000, %f906, %p113; + setp.gt.f32 %p114, %f895, 0f42D20000; + selp.f32 %f1162, 0f7F800000, %f907, %p114; + setp.eq.f32 %p115, %f1162, 0f7F800000; + @%p115 bra BB0_110; + + fma.rn.f32 %f1162, %f1162, %f212, %f1162; + +BB0_110: + setp.lt.f32 %p116, %f195, 0f00000000; + and.pred %p5, %p116, %p101; + mov.b32 %r307, %f1162; + xor.b32 %r308, %r307, -2147483648; + mov.b32 %f908, %r308; + selp.f32 %f1164, %f908, %f1162, %p5; + setp.eq.f32 %p118, %f195, 0f00000000; + @%p118 bra BB0_113; + bra.uni BB0_111; + +BB0_113: + add.f32 %f911, %f195, %f195; + selp.f32 %f1164, %f911, 0f00000000, %p101; + bra.uni BB0_114; + +BB0_111: + setp.geu.f32 %p119, %f195, 0f00000000; + @%p119 bra BB0_114; + + cvt.rzi.f32.f32 %f910, %f804; + setp.neu.f32 %p120, %f910, 0f3EE66666; + selp.f32 %f1164, 0f7FFFFFFF, %f1164, %p120; + +BB0_114: + add.f32 %f912, %f211, 0f3EE66666; + mov.b32 %r309, %f912; + setp.lt.s32 %p122, %r309, 2139095040; + @%p122 bra BB0_119; + + setp.gtu.f32 %p123, %f211, 0f7F800000; + @%p123 bra BB0_118; + bra.uni BB0_116; + +BB0_118: + add.f32 %f1164, %f195, 0f3EE66666; + bra.uni BB0_119; + +BB0_116: + setp.neu.f32 %p124, %f211, 0f7F800000; + @%p124 bra BB0_119; + + selp.f32 %f1164, 0fFF800000, 0f7F800000, %p5; + +BB0_119: + setp.eq.f32 %p125, %f195, 0f3F800000; + selp.f32 %f223, 0f3F800000, %f1164, %p125; + abs.f32 %f224, %f196; + setp.lt.f32 %p126, %f224, 0f00800000; + mul.f32 %f915, %f224, 0f4B800000; + selp.f32 %f916, 0fC3170000, 0fC2FE0000, %p126; + selp.f32 %f917, %f915, %f224, %p126; + mov.b32 %r310, %f917; + and.b32 %r311, %r310, 8388607; + or.b32 %r312, %r311, 1065353216; + mov.b32 %f918, %r312; + shr.u32 %r313, %r310, 23; + cvt.rn.f32.u32 %f919, %r313; + add.f32 %f920, %f916, %f919; + setp.gt.f32 %p127, %f918, 0f3FB504F3; + mul.f32 %f921, %f918, 0f3F000000; + add.f32 %f922, %f920, 0f3F800000; + selp.f32 %f923, %f921, %f918, %p127; + selp.f32 %f924, %f922, %f920, %p127; + add.f32 %f925, %f923, 0fBF800000; + add.f32 %f914, %f923, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f913,%f914; + // inline asm + add.f32 %f926, %f925, %f925; + mul.f32 %f927, %f913, %f926; + mul.f32 %f928, %f927, %f927; + fma.rn.f32 %f931, %f774, %f928, %f773; + fma.rn.f32 %f933, %f931, %f928, %f776; + mul.rn.f32 %f934, %f933, %f928; + mul.rn.f32 %f935, %f934, %f927; + sub.f32 %f936, %f925, %f927; + neg.f32 %f937, %f927; + add.f32 %f938, %f936, %f936; + fma.rn.f32 %f939, %f937, %f925, %f938; + mul.rn.f32 %f940, %f913, %f939; + add.f32 %f941, %f935, %f927; + sub.f32 %f942, %f927, %f941; + add.f32 %f943, %f935, %f942; + add.f32 %f944, %f940, %f943; + add.f32 %f945, %f941, %f944; + sub.f32 %f946, %f941, %f945; + add.f32 %f947, %f944, %f946; + mul.rn.f32 %f949, %f924, %f792; + mul.rn.f32 %f951, %f924, %f794; + add.f32 %f952, %f949, %f945; + sub.f32 %f953, %f949, %f952; + add.f32 %f954, %f945, %f953; + add.f32 %f955, %f947, %f954; + add.f32 %f956, %f951, %f955; + add.f32 %f957, %f952, %f956; + sub.f32 %f958, %f952, %f957; + add.f32 %f959, %f956, %f958; + mul.rn.f32 %f961, %f804, %f957; + neg.f32 %f962, %f961; + fma.rn.f32 %f963, %f804, %f957, %f962; + fma.rn.f32 %f964, %f804, %f959, %f963; + fma.rn.f32 %f966, %f809, %f957, %f964; + add.rn.f32 %f967, %f961, %f966; + neg.f32 %f968, %f967; + add.rn.f32 %f969, %f961, %f968; + add.rn.f32 %f970, %f969, %f966; + mov.b32 %r314, %f967; + setp.eq.s32 %p128, %r314, 1118925336; + add.s32 %r315, %r314, -1; + mov.b32 %f971, %r315; + add.f32 %f972, %f970, 0f37000000; + selp.f32 %f973, %f971, %f967, %p128; + selp.f32 %f225, %f972, %f970, %p128; + mul.f32 %f974, %f973, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f975, %f974; + fma.rn.f32 %f977, %f975, %f820, %f973; + fma.rn.f32 %f979, %f975, %f822, %f977; + mul.f32 %f980, %f979, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f981, %f980; + add.f32 %f982, %f975, 0f00000000; + ex2.approx.f32 %f983, %f982; + mul.f32 %f984, %f981, %f983; + setp.lt.f32 %p129, %f973, 0fC2D20000; + selp.f32 %f985, 0f00000000, %f984, %p129; + setp.gt.f32 %p130, %f973, 0f42D20000; + selp.f32 %f1165, 0f7F800000, %f985, %p130; + setp.eq.f32 %p131, %f1165, 0f7F800000; + @%p131 bra BB0_121; + + fma.rn.f32 %f1165, %f1165, %f225, %f1165; + +BB0_121: + setp.lt.f32 %p132, %f196, 0f00000000; + and.pred %p6, %p132, %p101; + mov.b32 %r316, %f1165; + xor.b32 %r317, %r316, -2147483648; + mov.b32 %f986, %r317; + selp.f32 %f1167, %f986, %f1165, %p6; + setp.eq.f32 %p134, %f196, 0f00000000; + @%p134 bra BB0_124; + bra.uni BB0_122; + +BB0_124: + add.f32 %f989, %f196, %f196; + selp.f32 %f1167, %f989, 0f00000000, %p101; + bra.uni BB0_125; + +BB0_122: + setp.geu.f32 %p135, %f196, 0f00000000; + @%p135 bra BB0_125; + + cvt.rzi.f32.f32 %f988, %f804; + setp.neu.f32 %p136, %f988, 0f3EE66666; + selp.f32 %f1167, 0f7FFFFFFF, %f1167, %p136; + +BB0_125: + add.f32 %f990, %f224, 0f3EE66666; + mov.b32 %r318, %f990; + setp.lt.s32 %p138, %r318, 2139095040; + @%p138 bra BB0_130; + + setp.gtu.f32 %p139, %f224, 0f7F800000; + @%p139 bra BB0_129; + bra.uni BB0_127; + +BB0_129: + add.f32 %f1167, %f196, 0f3EE66666; + bra.uni BB0_130; + +BB0_127: + setp.neu.f32 %p140, %f224, 0f7F800000; + @%p140 bra BB0_130; + + selp.f32 %f1167, 0fFF800000, 0f7F800000, %p6; + +BB0_130: + mov.u32 %r392, 2; + setp.eq.f32 %p141, %f196, 0f3F800000; + selp.f32 %f991, 0f3F800000, %f1167, %p141; + cvt.u64.u32 %rd107, %r4; + cvt.u64.u32 %rd106, %r3; + mov.u64 %rd110, image; + cvta.global.u64 %rd105, %rd110; + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd105, %r392, %r108, %rd106, %rd107, %rd29, %rd29); + // inline asm + cvt.sat.f32.f32 %f992, %f991; + mul.f32 %f993, %f992, 0f437FFD71; + cvt.rzi.u32.f32 %r321, %f993; + cvt.sat.f32.f32 %f994, %f223; + mul.f32 %f995, %f994, 0f437FFD71; + cvt.rzi.u32.f32 %r322, %f995; + cvt.sat.f32.f32 %f996, %f210; + mul.f32 %f997, %f996, 0f437FFD71; + cvt.rzi.u32.f32 %r323, %f997; + cvt.u16.u32 %rs42, %r321; + cvt.u16.u32 %rs43, %r323; + cvt.u16.u32 %rs44, %r322; + mov.u16 %rs45, 255; + st.v4.u8 [%rd104], {%rs42, %rs44, %rs43, %rs45}; + ld.global.u32 %r432, [imageEnabled]; + +BB0_131: + cvt.u64.u32 %rd20, %r3; + cvt.u64.u32 %rd21, %r4; + and.b32 %r324, %r432, 4; + setp.eq.s32 %p142, %r324, 0; + @%p142 bra BB0_135; + + ld.global.u32 %r325, [additive]; + setp.eq.s32 %p143, %r325, 0; + // inline asm + { cvt.rn.f16.f32 %rs46, %f539;} + + // inline asm + @%p143 bra BB0_134; + + mov.u32 %r393, 2; + mov.u64 %rd123, image_HDR; + cvta.global.u64 %rd112, %rd123; + mov.u32 %r329, 8; + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd112, %r393, %r329, %rd20, %rd21, %rd29, %rd29); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd111]; + // inline asm + { cvt.f32.f16 %f999, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1000, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1001, %rs55;} + + // inline asm + // inline asm + call (%rd117), _rt_buffer_get_64, (%rd112, %r393, %r329, %rd20, %rd21, %rd29, %rd29); + // inline asm + add.f32 %f1002, %f194, %f999; + add.f32 %f1003, %f195, %f1000; + add.f32 %f1004, %f196, %f1001; + // inline asm + { cvt.rn.f16.f32 %rs52, %f1004;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f1003;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f1002;} + + // inline asm + st.v4.u16 [%rd117], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_135; + +BB0_134: + mov.u32 %r394, 2; + mov.u64 %rd130, image_HDR; + cvta.global.u64 %rd125, %rd130; + mov.u32 %r331, 8; + // inline asm + call (%rd124), _rt_buffer_get_64, (%rd125, %r394, %r331, %rd20, %rd21, %rd29, %rd29); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f196;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f195;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f194;} + + // inline asm + st.v4.u16 [%rd124], {%rs57, %rs58, %rs59, %rs46}; + +BB0_135: + add.f32 %f1009, %f1152, %f1153; + add.f32 %f1010, %f1009, %f1154; + mul.f32 %f1011, %f1010, 0f3F13CD3A; + div.rn.f32 %f1012, %f1151, %f1011; + setp.eq.f32 %p144, %f1151, 0f00000000; + selp.f32 %f1013, 0f00000000, %f1012, %p144; + mul.f32 %f1014, %f1152, %f1013; + mul.f32 %f1015, %f1153, %f1013; + mul.f32 %f1016, %f1154, %f1013; + ld.global.f32 %f1017, [lightColor]; + mul.f32 %f236, %f1017, %f1014; + ld.global.f32 %f1018, [lightColor+4]; + mul.f32 %f237, %f1018, %f1014; + ld.global.f32 %f1019, [lightColor+8]; + mul.f32 %f238, %f1014, %f1019; + mul.f32 %f239, %f1017, %f1015; + mul.f32 %f240, %f1018, %f1015; + mul.f32 %f241, %f1015, %f1019; + mul.f32 %f242, %f1016, %f1017; + mul.f32 %f243, %f1016, %f1018; + mul.f32 %f244, %f1016, %f1019; + ld.global.u32 %r332, [additive]; + setp.eq.s32 %p145, %r332, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f539;} + + // inline asm + @%p145 bra BB0_137; + + mov.u32 %r395, 2; + mov.u64 %rd143, image_RNM0; + cvta.global.u64 %rd132, %rd143; + mov.u32 %r336, 8; + // inline asm + call (%rd131), _rt_buffer_get_64, (%rd132, %r395, %r336, %rd20, %rd21, %rd29, %rd29); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd131]; + // inline asm + { cvt.f32.f16 %f1020, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1021, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1022, %rs69;} + + // inline asm + // inline asm + call (%rd137), _rt_buffer_get_64, (%rd132, %r395, %r336, %rd20, %rd21, %rd29, %rd29); + // inline asm + add.f32 %f1023, %f236, %f1020; + add.f32 %f1024, %f237, %f1021; + add.f32 %f1025, %f238, %f1022; + // inline asm + { cvt.rn.f16.f32 %rs66, %f1025;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f1024;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f1023;} + + // inline asm + st.v4.u16 [%rd137], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_138; + +BB0_137: + mov.u32 %r400, 2; + mov.u64 %rd150, image_RNM0; + cvta.global.u64 %rd145, %rd150; + mov.u32 %r338, 8; + // inline asm + call (%rd144), _rt_buffer_get_64, (%rd145, %r400, %r338, %rd20, %rd21, %rd29, %rd29); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f238;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f237;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f236;} + + // inline asm + st.v4.u16 [%rd144], {%rs71, %rs72, %rs73, %rs60}; + +BB0_138: + ld.global.u32 %r339, [additive]; + setp.eq.s32 %p146, %r339, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f539;} + + // inline asm + @%p146 bra BB0_140; + + mov.u32 %r396, 2; + mov.u64 %rd163, image_RNM1; + cvta.global.u64 %rd152, %rd163; + mov.u32 %r343, 8; + // inline asm + call (%rd151), _rt_buffer_get_64, (%rd152, %r396, %r343, %rd20, %rd21, %rd29, %rd29); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd151]; + // inline asm + { cvt.f32.f16 %f1030, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1031, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1032, %rs83;} + + // inline asm + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd152, %r396, %r343, %rd20, %rd21, %rd29, %rd29); + // inline asm + add.f32 %f1033, %f239, %f1030; + add.f32 %f1034, %f240, %f1031; + add.f32 %f1035, %f241, %f1032; + // inline asm + { cvt.rn.f16.f32 %rs80, %f1035;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f1034;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f1033;} + + // inline asm + st.v4.u16 [%rd157], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_141; + +BB0_140: + mov.u32 %r399, 2; + mov.u64 %rd170, image_RNM1; + cvta.global.u64 %rd165, %rd170; + mov.u32 %r345, 8; + // inline asm + call (%rd164), _rt_buffer_get_64, (%rd165, %r399, %r345, %rd20, %rd21, %rd29, %rd29); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f241;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f240;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f239;} + + // inline asm + st.v4.u16 [%rd164], {%rs85, %rs86, %rs87, %rs74}; + +BB0_141: + ld.global.u32 %r346, [additive]; + setp.eq.s32 %p147, %r346, 0; + // inline asm + { cvt.rn.f16.f32 %rs88, %f539;} + + // inline asm + @%p147 bra BB0_143; + + mov.u32 %r397, 2; + mov.u64 %rd183, image_RNM2; + cvta.global.u64 %rd172, %rd183; + mov.u32 %r350, 8; + // inline asm + call (%rd171), _rt_buffer_get_64, (%rd172, %r397, %r350, %rd20, %rd21, %rd29, %rd29); + // inline asm + ld.v4.u16 {%rs95, %rs96, %rs97, %rs98}, [%rd171]; + // inline asm + { cvt.f32.f16 %f1040, %rs95;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1041, %rs96;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1042, %rs97;} + + // inline asm + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd172, %r397, %r350, %rd20, %rd21, %rd29, %rd29); + // inline asm + add.f32 %f1043, %f242, %f1040; + add.f32 %f1044, %f243, %f1041; + add.f32 %f1045, %f244, %f1042; + // inline asm + { cvt.rn.f16.f32 %rs94, %f1045;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs93, %f1044;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs92, %f1043;} + + // inline asm + st.v4.u16 [%rd177], {%rs92, %rs93, %rs94, %rs88}; + bra.uni BB0_161; + +BB0_143: + mov.u32 %r398, 2; + mov.u64 %rd190, image_RNM2; + cvta.global.u64 %rd185, %rd190; + mov.u32 %r352, 8; + // inline asm + call (%rd184), _rt_buffer_get_64, (%rd185, %r398, %r352, %rd20, %rd21, %rd29, %rd29); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs101, %f244;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs100, %f243;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f242;} + + // inline asm + st.v4.u16 [%rd184], {%rs99, %rs100, %rs101, %rs88}; + +BB0_161: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx.meta new file mode 100644 index 00000000..de3789a8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: af8693c7623b99b49b07c2f1bbe20a19 +timeCreated: 1537530274 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightSH.ptx new file mode 100644 index 00000000..4b53d8d0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightSH.ptx @@ -0,0 +1,2376 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[36]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<151>; + .reg .b16 %rs<152>; + .reg .f32 %f<1034>; + .reg .b32 %r<415>; + .reg .b64 %rd<308>; + + + mov.u64 %rd307, __local_depot0; + cvta.local.u64 %SP, %rd307; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r103, %r104}, [pixelID]; + cvt.u64.u32 %rd23, %r103; + cvt.u64.u32 %rd24, %r104; + mov.u64 %rd27, uvnormal; + cvta.global.u64 %rd22, %rd27; + mov.u32 %r101, 2; + mov.u32 %r102, 4; + mov.u64 %rd26, 0; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd22, %r101, %r102, %rd23, %rd24, %rd26, %rd26); + // inline asm + ld.u32 %r2, [%rd21]; + shr.u32 %r107, %r2, 16; + cvt.u16.u32 %rs1, %r107; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r2; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p7, %rs9, 0; + mov.f32 %f956, 0f00000000; + mov.f32 %f957, %f956; + mov.f32 %f958, %f956; + @%p7 bra BB0_2; + + ld.u8 %rs10, [%rd21+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f231, %rs12; + div.rn.f32 %f232, %f231, 0f437F0000; + fma.rn.f32 %f233, %f232, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f234, %rs10; + div.rn.f32 %f235, %f234, 0f437F0000; + fma.rn.f32 %f236, %f235, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f237, %rs7; + div.rn.f32 %f238, %f237, 0f437F0000; + fma.rn.f32 %f239, %f238, 0f40000000, 0fBF800000; + mul.f32 %f240, %f236, %f236; + fma.rn.f32 %f241, %f233, %f233, %f240; + fma.rn.f32 %f242, %f239, %f239, %f241; + sqrt.rn.f32 %f243, %f242; + rcp.rn.f32 %f244, %f243; + mul.f32 %f956, %f233, %f244; + mul.f32 %f957, %f236, %f244; + mul.f32 %f958, %f239, %f244; + +BB0_2: + ld.global.v2.u32 {%r108, %r109}, [pixelID]; + ld.global.v2.u32 {%r111, %r112}, [tileInfo]; + add.s32 %r3, %r108, %r111; + add.s32 %r4, %r109, %r112; + setp.eq.f32 %p8, %f957, 0f00000000; + setp.eq.f32 %p9, %f956, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f958, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_141; + bra.uni BB0_3; + +BB0_141: + ld.global.u32 %r414, [imageEnabled]; + and.b32 %r336, %r414, 1; + setp.eq.b32 %p142, %r336, 1; + @!%p142 bra BB0_143; + bra.uni BB0_142; + +BB0_142: + cvt.u64.u32 %rd189, %r3; + cvt.u64.u32 %rd190, %r4; + mov.u64 %rd193, image; + cvta.global.u64 %rd188, %rd193; + mov.u64 %rd192, 0; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r101, %r102, %rd189, %rd190, %rd192, %rd192); + // inline asm + mov.u16 %rs84, 0; + st.v4.u8 [%rd187], {%rs84, %rs84, %rs84, %rs84}; + ld.global.u32 %r414, [imageEnabled]; + +BB0_143: + and.b32 %r339, %r414, 8; + setp.eq.s32 %p143, %r339, 0; + @%p143 bra BB0_145; + + cvt.u64.u32 %rd197, %r4; + cvt.u64.u32 %rd196, %r3; + mov.u64 %rd200, image_Mask; + cvta.global.u64 %rd195, %rd200; + mov.u64 %rd199, 0; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r101, %r101, %rd196, %rd197, %rd199, %rd199); + // inline asm + mov.f32 %f911, 0f00000000; + cvt.rzi.u32.f32 %r342, %f911; + cvt.u16.u32 %rs85, %r342; + mov.u16 %rs86, 0; + st.v2.u8 [%rd194], {%rs85, %rs86}; + ld.global.u32 %r414, [imageEnabled]; + +BB0_145: + cvt.u64.u32 %rd19, %r3; + cvt.u64.u32 %rd20, %r4; + and.b32 %r343, %r414, 4; + setp.eq.s32 %p144, %r343, 0; + @%p144 bra BB0_149; + + ld.global.u32 %r344, [additive]; + setp.eq.s32 %p145, %r344, 0; + @%p145 bra BB0_148; + + mov.u64 %rd213, image_HDR; + cvta.global.u64 %rd202, %rd213; + mov.u32 %r348, 8; + mov.u64 %rd212, 0; + // inline asm + call (%rd201), _rt_buffer_get_64, (%rd202, %r101, %r348, %rd19, %rd20, %rd212, %rd212); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd201]; + // inline asm + { cvt.f32.f16 %f912, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f913, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f914, %rs95;} + + // inline asm + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd202, %r101, %r348, %rd19, %rd20, %rd212, %rd212); + // inline asm + add.f32 %f915, %f912, 0f00000000; + add.f32 %f916, %f913, 0f00000000; + add.f32 %f917, %f914, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs92, %f917;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f916;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f915;} + + // inline asm + mov.u16 %rs97, 0; + st.v4.u16 [%rd207], {%rs90, %rs91, %rs92, %rs97}; + bra.uni BB0_149; + +BB0_3: + ld.global.v2.u32 {%r121, %r122}, [pixelID]; + cvt.u64.u32 %rd30, %r121; + cvt.u64.u32 %rd31, %r122; + mov.u64 %rd40, uvpos; + cvta.global.u64 %rd29, %rd40; + mov.u32 %r117, 12; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd29, %r101, %r117, %rd30, %rd31, %rd26, %rd26); + // inline asm + ld.f32 %f9, [%rd28+8]; + ld.f32 %f8, [%rd28+4]; + ld.f32 %f7, [%rd28]; + mul.f32 %f251, %f7, 0f3456BF95; + mul.f32 %f252, %f8, 0f3456BF95; + mul.f32 %f253, %f9, 0f3456BF95; + abs.f32 %f10, %f956; + div.rn.f32 %f254, %f251, %f10; + abs.f32 %f255, %f957; + div.rn.f32 %f256, %f252, %f255; + abs.f32 %f11, %f958; + div.rn.f32 %f257, %f253, %f11; + abs.f32 %f258, %f254; + abs.f32 %f259, %f256; + abs.f32 %f260, %f257; + mov.f32 %f261, 0f38D1B717; + max.f32 %f262, %f258, %f261; + max.f32 %f263, %f259, %f261; + max.f32 %f264, %f260, %f261; + fma.rn.f32 %f12, %f956, %f262, %f7; + fma.rn.f32 %f13, %f957, %f263, %f8; + fma.rn.f32 %f14, %f958, %f264, %f9; + ld.global.v2.u32 {%r125, %r126}, [pixelID]; + cvt.u64.u32 %rd36, %r125; + cvt.u64.u32 %rd37, %r126; + mov.u64 %rd41, rnd_seeds; + cvta.global.u64 %rd35, %rd41; + // inline asm + call (%rd34), _rt_buffer_get_64, (%rd35, %r101, %r102, %rd36, %rd37, %rd26, %rd26); + // inline asm + ld.u32 %r129, [%rd34]; + mad.lo.s32 %r5, %r129, 1664525, 1013904223; + ld.global.u32 %r130, [lightMeshBufferSize]; + setp.eq.s32 %p14, %r130, 0; + mov.pred %p13, 0; + mov.f32 %f20, 0f00000000; + mov.u32 %r7, 0; + @%p14 bra BB0_4; + + ld.global.f32 %f15, [lightPointSize]; + mul.f32 %f16, %f12, 0f3456BF95; + mul.f32 %f17, %f13, 0f3456BF95; + mul.f32 %f18, %f14, 0f3456BF95; + and.b32 %r133, %r5, 16777215; + cvt.rn.f32.u32 %f271, %r133; + mul.f32 %f272, %f271, 0fB3800000; + fma.rn.f32 %f19, %f272, 0f3F333333, 0f3F800000; + mov.f32 %f20, 0f00000000; + mov.u32 %r383, 0; + abs.f32 %f394, %f17; + abs.f32 %f395, %f16; + max.f32 %f396, %f395, %f394; + abs.f32 %f397, %f18; + max.f32 %f398, %f396, %f397; + mov.u32 %r7, %r383; + mov.f32 %f21, %f20; + mov.f32 %f22, %f20; + mov.f32 %f23, %f20; + mov.f32 %f24, %f20; + mov.f32 %f25, %f20; + +BB0_6: + shl.b32 %r8, %r383, 1; + cvt.s64.s32 %rd44, %r8; + mov.u64 %rd48, lightMeshBuffer; + cvta.global.u64 %rd43, %rd48; + mov.u32 %r134, 1; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd43, %r134, %r117, %rd44, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f273, [%rd42]; + sub.f32 %f274, %f273, %f7; + ld.f32 %f275, [%rd42+4]; + sub.f32 %f276, %f275, %f8; + ld.f32 %f277, [%rd42+8]; + sub.f32 %f278, %f277, %f9; + mul.f32 %f279, %f276, %f276; + fma.rn.f32 %f280, %f274, %f274, %f279; + fma.rn.f32 %f281, %f278, %f278, %f280; + sqrt.rn.f32 %f26, %f281; + rcp.rn.f32 %f282, %f26; + mul.f32 %f27, %f274, %f282; + mul.f32 %f28, %f276, %f282; + mul.f32 %f29, %f278, %f282; + mul.f32 %f283, %f957, %f28; + fma.rn.f32 %f284, %f956, %f27, %f283; + fma.rn.f32 %f30, %f958, %f29, %f284; + setp.leu.f32 %p15, %f30, 0f00000000; + @%p15 bra BB0_22; + + setp.ne.s32 %p17, %r1, 0; + mul.f32 %f285, %f26, %f26; + mul.f32 %f286, %f285, 0f40C90FDB; + div.rn.f32 %f287, %f15, %f286; + add.f32 %f31, %f287, %f287; + setp.gt.f32 %p18, %f31, %f19; + and.pred %p19, %p17, %p18; + mov.pred %p150, -1; + @%p19 bra BB0_24; + + ld.global.f32 %f290, [lightInvCutoff]; + mul.f32 %f32, %f26, %f290; + mov.f32 %f294, 0f40800000; + abs.f32 %f34, %f32; + setp.lt.f32 %p20, %f34, 0f00800000; + mul.f32 %f296, %f34, 0f4B800000; + selp.f32 %f297, 0fC3170000, 0fC2FE0000, %p20; + selp.f32 %f298, %f296, %f34, %p20; + mov.b32 %r136, %f298; + and.b32 %r137, %r136, 8388607; + or.b32 %r138, %r137, 1065353216; + mov.b32 %f299, %r138; + shr.u32 %r139, %r136, 23; + cvt.rn.f32.u32 %f300, %r139; + add.f32 %f301, %f297, %f300; + setp.gt.f32 %p21, %f299, 0f3FB504F3; + mul.f32 %f302, %f299, 0f3F000000; + add.f32 %f303, %f301, 0f3F800000; + selp.f32 %f304, %f302, %f299, %p21; + selp.f32 %f305, %f303, %f301, %p21; + add.f32 %f306, %f304, 0fBF800000; + add.f32 %f289, %f304, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f288,%f289; + // inline asm + add.f32 %f307, %f306, %f306; + mul.f32 %f308, %f288, %f307; + mul.f32 %f309, %f308, %f308; + mov.f32 %f310, 0f3C4CAF63; + mov.f32 %f311, 0f3B18F0FE; + fma.rn.f32 %f312, %f311, %f309, %f310; + mov.f32 %f313, 0f3DAAAABD; + fma.rn.f32 %f314, %f312, %f309, %f313; + mul.rn.f32 %f315, %f314, %f309; + mul.rn.f32 %f316, %f315, %f308; + sub.f32 %f317, %f306, %f308; + neg.f32 %f318, %f308; + add.f32 %f319, %f317, %f317; + fma.rn.f32 %f320, %f318, %f306, %f319; + mul.rn.f32 %f321, %f288, %f320; + add.f32 %f322, %f316, %f308; + sub.f32 %f323, %f308, %f322; + add.f32 %f324, %f316, %f323; + add.f32 %f325, %f321, %f324; + add.f32 %f326, %f322, %f325; + sub.f32 %f327, %f322, %f326; + add.f32 %f328, %f325, %f327; + mov.f32 %f329, 0f3F317200; + mul.rn.f32 %f330, %f305, %f329; + mov.f32 %f331, 0f35BFBE8E; + mul.rn.f32 %f332, %f305, %f331; + add.f32 %f333, %f330, %f326; + sub.f32 %f334, %f330, %f333; + add.f32 %f335, %f326, %f334; + add.f32 %f336, %f328, %f335; + add.f32 %f337, %f332, %f336; + add.f32 %f338, %f333, %f337; + sub.f32 %f339, %f333, %f338; + add.f32 %f340, %f337, %f339; + mul.rn.f32 %f341, %f294, %f338; + neg.f32 %f342, %f341; + fma.rn.f32 %f343, %f294, %f338, %f342; + fma.rn.f32 %f344, %f294, %f340, %f343; + mov.f32 %f345, 0f00000000; + fma.rn.f32 %f346, %f345, %f338, %f344; + add.rn.f32 %f347, %f341, %f346; + neg.f32 %f348, %f347; + add.rn.f32 %f349, %f341, %f348; + add.rn.f32 %f350, %f349, %f346; + mov.b32 %r140, %f347; + setp.eq.s32 %p22, %r140, 1118925336; + add.s32 %r141, %r140, -1; + mov.b32 %f351, %r141; + add.f32 %f352, %f350, 0f37000000; + selp.f32 %f353, %f351, %f347, %p22; + selp.f32 %f35, %f352, %f350, %p22; + mul.f32 %f354, %f353, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f355, %f354; + mov.f32 %f356, 0fBF317200; + fma.rn.f32 %f357, %f355, %f356, %f353; + mov.f32 %f358, 0fB5BFBE8E; + fma.rn.f32 %f359, %f355, %f358, %f357; + mul.f32 %f360, %f359, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f361, %f360; + add.f32 %f362, %f355, 0f00000000; + ex2.approx.f32 %f363, %f362; + mul.f32 %f364, %f361, %f363; + setp.lt.f32 %p23, %f353, 0fC2D20000; + selp.f32 %f365, 0f00000000, %f364, %p23; + setp.gt.f32 %p24, %f353, 0f42D20000; + selp.f32 %f965, 0f7F800000, %f365, %p24; + setp.eq.f32 %p25, %f965, 0f7F800000; + @%p25 bra BB0_10; + + fma.rn.f32 %f965, %f965, %f35, %f965; + +BB0_10: + mov.f32 %f952, 0f40000000; + cvt.rzi.f32.f32 %f951, %f952; + add.f32 %f950, %f951, %f951; + mov.f32 %f949, 0f40800000; + sub.f32 %f948, %f949, %f950; + abs.f32 %f947, %f948; + setp.lt.f32 %p26, %f32, 0f00000000; + setp.eq.f32 %p27, %f947, 0f3F800000; + and.pred %p1, %p26, %p27; + mov.b32 %r142, %f965; + xor.b32 %r143, %r142, -2147483648; + mov.b32 %f366, %r143; + selp.f32 %f967, %f366, %f965, %p1; + setp.eq.f32 %p28, %f32, 0f00000000; + @%p28 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f369, %f32, %f32; + selp.f32 %f967, %f369, 0f00000000, %p27; + bra.uni BB0_14; + +BB0_11: + setp.geu.f32 %p29, %f32, 0f00000000; + @%p29 bra BB0_14; + + mov.f32 %f955, 0f40800000; + cvt.rzi.f32.f32 %f368, %f955; + setp.neu.f32 %p30, %f368, 0f40800000; + selp.f32 %f967, 0f7FFFFFFF, %f967, %p30; + +BB0_14: + add.f32 %f370, %f34, 0f40800000; + mov.b32 %r144, %f370; + setp.lt.s32 %p32, %r144, 2139095040; + @%p32 bra BB0_19; + + setp.gtu.f32 %p33, %f34, 0f7F800000; + @%p33 bra BB0_18; + bra.uni BB0_16; + +BB0_18: + add.f32 %f967, %f32, 0f40800000; + bra.uni BB0_19; + +BB0_16: + setp.neu.f32 %p34, %f34, 0f7F800000; + @%p34 bra BB0_19; + + selp.f32 %f967, 0fFF800000, 0f7F800000, %p1; + +BB0_19: + mov.u32 %r380, 1; + mov.u64 %rd302, lightMeshBuffer; + cvta.global.u64 %rd301, %rd302; + shl.b32 %r379, %r383, 1; + mov.f32 %f371, 0f3F800000; + sub.f32 %f372, %f371, %f967; + setp.eq.f32 %p35, %f32, 0f3F800000; + selp.f32 %f373, 0f00000000, %f372, %p35; + cvt.sat.f32.f32 %f374, %f373; + mul.f32 %f375, %f31, %f374; + add.s32 %r147, %r379, 1; + cvt.s64.s32 %rd51, %r147; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd301, %r380, %r117, %rd51, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f376, [%rd49]; + mul.f32 %f377, %f27, %f376; + ld.f32 %f378, [%rd49+4]; + mul.f32 %f379, %f28, %f378; + neg.f32 %f380, %f379; + sub.f32 %f381, %f380, %f377; + ld.f32 %f382, [%rd49+8]; + mul.f32 %f383, %f29, %f382; + sub.f32 %f384, %f381, %f383; + cvt.sat.f32.f32 %f385, %f384; + mul.f32 %f46, %f375, %f385; + setp.leu.f32 %p36, %f46, 0f3727C5AC; + @%p36 bra BB0_21; + + mov.u32 %r382, 1; + add.u64 %rd56, %SP, 4; + cvta.to.local.u64 %rd57, %rd56; + max.f32 %f392, %f398, %f261; + sub.f32 %f393, %f26, %f392; + mov.u32 %r151, 1065353216; + st.local.u32 [%rd57], %r151; + ld.global.u32 %r148, [root]; + // inline asm + call _rt_trace_64, (%r148, %f12, %f13, %f14, %f27, %f28, %f29, %r382, %f392, %f393, %rd56, %r102); + // inline asm + ld.local.f32 %f400, [%rd57]; + mul.f32 %f401, %f46, %f400; + cvt.sat.f32.f32 %f402, %f30; + fma.rn.f32 %f25, %f402, %f401, %f25; + mul.f32 %f403, %f30, 0f40800000; + cvt.sat.f32.f32 %f404, %f403; + mul.f32 %f405, %f401, %f404; + fma.rn.f32 %f23, %f27, %f405, %f23; + fma.rn.f32 %f22, %f28, %f405, %f22; + fma.rn.f32 %f21, %f29, %f405, %f21; + add.f32 %f24, %f24, %f405; + add.f32 %f20, %f20, %f400; + +BB0_21: + add.s32 %r7, %r7, 1; + +BB0_22: + ld.global.u32 %r152, [lightMeshBufferSize]; + add.s32 %r383, %r383, 1; + setp.lt.u32 %p38, %r383, %r152; + @%p38 bra BB0_6; + bra.uni BB0_23; + +BB0_4: + mov.f32 %f21, %f20; + mov.f32 %f22, %f20; + mov.f32 %f23, %f20; + mov.f32 %f24, %f20; + mov.f32 %f25, %f20; + +BB0_23: + mov.pred %p150, %p13; + +BB0_24: + cvt.rn.f32.s32 %f406, %r7; + mov.f32 %f407, 0f3F800000; + max.f32 %f408, %f406, %f407; + div.rn.f32 %f1016, %f25, %f408; + div.rn.f32 %f1021, %f20, %f408; + div.rn.f32 %f1017, %f24, %f408; + div.rn.f32 %f1018, %f23, %f408; + div.rn.f32 %f1019, %f22, %f408; + div.rn.f32 %f1020, %f21, %f408; + @!%p150 bra BB0_77; + bra.uni BB0_25; + +BB0_25: + abs.f32 %f954, %f958; + abs.f32 %f953, %f956; + setp.gt.f32 %p39, %f953, %f954; + neg.f32 %f415, %f957; + selp.f32 %f416, %f415, 0f00000000, %p39; + neg.f32 %f417, %f958; + selp.f32 %f418, %f956, %f417, %p39; + selp.f32 %f419, 0f00000000, %f957, %p39; + mul.f32 %f420, %f418, %f418; + fma.rn.f32 %f421, %f416, %f416, %f420; + fma.rn.f32 %f422, %f419, %f419, %f421; + sqrt.rn.f32 %f423, %f422; + rcp.rn.f32 %f424, %f423; + mul.f32 %f77, %f416, %f424; + mul.f32 %f78, %f418, %f424; + mul.f32 %f79, %f419, %f424; + mov.f32 %f992, 0f00000000; + setp.lt.s32 %p40, %r1, 1; + mov.f32 %f993, %f992; + mov.f32 %f994, %f992; + mov.f32 %f995, %f992; + mov.f32 %f996, %f992; + mov.f32 %f997, %f992; + @%p40 bra BB0_76; + + mad.lo.s32 %r390, %r129, 1664525, 1013904223; + cvt.rn.f32.s32 %f431, %r1; + rcp.rn.f32 %f80, %f431; + add.u64 %rd58, %SP, 8; + cvta.to.local.u64 %rd2, %rd58; + mul.f32 %f81, %f12, 0f3456BF95; + mul.f32 %f82, %f13, 0f3456BF95; + mul.f32 %f83, %f14, 0f3456BF95; + add.u64 %rd59, %SP, 0; + cvta.to.local.u64 %rd3, %rd59; + mul.f32 %f432, %f956, %f78; + mul.f32 %f433, %f957, %f77; + sub.f32 %f84, %f433, %f432; + mul.f32 %f434, %f958, %f77; + mul.f32 %f435, %f956, %f79; + sub.f32 %f85, %f435, %f434; + mul.f32 %f436, %f957, %f79; + mul.f32 %f437, %f958, %f78; + sub.f32 %f86, %f437, %f436; + mov.f32 %f992, 0f00000000; + mov.u32 %r153, 0; + abs.f32 %f438, %f82; + abs.f32 %f439, %f81; + max.f32 %f440, %f439, %f438; + abs.f32 %f441, %f83; + max.f32 %f442, %f440, %f441; + mov.u32 %r387, %r153; + mov.f32 %f993, %f992; + mov.f32 %f994, %f992; + mov.f32 %f995, %f992; + mov.f32 %f996, %f992; + mov.f32 %f997, %f992; + +BB0_27: + cvt.rn.f32.s32 %f93, %r387; + max.f32 %f94, %f442, %f261; + mov.u32 %r389, %r153; + +BB0_28: + mad.lo.s32 %r155, %r390, 1664525, 1013904223; + and.b32 %r156, %r155, 16777215; + cvt.rn.f32.u32 %f444, %r156; + fma.rn.f32 %f445, %f444, 0f33800000, %f93; + mul.f32 %f101, %f80, %f445; + mad.lo.s32 %r390, %r155, 1664525, 1013904223; + and.b32 %r157, %r390, 16777215; + cvt.rn.f32.u32 %f446, %r157; + cvt.rn.f32.s32 %f447, %r389; + fma.rn.f32 %f448, %f446, 0f33800000, %f447; + mul.f32 %f449, %f80, %f448; + mul.f32 %f450, %f101, %f101; + sub.f32 %f452, %f407, %f450; + mov.f32 %f453, 0f00000000; + max.f32 %f454, %f453, %f452; + sqrt.rn.f32 %f102, %f454; + mul.f32 %f1004, %f449, 0f40C90FDB; + abs.f32 %f104, %f1004; + setp.neu.f32 %p41, %f104, 0f7F800000; + mov.f32 %f998, %f1004; + @%p41 bra BB0_30; + + mul.rn.f32 %f998, %f1004, %f453; + +BB0_30: + mul.f32 %f456, %f998, 0f3F22F983; + cvt.rni.s32.f32 %r400, %f456; + cvt.rn.f32.s32 %f457, %r400; + neg.f32 %f458, %f457; + mov.f32 %f459, 0f3FC90FDA; + fma.rn.f32 %f460, %f458, %f459, %f998; + mov.f32 %f461, 0f33A22168; + fma.rn.f32 %f462, %f458, %f461, %f460; + mov.f32 %f463, 0f27C234C5; + fma.rn.f32 %f999, %f458, %f463, %f462; + abs.f32 %f464, %f998; + setp.leu.f32 %p42, %f464, 0f47CE4780; + @%p42 bra BB0_41; + + mov.b32 %r19, %f998; + shr.u32 %r20, %r19, 23; + shl.b32 %r160, %r19, 8; + or.b32 %r21, %r160, -2147483648; + mov.u32 %r391, 0; + mov.u64 %rd304, 0; + mov.u64 %rd303, %rd2; + mov.u32 %r392, %r391; + +BB0_32: + .pragma "nounroll"; + shl.b64 %rd61, %rd304, 2; + mov.u64 %rd62, __cudart_i2opi_f; + add.s64 %rd63, %rd62, %rd61; + ld.const.u32 %r163, [%rd63]; + // inline asm + { + mad.lo.cc.u32 %r161, %r163, %r21, %r392; + madc.hi.u32 %r392, %r163, %r21, 0; + } + // inline asm + st.local.u32 [%rd303], %r161; + add.s32 %r391, %r391, 1; + cvt.s64.s32 %rd304, %r391; + mul.wide.s32 %rd64, %r391, 4; + add.s64 %rd303, %rd2, %rd64; + setp.ne.s32 %p43, %r391, 6; + @%p43 bra BB0_32; + + and.b32 %r166, %r20, 255; + add.s32 %r167, %r166, -128; + shr.u32 %r168, %r167, 5; + and.b32 %r26, %r19, -2147483648; + st.local.u32 [%rd2+24], %r392; + mov.u32 %r169, 6; + sub.s32 %r170, %r169, %r168; + mul.wide.s32 %rd65, %r170, 4; + add.s64 %rd9, %rd2, %rd65; + ld.local.u32 %r393, [%rd9]; + ld.local.u32 %r394, [%rd9+-4]; + and.b32 %r29, %r20, 31; + setp.eq.s32 %p44, %r29, 0; + @%p44 bra BB0_35; + + mov.u32 %r171, 32; + sub.s32 %r172, %r171, %r29; + shr.u32 %r173, %r394, %r172; + shl.b32 %r174, %r393, %r29; + add.s32 %r393, %r173, %r174; + ld.local.u32 %r175, [%rd9+-8]; + shr.u32 %r176, %r175, %r172; + shl.b32 %r177, %r394, %r29; + add.s32 %r394, %r176, %r177; + +BB0_35: + shr.u32 %r178, %r394, 30; + shl.b32 %r179, %r393, 2; + add.s32 %r395, %r178, %r179; + shl.b32 %r35, %r394, 2; + shr.u32 %r180, %r395, 31; + shr.u32 %r181, %r393, 30; + add.s32 %r36, %r180, %r181; + setp.eq.s32 %p45, %r180, 0; + @%p45 bra BB0_36; + bra.uni BB0_37; + +BB0_36: + mov.u32 %r396, %r26; + mov.u32 %r397, %r35; + bra.uni BB0_38; + +BB0_37: + not.b32 %r182, %r395; + neg.s32 %r397, %r35; + setp.eq.s32 %p46, %r35, 0; + selp.u32 %r183, 1, 0, %p46; + add.s32 %r395, %r183, %r182; + xor.b32 %r396, %r26, -2147483648; + +BB0_38: + clz.b32 %r399, %r395; + setp.eq.s32 %p47, %r399, 0; + shl.b32 %r184, %r395, %r399; + mov.u32 %r185, 32; + sub.s32 %r186, %r185, %r399; + shr.u32 %r187, %r397, %r186; + add.s32 %r188, %r187, %r184; + selp.b32 %r44, %r395, %r188, %p47; + mov.u32 %r189, -921707870; + mul.hi.u32 %r398, %r44, %r189; + setp.eq.s32 %p48, %r26, 0; + neg.s32 %r190, %r36; + selp.b32 %r400, %r36, %r190, %p48; + setp.lt.s32 %p49, %r398, 1; + @%p49 bra BB0_40; + + mul.lo.s32 %r191, %r44, -921707870; + shr.u32 %r192, %r191, 31; + shl.b32 %r193, %r398, 1; + add.s32 %r398, %r192, %r193; + add.s32 %r399, %r399, 1; + +BB0_40: + mov.u32 %r194, 126; + sub.s32 %r195, %r194, %r399; + shl.b32 %r196, %r195, 23; + add.s32 %r197, %r398, 1; + shr.u32 %r198, %r197, 7; + add.s32 %r199, %r198, 1; + shr.u32 %r200, %r199, 1; + add.s32 %r201, %r200, %r196; + or.b32 %r202, %r201, %r396; + mov.b32 %f999, %r202; + +BB0_41: + mul.rn.f32 %f110, %f999, %f999; + add.s32 %r52, %r400, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p50, %r53, 0; + @%p50 bra BB0_43; + bra.uni BB0_42; + +BB0_43: + mov.f32 %f467, 0f3C08839E; + mov.f32 %f468, 0fB94CA1F9; + fma.rn.f32 %f1000, %f468, %f110, %f467; + bra.uni BB0_44; + +BB0_42: + mov.f32 %f465, 0fBAB6061A; + mov.f32 %f466, 0f37CCF5CE; + fma.rn.f32 %f1000, %f466, %f110, %f465; + +BB0_44: + @%p50 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f472, 0fBE2AAAA3; + fma.rn.f32 %f473, %f1000, %f110, %f472; + fma.rn.f32 %f1001, %f473, %f110, %f453; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f469, 0f3D2AAAA5; + fma.rn.f32 %f470, %f1000, %f110, %f469; + mov.f32 %f471, 0fBF000000; + fma.rn.f32 %f1001, %f470, %f110, %f471; + +BB0_47: + fma.rn.f32 %f1002, %f1001, %f999, %f999; + @%p50 bra BB0_49; + + fma.rn.f32 %f1002, %f1001, %f110, %f407; + +BB0_49: + and.b32 %r203, %r52, 2; + setp.eq.s32 %p53, %r203, 0; + @%p53 bra BB0_51; + + mov.f32 %f477, 0fBF800000; + fma.rn.f32 %f1002, %f1002, %f477, %f453; + +BB0_51: + @%p41 bra BB0_53; + + mul.rn.f32 %f1004, %f1004, %f453; + +BB0_53: + mul.f32 %f479, %f1004, 0f3F22F983; + cvt.rni.s32.f32 %r410, %f479; + cvt.rn.f32.s32 %f480, %r410; + neg.f32 %f481, %f480; + fma.rn.f32 %f483, %f481, %f459, %f1004; + fma.rn.f32 %f485, %f481, %f461, %f483; + fma.rn.f32 %f1005, %f481, %f463, %f485; + abs.f32 %f487, %f1004; + setp.leu.f32 %p55, %f487, 0f47CE4780; + @%p55 bra BB0_64; + + mov.b32 %r55, %f1004; + shr.u32 %r56, %r55, 23; + shl.b32 %r206, %r55, 8; + or.b32 %r57, %r206, -2147483648; + mov.u32 %r401, 0; + mov.u64 %rd305, %rd2; + mov.u64 %rd306, %rd26; + mov.u32 %r402, %r401; + +BB0_55: + .pragma "nounroll"; + shl.b64 %rd67, %rd306, 2; + mov.u64 %rd68, __cudart_i2opi_f; + add.s64 %rd69, %rd68, %rd67; + ld.const.u32 %r209, [%rd69]; + // inline asm + { + mad.lo.cc.u32 %r207, %r209, %r57, %r402; + madc.hi.u32 %r402, %r209, %r57, 0; + } + // inline asm + st.local.u32 [%rd305], %r207; + add.s32 %r401, %r401, 1; + cvt.s64.s32 %rd306, %r401; + mul.wide.s32 %rd70, %r401, 4; + add.s64 %rd305, %rd2, %rd70; + setp.ne.s32 %p56, %r401, 6; + @%p56 bra BB0_55; + + and.b32 %r212, %r56, 255; + add.s32 %r213, %r212, -128; + shr.u32 %r214, %r213, 5; + and.b32 %r62, %r55, -2147483648; + st.local.u32 [%rd2+24], %r402; + mov.u32 %r215, 6; + sub.s32 %r216, %r215, %r214; + mul.wide.s32 %rd71, %r216, 4; + add.s64 %rd15, %rd2, %rd71; + ld.local.u32 %r403, [%rd15]; + ld.local.u32 %r404, [%rd15+-4]; + and.b32 %r65, %r56, 31; + setp.eq.s32 %p57, %r65, 0; + @%p57 bra BB0_58; + + mov.u32 %r217, 32; + sub.s32 %r218, %r217, %r65; + shr.u32 %r219, %r404, %r218; + shl.b32 %r220, %r403, %r65; + add.s32 %r403, %r219, %r220; + ld.local.u32 %r221, [%rd15+-8]; + shr.u32 %r222, %r221, %r218; + shl.b32 %r223, %r404, %r65; + add.s32 %r404, %r222, %r223; + +BB0_58: + shr.u32 %r224, %r404, 30; + shl.b32 %r225, %r403, 2; + add.s32 %r405, %r224, %r225; + shl.b32 %r71, %r404, 2; + shr.u32 %r226, %r405, 31; + shr.u32 %r227, %r403, 30; + add.s32 %r72, %r226, %r227; + setp.eq.s32 %p58, %r226, 0; + @%p58 bra BB0_59; + bra.uni BB0_60; + +BB0_59: + mov.u32 %r406, %r62; + mov.u32 %r407, %r71; + bra.uni BB0_61; + +BB0_60: + not.b32 %r228, %r405; + neg.s32 %r407, %r71; + setp.eq.s32 %p59, %r71, 0; + selp.u32 %r229, 1, 0, %p59; + add.s32 %r405, %r229, %r228; + xor.b32 %r406, %r62, -2147483648; + +BB0_61: + clz.b32 %r409, %r405; + setp.eq.s32 %p60, %r409, 0; + shl.b32 %r230, %r405, %r409; + mov.u32 %r231, 32; + sub.s32 %r232, %r231, %r409; + shr.u32 %r233, %r407, %r232; + add.s32 %r234, %r233, %r230; + selp.b32 %r80, %r405, %r234, %p60; + mov.u32 %r235, -921707870; + mul.hi.u32 %r408, %r80, %r235; + setp.eq.s32 %p61, %r62, 0; + neg.s32 %r236, %r72; + selp.b32 %r410, %r72, %r236, %p61; + setp.lt.s32 %p62, %r408, 1; + @%p62 bra BB0_63; + + mul.lo.s32 %r237, %r80, -921707870; + shr.u32 %r238, %r237, 31; + shl.b32 %r239, %r408, 1; + add.s32 %r408, %r238, %r239; + add.s32 %r409, %r409, 1; + +BB0_63: + mov.u32 %r240, 126; + sub.s32 %r241, %r240, %r409; + shl.b32 %r242, %r241, 23; + add.s32 %r243, %r408, 1; + shr.u32 %r244, %r243, 7; + add.s32 %r245, %r244, 1; + shr.u32 %r246, %r245, 1; + add.s32 %r247, %r246, %r242; + or.b32 %r248, %r247, %r406; + mov.b32 %f1005, %r248; + +BB0_64: + mul.rn.f32 %f127, %f1005, %f1005; + and.b32 %r88, %r410, 1; + setp.eq.s32 %p63, %r88, 0; + @%p63 bra BB0_66; + bra.uni BB0_65; + +BB0_66: + mov.f32 %f490, 0f3C08839E; + mov.f32 %f491, 0fB94CA1F9; + fma.rn.f32 %f1006, %f491, %f127, %f490; + bra.uni BB0_67; + +BB0_65: + mov.f32 %f488, 0fBAB6061A; + mov.f32 %f489, 0f37CCF5CE; + fma.rn.f32 %f1006, %f489, %f127, %f488; + +BB0_67: + @%p63 bra BB0_69; + bra.uni BB0_68; + +BB0_69: + mov.f32 %f495, 0fBE2AAAA3; + fma.rn.f32 %f496, %f1006, %f127, %f495; + fma.rn.f32 %f1007, %f496, %f127, %f453; + bra.uni BB0_70; + +BB0_68: + mov.f32 %f492, 0f3D2AAAA5; + fma.rn.f32 %f493, %f1006, %f127, %f492; + mov.f32 %f494, 0fBF000000; + fma.rn.f32 %f1007, %f493, %f127, %f494; + +BB0_70: + fma.rn.f32 %f1008, %f1007, %f1005, %f1005; + @%p63 bra BB0_72; + + fma.rn.f32 %f1008, %f1007, %f127, %f407; + +BB0_72: + and.b32 %r249, %r410, 2; + setp.eq.s32 %p66, %r249, 0; + @%p66 bra BB0_74; + + mov.f32 %f500, 0fBF800000; + fma.rn.f32 %f1008, %f1008, %f500, %f453; + +BB0_74: + mul.f32 %f509, %f102, %f1002; + mul.f32 %f510, %f102, %f1008; + mul.f32 %f511, %f77, %f510; + mul.f32 %f512, %f78, %f510; + mul.f32 %f513, %f79, %f510; + fma.rn.f32 %f514, %f86, %f509, %f511; + fma.rn.f32 %f515, %f85, %f509, %f512; + fma.rn.f32 %f516, %f84, %f509, %f513; + fma.rn.f32 %f504, %f956, %f101, %f514; + fma.rn.f32 %f505, %f957, %f101, %f515; + fma.rn.f32 %f506, %f958, %f101, %f516; + mov.u32 %r251, 0; + st.local.u32 [%rd3], %r251; + ld.global.u32 %r250, [root]; + mov.f32 %f508, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r250, %f12, %f13, %f14, %f504, %f505, %f506, %r251, %f94, %f508, %rd59, %r102); + // inline asm + ld.local.f32 %f517, [%rd3]; + setp.lt.f32 %p67, %f517, 0f00000000; + selp.f32 %f518, 0f00000000, %f517, %p67; + selp.f32 %f519, 0f00000000, 0f3F800000, %p67; + add.f32 %f992, %f992, %f519; + fma.rn.f32 %f995, %f504, %f518, %f995; + fma.rn.f32 %f994, %f505, %f518, %f994; + fma.rn.f32 %f993, %f506, %f518, %f993; + add.f32 %f996, %f996, %f518; + mul.f32 %f520, %f957, %f505; + fma.rn.f32 %f521, %f956, %f504, %f520; + fma.rn.f32 %f522, %f958, %f506, %f521; + cvt.sat.f32.f32 %f523, %f522; + fma.rn.f32 %f997, %f518, %f523, %f997; + add.s32 %r389, %r389, 1; + setp.lt.s32 %p68, %r389, %r1; + @%p68 bra BB0_28; + + add.s32 %r387, %r387, 1; + setp.lt.s32 %p69, %r387, %r1; + @%p69 bra BB0_27; + +BB0_76: + mul.lo.s32 %r253, %r1, %r1; + cvt.rn.f32.s32 %f524, %r253; + div.rn.f32 %f525, %f997, %f524; + div.rn.f32 %f1021, %f992, %f524; + div.rn.f32 %f1017, %f996, %f524; + div.rn.f32 %f1018, %f995, %f524; + div.rn.f32 %f1019, %f994, %f524; + div.rn.f32 %f1020, %f993, %f524; + add.f32 %f1016, %f525, %f525; + +BB0_77: + ld.global.u32 %r412, [imageEnabled]; + and.b32 %r254, %r412, 8; + setp.eq.s32 %p70, %r254, 0; + @%p70 bra BB0_90; + + cvt.u64.u32 %rd75, %r3; + cvt.u64.u32 %rd76, %r4; + mov.u64 %rd79, image_Mask; + cvta.global.u64 %rd74, %rd79; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r101, %r101, %rd75, %rd76, %rd26, %rd26); + // inline asm + mov.f32 %f528, 0f3E68BA2E; + cvt.rzi.f32.f32 %f529, %f528; + fma.rn.f32 %f530, %f529, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f163, %f530; + abs.f32 %f164, %f1021; + setp.lt.f32 %p71, %f164, 0f00800000; + mul.f32 %f531, %f164, 0f4B800000; + selp.f32 %f532, 0fC3170000, 0fC2FE0000, %p71; + selp.f32 %f533, %f531, %f164, %p71; + mov.b32 %r257, %f533; + and.b32 %r258, %r257, 8388607; + or.b32 %r259, %r258, 1065353216; + mov.b32 %f534, %r259; + shr.u32 %r260, %r257, 23; + cvt.rn.f32.u32 %f535, %r260; + add.f32 %f536, %f532, %f535; + setp.gt.f32 %p72, %f534, 0f3FB504F3; + mul.f32 %f537, %f534, 0f3F000000; + add.f32 %f538, %f536, 0f3F800000; + selp.f32 %f539, %f537, %f534, %p72; + selp.f32 %f540, %f538, %f536, %p72; + add.f32 %f541, %f539, 0fBF800000; + add.f32 %f527, %f539, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f526,%f527; + // inline asm + add.f32 %f542, %f541, %f541; + mul.f32 %f543, %f526, %f542; + mul.f32 %f544, %f543, %f543; + mov.f32 %f545, 0f3C4CAF63; + mov.f32 %f546, 0f3B18F0FE; + fma.rn.f32 %f547, %f546, %f544, %f545; + mov.f32 %f548, 0f3DAAAABD; + fma.rn.f32 %f549, %f547, %f544, %f548; + mul.rn.f32 %f550, %f549, %f544; + mul.rn.f32 %f551, %f550, %f543; + sub.f32 %f552, %f541, %f543; + neg.f32 %f553, %f543; + add.f32 %f554, %f552, %f552; + fma.rn.f32 %f555, %f553, %f541, %f554; + mul.rn.f32 %f556, %f526, %f555; + add.f32 %f557, %f551, %f543; + sub.f32 %f558, %f543, %f557; + add.f32 %f559, %f551, %f558; + add.f32 %f560, %f556, %f559; + add.f32 %f561, %f557, %f560; + sub.f32 %f562, %f557, %f561; + add.f32 %f563, %f560, %f562; + mov.f32 %f564, 0f3F317200; + mul.rn.f32 %f565, %f540, %f564; + mov.f32 %f566, 0f35BFBE8E; + mul.rn.f32 %f567, %f540, %f566; + add.f32 %f568, %f565, %f561; + sub.f32 %f569, %f565, %f568; + add.f32 %f570, %f561, %f569; + add.f32 %f571, %f563, %f570; + add.f32 %f572, %f567, %f571; + add.f32 %f573, %f568, %f572; + sub.f32 %f574, %f568, %f573; + add.f32 %f575, %f572, %f574; + mov.f32 %f576, 0f3EE8BA2E; + mul.rn.f32 %f577, %f576, %f573; + neg.f32 %f578, %f577; + fma.rn.f32 %f579, %f576, %f573, %f578; + fma.rn.f32 %f580, %f576, %f575, %f579; + mov.f32 %f581, 0f00000000; + fma.rn.f32 %f582, %f581, %f573, %f580; + add.rn.f32 %f583, %f577, %f582; + neg.f32 %f584, %f583; + add.rn.f32 %f585, %f577, %f584; + add.rn.f32 %f586, %f585, %f582; + mov.b32 %r261, %f583; + setp.eq.s32 %p73, %r261, 1118925336; + add.s32 %r262, %r261, -1; + mov.b32 %f587, %r262; + add.f32 %f588, %f586, 0f37000000; + selp.f32 %f589, %f587, %f583, %p73; + selp.f32 %f165, %f588, %f586, %p73; + mul.f32 %f590, %f589, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f591, %f590; + mov.f32 %f592, 0fBF317200; + fma.rn.f32 %f593, %f591, %f592, %f589; + mov.f32 %f594, 0fB5BFBE8E; + fma.rn.f32 %f595, %f591, %f594, %f593; + mul.f32 %f596, %f595, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f597, %f596; + add.f32 %f598, %f591, 0f00000000; + ex2.approx.f32 %f599, %f598; + mul.f32 %f600, %f597, %f599; + setp.lt.f32 %p74, %f589, 0fC2D20000; + selp.f32 %f601, 0f00000000, %f600, %p74; + setp.gt.f32 %p75, %f589, 0f42D20000; + selp.f32 %f1022, 0f7F800000, %f601, %p75; + setp.eq.f32 %p76, %f1022, 0f7F800000; + @%p76 bra BB0_80; + + fma.rn.f32 %f1022, %f1022, %f165, %f1022; + +BB0_80: + setp.lt.f32 %p77, %f1021, 0f00000000; + setp.eq.f32 %p78, %f163, 0f3F800000; + and.pred %p3, %p77, %p78; + mov.b32 %r263, %f1022; + xor.b32 %r264, %r263, -2147483648; + mov.b32 %f602, %r264; + selp.f32 %f1024, %f602, %f1022, %p3; + setp.eq.f32 %p79, %f1021, 0f00000000; + @%p79 bra BB0_83; + bra.uni BB0_81; + +BB0_83: + add.f32 %f605, %f1021, %f1021; + selp.f32 %f1024, %f605, 0f00000000, %p78; + bra.uni BB0_84; + +BB0_148: + mov.u64 %rd220, image_HDR; + cvta.global.u64 %rd215, %rd220; + mov.u32 %r350, 8; + mov.u64 %rd219, 0; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r101, %r350, %rd19, %rd20, %rd219, %rd219); + // inline asm + mov.f32 %f918, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f918;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd214], {%rs98, %rs98, %rs98, %rs99}; + +BB0_149: + ld.global.u32 %r351, [additive]; + setp.eq.s32 %p146, %r351, 0; + @%p146 bra BB0_151; + + mov.u64 %rd233, image_RNM0; + cvta.global.u64 %rd222, %rd233; + mov.u32 %r355, 8; + mov.u64 %rd232, 0; + // inline asm + call (%rd221), _rt_buffer_get_64, (%rd222, %r101, %r355, %rd19, %rd20, %rd232, %rd232); + // inline asm + ld.v4.u16 {%rs106, %rs107, %rs108, %rs109}, [%rd221]; + // inline asm + { cvt.f32.f16 %f919, %rs106;} + + // inline asm + // inline asm + { cvt.f32.f16 %f920, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f921, %rs108;} + + // inline asm + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd222, %r101, %r355, %rd19, %rd20, %rd232, %rd232); + // inline asm + add.f32 %f922, %f919, 0f00000000; + add.f32 %f923, %f920, 0f00000000; + add.f32 %f924, %f921, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f924;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f923;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f922;} + + // inline asm + mov.u16 %rs110, 0; + st.v4.u16 [%rd227], {%rs103, %rs104, %rs105, %rs110}; + bra.uni BB0_152; + +BB0_151: + mov.u64 %rd240, image_RNM0; + cvta.global.u64 %rd235, %rd240; + mov.u32 %r357, 8; + mov.u64 %rd239, 0; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r101, %r357, %rd19, %rd20, %rd239, %rd239); + // inline asm + mov.f32 %f925, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f925;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd234], {%rs111, %rs111, %rs111, %rs112}; + +BB0_152: + ld.global.u32 %r358, [additive]; + setp.eq.s32 %p147, %r358, 0; + @%p147 bra BB0_154; + + mov.u64 %rd253, image_RNM1; + cvta.global.u64 %rd242, %rd253; + mov.u32 %r362, 8; + mov.u64 %rd252, 0; + // inline asm + call (%rd241), _rt_buffer_get_64, (%rd242, %r101, %r362, %rd19, %rd20, %rd252, %rd252); + // inline asm + ld.v4.u16 {%rs119, %rs120, %rs121, %rs122}, [%rd241]; + // inline asm + { cvt.f32.f16 %f926, %rs119;} + + // inline asm + // inline asm + { cvt.f32.f16 %f927, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f928, %rs121;} + + // inline asm + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd242, %r101, %r362, %rd19, %rd20, %rd252, %rd252); + // inline asm + add.f32 %f929, %f926, 0f00000000; + add.f32 %f930, %f927, 0f00000000; + add.f32 %f931, %f928, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs118, %f931;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f930;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs116, %f929;} + + // inline asm + mov.u16 %rs123, 0; + st.v4.u16 [%rd247], {%rs116, %rs117, %rs118, %rs123}; + bra.uni BB0_155; + +BB0_154: + mov.u64 %rd260, image_RNM1; + cvta.global.u64 %rd255, %rd260; + mov.u32 %r364, 8; + mov.u64 %rd259, 0; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r101, %r364, %rd19, %rd20, %rd259, %rd259); + // inline asm + mov.f32 %f932, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f932;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd254], {%rs124, %rs124, %rs124, %rs125}; + +BB0_155: + ld.global.u32 %r365, [additive]; + setp.eq.s32 %p148, %r365, 0; + @%p148 bra BB0_157; + + mov.u64 %rd273, image_RNM2; + cvta.global.u64 %rd262, %rd273; + mov.u32 %r369, 8; + mov.u64 %rd272, 0; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r101, %r369, %rd19, %rd20, %rd272, %rd272); + // inline asm + ld.v4.u16 {%rs132, %rs133, %rs134, %rs135}, [%rd261]; + // inline asm + { cvt.f32.f16 %f933, %rs132;} + + // inline asm + // inline asm + { cvt.f32.f16 %f934, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f935, %rs134;} + + // inline asm + // inline asm + call (%rd267), _rt_buffer_get_64, (%rd262, %r101, %r369, %rd19, %rd20, %rd272, %rd272); + // inline asm + add.f32 %f936, %f933, 0f00000000; + add.f32 %f937, %f934, 0f00000000; + add.f32 %f938, %f935, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs131, %f938;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f937;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs129, %f936;} + + // inline asm + mov.u16 %rs136, 0; + st.v4.u16 [%rd267], {%rs129, %rs130, %rs131, %rs136}; + bra.uni BB0_158; + +BB0_157: + mov.u64 %rd280, image_RNM2; + cvta.global.u64 %rd275, %rd280; + mov.u32 %r371, 8; + mov.u64 %rd279, 0; + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd275, %r101, %r371, %rd19, %rd20, %rd279, %rd279); + // inline asm + mov.f32 %f939, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f939;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd274], {%rs137, %rs137, %rs137, %rs138}; + +BB0_158: + ld.global.u32 %r372, [additive]; + setp.eq.s32 %p149, %r372, 0; + @%p149 bra BB0_160; + + mov.u64 %rd293, image_RNM3; + cvta.global.u64 %rd282, %rd293; + mov.u32 %r376, 8; + mov.u64 %rd292, 0; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r101, %r376, %rd19, %rd20, %rd292, %rd292); + // inline asm + ld.v4.u16 {%rs145, %rs146, %rs147, %rs148}, [%rd281]; + // inline asm + { cvt.f32.f16 %f940, %rs145;} + + // inline asm + // inline asm + { cvt.f32.f16 %f941, %rs146;} + + // inline asm + // inline asm + { cvt.f32.f16 %f942, %rs147;} + + // inline asm + // inline asm + call (%rd287), _rt_buffer_get_64, (%rd282, %r101, %r376, %rd19, %rd20, %rd292, %rd292); + // inline asm + add.f32 %f943, %f940, 0f00000000; + add.f32 %f944, %f941, 0f00000000; + add.f32 %f945, %f942, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs144, %f945;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs143, %f944;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs142, %f943;} + + // inline asm + mov.u16 %rs149, 0; + st.v4.u16 [%rd287], {%rs142, %rs143, %rs144, %rs149}; + bra.uni BB0_161; + +BB0_160: + mov.u64 %rd300, image_RNM3; + cvta.global.u64 %rd295, %rd300; + mov.u32 %r378, 8; + mov.u64 %rd299, 0; + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd295, %r101, %r378, %rd19, %rd20, %rd299, %rd299); + // inline asm + mov.f32 %f946, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f946;} + + // inline asm + mov.u16 %rs151, 0; + st.v4.u16 [%rd294], {%rs150, %rs150, %rs150, %rs151}; + bra.uni BB0_161; + +BB0_81: + setp.geu.f32 %p80, %f1021, 0f00000000; + @%p80 bra BB0_84; + + cvt.rzi.f32.f32 %f604, %f576; + setp.neu.f32 %p81, %f604, 0f3EE8BA2E; + selp.f32 %f1024, 0f7FFFFFFF, %f1024, %p81; + +BB0_84: + add.f32 %f606, %f164, 0f3EE8BA2E; + mov.b32 %r265, %f606; + setp.lt.s32 %p83, %r265, 2139095040; + @%p83 bra BB0_89; + + setp.gtu.f32 %p84, %f164, 0f7F800000; + @%p84 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f1024, %f1021, 0f3EE8BA2E; + bra.uni BB0_89; + +BB0_86: + setp.neu.f32 %p85, %f164, 0f7F800000; + @%p85 bra BB0_89; + + selp.f32 %f1024, 0fFF800000, 0f7F800000, %p3; + +BB0_89: + mul.f32 %f607, %f1024, 0f437F0000; + setp.eq.f32 %p86, %f1021, 0f3F800000; + selp.f32 %f608, 0f437F0000, %f607, %p86; + cvt.rzi.u32.f32 %r266, %f608; + cvt.u16.u32 %rs14, %r266; + mov.u16 %rs15, 255; + st.v2.u8 [%rd73], {%rs14, %rs15}; + ld.global.u32 %r412, [imageEnabled]; + +BB0_90: + ld.global.f32 %f609, [lightColor]; + mul.f32 %f176, %f1016, %f609; + ld.global.f32 %f610, [lightColor+4]; + mul.f32 %f177, %f1016, %f610; + ld.global.f32 %f611, [lightColor+8]; + mul.f32 %f178, %f1016, %f611; + and.b32 %r267, %r412, 1; + setp.eq.b32 %p87, %r267, 1; + @!%p87 bra BB0_125; + bra.uni BB0_91; + +BB0_91: + mov.f32 %f614, 0f3E666666; + cvt.rzi.f32.f32 %f615, %f614; + fma.rn.f32 %f616, %f615, 0fC0000000, 0f3EE66666; + abs.f32 %f179, %f616; + abs.f32 %f180, %f176; + setp.lt.f32 %p88, %f180, 0f00800000; + mul.f32 %f617, %f180, 0f4B800000; + selp.f32 %f618, 0fC3170000, 0fC2FE0000, %p88; + selp.f32 %f619, %f617, %f180, %p88; + mov.b32 %r268, %f619; + and.b32 %r269, %r268, 8388607; + or.b32 %r270, %r269, 1065353216; + mov.b32 %f620, %r270; + shr.u32 %r271, %r268, 23; + cvt.rn.f32.u32 %f621, %r271; + add.f32 %f622, %f618, %f621; + setp.gt.f32 %p89, %f620, 0f3FB504F3; + mul.f32 %f623, %f620, 0f3F000000; + add.f32 %f624, %f622, 0f3F800000; + selp.f32 %f625, %f623, %f620, %p89; + selp.f32 %f626, %f624, %f622, %p89; + add.f32 %f627, %f625, 0fBF800000; + add.f32 %f613, %f625, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f612,%f613; + // inline asm + add.f32 %f628, %f627, %f627; + mul.f32 %f629, %f612, %f628; + mul.f32 %f630, %f629, %f629; + mov.f32 %f631, 0f3C4CAF63; + mov.f32 %f632, 0f3B18F0FE; + fma.rn.f32 %f633, %f632, %f630, %f631; + mov.f32 %f634, 0f3DAAAABD; + fma.rn.f32 %f635, %f633, %f630, %f634; + mul.rn.f32 %f636, %f635, %f630; + mul.rn.f32 %f637, %f636, %f629; + sub.f32 %f638, %f627, %f629; + neg.f32 %f639, %f629; + add.f32 %f640, %f638, %f638; + fma.rn.f32 %f641, %f639, %f627, %f640; + mul.rn.f32 %f642, %f612, %f641; + add.f32 %f643, %f637, %f629; + sub.f32 %f644, %f629, %f643; + add.f32 %f645, %f637, %f644; + add.f32 %f646, %f642, %f645; + add.f32 %f647, %f643, %f646; + sub.f32 %f648, %f643, %f647; + add.f32 %f649, %f646, %f648; + mov.f32 %f650, 0f3F317200; + mul.rn.f32 %f651, %f626, %f650; + mov.f32 %f652, 0f35BFBE8E; + mul.rn.f32 %f653, %f626, %f652; + add.f32 %f654, %f651, %f647; + sub.f32 %f655, %f651, %f654; + add.f32 %f656, %f647, %f655; + add.f32 %f657, %f649, %f656; + add.f32 %f658, %f653, %f657; + add.f32 %f659, %f654, %f658; + sub.f32 %f660, %f654, %f659; + add.f32 %f661, %f658, %f660; + mov.f32 %f662, 0f3EE66666; + mul.rn.f32 %f663, %f662, %f659; + neg.f32 %f664, %f663; + fma.rn.f32 %f665, %f662, %f659, %f664; + fma.rn.f32 %f666, %f662, %f661, %f665; + mov.f32 %f667, 0f00000000; + fma.rn.f32 %f668, %f667, %f659, %f666; + add.rn.f32 %f669, %f663, %f668; + neg.f32 %f670, %f669; + add.rn.f32 %f671, %f663, %f670; + add.rn.f32 %f672, %f671, %f668; + mov.b32 %r272, %f669; + setp.eq.s32 %p90, %r272, 1118925336; + add.s32 %r273, %r272, -1; + mov.b32 %f673, %r273; + add.f32 %f674, %f672, 0f37000000; + selp.f32 %f675, %f673, %f669, %p90; + selp.f32 %f181, %f674, %f672, %p90; + mul.f32 %f676, %f675, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f677, %f676; + mov.f32 %f678, 0fBF317200; + fma.rn.f32 %f679, %f677, %f678, %f675; + mov.f32 %f680, 0fB5BFBE8E; + fma.rn.f32 %f681, %f677, %f680, %f679; + mul.f32 %f682, %f681, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f683, %f682; + add.f32 %f684, %f677, 0f00000000; + ex2.approx.f32 %f685, %f684; + mul.f32 %f686, %f683, %f685; + setp.lt.f32 %p91, %f675, 0fC2D20000; + selp.f32 %f687, 0f00000000, %f686, %p91; + setp.gt.f32 %p92, %f675, 0f42D20000; + selp.f32 %f1025, 0f7F800000, %f687, %p92; + setp.eq.f32 %p93, %f1025, 0f7F800000; + @%p93 bra BB0_93; + + fma.rn.f32 %f1025, %f1025, %f181, %f1025; + +BB0_93: + setp.lt.f32 %p94, %f176, 0f00000000; + setp.eq.f32 %p95, %f179, 0f3F800000; + and.pred %p4, %p94, %p95; + mov.b32 %r274, %f1025; + xor.b32 %r275, %r274, -2147483648; + mov.b32 %f688, %r275; + selp.f32 %f1027, %f688, %f1025, %p4; + setp.eq.f32 %p96, %f176, 0f00000000; + @%p96 bra BB0_96; + bra.uni BB0_94; + +BB0_96: + add.f32 %f691, %f176, %f176; + selp.f32 %f1027, %f691, 0f00000000, %p95; + bra.uni BB0_97; + +BB0_94: + setp.geu.f32 %p97, %f176, 0f00000000; + @%p97 bra BB0_97; + + cvt.rzi.f32.f32 %f690, %f662; + setp.neu.f32 %p98, %f690, 0f3EE66666; + selp.f32 %f1027, 0f7FFFFFFF, %f1027, %p98; + +BB0_97: + add.f32 %f692, %f180, 0f3EE66666; + mov.b32 %r276, %f692; + setp.lt.s32 %p100, %r276, 2139095040; + @%p100 bra BB0_102; + + setp.gtu.f32 %p101, %f180, 0f7F800000; + @%p101 bra BB0_101; + bra.uni BB0_99; + +BB0_101: + add.f32 %f1027, %f176, 0f3EE66666; + bra.uni BB0_102; + +BB0_99: + setp.neu.f32 %p102, %f180, 0f7F800000; + @%p102 bra BB0_102; + + selp.f32 %f1027, 0fFF800000, 0f7F800000, %p4; + +BB0_102: + setp.eq.f32 %p103, %f176, 0f3F800000; + selp.f32 %f192, 0f3F800000, %f1027, %p103; + abs.f32 %f193, %f177; + setp.lt.f32 %p104, %f193, 0f00800000; + mul.f32 %f695, %f193, 0f4B800000; + selp.f32 %f696, 0fC3170000, 0fC2FE0000, %p104; + selp.f32 %f697, %f695, %f193, %p104; + mov.b32 %r277, %f697; + and.b32 %r278, %r277, 8388607; + or.b32 %r279, %r278, 1065353216; + mov.b32 %f698, %r279; + shr.u32 %r280, %r277, 23; + cvt.rn.f32.u32 %f699, %r280; + add.f32 %f700, %f696, %f699; + setp.gt.f32 %p105, %f698, 0f3FB504F3; + mul.f32 %f701, %f698, 0f3F000000; + add.f32 %f702, %f700, 0f3F800000; + selp.f32 %f703, %f701, %f698, %p105; + selp.f32 %f704, %f702, %f700, %p105; + add.f32 %f705, %f703, 0fBF800000; + add.f32 %f694, %f703, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f693,%f694; + // inline asm + add.f32 %f706, %f705, %f705; + mul.f32 %f707, %f693, %f706; + mul.f32 %f708, %f707, %f707; + fma.rn.f32 %f711, %f632, %f708, %f631; + fma.rn.f32 %f713, %f711, %f708, %f634; + mul.rn.f32 %f714, %f713, %f708; + mul.rn.f32 %f715, %f714, %f707; + sub.f32 %f716, %f705, %f707; + neg.f32 %f717, %f707; + add.f32 %f718, %f716, %f716; + fma.rn.f32 %f719, %f717, %f705, %f718; + mul.rn.f32 %f720, %f693, %f719; + add.f32 %f721, %f715, %f707; + sub.f32 %f722, %f707, %f721; + add.f32 %f723, %f715, %f722; + add.f32 %f724, %f720, %f723; + add.f32 %f725, %f721, %f724; + sub.f32 %f726, %f721, %f725; + add.f32 %f727, %f724, %f726; + mul.rn.f32 %f729, %f704, %f650; + mul.rn.f32 %f731, %f704, %f652; + add.f32 %f732, %f729, %f725; + sub.f32 %f733, %f729, %f732; + add.f32 %f734, %f725, %f733; + add.f32 %f735, %f727, %f734; + add.f32 %f736, %f731, %f735; + add.f32 %f737, %f732, %f736; + sub.f32 %f738, %f732, %f737; + add.f32 %f739, %f736, %f738; + mul.rn.f32 %f741, %f662, %f737; + neg.f32 %f742, %f741; + fma.rn.f32 %f743, %f662, %f737, %f742; + fma.rn.f32 %f744, %f662, %f739, %f743; + fma.rn.f32 %f746, %f667, %f737, %f744; + add.rn.f32 %f747, %f741, %f746; + neg.f32 %f748, %f747; + add.rn.f32 %f749, %f741, %f748; + add.rn.f32 %f750, %f749, %f746; + mov.b32 %r281, %f747; + setp.eq.s32 %p106, %r281, 1118925336; + add.s32 %r282, %r281, -1; + mov.b32 %f751, %r282; + add.f32 %f752, %f750, 0f37000000; + selp.f32 %f753, %f751, %f747, %p106; + selp.f32 %f194, %f752, %f750, %p106; + mul.f32 %f754, %f753, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f755, %f754; + fma.rn.f32 %f757, %f755, %f678, %f753; + fma.rn.f32 %f759, %f755, %f680, %f757; + mul.f32 %f760, %f759, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f761, %f760; + add.f32 %f762, %f755, 0f00000000; + ex2.approx.f32 %f763, %f762; + mul.f32 %f764, %f761, %f763; + setp.lt.f32 %p107, %f753, 0fC2D20000; + selp.f32 %f765, 0f00000000, %f764, %p107; + setp.gt.f32 %p108, %f753, 0f42D20000; + selp.f32 %f1028, 0f7F800000, %f765, %p108; + setp.eq.f32 %p109, %f1028, 0f7F800000; + @%p109 bra BB0_104; + + fma.rn.f32 %f1028, %f1028, %f194, %f1028; + +BB0_104: + setp.lt.f32 %p110, %f177, 0f00000000; + and.pred %p5, %p110, %p95; + mov.b32 %r283, %f1028; + xor.b32 %r284, %r283, -2147483648; + mov.b32 %f766, %r284; + selp.f32 %f1030, %f766, %f1028, %p5; + setp.eq.f32 %p112, %f177, 0f00000000; + @%p112 bra BB0_107; + bra.uni BB0_105; + +BB0_107: + add.f32 %f769, %f177, %f177; + selp.f32 %f1030, %f769, 0f00000000, %p95; + bra.uni BB0_108; + +BB0_105: + setp.geu.f32 %p113, %f177, 0f00000000; + @%p113 bra BB0_108; + + cvt.rzi.f32.f32 %f768, %f662; + setp.neu.f32 %p114, %f768, 0f3EE66666; + selp.f32 %f1030, 0f7FFFFFFF, %f1030, %p114; + +BB0_108: + add.f32 %f770, %f193, 0f3EE66666; + mov.b32 %r285, %f770; + setp.lt.s32 %p116, %r285, 2139095040; + @%p116 bra BB0_113; + + setp.gtu.f32 %p117, %f193, 0f7F800000; + @%p117 bra BB0_112; + bra.uni BB0_110; + +BB0_112: + add.f32 %f1030, %f177, 0f3EE66666; + bra.uni BB0_113; + +BB0_110: + setp.neu.f32 %p118, %f193, 0f7F800000; + @%p118 bra BB0_113; + + selp.f32 %f1030, 0fFF800000, 0f7F800000, %p5; + +BB0_113: + setp.eq.f32 %p119, %f177, 0f3F800000; + selp.f32 %f205, 0f3F800000, %f1030, %p119; + abs.f32 %f206, %f178; + setp.lt.f32 %p120, %f206, 0f00800000; + mul.f32 %f773, %f206, 0f4B800000; + selp.f32 %f774, 0fC3170000, 0fC2FE0000, %p120; + selp.f32 %f775, %f773, %f206, %p120; + mov.b32 %r286, %f775; + and.b32 %r287, %r286, 8388607; + or.b32 %r288, %r287, 1065353216; + mov.b32 %f776, %r288; + shr.u32 %r289, %r286, 23; + cvt.rn.f32.u32 %f777, %r289; + add.f32 %f778, %f774, %f777; + setp.gt.f32 %p121, %f776, 0f3FB504F3; + mul.f32 %f779, %f776, 0f3F000000; + add.f32 %f780, %f778, 0f3F800000; + selp.f32 %f781, %f779, %f776, %p121; + selp.f32 %f782, %f780, %f778, %p121; + add.f32 %f783, %f781, 0fBF800000; + add.f32 %f772, %f781, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f771,%f772; + // inline asm + add.f32 %f784, %f783, %f783; + mul.f32 %f785, %f771, %f784; + mul.f32 %f786, %f785, %f785; + fma.rn.f32 %f789, %f632, %f786, %f631; + fma.rn.f32 %f791, %f789, %f786, %f634; + mul.rn.f32 %f792, %f791, %f786; + mul.rn.f32 %f793, %f792, %f785; + sub.f32 %f794, %f783, %f785; + neg.f32 %f795, %f785; + add.f32 %f796, %f794, %f794; + fma.rn.f32 %f797, %f795, %f783, %f796; + mul.rn.f32 %f798, %f771, %f797; + add.f32 %f799, %f793, %f785; + sub.f32 %f800, %f785, %f799; + add.f32 %f801, %f793, %f800; + add.f32 %f802, %f798, %f801; + add.f32 %f803, %f799, %f802; + sub.f32 %f804, %f799, %f803; + add.f32 %f805, %f802, %f804; + mul.rn.f32 %f807, %f782, %f650; + mul.rn.f32 %f809, %f782, %f652; + add.f32 %f810, %f807, %f803; + sub.f32 %f811, %f807, %f810; + add.f32 %f812, %f803, %f811; + add.f32 %f813, %f805, %f812; + add.f32 %f814, %f809, %f813; + add.f32 %f815, %f810, %f814; + sub.f32 %f816, %f810, %f815; + add.f32 %f817, %f814, %f816; + mul.rn.f32 %f819, %f662, %f815; + neg.f32 %f820, %f819; + fma.rn.f32 %f821, %f662, %f815, %f820; + fma.rn.f32 %f822, %f662, %f817, %f821; + fma.rn.f32 %f824, %f667, %f815, %f822; + add.rn.f32 %f825, %f819, %f824; + neg.f32 %f826, %f825; + add.rn.f32 %f827, %f819, %f826; + add.rn.f32 %f828, %f827, %f824; + mov.b32 %r290, %f825; + setp.eq.s32 %p122, %r290, 1118925336; + add.s32 %r291, %r290, -1; + mov.b32 %f829, %r291; + add.f32 %f830, %f828, 0f37000000; + selp.f32 %f831, %f829, %f825, %p122; + selp.f32 %f207, %f830, %f828, %p122; + mul.f32 %f832, %f831, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f833, %f832; + fma.rn.f32 %f835, %f833, %f678, %f831; + fma.rn.f32 %f837, %f833, %f680, %f835; + mul.f32 %f838, %f837, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f839, %f838; + add.f32 %f840, %f833, 0f00000000; + ex2.approx.f32 %f841, %f840; + mul.f32 %f842, %f839, %f841; + setp.lt.f32 %p123, %f831, 0fC2D20000; + selp.f32 %f843, 0f00000000, %f842, %p123; + setp.gt.f32 %p124, %f831, 0f42D20000; + selp.f32 %f1031, 0f7F800000, %f843, %p124; + setp.eq.f32 %p125, %f1031, 0f7F800000; + @%p125 bra BB0_115; + + fma.rn.f32 %f1031, %f1031, %f207, %f1031; + +BB0_115: + setp.lt.f32 %p126, %f178, 0f00000000; + and.pred %p6, %p126, %p95; + mov.b32 %r292, %f1031; + xor.b32 %r293, %r292, -2147483648; + mov.b32 %f844, %r293; + selp.f32 %f1033, %f844, %f1031, %p6; + setp.eq.f32 %p128, %f178, 0f00000000; + @%p128 bra BB0_118; + bra.uni BB0_116; + +BB0_118: + add.f32 %f847, %f178, %f178; + selp.f32 %f1033, %f847, 0f00000000, %p95; + bra.uni BB0_119; + +BB0_116: + setp.geu.f32 %p129, %f178, 0f00000000; + @%p129 bra BB0_119; + + cvt.rzi.f32.f32 %f846, %f662; + setp.neu.f32 %p130, %f846, 0f3EE66666; + selp.f32 %f1033, 0f7FFFFFFF, %f1033, %p130; + +BB0_119: + add.f32 %f848, %f206, 0f3EE66666; + mov.b32 %r294, %f848; + setp.lt.s32 %p132, %r294, 2139095040; + @%p132 bra BB0_124; + + setp.gtu.f32 %p133, %f206, 0f7F800000; + @%p133 bra BB0_123; + bra.uni BB0_121; + +BB0_123: + add.f32 %f1033, %f178, 0f3EE66666; + bra.uni BB0_124; + +BB0_121: + setp.neu.f32 %p134, %f206, 0f7F800000; + @%p134 bra BB0_124; + + selp.f32 %f1033, 0fFF800000, 0f7F800000, %p6; + +BB0_124: + setp.eq.f32 %p135, %f178, 0f3F800000; + selp.f32 %f849, 0f3F800000, %f1033, %p135; + cvt.u64.u32 %rd83, %r4; + cvt.u64.u32 %rd82, %r3; + mov.u64 %rd86, image; + cvta.global.u64 %rd81, %rd86; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r101, %r102, %rd82, %rd83, %rd26, %rd26); + // inline asm + cvt.sat.f32.f32 %f850, %f849; + mul.f32 %f851, %f850, 0f437FFD71; + cvt.rzi.u32.f32 %r297, %f851; + cvt.sat.f32.f32 %f852, %f205; + mul.f32 %f853, %f852, 0f437FFD71; + cvt.rzi.u32.f32 %r298, %f853; + cvt.sat.f32.f32 %f854, %f192; + mul.f32 %f855, %f854, 0f437FFD71; + cvt.rzi.u32.f32 %r299, %f855; + cvt.u16.u32 %rs16, %r297; + cvt.u16.u32 %rs17, %r299; + cvt.u16.u32 %rs18, %r298; + mov.u16 %rs19, 255; + st.v4.u8 [%rd80], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r412, [imageEnabled]; + +BB0_125: + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + and.b32 %r300, %r412, 4; + setp.eq.s32 %p136, %r300, 0; + @%p136 bra BB0_129; + + ld.global.u32 %r301, [additive]; + setp.eq.s32 %p137, %r301, 0; + // inline asm + { cvt.rn.f16.f32 %rs20, %f407;} + + // inline asm + @%p137 bra BB0_128; + + mov.u64 %rd99, image_HDR; + cvta.global.u64 %rd88, %rd99; + mov.u32 %r305, 8; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r101, %r305, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd87]; + // inline asm + { cvt.f32.f16 %f857, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f858, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f859, %rs29;} + + // inline asm + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd88, %r101, %r305, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f860, %f176, %f857; + add.f32 %f861, %f177, %f858; + add.f32 %f862, %f178, %f859; + // inline asm + { cvt.rn.f16.f32 %rs26, %f862;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f861;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f860;} + + // inline asm + st.v4.u16 [%rd93], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_129; + +BB0_128: + mov.u64 %rd106, image_HDR; + cvta.global.u64 %rd101, %rd106; + mov.u32 %r307, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r101, %r307, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f178;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f177;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f176;} + + // inline asm + st.v4.u16 [%rd100], {%rs31, %rs32, %rs33, %rs20}; + +BB0_129: + selp.f32 %f867, 0f3F000000, 0f3E800000, %p150; + mul.f32 %f218, %f867, %f1017; + mul.f32 %f219, %f867, %f1018; + mul.f32 %f220, %f867, %f1019; + mul.f32 %f221, %f867, %f1020; + ld.global.f32 %f868, [lightColor]; + mul.f32 %f222, %f218, %f868; + ld.global.f32 %f869, [lightColor+4]; + mul.f32 %f223, %f218, %f869; + ld.global.f32 %f870, [lightColor+8]; + mul.f32 %f224, %f218, %f870; + ld.global.u32 %r308, [additive]; + setp.eq.s32 %p138, %r308, 0; + // inline asm + { cvt.rn.f16.f32 %rs34, %f407;} + + // inline asm + @%p138 bra BB0_131; + + mov.u64 %rd119, image_RNM0; + cvta.global.u64 %rd108, %rd119; + mov.u32 %r312, 8; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r101, %r312, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd107]; + // inline asm + { cvt.f32.f16 %f871, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f872, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f873, %rs43;} + + // inline asm + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd108, %r101, %r312, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f874, %f222, %f871; + add.f32 %f875, %f223, %f872; + add.f32 %f876, %f224, %f873; + // inline asm + { cvt.rn.f16.f32 %rs40, %f876;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f875;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f874;} + + // inline asm + st.v4.u16 [%rd113], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd126, image_RNM0; + cvta.global.u64 %rd121, %rd126; + mov.u32 %r314, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r101, %r314, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f224;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f223;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f222;} + + // inline asm + st.v4.u16 [%rd120], {%rs45, %rs46, %rs47, %rs34}; + +BB0_132: + mov.f32 %f881, 0f34000000; + max.f32 %f882, %f218, %f881; + div.rn.f32 %f883, %f219, %f882; + fma.rn.f32 %f225, %f883, 0f3F000000, 0f3F000000; + div.rn.f32 %f884, %f220, %f882; + fma.rn.f32 %f226, %f884, 0f3F000000, 0f3F000000; + div.rn.f32 %f885, %f221, %f882; + fma.rn.f32 %f227, %f885, 0f3F000000, 0f3F000000; + ld.global.u32 %r315, [additive]; + setp.eq.s32 %p139, %r315, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f407;} + + // inline asm + @%p139 bra BB0_134; + + mov.u64 %rd139, image_RNM1; + cvta.global.u64 %rd128, %rd139; + mov.u32 %r319, 8; + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd128, %r101, %r319, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd127]; + // inline asm + { cvt.f32.f16 %f886, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f887, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f888, %rs57;} + + // inline asm + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd128, %r101, %r319, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f889, %f225, %f886; + add.f32 %f890, %f225, %f887; + add.f32 %f891, %f225, %f888; + // inline asm + { cvt.rn.f16.f32 %rs54, %f891;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f890;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f889;} + + // inline asm + st.v4.u16 [%rd133], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_135; + +BB0_134: + mov.u64 %rd146, image_RNM1; + cvta.global.u64 %rd141, %rd146; + mov.u32 %r321, 8; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r101, %r321, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f225;} + + // inline asm + st.v4.u16 [%rd140], {%rs59, %rs59, %rs59, %rs48}; + +BB0_135: + ld.global.u32 %r322, [additive]; + setp.eq.s32 %p140, %r322, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f407;} + + // inline asm + @%p140 bra BB0_137; + + mov.u64 %rd159, image_RNM2; + cvta.global.u64 %rd148, %rd159; + mov.u32 %r326, 8; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r101, %r326, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd147]; + // inline asm + { cvt.f32.f16 %f894, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f895, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f896, %rs69;} + + // inline asm + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd148, %r101, %r326, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f897, %f226, %f894; + add.f32 %f898, %f226, %f895; + add.f32 %f899, %f226, %f896; + // inline asm + { cvt.rn.f16.f32 %rs66, %f899;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f898;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f897;} + + // inline asm + st.v4.u16 [%rd153], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_138; + +BB0_137: + mov.u64 %rd166, image_RNM2; + cvta.global.u64 %rd161, %rd166; + mov.u32 %r328, 8; + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd161, %r101, %r328, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f226;} + + // inline asm + st.v4.u16 [%rd160], {%rs71, %rs71, %rs71, %rs60}; + +BB0_138: + ld.global.u32 %r329, [additive]; + setp.eq.s32 %p141, %r329, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f407;} + + // inline asm + @%p141 bra BB0_140; + + mov.u64 %rd179, image_RNM3; + cvta.global.u64 %rd168, %rd179; + mov.u32 %r333, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r101, %r333, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd167]; + // inline asm + { cvt.f32.f16 %f902, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f903, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f904, %rs81;} + + // inline asm + // inline asm + call (%rd173), _rt_buffer_get_64, (%rd168, %r101, %r333, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f905, %f227, %f902; + add.f32 %f906, %f227, %f903; + add.f32 %f907, %f227, %f904; + // inline asm + { cvt.rn.f16.f32 %rs78, %f907;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f906;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f905;} + + // inline asm + st.v4.u16 [%rd173], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_161; + +BB0_140: + mov.u64 %rd186, image_RNM3; + cvta.global.u64 %rd181, %rd186; + mov.u32 %r335, 8; + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd181, %r101, %r335, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f227;} + + // inline asm + st.v4.u16 [%rd180], {%rs83, %rs83, %rs83, %rs72}; + +BB0_161: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightSH.ptx.meta new file mode 100644 index 00000000..f2ad57ca --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmAreaLightSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 59f629558be07bb4fbda253d540faaed +timeCreated: 1537818498 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLight.ptx new file mode 100644 index 00000000..480ec16c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLight.ptx @@ -0,0 +1,1847 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 ignoreNormal; +.global .align 1 .b8 localLights[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<132>; + .reg .b16 %rs<59>; + .reg .f32 %f<1206>; + .reg .b32 %r<199>; + .reg .b64 %rd<126>; + + + mov.u64 %rd125, __local_depot0; + cvta.local.u64 %SP, %rd125; + ld.global.v2.u32 {%r29, %r30}, [pixelID]; + cvt.u64.u32 %rd10, %r29; + cvt.u64.u32 %rd11, %r30; + mov.u64 %rd14, uvnormal; + cvta.global.u64 %rd9, %rd14; + mov.u32 %r27, 2; + mov.u32 %r28, 4; + mov.u64 %rd13, 0; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd9, %r27, %r28, %rd10, %rd11, %rd13, %rd13); + // inline asm + ld.u32 %r1, [%rd8]; + shr.u32 %r33, %r1, 16; + cvt.u16.u32 %rs1, %r33; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r1; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p8, %rs5, 0; + mov.f32 %f1148, 0f00000000; + mov.f32 %f1149, %f1148; + mov.f32 %f1150, %f1148; + @%p8 bra BB0_2; + + ld.u8 %rs6, [%rd8+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f203, %rs8; + div.rn.f32 %f204, %f203, 0f437F0000; + fma.rn.f32 %f205, %f204, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f206, %rs6; + div.rn.f32 %f207, %f206, 0f437F0000; + fma.rn.f32 %f208, %f207, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f209, %rs3; + div.rn.f32 %f210, %f209, 0f437F0000; + fma.rn.f32 %f211, %f210, 0f40000000, 0fBF800000; + mul.f32 %f212, %f208, %f208; + fma.rn.f32 %f213, %f205, %f205, %f212; + fma.rn.f32 %f214, %f211, %f211, %f213; + sqrt.rn.f32 %f215, %f214; + rcp.rn.f32 %f216, %f215; + mul.f32 %f1148, %f205, %f216; + mul.f32 %f1149, %f208, %f216; + mul.f32 %f1150, %f211, %f216; + +BB0_2: + ld.global.v2.u32 {%r34, %r35}, [pixelID]; + ld.global.v2.u32 {%r37, %r38}, [tileInfo]; + add.s32 %r2, %r34, %r37; + add.s32 %r3, %r35, %r38; + setp.eq.f32 %p9, %f1149, 0f00000000; + setp.eq.f32 %p10, %f1148, 0f00000000; + and.pred %p11, %p10, %p9; + setp.eq.f32 %p12, %f1150, 0f00000000; + and.pred %p13, %p11, %p12; + @%p13 bra BB0_96; + bra.uni BB0_3; + +BB0_96: + ld.global.u32 %r198, [imageEnabled]; + and.b32 %r173, %r198, 1; + setp.eq.b32 %p126, %r173, 1; + @!%p126 bra BB0_98; + bra.uni BB0_97; + +BB0_97: + cvt.u64.u32 %rd86, %r2; + cvt.u64.u32 %rd87, %r3; + mov.u64 %rd90, image; + cvta.global.u64 %rd85, %rd90; + // inline asm + call (%rd84), _rt_buffer_get_64, (%rd85, %r27, %r28, %rd86, %rd87, %rd13, %rd13); + // inline asm + mov.u16 %rs40, 0; + st.v4.u8 [%rd84], {%rs40, %rs40, %rs40, %rs40}; + ld.global.u32 %r198, [imageEnabled]; + +BB0_98: + and.b32 %r176, %r198, 8; + setp.eq.s32 %p127, %r176, 0; + @%p127 bra BB0_100; + + cvt.u64.u32 %rd93, %r2; + cvt.u64.u32 %rd94, %r3; + mov.u64 %rd97, image_Mask; + cvta.global.u64 %rd92, %rd97; + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd92, %r27, %r27, %rd93, %rd94, %rd13, %rd13); + // inline asm + mov.f32 %f1140, 0f00000000; + cvt.rzi.u32.f32 %r179, %f1140; + cvt.u16.u32 %rs41, %r179; + mov.u16 %rs42, 0; + st.v2.u8 [%rd91], {%rs41, %rs42}; + ld.global.u32 %r198, [imageEnabled]; + +BB0_100: + and.b32 %r180, %r198, 4; + setp.eq.s32 %p128, %r180, 0; + @%p128 bra BB0_104; + + ld.global.u32 %r181, [additive]; + setp.eq.s32 %p129, %r181, 0; + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + @%p129 bra BB0_103; + + mov.u64 %rd110, image_HDR; + cvta.global.u64 %rd99, %rd110; + mov.u32 %r185, 8; + // inline asm + call (%rd98), _rt_buffer_get_64, (%rd99, %r27, %r185, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs49, %rs50, %rs51, %rs52}, [%rd98]; + // inline asm + { cvt.f32.f16 %f1141, %rs49;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1142, %rs50;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1143, %rs51;} + + // inline asm + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd99, %r27, %r185, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1144, %f1141, 0f00000000; + add.f32 %f1145, %f1142, 0f00000000; + add.f32 %f1146, %f1143, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs48, %f1146;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f1145;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f1144;} + + // inline asm + mov.u16 %rs53, 0; + st.v4.u16 [%rd104], {%rs46, %rs47, %rs48, %rs53}; + bra.uni BB0_104; + +BB0_3: + ld.global.v2.u32 {%r46, %r47}, [pixelID]; + cvt.u64.u32 %rd17, %r46; + cvt.u64.u32 %rd18, %r47; + mov.u64 %rd26, uvpos; + cvta.global.u64 %rd16, %rd26; + mov.u32 %r43, 12; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r27, %r43, %rd17, %rd18, %rd13, %rd13); + // inline asm + ld.f32 %f9, [%rd15+8]; + ld.f32 %f8, [%rd15+4]; + ld.f32 %f7, [%rd15]; + mul.f32 %f224, %f7, 0f3456BF95; + mul.f32 %f225, %f8, 0f3456BF95; + mul.f32 %f226, %f9, 0f3456BF95; + abs.f32 %f227, %f1148; + div.rn.f32 %f228, %f224, %f227; + abs.f32 %f229, %f1149; + div.rn.f32 %f230, %f225, %f229; + abs.f32 %f231, %f1150; + div.rn.f32 %f232, %f226, %f231; + abs.f32 %f233, %f228; + abs.f32 %f234, %f230; + abs.f32 %f235, %f232; + mov.f32 %f236, 0f38D1B717; + max.f32 %f237, %f233, %f236; + max.f32 %f238, %f234, %f236; + max.f32 %f239, %f235, %f236; + fma.rn.f32 %f10, %f1148, %f237, %f7; + fma.rn.f32 %f11, %f1149, %f238, %f8; + fma.rn.f32 %f12, %f1150, %f239, %f9; + mov.u64 %rd27, localLights; + cvta.global.u64 %rd25, %rd27; + mov.u32 %r44, 1; + mov.u32 %r45, 96; + // inline asm + call (%rd21, %rd22, %rd23, %rd24), _rt_buffer_get_size_64, (%rd25, %r44, %r45); + // inline asm + cvt.u32.u64 %r4, %rd21; + setp.eq.s32 %p14, %r4, 0; + mov.f32 %f1151, 0f00000000; + mov.f32 %f18, %f1151; + mov.f32 %f19, %f1151; + mov.f32 %f20, %f1151; + mov.f32 %f1155, %f1151; + mov.f32 %f1156, %f1151; + mov.f32 %f1157, %f1151; + @%p14 bra BB0_42; + + mov.f32 %f247, 0f40000000; + cvt.rzi.f32.f32 %f248, %f247; + add.f32 %f249, %f248, %f248; + mov.f32 %f250, 0f40800000; + sub.f32 %f251, %f250, %f249; + abs.f32 %f13, %f251; + mul.f32 %f14, %f10, 0f3456BF95; + mul.f32 %f15, %f11, 0f3456BF95; + mul.f32 %f16, %f12, 0f3456BF95; + mov.f32 %f246, 0f00000000; + mov.u32 %r190, 0; + abs.f32 %f428, %f14; + abs.f32 %f429, %f15; + max.f32 %f430, %f428, %f429; + abs.f32 %f431, %f16; + max.f32 %f432, %f430, %f431; + mov.f32 %f1151, %f246; + mov.f32 %f18, %f246; + mov.f32 %f19, %f246; + mov.f32 %f20, %f246; + mov.f32 %f1155, %f246; + mov.f32 %f1156, %f246; + mov.f32 %f1157, %f246; + +BB0_5: + cvt.u64.u32 %rd30, %r190; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd25, %r44, %r45, %rd30, %rd13, %rd13, %rd13); + // inline asm + ld.v4.f32 {%f254, %f255, %f256, %f257}, [%rd28+80]; + ld.v4.f32 {%f258, %f259, %f260, %f261}, [%rd28+64]; + ld.v4.f32 {%f262, %f263, %f264, %f265}, [%rd28+48]; + ld.v4.f32 {%f1161, %f1162, %f1163, %f269}, [%rd28+32]; + ld.v4.f32 {%f270, %f271, %f272, %f273}, [%rd28+16]; + ld.v4.f32 {%f274, %f275, %f276, %f277}, [%rd28]; + mov.b32 %r6, %f257; + sub.f32 %f279, %f275, %f7; + sub.f32 %f280, %f276, %f8; + sub.f32 %f281, %f277, %f9; + mul.f32 %f282, %f280, %f280; + fma.rn.f32 %f283, %f279, %f279, %f282; + fma.rn.f32 %f284, %f281, %f281, %f283; + sqrt.rn.f32 %f50, %f284; + rcp.rn.f32 %f285, %f50; + mul.f32 %f51, %f279, %f285; + mul.f32 %f52, %f280, %f285; + mul.f32 %f53, %f281, %f285; + mul.f32 %f54, %f50, %f273; + abs.f32 %f55, %f54; + setp.lt.f32 %p15, %f55, 0f00800000; + mul.f32 %f286, %f55, 0f4B800000; + selp.f32 %f287, 0fC3170000, 0fC2FE0000, %p15; + selp.f32 %f288, %f286, %f55, %p15; + mov.b32 %r53, %f288; + and.b32 %r54, %r53, 8388607; + or.b32 %r55, %r54, 1065353216; + mov.b32 %f289, %r55; + shr.u32 %r56, %r53, 23; + cvt.rn.f32.u32 %f290, %r56; + add.f32 %f291, %f287, %f290; + setp.gt.f32 %p16, %f289, 0f3FB504F3; + mul.f32 %f292, %f289, 0f3F000000; + add.f32 %f293, %f291, 0f3F800000; + selp.f32 %f294, %f292, %f289, %p16; + selp.f32 %f295, %f293, %f291, %p16; + add.f32 %f296, %f294, 0fBF800000; + add.f32 %f253, %f294, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f252,%f253; + // inline asm + add.f32 %f297, %f296, %f296; + mul.f32 %f298, %f252, %f297; + mul.f32 %f299, %f298, %f298; + mov.f32 %f300, 0f3C4CAF63; + mov.f32 %f301, 0f3B18F0FE; + fma.rn.f32 %f302, %f301, %f299, %f300; + mov.f32 %f303, 0f3DAAAABD; + fma.rn.f32 %f304, %f302, %f299, %f303; + mul.rn.f32 %f305, %f304, %f299; + mul.rn.f32 %f306, %f305, %f298; + sub.f32 %f307, %f296, %f298; + neg.f32 %f308, %f298; + add.f32 %f309, %f307, %f307; + fma.rn.f32 %f310, %f308, %f296, %f309; + mul.rn.f32 %f311, %f252, %f310; + add.f32 %f312, %f306, %f298; + sub.f32 %f313, %f298, %f312; + add.f32 %f314, %f306, %f313; + add.f32 %f315, %f311, %f314; + add.f32 %f316, %f312, %f315; + sub.f32 %f317, %f312, %f316; + add.f32 %f318, %f315, %f317; + mov.f32 %f319, 0f3F317200; + mul.rn.f32 %f320, %f295, %f319; + mov.f32 %f321, 0f35BFBE8E; + mul.rn.f32 %f322, %f295, %f321; + add.f32 %f323, %f320, %f316; + sub.f32 %f324, %f320, %f323; + add.f32 %f325, %f316, %f324; + add.f32 %f326, %f318, %f325; + add.f32 %f327, %f322, %f326; + add.f32 %f328, %f323, %f327; + sub.f32 %f329, %f323, %f328; + add.f32 %f330, %f327, %f329; + mul.rn.f32 %f56, %f250, %f328; + neg.f32 %f332, %f56; + fma.rn.f32 %f333, %f250, %f328, %f332; + fma.rn.f32 %f334, %f250, %f330, %f333; + fma.rn.f32 %f57, %f246, %f328, %f334; + add.rn.f32 %f58, %f56, %f57; + mov.b32 %r57, %f58; + setp.eq.s32 %p1, %r57, 1118925336; + add.s32 %r58, %r57, -1; + mov.b32 %f336, %r58; + selp.f32 %f337, %f336, %f58, %p1; + mul.f32 %f338, %f337, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f339, %f338; + mov.f32 %f340, 0fBF317200; + fma.rn.f32 %f341, %f339, %f340, %f337; + mov.f32 %f342, 0fB5BFBE8E; + fma.rn.f32 %f343, %f339, %f342, %f341; + mul.f32 %f344, %f343, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f345, %f344; + add.f32 %f346, %f339, 0f00000000; + ex2.approx.f32 %f347, %f346; + mul.f32 %f348, %f345, %f347; + setp.lt.f32 %p17, %f337, 0fC2D20000; + selp.f32 %f349, 0f00000000, %f348, %p17; + setp.gt.f32 %p18, %f337, 0f42D20000; + selp.f32 %f1158, 0f7F800000, %f349, %p18; + setp.eq.f32 %p19, %f1158, 0f7F800000; + @%p19 bra BB0_7; + + neg.f32 %f350, %f58; + add.rn.f32 %f351, %f56, %f350; + add.rn.f32 %f352, %f351, %f57; + add.f32 %f353, %f352, 0f37000000; + selp.f32 %f354, %f353, %f352, %p1; + fma.rn.f32 %f1158, %f1158, %f354, %f1158; + +BB0_7: + setp.lt.f32 %p20, %f54, 0f00000000; + setp.eq.f32 %p21, %f13, 0f3F800000; + and.pred %p2, %p20, %p21; + mov.b32 %r59, %f1158; + xor.b32 %r60, %r59, -2147483648; + mov.b32 %f355, %r60; + selp.f32 %f1160, %f355, %f1158, %p2; + setp.eq.f32 %p22, %f54, 0f00000000; + @%p22 bra BB0_10; + bra.uni BB0_8; + +BB0_10: + add.f32 %f358, %f54, %f54; + selp.f32 %f1160, %f358, 0f00000000, %p21; + bra.uni BB0_11; + +BB0_8: + setp.geu.f32 %p23, %f54, 0f00000000; + @%p23 bra BB0_11; + + cvt.rzi.f32.f32 %f357, %f250; + setp.neu.f32 %p24, %f357, 0f40800000; + selp.f32 %f1160, 0f7FFFFFFF, %f1160, %p24; + +BB0_11: + add.f32 %f359, %f55, 0f40800000; + mov.b32 %r61, %f359; + setp.lt.s32 %p26, %r61, 2139095040; + @%p26 bra BB0_16; + + setp.gtu.f32 %p27, %f55, 0f7F800000; + @%p27 bra BB0_15; + bra.uni BB0_13; + +BB0_15: + add.f32 %f1160, %f54, 0f40800000; + bra.uni BB0_16; + +BB0_13: + setp.neu.f32 %p28, %f55, 0f7F800000; + @%p28 bra BB0_16; + + selp.f32 %f1160, 0fFF800000, 0f7F800000, %p2; + +BB0_16: + mul.f32 %f360, %f50, %f271; + mov.f32 %f1176, 0f3F800000; + sub.f32 %f362, %f1176, %f1160; + setp.eq.f32 %p29, %f54, 0f3F800000; + selp.f32 %f363, 0f00000000, %f362, %p29; + cvt.sat.f32.f32 %f364, %f363; + fma.rn.f32 %f365, %f360, %f360, %f272; + div.rn.f32 %f1164, %f364, %f365; + mul.f32 %f366, %f1149, %f52; + fma.rn.f32 %f367, %f1148, %f51, %f366; + fma.rn.f32 %f368, %f1150, %f53, %f367; + ld.global.u32 %r62, [ignoreNormal]; + setp.eq.s32 %p30, %r62, 0; + selp.f32 %f369, %f368, 0f3F800000, %p30; + cvt.sat.f32.f32 %f85, %f369; + setp.eq.f32 %p31, %f274, 0f3F800000; + @%p31 bra BB0_22; + bra.uni BB0_17; + +BB0_22: + setp.leu.f32 %p35, %f269, 0f00000000; + @%p35 bra BB0_24; + + mul.f32 %f400, %f254, %f51; + mul.f32 %f401, %f255, %f52; + neg.f32 %f402, %f401; + sub.f32 %f403, %f402, %f400; + mul.f32 %f404, %f256, %f53; + sub.f32 %f405, %f403, %f404; + setp.gt.f32 %p36, %f405, 0f00000000; + selp.f32 %f406, 0f3F800000, 0f00000000, %p36; + mul.f32 %f407, %f263, %f52; + fma.rn.f32 %f408, %f262, %f51, %f407; + mul.f32 %f409, %f259, %f52; + fma.rn.f32 %f410, %f258, %f51, %f409; + fma.rn.f32 %f411, %f264, %f53, %f408; + fma.rn.f32 %f412, %f260, %f53, %f410; + fma.rn.f32 %f396, %f265, %f411, 0f3F000000; + fma.rn.f32 %f397, %f265, %f412, 0f3F000000; + cvt.rzi.s32.f32 %r66, %f269; + mov.f32 %f399, 0f00000000; + // inline asm + call (%f392, %f393, %f394, %f395), _rt_texture_get_f_id, (%r66, %r27, %f396, %f397, %f399, %f399); + // inline asm + mul.f32 %f413, %f406, %f392; + mul.f32 %f414, %f406, %f393; + mul.f32 %f415, %f406, %f394; + mul.f32 %f1161, %f1161, %f413; + mul.f32 %f1162, %f1162, %f414; + mul.f32 %f1163, %f1163, %f415; + bra.uni BB0_24; + +BB0_17: + setp.eq.f32 %p32, %f274, 0f40000000; + @%p32 bra BB0_20; + bra.uni BB0_18; + +BB0_20: + setp.leu.f32 %p34, %f269, 0f00000000; + @%p34 bra BB0_24; + + mul.f32 %f386, %f263, %f52; + fma.rn.f32 %f387, %f262, %f51, %f386; + mul.f32 %f388, %f259, %f52; + fma.rn.f32 %f389, %f258, %f51, %f388; + mul.f32 %f390, %f255, %f52; + fma.rn.f32 %f391, %f254, %f51, %f390; + fma.rn.f32 %f383, %f264, %f53, %f387; + fma.rn.f32 %f384, %f260, %f53, %f389; + fma.rn.f32 %f385, %f256, %f53, %f391; + cvt.rzi.s32.f32 %r63, %f269; + mov.u32 %r64, 6; + mov.u32 %r65, 0; + // inline asm + call (%f379, %f380, %f381, %f382), _rt_texture_get_base_id, (%r63, %r64, %f383, %f384, %f385, %r65); + // inline asm + mul.f32 %f1161, %f1161, %f379; + mul.f32 %f1162, %f1162, %f380; + mul.f32 %f1163, %f1163, %f381; + bra.uni BB0_24; + +BB0_18: + setp.neu.f32 %p33, %f274, 0f40800000; + @%p33 bra BB0_24; + + mul.f32 %f370, %f254, %f51; + mul.f32 %f371, %f255, %f52; + neg.f32 %f372, %f371; + sub.f32 %f373, %f372, %f370; + mul.f32 %f374, %f256, %f53; + sub.f32 %f375, %f373, %f374; + fma.rn.f32 %f376, %f269, %f375, %f265; + cvt.sat.f32.f32 %f377, %f376; + mul.f32 %f378, %f377, %f377; + mul.f32 %f1164, %f1164, %f378; + +BB0_24: + max.f32 %f422, %f1161, %f1162; + max.f32 %f423, %f422, %f1163; + mul.f32 %f97, %f85, %f1164; + mul.f32 %f424, %f97, %f423; + setp.lt.f32 %p38, %f424, 0f3727C5AC; + mov.pred %p131, -1; + mov.f32 %f104, 0f00000000; + mov.f32 %f105, %f104; + mov.f32 %f106, %f104; + mov.f32 %f107, %f104; + mov.f32 %f108, %f104; + mov.f32 %f109, %f104; + @%p38 bra BB0_26; + + mul.f32 %f104, %f1161, %f97; + mul.f32 %f105, %f1162, %f97; + mul.f32 %f106, %f1163, %f97; + ld.global.u8 %rs10, [imageEnabled]; + and.b16 %rs11, %rs10, 64; + setp.eq.s16 %p40, %rs11, 0; + selp.f32 %f107, 0f00000000, %f51, %p40; + selp.f32 %f108, 0f00000000, %f52, %p40; + selp.f32 %f109, 0f00000000, %f53, %p40; + mov.pred %p131, 0; + +BB0_26: + @%p131 bra BB0_41; + + setp.eq.s32 %p41, %r6, 0; + @%p41 bra BB0_38; + + mov.f32 %f1175, 0f00000000; + setp.lt.s32 %p42, %r6, 1; + @%p42 bra BB0_37; + + max.f32 %f111, %f432, %f236; + and.b32 %r8, %r6, 3; + setp.eq.s32 %p43, %r8, 0; + add.u64 %rd35, %SP, 0; + cvta.to.local.u64 %rd2, %rd35; + mov.f32 %f1175, 0f00000000; + mov.u32 %r194, 0; + @%p43 bra BB0_35; + + setp.eq.s32 %p44, %r8, 1; + mov.f32 %f1172, 0f00000000; + mov.u32 %r192, 0; + @%p44 bra BB0_34; + + setp.eq.s32 %p45, %r8, 2; + mov.f32 %f1171, 0f00000000; + mov.u32 %r191, 0; + @%p45 bra BB0_33; + + sub.f32 %f444, %f275, %f270; + sub.f32 %f445, %f276, %f270; + sub.f32 %f446, %f277, %f270; + sub.f32 %f447, %f444, %f7; + sub.f32 %f448, %f445, %f8; + sub.f32 %f449, %f446, %f9; + mul.f32 %f450, %f448, %f448; + fma.rn.f32 %f451, %f447, %f447, %f450; + fma.rn.f32 %f452, %f449, %f449, %f451; + sqrt.rn.f32 %f443, %f452; + rcp.rn.f32 %f453, %f443; + mul.f32 %f439, %f453, %f447; + mul.f32 %f440, %f453, %f448; + mul.f32 %f441, %f453, %f449; + ld.global.u32 %r75, [imageEnabled]; + and.b32 %r76, %r75, 32; + setp.eq.s32 %p46, %r76, 0; + selp.f32 %f454, 0f3F800000, 0f41200000, %p46; + mul.f32 %f442, %f454, %f111; + mov.u32 %r77, 1065353216; + st.local.u32 [%rd2], %r77; + ld.global.u32 %r71, [root]; + // inline asm + call _rt_trace_64, (%r71, %f10, %f11, %f12, %f439, %f440, %f441, %r44, %f442, %f443, %rd35, %r28); + // inline asm + ld.local.f32 %f455, [%rd2]; + add.f32 %f1171, %f455, 0f00000000; + mov.u32 %r191, %r44; + +BB0_33: + cvt.rn.f32.s32 %f464, %r191; + mul.f32 %f465, %f464, 0f3DD32618; + cvt.rmi.f32.f32 %f466, %f465; + sub.f32 %f467, %f465, %f466; + mul.f32 %f468, %f464, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f469, %f468; + sub.f32 %f470, %f468, %f469; + mul.f32 %f471, %f464, 0f3DC74539; + cvt.rmi.f32.f32 %f472, %f471; + sub.f32 %f473, %f471, %f472; + add.f32 %f474, %f470, 0f4199851F; + add.f32 %f475, %f473, 0f4199851F; + add.f32 %f476, %f467, 0f4199851F; + mul.f32 %f477, %f470, %f475; + fma.rn.f32 %f478, %f467, %f474, %f477; + fma.rn.f32 %f479, %f476, %f473, %f478; + add.f32 %f480, %f467, %f479; + add.f32 %f481, %f470, %f479; + add.f32 %f482, %f473, %f479; + add.f32 %f483, %f480, %f481; + mul.f32 %f484, %f482, %f483; + cvt.rmi.f32.f32 %f485, %f484; + sub.f32 %f486, %f484, %f485; + add.f32 %f487, %f480, %f482; + mul.f32 %f488, %f481, %f487; + cvt.rmi.f32.f32 %f489, %f488; + sub.f32 %f490, %f488, %f489; + add.f32 %f491, %f481, %f482; + mul.f32 %f492, %f480, %f491; + cvt.rmi.f32.f32 %f493, %f492; + sub.f32 %f494, %f492, %f493; + fma.rn.f32 %f495, %f486, 0f40000000, 0fBF800000; + fma.rn.f32 %f496, %f490, 0f40000000, 0fBF800000; + fma.rn.f32 %f497, %f494, 0f40000000, 0fBF800000; + fma.rn.f32 %f498, %f270, %f495, %f275; + fma.rn.f32 %f499, %f270, %f496, %f276; + fma.rn.f32 %f500, %f270, %f497, %f277; + sub.f32 %f501, %f498, %f7; + sub.f32 %f502, %f499, %f8; + sub.f32 %f503, %f500, %f9; + mul.f32 %f504, %f502, %f502; + fma.rn.f32 %f505, %f501, %f501, %f504; + fma.rn.f32 %f506, %f503, %f503, %f505; + sqrt.rn.f32 %f463, %f506; + rcp.rn.f32 %f507, %f463; + mul.f32 %f459, %f507, %f501; + mul.f32 %f460, %f507, %f502; + mul.f32 %f461, %f507, %f503; + ld.global.u32 %r81, [imageEnabled]; + and.b32 %r82, %r81, 32; + setp.eq.s32 %p47, %r82, 0; + selp.f32 %f508, 0f3F800000, 0f41200000, %p47; + mul.f32 %f462, %f508, %f111; + mov.u32 %r83, 1065353216; + st.local.u32 [%rd2], %r83; + ld.global.u32 %r78, [root]; + // inline asm + call _rt_trace_64, (%r78, %f10, %f11, %f12, %f459, %f460, %f461, %r44, %f462, %f463, %rd35, %r28); + // inline asm + ld.local.f32 %f509, [%rd2]; + add.f32 %f1172, %f1171, %f509; + add.s32 %r192, %r191, 1; + +BB0_34: + cvt.rn.f32.s32 %f518, %r192; + mul.f32 %f519, %f518, 0f3DD32618; + cvt.rmi.f32.f32 %f520, %f519; + sub.f32 %f521, %f519, %f520; + mul.f32 %f522, %f518, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f523, %f522; + sub.f32 %f524, %f522, %f523; + mul.f32 %f525, %f518, 0f3DC74539; + cvt.rmi.f32.f32 %f526, %f525; + sub.f32 %f527, %f525, %f526; + add.f32 %f528, %f524, 0f4199851F; + add.f32 %f529, %f527, 0f4199851F; + add.f32 %f530, %f521, 0f4199851F; + mul.f32 %f531, %f524, %f529; + fma.rn.f32 %f532, %f521, %f528, %f531; + fma.rn.f32 %f533, %f530, %f527, %f532; + add.f32 %f534, %f521, %f533; + add.f32 %f535, %f524, %f533; + add.f32 %f536, %f527, %f533; + add.f32 %f537, %f534, %f535; + mul.f32 %f538, %f536, %f537; + cvt.rmi.f32.f32 %f539, %f538; + sub.f32 %f540, %f538, %f539; + add.f32 %f541, %f534, %f536; + mul.f32 %f542, %f535, %f541; + cvt.rmi.f32.f32 %f543, %f542; + sub.f32 %f544, %f542, %f543; + add.f32 %f545, %f535, %f536; + mul.f32 %f546, %f534, %f545; + cvt.rmi.f32.f32 %f547, %f546; + sub.f32 %f548, %f546, %f547; + fma.rn.f32 %f549, %f540, 0f40000000, 0fBF800000; + fma.rn.f32 %f550, %f544, 0f40000000, 0fBF800000; + fma.rn.f32 %f551, %f548, 0f40000000, 0fBF800000; + fma.rn.f32 %f552, %f270, %f549, %f275; + fma.rn.f32 %f553, %f270, %f550, %f276; + fma.rn.f32 %f554, %f270, %f551, %f277; + sub.f32 %f555, %f552, %f7; + sub.f32 %f556, %f553, %f8; + sub.f32 %f557, %f554, %f9; + mul.f32 %f558, %f556, %f556; + fma.rn.f32 %f559, %f555, %f555, %f558; + fma.rn.f32 %f560, %f557, %f557, %f559; + sqrt.rn.f32 %f517, %f560; + rcp.rn.f32 %f561, %f517; + mul.f32 %f513, %f561, %f555; + mul.f32 %f514, %f561, %f556; + mul.f32 %f515, %f561, %f557; + ld.global.u32 %r87, [imageEnabled]; + and.b32 %r88, %r87, 32; + setp.eq.s32 %p48, %r88, 0; + selp.f32 %f562, 0f3F800000, 0f41200000, %p48; + mul.f32 %f516, %f562, %f111; + mov.u32 %r89, 1065353216; + st.local.u32 [%rd2], %r89; + ld.global.u32 %r84, [root]; + mov.u32 %r85, 1; + // inline asm + call _rt_trace_64, (%r84, %f10, %f11, %f12, %f513, %f514, %f515, %r85, %f516, %f517, %rd35, %r28); + // inline asm + ld.local.f32 %f563, [%rd2]; + add.f32 %f1175, %f1172, %f563; + add.s32 %r194, %r192, 1; + +BB0_35: + setp.lt.u32 %p49, %r6, 4; + @%p49 bra BB0_37; + +BB0_36: + cvt.rn.f32.s32 %f596, %r194; + mul.f32 %f597, %f596, 0f3DD32618; + cvt.rmi.f32.f32 %f598, %f597; + sub.f32 %f599, %f597, %f598; + mul.f32 %f600, %f596, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f601, %f600; + sub.f32 %f602, %f600, %f601; + mul.f32 %f603, %f596, 0f3DC74539; + cvt.rmi.f32.f32 %f604, %f603; + sub.f32 %f605, %f603, %f604; + add.f32 %f606, %f602, 0f4199851F; + add.f32 %f607, %f605, 0f4199851F; + add.f32 %f608, %f599, 0f4199851F; + mul.f32 %f609, %f602, %f607; + fma.rn.f32 %f610, %f599, %f606, %f609; + fma.rn.f32 %f611, %f608, %f605, %f610; + add.f32 %f612, %f599, %f611; + add.f32 %f613, %f602, %f611; + add.f32 %f614, %f605, %f611; + add.f32 %f615, %f612, %f613; + mul.f32 %f616, %f614, %f615; + cvt.rmi.f32.f32 %f617, %f616; + sub.f32 %f618, %f616, %f617; + add.f32 %f619, %f612, %f614; + mul.f32 %f620, %f613, %f619; + cvt.rmi.f32.f32 %f621, %f620; + sub.f32 %f622, %f620, %f621; + add.f32 %f623, %f613, %f614; + mul.f32 %f624, %f612, %f623; + cvt.rmi.f32.f32 %f625, %f624; + sub.f32 %f626, %f624, %f625; + fma.rn.f32 %f627, %f618, 0f40000000, 0fBF800000; + fma.rn.f32 %f628, %f622, 0f40000000, 0fBF800000; + fma.rn.f32 %f629, %f626, 0f40000000, 0fBF800000; + fma.rn.f32 %f630, %f270, %f627, %f275; + fma.rn.f32 %f631, %f270, %f628, %f276; + fma.rn.f32 %f632, %f270, %f629, %f277; + sub.f32 %f633, %f630, %f7; + sub.f32 %f634, %f631, %f8; + sub.f32 %f635, %f632, %f9; + mul.f32 %f636, %f634, %f634; + fma.rn.f32 %f637, %f633, %f633, %f636; + fma.rn.f32 %f638, %f635, %f635, %f637; + sqrt.rn.f32 %f571, %f638; + rcp.rn.f32 %f639, %f571; + mul.f32 %f567, %f639, %f633; + mul.f32 %f568, %f639, %f634; + mul.f32 %f569, %f639, %f635; + ld.global.u32 %r102, [imageEnabled]; + and.b32 %r103, %r102, 32; + setp.eq.s32 %p50, %r103, 0; + selp.f32 %f640, 0f3F800000, 0f41200000, %p50; + mul.f32 %f570, %f640, %f111; + mov.u32 %r104, 1065353216; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r90, [root]; + mov.u32 %r100, 1; + // inline asm + call _rt_trace_64, (%r90, %f10, %f11, %f12, %f567, %f568, %f569, %r100, %f570, %f571, %rd35, %r28); + // inline asm + ld.local.f32 %f641, [%rd2]; + add.f32 %f642, %f1175, %f641; + add.s32 %r105, %r194, 1; + cvt.rn.f32.s32 %f643, %r105; + mul.f32 %f644, %f643, 0f3DD32618; + cvt.rmi.f32.f32 %f645, %f644; + sub.f32 %f646, %f644, %f645; + mul.f32 %f647, %f643, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f648, %f647; + sub.f32 %f649, %f647, %f648; + mul.f32 %f650, %f643, 0f3DC74539; + cvt.rmi.f32.f32 %f651, %f650; + sub.f32 %f652, %f650, %f651; + add.f32 %f653, %f649, 0f4199851F; + add.f32 %f654, %f652, 0f4199851F; + add.f32 %f655, %f646, 0f4199851F; + mul.f32 %f656, %f649, %f654; + fma.rn.f32 %f657, %f646, %f653, %f656; + fma.rn.f32 %f658, %f655, %f652, %f657; + add.f32 %f659, %f646, %f658; + add.f32 %f660, %f649, %f658; + add.f32 %f661, %f652, %f658; + add.f32 %f662, %f659, %f660; + mul.f32 %f663, %f661, %f662; + cvt.rmi.f32.f32 %f664, %f663; + sub.f32 %f665, %f663, %f664; + add.f32 %f666, %f659, %f661; + mul.f32 %f667, %f660, %f666; + cvt.rmi.f32.f32 %f668, %f667; + sub.f32 %f669, %f667, %f668; + add.f32 %f670, %f660, %f661; + mul.f32 %f671, %f659, %f670; + cvt.rmi.f32.f32 %f672, %f671; + sub.f32 %f673, %f671, %f672; + fma.rn.f32 %f674, %f665, 0f40000000, 0fBF800000; + fma.rn.f32 %f675, %f669, 0f40000000, 0fBF800000; + fma.rn.f32 %f676, %f673, 0f40000000, 0fBF800000; + fma.rn.f32 %f677, %f270, %f674, %f275; + fma.rn.f32 %f678, %f270, %f675, %f276; + fma.rn.f32 %f679, %f270, %f676, %f277; + sub.f32 %f680, %f677, %f7; + sub.f32 %f681, %f678, %f8; + sub.f32 %f682, %f679, %f9; + mul.f32 %f683, %f681, %f681; + fma.rn.f32 %f684, %f680, %f680, %f683; + fma.rn.f32 %f685, %f682, %f682, %f684; + sqrt.rn.f32 %f579, %f685; + rcp.rn.f32 %f686, %f579; + mul.f32 %f575, %f686, %f680; + mul.f32 %f576, %f686, %f681; + mul.f32 %f577, %f686, %f682; + ld.global.u32 %r106, [imageEnabled]; + and.b32 %r107, %r106, 32; + setp.eq.s32 %p51, %r107, 0; + selp.f32 %f687, 0f3F800000, 0f41200000, %p51; + mul.f32 %f578, %f687, %f111; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r93, [root]; + // inline asm + call _rt_trace_64, (%r93, %f10, %f11, %f12, %f575, %f576, %f577, %r100, %f578, %f579, %rd35, %r28); + // inline asm + ld.local.f32 %f688, [%rd2]; + add.f32 %f689, %f642, %f688; + add.s32 %r108, %r194, 2; + cvt.rn.f32.s32 %f690, %r108; + mul.f32 %f691, %f690, 0f3DD32618; + cvt.rmi.f32.f32 %f692, %f691; + sub.f32 %f693, %f691, %f692; + mul.f32 %f694, %f690, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f695, %f694; + sub.f32 %f696, %f694, %f695; + mul.f32 %f697, %f690, 0f3DC74539; + cvt.rmi.f32.f32 %f698, %f697; + sub.f32 %f699, %f697, %f698; + add.f32 %f700, %f696, 0f4199851F; + add.f32 %f701, %f699, 0f4199851F; + add.f32 %f702, %f693, 0f4199851F; + mul.f32 %f703, %f696, %f701; + fma.rn.f32 %f704, %f693, %f700, %f703; + fma.rn.f32 %f705, %f702, %f699, %f704; + add.f32 %f706, %f693, %f705; + add.f32 %f707, %f696, %f705; + add.f32 %f708, %f699, %f705; + add.f32 %f709, %f706, %f707; + mul.f32 %f710, %f708, %f709; + cvt.rmi.f32.f32 %f711, %f710; + sub.f32 %f712, %f710, %f711; + add.f32 %f713, %f706, %f708; + mul.f32 %f714, %f707, %f713; + cvt.rmi.f32.f32 %f715, %f714; + sub.f32 %f716, %f714, %f715; + add.f32 %f717, %f707, %f708; + mul.f32 %f718, %f706, %f717; + cvt.rmi.f32.f32 %f719, %f718; + sub.f32 %f720, %f718, %f719; + fma.rn.f32 %f721, %f712, 0f40000000, 0fBF800000; + fma.rn.f32 %f722, %f716, 0f40000000, 0fBF800000; + fma.rn.f32 %f723, %f720, 0f40000000, 0fBF800000; + fma.rn.f32 %f724, %f270, %f721, %f275; + fma.rn.f32 %f725, %f270, %f722, %f276; + fma.rn.f32 %f726, %f270, %f723, %f277; + sub.f32 %f727, %f724, %f7; + sub.f32 %f728, %f725, %f8; + sub.f32 %f729, %f726, %f9; + mul.f32 %f730, %f728, %f728; + fma.rn.f32 %f731, %f727, %f727, %f730; + fma.rn.f32 %f732, %f729, %f729, %f731; + sqrt.rn.f32 %f587, %f732; + rcp.rn.f32 %f733, %f587; + mul.f32 %f583, %f733, %f727; + mul.f32 %f584, %f733, %f728; + mul.f32 %f585, %f733, %f729; + ld.global.u32 %r109, [imageEnabled]; + and.b32 %r110, %r109, 32; + setp.eq.s32 %p52, %r110, 0; + selp.f32 %f734, 0f3F800000, 0f41200000, %p52; + mul.f32 %f586, %f734, %f111; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r96, [root]; + // inline asm + call _rt_trace_64, (%r96, %f10, %f11, %f12, %f583, %f584, %f585, %r100, %f586, %f587, %rd35, %r28); + // inline asm + ld.local.f32 %f735, [%rd2]; + add.f32 %f736, %f689, %f735; + add.s32 %r111, %r194, 3; + cvt.rn.f32.s32 %f737, %r111; + mul.f32 %f738, %f737, 0f3DD32618; + cvt.rmi.f32.f32 %f739, %f738; + sub.f32 %f740, %f738, %f739; + mul.f32 %f741, %f737, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f742, %f741; + sub.f32 %f743, %f741, %f742; + mul.f32 %f744, %f737, 0f3DC74539; + cvt.rmi.f32.f32 %f745, %f744; + sub.f32 %f746, %f744, %f745; + add.f32 %f747, %f743, 0f4199851F; + add.f32 %f748, %f746, 0f4199851F; + add.f32 %f749, %f740, 0f4199851F; + mul.f32 %f750, %f743, %f748; + fma.rn.f32 %f751, %f740, %f747, %f750; + fma.rn.f32 %f752, %f749, %f746, %f751; + add.f32 %f753, %f740, %f752; + add.f32 %f754, %f743, %f752; + add.f32 %f755, %f746, %f752; + add.f32 %f756, %f753, %f754; + mul.f32 %f757, %f755, %f756; + cvt.rmi.f32.f32 %f758, %f757; + sub.f32 %f759, %f757, %f758; + add.f32 %f760, %f753, %f755; + mul.f32 %f761, %f754, %f760; + cvt.rmi.f32.f32 %f762, %f761; + sub.f32 %f763, %f761, %f762; + add.f32 %f764, %f754, %f755; + mul.f32 %f765, %f753, %f764; + cvt.rmi.f32.f32 %f766, %f765; + sub.f32 %f767, %f765, %f766; + fma.rn.f32 %f768, %f759, 0f40000000, 0fBF800000; + fma.rn.f32 %f769, %f763, 0f40000000, 0fBF800000; + fma.rn.f32 %f770, %f767, 0f40000000, 0fBF800000; + fma.rn.f32 %f771, %f270, %f768, %f275; + fma.rn.f32 %f772, %f270, %f769, %f276; + fma.rn.f32 %f773, %f270, %f770, %f277; + sub.f32 %f774, %f771, %f7; + sub.f32 %f775, %f772, %f8; + sub.f32 %f776, %f773, %f9; + mul.f32 %f777, %f775, %f775; + fma.rn.f32 %f778, %f774, %f774, %f777; + fma.rn.f32 %f779, %f776, %f776, %f778; + sqrt.rn.f32 %f595, %f779; + rcp.rn.f32 %f780, %f595; + mul.f32 %f591, %f780, %f774; + mul.f32 %f592, %f780, %f775; + mul.f32 %f593, %f780, %f776; + ld.global.u32 %r112, [imageEnabled]; + and.b32 %r113, %r112, 32; + setp.eq.s32 %p53, %r113, 0; + selp.f32 %f781, 0f3F800000, 0f41200000, %p53; + mul.f32 %f594, %f781, %f111; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r99, [root]; + // inline asm + call _rt_trace_64, (%r99, %f10, %f11, %f12, %f591, %f592, %f593, %r100, %f594, %f595, %rd35, %r28); + // inline asm + ld.local.f32 %f782, [%rd2]; + add.f32 %f1175, %f736, %f782; + add.s32 %r194, %r194, 4; + setp.lt.s32 %p54, %r194, %r6; + @%p54 bra BB0_36; + +BB0_37: + cvt.rn.f32.s32 %f783, %r6; + div.rn.f32 %f1176, %f1175, %f783; + +BB0_38: + fma.rn.f32 %f1157, %f104, %f1176, %f1157; + fma.rn.f32 %f1156, %f105, %f1176, %f1156; + fma.rn.f32 %f1155, %f106, %f1176, %f1155; + ld.global.u8 %rs12, [imageEnabled]; + and.b16 %rs13, %rs12, 64; + setp.eq.s16 %p55, %rs13, 0; + @%p55 bra BB0_40; + + mul.f32 %f784, %f105, 0f3F372474; + fma.rn.f32 %f785, %f104, 0f3E59999A, %f784; + fma.rn.f32 %f786, %f106, 0f3D93A92A, %f785; + fma.rn.f32 %f20, %f107, %f786, %f20; + fma.rn.f32 %f19, %f108, %f786, %f19; + fma.rn.f32 %f18, %f786, %f109, %f18; + +BB0_40: + add.f32 %f1151, %f1151, %f1176; + +BB0_41: + add.s32 %r190, %r190, 1; + setp.lt.u32 %p56, %r190, %r4; + @%p56 bra BB0_5; + +BB0_42: + ld.global.u32 %r196, [imageEnabled]; + and.b32 %r114, %r196, 8; + setp.eq.s32 %p57, %r114, 0; + @%p57 bra BB0_55; + + cvt.sat.f32.f32 %f147, %f1151; + cvt.u64.u32 %rd46, %r3; + cvt.u64.u32 %rd45, %r2; + mov.u64 %rd49, image_Mask; + cvta.global.u64 %rd44, %rd49; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd44, %r27, %r27, %rd45, %rd46, %rd13, %rd13); + // inline asm + mov.f32 %f789, 0f3E68BA2E; + cvt.rzi.f32.f32 %f790, %f789; + fma.rn.f32 %f791, %f790, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f148, %f791; + abs.f32 %f149, %f147; + setp.lt.f32 %p58, %f149, 0f00800000; + mul.f32 %f792, %f149, 0f4B800000; + selp.f32 %f793, 0fC3170000, 0fC2FE0000, %p58; + selp.f32 %f794, %f792, %f149, %p58; + mov.b32 %r117, %f794; + and.b32 %r118, %r117, 8388607; + or.b32 %r119, %r118, 1065353216; + mov.b32 %f795, %r119; + shr.u32 %r120, %r117, 23; + cvt.rn.f32.u32 %f796, %r120; + add.f32 %f797, %f793, %f796; + setp.gt.f32 %p59, %f795, 0f3FB504F3; + mul.f32 %f798, %f795, 0f3F000000; + add.f32 %f799, %f797, 0f3F800000; + selp.f32 %f800, %f798, %f795, %p59; + selp.f32 %f801, %f799, %f797, %p59; + add.f32 %f802, %f800, 0fBF800000; + add.f32 %f788, %f800, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f787,%f788; + // inline asm + add.f32 %f803, %f802, %f802; + mul.f32 %f804, %f787, %f803; + mul.f32 %f805, %f804, %f804; + mov.f32 %f806, 0f3C4CAF63; + mov.f32 %f807, 0f3B18F0FE; + fma.rn.f32 %f808, %f807, %f805, %f806; + mov.f32 %f809, 0f3DAAAABD; + fma.rn.f32 %f810, %f808, %f805, %f809; + mul.rn.f32 %f811, %f810, %f805; + mul.rn.f32 %f812, %f811, %f804; + sub.f32 %f813, %f802, %f804; + neg.f32 %f814, %f804; + add.f32 %f815, %f813, %f813; + fma.rn.f32 %f816, %f814, %f802, %f815; + mul.rn.f32 %f817, %f787, %f816; + add.f32 %f818, %f812, %f804; + sub.f32 %f819, %f804, %f818; + add.f32 %f820, %f812, %f819; + add.f32 %f821, %f817, %f820; + add.f32 %f822, %f818, %f821; + sub.f32 %f823, %f818, %f822; + add.f32 %f824, %f821, %f823; + mov.f32 %f825, 0f3F317200; + mul.rn.f32 %f826, %f801, %f825; + mov.f32 %f827, 0f35BFBE8E; + mul.rn.f32 %f828, %f801, %f827; + add.f32 %f829, %f826, %f822; + sub.f32 %f830, %f826, %f829; + add.f32 %f831, %f822, %f830; + add.f32 %f832, %f824, %f831; + add.f32 %f833, %f828, %f832; + add.f32 %f834, %f829, %f833; + sub.f32 %f835, %f829, %f834; + add.f32 %f836, %f833, %f835; + mov.f32 %f837, 0f3EE8BA2E; + mul.rn.f32 %f838, %f837, %f834; + neg.f32 %f839, %f838; + fma.rn.f32 %f840, %f837, %f834, %f839; + fma.rn.f32 %f841, %f837, %f836, %f840; + mov.f32 %f842, 0f00000000; + fma.rn.f32 %f843, %f842, %f834, %f841; + add.rn.f32 %f844, %f838, %f843; + neg.f32 %f845, %f844; + add.rn.f32 %f846, %f838, %f845; + add.rn.f32 %f847, %f846, %f843; + mov.b32 %r121, %f844; + setp.eq.s32 %p60, %r121, 1118925336; + add.s32 %r122, %r121, -1; + mov.b32 %f848, %r122; + add.f32 %f849, %f847, 0f37000000; + selp.f32 %f850, %f848, %f844, %p60; + selp.f32 %f150, %f849, %f847, %p60; + mul.f32 %f851, %f850, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f852, %f851; + mov.f32 %f853, 0fBF317200; + fma.rn.f32 %f854, %f852, %f853, %f850; + mov.f32 %f855, 0fB5BFBE8E; + fma.rn.f32 %f856, %f852, %f855, %f854; + mul.f32 %f857, %f856, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f858, %f857; + add.f32 %f859, %f852, 0f00000000; + ex2.approx.f32 %f860, %f859; + mul.f32 %f861, %f858, %f860; + setp.lt.f32 %p61, %f850, 0fC2D20000; + selp.f32 %f862, 0f00000000, %f861, %p61; + setp.gt.f32 %p62, %f850, 0f42D20000; + selp.f32 %f1194, 0f7F800000, %f862, %p62; + setp.eq.f32 %p63, %f1194, 0f7F800000; + @%p63 bra BB0_45; + + fma.rn.f32 %f1194, %f1194, %f150, %f1194; + +BB0_45: + setp.lt.f32 %p64, %f147, 0f00000000; + setp.eq.f32 %p65, %f148, 0f3F800000; + and.pred %p4, %p64, %p65; + mov.b32 %r123, %f1194; + xor.b32 %r124, %r123, -2147483648; + mov.b32 %f863, %r124; + selp.f32 %f1196, %f863, %f1194, %p4; + setp.eq.f32 %p66, %f147, 0f00000000; + @%p66 bra BB0_48; + bra.uni BB0_46; + +BB0_48: + add.f32 %f866, %f147, %f147; + selp.f32 %f1196, %f866, 0f00000000, %p65; + bra.uni BB0_49; + +BB0_103: + mov.u64 %rd117, image_HDR; + cvta.global.u64 %rd112, %rd117; + mov.u32 %r187, 8; + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd112, %r27, %r187, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1147, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs54, %f1147;} + + // inline asm + mov.u16 %rs55, 0; + st.v4.u16 [%rd111], {%rs54, %rs54, %rs54, %rs55}; + +BB0_104: + ld.global.u8 %rs56, [imageEnabled]; + and.b16 %rs57, %rs56, 64; + setp.eq.s16 %p130, %rs57, 0; + @%p130 bra BB0_106; + + cvt.u64.u32 %rd120, %r2; + cvt.u64.u32 %rd121, %r3; + mov.u64 %rd124, image_Dir; + cvta.global.u64 %rd119, %rd124; + // inline asm + call (%rd118), _rt_buffer_get_64, (%rd119, %r27, %r28, %rd120, %rd121, %rd13, %rd13); + // inline asm + mov.u16 %rs58, 0; + st.v4.u8 [%rd118], {%rs58, %rs58, %rs58, %rs58}; + bra.uni BB0_106; + +BB0_46: + setp.geu.f32 %p67, %f147, 0f00000000; + @%p67 bra BB0_49; + + cvt.rzi.f32.f32 %f865, %f837; + setp.neu.f32 %p68, %f865, 0f3EE8BA2E; + selp.f32 %f1196, 0f7FFFFFFF, %f1196, %p68; + +BB0_49: + add.f32 %f867, %f149, 0f3EE8BA2E; + mov.b32 %r125, %f867; + setp.lt.s32 %p70, %r125, 2139095040; + @%p70 bra BB0_54; + + setp.gtu.f32 %p71, %f149, 0f7F800000; + @%p71 bra BB0_53; + bra.uni BB0_51; + +BB0_53: + add.f32 %f1196, %f147, 0f3EE8BA2E; + bra.uni BB0_54; + +BB0_51: + setp.neu.f32 %p72, %f149, 0f7F800000; + @%p72 bra BB0_54; + + selp.f32 %f1196, 0fFF800000, 0f7F800000, %p4; + +BB0_54: + mul.f32 %f868, %f1196, 0f437F0000; + setp.eq.f32 %p73, %f147, 0f3F800000; + selp.f32 %f869, 0f437F0000, %f868, %p73; + cvt.rzi.u32.f32 %r126, %f869; + cvt.u16.u32 %rs14, %r126; + mov.u16 %rs15, 255; + st.v2.u8 [%rd43], {%rs14, %rs15}; + ld.global.u32 %r196, [imageEnabled]; + +BB0_55: + and.b32 %r127, %r196, 1; + setp.eq.b32 %p74, %r127, 1; + @!%p74 bra BB0_90; + bra.uni BB0_56; + +BB0_56: + mov.f32 %f872, 0f3E666666; + cvt.rzi.f32.f32 %f873, %f872; + fma.rn.f32 %f874, %f873, 0fC0000000, 0f3EE66666; + abs.f32 %f161, %f874; + abs.f32 %f162, %f1157; + setp.lt.f32 %p75, %f162, 0f00800000; + mul.f32 %f875, %f162, 0f4B800000; + selp.f32 %f876, 0fC3170000, 0fC2FE0000, %p75; + selp.f32 %f877, %f875, %f162, %p75; + mov.b32 %r128, %f877; + and.b32 %r129, %r128, 8388607; + or.b32 %r130, %r129, 1065353216; + mov.b32 %f878, %r130; + shr.u32 %r131, %r128, 23; + cvt.rn.f32.u32 %f879, %r131; + add.f32 %f880, %f876, %f879; + setp.gt.f32 %p76, %f878, 0f3FB504F3; + mul.f32 %f881, %f878, 0f3F000000; + add.f32 %f882, %f880, 0f3F800000; + selp.f32 %f883, %f881, %f878, %p76; + selp.f32 %f884, %f882, %f880, %p76; + add.f32 %f885, %f883, 0fBF800000; + add.f32 %f871, %f883, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f870,%f871; + // inline asm + add.f32 %f886, %f885, %f885; + mul.f32 %f887, %f870, %f886; + mul.f32 %f888, %f887, %f887; + mov.f32 %f889, 0f3C4CAF63; + mov.f32 %f890, 0f3B18F0FE; + fma.rn.f32 %f891, %f890, %f888, %f889; + mov.f32 %f892, 0f3DAAAABD; + fma.rn.f32 %f893, %f891, %f888, %f892; + mul.rn.f32 %f894, %f893, %f888; + mul.rn.f32 %f895, %f894, %f887; + sub.f32 %f896, %f885, %f887; + neg.f32 %f897, %f887; + add.f32 %f898, %f896, %f896; + fma.rn.f32 %f899, %f897, %f885, %f898; + mul.rn.f32 %f900, %f870, %f899; + add.f32 %f901, %f895, %f887; + sub.f32 %f902, %f887, %f901; + add.f32 %f903, %f895, %f902; + add.f32 %f904, %f900, %f903; + add.f32 %f905, %f901, %f904; + sub.f32 %f906, %f901, %f905; + add.f32 %f907, %f904, %f906; + mov.f32 %f908, 0f3F317200; + mul.rn.f32 %f909, %f884, %f908; + mov.f32 %f910, 0f35BFBE8E; + mul.rn.f32 %f911, %f884, %f910; + add.f32 %f912, %f909, %f905; + sub.f32 %f913, %f909, %f912; + add.f32 %f914, %f905, %f913; + add.f32 %f915, %f907, %f914; + add.f32 %f916, %f911, %f915; + add.f32 %f917, %f912, %f916; + sub.f32 %f918, %f912, %f917; + add.f32 %f919, %f916, %f918; + mov.f32 %f920, 0f3EE66666; + mul.rn.f32 %f921, %f920, %f917; + neg.f32 %f922, %f921; + fma.rn.f32 %f923, %f920, %f917, %f922; + fma.rn.f32 %f924, %f920, %f919, %f923; + mov.f32 %f925, 0f00000000; + fma.rn.f32 %f926, %f925, %f917, %f924; + add.rn.f32 %f927, %f921, %f926; + neg.f32 %f928, %f927; + add.rn.f32 %f929, %f921, %f928; + add.rn.f32 %f930, %f929, %f926; + mov.b32 %r132, %f927; + setp.eq.s32 %p77, %r132, 1118925336; + add.s32 %r133, %r132, -1; + mov.b32 %f931, %r133; + add.f32 %f932, %f930, 0f37000000; + selp.f32 %f933, %f931, %f927, %p77; + selp.f32 %f163, %f932, %f930, %p77; + mul.f32 %f934, %f933, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f935, %f934; + mov.f32 %f936, 0fBF317200; + fma.rn.f32 %f937, %f935, %f936, %f933; + mov.f32 %f938, 0fB5BFBE8E; + fma.rn.f32 %f939, %f935, %f938, %f937; + mul.f32 %f940, %f939, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f941, %f940; + add.f32 %f942, %f935, 0f00000000; + ex2.approx.f32 %f943, %f942; + mul.f32 %f944, %f941, %f943; + setp.lt.f32 %p78, %f933, 0fC2D20000; + selp.f32 %f945, 0f00000000, %f944, %p78; + setp.gt.f32 %p79, %f933, 0f42D20000; + selp.f32 %f1197, 0f7F800000, %f945, %p79; + setp.eq.f32 %p80, %f1197, 0f7F800000; + @%p80 bra BB0_58; + + fma.rn.f32 %f1197, %f1197, %f163, %f1197; + +BB0_58: + setp.lt.f32 %p81, %f1157, 0f00000000; + setp.eq.f32 %p82, %f161, 0f3F800000; + and.pred %p5, %p81, %p82; + mov.b32 %r134, %f1197; + xor.b32 %r135, %r134, -2147483648; + mov.b32 %f946, %r135; + selp.f32 %f1199, %f946, %f1197, %p5; + setp.eq.f32 %p83, %f1157, 0f00000000; + @%p83 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f949, %f1157, %f1157; + selp.f32 %f1199, %f949, 0f00000000, %p82; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p84, %f1157, 0f00000000; + @%p84 bra BB0_62; + + cvt.rzi.f32.f32 %f948, %f920; + setp.neu.f32 %p85, %f948, 0f3EE66666; + selp.f32 %f1199, 0f7FFFFFFF, %f1199, %p85; + +BB0_62: + add.f32 %f950, %f162, 0f3EE66666; + mov.b32 %r136, %f950; + setp.lt.s32 %p87, %r136, 2139095040; + @%p87 bra BB0_67; + + setp.gtu.f32 %p88, %f162, 0f7F800000; + @%p88 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f1199, %f1157, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p89, %f162, 0f7F800000; + @%p89 bra BB0_67; + + selp.f32 %f1199, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p90, %f1157, 0f3F800000; + selp.f32 %f174, 0f3F800000, %f1199, %p90; + abs.f32 %f175, %f1156; + setp.lt.f32 %p91, %f175, 0f00800000; + mul.f32 %f953, %f175, 0f4B800000; + selp.f32 %f954, 0fC3170000, 0fC2FE0000, %p91; + selp.f32 %f955, %f953, %f175, %p91; + mov.b32 %r137, %f955; + and.b32 %r138, %r137, 8388607; + or.b32 %r139, %r138, 1065353216; + mov.b32 %f956, %r139; + shr.u32 %r140, %r137, 23; + cvt.rn.f32.u32 %f957, %r140; + add.f32 %f958, %f954, %f957; + setp.gt.f32 %p92, %f956, 0f3FB504F3; + mul.f32 %f959, %f956, 0f3F000000; + add.f32 %f960, %f958, 0f3F800000; + selp.f32 %f961, %f959, %f956, %p92; + selp.f32 %f962, %f960, %f958, %p92; + add.f32 %f963, %f961, 0fBF800000; + add.f32 %f952, %f961, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f951,%f952; + // inline asm + add.f32 %f964, %f963, %f963; + mul.f32 %f965, %f951, %f964; + mul.f32 %f966, %f965, %f965; + fma.rn.f32 %f969, %f890, %f966, %f889; + fma.rn.f32 %f971, %f969, %f966, %f892; + mul.rn.f32 %f972, %f971, %f966; + mul.rn.f32 %f973, %f972, %f965; + sub.f32 %f974, %f963, %f965; + neg.f32 %f975, %f965; + add.f32 %f976, %f974, %f974; + fma.rn.f32 %f977, %f975, %f963, %f976; + mul.rn.f32 %f978, %f951, %f977; + add.f32 %f979, %f973, %f965; + sub.f32 %f980, %f965, %f979; + add.f32 %f981, %f973, %f980; + add.f32 %f982, %f978, %f981; + add.f32 %f983, %f979, %f982; + sub.f32 %f984, %f979, %f983; + add.f32 %f985, %f982, %f984; + mul.rn.f32 %f987, %f962, %f908; + mul.rn.f32 %f989, %f962, %f910; + add.f32 %f990, %f987, %f983; + sub.f32 %f991, %f987, %f990; + add.f32 %f992, %f983, %f991; + add.f32 %f993, %f985, %f992; + add.f32 %f994, %f989, %f993; + add.f32 %f995, %f990, %f994; + sub.f32 %f996, %f990, %f995; + add.f32 %f997, %f994, %f996; + mul.rn.f32 %f999, %f920, %f995; + neg.f32 %f1000, %f999; + fma.rn.f32 %f1001, %f920, %f995, %f1000; + fma.rn.f32 %f1002, %f920, %f997, %f1001; + fma.rn.f32 %f1004, %f925, %f995, %f1002; + add.rn.f32 %f1005, %f999, %f1004; + neg.f32 %f1006, %f1005; + add.rn.f32 %f1007, %f999, %f1006; + add.rn.f32 %f1008, %f1007, %f1004; + mov.b32 %r141, %f1005; + setp.eq.s32 %p93, %r141, 1118925336; + add.s32 %r142, %r141, -1; + mov.b32 %f1009, %r142; + add.f32 %f1010, %f1008, 0f37000000; + selp.f32 %f1011, %f1009, %f1005, %p93; + selp.f32 %f176, %f1010, %f1008, %p93; + mul.f32 %f1012, %f1011, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1013, %f1012; + fma.rn.f32 %f1015, %f1013, %f936, %f1011; + fma.rn.f32 %f1017, %f1013, %f938, %f1015; + mul.f32 %f1018, %f1017, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1019, %f1018; + add.f32 %f1020, %f1013, 0f00000000; + ex2.approx.f32 %f1021, %f1020; + mul.f32 %f1022, %f1019, %f1021; + setp.lt.f32 %p94, %f1011, 0fC2D20000; + selp.f32 %f1023, 0f00000000, %f1022, %p94; + setp.gt.f32 %p95, %f1011, 0f42D20000; + selp.f32 %f1200, 0f7F800000, %f1023, %p95; + setp.eq.f32 %p96, %f1200, 0f7F800000; + @%p96 bra BB0_69; + + fma.rn.f32 %f1200, %f1200, %f176, %f1200; + +BB0_69: + setp.lt.f32 %p97, %f1156, 0f00000000; + and.pred %p6, %p97, %p82; + mov.b32 %r143, %f1200; + xor.b32 %r144, %r143, -2147483648; + mov.b32 %f1024, %r144; + selp.f32 %f1202, %f1024, %f1200, %p6; + setp.eq.f32 %p99, %f1156, 0f00000000; + @%p99 bra BB0_72; + bra.uni BB0_70; + +BB0_72: + add.f32 %f1027, %f1156, %f1156; + selp.f32 %f1202, %f1027, 0f00000000, %p82; + bra.uni BB0_73; + +BB0_70: + setp.geu.f32 %p100, %f1156, 0f00000000; + @%p100 bra BB0_73; + + cvt.rzi.f32.f32 %f1026, %f920; + setp.neu.f32 %p101, %f1026, 0f3EE66666; + selp.f32 %f1202, 0f7FFFFFFF, %f1202, %p101; + +BB0_73: + add.f32 %f1028, %f175, 0f3EE66666; + mov.b32 %r145, %f1028; + setp.lt.s32 %p103, %r145, 2139095040; + @%p103 bra BB0_78; + + setp.gtu.f32 %p104, %f175, 0f7F800000; + @%p104 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f1202, %f1156, 0f3EE66666; + bra.uni BB0_78; + +BB0_75: + setp.neu.f32 %p105, %f175, 0f7F800000; + @%p105 bra BB0_78; + + selp.f32 %f1202, 0fFF800000, 0f7F800000, %p6; + +BB0_78: + setp.eq.f32 %p106, %f1156, 0f3F800000; + selp.f32 %f187, 0f3F800000, %f1202, %p106; + abs.f32 %f188, %f1155; + setp.lt.f32 %p107, %f188, 0f00800000; + mul.f32 %f1031, %f188, 0f4B800000; + selp.f32 %f1032, 0fC3170000, 0fC2FE0000, %p107; + selp.f32 %f1033, %f1031, %f188, %p107; + mov.b32 %r146, %f1033; + and.b32 %r147, %r146, 8388607; + or.b32 %r148, %r147, 1065353216; + mov.b32 %f1034, %r148; + shr.u32 %r149, %r146, 23; + cvt.rn.f32.u32 %f1035, %r149; + add.f32 %f1036, %f1032, %f1035; + setp.gt.f32 %p108, %f1034, 0f3FB504F3; + mul.f32 %f1037, %f1034, 0f3F000000; + add.f32 %f1038, %f1036, 0f3F800000; + selp.f32 %f1039, %f1037, %f1034, %p108; + selp.f32 %f1040, %f1038, %f1036, %p108; + add.f32 %f1041, %f1039, 0fBF800000; + add.f32 %f1030, %f1039, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1029,%f1030; + // inline asm + add.f32 %f1042, %f1041, %f1041; + mul.f32 %f1043, %f1029, %f1042; + mul.f32 %f1044, %f1043, %f1043; + fma.rn.f32 %f1047, %f890, %f1044, %f889; + fma.rn.f32 %f1049, %f1047, %f1044, %f892; + mul.rn.f32 %f1050, %f1049, %f1044; + mul.rn.f32 %f1051, %f1050, %f1043; + sub.f32 %f1052, %f1041, %f1043; + neg.f32 %f1053, %f1043; + add.f32 %f1054, %f1052, %f1052; + fma.rn.f32 %f1055, %f1053, %f1041, %f1054; + mul.rn.f32 %f1056, %f1029, %f1055; + add.f32 %f1057, %f1051, %f1043; + sub.f32 %f1058, %f1043, %f1057; + add.f32 %f1059, %f1051, %f1058; + add.f32 %f1060, %f1056, %f1059; + add.f32 %f1061, %f1057, %f1060; + sub.f32 %f1062, %f1057, %f1061; + add.f32 %f1063, %f1060, %f1062; + mul.rn.f32 %f1065, %f1040, %f908; + mul.rn.f32 %f1067, %f1040, %f910; + add.f32 %f1068, %f1065, %f1061; + sub.f32 %f1069, %f1065, %f1068; + add.f32 %f1070, %f1061, %f1069; + add.f32 %f1071, %f1063, %f1070; + add.f32 %f1072, %f1067, %f1071; + add.f32 %f1073, %f1068, %f1072; + sub.f32 %f1074, %f1068, %f1073; + add.f32 %f1075, %f1072, %f1074; + mul.rn.f32 %f1077, %f920, %f1073; + neg.f32 %f1078, %f1077; + fma.rn.f32 %f1079, %f920, %f1073, %f1078; + fma.rn.f32 %f1080, %f920, %f1075, %f1079; + fma.rn.f32 %f1082, %f925, %f1073, %f1080; + add.rn.f32 %f1083, %f1077, %f1082; + neg.f32 %f1084, %f1083; + add.rn.f32 %f1085, %f1077, %f1084; + add.rn.f32 %f1086, %f1085, %f1082; + mov.b32 %r150, %f1083; + setp.eq.s32 %p109, %r150, 1118925336; + add.s32 %r151, %r150, -1; + mov.b32 %f1087, %r151; + add.f32 %f1088, %f1086, 0f37000000; + selp.f32 %f1089, %f1087, %f1083, %p109; + selp.f32 %f189, %f1088, %f1086, %p109; + mul.f32 %f1090, %f1089, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1091, %f1090; + fma.rn.f32 %f1093, %f1091, %f936, %f1089; + fma.rn.f32 %f1095, %f1091, %f938, %f1093; + mul.f32 %f1096, %f1095, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1097, %f1096; + add.f32 %f1098, %f1091, 0f00000000; + ex2.approx.f32 %f1099, %f1098; + mul.f32 %f1100, %f1097, %f1099; + setp.lt.f32 %p110, %f1089, 0fC2D20000; + selp.f32 %f1101, 0f00000000, %f1100, %p110; + setp.gt.f32 %p111, %f1089, 0f42D20000; + selp.f32 %f1203, 0f7F800000, %f1101, %p111; + setp.eq.f32 %p112, %f1203, 0f7F800000; + @%p112 bra BB0_80; + + fma.rn.f32 %f1203, %f1203, %f189, %f1203; + +BB0_80: + setp.lt.f32 %p113, %f1155, 0f00000000; + and.pred %p7, %p113, %p82; + mov.b32 %r152, %f1203; + xor.b32 %r153, %r152, -2147483648; + mov.b32 %f1102, %r153; + selp.f32 %f1205, %f1102, %f1203, %p7; + setp.eq.f32 %p115, %f1155, 0f00000000; + @%p115 bra BB0_83; + bra.uni BB0_81; + +BB0_83: + add.f32 %f1105, %f1155, %f1155; + selp.f32 %f1205, %f1105, 0f00000000, %p82; + bra.uni BB0_84; + +BB0_81: + setp.geu.f32 %p116, %f1155, 0f00000000; + @%p116 bra BB0_84; + + cvt.rzi.f32.f32 %f1104, %f920; + setp.neu.f32 %p117, %f1104, 0f3EE66666; + selp.f32 %f1205, 0f7FFFFFFF, %f1205, %p117; + +BB0_84: + add.f32 %f1106, %f188, 0f3EE66666; + mov.b32 %r154, %f1106; + setp.lt.s32 %p119, %r154, 2139095040; + @%p119 bra BB0_89; + + setp.gtu.f32 %p120, %f188, 0f7F800000; + @%p120 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f1205, %f1155, 0f3EE66666; + bra.uni BB0_89; + +BB0_86: + setp.neu.f32 %p121, %f188, 0f7F800000; + @%p121 bra BB0_89; + + selp.f32 %f1205, 0fFF800000, 0f7F800000, %p7; + +BB0_89: + setp.eq.f32 %p122, %f1155, 0f3F800000; + selp.f32 %f1107, 0f3F800000, %f1205, %p122; + cvt.u64.u32 %rd53, %r3; + cvt.u64.u32 %rd52, %r2; + mov.u64 %rd56, image; + cvta.global.u64 %rd51, %rd56; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd51, %r27, %r28, %rd52, %rd53, %rd13, %rd13); + // inline asm + cvt.sat.f32.f32 %f1108, %f1107; + mul.f32 %f1109, %f1108, 0f437FFD71; + cvt.rzi.u32.f32 %r157, %f1109; + cvt.sat.f32.f32 %f1110, %f187; + mul.f32 %f1111, %f1110, 0f437FFD71; + cvt.rzi.u32.f32 %r158, %f1111; + cvt.sat.f32.f32 %f1112, %f174; + mul.f32 %f1113, %f1112, 0f437FFD71; + cvt.rzi.u32.f32 %r159, %f1113; + cvt.u16.u32 %rs16, %r157; + cvt.u16.u32 %rs17, %r159; + cvt.u16.u32 %rs18, %r158; + mov.u16 %rs19, 255; + st.v4.u8 [%rd50], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r196, [imageEnabled]; + +BB0_90: + and.b32 %r160, %r196, 4; + setp.eq.s32 %p123, %r160, 0; + @%p123 bra BB0_94; + + ld.global.u32 %r161, [additive]; + setp.eq.s32 %p124, %r161, 0; + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + mov.f32 %f1114, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs20, %f1114;} + + // inline asm + @%p124 bra BB0_93; + + mov.u64 %rd69, image_HDR; + cvta.global.u64 %rd58, %rd69; + mov.u32 %r165, 8; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd58, %r27, %r165, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd57]; + // inline asm + { cvt.f32.f16 %f1115, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1116, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1117, %rs29;} + + // inline asm + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd58, %r27, %r165, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1118, %f1157, %f1115; + add.f32 %f1119, %f1156, %f1116; + add.f32 %f1120, %f1155, %f1117; + // inline asm + { cvt.rn.f16.f32 %rs26, %f1120;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f1119;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f1118;} + + // inline asm + st.v4.u16 [%rd63], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_94; + +BB0_93: + mov.u64 %rd76, image_HDR; + cvta.global.u64 %rd71, %rd76; + mov.u32 %r167, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r27, %r167, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f1155;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f1156;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f1157;} + + // inline asm + st.v4.u16 [%rd70], {%rs31, %rs32, %rs33, %rs20}; + +BB0_94: + ld.global.u8 %rs34, [imageEnabled]; + and.b16 %rs35, %rs34, 64; + setp.eq.s16 %p125, %rs35, 0; + @%p125 bra BB0_106; + + mul.f32 %f1124, %f19, %f19; + fma.rn.f32 %f1125, %f20, %f20, %f1124; + fma.rn.f32 %f1126, %f18, %f18, %f1125; + sqrt.rn.f32 %f1127, %f1126; + rcp.rn.f32 %f1128, %f1127; + mul.f32 %f1129, %f20, %f1128; + mul.f32 %f1130, %f19, %f1128; + mul.f32 %f1131, %f18, %f1128; + cvt.u64.u32 %rd80, %r3; + cvt.u64.u32 %rd79, %r2; + mov.u64 %rd83, image_Dir; + cvta.global.u64 %rd78, %rd83; + // inline asm + call (%rd77), _rt_buffer_get_64, (%rd78, %r27, %r28, %rd79, %rd80, %rd13, %rd13); + // inline asm + fma.rn.f32 %f1132, %f1129, 0f3F000000, 0f3F000000; + mul.f32 %f1133, %f1132, 0f437F0000; + cvt.rzi.u32.f32 %r170, %f1133; + fma.rn.f32 %f1134, %f1130, 0f3F000000, 0f3F000000; + mul.f32 %f1135, %f1134, 0f437F0000; + cvt.rzi.u32.f32 %r171, %f1135; + fma.rn.f32 %f1136, %f1131, 0f3F000000, 0f3F000000; + mul.f32 %f1137, %f1136, 0f437F0000; + cvt.rzi.u32.f32 %r172, %f1137; + cvt.u16.u32 %rs36, %r172; + cvt.u16.u32 %rs37, %r171; + cvt.u16.u32 %rs38, %r170; + mov.u16 %rs39, 255; + st.v4.u8 [%rd77], {%rs38, %rs37, %rs36, %rs39}; + +BB0_106: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLight.ptx.meta new file mode 100644 index 00000000..159d1f56 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e661f8eba59c2c74aae2e26dd07d3fc7 +timeCreated: 1583324482 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx new file mode 100644 index 00000000..885f3bf1 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx @@ -0,0 +1,2378 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 ignoreNormal; +.global .align 1 .b8 localLights[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<136>; + .reg .b16 %rs<158>; + .reg .f32 %f<1391>; + .reg .b32 %r<248>; + .reg .b64 %rd<272>; + + + mov.u64 %rd271, __local_depot0; + cvta.local.u64 %SP, %rd271; + ld.global.v2.u32 {%r29, %r30}, [pixelID]; + cvt.u64.u32 %rd10, %r29; + cvt.u64.u32 %rd11, %r30; + mov.u64 %rd14, uvnormal; + cvta.global.u64 %rd9, %rd14; + mov.u32 %r27, 2; + mov.u32 %r28, 4; + mov.u64 %rd13, 0; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd9, %r27, %r28, %rd10, %rd11, %rd13, %rd13); + // inline asm + ld.u32 %r1, [%rd8]; + shr.u32 %r33, %r1, 16; + cvt.u16.u32 %rs1, %r33; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r1; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p8, %rs9, 0; + mov.f32 %f1300, 0f00000000; + mov.f32 %f1301, %f1300; + mov.f32 %f1302, %f1300; + @%p8 bra BB0_2; + + ld.u8 %rs10, [%rd8+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f262, %rs12; + div.rn.f32 %f263, %f262, 0f437F0000; + fma.rn.f32 %f264, %f263, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f265, %rs10; + div.rn.f32 %f266, %f265, 0f437F0000; + fma.rn.f32 %f267, %f266, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f268, %rs7; + div.rn.f32 %f269, %f268, 0f437F0000; + fma.rn.f32 %f270, %f269, 0f40000000, 0fBF800000; + mul.f32 %f271, %f267, %f267; + fma.rn.f32 %f272, %f264, %f264, %f271; + fma.rn.f32 %f273, %f270, %f270, %f272; + sqrt.rn.f32 %f274, %f273; + rcp.rn.f32 %f275, %f274; + mul.f32 %f1300, %f264, %f275; + mul.f32 %f1301, %f267, %f275; + mul.f32 %f1302, %f270, %f275; + +BB0_2: + ld.global.v2.u32 {%r34, %r35}, [pixelID]; + ld.global.v2.u32 {%r37, %r38}, [tileInfo]; + add.s32 %r2, %r34, %r37; + add.s32 %r3, %r35, %r38; + setp.eq.f32 %p9, %f1301, 0f00000000; + setp.eq.f32 %p10, %f1300, 0f00000000; + and.pred %p11, %p10, %p9; + setp.eq.f32 %p12, %f1302, 0f00000000; + and.pred %p13, %p11, %p12; + @%p13 bra BB0_104; + bra.uni BB0_3; + +BB0_104: + ld.global.u32 %r247, [imageEnabled]; + and.b32 %r196, %r247, 1; + setp.eq.b32 %p127, %r196, 1; + @!%p127 bra BB0_106; + bra.uni BB0_105; + +BB0_105: + cvt.u64.u32 %rd159, %r2; + cvt.u64.u32 %rd160, %r3; + mov.u64 %rd163, image; + cvta.global.u64 %rd158, %rd163; + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd158, %r27, %r28, %rd159, %rd160, %rd13, %rd13); + // inline asm + mov.u16 %rs90, 0; + st.v4.u8 [%rd157], {%rs90, %rs90, %rs90, %rs90}; + ld.global.u32 %r247, [imageEnabled]; + +BB0_106: + and.b32 %r199, %r247, 8; + setp.eq.s32 %p128, %r199, 0; + @%p128 bra BB0_108; + + cvt.u64.u32 %rd167, %r3; + cvt.u64.u32 %rd166, %r2; + mov.u64 %rd170, image_Mask; + cvta.global.u64 %rd165, %rd170; + // inline asm + call (%rd164), _rt_buffer_get_64, (%rd165, %r27, %r27, %rd166, %rd167, %rd13, %rd13); + // inline asm + mov.f32 %f1264, 0f00000000; + cvt.rzi.u32.f32 %r202, %f1264; + cvt.u16.u32 %rs91, %r202; + mov.u16 %rs92, 0; + st.v2.u8 [%rd164], {%rs91, %rs92}; + ld.global.u32 %r247, [imageEnabled]; + +BB0_108: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r203, %r247, 4; + setp.eq.s32 %p129, %r203, 0; + @%p129 bra BB0_112; + + ld.global.u32 %r204, [additive]; + setp.eq.s32 %p130, %r204, 0; + @%p130 bra BB0_111; + + mov.u64 %rd183, image_HDR; + cvta.global.u64 %rd172, %rd183; + mov.u32 %r208, 8; + // inline asm + call (%rd171), _rt_buffer_get_64, (%rd172, %r27, %r208, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd171]; + // inline asm + { cvt.f32.f16 %f1265, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1266, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1267, %rs101;} + + // inline asm + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd172, %r27, %r208, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1268, %f1265, 0f00000000; + add.f32 %f1269, %f1266, 0f00000000; + add.f32 %f1270, %f1267, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f1270;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f1269;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f1268;} + + // inline asm + mov.u16 %rs103, 0; + st.v4.u16 [%rd177], {%rs96, %rs97, %rs98, %rs103}; + bra.uni BB0_112; + +BB0_3: + ld.global.v2.u32 {%r46, %r47}, [pixelID]; + cvt.u64.u32 %rd17, %r46; + cvt.u64.u32 %rd18, %r47; + mov.u64 %rd26, uvpos; + cvta.global.u64 %rd16, %rd26; + mov.u32 %r43, 12; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r27, %r43, %rd17, %rd18, %rd13, %rd13); + // inline asm + ld.f32 %f9, [%rd15+8]; + ld.f32 %f8, [%rd15+4]; + ld.f32 %f7, [%rd15]; + mul.f32 %f292, %f7, 0f3456BF95; + mul.f32 %f293, %f8, 0f3456BF95; + mul.f32 %f294, %f9, 0f3456BF95; + abs.f32 %f295, %f1300; + div.rn.f32 %f296, %f292, %f295; + abs.f32 %f297, %f1301; + div.rn.f32 %f298, %f293, %f297; + abs.f32 %f299, %f1302; + div.rn.f32 %f300, %f294, %f299; + abs.f32 %f301, %f296; + abs.f32 %f302, %f298; + abs.f32 %f303, %f300; + mov.f32 %f304, 0f38D1B717; + max.f32 %f305, %f301, %f304; + max.f32 %f306, %f302, %f304; + max.f32 %f307, %f303, %f304; + fma.rn.f32 %f10, %f1300, %f305, %f7; + fma.rn.f32 %f11, %f1301, %f306, %f8; + fma.rn.f32 %f12, %f1302, %f307, %f9; + mov.u64 %rd27, localLights; + cvta.global.u64 %rd25, %rd27; + mov.u32 %r44, 1; + mov.u32 %r45, 96; + // inline asm + call (%rd21, %rd22, %rd23, %rd24), _rt_buffer_get_size_64, (%rd25, %r44, %r45); + // inline asm + cvt.u32.u64 %r4, %rd21; + setp.eq.s32 %p14, %r4, 0; + mov.f32 %f1303, 0f00000000; + mov.f32 %f1304, %f1303; + mov.f32 %f1305, %f1303; + mov.f32 %f1306, %f1303; + mov.f32 %f1307, %f1303; + mov.f32 %f1308, %f1303; + mov.f32 %f1309, %f1303; + mov.f32 %f1310, %f1303; + mov.f32 %f1311, %f1303; + mov.f32 %f1312, %f1303; + mov.f32 %f1313, %f1303; + mov.f32 %f1314, %f1303; + mov.f32 %f1315, %f1303; + mov.f32 %f1316, %f1303; + mov.f32 %f1317, %f1303; + mov.f32 %f1318, %f1303; + @%p14 bra BB0_40; + + mov.f32 %f324, 0f40000000; + cvt.rzi.f32.f32 %f325, %f324; + add.f32 %f326, %f325, %f325; + mov.f32 %f327, 0f40800000; + sub.f32 %f328, %f327, %f326; + abs.f32 %f13, %f328; + mul.f32 %f14, %f10, 0f3456BF95; + mul.f32 %f15, %f11, 0f3456BF95; + mul.f32 %f16, %f12, 0f3456BF95; + mov.f32 %f323, 0f00000000; + mov.u32 %r239, 0; + abs.f32 %f516, %f14; + abs.f32 %f517, %f15; + max.f32 %f518, %f516, %f517; + abs.f32 %f519, %f16; + max.f32 %f520, %f518, %f519; + mov.f32 %f1303, %f323; + mov.f32 %f1304, %f323; + mov.f32 %f1305, %f323; + mov.f32 %f1306, %f323; + mov.f32 %f1307, %f323; + mov.f32 %f1308, %f323; + mov.f32 %f1309, %f323; + mov.f32 %f1310, %f323; + mov.f32 %f1311, %f323; + mov.f32 %f1312, %f323; + mov.f32 %f1313, %f323; + mov.f32 %f1314, %f323; + mov.f32 %f1315, %f323; + mov.f32 %f1316, %f323; + mov.f32 %f1317, %f323; + mov.f32 %f1318, %f323; + +BB0_5: + cvt.u64.u32 %rd30, %r239; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd25, %r44, %r45, %rd30, %rd13, %rd13, %rd13); + // inline asm + ld.v4.f32 {%f331, %f332, %f333, %f334}, [%rd28+80]; + ld.v4.f32 {%f335, %f336, %f337, %f338}, [%rd28+64]; + ld.v4.f32 {%f339, %f340, %f341, %f342}, [%rd28+48]; + ld.v4.f32 {%f1322, %f1323, %f1324, %f346}, [%rd28+32]; + ld.v4.f32 {%f347, %f348, %f349, %f350}, [%rd28+16]; + ld.v4.f32 {%f351, %f352, %f353, %f354}, [%rd28]; + mov.b32 %r6, %f334; + sub.f32 %f356, %f352, %f7; + sub.f32 %f357, %f353, %f8; + sub.f32 %f358, %f354, %f9; + mul.f32 %f359, %f357, %f357; + fma.rn.f32 %f360, %f356, %f356, %f359; + fma.rn.f32 %f361, %f358, %f358, %f360; + sqrt.rn.f32 %f59, %f361; + rcp.rn.f32 %f362, %f59; + mul.f32 %f60, %f356, %f362; + mul.f32 %f61, %f357, %f362; + mul.f32 %f62, %f358, %f362; + mul.f32 %f63, %f59, %f350; + abs.f32 %f64, %f63; + setp.lt.f32 %p15, %f64, 0f00800000; + mul.f32 %f363, %f64, 0f4B800000; + selp.f32 %f364, 0fC3170000, 0fC2FE0000, %p15; + selp.f32 %f365, %f363, %f64, %p15; + mov.b32 %r53, %f365; + and.b32 %r54, %r53, 8388607; + or.b32 %r55, %r54, 1065353216; + mov.b32 %f366, %r55; + shr.u32 %r56, %r53, 23; + cvt.rn.f32.u32 %f367, %r56; + add.f32 %f368, %f364, %f367; + setp.gt.f32 %p16, %f366, 0f3FB504F3; + mul.f32 %f369, %f366, 0f3F000000; + add.f32 %f370, %f368, 0f3F800000; + selp.f32 %f371, %f369, %f366, %p16; + selp.f32 %f372, %f370, %f368, %p16; + add.f32 %f373, %f371, 0fBF800000; + add.f32 %f330, %f371, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f329,%f330; + // inline asm + add.f32 %f374, %f373, %f373; + mul.f32 %f375, %f329, %f374; + mul.f32 %f376, %f375, %f375; + mov.f32 %f377, 0f3C4CAF63; + mov.f32 %f378, 0f3B18F0FE; + fma.rn.f32 %f379, %f378, %f376, %f377; + mov.f32 %f380, 0f3DAAAABD; + fma.rn.f32 %f381, %f379, %f376, %f380; + mul.rn.f32 %f382, %f381, %f376; + mul.rn.f32 %f383, %f382, %f375; + sub.f32 %f384, %f373, %f375; + neg.f32 %f385, %f375; + add.f32 %f386, %f384, %f384; + fma.rn.f32 %f387, %f385, %f373, %f386; + mul.rn.f32 %f388, %f329, %f387; + add.f32 %f389, %f383, %f375; + sub.f32 %f390, %f375, %f389; + add.f32 %f391, %f383, %f390; + add.f32 %f392, %f388, %f391; + add.f32 %f393, %f389, %f392; + sub.f32 %f394, %f389, %f393; + add.f32 %f395, %f392, %f394; + mov.f32 %f396, 0f3F317200; + mul.rn.f32 %f397, %f372, %f396; + mov.f32 %f398, 0f35BFBE8E; + mul.rn.f32 %f399, %f372, %f398; + add.f32 %f400, %f397, %f393; + sub.f32 %f401, %f397, %f400; + add.f32 %f402, %f393, %f401; + add.f32 %f403, %f395, %f402; + add.f32 %f404, %f399, %f403; + add.f32 %f405, %f400, %f404; + sub.f32 %f406, %f400, %f405; + add.f32 %f407, %f404, %f406; + mul.rn.f32 %f65, %f327, %f405; + neg.f32 %f409, %f65; + fma.rn.f32 %f410, %f327, %f405, %f409; + fma.rn.f32 %f411, %f327, %f407, %f410; + fma.rn.f32 %f66, %f323, %f405, %f411; + add.rn.f32 %f67, %f65, %f66; + mov.b32 %r57, %f67; + setp.eq.s32 %p1, %r57, 1118925336; + add.s32 %r58, %r57, -1; + mov.b32 %f413, %r58; + selp.f32 %f414, %f413, %f67, %p1; + mul.f32 %f415, %f414, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f416, %f415; + mov.f32 %f417, 0fBF317200; + fma.rn.f32 %f418, %f416, %f417, %f414; + mov.f32 %f419, 0fB5BFBE8E; + fma.rn.f32 %f420, %f416, %f419, %f418; + mul.f32 %f421, %f420, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f422, %f421; + add.f32 %f423, %f416, 0f00000000; + ex2.approx.f32 %f424, %f423; + mul.f32 %f425, %f422, %f424; + setp.lt.f32 %p17, %f414, 0fC2D20000; + selp.f32 %f426, 0f00000000, %f425, %p17; + setp.gt.f32 %p18, %f414, 0f42D20000; + selp.f32 %f1319, 0f7F800000, %f426, %p18; + setp.eq.f32 %p19, %f1319, 0f7F800000; + @%p19 bra BB0_7; + + neg.f32 %f427, %f67; + add.rn.f32 %f428, %f65, %f427; + add.rn.f32 %f429, %f428, %f66; + add.f32 %f430, %f429, 0f37000000; + selp.f32 %f431, %f430, %f429, %p1; + fma.rn.f32 %f1319, %f1319, %f431, %f1319; + +BB0_7: + setp.lt.f32 %p20, %f63, 0f00000000; + setp.eq.f32 %p21, %f13, 0f3F800000; + and.pred %p2, %p20, %p21; + mov.b32 %r59, %f1319; + xor.b32 %r60, %r59, -2147483648; + mov.b32 %f432, %r60; + selp.f32 %f1321, %f432, %f1319, %p2; + setp.eq.f32 %p22, %f63, 0f00000000; + @%p22 bra BB0_10; + bra.uni BB0_8; + +BB0_10: + add.f32 %f435, %f63, %f63; + selp.f32 %f1321, %f435, 0f00000000, %p21; + bra.uni BB0_11; + +BB0_8: + setp.geu.f32 %p23, %f63, 0f00000000; + @%p23 bra BB0_11; + + cvt.rzi.f32.f32 %f434, %f327; + setp.neu.f32 %p24, %f434, 0f40800000; + selp.f32 %f1321, 0f7FFFFFFF, %f1321, %p24; + +BB0_11: + add.f32 %f436, %f64, 0f40800000; + mov.b32 %r61, %f436; + setp.lt.s32 %p26, %r61, 2139095040; + @%p26 bra BB0_16; + + setp.gtu.f32 %p27, %f64, 0f7F800000; + @%p27 bra BB0_15; + bra.uni BB0_13; + +BB0_15: + add.f32 %f1321, %f63, 0f40800000; + bra.uni BB0_16; + +BB0_13: + setp.neu.f32 %p28, %f64, 0f7F800000; + @%p28 bra BB0_16; + + selp.f32 %f1321, 0fFF800000, 0f7F800000, %p2; + +BB0_16: + mul.f32 %f437, %f59, %f348; + mov.f32 %f1346, 0f3F800000; + sub.f32 %f439, %f1346, %f1321; + setp.eq.f32 %p29, %f63, 0f3F800000; + selp.f32 %f440, 0f00000000, %f439, %p29; + cvt.sat.f32.f32 %f441, %f440; + fma.rn.f32 %f442, %f437, %f437, %f349; + div.rn.f32 %f1325, %f441, %f442; + mul.f32 %f443, %f1301, %f61; + fma.rn.f32 %f444, %f1300, %f60, %f443; + fma.rn.f32 %f94, %f1302, %f62, %f444; + setp.eq.f32 %p30, %f351, 0f3F800000; + @%p30 bra BB0_22; + bra.uni BB0_17; + +BB0_22: + setp.leu.f32 %p34, %f346, 0f00000000; + @%p34 bra BB0_24; + + mul.f32 %f475, %f331, %f60; + mul.f32 %f476, %f332, %f61; + neg.f32 %f477, %f476; + sub.f32 %f478, %f477, %f475; + mul.f32 %f479, %f333, %f62; + sub.f32 %f480, %f478, %f479; + setp.gt.f32 %p35, %f480, 0f00000000; + selp.f32 %f481, 0f3F800000, 0f00000000, %p35; + mul.f32 %f482, %f340, %f61; + fma.rn.f32 %f483, %f339, %f60, %f482; + mul.f32 %f484, %f336, %f61; + fma.rn.f32 %f485, %f335, %f60, %f484; + fma.rn.f32 %f486, %f341, %f62, %f483; + fma.rn.f32 %f487, %f337, %f62, %f485; + fma.rn.f32 %f471, %f342, %f486, 0f3F000000; + fma.rn.f32 %f472, %f342, %f487, 0f3F000000; + cvt.rzi.s32.f32 %r65, %f346; + mov.f32 %f474, 0f00000000; + // inline asm + call (%f467, %f468, %f469, %f470), _rt_texture_get_f_id, (%r65, %r27, %f471, %f472, %f474, %f474); + // inline asm + mul.f32 %f488, %f481, %f467; + mul.f32 %f489, %f481, %f468; + mul.f32 %f490, %f481, %f469; + mul.f32 %f1322, %f1322, %f488; + mul.f32 %f1323, %f1323, %f489; + mul.f32 %f1324, %f1324, %f490; + bra.uni BB0_24; + +BB0_17: + setp.eq.f32 %p31, %f351, 0f40000000; + @%p31 bra BB0_20; + bra.uni BB0_18; + +BB0_20: + setp.leu.f32 %p33, %f346, 0f00000000; + @%p33 bra BB0_24; + + mul.f32 %f461, %f340, %f61; + fma.rn.f32 %f462, %f339, %f60, %f461; + mul.f32 %f463, %f336, %f61; + fma.rn.f32 %f464, %f335, %f60, %f463; + mul.f32 %f465, %f332, %f61; + fma.rn.f32 %f466, %f331, %f60, %f465; + fma.rn.f32 %f458, %f341, %f62, %f462; + fma.rn.f32 %f459, %f337, %f62, %f464; + fma.rn.f32 %f460, %f333, %f62, %f466; + cvt.rzi.s32.f32 %r62, %f346; + mov.u32 %r63, 6; + mov.u32 %r64, 0; + // inline asm + call (%f454, %f455, %f456, %f457), _rt_texture_get_base_id, (%r62, %r63, %f458, %f459, %f460, %r64); + // inline asm + mul.f32 %f1322, %f1322, %f454; + mul.f32 %f1323, %f1323, %f455; + mul.f32 %f1324, %f1324, %f456; + bra.uni BB0_24; + +BB0_18: + setp.neu.f32 %p32, %f351, 0f40800000; + @%p32 bra BB0_24; + + mul.f32 %f445, %f331, %f60; + mul.f32 %f446, %f332, %f61; + neg.f32 %f447, %f446; + sub.f32 %f448, %f447, %f445; + mul.f32 %f449, %f333, %f62; + sub.f32 %f450, %f448, %f449; + fma.rn.f32 %f451, %f346, %f450, %f342; + cvt.sat.f32.f32 %f452, %f451; + mul.f32 %f453, %f452, %f452; + mul.f32 %f1325, %f1325, %f453; + +BB0_24: + max.f32 %f506, %f1322, %f1323; + max.f32 %f507, %f506, %f1324; + mul.f32 %f508, %f1325, %f507; + setp.lt.f32 %p37, %f508, 0f3727C5AC; + mov.pred %p135, -1; + mov.f32 %f1326, 0f00000000; + mov.f32 %f1327, %f1326; + mov.f32 %f1328, %f1326; + mov.f32 %f1329, %f1326; + mov.f32 %f1330, %f1326; + mov.f32 %f1331, %f1326; + mov.f32 %f1332, %f1326; + mov.f32 %f1333, %f1326; + mov.f32 %f1334, %f1326; + mov.f32 %f1335, %f1326; + mov.f32 %f1336, %f1326; + mov.f32 %f1337, %f1326; + mov.f32 %f1338, %f1326; + mov.f32 %f1339, %f1326; + mov.f32 %f1340, %f1326; + @%p37 bra BB0_26; + + ld.global.u32 %r67, [ignoreNormal]; + setp.eq.s32 %p39, %r67, 0; + selp.f32 %f509, %f94, 0f3F800000, %p39; + cvt.sat.f32.f32 %f510, %f509; + mul.f32 %f511, %f1325, %f510; + mul.f32 %f1326, %f1322, %f511; + mul.f32 %f1327, %f1323, %f511; + mul.f32 %f1328, %f1324, %f511; + mul.f32 %f512, %f1325, 0f3E800000; + mul.f32 %f1329, %f1322, %f512; + mul.f32 %f1330, %f1323, %f512; + mul.f32 %f1331, %f1324, %f512; + mul.f32 %f1332, %f60, %f1329; + mul.f32 %f1333, %f60, %f1330; + mul.f32 %f1334, %f60, %f1331; + mul.f32 %f1335, %f61, %f1329; + mul.f32 %f1336, %f61, %f1330; + mul.f32 %f1337, %f61, %f1331; + mul.f32 %f1338, %f62, %f1329; + mul.f32 %f1339, %f62, %f1330; + mul.f32 %f1340, %f62, %f1331; + mov.pred %p135, 0; + +BB0_26: + @%p135 bra BB0_39; + + setp.eq.s32 %p40, %r6, 0; + @%p40 bra BB0_38; + + mov.f32 %f1345, 0f00000000; + setp.lt.s32 %p41, %r6, 1; + @%p41 bra BB0_37; + + max.f32 %f137, %f520, %f304; + and.b32 %r8, %r6, 3; + setp.eq.s32 %p42, %r8, 0; + add.u64 %rd35, %SP, 0; + cvta.to.local.u64 %rd2, %rd35; + mov.f32 %f1345, 0f00000000; + mov.u32 %r243, 0; + @%p42 bra BB0_35; + + setp.eq.s32 %p43, %r8, 1; + mov.f32 %f1342, 0f00000000; + mov.u32 %r241, 0; + @%p43 bra BB0_34; + + setp.eq.s32 %p44, %r8, 2; + mov.f32 %f1341, 0f00000000; + mov.u32 %r240, 0; + @%p44 bra BB0_33; + + sub.f32 %f532, %f352, %f347; + sub.f32 %f533, %f353, %f347; + sub.f32 %f534, %f354, %f347; + sub.f32 %f535, %f532, %f7; + sub.f32 %f536, %f533, %f8; + sub.f32 %f537, %f534, %f9; + mul.f32 %f538, %f536, %f536; + fma.rn.f32 %f539, %f535, %f535, %f538; + fma.rn.f32 %f540, %f537, %f537, %f539; + sqrt.rn.f32 %f531, %f540; + rcp.rn.f32 %f541, %f531; + mul.f32 %f527, %f541, %f535; + mul.f32 %f528, %f541, %f536; + mul.f32 %f529, %f541, %f537; + ld.global.u32 %r75, [imageEnabled]; + and.b32 %r76, %r75, 32; + setp.eq.s32 %p45, %r76, 0; + selp.f32 %f542, 0f3F800000, 0f41200000, %p45; + mul.f32 %f530, %f542, %f137; + mov.u32 %r77, 1065353216; + st.local.u32 [%rd2], %r77; + ld.global.u32 %r71, [root]; + // inline asm + call _rt_trace_64, (%r71, %f10, %f11, %f12, %f527, %f528, %f529, %r44, %f530, %f531, %rd35, %r28); + // inline asm + ld.local.f32 %f543, [%rd2]; + add.f32 %f1341, %f543, 0f00000000; + mov.u32 %r240, %r44; + +BB0_33: + cvt.rn.f32.s32 %f552, %r240; + mul.f32 %f553, %f552, 0f3DD32618; + cvt.rmi.f32.f32 %f554, %f553; + sub.f32 %f555, %f553, %f554; + mul.f32 %f556, %f552, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f557, %f556; + sub.f32 %f558, %f556, %f557; + mul.f32 %f559, %f552, 0f3DC74539; + cvt.rmi.f32.f32 %f560, %f559; + sub.f32 %f561, %f559, %f560; + add.f32 %f562, %f558, 0f4199851F; + add.f32 %f563, %f561, 0f4199851F; + add.f32 %f564, %f555, 0f4199851F; + mul.f32 %f565, %f558, %f563; + fma.rn.f32 %f566, %f555, %f562, %f565; + fma.rn.f32 %f567, %f564, %f561, %f566; + add.f32 %f568, %f555, %f567; + add.f32 %f569, %f558, %f567; + add.f32 %f570, %f561, %f567; + add.f32 %f571, %f568, %f569; + mul.f32 %f572, %f570, %f571; + cvt.rmi.f32.f32 %f573, %f572; + sub.f32 %f574, %f572, %f573; + add.f32 %f575, %f568, %f570; + mul.f32 %f576, %f569, %f575; + cvt.rmi.f32.f32 %f577, %f576; + sub.f32 %f578, %f576, %f577; + add.f32 %f579, %f569, %f570; + mul.f32 %f580, %f568, %f579; + cvt.rmi.f32.f32 %f581, %f580; + sub.f32 %f582, %f580, %f581; + fma.rn.f32 %f583, %f574, 0f40000000, 0fBF800000; + fma.rn.f32 %f584, %f578, 0f40000000, 0fBF800000; + fma.rn.f32 %f585, %f582, 0f40000000, 0fBF800000; + fma.rn.f32 %f586, %f347, %f583, %f352; + fma.rn.f32 %f587, %f347, %f584, %f353; + fma.rn.f32 %f588, %f347, %f585, %f354; + sub.f32 %f589, %f586, %f7; + sub.f32 %f590, %f587, %f8; + sub.f32 %f591, %f588, %f9; + mul.f32 %f592, %f590, %f590; + fma.rn.f32 %f593, %f589, %f589, %f592; + fma.rn.f32 %f594, %f591, %f591, %f593; + sqrt.rn.f32 %f551, %f594; + rcp.rn.f32 %f595, %f551; + mul.f32 %f547, %f595, %f589; + mul.f32 %f548, %f595, %f590; + mul.f32 %f549, %f595, %f591; + ld.global.u32 %r81, [imageEnabled]; + and.b32 %r82, %r81, 32; + setp.eq.s32 %p46, %r82, 0; + selp.f32 %f596, 0f3F800000, 0f41200000, %p46; + mul.f32 %f550, %f596, %f137; + mov.u32 %r83, 1065353216; + st.local.u32 [%rd2], %r83; + ld.global.u32 %r78, [root]; + // inline asm + call _rt_trace_64, (%r78, %f10, %f11, %f12, %f547, %f548, %f549, %r44, %f550, %f551, %rd35, %r28); + // inline asm + ld.local.f32 %f597, [%rd2]; + add.f32 %f1342, %f1341, %f597; + add.s32 %r241, %r240, 1; + +BB0_34: + cvt.rn.f32.s32 %f606, %r241; + mul.f32 %f607, %f606, 0f3DD32618; + cvt.rmi.f32.f32 %f608, %f607; + sub.f32 %f609, %f607, %f608; + mul.f32 %f610, %f606, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f611, %f610; + sub.f32 %f612, %f610, %f611; + mul.f32 %f613, %f606, 0f3DC74539; + cvt.rmi.f32.f32 %f614, %f613; + sub.f32 %f615, %f613, %f614; + add.f32 %f616, %f612, 0f4199851F; + add.f32 %f617, %f615, 0f4199851F; + add.f32 %f618, %f609, 0f4199851F; + mul.f32 %f619, %f612, %f617; + fma.rn.f32 %f620, %f609, %f616, %f619; + fma.rn.f32 %f621, %f618, %f615, %f620; + add.f32 %f622, %f609, %f621; + add.f32 %f623, %f612, %f621; + add.f32 %f624, %f615, %f621; + add.f32 %f625, %f622, %f623; + mul.f32 %f626, %f624, %f625; + cvt.rmi.f32.f32 %f627, %f626; + sub.f32 %f628, %f626, %f627; + add.f32 %f629, %f622, %f624; + mul.f32 %f630, %f623, %f629; + cvt.rmi.f32.f32 %f631, %f630; + sub.f32 %f632, %f630, %f631; + add.f32 %f633, %f623, %f624; + mul.f32 %f634, %f622, %f633; + cvt.rmi.f32.f32 %f635, %f634; + sub.f32 %f636, %f634, %f635; + fma.rn.f32 %f637, %f628, 0f40000000, 0fBF800000; + fma.rn.f32 %f638, %f632, 0f40000000, 0fBF800000; + fma.rn.f32 %f639, %f636, 0f40000000, 0fBF800000; + fma.rn.f32 %f640, %f347, %f637, %f352; + fma.rn.f32 %f641, %f347, %f638, %f353; + fma.rn.f32 %f642, %f347, %f639, %f354; + sub.f32 %f643, %f640, %f7; + sub.f32 %f644, %f641, %f8; + sub.f32 %f645, %f642, %f9; + mul.f32 %f646, %f644, %f644; + fma.rn.f32 %f647, %f643, %f643, %f646; + fma.rn.f32 %f648, %f645, %f645, %f647; + sqrt.rn.f32 %f605, %f648; + rcp.rn.f32 %f649, %f605; + mul.f32 %f601, %f649, %f643; + mul.f32 %f602, %f649, %f644; + mul.f32 %f603, %f649, %f645; + ld.global.u32 %r87, [imageEnabled]; + and.b32 %r88, %r87, 32; + setp.eq.s32 %p47, %r88, 0; + selp.f32 %f650, 0f3F800000, 0f41200000, %p47; + mul.f32 %f604, %f650, %f137; + mov.u32 %r89, 1065353216; + st.local.u32 [%rd2], %r89; + ld.global.u32 %r84, [root]; + mov.u32 %r85, 1; + // inline asm + call _rt_trace_64, (%r84, %f10, %f11, %f12, %f601, %f602, %f603, %r85, %f604, %f605, %rd35, %r28); + // inline asm + ld.local.f32 %f651, [%rd2]; + add.f32 %f1345, %f1342, %f651; + add.s32 %r243, %r241, 1; + +BB0_35: + setp.lt.u32 %p48, %r6, 4; + @%p48 bra BB0_37; + +BB0_36: + cvt.rn.f32.s32 %f684, %r243; + mul.f32 %f685, %f684, 0f3DD32618; + cvt.rmi.f32.f32 %f686, %f685; + sub.f32 %f687, %f685, %f686; + mul.f32 %f688, %f684, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f689, %f688; + sub.f32 %f690, %f688, %f689; + mul.f32 %f691, %f684, 0f3DC74539; + cvt.rmi.f32.f32 %f692, %f691; + sub.f32 %f693, %f691, %f692; + add.f32 %f694, %f690, 0f4199851F; + add.f32 %f695, %f693, 0f4199851F; + add.f32 %f696, %f687, 0f4199851F; + mul.f32 %f697, %f690, %f695; + fma.rn.f32 %f698, %f687, %f694, %f697; + fma.rn.f32 %f699, %f696, %f693, %f698; + add.f32 %f700, %f687, %f699; + add.f32 %f701, %f690, %f699; + add.f32 %f702, %f693, %f699; + add.f32 %f703, %f700, %f701; + mul.f32 %f704, %f702, %f703; + cvt.rmi.f32.f32 %f705, %f704; + sub.f32 %f706, %f704, %f705; + add.f32 %f707, %f700, %f702; + mul.f32 %f708, %f701, %f707; + cvt.rmi.f32.f32 %f709, %f708; + sub.f32 %f710, %f708, %f709; + add.f32 %f711, %f701, %f702; + mul.f32 %f712, %f700, %f711; + cvt.rmi.f32.f32 %f713, %f712; + sub.f32 %f714, %f712, %f713; + fma.rn.f32 %f715, %f706, 0f40000000, 0fBF800000; + fma.rn.f32 %f716, %f710, 0f40000000, 0fBF800000; + fma.rn.f32 %f717, %f714, 0f40000000, 0fBF800000; + fma.rn.f32 %f718, %f347, %f715, %f352; + fma.rn.f32 %f719, %f347, %f716, %f353; + fma.rn.f32 %f720, %f347, %f717, %f354; + sub.f32 %f721, %f718, %f7; + sub.f32 %f722, %f719, %f8; + sub.f32 %f723, %f720, %f9; + mul.f32 %f724, %f722, %f722; + fma.rn.f32 %f725, %f721, %f721, %f724; + fma.rn.f32 %f726, %f723, %f723, %f725; + sqrt.rn.f32 %f659, %f726; + rcp.rn.f32 %f727, %f659; + mul.f32 %f655, %f727, %f721; + mul.f32 %f656, %f727, %f722; + mul.f32 %f657, %f727, %f723; + ld.global.u32 %r102, [imageEnabled]; + and.b32 %r103, %r102, 32; + setp.eq.s32 %p49, %r103, 0; + selp.f32 %f728, 0f3F800000, 0f41200000, %p49; + mul.f32 %f658, %f728, %f137; + mov.u32 %r104, 1065353216; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r90, [root]; + mov.u32 %r100, 1; + // inline asm + call _rt_trace_64, (%r90, %f10, %f11, %f12, %f655, %f656, %f657, %r100, %f658, %f659, %rd35, %r28); + // inline asm + ld.local.f32 %f729, [%rd2]; + add.f32 %f730, %f1345, %f729; + add.s32 %r105, %r243, 1; + cvt.rn.f32.s32 %f731, %r105; + mul.f32 %f732, %f731, 0f3DD32618; + cvt.rmi.f32.f32 %f733, %f732; + sub.f32 %f734, %f732, %f733; + mul.f32 %f735, %f731, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f736, %f735; + sub.f32 %f737, %f735, %f736; + mul.f32 %f738, %f731, 0f3DC74539; + cvt.rmi.f32.f32 %f739, %f738; + sub.f32 %f740, %f738, %f739; + add.f32 %f741, %f737, 0f4199851F; + add.f32 %f742, %f740, 0f4199851F; + add.f32 %f743, %f734, 0f4199851F; + mul.f32 %f744, %f737, %f742; + fma.rn.f32 %f745, %f734, %f741, %f744; + fma.rn.f32 %f746, %f743, %f740, %f745; + add.f32 %f747, %f734, %f746; + add.f32 %f748, %f737, %f746; + add.f32 %f749, %f740, %f746; + add.f32 %f750, %f747, %f748; + mul.f32 %f751, %f749, %f750; + cvt.rmi.f32.f32 %f752, %f751; + sub.f32 %f753, %f751, %f752; + add.f32 %f754, %f747, %f749; + mul.f32 %f755, %f748, %f754; + cvt.rmi.f32.f32 %f756, %f755; + sub.f32 %f757, %f755, %f756; + add.f32 %f758, %f748, %f749; + mul.f32 %f759, %f747, %f758; + cvt.rmi.f32.f32 %f760, %f759; + sub.f32 %f761, %f759, %f760; + fma.rn.f32 %f762, %f753, 0f40000000, 0fBF800000; + fma.rn.f32 %f763, %f757, 0f40000000, 0fBF800000; + fma.rn.f32 %f764, %f761, 0f40000000, 0fBF800000; + fma.rn.f32 %f765, %f347, %f762, %f352; + fma.rn.f32 %f766, %f347, %f763, %f353; + fma.rn.f32 %f767, %f347, %f764, %f354; + sub.f32 %f768, %f765, %f7; + sub.f32 %f769, %f766, %f8; + sub.f32 %f770, %f767, %f9; + mul.f32 %f771, %f769, %f769; + fma.rn.f32 %f772, %f768, %f768, %f771; + fma.rn.f32 %f773, %f770, %f770, %f772; + sqrt.rn.f32 %f667, %f773; + rcp.rn.f32 %f774, %f667; + mul.f32 %f663, %f774, %f768; + mul.f32 %f664, %f774, %f769; + mul.f32 %f665, %f774, %f770; + ld.global.u32 %r106, [imageEnabled]; + and.b32 %r107, %r106, 32; + setp.eq.s32 %p50, %r107, 0; + selp.f32 %f775, 0f3F800000, 0f41200000, %p50; + mul.f32 %f666, %f775, %f137; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r93, [root]; + // inline asm + call _rt_trace_64, (%r93, %f10, %f11, %f12, %f663, %f664, %f665, %r100, %f666, %f667, %rd35, %r28); + // inline asm + ld.local.f32 %f776, [%rd2]; + add.f32 %f777, %f730, %f776; + add.s32 %r108, %r243, 2; + cvt.rn.f32.s32 %f778, %r108; + mul.f32 %f779, %f778, 0f3DD32618; + cvt.rmi.f32.f32 %f780, %f779; + sub.f32 %f781, %f779, %f780; + mul.f32 %f782, %f778, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f783, %f782; + sub.f32 %f784, %f782, %f783; + mul.f32 %f785, %f778, 0f3DC74539; + cvt.rmi.f32.f32 %f786, %f785; + sub.f32 %f787, %f785, %f786; + add.f32 %f788, %f784, 0f4199851F; + add.f32 %f789, %f787, 0f4199851F; + add.f32 %f790, %f781, 0f4199851F; + mul.f32 %f791, %f784, %f789; + fma.rn.f32 %f792, %f781, %f788, %f791; + fma.rn.f32 %f793, %f790, %f787, %f792; + add.f32 %f794, %f781, %f793; + add.f32 %f795, %f784, %f793; + add.f32 %f796, %f787, %f793; + add.f32 %f797, %f794, %f795; + mul.f32 %f798, %f796, %f797; + cvt.rmi.f32.f32 %f799, %f798; + sub.f32 %f800, %f798, %f799; + add.f32 %f801, %f794, %f796; + mul.f32 %f802, %f795, %f801; + cvt.rmi.f32.f32 %f803, %f802; + sub.f32 %f804, %f802, %f803; + add.f32 %f805, %f795, %f796; + mul.f32 %f806, %f794, %f805; + cvt.rmi.f32.f32 %f807, %f806; + sub.f32 %f808, %f806, %f807; + fma.rn.f32 %f809, %f800, 0f40000000, 0fBF800000; + fma.rn.f32 %f810, %f804, 0f40000000, 0fBF800000; + fma.rn.f32 %f811, %f808, 0f40000000, 0fBF800000; + fma.rn.f32 %f812, %f347, %f809, %f352; + fma.rn.f32 %f813, %f347, %f810, %f353; + fma.rn.f32 %f814, %f347, %f811, %f354; + sub.f32 %f815, %f812, %f7; + sub.f32 %f816, %f813, %f8; + sub.f32 %f817, %f814, %f9; + mul.f32 %f818, %f816, %f816; + fma.rn.f32 %f819, %f815, %f815, %f818; + fma.rn.f32 %f820, %f817, %f817, %f819; + sqrt.rn.f32 %f675, %f820; + rcp.rn.f32 %f821, %f675; + mul.f32 %f671, %f821, %f815; + mul.f32 %f672, %f821, %f816; + mul.f32 %f673, %f821, %f817; + ld.global.u32 %r109, [imageEnabled]; + and.b32 %r110, %r109, 32; + setp.eq.s32 %p51, %r110, 0; + selp.f32 %f822, 0f3F800000, 0f41200000, %p51; + mul.f32 %f674, %f822, %f137; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r96, [root]; + // inline asm + call _rt_trace_64, (%r96, %f10, %f11, %f12, %f671, %f672, %f673, %r100, %f674, %f675, %rd35, %r28); + // inline asm + ld.local.f32 %f823, [%rd2]; + add.f32 %f824, %f777, %f823; + add.s32 %r111, %r243, 3; + cvt.rn.f32.s32 %f825, %r111; + mul.f32 %f826, %f825, 0f3DD32618; + cvt.rmi.f32.f32 %f827, %f826; + sub.f32 %f828, %f826, %f827; + mul.f32 %f829, %f825, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f830, %f829; + sub.f32 %f831, %f829, %f830; + mul.f32 %f832, %f825, 0f3DC74539; + cvt.rmi.f32.f32 %f833, %f832; + sub.f32 %f834, %f832, %f833; + add.f32 %f835, %f831, 0f4199851F; + add.f32 %f836, %f834, 0f4199851F; + add.f32 %f837, %f828, 0f4199851F; + mul.f32 %f838, %f831, %f836; + fma.rn.f32 %f839, %f828, %f835, %f838; + fma.rn.f32 %f840, %f837, %f834, %f839; + add.f32 %f841, %f828, %f840; + add.f32 %f842, %f831, %f840; + add.f32 %f843, %f834, %f840; + add.f32 %f844, %f841, %f842; + mul.f32 %f845, %f843, %f844; + cvt.rmi.f32.f32 %f846, %f845; + sub.f32 %f847, %f845, %f846; + add.f32 %f848, %f841, %f843; + mul.f32 %f849, %f842, %f848; + cvt.rmi.f32.f32 %f850, %f849; + sub.f32 %f851, %f849, %f850; + add.f32 %f852, %f842, %f843; + mul.f32 %f853, %f841, %f852; + cvt.rmi.f32.f32 %f854, %f853; + sub.f32 %f855, %f853, %f854; + fma.rn.f32 %f856, %f847, 0f40000000, 0fBF800000; + fma.rn.f32 %f857, %f851, 0f40000000, 0fBF800000; + fma.rn.f32 %f858, %f855, 0f40000000, 0fBF800000; + fma.rn.f32 %f859, %f347, %f856, %f352; + fma.rn.f32 %f860, %f347, %f857, %f353; + fma.rn.f32 %f861, %f347, %f858, %f354; + sub.f32 %f862, %f859, %f7; + sub.f32 %f863, %f860, %f8; + sub.f32 %f864, %f861, %f9; + mul.f32 %f865, %f863, %f863; + fma.rn.f32 %f866, %f862, %f862, %f865; + fma.rn.f32 %f867, %f864, %f864, %f866; + sqrt.rn.f32 %f683, %f867; + rcp.rn.f32 %f868, %f683; + mul.f32 %f679, %f868, %f862; + mul.f32 %f680, %f868, %f863; + mul.f32 %f681, %f868, %f864; + ld.global.u32 %r112, [imageEnabled]; + and.b32 %r113, %r112, 32; + setp.eq.s32 %p52, %r113, 0; + selp.f32 %f869, 0f3F800000, 0f41200000, %p52; + mul.f32 %f682, %f869, %f137; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r99, [root]; + // inline asm + call _rt_trace_64, (%r99, %f10, %f11, %f12, %f679, %f680, %f681, %r100, %f682, %f683, %rd35, %r28); + // inline asm + ld.local.f32 %f870, [%rd2]; + add.f32 %f1345, %f824, %f870; + add.s32 %r243, %r243, 4; + setp.lt.s32 %p53, %r243, %r6; + @%p53 bra BB0_36; + +BB0_37: + cvt.rn.f32.s32 %f871, %r6; + div.rn.f32 %f1346, %f1345, %f871; + +BB0_38: + fma.rn.f32 %f1318, %f1326, %f1346, %f1318; + fma.rn.f32 %f1317, %f1327, %f1346, %f1317; + fma.rn.f32 %f1316, %f1328, %f1346, %f1316; + fma.rn.f32 %f1315, %f1329, %f1346, %f1315; + fma.rn.f32 %f1314, %f1330, %f1346, %f1314; + fma.rn.f32 %f1313, %f1331, %f1346, %f1313; + fma.rn.f32 %f1312, %f1332, %f1346, %f1312; + fma.rn.f32 %f1311, %f1333, %f1346, %f1311; + fma.rn.f32 %f1310, %f1334, %f1346, %f1310; + fma.rn.f32 %f1309, %f1335, %f1346, %f1309; + fma.rn.f32 %f1308, %f1336, %f1346, %f1308; + fma.rn.f32 %f1307, %f1337, %f1346, %f1307; + fma.rn.f32 %f1306, %f1338, %f1346, %f1306; + fma.rn.f32 %f1305, %f1339, %f1346, %f1305; + fma.rn.f32 %f1304, %f1340, %f1346, %f1304; + add.f32 %f1303, %f1303, %f1346; + +BB0_39: + add.s32 %r239, %r239, 1; + setp.lt.u32 %p54, %r239, %r4; + @%p54 bra BB0_5; + +BB0_40: + ld.global.u32 %r245, [imageEnabled]; + and.b32 %r114, %r245, 8; + setp.eq.s32 %p55, %r114, 0; + @%p55 bra BB0_53; + + cvt.sat.f32.f32 %f197, %f1303; + cvt.u64.u32 %rd46, %r3; + cvt.u64.u32 %rd45, %r2; + mov.u64 %rd49, image_Mask; + cvta.global.u64 %rd44, %rd49; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd44, %r27, %r27, %rd45, %rd46, %rd13, %rd13); + // inline asm + mov.f32 %f874, 0f3E68BA2E; + cvt.rzi.f32.f32 %f875, %f874; + fma.rn.f32 %f876, %f875, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f198, %f876; + abs.f32 %f199, %f197; + setp.lt.f32 %p56, %f199, 0f00800000; + mul.f32 %f877, %f199, 0f4B800000; + selp.f32 %f878, 0fC3170000, 0fC2FE0000, %p56; + selp.f32 %f879, %f877, %f199, %p56; + mov.b32 %r117, %f879; + and.b32 %r118, %r117, 8388607; + or.b32 %r119, %r118, 1065353216; + mov.b32 %f880, %r119; + shr.u32 %r120, %r117, 23; + cvt.rn.f32.u32 %f881, %r120; + add.f32 %f882, %f878, %f881; + setp.gt.f32 %p57, %f880, 0f3FB504F3; + mul.f32 %f883, %f880, 0f3F000000; + add.f32 %f884, %f882, 0f3F800000; + selp.f32 %f885, %f883, %f880, %p57; + selp.f32 %f886, %f884, %f882, %p57; + add.f32 %f887, %f885, 0fBF800000; + add.f32 %f873, %f885, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f872,%f873; + // inline asm + add.f32 %f888, %f887, %f887; + mul.f32 %f889, %f872, %f888; + mul.f32 %f890, %f889, %f889; + mov.f32 %f891, 0f3C4CAF63; + mov.f32 %f892, 0f3B18F0FE; + fma.rn.f32 %f893, %f892, %f890, %f891; + mov.f32 %f894, 0f3DAAAABD; + fma.rn.f32 %f895, %f893, %f890, %f894; + mul.rn.f32 %f896, %f895, %f890; + mul.rn.f32 %f897, %f896, %f889; + sub.f32 %f898, %f887, %f889; + neg.f32 %f899, %f889; + add.f32 %f900, %f898, %f898; + fma.rn.f32 %f901, %f899, %f887, %f900; + mul.rn.f32 %f902, %f872, %f901; + add.f32 %f903, %f897, %f889; + sub.f32 %f904, %f889, %f903; + add.f32 %f905, %f897, %f904; + add.f32 %f906, %f902, %f905; + add.f32 %f907, %f903, %f906; + sub.f32 %f908, %f903, %f907; + add.f32 %f909, %f906, %f908; + mov.f32 %f910, 0f3F317200; + mul.rn.f32 %f911, %f886, %f910; + mov.f32 %f912, 0f35BFBE8E; + mul.rn.f32 %f913, %f886, %f912; + add.f32 %f914, %f911, %f907; + sub.f32 %f915, %f911, %f914; + add.f32 %f916, %f907, %f915; + add.f32 %f917, %f909, %f916; + add.f32 %f918, %f913, %f917; + add.f32 %f919, %f914, %f918; + sub.f32 %f920, %f914, %f919; + add.f32 %f921, %f918, %f920; + mov.f32 %f922, 0f3EE8BA2E; + mul.rn.f32 %f923, %f922, %f919; + neg.f32 %f924, %f923; + fma.rn.f32 %f925, %f922, %f919, %f924; + fma.rn.f32 %f926, %f922, %f921, %f925; + mov.f32 %f927, 0f00000000; + fma.rn.f32 %f928, %f927, %f919, %f926; + add.rn.f32 %f929, %f923, %f928; + neg.f32 %f930, %f929; + add.rn.f32 %f931, %f923, %f930; + add.rn.f32 %f932, %f931, %f928; + mov.b32 %r121, %f929; + setp.eq.s32 %p58, %r121, 1118925336; + add.s32 %r122, %r121, -1; + mov.b32 %f933, %r122; + add.f32 %f934, %f932, 0f37000000; + selp.f32 %f935, %f933, %f929, %p58; + selp.f32 %f200, %f934, %f932, %p58; + mul.f32 %f936, %f935, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f937, %f936; + mov.f32 %f938, 0fBF317200; + fma.rn.f32 %f939, %f937, %f938, %f935; + mov.f32 %f940, 0fB5BFBE8E; + fma.rn.f32 %f941, %f937, %f940, %f939; + mul.f32 %f942, %f941, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f943, %f942; + add.f32 %f944, %f937, 0f00000000; + ex2.approx.f32 %f945, %f944; + mul.f32 %f946, %f943, %f945; + setp.lt.f32 %p59, %f935, 0fC2D20000; + selp.f32 %f947, 0f00000000, %f946, %p59; + setp.gt.f32 %p60, %f935, 0f42D20000; + selp.f32 %f1379, 0f7F800000, %f947, %p60; + setp.eq.f32 %p61, %f1379, 0f7F800000; + @%p61 bra BB0_43; + + fma.rn.f32 %f1379, %f1379, %f200, %f1379; + +BB0_43: + setp.lt.f32 %p62, %f197, 0f00000000; + setp.eq.f32 %p63, %f198, 0f3F800000; + and.pred %p4, %p62, %p63; + mov.b32 %r123, %f1379; + xor.b32 %r124, %r123, -2147483648; + mov.b32 %f948, %r124; + selp.f32 %f1381, %f948, %f1379, %p4; + setp.eq.f32 %p64, %f197, 0f00000000; + @%p64 bra BB0_46; + bra.uni BB0_44; + +BB0_46: + add.f32 %f951, %f197, %f197; + selp.f32 %f1381, %f951, 0f00000000, %p63; + bra.uni BB0_47; + +BB0_111: + mov.u64 %rd190, image_HDR; + cvta.global.u64 %rd185, %rd190; + mov.u32 %r210, 8; + // inline asm + call (%rd184), _rt_buffer_get_64, (%rd185, %r27, %r210, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1271, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f1271;} + + // inline asm + mov.u16 %rs105, 0; + st.v4.u16 [%rd184], {%rs104, %rs104, %rs104, %rs105}; + +BB0_112: + ld.global.u32 %r211, [additive]; + setp.eq.s32 %p131, %r211, 0; + @%p131 bra BB0_114; + + mov.u64 %rd203, image_RNM0; + cvta.global.u64 %rd192, %rd203; + mov.u32 %r215, 8; + // inline asm + call (%rd191), _rt_buffer_get_64, (%rd192, %r27, %r215, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd191]; + // inline asm + { cvt.f32.f16 %f1272, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1273, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1274, %rs114;} + + // inline asm + // inline asm + call (%rd197), _rt_buffer_get_64, (%rd192, %r27, %r215, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1275, %f1272, 0f00000000; + add.f32 %f1276, %f1273, 0f00000000; + add.f32 %f1277, %f1274, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f1277;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f1276;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f1275;} + + // inline asm + mov.u16 %rs116, 0; + st.v4.u16 [%rd197], {%rs109, %rs110, %rs111, %rs116}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd210, image_RNM0; + cvta.global.u64 %rd205, %rd210; + mov.u32 %r217, 8; + // inline asm + call (%rd204), _rt_buffer_get_64, (%rd205, %r27, %r217, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1278, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs117, %f1278;} + + // inline asm + mov.u16 %rs118, 0; + st.v4.u16 [%rd204], {%rs117, %rs117, %rs117, %rs118}; + +BB0_115: + ld.global.u32 %r218, [additive]; + setp.eq.s32 %p132, %r218, 0; + @%p132 bra BB0_117; + + mov.u64 %rd223, image_RNM1; + cvta.global.u64 %rd212, %rd223; + mov.u32 %r222, 8; + // inline asm + call (%rd211), _rt_buffer_get_64, (%rd212, %r27, %r222, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs125, %rs126, %rs127, %rs128}, [%rd211]; + // inline asm + { cvt.f32.f16 %f1279, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1280, %rs126;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1281, %rs127;} + + // inline asm + // inline asm + call (%rd217), _rt_buffer_get_64, (%rd212, %r27, %r222, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1282, %f1279, 0f00000000; + add.f32 %f1283, %f1280, 0f00000000; + add.f32 %f1284, %f1281, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f1284;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs123, %f1283;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f1282;} + + // inline asm + mov.u16 %rs129, 0; + st.v4.u16 [%rd217], {%rs122, %rs123, %rs124, %rs129}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd230, image_RNM1; + cvta.global.u64 %rd225, %rd230; + mov.u32 %r224, 8; + // inline asm + call (%rd224), _rt_buffer_get_64, (%rd225, %r27, %r224, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1285, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs130, %f1285;} + + // inline asm + mov.u16 %rs131, 0; + st.v4.u16 [%rd224], {%rs130, %rs130, %rs130, %rs131}; + +BB0_118: + ld.global.u32 %r225, [additive]; + setp.eq.s32 %p133, %r225, 0; + @%p133 bra BB0_120; + + mov.u64 %rd243, image_RNM2; + cvta.global.u64 %rd232, %rd243; + mov.u32 %r229, 8; + // inline asm + call (%rd231), _rt_buffer_get_64, (%rd232, %r27, %r229, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs138, %rs139, %rs140, %rs141}, [%rd231]; + // inline asm + { cvt.f32.f16 %f1286, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1287, %rs139;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1288, %rs140;} + + // inline asm + // inline asm + call (%rd237), _rt_buffer_get_64, (%rd232, %r27, %r229, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1289, %f1286, 0f00000000; + add.f32 %f1290, %f1287, 0f00000000; + add.f32 %f1291, %f1288, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f1291;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs136, %f1290;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f1289;} + + // inline asm + mov.u16 %rs142, 0; + st.v4.u16 [%rd237], {%rs135, %rs136, %rs137, %rs142}; + bra.uni BB0_121; + +BB0_120: + mov.u64 %rd250, image_RNM2; + cvta.global.u64 %rd245, %rd250; + mov.u32 %r231, 8; + // inline asm + call (%rd244), _rt_buffer_get_64, (%rd245, %r27, %r231, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1292, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs143, %f1292;} + + // inline asm + mov.u16 %rs144, 0; + st.v4.u16 [%rd244], {%rs143, %rs143, %rs143, %rs144}; + +BB0_121: + ld.global.u32 %r232, [additive]; + setp.eq.s32 %p134, %r232, 0; + @%p134 bra BB0_123; + + mov.u64 %rd263, image_RNM3; + cvta.global.u64 %rd252, %rd263; + mov.u32 %r236, 8; + // inline asm + call (%rd251), _rt_buffer_get_64, (%rd252, %r27, %r236, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs151, %rs152, %rs153, %rs154}, [%rd251]; + // inline asm + { cvt.f32.f16 %f1293, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1294, %rs152;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1295, %rs153;} + + // inline asm + // inline asm + call (%rd257), _rt_buffer_get_64, (%rd252, %r27, %r236, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1296, %f1293, 0f00000000; + add.f32 %f1297, %f1294, 0f00000000; + add.f32 %f1298, %f1295, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f1298;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs149, %f1297;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f1296;} + + // inline asm + mov.u16 %rs155, 0; + st.v4.u16 [%rd257], {%rs148, %rs149, %rs150, %rs155}; + bra.uni BB0_124; + +BB0_123: + mov.u64 %rd270, image_RNM3; + cvta.global.u64 %rd265, %rd270; + mov.u32 %r238, 8; + // inline asm + call (%rd264), _rt_buffer_get_64, (%rd265, %r27, %r238, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1299, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs156, %f1299;} + + // inline asm + mov.u16 %rs157, 0; + st.v4.u16 [%rd264], {%rs156, %rs156, %rs156, %rs157}; + bra.uni BB0_124; + +BB0_44: + setp.geu.f32 %p65, %f197, 0f00000000; + @%p65 bra BB0_47; + + cvt.rzi.f32.f32 %f950, %f922; + setp.neu.f32 %p66, %f950, 0f3EE8BA2E; + selp.f32 %f1381, 0f7FFFFFFF, %f1381, %p66; + +BB0_47: + add.f32 %f952, %f199, 0f3EE8BA2E; + mov.b32 %r125, %f952; + setp.lt.s32 %p68, %r125, 2139095040; + @%p68 bra BB0_52; + + setp.gtu.f32 %p69, %f199, 0f7F800000; + @%p69 bra BB0_51; + bra.uni BB0_49; + +BB0_51: + add.f32 %f1381, %f197, 0f3EE8BA2E; + bra.uni BB0_52; + +BB0_49: + setp.neu.f32 %p70, %f199, 0f7F800000; + @%p70 bra BB0_52; + + selp.f32 %f1381, 0fFF800000, 0f7F800000, %p4; + +BB0_52: + mul.f32 %f953, %f1381, 0f437F0000; + setp.eq.f32 %p71, %f197, 0f3F800000; + selp.f32 %f954, 0f437F0000, %f953, %p71; + cvt.rzi.u32.f32 %r126, %f954; + cvt.u16.u32 %rs14, %r126; + mov.u16 %rs15, 255; + st.v2.u8 [%rd43], {%rs14, %rs15}; + ld.global.u32 %r245, [imageEnabled]; + +BB0_53: + and.b32 %r127, %r245, 1; + setp.eq.b32 %p72, %r127, 1; + @!%p72 bra BB0_88; + bra.uni BB0_54; + +BB0_54: + mov.f32 %f957, 0f3E666666; + cvt.rzi.f32.f32 %f958, %f957; + fma.rn.f32 %f959, %f958, 0fC0000000, 0f3EE66666; + abs.f32 %f211, %f959; + abs.f32 %f212, %f1318; + setp.lt.f32 %p73, %f212, 0f00800000; + mul.f32 %f960, %f212, 0f4B800000; + selp.f32 %f961, 0fC3170000, 0fC2FE0000, %p73; + selp.f32 %f962, %f960, %f212, %p73; + mov.b32 %r128, %f962; + and.b32 %r129, %r128, 8388607; + or.b32 %r130, %r129, 1065353216; + mov.b32 %f963, %r130; + shr.u32 %r131, %r128, 23; + cvt.rn.f32.u32 %f964, %r131; + add.f32 %f965, %f961, %f964; + setp.gt.f32 %p74, %f963, 0f3FB504F3; + mul.f32 %f966, %f963, 0f3F000000; + add.f32 %f967, %f965, 0f3F800000; + selp.f32 %f968, %f966, %f963, %p74; + selp.f32 %f969, %f967, %f965, %p74; + add.f32 %f970, %f968, 0fBF800000; + add.f32 %f956, %f968, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f955,%f956; + // inline asm + add.f32 %f971, %f970, %f970; + mul.f32 %f972, %f955, %f971; + mul.f32 %f973, %f972, %f972; + mov.f32 %f974, 0f3C4CAF63; + mov.f32 %f975, 0f3B18F0FE; + fma.rn.f32 %f976, %f975, %f973, %f974; + mov.f32 %f977, 0f3DAAAABD; + fma.rn.f32 %f978, %f976, %f973, %f977; + mul.rn.f32 %f979, %f978, %f973; + mul.rn.f32 %f980, %f979, %f972; + sub.f32 %f981, %f970, %f972; + neg.f32 %f982, %f972; + add.f32 %f983, %f981, %f981; + fma.rn.f32 %f984, %f982, %f970, %f983; + mul.rn.f32 %f985, %f955, %f984; + add.f32 %f986, %f980, %f972; + sub.f32 %f987, %f972, %f986; + add.f32 %f988, %f980, %f987; + add.f32 %f989, %f985, %f988; + add.f32 %f990, %f986, %f989; + sub.f32 %f991, %f986, %f990; + add.f32 %f992, %f989, %f991; + mov.f32 %f993, 0f3F317200; + mul.rn.f32 %f994, %f969, %f993; + mov.f32 %f995, 0f35BFBE8E; + mul.rn.f32 %f996, %f969, %f995; + add.f32 %f997, %f994, %f990; + sub.f32 %f998, %f994, %f997; + add.f32 %f999, %f990, %f998; + add.f32 %f1000, %f992, %f999; + add.f32 %f1001, %f996, %f1000; + add.f32 %f1002, %f997, %f1001; + sub.f32 %f1003, %f997, %f1002; + add.f32 %f1004, %f1001, %f1003; + mov.f32 %f1005, 0f3EE66666; + mul.rn.f32 %f1006, %f1005, %f1002; + neg.f32 %f1007, %f1006; + fma.rn.f32 %f1008, %f1005, %f1002, %f1007; + fma.rn.f32 %f1009, %f1005, %f1004, %f1008; + mov.f32 %f1010, 0f00000000; + fma.rn.f32 %f1011, %f1010, %f1002, %f1009; + add.rn.f32 %f1012, %f1006, %f1011; + neg.f32 %f1013, %f1012; + add.rn.f32 %f1014, %f1006, %f1013; + add.rn.f32 %f1015, %f1014, %f1011; + mov.b32 %r132, %f1012; + setp.eq.s32 %p75, %r132, 1118925336; + add.s32 %r133, %r132, -1; + mov.b32 %f1016, %r133; + add.f32 %f1017, %f1015, 0f37000000; + selp.f32 %f1018, %f1016, %f1012, %p75; + selp.f32 %f213, %f1017, %f1015, %p75; + mul.f32 %f1019, %f1018, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1020, %f1019; + mov.f32 %f1021, 0fBF317200; + fma.rn.f32 %f1022, %f1020, %f1021, %f1018; + mov.f32 %f1023, 0fB5BFBE8E; + fma.rn.f32 %f1024, %f1020, %f1023, %f1022; + mul.f32 %f1025, %f1024, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1026, %f1025; + add.f32 %f1027, %f1020, 0f00000000; + ex2.approx.f32 %f1028, %f1027; + mul.f32 %f1029, %f1026, %f1028; + setp.lt.f32 %p76, %f1018, 0fC2D20000; + selp.f32 %f1030, 0f00000000, %f1029, %p76; + setp.gt.f32 %p77, %f1018, 0f42D20000; + selp.f32 %f1382, 0f7F800000, %f1030, %p77; + setp.eq.f32 %p78, %f1382, 0f7F800000; + @%p78 bra BB0_56; + + fma.rn.f32 %f1382, %f1382, %f213, %f1382; + +BB0_56: + setp.lt.f32 %p79, %f1318, 0f00000000; + setp.eq.f32 %p80, %f211, 0f3F800000; + and.pred %p5, %p79, %p80; + mov.b32 %r134, %f1382; + xor.b32 %r135, %r134, -2147483648; + mov.b32 %f1031, %r135; + selp.f32 %f1384, %f1031, %f1382, %p5; + setp.eq.f32 %p81, %f1318, 0f00000000; + @%p81 bra BB0_59; + bra.uni BB0_57; + +BB0_59: + add.f32 %f1034, %f1318, %f1318; + selp.f32 %f1384, %f1034, 0f00000000, %p80; + bra.uni BB0_60; + +BB0_57: + setp.geu.f32 %p82, %f1318, 0f00000000; + @%p82 bra BB0_60; + + cvt.rzi.f32.f32 %f1033, %f1005; + setp.neu.f32 %p83, %f1033, 0f3EE66666; + selp.f32 %f1384, 0f7FFFFFFF, %f1384, %p83; + +BB0_60: + add.f32 %f1035, %f212, 0f3EE66666; + mov.b32 %r136, %f1035; + setp.lt.s32 %p85, %r136, 2139095040; + @%p85 bra BB0_65; + + setp.gtu.f32 %p86, %f212, 0f7F800000; + @%p86 bra BB0_64; + bra.uni BB0_62; + +BB0_64: + add.f32 %f1384, %f1318, 0f3EE66666; + bra.uni BB0_65; + +BB0_62: + setp.neu.f32 %p87, %f212, 0f7F800000; + @%p87 bra BB0_65; + + selp.f32 %f1384, 0fFF800000, 0f7F800000, %p5; + +BB0_65: + setp.eq.f32 %p88, %f1318, 0f3F800000; + selp.f32 %f224, 0f3F800000, %f1384, %p88; + abs.f32 %f225, %f1317; + setp.lt.f32 %p89, %f225, 0f00800000; + mul.f32 %f1038, %f225, 0f4B800000; + selp.f32 %f1039, 0fC3170000, 0fC2FE0000, %p89; + selp.f32 %f1040, %f1038, %f225, %p89; + mov.b32 %r137, %f1040; + and.b32 %r138, %r137, 8388607; + or.b32 %r139, %r138, 1065353216; + mov.b32 %f1041, %r139; + shr.u32 %r140, %r137, 23; + cvt.rn.f32.u32 %f1042, %r140; + add.f32 %f1043, %f1039, %f1042; + setp.gt.f32 %p90, %f1041, 0f3FB504F3; + mul.f32 %f1044, %f1041, 0f3F000000; + add.f32 %f1045, %f1043, 0f3F800000; + selp.f32 %f1046, %f1044, %f1041, %p90; + selp.f32 %f1047, %f1045, %f1043, %p90; + add.f32 %f1048, %f1046, 0fBF800000; + add.f32 %f1037, %f1046, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1036,%f1037; + // inline asm + add.f32 %f1049, %f1048, %f1048; + mul.f32 %f1050, %f1036, %f1049; + mul.f32 %f1051, %f1050, %f1050; + fma.rn.f32 %f1054, %f975, %f1051, %f974; + fma.rn.f32 %f1056, %f1054, %f1051, %f977; + mul.rn.f32 %f1057, %f1056, %f1051; + mul.rn.f32 %f1058, %f1057, %f1050; + sub.f32 %f1059, %f1048, %f1050; + neg.f32 %f1060, %f1050; + add.f32 %f1061, %f1059, %f1059; + fma.rn.f32 %f1062, %f1060, %f1048, %f1061; + mul.rn.f32 %f1063, %f1036, %f1062; + add.f32 %f1064, %f1058, %f1050; + sub.f32 %f1065, %f1050, %f1064; + add.f32 %f1066, %f1058, %f1065; + add.f32 %f1067, %f1063, %f1066; + add.f32 %f1068, %f1064, %f1067; + sub.f32 %f1069, %f1064, %f1068; + add.f32 %f1070, %f1067, %f1069; + mul.rn.f32 %f1072, %f1047, %f993; + mul.rn.f32 %f1074, %f1047, %f995; + add.f32 %f1075, %f1072, %f1068; + sub.f32 %f1076, %f1072, %f1075; + add.f32 %f1077, %f1068, %f1076; + add.f32 %f1078, %f1070, %f1077; + add.f32 %f1079, %f1074, %f1078; + add.f32 %f1080, %f1075, %f1079; + sub.f32 %f1081, %f1075, %f1080; + add.f32 %f1082, %f1079, %f1081; + mul.rn.f32 %f1084, %f1005, %f1080; + neg.f32 %f1085, %f1084; + fma.rn.f32 %f1086, %f1005, %f1080, %f1085; + fma.rn.f32 %f1087, %f1005, %f1082, %f1086; + fma.rn.f32 %f1089, %f1010, %f1080, %f1087; + add.rn.f32 %f1090, %f1084, %f1089; + neg.f32 %f1091, %f1090; + add.rn.f32 %f1092, %f1084, %f1091; + add.rn.f32 %f1093, %f1092, %f1089; + mov.b32 %r141, %f1090; + setp.eq.s32 %p91, %r141, 1118925336; + add.s32 %r142, %r141, -1; + mov.b32 %f1094, %r142; + add.f32 %f1095, %f1093, 0f37000000; + selp.f32 %f1096, %f1094, %f1090, %p91; + selp.f32 %f226, %f1095, %f1093, %p91; + mul.f32 %f1097, %f1096, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1098, %f1097; + fma.rn.f32 %f1100, %f1098, %f1021, %f1096; + fma.rn.f32 %f1102, %f1098, %f1023, %f1100; + mul.f32 %f1103, %f1102, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1104, %f1103; + add.f32 %f1105, %f1098, 0f00000000; + ex2.approx.f32 %f1106, %f1105; + mul.f32 %f1107, %f1104, %f1106; + setp.lt.f32 %p92, %f1096, 0fC2D20000; + selp.f32 %f1108, 0f00000000, %f1107, %p92; + setp.gt.f32 %p93, %f1096, 0f42D20000; + selp.f32 %f1385, 0f7F800000, %f1108, %p93; + setp.eq.f32 %p94, %f1385, 0f7F800000; + @%p94 bra BB0_67; + + fma.rn.f32 %f1385, %f1385, %f226, %f1385; + +BB0_67: + setp.lt.f32 %p95, %f1317, 0f00000000; + and.pred %p6, %p95, %p80; + mov.b32 %r143, %f1385; + xor.b32 %r144, %r143, -2147483648; + mov.b32 %f1109, %r144; + selp.f32 %f1387, %f1109, %f1385, %p6; + setp.eq.f32 %p97, %f1317, 0f00000000; + @%p97 bra BB0_70; + bra.uni BB0_68; + +BB0_70: + add.f32 %f1112, %f1317, %f1317; + selp.f32 %f1387, %f1112, 0f00000000, %p80; + bra.uni BB0_71; + +BB0_68: + setp.geu.f32 %p98, %f1317, 0f00000000; + @%p98 bra BB0_71; + + cvt.rzi.f32.f32 %f1111, %f1005; + setp.neu.f32 %p99, %f1111, 0f3EE66666; + selp.f32 %f1387, 0f7FFFFFFF, %f1387, %p99; + +BB0_71: + add.f32 %f1113, %f225, 0f3EE66666; + mov.b32 %r145, %f1113; + setp.lt.s32 %p101, %r145, 2139095040; + @%p101 bra BB0_76; + + setp.gtu.f32 %p102, %f225, 0f7F800000; + @%p102 bra BB0_75; + bra.uni BB0_73; + +BB0_75: + add.f32 %f1387, %f1317, 0f3EE66666; + bra.uni BB0_76; + +BB0_73: + setp.neu.f32 %p103, %f225, 0f7F800000; + @%p103 bra BB0_76; + + selp.f32 %f1387, 0fFF800000, 0f7F800000, %p6; + +BB0_76: + setp.eq.f32 %p104, %f1317, 0f3F800000; + selp.f32 %f237, 0f3F800000, %f1387, %p104; + abs.f32 %f238, %f1316; + setp.lt.f32 %p105, %f238, 0f00800000; + mul.f32 %f1116, %f238, 0f4B800000; + selp.f32 %f1117, 0fC3170000, 0fC2FE0000, %p105; + selp.f32 %f1118, %f1116, %f238, %p105; + mov.b32 %r146, %f1118; + and.b32 %r147, %r146, 8388607; + or.b32 %r148, %r147, 1065353216; + mov.b32 %f1119, %r148; + shr.u32 %r149, %r146, 23; + cvt.rn.f32.u32 %f1120, %r149; + add.f32 %f1121, %f1117, %f1120; + setp.gt.f32 %p106, %f1119, 0f3FB504F3; + mul.f32 %f1122, %f1119, 0f3F000000; + add.f32 %f1123, %f1121, 0f3F800000; + selp.f32 %f1124, %f1122, %f1119, %p106; + selp.f32 %f1125, %f1123, %f1121, %p106; + add.f32 %f1126, %f1124, 0fBF800000; + add.f32 %f1115, %f1124, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1114,%f1115; + // inline asm + add.f32 %f1127, %f1126, %f1126; + mul.f32 %f1128, %f1114, %f1127; + mul.f32 %f1129, %f1128, %f1128; + fma.rn.f32 %f1132, %f975, %f1129, %f974; + fma.rn.f32 %f1134, %f1132, %f1129, %f977; + mul.rn.f32 %f1135, %f1134, %f1129; + mul.rn.f32 %f1136, %f1135, %f1128; + sub.f32 %f1137, %f1126, %f1128; + neg.f32 %f1138, %f1128; + add.f32 %f1139, %f1137, %f1137; + fma.rn.f32 %f1140, %f1138, %f1126, %f1139; + mul.rn.f32 %f1141, %f1114, %f1140; + add.f32 %f1142, %f1136, %f1128; + sub.f32 %f1143, %f1128, %f1142; + add.f32 %f1144, %f1136, %f1143; + add.f32 %f1145, %f1141, %f1144; + add.f32 %f1146, %f1142, %f1145; + sub.f32 %f1147, %f1142, %f1146; + add.f32 %f1148, %f1145, %f1147; + mul.rn.f32 %f1150, %f1125, %f993; + mul.rn.f32 %f1152, %f1125, %f995; + add.f32 %f1153, %f1150, %f1146; + sub.f32 %f1154, %f1150, %f1153; + add.f32 %f1155, %f1146, %f1154; + add.f32 %f1156, %f1148, %f1155; + add.f32 %f1157, %f1152, %f1156; + add.f32 %f1158, %f1153, %f1157; + sub.f32 %f1159, %f1153, %f1158; + add.f32 %f1160, %f1157, %f1159; + mul.rn.f32 %f1162, %f1005, %f1158; + neg.f32 %f1163, %f1162; + fma.rn.f32 %f1164, %f1005, %f1158, %f1163; + fma.rn.f32 %f1165, %f1005, %f1160, %f1164; + fma.rn.f32 %f1167, %f1010, %f1158, %f1165; + add.rn.f32 %f1168, %f1162, %f1167; + neg.f32 %f1169, %f1168; + add.rn.f32 %f1170, %f1162, %f1169; + add.rn.f32 %f1171, %f1170, %f1167; + mov.b32 %r150, %f1168; + setp.eq.s32 %p107, %r150, 1118925336; + add.s32 %r151, %r150, -1; + mov.b32 %f1172, %r151; + add.f32 %f1173, %f1171, 0f37000000; + selp.f32 %f1174, %f1172, %f1168, %p107; + selp.f32 %f239, %f1173, %f1171, %p107; + mul.f32 %f1175, %f1174, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1176, %f1175; + fma.rn.f32 %f1178, %f1176, %f1021, %f1174; + fma.rn.f32 %f1180, %f1176, %f1023, %f1178; + mul.f32 %f1181, %f1180, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1182, %f1181; + add.f32 %f1183, %f1176, 0f00000000; + ex2.approx.f32 %f1184, %f1183; + mul.f32 %f1185, %f1182, %f1184; + setp.lt.f32 %p108, %f1174, 0fC2D20000; + selp.f32 %f1186, 0f00000000, %f1185, %p108; + setp.gt.f32 %p109, %f1174, 0f42D20000; + selp.f32 %f1388, 0f7F800000, %f1186, %p109; + setp.eq.f32 %p110, %f1388, 0f7F800000; + @%p110 bra BB0_78; + + fma.rn.f32 %f1388, %f1388, %f239, %f1388; + +BB0_78: + setp.lt.f32 %p111, %f1316, 0f00000000; + and.pred %p7, %p111, %p80; + mov.b32 %r152, %f1388; + xor.b32 %r153, %r152, -2147483648; + mov.b32 %f1187, %r153; + selp.f32 %f1390, %f1187, %f1388, %p7; + setp.eq.f32 %p113, %f1316, 0f00000000; + @%p113 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f1190, %f1316, %f1316; + selp.f32 %f1390, %f1190, 0f00000000, %p80; + bra.uni BB0_82; + +BB0_79: + setp.geu.f32 %p114, %f1316, 0f00000000; + @%p114 bra BB0_82; + + cvt.rzi.f32.f32 %f1189, %f1005; + setp.neu.f32 %p115, %f1189, 0f3EE66666; + selp.f32 %f1390, 0f7FFFFFFF, %f1390, %p115; + +BB0_82: + add.f32 %f1191, %f238, 0f3EE66666; + mov.b32 %r154, %f1191; + setp.lt.s32 %p117, %r154, 2139095040; + @%p117 bra BB0_87; + + setp.gtu.f32 %p118, %f238, 0f7F800000; + @%p118 bra BB0_86; + bra.uni BB0_84; + +BB0_86: + add.f32 %f1390, %f1316, 0f3EE66666; + bra.uni BB0_87; + +BB0_84: + setp.neu.f32 %p119, %f238, 0f7F800000; + @%p119 bra BB0_87; + + selp.f32 %f1390, 0fFF800000, 0f7F800000, %p7; + +BB0_87: + setp.eq.f32 %p120, %f1316, 0f3F800000; + selp.f32 %f1192, 0f3F800000, %f1390, %p120; + cvt.u64.u32 %rd53, %r3; + cvt.u64.u32 %rd52, %r2; + mov.u64 %rd56, image; + cvta.global.u64 %rd51, %rd56; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd51, %r27, %r28, %rd52, %rd53, %rd13, %rd13); + // inline asm + cvt.sat.f32.f32 %f1193, %f1192; + mul.f32 %f1194, %f1193, 0f437FFD71; + cvt.rzi.u32.f32 %r157, %f1194; + cvt.sat.f32.f32 %f1195, %f237; + mul.f32 %f1196, %f1195, 0f437FFD71; + cvt.rzi.u32.f32 %r158, %f1196; + cvt.sat.f32.f32 %f1197, %f224; + mul.f32 %f1198, %f1197, 0f437FFD71; + cvt.rzi.u32.f32 %r159, %f1198; + cvt.u16.u32 %rs16, %r157; + cvt.u16.u32 %rs17, %r159; + cvt.u16.u32 %rs18, %r158; + mov.u16 %rs19, 255; + st.v4.u8 [%rd50], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r245, [imageEnabled]; + +BB0_88: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r160, %r245, 4; + setp.eq.s32 %p121, %r160, 0; + @%p121 bra BB0_92; + + ld.global.u32 %r161, [additive]; + setp.eq.s32 %p122, %r161, 0; + mov.f32 %f1199, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs20, %f1199;} + + // inline asm + @%p122 bra BB0_91; + + mov.u64 %rd69, image_HDR; + cvta.global.u64 %rd58, %rd69; + mov.u32 %r165, 8; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd58, %r27, %r165, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd57]; + // inline asm + { cvt.f32.f16 %f1200, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1201, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1202, %rs29;} + + // inline asm + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd58, %r27, %r165, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1203, %f1318, %f1200; + add.f32 %f1204, %f1317, %f1201; + add.f32 %f1205, %f1316, %f1202; + // inline asm + { cvt.rn.f16.f32 %rs26, %f1205;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f1204;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f1203;} + + // inline asm + st.v4.u16 [%rd63], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_92; + +BB0_91: + mov.u64 %rd76, image_HDR; + cvta.global.u64 %rd71, %rd76; + mov.u32 %r167, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r27, %r167, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f1316;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f1317;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f1318;} + + // inline asm + st.v4.u16 [%rd70], {%rs31, %rs32, %rs33, %rs20}; + +BB0_92: + mov.f32 %f1210, 0f34000000; + max.f32 %f1211, %f1315, %f1210; + div.rn.f32 %f1212, %f1312, %f1211; + max.f32 %f1213, %f1314, %f1210; + div.rn.f32 %f1214, %f1311, %f1213; + max.f32 %f1215, %f1313, %f1210; + div.rn.f32 %f1216, %f1310, %f1215; + fma.rn.f32 %f250, %f1212, 0f3F000000, 0f3F000000; + fma.rn.f32 %f251, %f1214, 0f3F000000, 0f3F000000; + fma.rn.f32 %f252, %f1216, 0f3F000000, 0f3F000000; + div.rn.f32 %f1217, %f1309, %f1211; + div.rn.f32 %f1218, %f1308, %f1213; + div.rn.f32 %f1219, %f1307, %f1215; + fma.rn.f32 %f253, %f1217, 0f3F000000, 0f3F000000; + fma.rn.f32 %f254, %f1218, 0f3F000000, 0f3F000000; + fma.rn.f32 %f255, %f1219, 0f3F000000, 0f3F000000; + div.rn.f32 %f1220, %f1306, %f1211; + div.rn.f32 %f1221, %f1305, %f1213; + div.rn.f32 %f1222, %f1304, %f1215; + fma.rn.f32 %f256, %f1220, 0f3F000000, 0f3F000000; + fma.rn.f32 %f257, %f1221, 0f3F000000, 0f3F000000; + fma.rn.f32 %f258, %f1222, 0f3F000000, 0f3F000000; + ld.global.u32 %r168, [additive]; + setp.eq.s32 %p123, %r168, 0; + mov.f32 %f1209, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f1209;} + + // inline asm + @%p123 bra BB0_94; + + mov.u64 %rd89, image_RNM0; + cvta.global.u64 %rd78, %rd89; + mov.u32 %r172, 8; + // inline asm + call (%rd77), _rt_buffer_get_64, (%rd78, %r27, %r172, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd77]; + // inline asm + { cvt.f32.f16 %f1223, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1224, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1225, %rs43;} + + // inline asm + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd78, %r27, %r172, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1226, %f1315, %f1223; + add.f32 %f1227, %f1314, %f1224; + add.f32 %f1228, %f1313, %f1225; + // inline asm + { cvt.rn.f16.f32 %rs40, %f1228;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f1227;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f1226;} + + // inline asm + st.v4.u16 [%rd83], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd96, image_RNM0; + cvta.global.u64 %rd91, %rd96; + mov.u32 %r174, 8; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r27, %r174, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f1313;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f1314;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f1315;} + + // inline asm + st.v4.u16 [%rd90], {%rs45, %rs46, %rs47, %rs34}; + +BB0_95: + ld.global.u32 %r175, [additive]; + setp.eq.s32 %p124, %r175, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f1209;} + + // inline asm + @%p124 bra BB0_97; + + mov.u64 %rd109, image_RNM1; + cvta.global.u64 %rd98, %rd109; + mov.u32 %r179, 8; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd98, %r27, %r179, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd97]; + // inline asm + { cvt.f32.f16 %f1233, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1234, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1235, %rs57;} + + // inline asm + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd98, %r27, %r179, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1236, %f250, %f1233; + add.f32 %f1237, %f251, %f1234; + add.f32 %f1238, %f252, %f1235; + // inline asm + { cvt.rn.f16.f32 %rs54, %f1238;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f1237;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f1236;} + + // inline asm + st.v4.u16 [%rd103], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd116, image_RNM1; + cvta.global.u64 %rd111, %rd116; + mov.u32 %r181, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r27, %r181, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs61, %f252;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs60, %f251;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f250;} + + // inline asm + st.v4.u16 [%rd110], {%rs59, %rs60, %rs61, %rs48}; + +BB0_98: + ld.global.u32 %r182, [additive]; + setp.eq.s32 %p125, %r182, 0; + // inline asm + { cvt.rn.f16.f32 %rs62, %f1209;} + + // inline asm + @%p125 bra BB0_100; + + mov.u64 %rd129, image_RNM2; + cvta.global.u64 %rd118, %rd129; + mov.u32 %r186, 8; + // inline asm + call (%rd117), _rt_buffer_get_64, (%rd118, %r27, %r186, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs69, %rs70, %rs71, %rs72}, [%rd117]; + // inline asm + { cvt.f32.f16 %f1243, %rs69;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1244, %rs70;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1245, %rs71;} + + // inline asm + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd118, %r27, %r186, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1246, %f253, %f1243; + add.f32 %f1247, %f254, %f1244; + add.f32 %f1248, %f255, %f1245; + // inline asm + { cvt.rn.f16.f32 %rs68, %f1248;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs67, %f1247;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs66, %f1246;} + + // inline asm + st.v4.u16 [%rd123], {%rs66, %rs67, %rs68, %rs62}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd136, image_RNM2; + cvta.global.u64 %rd131, %rd136; + mov.u32 %r188, 8; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r27, %r188, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f255;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs74, %f254;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f253;} + + // inline asm + st.v4.u16 [%rd130], {%rs73, %rs74, %rs75, %rs62}; + +BB0_101: + ld.global.u32 %r189, [additive]; + setp.eq.s32 %p126, %r189, 0; + // inline asm + { cvt.rn.f16.f32 %rs76, %f1209;} + + // inline asm + @%p126 bra BB0_103; + + mov.u64 %rd149, image_RNM3; + cvta.global.u64 %rd138, %rd149; + mov.u32 %r193, 8; + // inline asm + call (%rd137), _rt_buffer_get_64, (%rd138, %r27, %r193, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs83, %rs84, %rs85, %rs86}, [%rd137]; + // inline asm + { cvt.f32.f16 %f1253, %rs83;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1254, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1255, %rs85;} + + // inline asm + // inline asm + call (%rd143), _rt_buffer_get_64, (%rd138, %r27, %r193, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1256, %f256, %f1253; + add.f32 %f1257, %f257, %f1254; + add.f32 %f1258, %f258, %f1255; + // inline asm + { cvt.rn.f16.f32 %rs82, %f1258;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f1257;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs80, %f1256;} + + // inline asm + st.v4.u16 [%rd143], {%rs80, %rs81, %rs82, %rs76}; + bra.uni BB0_124; + +BB0_103: + mov.u64 %rd156, image_RNM3; + cvta.global.u64 %rd151, %rd156; + mov.u32 %r195, 8; + // inline asm + call (%rd150), _rt_buffer_get_64, (%rd151, %r27, %r195, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f258;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f257;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f256;} + + // inline asm + st.v4.u16 [%rd150], {%rs87, %rs88, %rs89, %rs76}; + +BB0_124: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx.meta new file mode 100644 index 00000000..efe8b647 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 24c20464d1776064b82711f5f9d9d6ca +timeCreated: 1583324482 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightRNM.ptx new file mode 100644 index 00000000..e3987955 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightRNM.ptx @@ -0,0 +1,2442 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 ignoreNormal; +.global .align 1 .b8 localLights[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<143>; + .reg .b16 %rs<157>; + .reg .f32 %f<1498>; + .reg .b32 %r<258>; + .reg .b64 %rd<256>; + + + mov.u64 %rd255, __local_depot0; + cvta.local.u64 %SP, %rd255; + ld.global.v2.u32 {%r35, %r36}, [pixelID]; + cvt.u64.u32 %rd13, %r35; + cvt.u64.u32 %rd14, %r36; + mov.u64 %rd17, uvnormal; + cvta.global.u64 %rd12, %rd17; + mov.u32 %r33, 2; + mov.u32 %r34, 4; + mov.u64 %rd16, 0; + // inline asm + call (%rd11), _rt_buffer_get_64, (%rd12, %r33, %r34, %rd13, %rd14, %rd16, %rd16); + // inline asm + ld.u32 %r1, [%rd11]; + shr.u32 %r39, %r1, 16; + cvt.u16.u32 %rs1, %r39; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r1; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p8, %rs8, 0; + mov.f32 %f1410, 0f00000000; + mov.f32 %f1411, %f1410; + mov.f32 %f1412, %f1410; + @%p8 bra BB0_2; + + ld.u8 %rs9, [%rd11+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f266, %rs11; + div.rn.f32 %f267, %f266, 0f437F0000; + fma.rn.f32 %f268, %f267, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f269, %rs9; + div.rn.f32 %f270, %f269, 0f437F0000; + fma.rn.f32 %f271, %f270, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f272, %rs6; + div.rn.f32 %f273, %f272, 0f437F0000; + fma.rn.f32 %f274, %f273, 0f40000000, 0fBF800000; + mul.f32 %f275, %f271, %f271; + fma.rn.f32 %f276, %f268, %f268, %f275; + fma.rn.f32 %f277, %f274, %f274, %f276; + sqrt.rn.f32 %f278, %f277; + rcp.rn.f32 %f279, %f278; + mul.f32 %f1410, %f268, %f279; + mul.f32 %f1411, %f271, %f279; + mul.f32 %f1412, %f274, %f279; + +BB0_2: + ld.global.v2.u32 {%r40, %r41}, [pixelID]; + ld.global.v2.u32 {%r43, %r44}, [tileInfo]; + add.s32 %r2, %r40, %r43; + add.s32 %r3, %r41, %r44; + setp.eq.f32 %p9, %f1411, 0f00000000; + setp.eq.f32 %p10, %f1410, 0f00000000; + and.pred %p11, %p10, %p9; + setp.eq.f32 %p12, %f1412, 0f00000000; + and.pred %p13, %p11, %p12; + @%p13 bra BB0_107; + bra.uni BB0_3; + +BB0_107: + ld.global.u32 %r257, [imageEnabled]; + and.b32 %r213, %r257, 1; + setp.eq.b32 %p135, %r213, 1; + @!%p135 bra BB0_109; + bra.uni BB0_108; + +BB0_108: + cvt.u64.u32 %rd163, %r2; + cvt.u64.u32 %rd164, %r3; + mov.u64 %rd167, image; + cvta.global.u64 %rd162, %rd167; + // inline asm + call (%rd161), _rt_buffer_get_64, (%rd162, %r33, %r34, %rd163, %rd164, %rd16, %rd16); + // inline asm + mov.u16 %rs102, 0; + st.v4.u8 [%rd161], {%rs102, %rs102, %rs102, %rs102}; + ld.global.u32 %r257, [imageEnabled]; + +BB0_109: + and.b32 %r216, %r257, 8; + setp.eq.s32 %p136, %r216, 0; + @%p136 bra BB0_111; + + cvt.u64.u32 %rd171, %r3; + cvt.u64.u32 %rd170, %r2; + mov.u64 %rd174, image_Mask; + cvta.global.u64 %rd169, %rd174; + // inline asm + call (%rd168), _rt_buffer_get_64, (%rd169, %r33, %r33, %rd170, %rd171, %rd16, %rd16); + // inline asm + mov.f32 %f1381, 0f00000000; + cvt.rzi.u32.f32 %r219, %f1381; + cvt.u16.u32 %rs103, %r219; + mov.u16 %rs104, 0; + st.v2.u8 [%rd168], {%rs103, %rs104}; + ld.global.u32 %r257, [imageEnabled]; + +BB0_111: + cvt.u64.u32 %rd9, %r2; + cvt.u64.u32 %rd10, %r3; + and.b32 %r220, %r257, 4; + setp.eq.s32 %p137, %r220, 0; + @%p137 bra BB0_115; + + ld.global.u32 %r221, [additive]; + setp.eq.s32 %p138, %r221, 0; + @%p138 bra BB0_114; + + mov.u64 %rd187, image_HDR; + cvta.global.u64 %rd176, %rd187; + mov.u32 %r225, 8; + // inline asm + call (%rd175), _rt_buffer_get_64, (%rd176, %r33, %r225, %rd9, %rd10, %rd16, %rd16); + // inline asm + ld.v4.u16 {%rs111, %rs112, %rs113, %rs114}, [%rd175]; + // inline asm + { cvt.f32.f16 %f1382, %rs111;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1383, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1384, %rs113;} + + // inline asm + // inline asm + call (%rd181), _rt_buffer_get_64, (%rd176, %r33, %r225, %rd9, %rd10, %rd16, %rd16); + // inline asm + add.f32 %f1385, %f1382, 0f00000000; + add.f32 %f1386, %f1383, 0f00000000; + add.f32 %f1387, %f1384, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f1387;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f1386;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs108, %f1385;} + + // inline asm + mov.u16 %rs115, 0; + st.v4.u16 [%rd181], {%rs108, %rs109, %rs110, %rs115}; + bra.uni BB0_115; + +BB0_3: + ld.global.v2.u32 {%r52, %r53}, [pixelID]; + cvt.u64.u32 %rd20, %r52; + cvt.u64.u32 %rd21, %r53; + mov.u64 %rd30, uvpos; + cvta.global.u64 %rd19, %rd30; + mov.u32 %r49, 12; + // inline asm + call (%rd18), _rt_buffer_get_64, (%rd19, %r33, %r49, %rd20, %rd21, %rd16, %rd16); + // inline asm + ld.f32 %f9, [%rd18+8]; + ld.f32 %f8, [%rd18+4]; + ld.f32 %f7, [%rd18]; + mul.f32 %f283, %f7, 0f3456BF95; + mul.f32 %f284, %f8, 0f3456BF95; + mul.f32 %f285, %f9, 0f3456BF95; + abs.f32 %f286, %f1410; + div.rn.f32 %f287, %f283, %f286; + abs.f32 %f288, %f1411; + div.rn.f32 %f289, %f284, %f288; + abs.f32 %f290, %f1412; + div.rn.f32 %f291, %f285, %f290; + abs.f32 %f292, %f287; + abs.f32 %f293, %f289; + abs.f32 %f294, %f291; + mov.f32 %f295, 0f38D1B717; + max.f32 %f296, %f292, %f295; + max.f32 %f297, %f293, %f295; + max.f32 %f298, %f294, %f295; + fma.rn.f32 %f10, %f1410, %f296, %f7; + fma.rn.f32 %f11, %f1411, %f297, %f8; + fma.rn.f32 %f12, %f1412, %f298, %f9; + ld.global.v2.u32 {%r56, %r57}, [pixelID]; + cvt.u64.u32 %rd26, %r56; + cvt.u64.u32 %rd27, %r57; + mov.u64 %rd31, uvtangent; + cvta.global.u64 %rd25, %rd31; + // inline asm + call (%rd24), _rt_buffer_get_64, (%rd25, %r33, %r34, %rd26, %rd27, %rd16, %rd16); + // inline asm + ld.u32 %r4, [%rd24]; + shr.u32 %r5, %r4, 16; + cvt.u16.u32 %rs13, %r5; + and.b16 %rs14, %rs13, 255; + cvt.u16.u32 %rs15, %r4; + or.b16 %rs16, %rs15, %rs14; + setp.eq.s16 %p14, %rs16, 0; + mov.f32 %f1422, 0f00000000; + mov.f32 %f1413, %f1422; + mov.f32 %f1414, %f1422; + mov.f32 %f1415, %f1422; + @%p14 bra BB0_5; + + ld.u8 %rs17, [%rd24+1]; + and.b16 %rs19, %rs15, 255; + cvt.rn.f32.u16 %f299, %rs19; + div.rn.f32 %f300, %f299, 0f437F0000; + fma.rn.f32 %f301, %f300, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f302, %rs17; + div.rn.f32 %f303, %f302, 0f437F0000; + fma.rn.f32 %f304, %f303, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f305, %rs14; + div.rn.f32 %f306, %f305, 0f437F0000; + fma.rn.f32 %f307, %f306, 0f40000000, 0fBF800000; + mul.f32 %f308, %f304, %f304; + fma.rn.f32 %f309, %f301, %f301, %f308; + fma.rn.f32 %f310, %f307, %f307, %f309; + sqrt.rn.f32 %f311, %f310; + rcp.rn.f32 %f312, %f311; + mul.f32 %f1413, %f301, %f312; + mul.f32 %f1414, %f304, %f312; + mul.f32 %f1415, %f307, %f312; + +BB0_5: + mul.f32 %f316, %f1412, %f1414; + mul.f32 %f317, %f1411, %f1415; + sub.f32 %f318, %f317, %f316; + mul.f32 %f319, %f1410, %f1415; + mul.f32 %f320, %f1412, %f1413; + sub.f32 %f321, %f320, %f319; + mul.f32 %f322, %f1411, %f1413; + mul.f32 %f323, %f1410, %f1414; + sub.f32 %f324, %f323, %f322; + setp.lt.u32 %p15, %r4, 16777216; + selp.f32 %f325, 0fBF800000, 0f3F800000, %p15; + mul.f32 %f326, %f318, %f325; + mul.f32 %f327, %f321, %f325; + mul.f32 %f328, %f324, %f325; + mul.f32 %f329, %f326, 0f00000000; + mul.f32 %f330, %f327, 0f00000000; + mul.f32 %f331, %f328, 0f00000000; + fma.rn.f32 %f332, %f1413, 0f3F5105EC, %f329; + fma.rn.f32 %f333, %f1414, 0f3F5105EC, %f330; + fma.rn.f32 %f334, %f1415, 0f3F5105EC, %f331; + mul.f32 %f19, %f1410, 0f3F13CD3A; + add.f32 %f20, %f19, %f332; + mul.f32 %f21, %f1411, 0f3F13CD3A; + add.f32 %f22, %f21, %f333; + mul.f32 %f23, %f1412, 0f3F13CD3A; + add.f32 %f24, %f23, %f334; + ld.global.v2.u32 {%r62, %r63}, [pixelID]; + cvt.u64.u32 %rd34, %r62; + cvt.u64.u32 %rd35, %r63; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd25, %r33, %r34, %rd34, %rd35, %rd16, %rd16); + // inline asm + ld.u32 %r6, [%rd32]; + shr.u32 %r7, %r6, 16; + cvt.u16.u32 %rs22, %r7; + and.b16 %rs23, %rs22, 255; + cvt.u16.u32 %rs24, %r6; + or.b16 %rs25, %rs24, %rs23; + setp.eq.s16 %p16, %rs25, 0; + mov.f32 %f1416, %f1422; + mov.f32 %f1417, %f1422; + mov.f32 %f1418, %f1422; + @%p16 bra BB0_7; + + ld.u8 %rs26, [%rd32+1]; + and.b16 %rs28, %rs24, 255; + cvt.rn.f32.u16 %f335, %rs28; + div.rn.f32 %f336, %f335, 0f437F0000; + fma.rn.f32 %f337, %f336, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f338, %rs26; + div.rn.f32 %f339, %f338, 0f437F0000; + fma.rn.f32 %f340, %f339, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f341, %rs23; + div.rn.f32 %f342, %f341, 0f437F0000; + fma.rn.f32 %f343, %f342, 0f40000000, 0fBF800000; + mul.f32 %f344, %f340, %f340; + fma.rn.f32 %f345, %f337, %f337, %f344; + fma.rn.f32 %f346, %f343, %f343, %f345; + sqrt.rn.f32 %f347, %f346; + rcp.rn.f32 %f348, %f347; + mul.f32 %f1416, %f337, %f348; + mul.f32 %f1417, %f340, %f348; + mul.f32 %f1418, %f343, %f348; + +BB0_7: + mul.f32 %f352, %f1412, %f1417; + mul.f32 %f353, %f1411, %f1418; + sub.f32 %f354, %f353, %f352; + mul.f32 %f355, %f1410, %f1418; + mul.f32 %f356, %f1412, %f1416; + sub.f32 %f357, %f356, %f355; + mul.f32 %f358, %f1411, %f1416; + mul.f32 %f359, %f1410, %f1417; + sub.f32 %f360, %f359, %f358; + setp.lt.u32 %p17, %r6, 16777216; + selp.f32 %f361, 0fBF800000, 0f3F800000, %p17; + mul.f32 %f362, %f354, %f361; + mul.f32 %f363, %f357, %f361; + mul.f32 %f364, %f360, %f361; + mul.f32 %f365, %f362, 0f3F3504F3; + mul.f32 %f366, %f363, 0f3F3504F3; + mul.f32 %f367, %f364, 0f3F3504F3; + fma.rn.f32 %f368, %f1416, 0fBED105EC, %f365; + fma.rn.f32 %f369, %f1417, 0fBED105EC, %f366; + fma.rn.f32 %f370, %f1418, 0fBED105EC, %f367; + add.f32 %f31, %f19, %f368; + add.f32 %f32, %f21, %f369; + add.f32 %f33, %f23, %f370; + ld.global.v2.u32 {%r68, %r69}, [pixelID]; + cvt.u64.u32 %rd41, %r68; + cvt.u64.u32 %rd42, %r69; + // inline asm + call (%rd39), _rt_buffer_get_64, (%rd25, %r33, %r34, %rd41, %rd42, %rd16, %rd16); + // inline asm + ld.u32 %r8, [%rd39]; + shr.u32 %r9, %r8, 16; + cvt.u16.u32 %rs31, %r9; + and.b16 %rs32, %rs31, 255; + cvt.u16.u32 %rs33, %r8; + or.b16 %rs34, %rs33, %rs32; + setp.eq.s16 %p18, %rs34, 0; + mov.f32 %f1419, %f1422; + mov.f32 %f1420, %f1422; + mov.f32 %f1421, %f1422; + @%p18 bra BB0_9; + + ld.u8 %rs35, [%rd39+1]; + and.b16 %rs37, %rs33, 255; + cvt.rn.f32.u16 %f371, %rs37; + div.rn.f32 %f372, %f371, 0f437F0000; + fma.rn.f32 %f373, %f372, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f374, %rs35; + div.rn.f32 %f375, %f374, 0f437F0000; + fma.rn.f32 %f376, %f375, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f377, %rs32; + div.rn.f32 %f378, %f377, 0f437F0000; + fma.rn.f32 %f379, %f378, 0f40000000, 0fBF800000; + mul.f32 %f380, %f376, %f376; + fma.rn.f32 %f381, %f373, %f373, %f380; + fma.rn.f32 %f382, %f379, %f379, %f381; + sqrt.rn.f32 %f383, %f382; + rcp.rn.f32 %f384, %f383; + mul.f32 %f1419, %f373, %f384; + mul.f32 %f1420, %f376, %f384; + mul.f32 %f1421, %f379, %f384; + +BB0_9: + mul.f32 %f398, %f1412, %f1420; + mul.f32 %f399, %f1411, %f1421; + sub.f32 %f400, %f399, %f398; + mul.f32 %f401, %f1410, %f1421; + mul.f32 %f402, %f1412, %f1419; + sub.f32 %f403, %f402, %f401; + mul.f32 %f404, %f1411, %f1419; + mul.f32 %f405, %f1410, %f1420; + sub.f32 %f406, %f405, %f404; + setp.lt.u32 %p19, %r8, 16777216; + selp.f32 %f407, 0fBF800000, 0f3F800000, %p19; + mul.f32 %f408, %f400, %f407; + mul.f32 %f409, %f403, %f407; + mul.f32 %f410, %f406, %f407; + mul.f32 %f411, %f408, 0fBF3504F3; + mul.f32 %f412, %f409, 0fBF3504F3; + mul.f32 %f413, %f410, 0fBF3504F3; + fma.rn.f32 %f414, %f1419, 0fBED105EC, %f411; + fma.rn.f32 %f415, %f1420, 0fBED105EC, %f412; + fma.rn.f32 %f416, %f1421, 0fBED105EC, %f413; + add.f32 %f40, %f19, %f414; + add.f32 %f41, %f21, %f415; + add.f32 %f42, %f23, %f416; + mov.u64 %rd51, localLights; + cvta.global.u64 %rd50, %rd51; + mov.u32 %r72, 1; + mov.u32 %r73, 96; + // inline asm + call (%rd46, %rd47, %rd48, %rd49), _rt_buffer_get_size_64, (%rd50, %r72, %r73); + // inline asm + cvt.u32.u64 %r10, %rd46; + setp.eq.s32 %p20, %r10, 0; + mov.f32 %f1423, %f1422; + mov.f32 %f1424, %f1422; + mov.f32 %f1425, %f1422; + mov.f32 %f1426, %f1422; + mov.f32 %f1427, %f1422; + mov.f32 %f1428, %f1422; + mov.f32 %f1429, %f1422; + mov.f32 %f1430, %f1422; + mov.f32 %f1431, %f1422; + mov.f32 %f1432, %f1422; + mov.f32 %f1433, %f1422; + mov.f32 %f1434, %f1422; + @%p20 bra BB0_46; + + mov.f32 %f430, 0f40000000; + cvt.rzi.f32.f32 %f431, %f430; + add.f32 %f432, %f431, %f431; + mov.f32 %f433, 0f40800000; + sub.f32 %f434, %f433, %f432; + abs.f32 %f43, %f434; + mul.f32 %f44, %f10, 0f3456BF95; + mul.f32 %f45, %f11, 0f3456BF95; + mul.f32 %f46, %f12, 0f3456BF95; + mov.f32 %f429, 0f00000000; + mov.u32 %r249, 0; + abs.f32 %f656, %f44; + abs.f32 %f657, %f45; + max.f32 %f658, %f656, %f657; + abs.f32 %f659, %f46; + max.f32 %f660, %f658, %f659; + mov.f32 %f1422, %f429; + mov.f32 %f1423, %f429; + mov.f32 %f1424, %f429; + mov.f32 %f1425, %f429; + mov.f32 %f1426, %f429; + mov.f32 %f1427, %f429; + mov.f32 %f1428, %f429; + mov.f32 %f1429, %f429; + mov.f32 %f1430, %f429; + mov.f32 %f1431, %f429; + mov.f32 %f1432, %f429; + mov.f32 %f1433, %f429; + mov.f32 %f1434, %f429; + +BB0_11: + cvt.u64.u32 %rd54, %r249; + // inline asm + call (%rd52), _rt_buffer_get_64, (%rd50, %r72, %r73, %rd54, %rd16, %rd16, %rd16); + // inline asm + ld.v4.f32 {%f437, %f438, %f439, %f440}, [%rd52+80]; + ld.v4.f32 {%f441, %f442, %f443, %f444}, [%rd52+64]; + ld.v4.f32 {%f445, %f446, %f447, %f448}, [%rd52+48]; + ld.v4.f32 {%f1438, %f1439, %f1440, %f452}, [%rd52+32]; + ld.v4.f32 {%f453, %f454, %f455, %f456}, [%rd52+16]; + ld.v4.f32 {%f457, %f458, %f459, %f460}, [%rd52]; + mov.b32 %r12, %f440; + sub.f32 %f462, %f458, %f7; + sub.f32 %f463, %f459, %f8; + sub.f32 %f464, %f460, %f9; + mul.f32 %f465, %f463, %f463; + fma.rn.f32 %f466, %f462, %f462, %f465; + fma.rn.f32 %f467, %f464, %f464, %f466; + sqrt.rn.f32 %f86, %f467; + rcp.rn.f32 %f468, %f86; + mul.f32 %f87, %f462, %f468; + mul.f32 %f88, %f463, %f468; + mul.f32 %f89, %f464, %f468; + mul.f32 %f90, %f86, %f456; + abs.f32 %f91, %f90; + setp.lt.f32 %p21, %f91, 0f00800000; + mul.f32 %f469, %f91, 0f4B800000; + selp.f32 %f470, 0fC3170000, 0fC2FE0000, %p21; + selp.f32 %f471, %f469, %f91, %p21; + mov.b32 %r77, %f471; + and.b32 %r78, %r77, 8388607; + or.b32 %r79, %r78, 1065353216; + mov.b32 %f472, %r79; + shr.u32 %r80, %r77, 23; + cvt.rn.f32.u32 %f473, %r80; + add.f32 %f474, %f470, %f473; + setp.gt.f32 %p22, %f472, 0f3FB504F3; + mul.f32 %f475, %f472, 0f3F000000; + add.f32 %f476, %f474, 0f3F800000; + selp.f32 %f477, %f475, %f472, %p22; + selp.f32 %f478, %f476, %f474, %p22; + add.f32 %f479, %f477, 0fBF800000; + add.f32 %f436, %f477, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f435,%f436; + // inline asm + add.f32 %f480, %f479, %f479; + mul.f32 %f481, %f435, %f480; + mul.f32 %f482, %f481, %f481; + mov.f32 %f483, 0f3C4CAF63; + mov.f32 %f484, 0f3B18F0FE; + fma.rn.f32 %f485, %f484, %f482, %f483; + mov.f32 %f486, 0f3DAAAABD; + fma.rn.f32 %f487, %f485, %f482, %f486; + mul.rn.f32 %f488, %f487, %f482; + mul.rn.f32 %f489, %f488, %f481; + sub.f32 %f490, %f479, %f481; + neg.f32 %f491, %f481; + add.f32 %f492, %f490, %f490; + fma.rn.f32 %f493, %f491, %f479, %f492; + mul.rn.f32 %f494, %f435, %f493; + add.f32 %f495, %f489, %f481; + sub.f32 %f496, %f481, %f495; + add.f32 %f497, %f489, %f496; + add.f32 %f498, %f494, %f497; + add.f32 %f499, %f495, %f498; + sub.f32 %f500, %f495, %f499; + add.f32 %f501, %f498, %f500; + mov.f32 %f502, 0f3F317200; + mul.rn.f32 %f503, %f478, %f502; + mov.f32 %f504, 0f35BFBE8E; + mul.rn.f32 %f505, %f478, %f504; + add.f32 %f506, %f503, %f499; + sub.f32 %f507, %f503, %f506; + add.f32 %f508, %f499, %f507; + add.f32 %f509, %f501, %f508; + add.f32 %f510, %f505, %f509; + add.f32 %f511, %f506, %f510; + sub.f32 %f512, %f506, %f511; + add.f32 %f513, %f510, %f512; + mul.rn.f32 %f92, %f433, %f511; + neg.f32 %f515, %f92; + fma.rn.f32 %f516, %f433, %f511, %f515; + fma.rn.f32 %f517, %f433, %f513, %f516; + fma.rn.f32 %f93, %f429, %f511, %f517; + add.rn.f32 %f94, %f92, %f93; + mov.b32 %r81, %f94; + setp.eq.s32 %p1, %r81, 1118925336; + add.s32 %r82, %r81, -1; + mov.b32 %f519, %r82; + selp.f32 %f520, %f519, %f94, %p1; + mul.f32 %f521, %f520, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f522, %f521; + mov.f32 %f523, 0fBF317200; + fma.rn.f32 %f524, %f522, %f523, %f520; + mov.f32 %f525, 0fB5BFBE8E; + fma.rn.f32 %f526, %f522, %f525, %f524; + mul.f32 %f527, %f526, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f528, %f527; + add.f32 %f529, %f522, 0f00000000; + ex2.approx.f32 %f530, %f529; + mul.f32 %f531, %f528, %f530; + setp.lt.f32 %p23, %f520, 0fC2D20000; + selp.f32 %f532, 0f00000000, %f531, %p23; + setp.gt.f32 %p24, %f520, 0f42D20000; + selp.f32 %f1435, 0f7F800000, %f532, %p24; + setp.eq.f32 %p25, %f1435, 0f7F800000; + @%p25 bra BB0_13; + + neg.f32 %f533, %f94; + add.rn.f32 %f534, %f92, %f533; + add.rn.f32 %f535, %f534, %f93; + add.f32 %f536, %f535, 0f37000000; + selp.f32 %f537, %f536, %f535, %p1; + fma.rn.f32 %f1435, %f1435, %f537, %f1435; + +BB0_13: + setp.lt.f32 %p26, %f90, 0f00000000; + setp.eq.f32 %p27, %f43, 0f3F800000; + and.pred %p2, %p26, %p27; + mov.b32 %r83, %f1435; + xor.b32 %r84, %r83, -2147483648; + mov.b32 %f538, %r84; + selp.f32 %f1437, %f538, %f1435, %p2; + setp.eq.f32 %p28, %f90, 0f00000000; + @%p28 bra BB0_16; + bra.uni BB0_14; + +BB0_16: + add.f32 %f541, %f90, %f90; + selp.f32 %f1437, %f541, 0f00000000, %p27; + bra.uni BB0_17; + +BB0_14: + setp.geu.f32 %p29, %f90, 0f00000000; + @%p29 bra BB0_17; + + cvt.rzi.f32.f32 %f540, %f433; + setp.neu.f32 %p30, %f540, 0f40800000; + selp.f32 %f1437, 0f7FFFFFFF, %f1437, %p30; + +BB0_17: + add.f32 %f542, %f91, 0f40800000; + mov.b32 %r85, %f542; + setp.lt.s32 %p32, %r85, 2139095040; + @%p32 bra BB0_22; + + setp.gtu.f32 %p33, %f91, 0f7F800000; + @%p33 bra BB0_21; + bra.uni BB0_19; + +BB0_21: + add.f32 %f1437, %f90, 0f40800000; + bra.uni BB0_22; + +BB0_19: + setp.neu.f32 %p34, %f91, 0f7F800000; + @%p34 bra BB0_22; + + selp.f32 %f1437, 0fFF800000, 0f7F800000, %p2; + +BB0_22: + mul.f32 %f543, %f86, %f454; + mov.f32 %f1459, 0f3F800000; + sub.f32 %f545, %f1459, %f1437; + setp.eq.f32 %p35, %f90, 0f3F800000; + selp.f32 %f546, 0f00000000, %f545, %p35; + cvt.sat.f32.f32 %f547, %f546; + fma.rn.f32 %f548, %f543, %f543, %f455; + div.rn.f32 %f1441, %f547, %f548; + mul.f32 %f549, %f1411, %f88; + fma.rn.f32 %f550, %f1410, %f87, %f549; + fma.rn.f32 %f551, %f1412, %f89, %f550; + ld.global.u32 %r86, [ignoreNormal]; + setp.eq.s32 %p36, %r86, 0; + selp.f32 %f552, %f551, 0f3F800000, %p36; + cvt.sat.f32.f32 %f121, %f552; + setp.eq.f32 %p37, %f457, 0f3F800000; + @%p37 bra BB0_28; + bra.uni BB0_23; + +BB0_28: + setp.leu.f32 %p41, %f452, 0f00000000; + @%p41 bra BB0_30; + + mul.f32 %f583, %f437, %f87; + mul.f32 %f584, %f438, %f88; + neg.f32 %f585, %f584; + sub.f32 %f586, %f585, %f583; + mul.f32 %f587, %f439, %f89; + sub.f32 %f588, %f586, %f587; + setp.gt.f32 %p42, %f588, 0f00000000; + selp.f32 %f589, 0f3F800000, 0f00000000, %p42; + mul.f32 %f590, %f446, %f88; + fma.rn.f32 %f591, %f445, %f87, %f590; + mul.f32 %f592, %f442, %f88; + fma.rn.f32 %f593, %f441, %f87, %f592; + fma.rn.f32 %f594, %f447, %f89, %f591; + fma.rn.f32 %f595, %f443, %f89, %f593; + fma.rn.f32 %f579, %f448, %f594, 0f3F000000; + fma.rn.f32 %f580, %f448, %f595, 0f3F000000; + cvt.rzi.s32.f32 %r90, %f452; + mov.f32 %f582, 0f00000000; + // inline asm + call (%f575, %f576, %f577, %f578), _rt_texture_get_f_id, (%r90, %r33, %f579, %f580, %f582, %f582); + // inline asm + mul.f32 %f596, %f589, %f575; + mul.f32 %f597, %f589, %f576; + mul.f32 %f598, %f589, %f577; + mul.f32 %f1438, %f1438, %f596; + mul.f32 %f1439, %f1439, %f597; + mul.f32 %f1440, %f1440, %f598; + bra.uni BB0_30; + +BB0_23: + setp.eq.f32 %p38, %f457, 0f40000000; + @%p38 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + setp.leu.f32 %p40, %f452, 0f00000000; + @%p40 bra BB0_30; + + mul.f32 %f569, %f446, %f88; + fma.rn.f32 %f570, %f445, %f87, %f569; + mul.f32 %f571, %f442, %f88; + fma.rn.f32 %f572, %f441, %f87, %f571; + mul.f32 %f573, %f438, %f88; + fma.rn.f32 %f574, %f437, %f87, %f573; + fma.rn.f32 %f566, %f447, %f89, %f570; + fma.rn.f32 %f567, %f443, %f89, %f572; + fma.rn.f32 %f568, %f439, %f89, %f574; + cvt.rzi.s32.f32 %r87, %f452; + mov.u32 %r88, 6; + mov.u32 %r89, 0; + // inline asm + call (%f562, %f563, %f564, %f565), _rt_texture_get_base_id, (%r87, %r88, %f566, %f567, %f568, %r89); + // inline asm + mul.f32 %f1438, %f1438, %f562; + mul.f32 %f1439, %f1439, %f563; + mul.f32 %f1440, %f1440, %f564; + bra.uni BB0_30; + +BB0_24: + setp.neu.f32 %p39, %f457, 0f40800000; + @%p39 bra BB0_30; + + mul.f32 %f553, %f437, %f87; + mul.f32 %f554, %f438, %f88; + neg.f32 %f555, %f554; + sub.f32 %f556, %f555, %f553; + mul.f32 %f557, %f439, %f89; + sub.f32 %f558, %f556, %f557; + fma.rn.f32 %f559, %f452, %f558, %f448; + cvt.sat.f32.f32 %f560, %f559; + mul.f32 %f561, %f560, %f560; + mul.f32 %f1441, %f1441, %f561; + +BB0_30: + max.f32 %f611, %f1438, %f1439; + max.f32 %f612, %f611, %f1440; + mul.f32 %f133, %f121, %f1441; + mul.f32 %f613, %f133, %f612; + setp.lt.f32 %p44, %f613, 0f3727C5AC; + mov.pred %p142, -1; + mov.f32 %f1442, 0f00000000; + mov.f32 %f1443, %f1442; + mov.f32 %f1444, %f1442; + mov.f32 %f1445, %f1442; + mov.f32 %f1446, %f1442; + mov.f32 %f1447, %f1442; + mov.f32 %f1448, %f1442; + mov.f32 %f1449, %f1442; + mov.f32 %f1450, %f1442; + mov.f32 %f1451, %f1442; + mov.f32 %f1452, %f1442; + mov.f32 %f1453, %f1442; + @%p44 bra BB0_32; + + mul.f32 %f1442, %f1438, %f133; + mul.f32 %f614, %f22, %f88; + fma.rn.f32 %f615, %f20, %f87, %f614; + fma.rn.f32 %f616, %f24, %f89, %f615; + cvt.sat.f32.f32 %f617, %f616; + mul.f32 %f618, %f1438, %f1441; + mul.f32 %f619, %f618, %f617; + mul.f32 %f620, %f1439, %f1441; + mul.f32 %f621, %f620, %f617; + mul.f32 %f622, %f1440, %f1441; + mul.f32 %f623, %f622, %f617; + mul.f32 %f624, %f32, %f88; + fma.rn.f32 %f625, %f31, %f87, %f624; + fma.rn.f32 %f626, %f33, %f89, %f625; + cvt.sat.f32.f32 %f627, %f626; + mul.f32 %f628, %f618, %f627; + mul.f32 %f629, %f620, %f627; + mul.f32 %f630, %f622, %f627; + mul.f32 %f631, %f41, %f88; + fma.rn.f32 %f632, %f40, %f87, %f631; + fma.rn.f32 %f633, %f42, %f89, %f632; + cvt.sat.f32.f32 %f634, %f633; + mul.f32 %f635, %f618, %f634; + mul.f32 %f636, %f620, %f634; + mul.f32 %f637, %f622, %f634; + add.f32 %f638, %f619, %f628; + add.f32 %f639, %f621, %f629; + add.f32 %f640, %f623, %f630; + add.f32 %f641, %f638, %f635; + add.f32 %f642, %f639, %f636; + add.f32 %f643, %f640, %f637; + mul.f32 %f644, %f641, 0f3F13CD3A; + mul.f32 %f645, %f642, 0f3F13CD3A; + mul.f32 %f646, %f643, 0f3F13CD3A; + div.rn.f32 %f647, %f1442, %f644; + mul.f32 %f1443, %f1439, %f133; + div.rn.f32 %f648, %f1443, %f645; + mul.f32 %f1444, %f1440, %f133; + div.rn.f32 %f649, %f1444, %f646; + setp.eq.f32 %p46, %f1442, 0f00000000; + selp.f32 %f650, 0f00000000, %f647, %p46; + setp.eq.f32 %p47, %f1443, 0f00000000; + selp.f32 %f651, 0f00000000, %f648, %p47; + setp.eq.f32 %p48, %f1444, 0f00000000; + selp.f32 %f652, 0f00000000, %f649, %p48; + mul.f32 %f1445, %f619, %f650; + mul.f32 %f1446, %f621, %f651; + mul.f32 %f1447, %f623, %f652; + mul.f32 %f1448, %f628, %f650; + mul.f32 %f1449, %f629, %f651; + mul.f32 %f1450, %f630, %f652; + mul.f32 %f1451, %f635, %f650; + mul.f32 %f1452, %f636, %f651; + mul.f32 %f1453, %f637, %f652; + mov.pred %p142, 0; + +BB0_32: + @%p142 bra BB0_45; + + setp.eq.s32 %p49, %r12, 0; + @%p49 bra BB0_44; + + mov.f32 %f1458, 0f00000000; + setp.lt.s32 %p50, %r12, 1; + @%p50 bra BB0_43; + + max.f32 %f159, %f660, %f295; + and.b32 %r14, %r12, 3; + setp.eq.s32 %p51, %r14, 0; + add.u64 %rd59, %SP, 0; + cvta.to.local.u64 %rd5, %rd59; + mov.f32 %f1458, 0f00000000; + mov.u32 %r253, 0; + @%p51 bra BB0_41; + + setp.eq.s32 %p52, %r14, 1; + mov.f32 %f1455, 0f00000000; + mov.u32 %r251, 0; + @%p52 bra BB0_40; + + setp.eq.s32 %p53, %r14, 2; + mov.f32 %f1454, 0f00000000; + mov.u32 %r250, 0; + @%p53 bra BB0_39; + + sub.f32 %f672, %f458, %f453; + sub.f32 %f673, %f459, %f453; + sub.f32 %f674, %f460, %f453; + sub.f32 %f675, %f672, %f7; + sub.f32 %f676, %f673, %f8; + sub.f32 %f677, %f674, %f9; + mul.f32 %f678, %f676, %f676; + fma.rn.f32 %f679, %f675, %f675, %f678; + fma.rn.f32 %f680, %f677, %f677, %f679; + sqrt.rn.f32 %f671, %f680; + rcp.rn.f32 %f681, %f671; + mul.f32 %f667, %f681, %f675; + mul.f32 %f668, %f681, %f676; + mul.f32 %f669, %f681, %f677; + ld.global.u32 %r99, [imageEnabled]; + and.b32 %r100, %r99, 32; + setp.eq.s32 %p54, %r100, 0; + selp.f32 %f682, 0f3F800000, 0f41200000, %p54; + mul.f32 %f670, %f682, %f159; + mov.u32 %r101, 1065353216; + st.local.u32 [%rd5], %r101; + ld.global.u32 %r95, [root]; + // inline asm + call _rt_trace_64, (%r95, %f10, %f11, %f12, %f667, %f668, %f669, %r72, %f670, %f671, %rd59, %r34); + // inline asm + ld.local.f32 %f683, [%rd5]; + add.f32 %f1454, %f683, 0f00000000; + mov.u32 %r250, %r72; + +BB0_39: + cvt.rn.f32.s32 %f692, %r250; + mul.f32 %f693, %f692, 0f3DD32618; + cvt.rmi.f32.f32 %f694, %f693; + sub.f32 %f695, %f693, %f694; + mul.f32 %f696, %f692, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f697, %f696; + sub.f32 %f698, %f696, %f697; + mul.f32 %f699, %f692, 0f3DC74539; + cvt.rmi.f32.f32 %f700, %f699; + sub.f32 %f701, %f699, %f700; + add.f32 %f702, %f698, 0f4199851F; + add.f32 %f703, %f701, 0f4199851F; + add.f32 %f704, %f695, 0f4199851F; + mul.f32 %f705, %f698, %f703; + fma.rn.f32 %f706, %f695, %f702, %f705; + fma.rn.f32 %f707, %f704, %f701, %f706; + add.f32 %f708, %f695, %f707; + add.f32 %f709, %f698, %f707; + add.f32 %f710, %f701, %f707; + add.f32 %f711, %f708, %f709; + mul.f32 %f712, %f710, %f711; + cvt.rmi.f32.f32 %f713, %f712; + sub.f32 %f714, %f712, %f713; + add.f32 %f715, %f708, %f710; + mul.f32 %f716, %f709, %f715; + cvt.rmi.f32.f32 %f717, %f716; + sub.f32 %f718, %f716, %f717; + add.f32 %f719, %f709, %f710; + mul.f32 %f720, %f708, %f719; + cvt.rmi.f32.f32 %f721, %f720; + sub.f32 %f722, %f720, %f721; + fma.rn.f32 %f723, %f714, 0f40000000, 0fBF800000; + fma.rn.f32 %f724, %f718, 0f40000000, 0fBF800000; + fma.rn.f32 %f725, %f722, 0f40000000, 0fBF800000; + fma.rn.f32 %f726, %f453, %f723, %f458; + fma.rn.f32 %f727, %f453, %f724, %f459; + fma.rn.f32 %f728, %f453, %f725, %f460; + sub.f32 %f729, %f726, %f7; + sub.f32 %f730, %f727, %f8; + sub.f32 %f731, %f728, %f9; + mul.f32 %f732, %f730, %f730; + fma.rn.f32 %f733, %f729, %f729, %f732; + fma.rn.f32 %f734, %f731, %f731, %f733; + sqrt.rn.f32 %f691, %f734; + rcp.rn.f32 %f735, %f691; + mul.f32 %f687, %f735, %f729; + mul.f32 %f688, %f735, %f730; + mul.f32 %f689, %f735, %f731; + ld.global.u32 %r105, [imageEnabled]; + and.b32 %r106, %r105, 32; + setp.eq.s32 %p55, %r106, 0; + selp.f32 %f736, 0f3F800000, 0f41200000, %p55; + mul.f32 %f690, %f736, %f159; + mov.u32 %r107, 1065353216; + st.local.u32 [%rd5], %r107; + ld.global.u32 %r102, [root]; + // inline asm + call _rt_trace_64, (%r102, %f10, %f11, %f12, %f687, %f688, %f689, %r72, %f690, %f691, %rd59, %r34); + // inline asm + ld.local.f32 %f737, [%rd5]; + add.f32 %f1455, %f1454, %f737; + add.s32 %r251, %r250, 1; + +BB0_40: + cvt.rn.f32.s32 %f746, %r251; + mul.f32 %f747, %f746, 0f3DD32618; + cvt.rmi.f32.f32 %f748, %f747; + sub.f32 %f749, %f747, %f748; + mul.f32 %f750, %f746, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f751, %f750; + sub.f32 %f752, %f750, %f751; + mul.f32 %f753, %f746, 0f3DC74539; + cvt.rmi.f32.f32 %f754, %f753; + sub.f32 %f755, %f753, %f754; + add.f32 %f756, %f752, 0f4199851F; + add.f32 %f757, %f755, 0f4199851F; + add.f32 %f758, %f749, 0f4199851F; + mul.f32 %f759, %f752, %f757; + fma.rn.f32 %f760, %f749, %f756, %f759; + fma.rn.f32 %f761, %f758, %f755, %f760; + add.f32 %f762, %f749, %f761; + add.f32 %f763, %f752, %f761; + add.f32 %f764, %f755, %f761; + add.f32 %f765, %f762, %f763; + mul.f32 %f766, %f764, %f765; + cvt.rmi.f32.f32 %f767, %f766; + sub.f32 %f768, %f766, %f767; + add.f32 %f769, %f762, %f764; + mul.f32 %f770, %f763, %f769; + cvt.rmi.f32.f32 %f771, %f770; + sub.f32 %f772, %f770, %f771; + add.f32 %f773, %f763, %f764; + mul.f32 %f774, %f762, %f773; + cvt.rmi.f32.f32 %f775, %f774; + sub.f32 %f776, %f774, %f775; + fma.rn.f32 %f777, %f768, 0f40000000, 0fBF800000; + fma.rn.f32 %f778, %f772, 0f40000000, 0fBF800000; + fma.rn.f32 %f779, %f776, 0f40000000, 0fBF800000; + fma.rn.f32 %f780, %f453, %f777, %f458; + fma.rn.f32 %f781, %f453, %f778, %f459; + fma.rn.f32 %f782, %f453, %f779, %f460; + sub.f32 %f783, %f780, %f7; + sub.f32 %f784, %f781, %f8; + sub.f32 %f785, %f782, %f9; + mul.f32 %f786, %f784, %f784; + fma.rn.f32 %f787, %f783, %f783, %f786; + fma.rn.f32 %f788, %f785, %f785, %f787; + sqrt.rn.f32 %f745, %f788; + rcp.rn.f32 %f789, %f745; + mul.f32 %f741, %f789, %f783; + mul.f32 %f742, %f789, %f784; + mul.f32 %f743, %f789, %f785; + ld.global.u32 %r111, [imageEnabled]; + and.b32 %r112, %r111, 32; + setp.eq.s32 %p56, %r112, 0; + selp.f32 %f790, 0f3F800000, 0f41200000, %p56; + mul.f32 %f744, %f790, %f159; + mov.u32 %r113, 1065353216; + st.local.u32 [%rd5], %r113; + ld.global.u32 %r108, [root]; + mov.u32 %r109, 1; + // inline asm + call _rt_trace_64, (%r108, %f10, %f11, %f12, %f741, %f742, %f743, %r109, %f744, %f745, %rd59, %r34); + // inline asm + ld.local.f32 %f791, [%rd5]; + add.f32 %f1458, %f1455, %f791; + add.s32 %r253, %r251, 1; + +BB0_41: + setp.lt.u32 %p57, %r12, 4; + @%p57 bra BB0_43; + +BB0_42: + cvt.rn.f32.s32 %f824, %r253; + mul.f32 %f825, %f824, 0f3DD32618; + cvt.rmi.f32.f32 %f826, %f825; + sub.f32 %f827, %f825, %f826; + mul.f32 %f828, %f824, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f829, %f828; + sub.f32 %f830, %f828, %f829; + mul.f32 %f831, %f824, 0f3DC74539; + cvt.rmi.f32.f32 %f832, %f831; + sub.f32 %f833, %f831, %f832; + add.f32 %f834, %f830, 0f4199851F; + add.f32 %f835, %f833, 0f4199851F; + add.f32 %f836, %f827, 0f4199851F; + mul.f32 %f837, %f830, %f835; + fma.rn.f32 %f838, %f827, %f834, %f837; + fma.rn.f32 %f839, %f836, %f833, %f838; + add.f32 %f840, %f827, %f839; + add.f32 %f841, %f830, %f839; + add.f32 %f842, %f833, %f839; + add.f32 %f843, %f840, %f841; + mul.f32 %f844, %f842, %f843; + cvt.rmi.f32.f32 %f845, %f844; + sub.f32 %f846, %f844, %f845; + add.f32 %f847, %f840, %f842; + mul.f32 %f848, %f841, %f847; + cvt.rmi.f32.f32 %f849, %f848; + sub.f32 %f850, %f848, %f849; + add.f32 %f851, %f841, %f842; + mul.f32 %f852, %f840, %f851; + cvt.rmi.f32.f32 %f853, %f852; + sub.f32 %f854, %f852, %f853; + fma.rn.f32 %f855, %f846, 0f40000000, 0fBF800000; + fma.rn.f32 %f856, %f850, 0f40000000, 0fBF800000; + fma.rn.f32 %f857, %f854, 0f40000000, 0fBF800000; + fma.rn.f32 %f858, %f453, %f855, %f458; + fma.rn.f32 %f859, %f453, %f856, %f459; + fma.rn.f32 %f860, %f453, %f857, %f460; + sub.f32 %f861, %f858, %f7; + sub.f32 %f862, %f859, %f8; + sub.f32 %f863, %f860, %f9; + mul.f32 %f864, %f862, %f862; + fma.rn.f32 %f865, %f861, %f861, %f864; + fma.rn.f32 %f866, %f863, %f863, %f865; + sqrt.rn.f32 %f799, %f866; + rcp.rn.f32 %f867, %f799; + mul.f32 %f795, %f867, %f861; + mul.f32 %f796, %f867, %f862; + mul.f32 %f797, %f867, %f863; + ld.global.u32 %r126, [imageEnabled]; + and.b32 %r127, %r126, 32; + setp.eq.s32 %p58, %r127, 0; + selp.f32 %f868, 0f3F800000, 0f41200000, %p58; + mul.f32 %f798, %f868, %f159; + mov.u32 %r128, 1065353216; + st.local.u32 [%rd5], %r128; + ld.global.u32 %r114, [root]; + mov.u32 %r124, 1; + // inline asm + call _rt_trace_64, (%r114, %f10, %f11, %f12, %f795, %f796, %f797, %r124, %f798, %f799, %rd59, %r34); + // inline asm + ld.local.f32 %f869, [%rd5]; + add.f32 %f870, %f1458, %f869; + add.s32 %r129, %r253, 1; + cvt.rn.f32.s32 %f871, %r129; + mul.f32 %f872, %f871, 0f3DD32618; + cvt.rmi.f32.f32 %f873, %f872; + sub.f32 %f874, %f872, %f873; + mul.f32 %f875, %f871, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f876, %f875; + sub.f32 %f877, %f875, %f876; + mul.f32 %f878, %f871, 0f3DC74539; + cvt.rmi.f32.f32 %f879, %f878; + sub.f32 %f880, %f878, %f879; + add.f32 %f881, %f877, 0f4199851F; + add.f32 %f882, %f880, 0f4199851F; + add.f32 %f883, %f874, 0f4199851F; + mul.f32 %f884, %f877, %f882; + fma.rn.f32 %f885, %f874, %f881, %f884; + fma.rn.f32 %f886, %f883, %f880, %f885; + add.f32 %f887, %f874, %f886; + add.f32 %f888, %f877, %f886; + add.f32 %f889, %f880, %f886; + add.f32 %f890, %f887, %f888; + mul.f32 %f891, %f889, %f890; + cvt.rmi.f32.f32 %f892, %f891; + sub.f32 %f893, %f891, %f892; + add.f32 %f894, %f887, %f889; + mul.f32 %f895, %f888, %f894; + cvt.rmi.f32.f32 %f896, %f895; + sub.f32 %f897, %f895, %f896; + add.f32 %f898, %f888, %f889; + mul.f32 %f899, %f887, %f898; + cvt.rmi.f32.f32 %f900, %f899; + sub.f32 %f901, %f899, %f900; + fma.rn.f32 %f902, %f893, 0f40000000, 0fBF800000; + fma.rn.f32 %f903, %f897, 0f40000000, 0fBF800000; + fma.rn.f32 %f904, %f901, 0f40000000, 0fBF800000; + fma.rn.f32 %f905, %f453, %f902, %f458; + fma.rn.f32 %f906, %f453, %f903, %f459; + fma.rn.f32 %f907, %f453, %f904, %f460; + sub.f32 %f908, %f905, %f7; + sub.f32 %f909, %f906, %f8; + sub.f32 %f910, %f907, %f9; + mul.f32 %f911, %f909, %f909; + fma.rn.f32 %f912, %f908, %f908, %f911; + fma.rn.f32 %f913, %f910, %f910, %f912; + sqrt.rn.f32 %f807, %f913; + rcp.rn.f32 %f914, %f807; + mul.f32 %f803, %f914, %f908; + mul.f32 %f804, %f914, %f909; + mul.f32 %f805, %f914, %f910; + ld.global.u32 %r130, [imageEnabled]; + and.b32 %r131, %r130, 32; + setp.eq.s32 %p59, %r131, 0; + selp.f32 %f915, 0f3F800000, 0f41200000, %p59; + mul.f32 %f806, %f915, %f159; + st.local.u32 [%rd5], %r128; + ld.global.u32 %r117, [root]; + // inline asm + call _rt_trace_64, (%r117, %f10, %f11, %f12, %f803, %f804, %f805, %r124, %f806, %f807, %rd59, %r34); + // inline asm + ld.local.f32 %f916, [%rd5]; + add.f32 %f917, %f870, %f916; + add.s32 %r132, %r253, 2; + cvt.rn.f32.s32 %f918, %r132; + mul.f32 %f919, %f918, 0f3DD32618; + cvt.rmi.f32.f32 %f920, %f919; + sub.f32 %f921, %f919, %f920; + mul.f32 %f922, %f918, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f923, %f922; + sub.f32 %f924, %f922, %f923; + mul.f32 %f925, %f918, 0f3DC74539; + cvt.rmi.f32.f32 %f926, %f925; + sub.f32 %f927, %f925, %f926; + add.f32 %f928, %f924, 0f4199851F; + add.f32 %f929, %f927, 0f4199851F; + add.f32 %f930, %f921, 0f4199851F; + mul.f32 %f931, %f924, %f929; + fma.rn.f32 %f932, %f921, %f928, %f931; + fma.rn.f32 %f933, %f930, %f927, %f932; + add.f32 %f934, %f921, %f933; + add.f32 %f935, %f924, %f933; + add.f32 %f936, %f927, %f933; + add.f32 %f937, %f934, %f935; + mul.f32 %f938, %f936, %f937; + cvt.rmi.f32.f32 %f939, %f938; + sub.f32 %f940, %f938, %f939; + add.f32 %f941, %f934, %f936; + mul.f32 %f942, %f935, %f941; + cvt.rmi.f32.f32 %f943, %f942; + sub.f32 %f944, %f942, %f943; + add.f32 %f945, %f935, %f936; + mul.f32 %f946, %f934, %f945; + cvt.rmi.f32.f32 %f947, %f946; + sub.f32 %f948, %f946, %f947; + fma.rn.f32 %f949, %f940, 0f40000000, 0fBF800000; + fma.rn.f32 %f950, %f944, 0f40000000, 0fBF800000; + fma.rn.f32 %f951, %f948, 0f40000000, 0fBF800000; + fma.rn.f32 %f952, %f453, %f949, %f458; + fma.rn.f32 %f953, %f453, %f950, %f459; + fma.rn.f32 %f954, %f453, %f951, %f460; + sub.f32 %f955, %f952, %f7; + sub.f32 %f956, %f953, %f8; + sub.f32 %f957, %f954, %f9; + mul.f32 %f958, %f956, %f956; + fma.rn.f32 %f959, %f955, %f955, %f958; + fma.rn.f32 %f960, %f957, %f957, %f959; + sqrt.rn.f32 %f815, %f960; + rcp.rn.f32 %f961, %f815; + mul.f32 %f811, %f961, %f955; + mul.f32 %f812, %f961, %f956; + mul.f32 %f813, %f961, %f957; + ld.global.u32 %r133, [imageEnabled]; + and.b32 %r134, %r133, 32; + setp.eq.s32 %p60, %r134, 0; + selp.f32 %f962, 0f3F800000, 0f41200000, %p60; + mul.f32 %f814, %f962, %f159; + st.local.u32 [%rd5], %r128; + ld.global.u32 %r120, [root]; + // inline asm + call _rt_trace_64, (%r120, %f10, %f11, %f12, %f811, %f812, %f813, %r124, %f814, %f815, %rd59, %r34); + // inline asm + ld.local.f32 %f963, [%rd5]; + add.f32 %f964, %f917, %f963; + add.s32 %r135, %r253, 3; + cvt.rn.f32.s32 %f965, %r135; + mul.f32 %f966, %f965, 0f3DD32618; + cvt.rmi.f32.f32 %f967, %f966; + sub.f32 %f968, %f966, %f967; + mul.f32 %f969, %f965, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f970, %f969; + sub.f32 %f971, %f969, %f970; + mul.f32 %f972, %f965, 0f3DC74539; + cvt.rmi.f32.f32 %f973, %f972; + sub.f32 %f974, %f972, %f973; + add.f32 %f975, %f971, 0f4199851F; + add.f32 %f976, %f974, 0f4199851F; + add.f32 %f977, %f968, 0f4199851F; + mul.f32 %f978, %f971, %f976; + fma.rn.f32 %f979, %f968, %f975, %f978; + fma.rn.f32 %f980, %f977, %f974, %f979; + add.f32 %f981, %f968, %f980; + add.f32 %f982, %f971, %f980; + add.f32 %f983, %f974, %f980; + add.f32 %f984, %f981, %f982; + mul.f32 %f985, %f983, %f984; + cvt.rmi.f32.f32 %f986, %f985; + sub.f32 %f987, %f985, %f986; + add.f32 %f988, %f981, %f983; + mul.f32 %f989, %f982, %f988; + cvt.rmi.f32.f32 %f990, %f989; + sub.f32 %f991, %f989, %f990; + add.f32 %f992, %f982, %f983; + mul.f32 %f993, %f981, %f992; + cvt.rmi.f32.f32 %f994, %f993; + sub.f32 %f995, %f993, %f994; + fma.rn.f32 %f996, %f987, 0f40000000, 0fBF800000; + fma.rn.f32 %f997, %f991, 0f40000000, 0fBF800000; + fma.rn.f32 %f998, %f995, 0f40000000, 0fBF800000; + fma.rn.f32 %f999, %f453, %f996, %f458; + fma.rn.f32 %f1000, %f453, %f997, %f459; + fma.rn.f32 %f1001, %f453, %f998, %f460; + sub.f32 %f1002, %f999, %f7; + sub.f32 %f1003, %f1000, %f8; + sub.f32 %f1004, %f1001, %f9; + mul.f32 %f1005, %f1003, %f1003; + fma.rn.f32 %f1006, %f1002, %f1002, %f1005; + fma.rn.f32 %f1007, %f1004, %f1004, %f1006; + sqrt.rn.f32 %f823, %f1007; + rcp.rn.f32 %f1008, %f823; + mul.f32 %f819, %f1008, %f1002; + mul.f32 %f820, %f1008, %f1003; + mul.f32 %f821, %f1008, %f1004; + ld.global.u32 %r136, [imageEnabled]; + and.b32 %r137, %r136, 32; + setp.eq.s32 %p61, %r137, 0; + selp.f32 %f1009, 0f3F800000, 0f41200000, %p61; + mul.f32 %f822, %f1009, %f159; + st.local.u32 [%rd5], %r128; + ld.global.u32 %r123, [root]; + // inline asm + call _rt_trace_64, (%r123, %f10, %f11, %f12, %f819, %f820, %f821, %r124, %f822, %f823, %rd59, %r34); + // inline asm + ld.local.f32 %f1010, [%rd5]; + add.f32 %f1458, %f964, %f1010; + add.s32 %r253, %r253, 4; + setp.lt.s32 %p62, %r253, %r12; + @%p62 bra BB0_42; + +BB0_43: + cvt.rn.f32.s32 %f1011, %r12; + div.rn.f32 %f1459, %f1458, %f1011; + +BB0_44: + fma.rn.f32 %f1434, %f1442, %f1459, %f1434; + fma.rn.f32 %f1433, %f1443, %f1459, %f1433; + fma.rn.f32 %f1432, %f1444, %f1459, %f1432; + fma.rn.f32 %f1431, %f1445, %f1459, %f1431; + fma.rn.f32 %f1430, %f1446, %f1459, %f1430; + fma.rn.f32 %f1429, %f1447, %f1459, %f1429; + fma.rn.f32 %f1428, %f1448, %f1459, %f1428; + fma.rn.f32 %f1427, %f1449, %f1459, %f1427; + fma.rn.f32 %f1426, %f1450, %f1459, %f1426; + fma.rn.f32 %f1425, %f1451, %f1459, %f1425; + fma.rn.f32 %f1424, %f1452, %f1459, %f1424; + fma.rn.f32 %f1423, %f1453, %f1459, %f1423; + add.f32 %f1422, %f1422, %f1459; + +BB0_45: + add.s32 %r249, %r249, 1; + setp.lt.u32 %p63, %r249, %r10; + @%p63 bra BB0_11; + +BB0_46: + ld.global.u32 %r255, [imageEnabled]; + and.b32 %r138, %r255, 8; + setp.eq.s32 %p64, %r138, 0; + @%p64 bra BB0_59; + + cvt.sat.f32.f32 %f210, %f1422; + cvt.u64.u32 %rd70, %r3; + cvt.u64.u32 %rd69, %r2; + mov.u64 %rd73, image_Mask; + cvta.global.u64 %rd68, %rd73; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r33, %r33, %rd69, %rd70, %rd16, %rd16); + // inline asm + mov.f32 %f1014, 0f3E68BA2E; + cvt.rzi.f32.f32 %f1015, %f1014; + fma.rn.f32 %f1016, %f1015, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f211, %f1016; + abs.f32 %f212, %f210; + setp.lt.f32 %p65, %f212, 0f00800000; + mul.f32 %f1017, %f212, 0f4B800000; + selp.f32 %f1018, 0fC3170000, 0fC2FE0000, %p65; + selp.f32 %f1019, %f1017, %f212, %p65; + mov.b32 %r141, %f1019; + and.b32 %r142, %r141, 8388607; + or.b32 %r143, %r142, 1065353216; + mov.b32 %f1020, %r143; + shr.u32 %r144, %r141, 23; + cvt.rn.f32.u32 %f1021, %r144; + add.f32 %f1022, %f1018, %f1021; + setp.gt.f32 %p66, %f1020, 0f3FB504F3; + mul.f32 %f1023, %f1020, 0f3F000000; + add.f32 %f1024, %f1022, 0f3F800000; + selp.f32 %f1025, %f1023, %f1020, %p66; + selp.f32 %f1026, %f1024, %f1022, %p66; + add.f32 %f1027, %f1025, 0fBF800000; + add.f32 %f1013, %f1025, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1012,%f1013; + // inline asm + add.f32 %f1028, %f1027, %f1027; + mul.f32 %f1029, %f1012, %f1028; + mul.f32 %f1030, %f1029, %f1029; + mov.f32 %f1031, 0f3C4CAF63; + mov.f32 %f1032, 0f3B18F0FE; + fma.rn.f32 %f1033, %f1032, %f1030, %f1031; + mov.f32 %f1034, 0f3DAAAABD; + fma.rn.f32 %f1035, %f1033, %f1030, %f1034; + mul.rn.f32 %f1036, %f1035, %f1030; + mul.rn.f32 %f1037, %f1036, %f1029; + sub.f32 %f1038, %f1027, %f1029; + neg.f32 %f1039, %f1029; + add.f32 %f1040, %f1038, %f1038; + fma.rn.f32 %f1041, %f1039, %f1027, %f1040; + mul.rn.f32 %f1042, %f1012, %f1041; + add.f32 %f1043, %f1037, %f1029; + sub.f32 %f1044, %f1029, %f1043; + add.f32 %f1045, %f1037, %f1044; + add.f32 %f1046, %f1042, %f1045; + add.f32 %f1047, %f1043, %f1046; + sub.f32 %f1048, %f1043, %f1047; + add.f32 %f1049, %f1046, %f1048; + mov.f32 %f1050, 0f3F317200; + mul.rn.f32 %f1051, %f1026, %f1050; + mov.f32 %f1052, 0f35BFBE8E; + mul.rn.f32 %f1053, %f1026, %f1052; + add.f32 %f1054, %f1051, %f1047; + sub.f32 %f1055, %f1051, %f1054; + add.f32 %f1056, %f1047, %f1055; + add.f32 %f1057, %f1049, %f1056; + add.f32 %f1058, %f1053, %f1057; + add.f32 %f1059, %f1054, %f1058; + sub.f32 %f1060, %f1054, %f1059; + add.f32 %f1061, %f1058, %f1060; + mov.f32 %f1062, 0f3EE8BA2E; + mul.rn.f32 %f1063, %f1062, %f1059; + neg.f32 %f1064, %f1063; + fma.rn.f32 %f1065, %f1062, %f1059, %f1064; + fma.rn.f32 %f1066, %f1062, %f1061, %f1065; + mov.f32 %f1067, 0f00000000; + fma.rn.f32 %f1068, %f1067, %f1059, %f1066; + add.rn.f32 %f1069, %f1063, %f1068; + neg.f32 %f1070, %f1069; + add.rn.f32 %f1071, %f1063, %f1070; + add.rn.f32 %f1072, %f1071, %f1068; + mov.b32 %r145, %f1069; + setp.eq.s32 %p67, %r145, 1118925336; + add.s32 %r146, %r145, -1; + mov.b32 %f1073, %r146; + add.f32 %f1074, %f1072, 0f37000000; + selp.f32 %f1075, %f1073, %f1069, %p67; + selp.f32 %f213, %f1074, %f1072, %p67; + mul.f32 %f1076, %f1075, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1077, %f1076; + mov.f32 %f1078, 0fBF317200; + fma.rn.f32 %f1079, %f1077, %f1078, %f1075; + mov.f32 %f1080, 0fB5BFBE8E; + fma.rn.f32 %f1081, %f1077, %f1080, %f1079; + mul.f32 %f1082, %f1081, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1083, %f1082; + add.f32 %f1084, %f1077, 0f00000000; + ex2.approx.f32 %f1085, %f1084; + mul.f32 %f1086, %f1083, %f1085; + setp.lt.f32 %p68, %f1075, 0fC2D20000; + selp.f32 %f1087, 0f00000000, %f1086, %p68; + setp.gt.f32 %p69, %f1075, 0f42D20000; + selp.f32 %f1486, 0f7F800000, %f1087, %p69; + setp.eq.f32 %p70, %f1486, 0f7F800000; + @%p70 bra BB0_49; + + fma.rn.f32 %f1486, %f1486, %f213, %f1486; + +BB0_49: + setp.lt.f32 %p71, %f210, 0f00000000; + setp.eq.f32 %p72, %f211, 0f3F800000; + and.pred %p4, %p71, %p72; + mov.b32 %r147, %f1486; + xor.b32 %r148, %r147, -2147483648; + mov.b32 %f1088, %r148; + selp.f32 %f1488, %f1088, %f1486, %p4; + setp.eq.f32 %p73, %f210, 0f00000000; + @%p73 bra BB0_52; + bra.uni BB0_50; + +BB0_52: + add.f32 %f1091, %f210, %f210; + selp.f32 %f1488, %f1091, 0f00000000, %p72; + bra.uni BB0_53; + +BB0_114: + mov.u64 %rd194, image_HDR; + cvta.global.u64 %rd189, %rd194; + mov.u32 %r227, 8; + // inline asm + call (%rd188), _rt_buffer_get_64, (%rd189, %r33, %r227, %rd9, %rd10, %rd16, %rd16); + // inline asm + mov.f32 %f1388, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f1388;} + + // inline asm + mov.u16 %rs117, 0; + st.v4.u16 [%rd188], {%rs116, %rs116, %rs116, %rs117}; + +BB0_115: + ld.global.u32 %r228, [additive]; + setp.eq.s32 %p139, %r228, 0; + @%p139 bra BB0_117; + + mov.u64 %rd207, image_RNM0; + cvta.global.u64 %rd196, %rd207; + mov.u32 %r232, 8; + // inline asm + call (%rd195), _rt_buffer_get_64, (%rd196, %r33, %r232, %rd9, %rd10, %rd16, %rd16); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd195]; + // inline asm + { cvt.f32.f16 %f1389, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1390, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1391, %rs126;} + + // inline asm + // inline asm + call (%rd201), _rt_buffer_get_64, (%rd196, %r33, %r232, %rd9, %rd10, %rd16, %rd16); + // inline asm + add.f32 %f1392, %f1389, 0f00000000; + add.f32 %f1393, %f1390, 0f00000000; + add.f32 %f1394, %f1391, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f1394;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f1393;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f1392;} + + // inline asm + mov.u16 %rs128, 0; + st.v4.u16 [%rd201], {%rs121, %rs122, %rs123, %rs128}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd214, image_RNM0; + cvta.global.u64 %rd209, %rd214; + mov.u32 %r234, 8; + // inline asm + call (%rd208), _rt_buffer_get_64, (%rd209, %r33, %r234, %rd9, %rd10, %rd16, %rd16); + // inline asm + mov.f32 %f1395, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs129, %f1395;} + + // inline asm + mov.u16 %rs130, 0; + st.v4.u16 [%rd208], {%rs129, %rs129, %rs129, %rs130}; + +BB0_118: + ld.global.u32 %r235, [additive]; + setp.eq.s32 %p140, %r235, 0; + @%p140 bra BB0_120; + + mov.u64 %rd227, image_RNM1; + cvta.global.u64 %rd216, %rd227; + mov.u32 %r239, 8; + // inline asm + call (%rd215), _rt_buffer_get_64, (%rd216, %r33, %r239, %rd9, %rd10, %rd16, %rd16); + // inline asm + ld.v4.u16 {%rs137, %rs138, %rs139, %rs140}, [%rd215]; + // inline asm + { cvt.f32.f16 %f1396, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1397, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1398, %rs139;} + + // inline asm + // inline asm + call (%rd221), _rt_buffer_get_64, (%rd216, %r33, %r239, %rd9, %rd10, %rd16, %rd16); + // inline asm + add.f32 %f1399, %f1396, 0f00000000; + add.f32 %f1400, %f1397, 0f00000000; + add.f32 %f1401, %f1398, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs136, %f1401;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f1400;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f1399;} + + // inline asm + mov.u16 %rs141, 0; + st.v4.u16 [%rd221], {%rs134, %rs135, %rs136, %rs141}; + bra.uni BB0_121; + +BB0_120: + mov.u64 %rd234, image_RNM1; + cvta.global.u64 %rd229, %rd234; + mov.u32 %r241, 8; + // inline asm + call (%rd228), _rt_buffer_get_64, (%rd229, %r33, %r241, %rd9, %rd10, %rd16, %rd16); + // inline asm + mov.f32 %f1402, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs142, %f1402;} + + // inline asm + mov.u16 %rs143, 0; + st.v4.u16 [%rd228], {%rs142, %rs142, %rs142, %rs143}; + +BB0_121: + ld.global.u32 %r242, [additive]; + setp.eq.s32 %p141, %r242, 0; + @%p141 bra BB0_123; + + mov.u64 %rd247, image_RNM2; + cvta.global.u64 %rd236, %rd247; + mov.u32 %r246, 8; + // inline asm + call (%rd235), _rt_buffer_get_64, (%rd236, %r33, %r246, %rd9, %rd10, %rd16, %rd16); + // inline asm + ld.v4.u16 {%rs150, %rs151, %rs152, %rs153}, [%rd235]; + // inline asm + { cvt.f32.f16 %f1403, %rs150;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1404, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1405, %rs152;} + + // inline asm + // inline asm + call (%rd241), _rt_buffer_get_64, (%rd236, %r33, %r246, %rd9, %rd10, %rd16, %rd16); + // inline asm + add.f32 %f1406, %f1403, 0f00000000; + add.f32 %f1407, %f1404, 0f00000000; + add.f32 %f1408, %f1405, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs149, %f1408;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f1407;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs147, %f1406;} + + // inline asm + mov.u16 %rs154, 0; + st.v4.u16 [%rd241], {%rs147, %rs148, %rs149, %rs154}; + bra.uni BB0_124; + +BB0_123: + mov.u64 %rd254, image_RNM2; + cvta.global.u64 %rd249, %rd254; + mov.u32 %r248, 8; + // inline asm + call (%rd248), _rt_buffer_get_64, (%rd249, %r33, %r248, %rd9, %rd10, %rd16, %rd16); + // inline asm + mov.f32 %f1409, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs155, %f1409;} + + // inline asm + mov.u16 %rs156, 0; + st.v4.u16 [%rd248], {%rs155, %rs155, %rs155, %rs156}; + bra.uni BB0_124; + +BB0_50: + setp.geu.f32 %p74, %f210, 0f00000000; + @%p74 bra BB0_53; + + cvt.rzi.f32.f32 %f1090, %f1062; + setp.neu.f32 %p75, %f1090, 0f3EE8BA2E; + selp.f32 %f1488, 0f7FFFFFFF, %f1488, %p75; + +BB0_53: + add.f32 %f1092, %f212, 0f3EE8BA2E; + mov.b32 %r149, %f1092; + setp.lt.s32 %p77, %r149, 2139095040; + @%p77 bra BB0_58; + + setp.gtu.f32 %p78, %f212, 0f7F800000; + @%p78 bra BB0_57; + bra.uni BB0_55; + +BB0_57: + add.f32 %f1488, %f210, 0f3EE8BA2E; + bra.uni BB0_58; + +BB0_55: + setp.neu.f32 %p79, %f212, 0f7F800000; + @%p79 bra BB0_58; + + selp.f32 %f1488, 0fFF800000, 0f7F800000, %p4; + +BB0_58: + mul.f32 %f1093, %f1488, 0f437F0000; + setp.eq.f32 %p80, %f210, 0f3F800000; + selp.f32 %f1094, 0f437F0000, %f1093, %p80; + cvt.rzi.u32.f32 %r150, %f1094; + cvt.u16.u32 %rs40, %r150; + mov.u16 %rs41, 255; + st.v2.u8 [%rd67], {%rs40, %rs41}; + ld.global.u32 %r255, [imageEnabled]; + +BB0_59: + and.b32 %r151, %r255, 1; + setp.eq.b32 %p81, %r151, 1; + @!%p81 bra BB0_94; + bra.uni BB0_60; + +BB0_60: + mov.f32 %f1097, 0f3E666666; + cvt.rzi.f32.f32 %f1098, %f1097; + fma.rn.f32 %f1099, %f1098, 0fC0000000, 0f3EE66666; + abs.f32 %f224, %f1099; + abs.f32 %f225, %f1434; + setp.lt.f32 %p82, %f225, 0f00800000; + mul.f32 %f1100, %f225, 0f4B800000; + selp.f32 %f1101, 0fC3170000, 0fC2FE0000, %p82; + selp.f32 %f1102, %f1100, %f225, %p82; + mov.b32 %r152, %f1102; + and.b32 %r153, %r152, 8388607; + or.b32 %r154, %r153, 1065353216; + mov.b32 %f1103, %r154; + shr.u32 %r155, %r152, 23; + cvt.rn.f32.u32 %f1104, %r155; + add.f32 %f1105, %f1101, %f1104; + setp.gt.f32 %p83, %f1103, 0f3FB504F3; + mul.f32 %f1106, %f1103, 0f3F000000; + add.f32 %f1107, %f1105, 0f3F800000; + selp.f32 %f1108, %f1106, %f1103, %p83; + selp.f32 %f1109, %f1107, %f1105, %p83; + add.f32 %f1110, %f1108, 0fBF800000; + add.f32 %f1096, %f1108, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1095,%f1096; + // inline asm + add.f32 %f1111, %f1110, %f1110; + mul.f32 %f1112, %f1095, %f1111; + mul.f32 %f1113, %f1112, %f1112; + mov.f32 %f1114, 0f3C4CAF63; + mov.f32 %f1115, 0f3B18F0FE; + fma.rn.f32 %f1116, %f1115, %f1113, %f1114; + mov.f32 %f1117, 0f3DAAAABD; + fma.rn.f32 %f1118, %f1116, %f1113, %f1117; + mul.rn.f32 %f1119, %f1118, %f1113; + mul.rn.f32 %f1120, %f1119, %f1112; + sub.f32 %f1121, %f1110, %f1112; + neg.f32 %f1122, %f1112; + add.f32 %f1123, %f1121, %f1121; + fma.rn.f32 %f1124, %f1122, %f1110, %f1123; + mul.rn.f32 %f1125, %f1095, %f1124; + add.f32 %f1126, %f1120, %f1112; + sub.f32 %f1127, %f1112, %f1126; + add.f32 %f1128, %f1120, %f1127; + add.f32 %f1129, %f1125, %f1128; + add.f32 %f1130, %f1126, %f1129; + sub.f32 %f1131, %f1126, %f1130; + add.f32 %f1132, %f1129, %f1131; + mov.f32 %f1133, 0f3F317200; + mul.rn.f32 %f1134, %f1109, %f1133; + mov.f32 %f1135, 0f35BFBE8E; + mul.rn.f32 %f1136, %f1109, %f1135; + add.f32 %f1137, %f1134, %f1130; + sub.f32 %f1138, %f1134, %f1137; + add.f32 %f1139, %f1130, %f1138; + add.f32 %f1140, %f1132, %f1139; + add.f32 %f1141, %f1136, %f1140; + add.f32 %f1142, %f1137, %f1141; + sub.f32 %f1143, %f1137, %f1142; + add.f32 %f1144, %f1141, %f1143; + mov.f32 %f1145, 0f3EE66666; + mul.rn.f32 %f1146, %f1145, %f1142; + neg.f32 %f1147, %f1146; + fma.rn.f32 %f1148, %f1145, %f1142, %f1147; + fma.rn.f32 %f1149, %f1145, %f1144, %f1148; + mov.f32 %f1150, 0f00000000; + fma.rn.f32 %f1151, %f1150, %f1142, %f1149; + add.rn.f32 %f1152, %f1146, %f1151; + neg.f32 %f1153, %f1152; + add.rn.f32 %f1154, %f1146, %f1153; + add.rn.f32 %f1155, %f1154, %f1151; + mov.b32 %r156, %f1152; + setp.eq.s32 %p84, %r156, 1118925336; + add.s32 %r157, %r156, -1; + mov.b32 %f1156, %r157; + add.f32 %f1157, %f1155, 0f37000000; + selp.f32 %f1158, %f1156, %f1152, %p84; + selp.f32 %f226, %f1157, %f1155, %p84; + mul.f32 %f1159, %f1158, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1160, %f1159; + mov.f32 %f1161, 0fBF317200; + fma.rn.f32 %f1162, %f1160, %f1161, %f1158; + mov.f32 %f1163, 0fB5BFBE8E; + fma.rn.f32 %f1164, %f1160, %f1163, %f1162; + mul.f32 %f1165, %f1164, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1166, %f1165; + add.f32 %f1167, %f1160, 0f00000000; + ex2.approx.f32 %f1168, %f1167; + mul.f32 %f1169, %f1166, %f1168; + setp.lt.f32 %p85, %f1158, 0fC2D20000; + selp.f32 %f1170, 0f00000000, %f1169, %p85; + setp.gt.f32 %p86, %f1158, 0f42D20000; + selp.f32 %f1489, 0f7F800000, %f1170, %p86; + setp.eq.f32 %p87, %f1489, 0f7F800000; + @%p87 bra BB0_62; + + fma.rn.f32 %f1489, %f1489, %f226, %f1489; + +BB0_62: + setp.lt.f32 %p88, %f1434, 0f00000000; + setp.eq.f32 %p89, %f224, 0f3F800000; + and.pred %p5, %p88, %p89; + mov.b32 %r158, %f1489; + xor.b32 %r159, %r158, -2147483648; + mov.b32 %f1171, %r159; + selp.f32 %f1491, %f1171, %f1489, %p5; + setp.eq.f32 %p90, %f1434, 0f00000000; + @%p90 bra BB0_65; + bra.uni BB0_63; + +BB0_65: + add.f32 %f1174, %f1434, %f1434; + selp.f32 %f1491, %f1174, 0f00000000, %p89; + bra.uni BB0_66; + +BB0_63: + setp.geu.f32 %p91, %f1434, 0f00000000; + @%p91 bra BB0_66; + + cvt.rzi.f32.f32 %f1173, %f1145; + setp.neu.f32 %p92, %f1173, 0f3EE66666; + selp.f32 %f1491, 0f7FFFFFFF, %f1491, %p92; + +BB0_66: + add.f32 %f1175, %f225, 0f3EE66666; + mov.b32 %r160, %f1175; + setp.lt.s32 %p94, %r160, 2139095040; + @%p94 bra BB0_71; + + setp.gtu.f32 %p95, %f225, 0f7F800000; + @%p95 bra BB0_70; + bra.uni BB0_68; + +BB0_70: + add.f32 %f1491, %f1434, 0f3EE66666; + bra.uni BB0_71; + +BB0_68: + setp.neu.f32 %p96, %f225, 0f7F800000; + @%p96 bra BB0_71; + + selp.f32 %f1491, 0fFF800000, 0f7F800000, %p5; + +BB0_71: + setp.eq.f32 %p97, %f1434, 0f3F800000; + selp.f32 %f237, 0f3F800000, %f1491, %p97; + abs.f32 %f238, %f1433; + setp.lt.f32 %p98, %f238, 0f00800000; + mul.f32 %f1178, %f238, 0f4B800000; + selp.f32 %f1179, 0fC3170000, 0fC2FE0000, %p98; + selp.f32 %f1180, %f1178, %f238, %p98; + mov.b32 %r161, %f1180; + and.b32 %r162, %r161, 8388607; + or.b32 %r163, %r162, 1065353216; + mov.b32 %f1181, %r163; + shr.u32 %r164, %r161, 23; + cvt.rn.f32.u32 %f1182, %r164; + add.f32 %f1183, %f1179, %f1182; + setp.gt.f32 %p99, %f1181, 0f3FB504F3; + mul.f32 %f1184, %f1181, 0f3F000000; + add.f32 %f1185, %f1183, 0f3F800000; + selp.f32 %f1186, %f1184, %f1181, %p99; + selp.f32 %f1187, %f1185, %f1183, %p99; + add.f32 %f1188, %f1186, 0fBF800000; + add.f32 %f1177, %f1186, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1176,%f1177; + // inline asm + add.f32 %f1189, %f1188, %f1188; + mul.f32 %f1190, %f1176, %f1189; + mul.f32 %f1191, %f1190, %f1190; + fma.rn.f32 %f1194, %f1115, %f1191, %f1114; + fma.rn.f32 %f1196, %f1194, %f1191, %f1117; + mul.rn.f32 %f1197, %f1196, %f1191; + mul.rn.f32 %f1198, %f1197, %f1190; + sub.f32 %f1199, %f1188, %f1190; + neg.f32 %f1200, %f1190; + add.f32 %f1201, %f1199, %f1199; + fma.rn.f32 %f1202, %f1200, %f1188, %f1201; + mul.rn.f32 %f1203, %f1176, %f1202; + add.f32 %f1204, %f1198, %f1190; + sub.f32 %f1205, %f1190, %f1204; + add.f32 %f1206, %f1198, %f1205; + add.f32 %f1207, %f1203, %f1206; + add.f32 %f1208, %f1204, %f1207; + sub.f32 %f1209, %f1204, %f1208; + add.f32 %f1210, %f1207, %f1209; + mul.rn.f32 %f1212, %f1187, %f1133; + mul.rn.f32 %f1214, %f1187, %f1135; + add.f32 %f1215, %f1212, %f1208; + sub.f32 %f1216, %f1212, %f1215; + add.f32 %f1217, %f1208, %f1216; + add.f32 %f1218, %f1210, %f1217; + add.f32 %f1219, %f1214, %f1218; + add.f32 %f1220, %f1215, %f1219; + sub.f32 %f1221, %f1215, %f1220; + add.f32 %f1222, %f1219, %f1221; + mul.rn.f32 %f1224, %f1145, %f1220; + neg.f32 %f1225, %f1224; + fma.rn.f32 %f1226, %f1145, %f1220, %f1225; + fma.rn.f32 %f1227, %f1145, %f1222, %f1226; + fma.rn.f32 %f1229, %f1150, %f1220, %f1227; + add.rn.f32 %f1230, %f1224, %f1229; + neg.f32 %f1231, %f1230; + add.rn.f32 %f1232, %f1224, %f1231; + add.rn.f32 %f1233, %f1232, %f1229; + mov.b32 %r165, %f1230; + setp.eq.s32 %p100, %r165, 1118925336; + add.s32 %r166, %r165, -1; + mov.b32 %f1234, %r166; + add.f32 %f1235, %f1233, 0f37000000; + selp.f32 %f1236, %f1234, %f1230, %p100; + selp.f32 %f239, %f1235, %f1233, %p100; + mul.f32 %f1237, %f1236, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1238, %f1237; + fma.rn.f32 %f1240, %f1238, %f1161, %f1236; + fma.rn.f32 %f1242, %f1238, %f1163, %f1240; + mul.f32 %f1243, %f1242, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1244, %f1243; + add.f32 %f1245, %f1238, 0f00000000; + ex2.approx.f32 %f1246, %f1245; + mul.f32 %f1247, %f1244, %f1246; + setp.lt.f32 %p101, %f1236, 0fC2D20000; + selp.f32 %f1248, 0f00000000, %f1247, %p101; + setp.gt.f32 %p102, %f1236, 0f42D20000; + selp.f32 %f1492, 0f7F800000, %f1248, %p102; + setp.eq.f32 %p103, %f1492, 0f7F800000; + @%p103 bra BB0_73; + + fma.rn.f32 %f1492, %f1492, %f239, %f1492; + +BB0_73: + setp.lt.f32 %p104, %f1433, 0f00000000; + and.pred %p6, %p104, %p89; + mov.b32 %r167, %f1492; + xor.b32 %r168, %r167, -2147483648; + mov.b32 %f1249, %r168; + selp.f32 %f1494, %f1249, %f1492, %p6; + setp.eq.f32 %p106, %f1433, 0f00000000; + @%p106 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f1252, %f1433, %f1433; + selp.f32 %f1494, %f1252, 0f00000000, %p89; + bra.uni BB0_77; + +BB0_74: + setp.geu.f32 %p107, %f1433, 0f00000000; + @%p107 bra BB0_77; + + cvt.rzi.f32.f32 %f1251, %f1145; + setp.neu.f32 %p108, %f1251, 0f3EE66666; + selp.f32 %f1494, 0f7FFFFFFF, %f1494, %p108; + +BB0_77: + add.f32 %f1253, %f238, 0f3EE66666; + mov.b32 %r169, %f1253; + setp.lt.s32 %p110, %r169, 2139095040; + @%p110 bra BB0_82; + + setp.gtu.f32 %p111, %f238, 0f7F800000; + @%p111 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f1494, %f1433, 0f3EE66666; + bra.uni BB0_82; + +BB0_79: + setp.neu.f32 %p112, %f238, 0f7F800000; + @%p112 bra BB0_82; + + selp.f32 %f1494, 0fFF800000, 0f7F800000, %p6; + +BB0_82: + setp.eq.f32 %p113, %f1433, 0f3F800000; + selp.f32 %f250, 0f3F800000, %f1494, %p113; + abs.f32 %f251, %f1432; + setp.lt.f32 %p114, %f251, 0f00800000; + mul.f32 %f1256, %f251, 0f4B800000; + selp.f32 %f1257, 0fC3170000, 0fC2FE0000, %p114; + selp.f32 %f1258, %f1256, %f251, %p114; + mov.b32 %r170, %f1258; + and.b32 %r171, %r170, 8388607; + or.b32 %r172, %r171, 1065353216; + mov.b32 %f1259, %r172; + shr.u32 %r173, %r170, 23; + cvt.rn.f32.u32 %f1260, %r173; + add.f32 %f1261, %f1257, %f1260; + setp.gt.f32 %p115, %f1259, 0f3FB504F3; + mul.f32 %f1262, %f1259, 0f3F000000; + add.f32 %f1263, %f1261, 0f3F800000; + selp.f32 %f1264, %f1262, %f1259, %p115; + selp.f32 %f1265, %f1263, %f1261, %p115; + add.f32 %f1266, %f1264, 0fBF800000; + add.f32 %f1255, %f1264, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1254,%f1255; + // inline asm + add.f32 %f1267, %f1266, %f1266; + mul.f32 %f1268, %f1254, %f1267; + mul.f32 %f1269, %f1268, %f1268; + fma.rn.f32 %f1272, %f1115, %f1269, %f1114; + fma.rn.f32 %f1274, %f1272, %f1269, %f1117; + mul.rn.f32 %f1275, %f1274, %f1269; + mul.rn.f32 %f1276, %f1275, %f1268; + sub.f32 %f1277, %f1266, %f1268; + neg.f32 %f1278, %f1268; + add.f32 %f1279, %f1277, %f1277; + fma.rn.f32 %f1280, %f1278, %f1266, %f1279; + mul.rn.f32 %f1281, %f1254, %f1280; + add.f32 %f1282, %f1276, %f1268; + sub.f32 %f1283, %f1268, %f1282; + add.f32 %f1284, %f1276, %f1283; + add.f32 %f1285, %f1281, %f1284; + add.f32 %f1286, %f1282, %f1285; + sub.f32 %f1287, %f1282, %f1286; + add.f32 %f1288, %f1285, %f1287; + mul.rn.f32 %f1290, %f1265, %f1133; + mul.rn.f32 %f1292, %f1265, %f1135; + add.f32 %f1293, %f1290, %f1286; + sub.f32 %f1294, %f1290, %f1293; + add.f32 %f1295, %f1286, %f1294; + add.f32 %f1296, %f1288, %f1295; + add.f32 %f1297, %f1292, %f1296; + add.f32 %f1298, %f1293, %f1297; + sub.f32 %f1299, %f1293, %f1298; + add.f32 %f1300, %f1297, %f1299; + mul.rn.f32 %f1302, %f1145, %f1298; + neg.f32 %f1303, %f1302; + fma.rn.f32 %f1304, %f1145, %f1298, %f1303; + fma.rn.f32 %f1305, %f1145, %f1300, %f1304; + fma.rn.f32 %f1307, %f1150, %f1298, %f1305; + add.rn.f32 %f1308, %f1302, %f1307; + neg.f32 %f1309, %f1308; + add.rn.f32 %f1310, %f1302, %f1309; + add.rn.f32 %f1311, %f1310, %f1307; + mov.b32 %r174, %f1308; + setp.eq.s32 %p116, %r174, 1118925336; + add.s32 %r175, %r174, -1; + mov.b32 %f1312, %r175; + add.f32 %f1313, %f1311, 0f37000000; + selp.f32 %f1314, %f1312, %f1308, %p116; + selp.f32 %f252, %f1313, %f1311, %p116; + mul.f32 %f1315, %f1314, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1316, %f1315; + fma.rn.f32 %f1318, %f1316, %f1161, %f1314; + fma.rn.f32 %f1320, %f1316, %f1163, %f1318; + mul.f32 %f1321, %f1320, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1322, %f1321; + add.f32 %f1323, %f1316, 0f00000000; + ex2.approx.f32 %f1324, %f1323; + mul.f32 %f1325, %f1322, %f1324; + setp.lt.f32 %p117, %f1314, 0fC2D20000; + selp.f32 %f1326, 0f00000000, %f1325, %p117; + setp.gt.f32 %p118, %f1314, 0f42D20000; + selp.f32 %f1495, 0f7F800000, %f1326, %p118; + setp.eq.f32 %p119, %f1495, 0f7F800000; + @%p119 bra BB0_84; + + fma.rn.f32 %f1495, %f1495, %f252, %f1495; + +BB0_84: + setp.lt.f32 %p120, %f1432, 0f00000000; + and.pred %p7, %p120, %p89; + mov.b32 %r176, %f1495; + xor.b32 %r177, %r176, -2147483648; + mov.b32 %f1327, %r177; + selp.f32 %f1497, %f1327, %f1495, %p7; + setp.eq.f32 %p122, %f1432, 0f00000000; + @%p122 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f1330, %f1432, %f1432; + selp.f32 %f1497, %f1330, 0f00000000, %p89; + bra.uni BB0_88; + +BB0_85: + setp.geu.f32 %p123, %f1432, 0f00000000; + @%p123 bra BB0_88; + + cvt.rzi.f32.f32 %f1329, %f1145; + setp.neu.f32 %p124, %f1329, 0f3EE66666; + selp.f32 %f1497, 0f7FFFFFFF, %f1497, %p124; + +BB0_88: + add.f32 %f1331, %f251, 0f3EE66666; + mov.b32 %r178, %f1331; + setp.lt.s32 %p126, %r178, 2139095040; + @%p126 bra BB0_93; + + setp.gtu.f32 %p127, %f251, 0f7F800000; + @%p127 bra BB0_92; + bra.uni BB0_90; + +BB0_92: + add.f32 %f1497, %f1432, 0f3EE66666; + bra.uni BB0_93; + +BB0_90: + setp.neu.f32 %p128, %f251, 0f7F800000; + @%p128 bra BB0_93; + + selp.f32 %f1497, 0fFF800000, 0f7F800000, %p7; + +BB0_93: + setp.eq.f32 %p129, %f1432, 0f3F800000; + selp.f32 %f1332, 0f3F800000, %f1497, %p129; + cvt.u64.u32 %rd77, %r3; + cvt.u64.u32 %rd76, %r2; + mov.u64 %rd80, image; + cvta.global.u64 %rd75, %rd80; + // inline asm + call (%rd74), _rt_buffer_get_64, (%rd75, %r33, %r34, %rd76, %rd77, %rd16, %rd16); + // inline asm + cvt.sat.f32.f32 %f1333, %f1332; + mul.f32 %f1334, %f1333, 0f437FFD71; + cvt.rzi.u32.f32 %r181, %f1334; + cvt.sat.f32.f32 %f1335, %f250; + mul.f32 %f1336, %f1335, 0f437FFD71; + cvt.rzi.u32.f32 %r182, %f1336; + cvt.sat.f32.f32 %f1337, %f237; + mul.f32 %f1338, %f1337, 0f437FFD71; + cvt.rzi.u32.f32 %r183, %f1338; + cvt.u16.u32 %rs42, %r181; + cvt.u16.u32 %rs43, %r183; + cvt.u16.u32 %rs44, %r182; + mov.u16 %rs45, 255; + st.v4.u8 [%rd74], {%rs42, %rs44, %rs43, %rs45}; + ld.global.u32 %r255, [imageEnabled]; + +BB0_94: + cvt.u64.u32 %rd7, %r2; + cvt.u64.u32 %rd8, %r3; + and.b32 %r184, %r255, 4; + setp.eq.s32 %p130, %r184, 0; + @%p130 bra BB0_98; + + ld.global.u32 %r185, [additive]; + setp.eq.s32 %p131, %r185, 0; + mov.f32 %f1339, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs46, %f1339;} + + // inline asm + @%p131 bra BB0_97; + + mov.u64 %rd93, image_HDR; + cvta.global.u64 %rd82, %rd93; + mov.u32 %r189, 8; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd82, %r33, %r189, %rd7, %rd8, %rd16, %rd16); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd81]; + // inline asm + { cvt.f32.f16 %f1340, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1341, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1342, %rs55;} + + // inline asm + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd82, %r33, %r189, %rd7, %rd8, %rd16, %rd16); + // inline asm + add.f32 %f1343, %f1434, %f1340; + add.f32 %f1344, %f1433, %f1341; + add.f32 %f1345, %f1432, %f1342; + // inline asm + { cvt.rn.f16.f32 %rs52, %f1345;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f1344;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f1343;} + + // inline asm + st.v4.u16 [%rd87], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd100, image_HDR; + cvta.global.u64 %rd95, %rd100; + mov.u32 %r191, 8; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r33, %r191, %rd7, %rd8, %rd16, %rd16); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f1432;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f1433;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f1434;} + + // inline asm + st.v4.u16 [%rd94], {%rs57, %rs58, %rs59, %rs46}; + +BB0_98: + ld.global.u32 %r192, [additive]; + setp.eq.s32 %p132, %r192, 0; + mov.f32 %f1349, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs60, %f1349;} + + // inline asm + @%p132 bra BB0_100; + + mov.u64 %rd113, image_RNM0; + cvta.global.u64 %rd102, %rd113; + mov.u32 %r196, 8; + // inline asm + call (%rd101), _rt_buffer_get_64, (%rd102, %r33, %r196, %rd7, %rd8, %rd16, %rd16); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd101]; + // inline asm + { cvt.f32.f16 %f1350, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1351, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1352, %rs69;} + + // inline asm + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd102, %r33, %r196, %rd7, %rd8, %rd16, %rd16); + // inline asm + add.f32 %f1353, %f1431, %f1350; + add.f32 %f1354, %f1430, %f1351; + add.f32 %f1355, %f1429, %f1352; + // inline asm + { cvt.rn.f16.f32 %rs66, %f1355;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f1354;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f1353;} + + // inline asm + st.v4.u16 [%rd107], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd120, image_RNM0; + cvta.global.u64 %rd115, %rd120; + mov.u32 %r198, 8; + // inline asm + call (%rd114), _rt_buffer_get_64, (%rd115, %r33, %r198, %rd7, %rd8, %rd16, %rd16); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f1429;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f1430;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f1431;} + + // inline asm + st.v4.u16 [%rd114], {%rs71, %rs72, %rs73, %rs60}; + +BB0_101: + ld.global.u32 %r199, [additive]; + setp.eq.s32 %p133, %r199, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f1349;} + + // inline asm + @%p133 bra BB0_103; + + mov.u64 %rd133, image_RNM1; + cvta.global.u64 %rd122, %rd133; + mov.u32 %r203, 8; + // inline asm + call (%rd121), _rt_buffer_get_64, (%rd122, %r33, %r203, %rd7, %rd8, %rd16, %rd16); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd121]; + // inline asm + { cvt.f32.f16 %f1360, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1361, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1362, %rs83;} + + // inline asm + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd122, %r33, %r203, %rd7, %rd8, %rd16, %rd16); + // inline asm + add.f32 %f1363, %f1428, %f1360; + add.f32 %f1364, %f1427, %f1361; + add.f32 %f1365, %f1426, %f1362; + // inline asm + { cvt.rn.f16.f32 %rs80, %f1365;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f1364;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f1363;} + + // inline asm + st.v4.u16 [%rd127], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_104; + +BB0_103: + mov.u64 %rd140, image_RNM1; + cvta.global.u64 %rd135, %rd140; + mov.u32 %r205, 8; + // inline asm + call (%rd134), _rt_buffer_get_64, (%rd135, %r33, %r205, %rd7, %rd8, %rd16, %rd16); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f1426;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f1427;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f1428;} + + // inline asm + st.v4.u16 [%rd134], {%rs85, %rs86, %rs87, %rs74}; + +BB0_104: + ld.global.u32 %r206, [additive]; + setp.eq.s32 %p134, %r206, 0; + // inline asm + { cvt.rn.f16.f32 %rs88, %f1349;} + + // inline asm + @%p134 bra BB0_106; + + mov.u64 %rd153, image_RNM2; + cvta.global.u64 %rd142, %rd153; + mov.u32 %r210, 8; + // inline asm + call (%rd141), _rt_buffer_get_64, (%rd142, %r33, %r210, %rd7, %rd8, %rd16, %rd16); + // inline asm + ld.v4.u16 {%rs95, %rs96, %rs97, %rs98}, [%rd141]; + // inline asm + { cvt.f32.f16 %f1370, %rs95;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1371, %rs96;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1372, %rs97;} + + // inline asm + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd142, %r33, %r210, %rd7, %rd8, %rd16, %rd16); + // inline asm + add.f32 %f1373, %f1425, %f1370; + add.f32 %f1374, %f1424, %f1371; + add.f32 %f1375, %f1423, %f1372; + // inline asm + { cvt.rn.f16.f32 %rs94, %f1375;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs93, %f1374;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs92, %f1373;} + + // inline asm + st.v4.u16 [%rd147], {%rs92, %rs93, %rs94, %rs88}; + bra.uni BB0_124; + +BB0_106: + mov.u64 %rd160, image_RNM2; + cvta.global.u64 %rd155, %rd160; + mov.u32 %r212, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r33, %r212, %rd7, %rd8, %rd16, %rd16); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs101, %f1423;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs100, %f1424;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f1425;} + + // inline asm + st.v4.u16 [%rd154], {%rs99, %rs100, %rs101, %rs88}; + +BB0_124: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightRNM.ptx.meta new file mode 100644 index 00000000..7097cc0c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df7afd4e0579111429667094386d99f2 +timeCreated: 1583324482 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightSH.ptx new file mode 100644 index 00000000..3eb90e6c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightSH.ptx @@ -0,0 +1,2382 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 ignoreNormal; +.global .align 1 .b8 localLights[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<136>; + .reg .b16 %rs<158>; + .reg .f32 %f<1395>; + .reg .b32 %r<248>; + .reg .b64 %rd<272>; + + + mov.u64 %rd271, __local_depot0; + cvta.local.u64 %SP, %rd271; + ld.global.v2.u32 {%r29, %r30}, [pixelID]; + cvt.u64.u32 %rd10, %r29; + cvt.u64.u32 %rd11, %r30; + mov.u64 %rd14, uvnormal; + cvta.global.u64 %rd9, %rd14; + mov.u32 %r27, 2; + mov.u32 %r28, 4; + mov.u64 %rd13, 0; + // inline asm + call (%rd8), _rt_buffer_get_64, (%rd9, %r27, %r28, %rd10, %rd11, %rd13, %rd13); + // inline asm + ld.u32 %r1, [%rd8]; + shr.u32 %r33, %r1, 16; + cvt.u16.u32 %rs1, %r33; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r1; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p8, %rs9, 0; + mov.f32 %f1304, 0f00000000; + mov.f32 %f1305, %f1304; + mov.f32 %f1306, %f1304; + @%p8 bra BB0_2; + + ld.u8 %rs10, [%rd8+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f263, %rs12; + div.rn.f32 %f264, %f263, 0f437F0000; + fma.rn.f32 %f265, %f264, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f266, %rs10; + div.rn.f32 %f267, %f266, 0f437F0000; + fma.rn.f32 %f268, %f267, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f269, %rs7; + div.rn.f32 %f270, %f269, 0f437F0000; + fma.rn.f32 %f271, %f270, 0f40000000, 0fBF800000; + mul.f32 %f272, %f268, %f268; + fma.rn.f32 %f273, %f265, %f265, %f272; + fma.rn.f32 %f274, %f271, %f271, %f273; + sqrt.rn.f32 %f275, %f274; + rcp.rn.f32 %f276, %f275; + mul.f32 %f1304, %f265, %f276; + mul.f32 %f1305, %f268, %f276; + mul.f32 %f1306, %f271, %f276; + +BB0_2: + ld.global.v2.u32 {%r34, %r35}, [pixelID]; + ld.global.v2.u32 {%r37, %r38}, [tileInfo]; + add.s32 %r2, %r34, %r37; + add.s32 %r3, %r35, %r38; + setp.eq.f32 %p9, %f1305, 0f00000000; + setp.eq.f32 %p10, %f1304, 0f00000000; + and.pred %p11, %p10, %p9; + setp.eq.f32 %p12, %f1306, 0f00000000; + and.pred %p13, %p11, %p12; + @%p13 bra BB0_104; + bra.uni BB0_3; + +BB0_104: + ld.global.u32 %r247, [imageEnabled]; + and.b32 %r196, %r247, 1; + setp.eq.b32 %p127, %r196, 1; + @!%p127 bra BB0_106; + bra.uni BB0_105; + +BB0_105: + cvt.u64.u32 %rd159, %r2; + cvt.u64.u32 %rd160, %r3; + mov.u64 %rd163, image; + cvta.global.u64 %rd158, %rd163; + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd158, %r27, %r28, %rd159, %rd160, %rd13, %rd13); + // inline asm + mov.u16 %rs90, 0; + st.v4.u8 [%rd157], {%rs90, %rs90, %rs90, %rs90}; + ld.global.u32 %r247, [imageEnabled]; + +BB0_106: + and.b32 %r199, %r247, 8; + setp.eq.s32 %p128, %r199, 0; + @%p128 bra BB0_108; + + cvt.u64.u32 %rd167, %r3; + cvt.u64.u32 %rd166, %r2; + mov.u64 %rd170, image_Mask; + cvta.global.u64 %rd165, %rd170; + // inline asm + call (%rd164), _rt_buffer_get_64, (%rd165, %r27, %r27, %rd166, %rd167, %rd13, %rd13); + // inline asm + mov.f32 %f1268, 0f00000000; + cvt.rzi.u32.f32 %r202, %f1268; + cvt.u16.u32 %rs91, %r202; + mov.u16 %rs92, 0; + st.v2.u8 [%rd164], {%rs91, %rs92}; + ld.global.u32 %r247, [imageEnabled]; + +BB0_108: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r203, %r247, 4; + setp.eq.s32 %p129, %r203, 0; + @%p129 bra BB0_112; + + ld.global.u32 %r204, [additive]; + setp.eq.s32 %p130, %r204, 0; + @%p130 bra BB0_111; + + mov.u64 %rd183, image_HDR; + cvta.global.u64 %rd172, %rd183; + mov.u32 %r208, 8; + // inline asm + call (%rd171), _rt_buffer_get_64, (%rd172, %r27, %r208, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd171]; + // inline asm + { cvt.f32.f16 %f1269, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1270, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1271, %rs101;} + + // inline asm + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd172, %r27, %r208, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1272, %f1269, 0f00000000; + add.f32 %f1273, %f1270, 0f00000000; + add.f32 %f1274, %f1271, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f1274;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f1273;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f1272;} + + // inline asm + mov.u16 %rs103, 0; + st.v4.u16 [%rd177], {%rs96, %rs97, %rs98, %rs103}; + bra.uni BB0_112; + +BB0_3: + ld.global.v2.u32 {%r46, %r47}, [pixelID]; + cvt.u64.u32 %rd17, %r46; + cvt.u64.u32 %rd18, %r47; + mov.u64 %rd26, uvpos; + cvta.global.u64 %rd16, %rd26; + mov.u32 %r43, 12; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r27, %r43, %rd17, %rd18, %rd13, %rd13); + // inline asm + ld.f32 %f9, [%rd15+8]; + ld.f32 %f8, [%rd15+4]; + ld.f32 %f7, [%rd15]; + mul.f32 %f293, %f7, 0f3456BF95; + mul.f32 %f294, %f8, 0f3456BF95; + mul.f32 %f295, %f9, 0f3456BF95; + abs.f32 %f296, %f1304; + div.rn.f32 %f297, %f293, %f296; + abs.f32 %f298, %f1305; + div.rn.f32 %f299, %f294, %f298; + abs.f32 %f300, %f1306; + div.rn.f32 %f301, %f295, %f300; + abs.f32 %f302, %f297; + abs.f32 %f303, %f299; + abs.f32 %f304, %f301; + mov.f32 %f305, 0f38D1B717; + max.f32 %f306, %f302, %f305; + max.f32 %f307, %f303, %f305; + max.f32 %f308, %f304, %f305; + fma.rn.f32 %f10, %f1304, %f306, %f7; + fma.rn.f32 %f11, %f1305, %f307, %f8; + fma.rn.f32 %f12, %f1306, %f308, %f9; + mov.u64 %rd27, localLights; + cvta.global.u64 %rd25, %rd27; + mov.u32 %r44, 1; + mov.u32 %r45, 96; + // inline asm + call (%rd21, %rd22, %rd23, %rd24), _rt_buffer_get_size_64, (%rd25, %r44, %r45); + // inline asm + cvt.u32.u64 %r4, %rd21; + setp.eq.s32 %p14, %r4, 0; + mov.f32 %f1307, 0f00000000; + mov.f32 %f1308, %f1307; + mov.f32 %f1309, %f1307; + mov.f32 %f1310, %f1307; + mov.f32 %f1311, %f1307; + mov.f32 %f1312, %f1307; + mov.f32 %f1313, %f1307; + mov.f32 %f1314, %f1307; + mov.f32 %f1315, %f1307; + mov.f32 %f1316, %f1307; + mov.f32 %f1317, %f1307; + mov.f32 %f1318, %f1307; + mov.f32 %f1319, %f1307; + mov.f32 %f1320, %f1307; + mov.f32 %f1321, %f1307; + mov.f32 %f1322, %f1307; + @%p14 bra BB0_40; + + mov.f32 %f325, 0f40000000; + cvt.rzi.f32.f32 %f326, %f325; + add.f32 %f327, %f326, %f326; + mov.f32 %f328, 0f40800000; + sub.f32 %f329, %f328, %f327; + abs.f32 %f13, %f329; + mul.f32 %f14, %f10, 0f3456BF95; + mul.f32 %f15, %f11, 0f3456BF95; + mul.f32 %f16, %f12, 0f3456BF95; + mov.f32 %f324, 0f00000000; + mov.u32 %r239, 0; + abs.f32 %f520, %f14; + abs.f32 %f521, %f15; + max.f32 %f522, %f520, %f521; + abs.f32 %f523, %f16; + max.f32 %f524, %f522, %f523; + mov.f32 %f1307, %f324; + mov.f32 %f1308, %f324; + mov.f32 %f1309, %f324; + mov.f32 %f1310, %f324; + mov.f32 %f1311, %f324; + mov.f32 %f1312, %f324; + mov.f32 %f1313, %f324; + mov.f32 %f1314, %f324; + mov.f32 %f1315, %f324; + mov.f32 %f1316, %f324; + mov.f32 %f1317, %f324; + mov.f32 %f1318, %f324; + mov.f32 %f1319, %f324; + mov.f32 %f1320, %f324; + mov.f32 %f1321, %f324; + mov.f32 %f1322, %f324; + +BB0_5: + cvt.u64.u32 %rd30, %r239; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd25, %r44, %r45, %rd30, %rd13, %rd13, %rd13); + // inline asm + ld.v4.f32 {%f332, %f333, %f334, %f335}, [%rd28+80]; + ld.v4.f32 {%f336, %f337, %f338, %f339}, [%rd28+64]; + ld.v4.f32 {%f340, %f341, %f342, %f343}, [%rd28+48]; + ld.v4.f32 {%f1326, %f1327, %f1328, %f347}, [%rd28+32]; + ld.v4.f32 {%f348, %f349, %f350, %f351}, [%rd28+16]; + ld.v4.f32 {%f352, %f353, %f354, %f355}, [%rd28]; + mov.b32 %r6, %f335; + sub.f32 %f357, %f353, %f7; + sub.f32 %f358, %f354, %f8; + sub.f32 %f359, %f355, %f9; + mul.f32 %f360, %f358, %f358; + fma.rn.f32 %f361, %f357, %f357, %f360; + fma.rn.f32 %f362, %f359, %f359, %f361; + sqrt.rn.f32 %f59, %f362; + rcp.rn.f32 %f363, %f59; + mul.f32 %f60, %f357, %f363; + mul.f32 %f61, %f358, %f363; + mul.f32 %f62, %f359, %f363; + mul.f32 %f63, %f59, %f351; + abs.f32 %f64, %f63; + setp.lt.f32 %p15, %f64, 0f00800000; + mul.f32 %f364, %f64, 0f4B800000; + selp.f32 %f365, 0fC3170000, 0fC2FE0000, %p15; + selp.f32 %f366, %f364, %f64, %p15; + mov.b32 %r53, %f366; + and.b32 %r54, %r53, 8388607; + or.b32 %r55, %r54, 1065353216; + mov.b32 %f367, %r55; + shr.u32 %r56, %r53, 23; + cvt.rn.f32.u32 %f368, %r56; + add.f32 %f369, %f365, %f368; + setp.gt.f32 %p16, %f367, 0f3FB504F3; + mul.f32 %f370, %f367, 0f3F000000; + add.f32 %f371, %f369, 0f3F800000; + selp.f32 %f372, %f370, %f367, %p16; + selp.f32 %f373, %f371, %f369, %p16; + add.f32 %f374, %f372, 0fBF800000; + add.f32 %f331, %f372, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f330,%f331; + // inline asm + add.f32 %f375, %f374, %f374; + mul.f32 %f376, %f330, %f375; + mul.f32 %f377, %f376, %f376; + mov.f32 %f378, 0f3C4CAF63; + mov.f32 %f379, 0f3B18F0FE; + fma.rn.f32 %f380, %f379, %f377, %f378; + mov.f32 %f381, 0f3DAAAABD; + fma.rn.f32 %f382, %f380, %f377, %f381; + mul.rn.f32 %f383, %f382, %f377; + mul.rn.f32 %f384, %f383, %f376; + sub.f32 %f385, %f374, %f376; + neg.f32 %f386, %f376; + add.f32 %f387, %f385, %f385; + fma.rn.f32 %f388, %f386, %f374, %f387; + mul.rn.f32 %f389, %f330, %f388; + add.f32 %f390, %f384, %f376; + sub.f32 %f391, %f376, %f390; + add.f32 %f392, %f384, %f391; + add.f32 %f393, %f389, %f392; + add.f32 %f394, %f390, %f393; + sub.f32 %f395, %f390, %f394; + add.f32 %f396, %f393, %f395; + mov.f32 %f397, 0f3F317200; + mul.rn.f32 %f398, %f373, %f397; + mov.f32 %f399, 0f35BFBE8E; + mul.rn.f32 %f400, %f373, %f399; + add.f32 %f401, %f398, %f394; + sub.f32 %f402, %f398, %f401; + add.f32 %f403, %f394, %f402; + add.f32 %f404, %f396, %f403; + add.f32 %f405, %f400, %f404; + add.f32 %f406, %f401, %f405; + sub.f32 %f407, %f401, %f406; + add.f32 %f408, %f405, %f407; + mul.rn.f32 %f65, %f328, %f406; + neg.f32 %f410, %f65; + fma.rn.f32 %f411, %f328, %f406, %f410; + fma.rn.f32 %f412, %f328, %f408, %f411; + fma.rn.f32 %f66, %f324, %f406, %f412; + add.rn.f32 %f67, %f65, %f66; + mov.b32 %r57, %f67; + setp.eq.s32 %p1, %r57, 1118925336; + add.s32 %r58, %r57, -1; + mov.b32 %f414, %r58; + selp.f32 %f415, %f414, %f67, %p1; + mul.f32 %f416, %f415, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f417, %f416; + mov.f32 %f418, 0fBF317200; + fma.rn.f32 %f419, %f417, %f418, %f415; + mov.f32 %f420, 0fB5BFBE8E; + fma.rn.f32 %f421, %f417, %f420, %f419; + mul.f32 %f422, %f421, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f423, %f422; + add.f32 %f424, %f417, 0f00000000; + ex2.approx.f32 %f425, %f424; + mul.f32 %f426, %f423, %f425; + setp.lt.f32 %p17, %f415, 0fC2D20000; + selp.f32 %f427, 0f00000000, %f426, %p17; + setp.gt.f32 %p18, %f415, 0f42D20000; + selp.f32 %f1323, 0f7F800000, %f427, %p18; + setp.eq.f32 %p19, %f1323, 0f7F800000; + @%p19 bra BB0_7; + + neg.f32 %f428, %f67; + add.rn.f32 %f429, %f65, %f428; + add.rn.f32 %f430, %f429, %f66; + add.f32 %f431, %f430, 0f37000000; + selp.f32 %f432, %f431, %f430, %p1; + fma.rn.f32 %f1323, %f1323, %f432, %f1323; + +BB0_7: + setp.lt.f32 %p20, %f63, 0f00000000; + setp.eq.f32 %p21, %f13, 0f3F800000; + and.pred %p2, %p20, %p21; + mov.b32 %r59, %f1323; + xor.b32 %r60, %r59, -2147483648; + mov.b32 %f433, %r60; + selp.f32 %f1325, %f433, %f1323, %p2; + setp.eq.f32 %p22, %f63, 0f00000000; + @%p22 bra BB0_10; + bra.uni BB0_8; + +BB0_10: + add.f32 %f436, %f63, %f63; + selp.f32 %f1325, %f436, 0f00000000, %p21; + bra.uni BB0_11; + +BB0_8: + setp.geu.f32 %p23, %f63, 0f00000000; + @%p23 bra BB0_11; + + cvt.rzi.f32.f32 %f435, %f328; + setp.neu.f32 %p24, %f435, 0f40800000; + selp.f32 %f1325, 0f7FFFFFFF, %f1325, %p24; + +BB0_11: + add.f32 %f437, %f64, 0f40800000; + mov.b32 %r61, %f437; + setp.lt.s32 %p26, %r61, 2139095040; + @%p26 bra BB0_16; + + setp.gtu.f32 %p27, %f64, 0f7F800000; + @%p27 bra BB0_15; + bra.uni BB0_13; + +BB0_15: + add.f32 %f1325, %f63, 0f40800000; + bra.uni BB0_16; + +BB0_13: + setp.neu.f32 %p28, %f64, 0f7F800000; + @%p28 bra BB0_16; + + selp.f32 %f1325, 0fFF800000, 0f7F800000, %p2; + +BB0_16: + mul.f32 %f438, %f59, %f349; + mov.f32 %f1350, 0f3F800000; + sub.f32 %f440, %f1350, %f1325; + setp.eq.f32 %p29, %f63, 0f3F800000; + selp.f32 %f441, 0f00000000, %f440, %p29; + cvt.sat.f32.f32 %f442, %f441; + fma.rn.f32 %f443, %f438, %f438, %f350; + div.rn.f32 %f1329, %f442, %f443; + mul.f32 %f444, %f1305, %f61; + fma.rn.f32 %f445, %f1304, %f60, %f444; + fma.rn.f32 %f446, %f1306, %f62, %f445; + ld.global.u32 %r62, [ignoreNormal]; + setp.eq.s32 %p30, %r62, 0; + selp.f32 %f94, %f446, 0f3F800000, %p30; + mul.f32 %f447, %f94, 0f40800000; + cvt.sat.f32.f32 %f95, %f447; + setp.eq.f32 %p31, %f352, 0f3F800000; + @%p31 bra BB0_22; + bra.uni BB0_17; + +BB0_22: + setp.leu.f32 %p35, %f347, 0f00000000; + @%p35 bra BB0_24; + + mul.f32 %f478, %f332, %f60; + mul.f32 %f479, %f333, %f61; + neg.f32 %f480, %f479; + sub.f32 %f481, %f480, %f478; + mul.f32 %f482, %f334, %f62; + sub.f32 %f483, %f481, %f482; + setp.gt.f32 %p36, %f483, 0f00000000; + selp.f32 %f484, 0f3F800000, 0f00000000, %p36; + mul.f32 %f485, %f341, %f61; + fma.rn.f32 %f486, %f340, %f60, %f485; + mul.f32 %f487, %f337, %f61; + fma.rn.f32 %f488, %f336, %f60, %f487; + fma.rn.f32 %f489, %f342, %f62, %f486; + fma.rn.f32 %f490, %f338, %f62, %f488; + fma.rn.f32 %f474, %f343, %f489, 0f3F000000; + fma.rn.f32 %f475, %f343, %f490, 0f3F000000; + cvt.rzi.s32.f32 %r66, %f347; + mov.f32 %f477, 0f00000000; + // inline asm + call (%f470, %f471, %f472, %f473), _rt_texture_get_f_id, (%r66, %r27, %f474, %f475, %f477, %f477); + // inline asm + mul.f32 %f491, %f484, %f470; + mul.f32 %f492, %f484, %f471; + mul.f32 %f493, %f484, %f472; + mul.f32 %f1326, %f1326, %f491; + mul.f32 %f1327, %f1327, %f492; + mul.f32 %f1328, %f1328, %f493; + bra.uni BB0_24; + +BB0_17: + setp.eq.f32 %p32, %f352, 0f40000000; + @%p32 bra BB0_20; + bra.uni BB0_18; + +BB0_20: + setp.leu.f32 %p34, %f347, 0f00000000; + @%p34 bra BB0_24; + + mul.f32 %f464, %f341, %f61; + fma.rn.f32 %f465, %f340, %f60, %f464; + mul.f32 %f466, %f337, %f61; + fma.rn.f32 %f467, %f336, %f60, %f466; + mul.f32 %f468, %f333, %f61; + fma.rn.f32 %f469, %f332, %f60, %f468; + fma.rn.f32 %f461, %f342, %f62, %f465; + fma.rn.f32 %f462, %f338, %f62, %f467; + fma.rn.f32 %f463, %f334, %f62, %f469; + cvt.rzi.s32.f32 %r63, %f347; + mov.u32 %r64, 6; + mov.u32 %r65, 0; + // inline asm + call (%f457, %f458, %f459, %f460), _rt_texture_get_base_id, (%r63, %r64, %f461, %f462, %f463, %r65); + // inline asm + mul.f32 %f1326, %f1326, %f457; + mul.f32 %f1327, %f1327, %f458; + mul.f32 %f1328, %f1328, %f459; + bra.uni BB0_24; + +BB0_18: + setp.neu.f32 %p33, %f352, 0f40800000; + @%p33 bra BB0_24; + + mul.f32 %f448, %f332, %f60; + mul.f32 %f449, %f333, %f61; + neg.f32 %f450, %f449; + sub.f32 %f451, %f450, %f448; + mul.f32 %f452, %f334, %f62; + sub.f32 %f453, %f451, %f452; + fma.rn.f32 %f454, %f347, %f453, %f343; + cvt.sat.f32.f32 %f455, %f454; + mul.f32 %f456, %f455, %f455; + mul.f32 %f1329, %f1329, %f456; + +BB0_24: + max.f32 %f509, %f1326, %f1327; + max.f32 %f510, %f509, %f1328; + mul.f32 %f511, %f95, %f1329; + mul.f32 %f512, %f511, %f510; + setp.lt.f32 %p38, %f512, 0f3727C5AC; + mov.pred %p135, -1; + mov.f32 %f1330, 0f00000000; + mov.f32 %f1331, %f1330; + mov.f32 %f1332, %f1330; + mov.f32 %f1333, %f1330; + mov.f32 %f1334, %f1330; + mov.f32 %f1335, %f1330; + mov.f32 %f1336, %f1330; + mov.f32 %f1337, %f1330; + mov.f32 %f1338, %f1330; + mov.f32 %f1339, %f1330; + mov.f32 %f1340, %f1330; + mov.f32 %f1341, %f1330; + mov.f32 %f1342, %f1330; + mov.f32 %f1343, %f1330; + mov.f32 %f1344, %f1330; + @%p38 bra BB0_26; + + cvt.sat.f32.f32 %f513, %f94; + mul.f32 %f514, %f1329, %f513; + mul.f32 %f1330, %f1326, %f514; + mul.f32 %f1331, %f1327, %f514; + mul.f32 %f1332, %f1328, %f514; + mul.f32 %f515, %f1329, 0f3E800000; + mul.f32 %f516, %f95, %f515; + mul.f32 %f1333, %f1326, %f516; + mul.f32 %f1334, %f1327, %f516; + mul.f32 %f1335, %f1328, %f516; + mul.f32 %f1336, %f60, %f1333; + mul.f32 %f1337, %f60, %f1334; + mul.f32 %f1338, %f60, %f1335; + mul.f32 %f1339, %f61, %f1333; + mul.f32 %f1340, %f61, %f1334; + mul.f32 %f1341, %f61, %f1335; + mul.f32 %f1342, %f62, %f1333; + mul.f32 %f1343, %f62, %f1334; + mul.f32 %f1344, %f62, %f1335; + mov.pred %p135, 0; + +BB0_26: + @%p135 bra BB0_39; + + setp.eq.s32 %p40, %r6, 0; + @%p40 bra BB0_38; + + mov.f32 %f1349, 0f00000000; + setp.lt.s32 %p41, %r6, 1; + @%p41 bra BB0_37; + + max.f32 %f138, %f524, %f305; + and.b32 %r8, %r6, 3; + setp.eq.s32 %p42, %r8, 0; + add.u64 %rd35, %SP, 0; + cvta.to.local.u64 %rd2, %rd35; + mov.f32 %f1349, 0f00000000; + mov.u32 %r243, 0; + @%p42 bra BB0_35; + + setp.eq.s32 %p43, %r8, 1; + mov.f32 %f1346, 0f00000000; + mov.u32 %r241, 0; + @%p43 bra BB0_34; + + setp.eq.s32 %p44, %r8, 2; + mov.f32 %f1345, 0f00000000; + mov.u32 %r240, 0; + @%p44 bra BB0_33; + + sub.f32 %f536, %f353, %f348; + sub.f32 %f537, %f354, %f348; + sub.f32 %f538, %f355, %f348; + sub.f32 %f539, %f536, %f7; + sub.f32 %f540, %f537, %f8; + sub.f32 %f541, %f538, %f9; + mul.f32 %f542, %f540, %f540; + fma.rn.f32 %f543, %f539, %f539, %f542; + fma.rn.f32 %f544, %f541, %f541, %f543; + sqrt.rn.f32 %f535, %f544; + rcp.rn.f32 %f545, %f535; + mul.f32 %f531, %f545, %f539; + mul.f32 %f532, %f545, %f540; + mul.f32 %f533, %f545, %f541; + ld.global.u32 %r75, [imageEnabled]; + and.b32 %r76, %r75, 32; + setp.eq.s32 %p45, %r76, 0; + selp.f32 %f546, 0f3F800000, 0f41200000, %p45; + mul.f32 %f534, %f546, %f138; + mov.u32 %r77, 1065353216; + st.local.u32 [%rd2], %r77; + ld.global.u32 %r71, [root]; + // inline asm + call _rt_trace_64, (%r71, %f10, %f11, %f12, %f531, %f532, %f533, %r44, %f534, %f535, %rd35, %r28); + // inline asm + ld.local.f32 %f547, [%rd2]; + add.f32 %f1345, %f547, 0f00000000; + mov.u32 %r240, %r44; + +BB0_33: + cvt.rn.f32.s32 %f556, %r240; + mul.f32 %f557, %f556, 0f3DD32618; + cvt.rmi.f32.f32 %f558, %f557; + sub.f32 %f559, %f557, %f558; + mul.f32 %f560, %f556, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f561, %f560; + sub.f32 %f562, %f560, %f561; + mul.f32 %f563, %f556, 0f3DC74539; + cvt.rmi.f32.f32 %f564, %f563; + sub.f32 %f565, %f563, %f564; + add.f32 %f566, %f562, 0f4199851F; + add.f32 %f567, %f565, 0f4199851F; + add.f32 %f568, %f559, 0f4199851F; + mul.f32 %f569, %f562, %f567; + fma.rn.f32 %f570, %f559, %f566, %f569; + fma.rn.f32 %f571, %f568, %f565, %f570; + add.f32 %f572, %f559, %f571; + add.f32 %f573, %f562, %f571; + add.f32 %f574, %f565, %f571; + add.f32 %f575, %f572, %f573; + mul.f32 %f576, %f574, %f575; + cvt.rmi.f32.f32 %f577, %f576; + sub.f32 %f578, %f576, %f577; + add.f32 %f579, %f572, %f574; + mul.f32 %f580, %f573, %f579; + cvt.rmi.f32.f32 %f581, %f580; + sub.f32 %f582, %f580, %f581; + add.f32 %f583, %f573, %f574; + mul.f32 %f584, %f572, %f583; + cvt.rmi.f32.f32 %f585, %f584; + sub.f32 %f586, %f584, %f585; + fma.rn.f32 %f587, %f578, 0f40000000, 0fBF800000; + fma.rn.f32 %f588, %f582, 0f40000000, 0fBF800000; + fma.rn.f32 %f589, %f586, 0f40000000, 0fBF800000; + fma.rn.f32 %f590, %f348, %f587, %f353; + fma.rn.f32 %f591, %f348, %f588, %f354; + fma.rn.f32 %f592, %f348, %f589, %f355; + sub.f32 %f593, %f590, %f7; + sub.f32 %f594, %f591, %f8; + sub.f32 %f595, %f592, %f9; + mul.f32 %f596, %f594, %f594; + fma.rn.f32 %f597, %f593, %f593, %f596; + fma.rn.f32 %f598, %f595, %f595, %f597; + sqrt.rn.f32 %f555, %f598; + rcp.rn.f32 %f599, %f555; + mul.f32 %f551, %f599, %f593; + mul.f32 %f552, %f599, %f594; + mul.f32 %f553, %f599, %f595; + ld.global.u32 %r81, [imageEnabled]; + and.b32 %r82, %r81, 32; + setp.eq.s32 %p46, %r82, 0; + selp.f32 %f600, 0f3F800000, 0f41200000, %p46; + mul.f32 %f554, %f600, %f138; + mov.u32 %r83, 1065353216; + st.local.u32 [%rd2], %r83; + ld.global.u32 %r78, [root]; + // inline asm + call _rt_trace_64, (%r78, %f10, %f11, %f12, %f551, %f552, %f553, %r44, %f554, %f555, %rd35, %r28); + // inline asm + ld.local.f32 %f601, [%rd2]; + add.f32 %f1346, %f1345, %f601; + add.s32 %r241, %r240, 1; + +BB0_34: + cvt.rn.f32.s32 %f610, %r241; + mul.f32 %f611, %f610, 0f3DD32618; + cvt.rmi.f32.f32 %f612, %f611; + sub.f32 %f613, %f611, %f612; + mul.f32 %f614, %f610, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f615, %f614; + sub.f32 %f616, %f614, %f615; + mul.f32 %f617, %f610, 0f3DC74539; + cvt.rmi.f32.f32 %f618, %f617; + sub.f32 %f619, %f617, %f618; + add.f32 %f620, %f616, 0f4199851F; + add.f32 %f621, %f619, 0f4199851F; + add.f32 %f622, %f613, 0f4199851F; + mul.f32 %f623, %f616, %f621; + fma.rn.f32 %f624, %f613, %f620, %f623; + fma.rn.f32 %f625, %f622, %f619, %f624; + add.f32 %f626, %f613, %f625; + add.f32 %f627, %f616, %f625; + add.f32 %f628, %f619, %f625; + add.f32 %f629, %f626, %f627; + mul.f32 %f630, %f628, %f629; + cvt.rmi.f32.f32 %f631, %f630; + sub.f32 %f632, %f630, %f631; + add.f32 %f633, %f626, %f628; + mul.f32 %f634, %f627, %f633; + cvt.rmi.f32.f32 %f635, %f634; + sub.f32 %f636, %f634, %f635; + add.f32 %f637, %f627, %f628; + mul.f32 %f638, %f626, %f637; + cvt.rmi.f32.f32 %f639, %f638; + sub.f32 %f640, %f638, %f639; + fma.rn.f32 %f641, %f632, 0f40000000, 0fBF800000; + fma.rn.f32 %f642, %f636, 0f40000000, 0fBF800000; + fma.rn.f32 %f643, %f640, 0f40000000, 0fBF800000; + fma.rn.f32 %f644, %f348, %f641, %f353; + fma.rn.f32 %f645, %f348, %f642, %f354; + fma.rn.f32 %f646, %f348, %f643, %f355; + sub.f32 %f647, %f644, %f7; + sub.f32 %f648, %f645, %f8; + sub.f32 %f649, %f646, %f9; + mul.f32 %f650, %f648, %f648; + fma.rn.f32 %f651, %f647, %f647, %f650; + fma.rn.f32 %f652, %f649, %f649, %f651; + sqrt.rn.f32 %f609, %f652; + rcp.rn.f32 %f653, %f609; + mul.f32 %f605, %f653, %f647; + mul.f32 %f606, %f653, %f648; + mul.f32 %f607, %f653, %f649; + ld.global.u32 %r87, [imageEnabled]; + and.b32 %r88, %r87, 32; + setp.eq.s32 %p47, %r88, 0; + selp.f32 %f654, 0f3F800000, 0f41200000, %p47; + mul.f32 %f608, %f654, %f138; + mov.u32 %r89, 1065353216; + st.local.u32 [%rd2], %r89; + ld.global.u32 %r84, [root]; + mov.u32 %r85, 1; + // inline asm + call _rt_trace_64, (%r84, %f10, %f11, %f12, %f605, %f606, %f607, %r85, %f608, %f609, %rd35, %r28); + // inline asm + ld.local.f32 %f655, [%rd2]; + add.f32 %f1349, %f1346, %f655; + add.s32 %r243, %r241, 1; + +BB0_35: + setp.lt.u32 %p48, %r6, 4; + @%p48 bra BB0_37; + +BB0_36: + cvt.rn.f32.s32 %f688, %r243; + mul.f32 %f689, %f688, 0f3DD32618; + cvt.rmi.f32.f32 %f690, %f689; + sub.f32 %f691, %f689, %f690; + mul.f32 %f692, %f688, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f693, %f692; + sub.f32 %f694, %f692, %f693; + mul.f32 %f695, %f688, 0f3DC74539; + cvt.rmi.f32.f32 %f696, %f695; + sub.f32 %f697, %f695, %f696; + add.f32 %f698, %f694, 0f4199851F; + add.f32 %f699, %f697, 0f4199851F; + add.f32 %f700, %f691, 0f4199851F; + mul.f32 %f701, %f694, %f699; + fma.rn.f32 %f702, %f691, %f698, %f701; + fma.rn.f32 %f703, %f700, %f697, %f702; + add.f32 %f704, %f691, %f703; + add.f32 %f705, %f694, %f703; + add.f32 %f706, %f697, %f703; + add.f32 %f707, %f704, %f705; + mul.f32 %f708, %f706, %f707; + cvt.rmi.f32.f32 %f709, %f708; + sub.f32 %f710, %f708, %f709; + add.f32 %f711, %f704, %f706; + mul.f32 %f712, %f705, %f711; + cvt.rmi.f32.f32 %f713, %f712; + sub.f32 %f714, %f712, %f713; + add.f32 %f715, %f705, %f706; + mul.f32 %f716, %f704, %f715; + cvt.rmi.f32.f32 %f717, %f716; + sub.f32 %f718, %f716, %f717; + fma.rn.f32 %f719, %f710, 0f40000000, 0fBF800000; + fma.rn.f32 %f720, %f714, 0f40000000, 0fBF800000; + fma.rn.f32 %f721, %f718, 0f40000000, 0fBF800000; + fma.rn.f32 %f722, %f348, %f719, %f353; + fma.rn.f32 %f723, %f348, %f720, %f354; + fma.rn.f32 %f724, %f348, %f721, %f355; + sub.f32 %f725, %f722, %f7; + sub.f32 %f726, %f723, %f8; + sub.f32 %f727, %f724, %f9; + mul.f32 %f728, %f726, %f726; + fma.rn.f32 %f729, %f725, %f725, %f728; + fma.rn.f32 %f730, %f727, %f727, %f729; + sqrt.rn.f32 %f663, %f730; + rcp.rn.f32 %f731, %f663; + mul.f32 %f659, %f731, %f725; + mul.f32 %f660, %f731, %f726; + mul.f32 %f661, %f731, %f727; + ld.global.u32 %r102, [imageEnabled]; + and.b32 %r103, %r102, 32; + setp.eq.s32 %p49, %r103, 0; + selp.f32 %f732, 0f3F800000, 0f41200000, %p49; + mul.f32 %f662, %f732, %f138; + mov.u32 %r104, 1065353216; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r90, [root]; + mov.u32 %r100, 1; + // inline asm + call _rt_trace_64, (%r90, %f10, %f11, %f12, %f659, %f660, %f661, %r100, %f662, %f663, %rd35, %r28); + // inline asm + ld.local.f32 %f733, [%rd2]; + add.f32 %f734, %f1349, %f733; + add.s32 %r105, %r243, 1; + cvt.rn.f32.s32 %f735, %r105; + mul.f32 %f736, %f735, 0f3DD32618; + cvt.rmi.f32.f32 %f737, %f736; + sub.f32 %f738, %f736, %f737; + mul.f32 %f739, %f735, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f740, %f739; + sub.f32 %f741, %f739, %f740; + mul.f32 %f742, %f735, 0f3DC74539; + cvt.rmi.f32.f32 %f743, %f742; + sub.f32 %f744, %f742, %f743; + add.f32 %f745, %f741, 0f4199851F; + add.f32 %f746, %f744, 0f4199851F; + add.f32 %f747, %f738, 0f4199851F; + mul.f32 %f748, %f741, %f746; + fma.rn.f32 %f749, %f738, %f745, %f748; + fma.rn.f32 %f750, %f747, %f744, %f749; + add.f32 %f751, %f738, %f750; + add.f32 %f752, %f741, %f750; + add.f32 %f753, %f744, %f750; + add.f32 %f754, %f751, %f752; + mul.f32 %f755, %f753, %f754; + cvt.rmi.f32.f32 %f756, %f755; + sub.f32 %f757, %f755, %f756; + add.f32 %f758, %f751, %f753; + mul.f32 %f759, %f752, %f758; + cvt.rmi.f32.f32 %f760, %f759; + sub.f32 %f761, %f759, %f760; + add.f32 %f762, %f752, %f753; + mul.f32 %f763, %f751, %f762; + cvt.rmi.f32.f32 %f764, %f763; + sub.f32 %f765, %f763, %f764; + fma.rn.f32 %f766, %f757, 0f40000000, 0fBF800000; + fma.rn.f32 %f767, %f761, 0f40000000, 0fBF800000; + fma.rn.f32 %f768, %f765, 0f40000000, 0fBF800000; + fma.rn.f32 %f769, %f348, %f766, %f353; + fma.rn.f32 %f770, %f348, %f767, %f354; + fma.rn.f32 %f771, %f348, %f768, %f355; + sub.f32 %f772, %f769, %f7; + sub.f32 %f773, %f770, %f8; + sub.f32 %f774, %f771, %f9; + mul.f32 %f775, %f773, %f773; + fma.rn.f32 %f776, %f772, %f772, %f775; + fma.rn.f32 %f777, %f774, %f774, %f776; + sqrt.rn.f32 %f671, %f777; + rcp.rn.f32 %f778, %f671; + mul.f32 %f667, %f778, %f772; + mul.f32 %f668, %f778, %f773; + mul.f32 %f669, %f778, %f774; + ld.global.u32 %r106, [imageEnabled]; + and.b32 %r107, %r106, 32; + setp.eq.s32 %p50, %r107, 0; + selp.f32 %f779, 0f3F800000, 0f41200000, %p50; + mul.f32 %f670, %f779, %f138; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r93, [root]; + // inline asm + call _rt_trace_64, (%r93, %f10, %f11, %f12, %f667, %f668, %f669, %r100, %f670, %f671, %rd35, %r28); + // inline asm + ld.local.f32 %f780, [%rd2]; + add.f32 %f781, %f734, %f780; + add.s32 %r108, %r243, 2; + cvt.rn.f32.s32 %f782, %r108; + mul.f32 %f783, %f782, 0f3DD32618; + cvt.rmi.f32.f32 %f784, %f783; + sub.f32 %f785, %f783, %f784; + mul.f32 %f786, %f782, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f787, %f786; + sub.f32 %f788, %f786, %f787; + mul.f32 %f789, %f782, 0f3DC74539; + cvt.rmi.f32.f32 %f790, %f789; + sub.f32 %f791, %f789, %f790; + add.f32 %f792, %f788, 0f4199851F; + add.f32 %f793, %f791, 0f4199851F; + add.f32 %f794, %f785, 0f4199851F; + mul.f32 %f795, %f788, %f793; + fma.rn.f32 %f796, %f785, %f792, %f795; + fma.rn.f32 %f797, %f794, %f791, %f796; + add.f32 %f798, %f785, %f797; + add.f32 %f799, %f788, %f797; + add.f32 %f800, %f791, %f797; + add.f32 %f801, %f798, %f799; + mul.f32 %f802, %f800, %f801; + cvt.rmi.f32.f32 %f803, %f802; + sub.f32 %f804, %f802, %f803; + add.f32 %f805, %f798, %f800; + mul.f32 %f806, %f799, %f805; + cvt.rmi.f32.f32 %f807, %f806; + sub.f32 %f808, %f806, %f807; + add.f32 %f809, %f799, %f800; + mul.f32 %f810, %f798, %f809; + cvt.rmi.f32.f32 %f811, %f810; + sub.f32 %f812, %f810, %f811; + fma.rn.f32 %f813, %f804, 0f40000000, 0fBF800000; + fma.rn.f32 %f814, %f808, 0f40000000, 0fBF800000; + fma.rn.f32 %f815, %f812, 0f40000000, 0fBF800000; + fma.rn.f32 %f816, %f348, %f813, %f353; + fma.rn.f32 %f817, %f348, %f814, %f354; + fma.rn.f32 %f818, %f348, %f815, %f355; + sub.f32 %f819, %f816, %f7; + sub.f32 %f820, %f817, %f8; + sub.f32 %f821, %f818, %f9; + mul.f32 %f822, %f820, %f820; + fma.rn.f32 %f823, %f819, %f819, %f822; + fma.rn.f32 %f824, %f821, %f821, %f823; + sqrt.rn.f32 %f679, %f824; + rcp.rn.f32 %f825, %f679; + mul.f32 %f675, %f825, %f819; + mul.f32 %f676, %f825, %f820; + mul.f32 %f677, %f825, %f821; + ld.global.u32 %r109, [imageEnabled]; + and.b32 %r110, %r109, 32; + setp.eq.s32 %p51, %r110, 0; + selp.f32 %f826, 0f3F800000, 0f41200000, %p51; + mul.f32 %f678, %f826, %f138; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r96, [root]; + // inline asm + call _rt_trace_64, (%r96, %f10, %f11, %f12, %f675, %f676, %f677, %r100, %f678, %f679, %rd35, %r28); + // inline asm + ld.local.f32 %f827, [%rd2]; + add.f32 %f828, %f781, %f827; + add.s32 %r111, %r243, 3; + cvt.rn.f32.s32 %f829, %r111; + mul.f32 %f830, %f829, 0f3DD32618; + cvt.rmi.f32.f32 %f831, %f830; + sub.f32 %f832, %f830, %f831; + mul.f32 %f833, %f829, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f834, %f833; + sub.f32 %f835, %f833, %f834; + mul.f32 %f836, %f829, 0f3DC74539; + cvt.rmi.f32.f32 %f837, %f836; + sub.f32 %f838, %f836, %f837; + add.f32 %f839, %f835, 0f4199851F; + add.f32 %f840, %f838, 0f4199851F; + add.f32 %f841, %f832, 0f4199851F; + mul.f32 %f842, %f835, %f840; + fma.rn.f32 %f843, %f832, %f839, %f842; + fma.rn.f32 %f844, %f841, %f838, %f843; + add.f32 %f845, %f832, %f844; + add.f32 %f846, %f835, %f844; + add.f32 %f847, %f838, %f844; + add.f32 %f848, %f845, %f846; + mul.f32 %f849, %f847, %f848; + cvt.rmi.f32.f32 %f850, %f849; + sub.f32 %f851, %f849, %f850; + add.f32 %f852, %f845, %f847; + mul.f32 %f853, %f846, %f852; + cvt.rmi.f32.f32 %f854, %f853; + sub.f32 %f855, %f853, %f854; + add.f32 %f856, %f846, %f847; + mul.f32 %f857, %f845, %f856; + cvt.rmi.f32.f32 %f858, %f857; + sub.f32 %f859, %f857, %f858; + fma.rn.f32 %f860, %f851, 0f40000000, 0fBF800000; + fma.rn.f32 %f861, %f855, 0f40000000, 0fBF800000; + fma.rn.f32 %f862, %f859, 0f40000000, 0fBF800000; + fma.rn.f32 %f863, %f348, %f860, %f353; + fma.rn.f32 %f864, %f348, %f861, %f354; + fma.rn.f32 %f865, %f348, %f862, %f355; + sub.f32 %f866, %f863, %f7; + sub.f32 %f867, %f864, %f8; + sub.f32 %f868, %f865, %f9; + mul.f32 %f869, %f867, %f867; + fma.rn.f32 %f870, %f866, %f866, %f869; + fma.rn.f32 %f871, %f868, %f868, %f870; + sqrt.rn.f32 %f687, %f871; + rcp.rn.f32 %f872, %f687; + mul.f32 %f683, %f872, %f866; + mul.f32 %f684, %f872, %f867; + mul.f32 %f685, %f872, %f868; + ld.global.u32 %r112, [imageEnabled]; + and.b32 %r113, %r112, 32; + setp.eq.s32 %p52, %r113, 0; + selp.f32 %f873, 0f3F800000, 0f41200000, %p52; + mul.f32 %f686, %f873, %f138; + st.local.u32 [%rd2], %r104; + ld.global.u32 %r99, [root]; + // inline asm + call _rt_trace_64, (%r99, %f10, %f11, %f12, %f683, %f684, %f685, %r100, %f686, %f687, %rd35, %r28); + // inline asm + ld.local.f32 %f874, [%rd2]; + add.f32 %f1349, %f828, %f874; + add.s32 %r243, %r243, 4; + setp.lt.s32 %p53, %r243, %r6; + @%p53 bra BB0_36; + +BB0_37: + cvt.rn.f32.s32 %f875, %r6; + div.rn.f32 %f1350, %f1349, %f875; + +BB0_38: + fma.rn.f32 %f1322, %f1330, %f1350, %f1322; + fma.rn.f32 %f1321, %f1331, %f1350, %f1321; + fma.rn.f32 %f1320, %f1332, %f1350, %f1320; + fma.rn.f32 %f1319, %f1333, %f1350, %f1319; + fma.rn.f32 %f1318, %f1334, %f1350, %f1318; + fma.rn.f32 %f1317, %f1335, %f1350, %f1317; + fma.rn.f32 %f1316, %f1336, %f1350, %f1316; + fma.rn.f32 %f1315, %f1337, %f1350, %f1315; + fma.rn.f32 %f1314, %f1338, %f1350, %f1314; + fma.rn.f32 %f1313, %f1339, %f1350, %f1313; + fma.rn.f32 %f1312, %f1340, %f1350, %f1312; + fma.rn.f32 %f1311, %f1341, %f1350, %f1311; + fma.rn.f32 %f1310, %f1342, %f1350, %f1310; + fma.rn.f32 %f1309, %f1343, %f1350, %f1309; + fma.rn.f32 %f1308, %f1344, %f1350, %f1308; + add.f32 %f1307, %f1307, %f1350; + +BB0_39: + add.s32 %r239, %r239, 1; + setp.lt.u32 %p54, %r239, %r4; + @%p54 bra BB0_5; + +BB0_40: + ld.global.u32 %r245, [imageEnabled]; + and.b32 %r114, %r245, 8; + setp.eq.s32 %p55, %r114, 0; + @%p55 bra BB0_53; + + cvt.sat.f32.f32 %f198, %f1307; + cvt.u64.u32 %rd46, %r3; + cvt.u64.u32 %rd45, %r2; + mov.u64 %rd49, image_Mask; + cvta.global.u64 %rd44, %rd49; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd44, %r27, %r27, %rd45, %rd46, %rd13, %rd13); + // inline asm + mov.f32 %f878, 0f3E68BA2E; + cvt.rzi.f32.f32 %f879, %f878; + fma.rn.f32 %f880, %f879, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f199, %f880; + abs.f32 %f200, %f198; + setp.lt.f32 %p56, %f200, 0f00800000; + mul.f32 %f881, %f200, 0f4B800000; + selp.f32 %f882, 0fC3170000, 0fC2FE0000, %p56; + selp.f32 %f883, %f881, %f200, %p56; + mov.b32 %r117, %f883; + and.b32 %r118, %r117, 8388607; + or.b32 %r119, %r118, 1065353216; + mov.b32 %f884, %r119; + shr.u32 %r120, %r117, 23; + cvt.rn.f32.u32 %f885, %r120; + add.f32 %f886, %f882, %f885; + setp.gt.f32 %p57, %f884, 0f3FB504F3; + mul.f32 %f887, %f884, 0f3F000000; + add.f32 %f888, %f886, 0f3F800000; + selp.f32 %f889, %f887, %f884, %p57; + selp.f32 %f890, %f888, %f886, %p57; + add.f32 %f891, %f889, 0fBF800000; + add.f32 %f877, %f889, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f876,%f877; + // inline asm + add.f32 %f892, %f891, %f891; + mul.f32 %f893, %f876, %f892; + mul.f32 %f894, %f893, %f893; + mov.f32 %f895, 0f3C4CAF63; + mov.f32 %f896, 0f3B18F0FE; + fma.rn.f32 %f897, %f896, %f894, %f895; + mov.f32 %f898, 0f3DAAAABD; + fma.rn.f32 %f899, %f897, %f894, %f898; + mul.rn.f32 %f900, %f899, %f894; + mul.rn.f32 %f901, %f900, %f893; + sub.f32 %f902, %f891, %f893; + neg.f32 %f903, %f893; + add.f32 %f904, %f902, %f902; + fma.rn.f32 %f905, %f903, %f891, %f904; + mul.rn.f32 %f906, %f876, %f905; + add.f32 %f907, %f901, %f893; + sub.f32 %f908, %f893, %f907; + add.f32 %f909, %f901, %f908; + add.f32 %f910, %f906, %f909; + add.f32 %f911, %f907, %f910; + sub.f32 %f912, %f907, %f911; + add.f32 %f913, %f910, %f912; + mov.f32 %f914, 0f3F317200; + mul.rn.f32 %f915, %f890, %f914; + mov.f32 %f916, 0f35BFBE8E; + mul.rn.f32 %f917, %f890, %f916; + add.f32 %f918, %f915, %f911; + sub.f32 %f919, %f915, %f918; + add.f32 %f920, %f911, %f919; + add.f32 %f921, %f913, %f920; + add.f32 %f922, %f917, %f921; + add.f32 %f923, %f918, %f922; + sub.f32 %f924, %f918, %f923; + add.f32 %f925, %f922, %f924; + mov.f32 %f926, 0f3EE8BA2E; + mul.rn.f32 %f927, %f926, %f923; + neg.f32 %f928, %f927; + fma.rn.f32 %f929, %f926, %f923, %f928; + fma.rn.f32 %f930, %f926, %f925, %f929; + mov.f32 %f931, 0f00000000; + fma.rn.f32 %f932, %f931, %f923, %f930; + add.rn.f32 %f933, %f927, %f932; + neg.f32 %f934, %f933; + add.rn.f32 %f935, %f927, %f934; + add.rn.f32 %f936, %f935, %f932; + mov.b32 %r121, %f933; + setp.eq.s32 %p58, %r121, 1118925336; + add.s32 %r122, %r121, -1; + mov.b32 %f937, %r122; + add.f32 %f938, %f936, 0f37000000; + selp.f32 %f939, %f937, %f933, %p58; + selp.f32 %f201, %f938, %f936, %p58; + mul.f32 %f940, %f939, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f941, %f940; + mov.f32 %f942, 0fBF317200; + fma.rn.f32 %f943, %f941, %f942, %f939; + mov.f32 %f944, 0fB5BFBE8E; + fma.rn.f32 %f945, %f941, %f944, %f943; + mul.f32 %f946, %f945, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f947, %f946; + add.f32 %f948, %f941, 0f00000000; + ex2.approx.f32 %f949, %f948; + mul.f32 %f950, %f947, %f949; + setp.lt.f32 %p59, %f939, 0fC2D20000; + selp.f32 %f951, 0f00000000, %f950, %p59; + setp.gt.f32 %p60, %f939, 0f42D20000; + selp.f32 %f1383, 0f7F800000, %f951, %p60; + setp.eq.f32 %p61, %f1383, 0f7F800000; + @%p61 bra BB0_43; + + fma.rn.f32 %f1383, %f1383, %f201, %f1383; + +BB0_43: + setp.lt.f32 %p62, %f198, 0f00000000; + setp.eq.f32 %p63, %f199, 0f3F800000; + and.pred %p4, %p62, %p63; + mov.b32 %r123, %f1383; + xor.b32 %r124, %r123, -2147483648; + mov.b32 %f952, %r124; + selp.f32 %f1385, %f952, %f1383, %p4; + setp.eq.f32 %p64, %f198, 0f00000000; + @%p64 bra BB0_46; + bra.uni BB0_44; + +BB0_46: + add.f32 %f955, %f198, %f198; + selp.f32 %f1385, %f955, 0f00000000, %p63; + bra.uni BB0_47; + +BB0_111: + mov.u64 %rd190, image_HDR; + cvta.global.u64 %rd185, %rd190; + mov.u32 %r210, 8; + // inline asm + call (%rd184), _rt_buffer_get_64, (%rd185, %r27, %r210, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1275, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f1275;} + + // inline asm + mov.u16 %rs105, 0; + st.v4.u16 [%rd184], {%rs104, %rs104, %rs104, %rs105}; + +BB0_112: + ld.global.u32 %r211, [additive]; + setp.eq.s32 %p131, %r211, 0; + @%p131 bra BB0_114; + + mov.u64 %rd203, image_RNM0; + cvta.global.u64 %rd192, %rd203; + mov.u32 %r215, 8; + // inline asm + call (%rd191), _rt_buffer_get_64, (%rd192, %r27, %r215, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd191]; + // inline asm + { cvt.f32.f16 %f1276, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1277, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1278, %rs114;} + + // inline asm + // inline asm + call (%rd197), _rt_buffer_get_64, (%rd192, %r27, %r215, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1279, %f1276, 0f00000000; + add.f32 %f1280, %f1277, 0f00000000; + add.f32 %f1281, %f1278, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f1281;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f1280;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f1279;} + + // inline asm + mov.u16 %rs116, 0; + st.v4.u16 [%rd197], {%rs109, %rs110, %rs111, %rs116}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd210, image_RNM0; + cvta.global.u64 %rd205, %rd210; + mov.u32 %r217, 8; + // inline asm + call (%rd204), _rt_buffer_get_64, (%rd205, %r27, %r217, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1282, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs117, %f1282;} + + // inline asm + mov.u16 %rs118, 0; + st.v4.u16 [%rd204], {%rs117, %rs117, %rs117, %rs118}; + +BB0_115: + ld.global.u32 %r218, [additive]; + setp.eq.s32 %p132, %r218, 0; + @%p132 bra BB0_117; + + mov.u64 %rd223, image_RNM1; + cvta.global.u64 %rd212, %rd223; + mov.u32 %r222, 8; + // inline asm + call (%rd211), _rt_buffer_get_64, (%rd212, %r27, %r222, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs125, %rs126, %rs127, %rs128}, [%rd211]; + // inline asm + { cvt.f32.f16 %f1283, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1284, %rs126;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1285, %rs127;} + + // inline asm + // inline asm + call (%rd217), _rt_buffer_get_64, (%rd212, %r27, %r222, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1286, %f1283, 0f00000000; + add.f32 %f1287, %f1284, 0f00000000; + add.f32 %f1288, %f1285, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f1288;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs123, %f1287;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f1286;} + + // inline asm + mov.u16 %rs129, 0; + st.v4.u16 [%rd217], {%rs122, %rs123, %rs124, %rs129}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd230, image_RNM1; + cvta.global.u64 %rd225, %rd230; + mov.u32 %r224, 8; + // inline asm + call (%rd224), _rt_buffer_get_64, (%rd225, %r27, %r224, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1289, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs130, %f1289;} + + // inline asm + mov.u16 %rs131, 0; + st.v4.u16 [%rd224], {%rs130, %rs130, %rs130, %rs131}; + +BB0_118: + ld.global.u32 %r225, [additive]; + setp.eq.s32 %p133, %r225, 0; + @%p133 bra BB0_120; + + mov.u64 %rd243, image_RNM2; + cvta.global.u64 %rd232, %rd243; + mov.u32 %r229, 8; + // inline asm + call (%rd231), _rt_buffer_get_64, (%rd232, %r27, %r229, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs138, %rs139, %rs140, %rs141}, [%rd231]; + // inline asm + { cvt.f32.f16 %f1290, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1291, %rs139;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1292, %rs140;} + + // inline asm + // inline asm + call (%rd237), _rt_buffer_get_64, (%rd232, %r27, %r229, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1293, %f1290, 0f00000000; + add.f32 %f1294, %f1291, 0f00000000; + add.f32 %f1295, %f1292, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f1295;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs136, %f1294;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f1293;} + + // inline asm + mov.u16 %rs142, 0; + st.v4.u16 [%rd237], {%rs135, %rs136, %rs137, %rs142}; + bra.uni BB0_121; + +BB0_120: + mov.u64 %rd250, image_RNM2; + cvta.global.u64 %rd245, %rd250; + mov.u32 %r231, 8; + // inline asm + call (%rd244), _rt_buffer_get_64, (%rd245, %r27, %r231, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1296, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs143, %f1296;} + + // inline asm + mov.u16 %rs144, 0; + st.v4.u16 [%rd244], {%rs143, %rs143, %rs143, %rs144}; + +BB0_121: + ld.global.u32 %r232, [additive]; + setp.eq.s32 %p134, %r232, 0; + @%p134 bra BB0_123; + + mov.u64 %rd263, image_RNM3; + cvta.global.u64 %rd252, %rd263; + mov.u32 %r236, 8; + // inline asm + call (%rd251), _rt_buffer_get_64, (%rd252, %r27, %r236, %rd6, %rd7, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs151, %rs152, %rs153, %rs154}, [%rd251]; + // inline asm + { cvt.f32.f16 %f1297, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1298, %rs152;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1299, %rs153;} + + // inline asm + // inline asm + call (%rd257), _rt_buffer_get_64, (%rd252, %r27, %r236, %rd6, %rd7, %rd13, %rd13); + // inline asm + add.f32 %f1300, %f1297, 0f00000000; + add.f32 %f1301, %f1298, 0f00000000; + add.f32 %f1302, %f1299, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f1302;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs149, %f1301;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f1300;} + + // inline asm + mov.u16 %rs155, 0; + st.v4.u16 [%rd257], {%rs148, %rs149, %rs150, %rs155}; + bra.uni BB0_124; + +BB0_123: + mov.u64 %rd270, image_RNM3; + cvta.global.u64 %rd265, %rd270; + mov.u32 %r238, 8; + // inline asm + call (%rd264), _rt_buffer_get_64, (%rd265, %r27, %r238, %rd6, %rd7, %rd13, %rd13); + // inline asm + mov.f32 %f1303, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs156, %f1303;} + + // inline asm + mov.u16 %rs157, 0; + st.v4.u16 [%rd264], {%rs156, %rs156, %rs156, %rs157}; + bra.uni BB0_124; + +BB0_44: + setp.geu.f32 %p65, %f198, 0f00000000; + @%p65 bra BB0_47; + + cvt.rzi.f32.f32 %f954, %f926; + setp.neu.f32 %p66, %f954, 0f3EE8BA2E; + selp.f32 %f1385, 0f7FFFFFFF, %f1385, %p66; + +BB0_47: + add.f32 %f956, %f200, 0f3EE8BA2E; + mov.b32 %r125, %f956; + setp.lt.s32 %p68, %r125, 2139095040; + @%p68 bra BB0_52; + + setp.gtu.f32 %p69, %f200, 0f7F800000; + @%p69 bra BB0_51; + bra.uni BB0_49; + +BB0_51: + add.f32 %f1385, %f198, 0f3EE8BA2E; + bra.uni BB0_52; + +BB0_49: + setp.neu.f32 %p70, %f200, 0f7F800000; + @%p70 bra BB0_52; + + selp.f32 %f1385, 0fFF800000, 0f7F800000, %p4; + +BB0_52: + mul.f32 %f957, %f1385, 0f437F0000; + setp.eq.f32 %p71, %f198, 0f3F800000; + selp.f32 %f958, 0f437F0000, %f957, %p71; + cvt.rzi.u32.f32 %r126, %f958; + cvt.u16.u32 %rs14, %r126; + mov.u16 %rs15, 255; + st.v2.u8 [%rd43], {%rs14, %rs15}; + ld.global.u32 %r245, [imageEnabled]; + +BB0_53: + and.b32 %r127, %r245, 1; + setp.eq.b32 %p72, %r127, 1; + @!%p72 bra BB0_88; + bra.uni BB0_54; + +BB0_54: + mov.f32 %f961, 0f3E666666; + cvt.rzi.f32.f32 %f962, %f961; + fma.rn.f32 %f963, %f962, 0fC0000000, 0f3EE66666; + abs.f32 %f212, %f963; + abs.f32 %f213, %f1322; + setp.lt.f32 %p73, %f213, 0f00800000; + mul.f32 %f964, %f213, 0f4B800000; + selp.f32 %f965, 0fC3170000, 0fC2FE0000, %p73; + selp.f32 %f966, %f964, %f213, %p73; + mov.b32 %r128, %f966; + and.b32 %r129, %r128, 8388607; + or.b32 %r130, %r129, 1065353216; + mov.b32 %f967, %r130; + shr.u32 %r131, %r128, 23; + cvt.rn.f32.u32 %f968, %r131; + add.f32 %f969, %f965, %f968; + setp.gt.f32 %p74, %f967, 0f3FB504F3; + mul.f32 %f970, %f967, 0f3F000000; + add.f32 %f971, %f969, 0f3F800000; + selp.f32 %f972, %f970, %f967, %p74; + selp.f32 %f973, %f971, %f969, %p74; + add.f32 %f974, %f972, 0fBF800000; + add.f32 %f960, %f972, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f959,%f960; + // inline asm + add.f32 %f975, %f974, %f974; + mul.f32 %f976, %f959, %f975; + mul.f32 %f977, %f976, %f976; + mov.f32 %f978, 0f3C4CAF63; + mov.f32 %f979, 0f3B18F0FE; + fma.rn.f32 %f980, %f979, %f977, %f978; + mov.f32 %f981, 0f3DAAAABD; + fma.rn.f32 %f982, %f980, %f977, %f981; + mul.rn.f32 %f983, %f982, %f977; + mul.rn.f32 %f984, %f983, %f976; + sub.f32 %f985, %f974, %f976; + neg.f32 %f986, %f976; + add.f32 %f987, %f985, %f985; + fma.rn.f32 %f988, %f986, %f974, %f987; + mul.rn.f32 %f989, %f959, %f988; + add.f32 %f990, %f984, %f976; + sub.f32 %f991, %f976, %f990; + add.f32 %f992, %f984, %f991; + add.f32 %f993, %f989, %f992; + add.f32 %f994, %f990, %f993; + sub.f32 %f995, %f990, %f994; + add.f32 %f996, %f993, %f995; + mov.f32 %f997, 0f3F317200; + mul.rn.f32 %f998, %f973, %f997; + mov.f32 %f999, 0f35BFBE8E; + mul.rn.f32 %f1000, %f973, %f999; + add.f32 %f1001, %f998, %f994; + sub.f32 %f1002, %f998, %f1001; + add.f32 %f1003, %f994, %f1002; + add.f32 %f1004, %f996, %f1003; + add.f32 %f1005, %f1000, %f1004; + add.f32 %f1006, %f1001, %f1005; + sub.f32 %f1007, %f1001, %f1006; + add.f32 %f1008, %f1005, %f1007; + mov.f32 %f1009, 0f3EE66666; + mul.rn.f32 %f1010, %f1009, %f1006; + neg.f32 %f1011, %f1010; + fma.rn.f32 %f1012, %f1009, %f1006, %f1011; + fma.rn.f32 %f1013, %f1009, %f1008, %f1012; + mov.f32 %f1014, 0f00000000; + fma.rn.f32 %f1015, %f1014, %f1006, %f1013; + add.rn.f32 %f1016, %f1010, %f1015; + neg.f32 %f1017, %f1016; + add.rn.f32 %f1018, %f1010, %f1017; + add.rn.f32 %f1019, %f1018, %f1015; + mov.b32 %r132, %f1016; + setp.eq.s32 %p75, %r132, 1118925336; + add.s32 %r133, %r132, -1; + mov.b32 %f1020, %r133; + add.f32 %f1021, %f1019, 0f37000000; + selp.f32 %f1022, %f1020, %f1016, %p75; + selp.f32 %f214, %f1021, %f1019, %p75; + mul.f32 %f1023, %f1022, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1024, %f1023; + mov.f32 %f1025, 0fBF317200; + fma.rn.f32 %f1026, %f1024, %f1025, %f1022; + mov.f32 %f1027, 0fB5BFBE8E; + fma.rn.f32 %f1028, %f1024, %f1027, %f1026; + mul.f32 %f1029, %f1028, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1030, %f1029; + add.f32 %f1031, %f1024, 0f00000000; + ex2.approx.f32 %f1032, %f1031; + mul.f32 %f1033, %f1030, %f1032; + setp.lt.f32 %p76, %f1022, 0fC2D20000; + selp.f32 %f1034, 0f00000000, %f1033, %p76; + setp.gt.f32 %p77, %f1022, 0f42D20000; + selp.f32 %f1386, 0f7F800000, %f1034, %p77; + setp.eq.f32 %p78, %f1386, 0f7F800000; + @%p78 bra BB0_56; + + fma.rn.f32 %f1386, %f1386, %f214, %f1386; + +BB0_56: + setp.lt.f32 %p79, %f1322, 0f00000000; + setp.eq.f32 %p80, %f212, 0f3F800000; + and.pred %p5, %p79, %p80; + mov.b32 %r134, %f1386; + xor.b32 %r135, %r134, -2147483648; + mov.b32 %f1035, %r135; + selp.f32 %f1388, %f1035, %f1386, %p5; + setp.eq.f32 %p81, %f1322, 0f00000000; + @%p81 bra BB0_59; + bra.uni BB0_57; + +BB0_59: + add.f32 %f1038, %f1322, %f1322; + selp.f32 %f1388, %f1038, 0f00000000, %p80; + bra.uni BB0_60; + +BB0_57: + setp.geu.f32 %p82, %f1322, 0f00000000; + @%p82 bra BB0_60; + + cvt.rzi.f32.f32 %f1037, %f1009; + setp.neu.f32 %p83, %f1037, 0f3EE66666; + selp.f32 %f1388, 0f7FFFFFFF, %f1388, %p83; + +BB0_60: + add.f32 %f1039, %f213, 0f3EE66666; + mov.b32 %r136, %f1039; + setp.lt.s32 %p85, %r136, 2139095040; + @%p85 bra BB0_65; + + setp.gtu.f32 %p86, %f213, 0f7F800000; + @%p86 bra BB0_64; + bra.uni BB0_62; + +BB0_64: + add.f32 %f1388, %f1322, 0f3EE66666; + bra.uni BB0_65; + +BB0_62: + setp.neu.f32 %p87, %f213, 0f7F800000; + @%p87 bra BB0_65; + + selp.f32 %f1388, 0fFF800000, 0f7F800000, %p5; + +BB0_65: + setp.eq.f32 %p88, %f1322, 0f3F800000; + selp.f32 %f225, 0f3F800000, %f1388, %p88; + abs.f32 %f226, %f1321; + setp.lt.f32 %p89, %f226, 0f00800000; + mul.f32 %f1042, %f226, 0f4B800000; + selp.f32 %f1043, 0fC3170000, 0fC2FE0000, %p89; + selp.f32 %f1044, %f1042, %f226, %p89; + mov.b32 %r137, %f1044; + and.b32 %r138, %r137, 8388607; + or.b32 %r139, %r138, 1065353216; + mov.b32 %f1045, %r139; + shr.u32 %r140, %r137, 23; + cvt.rn.f32.u32 %f1046, %r140; + add.f32 %f1047, %f1043, %f1046; + setp.gt.f32 %p90, %f1045, 0f3FB504F3; + mul.f32 %f1048, %f1045, 0f3F000000; + add.f32 %f1049, %f1047, 0f3F800000; + selp.f32 %f1050, %f1048, %f1045, %p90; + selp.f32 %f1051, %f1049, %f1047, %p90; + add.f32 %f1052, %f1050, 0fBF800000; + add.f32 %f1041, %f1050, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1040,%f1041; + // inline asm + add.f32 %f1053, %f1052, %f1052; + mul.f32 %f1054, %f1040, %f1053; + mul.f32 %f1055, %f1054, %f1054; + fma.rn.f32 %f1058, %f979, %f1055, %f978; + fma.rn.f32 %f1060, %f1058, %f1055, %f981; + mul.rn.f32 %f1061, %f1060, %f1055; + mul.rn.f32 %f1062, %f1061, %f1054; + sub.f32 %f1063, %f1052, %f1054; + neg.f32 %f1064, %f1054; + add.f32 %f1065, %f1063, %f1063; + fma.rn.f32 %f1066, %f1064, %f1052, %f1065; + mul.rn.f32 %f1067, %f1040, %f1066; + add.f32 %f1068, %f1062, %f1054; + sub.f32 %f1069, %f1054, %f1068; + add.f32 %f1070, %f1062, %f1069; + add.f32 %f1071, %f1067, %f1070; + add.f32 %f1072, %f1068, %f1071; + sub.f32 %f1073, %f1068, %f1072; + add.f32 %f1074, %f1071, %f1073; + mul.rn.f32 %f1076, %f1051, %f997; + mul.rn.f32 %f1078, %f1051, %f999; + add.f32 %f1079, %f1076, %f1072; + sub.f32 %f1080, %f1076, %f1079; + add.f32 %f1081, %f1072, %f1080; + add.f32 %f1082, %f1074, %f1081; + add.f32 %f1083, %f1078, %f1082; + add.f32 %f1084, %f1079, %f1083; + sub.f32 %f1085, %f1079, %f1084; + add.f32 %f1086, %f1083, %f1085; + mul.rn.f32 %f1088, %f1009, %f1084; + neg.f32 %f1089, %f1088; + fma.rn.f32 %f1090, %f1009, %f1084, %f1089; + fma.rn.f32 %f1091, %f1009, %f1086, %f1090; + fma.rn.f32 %f1093, %f1014, %f1084, %f1091; + add.rn.f32 %f1094, %f1088, %f1093; + neg.f32 %f1095, %f1094; + add.rn.f32 %f1096, %f1088, %f1095; + add.rn.f32 %f1097, %f1096, %f1093; + mov.b32 %r141, %f1094; + setp.eq.s32 %p91, %r141, 1118925336; + add.s32 %r142, %r141, -1; + mov.b32 %f1098, %r142; + add.f32 %f1099, %f1097, 0f37000000; + selp.f32 %f1100, %f1098, %f1094, %p91; + selp.f32 %f227, %f1099, %f1097, %p91; + mul.f32 %f1101, %f1100, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1102, %f1101; + fma.rn.f32 %f1104, %f1102, %f1025, %f1100; + fma.rn.f32 %f1106, %f1102, %f1027, %f1104; + mul.f32 %f1107, %f1106, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1108, %f1107; + add.f32 %f1109, %f1102, 0f00000000; + ex2.approx.f32 %f1110, %f1109; + mul.f32 %f1111, %f1108, %f1110; + setp.lt.f32 %p92, %f1100, 0fC2D20000; + selp.f32 %f1112, 0f00000000, %f1111, %p92; + setp.gt.f32 %p93, %f1100, 0f42D20000; + selp.f32 %f1389, 0f7F800000, %f1112, %p93; + setp.eq.f32 %p94, %f1389, 0f7F800000; + @%p94 bra BB0_67; + + fma.rn.f32 %f1389, %f1389, %f227, %f1389; + +BB0_67: + setp.lt.f32 %p95, %f1321, 0f00000000; + and.pred %p6, %p95, %p80; + mov.b32 %r143, %f1389; + xor.b32 %r144, %r143, -2147483648; + mov.b32 %f1113, %r144; + selp.f32 %f1391, %f1113, %f1389, %p6; + setp.eq.f32 %p97, %f1321, 0f00000000; + @%p97 bra BB0_70; + bra.uni BB0_68; + +BB0_70: + add.f32 %f1116, %f1321, %f1321; + selp.f32 %f1391, %f1116, 0f00000000, %p80; + bra.uni BB0_71; + +BB0_68: + setp.geu.f32 %p98, %f1321, 0f00000000; + @%p98 bra BB0_71; + + cvt.rzi.f32.f32 %f1115, %f1009; + setp.neu.f32 %p99, %f1115, 0f3EE66666; + selp.f32 %f1391, 0f7FFFFFFF, %f1391, %p99; + +BB0_71: + add.f32 %f1117, %f226, 0f3EE66666; + mov.b32 %r145, %f1117; + setp.lt.s32 %p101, %r145, 2139095040; + @%p101 bra BB0_76; + + setp.gtu.f32 %p102, %f226, 0f7F800000; + @%p102 bra BB0_75; + bra.uni BB0_73; + +BB0_75: + add.f32 %f1391, %f1321, 0f3EE66666; + bra.uni BB0_76; + +BB0_73: + setp.neu.f32 %p103, %f226, 0f7F800000; + @%p103 bra BB0_76; + + selp.f32 %f1391, 0fFF800000, 0f7F800000, %p6; + +BB0_76: + setp.eq.f32 %p104, %f1321, 0f3F800000; + selp.f32 %f238, 0f3F800000, %f1391, %p104; + abs.f32 %f239, %f1320; + setp.lt.f32 %p105, %f239, 0f00800000; + mul.f32 %f1120, %f239, 0f4B800000; + selp.f32 %f1121, 0fC3170000, 0fC2FE0000, %p105; + selp.f32 %f1122, %f1120, %f239, %p105; + mov.b32 %r146, %f1122; + and.b32 %r147, %r146, 8388607; + or.b32 %r148, %r147, 1065353216; + mov.b32 %f1123, %r148; + shr.u32 %r149, %r146, 23; + cvt.rn.f32.u32 %f1124, %r149; + add.f32 %f1125, %f1121, %f1124; + setp.gt.f32 %p106, %f1123, 0f3FB504F3; + mul.f32 %f1126, %f1123, 0f3F000000; + add.f32 %f1127, %f1125, 0f3F800000; + selp.f32 %f1128, %f1126, %f1123, %p106; + selp.f32 %f1129, %f1127, %f1125, %p106; + add.f32 %f1130, %f1128, 0fBF800000; + add.f32 %f1119, %f1128, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1118,%f1119; + // inline asm + add.f32 %f1131, %f1130, %f1130; + mul.f32 %f1132, %f1118, %f1131; + mul.f32 %f1133, %f1132, %f1132; + fma.rn.f32 %f1136, %f979, %f1133, %f978; + fma.rn.f32 %f1138, %f1136, %f1133, %f981; + mul.rn.f32 %f1139, %f1138, %f1133; + mul.rn.f32 %f1140, %f1139, %f1132; + sub.f32 %f1141, %f1130, %f1132; + neg.f32 %f1142, %f1132; + add.f32 %f1143, %f1141, %f1141; + fma.rn.f32 %f1144, %f1142, %f1130, %f1143; + mul.rn.f32 %f1145, %f1118, %f1144; + add.f32 %f1146, %f1140, %f1132; + sub.f32 %f1147, %f1132, %f1146; + add.f32 %f1148, %f1140, %f1147; + add.f32 %f1149, %f1145, %f1148; + add.f32 %f1150, %f1146, %f1149; + sub.f32 %f1151, %f1146, %f1150; + add.f32 %f1152, %f1149, %f1151; + mul.rn.f32 %f1154, %f1129, %f997; + mul.rn.f32 %f1156, %f1129, %f999; + add.f32 %f1157, %f1154, %f1150; + sub.f32 %f1158, %f1154, %f1157; + add.f32 %f1159, %f1150, %f1158; + add.f32 %f1160, %f1152, %f1159; + add.f32 %f1161, %f1156, %f1160; + add.f32 %f1162, %f1157, %f1161; + sub.f32 %f1163, %f1157, %f1162; + add.f32 %f1164, %f1161, %f1163; + mul.rn.f32 %f1166, %f1009, %f1162; + neg.f32 %f1167, %f1166; + fma.rn.f32 %f1168, %f1009, %f1162, %f1167; + fma.rn.f32 %f1169, %f1009, %f1164, %f1168; + fma.rn.f32 %f1171, %f1014, %f1162, %f1169; + add.rn.f32 %f1172, %f1166, %f1171; + neg.f32 %f1173, %f1172; + add.rn.f32 %f1174, %f1166, %f1173; + add.rn.f32 %f1175, %f1174, %f1171; + mov.b32 %r150, %f1172; + setp.eq.s32 %p107, %r150, 1118925336; + add.s32 %r151, %r150, -1; + mov.b32 %f1176, %r151; + add.f32 %f1177, %f1175, 0f37000000; + selp.f32 %f1178, %f1176, %f1172, %p107; + selp.f32 %f240, %f1177, %f1175, %p107; + mul.f32 %f1179, %f1178, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1180, %f1179; + fma.rn.f32 %f1182, %f1180, %f1025, %f1178; + fma.rn.f32 %f1184, %f1180, %f1027, %f1182; + mul.f32 %f1185, %f1184, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1186, %f1185; + add.f32 %f1187, %f1180, 0f00000000; + ex2.approx.f32 %f1188, %f1187; + mul.f32 %f1189, %f1186, %f1188; + setp.lt.f32 %p108, %f1178, 0fC2D20000; + selp.f32 %f1190, 0f00000000, %f1189, %p108; + setp.gt.f32 %p109, %f1178, 0f42D20000; + selp.f32 %f1392, 0f7F800000, %f1190, %p109; + setp.eq.f32 %p110, %f1392, 0f7F800000; + @%p110 bra BB0_78; + + fma.rn.f32 %f1392, %f1392, %f240, %f1392; + +BB0_78: + setp.lt.f32 %p111, %f1320, 0f00000000; + and.pred %p7, %p111, %p80; + mov.b32 %r152, %f1392; + xor.b32 %r153, %r152, -2147483648; + mov.b32 %f1191, %r153; + selp.f32 %f1394, %f1191, %f1392, %p7; + setp.eq.f32 %p113, %f1320, 0f00000000; + @%p113 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f1194, %f1320, %f1320; + selp.f32 %f1394, %f1194, 0f00000000, %p80; + bra.uni BB0_82; + +BB0_79: + setp.geu.f32 %p114, %f1320, 0f00000000; + @%p114 bra BB0_82; + + cvt.rzi.f32.f32 %f1193, %f1009; + setp.neu.f32 %p115, %f1193, 0f3EE66666; + selp.f32 %f1394, 0f7FFFFFFF, %f1394, %p115; + +BB0_82: + add.f32 %f1195, %f239, 0f3EE66666; + mov.b32 %r154, %f1195; + setp.lt.s32 %p117, %r154, 2139095040; + @%p117 bra BB0_87; + + setp.gtu.f32 %p118, %f239, 0f7F800000; + @%p118 bra BB0_86; + bra.uni BB0_84; + +BB0_86: + add.f32 %f1394, %f1320, 0f3EE66666; + bra.uni BB0_87; + +BB0_84: + setp.neu.f32 %p119, %f239, 0f7F800000; + @%p119 bra BB0_87; + + selp.f32 %f1394, 0fFF800000, 0f7F800000, %p7; + +BB0_87: + setp.eq.f32 %p120, %f1320, 0f3F800000; + selp.f32 %f1196, 0f3F800000, %f1394, %p120; + cvt.u64.u32 %rd53, %r3; + cvt.u64.u32 %rd52, %r2; + mov.u64 %rd56, image; + cvta.global.u64 %rd51, %rd56; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd51, %r27, %r28, %rd52, %rd53, %rd13, %rd13); + // inline asm + cvt.sat.f32.f32 %f1197, %f1196; + mul.f32 %f1198, %f1197, 0f437FFD71; + cvt.rzi.u32.f32 %r157, %f1198; + cvt.sat.f32.f32 %f1199, %f238; + mul.f32 %f1200, %f1199, 0f437FFD71; + cvt.rzi.u32.f32 %r158, %f1200; + cvt.sat.f32.f32 %f1201, %f225; + mul.f32 %f1202, %f1201, 0f437FFD71; + cvt.rzi.u32.f32 %r159, %f1202; + cvt.u16.u32 %rs16, %r157; + cvt.u16.u32 %rs17, %r159; + cvt.u16.u32 %rs18, %r158; + mov.u16 %rs19, 255; + st.v4.u8 [%rd50], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r245, [imageEnabled]; + +BB0_88: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r160, %r245, 4; + setp.eq.s32 %p121, %r160, 0; + @%p121 bra BB0_92; + + ld.global.u32 %r161, [additive]; + setp.eq.s32 %p122, %r161, 0; + mov.f32 %f1203, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs20, %f1203;} + + // inline asm + @%p122 bra BB0_91; + + mov.u64 %rd69, image_HDR; + cvta.global.u64 %rd58, %rd69; + mov.u32 %r165, 8; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd58, %r27, %r165, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd57]; + // inline asm + { cvt.f32.f16 %f1204, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1205, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1206, %rs29;} + + // inline asm + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd58, %r27, %r165, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1207, %f1322, %f1204; + add.f32 %f1208, %f1321, %f1205; + add.f32 %f1209, %f1320, %f1206; + // inline asm + { cvt.rn.f16.f32 %rs26, %f1209;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f1208;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f1207;} + + // inline asm + st.v4.u16 [%rd63], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_92; + +BB0_91: + mov.u64 %rd76, image_HDR; + cvta.global.u64 %rd71, %rd76; + mov.u32 %r167, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r27, %r167, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f1320;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f1321;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f1322;} + + // inline asm + st.v4.u16 [%rd70], {%rs31, %rs32, %rs33, %rs20}; + +BB0_92: + mov.f32 %f1214, 0f34000000; + max.f32 %f1215, %f1319, %f1214; + div.rn.f32 %f1216, %f1316, %f1215; + max.f32 %f1217, %f1318, %f1214; + div.rn.f32 %f1218, %f1315, %f1217; + max.f32 %f1219, %f1317, %f1214; + div.rn.f32 %f1220, %f1314, %f1219; + fma.rn.f32 %f251, %f1216, 0f3F000000, 0f3F000000; + fma.rn.f32 %f252, %f1218, 0f3F000000, 0f3F000000; + fma.rn.f32 %f253, %f1220, 0f3F000000, 0f3F000000; + div.rn.f32 %f1221, %f1313, %f1215; + div.rn.f32 %f1222, %f1312, %f1217; + div.rn.f32 %f1223, %f1311, %f1219; + fma.rn.f32 %f254, %f1221, 0f3F000000, 0f3F000000; + fma.rn.f32 %f255, %f1222, 0f3F000000, 0f3F000000; + fma.rn.f32 %f256, %f1223, 0f3F000000, 0f3F000000; + div.rn.f32 %f1224, %f1310, %f1215; + div.rn.f32 %f1225, %f1309, %f1217; + div.rn.f32 %f1226, %f1308, %f1219; + fma.rn.f32 %f257, %f1224, 0f3F000000, 0f3F000000; + fma.rn.f32 %f258, %f1225, 0f3F000000, 0f3F000000; + fma.rn.f32 %f259, %f1226, 0f3F000000, 0f3F000000; + ld.global.u32 %r168, [additive]; + setp.eq.s32 %p123, %r168, 0; + mov.f32 %f1213, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f1213;} + + // inline asm + @%p123 bra BB0_94; + + mov.u64 %rd89, image_RNM0; + cvta.global.u64 %rd78, %rd89; + mov.u32 %r172, 8; + // inline asm + call (%rd77), _rt_buffer_get_64, (%rd78, %r27, %r172, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd77]; + // inline asm + { cvt.f32.f16 %f1227, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1228, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1229, %rs43;} + + // inline asm + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd78, %r27, %r172, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1230, %f1319, %f1227; + add.f32 %f1231, %f1318, %f1228; + add.f32 %f1232, %f1317, %f1229; + // inline asm + { cvt.rn.f16.f32 %rs40, %f1232;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f1231;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f1230;} + + // inline asm + st.v4.u16 [%rd83], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd96, image_RNM0; + cvta.global.u64 %rd91, %rd96; + mov.u32 %r174, 8; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r27, %r174, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f1317;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f1318;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f1319;} + + // inline asm + st.v4.u16 [%rd90], {%rs45, %rs46, %rs47, %rs34}; + +BB0_95: + ld.global.u32 %r175, [additive]; + setp.eq.s32 %p124, %r175, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f1213;} + + // inline asm + @%p124 bra BB0_97; + + mov.u64 %rd109, image_RNM1; + cvta.global.u64 %rd98, %rd109; + mov.u32 %r179, 8; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd98, %r27, %r179, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd97]; + // inline asm + { cvt.f32.f16 %f1237, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1238, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1239, %rs57;} + + // inline asm + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd98, %r27, %r179, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1240, %f251, %f1237; + add.f32 %f1241, %f252, %f1238; + add.f32 %f1242, %f253, %f1239; + // inline asm + { cvt.rn.f16.f32 %rs54, %f1242;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f1241;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f1240;} + + // inline asm + st.v4.u16 [%rd103], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd116, image_RNM1; + cvta.global.u64 %rd111, %rd116; + mov.u32 %r181, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r27, %r181, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs61, %f253;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs60, %f252;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f251;} + + // inline asm + st.v4.u16 [%rd110], {%rs59, %rs60, %rs61, %rs48}; + +BB0_98: + ld.global.u32 %r182, [additive]; + setp.eq.s32 %p125, %r182, 0; + // inline asm + { cvt.rn.f16.f32 %rs62, %f1213;} + + // inline asm + @%p125 bra BB0_100; + + mov.u64 %rd129, image_RNM2; + cvta.global.u64 %rd118, %rd129; + mov.u32 %r186, 8; + // inline asm + call (%rd117), _rt_buffer_get_64, (%rd118, %r27, %r186, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs69, %rs70, %rs71, %rs72}, [%rd117]; + // inline asm + { cvt.f32.f16 %f1247, %rs69;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1248, %rs70;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1249, %rs71;} + + // inline asm + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd118, %r27, %r186, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1250, %f254, %f1247; + add.f32 %f1251, %f255, %f1248; + add.f32 %f1252, %f256, %f1249; + // inline asm + { cvt.rn.f16.f32 %rs68, %f1252;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs67, %f1251;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs66, %f1250;} + + // inline asm + st.v4.u16 [%rd123], {%rs66, %rs67, %rs68, %rs62}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd136, image_RNM2; + cvta.global.u64 %rd131, %rd136; + mov.u32 %r188, 8; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r27, %r188, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f256;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs74, %f255;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f254;} + + // inline asm + st.v4.u16 [%rd130], {%rs73, %rs74, %rs75, %rs62}; + +BB0_101: + ld.global.u32 %r189, [additive]; + setp.eq.s32 %p126, %r189, 0; + // inline asm + { cvt.rn.f16.f32 %rs76, %f1213;} + + // inline asm + @%p126 bra BB0_103; + + mov.u64 %rd149, image_RNM3; + cvta.global.u64 %rd138, %rd149; + mov.u32 %r193, 8; + // inline asm + call (%rd137), _rt_buffer_get_64, (%rd138, %r27, %r193, %rd4, %rd5, %rd13, %rd13); + // inline asm + ld.v4.u16 {%rs83, %rs84, %rs85, %rs86}, [%rd137]; + // inline asm + { cvt.f32.f16 %f1257, %rs83;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1258, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1259, %rs85;} + + // inline asm + // inline asm + call (%rd143), _rt_buffer_get_64, (%rd138, %r27, %r193, %rd4, %rd5, %rd13, %rd13); + // inline asm + add.f32 %f1260, %f257, %f1257; + add.f32 %f1261, %f258, %f1258; + add.f32 %f1262, %f259, %f1259; + // inline asm + { cvt.rn.f16.f32 %rs82, %f1262;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f1261;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs80, %f1260;} + + // inline asm + st.v4.u16 [%rd143], {%rs80, %rs81, %rs82, %rs76}; + bra.uni BB0_124; + +BB0_103: + mov.u64 %rd156, image_RNM3; + cvta.global.u64 %rd151, %rd156; + mov.u32 %r195, 8; + // inline asm + call (%rd150), _rt_buffer_get_64, (%rd151, %r27, %r195, %rd4, %rd5, %rd13, %rd13); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f259;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f258;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f257;} + + // inline asm + st.v4.u16 [%rd150], {%rs87, %rs88, %rs89, %rs76}; + +BB0_124: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightSH.ptx.meta new file mode 100644 index 00000000..50f3cee0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmBatchPointLightSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ae9a4cb4257fb4b4399e1bb8d650eb34 +timeCreated: 1583324482 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLight.ptx new file mode 100644 index 00000000..85c60992 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLight.ptx @@ -0,0 +1,1568 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .b8 lightConeDir[12]; +.global .align 8 .b8 lightCone[8]; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12lightConeDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9lightConeE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12lightConeDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9lightConeE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12lightConeDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9lightConeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12lightConeDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9lightConeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12lightConeDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9lightConeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<113>; + .reg .b16 %rs<76>; + .reg .f32 %f<773>; + .reg .b32 %r<167>; + .reg .b64 %rd<150>; + + + mov.u64 %rd149, __local_depot0; + cvta.local.u64 %SP, %rd149; + ld.global.v2.u32 {%r28, %r29}, [pixelID]; + cvt.u64.u32 %rd12, %r28; + cvt.u64.u32 %rd13, %r29; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r26, 2; + mov.u32 %r27, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r26, %r27, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r32, %r1, 16; + cvt.u16.u32 %rs1, %r32; + and.b16 %rs4, %rs1, 255; + cvt.u16.u32 %rs5, %r1; + or.b16 %rs6, %rs5, %rs4; + setp.eq.s16 %p6, %rs6, 0; + mov.f32 %f749, 0f00000000; + mov.f32 %f750, %f749; + mov.f32 %f751, %f749; + @%p6 bra BB0_2; + + ld.u8 %rs7, [%rd10+1]; + and.b16 %rs9, %rs5, 255; + cvt.rn.f32.u16 %f105, %rs9; + div.rn.f32 %f106, %f105, 0f437F0000; + fma.rn.f32 %f107, %f106, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f108, %rs7; + div.rn.f32 %f109, %f108, 0f437F0000; + fma.rn.f32 %f110, %f109, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f111, %rs4; + div.rn.f32 %f112, %f111, 0f437F0000; + fma.rn.f32 %f113, %f112, 0f40000000, 0fBF800000; + mul.f32 %f114, %f110, %f110; + fma.rn.f32 %f115, %f107, %f107, %f114; + fma.rn.f32 %f116, %f113, %f113, %f115; + sqrt.rn.f32 %f117, %f116; + rcp.rn.f32 %f118, %f117; + mul.f32 %f749, %f107, %f118; + mul.f32 %f750, %f110, %f118; + mul.f32 %f751, %f113, %f118; + +BB0_2: + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + ld.global.v2.u32 {%r36, %r37}, [tileInfo]; + add.s32 %r2, %r33, %r36; + add.s32 %r3, %r34, %r37; + setp.eq.f32 %p7, %f750, 0f00000000; + setp.eq.f32 %p8, %f749, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f751, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_85; + bra.uni BB0_3; + +BB0_85: + ld.global.u32 %r166, [imageEnabled]; + and.b32 %r141, %r166, 1; + setp.eq.b32 %p108, %r141, 1; + @!%p108 bra BB0_87; + bra.uni BB0_86; + +BB0_86: + cvt.u64.u32 %rd110, %r2; + cvt.u64.u32 %rd111, %r3; + mov.u64 %rd114, image; + cvta.global.u64 %rd109, %rd114; + // inline asm + call (%rd108), _rt_buffer_get_64, (%rd109, %r26, %r27, %rd110, %rd111, %rd15, %rd15); + // inline asm + mov.u16 %rs57, 0; + st.v4.u8 [%rd108], {%rs57, %rs57, %rs57, %rs57}; + ld.global.u32 %r166, [imageEnabled]; + +BB0_87: + and.b32 %r144, %r166, 8; + setp.eq.s32 %p109, %r144, 0; + @%p109 bra BB0_89; + + cvt.u64.u32 %rd117, %r2; + cvt.u64.u32 %rd118, %r3; + mov.u64 %rd121, image_Mask; + cvta.global.u64 %rd116, %rd121; + // inline asm + call (%rd115), _rt_buffer_get_64, (%rd116, %r26, %r26, %rd117, %rd118, %rd15, %rd15); + // inline asm + mov.f32 %f690, 0f00000000; + cvt.rzi.u32.f32 %r147, %f690; + cvt.u16.u32 %rs58, %r147; + mov.u16 %rs59, 0; + st.v2.u8 [%rd115], {%rs58, %rs59}; + ld.global.u32 %r166, [imageEnabled]; + +BB0_89: + and.b32 %r148, %r166, 4; + setp.eq.s32 %p110, %r148, 0; + @%p110 bra BB0_93; + + ld.global.u32 %r149, [additive]; + setp.eq.s32 %p111, %r149, 0; + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + @%p111 bra BB0_92; + + mov.u64 %rd134, image_HDR; + cvta.global.u64 %rd123, %rd134; + mov.u32 %r153, 8; + // inline asm + call (%rd122), _rt_buffer_get_64, (%rd123, %r26, %r153, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs66, %rs67, %rs68, %rs69}, [%rd122]; + // inline asm + { cvt.f32.f16 %f691, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f692, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f693, %rs68;} + + // inline asm + // inline asm + call (%rd128), _rt_buffer_get_64, (%rd123, %r26, %r153, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f694, %f691, 0f00000000; + add.f32 %f695, %f692, 0f00000000; + add.f32 %f696, %f693, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs65, %f696;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f695;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f694;} + + // inline asm + mov.u16 %rs70, 0; + st.v4.u16 [%rd128], {%rs63, %rs64, %rs65, %rs70}; + bra.uni BB0_93; + +BB0_3: + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd19, %r43; + cvt.u64.u32 %rd20, %r44; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r42, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r26, %r42, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f7, [lightPos]; + ld.f32 %f12, [%rd17+8]; + ld.f32 %f10, [%rd17+4]; + ld.f32 %f8, [%rd17]; + sub.f32 %f121, %f7, %f8; + ld.global.f32 %f9, [lightPos+4]; + sub.f32 %f122, %f9, %f10; + ld.global.f32 %f11, [lightPos+8]; + sub.f32 %f123, %f11, %f12; + mul.f32 %f124, %f122, %f122; + fma.rn.f32 %f125, %f121, %f121, %f124; + fma.rn.f32 %f126, %f123, %f123, %f125; + sqrt.rn.f32 %f127, %f126; + rcp.rn.f32 %f128, %f127; + ld.global.f32 %f129, [lightFalloffFakeDistanceMult]; + mul.f32 %f16, %f127, %f129; + ld.global.f32 %f130, [lightInvCutoff]; + mul.f32 %f17, %f127, %f130; + mov.f32 %f134, 0f40800000; + abs.f32 %f19, %f17; + setp.lt.f32 %p12, %f19, 0f00800000; + mul.f32 %f136, %f19, 0f4B800000; + selp.f32 %f137, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f138, %f136, %f19, %p12; + mov.b32 %r47, %f138; + and.b32 %r48, %r47, 8388607; + or.b32 %r49, %r48, 1065353216; + mov.b32 %f139, %r49; + shr.u32 %r50, %r47, 23; + cvt.rn.f32.u32 %f140, %r50; + add.f32 %f141, %f137, %f140; + setp.gt.f32 %p13, %f139, 0f3FB504F3; + mul.f32 %f142, %f139, 0f3F000000; + add.f32 %f143, %f141, 0f3F800000; + selp.f32 %f144, %f142, %f139, %p13; + selp.f32 %f145, %f143, %f141, %p13; + add.f32 %f146, %f144, 0fBF800000; + add.f32 %f120, %f144, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f119,%f120; + // inline asm + add.f32 %f147, %f146, %f146; + mul.f32 %f148, %f119, %f147; + mul.f32 %f149, %f148, %f148; + mov.f32 %f150, 0f3C4CAF63; + mov.f32 %f151, 0f3B18F0FE; + fma.rn.f32 %f152, %f151, %f149, %f150; + mov.f32 %f153, 0f3DAAAABD; + fma.rn.f32 %f154, %f152, %f149, %f153; + mul.rn.f32 %f155, %f154, %f149; + mul.rn.f32 %f156, %f155, %f148; + sub.f32 %f157, %f146, %f148; + neg.f32 %f158, %f148; + add.f32 %f159, %f157, %f157; + fma.rn.f32 %f160, %f158, %f146, %f159; + mul.rn.f32 %f161, %f119, %f160; + add.f32 %f162, %f156, %f148; + sub.f32 %f163, %f148, %f162; + add.f32 %f164, %f156, %f163; + add.f32 %f165, %f161, %f164; + add.f32 %f166, %f162, %f165; + sub.f32 %f167, %f162, %f166; + add.f32 %f168, %f165, %f167; + mov.f32 %f169, 0f3F317200; + mul.rn.f32 %f170, %f145, %f169; + mov.f32 %f171, 0f35BFBE8E; + mul.rn.f32 %f172, %f145, %f171; + add.f32 %f173, %f170, %f166; + sub.f32 %f174, %f170, %f173; + add.f32 %f175, %f166, %f174; + add.f32 %f176, %f168, %f175; + add.f32 %f177, %f172, %f176; + add.f32 %f178, %f173, %f177; + sub.f32 %f179, %f173, %f178; + add.f32 %f180, %f177, %f179; + mul.rn.f32 %f181, %f134, %f178; + neg.f32 %f182, %f181; + fma.rn.f32 %f183, %f134, %f178, %f182; + fma.rn.f32 %f184, %f134, %f180, %f183; + mov.f32 %f185, 0f00000000; + fma.rn.f32 %f186, %f185, %f178, %f184; + add.rn.f32 %f187, %f181, %f186; + neg.f32 %f188, %f187; + add.rn.f32 %f189, %f181, %f188; + add.rn.f32 %f190, %f189, %f186; + mov.b32 %r51, %f187; + setp.eq.s32 %p14, %r51, 1118925336; + add.s32 %r52, %r51, -1; + mov.b32 %f191, %r52; + add.f32 %f192, %f190, 0f37000000; + selp.f32 %f193, %f191, %f187, %p14; + selp.f32 %f20, %f192, %f190, %p14; + mul.f32 %f194, %f193, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f195, %f194; + mov.f32 %f196, 0fBF317200; + fma.rn.f32 %f197, %f195, %f196, %f193; + mov.f32 %f198, 0fB5BFBE8E; + fma.rn.f32 %f199, %f195, %f198, %f197; + mul.f32 %f200, %f199, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f201, %f200; + add.f32 %f202, %f195, 0f00000000; + ex2.approx.f32 %f203, %f202; + mul.f32 %f204, %f201, %f203; + setp.lt.f32 %p15, %f193, 0fC2D20000; + selp.f32 %f205, 0f00000000, %f204, %p15; + setp.gt.f32 %p16, %f193, 0f42D20000; + selp.f32 %f752, 0f7F800000, %f205, %p16; + setp.eq.f32 %p17, %f752, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f752, %f752, %f20, %f752; + +BB0_5: + mov.f32 %f703, 0f40000000; + cvt.rzi.f32.f32 %f702, %f703; + add.f32 %f701, %f702, %f702; + mov.f32 %f700, 0f40800000; + sub.f32 %f699, %f700, %f701; + abs.f32 %f698, %f699; + setp.lt.f32 %p18, %f17, 0f00000000; + setp.eq.f32 %p19, %f698, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r53, %f752; + xor.b32 %r54, %r53, -2147483648; + mov.b32 %f206, %r54; + selp.f32 %f754, %f206, %f752, %p1; + setp.eq.f32 %p20, %f17, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f209, %f17, %f17; + selp.f32 %f754, %f209, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f17, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f748, 0f40800000; + cvt.rzi.f32.f32 %f208, %f748; + setp.neu.f32 %p22, %f208, 0f40800000; + selp.f32 %f754, 0f7FFFFFFF, %f754, %p22; + +BB0_9: + abs.f32 %f704, %f17; + add.f32 %f210, %f704, 0f40800000; + mov.b32 %r55, %f210; + setp.lt.s32 %p24, %r55, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f746, %f17; + setp.gtu.f32 %p25, %f746, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f754, %f17, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f747, %f17; + setp.neu.f32 %p26, %f747, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f754, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + sub.f32 %f710, %f11, %f12; + mul.f32 %f709, %f710, %f128; + sub.f32 %f708, %f7, %f8; + mul.f32 %f707, %f708, %f128; + sub.f32 %f706, %f9, %f10; + mul.f32 %f705, %f706, %f128; + mov.f32 %f760, 0f3F800000; + sub.f32 %f212, %f760, %f754; + setp.eq.f32 %p27, %f17, 0f3F800000; + selp.f32 %f213, 0f00000000, %f212, %p27; + cvt.sat.f32.f32 %f214, %f213; + ld.global.f32 %f215, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f216, %f16, %f16, %f215; + div.rn.f32 %f217, %f214, %f216; + mul.f32 %f218, %f750, %f705; + fma.rn.f32 %f219, %f749, %f707, %f218; + fma.rn.f32 %f220, %f751, %f709, %f219; + ld.global.u32 %r164, [imageEnabled]; + and.b32 %r56, %r164, 32; + ld.global.u32 %r57, [ignoreNormal]; + or.b32 %r58, %r56, %r57; + setp.eq.s32 %p28, %r58, 0; + selp.f32 %f221, %f220, 0f3F800000, %p28; + cvt.sat.f32.f32 %f222, %f221; + ld.global.f32 %f223, [lightConeDir]; + mul.f32 %f224, %f707, %f223; + ld.global.f32 %f225, [lightConeDir+4]; + mul.f32 %f226, %f705, %f225; + neg.f32 %f227, %f226; + sub.f32 %f228, %f227, %f224; + ld.global.f32 %f229, [lightConeDir+8]; + mul.f32 %f230, %f709, %f229; + sub.f32 %f231, %f228, %f230; + ld.global.v2.f32 {%f232, %f233}, [lightCone]; + fma.rn.f32 %f236, %f232, %f231, %f233; + cvt.sat.f32.f32 %f237, %f236; + mul.f32 %f238, %f237, %f237; + mul.f32 %f239, %f217, %f238; + mul.f32 %f31, %f222, %f239; + ld.global.f32 %f240, [lightColor+4]; + ld.global.f32 %f241, [lightColor]; + max.f32 %f242, %f241, %f240; + ld.global.f32 %f243, [lightColor+8]; + max.f32 %f244, %f242, %f243; + mul.f32 %f245, %f31, %f244; + setp.lt.f32 %p29, %f245, 0f3727C5AC; + @%p29 bra BB0_75; + bra.uni BB0_15; + +BB0_75: + and.b32 %r124, %r164, 1; + setp.eq.b32 %p103, %r124, 1; + @!%p103 bra BB0_77; + bra.uni BB0_76; + +BB0_76: + cvt.u64.u32 %rd69, %r2; + cvt.u64.u32 %rd70, %r3; + mov.u64 %rd73, image; + cvta.global.u64 %rd68, %rd73; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r26, %r27, %rd69, %rd70, %rd15, %rd15); + // inline asm + mov.u16 %rs37, 1; + mov.u16 %rs38, 0; + st.v4.u8 [%rd67], {%rs38, %rs38, %rs38, %rs37}; + ld.global.u32 %r164, [imageEnabled]; + +BB0_77: + and.b32 %r127, %r164, 8; + setp.eq.s32 %p104, %r127, 0; + @%p104 bra BB0_79; + + cvt.u64.u32 %rd76, %r2; + cvt.u64.u32 %rd77, %r3; + mov.u64 %rd80, image_Mask; + cvta.global.u64 %rd75, %rd80; + // inline asm + call (%rd74), _rt_buffer_get_64, (%rd75, %r26, %r26, %rd76, %rd77, %rd15, %rd15); + // inline asm + mov.f32 %f679, 0f00000000; + cvt.rzi.u32.f32 %r130, %f679; + cvt.u16.u32 %rs39, %r130; + mov.u16 %rs40, 255; + st.v2.u8 [%rd74], {%rs39, %rs40}; + ld.global.u32 %r164, [imageEnabled]; + +BB0_79: + and.b32 %r131, %r164, 4; + setp.eq.s32 %p105, %r131, 0; + @%p105 bra BB0_83; + + ld.global.u32 %r132, [additive]; + setp.eq.s32 %p106, %r132, 0; + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + mov.f32 %f680, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs41, %f680;} + + // inline asm + @%p106 bra BB0_82; + + mov.u64 %rd93, image_HDR; + cvta.global.u64 %rd82, %rd93; + mov.u32 %r136, 8; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd82, %r26, %r136, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs48, %rs49, %rs50, %rs51}, [%rd81]; + // inline asm + { cvt.f32.f16 %f681, %rs48;} + + // inline asm + // inline asm + { cvt.f32.f16 %f682, %rs49;} + + // inline asm + // inline asm + { cvt.f32.f16 %f683, %rs50;} + + // inline asm + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd82, %r26, %r136, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f684, %f681, 0f00000000; + add.f32 %f685, %f682, 0f00000000; + add.f32 %f686, %f683, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs47, %f686;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f685;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f684;} + + // inline asm + st.v4.u16 [%rd87], {%rs45, %rs46, %rs47, %rs41}; + bra.uni BB0_83; + +BB0_15: + mov.f32 %f758, 0f00000000; + mul.f32 %f247, %f8, 0f3456BF95; + abs.f32 %f248, %f749; + div.rn.f32 %f249, %f247, %f248; + abs.f32 %f250, %f750; + mul.f32 %f251, %f10, 0f3456BF95; + div.rn.f32 %f252, %f251, %f250; + abs.f32 %f253, %f751; + mul.f32 %f254, %f12, 0f3456BF95; + div.rn.f32 %f255, %f254, %f253; + abs.f32 %f256, %f249; + abs.f32 %f257, %f252; + abs.f32 %f258, %f255; + mov.f32 %f259, 0f38D1B717; + max.f32 %f260, %f256, %f259; + max.f32 %f261, %f257, %f259; + max.f32 %f262, %f258, %f259; + fma.rn.f32 %f32, %f749, %f260, %f8; + fma.rn.f32 %f33, %f750, %f261, %f10; + fma.rn.f32 %f34, %f751, %f262, %f12; + ld.global.u32 %r160, [samples]; + setp.lt.s32 %p30, %r160, 1; + @%p30 bra BB0_18; + + mul.f32 %f264, %f32, 0f3456BF95; + abs.f32 %f265, %f264; + mul.f32 %f266, %f33, 0f3456BF95; + abs.f32 %f267, %f266; + mul.f32 %f268, %f34, 0f3456BF95; + abs.f32 %f269, %f268; + max.f32 %f270, %f265, %f267; + max.f32 %f271, %f270, %f269; + max.f32 %f35, %f271, %f259; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f758, 0f00000000; + mov.u32 %r159, 0; + mov.f32 %f755, %f11; + mov.f32 %f756, %f9; + mov.f32 %f757, %f7; + bra.uni BB0_17; + +BB0_74: + ld.global.f32 %f757, [lightPos]; + ld.global.f32 %f756, [lightPos+4]; + ld.global.f32 %f755, [lightPos+8]; + ld.global.u32 %r164, [imageEnabled]; + +BB0_17: + cvt.rn.f32.s32 %f281, %r159; + mul.f32 %f282, %f281, 0f3DD32618; + cvt.rmi.f32.f32 %f283, %f282; + sub.f32 %f284, %f282, %f283; + mul.f32 %f285, %f281, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f286, %f285; + sub.f32 %f287, %f285, %f286; + mul.f32 %f288, %f281, 0f3DC74539; + cvt.rmi.f32.f32 %f289, %f288; + sub.f32 %f290, %f288, %f289; + add.f32 %f291, %f287, 0f4199851F; + add.f32 %f292, %f290, 0f4199851F; + add.f32 %f293, %f284, 0f4199851F; + mul.f32 %f294, %f287, %f292; + fma.rn.f32 %f295, %f284, %f291, %f294; + fma.rn.f32 %f296, %f293, %f290, %f295; + add.f32 %f297, %f284, %f296; + add.f32 %f298, %f287, %f296; + add.f32 %f299, %f290, %f296; + add.f32 %f300, %f297, %f298; + mul.f32 %f301, %f299, %f300; + cvt.rmi.f32.f32 %f302, %f301; + sub.f32 %f303, %f301, %f302; + add.f32 %f304, %f297, %f299; + mul.f32 %f305, %f298, %f304; + cvt.rmi.f32.f32 %f306, %f305; + sub.f32 %f307, %f305, %f306; + add.f32 %f308, %f298, %f299; + mul.f32 %f309, %f297, %f308; + cvt.rmi.f32.f32 %f310, %f309; + sub.f32 %f311, %f309, %f310; + fma.rn.f32 %f312, %f303, 0f40000000, 0fBF800000; + fma.rn.f32 %f313, %f307, 0f40000000, 0fBF800000; + fma.rn.f32 %f314, %f311, 0f40000000, 0fBF800000; + ld.global.f32 %f315, [lightRadius]; + fma.rn.f32 %f316, %f315, %f312, %f757; + fma.rn.f32 %f317, %f315, %f313, %f756; + fma.rn.f32 %f318, %f315, %f314, %f755; + sub.f32 %f319, %f316, %f8; + sub.f32 %f320, %f317, %f10; + sub.f32 %f321, %f318, %f12; + mul.f32 %f322, %f320, %f320; + fma.rn.f32 %f323, %f319, %f319, %f322; + fma.rn.f32 %f324, %f321, %f321, %f323; + sqrt.rn.f32 %f280, %f324; + rcp.rn.f32 %f325, %f280; + mul.f32 %f276, %f325, %f319; + mul.f32 %f277, %f325, %f320; + mul.f32 %f278, %f325, %f321; + and.b32 %r63, %r164, 32; + setp.eq.s32 %p31, %r63, 0; + selp.f32 %f326, 0f3F800000, 0f41200000, %p31; + mul.f32 %f279, %f326, %f35; + mov.u32 %r64, 1065353216; + st.local.u32 [%rd2], %r64; + ld.global.u32 %r60, [root]; + mov.u32 %r61, 1; + // inline asm + call _rt_trace_64, (%r60, %f32, %f33, %f34, %f276, %f277, %f278, %r61, %f279, %f280, %rd24, %r27); + // inline asm + ld.local.f32 %f327, [%rd2]; + add.f32 %f758, %f758, %f327; + ld.global.u32 %r160, [samples]; + add.s32 %r159, %r159, 1; + setp.lt.s32 %p32, %r159, %r160; + @%p32 bra BB0_74; + +BB0_18: + setp.eq.s32 %p33, %r160, 0; + @%p33 bra BB0_20; + + cvt.rn.f32.s32 %f329, %r160; + div.rn.f32 %f760, %f758, %f329; + +BB0_20: + ld.global.f32 %f330, [lightColor]; + mul.f32 %f331, %f31, %f760; + mul.f32 %f44, %f330, %f331; + ld.global.f32 %f332, [lightColor+4]; + mul.f32 %f45, %f331, %f332; + ld.global.f32 %f333, [lightColor+8]; + mul.f32 %f46, %f331, %f333; + ld.global.u32 %r162, [imageEnabled]; + and.b32 %r65, %r162, 8; + setp.eq.s32 %p34, %r65, 0; + @%p34 bra BB0_33; + + mov.f32 %f718, 0fB5BFBE8E; + mov.f32 %f717, 0fBF317200; + mov.f32 %f716, 0f35BFBE8E; + mov.f32 %f715, 0f3F317200; + mov.f32 %f714, 0f3DAAAABD; + mov.f32 %f713, 0f3C4CAF63; + mov.f32 %f712, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r26, %r26, %rd28, %rd29, %rd15, %rd15); + // inline asm + mov.f32 %f336, 0f3E68BA2E; + cvt.rzi.f32.f32 %f337, %f336; + fma.rn.f32 %f338, %f337, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f47, %f338; + abs.f32 %f48, %f760; + setp.lt.f32 %p35, %f48, 0f00800000; + mul.f32 %f339, %f48, 0f4B800000; + selp.f32 %f340, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f341, %f339, %f48, %p35; + mov.b32 %r68, %f341; + and.b32 %r69, %r68, 8388607; + or.b32 %r70, %r69, 1065353216; + mov.b32 %f342, %r70; + shr.u32 %r71, %r68, 23; + cvt.rn.f32.u32 %f343, %r71; + add.f32 %f344, %f340, %f343; + setp.gt.f32 %p36, %f342, 0f3FB504F3; + mul.f32 %f345, %f342, 0f3F000000; + add.f32 %f346, %f344, 0f3F800000; + selp.f32 %f347, %f345, %f342, %p36; + selp.f32 %f348, %f346, %f344, %p36; + add.f32 %f349, %f347, 0fBF800000; + add.f32 %f335, %f347, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f334,%f335; + // inline asm + add.f32 %f350, %f349, %f349; + mul.f32 %f351, %f334, %f350; + mul.f32 %f352, %f351, %f351; + fma.rn.f32 %f355, %f712, %f352, %f713; + fma.rn.f32 %f357, %f355, %f352, %f714; + mul.rn.f32 %f358, %f357, %f352; + mul.rn.f32 %f359, %f358, %f351; + sub.f32 %f360, %f349, %f351; + neg.f32 %f361, %f351; + add.f32 %f362, %f360, %f360; + fma.rn.f32 %f363, %f361, %f349, %f362; + mul.rn.f32 %f364, %f334, %f363; + add.f32 %f365, %f359, %f351; + sub.f32 %f366, %f351, %f365; + add.f32 %f367, %f359, %f366; + add.f32 %f368, %f364, %f367; + add.f32 %f369, %f365, %f368; + sub.f32 %f370, %f365, %f369; + add.f32 %f371, %f368, %f370; + mul.rn.f32 %f373, %f348, %f715; + mul.rn.f32 %f375, %f348, %f716; + add.f32 %f376, %f373, %f369; + sub.f32 %f377, %f373, %f376; + add.f32 %f378, %f369, %f377; + add.f32 %f379, %f371, %f378; + add.f32 %f380, %f375, %f379; + add.f32 %f381, %f376, %f380; + sub.f32 %f382, %f376, %f381; + add.f32 %f383, %f380, %f382; + mov.f32 %f384, 0f3EE8BA2E; + mul.rn.f32 %f385, %f384, %f381; + neg.f32 %f386, %f385; + fma.rn.f32 %f387, %f384, %f381, %f386; + fma.rn.f32 %f388, %f384, %f383, %f387; + mov.f32 %f389, 0f00000000; + fma.rn.f32 %f390, %f389, %f381, %f388; + add.rn.f32 %f391, %f385, %f390; + neg.f32 %f392, %f391; + add.rn.f32 %f393, %f385, %f392; + add.rn.f32 %f394, %f393, %f390; + mov.b32 %r72, %f391; + setp.eq.s32 %p37, %r72, 1118925336; + add.s32 %r73, %r72, -1; + mov.b32 %f395, %r73; + add.f32 %f396, %f394, 0f37000000; + selp.f32 %f397, %f395, %f391, %p37; + selp.f32 %f49, %f396, %f394, %p37; + mul.f32 %f398, %f397, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f399, %f398; + fma.rn.f32 %f401, %f399, %f717, %f397; + fma.rn.f32 %f403, %f399, %f718, %f401; + mul.f32 %f404, %f403, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f405, %f404; + add.f32 %f406, %f399, 0f00000000; + ex2.approx.f32 %f407, %f406; + mul.f32 %f408, %f405, %f407; + setp.lt.f32 %p38, %f397, 0fC2D20000; + selp.f32 %f409, 0f00000000, %f408, %p38; + setp.gt.f32 %p39, %f397, 0f42D20000; + selp.f32 %f761, 0f7F800000, %f409, %p39; + setp.eq.f32 %p40, %f761, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f761, %f761, %f49, %f761; + +BB0_23: + setp.lt.f32 %p41, %f760, 0f00000000; + setp.eq.f32 %p42, %f47, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r74, %f761; + xor.b32 %r75, %r74, -2147483648; + mov.b32 %f410, %r75; + selp.f32 %f763, %f410, %f761, %p2; + setp.eq.f32 %p43, %f760, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f413, %f760, %f760; + selp.f32 %f763, %f413, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_92: + mov.u64 %rd141, image_HDR; + cvta.global.u64 %rd136, %rd141; + mov.u32 %r155, 8; + // inline asm + call (%rd135), _rt_buffer_get_64, (%rd136, %r26, %r155, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f697, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs71, %f697;} + + // inline asm + mov.u16 %rs72, 0; + st.v4.u16 [%rd135], {%rs71, %rs71, %rs71, %rs72}; + +BB0_93: + ld.global.u8 %rs73, [imageEnabled]; + and.b16 %rs74, %rs73, 64; + setp.eq.s16 %p112, %rs74, 0; + @%p112 bra BB0_95; + + cvt.u64.u32 %rd144, %r2; + cvt.u64.u32 %rd145, %r3; + mov.u64 %rd148, image_Dir; + cvta.global.u64 %rd143, %rd148; + // inline asm + call (%rd142), _rt_buffer_get_64, (%rd143, %r26, %r27, %rd144, %rd145, %rd15, %rd15); + // inline asm + mov.u16 %rs75, 0; + st.v4.u8 [%rd142], {%rs75, %rs75, %rs75, %rs75}; + bra.uni BB0_95; + +BB0_82: + mov.u64 %rd100, image_HDR; + cvta.global.u64 %rd95, %rd100; + mov.u32 %r138, 8; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r26, %r138, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f687, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs52, %f687;} + + // inline asm + st.v4.u16 [%rd94], {%rs52, %rs52, %rs52, %rs41}; + +BB0_83: + ld.global.u8 %rs53, [imageEnabled]; + and.b16 %rs54, %rs53, 64; + setp.eq.s16 %p107, %rs54, 0; + @%p107 bra BB0_95; + + cvt.u64.u32 %rd103, %r2; + cvt.u64.u32 %rd104, %r3; + mov.u64 %rd107, image_Dir; + cvta.global.u64 %rd102, %rd107; + // inline asm + call (%rd101), _rt_buffer_get_64, (%rd102, %r26, %r27, %rd103, %rd104, %rd15, %rd15); + // inline asm + mov.u16 %rs55, 255; + mov.u16 %rs56, 0; + st.v4.u8 [%rd101], {%rs56, %rs56, %rs56, %rs55}; + bra.uni BB0_95; + +BB0_24: + setp.geu.f32 %p44, %f760, 0f00000000; + @%p44 bra BB0_27; + + cvt.rzi.f32.f32 %f412, %f384; + setp.neu.f32 %p45, %f412, 0f3EE8BA2E; + selp.f32 %f763, 0f7FFFFFFF, %f763, %p45; + +BB0_27: + add.f32 %f414, %f48, 0f3EE8BA2E; + mov.b32 %r76, %f414; + setp.lt.s32 %p47, %r76, 2139095040; + @%p47 bra BB0_32; + + setp.gtu.f32 %p48, %f48, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f763, %f760, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + setp.neu.f32 %p49, %f48, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f763, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f415, %f763, 0f437F0000; + setp.eq.f32 %p50, %f760, 0f3F800000; + selp.f32 %f416, 0f437F0000, %f415, %p50; + cvt.rzi.u32.f32 %r77, %f416; + cvt.u16.u32 %rs11, %r77; + mov.u16 %rs12, 255; + st.v2.u8 [%rd26], {%rs11, %rs12}; + ld.global.u32 %r162, [imageEnabled]; + +BB0_33: + and.b32 %r78, %r162, 1; + setp.eq.b32 %p51, %r78, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f725, 0fB5BFBE8E; + mov.f32 %f724, 0fBF317200; + mov.f32 %f723, 0f35BFBE8E; + mov.f32 %f722, 0f3F317200; + mov.f32 %f721, 0f3DAAAABD; + mov.f32 %f720, 0f3C4CAF63; + mov.f32 %f719, 0f3B18F0FE; + mov.f32 %f419, 0f3E666666; + cvt.rzi.f32.f32 %f420, %f419; + fma.rn.f32 %f421, %f420, 0fC0000000, 0f3EE66666; + abs.f32 %f60, %f421; + abs.f32 %f61, %f44; + setp.lt.f32 %p52, %f61, 0f00800000; + mul.f32 %f422, %f61, 0f4B800000; + selp.f32 %f423, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f424, %f422, %f61, %p52; + mov.b32 %r79, %f424; + and.b32 %r80, %r79, 8388607; + or.b32 %r81, %r80, 1065353216; + mov.b32 %f425, %r81; + shr.u32 %r82, %r79, 23; + cvt.rn.f32.u32 %f426, %r82; + add.f32 %f427, %f423, %f426; + setp.gt.f32 %p53, %f425, 0f3FB504F3; + mul.f32 %f428, %f425, 0f3F000000; + add.f32 %f429, %f427, 0f3F800000; + selp.f32 %f430, %f428, %f425, %p53; + selp.f32 %f431, %f429, %f427, %p53; + add.f32 %f432, %f430, 0fBF800000; + add.f32 %f418, %f430, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f417,%f418; + // inline asm + add.f32 %f433, %f432, %f432; + mul.f32 %f434, %f417, %f433; + mul.f32 %f435, %f434, %f434; + fma.rn.f32 %f438, %f719, %f435, %f720; + fma.rn.f32 %f440, %f438, %f435, %f721; + mul.rn.f32 %f441, %f440, %f435; + mul.rn.f32 %f442, %f441, %f434; + sub.f32 %f443, %f432, %f434; + neg.f32 %f444, %f434; + add.f32 %f445, %f443, %f443; + fma.rn.f32 %f446, %f444, %f432, %f445; + mul.rn.f32 %f447, %f417, %f446; + add.f32 %f448, %f442, %f434; + sub.f32 %f449, %f434, %f448; + add.f32 %f450, %f442, %f449; + add.f32 %f451, %f447, %f450; + add.f32 %f452, %f448, %f451; + sub.f32 %f453, %f448, %f452; + add.f32 %f454, %f451, %f453; + mul.rn.f32 %f456, %f431, %f722; + mul.rn.f32 %f458, %f431, %f723; + add.f32 %f459, %f456, %f452; + sub.f32 %f460, %f456, %f459; + add.f32 %f461, %f452, %f460; + add.f32 %f462, %f454, %f461; + add.f32 %f463, %f458, %f462; + add.f32 %f464, %f459, %f463; + sub.f32 %f465, %f459, %f464; + add.f32 %f466, %f463, %f465; + mov.f32 %f467, 0f3EE66666; + mul.rn.f32 %f468, %f467, %f464; + neg.f32 %f469, %f468; + fma.rn.f32 %f470, %f467, %f464, %f469; + fma.rn.f32 %f471, %f467, %f466, %f470; + mov.f32 %f472, 0f00000000; + fma.rn.f32 %f473, %f472, %f464, %f471; + add.rn.f32 %f474, %f468, %f473; + neg.f32 %f475, %f474; + add.rn.f32 %f476, %f468, %f475; + add.rn.f32 %f477, %f476, %f473; + mov.b32 %r83, %f474; + setp.eq.s32 %p54, %r83, 1118925336; + add.s32 %r84, %r83, -1; + mov.b32 %f478, %r84; + add.f32 %f479, %f477, 0f37000000; + selp.f32 %f480, %f478, %f474, %p54; + selp.f32 %f62, %f479, %f477, %p54; + mul.f32 %f481, %f480, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f482, %f481; + fma.rn.f32 %f484, %f482, %f724, %f480; + fma.rn.f32 %f486, %f482, %f725, %f484; + mul.f32 %f487, %f486, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f488, %f487; + add.f32 %f489, %f482, 0f00000000; + ex2.approx.f32 %f490, %f489; + mul.f32 %f491, %f488, %f490; + setp.lt.f32 %p55, %f480, 0fC2D20000; + selp.f32 %f492, 0f00000000, %f491, %p55; + setp.gt.f32 %p56, %f480, 0f42D20000; + selp.f32 %f764, 0f7F800000, %f492, %p56; + setp.eq.f32 %p57, %f764, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f764, %f764, %f62, %f764; + +BB0_36: + setp.lt.f32 %p58, %f44, 0f00000000; + setp.eq.f32 %p59, %f60, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r85, %f764; + xor.b32 %r86, %r85, -2147483648; + mov.b32 %f493, %r86; + selp.f32 %f766, %f493, %f764, %p3; + setp.eq.f32 %p60, %f44, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f496, %f44, %f44; + selp.f32 %f766, %f496, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f44, 0f00000000; + @%p61 bra BB0_40; + + cvt.rzi.f32.f32 %f495, %f467; + setp.neu.f32 %p62, %f495, 0f3EE66666; + selp.f32 %f766, 0f7FFFFFFF, %f766, %p62; + +BB0_40: + add.f32 %f497, %f61, 0f3EE66666; + mov.b32 %r87, %f497; + setp.lt.s32 %p64, %r87, 2139095040; + @%p64 bra BB0_45; + + setp.gtu.f32 %p65, %f61, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f766, %f44, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p66, %f61, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f766, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f732, 0fB5BFBE8E; + mov.f32 %f731, 0fBF317200; + mov.f32 %f730, 0f35BFBE8E; + mov.f32 %f729, 0f3F317200; + mov.f32 %f728, 0f3DAAAABD; + mov.f32 %f727, 0f3C4CAF63; + mov.f32 %f726, 0f3B18F0FE; + setp.eq.f32 %p67, %f44, 0f3F800000; + selp.f32 %f73, 0f3F800000, %f766, %p67; + abs.f32 %f74, %f45; + setp.lt.f32 %p68, %f74, 0f00800000; + mul.f32 %f500, %f74, 0f4B800000; + selp.f32 %f501, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f502, %f500, %f74, %p68; + mov.b32 %r88, %f502; + and.b32 %r89, %r88, 8388607; + or.b32 %r90, %r89, 1065353216; + mov.b32 %f503, %r90; + shr.u32 %r91, %r88, 23; + cvt.rn.f32.u32 %f504, %r91; + add.f32 %f505, %f501, %f504; + setp.gt.f32 %p69, %f503, 0f3FB504F3; + mul.f32 %f506, %f503, 0f3F000000; + add.f32 %f507, %f505, 0f3F800000; + selp.f32 %f508, %f506, %f503, %p69; + selp.f32 %f509, %f507, %f505, %p69; + add.f32 %f510, %f508, 0fBF800000; + add.f32 %f499, %f508, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f498,%f499; + // inline asm + add.f32 %f511, %f510, %f510; + mul.f32 %f512, %f498, %f511; + mul.f32 %f513, %f512, %f512; + fma.rn.f32 %f516, %f726, %f513, %f727; + fma.rn.f32 %f518, %f516, %f513, %f728; + mul.rn.f32 %f519, %f518, %f513; + mul.rn.f32 %f520, %f519, %f512; + sub.f32 %f521, %f510, %f512; + neg.f32 %f522, %f512; + add.f32 %f523, %f521, %f521; + fma.rn.f32 %f524, %f522, %f510, %f523; + mul.rn.f32 %f525, %f498, %f524; + add.f32 %f526, %f520, %f512; + sub.f32 %f527, %f512, %f526; + add.f32 %f528, %f520, %f527; + add.f32 %f529, %f525, %f528; + add.f32 %f530, %f526, %f529; + sub.f32 %f531, %f526, %f530; + add.f32 %f532, %f529, %f531; + mul.rn.f32 %f534, %f509, %f729; + mul.rn.f32 %f536, %f509, %f730; + add.f32 %f537, %f534, %f530; + sub.f32 %f538, %f534, %f537; + add.f32 %f539, %f530, %f538; + add.f32 %f540, %f532, %f539; + add.f32 %f541, %f536, %f540; + add.f32 %f542, %f537, %f541; + sub.f32 %f543, %f537, %f542; + add.f32 %f544, %f541, %f543; + mul.rn.f32 %f546, %f467, %f542; + neg.f32 %f547, %f546; + fma.rn.f32 %f548, %f467, %f542, %f547; + fma.rn.f32 %f549, %f467, %f544, %f548; + fma.rn.f32 %f551, %f472, %f542, %f549; + add.rn.f32 %f552, %f546, %f551; + neg.f32 %f553, %f552; + add.rn.f32 %f554, %f546, %f553; + add.rn.f32 %f555, %f554, %f551; + mov.b32 %r92, %f552; + setp.eq.s32 %p70, %r92, 1118925336; + add.s32 %r93, %r92, -1; + mov.b32 %f556, %r93; + add.f32 %f557, %f555, 0f37000000; + selp.f32 %f558, %f556, %f552, %p70; + selp.f32 %f75, %f557, %f555, %p70; + mul.f32 %f559, %f558, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f560, %f559; + fma.rn.f32 %f562, %f560, %f731, %f558; + fma.rn.f32 %f564, %f560, %f732, %f562; + mul.f32 %f565, %f564, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f566, %f565; + add.f32 %f567, %f560, 0f00000000; + ex2.approx.f32 %f568, %f567; + mul.f32 %f569, %f566, %f568; + setp.lt.f32 %p71, %f558, 0fC2D20000; + selp.f32 %f570, 0f00000000, %f569, %p71; + setp.gt.f32 %p72, %f558, 0f42D20000; + selp.f32 %f767, 0f7F800000, %f570, %p72; + setp.eq.f32 %p73, %f767, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f767, %f767, %f75, %f767; + +BB0_47: + setp.lt.f32 %p74, %f45, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r94, %f767; + xor.b32 %r95, %r94, -2147483648; + mov.b32 %f571, %r95; + selp.f32 %f769, %f571, %f767, %p4; + setp.eq.f32 %p76, %f45, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f574, %f45, %f45; + selp.f32 %f769, %f574, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f45, 0f00000000; + @%p77 bra BB0_51; + + cvt.rzi.f32.f32 %f573, %f467; + setp.neu.f32 %p78, %f573, 0f3EE66666; + selp.f32 %f769, 0f7FFFFFFF, %f769, %p78; + +BB0_51: + add.f32 %f575, %f74, 0f3EE66666; + mov.b32 %r96, %f575; + setp.lt.s32 %p80, %r96, 2139095040; + @%p80 bra BB0_56; + + setp.gtu.f32 %p81, %f74, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f769, %f45, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p82, %f74, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f769, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f739, 0fB5BFBE8E; + mov.f32 %f738, 0fBF317200; + mov.f32 %f737, 0f35BFBE8E; + mov.f32 %f736, 0f3F317200; + mov.f32 %f735, 0f3DAAAABD; + mov.f32 %f734, 0f3C4CAF63; + mov.f32 %f733, 0f3B18F0FE; + setp.eq.f32 %p83, %f45, 0f3F800000; + selp.f32 %f86, 0f3F800000, %f769, %p83; + abs.f32 %f87, %f46; + setp.lt.f32 %p84, %f87, 0f00800000; + mul.f32 %f578, %f87, 0f4B800000; + selp.f32 %f579, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f580, %f578, %f87, %p84; + mov.b32 %r97, %f580; + and.b32 %r98, %r97, 8388607; + or.b32 %r99, %r98, 1065353216; + mov.b32 %f581, %r99; + shr.u32 %r100, %r97, 23; + cvt.rn.f32.u32 %f582, %r100; + add.f32 %f583, %f579, %f582; + setp.gt.f32 %p85, %f581, 0f3FB504F3; + mul.f32 %f584, %f581, 0f3F000000; + add.f32 %f585, %f583, 0f3F800000; + selp.f32 %f586, %f584, %f581, %p85; + selp.f32 %f587, %f585, %f583, %p85; + add.f32 %f588, %f586, 0fBF800000; + add.f32 %f577, %f586, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f576,%f577; + // inline asm + add.f32 %f589, %f588, %f588; + mul.f32 %f590, %f576, %f589; + mul.f32 %f591, %f590, %f590; + fma.rn.f32 %f594, %f733, %f591, %f734; + fma.rn.f32 %f596, %f594, %f591, %f735; + mul.rn.f32 %f597, %f596, %f591; + mul.rn.f32 %f598, %f597, %f590; + sub.f32 %f599, %f588, %f590; + neg.f32 %f600, %f590; + add.f32 %f601, %f599, %f599; + fma.rn.f32 %f602, %f600, %f588, %f601; + mul.rn.f32 %f603, %f576, %f602; + add.f32 %f604, %f598, %f590; + sub.f32 %f605, %f590, %f604; + add.f32 %f606, %f598, %f605; + add.f32 %f607, %f603, %f606; + add.f32 %f608, %f604, %f607; + sub.f32 %f609, %f604, %f608; + add.f32 %f610, %f607, %f609; + mul.rn.f32 %f612, %f587, %f736; + mul.rn.f32 %f614, %f587, %f737; + add.f32 %f615, %f612, %f608; + sub.f32 %f616, %f612, %f615; + add.f32 %f617, %f608, %f616; + add.f32 %f618, %f610, %f617; + add.f32 %f619, %f614, %f618; + add.f32 %f620, %f615, %f619; + sub.f32 %f621, %f615, %f620; + add.f32 %f622, %f619, %f621; + mul.rn.f32 %f624, %f467, %f620; + neg.f32 %f625, %f624; + fma.rn.f32 %f626, %f467, %f620, %f625; + fma.rn.f32 %f627, %f467, %f622, %f626; + fma.rn.f32 %f629, %f472, %f620, %f627; + add.rn.f32 %f630, %f624, %f629; + neg.f32 %f631, %f630; + add.rn.f32 %f632, %f624, %f631; + add.rn.f32 %f633, %f632, %f629; + mov.b32 %r101, %f630; + setp.eq.s32 %p86, %r101, 1118925336; + add.s32 %r102, %r101, -1; + mov.b32 %f634, %r102; + add.f32 %f635, %f633, 0f37000000; + selp.f32 %f636, %f634, %f630, %p86; + selp.f32 %f88, %f635, %f633, %p86; + mul.f32 %f637, %f636, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f638, %f637; + fma.rn.f32 %f640, %f638, %f738, %f636; + fma.rn.f32 %f642, %f638, %f739, %f640; + mul.f32 %f643, %f642, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f644, %f643; + add.f32 %f645, %f638, 0f00000000; + ex2.approx.f32 %f646, %f645; + mul.f32 %f647, %f644, %f646; + setp.lt.f32 %p87, %f636, 0fC2D20000; + selp.f32 %f648, 0f00000000, %f647, %p87; + setp.gt.f32 %p88, %f636, 0f42D20000; + selp.f32 %f770, 0f7F800000, %f648, %p88; + setp.eq.f32 %p89, %f770, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f770, %f770, %f88, %f770; + +BB0_58: + setp.lt.f32 %p90, %f46, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r103, %f770; + xor.b32 %r104, %r103, -2147483648; + mov.b32 %f649, %r104; + selp.f32 %f772, %f649, %f770, %p5; + setp.eq.f32 %p92, %f46, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f652, %f46, %f46; + selp.f32 %f772, %f652, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f46, 0f00000000; + @%p93 bra BB0_62; + + cvt.rzi.f32.f32 %f651, %f467; + setp.neu.f32 %p94, %f651, 0f3EE66666; + selp.f32 %f772, 0f7FFFFFFF, %f772, %p94; + +BB0_62: + add.f32 %f653, %f87, 0f3EE66666; + mov.b32 %r105, %f653; + setp.lt.s32 %p96, %r105, 2139095040; + @%p96 bra BB0_67; + + setp.gtu.f32 %p97, %f87, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f772, %f46, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p98, %f87, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f772, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p99, %f46, 0f3F800000; + selp.f32 %f654, 0f3F800000, %f772, %p99; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r26, %r27, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f655, %f654; + mul.f32 %f656, %f655, 0f437FFD71; + cvt.rzi.u32.f32 %r108, %f656; + cvt.sat.f32.f32 %f657, %f86; + mul.f32 %f658, %f657, 0f437FFD71; + cvt.rzi.u32.f32 %r109, %f658; + cvt.sat.f32.f32 %f659, %f73; + mul.f32 %f660, %f659, 0f437FFD71; + cvt.rzi.u32.f32 %r110, %f660; + cvt.u16.u32 %rs13, %r108; + cvt.u16.u32 %rs14, %r110; + cvt.u16.u32 %rs15, %r109; + mov.u16 %rs16, 255; + st.v4.u8 [%rd33], {%rs13, %rs15, %rs14, %rs16}; + ld.global.u32 %r162, [imageEnabled]; + +BB0_68: + and.b32 %r111, %r162, 4; + setp.eq.s32 %p100, %r111, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r112, [additive]; + setp.eq.s32 %p101, %r112, 0; + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + mov.f32 %f661, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs17, %f661;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r116, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r26, %r116, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs24, %rs25, %rs26, %rs27}, [%rd40]; + // inline asm + { cvt.f32.f16 %f662, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f663, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f664, %rs26;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r26, %r116, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f665, %f44, %f662; + add.f32 %f666, %f45, %f663; + add.f32 %f667, %f46, %f664; + // inline asm + { cvt.rn.f16.f32 %rs23, %f667;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f666;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f665;} + + // inline asm + st.v4.u16 [%rd46], {%rs21, %rs22, %rs23, %rs17}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r118, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r26, %r118, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f46;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f45;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f44;} + + // inline asm + st.v4.u16 [%rd53], {%rs28, %rs29, %rs30, %rs17}; + +BB0_72: + ld.global.u8 %rs31, [imageEnabled]; + and.b16 %rs32, %rs31, 64; + setp.eq.s16 %p102, %rs32, 0; + @%p102 bra BB0_95; + + sub.f32 %f745, %f11, %f12; + mul.f32 %f744, %f745, %f128; + sub.f32 %f743, %f7, %f8; + mul.f32 %f742, %f743, %f128; + sub.f32 %f741, %f9, %f10; + mul.f32 %f740, %f741, %f128; + cvt.u64.u32 %rd62, %r2; + cvt.u64.u32 %rd63, %r3; + mov.u64 %rd66, image_Dir; + cvta.global.u64 %rd61, %rd66; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r26, %r27, %rd62, %rd63, %rd15, %rd15); + // inline asm + fma.rn.f32 %f671, %f742, 0f3F000000, 0f3F000000; + mul.f32 %f672, %f671, 0f437F0000; + cvt.rzi.u32.f32 %r121, %f672; + fma.rn.f32 %f673, %f740, 0f3F000000, 0f3F000000; + mul.f32 %f674, %f673, 0f437F0000; + cvt.rzi.u32.f32 %r122, %f674; + fma.rn.f32 %f675, %f744, 0f3F000000, 0f3F000000; + mul.f32 %f676, %f675, 0f437F0000; + cvt.rzi.u32.f32 %r123, %f676; + cvt.u16.u32 %rs33, %r123; + cvt.u16.u32 %rs34, %r122; + cvt.u16.u32 %rs35, %r121; + mov.u16 %rs36, 255; + st.v4.u8 [%rd60], {%rs35, %rs34, %rs33, %rs36}; + +BB0_95: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLight.ptx.meta new file mode 100644 index 00000000..49b64df3 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 95391c7593c3f5046a71076530bd8632 +timeCreated: 1558780075 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightProbeSH.ptx new file mode 100644 index 00000000..b524e38f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightProbeSH.ptx @@ -0,0 +1,2276 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .b8 lightConeDir[12]; +.global .align 8 .b8 lightCone[8]; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12lightConeDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9lightConeE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12lightConeDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9lightConeE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12lightConeDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9lightConeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12lightConeDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9lightConeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12lightConeDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9lightConeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<122>; + .reg .b16 %rs<221>; + .reg .f32 %f<872>; + .reg .b32 %r<242>; + .reg .b64 %rd<369>; + + + mov.u64 %rd368, __local_depot0; + cvta.local.u64 %SP, %rd368; + ld.global.v2.u32 {%r28, %r29}, [pixelID]; + cvt.u64.u32 %rd12, %r28; + cvt.u64.u32 %rd13, %r29; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r26, 2; + mov.u32 %r27, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r26, %r27, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r32, %r1, 16; + cvt.u16.u32 %rs1, %r32; + and.b16 %rs12, %rs1, 255; + cvt.u16.u32 %rs13, %r1; + or.b16 %rs14, %rs13, %rs12; + setp.eq.s16 %p6, %rs14, 0; + mov.f32 %f848, 0f00000000; + mov.f32 %f849, %f848; + mov.f32 %f850, %f848; + @%p6 bra BB0_2; + + ld.u8 %rs15, [%rd10+1]; + and.b16 %rs17, %rs13, 255; + cvt.rn.f32.u16 %f113, %rs17; + div.rn.f32 %f114, %f113, 0f437F0000; + fma.rn.f32 %f115, %f114, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f116, %rs15; + div.rn.f32 %f117, %f116, 0f437F0000; + fma.rn.f32 %f118, %f117, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f119, %rs12; + div.rn.f32 %f120, %f119, 0f437F0000; + fma.rn.f32 %f121, %f120, 0f40000000, 0fBF800000; + mul.f32 %f122, %f118, %f118; + fma.rn.f32 %f123, %f115, %f115, %f122; + fma.rn.f32 %f124, %f121, %f121, %f123; + sqrt.rn.f32 %f125, %f124; + rcp.rn.f32 %f126, %f125; + mul.f32 %f848, %f115, %f126; + mul.f32 %f849, %f118, %f126; + mul.f32 %f850, %f121, %f126; + +BB0_2: + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + ld.global.v2.u32 {%r36, %r37}, [tileInfo]; + add.s32 %r2, %r33, %r36; + add.s32 %r3, %r34, %r37; + setp.eq.f32 %p7, %f849, 0f00000000; + setp.eq.f32 %p8, %f848, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f850, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_105; + bra.uni BB0_3; + +BB0_105: + ld.global.u32 %r241, [imageEnabled]; + and.b32 %r190, %r241, 1; + setp.eq.b32 %p114, %r190, 1; + @!%p114 bra BB0_107; + bra.uni BB0_106; + +BB0_106: + cvt.u64.u32 %rd256, %r2; + cvt.u64.u32 %rd257, %r3; + mov.u64 %rd260, image; + cvta.global.u64 %rd255, %rd260; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r26, %r27, %rd256, %rd257, %rd15, %rd15); + // inline asm + mov.u16 %rs153, 0; + st.v4.u8 [%rd254], {%rs153, %rs153, %rs153, %rs153}; + ld.global.u32 %r241, [imageEnabled]; + +BB0_107: + and.b32 %r193, %r241, 8; + setp.eq.s32 %p115, %r193, 0; + @%p115 bra BB0_109; + + cvt.u64.u32 %rd264, %r3; + cvt.u64.u32 %rd263, %r2; + mov.u64 %rd267, image_Mask; + cvta.global.u64 %rd262, %rd267; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r26, %r26, %rd263, %rd264, %rd15, %rd15); + // inline asm + mov.f32 %f761, 0f00000000; + cvt.rzi.u32.f32 %r196, %f761; + cvt.u16.u32 %rs154, %r196; + mov.u16 %rs155, 0; + st.v2.u8 [%rd261], {%rs154, %rs155}; + ld.global.u32 %r241, [imageEnabled]; + +BB0_109: + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + and.b32 %r197, %r241, 4; + setp.eq.s32 %p116, %r197, 0; + @%p116 bra BB0_113; + + ld.global.u32 %r198, [additive]; + setp.eq.s32 %p117, %r198, 0; + @%p117 bra BB0_112; + + mov.u64 %rd280, image_HDR; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r202, 8; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r26, %r202, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs162, %rs163, %rs164, %rs165}, [%rd268]; + // inline asm + { cvt.f32.f16 %f762, %rs162;} + + // inline asm + // inline asm + { cvt.f32.f16 %f763, %rs163;} + + // inline asm + // inline asm + { cvt.f32.f16 %f764, %rs164;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r26, %r202, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f765, %f762, 0f00000000; + add.f32 %f766, %f763, 0f00000000; + add.f32 %f767, %f764, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs161, %f767;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs160, %f766;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs159, %f765;} + + // inline asm + mov.u16 %rs166, 0; + st.v4.u16 [%rd274], {%rs159, %rs160, %rs161, %rs166}; + bra.uni BB0_113; + +BB0_3: + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd19, %r43; + cvt.u64.u32 %rd20, %r44; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r42, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r26, %r42, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f7, [lightPos]; + ld.f32 %f12, [%rd17+8]; + ld.f32 %f10, [%rd17+4]; + ld.f32 %f8, [%rd17]; + sub.f32 %f129, %f7, %f8; + ld.global.f32 %f9, [lightPos+4]; + sub.f32 %f130, %f9, %f10; + ld.global.f32 %f11, [lightPos+8]; + sub.f32 %f131, %f11, %f12; + mul.f32 %f132, %f130, %f130; + fma.rn.f32 %f133, %f129, %f129, %f132; + fma.rn.f32 %f134, %f131, %f131, %f133; + sqrt.rn.f32 %f135, %f134; + rcp.rn.f32 %f136, %f135; + ld.global.f32 %f137, [lightFalloffFakeDistanceMult]; + mul.f32 %f16, %f135, %f137; + ld.global.f32 %f138, [lightInvCutoff]; + mul.f32 %f17, %f135, %f138; + mov.f32 %f142, 0f40800000; + abs.f32 %f19, %f17; + setp.lt.f32 %p12, %f19, 0f00800000; + mul.f32 %f144, %f19, 0f4B800000; + selp.f32 %f145, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f146, %f144, %f19, %p12; + mov.b32 %r47, %f146; + and.b32 %r48, %r47, 8388607; + or.b32 %r49, %r48, 1065353216; + mov.b32 %f147, %r49; + shr.u32 %r50, %r47, 23; + cvt.rn.f32.u32 %f148, %r50; + add.f32 %f149, %f145, %f148; + setp.gt.f32 %p13, %f147, 0f3FB504F3; + mul.f32 %f150, %f147, 0f3F000000; + add.f32 %f151, %f149, 0f3F800000; + selp.f32 %f152, %f150, %f147, %p13; + selp.f32 %f153, %f151, %f149, %p13; + add.f32 %f154, %f152, 0fBF800000; + add.f32 %f128, %f152, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f127,%f128; + // inline asm + add.f32 %f155, %f154, %f154; + mul.f32 %f156, %f127, %f155; + mul.f32 %f157, %f156, %f156; + mov.f32 %f158, 0f3C4CAF63; + mov.f32 %f159, 0f3B18F0FE; + fma.rn.f32 %f160, %f159, %f157, %f158; + mov.f32 %f161, 0f3DAAAABD; + fma.rn.f32 %f162, %f160, %f157, %f161; + mul.rn.f32 %f163, %f162, %f157; + mul.rn.f32 %f164, %f163, %f156; + sub.f32 %f165, %f154, %f156; + neg.f32 %f166, %f156; + add.f32 %f167, %f165, %f165; + fma.rn.f32 %f168, %f166, %f154, %f167; + mul.rn.f32 %f169, %f127, %f168; + add.f32 %f170, %f164, %f156; + sub.f32 %f171, %f156, %f170; + add.f32 %f172, %f164, %f171; + add.f32 %f173, %f169, %f172; + add.f32 %f174, %f170, %f173; + sub.f32 %f175, %f170, %f174; + add.f32 %f176, %f173, %f175; + mov.f32 %f177, 0f3F317200; + mul.rn.f32 %f178, %f153, %f177; + mov.f32 %f179, 0f35BFBE8E; + mul.rn.f32 %f180, %f153, %f179; + add.f32 %f181, %f178, %f174; + sub.f32 %f182, %f178, %f181; + add.f32 %f183, %f174, %f182; + add.f32 %f184, %f176, %f183; + add.f32 %f185, %f180, %f184; + add.f32 %f186, %f181, %f185; + sub.f32 %f187, %f181, %f186; + add.f32 %f188, %f185, %f187; + mul.rn.f32 %f189, %f142, %f186; + neg.f32 %f190, %f189; + fma.rn.f32 %f191, %f142, %f186, %f190; + fma.rn.f32 %f192, %f142, %f188, %f191; + mov.f32 %f193, 0f00000000; + fma.rn.f32 %f194, %f193, %f186, %f192; + add.rn.f32 %f195, %f189, %f194; + neg.f32 %f196, %f195; + add.rn.f32 %f197, %f189, %f196; + add.rn.f32 %f198, %f197, %f194; + mov.b32 %r51, %f195; + setp.eq.s32 %p14, %r51, 1118925336; + add.s32 %r52, %r51, -1; + mov.b32 %f199, %r52; + add.f32 %f200, %f198, 0f37000000; + selp.f32 %f201, %f199, %f195, %p14; + selp.f32 %f20, %f200, %f198, %p14; + mul.f32 %f202, %f201, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f203, %f202; + mov.f32 %f204, 0fBF317200; + fma.rn.f32 %f205, %f203, %f204, %f201; + mov.f32 %f206, 0fB5BFBE8E; + fma.rn.f32 %f207, %f203, %f206, %f205; + mul.f32 %f208, %f207, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f209, %f208; + add.f32 %f210, %f203, 0f00000000; + ex2.approx.f32 %f211, %f210; + mul.f32 %f212, %f209, %f211; + setp.lt.f32 %p15, %f201, 0fC2D20000; + selp.f32 %f213, 0f00000000, %f212, %p15; + setp.gt.f32 %p16, %f201, 0f42D20000; + selp.f32 %f851, 0f7F800000, %f213, %p16; + setp.eq.f32 %p17, %f851, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f851, %f851, %f20, %f851; + +BB0_5: + mov.f32 %f802, 0f40000000; + cvt.rzi.f32.f32 %f801, %f802; + add.f32 %f800, %f801, %f801; + mov.f32 %f799, 0f40800000; + sub.f32 %f798, %f799, %f800; + abs.f32 %f797, %f798; + setp.lt.f32 %p18, %f17, 0f00000000; + setp.eq.f32 %p19, %f797, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r53, %f851; + xor.b32 %r54, %r53, -2147483648; + mov.b32 %f214, %r54; + selp.f32 %f853, %f214, %f851, %p1; + setp.eq.f32 %p20, %f17, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f217, %f17, %f17; + selp.f32 %f853, %f217, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f17, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f847, 0f40800000; + cvt.rzi.f32.f32 %f216, %f847; + setp.neu.f32 %p22, %f216, 0f40800000; + selp.f32 %f853, 0f7FFFFFFF, %f853, %p22; + +BB0_9: + abs.f32 %f803, %f17; + add.f32 %f218, %f803, 0f40800000; + mov.b32 %r55, %f218; + setp.lt.s32 %p24, %r55, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f845, %f17; + setp.gtu.f32 %p25, %f845, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f853, %f17, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f846, %f17; + setp.neu.f32 %p26, %f846, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f853, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + sub.f32 %f809, %f11, %f12; + mul.f32 %f808, %f809, %f136; + sub.f32 %f807, %f7, %f8; + mul.f32 %f806, %f807, %f136; + sub.f32 %f805, %f9, %f10; + mul.f32 %f804, %f805, %f136; + mov.f32 %f859, 0f3F800000; + sub.f32 %f220, %f859, %f853; + setp.eq.f32 %p27, %f17, 0f3F800000; + selp.f32 %f221, 0f00000000, %f220, %p27; + cvt.sat.f32.f32 %f222, %f221; + ld.global.f32 %f223, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f224, %f16, %f16, %f223; + div.rn.f32 %f225, %f222, %f224; + mul.f32 %f226, %f849, %f804; + fma.rn.f32 %f227, %f848, %f806, %f226; + fma.rn.f32 %f31, %f850, %f808, %f227; + ld.global.u32 %r239, [imageEnabled]; + ld.global.f32 %f228, [lightConeDir]; + mul.f32 %f229, %f806, %f228; + ld.global.f32 %f230, [lightConeDir+4]; + mul.f32 %f231, %f804, %f230; + neg.f32 %f232, %f231; + sub.f32 %f233, %f232, %f229; + ld.global.f32 %f234, [lightConeDir+8]; + mul.f32 %f235, %f808, %f234; + sub.f32 %f236, %f233, %f235; + ld.global.v2.f32 {%f237, %f238}, [lightCone]; + fma.rn.f32 %f241, %f237, %f236, %f238; + cvt.sat.f32.f32 %f242, %f241; + mul.f32 %f243, %f242, %f242; + mul.f32 %f32, %f225, %f243; + ld.global.f32 %f244, [lightColor+4]; + ld.global.f32 %f245, [lightColor]; + max.f32 %f246, %f245, %f244; + ld.global.f32 %f247, [lightColor+8]; + max.f32 %f248, %f246, %f247; + mul.f32 %f249, %f32, %f248; + setp.lt.f32 %p28, %f249, 0f3727C5AC; + @%p28 bra BB0_85; + bra.uni BB0_15; + +BB0_85: + and.b32 %r147, %r239, 1; + setp.eq.b32 %p106, %r147, 1; + @!%p106 bra BB0_87; + bra.uni BB0_86; + +BB0_86: + cvt.u64.u32 %rd142, %r2; + cvt.u64.u32 %rd143, %r3; + mov.u64 %rd146, image; + cvta.global.u64 %rd141, %rd146; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r26, %r27, %rd142, %rd143, %rd15, %rd15); + // inline asm + mov.u16 %rs89, 1; + mov.u16 %rs90, 0; + st.v4.u8 [%rd140], {%rs90, %rs90, %rs90, %rs89}; + ld.global.u32 %r239, [imageEnabled]; + +BB0_87: + and.b32 %r150, %r239, 8; + setp.eq.s32 %p107, %r150, 0; + @%p107 bra BB0_89; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd149, %r2; + mov.u64 %rd153, image_Mask; + cvta.global.u64 %rd148, %rd153; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r26, %r26, %rd149, %rd150, %rd15, %rd15); + // inline asm + mov.f32 %f718, 0f00000000; + cvt.rzi.u32.f32 %r153, %f718; + cvt.u16.u32 %rs91, %r153; + mov.u16 %rs92, 255; + st.v2.u8 [%rd147], {%rs91, %rs92}; + ld.global.u32 %r239, [imageEnabled]; + +BB0_89: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r154, %r239, 4; + setp.eq.s32 %p108, %r154, 0; + @%p108 bra BB0_93; + + ld.global.u32 %r155, [additive]; + setp.eq.s32 %p109, %r155, 0; + mov.f32 %f719, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs93, %f719;} + + // inline asm + @%p109 bra BB0_92; + + mov.u64 %rd166, image_HDR; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r159, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r26, %r159, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs100, %rs101, %rs102, %rs103}, [%rd154]; + // inline asm + { cvt.f32.f16 %f720, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f721, %rs101;} + + // inline asm + // inline asm + { cvt.f32.f16 %f722, %rs102;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r26, %r159, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f723, %f720, 0f00000000; + add.f32 %f724, %f721, 0f00000000; + add.f32 %f725, %f722, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs99, %f725;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f724;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f723;} + + // inline asm + st.v4.u16 [%rd160], {%rs97, %rs98, %rs99, %rs93}; + bra.uni BB0_93; + +BB0_15: + mov.f32 %f857, 0f00000000; + mul.f32 %f251, %f8, 0f3456BF95; + abs.f32 %f252, %f848; + div.rn.f32 %f253, %f251, %f252; + abs.f32 %f254, %f849; + mul.f32 %f255, %f10, 0f3456BF95; + div.rn.f32 %f256, %f255, %f254; + abs.f32 %f257, %f850; + mul.f32 %f258, %f12, 0f3456BF95; + div.rn.f32 %f259, %f258, %f257; + abs.f32 %f260, %f253; + abs.f32 %f261, %f256; + abs.f32 %f262, %f259; + mov.f32 %f263, 0f38D1B717; + max.f32 %f264, %f260, %f263; + max.f32 %f265, %f261, %f263; + max.f32 %f266, %f262, %f263; + fma.rn.f32 %f33, %f848, %f264, %f8; + fma.rn.f32 %f34, %f849, %f265, %f10; + fma.rn.f32 %f35, %f850, %f266, %f12; + ld.global.u32 %r235, [samples]; + setp.lt.s32 %p29, %r235, 1; + @%p29 bra BB0_18; + + mul.f32 %f268, %f33, 0f3456BF95; + abs.f32 %f269, %f268; + mul.f32 %f270, %f34, 0f3456BF95; + abs.f32 %f271, %f270; + mul.f32 %f272, %f35, 0f3456BF95; + abs.f32 %f273, %f272; + max.f32 %f274, %f269, %f271; + max.f32 %f275, %f274, %f273; + max.f32 %f36, %f275, %f263; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f857, 0f00000000; + mov.u32 %r234, 0; + mov.u32 %r233, %r239; + mov.f32 %f854, %f11; + mov.f32 %f855, %f9; + mov.f32 %f856, %f7; + bra.uni BB0_17; + +BB0_84: + ld.global.f32 %f856, [lightPos]; + ld.global.f32 %f855, [lightPos+4]; + ld.global.f32 %f854, [lightPos+8]; + ld.global.u32 %r233, [imageEnabled]; + +BB0_17: + cvt.rn.f32.s32 %f285, %r234; + mul.f32 %f286, %f285, 0f3DD32618; + cvt.rmi.f32.f32 %f287, %f286; + sub.f32 %f288, %f286, %f287; + mul.f32 %f289, %f285, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f290, %f289; + sub.f32 %f291, %f289, %f290; + mul.f32 %f292, %f285, 0f3DC74539; + cvt.rmi.f32.f32 %f293, %f292; + sub.f32 %f294, %f292, %f293; + add.f32 %f295, %f291, 0f4199851F; + add.f32 %f296, %f294, 0f4199851F; + add.f32 %f297, %f288, 0f4199851F; + mul.f32 %f298, %f291, %f296; + fma.rn.f32 %f299, %f288, %f295, %f298; + fma.rn.f32 %f300, %f297, %f294, %f299; + add.f32 %f301, %f288, %f300; + add.f32 %f302, %f291, %f300; + add.f32 %f303, %f294, %f300; + add.f32 %f304, %f301, %f302; + mul.f32 %f305, %f303, %f304; + cvt.rmi.f32.f32 %f306, %f305; + sub.f32 %f307, %f305, %f306; + add.f32 %f308, %f301, %f303; + mul.f32 %f309, %f302, %f308; + cvt.rmi.f32.f32 %f310, %f309; + sub.f32 %f311, %f309, %f310; + add.f32 %f312, %f302, %f303; + mul.f32 %f313, %f301, %f312; + cvt.rmi.f32.f32 %f314, %f313; + sub.f32 %f315, %f313, %f314; + fma.rn.f32 %f316, %f307, 0f40000000, 0fBF800000; + fma.rn.f32 %f317, %f311, 0f40000000, 0fBF800000; + fma.rn.f32 %f318, %f315, 0f40000000, 0fBF800000; + ld.global.f32 %f319, [lightRadius]; + fma.rn.f32 %f320, %f319, %f316, %f856; + fma.rn.f32 %f321, %f319, %f317, %f855; + fma.rn.f32 %f322, %f319, %f318, %f854; + sub.f32 %f323, %f320, %f8; + sub.f32 %f324, %f321, %f10; + sub.f32 %f325, %f322, %f12; + mul.f32 %f326, %f324, %f324; + fma.rn.f32 %f327, %f323, %f323, %f326; + fma.rn.f32 %f328, %f325, %f325, %f327; + sqrt.rn.f32 %f284, %f328; + rcp.rn.f32 %f329, %f284; + mul.f32 %f280, %f329, %f323; + mul.f32 %f281, %f329, %f324; + mul.f32 %f282, %f329, %f325; + and.b32 %r60, %r233, 32; + setp.eq.s32 %p30, %r60, 0; + selp.f32 %f330, 0f3F800000, 0f41200000, %p30; + mul.f32 %f283, %f330, %f36; + mov.u32 %r61, 1065353216; + st.local.u32 [%rd2], %r61; + ld.global.u32 %r57, [root]; + mov.u32 %r58, 1; + // inline asm + call _rt_trace_64, (%r57, %f33, %f34, %f35, %f280, %f281, %f282, %r58, %f283, %f284, %rd24, %r27); + // inline asm + ld.local.f32 %f331, [%rd2]; + add.f32 %f857, %f857, %f331; + ld.global.u32 %r235, [samples]; + add.s32 %r234, %r234, 1; + setp.lt.s32 %p31, %r234, %r235; + @%p31 bra BB0_84; + +BB0_18: + ld.global.u32 %r62, [ignoreNormal]; + setp.eq.s32 %p32, %r235, 0; + and.b32 %r63, %r239, 32; + or.b32 %r64, %r63, %r62; + setp.eq.s32 %p33, %r64, 0; + selp.f32 %f43, %f31, 0f3F800000, %p33; + @%p32 bra BB0_20; + + cvt.rn.f32.s32 %f333, %r235; + div.rn.f32 %f859, %f857, %f333; + +BB0_20: + cvt.sat.f32.f32 %f334, %f43; + mul.f32 %f335, %f32, %f334; + mul.f32 %f336, %f859, %f335; + ld.global.f32 %f337, [lightColor]; + mul.f32 %f46, %f337, %f336; + ld.global.f32 %f338, [lightColor+4]; + mul.f32 %f47, %f338, %f336; + ld.global.f32 %f339, [lightColor+8]; + mul.f32 %f48, %f336, %f339; + ld.global.u32 %r237, [imageEnabled]; + and.b32 %r65, %r237, 8; + setp.eq.s32 %p34, %r65, 0; + @%p34 bra BB0_33; + + mov.f32 %f817, 0fB5BFBE8E; + mov.f32 %f816, 0fBF317200; + mov.f32 %f815, 0f35BFBE8E; + mov.f32 %f814, 0f3F317200; + mov.f32 %f813, 0f3DAAAABD; + mov.f32 %f812, 0f3C4CAF63; + mov.f32 %f811, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r26, %r26, %rd28, %rd29, %rd15, %rd15); + // inline asm + mov.f32 %f342, 0f3E68BA2E; + cvt.rzi.f32.f32 %f343, %f342; + fma.rn.f32 %f344, %f343, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f49, %f344; + abs.f32 %f50, %f859; + setp.lt.f32 %p35, %f50, 0f00800000; + mul.f32 %f345, %f50, 0f4B800000; + selp.f32 %f346, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f347, %f345, %f50, %p35; + mov.b32 %r68, %f347; + and.b32 %r69, %r68, 8388607; + or.b32 %r70, %r69, 1065353216; + mov.b32 %f348, %r70; + shr.u32 %r71, %r68, 23; + cvt.rn.f32.u32 %f349, %r71; + add.f32 %f350, %f346, %f349; + setp.gt.f32 %p36, %f348, 0f3FB504F3; + mul.f32 %f351, %f348, 0f3F000000; + add.f32 %f352, %f350, 0f3F800000; + selp.f32 %f353, %f351, %f348, %p36; + selp.f32 %f354, %f352, %f350, %p36; + add.f32 %f355, %f353, 0fBF800000; + add.f32 %f341, %f353, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f340,%f341; + // inline asm + add.f32 %f356, %f355, %f355; + mul.f32 %f357, %f340, %f356; + mul.f32 %f358, %f357, %f357; + fma.rn.f32 %f361, %f811, %f358, %f812; + fma.rn.f32 %f363, %f361, %f358, %f813; + mul.rn.f32 %f364, %f363, %f358; + mul.rn.f32 %f365, %f364, %f357; + sub.f32 %f366, %f355, %f357; + neg.f32 %f367, %f357; + add.f32 %f368, %f366, %f366; + fma.rn.f32 %f369, %f367, %f355, %f368; + mul.rn.f32 %f370, %f340, %f369; + add.f32 %f371, %f365, %f357; + sub.f32 %f372, %f357, %f371; + add.f32 %f373, %f365, %f372; + add.f32 %f374, %f370, %f373; + add.f32 %f375, %f371, %f374; + sub.f32 %f376, %f371, %f375; + add.f32 %f377, %f374, %f376; + mul.rn.f32 %f379, %f354, %f814; + mul.rn.f32 %f381, %f354, %f815; + add.f32 %f382, %f379, %f375; + sub.f32 %f383, %f379, %f382; + add.f32 %f384, %f375, %f383; + add.f32 %f385, %f377, %f384; + add.f32 %f386, %f381, %f385; + add.f32 %f387, %f382, %f386; + sub.f32 %f388, %f382, %f387; + add.f32 %f389, %f386, %f388; + mov.f32 %f390, 0f3EE8BA2E; + mul.rn.f32 %f391, %f390, %f387; + neg.f32 %f392, %f391; + fma.rn.f32 %f393, %f390, %f387, %f392; + fma.rn.f32 %f394, %f390, %f389, %f393; + mov.f32 %f395, 0f00000000; + fma.rn.f32 %f396, %f395, %f387, %f394; + add.rn.f32 %f397, %f391, %f396; + neg.f32 %f398, %f397; + add.rn.f32 %f399, %f391, %f398; + add.rn.f32 %f400, %f399, %f396; + mov.b32 %r72, %f397; + setp.eq.s32 %p37, %r72, 1118925336; + add.s32 %r73, %r72, -1; + mov.b32 %f401, %r73; + add.f32 %f402, %f400, 0f37000000; + selp.f32 %f403, %f401, %f397, %p37; + selp.f32 %f51, %f402, %f400, %p37; + mul.f32 %f404, %f403, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f405, %f404; + fma.rn.f32 %f407, %f405, %f816, %f403; + fma.rn.f32 %f409, %f405, %f817, %f407; + mul.f32 %f410, %f409, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f411, %f410; + add.f32 %f412, %f405, 0f00000000; + ex2.approx.f32 %f413, %f412; + mul.f32 %f414, %f411, %f413; + setp.lt.f32 %p38, %f403, 0fC2D20000; + selp.f32 %f415, 0f00000000, %f414, %p38; + setp.gt.f32 %p39, %f403, 0f42D20000; + selp.f32 %f860, 0f7F800000, %f415, %p39; + setp.eq.f32 %p40, %f860, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f860, %f860, %f51, %f860; + +BB0_23: + setp.lt.f32 %p41, %f859, 0f00000000; + setp.eq.f32 %p42, %f49, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r74, %f860; + xor.b32 %r75, %r74, -2147483648; + mov.b32 %f416, %r75; + selp.f32 %f862, %f416, %f860, %p2; + setp.eq.f32 %p43, %f859, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f419, %f859, %f859; + selp.f32 %f862, %f419, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_112: + mov.u64 %rd287, image_HDR; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r204, 8; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r26, %r204, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f768, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f768;} + + // inline asm + mov.u16 %rs168, 0; + st.v4.u16 [%rd281], {%rs167, %rs167, %rs167, %rs168}; + +BB0_113: + ld.global.u32 %r205, [additive]; + setp.eq.s32 %p118, %r205, 0; + @%p118 bra BB0_115; + + mov.u64 %rd300, image_RNM0; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r209, 8; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r26, %r209, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs175, %rs176, %rs177, %rs178}, [%rd288]; + // inline asm + { cvt.f32.f16 %f769, %rs175;} + + // inline asm + // inline asm + { cvt.f32.f16 %f770, %rs176;} + + // inline asm + // inline asm + { cvt.f32.f16 %f771, %rs177;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r26, %r209, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f772, %f769, 0f00000000; + add.f32 %f773, %f770, 0f00000000; + add.f32 %f774, %f771, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs174, %f774;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs173, %f773;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs172, %f772;} + + // inline asm + mov.u16 %rs179, 0; + st.v4.u16 [%rd294], {%rs172, %rs173, %rs174, %rs179}; + bra.uni BB0_116; + +BB0_115: + mov.u64 %rd307, image_RNM0; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r211, 8; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r26, %r211, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f775, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs180, %f775;} + + // inline asm + mov.u16 %rs181, 0; + st.v4.u16 [%rd301], {%rs180, %rs180, %rs180, %rs181}; + +BB0_116: + ld.global.u32 %r212, [additive]; + setp.eq.s32 %p119, %r212, 0; + @%p119 bra BB0_118; + + mov.u64 %rd320, image_RNM1; + cvta.global.u64 %rd309, %rd320; + mov.u32 %r216, 8; + // inline asm + call (%rd308), _rt_buffer_get_64, (%rd309, %r26, %r216, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs188, %rs189, %rs190, %rs191}, [%rd308]; + // inline asm + { cvt.f32.f16 %f776, %rs188;} + + // inline asm + // inline asm + { cvt.f32.f16 %f777, %rs189;} + + // inline asm + // inline asm + { cvt.f32.f16 %f778, %rs190;} + + // inline asm + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd309, %r26, %r216, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f779, %f776, 0f00000000; + add.f32 %f780, %f777, 0f00000000; + add.f32 %f781, %f778, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs187, %f781;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs186, %f780;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs185, %f779;} + + // inline asm + mov.u16 %rs192, 0; + st.v4.u16 [%rd314], {%rs185, %rs186, %rs187, %rs192}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd327, image_RNM1; + cvta.global.u64 %rd322, %rd327; + mov.u32 %r218, 8; + // inline asm + call (%rd321), _rt_buffer_get_64, (%rd322, %r26, %r218, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f782, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs193, %f782;} + + // inline asm + mov.u16 %rs194, 0; + st.v4.u16 [%rd321], {%rs193, %rs193, %rs193, %rs194}; + +BB0_119: + ld.global.u32 %r219, [additive]; + setp.eq.s32 %p120, %r219, 0; + @%p120 bra BB0_121; + + mov.u64 %rd340, image_RNM2; + cvta.global.u64 %rd329, %rd340; + mov.u32 %r223, 8; + // inline asm + call (%rd328), _rt_buffer_get_64, (%rd329, %r26, %r223, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs201, %rs202, %rs203, %rs204}, [%rd328]; + // inline asm + { cvt.f32.f16 %f783, %rs201;} + + // inline asm + // inline asm + { cvt.f32.f16 %f784, %rs202;} + + // inline asm + // inline asm + { cvt.f32.f16 %f785, %rs203;} + + // inline asm + // inline asm + call (%rd334), _rt_buffer_get_64, (%rd329, %r26, %r223, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f786, %f783, 0f00000000; + add.f32 %f787, %f784, 0f00000000; + add.f32 %f788, %f785, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs200, %f788;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs199, %f787;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs198, %f786;} + + // inline asm + mov.u16 %rs205, 0; + st.v4.u16 [%rd334], {%rs198, %rs199, %rs200, %rs205}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd347, image_RNM2; + cvta.global.u64 %rd342, %rd347; + mov.u32 %r225, 8; + // inline asm + call (%rd341), _rt_buffer_get_64, (%rd342, %r26, %r225, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f789, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs206, %f789;} + + // inline asm + mov.u16 %rs207, 0; + st.v4.u16 [%rd341], {%rs206, %rs206, %rs206, %rs207}; + +BB0_122: + ld.global.u32 %r226, [additive]; + setp.eq.s32 %p121, %r226, 0; + @%p121 bra BB0_124; + + mov.u64 %rd360, image_RNM3; + cvta.global.u64 %rd349, %rd360; + mov.u32 %r230, 8; + // inline asm + call (%rd348), _rt_buffer_get_64, (%rd349, %r26, %r230, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs214, %rs215, %rs216, %rs217}, [%rd348]; + // inline asm + { cvt.f32.f16 %f790, %rs214;} + + // inline asm + // inline asm + { cvt.f32.f16 %f791, %rs215;} + + // inline asm + // inline asm + { cvt.f32.f16 %f792, %rs216;} + + // inline asm + // inline asm + call (%rd354), _rt_buffer_get_64, (%rd349, %r26, %r230, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f793, %f790, 0f00000000; + add.f32 %f794, %f791, 0f00000000; + add.f32 %f795, %f792, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs213, %f795;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs212, %f794;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs211, %f793;} + + // inline asm + mov.u16 %rs218, 0; + st.v4.u16 [%rd354], {%rs211, %rs212, %rs213, %rs218}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd367, image_RNM3; + cvta.global.u64 %rd362, %rd367; + mov.u32 %r232, 8; + // inline asm + call (%rd361), _rt_buffer_get_64, (%rd362, %r26, %r232, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f796, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs219, %f796;} + + // inline asm + mov.u16 %rs220, 0; + st.v4.u16 [%rd361], {%rs219, %rs219, %rs219, %rs220}; + bra.uni BB0_125; + +BB0_92: + mov.u64 %rd173, image_HDR; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r161, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r26, %r161, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f726, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f726;} + + // inline asm + st.v4.u16 [%rd167], {%rs104, %rs104, %rs104, %rs93}; + +BB0_93: + ld.global.u32 %r162, [additive]; + setp.eq.s32 %p110, %r162, 0; + mov.f32 %f727, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f727;} + + // inline asm + @%p110 bra BB0_95; + + mov.u64 %rd186, image_RNM0; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r166, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r26, %r166, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd174]; + // inline asm + { cvt.f32.f16 %f728, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f729, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f730, %rs114;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r26, %r166, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f731, %f728, 0f00000000; + add.f32 %f732, %f729, 0f00000000; + add.f32 %f733, %f730, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f733;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f732;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f731;} + + // inline asm + st.v4.u16 [%rd180], {%rs109, %rs110, %rs111, %rs105}; + bra.uni BB0_96; + +BB0_95: + mov.u64 %rd193, image_RNM0; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r168, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r26, %r168, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f734, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f734;} + + // inline asm + st.v4.u16 [%rd187], {%rs116, %rs116, %rs116, %rs105}; + +BB0_96: + ld.global.u32 %r169, [additive]; + setp.eq.s32 %p111, %r169, 0; + // inline asm + { cvt.rn.f16.f32 %rs117, %f727;} + + // inline asm + @%p111 bra BB0_98; + + mov.u64 %rd206, image_RNM1; + cvta.global.u64 %rd195, %rd206; + mov.u32 %r173, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r26, %r173, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd194]; + // inline asm + { cvt.f32.f16 %f736, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f737, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f738, %rs126;} + + // inline asm + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd195, %r26, %r173, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f739, %f736, 0f00000000; + add.f32 %f740, %f737, 0f00000000; + add.f32 %f741, %f738, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f741;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f740;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f739;} + + // inline asm + st.v4.u16 [%rd200], {%rs121, %rs122, %rs123, %rs117}; + bra.uni BB0_99; + +BB0_98: + mov.u64 %rd213, image_RNM1; + cvta.global.u64 %rd208, %rd213; + mov.u32 %r175, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r26, %r175, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f742, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f742;} + + // inline asm + st.v4.u16 [%rd207], {%rs128, %rs128, %rs128, %rs117}; + +BB0_99: + ld.global.u32 %r176, [additive]; + setp.eq.s32 %p112, %r176, 0; + // inline asm + { cvt.rn.f16.f32 %rs129, %f727;} + + // inline asm + @%p112 bra BB0_101; + + mov.u64 %rd226, image_RNM2; + cvta.global.u64 %rd215, %rd226; + mov.u32 %r180, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r26, %r180, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs136, %rs137, %rs138, %rs139}, [%rd214]; + // inline asm + { cvt.f32.f16 %f744, %rs136;} + + // inline asm + // inline asm + { cvt.f32.f16 %f745, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f746, %rs138;} + + // inline asm + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd215, %r26, %r180, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f747, %f744, 0f00000000; + add.f32 %f748, %f745, 0f00000000; + add.f32 %f749, %f746, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs135, %f749;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f748;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs133, %f747;} + + // inline asm + st.v4.u16 [%rd220], {%rs133, %rs134, %rs135, %rs129}; + bra.uni BB0_102; + +BB0_101: + mov.u64 %rd233, image_RNM2; + cvta.global.u64 %rd228, %rd233; + mov.u32 %r182, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r26, %r182, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f750, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f750;} + + // inline asm + st.v4.u16 [%rd227], {%rs140, %rs140, %rs140, %rs129}; + +BB0_102: + ld.global.u32 %r183, [additive]; + setp.eq.s32 %p113, %r183, 0; + // inline asm + { cvt.rn.f16.f32 %rs141, %f727;} + + // inline asm + @%p113 bra BB0_104; + + mov.u64 %rd246, image_RNM3; + cvta.global.u64 %rd235, %rd246; + mov.u32 %r187, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r26, %r187, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs148, %rs149, %rs150, %rs151}, [%rd234]; + // inline asm + { cvt.f32.f16 %f752, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f753, %rs149;} + + // inline asm + // inline asm + { cvt.f32.f16 %f754, %rs150;} + + // inline asm + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd235, %r26, %r187, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f755, %f752, 0f00000000; + add.f32 %f756, %f753, 0f00000000; + add.f32 %f757, %f754, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f757;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs146, %f756;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f755;} + + // inline asm + st.v4.u16 [%rd240], {%rs145, %rs146, %rs147, %rs141}; + bra.uni BB0_125; + +BB0_104: + mov.u64 %rd253, image_RNM3; + cvta.global.u64 %rd248, %rd253; + mov.u32 %r189, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r26, %r189, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f758, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f758;} + + // inline asm + st.v4.u16 [%rd247], {%rs152, %rs152, %rs152, %rs141}; + bra.uni BB0_125; + +BB0_24: + setp.geu.f32 %p44, %f859, 0f00000000; + @%p44 bra BB0_27; + + cvt.rzi.f32.f32 %f418, %f390; + setp.neu.f32 %p45, %f418, 0f3EE8BA2E; + selp.f32 %f862, 0f7FFFFFFF, %f862, %p45; + +BB0_27: + add.f32 %f420, %f50, 0f3EE8BA2E; + mov.b32 %r76, %f420; + setp.lt.s32 %p47, %r76, 2139095040; + @%p47 bra BB0_32; + + setp.gtu.f32 %p48, %f50, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f862, %f859, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + setp.neu.f32 %p49, %f50, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f862, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f421, %f862, 0f437F0000; + setp.eq.f32 %p50, %f859, 0f3F800000; + selp.f32 %f422, 0f437F0000, %f421, %p50; + cvt.rzi.u32.f32 %r77, %f422; + cvt.u16.u32 %rs19, %r77; + mov.u16 %rs20, 255; + st.v2.u8 [%rd26], {%rs19, %rs20}; + ld.global.u32 %r237, [imageEnabled]; + +BB0_33: + and.b32 %r78, %r237, 1; + setp.eq.b32 %p51, %r78, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f824, 0fB5BFBE8E; + mov.f32 %f823, 0fBF317200; + mov.f32 %f822, 0f35BFBE8E; + mov.f32 %f821, 0f3F317200; + mov.f32 %f820, 0f3DAAAABD; + mov.f32 %f819, 0f3C4CAF63; + mov.f32 %f818, 0f3B18F0FE; + mov.f32 %f425, 0f3E666666; + cvt.rzi.f32.f32 %f426, %f425; + fma.rn.f32 %f427, %f426, 0fC0000000, 0f3EE66666; + abs.f32 %f62, %f427; + abs.f32 %f63, %f46; + setp.lt.f32 %p52, %f63, 0f00800000; + mul.f32 %f428, %f63, 0f4B800000; + selp.f32 %f429, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f430, %f428, %f63, %p52; + mov.b32 %r79, %f430; + and.b32 %r80, %r79, 8388607; + or.b32 %r81, %r80, 1065353216; + mov.b32 %f431, %r81; + shr.u32 %r82, %r79, 23; + cvt.rn.f32.u32 %f432, %r82; + add.f32 %f433, %f429, %f432; + setp.gt.f32 %p53, %f431, 0f3FB504F3; + mul.f32 %f434, %f431, 0f3F000000; + add.f32 %f435, %f433, 0f3F800000; + selp.f32 %f436, %f434, %f431, %p53; + selp.f32 %f437, %f435, %f433, %p53; + add.f32 %f438, %f436, 0fBF800000; + add.f32 %f424, %f436, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f423,%f424; + // inline asm + add.f32 %f439, %f438, %f438; + mul.f32 %f440, %f423, %f439; + mul.f32 %f441, %f440, %f440; + fma.rn.f32 %f444, %f818, %f441, %f819; + fma.rn.f32 %f446, %f444, %f441, %f820; + mul.rn.f32 %f447, %f446, %f441; + mul.rn.f32 %f448, %f447, %f440; + sub.f32 %f449, %f438, %f440; + neg.f32 %f450, %f440; + add.f32 %f451, %f449, %f449; + fma.rn.f32 %f452, %f450, %f438, %f451; + mul.rn.f32 %f453, %f423, %f452; + add.f32 %f454, %f448, %f440; + sub.f32 %f455, %f440, %f454; + add.f32 %f456, %f448, %f455; + add.f32 %f457, %f453, %f456; + add.f32 %f458, %f454, %f457; + sub.f32 %f459, %f454, %f458; + add.f32 %f460, %f457, %f459; + mul.rn.f32 %f462, %f437, %f821; + mul.rn.f32 %f464, %f437, %f822; + add.f32 %f465, %f462, %f458; + sub.f32 %f466, %f462, %f465; + add.f32 %f467, %f458, %f466; + add.f32 %f468, %f460, %f467; + add.f32 %f469, %f464, %f468; + add.f32 %f470, %f465, %f469; + sub.f32 %f471, %f465, %f470; + add.f32 %f472, %f469, %f471; + mov.f32 %f473, 0f3EE66666; + mul.rn.f32 %f474, %f473, %f470; + neg.f32 %f475, %f474; + fma.rn.f32 %f476, %f473, %f470, %f475; + fma.rn.f32 %f477, %f473, %f472, %f476; + mov.f32 %f478, 0f00000000; + fma.rn.f32 %f479, %f478, %f470, %f477; + add.rn.f32 %f480, %f474, %f479; + neg.f32 %f481, %f480; + add.rn.f32 %f482, %f474, %f481; + add.rn.f32 %f483, %f482, %f479; + mov.b32 %r83, %f480; + setp.eq.s32 %p54, %r83, 1118925336; + add.s32 %r84, %r83, -1; + mov.b32 %f484, %r84; + add.f32 %f485, %f483, 0f37000000; + selp.f32 %f486, %f484, %f480, %p54; + selp.f32 %f64, %f485, %f483, %p54; + mul.f32 %f487, %f486, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f488, %f487; + fma.rn.f32 %f490, %f488, %f823, %f486; + fma.rn.f32 %f492, %f488, %f824, %f490; + mul.f32 %f493, %f492, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f494, %f493; + add.f32 %f495, %f488, 0f00000000; + ex2.approx.f32 %f496, %f495; + mul.f32 %f497, %f494, %f496; + setp.lt.f32 %p55, %f486, 0fC2D20000; + selp.f32 %f498, 0f00000000, %f497, %p55; + setp.gt.f32 %p56, %f486, 0f42D20000; + selp.f32 %f863, 0f7F800000, %f498, %p56; + setp.eq.f32 %p57, %f863, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f863, %f863, %f64, %f863; + +BB0_36: + setp.lt.f32 %p58, %f46, 0f00000000; + setp.eq.f32 %p59, %f62, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r85, %f863; + xor.b32 %r86, %r85, -2147483648; + mov.b32 %f499, %r86; + selp.f32 %f865, %f499, %f863, %p3; + setp.eq.f32 %p60, %f46, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f502, %f46, %f46; + selp.f32 %f865, %f502, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f46, 0f00000000; + @%p61 bra BB0_40; + + cvt.rzi.f32.f32 %f501, %f473; + setp.neu.f32 %p62, %f501, 0f3EE66666; + selp.f32 %f865, 0f7FFFFFFF, %f865, %p62; + +BB0_40: + add.f32 %f503, %f63, 0f3EE66666; + mov.b32 %r87, %f503; + setp.lt.s32 %p64, %r87, 2139095040; + @%p64 bra BB0_45; + + setp.gtu.f32 %p65, %f63, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f865, %f46, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p66, %f63, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f865, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f831, 0fB5BFBE8E; + mov.f32 %f830, 0fBF317200; + mov.f32 %f829, 0f35BFBE8E; + mov.f32 %f828, 0f3F317200; + mov.f32 %f827, 0f3DAAAABD; + mov.f32 %f826, 0f3C4CAF63; + mov.f32 %f825, 0f3B18F0FE; + setp.eq.f32 %p67, %f46, 0f3F800000; + selp.f32 %f75, 0f3F800000, %f865, %p67; + abs.f32 %f76, %f47; + setp.lt.f32 %p68, %f76, 0f00800000; + mul.f32 %f506, %f76, 0f4B800000; + selp.f32 %f507, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f508, %f506, %f76, %p68; + mov.b32 %r88, %f508; + and.b32 %r89, %r88, 8388607; + or.b32 %r90, %r89, 1065353216; + mov.b32 %f509, %r90; + shr.u32 %r91, %r88, 23; + cvt.rn.f32.u32 %f510, %r91; + add.f32 %f511, %f507, %f510; + setp.gt.f32 %p69, %f509, 0f3FB504F3; + mul.f32 %f512, %f509, 0f3F000000; + add.f32 %f513, %f511, 0f3F800000; + selp.f32 %f514, %f512, %f509, %p69; + selp.f32 %f515, %f513, %f511, %p69; + add.f32 %f516, %f514, 0fBF800000; + add.f32 %f505, %f514, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f504,%f505; + // inline asm + add.f32 %f517, %f516, %f516; + mul.f32 %f518, %f504, %f517; + mul.f32 %f519, %f518, %f518; + fma.rn.f32 %f522, %f825, %f519, %f826; + fma.rn.f32 %f524, %f522, %f519, %f827; + mul.rn.f32 %f525, %f524, %f519; + mul.rn.f32 %f526, %f525, %f518; + sub.f32 %f527, %f516, %f518; + neg.f32 %f528, %f518; + add.f32 %f529, %f527, %f527; + fma.rn.f32 %f530, %f528, %f516, %f529; + mul.rn.f32 %f531, %f504, %f530; + add.f32 %f532, %f526, %f518; + sub.f32 %f533, %f518, %f532; + add.f32 %f534, %f526, %f533; + add.f32 %f535, %f531, %f534; + add.f32 %f536, %f532, %f535; + sub.f32 %f537, %f532, %f536; + add.f32 %f538, %f535, %f537; + mul.rn.f32 %f540, %f515, %f828; + mul.rn.f32 %f542, %f515, %f829; + add.f32 %f543, %f540, %f536; + sub.f32 %f544, %f540, %f543; + add.f32 %f545, %f536, %f544; + add.f32 %f546, %f538, %f545; + add.f32 %f547, %f542, %f546; + add.f32 %f548, %f543, %f547; + sub.f32 %f549, %f543, %f548; + add.f32 %f550, %f547, %f549; + mul.rn.f32 %f552, %f473, %f548; + neg.f32 %f553, %f552; + fma.rn.f32 %f554, %f473, %f548, %f553; + fma.rn.f32 %f555, %f473, %f550, %f554; + fma.rn.f32 %f557, %f478, %f548, %f555; + add.rn.f32 %f558, %f552, %f557; + neg.f32 %f559, %f558; + add.rn.f32 %f560, %f552, %f559; + add.rn.f32 %f561, %f560, %f557; + mov.b32 %r92, %f558; + setp.eq.s32 %p70, %r92, 1118925336; + add.s32 %r93, %r92, -1; + mov.b32 %f562, %r93; + add.f32 %f563, %f561, 0f37000000; + selp.f32 %f564, %f562, %f558, %p70; + selp.f32 %f77, %f563, %f561, %p70; + mul.f32 %f565, %f564, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f566, %f565; + fma.rn.f32 %f568, %f566, %f830, %f564; + fma.rn.f32 %f570, %f566, %f831, %f568; + mul.f32 %f571, %f570, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f572, %f571; + add.f32 %f573, %f566, 0f00000000; + ex2.approx.f32 %f574, %f573; + mul.f32 %f575, %f572, %f574; + setp.lt.f32 %p71, %f564, 0fC2D20000; + selp.f32 %f576, 0f00000000, %f575, %p71; + setp.gt.f32 %p72, %f564, 0f42D20000; + selp.f32 %f866, 0f7F800000, %f576, %p72; + setp.eq.f32 %p73, %f866, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f866, %f866, %f77, %f866; + +BB0_47: + setp.lt.f32 %p74, %f47, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r94, %f866; + xor.b32 %r95, %r94, -2147483648; + mov.b32 %f577, %r95; + selp.f32 %f868, %f577, %f866, %p4; + setp.eq.f32 %p76, %f47, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f580, %f47, %f47; + selp.f32 %f868, %f580, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f47, 0f00000000; + @%p77 bra BB0_51; + + cvt.rzi.f32.f32 %f579, %f473; + setp.neu.f32 %p78, %f579, 0f3EE66666; + selp.f32 %f868, 0f7FFFFFFF, %f868, %p78; + +BB0_51: + add.f32 %f581, %f76, 0f3EE66666; + mov.b32 %r96, %f581; + setp.lt.s32 %p80, %r96, 2139095040; + @%p80 bra BB0_56; + + setp.gtu.f32 %p81, %f76, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f868, %f47, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p82, %f76, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f868, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f838, 0fB5BFBE8E; + mov.f32 %f837, 0fBF317200; + mov.f32 %f836, 0f35BFBE8E; + mov.f32 %f835, 0f3F317200; + mov.f32 %f834, 0f3DAAAABD; + mov.f32 %f833, 0f3C4CAF63; + mov.f32 %f832, 0f3B18F0FE; + setp.eq.f32 %p83, %f47, 0f3F800000; + selp.f32 %f88, 0f3F800000, %f868, %p83; + abs.f32 %f89, %f48; + setp.lt.f32 %p84, %f89, 0f00800000; + mul.f32 %f584, %f89, 0f4B800000; + selp.f32 %f585, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f586, %f584, %f89, %p84; + mov.b32 %r97, %f586; + and.b32 %r98, %r97, 8388607; + or.b32 %r99, %r98, 1065353216; + mov.b32 %f587, %r99; + shr.u32 %r100, %r97, 23; + cvt.rn.f32.u32 %f588, %r100; + add.f32 %f589, %f585, %f588; + setp.gt.f32 %p85, %f587, 0f3FB504F3; + mul.f32 %f590, %f587, 0f3F000000; + add.f32 %f591, %f589, 0f3F800000; + selp.f32 %f592, %f590, %f587, %p85; + selp.f32 %f593, %f591, %f589, %p85; + add.f32 %f594, %f592, 0fBF800000; + add.f32 %f583, %f592, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f582,%f583; + // inline asm + add.f32 %f595, %f594, %f594; + mul.f32 %f596, %f582, %f595; + mul.f32 %f597, %f596, %f596; + fma.rn.f32 %f600, %f832, %f597, %f833; + fma.rn.f32 %f602, %f600, %f597, %f834; + mul.rn.f32 %f603, %f602, %f597; + mul.rn.f32 %f604, %f603, %f596; + sub.f32 %f605, %f594, %f596; + neg.f32 %f606, %f596; + add.f32 %f607, %f605, %f605; + fma.rn.f32 %f608, %f606, %f594, %f607; + mul.rn.f32 %f609, %f582, %f608; + add.f32 %f610, %f604, %f596; + sub.f32 %f611, %f596, %f610; + add.f32 %f612, %f604, %f611; + add.f32 %f613, %f609, %f612; + add.f32 %f614, %f610, %f613; + sub.f32 %f615, %f610, %f614; + add.f32 %f616, %f613, %f615; + mul.rn.f32 %f618, %f593, %f835; + mul.rn.f32 %f620, %f593, %f836; + add.f32 %f621, %f618, %f614; + sub.f32 %f622, %f618, %f621; + add.f32 %f623, %f614, %f622; + add.f32 %f624, %f616, %f623; + add.f32 %f625, %f620, %f624; + add.f32 %f626, %f621, %f625; + sub.f32 %f627, %f621, %f626; + add.f32 %f628, %f625, %f627; + mul.rn.f32 %f630, %f473, %f626; + neg.f32 %f631, %f630; + fma.rn.f32 %f632, %f473, %f626, %f631; + fma.rn.f32 %f633, %f473, %f628, %f632; + fma.rn.f32 %f635, %f478, %f626, %f633; + add.rn.f32 %f636, %f630, %f635; + neg.f32 %f637, %f636; + add.rn.f32 %f638, %f630, %f637; + add.rn.f32 %f639, %f638, %f635; + mov.b32 %r101, %f636; + setp.eq.s32 %p86, %r101, 1118925336; + add.s32 %r102, %r101, -1; + mov.b32 %f640, %r102; + add.f32 %f641, %f639, 0f37000000; + selp.f32 %f642, %f640, %f636, %p86; + selp.f32 %f90, %f641, %f639, %p86; + mul.f32 %f643, %f642, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f644, %f643; + fma.rn.f32 %f646, %f644, %f837, %f642; + fma.rn.f32 %f648, %f644, %f838, %f646; + mul.f32 %f649, %f648, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f650, %f649; + add.f32 %f651, %f644, 0f00000000; + ex2.approx.f32 %f652, %f651; + mul.f32 %f653, %f650, %f652; + setp.lt.f32 %p87, %f642, 0fC2D20000; + selp.f32 %f654, 0f00000000, %f653, %p87; + setp.gt.f32 %p88, %f642, 0f42D20000; + selp.f32 %f869, 0f7F800000, %f654, %p88; + setp.eq.f32 %p89, %f869, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f869, %f869, %f90, %f869; + +BB0_58: + setp.lt.f32 %p90, %f48, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r103, %f869; + xor.b32 %r104, %r103, -2147483648; + mov.b32 %f655, %r104; + selp.f32 %f871, %f655, %f869, %p5; + setp.eq.f32 %p92, %f48, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f658, %f48, %f48; + selp.f32 %f871, %f658, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f48, 0f00000000; + @%p93 bra BB0_62; + + cvt.rzi.f32.f32 %f657, %f473; + setp.neu.f32 %p94, %f657, 0f3EE66666; + selp.f32 %f871, 0f7FFFFFFF, %f871, %p94; + +BB0_62: + add.f32 %f659, %f89, 0f3EE66666; + mov.b32 %r105, %f659; + setp.lt.s32 %p96, %r105, 2139095040; + @%p96 bra BB0_67; + + setp.gtu.f32 %p97, %f89, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f871, %f48, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p98, %f89, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f871, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p99, %f48, 0f3F800000; + selp.f32 %f660, 0f3F800000, %f871, %p99; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r26, %r27, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f661, %f660; + mul.f32 %f662, %f661, 0f437FFD71; + cvt.rzi.u32.f32 %r108, %f662; + cvt.sat.f32.f32 %f663, %f88; + mul.f32 %f664, %f663, 0f437FFD71; + cvt.rzi.u32.f32 %r109, %f664; + cvt.sat.f32.f32 %f665, %f75; + mul.f32 %f666, %f665, 0f437FFD71; + cvt.rzi.u32.f32 %r110, %f666; + cvt.u16.u32 %rs21, %r108; + cvt.u16.u32 %rs22, %r110; + cvt.u16.u32 %rs23, %r109; + mov.u16 %rs24, 255; + st.v4.u8 [%rd33], {%rs21, %rs23, %rs22, %rs24}; + ld.global.u32 %r237, [imageEnabled]; + +BB0_68: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r111, %r237, 4; + setp.eq.s32 %p100, %r111, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r112, [additive]; + setp.eq.s32 %p101, %r112, 0; + mov.f32 %f667, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f667;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r116, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r26, %r116, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs32, %rs33, %rs34, %rs35}, [%rd40]; + // inline asm + { cvt.f32.f16 %f668, %rs32;} + + // inline asm + // inline asm + { cvt.f32.f16 %f669, %rs33;} + + // inline asm + // inline asm + { cvt.f32.f16 %f670, %rs34;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r26, %r116, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f671, %f46, %f668; + add.f32 %f672, %f47, %f669; + add.f32 %f673, %f48, %f670; + // inline asm + { cvt.rn.f16.f32 %rs31, %f673;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f672;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f671;} + + // inline asm + st.v4.u16 [%rd46], {%rs29, %rs30, %rs31, %rs25}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r118, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r26, %r118, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f48;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f47;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f46;} + + // inline asm + st.v4.u16 [%rd53], {%rs36, %rs37, %rs38, %rs25}; + +BB0_72: + mul.f32 %f678, %f32, 0f3E800000; + mul.f32 %f679, %f678, %f859; + ld.global.f32 %f680, [lightColor]; + mul.f32 %f101, %f679, %f680; + ld.global.f32 %f681, [lightColor+4]; + mul.f32 %f102, %f679, %f681; + ld.global.f32 %f682, [lightColor+8]; + mul.f32 %f103, %f679, %f682; + ld.global.u32 %r119, [additive]; + setp.eq.s32 %p102, %r119, 0; + mov.f32 %f677, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f677;} + + // inline asm + @%p102 bra BB0_74; + + mov.u64 %rd72, image_RNM0; + cvta.global.u64 %rd61, %rd72; + mov.u32 %r123, 8; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r26, %r123, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs46, %rs47, %rs48, %rs49}, [%rd60]; + // inline asm + { cvt.f32.f16 %f683, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f684, %rs47;} + + // inline asm + // inline asm + { cvt.f32.f16 %f685, %rs48;} + + // inline asm + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd61, %r26, %r123, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f686, %f101, %f683; + add.f32 %f687, %f102, %f684; + add.f32 %f688, %f103, %f685; + // inline asm + { cvt.rn.f16.f32 %rs45, %f688;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f687;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f686;} + + // inline asm + st.v4.u16 [%rd66], {%rs43, %rs44, %rs45, %rs39}; + bra.uni BB0_75; + +BB0_74: + mov.u64 %rd79, image_RNM0; + cvta.global.u64 %rd74, %rd79; + mov.u32 %r125, 8; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r26, %r125, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f103;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f102;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f101;} + + // inline asm + st.v4.u16 [%rd73], {%rs50, %rs51, %rs52, %rs39}; + +BB0_75: + sub.f32 %f844, %f11, %f12; + mul.f32 %f843, %f844, %f136; + sub.f32 %f842, %f7, %f8; + mul.f32 %f841, %f842, %f136; + sub.f32 %f840, %f9, %f10; + mul.f32 %f839, %f840, %f136; + fma.rn.f32 %f104, %f841, 0f3F000000, 0f3F000000; + fma.rn.f32 %f105, %f839, 0f3F000000, 0f3F000000; + fma.rn.f32 %f106, %f843, 0f3F000000, 0f3F000000; + ld.global.u32 %r126, [additive]; + setp.eq.s32 %p103, %r126, 0; + // inline asm + { cvt.rn.f16.f32 %rs53, %f677;} + + // inline asm + @%p103 bra BB0_77; + + mov.u64 %rd92, image_RNM1; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r130, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r26, %r130, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs60, %rs61, %rs62, %rs63}, [%rd80]; + // inline asm + { cvt.f32.f16 %f693, %rs60;} + + // inline asm + // inline asm + { cvt.f32.f16 %f694, %rs61;} + + // inline asm + // inline asm + { cvt.f32.f16 %f695, %rs62;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r26, %r130, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f696, %f104, %f693; + add.f32 %f697, %f104, %f694; + add.f32 %f698, %f104, %f695; + // inline asm + { cvt.rn.f16.f32 %rs59, %f698;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f697;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f696;} + + // inline asm + st.v4.u16 [%rd86], {%rs57, %rs58, %rs59, %rs53}; + bra.uni BB0_78; + +BB0_77: + mov.u64 %rd99, image_RNM1; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r132, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r26, %r132, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f104;} + + // inline asm + st.v4.u16 [%rd93], {%rs64, %rs64, %rs64, %rs53}; + +BB0_78: + ld.global.u32 %r133, [additive]; + setp.eq.s32 %p104, %r133, 0; + // inline asm + { cvt.rn.f16.f32 %rs65, %f677;} + + // inline asm + @%p104 bra BB0_80; + + mov.u64 %rd112, image_RNM2; + cvta.global.u64 %rd101, %rd112; + mov.u32 %r137, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r26, %r137, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs72, %rs73, %rs74, %rs75}, [%rd100]; + // inline asm + { cvt.f32.f16 %f701, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f702, %rs73;} + + // inline asm + // inline asm + { cvt.f32.f16 %f703, %rs74;} + + // inline asm + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd101, %r26, %r137, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f704, %f105, %f701; + add.f32 %f705, %f105, %f702; + add.f32 %f706, %f105, %f703; + // inline asm + { cvt.rn.f16.f32 %rs71, %f706;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f705;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f704;} + + // inline asm + st.v4.u16 [%rd106], {%rs69, %rs70, %rs71, %rs65}; + bra.uni BB0_81; + +BB0_80: + mov.u64 %rd119, image_RNM2; + cvta.global.u64 %rd114, %rd119; + mov.u32 %r139, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r26, %r139, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f105;} + + // inline asm + st.v4.u16 [%rd113], {%rs76, %rs76, %rs76, %rs65}; + +BB0_81: + ld.global.u32 %r140, [additive]; + setp.eq.s32 %p105, %r140, 0; + // inline asm + { cvt.rn.f16.f32 %rs77, %f677;} + + // inline asm + @%p105 bra BB0_83; + + mov.u64 %rd132, image_RNM3; + cvta.global.u64 %rd121, %rd132; + mov.u32 %r144, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r26, %r144, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs84, %rs85, %rs86, %rs87}, [%rd120]; + // inline asm + { cvt.f32.f16 %f709, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f710, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f711, %rs86;} + + // inline asm + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd121, %r26, %r144, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f712, %f106, %f709; + add.f32 %f713, %f106, %f710; + add.f32 %f714, %f106, %f711; + // inline asm + { cvt.rn.f16.f32 %rs83, %f714;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f713;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f712;} + + // inline asm + st.v4.u16 [%rd126], {%rs81, %rs82, %rs83, %rs77}; + bra.uni BB0_125; + +BB0_83: + mov.u64 %rd139, image_RNM3; + cvta.global.u64 %rd134, %rd139; + mov.u32 %r146, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r26, %r146, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f106;} + + // inline asm + st.v4.u16 [%rd133], {%rs88, %rs88, %rs88, %rs77}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightProbeSH.ptx.meta new file mode 100644 index 00000000..e8cd0bdb --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 54bc4621eb11a6a40ba7aa3432daac74 +timeCreated: 1558780075 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightRNM.ptx new file mode 100644 index 00000000..8dcdb02c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightRNM.ptx @@ -0,0 +1,2347 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .b8 lightConeDir[12]; +.global .align 8 .b8 lightCone[8]; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12lightConeDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9lightConeE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12lightConeDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9lightConeE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12lightConeDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9lightConeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12lightConeDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9lightConeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12lightConeDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9lightConeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<128>; + .reg .b16 %rs<213>; + .reg .f32 %f<1045>; + .reg .b32 %r<245>; + .reg .b64 %rd<335>; + + + mov.u64 %rd334, __local_depot0; + cvta.local.u64 %SP, %rd334; + ld.global.v2.u32 {%r34, %r35}, [pixelID]; + cvt.u64.u32 %rd17, %r34; + cvt.u64.u32 %rd18, %r35; + mov.u64 %rd21, uvnormal; + cvta.global.u64 %rd16, %rd21; + mov.u32 %r32, 2; + mov.u32 %r33, 4; + mov.u64 %rd20, 0; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r32, %r33, %rd17, %rd18, %rd20, %rd20); + // inline asm + ld.u32 %r1, [%rd15]; + shr.u32 %r38, %r1, 16; + cvt.u16.u32 %rs1, %r38; + and.b16 %rs10, %rs1, 255; + cvt.u16.u32 %rs11, %r1; + or.b16 %rs12, %rs11, %rs10; + setp.eq.s16 %p6, %rs12, 0; + mov.f32 %f1012, 0f00000000; + mov.f32 %f1013, %f1012; + mov.f32 %f1014, %f1012; + @%p6 bra BB0_2; + + ld.u8 %rs13, [%rd15+1]; + and.b16 %rs15, %rs11, 255; + cvt.rn.f32.u16 %f145, %rs15; + div.rn.f32 %f146, %f145, 0f437F0000; + fma.rn.f32 %f147, %f146, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f148, %rs13; + div.rn.f32 %f149, %f148, 0f437F0000; + fma.rn.f32 %f150, %f149, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f151, %rs10; + div.rn.f32 %f152, %f151, 0f437F0000; + fma.rn.f32 %f153, %f152, 0f40000000, 0fBF800000; + mul.f32 %f154, %f150, %f150; + fma.rn.f32 %f155, %f147, %f147, %f154; + fma.rn.f32 %f156, %f153, %f153, %f155; + sqrt.rn.f32 %f157, %f156; + rcp.rn.f32 %f158, %f157; + mul.f32 %f1012, %f147, %f158; + mul.f32 %f1013, %f150, %f158; + mul.f32 %f1014, %f153, %f158; + +BB0_2: + ld.global.v2.u32 {%r39, %r40}, [pixelID]; + ld.global.v2.u32 {%r42, %r43}, [tileInfo]; + add.s32 %r2, %r39, %r42; + add.s32 %r3, %r40, %r43; + setp.eq.f32 %p7, %f1013, 0f00000000; + setp.eq.f32 %p8, %f1012, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f1014, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_105; + bra.uni BB0_3; + +BB0_105: + ld.global.u32 %r244, [imageEnabled]; + and.b32 %r200, %r244, 1; + setp.eq.b32 %p121, %r200, 1; + @!%p121 bra BB0_107; + bra.uni BB0_106; + +BB0_106: + cvt.u64.u32 %rd242, %r2; + cvt.u64.u32 %rd243, %r3; + mov.u64 %rd246, image; + cvta.global.u64 %rd241, %rd246; + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd241, %r32, %r33, %rd242, %rd243, %rd20, %rd20); + // inline asm + mov.u16 %rs158, 0; + st.v4.u8 [%rd240], {%rs158, %rs158, %rs158, %rs158}; + ld.global.u32 %r244, [imageEnabled]; + +BB0_107: + and.b32 %r203, %r244, 8; + setp.eq.s32 %p122, %r203, 0; + @%p122 bra BB0_109; + + cvt.u64.u32 %rd250, %r3; + cvt.u64.u32 %rd249, %r2; + mov.u64 %rd253, image_Mask; + cvta.global.u64 %rd248, %rd253; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r32, %r32, %rd249, %rd250, %rd20, %rd20); + // inline asm + mov.f32 %f932, 0f00000000; + cvt.rzi.u32.f32 %r206, %f932; + cvt.u16.u32 %rs159, %r206; + mov.u16 %rs160, 0; + st.v2.u8 [%rd247], {%rs159, %rs160}; + ld.global.u32 %r244, [imageEnabled]; + +BB0_109: + cvt.u64.u32 %rd13, %r2; + cvt.u64.u32 %rd14, %r3; + and.b32 %r207, %r244, 4; + setp.eq.s32 %p123, %r207, 0; + @%p123 bra BB0_113; + + ld.global.u32 %r208, [additive]; + setp.eq.s32 %p124, %r208, 0; + @%p124 bra BB0_112; + + mov.u64 %rd266, image_HDR; + cvta.global.u64 %rd255, %rd266; + mov.u32 %r212, 8; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r32, %r212, %rd13, %rd14, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs167, %rs168, %rs169, %rs170}, [%rd254]; + // inline asm + { cvt.f32.f16 %f933, %rs167;} + + // inline asm + // inline asm + { cvt.f32.f16 %f934, %rs168;} + + // inline asm + // inline asm + { cvt.f32.f16 %f935, %rs169;} + + // inline asm + // inline asm + call (%rd260), _rt_buffer_get_64, (%rd255, %r32, %r212, %rd13, %rd14, %rd20, %rd20); + // inline asm + add.f32 %f936, %f933, 0f00000000; + add.f32 %f937, %f934, 0f00000000; + add.f32 %f938, %f935, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs166, %f938;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs165, %f937;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs164, %f936;} + + // inline asm + mov.u16 %rs171, 0; + st.v4.u16 [%rd260], {%rs164, %rs165, %rs166, %rs171}; + bra.uni BB0_113; + +BB0_3: + ld.global.v2.u32 {%r49, %r50}, [pixelID]; + cvt.u64.u32 %rd24, %r49; + cvt.u64.u32 %rd25, %r50; + mov.u64 %rd28, uvpos; + cvta.global.u64 %rd23, %rd28; + mov.u32 %r48, 12; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r32, %r48, %rd24, %rd25, %rd20, %rd20); + // inline asm + ld.global.f32 %f7, [lightPos]; + ld.f32 %f12, [%rd22+8]; + ld.f32 %f10, [%rd22+4]; + ld.f32 %f8, [%rd22]; + sub.f32 %f161, %f7, %f8; + ld.global.f32 %f9, [lightPos+4]; + sub.f32 %f162, %f9, %f10; + ld.global.f32 %f11, [lightPos+8]; + sub.f32 %f163, %f11, %f12; + mul.f32 %f164, %f162, %f162; + fma.rn.f32 %f165, %f161, %f161, %f164; + fma.rn.f32 %f166, %f163, %f163, %f165; + sqrt.rn.f32 %f167, %f166; + rcp.rn.f32 %f168, %f167; + ld.global.f32 %f169, [lightFalloffFakeDistanceMult]; + mul.f32 %f16, %f167, %f169; + ld.global.f32 %f170, [lightInvCutoff]; + mul.f32 %f17, %f167, %f170; + mov.f32 %f174, 0f40800000; + abs.f32 %f19, %f17; + setp.lt.f32 %p12, %f19, 0f00800000; + mul.f32 %f176, %f19, 0f4B800000; + selp.f32 %f177, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f178, %f176, %f19, %p12; + mov.b32 %r53, %f178; + and.b32 %r54, %r53, 8388607; + or.b32 %r55, %r54, 1065353216; + mov.b32 %f179, %r55; + shr.u32 %r56, %r53, 23; + cvt.rn.f32.u32 %f180, %r56; + add.f32 %f181, %f177, %f180; + setp.gt.f32 %p13, %f179, 0f3FB504F3; + mul.f32 %f182, %f179, 0f3F000000; + add.f32 %f183, %f181, 0f3F800000; + selp.f32 %f184, %f182, %f179, %p13; + selp.f32 %f185, %f183, %f181, %p13; + add.f32 %f186, %f184, 0fBF800000; + add.f32 %f160, %f184, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f159,%f160; + // inline asm + add.f32 %f187, %f186, %f186; + mul.f32 %f188, %f159, %f187; + mul.f32 %f189, %f188, %f188; + mov.f32 %f190, 0f3C4CAF63; + mov.f32 %f191, 0f3B18F0FE; + fma.rn.f32 %f192, %f191, %f189, %f190; + mov.f32 %f193, 0f3DAAAABD; + fma.rn.f32 %f194, %f192, %f189, %f193; + mul.rn.f32 %f195, %f194, %f189; + mul.rn.f32 %f196, %f195, %f188; + sub.f32 %f197, %f186, %f188; + neg.f32 %f198, %f188; + add.f32 %f199, %f197, %f197; + fma.rn.f32 %f200, %f198, %f186, %f199; + mul.rn.f32 %f201, %f159, %f200; + add.f32 %f202, %f196, %f188; + sub.f32 %f203, %f188, %f202; + add.f32 %f204, %f196, %f203; + add.f32 %f205, %f201, %f204; + add.f32 %f206, %f202, %f205; + sub.f32 %f207, %f202, %f206; + add.f32 %f208, %f205, %f207; + mov.f32 %f209, 0f3F317200; + mul.rn.f32 %f210, %f185, %f209; + mov.f32 %f211, 0f35BFBE8E; + mul.rn.f32 %f212, %f185, %f211; + add.f32 %f213, %f210, %f206; + sub.f32 %f214, %f210, %f213; + add.f32 %f215, %f206, %f214; + add.f32 %f216, %f208, %f215; + add.f32 %f217, %f212, %f216; + add.f32 %f218, %f213, %f217; + sub.f32 %f219, %f213, %f218; + add.f32 %f220, %f217, %f219; + mul.rn.f32 %f221, %f174, %f218; + neg.f32 %f222, %f221; + fma.rn.f32 %f223, %f174, %f218, %f222; + fma.rn.f32 %f224, %f174, %f220, %f223; + mov.f32 %f225, 0f00000000; + fma.rn.f32 %f226, %f225, %f218, %f224; + add.rn.f32 %f227, %f221, %f226; + neg.f32 %f228, %f227; + add.rn.f32 %f229, %f221, %f228; + add.rn.f32 %f230, %f229, %f226; + mov.b32 %r57, %f227; + setp.eq.s32 %p14, %r57, 1118925336; + add.s32 %r58, %r57, -1; + mov.b32 %f231, %r58; + add.f32 %f232, %f230, 0f37000000; + selp.f32 %f233, %f231, %f227, %p14; + selp.f32 %f20, %f232, %f230, %p14; + mul.f32 %f234, %f233, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f235, %f234; + mov.f32 %f236, 0fBF317200; + fma.rn.f32 %f237, %f235, %f236, %f233; + mov.f32 %f238, 0fB5BFBE8E; + fma.rn.f32 %f239, %f235, %f238, %f237; + mul.f32 %f240, %f239, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f241, %f240; + add.f32 %f242, %f235, 0f00000000; + ex2.approx.f32 %f243, %f242; + mul.f32 %f244, %f241, %f243; + setp.lt.f32 %p15, %f233, 0fC2D20000; + selp.f32 %f245, 0f00000000, %f244, %p15; + setp.gt.f32 %p16, %f233, 0f42D20000; + selp.f32 %f1015, 0f7F800000, %f245, %p16; + setp.eq.f32 %p17, %f1015, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f1015, %f1015, %f20, %f1015; + +BB0_5: + mov.f32 %f966, 0f40000000; + cvt.rzi.f32.f32 %f965, %f966; + add.f32 %f964, %f965, %f965; + mov.f32 %f963, 0f40800000; + sub.f32 %f962, %f963, %f964; + abs.f32 %f961, %f962; + setp.lt.f32 %p18, %f17, 0f00000000; + setp.eq.f32 %p19, %f961, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r59, %f1015; + xor.b32 %r60, %r59, -2147483648; + mov.b32 %f246, %r60; + selp.f32 %f1017, %f246, %f1015, %p1; + setp.eq.f32 %p20, %f17, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f249, %f17, %f17; + selp.f32 %f1017, %f249, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f17, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f1011, 0f40800000; + cvt.rzi.f32.f32 %f248, %f1011; + setp.neu.f32 %p22, %f248, 0f40800000; + selp.f32 %f1017, 0f7FFFFFFF, %f1017, %p22; + +BB0_9: + abs.f32 %f967, %f17; + add.f32 %f250, %f967, 0f40800000; + mov.b32 %r61, %f250; + setp.lt.s32 %p24, %r61, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f1009, %f17; + setp.gtu.f32 %p25, %f1009, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f1017, %f17, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f1010, %f17; + setp.neu.f32 %p26, %f1010, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f1017, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + sub.f32 %f973, %f11, %f12; + mul.f32 %f972, %f973, %f168; + sub.f32 %f971, %f7, %f8; + mul.f32 %f970, %f971, %f168; + sub.f32 %f969, %f9, %f10; + mul.f32 %f968, %f969, %f168; + mov.f32 %f1023, 0f3F800000; + sub.f32 %f252, %f1023, %f1017; + setp.eq.f32 %p27, %f17, 0f3F800000; + selp.f32 %f253, 0f00000000, %f252, %p27; + cvt.sat.f32.f32 %f254, %f253; + ld.global.f32 %f255, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f256, %f16, %f16, %f255; + div.rn.f32 %f257, %f254, %f256; + mul.f32 %f258, %f1013, %f968; + fma.rn.f32 %f259, %f1012, %f970, %f258; + fma.rn.f32 %f31, %f1014, %f972, %f259; + ld.global.u32 %r242, [imageEnabled]; + ld.global.f32 %f260, [lightConeDir]; + mul.f32 %f261, %f970, %f260; + ld.global.f32 %f262, [lightConeDir+4]; + mul.f32 %f263, %f968, %f262; + neg.f32 %f264, %f263; + sub.f32 %f265, %f264, %f261; + ld.global.f32 %f266, [lightConeDir+8]; + mul.f32 %f267, %f972, %f266; + sub.f32 %f268, %f265, %f267; + ld.global.v2.f32 {%f269, %f270}, [lightCone]; + fma.rn.f32 %f273, %f269, %f268, %f270; + cvt.sat.f32.f32 %f274, %f273; + mul.f32 %f275, %f274, %f274; + mul.f32 %f32, %f257, %f275; + ld.global.f32 %f276, [lightColor+4]; + ld.global.f32 %f277, [lightColor]; + max.f32 %f278, %f277, %f276; + ld.global.f32 %f279, [lightColor+8]; + max.f32 %f280, %f278, %f279; + mul.f32 %f281, %f32, %f280; + setp.lt.f32 %p28, %f281, 0f3727C5AC; + @%p28 bra BB0_88; + bra.uni BB0_15; + +BB0_88: + and.b32 %r164, %r242, 1; + setp.eq.b32 %p114, %r164, 1; + @!%p114 bra BB0_90; + bra.uni BB0_89; + +BB0_89: + cvt.u64.u32 %rd148, %r2; + cvt.u64.u32 %rd149, %r3; + mov.u64 %rd152, image; + cvta.global.u64 %rd147, %rd152; + // inline asm + call (%rd146), _rt_buffer_get_64, (%rd147, %r32, %r33, %rd148, %rd149, %rd20, %rd20); + // inline asm + mov.u16 %rs106, 1; + mov.u16 %rs107, 0; + st.v4.u8 [%rd146], {%rs107, %rs107, %rs107, %rs106}; + ld.global.u32 %r242, [imageEnabled]; + +BB0_90: + and.b32 %r167, %r242, 8; + setp.eq.s32 %p115, %r167, 0; + @%p115 bra BB0_92; + + cvt.u64.u32 %rd156, %r3; + cvt.u64.u32 %rd155, %r2; + mov.u64 %rd159, image_Mask; + cvta.global.u64 %rd154, %rd159; + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd154, %r32, %r32, %rd155, %rd156, %rd20, %rd20); + // inline asm + mov.f32 %f897, 0f00000000; + cvt.rzi.u32.f32 %r170, %f897; + cvt.u16.u32 %rs108, %r170; + mov.u16 %rs109, 255; + st.v2.u8 [%rd153], {%rs108, %rs109}; + ld.global.u32 %r242, [imageEnabled]; + +BB0_92: + cvt.u64.u32 %rd11, %r2; + cvt.u64.u32 %rd12, %r3; + and.b32 %r171, %r242, 4; + setp.eq.s32 %p116, %r171, 0; + @%p116 bra BB0_96; + + ld.global.u32 %r172, [additive]; + setp.eq.s32 %p117, %r172, 0; + mov.f32 %f898, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f898;} + + // inline asm + @%p117 bra BB0_95; + + mov.u64 %rd172, image_HDR; + cvta.global.u64 %rd161, %rd172; + mov.u32 %r176, 8; + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd161, %r32, %r176, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs117, %rs118, %rs119, %rs120}, [%rd160]; + // inline asm + { cvt.f32.f16 %f899, %rs117;} + + // inline asm + // inline asm + { cvt.f32.f16 %f900, %rs118;} + + // inline asm + // inline asm + { cvt.f32.f16 %f901, %rs119;} + + // inline asm + // inline asm + call (%rd166), _rt_buffer_get_64, (%rd161, %r32, %r176, %rd11, %rd12, %rd20, %rd20); + // inline asm + add.f32 %f902, %f899, 0f00000000; + add.f32 %f903, %f900, 0f00000000; + add.f32 %f904, %f901, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f904;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs115, %f903;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs114, %f902;} + + // inline asm + st.v4.u16 [%rd166], {%rs114, %rs115, %rs116, %rs110}; + bra.uni BB0_96; + +BB0_15: + mov.f32 %f1021, 0f00000000; + mul.f32 %f283, %f8, 0f3456BF95; + abs.f32 %f284, %f1012; + div.rn.f32 %f285, %f283, %f284; + abs.f32 %f286, %f1013; + mul.f32 %f287, %f10, 0f3456BF95; + div.rn.f32 %f288, %f287, %f286; + abs.f32 %f289, %f1014; + mul.f32 %f290, %f12, 0f3456BF95; + div.rn.f32 %f291, %f290, %f289; + abs.f32 %f292, %f285; + abs.f32 %f293, %f288; + abs.f32 %f294, %f291; + mov.f32 %f295, 0f38D1B717; + max.f32 %f296, %f292, %f295; + max.f32 %f297, %f293, %f295; + max.f32 %f298, %f294, %f295; + fma.rn.f32 %f33, %f1012, %f296, %f8; + fma.rn.f32 %f34, %f1013, %f297, %f10; + fma.rn.f32 %f35, %f1014, %f298, %f12; + ld.global.u32 %r238, [samples]; + setp.lt.s32 %p29, %r238, 1; + @%p29 bra BB0_18; + + mul.f32 %f300, %f33, 0f3456BF95; + abs.f32 %f301, %f300; + mul.f32 %f302, %f34, 0f3456BF95; + abs.f32 %f303, %f302; + mul.f32 %f304, %f35, 0f3456BF95; + abs.f32 %f305, %f304; + max.f32 %f306, %f301, %f303; + max.f32 %f307, %f306, %f305; + max.f32 %f36, %f307, %f295; + add.u64 %rd29, %SP, 0; + cvta.to.local.u64 %rd2, %rd29; + mov.f32 %f1021, 0f00000000; + mov.u32 %r237, 0; + mov.u32 %r236, %r242; + mov.f32 %f1018, %f11; + mov.f32 %f1019, %f9; + mov.f32 %f1020, %f7; + bra.uni BB0_17; + +BB0_87: + ld.global.f32 %f1020, [lightPos]; + ld.global.f32 %f1019, [lightPos+4]; + ld.global.f32 %f1018, [lightPos+8]; + ld.global.u32 %r236, [imageEnabled]; + +BB0_17: + cvt.rn.f32.s32 %f317, %r237; + mul.f32 %f318, %f317, 0f3DD32618; + cvt.rmi.f32.f32 %f319, %f318; + sub.f32 %f320, %f318, %f319; + mul.f32 %f321, %f317, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f322, %f321; + sub.f32 %f323, %f321, %f322; + mul.f32 %f324, %f317, 0f3DC74539; + cvt.rmi.f32.f32 %f325, %f324; + sub.f32 %f326, %f324, %f325; + add.f32 %f327, %f323, 0f4199851F; + add.f32 %f328, %f326, 0f4199851F; + add.f32 %f329, %f320, 0f4199851F; + mul.f32 %f330, %f323, %f328; + fma.rn.f32 %f331, %f320, %f327, %f330; + fma.rn.f32 %f332, %f329, %f326, %f331; + add.f32 %f333, %f320, %f332; + add.f32 %f334, %f323, %f332; + add.f32 %f335, %f326, %f332; + add.f32 %f336, %f333, %f334; + mul.f32 %f337, %f335, %f336; + cvt.rmi.f32.f32 %f338, %f337; + sub.f32 %f339, %f337, %f338; + add.f32 %f340, %f333, %f335; + mul.f32 %f341, %f334, %f340; + cvt.rmi.f32.f32 %f342, %f341; + sub.f32 %f343, %f341, %f342; + add.f32 %f344, %f334, %f335; + mul.f32 %f345, %f333, %f344; + cvt.rmi.f32.f32 %f346, %f345; + sub.f32 %f347, %f345, %f346; + fma.rn.f32 %f348, %f339, 0f40000000, 0fBF800000; + fma.rn.f32 %f349, %f343, 0f40000000, 0fBF800000; + fma.rn.f32 %f350, %f347, 0f40000000, 0fBF800000; + ld.global.f32 %f351, [lightRadius]; + fma.rn.f32 %f352, %f351, %f348, %f1020; + fma.rn.f32 %f353, %f351, %f349, %f1019; + fma.rn.f32 %f354, %f351, %f350, %f1018; + sub.f32 %f355, %f352, %f8; + sub.f32 %f356, %f353, %f10; + sub.f32 %f357, %f354, %f12; + mul.f32 %f358, %f356, %f356; + fma.rn.f32 %f359, %f355, %f355, %f358; + fma.rn.f32 %f360, %f357, %f357, %f359; + sqrt.rn.f32 %f316, %f360; + rcp.rn.f32 %f361, %f316; + mul.f32 %f312, %f361, %f355; + mul.f32 %f313, %f361, %f356; + mul.f32 %f314, %f361, %f357; + and.b32 %r66, %r236, 32; + setp.eq.s32 %p30, %r66, 0; + selp.f32 %f362, 0f3F800000, 0f41200000, %p30; + mul.f32 %f315, %f362, %f36; + mov.u32 %r67, 1065353216; + st.local.u32 [%rd2], %r67; + ld.global.u32 %r63, [root]; + mov.u32 %r64, 1; + // inline asm + call _rt_trace_64, (%r63, %f33, %f34, %f35, %f312, %f313, %f314, %r64, %f315, %f316, %rd29, %r33); + // inline asm + ld.local.f32 %f363, [%rd2]; + add.f32 %f1021, %f1021, %f363; + ld.global.u32 %r238, [samples]; + add.s32 %r237, %r237, 1; + setp.lt.s32 %p31, %r237, %r238; + @%p31 bra BB0_87; + +BB0_18: + setp.eq.s32 %p32, %r238, 0; + @%p32 bra BB0_20; + + cvt.rn.f32.s32 %f365, %r238; + div.rn.f32 %f1023, %f1021, %f365; + +BB0_20: + ld.global.u32 %r68, [ignoreNormal]; + and.b32 %r69, %r242, 32; + or.b32 %r70, %r69, %r68; + setp.eq.s32 %p33, %r70, 0; + selp.f32 %f366, %f31, 0f3F800000, %p33; + cvt.sat.f32.f32 %f367, %f366; + mul.f32 %f368, %f32, %f367; + mul.f32 %f369, %f1023, %f368; + ld.global.f32 %f370, [lightColor]; + mul.f32 %f45, %f370, %f369; + ld.global.f32 %f371, [lightColor+4]; + mul.f32 %f46, %f371, %f369; + ld.global.f32 %f372, [lightColor+8]; + mul.f32 %f47, %f369, %f372; + ld.global.u32 %r240, [imageEnabled]; + and.b32 %r71, %r240, 8; + setp.eq.s32 %p34, %r71, 0; + @%p34 bra BB0_33; + + mov.f32 %f981, 0fB5BFBE8E; + mov.f32 %f980, 0fBF317200; + mov.f32 %f979, 0f35BFBE8E; + mov.f32 %f978, 0f3F317200; + mov.f32 %f977, 0f3DAAAABD; + mov.f32 %f976, 0f3C4CAF63; + mov.f32 %f975, 0f3B18F0FE; + cvt.u64.u32 %rd33, %r2; + cvt.u64.u32 %rd34, %r3; + mov.u64 %rd37, image_Mask; + cvta.global.u64 %rd32, %rd37; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd32, %r32, %r32, %rd33, %rd34, %rd20, %rd20); + // inline asm + mov.f32 %f375, 0f3E68BA2E; + cvt.rzi.f32.f32 %f376, %f375; + fma.rn.f32 %f377, %f376, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f48, %f377; + abs.f32 %f49, %f1023; + setp.lt.f32 %p35, %f49, 0f00800000; + mul.f32 %f378, %f49, 0f4B800000; + selp.f32 %f379, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f380, %f378, %f49, %p35; + mov.b32 %r74, %f380; + and.b32 %r75, %r74, 8388607; + or.b32 %r76, %r75, 1065353216; + mov.b32 %f381, %r76; + shr.u32 %r77, %r74, 23; + cvt.rn.f32.u32 %f382, %r77; + add.f32 %f383, %f379, %f382; + setp.gt.f32 %p36, %f381, 0f3FB504F3; + mul.f32 %f384, %f381, 0f3F000000; + add.f32 %f385, %f383, 0f3F800000; + selp.f32 %f386, %f384, %f381, %p36; + selp.f32 %f387, %f385, %f383, %p36; + add.f32 %f388, %f386, 0fBF800000; + add.f32 %f374, %f386, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f373,%f374; + // inline asm + add.f32 %f389, %f388, %f388; + mul.f32 %f390, %f373, %f389; + mul.f32 %f391, %f390, %f390; + fma.rn.f32 %f394, %f975, %f391, %f976; + fma.rn.f32 %f396, %f394, %f391, %f977; + mul.rn.f32 %f397, %f396, %f391; + mul.rn.f32 %f398, %f397, %f390; + sub.f32 %f399, %f388, %f390; + neg.f32 %f400, %f390; + add.f32 %f401, %f399, %f399; + fma.rn.f32 %f402, %f400, %f388, %f401; + mul.rn.f32 %f403, %f373, %f402; + add.f32 %f404, %f398, %f390; + sub.f32 %f405, %f390, %f404; + add.f32 %f406, %f398, %f405; + add.f32 %f407, %f403, %f406; + add.f32 %f408, %f404, %f407; + sub.f32 %f409, %f404, %f408; + add.f32 %f410, %f407, %f409; + mul.rn.f32 %f412, %f387, %f978; + mul.rn.f32 %f414, %f387, %f979; + add.f32 %f415, %f412, %f408; + sub.f32 %f416, %f412, %f415; + add.f32 %f417, %f408, %f416; + add.f32 %f418, %f410, %f417; + add.f32 %f419, %f414, %f418; + add.f32 %f420, %f415, %f419; + sub.f32 %f421, %f415, %f420; + add.f32 %f422, %f419, %f421; + mov.f32 %f423, 0f3EE8BA2E; + mul.rn.f32 %f424, %f423, %f420; + neg.f32 %f425, %f424; + fma.rn.f32 %f426, %f423, %f420, %f425; + fma.rn.f32 %f427, %f423, %f422, %f426; + mov.f32 %f428, 0f00000000; + fma.rn.f32 %f429, %f428, %f420, %f427; + add.rn.f32 %f430, %f424, %f429; + neg.f32 %f431, %f430; + add.rn.f32 %f432, %f424, %f431; + add.rn.f32 %f433, %f432, %f429; + mov.b32 %r78, %f430; + setp.eq.s32 %p37, %r78, 1118925336; + add.s32 %r79, %r78, -1; + mov.b32 %f434, %r79; + add.f32 %f435, %f433, 0f37000000; + selp.f32 %f436, %f434, %f430, %p37; + selp.f32 %f50, %f435, %f433, %p37; + mul.f32 %f437, %f436, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f438, %f437; + fma.rn.f32 %f440, %f438, %f980, %f436; + fma.rn.f32 %f442, %f438, %f981, %f440; + mul.f32 %f443, %f442, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f444, %f443; + add.f32 %f445, %f438, 0f00000000; + ex2.approx.f32 %f446, %f445; + mul.f32 %f447, %f444, %f446; + setp.lt.f32 %p38, %f436, 0fC2D20000; + selp.f32 %f448, 0f00000000, %f447, %p38; + setp.gt.f32 %p39, %f436, 0f42D20000; + selp.f32 %f1024, 0f7F800000, %f448, %p39; + setp.eq.f32 %p40, %f1024, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f1024, %f1024, %f50, %f1024; + +BB0_23: + setp.lt.f32 %p41, %f1023, 0f00000000; + setp.eq.f32 %p42, %f48, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r80, %f1024; + xor.b32 %r81, %r80, -2147483648; + mov.b32 %f449, %r81; + selp.f32 %f1026, %f449, %f1024, %p2; + setp.eq.f32 %p43, %f1023, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f452, %f1023, %f1023; + selp.f32 %f1026, %f452, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_112: + mov.u64 %rd273, image_HDR; + cvta.global.u64 %rd268, %rd273; + mov.u32 %r214, 8; + // inline asm + call (%rd267), _rt_buffer_get_64, (%rd268, %r32, %r214, %rd13, %rd14, %rd20, %rd20); + // inline asm + mov.f32 %f939, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs172, %f939;} + + // inline asm + mov.u16 %rs173, 0; + st.v4.u16 [%rd267], {%rs172, %rs172, %rs172, %rs173}; + +BB0_113: + ld.global.u32 %r215, [additive]; + setp.eq.s32 %p125, %r215, 0; + @%p125 bra BB0_115; + + mov.u64 %rd286, image_RNM0; + cvta.global.u64 %rd275, %rd286; + mov.u32 %r219, 8; + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd275, %r32, %r219, %rd13, %rd14, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs180, %rs181, %rs182, %rs183}, [%rd274]; + // inline asm + { cvt.f32.f16 %f940, %rs180;} + + // inline asm + // inline asm + { cvt.f32.f16 %f941, %rs181;} + + // inline asm + // inline asm + { cvt.f32.f16 %f942, %rs182;} + + // inline asm + // inline asm + call (%rd280), _rt_buffer_get_64, (%rd275, %r32, %r219, %rd13, %rd14, %rd20, %rd20); + // inline asm + add.f32 %f943, %f940, 0f00000000; + add.f32 %f944, %f941, 0f00000000; + add.f32 %f945, %f942, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs179, %f945;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs178, %f944;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs177, %f943;} + + // inline asm + mov.u16 %rs184, 0; + st.v4.u16 [%rd280], {%rs177, %rs178, %rs179, %rs184}; + bra.uni BB0_116; + +BB0_115: + mov.u64 %rd293, image_RNM0; + cvta.global.u64 %rd288, %rd293; + mov.u32 %r221, 8; + // inline asm + call (%rd287), _rt_buffer_get_64, (%rd288, %r32, %r221, %rd13, %rd14, %rd20, %rd20); + // inline asm + mov.f32 %f946, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs185, %f946;} + + // inline asm + mov.u16 %rs186, 0; + st.v4.u16 [%rd287], {%rs185, %rs185, %rs185, %rs186}; + +BB0_116: + ld.global.u32 %r222, [additive]; + setp.eq.s32 %p126, %r222, 0; + @%p126 bra BB0_118; + + mov.u64 %rd306, image_RNM1; + cvta.global.u64 %rd295, %rd306; + mov.u32 %r226, 8; + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd295, %r32, %r226, %rd13, %rd14, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs193, %rs194, %rs195, %rs196}, [%rd294]; + // inline asm + { cvt.f32.f16 %f947, %rs193;} + + // inline asm + // inline asm + { cvt.f32.f16 %f948, %rs194;} + + // inline asm + // inline asm + { cvt.f32.f16 %f949, %rs195;} + + // inline asm + // inline asm + call (%rd300), _rt_buffer_get_64, (%rd295, %r32, %r226, %rd13, %rd14, %rd20, %rd20); + // inline asm + add.f32 %f950, %f947, 0f00000000; + add.f32 %f951, %f948, 0f00000000; + add.f32 %f952, %f949, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs192, %f952;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs191, %f951;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs190, %f950;} + + // inline asm + mov.u16 %rs197, 0; + st.v4.u16 [%rd300], {%rs190, %rs191, %rs192, %rs197}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd313, image_RNM1; + cvta.global.u64 %rd308, %rd313; + mov.u32 %r228, 8; + // inline asm + call (%rd307), _rt_buffer_get_64, (%rd308, %r32, %r228, %rd13, %rd14, %rd20, %rd20); + // inline asm + mov.f32 %f953, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs198, %f953;} + + // inline asm + mov.u16 %rs199, 0; + st.v4.u16 [%rd307], {%rs198, %rs198, %rs198, %rs199}; + +BB0_119: + ld.global.u32 %r229, [additive]; + setp.eq.s32 %p127, %r229, 0; + @%p127 bra BB0_121; + + mov.u64 %rd326, image_RNM2; + cvta.global.u64 %rd315, %rd326; + mov.u32 %r233, 8; + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd315, %r32, %r233, %rd13, %rd14, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs206, %rs207, %rs208, %rs209}, [%rd314]; + // inline asm + { cvt.f32.f16 %f954, %rs206;} + + // inline asm + // inline asm + { cvt.f32.f16 %f955, %rs207;} + + // inline asm + // inline asm + { cvt.f32.f16 %f956, %rs208;} + + // inline asm + // inline asm + call (%rd320), _rt_buffer_get_64, (%rd315, %r32, %r233, %rd13, %rd14, %rd20, %rd20); + // inline asm + add.f32 %f957, %f954, 0f00000000; + add.f32 %f958, %f955, 0f00000000; + add.f32 %f959, %f956, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs205, %f959;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs204, %f958;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs203, %f957;} + + // inline asm + mov.u16 %rs210, 0; + st.v4.u16 [%rd320], {%rs203, %rs204, %rs205, %rs210}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd333, image_RNM2; + cvta.global.u64 %rd328, %rd333; + mov.u32 %r235, 8; + // inline asm + call (%rd327), _rt_buffer_get_64, (%rd328, %r32, %r235, %rd13, %rd14, %rd20, %rd20); + // inline asm + mov.f32 %f960, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs211, %f960;} + + // inline asm + mov.u16 %rs212, 0; + st.v4.u16 [%rd327], {%rs211, %rs211, %rs211, %rs212}; + bra.uni BB0_122; + +BB0_95: + mov.u64 %rd179, image_HDR; + cvta.global.u64 %rd174, %rd179; + mov.u32 %r178, 8; + // inline asm + call (%rd173), _rt_buffer_get_64, (%rd174, %r32, %r178, %rd11, %rd12, %rd20, %rd20); + // inline asm + mov.f32 %f905, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs121, %f905;} + + // inline asm + st.v4.u16 [%rd173], {%rs121, %rs121, %rs121, %rs110}; + +BB0_96: + ld.global.u32 %r179, [additive]; + setp.eq.s32 %p118, %r179, 0; + mov.f32 %f906, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs122, %f906;} + + // inline asm + @%p118 bra BB0_98; + + mov.u64 %rd192, image_RNM0; + cvta.global.u64 %rd181, %rd192; + mov.u32 %r183, 8; + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd181, %r32, %r183, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs129, %rs130, %rs131, %rs132}, [%rd180]; + // inline asm + { cvt.f32.f16 %f907, %rs129;} + + // inline asm + // inline asm + { cvt.f32.f16 %f908, %rs130;} + + // inline asm + // inline asm + { cvt.f32.f16 %f909, %rs131;} + + // inline asm + // inline asm + call (%rd186), _rt_buffer_get_64, (%rd181, %r32, %r183, %rd11, %rd12, %rd20, %rd20); + // inline asm + add.f32 %f910, %f907, 0f00000000; + add.f32 %f911, %f908, 0f00000000; + add.f32 %f912, %f909, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f912;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs127, %f911;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs126, %f910;} + + // inline asm + st.v4.u16 [%rd186], {%rs126, %rs127, %rs128, %rs122}; + bra.uni BB0_99; + +BB0_98: + mov.u64 %rd199, image_RNM0; + cvta.global.u64 %rd194, %rd199; + mov.u32 %r185, 8; + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd194, %r32, %r185, %rd11, %rd12, %rd20, %rd20); + // inline asm + mov.f32 %f913, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs133, %f913;} + + // inline asm + st.v4.u16 [%rd193], {%rs133, %rs133, %rs133, %rs122}; + +BB0_99: + ld.global.u32 %r186, [additive]; + setp.eq.s32 %p119, %r186, 0; + // inline asm + { cvt.rn.f16.f32 %rs134, %f906;} + + // inline asm + @%p119 bra BB0_101; + + mov.u64 %rd212, image_RNM1; + cvta.global.u64 %rd201, %rd212; + mov.u32 %r190, 8; + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd201, %r32, %r190, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs141, %rs142, %rs143, %rs144}, [%rd200]; + // inline asm + { cvt.f32.f16 %f915, %rs141;} + + // inline asm + // inline asm + { cvt.f32.f16 %f916, %rs142;} + + // inline asm + // inline asm + { cvt.f32.f16 %f917, %rs143;} + + // inline asm + // inline asm + call (%rd206), _rt_buffer_get_64, (%rd201, %r32, %r190, %rd11, %rd12, %rd20, %rd20); + // inline asm + add.f32 %f918, %f915, 0f00000000; + add.f32 %f919, %f916, 0f00000000; + add.f32 %f920, %f917, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f920;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs139, %f919;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs138, %f918;} + + // inline asm + st.v4.u16 [%rd206], {%rs138, %rs139, %rs140, %rs134}; + bra.uni BB0_102; + +BB0_101: + mov.u64 %rd219, image_RNM1; + cvta.global.u64 %rd214, %rd219; + mov.u32 %r192, 8; + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd214, %r32, %r192, %rd11, %rd12, %rd20, %rd20); + // inline asm + mov.f32 %f921, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs145, %f921;} + + // inline asm + st.v4.u16 [%rd213], {%rs145, %rs145, %rs145, %rs134}; + +BB0_102: + ld.global.u32 %r193, [additive]; + setp.eq.s32 %p120, %r193, 0; + // inline asm + { cvt.rn.f16.f32 %rs146, %f906;} + + // inline asm + @%p120 bra BB0_104; + + mov.u64 %rd232, image_RNM2; + cvta.global.u64 %rd221, %rd232; + mov.u32 %r197, 8; + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd221, %r32, %r197, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs153, %rs154, %rs155, %rs156}, [%rd220]; + // inline asm + { cvt.f32.f16 %f923, %rs153;} + + // inline asm + // inline asm + { cvt.f32.f16 %f924, %rs154;} + + // inline asm + // inline asm + { cvt.f32.f16 %f925, %rs155;} + + // inline asm + // inline asm + call (%rd226), _rt_buffer_get_64, (%rd221, %r32, %r197, %rd11, %rd12, %rd20, %rd20); + // inline asm + add.f32 %f926, %f923, 0f00000000; + add.f32 %f927, %f924, 0f00000000; + add.f32 %f928, %f925, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f928;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs151, %f927;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs150, %f926;} + + // inline asm + st.v4.u16 [%rd226], {%rs150, %rs151, %rs152, %rs146}; + bra.uni BB0_122; + +BB0_104: + mov.u64 %rd239, image_RNM2; + cvta.global.u64 %rd234, %rd239; + mov.u32 %r199, 8; + // inline asm + call (%rd233), _rt_buffer_get_64, (%rd234, %r32, %r199, %rd11, %rd12, %rd20, %rd20); + // inline asm + mov.f32 %f929, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs157, %f929;} + + // inline asm + st.v4.u16 [%rd233], {%rs157, %rs157, %rs157, %rs146}; + bra.uni BB0_122; + +BB0_24: + setp.geu.f32 %p44, %f1023, 0f00000000; + @%p44 bra BB0_27; + + cvt.rzi.f32.f32 %f451, %f423; + setp.neu.f32 %p45, %f451, 0f3EE8BA2E; + selp.f32 %f1026, 0f7FFFFFFF, %f1026, %p45; + +BB0_27: + add.f32 %f453, %f49, 0f3EE8BA2E; + mov.b32 %r82, %f453; + setp.lt.s32 %p47, %r82, 2139095040; + @%p47 bra BB0_32; + + setp.gtu.f32 %p48, %f49, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f1026, %f1023, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + setp.neu.f32 %p49, %f49, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f1026, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f454, %f1026, 0f437F0000; + setp.eq.f32 %p50, %f1023, 0f3F800000; + selp.f32 %f455, 0f437F0000, %f454, %p50; + cvt.rzi.u32.f32 %r83, %f455; + cvt.u16.u32 %rs17, %r83; + mov.u16 %rs18, 255; + st.v2.u8 [%rd31], {%rs17, %rs18}; + ld.global.u32 %r240, [imageEnabled]; + +BB0_33: + and.b32 %r84, %r240, 1; + setp.eq.b32 %p51, %r84, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f988, 0fB5BFBE8E; + mov.f32 %f987, 0fBF317200; + mov.f32 %f986, 0f35BFBE8E; + mov.f32 %f985, 0f3F317200; + mov.f32 %f984, 0f3DAAAABD; + mov.f32 %f983, 0f3C4CAF63; + mov.f32 %f982, 0f3B18F0FE; + mov.f32 %f458, 0f3E666666; + cvt.rzi.f32.f32 %f459, %f458; + fma.rn.f32 %f460, %f459, 0fC0000000, 0f3EE66666; + abs.f32 %f61, %f460; + abs.f32 %f62, %f45; + setp.lt.f32 %p52, %f62, 0f00800000; + mul.f32 %f461, %f62, 0f4B800000; + selp.f32 %f462, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f463, %f461, %f62, %p52; + mov.b32 %r85, %f463; + and.b32 %r86, %r85, 8388607; + or.b32 %r87, %r86, 1065353216; + mov.b32 %f464, %r87; + shr.u32 %r88, %r85, 23; + cvt.rn.f32.u32 %f465, %r88; + add.f32 %f466, %f462, %f465; + setp.gt.f32 %p53, %f464, 0f3FB504F3; + mul.f32 %f467, %f464, 0f3F000000; + add.f32 %f468, %f466, 0f3F800000; + selp.f32 %f469, %f467, %f464, %p53; + selp.f32 %f470, %f468, %f466, %p53; + add.f32 %f471, %f469, 0fBF800000; + add.f32 %f457, %f469, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f456,%f457; + // inline asm + add.f32 %f472, %f471, %f471; + mul.f32 %f473, %f456, %f472; + mul.f32 %f474, %f473, %f473; + fma.rn.f32 %f477, %f982, %f474, %f983; + fma.rn.f32 %f479, %f477, %f474, %f984; + mul.rn.f32 %f480, %f479, %f474; + mul.rn.f32 %f481, %f480, %f473; + sub.f32 %f482, %f471, %f473; + neg.f32 %f483, %f473; + add.f32 %f484, %f482, %f482; + fma.rn.f32 %f485, %f483, %f471, %f484; + mul.rn.f32 %f486, %f456, %f485; + add.f32 %f487, %f481, %f473; + sub.f32 %f488, %f473, %f487; + add.f32 %f489, %f481, %f488; + add.f32 %f490, %f486, %f489; + add.f32 %f491, %f487, %f490; + sub.f32 %f492, %f487, %f491; + add.f32 %f493, %f490, %f492; + mul.rn.f32 %f495, %f470, %f985; + mul.rn.f32 %f497, %f470, %f986; + add.f32 %f498, %f495, %f491; + sub.f32 %f499, %f495, %f498; + add.f32 %f500, %f491, %f499; + add.f32 %f501, %f493, %f500; + add.f32 %f502, %f497, %f501; + add.f32 %f503, %f498, %f502; + sub.f32 %f504, %f498, %f503; + add.f32 %f505, %f502, %f504; + mov.f32 %f506, 0f3EE66666; + mul.rn.f32 %f507, %f506, %f503; + neg.f32 %f508, %f507; + fma.rn.f32 %f509, %f506, %f503, %f508; + fma.rn.f32 %f510, %f506, %f505, %f509; + mov.f32 %f511, 0f00000000; + fma.rn.f32 %f512, %f511, %f503, %f510; + add.rn.f32 %f513, %f507, %f512; + neg.f32 %f514, %f513; + add.rn.f32 %f515, %f507, %f514; + add.rn.f32 %f516, %f515, %f512; + mov.b32 %r89, %f513; + setp.eq.s32 %p54, %r89, 1118925336; + add.s32 %r90, %r89, -1; + mov.b32 %f517, %r90; + add.f32 %f518, %f516, 0f37000000; + selp.f32 %f519, %f517, %f513, %p54; + selp.f32 %f63, %f518, %f516, %p54; + mul.f32 %f520, %f519, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f521, %f520; + fma.rn.f32 %f523, %f521, %f987, %f519; + fma.rn.f32 %f525, %f521, %f988, %f523; + mul.f32 %f526, %f525, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f527, %f526; + add.f32 %f528, %f521, 0f00000000; + ex2.approx.f32 %f529, %f528; + mul.f32 %f530, %f527, %f529; + setp.lt.f32 %p55, %f519, 0fC2D20000; + selp.f32 %f531, 0f00000000, %f530, %p55; + setp.gt.f32 %p56, %f519, 0f42D20000; + selp.f32 %f1027, 0f7F800000, %f531, %p56; + setp.eq.f32 %p57, %f1027, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f1027, %f1027, %f63, %f1027; + +BB0_36: + setp.lt.f32 %p58, %f45, 0f00000000; + setp.eq.f32 %p59, %f61, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r91, %f1027; + xor.b32 %r92, %r91, -2147483648; + mov.b32 %f532, %r92; + selp.f32 %f1029, %f532, %f1027, %p3; + setp.eq.f32 %p60, %f45, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f535, %f45, %f45; + selp.f32 %f1029, %f535, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f45, 0f00000000; + @%p61 bra BB0_40; + + cvt.rzi.f32.f32 %f534, %f506; + setp.neu.f32 %p62, %f534, 0f3EE66666; + selp.f32 %f1029, 0f7FFFFFFF, %f1029, %p62; + +BB0_40: + add.f32 %f536, %f62, 0f3EE66666; + mov.b32 %r93, %f536; + setp.lt.s32 %p64, %r93, 2139095040; + @%p64 bra BB0_45; + + setp.gtu.f32 %p65, %f62, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f1029, %f45, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p66, %f62, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f1029, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f995, 0fB5BFBE8E; + mov.f32 %f994, 0fBF317200; + mov.f32 %f993, 0f35BFBE8E; + mov.f32 %f992, 0f3F317200; + mov.f32 %f991, 0f3DAAAABD; + mov.f32 %f990, 0f3C4CAF63; + mov.f32 %f989, 0f3B18F0FE; + setp.eq.f32 %p67, %f45, 0f3F800000; + selp.f32 %f74, 0f3F800000, %f1029, %p67; + abs.f32 %f75, %f46; + setp.lt.f32 %p68, %f75, 0f00800000; + mul.f32 %f539, %f75, 0f4B800000; + selp.f32 %f540, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f541, %f539, %f75, %p68; + mov.b32 %r94, %f541; + and.b32 %r95, %r94, 8388607; + or.b32 %r96, %r95, 1065353216; + mov.b32 %f542, %r96; + shr.u32 %r97, %r94, 23; + cvt.rn.f32.u32 %f543, %r97; + add.f32 %f544, %f540, %f543; + setp.gt.f32 %p69, %f542, 0f3FB504F3; + mul.f32 %f545, %f542, 0f3F000000; + add.f32 %f546, %f544, 0f3F800000; + selp.f32 %f547, %f545, %f542, %p69; + selp.f32 %f548, %f546, %f544, %p69; + add.f32 %f549, %f547, 0fBF800000; + add.f32 %f538, %f547, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f537,%f538; + // inline asm + add.f32 %f550, %f549, %f549; + mul.f32 %f551, %f537, %f550; + mul.f32 %f552, %f551, %f551; + fma.rn.f32 %f555, %f989, %f552, %f990; + fma.rn.f32 %f557, %f555, %f552, %f991; + mul.rn.f32 %f558, %f557, %f552; + mul.rn.f32 %f559, %f558, %f551; + sub.f32 %f560, %f549, %f551; + neg.f32 %f561, %f551; + add.f32 %f562, %f560, %f560; + fma.rn.f32 %f563, %f561, %f549, %f562; + mul.rn.f32 %f564, %f537, %f563; + add.f32 %f565, %f559, %f551; + sub.f32 %f566, %f551, %f565; + add.f32 %f567, %f559, %f566; + add.f32 %f568, %f564, %f567; + add.f32 %f569, %f565, %f568; + sub.f32 %f570, %f565, %f569; + add.f32 %f571, %f568, %f570; + mul.rn.f32 %f573, %f548, %f992; + mul.rn.f32 %f575, %f548, %f993; + add.f32 %f576, %f573, %f569; + sub.f32 %f577, %f573, %f576; + add.f32 %f578, %f569, %f577; + add.f32 %f579, %f571, %f578; + add.f32 %f580, %f575, %f579; + add.f32 %f581, %f576, %f580; + sub.f32 %f582, %f576, %f581; + add.f32 %f583, %f580, %f582; + mul.rn.f32 %f585, %f506, %f581; + neg.f32 %f586, %f585; + fma.rn.f32 %f587, %f506, %f581, %f586; + fma.rn.f32 %f588, %f506, %f583, %f587; + fma.rn.f32 %f590, %f511, %f581, %f588; + add.rn.f32 %f591, %f585, %f590; + neg.f32 %f592, %f591; + add.rn.f32 %f593, %f585, %f592; + add.rn.f32 %f594, %f593, %f590; + mov.b32 %r98, %f591; + setp.eq.s32 %p70, %r98, 1118925336; + add.s32 %r99, %r98, -1; + mov.b32 %f595, %r99; + add.f32 %f596, %f594, 0f37000000; + selp.f32 %f597, %f595, %f591, %p70; + selp.f32 %f76, %f596, %f594, %p70; + mul.f32 %f598, %f597, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f599, %f598; + fma.rn.f32 %f601, %f599, %f994, %f597; + fma.rn.f32 %f603, %f599, %f995, %f601; + mul.f32 %f604, %f603, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f605, %f604; + add.f32 %f606, %f599, 0f00000000; + ex2.approx.f32 %f607, %f606; + mul.f32 %f608, %f605, %f607; + setp.lt.f32 %p71, %f597, 0fC2D20000; + selp.f32 %f609, 0f00000000, %f608, %p71; + setp.gt.f32 %p72, %f597, 0f42D20000; + selp.f32 %f1030, 0f7F800000, %f609, %p72; + setp.eq.f32 %p73, %f1030, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f1030, %f1030, %f76, %f1030; + +BB0_47: + setp.lt.f32 %p74, %f46, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r100, %f1030; + xor.b32 %r101, %r100, -2147483648; + mov.b32 %f610, %r101; + selp.f32 %f1032, %f610, %f1030, %p4; + setp.eq.f32 %p76, %f46, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f613, %f46, %f46; + selp.f32 %f1032, %f613, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f46, 0f00000000; + @%p77 bra BB0_51; + + cvt.rzi.f32.f32 %f612, %f506; + setp.neu.f32 %p78, %f612, 0f3EE66666; + selp.f32 %f1032, 0f7FFFFFFF, %f1032, %p78; + +BB0_51: + add.f32 %f614, %f75, 0f3EE66666; + mov.b32 %r102, %f614; + setp.lt.s32 %p80, %r102, 2139095040; + @%p80 bra BB0_56; + + setp.gtu.f32 %p81, %f75, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f1032, %f46, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p82, %f75, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f1032, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f1002, 0fB5BFBE8E; + mov.f32 %f1001, 0fBF317200; + mov.f32 %f1000, 0f35BFBE8E; + mov.f32 %f999, 0f3F317200; + mov.f32 %f998, 0f3DAAAABD; + mov.f32 %f997, 0f3C4CAF63; + mov.f32 %f996, 0f3B18F0FE; + setp.eq.f32 %p83, %f46, 0f3F800000; + selp.f32 %f87, 0f3F800000, %f1032, %p83; + abs.f32 %f88, %f47; + setp.lt.f32 %p84, %f88, 0f00800000; + mul.f32 %f617, %f88, 0f4B800000; + selp.f32 %f618, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f619, %f617, %f88, %p84; + mov.b32 %r103, %f619; + and.b32 %r104, %r103, 8388607; + or.b32 %r105, %r104, 1065353216; + mov.b32 %f620, %r105; + shr.u32 %r106, %r103, 23; + cvt.rn.f32.u32 %f621, %r106; + add.f32 %f622, %f618, %f621; + setp.gt.f32 %p85, %f620, 0f3FB504F3; + mul.f32 %f623, %f620, 0f3F000000; + add.f32 %f624, %f622, 0f3F800000; + selp.f32 %f625, %f623, %f620, %p85; + selp.f32 %f626, %f624, %f622, %p85; + add.f32 %f627, %f625, 0fBF800000; + add.f32 %f616, %f625, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f615,%f616; + // inline asm + add.f32 %f628, %f627, %f627; + mul.f32 %f629, %f615, %f628; + mul.f32 %f630, %f629, %f629; + fma.rn.f32 %f633, %f996, %f630, %f997; + fma.rn.f32 %f635, %f633, %f630, %f998; + mul.rn.f32 %f636, %f635, %f630; + mul.rn.f32 %f637, %f636, %f629; + sub.f32 %f638, %f627, %f629; + neg.f32 %f639, %f629; + add.f32 %f640, %f638, %f638; + fma.rn.f32 %f641, %f639, %f627, %f640; + mul.rn.f32 %f642, %f615, %f641; + add.f32 %f643, %f637, %f629; + sub.f32 %f644, %f629, %f643; + add.f32 %f645, %f637, %f644; + add.f32 %f646, %f642, %f645; + add.f32 %f647, %f643, %f646; + sub.f32 %f648, %f643, %f647; + add.f32 %f649, %f646, %f648; + mul.rn.f32 %f651, %f626, %f999; + mul.rn.f32 %f653, %f626, %f1000; + add.f32 %f654, %f651, %f647; + sub.f32 %f655, %f651, %f654; + add.f32 %f656, %f647, %f655; + add.f32 %f657, %f649, %f656; + add.f32 %f658, %f653, %f657; + add.f32 %f659, %f654, %f658; + sub.f32 %f660, %f654, %f659; + add.f32 %f661, %f658, %f660; + mul.rn.f32 %f663, %f506, %f659; + neg.f32 %f664, %f663; + fma.rn.f32 %f665, %f506, %f659, %f664; + fma.rn.f32 %f666, %f506, %f661, %f665; + fma.rn.f32 %f668, %f511, %f659, %f666; + add.rn.f32 %f669, %f663, %f668; + neg.f32 %f670, %f669; + add.rn.f32 %f671, %f663, %f670; + add.rn.f32 %f672, %f671, %f668; + mov.b32 %r107, %f669; + setp.eq.s32 %p86, %r107, 1118925336; + add.s32 %r108, %r107, -1; + mov.b32 %f673, %r108; + add.f32 %f674, %f672, 0f37000000; + selp.f32 %f675, %f673, %f669, %p86; + selp.f32 %f89, %f674, %f672, %p86; + mul.f32 %f676, %f675, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f677, %f676; + fma.rn.f32 %f679, %f677, %f1001, %f675; + fma.rn.f32 %f681, %f677, %f1002, %f679; + mul.f32 %f682, %f681, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f683, %f682; + add.f32 %f684, %f677, 0f00000000; + ex2.approx.f32 %f685, %f684; + mul.f32 %f686, %f683, %f685; + setp.lt.f32 %p87, %f675, 0fC2D20000; + selp.f32 %f687, 0f00000000, %f686, %p87; + setp.gt.f32 %p88, %f675, 0f42D20000; + selp.f32 %f1033, 0f7F800000, %f687, %p88; + setp.eq.f32 %p89, %f1033, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f1033, %f1033, %f89, %f1033; + +BB0_58: + setp.lt.f32 %p90, %f47, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r109, %f1033; + xor.b32 %r110, %r109, -2147483648; + mov.b32 %f688, %r110; + selp.f32 %f1035, %f688, %f1033, %p5; + setp.eq.f32 %p92, %f47, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f691, %f47, %f47; + selp.f32 %f1035, %f691, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f47, 0f00000000; + @%p93 bra BB0_62; + + cvt.rzi.f32.f32 %f690, %f506; + setp.neu.f32 %p94, %f690, 0f3EE66666; + selp.f32 %f1035, 0f7FFFFFFF, %f1035, %p94; + +BB0_62: + add.f32 %f692, %f88, 0f3EE66666; + mov.b32 %r111, %f692; + setp.lt.s32 %p96, %r111, 2139095040; + @%p96 bra BB0_67; + + setp.gtu.f32 %p97, %f88, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f1035, %f47, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p98, %f88, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f1035, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p99, %f47, 0f3F800000; + selp.f32 %f693, 0f3F800000, %f1035, %p99; + cvt.u64.u32 %rd41, %r3; + cvt.u64.u32 %rd40, %r2; + mov.u64 %rd44, image; + cvta.global.u64 %rd39, %rd44; + // inline asm + call (%rd38), _rt_buffer_get_64, (%rd39, %r32, %r33, %rd40, %rd41, %rd20, %rd20); + // inline asm + cvt.sat.f32.f32 %f694, %f693; + mul.f32 %f695, %f694, 0f437FFD71; + cvt.rzi.u32.f32 %r114, %f695; + cvt.sat.f32.f32 %f696, %f87; + mul.f32 %f697, %f696, 0f437FFD71; + cvt.rzi.u32.f32 %r115, %f697; + cvt.sat.f32.f32 %f698, %f74; + mul.f32 %f699, %f698, 0f437FFD71; + cvt.rzi.u32.f32 %r116, %f699; + cvt.u16.u32 %rs19, %r114; + cvt.u16.u32 %rs20, %r116; + cvt.u16.u32 %rs21, %r115; + mov.u16 %rs22, 255; + st.v4.u8 [%rd38], {%rs19, %rs21, %rs20, %rs22}; + ld.global.u32 %r240, [imageEnabled]; + +BB0_68: + and.b32 %r117, %r240, 4; + setp.eq.s32 %p100, %r117, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r118, [additive]; + setp.eq.s32 %p101, %r118, 0; + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + mov.f32 %f700, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs23, %f700;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd57, image_HDR; + cvta.global.u64 %rd46, %rd57; + mov.u32 %r122, 8; + // inline asm + call (%rd45), _rt_buffer_get_64, (%rd46, %r32, %r122, %rd4, %rd5, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs30, %rs31, %rs32, %rs33}, [%rd45]; + // inline asm + { cvt.f32.f16 %f701, %rs30;} + + // inline asm + // inline asm + { cvt.f32.f16 %f702, %rs31;} + + // inline asm + // inline asm + { cvt.f32.f16 %f703, %rs32;} + + // inline asm + // inline asm + call (%rd51), _rt_buffer_get_64, (%rd46, %r32, %r122, %rd4, %rd5, %rd20, %rd20); + // inline asm + add.f32 %f704, %f45, %f701; + add.f32 %f705, %f46, %f702; + add.f32 %f706, %f47, %f703; + // inline asm + { cvt.rn.f16.f32 %rs29, %f706;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f705;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f704;} + + // inline asm + st.v4.u16 [%rd51], {%rs27, %rs28, %rs29, %rs23}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd64, image_HDR; + cvta.global.u64 %rd59, %rd64; + mov.u32 %r124, 8; + // inline asm + call (%rd58), _rt_buffer_get_64, (%rd59, %r32, %r124, %rd4, %rd5, %rd20, %rd20); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f47;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs35, %f46;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs34, %f45;} + + // inline asm + st.v4.u16 [%rd58], {%rs34, %rs35, %rs36, %rs23}; + +BB0_72: + mul.f32 %f713, %f32, %f1023; + ld.global.f32 %f714, [lightColor]; + mul.f32 %f100, %f713, %f714; + ld.global.f32 %f715, [lightColor+4]; + mul.f32 %f101, %f713, %f715; + ld.global.f32 %f716, [lightColor+8]; + mul.f32 %f102, %f713, %f716; + ld.global.v2.u32 {%r127, %r128}, [pixelID]; + cvt.u64.u32 %rd67, %r127; + cvt.u64.u32 %rd68, %r128; + mov.u64 %rd71, uvtangent; + cvta.global.u64 %rd66, %rd71; + // inline asm + call (%rd65), _rt_buffer_get_64, (%rd66, %r32, %r33, %rd67, %rd68, %rd20, %rd20); + // inline asm + ld.u32 %r16, [%rd65]; + shr.u32 %r17, %r16, 16; + cvt.u16.u32 %rs37, %r17; + and.b16 %rs38, %rs37, 255; + cvt.u16.u32 %rs39, %r16; + or.b16 %rs40, %rs39, %rs38; + setp.eq.s16 %p102, %rs40, 0; + mov.f32 %f1042, 0f00000000; + mov.f32 %f1036, %f1042; + mov.f32 %f1037, %f1042; + mov.f32 %f1038, %f1042; + @%p102 bra BB0_74; + + ld.u8 %rs41, [%rd65+1]; + and.b16 %rs43, %rs39, 255; + cvt.rn.f32.u16 %f717, %rs43; + div.rn.f32 %f718, %f717, 0f437F0000; + fma.rn.f32 %f719, %f718, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f720, %rs41; + div.rn.f32 %f721, %f720, 0f437F0000; + fma.rn.f32 %f722, %f721, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f723, %rs38; + div.rn.f32 %f724, %f723, 0f437F0000; + fma.rn.f32 %f725, %f724, 0f40000000, 0fBF800000; + mul.f32 %f726, %f722, %f722; + fma.rn.f32 %f727, %f719, %f719, %f726; + fma.rn.f32 %f728, %f725, %f725, %f727; + sqrt.rn.f32 %f729, %f728; + rcp.rn.f32 %f730, %f729; + mul.f32 %f1036, %f719, %f730; + mul.f32 %f1037, %f722, %f730; + mul.f32 %f1038, %f725, %f730; + +BB0_74: + mul.f32 %f734, %f1014, %f1037; + mul.f32 %f735, %f1013, %f1038; + sub.f32 %f736, %f735, %f734; + mul.f32 %f737, %f1012, %f1038; + mul.f32 %f738, %f1014, %f1036; + sub.f32 %f739, %f738, %f737; + mul.f32 %f740, %f1013, %f1036; + mul.f32 %f741, %f1012, %f1037; + sub.f32 %f742, %f741, %f740; + setp.lt.u32 %p103, %r16, 16777216; + selp.f32 %f743, 0fBF800000, 0f3F800000, %p103; + mul.f32 %f744, %f736, %f743; + mul.f32 %f745, %f739, %f743; + mul.f32 %f746, %f742, %f743; + mul.f32 %f747, %f744, 0f00000000; + mul.f32 %f748, %f745, 0f00000000; + mul.f32 %f749, %f746, 0f00000000; + fma.rn.f32 %f750, %f1036, 0f3F5105EC, %f747; + fma.rn.f32 %f751, %f1037, 0f3F5105EC, %f748; + fma.rn.f32 %f752, %f1038, 0f3F5105EC, %f749; + mul.f32 %f109, %f1012, 0f3F13CD3A; + add.f32 %f110, %f109, %f750; + mul.f32 %f111, %f1013, 0f3F13CD3A; + add.f32 %f112, %f111, %f751; + mul.f32 %f113, %f1014, 0f3F13CD3A; + add.f32 %f114, %f113, %f752; + ld.global.v2.u32 {%r133, %r134}, [pixelID]; + cvt.u64.u32 %rd74, %r133; + cvt.u64.u32 %rd75, %r134; + // inline asm + call (%rd72), _rt_buffer_get_64, (%rd66, %r32, %r33, %rd74, %rd75, %rd20, %rd20); + // inline asm + ld.u32 %r18, [%rd72]; + shr.u32 %r19, %r18, 16; + cvt.u16.u32 %rs46, %r19; + and.b16 %rs47, %rs46, 255; + cvt.u16.u32 %rs48, %r18; + or.b16 %rs49, %rs48, %rs47; + setp.eq.s16 %p104, %rs49, 0; + mov.f32 %f1039, %f1042; + mov.f32 %f1040, %f1042; + mov.f32 %f1041, %f1042; + @%p104 bra BB0_76; + + ld.u8 %rs50, [%rd72+1]; + and.b16 %rs52, %rs48, 255; + cvt.rn.f32.u16 %f753, %rs52; + div.rn.f32 %f754, %f753, 0f437F0000; + fma.rn.f32 %f755, %f754, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f756, %rs50; + div.rn.f32 %f757, %f756, 0f437F0000; + fma.rn.f32 %f758, %f757, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f759, %rs47; + div.rn.f32 %f760, %f759, 0f437F0000; + fma.rn.f32 %f761, %f760, 0f40000000, 0fBF800000; + mul.f32 %f762, %f758, %f758; + fma.rn.f32 %f763, %f755, %f755, %f762; + fma.rn.f32 %f764, %f761, %f761, %f763; + sqrt.rn.f32 %f765, %f764; + rcp.rn.f32 %f766, %f765; + mul.f32 %f1039, %f755, %f766; + mul.f32 %f1040, %f758, %f766; + mul.f32 %f1041, %f761, %f766; + +BB0_76: + mul.f32 %f770, %f1014, %f1040; + mul.f32 %f771, %f1013, %f1041; + sub.f32 %f772, %f771, %f770; + mul.f32 %f773, %f1012, %f1041; + mul.f32 %f774, %f1014, %f1039; + sub.f32 %f775, %f774, %f773; + mul.f32 %f776, %f1013, %f1039; + mul.f32 %f777, %f1012, %f1040; + sub.f32 %f778, %f777, %f776; + setp.lt.u32 %p105, %r18, 16777216; + selp.f32 %f779, 0fBF800000, 0f3F800000, %p105; + mul.f32 %f780, %f772, %f779; + mul.f32 %f781, %f775, %f779; + mul.f32 %f782, %f778, %f779; + mul.f32 %f783, %f780, 0f3F3504F3; + mul.f32 %f784, %f781, 0f3F3504F3; + mul.f32 %f785, %f782, 0f3F3504F3; + fma.rn.f32 %f786, %f1039, 0fBED105EC, %f783; + fma.rn.f32 %f787, %f1040, 0fBED105EC, %f784; + fma.rn.f32 %f788, %f1041, 0fBED105EC, %f785; + add.f32 %f121, %f109, %f786; + add.f32 %f122, %f111, %f787; + add.f32 %f123, %f113, %f788; + ld.global.v2.u32 {%r139, %r140}, [pixelID]; + cvt.u64.u32 %rd81, %r139; + cvt.u64.u32 %rd82, %r140; + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd66, %r32, %r33, %rd81, %rd82, %rd20, %rd20); + // inline asm + ld.u32 %r20, [%rd79]; + shr.u32 %r21, %r20, 16; + cvt.u16.u32 %rs55, %r21; + and.b16 %rs56, %rs55, 255; + cvt.u16.u32 %rs57, %r20; + or.b16 %rs58, %rs57, %rs56; + setp.eq.s16 %p106, %rs58, 0; + mov.f32 %f1043, %f1042; + mov.f32 %f1044, %f1042; + @%p106 bra BB0_78; + + ld.u8 %rs59, [%rd79+1]; + and.b16 %rs61, %rs57, 255; + cvt.rn.f32.u16 %f789, %rs61; + div.rn.f32 %f790, %f789, 0f437F0000; + fma.rn.f32 %f791, %f790, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f792, %rs59; + div.rn.f32 %f793, %f792, 0f437F0000; + fma.rn.f32 %f794, %f793, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f795, %rs56; + div.rn.f32 %f796, %f795, 0f437F0000; + fma.rn.f32 %f797, %f796, 0f40000000, 0fBF800000; + mul.f32 %f798, %f794, %f794; + fma.rn.f32 %f799, %f791, %f791, %f798; + fma.rn.f32 %f800, %f797, %f797, %f799; + sqrt.rn.f32 %f801, %f800; + rcp.rn.f32 %f802, %f801; + mul.f32 %f1042, %f791, %f802; + mul.f32 %f1043, %f794, %f802; + mul.f32 %f1044, %f797, %f802; + +BB0_78: + sub.f32 %f1008, %f11, %f12; + mul.f32 %f1007, %f1008, %f168; + sub.f32 %f1006, %f7, %f8; + mul.f32 %f1005, %f1006, %f168; + sub.f32 %f1004, %f9, %f10; + mul.f32 %f1003, %f1004, %f168; + mul.f32 %f804, %f1014, %f1043; + mul.f32 %f805, %f1013, %f1044; + sub.f32 %f806, %f805, %f804; + mul.f32 %f807, %f1012, %f1044; + mul.f32 %f808, %f1014, %f1042; + sub.f32 %f809, %f808, %f807; + mul.f32 %f810, %f1013, %f1042; + mul.f32 %f811, %f1012, %f1043; + sub.f32 %f812, %f811, %f810; + setp.lt.u32 %p107, %r20, 16777216; + selp.f32 %f813, 0fBF800000, 0f3F800000, %p107; + mul.f32 %f814, %f806, %f813; + mul.f32 %f815, %f809, %f813; + mul.f32 %f816, %f812, %f813; + mul.f32 %f817, %f814, 0fBF3504F3; + mul.f32 %f818, %f815, 0fBF3504F3; + mul.f32 %f819, %f816, 0fBF3504F3; + fma.rn.f32 %f820, %f1042, 0fBED105EC, %f817; + fma.rn.f32 %f821, %f1043, 0fBED105EC, %f818; + fma.rn.f32 %f822, %f1044, 0fBED105EC, %f819; + add.f32 %f823, %f109, %f820; + add.f32 %f824, %f111, %f821; + add.f32 %f825, %f113, %f822; + mul.f32 %f826, %f1003, %f112; + fma.rn.f32 %f827, %f1005, %f110, %f826; + fma.rn.f32 %f828, %f1007, %f114, %f827; + cvt.sat.f32.f32 %f829, %f828; + mul.f32 %f830, %f100, %f829; + mul.f32 %f831, %f101, %f829; + mul.f32 %f832, %f102, %f829; + mul.f32 %f833, %f1003, %f122; + fma.rn.f32 %f834, %f1005, %f121, %f833; + fma.rn.f32 %f835, %f1007, %f123, %f834; + cvt.sat.f32.f32 %f836, %f835; + mul.f32 %f837, %f100, %f836; + mul.f32 %f838, %f101, %f836; + mul.f32 %f839, %f102, %f836; + mul.f32 %f840, %f1003, %f824; + fma.rn.f32 %f841, %f1005, %f823, %f840; + fma.rn.f32 %f842, %f1007, %f825, %f841; + cvt.sat.f32.f32 %f843, %f842; + mul.f32 %f844, %f100, %f843; + mul.f32 %f845, %f101, %f843; + mul.f32 %f846, %f102, %f843; + cvt.sat.f32.f32 %f847, %f31; + mul.f32 %f848, %f100, %f847; + mul.f32 %f849, %f101, %f847; + mul.f32 %f850, %f102, %f847; + add.f32 %f851, %f830, %f837; + add.f32 %f852, %f831, %f838; + add.f32 %f853, %f832, %f839; + add.f32 %f854, %f851, %f844; + add.f32 %f855, %f852, %f845; + add.f32 %f856, %f853, %f846; + mul.f32 %f857, %f854, 0f3F13CD3A; + mul.f32 %f858, %f855, 0f3F13CD3A; + mul.f32 %f859, %f856, 0f3F13CD3A; + div.rn.f32 %f860, %f848, %f857; + div.rn.f32 %f861, %f849, %f858; + div.rn.f32 %f862, %f850, %f859; + setp.eq.f32 %p108, %f848, 0f00000000; + selp.f32 %f863, 0f00000000, %f860, %p108; + setp.eq.f32 %p109, %f849, 0f00000000; + selp.f32 %f864, 0f00000000, %f861, %p109; + setp.eq.f32 %p110, %f850, 0f00000000; + selp.f32 %f865, 0f00000000, %f862, %p110; + mul.f32 %f130, %f830, %f863; + mul.f32 %f131, %f831, %f864; + mul.f32 %f132, %f832, %f865; + mul.f32 %f133, %f837, %f863; + mul.f32 %f134, %f838, %f864; + mul.f32 %f135, %f839, %f865; + mul.f32 %f136, %f844, %f863; + mul.f32 %f137, %f845, %f864; + mul.f32 %f138, %f846, %f865; + ld.global.u32 %r143, [additive]; + setp.eq.s32 %p111, %r143, 0; + cvt.u64.u32 %rd9, %r2; + cvt.u64.u32 %rd10, %r3; + mov.f32 %f803, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs64, %f803;} + + // inline asm + @%p111 bra BB0_80; + + mov.u64 %rd98, image_RNM0; + cvta.global.u64 %rd87, %rd98; + mov.u32 %r147, 8; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd87, %r32, %r147, %rd9, %rd10, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs71, %rs72, %rs73, %rs74}, [%rd86]; + // inline asm + { cvt.f32.f16 %f866, %rs71;} + + // inline asm + // inline asm + { cvt.f32.f16 %f867, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f868, %rs73;} + + // inline asm + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd87, %r32, %r147, %rd9, %rd10, %rd20, %rd20); + // inline asm + add.f32 %f869, %f130, %f866; + add.f32 %f870, %f131, %f867; + add.f32 %f871, %f132, %f868; + // inline asm + { cvt.rn.f16.f32 %rs70, %f871;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f870;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs68, %f869;} + + // inline asm + st.v4.u16 [%rd92], {%rs68, %rs69, %rs70, %rs64}; + bra.uni BB0_81; + +BB0_80: + mov.u64 %rd105, image_RNM0; + cvta.global.u64 %rd100, %rd105; + mov.u32 %r149, 8; + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd100, %r32, %r149, %rd9, %rd10, %rd20, %rd20); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f132;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f131;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f130;} + + // inline asm + st.v4.u16 [%rd99], {%rs75, %rs76, %rs77, %rs64}; + +BB0_81: + ld.global.u32 %r150, [additive]; + setp.eq.s32 %p112, %r150, 0; + // inline asm + { cvt.rn.f16.f32 %rs78, %f803;} + + // inline asm + @%p112 bra BB0_83; + + mov.u64 %rd118, image_RNM1; + cvta.global.u64 %rd107, %rd118; + mov.u32 %r154, 8; + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd107, %r32, %r154, %rd9, %rd10, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs85, %rs86, %rs87, %rs88}, [%rd106]; + // inline asm + { cvt.f32.f16 %f876, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f877, %rs86;} + + // inline asm + // inline asm + { cvt.f32.f16 %f878, %rs87;} + + // inline asm + // inline asm + call (%rd112), _rt_buffer_get_64, (%rd107, %r32, %r154, %rd9, %rd10, %rd20, %rd20); + // inline asm + add.f32 %f879, %f133, %f876; + add.f32 %f880, %f134, %f877; + add.f32 %f881, %f135, %f878; + // inline asm + { cvt.rn.f16.f32 %rs84, %f881;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f880;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f879;} + + // inline asm + st.v4.u16 [%rd112], {%rs82, %rs83, %rs84, %rs78}; + bra.uni BB0_84; + +BB0_83: + mov.u64 %rd125, image_RNM1; + cvta.global.u64 %rd120, %rd125; + mov.u32 %r156, 8; + // inline asm + call (%rd119), _rt_buffer_get_64, (%rd120, %r32, %r156, %rd9, %rd10, %rd20, %rd20); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f135;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f134;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f133;} + + // inline asm + st.v4.u16 [%rd119], {%rs89, %rs90, %rs91, %rs78}; + +BB0_84: + ld.global.u32 %r157, [additive]; + setp.eq.s32 %p113, %r157, 0; + // inline asm + { cvt.rn.f16.f32 %rs92, %f803;} + + // inline asm + @%p113 bra BB0_86; + + mov.u64 %rd138, image_RNM2; + cvta.global.u64 %rd127, %rd138; + mov.u32 %r161, 8; + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd127, %r32, %r161, %rd9, %rd10, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd126]; + // inline asm + { cvt.f32.f16 %f886, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f887, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f888, %rs101;} + + // inline asm + // inline asm + call (%rd132), _rt_buffer_get_64, (%rd127, %r32, %r161, %rd9, %rd10, %rd20, %rd20); + // inline asm + add.f32 %f889, %f136, %f886; + add.f32 %f890, %f137, %f887; + add.f32 %f891, %f138, %f888; + // inline asm + { cvt.rn.f16.f32 %rs98, %f891;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f890;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f889;} + + // inline asm + st.v4.u16 [%rd132], {%rs96, %rs97, %rs98, %rs92}; + bra.uni BB0_122; + +BB0_86: + mov.u64 %rd145, image_RNM2; + cvta.global.u64 %rd140, %rd145; + mov.u32 %r163, 8; + // inline asm + call (%rd139), _rt_buffer_get_64, (%rd140, %r32, %r163, %rd9, %rd10, %rd20, %rd20); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs105, %f138;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f137;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f136;} + + // inline asm + st.v4.u16 [%rd139], {%rs103, %rs104, %rs105, %rs92}; + +BB0_122: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightRNM.ptx.meta new file mode 100644 index 00000000..58e3cf83 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3bbf2265029973c419a3bcb8fbcb2fc2 +timeCreated: 1558780075 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightSH.ptx new file mode 100644 index 00000000..327578bf --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightSH.ptx @@ -0,0 +1,2422 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .b8 lightConeDir[12]; +.global .align 8 .b8 lightCone[8]; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12lightConeDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9lightConeE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12lightConeDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9lightConeE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12lightConeDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9lightConeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12lightConeDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9lightConeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12lightConeDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9lightConeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<139>; + .reg .b16 %rs<221>; + .reg .f32 %f<984>; + .reg .b32 %r<251>; + .reg .b64 %rd<369>; + + + mov.u64 %rd368, __local_depot0; + cvta.local.u64 %SP, %rd368; + ld.global.v2.u32 {%r28, %r29}, [pixelID]; + cvt.u64.u32 %rd12, %r28; + cvt.u64.u32 %rd13, %r29; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r26, 2; + mov.u32 %r27, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r26, %r27, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r32, %r1, 16; + cvt.u16.u32 %rs1, %r32; + and.b16 %rs12, %rs1, 255; + cvt.u16.u32 %rs13, %r1; + or.b16 %rs14, %rs13, %rs12; + setp.eq.s16 %p7, %rs14, 0; + mov.f32 %f957, 0f00000000; + mov.f32 %f958, %f957; + mov.f32 %f959, %f957; + @%p7 bra BB0_2; + + ld.u8 %rs15, [%rd10+1]; + and.b16 %rs17, %rs13, 255; + cvt.rn.f32.u16 %f128, %rs17; + div.rn.f32 %f129, %f128, 0f437F0000; + fma.rn.f32 %f130, %f129, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f131, %rs15; + div.rn.f32 %f132, %f131, 0f437F0000; + fma.rn.f32 %f133, %f132, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f134, %rs12; + div.rn.f32 %f135, %f134, 0f437F0000; + fma.rn.f32 %f136, %f135, 0f40000000, 0fBF800000; + mul.f32 %f137, %f133, %f133; + fma.rn.f32 %f138, %f130, %f130, %f137; + fma.rn.f32 %f139, %f136, %f136, %f138; + sqrt.rn.f32 %f140, %f139; + rcp.rn.f32 %f141, %f140; + mul.f32 %f957, %f130, %f141; + mul.f32 %f958, %f133, %f141; + mul.f32 %f959, %f136, %f141; + +BB0_2: + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + ld.global.v2.u32 {%r36, %r37}, [tileInfo]; + add.s32 %r2, %r33, %r36; + add.s32 %r3, %r34, %r37; + setp.eq.f32 %p8, %f958, 0f00000000; + setp.eq.f32 %p9, %f957, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f959, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_116; + bra.uni BB0_3; + +BB0_116: + ld.global.u32 %r250, [imageEnabled]; + and.b32 %r199, %r250, 1; + setp.eq.b32 %p131, %r199, 1; + @!%p131 bra BB0_118; + bra.uni BB0_117; + +BB0_117: + cvt.u64.u32 %rd256, %r2; + cvt.u64.u32 %rd257, %r3; + mov.u64 %rd260, image; + cvta.global.u64 %rd255, %rd260; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r26, %r27, %rd256, %rd257, %rd15, %rd15); + // inline asm + mov.u16 %rs153, 0; + st.v4.u8 [%rd254], {%rs153, %rs153, %rs153, %rs153}; + ld.global.u32 %r250, [imageEnabled]; + +BB0_118: + and.b32 %r202, %r250, 8; + setp.eq.s32 %p132, %r202, 0; + @%p132 bra BB0_120; + + cvt.u64.u32 %rd264, %r3; + cvt.u64.u32 %rd263, %r2; + mov.u64 %rd267, image_Mask; + cvta.global.u64 %rd262, %rd267; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r26, %r26, %rd263, %rd264, %rd15, %rd15); + // inline asm + mov.f32 %f866, 0f00000000; + cvt.rzi.u32.f32 %r205, %f866; + cvt.u16.u32 %rs154, %r205; + mov.u16 %rs155, 0; + st.v2.u8 [%rd261], {%rs154, %rs155}; + ld.global.u32 %r250, [imageEnabled]; + +BB0_120: + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + and.b32 %r206, %r250, 4; + setp.eq.s32 %p133, %r206, 0; + @%p133 bra BB0_124; + + ld.global.u32 %r207, [additive]; + setp.eq.s32 %p134, %r207, 0; + @%p134 bra BB0_123; + + mov.u64 %rd280, image_HDR; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r211, 8; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r26, %r211, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs162, %rs163, %rs164, %rs165}, [%rd268]; + // inline asm + { cvt.f32.f16 %f867, %rs162;} + + // inline asm + // inline asm + { cvt.f32.f16 %f868, %rs163;} + + // inline asm + // inline asm + { cvt.f32.f16 %f869, %rs164;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r26, %r211, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f870, %f867, 0f00000000; + add.f32 %f871, %f868, 0f00000000; + add.f32 %f872, %f869, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs161, %f872;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs160, %f871;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs159, %f870;} + + // inline asm + mov.u16 %rs166, 0; + st.v4.u16 [%rd274], {%rs159, %rs160, %rs161, %rs166}; + bra.uni BB0_124; + +BB0_3: + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd19, %r43; + cvt.u64.u32 %rd20, %r44; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r42, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r26, %r42, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f968, [lightPos]; + ld.f32 %f12, [%rd17+8]; + ld.f32 %f10, [%rd17+4]; + ld.f32 %f8, [%rd17]; + sub.f32 %f144, %f968, %f8; + ld.global.f32 %f967, [lightPos+4]; + sub.f32 %f145, %f967, %f10; + ld.global.f32 %f966, [lightPos+8]; + sub.f32 %f146, %f966, %f12; + mul.f32 %f147, %f145, %f145; + fma.rn.f32 %f148, %f144, %f144, %f147; + fma.rn.f32 %f149, %f146, %f146, %f148; + sqrt.rn.f32 %f150, %f149; + rcp.rn.f32 %f151, %f150; + mul.f32 %f13, %f144, %f151; + mul.f32 %f14, %f145, %f151; + mul.f32 %f15, %f146, %f151; + ld.global.f32 %f152, [lightFalloffFakeDistanceMult]; + mul.f32 %f16, %f150, %f152; + ld.global.f32 %f153, [lightInvCutoff]; + mul.f32 %f17, %f150, %f153; + mov.f32 %f157, 0f40800000; + abs.f32 %f19, %f17; + setp.lt.f32 %p13, %f19, 0f00800000; + mul.f32 %f159, %f19, 0f4B800000; + selp.f32 %f160, 0fC3170000, 0fC2FE0000, %p13; + selp.f32 %f161, %f159, %f19, %p13; + mov.b32 %r47, %f161; + and.b32 %r48, %r47, 8388607; + or.b32 %r49, %r48, 1065353216; + mov.b32 %f162, %r49; + shr.u32 %r50, %r47, 23; + cvt.rn.f32.u32 %f163, %r50; + add.f32 %f164, %f160, %f163; + setp.gt.f32 %p14, %f162, 0f3FB504F3; + mul.f32 %f165, %f162, 0f3F000000; + add.f32 %f166, %f164, 0f3F800000; + selp.f32 %f167, %f165, %f162, %p14; + selp.f32 %f168, %f166, %f164, %p14; + add.f32 %f169, %f167, 0fBF800000; + add.f32 %f143, %f167, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f142,%f143; + // inline asm + add.f32 %f170, %f169, %f169; + mul.f32 %f171, %f142, %f170; + mul.f32 %f172, %f171, %f171; + mov.f32 %f173, 0f3C4CAF63; + mov.f32 %f174, 0f3B18F0FE; + fma.rn.f32 %f175, %f174, %f172, %f173; + mov.f32 %f176, 0f3DAAAABD; + fma.rn.f32 %f177, %f175, %f172, %f176; + mul.rn.f32 %f178, %f177, %f172; + mul.rn.f32 %f179, %f178, %f171; + sub.f32 %f180, %f169, %f171; + neg.f32 %f181, %f171; + add.f32 %f182, %f180, %f180; + fma.rn.f32 %f183, %f181, %f169, %f182; + mul.rn.f32 %f184, %f142, %f183; + add.f32 %f185, %f179, %f171; + sub.f32 %f186, %f171, %f185; + add.f32 %f187, %f179, %f186; + add.f32 %f188, %f184, %f187; + add.f32 %f189, %f185, %f188; + sub.f32 %f190, %f185, %f189; + add.f32 %f191, %f188, %f190; + mov.f32 %f192, 0f3F317200; + mul.rn.f32 %f193, %f168, %f192; + mov.f32 %f194, 0f35BFBE8E; + mul.rn.f32 %f195, %f168, %f194; + add.f32 %f196, %f193, %f189; + sub.f32 %f197, %f193, %f196; + add.f32 %f198, %f189, %f197; + add.f32 %f199, %f191, %f198; + add.f32 %f200, %f195, %f199; + add.f32 %f201, %f196, %f200; + sub.f32 %f202, %f196, %f201; + add.f32 %f203, %f200, %f202; + mul.rn.f32 %f204, %f157, %f201; + neg.f32 %f205, %f204; + fma.rn.f32 %f206, %f157, %f201, %f205; + fma.rn.f32 %f207, %f157, %f203, %f206; + mov.f32 %f208, 0f00000000; + fma.rn.f32 %f209, %f208, %f201, %f207; + add.rn.f32 %f210, %f204, %f209; + neg.f32 %f211, %f210; + add.rn.f32 %f212, %f204, %f211; + add.rn.f32 %f213, %f212, %f209; + mov.b32 %r51, %f210; + setp.eq.s32 %p15, %r51, 1118925336; + add.s32 %r52, %r51, -1; + mov.b32 %f214, %r52; + add.f32 %f215, %f213, 0f37000000; + selp.f32 %f216, %f214, %f210, %p15; + selp.f32 %f20, %f215, %f213, %p15; + mul.f32 %f217, %f216, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f218, %f217; + mov.f32 %f219, 0fBF317200; + fma.rn.f32 %f220, %f218, %f219, %f216; + mov.f32 %f221, 0fB5BFBE8E; + fma.rn.f32 %f222, %f218, %f221, %f220; + mul.f32 %f223, %f222, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f224, %f223; + add.f32 %f225, %f218, 0f00000000; + ex2.approx.f32 %f226, %f225; + mul.f32 %f227, %f224, %f226; + setp.lt.f32 %p16, %f216, 0fC2D20000; + selp.f32 %f228, 0f00000000, %f227, %p16; + setp.gt.f32 %p17, %f216, 0f42D20000; + selp.f32 %f960, 0f7F800000, %f228, %p17; + setp.eq.f32 %p18, %f960, 0f7F800000; + @%p18 bra BB0_5; + + fma.rn.f32 %f960, %f960, %f20, %f960; + +BB0_5: + mov.f32 %f907, 0f40000000; + cvt.rzi.f32.f32 %f906, %f907; + add.f32 %f905, %f906, %f906; + mov.f32 %f904, 0f40800000; + sub.f32 %f903, %f904, %f905; + abs.f32 %f902, %f903; + setp.lt.f32 %p19, %f17, 0f00000000; + setp.eq.f32 %p20, %f902, 0f3F800000; + and.pred %p1, %p19, %p20; + mov.b32 %r53, %f960; + xor.b32 %r54, %r53, -2147483648; + mov.b32 %f229, %r54; + selp.f32 %f962, %f229, %f960, %p1; + setp.eq.f32 %p21, %f17, 0f00000000; + @%p21 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f232, %f17, %f17; + selp.f32 %f962, %f232, 0f00000000, %p20; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p22, %f17, 0f00000000; + @%p22 bra BB0_9; + + mov.f32 %f948, 0f40800000; + cvt.rzi.f32.f32 %f231, %f948; + setp.neu.f32 %p23, %f231, 0f40800000; + selp.f32 %f962, 0f7FFFFFFF, %f962, %p23; + +BB0_9: + abs.f32 %f908, %f17; + add.f32 %f233, %f908, 0f40800000; + mov.b32 %r55, %f233; + setp.lt.s32 %p25, %r55, 2139095040; + @%p25 bra BB0_14; + + abs.f32 %f946, %f17; + setp.gtu.f32 %p26, %f946, 0f7F800000; + @%p26 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f962, %f17, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f947, %f17; + setp.neu.f32 %p27, %f947, 0f7F800000; + @%p27 bra BB0_14; + + selp.f32 %f962, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f916, 0fB5BFBE8E; + mov.f32 %f915, 0fBF317200; + mov.f32 %f914, 0f00000000; + mov.f32 %f913, 0f35BFBE8E; + mov.f32 %f912, 0f3F317200; + mov.f32 %f911, 0f3DAAAABD; + mov.f32 %f910, 0f3C4CAF63; + mov.f32 %f909, 0f3B18F0FE; + mov.f32 %f236, 0f3F800000; + sub.f32 %f237, %f236, %f962; + setp.eq.f32 %p28, %f17, 0f3F800000; + selp.f32 %f238, 0f00000000, %f237, %p28; + cvt.sat.f32.f32 %f239, %f238; + ld.global.f32 %f240, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f241, %f16, %f16, %f240; + div.rn.f32 %f31, %f239, %f241; + mul.f32 %f242, %f958, %f14; + fma.rn.f32 %f243, %f957, %f13, %f242; + fma.rn.f32 %f244, %f959, %f15, %f243; + ld.global.u32 %r248, [imageEnabled]; + and.b32 %r56, %r248, 32; + ld.global.u32 %r57, [ignoreNormal]; + or.b32 %r58, %r56, %r57; + setp.eq.s32 %p29, %r58, 0; + selp.f32 %f32, %f244, 0f3F800000, %p29; + fma.rn.f32 %f245, %f32, 0f3F000000, 0f3F000000; + cvt.sat.f32.f32 %f246, %f245; + add.f32 %f33, %f246, %f246; + mov.f32 %f250, 0f41A00000; + abs.f32 %f35, %f33; + setp.lt.f32 %p30, %f35, 0f00800000; + mul.f32 %f252, %f35, 0f4B800000; + selp.f32 %f253, 0fC3170000, 0fC2FE0000, %p30; + selp.f32 %f254, %f252, %f35, %p30; + mov.b32 %r59, %f254; + and.b32 %r60, %r59, 8388607; + or.b32 %r61, %r60, 1065353216; + mov.b32 %f255, %r61; + shr.u32 %r62, %r59, 23; + cvt.rn.f32.u32 %f256, %r62; + add.f32 %f257, %f253, %f256; + setp.gt.f32 %p31, %f255, 0f3FB504F3; + mul.f32 %f258, %f255, 0f3F000000; + add.f32 %f259, %f257, 0f3F800000; + selp.f32 %f260, %f258, %f255, %p31; + selp.f32 %f261, %f259, %f257, %p31; + add.f32 %f262, %f260, 0fBF800000; + add.f32 %f235, %f260, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f234,%f235; + // inline asm + add.f32 %f263, %f262, %f262; + mul.f32 %f264, %f234, %f263; + mul.f32 %f265, %f264, %f264; + fma.rn.f32 %f268, %f909, %f265, %f910; + fma.rn.f32 %f270, %f268, %f265, %f911; + mul.rn.f32 %f271, %f270, %f265; + mul.rn.f32 %f272, %f271, %f264; + sub.f32 %f273, %f262, %f264; + neg.f32 %f274, %f264; + add.f32 %f275, %f273, %f273; + fma.rn.f32 %f276, %f274, %f262, %f275; + mul.rn.f32 %f277, %f234, %f276; + add.f32 %f278, %f272, %f264; + sub.f32 %f279, %f264, %f278; + add.f32 %f280, %f272, %f279; + add.f32 %f281, %f277, %f280; + add.f32 %f282, %f278, %f281; + sub.f32 %f283, %f278, %f282; + add.f32 %f284, %f281, %f283; + mul.rn.f32 %f286, %f261, %f912; + mul.rn.f32 %f288, %f261, %f913; + add.f32 %f289, %f286, %f282; + sub.f32 %f290, %f286, %f289; + add.f32 %f291, %f282, %f290; + add.f32 %f292, %f284, %f291; + add.f32 %f293, %f288, %f292; + add.f32 %f294, %f289, %f293; + sub.f32 %f295, %f289, %f294; + add.f32 %f296, %f293, %f295; + mul.rn.f32 %f297, %f250, %f294; + neg.f32 %f298, %f297; + fma.rn.f32 %f299, %f250, %f294, %f298; + fma.rn.f32 %f300, %f250, %f296, %f299; + fma.rn.f32 %f302, %f914, %f294, %f300; + add.rn.f32 %f303, %f297, %f302; + neg.f32 %f304, %f303; + add.rn.f32 %f305, %f297, %f304; + add.rn.f32 %f306, %f305, %f302; + mov.b32 %r63, %f303; + setp.eq.s32 %p32, %r63, 1118925336; + add.s32 %r64, %r63, -1; + mov.b32 %f307, %r64; + add.f32 %f308, %f306, 0f37000000; + selp.f32 %f309, %f307, %f303, %p32; + selp.f32 %f36, %f308, %f306, %p32; + mul.f32 %f310, %f309, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f311, %f310; + fma.rn.f32 %f313, %f311, %f915, %f309; + fma.rn.f32 %f315, %f311, %f916, %f313; + mul.f32 %f316, %f315, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f317, %f316; + add.f32 %f318, %f311, 0f00000000; + ex2.approx.f32 %f319, %f318; + mul.f32 %f320, %f317, %f319; + setp.lt.f32 %p33, %f309, 0fC2D20000; + selp.f32 %f321, 0f00000000, %f320, %p33; + setp.gt.f32 %p34, %f309, 0f42D20000; + selp.f32 %f963, 0f7F800000, %f321, %p34; + setp.eq.f32 %p35, %f963, 0f7F800000; + @%p35 bra BB0_16; + + fma.rn.f32 %f963, %f963, %f36, %f963; + +BB0_16: + mov.f32 %f954, 0f41200000; + cvt.rzi.f32.f32 %f953, %f954; + add.f32 %f952, %f953, %f953; + mov.f32 %f951, 0f41A00000; + sub.f32 %f950, %f951, %f952; + abs.f32 %f949, %f950; + setp.lt.f32 %p36, %f33, 0f00000000; + setp.eq.f32 %p37, %f949, 0f3F800000; + and.pred %p2, %p36, %p37; + mov.b32 %r65, %f963; + xor.b32 %r66, %r65, -2147483648; + mov.b32 %f322, %r66; + selp.f32 %f965, %f322, %f963, %p2; + setp.eq.f32 %p38, %f33, 0f00000000; + @%p38 bra BB0_19; + bra.uni BB0_17; + +BB0_19: + add.f32 %f325, %f33, %f33; + selp.f32 %f965, %f325, 0f00000000, %p37; + bra.uni BB0_20; + +BB0_17: + setp.geu.f32 %p39, %f33, 0f00000000; + @%p39 bra BB0_20; + + mov.f32 %f956, 0f41A00000; + cvt.rzi.f32.f32 %f324, %f956; + setp.neu.f32 %p40, %f324, 0f41A00000; + selp.f32 %f965, 0f7FFFFFFF, %f965, %p40; + +BB0_20: + add.f32 %f326, %f35, 0f41A00000; + mov.b32 %r67, %f326; + setp.lt.s32 %p42, %r67, 2139095040; + @%p42 bra BB0_25; + + setp.gtu.f32 %p43, %f35, 0f7F800000; + @%p43 bra BB0_24; + bra.uni BB0_22; + +BB0_24: + add.f32 %f965, %f33, 0f41A00000; + bra.uni BB0_25; + +BB0_22: + setp.neu.f32 %p44, %f35, 0f7F800000; + @%p44 bra BB0_25; + + selp.f32 %f965, 0fFF800000, 0f7F800000, %p2; + +BB0_25: + setp.eq.f32 %p45, %f33, 0f3F800000; + selp.f32 %f327, 0f3F800000, %f965, %p45; + cvt.sat.f32.f32 %f328, %f327; + mul.f32 %f329, %f31, %f328; + mul.f32 %f330, %f32, 0f40800000; + cvt.sat.f32.f32 %f47, %f330; + ld.global.f32 %f331, [lightConeDir]; + mul.f32 %f332, %f13, %f331; + ld.global.f32 %f333, [lightConeDir+4]; + mul.f32 %f334, %f14, %f333; + neg.f32 %f335, %f334; + sub.f32 %f336, %f335, %f332; + ld.global.f32 %f337, [lightConeDir+8]; + mul.f32 %f338, %f15, %f337; + sub.f32 %f339, %f336, %f338; + ld.global.v2.f32 {%f340, %f341}, [lightCone]; + fma.rn.f32 %f344, %f340, %f339, %f341; + cvt.sat.f32.f32 %f345, %f344; + mul.f32 %f346, %f345, %f345; + mul.f32 %f48, %f329, %f346; + mul.f32 %f347, %f47, %f48; + ld.global.f32 %f348, [lightColor+4]; + ld.global.f32 %f349, [lightColor]; + max.f32 %f350, %f349, %f348; + ld.global.f32 %f351, [lightColor+8]; + max.f32 %f352, %f350, %f351; + mul.f32 %f353, %f347, %f352; + setp.lt.f32 %p46, %f353, 0f3727C5AC; + @%p46 bra BB0_96; + bra.uni BB0_26; + +BB0_96: + and.b32 %r156, %r248, 1; + setp.eq.b32 %p123, %r156, 1; + @!%p123 bra BB0_98; + bra.uni BB0_97; + +BB0_97: + cvt.u64.u32 %rd142, %r2; + cvt.u64.u32 %rd143, %r3; + mov.u64 %rd146, image; + cvta.global.u64 %rd141, %rd146; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r26, %r27, %rd142, %rd143, %rd15, %rd15); + // inline asm + mov.u16 %rs89, 1; + mov.u16 %rs90, 0; + st.v4.u8 [%rd140], {%rs90, %rs90, %rs90, %rs89}; + ld.global.u32 %r248, [imageEnabled]; + +BB0_98: + and.b32 %r159, %r248, 8; + setp.eq.s32 %p124, %r159, 0; + @%p124 bra BB0_100; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd149, %r2; + mov.u64 %rd153, image_Mask; + cvta.global.u64 %rd148, %rd153; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r26, %r26, %rd149, %rd150, %rd15, %rd15); + // inline asm + mov.f32 %f823, 0f00000000; + cvt.rzi.u32.f32 %r162, %f823; + cvt.u16.u32 %rs91, %r162; + mov.u16 %rs92, 255; + st.v2.u8 [%rd147], {%rs91, %rs92}; + ld.global.u32 %r248, [imageEnabled]; + +BB0_100: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r163, %r248, 4; + setp.eq.s32 %p125, %r163, 0; + @%p125 bra BB0_104; + + ld.global.u32 %r164, [additive]; + setp.eq.s32 %p126, %r164, 0; + mov.f32 %f824, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs93, %f824;} + + // inline asm + @%p126 bra BB0_103; + + mov.u64 %rd166, image_HDR; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r168, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r26, %r168, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs100, %rs101, %rs102, %rs103}, [%rd154]; + // inline asm + { cvt.f32.f16 %f825, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f826, %rs101;} + + // inline asm + // inline asm + { cvt.f32.f16 %f827, %rs102;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r26, %r168, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f828, %f825, 0f00000000; + add.f32 %f829, %f826, 0f00000000; + add.f32 %f830, %f827, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs99, %f830;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f829;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f828;} + + // inline asm + st.v4.u16 [%rd160], {%rs97, %rs98, %rs99, %rs93}; + bra.uni BB0_104; + +BB0_26: + mov.f32 %f969, 0f00000000; + mul.f32 %f355, %f8, 0f3456BF95; + abs.f32 %f356, %f957; + div.rn.f32 %f357, %f355, %f356; + abs.f32 %f358, %f958; + mul.f32 %f359, %f10, 0f3456BF95; + div.rn.f32 %f360, %f359, %f358; + abs.f32 %f361, %f959; + mul.f32 %f362, %f12, 0f3456BF95; + div.rn.f32 %f363, %f362, %f361; + abs.f32 %f364, %f357; + abs.f32 %f365, %f360; + abs.f32 %f366, %f363; + mov.f32 %f367, 0f38D1B717; + max.f32 %f368, %f364, %f367; + max.f32 %f369, %f365, %f367; + max.f32 %f370, %f366, %f367; + fma.rn.f32 %f49, %f957, %f368, %f8; + fma.rn.f32 %f50, %f958, %f369, %f10; + fma.rn.f32 %f51, %f959, %f370, %f12; + ld.global.u32 %r244, [samples]; + setp.lt.s32 %p47, %r244, 1; + @%p47 bra BB0_29; + + mul.f32 %f372, %f49, 0f3456BF95; + abs.f32 %f373, %f372; + mul.f32 %f374, %f50, 0f3456BF95; + abs.f32 %f375, %f374; + mul.f32 %f376, %f51, 0f3456BF95; + abs.f32 %f377, %f376; + max.f32 %f378, %f373, %f375; + max.f32 %f379, %f378, %f377; + max.f32 %f52, %f379, %f367; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f969, 0f00000000; + mov.u32 %r243, 0; + bra.uni BB0_28; + +BB0_95: + ld.global.f32 %f968, [lightPos]; + ld.global.f32 %f967, [lightPos+4]; + ld.global.f32 %f966, [lightPos+8]; + ld.global.u32 %r248, [imageEnabled]; + +BB0_28: + cvt.rn.f32.s32 %f389, %r243; + mul.f32 %f390, %f389, 0f3DD32618; + cvt.rmi.f32.f32 %f391, %f390; + sub.f32 %f392, %f390, %f391; + mul.f32 %f393, %f389, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f394, %f393; + sub.f32 %f395, %f393, %f394; + mul.f32 %f396, %f389, 0f3DC74539; + cvt.rmi.f32.f32 %f397, %f396; + sub.f32 %f398, %f396, %f397; + add.f32 %f399, %f395, 0f4199851F; + add.f32 %f400, %f398, 0f4199851F; + add.f32 %f401, %f392, 0f4199851F; + mul.f32 %f402, %f395, %f400; + fma.rn.f32 %f403, %f392, %f399, %f402; + fma.rn.f32 %f404, %f401, %f398, %f403; + add.f32 %f405, %f392, %f404; + add.f32 %f406, %f395, %f404; + add.f32 %f407, %f398, %f404; + add.f32 %f408, %f405, %f406; + mul.f32 %f409, %f407, %f408; + cvt.rmi.f32.f32 %f410, %f409; + sub.f32 %f411, %f409, %f410; + add.f32 %f412, %f405, %f407; + mul.f32 %f413, %f406, %f412; + cvt.rmi.f32.f32 %f414, %f413; + sub.f32 %f415, %f413, %f414; + add.f32 %f416, %f406, %f407; + mul.f32 %f417, %f405, %f416; + cvt.rmi.f32.f32 %f418, %f417; + sub.f32 %f419, %f417, %f418; + fma.rn.f32 %f420, %f411, 0f40000000, 0fBF800000; + fma.rn.f32 %f421, %f415, 0f40000000, 0fBF800000; + fma.rn.f32 %f422, %f419, 0f40000000, 0fBF800000; + ld.global.f32 %f423, [lightRadius]; + fma.rn.f32 %f424, %f423, %f420, %f968; + fma.rn.f32 %f425, %f423, %f421, %f967; + fma.rn.f32 %f426, %f423, %f422, %f966; + sub.f32 %f427, %f424, %f8; + sub.f32 %f428, %f425, %f10; + sub.f32 %f429, %f426, %f12; + mul.f32 %f430, %f428, %f428; + fma.rn.f32 %f431, %f427, %f427, %f430; + fma.rn.f32 %f432, %f429, %f429, %f431; + sqrt.rn.f32 %f388, %f432; + rcp.rn.f32 %f433, %f388; + mul.f32 %f384, %f433, %f427; + mul.f32 %f385, %f433, %f428; + mul.f32 %f386, %f433, %f429; + and.b32 %r72, %r248, 32; + setp.eq.s32 %p48, %r72, 0; + selp.f32 %f434, 0f3F800000, 0f41200000, %p48; + mul.f32 %f387, %f434, %f52; + mov.u32 %r73, 1065353216; + st.local.u32 [%rd2], %r73; + ld.global.u32 %r69, [root]; + mov.u32 %r70, 1; + // inline asm + call _rt_trace_64, (%r69, %f49, %f50, %f51, %f384, %f385, %f386, %r70, %f387, %f388, %rd24, %r27); + // inline asm + ld.local.f32 %f435, [%rd2]; + add.f32 %f969, %f969, %f435; + ld.global.u32 %r244, [samples]; + add.s32 %r243, %r243, 1; + setp.lt.s32 %p49, %r243, %r244; + @%p49 bra BB0_95; + +BB0_29: + mov.f32 %f971, 0f3F800000; + setp.eq.s32 %p50, %r244, 0; + @%p50 bra BB0_31; + + cvt.rn.f32.s32 %f437, %r244; + div.rn.f32 %f971, %f969, %f437; + +BB0_31: + cvt.sat.f32.f32 %f438, %f32; + mul.f32 %f439, %f48, %f438; + mul.f32 %f440, %f971, %f439; + ld.global.f32 %f441, [lightColor]; + mul.f32 %f61, %f441, %f440; + ld.global.f32 %f442, [lightColor+4]; + mul.f32 %f62, %f442, %f440; + ld.global.f32 %f443, [lightColor+8]; + mul.f32 %f63, %f440, %f443; + ld.global.u32 %r246, [imageEnabled]; + and.b32 %r74, %r246, 8; + setp.eq.s32 %p51, %r74, 0; + @%p51 bra BB0_44; + + mov.f32 %f924, 0fB5BFBE8E; + mov.f32 %f923, 0fBF317200; + mov.f32 %f922, 0f35BFBE8E; + mov.f32 %f921, 0f3F317200; + mov.f32 %f920, 0f3DAAAABD; + mov.f32 %f919, 0f3C4CAF63; + mov.f32 %f918, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r26, %r26, %rd28, %rd29, %rd15, %rd15); + // inline asm + mov.f32 %f446, 0f3E68BA2E; + cvt.rzi.f32.f32 %f447, %f446; + fma.rn.f32 %f448, %f447, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f64, %f448; + abs.f32 %f65, %f971; + setp.lt.f32 %p52, %f65, 0f00800000; + mul.f32 %f449, %f65, 0f4B800000; + selp.f32 %f450, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f451, %f449, %f65, %p52; + mov.b32 %r77, %f451; + and.b32 %r78, %r77, 8388607; + or.b32 %r79, %r78, 1065353216; + mov.b32 %f452, %r79; + shr.u32 %r80, %r77, 23; + cvt.rn.f32.u32 %f453, %r80; + add.f32 %f454, %f450, %f453; + setp.gt.f32 %p53, %f452, 0f3FB504F3; + mul.f32 %f455, %f452, 0f3F000000; + add.f32 %f456, %f454, 0f3F800000; + selp.f32 %f457, %f455, %f452, %p53; + selp.f32 %f458, %f456, %f454, %p53; + add.f32 %f459, %f457, 0fBF800000; + add.f32 %f445, %f457, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f444,%f445; + // inline asm + add.f32 %f460, %f459, %f459; + mul.f32 %f461, %f444, %f460; + mul.f32 %f462, %f461, %f461; + fma.rn.f32 %f465, %f918, %f462, %f919; + fma.rn.f32 %f467, %f465, %f462, %f920; + mul.rn.f32 %f468, %f467, %f462; + mul.rn.f32 %f469, %f468, %f461; + sub.f32 %f470, %f459, %f461; + neg.f32 %f471, %f461; + add.f32 %f472, %f470, %f470; + fma.rn.f32 %f473, %f471, %f459, %f472; + mul.rn.f32 %f474, %f444, %f473; + add.f32 %f475, %f469, %f461; + sub.f32 %f476, %f461, %f475; + add.f32 %f477, %f469, %f476; + add.f32 %f478, %f474, %f477; + add.f32 %f479, %f475, %f478; + sub.f32 %f480, %f475, %f479; + add.f32 %f481, %f478, %f480; + mul.rn.f32 %f483, %f458, %f921; + mul.rn.f32 %f485, %f458, %f922; + add.f32 %f486, %f483, %f479; + sub.f32 %f487, %f483, %f486; + add.f32 %f488, %f479, %f487; + add.f32 %f489, %f481, %f488; + add.f32 %f490, %f485, %f489; + add.f32 %f491, %f486, %f490; + sub.f32 %f492, %f486, %f491; + add.f32 %f493, %f490, %f492; + mov.f32 %f494, 0f3EE8BA2E; + mul.rn.f32 %f495, %f494, %f491; + neg.f32 %f496, %f495; + fma.rn.f32 %f497, %f494, %f491, %f496; + fma.rn.f32 %f498, %f494, %f493, %f497; + mov.f32 %f499, 0f00000000; + fma.rn.f32 %f500, %f499, %f491, %f498; + add.rn.f32 %f501, %f495, %f500; + neg.f32 %f502, %f501; + add.rn.f32 %f503, %f495, %f502; + add.rn.f32 %f504, %f503, %f500; + mov.b32 %r81, %f501; + setp.eq.s32 %p54, %r81, 1118925336; + add.s32 %r82, %r81, -1; + mov.b32 %f505, %r82; + add.f32 %f506, %f504, 0f37000000; + selp.f32 %f507, %f505, %f501, %p54; + selp.f32 %f66, %f506, %f504, %p54; + mul.f32 %f508, %f507, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f509, %f508; + fma.rn.f32 %f511, %f509, %f923, %f507; + fma.rn.f32 %f513, %f509, %f924, %f511; + mul.f32 %f514, %f513, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f515, %f514; + add.f32 %f516, %f509, 0f00000000; + ex2.approx.f32 %f517, %f516; + mul.f32 %f518, %f515, %f517; + setp.lt.f32 %p55, %f507, 0fC2D20000; + selp.f32 %f519, 0f00000000, %f518, %p55; + setp.gt.f32 %p56, %f507, 0f42D20000; + selp.f32 %f972, 0f7F800000, %f519, %p56; + setp.eq.f32 %p57, %f972, 0f7F800000; + @%p57 bra BB0_34; + + fma.rn.f32 %f972, %f972, %f66, %f972; + +BB0_34: + setp.lt.f32 %p58, %f971, 0f00000000; + setp.eq.f32 %p59, %f64, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r83, %f972; + xor.b32 %r84, %r83, -2147483648; + mov.b32 %f520, %r84; + selp.f32 %f974, %f520, %f972, %p3; + setp.eq.f32 %p60, %f971, 0f00000000; + @%p60 bra BB0_37; + bra.uni BB0_35; + +BB0_37: + add.f32 %f523, %f971, %f971; + selp.f32 %f974, %f523, 0f00000000, %p59; + bra.uni BB0_38; + +BB0_123: + mov.u64 %rd287, image_HDR; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r213, 8; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r26, %r213, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f873, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f873;} + + // inline asm + mov.u16 %rs168, 0; + st.v4.u16 [%rd281], {%rs167, %rs167, %rs167, %rs168}; + +BB0_124: + ld.global.u32 %r214, [additive]; + setp.eq.s32 %p135, %r214, 0; + @%p135 bra BB0_126; + + mov.u64 %rd300, image_RNM0; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r218, 8; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r26, %r218, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs175, %rs176, %rs177, %rs178}, [%rd288]; + // inline asm + { cvt.f32.f16 %f874, %rs175;} + + // inline asm + // inline asm + { cvt.f32.f16 %f875, %rs176;} + + // inline asm + // inline asm + { cvt.f32.f16 %f876, %rs177;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r26, %r218, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f877, %f874, 0f00000000; + add.f32 %f878, %f875, 0f00000000; + add.f32 %f879, %f876, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs174, %f879;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs173, %f878;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs172, %f877;} + + // inline asm + mov.u16 %rs179, 0; + st.v4.u16 [%rd294], {%rs172, %rs173, %rs174, %rs179}; + bra.uni BB0_127; + +BB0_126: + mov.u64 %rd307, image_RNM0; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r220, 8; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r26, %r220, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f880, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs180, %f880;} + + // inline asm + mov.u16 %rs181, 0; + st.v4.u16 [%rd301], {%rs180, %rs180, %rs180, %rs181}; + +BB0_127: + ld.global.u32 %r221, [additive]; + setp.eq.s32 %p136, %r221, 0; + @%p136 bra BB0_129; + + mov.u64 %rd320, image_RNM1; + cvta.global.u64 %rd309, %rd320; + mov.u32 %r225, 8; + // inline asm + call (%rd308), _rt_buffer_get_64, (%rd309, %r26, %r225, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs188, %rs189, %rs190, %rs191}, [%rd308]; + // inline asm + { cvt.f32.f16 %f881, %rs188;} + + // inline asm + // inline asm + { cvt.f32.f16 %f882, %rs189;} + + // inline asm + // inline asm + { cvt.f32.f16 %f883, %rs190;} + + // inline asm + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd309, %r26, %r225, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f884, %f881, 0f00000000; + add.f32 %f885, %f882, 0f00000000; + add.f32 %f886, %f883, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs187, %f886;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs186, %f885;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs185, %f884;} + + // inline asm + mov.u16 %rs192, 0; + st.v4.u16 [%rd314], {%rs185, %rs186, %rs187, %rs192}; + bra.uni BB0_130; + +BB0_129: + mov.u64 %rd327, image_RNM1; + cvta.global.u64 %rd322, %rd327; + mov.u32 %r227, 8; + // inline asm + call (%rd321), _rt_buffer_get_64, (%rd322, %r26, %r227, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f887, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs193, %f887;} + + // inline asm + mov.u16 %rs194, 0; + st.v4.u16 [%rd321], {%rs193, %rs193, %rs193, %rs194}; + +BB0_130: + ld.global.u32 %r228, [additive]; + setp.eq.s32 %p137, %r228, 0; + @%p137 bra BB0_132; + + mov.u64 %rd340, image_RNM2; + cvta.global.u64 %rd329, %rd340; + mov.u32 %r232, 8; + // inline asm + call (%rd328), _rt_buffer_get_64, (%rd329, %r26, %r232, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs201, %rs202, %rs203, %rs204}, [%rd328]; + // inline asm + { cvt.f32.f16 %f888, %rs201;} + + // inline asm + // inline asm + { cvt.f32.f16 %f889, %rs202;} + + // inline asm + // inline asm + { cvt.f32.f16 %f890, %rs203;} + + // inline asm + // inline asm + call (%rd334), _rt_buffer_get_64, (%rd329, %r26, %r232, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f891, %f888, 0f00000000; + add.f32 %f892, %f889, 0f00000000; + add.f32 %f893, %f890, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs200, %f893;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs199, %f892;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs198, %f891;} + + // inline asm + mov.u16 %rs205, 0; + st.v4.u16 [%rd334], {%rs198, %rs199, %rs200, %rs205}; + bra.uni BB0_133; + +BB0_132: + mov.u64 %rd347, image_RNM2; + cvta.global.u64 %rd342, %rd347; + mov.u32 %r234, 8; + // inline asm + call (%rd341), _rt_buffer_get_64, (%rd342, %r26, %r234, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f894, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs206, %f894;} + + // inline asm + mov.u16 %rs207, 0; + st.v4.u16 [%rd341], {%rs206, %rs206, %rs206, %rs207}; + +BB0_133: + ld.global.u32 %r235, [additive]; + setp.eq.s32 %p138, %r235, 0; + @%p138 bra BB0_135; + + mov.u64 %rd360, image_RNM3; + cvta.global.u64 %rd349, %rd360; + mov.u32 %r239, 8; + // inline asm + call (%rd348), _rt_buffer_get_64, (%rd349, %r26, %r239, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs214, %rs215, %rs216, %rs217}, [%rd348]; + // inline asm + { cvt.f32.f16 %f895, %rs214;} + + // inline asm + // inline asm + { cvt.f32.f16 %f896, %rs215;} + + // inline asm + // inline asm + { cvt.f32.f16 %f897, %rs216;} + + // inline asm + // inline asm + call (%rd354), _rt_buffer_get_64, (%rd349, %r26, %r239, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f898, %f895, 0f00000000; + add.f32 %f899, %f896, 0f00000000; + add.f32 %f900, %f897, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs213, %f900;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs212, %f899;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs211, %f898;} + + // inline asm + mov.u16 %rs218, 0; + st.v4.u16 [%rd354], {%rs211, %rs212, %rs213, %rs218}; + bra.uni BB0_136; + +BB0_135: + mov.u64 %rd367, image_RNM3; + cvta.global.u64 %rd362, %rd367; + mov.u32 %r241, 8; + // inline asm + call (%rd361), _rt_buffer_get_64, (%rd362, %r26, %r241, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f901, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs219, %f901;} + + // inline asm + mov.u16 %rs220, 0; + st.v4.u16 [%rd361], {%rs219, %rs219, %rs219, %rs220}; + bra.uni BB0_136; + +BB0_103: + mov.u64 %rd173, image_HDR; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r170, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r26, %r170, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f831, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f831;} + + // inline asm + st.v4.u16 [%rd167], {%rs104, %rs104, %rs104, %rs93}; + +BB0_104: + ld.global.u32 %r171, [additive]; + setp.eq.s32 %p127, %r171, 0; + mov.f32 %f832, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f832;} + + // inline asm + @%p127 bra BB0_106; + + mov.u64 %rd186, image_RNM0; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r175, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r26, %r175, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd174]; + // inline asm + { cvt.f32.f16 %f833, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f834, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f835, %rs114;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r26, %r175, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f836, %f833, 0f00000000; + add.f32 %f837, %f834, 0f00000000; + add.f32 %f838, %f835, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f838;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f837;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f836;} + + // inline asm + st.v4.u16 [%rd180], {%rs109, %rs110, %rs111, %rs105}; + bra.uni BB0_107; + +BB0_106: + mov.u64 %rd193, image_RNM0; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r177, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r26, %r177, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f839, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f839;} + + // inline asm + st.v4.u16 [%rd187], {%rs116, %rs116, %rs116, %rs105}; + +BB0_107: + ld.global.u32 %r178, [additive]; + setp.eq.s32 %p128, %r178, 0; + // inline asm + { cvt.rn.f16.f32 %rs117, %f832;} + + // inline asm + @%p128 bra BB0_109; + + mov.u64 %rd206, image_RNM1; + cvta.global.u64 %rd195, %rd206; + mov.u32 %r182, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r26, %r182, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd194]; + // inline asm + { cvt.f32.f16 %f841, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f842, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f843, %rs126;} + + // inline asm + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd195, %r26, %r182, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f844, %f841, 0f00000000; + add.f32 %f845, %f842, 0f00000000; + add.f32 %f846, %f843, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f846;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f845;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f844;} + + // inline asm + st.v4.u16 [%rd200], {%rs121, %rs122, %rs123, %rs117}; + bra.uni BB0_110; + +BB0_109: + mov.u64 %rd213, image_RNM1; + cvta.global.u64 %rd208, %rd213; + mov.u32 %r184, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r26, %r184, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f847, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f847;} + + // inline asm + st.v4.u16 [%rd207], {%rs128, %rs128, %rs128, %rs117}; + +BB0_110: + ld.global.u32 %r185, [additive]; + setp.eq.s32 %p129, %r185, 0; + // inline asm + { cvt.rn.f16.f32 %rs129, %f832;} + + // inline asm + @%p129 bra BB0_112; + + mov.u64 %rd226, image_RNM2; + cvta.global.u64 %rd215, %rd226; + mov.u32 %r189, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r26, %r189, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs136, %rs137, %rs138, %rs139}, [%rd214]; + // inline asm + { cvt.f32.f16 %f849, %rs136;} + + // inline asm + // inline asm + { cvt.f32.f16 %f850, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f851, %rs138;} + + // inline asm + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd215, %r26, %r189, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f852, %f849, 0f00000000; + add.f32 %f853, %f850, 0f00000000; + add.f32 %f854, %f851, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs135, %f854;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f853;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs133, %f852;} + + // inline asm + st.v4.u16 [%rd220], {%rs133, %rs134, %rs135, %rs129}; + bra.uni BB0_113; + +BB0_112: + mov.u64 %rd233, image_RNM2; + cvta.global.u64 %rd228, %rd233; + mov.u32 %r191, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r26, %r191, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f855, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f855;} + + // inline asm + st.v4.u16 [%rd227], {%rs140, %rs140, %rs140, %rs129}; + +BB0_113: + ld.global.u32 %r192, [additive]; + setp.eq.s32 %p130, %r192, 0; + // inline asm + { cvt.rn.f16.f32 %rs141, %f832;} + + // inline asm + @%p130 bra BB0_115; + + mov.u64 %rd246, image_RNM3; + cvta.global.u64 %rd235, %rd246; + mov.u32 %r196, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r26, %r196, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs148, %rs149, %rs150, %rs151}, [%rd234]; + // inline asm + { cvt.f32.f16 %f857, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f858, %rs149;} + + // inline asm + // inline asm + { cvt.f32.f16 %f859, %rs150;} + + // inline asm + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd235, %r26, %r196, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f860, %f857, 0f00000000; + add.f32 %f861, %f858, 0f00000000; + add.f32 %f862, %f859, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f862;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs146, %f861;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f860;} + + // inline asm + st.v4.u16 [%rd240], {%rs145, %rs146, %rs147, %rs141}; + bra.uni BB0_136; + +BB0_115: + mov.u64 %rd253, image_RNM3; + cvta.global.u64 %rd248, %rd253; + mov.u32 %r198, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r26, %r198, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f863, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f863;} + + // inline asm + st.v4.u16 [%rd247], {%rs152, %rs152, %rs152, %rs141}; + bra.uni BB0_136; + +BB0_35: + setp.geu.f32 %p61, %f971, 0f00000000; + @%p61 bra BB0_38; + + cvt.rzi.f32.f32 %f522, %f494; + setp.neu.f32 %p62, %f522, 0f3EE8BA2E; + selp.f32 %f974, 0f7FFFFFFF, %f974, %p62; + +BB0_38: + add.f32 %f524, %f65, 0f3EE8BA2E; + mov.b32 %r85, %f524; + setp.lt.s32 %p64, %r85, 2139095040; + @%p64 bra BB0_43; + + setp.gtu.f32 %p65, %f65, 0f7F800000; + @%p65 bra BB0_42; + bra.uni BB0_40; + +BB0_42: + add.f32 %f974, %f971, 0f3EE8BA2E; + bra.uni BB0_43; + +BB0_40: + setp.neu.f32 %p66, %f65, 0f7F800000; + @%p66 bra BB0_43; + + selp.f32 %f974, 0fFF800000, 0f7F800000, %p3; + +BB0_43: + mul.f32 %f525, %f974, 0f437F0000; + setp.eq.f32 %p67, %f971, 0f3F800000; + selp.f32 %f526, 0f437F0000, %f525, %p67; + cvt.rzi.u32.f32 %r86, %f526; + cvt.u16.u32 %rs19, %r86; + mov.u16 %rs20, 255; + st.v2.u8 [%rd26], {%rs19, %rs20}; + ld.global.u32 %r246, [imageEnabled]; + +BB0_44: + and.b32 %r87, %r246, 1; + setp.eq.b32 %p68, %r87, 1; + @!%p68 bra BB0_79; + bra.uni BB0_45; + +BB0_45: + mov.f32 %f931, 0fB5BFBE8E; + mov.f32 %f930, 0fBF317200; + mov.f32 %f929, 0f35BFBE8E; + mov.f32 %f928, 0f3F317200; + mov.f32 %f927, 0f3DAAAABD; + mov.f32 %f926, 0f3C4CAF63; + mov.f32 %f925, 0f3B18F0FE; + mov.f32 %f529, 0f3E666666; + cvt.rzi.f32.f32 %f530, %f529; + fma.rn.f32 %f531, %f530, 0fC0000000, 0f3EE66666; + abs.f32 %f77, %f531; + abs.f32 %f78, %f61; + setp.lt.f32 %p69, %f78, 0f00800000; + mul.f32 %f532, %f78, 0f4B800000; + selp.f32 %f533, 0fC3170000, 0fC2FE0000, %p69; + selp.f32 %f534, %f532, %f78, %p69; + mov.b32 %r88, %f534; + and.b32 %r89, %r88, 8388607; + or.b32 %r90, %r89, 1065353216; + mov.b32 %f535, %r90; + shr.u32 %r91, %r88, 23; + cvt.rn.f32.u32 %f536, %r91; + add.f32 %f537, %f533, %f536; + setp.gt.f32 %p70, %f535, 0f3FB504F3; + mul.f32 %f538, %f535, 0f3F000000; + add.f32 %f539, %f537, 0f3F800000; + selp.f32 %f540, %f538, %f535, %p70; + selp.f32 %f541, %f539, %f537, %p70; + add.f32 %f542, %f540, 0fBF800000; + add.f32 %f528, %f540, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f527,%f528; + // inline asm + add.f32 %f543, %f542, %f542; + mul.f32 %f544, %f527, %f543; + mul.f32 %f545, %f544, %f544; + fma.rn.f32 %f548, %f925, %f545, %f926; + fma.rn.f32 %f550, %f548, %f545, %f927; + mul.rn.f32 %f551, %f550, %f545; + mul.rn.f32 %f552, %f551, %f544; + sub.f32 %f553, %f542, %f544; + neg.f32 %f554, %f544; + add.f32 %f555, %f553, %f553; + fma.rn.f32 %f556, %f554, %f542, %f555; + mul.rn.f32 %f557, %f527, %f556; + add.f32 %f558, %f552, %f544; + sub.f32 %f559, %f544, %f558; + add.f32 %f560, %f552, %f559; + add.f32 %f561, %f557, %f560; + add.f32 %f562, %f558, %f561; + sub.f32 %f563, %f558, %f562; + add.f32 %f564, %f561, %f563; + mul.rn.f32 %f566, %f541, %f928; + mul.rn.f32 %f568, %f541, %f929; + add.f32 %f569, %f566, %f562; + sub.f32 %f570, %f566, %f569; + add.f32 %f571, %f562, %f570; + add.f32 %f572, %f564, %f571; + add.f32 %f573, %f568, %f572; + add.f32 %f574, %f569, %f573; + sub.f32 %f575, %f569, %f574; + add.f32 %f576, %f573, %f575; + mov.f32 %f577, 0f3EE66666; + mul.rn.f32 %f578, %f577, %f574; + neg.f32 %f579, %f578; + fma.rn.f32 %f580, %f577, %f574, %f579; + fma.rn.f32 %f581, %f577, %f576, %f580; + mov.f32 %f582, 0f00000000; + fma.rn.f32 %f583, %f582, %f574, %f581; + add.rn.f32 %f584, %f578, %f583; + neg.f32 %f585, %f584; + add.rn.f32 %f586, %f578, %f585; + add.rn.f32 %f587, %f586, %f583; + mov.b32 %r92, %f584; + setp.eq.s32 %p71, %r92, 1118925336; + add.s32 %r93, %r92, -1; + mov.b32 %f588, %r93; + add.f32 %f589, %f587, 0f37000000; + selp.f32 %f590, %f588, %f584, %p71; + selp.f32 %f79, %f589, %f587, %p71; + mul.f32 %f591, %f590, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f592, %f591; + fma.rn.f32 %f594, %f592, %f930, %f590; + fma.rn.f32 %f596, %f592, %f931, %f594; + mul.f32 %f597, %f596, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f598, %f597; + add.f32 %f599, %f592, 0f00000000; + ex2.approx.f32 %f600, %f599; + mul.f32 %f601, %f598, %f600; + setp.lt.f32 %p72, %f590, 0fC2D20000; + selp.f32 %f602, 0f00000000, %f601, %p72; + setp.gt.f32 %p73, %f590, 0f42D20000; + selp.f32 %f975, 0f7F800000, %f602, %p73; + setp.eq.f32 %p74, %f975, 0f7F800000; + @%p74 bra BB0_47; + + fma.rn.f32 %f975, %f975, %f79, %f975; + +BB0_47: + setp.lt.f32 %p75, %f61, 0f00000000; + setp.eq.f32 %p76, %f77, 0f3F800000; + and.pred %p4, %p75, %p76; + mov.b32 %r94, %f975; + xor.b32 %r95, %r94, -2147483648; + mov.b32 %f603, %r95; + selp.f32 %f977, %f603, %f975, %p4; + setp.eq.f32 %p77, %f61, 0f00000000; + @%p77 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f606, %f61, %f61; + selp.f32 %f977, %f606, 0f00000000, %p76; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p78, %f61, 0f00000000; + @%p78 bra BB0_51; + + cvt.rzi.f32.f32 %f605, %f577; + setp.neu.f32 %p79, %f605, 0f3EE66666; + selp.f32 %f977, 0f7FFFFFFF, %f977, %p79; + +BB0_51: + add.f32 %f607, %f78, 0f3EE66666; + mov.b32 %r96, %f607; + setp.lt.s32 %p81, %r96, 2139095040; + @%p81 bra BB0_56; + + setp.gtu.f32 %p82, %f78, 0f7F800000; + @%p82 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f977, %f61, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p83, %f78, 0f7F800000; + @%p83 bra BB0_56; + + selp.f32 %f977, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f938, 0fB5BFBE8E; + mov.f32 %f937, 0fBF317200; + mov.f32 %f936, 0f35BFBE8E; + mov.f32 %f935, 0f3F317200; + mov.f32 %f934, 0f3DAAAABD; + mov.f32 %f933, 0f3C4CAF63; + mov.f32 %f932, 0f3B18F0FE; + setp.eq.f32 %p84, %f61, 0f3F800000; + selp.f32 %f90, 0f3F800000, %f977, %p84; + abs.f32 %f91, %f62; + setp.lt.f32 %p85, %f91, 0f00800000; + mul.f32 %f610, %f91, 0f4B800000; + selp.f32 %f611, 0fC3170000, 0fC2FE0000, %p85; + selp.f32 %f612, %f610, %f91, %p85; + mov.b32 %r97, %f612; + and.b32 %r98, %r97, 8388607; + or.b32 %r99, %r98, 1065353216; + mov.b32 %f613, %r99; + shr.u32 %r100, %r97, 23; + cvt.rn.f32.u32 %f614, %r100; + add.f32 %f615, %f611, %f614; + setp.gt.f32 %p86, %f613, 0f3FB504F3; + mul.f32 %f616, %f613, 0f3F000000; + add.f32 %f617, %f615, 0f3F800000; + selp.f32 %f618, %f616, %f613, %p86; + selp.f32 %f619, %f617, %f615, %p86; + add.f32 %f620, %f618, 0fBF800000; + add.f32 %f609, %f618, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f608,%f609; + // inline asm + add.f32 %f621, %f620, %f620; + mul.f32 %f622, %f608, %f621; + mul.f32 %f623, %f622, %f622; + fma.rn.f32 %f626, %f932, %f623, %f933; + fma.rn.f32 %f628, %f626, %f623, %f934; + mul.rn.f32 %f629, %f628, %f623; + mul.rn.f32 %f630, %f629, %f622; + sub.f32 %f631, %f620, %f622; + neg.f32 %f632, %f622; + add.f32 %f633, %f631, %f631; + fma.rn.f32 %f634, %f632, %f620, %f633; + mul.rn.f32 %f635, %f608, %f634; + add.f32 %f636, %f630, %f622; + sub.f32 %f637, %f622, %f636; + add.f32 %f638, %f630, %f637; + add.f32 %f639, %f635, %f638; + add.f32 %f640, %f636, %f639; + sub.f32 %f641, %f636, %f640; + add.f32 %f642, %f639, %f641; + mul.rn.f32 %f644, %f619, %f935; + mul.rn.f32 %f646, %f619, %f936; + add.f32 %f647, %f644, %f640; + sub.f32 %f648, %f644, %f647; + add.f32 %f649, %f640, %f648; + add.f32 %f650, %f642, %f649; + add.f32 %f651, %f646, %f650; + add.f32 %f652, %f647, %f651; + sub.f32 %f653, %f647, %f652; + add.f32 %f654, %f651, %f653; + mul.rn.f32 %f656, %f577, %f652; + neg.f32 %f657, %f656; + fma.rn.f32 %f658, %f577, %f652, %f657; + fma.rn.f32 %f659, %f577, %f654, %f658; + fma.rn.f32 %f661, %f582, %f652, %f659; + add.rn.f32 %f662, %f656, %f661; + neg.f32 %f663, %f662; + add.rn.f32 %f664, %f656, %f663; + add.rn.f32 %f665, %f664, %f661; + mov.b32 %r101, %f662; + setp.eq.s32 %p87, %r101, 1118925336; + add.s32 %r102, %r101, -1; + mov.b32 %f666, %r102; + add.f32 %f667, %f665, 0f37000000; + selp.f32 %f668, %f666, %f662, %p87; + selp.f32 %f92, %f667, %f665, %p87; + mul.f32 %f669, %f668, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f670, %f669; + fma.rn.f32 %f672, %f670, %f937, %f668; + fma.rn.f32 %f674, %f670, %f938, %f672; + mul.f32 %f675, %f674, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f676, %f675; + add.f32 %f677, %f670, 0f00000000; + ex2.approx.f32 %f678, %f677; + mul.f32 %f679, %f676, %f678; + setp.lt.f32 %p88, %f668, 0fC2D20000; + selp.f32 %f680, 0f00000000, %f679, %p88; + setp.gt.f32 %p89, %f668, 0f42D20000; + selp.f32 %f978, 0f7F800000, %f680, %p89; + setp.eq.f32 %p90, %f978, 0f7F800000; + @%p90 bra BB0_58; + + fma.rn.f32 %f978, %f978, %f92, %f978; + +BB0_58: + setp.lt.f32 %p91, %f62, 0f00000000; + and.pred %p5, %p91, %p76; + mov.b32 %r103, %f978; + xor.b32 %r104, %r103, -2147483648; + mov.b32 %f681, %r104; + selp.f32 %f980, %f681, %f978, %p5; + setp.eq.f32 %p93, %f62, 0f00000000; + @%p93 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f684, %f62, %f62; + selp.f32 %f980, %f684, 0f00000000, %p76; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p94, %f62, 0f00000000; + @%p94 bra BB0_62; + + cvt.rzi.f32.f32 %f683, %f577; + setp.neu.f32 %p95, %f683, 0f3EE66666; + selp.f32 %f980, 0f7FFFFFFF, %f980, %p95; + +BB0_62: + add.f32 %f685, %f91, 0f3EE66666; + mov.b32 %r105, %f685; + setp.lt.s32 %p97, %r105, 2139095040; + @%p97 bra BB0_67; + + setp.gtu.f32 %p98, %f91, 0f7F800000; + @%p98 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f980, %f62, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p99, %f91, 0f7F800000; + @%p99 bra BB0_67; + + selp.f32 %f980, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + mov.f32 %f945, 0fB5BFBE8E; + mov.f32 %f944, 0fBF317200; + mov.f32 %f943, 0f35BFBE8E; + mov.f32 %f942, 0f3F317200; + mov.f32 %f941, 0f3DAAAABD; + mov.f32 %f940, 0f3C4CAF63; + mov.f32 %f939, 0f3B18F0FE; + setp.eq.f32 %p100, %f62, 0f3F800000; + selp.f32 %f103, 0f3F800000, %f980, %p100; + abs.f32 %f104, %f63; + setp.lt.f32 %p101, %f104, 0f00800000; + mul.f32 %f688, %f104, 0f4B800000; + selp.f32 %f689, 0fC3170000, 0fC2FE0000, %p101; + selp.f32 %f690, %f688, %f104, %p101; + mov.b32 %r106, %f690; + and.b32 %r107, %r106, 8388607; + or.b32 %r108, %r107, 1065353216; + mov.b32 %f691, %r108; + shr.u32 %r109, %r106, 23; + cvt.rn.f32.u32 %f692, %r109; + add.f32 %f693, %f689, %f692; + setp.gt.f32 %p102, %f691, 0f3FB504F3; + mul.f32 %f694, %f691, 0f3F000000; + add.f32 %f695, %f693, 0f3F800000; + selp.f32 %f696, %f694, %f691, %p102; + selp.f32 %f697, %f695, %f693, %p102; + add.f32 %f698, %f696, 0fBF800000; + add.f32 %f687, %f696, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f686,%f687; + // inline asm + add.f32 %f699, %f698, %f698; + mul.f32 %f700, %f686, %f699; + mul.f32 %f701, %f700, %f700; + fma.rn.f32 %f704, %f939, %f701, %f940; + fma.rn.f32 %f706, %f704, %f701, %f941; + mul.rn.f32 %f707, %f706, %f701; + mul.rn.f32 %f708, %f707, %f700; + sub.f32 %f709, %f698, %f700; + neg.f32 %f710, %f700; + add.f32 %f711, %f709, %f709; + fma.rn.f32 %f712, %f710, %f698, %f711; + mul.rn.f32 %f713, %f686, %f712; + add.f32 %f714, %f708, %f700; + sub.f32 %f715, %f700, %f714; + add.f32 %f716, %f708, %f715; + add.f32 %f717, %f713, %f716; + add.f32 %f718, %f714, %f717; + sub.f32 %f719, %f714, %f718; + add.f32 %f720, %f717, %f719; + mul.rn.f32 %f722, %f697, %f942; + mul.rn.f32 %f724, %f697, %f943; + add.f32 %f725, %f722, %f718; + sub.f32 %f726, %f722, %f725; + add.f32 %f727, %f718, %f726; + add.f32 %f728, %f720, %f727; + add.f32 %f729, %f724, %f728; + add.f32 %f730, %f725, %f729; + sub.f32 %f731, %f725, %f730; + add.f32 %f732, %f729, %f731; + mul.rn.f32 %f734, %f577, %f730; + neg.f32 %f735, %f734; + fma.rn.f32 %f736, %f577, %f730, %f735; + fma.rn.f32 %f737, %f577, %f732, %f736; + fma.rn.f32 %f739, %f582, %f730, %f737; + add.rn.f32 %f740, %f734, %f739; + neg.f32 %f741, %f740; + add.rn.f32 %f742, %f734, %f741; + add.rn.f32 %f743, %f742, %f739; + mov.b32 %r110, %f740; + setp.eq.s32 %p103, %r110, 1118925336; + add.s32 %r111, %r110, -1; + mov.b32 %f744, %r111; + add.f32 %f745, %f743, 0f37000000; + selp.f32 %f746, %f744, %f740, %p103; + selp.f32 %f105, %f745, %f743, %p103; + mul.f32 %f747, %f746, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f748, %f747; + fma.rn.f32 %f750, %f748, %f944, %f746; + fma.rn.f32 %f752, %f748, %f945, %f750; + mul.f32 %f753, %f752, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f754, %f753; + add.f32 %f755, %f748, 0f00000000; + ex2.approx.f32 %f756, %f755; + mul.f32 %f757, %f754, %f756; + setp.lt.f32 %p104, %f746, 0fC2D20000; + selp.f32 %f758, 0f00000000, %f757, %p104; + setp.gt.f32 %p105, %f746, 0f42D20000; + selp.f32 %f981, 0f7F800000, %f758, %p105; + setp.eq.f32 %p106, %f981, 0f7F800000; + @%p106 bra BB0_69; + + fma.rn.f32 %f981, %f981, %f105, %f981; + +BB0_69: + setp.lt.f32 %p107, %f63, 0f00000000; + and.pred %p6, %p107, %p76; + mov.b32 %r112, %f981; + xor.b32 %r113, %r112, -2147483648; + mov.b32 %f759, %r113; + selp.f32 %f983, %f759, %f981, %p6; + setp.eq.f32 %p109, %f63, 0f00000000; + @%p109 bra BB0_72; + bra.uni BB0_70; + +BB0_72: + add.f32 %f762, %f63, %f63; + selp.f32 %f983, %f762, 0f00000000, %p76; + bra.uni BB0_73; + +BB0_70: + setp.geu.f32 %p110, %f63, 0f00000000; + @%p110 bra BB0_73; + + cvt.rzi.f32.f32 %f761, %f577; + setp.neu.f32 %p111, %f761, 0f3EE66666; + selp.f32 %f983, 0f7FFFFFFF, %f983, %p111; + +BB0_73: + add.f32 %f763, %f104, 0f3EE66666; + mov.b32 %r114, %f763; + setp.lt.s32 %p113, %r114, 2139095040; + @%p113 bra BB0_78; + + setp.gtu.f32 %p114, %f104, 0f7F800000; + @%p114 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f983, %f63, 0f3EE66666; + bra.uni BB0_78; + +BB0_75: + setp.neu.f32 %p115, %f104, 0f7F800000; + @%p115 bra BB0_78; + + selp.f32 %f983, 0fFF800000, 0f7F800000, %p6; + +BB0_78: + setp.eq.f32 %p116, %f63, 0f3F800000; + selp.f32 %f764, 0f3F800000, %f983, %p116; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r26, %r27, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f765, %f764; + mul.f32 %f766, %f765, 0f437FFD71; + cvt.rzi.u32.f32 %r117, %f766; + cvt.sat.f32.f32 %f767, %f103; + mul.f32 %f768, %f767, 0f437FFD71; + cvt.rzi.u32.f32 %r118, %f768; + cvt.sat.f32.f32 %f769, %f90; + mul.f32 %f770, %f769, 0f437FFD71; + cvt.rzi.u32.f32 %r119, %f770; + cvt.u16.u32 %rs21, %r117; + cvt.u16.u32 %rs22, %r119; + cvt.u16.u32 %rs23, %r118; + mov.u16 %rs24, 255; + st.v4.u8 [%rd33], {%rs21, %rs23, %rs22, %rs24}; + ld.global.u32 %r246, [imageEnabled]; + +BB0_79: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r120, %r246, 4; + setp.eq.s32 %p117, %r120, 0; + @%p117 bra BB0_83; + + ld.global.u32 %r121, [additive]; + setp.eq.s32 %p118, %r121, 0; + mov.f32 %f771, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f771;} + + // inline asm + @%p118 bra BB0_82; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r125, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r26, %r125, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs32, %rs33, %rs34, %rs35}, [%rd40]; + // inline asm + { cvt.f32.f16 %f772, %rs32;} + + // inline asm + // inline asm + { cvt.f32.f16 %f773, %rs33;} + + // inline asm + // inline asm + { cvt.f32.f16 %f774, %rs34;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r26, %r125, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f775, %f61, %f772; + add.f32 %f776, %f62, %f773; + add.f32 %f777, %f63, %f774; + // inline asm + { cvt.rn.f16.f32 %rs31, %f777;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f776;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f775;} + + // inline asm + st.v4.u16 [%rd46], {%rs29, %rs30, %rs31, %rs25}; + bra.uni BB0_83; + +BB0_82: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r127, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r26, %r127, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f63;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f62;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f61;} + + // inline asm + st.v4.u16 [%rd53], {%rs36, %rs37, %rs38, %rs25}; + +BB0_83: + mul.f32 %f782, %f48, 0f3E800000; + mul.f32 %f783, %f782, %f971; + mul.f32 %f784, %f47, %f783; + ld.global.f32 %f785, [lightColor]; + mul.f32 %f116, %f784, %f785; + ld.global.f32 %f786, [lightColor+4]; + mul.f32 %f117, %f784, %f786; + ld.global.f32 %f787, [lightColor+8]; + mul.f32 %f118, %f784, %f787; + ld.global.u32 %r128, [additive]; + setp.eq.s32 %p119, %r128, 0; + mov.f32 %f781, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f781;} + + // inline asm + @%p119 bra BB0_85; + + mov.u64 %rd72, image_RNM0; + cvta.global.u64 %rd61, %rd72; + mov.u32 %r132, 8; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r26, %r132, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs46, %rs47, %rs48, %rs49}, [%rd60]; + // inline asm + { cvt.f32.f16 %f788, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f789, %rs47;} + + // inline asm + // inline asm + { cvt.f32.f16 %f790, %rs48;} + + // inline asm + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd61, %r26, %r132, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f791, %f116, %f788; + add.f32 %f792, %f117, %f789; + add.f32 %f793, %f118, %f790; + // inline asm + { cvt.rn.f16.f32 %rs45, %f793;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f792;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f791;} + + // inline asm + st.v4.u16 [%rd66], {%rs43, %rs44, %rs45, %rs39}; + bra.uni BB0_86; + +BB0_85: + mov.u64 %rd79, image_RNM0; + cvta.global.u64 %rd74, %rd79; + mov.u32 %r134, 8; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r26, %r134, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f118;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f117;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f116;} + + // inline asm + st.v4.u16 [%rd73], {%rs50, %rs51, %rs52, %rs39}; + +BB0_86: + fma.rn.f32 %f119, %f13, 0f3F000000, 0f3F000000; + fma.rn.f32 %f120, %f14, 0f3F000000, 0f3F000000; + fma.rn.f32 %f121, %f15, 0f3F000000, 0f3F000000; + ld.global.u32 %r135, [additive]; + setp.eq.s32 %p120, %r135, 0; + // inline asm + { cvt.rn.f16.f32 %rs53, %f781;} + + // inline asm + @%p120 bra BB0_88; + + mov.u64 %rd92, image_RNM1; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r139, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r26, %r139, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs60, %rs61, %rs62, %rs63}, [%rd80]; + // inline asm + { cvt.f32.f16 %f798, %rs60;} + + // inline asm + // inline asm + { cvt.f32.f16 %f799, %rs61;} + + // inline asm + // inline asm + { cvt.f32.f16 %f800, %rs62;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r26, %r139, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f801, %f119, %f798; + add.f32 %f802, %f119, %f799; + add.f32 %f803, %f119, %f800; + // inline asm + { cvt.rn.f16.f32 %rs59, %f803;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f802;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f801;} + + // inline asm + st.v4.u16 [%rd86], {%rs57, %rs58, %rs59, %rs53}; + bra.uni BB0_89; + +BB0_88: + mov.u64 %rd99, image_RNM1; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r141, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r26, %r141, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f119;} + + // inline asm + st.v4.u16 [%rd93], {%rs64, %rs64, %rs64, %rs53}; + +BB0_89: + ld.global.u32 %r142, [additive]; + setp.eq.s32 %p121, %r142, 0; + // inline asm + { cvt.rn.f16.f32 %rs65, %f781;} + + // inline asm + @%p121 bra BB0_91; + + mov.u64 %rd112, image_RNM2; + cvta.global.u64 %rd101, %rd112; + mov.u32 %r146, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r26, %r146, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs72, %rs73, %rs74, %rs75}, [%rd100]; + // inline asm + { cvt.f32.f16 %f806, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f807, %rs73;} + + // inline asm + // inline asm + { cvt.f32.f16 %f808, %rs74;} + + // inline asm + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd101, %r26, %r146, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f809, %f120, %f806; + add.f32 %f810, %f120, %f807; + add.f32 %f811, %f120, %f808; + // inline asm + { cvt.rn.f16.f32 %rs71, %f811;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f810;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f809;} + + // inline asm + st.v4.u16 [%rd106], {%rs69, %rs70, %rs71, %rs65}; + bra.uni BB0_92; + +BB0_91: + mov.u64 %rd119, image_RNM2; + cvta.global.u64 %rd114, %rd119; + mov.u32 %r148, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r26, %r148, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f120;} + + // inline asm + st.v4.u16 [%rd113], {%rs76, %rs76, %rs76, %rs65}; + +BB0_92: + ld.global.u32 %r149, [additive]; + setp.eq.s32 %p122, %r149, 0; + // inline asm + { cvt.rn.f16.f32 %rs77, %f781;} + + // inline asm + @%p122 bra BB0_94; + + mov.u64 %rd132, image_RNM3; + cvta.global.u64 %rd121, %rd132; + mov.u32 %r153, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r26, %r153, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs84, %rs85, %rs86, %rs87}, [%rd120]; + // inline asm + { cvt.f32.f16 %f814, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f815, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f816, %rs86;} + + // inline asm + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd121, %r26, %r153, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f817, %f121, %f814; + add.f32 %f818, %f121, %f815; + add.f32 %f819, %f121, %f816; + // inline asm + { cvt.rn.f16.f32 %rs83, %f819;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f818;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f817;} + + // inline asm + st.v4.u16 [%rd126], {%rs81, %rs82, %rs83, %rs77}; + bra.uni BB0_136; + +BB0_94: + mov.u64 %rd139, image_RNM3; + cvta.global.u64 %rd134, %rd139; + mov.u32 %r155, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r26, %r155, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f121;} + + // inline asm + st.v4.u16 [%rd133], {%rs88, %rs88, %rs88, %rs77}; + +BB0_136: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightSH.ptx.meta new file mode 100644 index 00000000..555dfd0c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmConeLightSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6fac4f019fbc6a1479adf2d12c596c5d +timeCreated: 1558780075 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLight.ptx new file mode 100644 index 00000000..ee99c667 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLight.ptx @@ -0,0 +1,1590 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCookie; +.global .align 4 .b8 lightMatrix[36]; +.global .align 4 .f32 lightFOV; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightMatrixE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightFOVE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename11lightMatrixE[10] = {77, 97, 116, 114, 105, 120, 51, 120, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightFOVE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightMatrixE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightFOVE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightMatrixE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightFOVE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightMatrixE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightFOVE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<114>; + .reg .b16 %rs<76>; + .reg .f32 %f<786>; + .reg .b32 %r<168>; + .reg .b64 %rd<150>; + + + mov.u64 %rd149, __local_depot0; + cvta.local.u64 %SP, %rd149; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd12, %r26; + cvt.u64.u32 %rd13, %r27; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r24, 2; + mov.u32 %r25, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r24, %r25, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r30, %r1, 16; + cvt.u16.u32 %rs1, %r30; + and.b16 %rs4, %rs1, 255; + cvt.u16.u32 %rs5, %r1; + or.b16 %rs6, %rs5, %rs4; + setp.eq.s16 %p6, %rs6, 0; + mov.f32 %f765, 0f00000000; + mov.f32 %f766, %f765; + mov.f32 %f767, %f765; + @%p6 bra BB0_2; + + ld.u8 %rs7, [%rd10+1]; + and.b16 %rs9, %rs5, 255; + cvt.rn.f32.u16 %f99, %rs9; + div.rn.f32 %f100, %f99, 0f437F0000; + fma.rn.f32 %f101, %f100, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f102, %rs7; + div.rn.f32 %f103, %f102, 0f437F0000; + fma.rn.f32 %f104, %f103, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f105, %rs4; + div.rn.f32 %f106, %f105, 0f437F0000; + fma.rn.f32 %f107, %f106, 0f40000000, 0fBF800000; + mul.f32 %f108, %f104, %f104; + fma.rn.f32 %f109, %f101, %f101, %f108; + fma.rn.f32 %f110, %f107, %f107, %f109; + sqrt.rn.f32 %f111, %f110; + rcp.rn.f32 %f112, %f111; + mul.f32 %f765, %f101, %f112; + mul.f32 %f766, %f104, %f112; + mul.f32 %f767, %f107, %f112; + +BB0_2: + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + ld.global.v2.u32 {%r34, %r35}, [tileInfo]; + add.s32 %r2, %r31, %r34; + add.s32 %r3, %r32, %r35; + setp.eq.f32 %p7, %f766, 0f00000000; + setp.eq.f32 %p8, %f765, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f767, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_84; + bra.uni BB0_3; + +BB0_84: + ld.global.u32 %r167, [imageEnabled]; + and.b32 %r143, %r167, 1; + setp.eq.b32 %p109, %r143, 1; + @!%p109 bra BB0_86; + bra.uni BB0_85; + +BB0_85: + cvt.u64.u32 %rd110, %r2; + cvt.u64.u32 %rd111, %r3; + mov.u64 %rd114, image; + cvta.global.u64 %rd109, %rd114; + // inline asm + call (%rd108), _rt_buffer_get_64, (%rd109, %r24, %r25, %rd110, %rd111, %rd15, %rd15); + // inline asm + mov.u16 %rs57, 0; + st.v4.u8 [%rd108], {%rs57, %rs57, %rs57, %rs57}; + ld.global.u32 %r167, [imageEnabled]; + +BB0_86: + and.b32 %r146, %r167, 8; + setp.eq.s32 %p110, %r146, 0; + @%p110 bra BB0_88; + + cvt.u64.u32 %rd117, %r2; + cvt.u64.u32 %rd118, %r3; + mov.u64 %rd121, image_Mask; + cvta.global.u64 %rd116, %rd121; + // inline asm + call (%rd115), _rt_buffer_get_64, (%rd116, %r24, %r24, %rd117, %rd118, %rd15, %rd15); + // inline asm + mov.f32 %f717, 0f00000000; + cvt.rzi.u32.f32 %r149, %f717; + cvt.u16.u32 %rs58, %r149; + mov.u16 %rs59, 0; + st.v2.u8 [%rd115], {%rs58, %rs59}; + ld.global.u32 %r167, [imageEnabled]; + +BB0_88: + and.b32 %r150, %r167, 4; + setp.eq.s32 %p111, %r150, 0; + @%p111 bra BB0_92; + + ld.global.u32 %r151, [additive]; + setp.eq.s32 %p112, %r151, 0; + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + @%p112 bra BB0_91; + + mov.u64 %rd134, image_HDR; + cvta.global.u64 %rd123, %rd134; + mov.u32 %r155, 8; + // inline asm + call (%rd122), _rt_buffer_get_64, (%rd123, %r24, %r155, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs66, %rs67, %rs68, %rs69}, [%rd122]; + // inline asm + { cvt.f32.f16 %f718, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f719, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f720, %rs68;} + + // inline asm + // inline asm + call (%rd128), _rt_buffer_get_64, (%rd123, %r24, %r155, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f721, %f718, 0f00000000; + add.f32 %f722, %f719, 0f00000000; + add.f32 %f723, %f720, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs65, %f723;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f722;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f721;} + + // inline asm + mov.u16 %rs70, 0; + st.v4.u16 [%rd128], {%rs63, %rs64, %rs65, %rs70}; + bra.uni BB0_92; + +BB0_3: + ld.global.v2.u32 {%r41, %r42}, [pixelID]; + cvt.u64.u32 %rd19, %r41; + cvt.u64.u32 %rd20, %r42; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r40, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r24, %r40, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f115, [lightPos]; + ld.f32 %f9, [%rd17+8]; + ld.f32 %f8, [%rd17+4]; + ld.f32 %f7, [%rd17]; + sub.f32 %f116, %f115, %f7; + ld.global.f32 %f117, [lightPos+4]; + sub.f32 %f118, %f117, %f8; + ld.global.f32 %f119, [lightPos+8]; + sub.f32 %f120, %f119, %f9; + mul.f32 %f121, %f118, %f118; + fma.rn.f32 %f122, %f116, %f116, %f121; + fma.rn.f32 %f123, %f120, %f120, %f122; + sqrt.rn.f32 %f124, %f123; + rcp.rn.f32 %f125, %f124; + mul.f32 %f10, %f116, %f125; + mul.f32 %f11, %f118, %f125; + mul.f32 %f12, %f120, %f125; + ld.global.f32 %f126, [lightFalloffFakeDistanceMult]; + mul.f32 %f13, %f124, %f126; + ld.global.f32 %f127, [lightInvCutoff]; + mul.f32 %f14, %f124, %f127; + mov.f32 %f131, 0f40800000; + abs.f32 %f16, %f14; + setp.lt.f32 %p12, %f16, 0f00800000; + mul.f32 %f133, %f16, 0f4B800000; + selp.f32 %f134, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f135, %f133, %f16, %p12; + mov.b32 %r45, %f135; + and.b32 %r46, %r45, 8388607; + or.b32 %r47, %r46, 1065353216; + mov.b32 %f136, %r47; + shr.u32 %r48, %r45, 23; + cvt.rn.f32.u32 %f137, %r48; + add.f32 %f138, %f134, %f137; + setp.gt.f32 %p13, %f136, 0f3FB504F3; + mul.f32 %f139, %f136, 0f3F000000; + add.f32 %f140, %f138, 0f3F800000; + selp.f32 %f141, %f139, %f136, %p13; + selp.f32 %f142, %f140, %f138, %p13; + add.f32 %f143, %f141, 0fBF800000; + add.f32 %f114, %f141, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f113,%f114; + // inline asm + add.f32 %f144, %f143, %f143; + mul.f32 %f145, %f113, %f144; + mul.f32 %f146, %f145, %f145; + mov.f32 %f147, 0f3C4CAF63; + mov.f32 %f148, 0f3B18F0FE; + fma.rn.f32 %f149, %f148, %f146, %f147; + mov.f32 %f150, 0f3DAAAABD; + fma.rn.f32 %f151, %f149, %f146, %f150; + mul.rn.f32 %f152, %f151, %f146; + mul.rn.f32 %f153, %f152, %f145; + sub.f32 %f154, %f143, %f145; + neg.f32 %f155, %f145; + add.f32 %f156, %f154, %f154; + fma.rn.f32 %f157, %f155, %f143, %f156; + mul.rn.f32 %f158, %f113, %f157; + add.f32 %f159, %f153, %f145; + sub.f32 %f160, %f145, %f159; + add.f32 %f161, %f153, %f160; + add.f32 %f162, %f158, %f161; + add.f32 %f163, %f159, %f162; + sub.f32 %f164, %f159, %f163; + add.f32 %f165, %f162, %f164; + mov.f32 %f166, 0f3F317200; + mul.rn.f32 %f167, %f142, %f166; + mov.f32 %f168, 0f35BFBE8E; + mul.rn.f32 %f169, %f142, %f168; + add.f32 %f170, %f167, %f163; + sub.f32 %f171, %f167, %f170; + add.f32 %f172, %f163, %f171; + add.f32 %f173, %f165, %f172; + add.f32 %f174, %f169, %f173; + add.f32 %f175, %f170, %f174; + sub.f32 %f176, %f170, %f175; + add.f32 %f177, %f174, %f176; + mul.rn.f32 %f178, %f131, %f175; + neg.f32 %f179, %f178; + fma.rn.f32 %f180, %f131, %f175, %f179; + fma.rn.f32 %f181, %f131, %f177, %f180; + mov.f32 %f182, 0f00000000; + fma.rn.f32 %f183, %f182, %f175, %f181; + add.rn.f32 %f184, %f178, %f183; + neg.f32 %f185, %f184; + add.rn.f32 %f186, %f178, %f185; + add.rn.f32 %f187, %f186, %f183; + mov.b32 %r49, %f184; + setp.eq.s32 %p14, %r49, 1118925336; + add.s32 %r50, %r49, -1; + mov.b32 %f188, %r50; + add.f32 %f189, %f187, 0f37000000; + selp.f32 %f190, %f188, %f184, %p14; + selp.f32 %f17, %f189, %f187, %p14; + mul.f32 %f191, %f190, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f192, %f191; + mov.f32 %f193, 0fBF317200; + fma.rn.f32 %f194, %f192, %f193, %f190; + mov.f32 %f195, 0fB5BFBE8E; + fma.rn.f32 %f196, %f192, %f195, %f194; + mul.f32 %f197, %f196, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f198, %f197; + add.f32 %f199, %f192, 0f00000000; + ex2.approx.f32 %f200, %f199; + mul.f32 %f201, %f198, %f200; + setp.lt.f32 %p15, %f190, 0fC2D20000; + selp.f32 %f202, 0f00000000, %f201, %p15; + setp.gt.f32 %p16, %f190, 0f42D20000; + selp.f32 %f768, 0f7F800000, %f202, %p16; + setp.eq.f32 %p17, %f768, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f768, %f768, %f17, %f768; + +BB0_5: + mov.f32 %f730, 0f40000000; + cvt.rzi.f32.f32 %f729, %f730; + add.f32 %f728, %f729, %f729; + mov.f32 %f727, 0f40800000; + sub.f32 %f726, %f727, %f728; + abs.f32 %f725, %f726; + setp.lt.f32 %p18, %f14, 0f00000000; + setp.eq.f32 %p19, %f725, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r51, %f768; + xor.b32 %r52, %r51, -2147483648; + mov.b32 %f203, %r52; + selp.f32 %f770, %f203, %f768, %p1; + setp.eq.f32 %p20, %f14, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f206, %f14, %f14; + selp.f32 %f770, %f206, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f14, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f764, 0f40800000; + cvt.rzi.f32.f32 %f205, %f764; + setp.neu.f32 %p22, %f205, 0f40800000; + selp.f32 %f770, 0f7FFFFFFF, %f770, %p22; + +BB0_9: + abs.f32 %f731, %f14; + add.f32 %f207, %f731, 0f40800000; + mov.b32 %r53, %f207; + setp.lt.s32 %p24, %r53, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f762, %f14; + setp.gtu.f32 %p25, %f762, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f770, %f14, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f763, %f14; + setp.neu.f32 %p26, %f763, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f770, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f732, 0f00000000; + mov.f32 %f773, 0f3F800000; + sub.f32 %f217, %f773, %f770; + setp.eq.f32 %p27, %f14, 0f3F800000; + selp.f32 %f218, 0f00000000, %f217, %p27; + cvt.sat.f32.f32 %f219, %f218; + ld.global.f32 %f220, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f221, %f13, %f13, %f220; + div.rn.f32 %f222, %f219, %f221; + mul.f32 %f223, %f766, %f11; + fma.rn.f32 %f224, %f765, %f10, %f223; + fma.rn.f32 %f225, %f767, %f12, %f224; + ld.global.u32 %r56, [imageEnabled]; + and.b32 %r57, %r56, 32; + ld.global.u32 %r58, [ignoreNormal]; + or.b32 %r59, %r57, %r58; + setp.eq.s32 %p28, %r59, 0; + selp.f32 %f226, %f225, 0f3F800000, %p28; + cvt.sat.f32.f32 %f227, %f226; + ld.global.f32 %f228, [lightMatrix+24]; + mul.f32 %f229, %f10, %f228; + ld.global.f32 %f230, [lightMatrix+28]; + mul.f32 %f231, %f11, %f230; + neg.f32 %f232, %f231; + sub.f32 %f233, %f232, %f229; + ld.global.f32 %f234, [lightMatrix+32]; + mul.f32 %f235, %f12, %f234; + sub.f32 %f236, %f233, %f235; + setp.gt.f32 %p29, %f236, 0f00000000; + ld.global.f32 %f237, [lightMatrix]; + mul.f32 %f238, %f237, %f10; + sub.f32 %f239, %f732, %f238; + ld.global.f32 %f240, [lightMatrix+4]; + mul.f32 %f241, %f240, %f11; + sub.f32 %f242, %f239, %f241; + ld.global.f32 %f243, [lightMatrix+8]; + mul.f32 %f244, %f243, %f12; + sub.f32 %f245, %f242, %f244; + selp.f32 %f246, 0f3F800000, 0f00000000, %p29; + ld.global.f32 %f247, [lightMatrix+12]; + mul.f32 %f248, %f247, %f10; + sub.f32 %f249, %f732, %f248; + ld.global.f32 %f250, [lightMatrix+16]; + mul.f32 %f251, %f250, %f11; + sub.f32 %f252, %f249, %f251; + ld.global.f32 %f253, [lightMatrix+20]; + mul.f32 %f254, %f253, %f12; + sub.f32 %f255, %f252, %f254; + ld.global.u32 %r54, [lightCookie]; + ld.global.f32 %f256, [lightFOV]; + fma.rn.f32 %f212, %f245, %f256, 0f3F000000; + fma.rn.f32 %f213, %f255, %f256, 0f3F000000; + // inline asm + call (%f208, %f209, %f210, %f211), _rt_texture_get_f_id, (%r54, %r24, %f212, %f213, %f732, %f732); + // inline asm + max.f32 %f257, %f208, %f209; + max.f32 %f258, %f257, %f210; + mul.f32 %f259, %f246, %f258; + mul.f32 %f31, %f222, %f227; + mul.f32 %f260, %f31, %f259; + ld.global.f32 %f261, [lightColor+4]; + ld.global.f32 %f262, [lightColor]; + max.f32 %f263, %f262, %f261; + ld.global.f32 %f264, [lightColor+8]; + max.f32 %f265, %f263, %f264; + mul.f32 %f266, %f260, %f265; + setp.lt.f32 %p30, %f266, 0f3727C5AC; + @%p30 bra BB0_74; + bra.uni BB0_15; + +BB0_74: + ld.global.u32 %r165, [imageEnabled]; + and.b32 %r126, %r165, 1; + setp.eq.b32 %p104, %r126, 1; + @!%p104 bra BB0_76; + bra.uni BB0_75; + +BB0_75: + cvt.u64.u32 %rd69, %r2; + cvt.u64.u32 %rd70, %r3; + mov.u64 %rd73, image; + cvta.global.u64 %rd68, %rd73; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r24, %r25, %rd69, %rd70, %rd15, %rd15); + // inline asm + mov.u16 %rs37, 1; + mov.u16 %rs38, 0; + st.v4.u8 [%rd67], {%rs38, %rs38, %rs38, %rs37}; + ld.global.u32 %r165, [imageEnabled]; + +BB0_76: + and.b32 %r129, %r165, 8; + setp.eq.s32 %p105, %r129, 0; + @%p105 bra BB0_78; + + cvt.u64.u32 %rd76, %r2; + cvt.u64.u32 %rd77, %r3; + mov.u64 %rd80, image_Mask; + cvta.global.u64 %rd75, %rd80; + // inline asm + call (%rd74), _rt_buffer_get_64, (%rd75, %r24, %r24, %rd76, %rd77, %rd15, %rd15); + // inline asm + mov.f32 %f706, 0f00000000; + cvt.rzi.u32.f32 %r132, %f706; + cvt.u16.u32 %rs39, %r132; + mov.u16 %rs40, 255; + st.v2.u8 [%rd74], {%rs39, %rs40}; + ld.global.u32 %r165, [imageEnabled]; + +BB0_78: + and.b32 %r133, %r165, 4; + setp.eq.s32 %p106, %r133, 0; + @%p106 bra BB0_82; + + ld.global.u32 %r134, [additive]; + setp.eq.s32 %p107, %r134, 0; + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + mov.f32 %f707, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs41, %f707;} + + // inline asm + @%p107 bra BB0_81; + + mov.u64 %rd93, image_HDR; + cvta.global.u64 %rd82, %rd93; + mov.u32 %r138, 8; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd82, %r24, %r138, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs48, %rs49, %rs50, %rs51}, [%rd81]; + // inline asm + { cvt.f32.f16 %f708, %rs48;} + + // inline asm + // inline asm + { cvt.f32.f16 %f709, %rs49;} + + // inline asm + // inline asm + { cvt.f32.f16 %f710, %rs50;} + + // inline asm + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd82, %r24, %r138, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f711, %f708, 0f00000000; + add.f32 %f712, %f709, 0f00000000; + add.f32 %f713, %f710, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs47, %f713;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f712;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f711;} + + // inline asm + st.v4.u16 [%rd87], {%rs45, %rs46, %rs47, %rs41}; + bra.uni BB0_82; + +BB0_15: + mov.f32 %f772, 0f00000000; + mul.f32 %f268, %f7, 0f3456BF95; + abs.f32 %f269, %f765; + div.rn.f32 %f270, %f268, %f269; + abs.f32 %f271, %f766; + mul.f32 %f272, %f8, 0f3456BF95; + div.rn.f32 %f273, %f272, %f271; + abs.f32 %f274, %f767; + mul.f32 %f275, %f9, 0f3456BF95; + div.rn.f32 %f276, %f275, %f274; + abs.f32 %f277, %f270; + abs.f32 %f278, %f273; + abs.f32 %f279, %f276; + mov.f32 %f280, 0f38D1B717; + max.f32 %f281, %f277, %f280; + max.f32 %f282, %f278, %f280; + max.f32 %f283, %f279, %f280; + fma.rn.f32 %f32, %f765, %f281, %f7; + fma.rn.f32 %f33, %f766, %f282, %f8; + fma.rn.f32 %f34, %f767, %f283, %f9; + ld.global.u32 %r161, [samples]; + setp.lt.s32 %p31, %r161, 1; + @%p31 bra BB0_18; + + mul.f32 %f285, %f32, 0f3456BF95; + abs.f32 %f286, %f285; + mul.f32 %f287, %f33, 0f3456BF95; + abs.f32 %f288, %f287; + mul.f32 %f289, %f34, 0f3456BF95; + abs.f32 %f290, %f289; + max.f32 %f291, %f286, %f288; + max.f32 %f292, %f291, %f290; + max.f32 %f35, %f292, %f280; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f772, 0f00000000; + mov.u32 %r160, 0; + +BB0_17: + cvt.rn.f32.s32 %f302, %r160; + mul.f32 %f303, %f302, 0f3DD32618; + cvt.rmi.f32.f32 %f304, %f303; + sub.f32 %f305, %f303, %f304; + mul.f32 %f306, %f302, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f307, %f306; + sub.f32 %f308, %f306, %f307; + mul.f32 %f309, %f302, 0f3DC74539; + cvt.rmi.f32.f32 %f310, %f309; + sub.f32 %f311, %f309, %f310; + add.f32 %f312, %f308, 0f4199851F; + add.f32 %f313, %f311, 0f4199851F; + add.f32 %f314, %f305, 0f4199851F; + mul.f32 %f315, %f308, %f313; + fma.rn.f32 %f316, %f305, %f312, %f315; + fma.rn.f32 %f317, %f314, %f311, %f316; + add.f32 %f318, %f305, %f317; + add.f32 %f319, %f308, %f317; + add.f32 %f320, %f311, %f317; + add.f32 %f321, %f318, %f319; + mul.f32 %f322, %f320, %f321; + cvt.rmi.f32.f32 %f323, %f322; + sub.f32 %f324, %f322, %f323; + add.f32 %f325, %f318, %f320; + mul.f32 %f326, %f319, %f325; + cvt.rmi.f32.f32 %f327, %f326; + sub.f32 %f328, %f326, %f327; + add.f32 %f329, %f319, %f320; + mul.f32 %f330, %f318, %f329; + cvt.rmi.f32.f32 %f331, %f330; + sub.f32 %f332, %f330, %f331; + fma.rn.f32 %f333, %f324, 0f40000000, 0fBF800000; + fma.rn.f32 %f334, %f328, 0f40000000, 0fBF800000; + fma.rn.f32 %f335, %f332, 0f40000000, 0fBF800000; + ld.global.f32 %f336, [lightRadius]; + ld.global.f32 %f337, [lightPos]; + fma.rn.f32 %f338, %f336, %f333, %f337; + ld.global.f32 %f339, [lightPos+4]; + fma.rn.f32 %f340, %f336, %f334, %f339; + ld.global.f32 %f341, [lightPos+8]; + fma.rn.f32 %f342, %f336, %f335, %f341; + sub.f32 %f343, %f338, %f7; + sub.f32 %f344, %f340, %f8; + sub.f32 %f345, %f342, %f9; + mul.f32 %f346, %f344, %f344; + fma.rn.f32 %f347, %f343, %f343, %f346; + fma.rn.f32 %f348, %f345, %f345, %f347; + sqrt.rn.f32 %f301, %f348; + rcp.rn.f32 %f349, %f301; + mul.f32 %f297, %f349, %f343; + mul.f32 %f298, %f349, %f344; + mul.f32 %f299, %f349, %f345; + ld.global.u32 %r64, [imageEnabled]; + and.b32 %r65, %r64, 32; + setp.eq.s32 %p32, %r65, 0; + selp.f32 %f350, 0f3F800000, 0f41200000, %p32; + mul.f32 %f300, %f350, %f35; + mov.u32 %r66, 1065353216; + st.local.u32 [%rd2], %r66; + ld.global.u32 %r61, [root]; + mov.u32 %r62, 1; + // inline asm + call _rt_trace_64, (%r61, %f32, %f33, %f34, %f297, %f298, %f299, %r62, %f300, %f301, %rd24, %r25); + // inline asm + ld.local.f32 %f351, [%rd2]; + add.f32 %f772, %f772, %f351; + ld.global.u32 %r161, [samples]; + add.s32 %r160, %r160, 1; + setp.lt.s32 %p33, %r160, %r161; + @%p33 bra BB0_17; + +BB0_18: + setp.eq.s32 %p34, %r161, 0; + @%p34 bra BB0_20; + + cvt.rn.f32.s32 %f353, %r161; + div.rn.f32 %f773, %f772, %f353; + +BB0_20: + ld.global.f32 %f354, [lightColor]; + mul.f32 %f355, %f31, %f773; + mul.f32 %f356, %f354, %f355; + ld.global.f32 %f357, [lightColor+4]; + mul.f32 %f358, %f355, %f357; + ld.global.f32 %f359, [lightColor+8]; + mul.f32 %f360, %f355, %f359; + mul.f32 %f41, %f208, %f356; + mul.f32 %f42, %f209, %f358; + mul.f32 %f43, %f210, %f360; + ld.global.u32 %r163, [imageEnabled]; + and.b32 %r67, %r163, 8; + setp.eq.s32 %p35, %r67, 0; + @%p35 bra BB0_33; + + mov.f32 %f740, 0fB5BFBE8E; + mov.f32 %f739, 0fBF317200; + mov.f32 %f738, 0f35BFBE8E; + mov.f32 %f737, 0f3F317200; + mov.f32 %f736, 0f3DAAAABD; + mov.f32 %f735, 0f3C4CAF63; + mov.f32 %f734, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r24, %r24, %rd28, %rd29, %rd15, %rd15); + // inline asm + mov.f32 %f363, 0f3E68BA2E; + cvt.rzi.f32.f32 %f364, %f363; + fma.rn.f32 %f365, %f364, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f44, %f365; + abs.f32 %f45, %f773; + setp.lt.f32 %p36, %f45, 0f00800000; + mul.f32 %f366, %f45, 0f4B800000; + selp.f32 %f367, 0fC3170000, 0fC2FE0000, %p36; + selp.f32 %f368, %f366, %f45, %p36; + mov.b32 %r70, %f368; + and.b32 %r71, %r70, 8388607; + or.b32 %r72, %r71, 1065353216; + mov.b32 %f369, %r72; + shr.u32 %r73, %r70, 23; + cvt.rn.f32.u32 %f370, %r73; + add.f32 %f371, %f367, %f370; + setp.gt.f32 %p37, %f369, 0f3FB504F3; + mul.f32 %f372, %f369, 0f3F000000; + add.f32 %f373, %f371, 0f3F800000; + selp.f32 %f374, %f372, %f369, %p37; + selp.f32 %f375, %f373, %f371, %p37; + add.f32 %f376, %f374, 0fBF800000; + add.f32 %f362, %f374, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f361,%f362; + // inline asm + add.f32 %f377, %f376, %f376; + mul.f32 %f378, %f361, %f377; + mul.f32 %f379, %f378, %f378; + fma.rn.f32 %f382, %f734, %f379, %f735; + fma.rn.f32 %f384, %f382, %f379, %f736; + mul.rn.f32 %f385, %f384, %f379; + mul.rn.f32 %f386, %f385, %f378; + sub.f32 %f387, %f376, %f378; + neg.f32 %f388, %f378; + add.f32 %f389, %f387, %f387; + fma.rn.f32 %f390, %f388, %f376, %f389; + mul.rn.f32 %f391, %f361, %f390; + add.f32 %f392, %f386, %f378; + sub.f32 %f393, %f378, %f392; + add.f32 %f394, %f386, %f393; + add.f32 %f395, %f391, %f394; + add.f32 %f396, %f392, %f395; + sub.f32 %f397, %f392, %f396; + add.f32 %f398, %f395, %f397; + mul.rn.f32 %f400, %f375, %f737; + mul.rn.f32 %f402, %f375, %f738; + add.f32 %f403, %f400, %f396; + sub.f32 %f404, %f400, %f403; + add.f32 %f405, %f396, %f404; + add.f32 %f406, %f398, %f405; + add.f32 %f407, %f402, %f406; + add.f32 %f408, %f403, %f407; + sub.f32 %f409, %f403, %f408; + add.f32 %f410, %f407, %f409; + mov.f32 %f411, 0f3EE8BA2E; + mul.rn.f32 %f412, %f411, %f408; + neg.f32 %f413, %f412; + fma.rn.f32 %f414, %f411, %f408, %f413; + fma.rn.f32 %f415, %f411, %f410, %f414; + mov.f32 %f416, 0f00000000; + fma.rn.f32 %f417, %f416, %f408, %f415; + add.rn.f32 %f418, %f412, %f417; + neg.f32 %f419, %f418; + add.rn.f32 %f420, %f412, %f419; + add.rn.f32 %f421, %f420, %f417; + mov.b32 %r74, %f418; + setp.eq.s32 %p38, %r74, 1118925336; + add.s32 %r75, %r74, -1; + mov.b32 %f422, %r75; + add.f32 %f423, %f421, 0f37000000; + selp.f32 %f424, %f422, %f418, %p38; + selp.f32 %f46, %f423, %f421, %p38; + mul.f32 %f425, %f424, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f426, %f425; + fma.rn.f32 %f428, %f426, %f739, %f424; + fma.rn.f32 %f430, %f426, %f740, %f428; + mul.f32 %f431, %f430, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f432, %f431; + add.f32 %f433, %f426, 0f00000000; + ex2.approx.f32 %f434, %f433; + mul.f32 %f435, %f432, %f434; + setp.lt.f32 %p39, %f424, 0fC2D20000; + selp.f32 %f436, 0f00000000, %f435, %p39; + setp.gt.f32 %p40, %f424, 0f42D20000; + selp.f32 %f774, 0f7F800000, %f436, %p40; + setp.eq.f32 %p41, %f774, 0f7F800000; + @%p41 bra BB0_23; + + fma.rn.f32 %f774, %f774, %f46, %f774; + +BB0_23: + setp.lt.f32 %p42, %f773, 0f00000000; + setp.eq.f32 %p43, %f44, 0f3F800000; + and.pred %p2, %p42, %p43; + mov.b32 %r76, %f774; + xor.b32 %r77, %r76, -2147483648; + mov.b32 %f437, %r77; + selp.f32 %f776, %f437, %f774, %p2; + setp.eq.f32 %p44, %f773, 0f00000000; + @%p44 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f440, %f773, %f773; + selp.f32 %f776, %f440, 0f00000000, %p43; + bra.uni BB0_27; + +BB0_91: + mov.u64 %rd141, image_HDR; + cvta.global.u64 %rd136, %rd141; + mov.u32 %r157, 8; + // inline asm + call (%rd135), _rt_buffer_get_64, (%rd136, %r24, %r157, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f724, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs71, %f724;} + + // inline asm + mov.u16 %rs72, 0; + st.v4.u16 [%rd135], {%rs71, %rs71, %rs71, %rs72}; + +BB0_92: + ld.global.u8 %rs73, [imageEnabled]; + and.b16 %rs74, %rs73, 64; + setp.eq.s16 %p113, %rs74, 0; + @%p113 bra BB0_94; + + cvt.u64.u32 %rd144, %r2; + cvt.u64.u32 %rd145, %r3; + mov.u64 %rd148, image_Dir; + cvta.global.u64 %rd143, %rd148; + // inline asm + call (%rd142), _rt_buffer_get_64, (%rd143, %r24, %r25, %rd144, %rd145, %rd15, %rd15); + // inline asm + mov.u16 %rs75, 0; + st.v4.u8 [%rd142], {%rs75, %rs75, %rs75, %rs75}; + bra.uni BB0_94; + +BB0_81: + mov.u64 %rd100, image_HDR; + cvta.global.u64 %rd95, %rd100; + mov.u32 %r140, 8; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r24, %r140, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f714, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs52, %f714;} + + // inline asm + st.v4.u16 [%rd94], {%rs52, %rs52, %rs52, %rs41}; + +BB0_82: + ld.global.u8 %rs53, [imageEnabled]; + and.b16 %rs54, %rs53, 64; + setp.eq.s16 %p108, %rs54, 0; + @%p108 bra BB0_94; + + cvt.u64.u32 %rd103, %r2; + cvt.u64.u32 %rd104, %r3; + mov.u64 %rd107, image_Dir; + cvta.global.u64 %rd102, %rd107; + // inline asm + call (%rd101), _rt_buffer_get_64, (%rd102, %r24, %r25, %rd103, %rd104, %rd15, %rd15); + // inline asm + mov.u16 %rs55, 255; + mov.u16 %rs56, 0; + st.v4.u8 [%rd101], {%rs56, %rs56, %rs56, %rs55}; + bra.uni BB0_94; + +BB0_24: + setp.geu.f32 %p45, %f773, 0f00000000; + @%p45 bra BB0_27; + + cvt.rzi.f32.f32 %f439, %f411; + setp.neu.f32 %p46, %f439, 0f3EE8BA2E; + selp.f32 %f776, 0f7FFFFFFF, %f776, %p46; + +BB0_27: + add.f32 %f441, %f45, 0f3EE8BA2E; + mov.b32 %r78, %f441; + setp.lt.s32 %p48, %r78, 2139095040; + @%p48 bra BB0_32; + + setp.gtu.f32 %p49, %f45, 0f7F800000; + @%p49 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f776, %f773, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + setp.neu.f32 %p50, %f45, 0f7F800000; + @%p50 bra BB0_32; + + selp.f32 %f776, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f442, %f776, 0f437F0000; + setp.eq.f32 %p51, %f773, 0f3F800000; + selp.f32 %f443, 0f437F0000, %f442, %p51; + cvt.rzi.u32.f32 %r79, %f443; + cvt.u16.u32 %rs11, %r79; + mov.u16 %rs12, 255; + st.v2.u8 [%rd26], {%rs11, %rs12}; + ld.global.u32 %r163, [imageEnabled]; + +BB0_33: + and.b32 %r80, %r163, 1; + setp.eq.b32 %p52, %r80, 1; + @!%p52 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f747, 0fB5BFBE8E; + mov.f32 %f746, 0fBF317200; + mov.f32 %f745, 0f35BFBE8E; + mov.f32 %f744, 0f3F317200; + mov.f32 %f743, 0f3DAAAABD; + mov.f32 %f742, 0f3C4CAF63; + mov.f32 %f741, 0f3B18F0FE; + mov.f32 %f446, 0f3E666666; + cvt.rzi.f32.f32 %f447, %f446; + fma.rn.f32 %f448, %f447, 0fC0000000, 0f3EE66666; + abs.f32 %f57, %f448; + abs.f32 %f58, %f41; + setp.lt.f32 %p53, %f58, 0f00800000; + mul.f32 %f449, %f58, 0f4B800000; + selp.f32 %f450, 0fC3170000, 0fC2FE0000, %p53; + selp.f32 %f451, %f449, %f58, %p53; + mov.b32 %r81, %f451; + and.b32 %r82, %r81, 8388607; + or.b32 %r83, %r82, 1065353216; + mov.b32 %f452, %r83; + shr.u32 %r84, %r81, 23; + cvt.rn.f32.u32 %f453, %r84; + add.f32 %f454, %f450, %f453; + setp.gt.f32 %p54, %f452, 0f3FB504F3; + mul.f32 %f455, %f452, 0f3F000000; + add.f32 %f456, %f454, 0f3F800000; + selp.f32 %f457, %f455, %f452, %p54; + selp.f32 %f458, %f456, %f454, %p54; + add.f32 %f459, %f457, 0fBF800000; + add.f32 %f445, %f457, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f444,%f445; + // inline asm + add.f32 %f460, %f459, %f459; + mul.f32 %f461, %f444, %f460; + mul.f32 %f462, %f461, %f461; + fma.rn.f32 %f465, %f741, %f462, %f742; + fma.rn.f32 %f467, %f465, %f462, %f743; + mul.rn.f32 %f468, %f467, %f462; + mul.rn.f32 %f469, %f468, %f461; + sub.f32 %f470, %f459, %f461; + neg.f32 %f471, %f461; + add.f32 %f472, %f470, %f470; + fma.rn.f32 %f473, %f471, %f459, %f472; + mul.rn.f32 %f474, %f444, %f473; + add.f32 %f475, %f469, %f461; + sub.f32 %f476, %f461, %f475; + add.f32 %f477, %f469, %f476; + add.f32 %f478, %f474, %f477; + add.f32 %f479, %f475, %f478; + sub.f32 %f480, %f475, %f479; + add.f32 %f481, %f478, %f480; + mul.rn.f32 %f483, %f458, %f744; + mul.rn.f32 %f485, %f458, %f745; + add.f32 %f486, %f483, %f479; + sub.f32 %f487, %f483, %f486; + add.f32 %f488, %f479, %f487; + add.f32 %f489, %f481, %f488; + add.f32 %f490, %f485, %f489; + add.f32 %f491, %f486, %f490; + sub.f32 %f492, %f486, %f491; + add.f32 %f493, %f490, %f492; + mov.f32 %f494, 0f3EE66666; + mul.rn.f32 %f495, %f494, %f491; + neg.f32 %f496, %f495; + fma.rn.f32 %f497, %f494, %f491, %f496; + fma.rn.f32 %f498, %f494, %f493, %f497; + mov.f32 %f499, 0f00000000; + fma.rn.f32 %f500, %f499, %f491, %f498; + add.rn.f32 %f501, %f495, %f500; + neg.f32 %f502, %f501; + add.rn.f32 %f503, %f495, %f502; + add.rn.f32 %f504, %f503, %f500; + mov.b32 %r85, %f501; + setp.eq.s32 %p55, %r85, 1118925336; + add.s32 %r86, %r85, -1; + mov.b32 %f505, %r86; + add.f32 %f506, %f504, 0f37000000; + selp.f32 %f507, %f505, %f501, %p55; + selp.f32 %f59, %f506, %f504, %p55; + mul.f32 %f508, %f507, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f509, %f508; + fma.rn.f32 %f511, %f509, %f746, %f507; + fma.rn.f32 %f513, %f509, %f747, %f511; + mul.f32 %f514, %f513, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f515, %f514; + add.f32 %f516, %f509, 0f00000000; + ex2.approx.f32 %f517, %f516; + mul.f32 %f518, %f515, %f517; + setp.lt.f32 %p56, %f507, 0fC2D20000; + selp.f32 %f519, 0f00000000, %f518, %p56; + setp.gt.f32 %p57, %f507, 0f42D20000; + selp.f32 %f777, 0f7F800000, %f519, %p57; + setp.eq.f32 %p58, %f777, 0f7F800000; + @%p58 bra BB0_36; + + fma.rn.f32 %f777, %f777, %f59, %f777; + +BB0_36: + setp.lt.f32 %p59, %f41, 0f00000000; + setp.eq.f32 %p60, %f57, 0f3F800000; + and.pred %p3, %p59, %p60; + mov.b32 %r87, %f777; + xor.b32 %r88, %r87, -2147483648; + mov.b32 %f520, %r88; + selp.f32 %f779, %f520, %f777, %p3; + setp.eq.f32 %p61, %f41, 0f00000000; + @%p61 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f523, %f41, %f41; + selp.f32 %f779, %f523, 0f00000000, %p60; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p62, %f41, 0f00000000; + @%p62 bra BB0_40; + + cvt.rzi.f32.f32 %f522, %f494; + setp.neu.f32 %p63, %f522, 0f3EE66666; + selp.f32 %f779, 0f7FFFFFFF, %f779, %p63; + +BB0_40: + add.f32 %f524, %f58, 0f3EE66666; + mov.b32 %r89, %f524; + setp.lt.s32 %p65, %r89, 2139095040; + @%p65 bra BB0_45; + + setp.gtu.f32 %p66, %f58, 0f7F800000; + @%p66 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f779, %f41, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p67, %f58, 0f7F800000; + @%p67 bra BB0_45; + + selp.f32 %f779, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f754, 0fB5BFBE8E; + mov.f32 %f753, 0fBF317200; + mov.f32 %f752, 0f35BFBE8E; + mov.f32 %f751, 0f3F317200; + mov.f32 %f750, 0f3DAAAABD; + mov.f32 %f749, 0f3C4CAF63; + mov.f32 %f748, 0f3B18F0FE; + setp.eq.f32 %p68, %f41, 0f3F800000; + selp.f32 %f70, 0f3F800000, %f779, %p68; + abs.f32 %f71, %f42; + setp.lt.f32 %p69, %f71, 0f00800000; + mul.f32 %f527, %f71, 0f4B800000; + selp.f32 %f528, 0fC3170000, 0fC2FE0000, %p69; + selp.f32 %f529, %f527, %f71, %p69; + mov.b32 %r90, %f529; + and.b32 %r91, %r90, 8388607; + or.b32 %r92, %r91, 1065353216; + mov.b32 %f530, %r92; + shr.u32 %r93, %r90, 23; + cvt.rn.f32.u32 %f531, %r93; + add.f32 %f532, %f528, %f531; + setp.gt.f32 %p70, %f530, 0f3FB504F3; + mul.f32 %f533, %f530, 0f3F000000; + add.f32 %f534, %f532, 0f3F800000; + selp.f32 %f535, %f533, %f530, %p70; + selp.f32 %f536, %f534, %f532, %p70; + add.f32 %f537, %f535, 0fBF800000; + add.f32 %f526, %f535, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f525,%f526; + // inline asm + add.f32 %f538, %f537, %f537; + mul.f32 %f539, %f525, %f538; + mul.f32 %f540, %f539, %f539; + fma.rn.f32 %f543, %f748, %f540, %f749; + fma.rn.f32 %f545, %f543, %f540, %f750; + mul.rn.f32 %f546, %f545, %f540; + mul.rn.f32 %f547, %f546, %f539; + sub.f32 %f548, %f537, %f539; + neg.f32 %f549, %f539; + add.f32 %f550, %f548, %f548; + fma.rn.f32 %f551, %f549, %f537, %f550; + mul.rn.f32 %f552, %f525, %f551; + add.f32 %f553, %f547, %f539; + sub.f32 %f554, %f539, %f553; + add.f32 %f555, %f547, %f554; + add.f32 %f556, %f552, %f555; + add.f32 %f557, %f553, %f556; + sub.f32 %f558, %f553, %f557; + add.f32 %f559, %f556, %f558; + mul.rn.f32 %f561, %f536, %f751; + mul.rn.f32 %f563, %f536, %f752; + add.f32 %f564, %f561, %f557; + sub.f32 %f565, %f561, %f564; + add.f32 %f566, %f557, %f565; + add.f32 %f567, %f559, %f566; + add.f32 %f568, %f563, %f567; + add.f32 %f569, %f564, %f568; + sub.f32 %f570, %f564, %f569; + add.f32 %f571, %f568, %f570; + mul.rn.f32 %f573, %f494, %f569; + neg.f32 %f574, %f573; + fma.rn.f32 %f575, %f494, %f569, %f574; + fma.rn.f32 %f576, %f494, %f571, %f575; + fma.rn.f32 %f578, %f499, %f569, %f576; + add.rn.f32 %f579, %f573, %f578; + neg.f32 %f580, %f579; + add.rn.f32 %f581, %f573, %f580; + add.rn.f32 %f582, %f581, %f578; + mov.b32 %r94, %f579; + setp.eq.s32 %p71, %r94, 1118925336; + add.s32 %r95, %r94, -1; + mov.b32 %f583, %r95; + add.f32 %f584, %f582, 0f37000000; + selp.f32 %f585, %f583, %f579, %p71; + selp.f32 %f72, %f584, %f582, %p71; + mul.f32 %f586, %f585, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f587, %f586; + fma.rn.f32 %f589, %f587, %f753, %f585; + fma.rn.f32 %f591, %f587, %f754, %f589; + mul.f32 %f592, %f591, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f593, %f592; + add.f32 %f594, %f587, 0f00000000; + ex2.approx.f32 %f595, %f594; + mul.f32 %f596, %f593, %f595; + setp.lt.f32 %p72, %f585, 0fC2D20000; + selp.f32 %f597, 0f00000000, %f596, %p72; + setp.gt.f32 %p73, %f585, 0f42D20000; + selp.f32 %f780, 0f7F800000, %f597, %p73; + setp.eq.f32 %p74, %f780, 0f7F800000; + @%p74 bra BB0_47; + + fma.rn.f32 %f780, %f780, %f72, %f780; + +BB0_47: + setp.lt.f32 %p75, %f42, 0f00000000; + and.pred %p4, %p75, %p60; + mov.b32 %r96, %f780; + xor.b32 %r97, %r96, -2147483648; + mov.b32 %f598, %r97; + selp.f32 %f782, %f598, %f780, %p4; + setp.eq.f32 %p77, %f42, 0f00000000; + @%p77 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f601, %f42, %f42; + selp.f32 %f782, %f601, 0f00000000, %p60; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p78, %f42, 0f00000000; + @%p78 bra BB0_51; + + cvt.rzi.f32.f32 %f600, %f494; + setp.neu.f32 %p79, %f600, 0f3EE66666; + selp.f32 %f782, 0f7FFFFFFF, %f782, %p79; + +BB0_51: + add.f32 %f602, %f71, 0f3EE66666; + mov.b32 %r98, %f602; + setp.lt.s32 %p81, %r98, 2139095040; + @%p81 bra BB0_56; + + setp.gtu.f32 %p82, %f71, 0f7F800000; + @%p82 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f782, %f42, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p83, %f71, 0f7F800000; + @%p83 bra BB0_56; + + selp.f32 %f782, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f761, 0fB5BFBE8E; + mov.f32 %f760, 0fBF317200; + mov.f32 %f759, 0f35BFBE8E; + mov.f32 %f758, 0f3F317200; + mov.f32 %f757, 0f3DAAAABD; + mov.f32 %f756, 0f3C4CAF63; + mov.f32 %f755, 0f3B18F0FE; + setp.eq.f32 %p84, %f42, 0f3F800000; + selp.f32 %f83, 0f3F800000, %f782, %p84; + abs.f32 %f84, %f43; + setp.lt.f32 %p85, %f84, 0f00800000; + mul.f32 %f605, %f84, 0f4B800000; + selp.f32 %f606, 0fC3170000, 0fC2FE0000, %p85; + selp.f32 %f607, %f605, %f84, %p85; + mov.b32 %r99, %f607; + and.b32 %r100, %r99, 8388607; + or.b32 %r101, %r100, 1065353216; + mov.b32 %f608, %r101; + shr.u32 %r102, %r99, 23; + cvt.rn.f32.u32 %f609, %r102; + add.f32 %f610, %f606, %f609; + setp.gt.f32 %p86, %f608, 0f3FB504F3; + mul.f32 %f611, %f608, 0f3F000000; + add.f32 %f612, %f610, 0f3F800000; + selp.f32 %f613, %f611, %f608, %p86; + selp.f32 %f614, %f612, %f610, %p86; + add.f32 %f615, %f613, 0fBF800000; + add.f32 %f604, %f613, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f603,%f604; + // inline asm + add.f32 %f616, %f615, %f615; + mul.f32 %f617, %f603, %f616; + mul.f32 %f618, %f617, %f617; + fma.rn.f32 %f621, %f755, %f618, %f756; + fma.rn.f32 %f623, %f621, %f618, %f757; + mul.rn.f32 %f624, %f623, %f618; + mul.rn.f32 %f625, %f624, %f617; + sub.f32 %f626, %f615, %f617; + neg.f32 %f627, %f617; + add.f32 %f628, %f626, %f626; + fma.rn.f32 %f629, %f627, %f615, %f628; + mul.rn.f32 %f630, %f603, %f629; + add.f32 %f631, %f625, %f617; + sub.f32 %f632, %f617, %f631; + add.f32 %f633, %f625, %f632; + add.f32 %f634, %f630, %f633; + add.f32 %f635, %f631, %f634; + sub.f32 %f636, %f631, %f635; + add.f32 %f637, %f634, %f636; + mul.rn.f32 %f639, %f614, %f758; + mul.rn.f32 %f641, %f614, %f759; + add.f32 %f642, %f639, %f635; + sub.f32 %f643, %f639, %f642; + add.f32 %f644, %f635, %f643; + add.f32 %f645, %f637, %f644; + add.f32 %f646, %f641, %f645; + add.f32 %f647, %f642, %f646; + sub.f32 %f648, %f642, %f647; + add.f32 %f649, %f646, %f648; + mul.rn.f32 %f651, %f494, %f647; + neg.f32 %f652, %f651; + fma.rn.f32 %f653, %f494, %f647, %f652; + fma.rn.f32 %f654, %f494, %f649, %f653; + fma.rn.f32 %f656, %f499, %f647, %f654; + add.rn.f32 %f657, %f651, %f656; + neg.f32 %f658, %f657; + add.rn.f32 %f659, %f651, %f658; + add.rn.f32 %f660, %f659, %f656; + mov.b32 %r103, %f657; + setp.eq.s32 %p87, %r103, 1118925336; + add.s32 %r104, %r103, -1; + mov.b32 %f661, %r104; + add.f32 %f662, %f660, 0f37000000; + selp.f32 %f663, %f661, %f657, %p87; + selp.f32 %f85, %f662, %f660, %p87; + mul.f32 %f664, %f663, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f665, %f664; + fma.rn.f32 %f667, %f665, %f760, %f663; + fma.rn.f32 %f669, %f665, %f761, %f667; + mul.f32 %f670, %f669, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f671, %f670; + add.f32 %f672, %f665, 0f00000000; + ex2.approx.f32 %f673, %f672; + mul.f32 %f674, %f671, %f673; + setp.lt.f32 %p88, %f663, 0fC2D20000; + selp.f32 %f675, 0f00000000, %f674, %p88; + setp.gt.f32 %p89, %f663, 0f42D20000; + selp.f32 %f783, 0f7F800000, %f675, %p89; + setp.eq.f32 %p90, %f783, 0f7F800000; + @%p90 bra BB0_58; + + fma.rn.f32 %f783, %f783, %f85, %f783; + +BB0_58: + setp.lt.f32 %p91, %f43, 0f00000000; + and.pred %p5, %p91, %p60; + mov.b32 %r105, %f783; + xor.b32 %r106, %r105, -2147483648; + mov.b32 %f676, %r106; + selp.f32 %f785, %f676, %f783, %p5; + setp.eq.f32 %p93, %f43, 0f00000000; + @%p93 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f679, %f43, %f43; + selp.f32 %f785, %f679, 0f00000000, %p60; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p94, %f43, 0f00000000; + @%p94 bra BB0_62; + + cvt.rzi.f32.f32 %f678, %f494; + setp.neu.f32 %p95, %f678, 0f3EE66666; + selp.f32 %f785, 0f7FFFFFFF, %f785, %p95; + +BB0_62: + add.f32 %f680, %f84, 0f3EE66666; + mov.b32 %r107, %f680; + setp.lt.s32 %p97, %r107, 2139095040; + @%p97 bra BB0_67; + + setp.gtu.f32 %p98, %f84, 0f7F800000; + @%p98 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f785, %f43, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p99, %f84, 0f7F800000; + @%p99 bra BB0_67; + + selp.f32 %f785, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p100, %f43, 0f3F800000; + selp.f32 %f681, 0f3F800000, %f785, %p100; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r24, %r25, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f682, %f681; + mul.f32 %f683, %f682, 0f437FFD71; + cvt.rzi.u32.f32 %r110, %f683; + cvt.sat.f32.f32 %f684, %f83; + mul.f32 %f685, %f684, 0f437FFD71; + cvt.rzi.u32.f32 %r111, %f685; + cvt.sat.f32.f32 %f686, %f70; + mul.f32 %f687, %f686, 0f437FFD71; + cvt.rzi.u32.f32 %r112, %f687; + cvt.u16.u32 %rs13, %r110; + cvt.u16.u32 %rs14, %r112; + cvt.u16.u32 %rs15, %r111; + mov.u16 %rs16, 255; + st.v4.u8 [%rd33], {%rs13, %rs15, %rs14, %rs16}; + ld.global.u32 %r163, [imageEnabled]; + +BB0_68: + and.b32 %r113, %r163, 4; + setp.eq.s32 %p101, %r113, 0; + @%p101 bra BB0_72; + + ld.global.u32 %r114, [additive]; + setp.eq.s32 %p102, %r114, 0; + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + mov.f32 %f688, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs17, %f688;} + + // inline asm + @%p102 bra BB0_71; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r118, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r24, %r118, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs24, %rs25, %rs26, %rs27}, [%rd40]; + // inline asm + { cvt.f32.f16 %f689, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f690, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f691, %rs26;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r24, %r118, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f692, %f41, %f689; + add.f32 %f693, %f42, %f690; + add.f32 %f694, %f43, %f691; + // inline asm + { cvt.rn.f16.f32 %rs23, %f694;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f693;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f692;} + + // inline asm + st.v4.u16 [%rd46], {%rs21, %rs22, %rs23, %rs17}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r120, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r24, %r120, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f43;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f42;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f41;} + + // inline asm + st.v4.u16 [%rd53], {%rs28, %rs29, %rs30, %rs17}; + +BB0_72: + ld.global.u8 %rs31, [imageEnabled]; + and.b16 %rs32, %rs31, 64; + setp.eq.s16 %p103, %rs32, 0; + @%p103 bra BB0_94; + + cvt.u64.u32 %rd62, %r2; + cvt.u64.u32 %rd63, %r3; + mov.u64 %rd66, image_Dir; + cvta.global.u64 %rd61, %rd66; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r24, %r25, %rd62, %rd63, %rd15, %rd15); + // inline asm + fma.rn.f32 %f698, %f10, 0f3F000000, 0f3F000000; + mul.f32 %f699, %f698, 0f437F0000; + cvt.rzi.u32.f32 %r123, %f699; + fma.rn.f32 %f700, %f11, 0f3F000000, 0f3F000000; + mul.f32 %f701, %f700, 0f437F0000; + cvt.rzi.u32.f32 %r124, %f701; + fma.rn.f32 %f702, %f12, 0f3F000000, 0f3F000000; + mul.f32 %f703, %f702, 0f437F0000; + cvt.rzi.u32.f32 %r125, %f703; + cvt.u16.u32 %rs33, %r125; + cvt.u16.u32 %rs34, %r124; + cvt.u16.u32 %rs35, %r123; + mov.u16 %rs36, 255; + st.v4.u8 [%rd60], {%rs35, %rs34, %rs33, %rs36}; + +BB0_94: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLight.ptx.meta new file mode 100644 index 00000000..539f94be --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 592b07918f0531c4cb302248f921a07b +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightProbeSH.ptx new file mode 100644 index 00000000..442d9b4f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightProbeSH.ptx @@ -0,0 +1,2305 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCookie; +.global .align 4 .b8 lightMatrix[36]; +.global .align 4 .f32 lightFOV; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightMatrixE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightFOVE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename11lightMatrixE[10] = {77, 97, 116, 114, 105, 120, 51, 120, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightFOVE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightMatrixE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightFOVE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightMatrixE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightFOVE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightMatrixE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightFOVE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<123>; + .reg .b16 %rs<221>; + .reg .f32 %f<896>; + .reg .b32 %r<244>; + .reg .b64 %rd<369>; + + + mov.u64 %rd368, __local_depot0; + cvta.local.u64 %SP, %rd368; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd12, %r26; + cvt.u64.u32 %rd13, %r27; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r24, 2; + mov.u32 %r25, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r24, %r25, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r30, %r1, 16; + cvt.u16.u32 %rs1, %r30; + and.b16 %rs12, %rs1, 255; + cvt.u16.u32 %rs13, %r1; + or.b16 %rs14, %rs13, %rs12; + setp.eq.s16 %p6, %rs14, 0; + mov.f32 %f875, 0f00000000; + mov.f32 %f876, %f875; + mov.f32 %f877, %f875; + @%p6 bra BB0_2; + + ld.u8 %rs15, [%rd10+1]; + and.b16 %rs17, %rs13, 255; + cvt.rn.f32.u16 %f106, %rs17; + div.rn.f32 %f107, %f106, 0f437F0000; + fma.rn.f32 %f108, %f107, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f109, %rs15; + div.rn.f32 %f110, %f109, 0f437F0000; + fma.rn.f32 %f111, %f110, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f112, %rs12; + div.rn.f32 %f113, %f112, 0f437F0000; + fma.rn.f32 %f114, %f113, 0f40000000, 0fBF800000; + mul.f32 %f115, %f111, %f111; + fma.rn.f32 %f116, %f108, %f108, %f115; + fma.rn.f32 %f117, %f114, %f114, %f116; + sqrt.rn.f32 %f118, %f117; + rcp.rn.f32 %f119, %f118; + mul.f32 %f875, %f108, %f119; + mul.f32 %f876, %f111, %f119; + mul.f32 %f877, %f114, %f119; + +BB0_2: + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + ld.global.v2.u32 {%r34, %r35}, [tileInfo]; + add.s32 %r2, %r31, %r34; + add.s32 %r3, %r32, %r35; + setp.eq.f32 %p7, %f876, 0f00000000; + setp.eq.f32 %p8, %f875, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f877, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_104; + bra.uni BB0_3; + +BB0_104: + ld.global.u32 %r243, [imageEnabled]; + and.b32 %r192, %r243, 1; + setp.eq.b32 %p115, %r192, 1; + @!%p115 bra BB0_106; + bra.uni BB0_105; + +BB0_105: + cvt.u64.u32 %rd256, %r2; + cvt.u64.u32 %rd257, %r3; + mov.u64 %rd260, image; + cvta.global.u64 %rd255, %rd260; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r24, %r25, %rd256, %rd257, %rd15, %rd15); + // inline asm + mov.u16 %rs153, 0; + st.v4.u8 [%rd254], {%rs153, %rs153, %rs153, %rs153}; + ld.global.u32 %r243, [imageEnabled]; + +BB0_106: + and.b32 %r195, %r243, 8; + setp.eq.s32 %p116, %r195, 0; + @%p116 bra BB0_108; + + cvt.u64.u32 %rd264, %r3; + cvt.u64.u32 %rd263, %r2; + mov.u64 %rd267, image_Mask; + cvta.global.u64 %rd262, %rd267; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r24, %r24, %rd263, %rd264, %rd15, %rd15); + // inline asm + mov.f32 %f791, 0f00000000; + cvt.rzi.u32.f32 %r198, %f791; + cvt.u16.u32 %rs154, %r198; + mov.u16 %rs155, 0; + st.v2.u8 [%rd261], {%rs154, %rs155}; + ld.global.u32 %r243, [imageEnabled]; + +BB0_108: + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + and.b32 %r199, %r243, 4; + setp.eq.s32 %p117, %r199, 0; + @%p117 bra BB0_112; + + ld.global.u32 %r200, [additive]; + setp.eq.s32 %p118, %r200, 0; + @%p118 bra BB0_111; + + mov.u64 %rd280, image_HDR; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r204, 8; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r24, %r204, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs162, %rs163, %rs164, %rs165}, [%rd268]; + // inline asm + { cvt.f32.f16 %f792, %rs162;} + + // inline asm + // inline asm + { cvt.f32.f16 %f793, %rs163;} + + // inline asm + // inline asm + { cvt.f32.f16 %f794, %rs164;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r24, %r204, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f795, %f792, 0f00000000; + add.f32 %f796, %f793, 0f00000000; + add.f32 %f797, %f794, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs161, %f797;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs160, %f796;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs159, %f795;} + + // inline asm + mov.u16 %rs166, 0; + st.v4.u16 [%rd274], {%rs159, %rs160, %rs161, %rs166}; + bra.uni BB0_112; + +BB0_3: + ld.global.v2.u32 {%r41, %r42}, [pixelID]; + cvt.u64.u32 %rd19, %r41; + cvt.u64.u32 %rd20, %r42; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r40, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r24, %r40, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f122, [lightPos]; + ld.f32 %f9, [%rd17+8]; + ld.f32 %f8, [%rd17+4]; + ld.f32 %f7, [%rd17]; + sub.f32 %f123, %f122, %f7; + ld.global.f32 %f124, [lightPos+4]; + sub.f32 %f125, %f124, %f8; + ld.global.f32 %f126, [lightPos+8]; + sub.f32 %f127, %f126, %f9; + mul.f32 %f128, %f125, %f125; + fma.rn.f32 %f129, %f123, %f123, %f128; + fma.rn.f32 %f130, %f127, %f127, %f129; + sqrt.rn.f32 %f131, %f130; + rcp.rn.f32 %f132, %f131; + mul.f32 %f10, %f123, %f132; + mul.f32 %f11, %f125, %f132; + mul.f32 %f12, %f127, %f132; + ld.global.f32 %f133, [lightFalloffFakeDistanceMult]; + mul.f32 %f13, %f131, %f133; + ld.global.f32 %f134, [lightInvCutoff]; + mul.f32 %f14, %f131, %f134; + mov.f32 %f138, 0f40800000; + abs.f32 %f16, %f14; + setp.lt.f32 %p12, %f16, 0f00800000; + mul.f32 %f140, %f16, 0f4B800000; + selp.f32 %f141, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f142, %f140, %f16, %p12; + mov.b32 %r45, %f142; + and.b32 %r46, %r45, 8388607; + or.b32 %r47, %r46, 1065353216; + mov.b32 %f143, %r47; + shr.u32 %r48, %r45, 23; + cvt.rn.f32.u32 %f144, %r48; + add.f32 %f145, %f141, %f144; + setp.gt.f32 %p13, %f143, 0f3FB504F3; + mul.f32 %f146, %f143, 0f3F000000; + add.f32 %f147, %f145, 0f3F800000; + selp.f32 %f148, %f146, %f143, %p13; + selp.f32 %f149, %f147, %f145, %p13; + add.f32 %f150, %f148, 0fBF800000; + add.f32 %f121, %f148, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f120,%f121; + // inline asm + add.f32 %f151, %f150, %f150; + mul.f32 %f152, %f120, %f151; + mul.f32 %f153, %f152, %f152; + mov.f32 %f154, 0f3C4CAF63; + mov.f32 %f155, 0f3B18F0FE; + fma.rn.f32 %f156, %f155, %f153, %f154; + mov.f32 %f157, 0f3DAAAABD; + fma.rn.f32 %f158, %f156, %f153, %f157; + mul.rn.f32 %f159, %f158, %f153; + mul.rn.f32 %f160, %f159, %f152; + sub.f32 %f161, %f150, %f152; + neg.f32 %f162, %f152; + add.f32 %f163, %f161, %f161; + fma.rn.f32 %f164, %f162, %f150, %f163; + mul.rn.f32 %f165, %f120, %f164; + add.f32 %f166, %f160, %f152; + sub.f32 %f167, %f152, %f166; + add.f32 %f168, %f160, %f167; + add.f32 %f169, %f165, %f168; + add.f32 %f170, %f166, %f169; + sub.f32 %f171, %f166, %f170; + add.f32 %f172, %f169, %f171; + mov.f32 %f173, 0f3F317200; + mul.rn.f32 %f174, %f149, %f173; + mov.f32 %f175, 0f35BFBE8E; + mul.rn.f32 %f176, %f149, %f175; + add.f32 %f177, %f174, %f170; + sub.f32 %f178, %f174, %f177; + add.f32 %f179, %f170, %f178; + add.f32 %f180, %f172, %f179; + add.f32 %f181, %f176, %f180; + add.f32 %f182, %f177, %f181; + sub.f32 %f183, %f177, %f182; + add.f32 %f184, %f181, %f183; + mul.rn.f32 %f185, %f138, %f182; + neg.f32 %f186, %f185; + fma.rn.f32 %f187, %f138, %f182, %f186; + fma.rn.f32 %f188, %f138, %f184, %f187; + mov.f32 %f189, 0f00000000; + fma.rn.f32 %f190, %f189, %f182, %f188; + add.rn.f32 %f191, %f185, %f190; + neg.f32 %f192, %f191; + add.rn.f32 %f193, %f185, %f192; + add.rn.f32 %f194, %f193, %f190; + mov.b32 %r49, %f191; + setp.eq.s32 %p14, %r49, 1118925336; + add.s32 %r50, %r49, -1; + mov.b32 %f195, %r50; + add.f32 %f196, %f194, 0f37000000; + selp.f32 %f197, %f195, %f191, %p14; + selp.f32 %f17, %f196, %f194, %p14; + mul.f32 %f198, %f197, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f199, %f198; + mov.f32 %f200, 0fBF317200; + fma.rn.f32 %f201, %f199, %f200, %f197; + mov.f32 %f202, 0fB5BFBE8E; + fma.rn.f32 %f203, %f199, %f202, %f201; + mul.f32 %f204, %f203, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f205, %f204; + add.f32 %f206, %f199, 0f00000000; + ex2.approx.f32 %f207, %f206; + mul.f32 %f208, %f205, %f207; + setp.lt.f32 %p15, %f197, 0fC2D20000; + selp.f32 %f209, 0f00000000, %f208, %p15; + setp.gt.f32 %p16, %f197, 0f42D20000; + selp.f32 %f878, 0f7F800000, %f209, %p16; + setp.eq.f32 %p17, %f878, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f878, %f878, %f17, %f878; + +BB0_5: + mov.f32 %f832, 0f40000000; + cvt.rzi.f32.f32 %f831, %f832; + add.f32 %f830, %f831, %f831; + mov.f32 %f829, 0f40800000; + sub.f32 %f828, %f829, %f830; + abs.f32 %f827, %f828; + setp.lt.f32 %p18, %f14, 0f00000000; + setp.eq.f32 %p19, %f827, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r51, %f878; + xor.b32 %r52, %r51, -2147483648; + mov.b32 %f210, %r52; + selp.f32 %f880, %f210, %f878, %p1; + setp.eq.f32 %p20, %f14, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f213, %f14, %f14; + selp.f32 %f880, %f213, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f14, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f866, 0f40800000; + cvt.rzi.f32.f32 %f212, %f866; + setp.neu.f32 %p22, %f212, 0f40800000; + selp.f32 %f880, 0f7FFFFFFF, %f880, %p22; + +BB0_9: + abs.f32 %f833, %f14; + add.f32 %f214, %f833, 0f40800000; + mov.b32 %r53, %f214; + setp.lt.s32 %p24, %r53, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f864, %f14; + setp.gtu.f32 %p25, %f864, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f880, %f14, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f865, %f14; + setp.neu.f32 %p26, %f865, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f880, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f834, 0f00000000; + mov.f32 %f883, 0f3F800000; + sub.f32 %f224, %f883, %f880; + setp.eq.f32 %p27, %f14, 0f3F800000; + selp.f32 %f225, 0f00000000, %f224, %p27; + cvt.sat.f32.f32 %f226, %f225; + ld.global.f32 %f227, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f228, %f13, %f13, %f227; + div.rn.f32 %f28, %f226, %f228; + mul.f32 %f229, %f876, %f11; + fma.rn.f32 %f230, %f875, %f10, %f229; + fma.rn.f32 %f231, %f877, %f12, %f230; + ld.global.u32 %r56, [imageEnabled]; + and.b32 %r57, %r56, 32; + ld.global.u32 %r58, [ignoreNormal]; + or.b32 %r59, %r57, %r58; + setp.eq.s32 %p28, %r59, 0; + selp.f32 %f29, %f231, 0f3F800000, %p28; + ld.global.f32 %f232, [lightMatrix+24]; + mul.f32 %f233, %f10, %f232; + ld.global.f32 %f234, [lightMatrix+28]; + mul.f32 %f235, %f11, %f234; + neg.f32 %f236, %f235; + sub.f32 %f237, %f236, %f233; + ld.global.f32 %f238, [lightMatrix+32]; + mul.f32 %f239, %f12, %f238; + sub.f32 %f240, %f237, %f239; + setp.gt.f32 %p29, %f240, 0f00000000; + ld.global.f32 %f241, [lightMatrix]; + mul.f32 %f242, %f241, %f10; + sub.f32 %f243, %f834, %f242; + ld.global.f32 %f244, [lightMatrix+4]; + mul.f32 %f245, %f244, %f11; + sub.f32 %f246, %f243, %f245; + ld.global.f32 %f247, [lightMatrix+8]; + mul.f32 %f248, %f247, %f12; + sub.f32 %f249, %f246, %f248; + selp.f32 %f250, 0f3F800000, 0f00000000, %p29; + ld.global.f32 %f251, [lightMatrix+12]; + mul.f32 %f252, %f251, %f10; + sub.f32 %f253, %f834, %f252; + ld.global.f32 %f254, [lightMatrix+16]; + mul.f32 %f255, %f254, %f11; + sub.f32 %f256, %f253, %f255; + ld.global.f32 %f257, [lightMatrix+20]; + mul.f32 %f258, %f257, %f12; + sub.f32 %f259, %f256, %f258; + ld.global.u32 %r54, [lightCookie]; + ld.global.f32 %f260, [lightFOV]; + fma.rn.f32 %f219, %f249, %f260, 0f3F000000; + fma.rn.f32 %f220, %f259, %f260, 0f3F000000; + // inline asm + call (%f215, %f216, %f217, %f218), _rt_texture_get_f_id, (%r54, %r24, %f219, %f220, %f834, %f834); + // inline asm + max.f32 %f261, %f215, %f216; + max.f32 %f262, %f261, %f217; + mul.f32 %f263, %f250, %f262; + mul.f32 %f264, %f28, %f263; + ld.global.f32 %f265, [lightColor+4]; + ld.global.f32 %f266, [lightColor]; + max.f32 %f267, %f266, %f265; + ld.global.f32 %f268, [lightColor+8]; + max.f32 %f269, %f267, %f268; + mul.f32 %f270, %f264, %f269; + setp.lt.f32 %p30, %f270, 0f3727C5AC; + @%p30 bra BB0_84; + bra.uni BB0_15; + +BB0_84: + ld.global.u32 %r241, [imageEnabled]; + and.b32 %r149, %r241, 1; + setp.eq.b32 %p107, %r149, 1; + @!%p107 bra BB0_86; + bra.uni BB0_85; + +BB0_85: + cvt.u64.u32 %rd142, %r2; + cvt.u64.u32 %rd143, %r3; + mov.u64 %rd146, image; + cvta.global.u64 %rd141, %rd146; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r24, %r25, %rd142, %rd143, %rd15, %rd15); + // inline asm + mov.u16 %rs89, 1; + mov.u16 %rs90, 0; + st.v4.u8 [%rd140], {%rs90, %rs90, %rs90, %rs89}; + ld.global.u32 %r241, [imageEnabled]; + +BB0_86: + and.b32 %r152, %r241, 8; + setp.eq.s32 %p108, %r152, 0; + @%p108 bra BB0_88; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd149, %r2; + mov.u64 %rd153, image_Mask; + cvta.global.u64 %rd148, %rd153; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r24, %r24, %rd149, %rd150, %rd15, %rd15); + // inline asm + mov.f32 %f748, 0f00000000; + cvt.rzi.u32.f32 %r155, %f748; + cvt.u16.u32 %rs91, %r155; + mov.u16 %rs92, 255; + st.v2.u8 [%rd147], {%rs91, %rs92}; + ld.global.u32 %r241, [imageEnabled]; + +BB0_88: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r156, %r241, 4; + setp.eq.s32 %p109, %r156, 0; + @%p109 bra BB0_92; + + ld.global.u32 %r157, [additive]; + setp.eq.s32 %p110, %r157, 0; + mov.f32 %f749, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs93, %f749;} + + // inline asm + @%p110 bra BB0_91; + + mov.u64 %rd166, image_HDR; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r161, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r24, %r161, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs100, %rs101, %rs102, %rs103}, [%rd154]; + // inline asm + { cvt.f32.f16 %f750, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f751, %rs101;} + + // inline asm + // inline asm + { cvt.f32.f16 %f752, %rs102;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r24, %r161, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f753, %f750, 0f00000000; + add.f32 %f754, %f751, 0f00000000; + add.f32 %f755, %f752, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs99, %f755;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f754;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f753;} + + // inline asm + st.v4.u16 [%rd160], {%rs97, %rs98, %rs99, %rs93}; + bra.uni BB0_92; + +BB0_15: + mov.f32 %f882, 0f00000000; + mul.f32 %f272, %f7, 0f3456BF95; + abs.f32 %f273, %f875; + div.rn.f32 %f274, %f272, %f273; + abs.f32 %f275, %f876; + mul.f32 %f276, %f8, 0f3456BF95; + div.rn.f32 %f277, %f276, %f275; + abs.f32 %f278, %f877; + mul.f32 %f279, %f9, 0f3456BF95; + div.rn.f32 %f280, %f279, %f278; + abs.f32 %f281, %f274; + abs.f32 %f282, %f277; + abs.f32 %f283, %f280; + mov.f32 %f284, 0f38D1B717; + max.f32 %f285, %f281, %f284; + max.f32 %f286, %f282, %f284; + max.f32 %f287, %f283, %f284; + fma.rn.f32 %f33, %f875, %f285, %f7; + fma.rn.f32 %f34, %f876, %f286, %f8; + fma.rn.f32 %f35, %f877, %f287, %f9; + ld.global.u32 %r237, [samples]; + setp.lt.s32 %p31, %r237, 1; + @%p31 bra BB0_18; + + mul.f32 %f289, %f33, 0f3456BF95; + abs.f32 %f290, %f289; + mul.f32 %f291, %f34, 0f3456BF95; + abs.f32 %f292, %f291; + mul.f32 %f293, %f35, 0f3456BF95; + abs.f32 %f294, %f293; + max.f32 %f295, %f290, %f292; + max.f32 %f296, %f295, %f294; + max.f32 %f36, %f296, %f284; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f882, 0f00000000; + mov.u32 %r236, 0; + +BB0_17: + cvt.rn.f32.s32 %f306, %r236; + mul.f32 %f307, %f306, 0f3DD32618; + cvt.rmi.f32.f32 %f308, %f307; + sub.f32 %f309, %f307, %f308; + mul.f32 %f310, %f306, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f311, %f310; + sub.f32 %f312, %f310, %f311; + mul.f32 %f313, %f306, 0f3DC74539; + cvt.rmi.f32.f32 %f314, %f313; + sub.f32 %f315, %f313, %f314; + add.f32 %f316, %f312, 0f4199851F; + add.f32 %f317, %f315, 0f4199851F; + add.f32 %f318, %f309, 0f4199851F; + mul.f32 %f319, %f312, %f317; + fma.rn.f32 %f320, %f309, %f316, %f319; + fma.rn.f32 %f321, %f318, %f315, %f320; + add.f32 %f322, %f309, %f321; + add.f32 %f323, %f312, %f321; + add.f32 %f324, %f315, %f321; + add.f32 %f325, %f322, %f323; + mul.f32 %f326, %f324, %f325; + cvt.rmi.f32.f32 %f327, %f326; + sub.f32 %f328, %f326, %f327; + add.f32 %f329, %f322, %f324; + mul.f32 %f330, %f323, %f329; + cvt.rmi.f32.f32 %f331, %f330; + sub.f32 %f332, %f330, %f331; + add.f32 %f333, %f323, %f324; + mul.f32 %f334, %f322, %f333; + cvt.rmi.f32.f32 %f335, %f334; + sub.f32 %f336, %f334, %f335; + fma.rn.f32 %f337, %f328, 0f40000000, 0fBF800000; + fma.rn.f32 %f338, %f332, 0f40000000, 0fBF800000; + fma.rn.f32 %f339, %f336, 0f40000000, 0fBF800000; + ld.global.f32 %f340, [lightRadius]; + ld.global.f32 %f341, [lightPos]; + fma.rn.f32 %f342, %f340, %f337, %f341; + ld.global.f32 %f343, [lightPos+4]; + fma.rn.f32 %f344, %f340, %f338, %f343; + ld.global.f32 %f345, [lightPos+8]; + fma.rn.f32 %f346, %f340, %f339, %f345; + sub.f32 %f347, %f342, %f7; + sub.f32 %f348, %f344, %f8; + sub.f32 %f349, %f346, %f9; + mul.f32 %f350, %f348, %f348; + fma.rn.f32 %f351, %f347, %f347, %f350; + fma.rn.f32 %f352, %f349, %f349, %f351; + sqrt.rn.f32 %f305, %f352; + rcp.rn.f32 %f353, %f305; + mul.f32 %f301, %f353, %f347; + mul.f32 %f302, %f353, %f348; + mul.f32 %f303, %f353, %f349; + ld.global.u32 %r64, [imageEnabled]; + and.b32 %r65, %r64, 32; + setp.eq.s32 %p32, %r65, 0; + selp.f32 %f354, 0f3F800000, 0f41200000, %p32; + mul.f32 %f304, %f354, %f36; + mov.u32 %r66, 1065353216; + st.local.u32 [%rd2], %r66; + ld.global.u32 %r61, [root]; + mov.u32 %r62, 1; + // inline asm + call _rt_trace_64, (%r61, %f33, %f34, %f35, %f301, %f302, %f303, %r62, %f304, %f305, %rd24, %r25); + // inline asm + ld.local.f32 %f355, [%rd2]; + add.f32 %f882, %f882, %f355; + ld.global.u32 %r237, [samples]; + add.s32 %r236, %r236, 1; + setp.lt.s32 %p33, %r236, %r237; + @%p33 bra BB0_17; + +BB0_18: + setp.eq.s32 %p34, %r237, 0; + @%p34 bra BB0_20; + + cvt.rn.f32.s32 %f357, %r237; + div.rn.f32 %f883, %f882, %f357; + +BB0_20: + cvt.sat.f32.f32 %f358, %f29; + mul.f32 %f359, %f28, %f358; + mul.f32 %f360, %f883, %f359; + ld.global.f32 %f361, [lightColor]; + mul.f32 %f362, %f361, %f360; + ld.global.f32 %f363, [lightColor+4]; + mul.f32 %f364, %f363, %f360; + ld.global.f32 %f365, [lightColor+8]; + mul.f32 %f366, %f360, %f365; + mul.f32 %f42, %f215, %f362; + mul.f32 %f43, %f216, %f364; + mul.f32 %f44, %f217, %f366; + ld.global.u32 %r239, [imageEnabled]; + and.b32 %r67, %r239, 8; + setp.eq.s32 %p35, %r67, 0; + @%p35 bra BB0_33; + + mov.f32 %f842, 0fB5BFBE8E; + mov.f32 %f841, 0fBF317200; + mov.f32 %f840, 0f35BFBE8E; + mov.f32 %f839, 0f3F317200; + mov.f32 %f838, 0f3DAAAABD; + mov.f32 %f837, 0f3C4CAF63; + mov.f32 %f836, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r24, %r24, %rd28, %rd29, %rd15, %rd15); + // inline asm + abs.f32 %f46, %f883; + setp.lt.f32 %p36, %f46, 0f00800000; + mul.f32 %f372, %f46, 0f4B800000; + selp.f32 %f373, 0fC3170000, 0fC2FE0000, %p36; + selp.f32 %f374, %f372, %f46, %p36; + mov.b32 %r70, %f374; + and.b32 %r71, %r70, 8388607; + or.b32 %r72, %r71, 1065353216; + mov.b32 %f375, %r72; + shr.u32 %r73, %r70, 23; + cvt.rn.f32.u32 %f376, %r73; + add.f32 %f377, %f373, %f376; + setp.gt.f32 %p37, %f375, 0f3FB504F3; + mul.f32 %f378, %f375, 0f3F000000; + add.f32 %f379, %f377, 0f3F800000; + selp.f32 %f380, %f378, %f375, %p37; + selp.f32 %f381, %f379, %f377, %p37; + add.f32 %f382, %f380, 0fBF800000; + add.f32 %f368, %f380, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f367,%f368; + // inline asm + add.f32 %f383, %f382, %f382; + mul.f32 %f384, %f367, %f383; + mul.f32 %f385, %f384, %f384; + fma.rn.f32 %f388, %f836, %f385, %f837; + fma.rn.f32 %f390, %f388, %f385, %f838; + mul.rn.f32 %f391, %f390, %f385; + mul.rn.f32 %f392, %f391, %f384; + sub.f32 %f393, %f382, %f384; + neg.f32 %f394, %f384; + add.f32 %f395, %f393, %f393; + fma.rn.f32 %f396, %f394, %f382, %f395; + mul.rn.f32 %f397, %f367, %f396; + add.f32 %f398, %f392, %f384; + sub.f32 %f399, %f384, %f398; + add.f32 %f400, %f392, %f399; + add.f32 %f401, %f397, %f400; + add.f32 %f402, %f398, %f401; + sub.f32 %f403, %f398, %f402; + add.f32 %f404, %f401, %f403; + mul.rn.f32 %f406, %f381, %f839; + mul.rn.f32 %f408, %f381, %f840; + add.f32 %f409, %f406, %f402; + sub.f32 %f410, %f406, %f409; + add.f32 %f411, %f402, %f410; + add.f32 %f412, %f404, %f411; + add.f32 %f413, %f408, %f412; + add.f32 %f414, %f409, %f413; + sub.f32 %f415, %f409, %f414; + add.f32 %f416, %f413, %f415; + mov.f32 %f417, 0f3EE8BA2E; + mul.rn.f32 %f418, %f417, %f414; + neg.f32 %f419, %f418; + fma.rn.f32 %f420, %f417, %f414, %f419; + fma.rn.f32 %f421, %f417, %f416, %f420; + mov.f32 %f422, 0f00000000; + fma.rn.f32 %f423, %f422, %f414, %f421; + add.rn.f32 %f424, %f418, %f423; + neg.f32 %f425, %f424; + add.rn.f32 %f426, %f418, %f425; + add.rn.f32 %f427, %f426, %f423; + mov.b32 %r74, %f424; + setp.eq.s32 %p38, %r74, 1118925336; + add.s32 %r75, %r74, -1; + mov.b32 %f428, %r75; + add.f32 %f429, %f427, 0f37000000; + selp.f32 %f430, %f428, %f424, %p38; + selp.f32 %f47, %f429, %f427, %p38; + mul.f32 %f431, %f430, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f432, %f431; + fma.rn.f32 %f434, %f432, %f841, %f430; + fma.rn.f32 %f436, %f432, %f842, %f434; + mul.f32 %f437, %f436, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f438, %f437; + add.f32 %f439, %f432, 0f00000000; + ex2.approx.f32 %f440, %f439; + mul.f32 %f441, %f438, %f440; + setp.lt.f32 %p39, %f430, 0fC2D20000; + selp.f32 %f442, 0f00000000, %f441, %p39; + setp.gt.f32 %p40, %f430, 0f42D20000; + selp.f32 %f884, 0f7F800000, %f442, %p40; + setp.eq.f32 %p41, %f884, 0f7F800000; + @%p41 bra BB0_23; + + fma.rn.f32 %f884, %f884, %f47, %f884; + +BB0_23: + mov.f32 %f870, 0f3E68BA2E; + cvt.rzi.f32.f32 %f869, %f870; + fma.rn.f32 %f868, %f869, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f867, %f868; + setp.lt.f32 %p42, %f883, 0f00000000; + setp.eq.f32 %p43, %f867, 0f3F800000; + and.pred %p2, %p42, %p43; + mov.b32 %r76, %f884; + xor.b32 %r77, %r76, -2147483648; + mov.b32 %f443, %r77; + selp.f32 %f886, %f443, %f884, %p2; + setp.eq.f32 %p44, %f883, 0f00000000; + @%p44 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f446, %f883, %f883; + selp.f32 %f886, %f446, 0f00000000, %p43; + bra.uni BB0_27; + +BB0_111: + mov.u64 %rd287, image_HDR; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r206, 8; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r24, %r206, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f798, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f798;} + + // inline asm + mov.u16 %rs168, 0; + st.v4.u16 [%rd281], {%rs167, %rs167, %rs167, %rs168}; + +BB0_112: + ld.global.u32 %r207, [additive]; + setp.eq.s32 %p119, %r207, 0; + @%p119 bra BB0_114; + + mov.u64 %rd300, image_RNM0; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r211, 8; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r24, %r211, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs175, %rs176, %rs177, %rs178}, [%rd288]; + // inline asm + { cvt.f32.f16 %f799, %rs175;} + + // inline asm + // inline asm + { cvt.f32.f16 %f800, %rs176;} + + // inline asm + // inline asm + { cvt.f32.f16 %f801, %rs177;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r24, %r211, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f802, %f799, 0f00000000; + add.f32 %f803, %f800, 0f00000000; + add.f32 %f804, %f801, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs174, %f804;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs173, %f803;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs172, %f802;} + + // inline asm + mov.u16 %rs179, 0; + st.v4.u16 [%rd294], {%rs172, %rs173, %rs174, %rs179}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd307, image_RNM0; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r213, 8; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r24, %r213, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f805, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs180, %f805;} + + // inline asm + mov.u16 %rs181, 0; + st.v4.u16 [%rd301], {%rs180, %rs180, %rs180, %rs181}; + +BB0_115: + ld.global.u32 %r214, [additive]; + setp.eq.s32 %p120, %r214, 0; + @%p120 bra BB0_117; + + mov.u64 %rd320, image_RNM1; + cvta.global.u64 %rd309, %rd320; + mov.u32 %r218, 8; + // inline asm + call (%rd308), _rt_buffer_get_64, (%rd309, %r24, %r218, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs188, %rs189, %rs190, %rs191}, [%rd308]; + // inline asm + { cvt.f32.f16 %f806, %rs188;} + + // inline asm + // inline asm + { cvt.f32.f16 %f807, %rs189;} + + // inline asm + // inline asm + { cvt.f32.f16 %f808, %rs190;} + + // inline asm + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd309, %r24, %r218, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f809, %f806, 0f00000000; + add.f32 %f810, %f807, 0f00000000; + add.f32 %f811, %f808, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs187, %f811;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs186, %f810;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs185, %f809;} + + // inline asm + mov.u16 %rs192, 0; + st.v4.u16 [%rd314], {%rs185, %rs186, %rs187, %rs192}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd327, image_RNM1; + cvta.global.u64 %rd322, %rd327; + mov.u32 %r220, 8; + // inline asm + call (%rd321), _rt_buffer_get_64, (%rd322, %r24, %r220, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f812, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs193, %f812;} + + // inline asm + mov.u16 %rs194, 0; + st.v4.u16 [%rd321], {%rs193, %rs193, %rs193, %rs194}; + +BB0_118: + ld.global.u32 %r221, [additive]; + setp.eq.s32 %p121, %r221, 0; + @%p121 bra BB0_120; + + mov.u64 %rd340, image_RNM2; + cvta.global.u64 %rd329, %rd340; + mov.u32 %r225, 8; + // inline asm + call (%rd328), _rt_buffer_get_64, (%rd329, %r24, %r225, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs201, %rs202, %rs203, %rs204}, [%rd328]; + // inline asm + { cvt.f32.f16 %f813, %rs201;} + + // inline asm + // inline asm + { cvt.f32.f16 %f814, %rs202;} + + // inline asm + // inline asm + { cvt.f32.f16 %f815, %rs203;} + + // inline asm + // inline asm + call (%rd334), _rt_buffer_get_64, (%rd329, %r24, %r225, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f816, %f813, 0f00000000; + add.f32 %f817, %f814, 0f00000000; + add.f32 %f818, %f815, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs200, %f818;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs199, %f817;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs198, %f816;} + + // inline asm + mov.u16 %rs205, 0; + st.v4.u16 [%rd334], {%rs198, %rs199, %rs200, %rs205}; + bra.uni BB0_121; + +BB0_120: + mov.u64 %rd347, image_RNM2; + cvta.global.u64 %rd342, %rd347; + mov.u32 %r227, 8; + // inline asm + call (%rd341), _rt_buffer_get_64, (%rd342, %r24, %r227, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f819, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs206, %f819;} + + // inline asm + mov.u16 %rs207, 0; + st.v4.u16 [%rd341], {%rs206, %rs206, %rs206, %rs207}; + +BB0_121: + ld.global.u32 %r228, [additive]; + setp.eq.s32 %p122, %r228, 0; + @%p122 bra BB0_123; + + mov.u64 %rd360, image_RNM3; + cvta.global.u64 %rd349, %rd360; + mov.u32 %r232, 8; + // inline asm + call (%rd348), _rt_buffer_get_64, (%rd349, %r24, %r232, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs214, %rs215, %rs216, %rs217}, [%rd348]; + // inline asm + { cvt.f32.f16 %f820, %rs214;} + + // inline asm + // inline asm + { cvt.f32.f16 %f821, %rs215;} + + // inline asm + // inline asm + { cvt.f32.f16 %f822, %rs216;} + + // inline asm + // inline asm + call (%rd354), _rt_buffer_get_64, (%rd349, %r24, %r232, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f823, %f820, 0f00000000; + add.f32 %f824, %f821, 0f00000000; + add.f32 %f825, %f822, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs213, %f825;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs212, %f824;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs211, %f823;} + + // inline asm + mov.u16 %rs218, 0; + st.v4.u16 [%rd354], {%rs211, %rs212, %rs213, %rs218}; + bra.uni BB0_124; + +BB0_123: + mov.u64 %rd367, image_RNM3; + cvta.global.u64 %rd362, %rd367; + mov.u32 %r234, 8; + // inline asm + call (%rd361), _rt_buffer_get_64, (%rd362, %r24, %r234, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f826, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs219, %f826;} + + // inline asm + mov.u16 %rs220, 0; + st.v4.u16 [%rd361], {%rs219, %rs219, %rs219, %rs220}; + bra.uni BB0_124; + +BB0_91: + mov.u64 %rd173, image_HDR; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r163, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r24, %r163, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f756, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f756;} + + // inline asm + st.v4.u16 [%rd167], {%rs104, %rs104, %rs104, %rs93}; + +BB0_92: + ld.global.u32 %r164, [additive]; + setp.eq.s32 %p111, %r164, 0; + mov.f32 %f757, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f757;} + + // inline asm + @%p111 bra BB0_94; + + mov.u64 %rd186, image_RNM0; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r168, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r24, %r168, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd174]; + // inline asm + { cvt.f32.f16 %f758, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f759, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f760, %rs114;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r24, %r168, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f761, %f758, 0f00000000; + add.f32 %f762, %f759, 0f00000000; + add.f32 %f763, %f760, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f763;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f762;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f761;} + + // inline asm + st.v4.u16 [%rd180], {%rs109, %rs110, %rs111, %rs105}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd193, image_RNM0; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r170, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r24, %r170, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f764, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f764;} + + // inline asm + st.v4.u16 [%rd187], {%rs116, %rs116, %rs116, %rs105}; + +BB0_95: + ld.global.u32 %r171, [additive]; + setp.eq.s32 %p112, %r171, 0; + // inline asm + { cvt.rn.f16.f32 %rs117, %f757;} + + // inline asm + @%p112 bra BB0_97; + + mov.u64 %rd206, image_RNM1; + cvta.global.u64 %rd195, %rd206; + mov.u32 %r175, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r24, %r175, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd194]; + // inline asm + { cvt.f32.f16 %f766, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f767, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f768, %rs126;} + + // inline asm + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd195, %r24, %r175, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f769, %f766, 0f00000000; + add.f32 %f770, %f767, 0f00000000; + add.f32 %f771, %f768, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f771;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f770;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f769;} + + // inline asm + st.v4.u16 [%rd200], {%rs121, %rs122, %rs123, %rs117}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd213, image_RNM1; + cvta.global.u64 %rd208, %rd213; + mov.u32 %r177, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r24, %r177, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f772, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f772;} + + // inline asm + st.v4.u16 [%rd207], {%rs128, %rs128, %rs128, %rs117}; + +BB0_98: + ld.global.u32 %r178, [additive]; + setp.eq.s32 %p113, %r178, 0; + // inline asm + { cvt.rn.f16.f32 %rs129, %f757;} + + // inline asm + @%p113 bra BB0_100; + + mov.u64 %rd226, image_RNM2; + cvta.global.u64 %rd215, %rd226; + mov.u32 %r182, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r24, %r182, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs136, %rs137, %rs138, %rs139}, [%rd214]; + // inline asm + { cvt.f32.f16 %f774, %rs136;} + + // inline asm + // inline asm + { cvt.f32.f16 %f775, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f776, %rs138;} + + // inline asm + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd215, %r24, %r182, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f777, %f774, 0f00000000; + add.f32 %f778, %f775, 0f00000000; + add.f32 %f779, %f776, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs135, %f779;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f778;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs133, %f777;} + + // inline asm + st.v4.u16 [%rd220], {%rs133, %rs134, %rs135, %rs129}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd233, image_RNM2; + cvta.global.u64 %rd228, %rd233; + mov.u32 %r184, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r24, %r184, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f780, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f780;} + + // inline asm + st.v4.u16 [%rd227], {%rs140, %rs140, %rs140, %rs129}; + +BB0_101: + ld.global.u32 %r185, [additive]; + setp.eq.s32 %p114, %r185, 0; + // inline asm + { cvt.rn.f16.f32 %rs141, %f757;} + + // inline asm + @%p114 bra BB0_103; + + mov.u64 %rd246, image_RNM3; + cvta.global.u64 %rd235, %rd246; + mov.u32 %r189, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r24, %r189, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs148, %rs149, %rs150, %rs151}, [%rd234]; + // inline asm + { cvt.f32.f16 %f782, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f783, %rs149;} + + // inline asm + // inline asm + { cvt.f32.f16 %f784, %rs150;} + + // inline asm + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd235, %r24, %r189, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f785, %f782, 0f00000000; + add.f32 %f786, %f783, 0f00000000; + add.f32 %f787, %f784, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f787;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs146, %f786;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f785;} + + // inline asm + st.v4.u16 [%rd240], {%rs145, %rs146, %rs147, %rs141}; + bra.uni BB0_124; + +BB0_103: + mov.u64 %rd253, image_RNM3; + cvta.global.u64 %rd248, %rd253; + mov.u32 %r191, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r24, %r191, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f788, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f788;} + + // inline asm + st.v4.u16 [%rd247], {%rs152, %rs152, %rs152, %rs141}; + bra.uni BB0_124; + +BB0_24: + setp.geu.f32 %p45, %f883, 0f00000000; + @%p45 bra BB0_27; + + mov.f32 %f874, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f445, %f874; + setp.neu.f32 %p46, %f445, 0f3EE8BA2E; + selp.f32 %f886, 0f7FFFFFFF, %f886, %p46; + +BB0_27: + abs.f32 %f871, %f883; + add.f32 %f447, %f871, 0f3EE8BA2E; + mov.b32 %r78, %f447; + setp.lt.s32 %p48, %r78, 2139095040; + @%p48 bra BB0_32; + + abs.f32 %f872, %f883; + setp.gtu.f32 %p49, %f872, 0f7F800000; + @%p49 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f886, %f883, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + abs.f32 %f873, %f883; + setp.neu.f32 %p50, %f873, 0f7F800000; + @%p50 bra BB0_32; + + selp.f32 %f886, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f448, %f886, 0f437F0000; + setp.eq.f32 %p51, %f883, 0f3F800000; + selp.f32 %f449, 0f437F0000, %f448, %p51; + cvt.rzi.u32.f32 %r79, %f449; + cvt.u16.u32 %rs19, %r79; + mov.u16 %rs20, 255; + st.v2.u8 [%rd26], {%rs19, %rs20}; + ld.global.u32 %r239, [imageEnabled]; + +BB0_33: + and.b32 %r80, %r239, 1; + setp.eq.b32 %p52, %r80, 1; + @!%p52 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f849, 0fB5BFBE8E; + mov.f32 %f848, 0fBF317200; + mov.f32 %f847, 0f35BFBE8E; + mov.f32 %f846, 0f3F317200; + mov.f32 %f845, 0f3DAAAABD; + mov.f32 %f844, 0f3C4CAF63; + mov.f32 %f843, 0f3B18F0FE; + mov.f32 %f452, 0f3E666666; + cvt.rzi.f32.f32 %f453, %f452; + fma.rn.f32 %f454, %f453, 0fC0000000, 0f3EE66666; + abs.f32 %f58, %f454; + abs.f32 %f59, %f42; + setp.lt.f32 %p53, %f59, 0f00800000; + mul.f32 %f455, %f59, 0f4B800000; + selp.f32 %f456, 0fC3170000, 0fC2FE0000, %p53; + selp.f32 %f457, %f455, %f59, %p53; + mov.b32 %r81, %f457; + and.b32 %r82, %r81, 8388607; + or.b32 %r83, %r82, 1065353216; + mov.b32 %f458, %r83; + shr.u32 %r84, %r81, 23; + cvt.rn.f32.u32 %f459, %r84; + add.f32 %f460, %f456, %f459; + setp.gt.f32 %p54, %f458, 0f3FB504F3; + mul.f32 %f461, %f458, 0f3F000000; + add.f32 %f462, %f460, 0f3F800000; + selp.f32 %f463, %f461, %f458, %p54; + selp.f32 %f464, %f462, %f460, %p54; + add.f32 %f465, %f463, 0fBF800000; + add.f32 %f451, %f463, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f450,%f451; + // inline asm + add.f32 %f466, %f465, %f465; + mul.f32 %f467, %f450, %f466; + mul.f32 %f468, %f467, %f467; + fma.rn.f32 %f471, %f843, %f468, %f844; + fma.rn.f32 %f473, %f471, %f468, %f845; + mul.rn.f32 %f474, %f473, %f468; + mul.rn.f32 %f475, %f474, %f467; + sub.f32 %f476, %f465, %f467; + neg.f32 %f477, %f467; + add.f32 %f478, %f476, %f476; + fma.rn.f32 %f479, %f477, %f465, %f478; + mul.rn.f32 %f480, %f450, %f479; + add.f32 %f481, %f475, %f467; + sub.f32 %f482, %f467, %f481; + add.f32 %f483, %f475, %f482; + add.f32 %f484, %f480, %f483; + add.f32 %f485, %f481, %f484; + sub.f32 %f486, %f481, %f485; + add.f32 %f487, %f484, %f486; + mul.rn.f32 %f489, %f464, %f846; + mul.rn.f32 %f491, %f464, %f847; + add.f32 %f492, %f489, %f485; + sub.f32 %f493, %f489, %f492; + add.f32 %f494, %f485, %f493; + add.f32 %f495, %f487, %f494; + add.f32 %f496, %f491, %f495; + add.f32 %f497, %f492, %f496; + sub.f32 %f498, %f492, %f497; + add.f32 %f499, %f496, %f498; + mov.f32 %f500, 0f3EE66666; + mul.rn.f32 %f501, %f500, %f497; + neg.f32 %f502, %f501; + fma.rn.f32 %f503, %f500, %f497, %f502; + fma.rn.f32 %f504, %f500, %f499, %f503; + mov.f32 %f505, 0f00000000; + fma.rn.f32 %f506, %f505, %f497, %f504; + add.rn.f32 %f507, %f501, %f506; + neg.f32 %f508, %f507; + add.rn.f32 %f509, %f501, %f508; + add.rn.f32 %f510, %f509, %f506; + mov.b32 %r85, %f507; + setp.eq.s32 %p55, %r85, 1118925336; + add.s32 %r86, %r85, -1; + mov.b32 %f511, %r86; + add.f32 %f512, %f510, 0f37000000; + selp.f32 %f513, %f511, %f507, %p55; + selp.f32 %f60, %f512, %f510, %p55; + mul.f32 %f514, %f513, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f515, %f514; + fma.rn.f32 %f517, %f515, %f848, %f513; + fma.rn.f32 %f519, %f515, %f849, %f517; + mul.f32 %f520, %f519, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f521, %f520; + add.f32 %f522, %f515, 0f00000000; + ex2.approx.f32 %f523, %f522; + mul.f32 %f524, %f521, %f523; + setp.lt.f32 %p56, %f513, 0fC2D20000; + selp.f32 %f525, 0f00000000, %f524, %p56; + setp.gt.f32 %p57, %f513, 0f42D20000; + selp.f32 %f887, 0f7F800000, %f525, %p57; + setp.eq.f32 %p58, %f887, 0f7F800000; + @%p58 bra BB0_36; + + fma.rn.f32 %f887, %f887, %f60, %f887; + +BB0_36: + setp.lt.f32 %p59, %f42, 0f00000000; + setp.eq.f32 %p60, %f58, 0f3F800000; + and.pred %p3, %p59, %p60; + mov.b32 %r87, %f887; + xor.b32 %r88, %r87, -2147483648; + mov.b32 %f526, %r88; + selp.f32 %f889, %f526, %f887, %p3; + setp.eq.f32 %p61, %f42, 0f00000000; + @%p61 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f529, %f42, %f42; + selp.f32 %f889, %f529, 0f00000000, %p60; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p62, %f42, 0f00000000; + @%p62 bra BB0_40; + + cvt.rzi.f32.f32 %f528, %f500; + setp.neu.f32 %p63, %f528, 0f3EE66666; + selp.f32 %f889, 0f7FFFFFFF, %f889, %p63; + +BB0_40: + add.f32 %f530, %f59, 0f3EE66666; + mov.b32 %r89, %f530; + setp.lt.s32 %p65, %r89, 2139095040; + @%p65 bra BB0_45; + + setp.gtu.f32 %p66, %f59, 0f7F800000; + @%p66 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f889, %f42, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p67, %f59, 0f7F800000; + @%p67 bra BB0_45; + + selp.f32 %f889, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f856, 0fB5BFBE8E; + mov.f32 %f855, 0fBF317200; + mov.f32 %f854, 0f35BFBE8E; + mov.f32 %f853, 0f3F317200; + mov.f32 %f852, 0f3DAAAABD; + mov.f32 %f851, 0f3C4CAF63; + mov.f32 %f850, 0f3B18F0FE; + setp.eq.f32 %p68, %f42, 0f3F800000; + selp.f32 %f71, 0f3F800000, %f889, %p68; + abs.f32 %f72, %f43; + setp.lt.f32 %p69, %f72, 0f00800000; + mul.f32 %f533, %f72, 0f4B800000; + selp.f32 %f534, 0fC3170000, 0fC2FE0000, %p69; + selp.f32 %f535, %f533, %f72, %p69; + mov.b32 %r90, %f535; + and.b32 %r91, %r90, 8388607; + or.b32 %r92, %r91, 1065353216; + mov.b32 %f536, %r92; + shr.u32 %r93, %r90, 23; + cvt.rn.f32.u32 %f537, %r93; + add.f32 %f538, %f534, %f537; + setp.gt.f32 %p70, %f536, 0f3FB504F3; + mul.f32 %f539, %f536, 0f3F000000; + add.f32 %f540, %f538, 0f3F800000; + selp.f32 %f541, %f539, %f536, %p70; + selp.f32 %f542, %f540, %f538, %p70; + add.f32 %f543, %f541, 0fBF800000; + add.f32 %f532, %f541, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f531,%f532; + // inline asm + add.f32 %f544, %f543, %f543; + mul.f32 %f545, %f531, %f544; + mul.f32 %f546, %f545, %f545; + fma.rn.f32 %f549, %f850, %f546, %f851; + fma.rn.f32 %f551, %f549, %f546, %f852; + mul.rn.f32 %f552, %f551, %f546; + mul.rn.f32 %f553, %f552, %f545; + sub.f32 %f554, %f543, %f545; + neg.f32 %f555, %f545; + add.f32 %f556, %f554, %f554; + fma.rn.f32 %f557, %f555, %f543, %f556; + mul.rn.f32 %f558, %f531, %f557; + add.f32 %f559, %f553, %f545; + sub.f32 %f560, %f545, %f559; + add.f32 %f561, %f553, %f560; + add.f32 %f562, %f558, %f561; + add.f32 %f563, %f559, %f562; + sub.f32 %f564, %f559, %f563; + add.f32 %f565, %f562, %f564; + mul.rn.f32 %f567, %f542, %f853; + mul.rn.f32 %f569, %f542, %f854; + add.f32 %f570, %f567, %f563; + sub.f32 %f571, %f567, %f570; + add.f32 %f572, %f563, %f571; + add.f32 %f573, %f565, %f572; + add.f32 %f574, %f569, %f573; + add.f32 %f575, %f570, %f574; + sub.f32 %f576, %f570, %f575; + add.f32 %f577, %f574, %f576; + mul.rn.f32 %f579, %f500, %f575; + neg.f32 %f580, %f579; + fma.rn.f32 %f581, %f500, %f575, %f580; + fma.rn.f32 %f582, %f500, %f577, %f581; + fma.rn.f32 %f584, %f505, %f575, %f582; + add.rn.f32 %f585, %f579, %f584; + neg.f32 %f586, %f585; + add.rn.f32 %f587, %f579, %f586; + add.rn.f32 %f588, %f587, %f584; + mov.b32 %r94, %f585; + setp.eq.s32 %p71, %r94, 1118925336; + add.s32 %r95, %r94, -1; + mov.b32 %f589, %r95; + add.f32 %f590, %f588, 0f37000000; + selp.f32 %f591, %f589, %f585, %p71; + selp.f32 %f73, %f590, %f588, %p71; + mul.f32 %f592, %f591, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f593, %f592; + fma.rn.f32 %f595, %f593, %f855, %f591; + fma.rn.f32 %f597, %f593, %f856, %f595; + mul.f32 %f598, %f597, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f599, %f598; + add.f32 %f600, %f593, 0f00000000; + ex2.approx.f32 %f601, %f600; + mul.f32 %f602, %f599, %f601; + setp.lt.f32 %p72, %f591, 0fC2D20000; + selp.f32 %f603, 0f00000000, %f602, %p72; + setp.gt.f32 %p73, %f591, 0f42D20000; + selp.f32 %f890, 0f7F800000, %f603, %p73; + setp.eq.f32 %p74, %f890, 0f7F800000; + @%p74 bra BB0_47; + + fma.rn.f32 %f890, %f890, %f73, %f890; + +BB0_47: + setp.lt.f32 %p75, %f43, 0f00000000; + and.pred %p4, %p75, %p60; + mov.b32 %r96, %f890; + xor.b32 %r97, %r96, -2147483648; + mov.b32 %f604, %r97; + selp.f32 %f892, %f604, %f890, %p4; + setp.eq.f32 %p77, %f43, 0f00000000; + @%p77 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f607, %f43, %f43; + selp.f32 %f892, %f607, 0f00000000, %p60; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p78, %f43, 0f00000000; + @%p78 bra BB0_51; + + cvt.rzi.f32.f32 %f606, %f500; + setp.neu.f32 %p79, %f606, 0f3EE66666; + selp.f32 %f892, 0f7FFFFFFF, %f892, %p79; + +BB0_51: + add.f32 %f608, %f72, 0f3EE66666; + mov.b32 %r98, %f608; + setp.lt.s32 %p81, %r98, 2139095040; + @%p81 bra BB0_56; + + setp.gtu.f32 %p82, %f72, 0f7F800000; + @%p82 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f892, %f43, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p83, %f72, 0f7F800000; + @%p83 bra BB0_56; + + selp.f32 %f892, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f863, 0fB5BFBE8E; + mov.f32 %f862, 0fBF317200; + mov.f32 %f861, 0f35BFBE8E; + mov.f32 %f860, 0f3F317200; + mov.f32 %f859, 0f3DAAAABD; + mov.f32 %f858, 0f3C4CAF63; + mov.f32 %f857, 0f3B18F0FE; + setp.eq.f32 %p84, %f43, 0f3F800000; + selp.f32 %f84, 0f3F800000, %f892, %p84; + abs.f32 %f85, %f44; + setp.lt.f32 %p85, %f85, 0f00800000; + mul.f32 %f611, %f85, 0f4B800000; + selp.f32 %f612, 0fC3170000, 0fC2FE0000, %p85; + selp.f32 %f613, %f611, %f85, %p85; + mov.b32 %r99, %f613; + and.b32 %r100, %r99, 8388607; + or.b32 %r101, %r100, 1065353216; + mov.b32 %f614, %r101; + shr.u32 %r102, %r99, 23; + cvt.rn.f32.u32 %f615, %r102; + add.f32 %f616, %f612, %f615; + setp.gt.f32 %p86, %f614, 0f3FB504F3; + mul.f32 %f617, %f614, 0f3F000000; + add.f32 %f618, %f616, 0f3F800000; + selp.f32 %f619, %f617, %f614, %p86; + selp.f32 %f620, %f618, %f616, %p86; + add.f32 %f621, %f619, 0fBF800000; + add.f32 %f610, %f619, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f609,%f610; + // inline asm + add.f32 %f622, %f621, %f621; + mul.f32 %f623, %f609, %f622; + mul.f32 %f624, %f623, %f623; + fma.rn.f32 %f627, %f857, %f624, %f858; + fma.rn.f32 %f629, %f627, %f624, %f859; + mul.rn.f32 %f630, %f629, %f624; + mul.rn.f32 %f631, %f630, %f623; + sub.f32 %f632, %f621, %f623; + neg.f32 %f633, %f623; + add.f32 %f634, %f632, %f632; + fma.rn.f32 %f635, %f633, %f621, %f634; + mul.rn.f32 %f636, %f609, %f635; + add.f32 %f637, %f631, %f623; + sub.f32 %f638, %f623, %f637; + add.f32 %f639, %f631, %f638; + add.f32 %f640, %f636, %f639; + add.f32 %f641, %f637, %f640; + sub.f32 %f642, %f637, %f641; + add.f32 %f643, %f640, %f642; + mul.rn.f32 %f645, %f620, %f860; + mul.rn.f32 %f647, %f620, %f861; + add.f32 %f648, %f645, %f641; + sub.f32 %f649, %f645, %f648; + add.f32 %f650, %f641, %f649; + add.f32 %f651, %f643, %f650; + add.f32 %f652, %f647, %f651; + add.f32 %f653, %f648, %f652; + sub.f32 %f654, %f648, %f653; + add.f32 %f655, %f652, %f654; + mul.rn.f32 %f657, %f500, %f653; + neg.f32 %f658, %f657; + fma.rn.f32 %f659, %f500, %f653, %f658; + fma.rn.f32 %f660, %f500, %f655, %f659; + fma.rn.f32 %f662, %f505, %f653, %f660; + add.rn.f32 %f663, %f657, %f662; + neg.f32 %f664, %f663; + add.rn.f32 %f665, %f657, %f664; + add.rn.f32 %f666, %f665, %f662; + mov.b32 %r103, %f663; + setp.eq.s32 %p87, %r103, 1118925336; + add.s32 %r104, %r103, -1; + mov.b32 %f667, %r104; + add.f32 %f668, %f666, 0f37000000; + selp.f32 %f669, %f667, %f663, %p87; + selp.f32 %f86, %f668, %f666, %p87; + mul.f32 %f670, %f669, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f671, %f670; + fma.rn.f32 %f673, %f671, %f862, %f669; + fma.rn.f32 %f675, %f671, %f863, %f673; + mul.f32 %f676, %f675, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f677, %f676; + add.f32 %f678, %f671, 0f00000000; + ex2.approx.f32 %f679, %f678; + mul.f32 %f680, %f677, %f679; + setp.lt.f32 %p88, %f669, 0fC2D20000; + selp.f32 %f681, 0f00000000, %f680, %p88; + setp.gt.f32 %p89, %f669, 0f42D20000; + selp.f32 %f893, 0f7F800000, %f681, %p89; + setp.eq.f32 %p90, %f893, 0f7F800000; + @%p90 bra BB0_58; + + fma.rn.f32 %f893, %f893, %f86, %f893; + +BB0_58: + setp.lt.f32 %p91, %f44, 0f00000000; + and.pred %p5, %p91, %p60; + mov.b32 %r105, %f893; + xor.b32 %r106, %r105, -2147483648; + mov.b32 %f682, %r106; + selp.f32 %f895, %f682, %f893, %p5; + setp.eq.f32 %p93, %f44, 0f00000000; + @%p93 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f685, %f44, %f44; + selp.f32 %f895, %f685, 0f00000000, %p60; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p94, %f44, 0f00000000; + @%p94 bra BB0_62; + + cvt.rzi.f32.f32 %f684, %f500; + setp.neu.f32 %p95, %f684, 0f3EE66666; + selp.f32 %f895, 0f7FFFFFFF, %f895, %p95; + +BB0_62: + add.f32 %f686, %f85, 0f3EE66666; + mov.b32 %r107, %f686; + setp.lt.s32 %p97, %r107, 2139095040; + @%p97 bra BB0_67; + + setp.gtu.f32 %p98, %f85, 0f7F800000; + @%p98 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f895, %f44, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p99, %f85, 0f7F800000; + @%p99 bra BB0_67; + + selp.f32 %f895, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + mov.u32 %r235, 4; + setp.eq.f32 %p100, %f44, 0f3F800000; + selp.f32 %f687, 0f3F800000, %f895, %p100; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r24, %r235, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f688, %f687; + mul.f32 %f689, %f688, 0f437FFD71; + cvt.rzi.u32.f32 %r110, %f689; + cvt.sat.f32.f32 %f690, %f84; + mul.f32 %f691, %f690, 0f437FFD71; + cvt.rzi.u32.f32 %r111, %f691; + cvt.sat.f32.f32 %f692, %f71; + mul.f32 %f693, %f692, 0f437FFD71; + cvt.rzi.u32.f32 %r112, %f693; + cvt.u16.u32 %rs21, %r110; + cvt.u16.u32 %rs22, %r112; + cvt.u16.u32 %rs23, %r111; + mov.u16 %rs24, 255; + st.v4.u8 [%rd33], {%rs21, %rs23, %rs22, %rs24}; + ld.global.u32 %r239, [imageEnabled]; + +BB0_68: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r113, %r239, 4; + setp.eq.s32 %p101, %r113, 0; + @%p101 bra BB0_72; + + ld.global.u32 %r114, [additive]; + setp.eq.s32 %p102, %r114, 0; + mov.f32 %f694, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f694;} + + // inline asm + @%p102 bra BB0_71; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r118, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r24, %r118, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs32, %rs33, %rs34, %rs35}, [%rd40]; + // inline asm + { cvt.f32.f16 %f695, %rs32;} + + // inline asm + // inline asm + { cvt.f32.f16 %f696, %rs33;} + + // inline asm + // inline asm + { cvt.f32.f16 %f697, %rs34;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r24, %r118, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f698, %f42, %f695; + add.f32 %f699, %f43, %f696; + add.f32 %f700, %f44, %f697; + // inline asm + { cvt.rn.f16.f32 %rs31, %f700;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f699;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f698;} + + // inline asm + st.v4.u16 [%rd46], {%rs29, %rs30, %rs31, %rs25}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r120, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r24, %r120, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f44;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f43;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f42;} + + // inline asm + st.v4.u16 [%rd53], {%rs36, %rs37, %rs38, %rs25}; + +BB0_72: + mul.f32 %f705, %f28, 0f3E800000; + mul.f32 %f706, %f705, %f883; + ld.global.f32 %f707, [lightColor]; + mul.f32 %f708, %f706, %f707; + ld.global.f32 %f709, [lightColor+4]; + mul.f32 %f710, %f706, %f709; + ld.global.f32 %f711, [lightColor+8]; + mul.f32 %f712, %f706, %f711; + mul.f32 %f97, %f215, %f708; + mul.f32 %f98, %f216, %f710; + mul.f32 %f99, %f217, %f712; + ld.global.u32 %r121, [additive]; + setp.eq.s32 %p103, %r121, 0; + mov.f32 %f704, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f704;} + + // inline asm + @%p103 bra BB0_74; + + mov.u64 %rd72, image_RNM0; + cvta.global.u64 %rd61, %rd72; + mov.u32 %r125, 8; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r24, %r125, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs46, %rs47, %rs48, %rs49}, [%rd60]; + // inline asm + { cvt.f32.f16 %f713, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f714, %rs47;} + + // inline asm + // inline asm + { cvt.f32.f16 %f715, %rs48;} + + // inline asm + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd61, %r24, %r125, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f716, %f97, %f713; + add.f32 %f717, %f98, %f714; + add.f32 %f718, %f99, %f715; + // inline asm + { cvt.rn.f16.f32 %rs45, %f718;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f717;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f716;} + + // inline asm + st.v4.u16 [%rd66], {%rs43, %rs44, %rs45, %rs39}; + bra.uni BB0_75; + +BB0_74: + mov.u64 %rd79, image_RNM0; + cvta.global.u64 %rd74, %rd79; + mov.u32 %r127, 8; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r24, %r127, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f99;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f98;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f97;} + + // inline asm + st.v4.u16 [%rd73], {%rs50, %rs51, %rs52, %rs39}; + +BB0_75: + fma.rn.f32 %f100, %f10, 0f3F000000, 0f3F000000; + fma.rn.f32 %f101, %f11, 0f3F000000, 0f3F000000; + fma.rn.f32 %f102, %f12, 0f3F000000, 0f3F000000; + ld.global.u32 %r128, [additive]; + setp.eq.s32 %p104, %r128, 0; + // inline asm + { cvt.rn.f16.f32 %rs53, %f704;} + + // inline asm + @%p104 bra BB0_77; + + mov.u64 %rd92, image_RNM1; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r132, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r24, %r132, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs60, %rs61, %rs62, %rs63}, [%rd80]; + // inline asm + { cvt.f32.f16 %f723, %rs60;} + + // inline asm + // inline asm + { cvt.f32.f16 %f724, %rs61;} + + // inline asm + // inline asm + { cvt.f32.f16 %f725, %rs62;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r24, %r132, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f726, %f100, %f723; + add.f32 %f727, %f100, %f724; + add.f32 %f728, %f100, %f725; + // inline asm + { cvt.rn.f16.f32 %rs59, %f728;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f727;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f726;} + + // inline asm + st.v4.u16 [%rd86], {%rs57, %rs58, %rs59, %rs53}; + bra.uni BB0_78; + +BB0_77: + mov.u64 %rd99, image_RNM1; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r134, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r24, %r134, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f100;} + + // inline asm + st.v4.u16 [%rd93], {%rs64, %rs64, %rs64, %rs53}; + +BB0_78: + ld.global.u32 %r135, [additive]; + setp.eq.s32 %p105, %r135, 0; + // inline asm + { cvt.rn.f16.f32 %rs65, %f704;} + + // inline asm + @%p105 bra BB0_80; + + mov.u64 %rd112, image_RNM2; + cvta.global.u64 %rd101, %rd112; + mov.u32 %r139, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r24, %r139, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs72, %rs73, %rs74, %rs75}, [%rd100]; + // inline asm + { cvt.f32.f16 %f731, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f732, %rs73;} + + // inline asm + // inline asm + { cvt.f32.f16 %f733, %rs74;} + + // inline asm + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd101, %r24, %r139, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f734, %f101, %f731; + add.f32 %f735, %f101, %f732; + add.f32 %f736, %f101, %f733; + // inline asm + { cvt.rn.f16.f32 %rs71, %f736;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f735;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f734;} + + // inline asm + st.v4.u16 [%rd106], {%rs69, %rs70, %rs71, %rs65}; + bra.uni BB0_81; + +BB0_80: + mov.u64 %rd119, image_RNM2; + cvta.global.u64 %rd114, %rd119; + mov.u32 %r141, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r24, %r141, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f101;} + + // inline asm + st.v4.u16 [%rd113], {%rs76, %rs76, %rs76, %rs65}; + +BB0_81: + ld.global.u32 %r142, [additive]; + setp.eq.s32 %p106, %r142, 0; + // inline asm + { cvt.rn.f16.f32 %rs77, %f704;} + + // inline asm + @%p106 bra BB0_83; + + mov.u64 %rd132, image_RNM3; + cvta.global.u64 %rd121, %rd132; + mov.u32 %r146, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r24, %r146, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs84, %rs85, %rs86, %rs87}, [%rd120]; + // inline asm + { cvt.f32.f16 %f739, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f740, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f741, %rs86;} + + // inline asm + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd121, %r24, %r146, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f742, %f102, %f739; + add.f32 %f743, %f102, %f740; + add.f32 %f744, %f102, %f741; + // inline asm + { cvt.rn.f16.f32 %rs83, %f744;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f743;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f742;} + + // inline asm + st.v4.u16 [%rd126], {%rs81, %rs82, %rs83, %rs77}; + bra.uni BB0_124; + +BB0_83: + mov.u64 %rd139, image_RNM3; + cvta.global.u64 %rd134, %rd139; + mov.u32 %r148, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r24, %r148, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f102;} + + // inline asm + st.v4.u16 [%rd133], {%rs88, %rs88, %rs88, %rs77}; + +BB0_124: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightProbeSH.ptx.meta new file mode 100644 index 00000000..3abfb216 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e214785e314e8e244ac6d20d077408fd +timeCreated: 1551525094 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx new file mode 100644 index 00000000..c5b361e6 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx @@ -0,0 +1,2395 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCookie; +.global .align 4 .b8 lightMatrix[36]; +.global .align 4 .f32 lightFOV; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightMatrixE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightFOVE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename11lightMatrixE[10] = {77, 97, 116, 114, 105, 120, 51, 120, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightFOVE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightMatrixE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightFOVE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightMatrixE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightFOVE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightMatrixE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightFOVE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<129>; + .reg .b16 %rs<213>; + .reg .f32 %f<1089>; + .reg .b32 %r<250>; + .reg .b64 %rd<334>; + + + mov.u64 %rd333, __local_depot0; + cvta.local.u64 %SP, %rd333; + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + cvt.u64.u32 %rd16, %r33; + cvt.u64.u32 %rd17, %r34; + mov.u64 %rd20, uvnormal; + cvta.global.u64 %rd15, %rd20; + mov.u32 %r31, 2; + mov.u32 %r32, 4; + mov.u64 %rd19, 0; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd15, %r31, %r32, %rd16, %rd17, %rd19, %rd19); + // inline asm + ld.u32 %r1, [%rd14]; + shr.u32 %r37, %r1, 16; + cvt.u16.u32 %rs1, %r37; + and.b16 %rs10, %rs1, 255; + cvt.u16.u32 %rs11, %r1; + or.b16 %rs12, %rs11, %rs10; + setp.eq.s16 %p6, %rs12, 0; + mov.f32 %f1059, 0f00000000; + mov.f32 %f1060, %f1059; + mov.f32 %f1061, %f1059; + @%p6 bra BB0_2; + + ld.u8 %rs13, [%rd14+1]; + and.b16 %rs15, %rs11, 255; + cvt.rn.f32.u16 %f139, %rs15; + div.rn.f32 %f140, %f139, 0f437F0000; + fma.rn.f32 %f141, %f140, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f142, %rs13; + div.rn.f32 %f143, %f142, 0f437F0000; + fma.rn.f32 %f144, %f143, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f145, %rs10; + div.rn.f32 %f146, %f145, 0f437F0000; + fma.rn.f32 %f147, %f146, 0f40000000, 0fBF800000; + mul.f32 %f148, %f144, %f144; + fma.rn.f32 %f149, %f141, %f141, %f148; + fma.rn.f32 %f150, %f147, %f147, %f149; + sqrt.rn.f32 %f151, %f150; + rcp.rn.f32 %f152, %f151; + mul.f32 %f1059, %f141, %f152; + mul.f32 %f1060, %f144, %f152; + mul.f32 %f1061, %f147, %f152; + +BB0_2: + ld.global.v2.u32 {%r38, %r39}, [pixelID]; + ld.global.v2.u32 {%r41, %r42}, [tileInfo]; + add.s32 %r2, %r38, %r41; + add.s32 %r3, %r39, %r42; + setp.eq.f32 %p7, %f1060, 0f00000000; + setp.eq.f32 %p8, %f1059, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f1061, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_104; + bra.uni BB0_3; + +BB0_104: + ld.global.u32 %r249, [imageEnabled]; + and.b32 %r202, %r249, 1; + setp.eq.b32 %p122, %r202, 1; + @!%p122 bra BB0_106; + bra.uni BB0_105; + +BB0_105: + cvt.u64.u32 %rd241, %r2; + cvt.u64.u32 %rd242, %r3; + mov.u64 %rd245, image; + cvta.global.u64 %rd240, %rd245; + // inline asm + call (%rd239), _rt_buffer_get_64, (%rd240, %r31, %r32, %rd241, %rd242, %rd19, %rd19); + // inline asm + mov.u16 %rs158, 0; + st.v4.u8 [%rd239], {%rs158, %rs158, %rs158, %rs158}; + ld.global.u32 %r249, [imageEnabled]; + +BB0_106: + and.b32 %r205, %r249, 8; + setp.eq.s32 %p123, %r205, 0; + @%p123 bra BB0_108; + + cvt.u64.u32 %rd249, %r3; + cvt.u64.u32 %rd248, %r2; + mov.u64 %rd252, image_Mask; + cvta.global.u64 %rd247, %rd252; + // inline asm + call (%rd246), _rt_buffer_get_64, (%rd247, %r31, %r31, %rd248, %rd249, %rd19, %rd19); + // inline asm + mov.f32 %f962, 0f00000000; + cvt.rzi.u32.f32 %r208, %f962; + cvt.u16.u32 %rs159, %r208; + mov.u16 %rs160, 0; + st.v2.u8 [%rd246], {%rs159, %rs160}; + ld.global.u32 %r249, [imageEnabled]; + +BB0_108: + cvt.u64.u32 %rd12, %r2; + cvt.u64.u32 %rd13, %r3; + and.b32 %r209, %r249, 4; + setp.eq.s32 %p124, %r209, 0; + @%p124 bra BB0_112; + + ld.global.u32 %r210, [additive]; + setp.eq.s32 %p125, %r210, 0; + @%p125 bra BB0_111; + + mov.u64 %rd265, image_HDR; + cvta.global.u64 %rd254, %rd265; + mov.u32 %r214, 8; + // inline asm + call (%rd253), _rt_buffer_get_64, (%rd254, %r31, %r214, %rd12, %rd13, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs167, %rs168, %rs169, %rs170}, [%rd253]; + // inline asm + { cvt.f32.f16 %f963, %rs167;} + + // inline asm + // inline asm + { cvt.f32.f16 %f964, %rs168;} + + // inline asm + // inline asm + { cvt.f32.f16 %f965, %rs169;} + + // inline asm + // inline asm + call (%rd259), _rt_buffer_get_64, (%rd254, %r31, %r214, %rd12, %rd13, %rd19, %rd19); + // inline asm + add.f32 %f966, %f963, 0f00000000; + add.f32 %f967, %f964, 0f00000000; + add.f32 %f968, %f965, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs166, %f968;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs165, %f967;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs164, %f966;} + + // inline asm + mov.u16 %rs171, 0; + st.v4.u16 [%rd259], {%rs164, %rs165, %rs166, %rs171}; + bra.uni BB0_112; + +BB0_3: + ld.global.v2.u32 {%r48, %r49}, [pixelID]; + cvt.u64.u32 %rd23, %r48; + cvt.u64.u32 %rd24, %r49; + mov.u64 %rd27, uvpos; + cvta.global.u64 %rd22, %rd27; + mov.u32 %r47, 12; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd22, %r31, %r47, %rd23, %rd24, %rd19, %rd19); + // inline asm + ld.global.f32 %f155, [lightPos]; + ld.f32 %f9, [%rd21+8]; + ld.f32 %f8, [%rd21+4]; + ld.f32 %f7, [%rd21]; + sub.f32 %f156, %f155, %f7; + ld.global.f32 %f157, [lightPos+4]; + sub.f32 %f158, %f157, %f8; + ld.global.f32 %f159, [lightPos+8]; + sub.f32 %f160, %f159, %f9; + mul.f32 %f161, %f158, %f158; + fma.rn.f32 %f162, %f156, %f156, %f161; + fma.rn.f32 %f163, %f160, %f160, %f162; + sqrt.rn.f32 %f164, %f163; + rcp.rn.f32 %f165, %f164; + mul.f32 %f10, %f156, %f165; + mul.f32 %f11, %f158, %f165; + mul.f32 %f12, %f160, %f165; + ld.global.f32 %f166, [lightFalloffFakeDistanceMult]; + mul.f32 %f13, %f164, %f166; + ld.global.f32 %f167, [lightInvCutoff]; + mul.f32 %f14, %f164, %f167; + mov.f32 %f171, 0f40800000; + abs.f32 %f16, %f14; + setp.lt.f32 %p12, %f16, 0f00800000; + mul.f32 %f173, %f16, 0f4B800000; + selp.f32 %f174, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f175, %f173, %f16, %p12; + mov.b32 %r52, %f175; + and.b32 %r53, %r52, 8388607; + or.b32 %r54, %r53, 1065353216; + mov.b32 %f176, %r54; + shr.u32 %r55, %r52, 23; + cvt.rn.f32.u32 %f177, %r55; + add.f32 %f178, %f174, %f177; + setp.gt.f32 %p13, %f176, 0f3FB504F3; + mul.f32 %f179, %f176, 0f3F000000; + add.f32 %f180, %f178, 0f3F800000; + selp.f32 %f181, %f179, %f176, %p13; + selp.f32 %f182, %f180, %f178, %p13; + add.f32 %f183, %f181, 0fBF800000; + add.f32 %f154, %f181, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f153,%f154; + // inline asm + add.f32 %f184, %f183, %f183; + mul.f32 %f185, %f153, %f184; + mul.f32 %f186, %f185, %f185; + mov.f32 %f187, 0f3C4CAF63; + mov.f32 %f188, 0f3B18F0FE; + fma.rn.f32 %f189, %f188, %f186, %f187; + mov.f32 %f190, 0f3DAAAABD; + fma.rn.f32 %f191, %f189, %f186, %f190; + mul.rn.f32 %f192, %f191, %f186; + mul.rn.f32 %f193, %f192, %f185; + sub.f32 %f194, %f183, %f185; + neg.f32 %f195, %f185; + add.f32 %f196, %f194, %f194; + fma.rn.f32 %f197, %f195, %f183, %f196; + mul.rn.f32 %f198, %f153, %f197; + add.f32 %f199, %f193, %f185; + sub.f32 %f200, %f185, %f199; + add.f32 %f201, %f193, %f200; + add.f32 %f202, %f198, %f201; + add.f32 %f203, %f199, %f202; + sub.f32 %f204, %f199, %f203; + add.f32 %f205, %f202, %f204; + mov.f32 %f206, 0f3F317200; + mul.rn.f32 %f207, %f182, %f206; + mov.f32 %f208, 0f35BFBE8E; + mul.rn.f32 %f209, %f182, %f208; + add.f32 %f210, %f207, %f203; + sub.f32 %f211, %f207, %f210; + add.f32 %f212, %f203, %f211; + add.f32 %f213, %f205, %f212; + add.f32 %f214, %f209, %f213; + add.f32 %f215, %f210, %f214; + sub.f32 %f216, %f210, %f215; + add.f32 %f217, %f214, %f216; + mul.rn.f32 %f218, %f171, %f215; + neg.f32 %f219, %f218; + fma.rn.f32 %f220, %f171, %f215, %f219; + fma.rn.f32 %f221, %f171, %f217, %f220; + mov.f32 %f222, 0f00000000; + fma.rn.f32 %f223, %f222, %f215, %f221; + add.rn.f32 %f224, %f218, %f223; + neg.f32 %f225, %f224; + add.rn.f32 %f226, %f218, %f225; + add.rn.f32 %f227, %f226, %f223; + mov.b32 %r56, %f224; + setp.eq.s32 %p14, %r56, 1118925336; + add.s32 %r57, %r56, -1; + mov.b32 %f228, %r57; + add.f32 %f229, %f227, 0f37000000; + selp.f32 %f230, %f228, %f224, %p14; + selp.f32 %f17, %f229, %f227, %p14; + mul.f32 %f231, %f230, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f232, %f231; + mov.f32 %f233, 0fBF317200; + fma.rn.f32 %f234, %f232, %f233, %f230; + mov.f32 %f235, 0fB5BFBE8E; + fma.rn.f32 %f236, %f232, %f235, %f234; + mul.f32 %f237, %f236, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f238, %f237; + add.f32 %f239, %f232, 0f00000000; + ex2.approx.f32 %f240, %f239; + mul.f32 %f241, %f238, %f240; + setp.lt.f32 %p15, %f230, 0fC2D20000; + selp.f32 %f242, 0f00000000, %f241, %p15; + setp.gt.f32 %p16, %f230, 0f42D20000; + selp.f32 %f1062, 0f7F800000, %f242, %p16; + setp.eq.f32 %p17, %f1062, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f1062, %f1062, %f17, %f1062; + +BB0_5: + mov.f32 %f996, 0f40000000; + cvt.rzi.f32.f32 %f995, %f996; + add.f32 %f994, %f995, %f995; + mov.f32 %f993, 0f40800000; + sub.f32 %f992, %f993, %f994; + abs.f32 %f991, %f992; + setp.lt.f32 %p18, %f14, 0f00000000; + setp.eq.f32 %p19, %f991, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r58, %f1062; + xor.b32 %r59, %r58, -2147483648; + mov.b32 %f243, %r59; + selp.f32 %f1064, %f243, %f1062, %p1; + setp.eq.f32 %p20, %f14, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f246, %f14, %f14; + selp.f32 %f1064, %f246, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f14, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f1030, 0f40800000; + cvt.rzi.f32.f32 %f245, %f1030; + setp.neu.f32 %p22, %f245, 0f40800000; + selp.f32 %f1064, 0f7FFFFFFF, %f1064, %p22; + +BB0_9: + abs.f32 %f997, %f14; + add.f32 %f247, %f997, 0f40800000; + mov.b32 %r60, %f247; + setp.lt.s32 %p24, %r60, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f1028, %f14; + setp.gtu.f32 %p25, %f1028, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f1064, %f14, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f1029, %f14; + setp.neu.f32 %p26, %f1029, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f1064, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f998, 0f00000000; + mov.f32 %f1067, 0f3F800000; + sub.f32 %f257, %f1067, %f1064; + setp.eq.f32 %p27, %f14, 0f3F800000; + selp.f32 %f258, 0f00000000, %f257, %p27; + cvt.sat.f32.f32 %f259, %f258; + ld.global.f32 %f260, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f261, %f13, %f13, %f260; + div.rn.f32 %f28, %f259, %f261; + mul.f32 %f262, %f1060, %f11; + fma.rn.f32 %f263, %f1059, %f10, %f262; + fma.rn.f32 %f29, %f1061, %f12, %f263; + ld.global.u32 %r63, [imageEnabled]; + and.b32 %r64, %r63, 32; + ld.global.u32 %r65, [ignoreNormal]; + or.b32 %r4, %r64, %r65; + ld.global.f32 %f264, [lightMatrix+24]; + mul.f32 %f265, %f10, %f264; + ld.global.f32 %f266, [lightMatrix+28]; + mul.f32 %f267, %f11, %f266; + neg.f32 %f268, %f267; + sub.f32 %f269, %f268, %f265; + ld.global.f32 %f270, [lightMatrix+32]; + mul.f32 %f271, %f12, %f270; + sub.f32 %f272, %f269, %f271; + setp.gt.f32 %p28, %f272, 0f00000000; + ld.global.f32 %f273, [lightMatrix]; + mul.f32 %f274, %f273, %f10; + sub.f32 %f275, %f998, %f274; + ld.global.f32 %f276, [lightMatrix+4]; + mul.f32 %f277, %f276, %f11; + sub.f32 %f278, %f275, %f277; + ld.global.f32 %f279, [lightMatrix+8]; + mul.f32 %f280, %f279, %f12; + sub.f32 %f281, %f278, %f280; + selp.f32 %f282, 0f3F800000, 0f00000000, %p28; + ld.global.f32 %f283, [lightMatrix+12]; + mul.f32 %f284, %f283, %f10; + sub.f32 %f285, %f998, %f284; + ld.global.f32 %f286, [lightMatrix+16]; + mul.f32 %f287, %f286, %f11; + sub.f32 %f288, %f285, %f287; + ld.global.f32 %f289, [lightMatrix+20]; + mul.f32 %f290, %f289, %f12; + sub.f32 %f291, %f288, %f290; + ld.global.u32 %r61, [lightCookie]; + ld.global.f32 %f292, [lightFOV]; + fma.rn.f32 %f252, %f281, %f292, 0f3F000000; + fma.rn.f32 %f253, %f291, %f292, 0f3F000000; + // inline asm + call (%f248, %f249, %f250, %f251), _rt_texture_get_f_id, (%r61, %r31, %f252, %f253, %f998, %f998); + // inline asm + max.f32 %f293, %f248, %f249; + max.f32 %f294, %f293, %f250; + mul.f32 %f295, %f282, %f294; + mul.f32 %f296, %f28, %f295; + ld.global.f32 %f297, [lightColor+4]; + ld.global.f32 %f298, [lightColor]; + max.f32 %f299, %f298, %f297; + ld.global.f32 %f300, [lightColor+8]; + max.f32 %f301, %f299, %f300; + mul.f32 %f302, %f296, %f301; + setp.lt.f32 %p29, %f302, 0f3727C5AC; + @%p29 bra BB0_87; + bra.uni BB0_15; + +BB0_87: + ld.global.u32 %r247, [imageEnabled]; + and.b32 %r166, %r247, 1; + setp.eq.b32 %p115, %r166, 1; + @!%p115 bra BB0_89; + bra.uni BB0_88; + +BB0_88: + cvt.u64.u32 %rd147, %r2; + cvt.u64.u32 %rd148, %r3; + mov.u64 %rd151, image; + cvta.global.u64 %rd146, %rd151; + // inline asm + call (%rd145), _rt_buffer_get_64, (%rd146, %r31, %r32, %rd147, %rd148, %rd19, %rd19); + // inline asm + mov.u16 %rs106, 1; + mov.u16 %rs107, 0; + st.v4.u8 [%rd145], {%rs107, %rs107, %rs107, %rs106}; + ld.global.u32 %r247, [imageEnabled]; + +BB0_89: + and.b32 %r169, %r247, 8; + setp.eq.s32 %p116, %r169, 0; + @%p116 bra BB0_91; + + cvt.u64.u32 %rd155, %r3; + cvt.u64.u32 %rd154, %r2; + mov.u64 %rd158, image_Mask; + cvta.global.u64 %rd153, %rd158; + // inline asm + call (%rd152), _rt_buffer_get_64, (%rd153, %r31, %r31, %rd154, %rd155, %rd19, %rd19); + // inline asm + mov.f32 %f927, 0f00000000; + cvt.rzi.u32.f32 %r172, %f927; + cvt.u16.u32 %rs108, %r172; + mov.u16 %rs109, 255; + st.v2.u8 [%rd152], {%rs108, %rs109}; + ld.global.u32 %r247, [imageEnabled]; + +BB0_91: + cvt.u64.u32 %rd10, %r2; + cvt.u64.u32 %rd11, %r3; + and.b32 %r173, %r247, 4; + setp.eq.s32 %p117, %r173, 0; + @%p117 bra BB0_95; + + ld.global.u32 %r174, [additive]; + setp.eq.s32 %p118, %r174, 0; + mov.f32 %f928, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f928;} + + // inline asm + @%p118 bra BB0_94; + + mov.u64 %rd171, image_HDR; + cvta.global.u64 %rd160, %rd171; + mov.u32 %r178, 8; + // inline asm + call (%rd159), _rt_buffer_get_64, (%rd160, %r31, %r178, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs117, %rs118, %rs119, %rs120}, [%rd159]; + // inline asm + { cvt.f32.f16 %f929, %rs117;} + + // inline asm + // inline asm + { cvt.f32.f16 %f930, %rs118;} + + // inline asm + // inline asm + { cvt.f32.f16 %f931, %rs119;} + + // inline asm + // inline asm + call (%rd165), _rt_buffer_get_64, (%rd160, %r31, %r178, %rd10, %rd11, %rd19, %rd19); + // inline asm + add.f32 %f932, %f929, 0f00000000; + add.f32 %f933, %f930, 0f00000000; + add.f32 %f934, %f931, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f934;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs115, %f933;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs114, %f932;} + + // inline asm + st.v4.u16 [%rd165], {%rs114, %rs115, %rs116, %rs110}; + bra.uni BB0_95; + +BB0_15: + mov.f32 %f1066, 0f00000000; + mul.f32 %f304, %f7, 0f3456BF95; + abs.f32 %f305, %f1059; + div.rn.f32 %f306, %f304, %f305; + abs.f32 %f307, %f1060; + mul.f32 %f308, %f8, 0f3456BF95; + div.rn.f32 %f309, %f308, %f307; + abs.f32 %f310, %f1061; + mul.f32 %f311, %f9, 0f3456BF95; + div.rn.f32 %f312, %f311, %f310; + abs.f32 %f313, %f306; + abs.f32 %f314, %f309; + abs.f32 %f315, %f312; + mov.f32 %f316, 0f38D1B717; + max.f32 %f317, %f313, %f316; + max.f32 %f318, %f314, %f316; + max.f32 %f319, %f315, %f316; + fma.rn.f32 %f33, %f1059, %f317, %f7; + fma.rn.f32 %f34, %f1060, %f318, %f8; + fma.rn.f32 %f35, %f1061, %f319, %f9; + ld.global.u32 %r243, [samples]; + setp.lt.s32 %p30, %r243, 1; + @%p30 bra BB0_18; + + mul.f32 %f321, %f33, 0f3456BF95; + abs.f32 %f322, %f321; + mul.f32 %f323, %f34, 0f3456BF95; + abs.f32 %f324, %f323; + mul.f32 %f325, %f35, 0f3456BF95; + abs.f32 %f326, %f325; + max.f32 %f327, %f322, %f324; + max.f32 %f328, %f327, %f326; + max.f32 %f36, %f328, %f316; + mov.f32 %f1066, 0f00000000; + mov.u32 %r242, 0; + +BB0_17: + add.u64 %rd28, %SP, 0; + cvta.to.local.u64 %rd29, %rd28; + cvt.rn.f32.s32 %f338, %r242; + mul.f32 %f339, %f338, 0f3DD32618; + cvt.rmi.f32.f32 %f340, %f339; + sub.f32 %f341, %f339, %f340; + mul.f32 %f342, %f338, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f343, %f342; + sub.f32 %f344, %f342, %f343; + mul.f32 %f345, %f338, 0f3DC74539; + cvt.rmi.f32.f32 %f346, %f345; + sub.f32 %f347, %f345, %f346; + add.f32 %f348, %f344, 0f4199851F; + add.f32 %f349, %f347, 0f4199851F; + add.f32 %f350, %f341, 0f4199851F; + mul.f32 %f351, %f344, %f349; + fma.rn.f32 %f352, %f341, %f348, %f351; + fma.rn.f32 %f353, %f350, %f347, %f352; + add.f32 %f354, %f341, %f353; + add.f32 %f355, %f344, %f353; + add.f32 %f356, %f347, %f353; + add.f32 %f357, %f354, %f355; + mul.f32 %f358, %f356, %f357; + cvt.rmi.f32.f32 %f359, %f358; + sub.f32 %f360, %f358, %f359; + add.f32 %f361, %f354, %f356; + mul.f32 %f362, %f355, %f361; + cvt.rmi.f32.f32 %f363, %f362; + sub.f32 %f364, %f362, %f363; + add.f32 %f365, %f355, %f356; + mul.f32 %f366, %f354, %f365; + cvt.rmi.f32.f32 %f367, %f366; + sub.f32 %f368, %f366, %f367; + fma.rn.f32 %f369, %f360, 0f40000000, 0fBF800000; + fma.rn.f32 %f370, %f364, 0f40000000, 0fBF800000; + fma.rn.f32 %f371, %f368, 0f40000000, 0fBF800000; + ld.global.f32 %f372, [lightRadius]; + ld.global.f32 %f373, [lightPos]; + fma.rn.f32 %f374, %f372, %f369, %f373; + ld.global.f32 %f375, [lightPos+4]; + fma.rn.f32 %f376, %f372, %f370, %f375; + ld.global.f32 %f377, [lightPos+8]; + fma.rn.f32 %f378, %f372, %f371, %f377; + sub.f32 %f379, %f374, %f7; + sub.f32 %f380, %f376, %f8; + sub.f32 %f381, %f378, %f9; + mul.f32 %f382, %f380, %f380; + fma.rn.f32 %f383, %f379, %f379, %f382; + fma.rn.f32 %f384, %f381, %f381, %f383; + sqrt.rn.f32 %f337, %f384; + rcp.rn.f32 %f385, %f337; + mul.f32 %f333, %f385, %f379; + mul.f32 %f334, %f385, %f380; + mul.f32 %f335, %f385, %f381; + ld.global.u32 %r70, [imageEnabled]; + and.b32 %r71, %r70, 32; + setp.eq.s32 %p31, %r71, 0; + selp.f32 %f386, 0f3F800000, 0f41200000, %p31; + mul.f32 %f336, %f386, %f36; + mov.u32 %r72, 1065353216; + st.local.u32 [%rd29], %r72; + ld.global.u32 %r67, [root]; + mov.u32 %r68, 1; + // inline asm + call _rt_trace_64, (%r67, %f33, %f34, %f35, %f333, %f334, %f335, %r68, %f336, %f337, %rd28, %r32); + // inline asm + ld.local.f32 %f387, [%rd29]; + add.f32 %f1066, %f1066, %f387; + ld.global.u32 %r243, [samples]; + add.s32 %r242, %r242, 1; + setp.lt.s32 %p32, %r242, %r243; + @%p32 bra BB0_17; + +BB0_18: + setp.eq.s32 %p33, %r243, 0; + @%p33 bra BB0_20; + + cvt.rn.f32.s32 %f389, %r243; + div.rn.f32 %f1067, %f1066, %f389; + +BB0_20: + setp.eq.s32 %p34, %r4, 0; + selp.f32 %f390, %f29, 0f3F800000, %p34; + cvt.sat.f32.f32 %f391, %f390; + mul.f32 %f392, %f28, %f391; + mul.f32 %f393, %f1067, %f392; + ld.global.f32 %f394, [lightColor]; + mul.f32 %f395, %f394, %f393; + ld.global.f32 %f396, [lightColor+4]; + mul.f32 %f397, %f396, %f393; + ld.global.f32 %f398, [lightColor+8]; + mul.f32 %f399, %f393, %f398; + mul.f32 %f42, %f248, %f395; + mul.f32 %f43, %f249, %f397; + mul.f32 %f44, %f250, %f399; + ld.global.u32 %r245, [imageEnabled]; + and.b32 %r73, %r245, 8; + setp.eq.s32 %p35, %r73, 0; + @%p35 bra BB0_33; + + mov.f32 %f1006, 0fB5BFBE8E; + mov.f32 %f1005, 0fBF317200; + mov.f32 %f1004, 0f35BFBE8E; + mov.f32 %f1003, 0f3F317200; + mov.f32 %f1002, 0f3DAAAABD; + mov.f32 %f1001, 0f3C4CAF63; + mov.f32 %f1000, 0f3B18F0FE; + cvt.u64.u32 %rd32, %r2; + cvt.u64.u32 %rd33, %r3; + mov.u64 %rd36, image_Mask; + cvta.global.u64 %rd31, %rd36; + // inline asm + call (%rd30), _rt_buffer_get_64, (%rd31, %r31, %r31, %rd32, %rd33, %rd19, %rd19); + // inline asm + abs.f32 %f46, %f1067; + setp.lt.f32 %p36, %f46, 0f00800000; + mul.f32 %f405, %f46, 0f4B800000; + selp.f32 %f406, 0fC3170000, 0fC2FE0000, %p36; + selp.f32 %f407, %f405, %f46, %p36; + mov.b32 %r76, %f407; + and.b32 %r77, %r76, 8388607; + or.b32 %r78, %r77, 1065353216; + mov.b32 %f408, %r78; + shr.u32 %r79, %r76, 23; + cvt.rn.f32.u32 %f409, %r79; + add.f32 %f410, %f406, %f409; + setp.gt.f32 %p37, %f408, 0f3FB504F3; + mul.f32 %f411, %f408, 0f3F000000; + add.f32 %f412, %f410, 0f3F800000; + selp.f32 %f413, %f411, %f408, %p37; + selp.f32 %f414, %f412, %f410, %p37; + add.f32 %f415, %f413, 0fBF800000; + add.f32 %f401, %f413, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f400,%f401; + // inline asm + add.f32 %f416, %f415, %f415; + mul.f32 %f417, %f400, %f416; + mul.f32 %f418, %f417, %f417; + fma.rn.f32 %f421, %f1000, %f418, %f1001; + fma.rn.f32 %f423, %f421, %f418, %f1002; + mul.rn.f32 %f424, %f423, %f418; + mul.rn.f32 %f425, %f424, %f417; + sub.f32 %f426, %f415, %f417; + neg.f32 %f427, %f417; + add.f32 %f428, %f426, %f426; + fma.rn.f32 %f429, %f427, %f415, %f428; + mul.rn.f32 %f430, %f400, %f429; + add.f32 %f431, %f425, %f417; + sub.f32 %f432, %f417, %f431; + add.f32 %f433, %f425, %f432; + add.f32 %f434, %f430, %f433; + add.f32 %f435, %f431, %f434; + sub.f32 %f436, %f431, %f435; + add.f32 %f437, %f434, %f436; + mul.rn.f32 %f439, %f414, %f1003; + mul.rn.f32 %f441, %f414, %f1004; + add.f32 %f442, %f439, %f435; + sub.f32 %f443, %f439, %f442; + add.f32 %f444, %f435, %f443; + add.f32 %f445, %f437, %f444; + add.f32 %f446, %f441, %f445; + add.f32 %f447, %f442, %f446; + sub.f32 %f448, %f442, %f447; + add.f32 %f449, %f446, %f448; + mov.f32 %f450, 0f3EE8BA2E; + mul.rn.f32 %f451, %f450, %f447; + neg.f32 %f452, %f451; + fma.rn.f32 %f453, %f450, %f447, %f452; + fma.rn.f32 %f454, %f450, %f449, %f453; + mov.f32 %f455, 0f00000000; + fma.rn.f32 %f456, %f455, %f447, %f454; + add.rn.f32 %f457, %f451, %f456; + neg.f32 %f458, %f457; + add.rn.f32 %f459, %f451, %f458; + add.rn.f32 %f460, %f459, %f456; + mov.b32 %r80, %f457; + setp.eq.s32 %p38, %r80, 1118925336; + add.s32 %r81, %r80, -1; + mov.b32 %f461, %r81; + add.f32 %f462, %f460, 0f37000000; + selp.f32 %f463, %f461, %f457, %p38; + selp.f32 %f47, %f462, %f460, %p38; + mul.f32 %f464, %f463, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f465, %f464; + fma.rn.f32 %f467, %f465, %f1005, %f463; + fma.rn.f32 %f469, %f465, %f1006, %f467; + mul.f32 %f470, %f469, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f471, %f470; + add.f32 %f472, %f465, 0f00000000; + ex2.approx.f32 %f473, %f472; + mul.f32 %f474, %f471, %f473; + setp.lt.f32 %p39, %f463, 0fC2D20000; + selp.f32 %f475, 0f00000000, %f474, %p39; + setp.gt.f32 %p40, %f463, 0f42D20000; + selp.f32 %f1068, 0f7F800000, %f475, %p40; + setp.eq.f32 %p41, %f1068, 0f7F800000; + @%p41 bra BB0_23; + + fma.rn.f32 %f1068, %f1068, %f47, %f1068; + +BB0_23: + mov.f32 %f1034, 0f3E68BA2E; + cvt.rzi.f32.f32 %f1033, %f1034; + fma.rn.f32 %f1032, %f1033, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f1031, %f1032; + setp.lt.f32 %p42, %f1067, 0f00000000; + setp.eq.f32 %p43, %f1031, 0f3F800000; + and.pred %p2, %p42, %p43; + mov.b32 %r82, %f1068; + xor.b32 %r83, %r82, -2147483648; + mov.b32 %f476, %r83; + selp.f32 %f1070, %f476, %f1068, %p2; + setp.eq.f32 %p44, %f1067, 0f00000000; + @%p44 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f479, %f1067, %f1067; + selp.f32 %f1070, %f479, 0f00000000, %p43; + bra.uni BB0_27; + +BB0_111: + mov.u64 %rd272, image_HDR; + cvta.global.u64 %rd267, %rd272; + mov.u32 %r216, 8; + // inline asm + call (%rd266), _rt_buffer_get_64, (%rd267, %r31, %r216, %rd12, %rd13, %rd19, %rd19); + // inline asm + mov.f32 %f969, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs172, %f969;} + + // inline asm + mov.u16 %rs173, 0; + st.v4.u16 [%rd266], {%rs172, %rs172, %rs172, %rs173}; + +BB0_112: + ld.global.u32 %r217, [additive]; + setp.eq.s32 %p126, %r217, 0; + @%p126 bra BB0_114; + + mov.u64 %rd285, image_RNM0; + cvta.global.u64 %rd274, %rd285; + mov.u32 %r221, 8; + // inline asm + call (%rd273), _rt_buffer_get_64, (%rd274, %r31, %r221, %rd12, %rd13, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs180, %rs181, %rs182, %rs183}, [%rd273]; + // inline asm + { cvt.f32.f16 %f970, %rs180;} + + // inline asm + // inline asm + { cvt.f32.f16 %f971, %rs181;} + + // inline asm + // inline asm + { cvt.f32.f16 %f972, %rs182;} + + // inline asm + // inline asm + call (%rd279), _rt_buffer_get_64, (%rd274, %r31, %r221, %rd12, %rd13, %rd19, %rd19); + // inline asm + add.f32 %f973, %f970, 0f00000000; + add.f32 %f974, %f971, 0f00000000; + add.f32 %f975, %f972, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs179, %f975;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs178, %f974;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs177, %f973;} + + // inline asm + mov.u16 %rs184, 0; + st.v4.u16 [%rd279], {%rs177, %rs178, %rs179, %rs184}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd292, image_RNM0; + cvta.global.u64 %rd287, %rd292; + mov.u32 %r223, 8; + // inline asm + call (%rd286), _rt_buffer_get_64, (%rd287, %r31, %r223, %rd12, %rd13, %rd19, %rd19); + // inline asm + mov.f32 %f976, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs185, %f976;} + + // inline asm + mov.u16 %rs186, 0; + st.v4.u16 [%rd286], {%rs185, %rs185, %rs185, %rs186}; + +BB0_115: + ld.global.u32 %r224, [additive]; + setp.eq.s32 %p127, %r224, 0; + @%p127 bra BB0_117; + + mov.u64 %rd305, image_RNM1; + cvta.global.u64 %rd294, %rd305; + mov.u32 %r228, 8; + // inline asm + call (%rd293), _rt_buffer_get_64, (%rd294, %r31, %r228, %rd12, %rd13, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs193, %rs194, %rs195, %rs196}, [%rd293]; + // inline asm + { cvt.f32.f16 %f977, %rs193;} + + // inline asm + // inline asm + { cvt.f32.f16 %f978, %rs194;} + + // inline asm + // inline asm + { cvt.f32.f16 %f979, %rs195;} + + // inline asm + // inline asm + call (%rd299), _rt_buffer_get_64, (%rd294, %r31, %r228, %rd12, %rd13, %rd19, %rd19); + // inline asm + add.f32 %f980, %f977, 0f00000000; + add.f32 %f981, %f978, 0f00000000; + add.f32 %f982, %f979, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs192, %f982;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs191, %f981;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs190, %f980;} + + // inline asm + mov.u16 %rs197, 0; + st.v4.u16 [%rd299], {%rs190, %rs191, %rs192, %rs197}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd312, image_RNM1; + cvta.global.u64 %rd307, %rd312; + mov.u32 %r230, 8; + // inline asm + call (%rd306), _rt_buffer_get_64, (%rd307, %r31, %r230, %rd12, %rd13, %rd19, %rd19); + // inline asm + mov.f32 %f983, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs198, %f983;} + + // inline asm + mov.u16 %rs199, 0; + st.v4.u16 [%rd306], {%rs198, %rs198, %rs198, %rs199}; + +BB0_118: + ld.global.u32 %r231, [additive]; + setp.eq.s32 %p128, %r231, 0; + @%p128 bra BB0_120; + + mov.u64 %rd325, image_RNM2; + cvta.global.u64 %rd314, %rd325; + mov.u32 %r235, 8; + // inline asm + call (%rd313), _rt_buffer_get_64, (%rd314, %r31, %r235, %rd12, %rd13, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs206, %rs207, %rs208, %rs209}, [%rd313]; + // inline asm + { cvt.f32.f16 %f984, %rs206;} + + // inline asm + // inline asm + { cvt.f32.f16 %f985, %rs207;} + + // inline asm + // inline asm + { cvt.f32.f16 %f986, %rs208;} + + // inline asm + // inline asm + call (%rd319), _rt_buffer_get_64, (%rd314, %r31, %r235, %rd12, %rd13, %rd19, %rd19); + // inline asm + add.f32 %f987, %f984, 0f00000000; + add.f32 %f988, %f985, 0f00000000; + add.f32 %f989, %f986, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs205, %f989;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs204, %f988;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs203, %f987;} + + // inline asm + mov.u16 %rs210, 0; + st.v4.u16 [%rd319], {%rs203, %rs204, %rs205, %rs210}; + bra.uni BB0_121; + +BB0_120: + mov.u64 %rd332, image_RNM2; + cvta.global.u64 %rd327, %rd332; + mov.u32 %r237, 8; + // inline asm + call (%rd326), _rt_buffer_get_64, (%rd327, %r31, %r237, %rd12, %rd13, %rd19, %rd19); + // inline asm + mov.f32 %f990, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs211, %f990;} + + // inline asm + mov.u16 %rs212, 0; + st.v4.u16 [%rd326], {%rs211, %rs211, %rs211, %rs212}; + bra.uni BB0_121; + +BB0_94: + mov.u64 %rd178, image_HDR; + cvta.global.u64 %rd173, %rd178; + mov.u32 %r180, 8; + // inline asm + call (%rd172), _rt_buffer_get_64, (%rd173, %r31, %r180, %rd10, %rd11, %rd19, %rd19); + // inline asm + mov.f32 %f935, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs121, %f935;} + + // inline asm + st.v4.u16 [%rd172], {%rs121, %rs121, %rs121, %rs110}; + +BB0_95: + ld.global.u32 %r181, [additive]; + setp.eq.s32 %p119, %r181, 0; + mov.f32 %f936, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs122, %f936;} + + // inline asm + @%p119 bra BB0_97; + + mov.u64 %rd191, image_RNM0; + cvta.global.u64 %rd180, %rd191; + mov.u32 %r185, 8; + // inline asm + call (%rd179), _rt_buffer_get_64, (%rd180, %r31, %r185, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs129, %rs130, %rs131, %rs132}, [%rd179]; + // inline asm + { cvt.f32.f16 %f937, %rs129;} + + // inline asm + // inline asm + { cvt.f32.f16 %f938, %rs130;} + + // inline asm + // inline asm + { cvt.f32.f16 %f939, %rs131;} + + // inline asm + // inline asm + call (%rd185), _rt_buffer_get_64, (%rd180, %r31, %r185, %rd10, %rd11, %rd19, %rd19); + // inline asm + add.f32 %f940, %f937, 0f00000000; + add.f32 %f941, %f938, 0f00000000; + add.f32 %f942, %f939, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f942;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs127, %f941;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs126, %f940;} + + // inline asm + st.v4.u16 [%rd185], {%rs126, %rs127, %rs128, %rs122}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd198, image_RNM0; + cvta.global.u64 %rd193, %rd198; + mov.u32 %r187, 8; + // inline asm + call (%rd192), _rt_buffer_get_64, (%rd193, %r31, %r187, %rd10, %rd11, %rd19, %rd19); + // inline asm + mov.f32 %f943, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs133, %f943;} + + // inline asm + st.v4.u16 [%rd192], {%rs133, %rs133, %rs133, %rs122}; + +BB0_98: + ld.global.u32 %r188, [additive]; + setp.eq.s32 %p120, %r188, 0; + // inline asm + { cvt.rn.f16.f32 %rs134, %f936;} + + // inline asm + @%p120 bra BB0_100; + + mov.u64 %rd211, image_RNM1; + cvta.global.u64 %rd200, %rd211; + mov.u32 %r192, 8; + // inline asm + call (%rd199), _rt_buffer_get_64, (%rd200, %r31, %r192, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs141, %rs142, %rs143, %rs144}, [%rd199]; + // inline asm + { cvt.f32.f16 %f945, %rs141;} + + // inline asm + // inline asm + { cvt.f32.f16 %f946, %rs142;} + + // inline asm + // inline asm + { cvt.f32.f16 %f947, %rs143;} + + // inline asm + // inline asm + call (%rd205), _rt_buffer_get_64, (%rd200, %r31, %r192, %rd10, %rd11, %rd19, %rd19); + // inline asm + add.f32 %f948, %f945, 0f00000000; + add.f32 %f949, %f946, 0f00000000; + add.f32 %f950, %f947, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f950;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs139, %f949;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs138, %f948;} + + // inline asm + st.v4.u16 [%rd205], {%rs138, %rs139, %rs140, %rs134}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd218, image_RNM1; + cvta.global.u64 %rd213, %rd218; + mov.u32 %r194, 8; + // inline asm + call (%rd212), _rt_buffer_get_64, (%rd213, %r31, %r194, %rd10, %rd11, %rd19, %rd19); + // inline asm + mov.f32 %f951, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs145, %f951;} + + // inline asm + st.v4.u16 [%rd212], {%rs145, %rs145, %rs145, %rs134}; + +BB0_101: + ld.global.u32 %r195, [additive]; + setp.eq.s32 %p121, %r195, 0; + // inline asm + { cvt.rn.f16.f32 %rs146, %f936;} + + // inline asm + @%p121 bra BB0_103; + + mov.u64 %rd231, image_RNM2; + cvta.global.u64 %rd220, %rd231; + mov.u32 %r199, 8; + // inline asm + call (%rd219), _rt_buffer_get_64, (%rd220, %r31, %r199, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs153, %rs154, %rs155, %rs156}, [%rd219]; + // inline asm + { cvt.f32.f16 %f953, %rs153;} + + // inline asm + // inline asm + { cvt.f32.f16 %f954, %rs154;} + + // inline asm + // inline asm + { cvt.f32.f16 %f955, %rs155;} + + // inline asm + // inline asm + call (%rd225), _rt_buffer_get_64, (%rd220, %r31, %r199, %rd10, %rd11, %rd19, %rd19); + // inline asm + add.f32 %f956, %f953, 0f00000000; + add.f32 %f957, %f954, 0f00000000; + add.f32 %f958, %f955, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f958;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs151, %f957;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs150, %f956;} + + // inline asm + st.v4.u16 [%rd225], {%rs150, %rs151, %rs152, %rs146}; + bra.uni BB0_121; + +BB0_103: + mov.u64 %rd238, image_RNM2; + cvta.global.u64 %rd233, %rd238; + mov.u32 %r201, 8; + // inline asm + call (%rd232), _rt_buffer_get_64, (%rd233, %r31, %r201, %rd10, %rd11, %rd19, %rd19); + // inline asm + mov.f32 %f959, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs157, %f959;} + + // inline asm + st.v4.u16 [%rd232], {%rs157, %rs157, %rs157, %rs146}; + bra.uni BB0_121; + +BB0_24: + setp.geu.f32 %p45, %f1067, 0f00000000; + @%p45 bra BB0_27; + + mov.f32 %f1038, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f478, %f1038; + setp.neu.f32 %p46, %f478, 0f3EE8BA2E; + selp.f32 %f1070, 0f7FFFFFFF, %f1070, %p46; + +BB0_27: + abs.f32 %f1035, %f1067; + add.f32 %f480, %f1035, 0f3EE8BA2E; + mov.b32 %r84, %f480; + setp.lt.s32 %p48, %r84, 2139095040; + @%p48 bra BB0_32; + + abs.f32 %f1036, %f1067; + setp.gtu.f32 %p49, %f1036, 0f7F800000; + @%p49 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f1070, %f1067, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + abs.f32 %f1037, %f1067; + setp.neu.f32 %p50, %f1037, 0f7F800000; + @%p50 bra BB0_32; + + selp.f32 %f1070, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f481, %f1070, 0f437F0000; + setp.eq.f32 %p51, %f1067, 0f3F800000; + selp.f32 %f482, 0f437F0000, %f481, %p51; + cvt.rzi.u32.f32 %r85, %f482; + cvt.u16.u32 %rs17, %r85; + mov.u16 %rs18, 255; + st.v2.u8 [%rd30], {%rs17, %rs18}; + ld.global.u32 %r245, [imageEnabled]; + +BB0_33: + and.b32 %r86, %r245, 1; + setp.eq.b32 %p52, %r86, 1; + @!%p52 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f1013, 0fB5BFBE8E; + mov.f32 %f1012, 0fBF317200; + mov.f32 %f1011, 0f35BFBE8E; + mov.f32 %f1010, 0f3F317200; + mov.f32 %f1009, 0f3DAAAABD; + mov.f32 %f1008, 0f3C4CAF63; + mov.f32 %f1007, 0f3B18F0FE; + abs.f32 %f59, %f42; + setp.lt.f32 %p53, %f59, 0f00800000; + mul.f32 %f488, %f59, 0f4B800000; + selp.f32 %f489, 0fC3170000, 0fC2FE0000, %p53; + selp.f32 %f490, %f488, %f59, %p53; + mov.b32 %r87, %f490; + and.b32 %r88, %r87, 8388607; + or.b32 %r89, %r88, 1065353216; + mov.b32 %f491, %r89; + shr.u32 %r90, %r87, 23; + cvt.rn.f32.u32 %f492, %r90; + add.f32 %f493, %f489, %f492; + setp.gt.f32 %p54, %f491, 0f3FB504F3; + mul.f32 %f494, %f491, 0f3F000000; + add.f32 %f495, %f493, 0f3F800000; + selp.f32 %f496, %f494, %f491, %p54; + selp.f32 %f497, %f495, %f493, %p54; + add.f32 %f498, %f496, 0fBF800000; + add.f32 %f484, %f496, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f483,%f484; + // inline asm + add.f32 %f499, %f498, %f498; + mul.f32 %f500, %f483, %f499; + mul.f32 %f501, %f500, %f500; + fma.rn.f32 %f504, %f1007, %f501, %f1008; + fma.rn.f32 %f506, %f504, %f501, %f1009; + mul.rn.f32 %f507, %f506, %f501; + mul.rn.f32 %f508, %f507, %f500; + sub.f32 %f509, %f498, %f500; + neg.f32 %f510, %f500; + add.f32 %f511, %f509, %f509; + fma.rn.f32 %f512, %f510, %f498, %f511; + mul.rn.f32 %f513, %f483, %f512; + add.f32 %f514, %f508, %f500; + sub.f32 %f515, %f500, %f514; + add.f32 %f516, %f508, %f515; + add.f32 %f517, %f513, %f516; + add.f32 %f518, %f514, %f517; + sub.f32 %f519, %f514, %f518; + add.f32 %f520, %f517, %f519; + mul.rn.f32 %f522, %f497, %f1010; + mul.rn.f32 %f524, %f497, %f1011; + add.f32 %f525, %f522, %f518; + sub.f32 %f526, %f522, %f525; + add.f32 %f527, %f518, %f526; + add.f32 %f528, %f520, %f527; + add.f32 %f529, %f524, %f528; + add.f32 %f530, %f525, %f529; + sub.f32 %f531, %f525, %f530; + add.f32 %f532, %f529, %f531; + mov.f32 %f533, 0f3EE66666; + mul.rn.f32 %f534, %f533, %f530; + neg.f32 %f535, %f534; + fma.rn.f32 %f536, %f533, %f530, %f535; + fma.rn.f32 %f537, %f533, %f532, %f536; + mov.f32 %f538, 0f00000000; + fma.rn.f32 %f539, %f538, %f530, %f537; + add.rn.f32 %f540, %f534, %f539; + neg.f32 %f541, %f540; + add.rn.f32 %f542, %f534, %f541; + add.rn.f32 %f543, %f542, %f539; + mov.b32 %r91, %f540; + setp.eq.s32 %p55, %r91, 1118925336; + add.s32 %r92, %r91, -1; + mov.b32 %f544, %r92; + add.f32 %f545, %f543, 0f37000000; + selp.f32 %f546, %f544, %f540, %p55; + selp.f32 %f60, %f545, %f543, %p55; + mul.f32 %f547, %f546, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f548, %f547; + fma.rn.f32 %f550, %f548, %f1012, %f546; + fma.rn.f32 %f552, %f548, %f1013, %f550; + mul.f32 %f553, %f552, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f554, %f553; + add.f32 %f555, %f548, 0f00000000; + ex2.approx.f32 %f556, %f555; + mul.f32 %f557, %f554, %f556; + setp.lt.f32 %p56, %f546, 0fC2D20000; + selp.f32 %f558, 0f00000000, %f557, %p56; + setp.gt.f32 %p57, %f546, 0f42D20000; + selp.f32 %f1071, 0f7F800000, %f558, %p57; + setp.eq.f32 %p58, %f1071, 0f7F800000; + @%p58 bra BB0_36; + + fma.rn.f32 %f1071, %f1071, %f60, %f1071; + +BB0_36: + mov.f32 %f1042, 0f3E666666; + cvt.rzi.f32.f32 %f1041, %f1042; + fma.rn.f32 %f1040, %f1041, 0fC0000000, 0f3EE66666; + abs.f32 %f1039, %f1040; + setp.lt.f32 %p59, %f42, 0f00000000; + setp.eq.f32 %p60, %f1039, 0f3F800000; + and.pred %p3, %p59, %p60; + mov.b32 %r93, %f1071; + xor.b32 %r94, %r93, -2147483648; + mov.b32 %f559, %r94; + selp.f32 %f1073, %f559, %f1071, %p3; + setp.eq.f32 %p61, %f42, 0f00000000; + @%p61 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f562, %f42, %f42; + selp.f32 %f1073, %f562, 0f00000000, %p60; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p62, %f42, 0f00000000; + @%p62 bra BB0_40; + + mov.f32 %f1052, 0f3EE66666; + cvt.rzi.f32.f32 %f561, %f1052; + setp.neu.f32 %p63, %f561, 0f3EE66666; + selp.f32 %f1073, 0f7FFFFFFF, %f1073, %p63; + +BB0_40: + abs.f32 %f1043, %f42; + add.f32 %f563, %f1043, 0f3EE66666; + mov.b32 %r95, %f563; + setp.lt.s32 %p65, %r95, 2139095040; + @%p65 bra BB0_45; + + abs.f32 %f1050, %f42; + setp.gtu.f32 %p66, %f1050, 0f7F800000; + @%p66 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f1073, %f42, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + abs.f32 %f1051, %f42; + setp.neu.f32 %p67, %f1051, 0f7F800000; + @%p67 bra BB0_45; + + selp.f32 %f1073, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f1045, 0f00000000; + mov.f32 %f1044, 0f3EE66666; + mov.f32 %f1020, 0fB5BFBE8E; + mov.f32 %f1019, 0fBF317200; + mov.f32 %f1018, 0f35BFBE8E; + mov.f32 %f1017, 0f3F317200; + mov.f32 %f1016, 0f3DAAAABD; + mov.f32 %f1015, 0f3C4CAF63; + mov.f32 %f1014, 0f3B18F0FE; + setp.eq.f32 %p68, %f42, 0f3F800000; + selp.f32 %f71, 0f3F800000, %f1073, %p68; + abs.f32 %f72, %f43; + setp.lt.f32 %p69, %f72, 0f00800000; + mul.f32 %f566, %f72, 0f4B800000; + selp.f32 %f567, 0fC3170000, 0fC2FE0000, %p69; + selp.f32 %f568, %f566, %f72, %p69; + mov.b32 %r96, %f568; + and.b32 %r97, %r96, 8388607; + or.b32 %r98, %r97, 1065353216; + mov.b32 %f569, %r98; + shr.u32 %r99, %r96, 23; + cvt.rn.f32.u32 %f570, %r99; + add.f32 %f571, %f567, %f570; + setp.gt.f32 %p70, %f569, 0f3FB504F3; + mul.f32 %f572, %f569, 0f3F000000; + add.f32 %f573, %f571, 0f3F800000; + selp.f32 %f574, %f572, %f569, %p70; + selp.f32 %f575, %f573, %f571, %p70; + add.f32 %f576, %f574, 0fBF800000; + add.f32 %f565, %f574, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f564,%f565; + // inline asm + add.f32 %f577, %f576, %f576; + mul.f32 %f578, %f564, %f577; + mul.f32 %f579, %f578, %f578; + fma.rn.f32 %f582, %f1014, %f579, %f1015; + fma.rn.f32 %f584, %f582, %f579, %f1016; + mul.rn.f32 %f585, %f584, %f579; + mul.rn.f32 %f586, %f585, %f578; + sub.f32 %f587, %f576, %f578; + neg.f32 %f588, %f578; + add.f32 %f589, %f587, %f587; + fma.rn.f32 %f590, %f588, %f576, %f589; + mul.rn.f32 %f591, %f564, %f590; + add.f32 %f592, %f586, %f578; + sub.f32 %f593, %f578, %f592; + add.f32 %f594, %f586, %f593; + add.f32 %f595, %f591, %f594; + add.f32 %f596, %f592, %f595; + sub.f32 %f597, %f592, %f596; + add.f32 %f598, %f595, %f597; + mul.rn.f32 %f600, %f575, %f1017; + mul.rn.f32 %f602, %f575, %f1018; + add.f32 %f603, %f600, %f596; + sub.f32 %f604, %f600, %f603; + add.f32 %f605, %f596, %f604; + add.f32 %f606, %f598, %f605; + add.f32 %f607, %f602, %f606; + add.f32 %f608, %f603, %f607; + sub.f32 %f609, %f603, %f608; + add.f32 %f610, %f607, %f609; + mul.rn.f32 %f612, %f1044, %f608; + neg.f32 %f613, %f612; + fma.rn.f32 %f614, %f1044, %f608, %f613; + fma.rn.f32 %f615, %f1044, %f610, %f614; + fma.rn.f32 %f617, %f1045, %f608, %f615; + add.rn.f32 %f618, %f612, %f617; + neg.f32 %f619, %f618; + add.rn.f32 %f620, %f612, %f619; + add.rn.f32 %f621, %f620, %f617; + mov.b32 %r100, %f618; + setp.eq.s32 %p71, %r100, 1118925336; + add.s32 %r101, %r100, -1; + mov.b32 %f622, %r101; + add.f32 %f623, %f621, 0f37000000; + selp.f32 %f624, %f622, %f618, %p71; + selp.f32 %f73, %f623, %f621, %p71; + mul.f32 %f625, %f624, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f626, %f625; + fma.rn.f32 %f628, %f626, %f1019, %f624; + fma.rn.f32 %f630, %f626, %f1020, %f628; + mul.f32 %f631, %f630, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f632, %f631; + add.f32 %f633, %f626, 0f00000000; + ex2.approx.f32 %f634, %f633; + mul.f32 %f635, %f632, %f634; + setp.lt.f32 %p72, %f624, 0fC2D20000; + selp.f32 %f636, 0f00000000, %f635, %p72; + setp.gt.f32 %p73, %f624, 0f42D20000; + selp.f32 %f1074, 0f7F800000, %f636, %p73; + setp.eq.f32 %p74, %f1074, 0f7F800000; + @%p74 bra BB0_47; + + fma.rn.f32 %f1074, %f1074, %f73, %f1074; + +BB0_47: + setp.lt.f32 %p75, %f43, 0f00000000; + and.pred %p4, %p75, %p60; + mov.b32 %r102, %f1074; + xor.b32 %r103, %r102, -2147483648; + mov.b32 %f637, %r103; + selp.f32 %f1076, %f637, %f1074, %p4; + setp.eq.f32 %p77, %f43, 0f00000000; + @%p77 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f640, %f43, %f43; + selp.f32 %f1076, %f640, 0f00000000, %p60; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p78, %f43, 0f00000000; + @%p78 bra BB0_51; + + mov.f32 %f1049, 0f3EE66666; + cvt.rzi.f32.f32 %f639, %f1049; + setp.neu.f32 %p79, %f639, 0f3EE66666; + selp.f32 %f1076, 0f7FFFFFFF, %f1076, %p79; + +BB0_51: + abs.f32 %f1053, %f43; + add.f32 %f641, %f1053, 0f3EE66666; + mov.b32 %r104, %f641; + setp.lt.s32 %p81, %r104, 2139095040; + @%p81 bra BB0_56; + + abs.f32 %f1054, %f43; + setp.gtu.f32 %p82, %f1054, 0f7F800000; + @%p82 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f1076, %f43, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + abs.f32 %f1055, %f43; + setp.neu.f32 %p83, %f1055, 0f7F800000; + @%p83 bra BB0_56; + + selp.f32 %f1076, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f1047, 0f00000000; + mov.f32 %f1046, 0f3EE66666; + mov.f32 %f1027, 0fB5BFBE8E; + mov.f32 %f1026, 0fBF317200; + mov.f32 %f1025, 0f35BFBE8E; + mov.f32 %f1024, 0f3F317200; + mov.f32 %f1023, 0f3DAAAABD; + mov.f32 %f1022, 0f3C4CAF63; + mov.f32 %f1021, 0f3B18F0FE; + setp.eq.f32 %p84, %f43, 0f3F800000; + selp.f32 %f84, 0f3F800000, %f1076, %p84; + abs.f32 %f85, %f44; + setp.lt.f32 %p85, %f85, 0f00800000; + mul.f32 %f644, %f85, 0f4B800000; + selp.f32 %f645, 0fC3170000, 0fC2FE0000, %p85; + selp.f32 %f646, %f644, %f85, %p85; + mov.b32 %r105, %f646; + and.b32 %r106, %r105, 8388607; + or.b32 %r107, %r106, 1065353216; + mov.b32 %f647, %r107; + shr.u32 %r108, %r105, 23; + cvt.rn.f32.u32 %f648, %r108; + add.f32 %f649, %f645, %f648; + setp.gt.f32 %p86, %f647, 0f3FB504F3; + mul.f32 %f650, %f647, 0f3F000000; + add.f32 %f651, %f649, 0f3F800000; + selp.f32 %f652, %f650, %f647, %p86; + selp.f32 %f653, %f651, %f649, %p86; + add.f32 %f654, %f652, 0fBF800000; + add.f32 %f643, %f652, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f642,%f643; + // inline asm + add.f32 %f655, %f654, %f654; + mul.f32 %f656, %f642, %f655; + mul.f32 %f657, %f656, %f656; + fma.rn.f32 %f660, %f1021, %f657, %f1022; + fma.rn.f32 %f662, %f660, %f657, %f1023; + mul.rn.f32 %f663, %f662, %f657; + mul.rn.f32 %f664, %f663, %f656; + sub.f32 %f665, %f654, %f656; + neg.f32 %f666, %f656; + add.f32 %f667, %f665, %f665; + fma.rn.f32 %f668, %f666, %f654, %f667; + mul.rn.f32 %f669, %f642, %f668; + add.f32 %f670, %f664, %f656; + sub.f32 %f671, %f656, %f670; + add.f32 %f672, %f664, %f671; + add.f32 %f673, %f669, %f672; + add.f32 %f674, %f670, %f673; + sub.f32 %f675, %f670, %f674; + add.f32 %f676, %f673, %f675; + mul.rn.f32 %f678, %f653, %f1024; + mul.rn.f32 %f680, %f653, %f1025; + add.f32 %f681, %f678, %f674; + sub.f32 %f682, %f678, %f681; + add.f32 %f683, %f674, %f682; + add.f32 %f684, %f676, %f683; + add.f32 %f685, %f680, %f684; + add.f32 %f686, %f681, %f685; + sub.f32 %f687, %f681, %f686; + add.f32 %f688, %f685, %f687; + mul.rn.f32 %f690, %f1046, %f686; + neg.f32 %f691, %f690; + fma.rn.f32 %f692, %f1046, %f686, %f691; + fma.rn.f32 %f693, %f1046, %f688, %f692; + fma.rn.f32 %f695, %f1047, %f686, %f693; + add.rn.f32 %f696, %f690, %f695; + neg.f32 %f697, %f696; + add.rn.f32 %f698, %f690, %f697; + add.rn.f32 %f699, %f698, %f695; + mov.b32 %r109, %f696; + setp.eq.s32 %p87, %r109, 1118925336; + add.s32 %r110, %r109, -1; + mov.b32 %f700, %r110; + add.f32 %f701, %f699, 0f37000000; + selp.f32 %f702, %f700, %f696, %p87; + selp.f32 %f86, %f701, %f699, %p87; + mul.f32 %f703, %f702, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f704, %f703; + fma.rn.f32 %f706, %f704, %f1026, %f702; + fma.rn.f32 %f708, %f704, %f1027, %f706; + mul.f32 %f709, %f708, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f710, %f709; + add.f32 %f711, %f704, 0f00000000; + ex2.approx.f32 %f712, %f711; + mul.f32 %f713, %f710, %f712; + setp.lt.f32 %p88, %f702, 0fC2D20000; + selp.f32 %f714, 0f00000000, %f713, %p88; + setp.gt.f32 %p89, %f702, 0f42D20000; + selp.f32 %f1077, 0f7F800000, %f714, %p89; + setp.eq.f32 %p90, %f1077, 0f7F800000; + @%p90 bra BB0_58; + + fma.rn.f32 %f1077, %f1077, %f86, %f1077; + +BB0_58: + setp.lt.f32 %p91, %f44, 0f00000000; + and.pred %p5, %p91, %p60; + mov.b32 %r111, %f1077; + xor.b32 %r112, %r111, -2147483648; + mov.b32 %f715, %r112; + selp.f32 %f1079, %f715, %f1077, %p5; + setp.eq.f32 %p93, %f44, 0f00000000; + @%p93 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f718, %f44, %f44; + selp.f32 %f1079, %f718, 0f00000000, %p60; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p94, %f44, 0f00000000; + @%p94 bra BB0_62; + + mov.f32 %f1048, 0f3EE66666; + cvt.rzi.f32.f32 %f717, %f1048; + setp.neu.f32 %p95, %f717, 0f3EE66666; + selp.f32 %f1079, 0f7FFFFFFF, %f1079, %p95; + +BB0_62: + abs.f32 %f1056, %f44; + add.f32 %f719, %f1056, 0f3EE66666; + mov.b32 %r113, %f719; + setp.lt.s32 %p97, %r113, 2139095040; + @%p97 bra BB0_67; + + abs.f32 %f1057, %f44; + setp.gtu.f32 %p98, %f1057, 0f7F800000; + @%p98 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f1079, %f44, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + abs.f32 %f1058, %f44; + setp.neu.f32 %p99, %f1058, 0f7F800000; + @%p99 bra BB0_67; + + selp.f32 %f1079, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + mov.u32 %r238, 4; + setp.eq.f32 %p100, %f44, 0f3F800000; + selp.f32 %f720, 0f3F800000, %f1079, %p100; + cvt.u64.u32 %rd40, %r3; + cvt.u64.u32 %rd39, %r2; + mov.u64 %rd43, image; + cvta.global.u64 %rd38, %rd43; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd38, %r31, %r238, %rd39, %rd40, %rd19, %rd19); + // inline asm + cvt.sat.f32.f32 %f721, %f720; + mul.f32 %f722, %f721, 0f437FFD71; + cvt.rzi.u32.f32 %r116, %f722; + cvt.sat.f32.f32 %f723, %f84; + mul.f32 %f724, %f723, 0f437FFD71; + cvt.rzi.u32.f32 %r117, %f724; + cvt.sat.f32.f32 %f725, %f71; + mul.f32 %f726, %f725, 0f437FFD71; + cvt.rzi.u32.f32 %r118, %f726; + cvt.u16.u32 %rs19, %r116; + cvt.u16.u32 %rs20, %r118; + cvt.u16.u32 %rs21, %r117; + mov.u16 %rs22, 255; + st.v4.u8 [%rd37], {%rs19, %rs21, %rs20, %rs22}; + ld.global.u32 %r245, [imageEnabled]; + +BB0_68: + and.b32 %r119, %r245, 4; + setp.eq.s32 %p101, %r119, 0; + @%p101 bra BB0_72; + + ld.global.u32 %r120, [additive]; + setp.eq.s32 %p102, %r120, 0; + cvt.u64.u32 %rd3, %r2; + cvt.u64.u32 %rd4, %r3; + mov.f32 %f727, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs23, %f727;} + + // inline asm + @%p102 bra BB0_71; + + mov.u64 %rd56, image_HDR; + cvta.global.u64 %rd45, %rd56; + mov.u32 %r124, 8; + // inline asm + call (%rd44), _rt_buffer_get_64, (%rd45, %r31, %r124, %rd3, %rd4, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs30, %rs31, %rs32, %rs33}, [%rd44]; + // inline asm + { cvt.f32.f16 %f728, %rs30;} + + // inline asm + // inline asm + { cvt.f32.f16 %f729, %rs31;} + + // inline asm + // inline asm + { cvt.f32.f16 %f730, %rs32;} + + // inline asm + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd45, %r31, %r124, %rd3, %rd4, %rd19, %rd19); + // inline asm + add.f32 %f731, %f42, %f728; + add.f32 %f732, %f43, %f729; + add.f32 %f733, %f44, %f730; + // inline asm + { cvt.rn.f16.f32 %rs29, %f733;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f732;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f731;} + + // inline asm + st.v4.u16 [%rd50], {%rs27, %rs28, %rs29, %rs23}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd63, image_HDR; + cvta.global.u64 %rd58, %rd63; + mov.u32 %r126, 8; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd58, %r31, %r126, %rd3, %rd4, %rd19, %rd19); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f44;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs35, %f43;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs34, %f42;} + + // inline asm + st.v4.u16 [%rd57], {%rs34, %rs35, %rs36, %rs23}; + +BB0_72: + mov.u32 %r239, 4; + mul.f32 %f740, %f28, %f1067; + ld.global.f32 %f741, [lightColor]; + mul.f32 %f742, %f740, %f741; + ld.global.f32 %f743, [lightColor+4]; + mul.f32 %f744, %f740, %f743; + ld.global.f32 %f745, [lightColor+8]; + mul.f32 %f746, %f740, %f745; + mul.f32 %f97, %f248, %f742; + mul.f32 %f98, %f249, %f744; + mul.f32 %f99, %f250, %f746; + ld.global.v2.u32 {%r129, %r130}, [pixelID]; + cvt.u64.u32 %rd66, %r129; + cvt.u64.u32 %rd67, %r130; + mov.u64 %rd70, uvtangent; + cvta.global.u64 %rd65, %rd70; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd65, %r31, %r239, %rd66, %rd67, %rd19, %rd19); + // inline asm + ld.u32 %r15, [%rd64]; + shr.u32 %r16, %r15, 16; + cvt.u16.u32 %rs37, %r16; + and.b16 %rs38, %rs37, 255; + cvt.u16.u32 %rs39, %r15; + or.b16 %rs40, %rs39, %rs38; + setp.eq.s16 %p103, %rs40, 0; + mov.f32 %f1086, 0f00000000; + mov.f32 %f1080, %f1086; + mov.f32 %f1081, %f1086; + mov.f32 %f1082, %f1086; + @%p103 bra BB0_74; + + ld.u8 %rs41, [%rd64+1]; + and.b16 %rs43, %rs39, 255; + cvt.rn.f32.u16 %f747, %rs43; + div.rn.f32 %f748, %f747, 0f437F0000; + fma.rn.f32 %f749, %f748, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f750, %rs41; + div.rn.f32 %f751, %f750, 0f437F0000; + fma.rn.f32 %f752, %f751, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f753, %rs38; + div.rn.f32 %f754, %f753, 0f437F0000; + fma.rn.f32 %f755, %f754, 0f40000000, 0fBF800000; + mul.f32 %f756, %f752, %f752; + fma.rn.f32 %f757, %f749, %f749, %f756; + fma.rn.f32 %f758, %f755, %f755, %f757; + sqrt.rn.f32 %f759, %f758; + rcp.rn.f32 %f760, %f759; + mul.f32 %f1080, %f749, %f760; + mul.f32 %f1081, %f752, %f760; + mul.f32 %f1082, %f755, %f760; + +BB0_74: + mov.u32 %r240, 4; + mul.f32 %f764, %f1061, %f1081; + mul.f32 %f765, %f1060, %f1082; + sub.f32 %f766, %f765, %f764; + mul.f32 %f767, %f1059, %f1082; + mul.f32 %f768, %f1061, %f1080; + sub.f32 %f769, %f768, %f767; + mul.f32 %f770, %f1060, %f1080; + mul.f32 %f771, %f1059, %f1081; + sub.f32 %f772, %f771, %f770; + setp.lt.u32 %p104, %r15, 16777216; + selp.f32 %f773, 0fBF800000, 0f3F800000, %p104; + mul.f32 %f774, %f766, %f773; + mul.f32 %f775, %f769, %f773; + mul.f32 %f776, %f772, %f773; + mul.f32 %f777, %f774, 0f00000000; + mul.f32 %f778, %f775, 0f00000000; + mul.f32 %f779, %f776, 0f00000000; + fma.rn.f32 %f780, %f1080, 0f3F5105EC, %f777; + fma.rn.f32 %f781, %f1081, 0f3F5105EC, %f778; + fma.rn.f32 %f782, %f1082, 0f3F5105EC, %f779; + mul.f32 %f106, %f1059, 0f3F13CD3A; + add.f32 %f107, %f106, %f780; + mul.f32 %f108, %f1060, 0f3F13CD3A; + add.f32 %f109, %f108, %f781; + mul.f32 %f110, %f1061, 0f3F13CD3A; + add.f32 %f111, %f110, %f782; + ld.global.v2.u32 {%r135, %r136}, [pixelID]; + cvt.u64.u32 %rd73, %r135; + cvt.u64.u32 %rd74, %r136; + // inline asm + call (%rd71), _rt_buffer_get_64, (%rd65, %r31, %r240, %rd73, %rd74, %rd19, %rd19); + // inline asm + ld.u32 %r17, [%rd71]; + shr.u32 %r18, %r17, 16; + cvt.u16.u32 %rs46, %r18; + and.b16 %rs47, %rs46, 255; + cvt.u16.u32 %rs48, %r17; + or.b16 %rs49, %rs48, %rs47; + setp.eq.s16 %p105, %rs49, 0; + mov.f32 %f1083, %f1086; + mov.f32 %f1084, %f1086; + mov.f32 %f1085, %f1086; + @%p105 bra BB0_76; + + ld.u8 %rs50, [%rd71+1]; + and.b16 %rs52, %rs48, 255; + cvt.rn.f32.u16 %f783, %rs52; + div.rn.f32 %f784, %f783, 0f437F0000; + fma.rn.f32 %f785, %f784, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f786, %rs50; + div.rn.f32 %f787, %f786, 0f437F0000; + fma.rn.f32 %f788, %f787, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f789, %rs47; + div.rn.f32 %f790, %f789, 0f437F0000; + fma.rn.f32 %f791, %f790, 0f40000000, 0fBF800000; + mul.f32 %f792, %f788, %f788; + fma.rn.f32 %f793, %f785, %f785, %f792; + fma.rn.f32 %f794, %f791, %f791, %f793; + sqrt.rn.f32 %f795, %f794; + rcp.rn.f32 %f796, %f795; + mul.f32 %f1083, %f785, %f796; + mul.f32 %f1084, %f788, %f796; + mul.f32 %f1085, %f791, %f796; + +BB0_76: + mov.u32 %r241, 4; + mul.f32 %f800, %f1061, %f1084; + mul.f32 %f801, %f1060, %f1085; + sub.f32 %f802, %f801, %f800; + mul.f32 %f803, %f1059, %f1085; + mul.f32 %f804, %f1061, %f1083; + sub.f32 %f805, %f804, %f803; + mul.f32 %f806, %f1060, %f1083; + mul.f32 %f807, %f1059, %f1084; + sub.f32 %f808, %f807, %f806; + setp.lt.u32 %p106, %r17, 16777216; + selp.f32 %f809, 0fBF800000, 0f3F800000, %p106; + mul.f32 %f810, %f802, %f809; + mul.f32 %f811, %f805, %f809; + mul.f32 %f812, %f808, %f809; + mul.f32 %f813, %f810, 0f3F3504F3; + mul.f32 %f814, %f811, 0f3F3504F3; + mul.f32 %f815, %f812, 0f3F3504F3; + fma.rn.f32 %f816, %f1083, 0fBED105EC, %f813; + fma.rn.f32 %f817, %f1084, 0fBED105EC, %f814; + fma.rn.f32 %f818, %f1085, 0fBED105EC, %f815; + add.f32 %f118, %f106, %f816; + add.f32 %f119, %f108, %f817; + add.f32 %f120, %f110, %f818; + ld.global.v2.u32 {%r141, %r142}, [pixelID]; + cvt.u64.u32 %rd80, %r141; + cvt.u64.u32 %rd81, %r142; + // inline asm + call (%rd78), _rt_buffer_get_64, (%rd65, %r31, %r241, %rd80, %rd81, %rd19, %rd19); + // inline asm + ld.u32 %r19, [%rd78]; + shr.u32 %r20, %r19, 16; + cvt.u16.u32 %rs55, %r20; + and.b16 %rs56, %rs55, 255; + cvt.u16.u32 %rs57, %r19; + or.b16 %rs58, %rs57, %rs56; + setp.eq.s16 %p107, %rs58, 0; + mov.f32 %f1087, %f1086; + mov.f32 %f1088, %f1086; + @%p107 bra BB0_78; + + ld.u8 %rs59, [%rd78+1]; + and.b16 %rs61, %rs57, 255; + cvt.rn.f32.u16 %f819, %rs61; + div.rn.f32 %f820, %f819, 0f437F0000; + fma.rn.f32 %f821, %f820, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f822, %rs59; + div.rn.f32 %f823, %f822, 0f437F0000; + fma.rn.f32 %f824, %f823, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f825, %rs56; + div.rn.f32 %f826, %f825, 0f437F0000; + fma.rn.f32 %f827, %f826, 0f40000000, 0fBF800000; + mul.f32 %f828, %f824, %f824; + fma.rn.f32 %f829, %f821, %f821, %f828; + fma.rn.f32 %f830, %f827, %f827, %f829; + sqrt.rn.f32 %f831, %f830; + rcp.rn.f32 %f832, %f831; + mul.f32 %f1086, %f821, %f832; + mul.f32 %f1087, %f824, %f832; + mul.f32 %f1088, %f827, %f832; + +BB0_78: + mul.f32 %f834, %f1061, %f1087; + mul.f32 %f835, %f1060, %f1088; + sub.f32 %f836, %f835, %f834; + mul.f32 %f837, %f1059, %f1088; + mul.f32 %f838, %f1061, %f1086; + sub.f32 %f839, %f838, %f837; + mul.f32 %f840, %f1060, %f1086; + mul.f32 %f841, %f1059, %f1087; + sub.f32 %f842, %f841, %f840; + setp.lt.u32 %p108, %r19, 16777216; + selp.f32 %f843, 0fBF800000, 0f3F800000, %p108; + mul.f32 %f844, %f836, %f843; + mul.f32 %f845, %f839, %f843; + mul.f32 %f846, %f842, %f843; + mul.f32 %f847, %f844, 0fBF3504F3; + mul.f32 %f848, %f845, 0fBF3504F3; + mul.f32 %f849, %f846, 0fBF3504F3; + fma.rn.f32 %f850, %f1086, 0fBED105EC, %f847; + fma.rn.f32 %f851, %f1087, 0fBED105EC, %f848; + fma.rn.f32 %f852, %f1088, 0fBED105EC, %f849; + add.f32 %f853, %f106, %f850; + add.f32 %f854, %f108, %f851; + add.f32 %f855, %f110, %f852; + mul.f32 %f856, %f11, %f109; + fma.rn.f32 %f857, %f10, %f107, %f856; + fma.rn.f32 %f858, %f12, %f111, %f857; + cvt.sat.f32.f32 %f859, %f858; + mul.f32 %f860, %f97, %f859; + mul.f32 %f861, %f98, %f859; + mul.f32 %f862, %f99, %f859; + mul.f32 %f863, %f11, %f119; + fma.rn.f32 %f864, %f10, %f118, %f863; + fma.rn.f32 %f865, %f12, %f120, %f864; + cvt.sat.f32.f32 %f866, %f865; + mul.f32 %f867, %f97, %f866; + mul.f32 %f868, %f98, %f866; + mul.f32 %f869, %f99, %f866; + mul.f32 %f870, %f11, %f854; + fma.rn.f32 %f871, %f10, %f853, %f870; + fma.rn.f32 %f872, %f12, %f855, %f871; + cvt.sat.f32.f32 %f873, %f872; + mul.f32 %f874, %f97, %f873; + mul.f32 %f875, %f98, %f873; + mul.f32 %f876, %f99, %f873; + cvt.sat.f32.f32 %f877, %f29; + mul.f32 %f878, %f97, %f877; + mul.f32 %f879, %f98, %f877; + mul.f32 %f880, %f99, %f877; + add.f32 %f881, %f860, %f867; + add.f32 %f882, %f861, %f868; + add.f32 %f883, %f862, %f869; + add.f32 %f884, %f881, %f874; + add.f32 %f885, %f882, %f875; + add.f32 %f886, %f883, %f876; + mul.f32 %f887, %f884, 0f3F13CD3A; + mul.f32 %f888, %f885, 0f3F13CD3A; + mul.f32 %f889, %f886, 0f3F13CD3A; + div.rn.f32 %f890, %f878, %f887; + div.rn.f32 %f891, %f879, %f888; + div.rn.f32 %f892, %f880, %f889; + setp.eq.f32 %p109, %f878, 0f00000000; + selp.f32 %f893, 0f00000000, %f890, %p109; + setp.eq.f32 %p110, %f879, 0f00000000; + selp.f32 %f894, 0f00000000, %f891, %p110; + setp.eq.f32 %p111, %f880, 0f00000000; + selp.f32 %f895, 0f00000000, %f892, %p111; + mul.f32 %f127, %f860, %f893; + mul.f32 %f128, %f861, %f894; + mul.f32 %f129, %f862, %f895; + mul.f32 %f130, %f867, %f893; + mul.f32 %f131, %f868, %f894; + mul.f32 %f132, %f869, %f895; + mul.f32 %f133, %f874, %f893; + mul.f32 %f134, %f875, %f894; + mul.f32 %f135, %f876, %f895; + ld.global.u32 %r145, [additive]; + setp.eq.s32 %p112, %r145, 0; + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + mov.f32 %f833, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs64, %f833;} + + // inline asm + @%p112 bra BB0_80; + + mov.u64 %rd97, image_RNM0; + cvta.global.u64 %rd86, %rd97; + mov.u32 %r149, 8; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd86, %r31, %r149, %rd8, %rd9, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs71, %rs72, %rs73, %rs74}, [%rd85]; + // inline asm + { cvt.f32.f16 %f896, %rs71;} + + // inline asm + // inline asm + { cvt.f32.f16 %f897, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f898, %rs73;} + + // inline asm + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd86, %r31, %r149, %rd8, %rd9, %rd19, %rd19); + // inline asm + add.f32 %f899, %f127, %f896; + add.f32 %f900, %f128, %f897; + add.f32 %f901, %f129, %f898; + // inline asm + { cvt.rn.f16.f32 %rs70, %f901;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f900;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs68, %f899;} + + // inline asm + st.v4.u16 [%rd91], {%rs68, %rs69, %rs70, %rs64}; + bra.uni BB0_81; + +BB0_80: + mov.u64 %rd104, image_RNM0; + cvta.global.u64 %rd99, %rd104; + mov.u32 %r151, 8; + // inline asm + call (%rd98), _rt_buffer_get_64, (%rd99, %r31, %r151, %rd8, %rd9, %rd19, %rd19); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f129;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f128;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f127;} + + // inline asm + st.v4.u16 [%rd98], {%rs75, %rs76, %rs77, %rs64}; + +BB0_81: + ld.global.u32 %r152, [additive]; + setp.eq.s32 %p113, %r152, 0; + // inline asm + { cvt.rn.f16.f32 %rs78, %f833;} + + // inline asm + @%p113 bra BB0_83; + + mov.u64 %rd117, image_RNM1; + cvta.global.u64 %rd106, %rd117; + mov.u32 %r156, 8; + // inline asm + call (%rd105), _rt_buffer_get_64, (%rd106, %r31, %r156, %rd8, %rd9, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs85, %rs86, %rs87, %rs88}, [%rd105]; + // inline asm + { cvt.f32.f16 %f906, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f907, %rs86;} + + // inline asm + // inline asm + { cvt.f32.f16 %f908, %rs87;} + + // inline asm + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd106, %r31, %r156, %rd8, %rd9, %rd19, %rd19); + // inline asm + add.f32 %f909, %f130, %f906; + add.f32 %f910, %f131, %f907; + add.f32 %f911, %f132, %f908; + // inline asm + { cvt.rn.f16.f32 %rs84, %f911;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f910;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f909;} + + // inline asm + st.v4.u16 [%rd111], {%rs82, %rs83, %rs84, %rs78}; + bra.uni BB0_84; + +BB0_83: + mov.u64 %rd124, image_RNM1; + cvta.global.u64 %rd119, %rd124; + mov.u32 %r158, 8; + // inline asm + call (%rd118), _rt_buffer_get_64, (%rd119, %r31, %r158, %rd8, %rd9, %rd19, %rd19); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f132;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f131;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f130;} + + // inline asm + st.v4.u16 [%rd118], {%rs89, %rs90, %rs91, %rs78}; + +BB0_84: + ld.global.u32 %r159, [additive]; + setp.eq.s32 %p114, %r159, 0; + // inline asm + { cvt.rn.f16.f32 %rs92, %f833;} + + // inline asm + @%p114 bra BB0_86; + + mov.u64 %rd137, image_RNM2; + cvta.global.u64 %rd126, %rd137; + mov.u32 %r163, 8; + // inline asm + call (%rd125), _rt_buffer_get_64, (%rd126, %r31, %r163, %rd8, %rd9, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd125]; + // inline asm + { cvt.f32.f16 %f916, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f917, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f918, %rs101;} + + // inline asm + // inline asm + call (%rd131), _rt_buffer_get_64, (%rd126, %r31, %r163, %rd8, %rd9, %rd19, %rd19); + // inline asm + add.f32 %f919, %f133, %f916; + add.f32 %f920, %f134, %f917; + add.f32 %f921, %f135, %f918; + // inline asm + { cvt.rn.f16.f32 %rs98, %f921;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f920;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f919;} + + // inline asm + st.v4.u16 [%rd131], {%rs96, %rs97, %rs98, %rs92}; + bra.uni BB0_121; + +BB0_86: + mov.u64 %rd144, image_RNM2; + cvta.global.u64 %rd139, %rd144; + mov.u32 %r165, 8; + // inline asm + call (%rd138), _rt_buffer_get_64, (%rd139, %r31, %r165, %rd8, %rd9, %rd19, %rd19); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs105, %f135;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f134;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f133;} + + // inline asm + st.v4.u16 [%rd138], {%rs103, %rs104, %rs105, %rs92}; + +BB0_121: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx.meta new file mode 100644 index 00000000..16ee4f78 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 711084be1ed7b1e4d9bd10a50c9d541d +timeCreated: 1537523975 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightSH.ptx new file mode 100644 index 00000000..e0649864 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightSH.ptx @@ -0,0 +1,2464 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCookie; +.global .align 4 .b8 lightMatrix[36]; +.global .align 4 .f32 lightFOV; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightMatrixE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightFOVE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename11lightMatrixE[10] = {77, 97, 116, 114, 105, 120, 51, 120, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightFOVE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightMatrixE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightFOVE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightMatrixE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightFOVE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightMatrixE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightFOVE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<140>; + .reg .b16 %rs<221>; + .reg .f32 %f<1020>; + .reg .b32 %r<253>; + .reg .b64 %rd<369>; + + + mov.u64 %rd368, __local_depot0; + cvta.local.u64 %SP, %rd368; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd12, %r26; + cvt.u64.u32 %rd13, %r27; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r24, 2; + mov.u32 %r25, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r24, %r25, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r30, %r1, 16; + cvt.u16.u32 %rs1, %r30; + and.b16 %rs12, %rs1, 255; + cvt.u16.u32 %rs13, %r1; + or.b16 %rs14, %rs13, %rs12; + setp.eq.s16 %p7, %rs14, 0; + mov.f32 %f996, 0f00000000; + mov.f32 %f997, %f996; + mov.f32 %f998, %f996; + @%p7 bra BB0_2; + + ld.u8 %rs15, [%rd10+1]; + and.b16 %rs17, %rs13, 255; + cvt.rn.f32.u16 %f122, %rs17; + div.rn.f32 %f123, %f122, 0f437F0000; + fma.rn.f32 %f124, %f123, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f125, %rs15; + div.rn.f32 %f126, %f125, 0f437F0000; + fma.rn.f32 %f127, %f126, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f128, %rs12; + div.rn.f32 %f129, %f128, 0f437F0000; + fma.rn.f32 %f130, %f129, 0f40000000, 0fBF800000; + mul.f32 %f131, %f127, %f127; + fma.rn.f32 %f132, %f124, %f124, %f131; + fma.rn.f32 %f133, %f130, %f130, %f132; + sqrt.rn.f32 %f134, %f133; + rcp.rn.f32 %f135, %f134; + mul.f32 %f996, %f124, %f135; + mul.f32 %f997, %f127, %f135; + mul.f32 %f998, %f130, %f135; + +BB0_2: + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + ld.global.v2.u32 {%r34, %r35}, [tileInfo]; + add.s32 %r2, %r31, %r34; + add.s32 %r3, %r32, %r35; + setp.eq.f32 %p8, %f997, 0f00000000; + setp.eq.f32 %p9, %f996, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f998, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_115; + bra.uni BB0_3; + +BB0_115: + ld.global.u32 %r252, [imageEnabled]; + and.b32 %r201, %r252, 1; + setp.eq.b32 %p132, %r201, 1; + @!%p132 bra BB0_117; + bra.uni BB0_116; + +BB0_116: + cvt.u64.u32 %rd256, %r2; + cvt.u64.u32 %rd257, %r3; + mov.u64 %rd260, image; + cvta.global.u64 %rd255, %rd260; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r24, %r25, %rd256, %rd257, %rd15, %rd15); + // inline asm + mov.u16 %rs153, 0; + st.v4.u8 [%rd254], {%rs153, %rs153, %rs153, %rs153}; + ld.global.u32 %r252, [imageEnabled]; + +BB0_117: + and.b32 %r204, %r252, 8; + setp.eq.s32 %p133, %r204, 0; + @%p133 bra BB0_119; + + cvt.u64.u32 %rd264, %r3; + cvt.u64.u32 %rd263, %r2; + mov.u64 %rd267, image_Mask; + cvta.global.u64 %rd262, %rd267; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r24, %r24, %rd263, %rd264, %rd15, %rd15); + // inline asm + mov.f32 %f896, 0f00000000; + cvt.rzi.u32.f32 %r207, %f896; + cvt.u16.u32 %rs154, %r207; + mov.u16 %rs155, 0; + st.v2.u8 [%rd261], {%rs154, %rs155}; + ld.global.u32 %r252, [imageEnabled]; + +BB0_119: + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + and.b32 %r208, %r252, 4; + setp.eq.s32 %p134, %r208, 0; + @%p134 bra BB0_123; + + ld.global.u32 %r209, [additive]; + setp.eq.s32 %p135, %r209, 0; + @%p135 bra BB0_122; + + mov.u64 %rd280, image_HDR; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r213, 8; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r24, %r213, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs162, %rs163, %rs164, %rs165}, [%rd268]; + // inline asm + { cvt.f32.f16 %f897, %rs162;} + + // inline asm + // inline asm + { cvt.f32.f16 %f898, %rs163;} + + // inline asm + // inline asm + { cvt.f32.f16 %f899, %rs164;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r24, %r213, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f900, %f897, 0f00000000; + add.f32 %f901, %f898, 0f00000000; + add.f32 %f902, %f899, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs161, %f902;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs160, %f901;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs159, %f900;} + + // inline asm + mov.u16 %rs166, 0; + st.v4.u16 [%rd274], {%rs159, %rs160, %rs161, %rs166}; + bra.uni BB0_123; + +BB0_3: + ld.global.v2.u32 {%r41, %r42}, [pixelID]; + cvt.u64.u32 %rd19, %r41; + cvt.u64.u32 %rd20, %r42; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r40, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r24, %r40, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f138, [lightPos]; + ld.f32 %f9, [%rd17+8]; + ld.f32 %f8, [%rd17+4]; + ld.f32 %f7, [%rd17]; + sub.f32 %f139, %f138, %f7; + ld.global.f32 %f140, [lightPos+4]; + sub.f32 %f141, %f140, %f8; + ld.global.f32 %f142, [lightPos+8]; + sub.f32 %f143, %f142, %f9; + mul.f32 %f144, %f141, %f141; + fma.rn.f32 %f145, %f139, %f139, %f144; + fma.rn.f32 %f146, %f143, %f143, %f145; + sqrt.rn.f32 %f147, %f146; + rcp.rn.f32 %f148, %f147; + mul.f32 %f10, %f139, %f148; + mul.f32 %f11, %f141, %f148; + mul.f32 %f12, %f143, %f148; + ld.global.f32 %f149, [lightFalloffFakeDistanceMult]; + mul.f32 %f13, %f147, %f149; + ld.global.f32 %f150, [lightInvCutoff]; + mul.f32 %f14, %f147, %f150; + mov.f32 %f154, 0f40800000; + abs.f32 %f16, %f14; + setp.lt.f32 %p13, %f16, 0f00800000; + mul.f32 %f156, %f16, 0f4B800000; + selp.f32 %f157, 0fC3170000, 0fC2FE0000, %p13; + selp.f32 %f158, %f156, %f16, %p13; + mov.b32 %r45, %f158; + and.b32 %r46, %r45, 8388607; + or.b32 %r47, %r46, 1065353216; + mov.b32 %f159, %r47; + shr.u32 %r48, %r45, 23; + cvt.rn.f32.u32 %f160, %r48; + add.f32 %f161, %f157, %f160; + setp.gt.f32 %p14, %f159, 0f3FB504F3; + mul.f32 %f162, %f159, 0f3F000000; + add.f32 %f163, %f161, 0f3F800000; + selp.f32 %f164, %f162, %f159, %p14; + selp.f32 %f165, %f163, %f161, %p14; + add.f32 %f166, %f164, 0fBF800000; + add.f32 %f137, %f164, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f136,%f137; + // inline asm + add.f32 %f167, %f166, %f166; + mul.f32 %f168, %f136, %f167; + mul.f32 %f169, %f168, %f168; + mov.f32 %f170, 0f3C4CAF63; + mov.f32 %f171, 0f3B18F0FE; + fma.rn.f32 %f172, %f171, %f169, %f170; + mov.f32 %f173, 0f3DAAAABD; + fma.rn.f32 %f174, %f172, %f169, %f173; + mul.rn.f32 %f175, %f174, %f169; + mul.rn.f32 %f176, %f175, %f168; + sub.f32 %f177, %f166, %f168; + neg.f32 %f178, %f168; + add.f32 %f179, %f177, %f177; + fma.rn.f32 %f180, %f178, %f166, %f179; + mul.rn.f32 %f181, %f136, %f180; + add.f32 %f182, %f176, %f168; + sub.f32 %f183, %f168, %f182; + add.f32 %f184, %f176, %f183; + add.f32 %f185, %f181, %f184; + add.f32 %f186, %f182, %f185; + sub.f32 %f187, %f182, %f186; + add.f32 %f188, %f185, %f187; + mov.f32 %f189, 0f3F317200; + mul.rn.f32 %f190, %f165, %f189; + mov.f32 %f191, 0f35BFBE8E; + mul.rn.f32 %f192, %f165, %f191; + add.f32 %f193, %f190, %f186; + sub.f32 %f194, %f190, %f193; + add.f32 %f195, %f186, %f194; + add.f32 %f196, %f188, %f195; + add.f32 %f197, %f192, %f196; + add.f32 %f198, %f193, %f197; + sub.f32 %f199, %f193, %f198; + add.f32 %f200, %f197, %f199; + mul.rn.f32 %f201, %f154, %f198; + neg.f32 %f202, %f201; + fma.rn.f32 %f203, %f154, %f198, %f202; + fma.rn.f32 %f204, %f154, %f200, %f203; + mov.f32 %f205, 0f00000000; + fma.rn.f32 %f206, %f205, %f198, %f204; + add.rn.f32 %f207, %f201, %f206; + neg.f32 %f208, %f207; + add.rn.f32 %f209, %f201, %f208; + add.rn.f32 %f210, %f209, %f206; + mov.b32 %r49, %f207; + setp.eq.s32 %p15, %r49, 1118925336; + add.s32 %r50, %r49, -1; + mov.b32 %f211, %r50; + add.f32 %f212, %f210, 0f37000000; + selp.f32 %f213, %f211, %f207, %p15; + selp.f32 %f17, %f212, %f210, %p15; + mul.f32 %f214, %f213, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f215, %f214; + mov.f32 %f216, 0fBF317200; + fma.rn.f32 %f217, %f215, %f216, %f213; + mov.f32 %f218, 0fB5BFBE8E; + fma.rn.f32 %f219, %f215, %f218, %f217; + mul.f32 %f220, %f219, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f221, %f220; + add.f32 %f222, %f215, 0f00000000; + ex2.approx.f32 %f223, %f222; + mul.f32 %f224, %f221, %f223; + setp.lt.f32 %p16, %f213, 0fC2D20000; + selp.f32 %f225, 0f00000000, %f224, %p16; + setp.gt.f32 %p17, %f213, 0f42D20000; + selp.f32 %f999, 0f7F800000, %f225, %p17; + setp.eq.f32 %p18, %f999, 0f7F800000; + @%p18 bra BB0_5; + + fma.rn.f32 %f999, %f999, %f17, %f999; + +BB0_5: + mov.f32 %f937, 0f40000000; + cvt.rzi.f32.f32 %f936, %f937; + add.f32 %f935, %f936, %f936; + mov.f32 %f934, 0f40800000; + sub.f32 %f933, %f934, %f935; + abs.f32 %f932, %f933; + setp.lt.f32 %p19, %f14, 0f00000000; + setp.eq.f32 %p20, %f932, 0f3F800000; + and.pred %p1, %p19, %p20; + mov.b32 %r51, %f999; + xor.b32 %r52, %r51, -2147483648; + mov.b32 %f226, %r52; + selp.f32 %f1001, %f226, %f999, %p1; + setp.eq.f32 %p21, %f14, 0f00000000; + @%p21 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f229, %f14, %f14; + selp.f32 %f1001, %f229, 0f00000000, %p20; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p22, %f14, 0f00000000; + @%p22 bra BB0_9; + + mov.f32 %f979, 0f40800000; + cvt.rzi.f32.f32 %f228, %f979; + setp.neu.f32 %p23, %f228, 0f40800000; + selp.f32 %f1001, 0f7FFFFFFF, %f1001, %p23; + +BB0_9: + abs.f32 %f938, %f14; + add.f32 %f230, %f938, 0f40800000; + mov.b32 %r53, %f230; + setp.lt.s32 %p25, %r53, 2139095040; + @%p25 bra BB0_14; + + abs.f32 %f977, %f14; + setp.gtu.f32 %p26, %f977, 0f7F800000; + @%p26 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f1001, %f14, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f978, %f14; + setp.neu.f32 %p27, %f978, 0f7F800000; + @%p27 bra BB0_14; + + selp.f32 %f1001, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f946, 0fB5BFBE8E; + mov.f32 %f945, 0fBF317200; + mov.f32 %f944, 0f00000000; + mov.f32 %f943, 0f35BFBE8E; + mov.f32 %f942, 0f3F317200; + mov.f32 %f941, 0f3DAAAABD; + mov.f32 %f940, 0f3C4CAF63; + mov.f32 %f939, 0f3B18F0FE; + mov.f32 %f233, 0f3F800000; + sub.f32 %f234, %f233, %f1001; + setp.eq.f32 %p28, %f14, 0f3F800000; + selp.f32 %f235, 0f00000000, %f234, %p28; + cvt.sat.f32.f32 %f236, %f235; + ld.global.f32 %f237, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f238, %f13, %f13, %f237; + div.rn.f32 %f28, %f236, %f238; + mul.f32 %f239, %f997, %f11; + fma.rn.f32 %f240, %f996, %f10, %f239; + fma.rn.f32 %f241, %f998, %f12, %f240; + ld.global.u32 %r54, [imageEnabled]; + and.b32 %r55, %r54, 32; + ld.global.u32 %r56, [ignoreNormal]; + or.b32 %r57, %r55, %r56; + setp.eq.s32 %p29, %r57, 0; + selp.f32 %f29, %f241, 0f3F800000, %p29; + fma.rn.f32 %f242, %f29, 0f3F000000, 0f3F000000; + cvt.sat.f32.f32 %f243, %f242; + add.f32 %f30, %f243, %f243; + mov.f32 %f247, 0f41A00000; + abs.f32 %f32, %f30; + setp.lt.f32 %p30, %f32, 0f00800000; + mul.f32 %f249, %f32, 0f4B800000; + selp.f32 %f250, 0fC3170000, 0fC2FE0000, %p30; + selp.f32 %f251, %f249, %f32, %p30; + mov.b32 %r58, %f251; + and.b32 %r59, %r58, 8388607; + or.b32 %r60, %r59, 1065353216; + mov.b32 %f252, %r60; + shr.u32 %r61, %r58, 23; + cvt.rn.f32.u32 %f253, %r61; + add.f32 %f254, %f250, %f253; + setp.gt.f32 %p31, %f252, 0f3FB504F3; + mul.f32 %f255, %f252, 0f3F000000; + add.f32 %f256, %f254, 0f3F800000; + selp.f32 %f257, %f255, %f252, %p31; + selp.f32 %f258, %f256, %f254, %p31; + add.f32 %f259, %f257, 0fBF800000; + add.f32 %f232, %f257, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f231,%f232; + // inline asm + add.f32 %f260, %f259, %f259; + mul.f32 %f261, %f231, %f260; + mul.f32 %f262, %f261, %f261; + fma.rn.f32 %f265, %f939, %f262, %f940; + fma.rn.f32 %f267, %f265, %f262, %f941; + mul.rn.f32 %f268, %f267, %f262; + mul.rn.f32 %f269, %f268, %f261; + sub.f32 %f270, %f259, %f261; + neg.f32 %f271, %f261; + add.f32 %f272, %f270, %f270; + fma.rn.f32 %f273, %f271, %f259, %f272; + mul.rn.f32 %f274, %f231, %f273; + add.f32 %f275, %f269, %f261; + sub.f32 %f276, %f261, %f275; + add.f32 %f277, %f269, %f276; + add.f32 %f278, %f274, %f277; + add.f32 %f279, %f275, %f278; + sub.f32 %f280, %f275, %f279; + add.f32 %f281, %f278, %f280; + mul.rn.f32 %f283, %f258, %f942; + mul.rn.f32 %f285, %f258, %f943; + add.f32 %f286, %f283, %f279; + sub.f32 %f287, %f283, %f286; + add.f32 %f288, %f279, %f287; + add.f32 %f289, %f281, %f288; + add.f32 %f290, %f285, %f289; + add.f32 %f291, %f286, %f290; + sub.f32 %f292, %f286, %f291; + add.f32 %f293, %f290, %f292; + mul.rn.f32 %f294, %f247, %f291; + neg.f32 %f295, %f294; + fma.rn.f32 %f296, %f247, %f291, %f295; + fma.rn.f32 %f297, %f247, %f293, %f296; + fma.rn.f32 %f299, %f944, %f291, %f297; + add.rn.f32 %f300, %f294, %f299; + neg.f32 %f301, %f300; + add.rn.f32 %f302, %f294, %f301; + add.rn.f32 %f303, %f302, %f299; + mov.b32 %r62, %f300; + setp.eq.s32 %p32, %r62, 1118925336; + add.s32 %r63, %r62, -1; + mov.b32 %f304, %r63; + add.f32 %f305, %f303, 0f37000000; + selp.f32 %f306, %f304, %f300, %p32; + selp.f32 %f33, %f305, %f303, %p32; + mul.f32 %f307, %f306, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f308, %f307; + fma.rn.f32 %f310, %f308, %f945, %f306; + fma.rn.f32 %f312, %f308, %f946, %f310; + mul.f32 %f313, %f312, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f314, %f313; + add.f32 %f315, %f308, 0f00000000; + ex2.approx.f32 %f316, %f315; + mul.f32 %f317, %f314, %f316; + setp.lt.f32 %p33, %f306, 0fC2D20000; + selp.f32 %f318, 0f00000000, %f317, %p33; + setp.gt.f32 %p34, %f306, 0f42D20000; + selp.f32 %f1002, 0f7F800000, %f318, %p34; + setp.eq.f32 %p35, %f1002, 0f7F800000; + @%p35 bra BB0_16; + + fma.rn.f32 %f1002, %f1002, %f33, %f1002; + +BB0_16: + mov.f32 %f985, 0f41200000; + cvt.rzi.f32.f32 %f984, %f985; + add.f32 %f983, %f984, %f984; + mov.f32 %f982, 0f41A00000; + sub.f32 %f981, %f982, %f983; + abs.f32 %f980, %f981; + setp.lt.f32 %p36, %f30, 0f00000000; + setp.eq.f32 %p37, %f980, 0f3F800000; + and.pred %p2, %p36, %p37; + mov.b32 %r64, %f1002; + xor.b32 %r65, %r64, -2147483648; + mov.b32 %f319, %r65; + selp.f32 %f1004, %f319, %f1002, %p2; + setp.eq.f32 %p38, %f30, 0f00000000; + @%p38 bra BB0_19; + bra.uni BB0_17; + +BB0_19: + add.f32 %f322, %f30, %f30; + selp.f32 %f1004, %f322, 0f00000000, %p37; + bra.uni BB0_20; + +BB0_17: + setp.geu.f32 %p39, %f30, 0f00000000; + @%p39 bra BB0_20; + + mov.f32 %f987, 0f41A00000; + cvt.rzi.f32.f32 %f321, %f987; + setp.neu.f32 %p40, %f321, 0f41A00000; + selp.f32 %f1004, 0f7FFFFFFF, %f1004, %p40; + +BB0_20: + add.f32 %f323, %f32, 0f41A00000; + mov.b32 %r66, %f323; + setp.lt.s32 %p42, %r66, 2139095040; + @%p42 bra BB0_25; + + setp.gtu.f32 %p43, %f32, 0f7F800000; + @%p43 bra BB0_24; + bra.uni BB0_22; + +BB0_24: + add.f32 %f1004, %f30, 0f41A00000; + bra.uni BB0_25; + +BB0_22: + setp.neu.f32 %p44, %f32, 0f7F800000; + @%p44 bra BB0_25; + + selp.f32 %f1004, 0fFF800000, 0f7F800000, %p2; + +BB0_25: + mov.f32 %f947, 0f00000000; + setp.eq.f32 %p45, %f30, 0f3F800000; + selp.f32 %f332, 0f3F800000, %f1004, %p45; + cvt.sat.f32.f32 %f333, %f332; + mul.f32 %f44, %f28, %f333; + mul.f32 %f334, %f29, 0f40800000; + cvt.sat.f32.f32 %f45, %f334; + ld.global.f32 %f335, [lightMatrix+24]; + mul.f32 %f336, %f10, %f335; + ld.global.f32 %f337, [lightMatrix+28]; + mul.f32 %f338, %f11, %f337; + neg.f32 %f339, %f338; + sub.f32 %f340, %f339, %f336; + ld.global.f32 %f341, [lightMatrix+32]; + mul.f32 %f342, %f12, %f341; + sub.f32 %f343, %f340, %f342; + setp.gt.f32 %p46, %f343, 0f00000000; + ld.global.f32 %f344, [lightMatrix]; + mul.f32 %f345, %f344, %f10; + sub.f32 %f346, %f947, %f345; + ld.global.f32 %f347, [lightMatrix+4]; + mul.f32 %f348, %f347, %f11; + sub.f32 %f349, %f346, %f348; + ld.global.f32 %f350, [lightMatrix+8]; + mul.f32 %f351, %f350, %f12; + sub.f32 %f352, %f349, %f351; + selp.f32 %f353, 0f3F800000, 0f00000000, %p46; + ld.global.f32 %f354, [lightMatrix+12]; + mul.f32 %f355, %f354, %f10; + sub.f32 %f356, %f947, %f355; + ld.global.f32 %f357, [lightMatrix+16]; + mul.f32 %f358, %f357, %f11; + sub.f32 %f359, %f356, %f358; + ld.global.f32 %f360, [lightMatrix+20]; + mul.f32 %f361, %f360, %f12; + sub.f32 %f362, %f359, %f361; + ld.global.u32 %r67, [lightCookie]; + ld.global.f32 %f363, [lightFOV]; + fma.rn.f32 %f328, %f352, %f363, 0f3F000000; + fma.rn.f32 %f329, %f362, %f363, 0f3F000000; + // inline asm + call (%f324, %f325, %f326, %f327), _rt_texture_get_f_id, (%r67, %r24, %f328, %f329, %f947, %f947); + // inline asm + max.f32 %f364, %f324, %f325; + max.f32 %f365, %f364, %f326; + mul.f32 %f366, %f353, %f365; + mul.f32 %f367, %f44, %f45; + mul.f32 %f368, %f367, %f366; + ld.global.f32 %f369, [lightColor+4]; + ld.global.f32 %f370, [lightColor]; + max.f32 %f371, %f370, %f369; + ld.global.f32 %f372, [lightColor+8]; + max.f32 %f373, %f371, %f372; + mul.f32 %f374, %f368, %f373; + setp.lt.f32 %p47, %f374, 0f3727C5AC; + @%p47 bra BB0_95; + bra.uni BB0_26; + +BB0_95: + ld.global.u32 %r250, [imageEnabled]; + and.b32 %r158, %r250, 1; + setp.eq.b32 %p124, %r158, 1; + @!%p124 bra BB0_97; + bra.uni BB0_96; + +BB0_96: + cvt.u64.u32 %rd142, %r2; + cvt.u64.u32 %rd143, %r3; + mov.u64 %rd146, image; + cvta.global.u64 %rd141, %rd146; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r24, %r25, %rd142, %rd143, %rd15, %rd15); + // inline asm + mov.u16 %rs89, 1; + mov.u16 %rs90, 0; + st.v4.u8 [%rd140], {%rs90, %rs90, %rs90, %rs89}; + ld.global.u32 %r250, [imageEnabled]; + +BB0_97: + and.b32 %r161, %r250, 8; + setp.eq.s32 %p125, %r161, 0; + @%p125 bra BB0_99; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd149, %r2; + mov.u64 %rd153, image_Mask; + cvta.global.u64 %rd148, %rd153; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r24, %r24, %rd149, %rd150, %rd15, %rd15); + // inline asm + mov.f32 %f853, 0f00000000; + cvt.rzi.u32.f32 %r164, %f853; + cvt.u16.u32 %rs91, %r164; + mov.u16 %rs92, 255; + st.v2.u8 [%rd147], {%rs91, %rs92}; + ld.global.u32 %r250, [imageEnabled]; + +BB0_99: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r165, %r250, 4; + setp.eq.s32 %p126, %r165, 0; + @%p126 bra BB0_103; + + ld.global.u32 %r166, [additive]; + setp.eq.s32 %p127, %r166, 0; + mov.f32 %f854, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs93, %f854;} + + // inline asm + @%p127 bra BB0_102; + + mov.u64 %rd166, image_HDR; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r170, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r24, %r170, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs100, %rs101, %rs102, %rs103}, [%rd154]; + // inline asm + { cvt.f32.f16 %f855, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f856, %rs101;} + + // inline asm + // inline asm + { cvt.f32.f16 %f857, %rs102;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r24, %r170, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f858, %f855, 0f00000000; + add.f32 %f859, %f856, 0f00000000; + add.f32 %f860, %f857, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs99, %f860;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f859;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f858;} + + // inline asm + st.v4.u16 [%rd160], {%rs97, %rs98, %rs99, %rs93}; + bra.uni BB0_103; + +BB0_26: + mov.f32 %f1006, 0f00000000; + mul.f32 %f376, %f7, 0f3456BF95; + abs.f32 %f377, %f996; + div.rn.f32 %f378, %f376, %f377; + abs.f32 %f379, %f997; + mul.f32 %f380, %f8, 0f3456BF95; + div.rn.f32 %f381, %f380, %f379; + abs.f32 %f382, %f998; + mul.f32 %f383, %f9, 0f3456BF95; + div.rn.f32 %f384, %f383, %f382; + abs.f32 %f385, %f378; + abs.f32 %f386, %f381; + abs.f32 %f387, %f384; + mov.f32 %f388, 0f38D1B717; + max.f32 %f389, %f385, %f388; + max.f32 %f390, %f386, %f388; + max.f32 %f391, %f387, %f388; + fma.rn.f32 %f49, %f996, %f389, %f7; + fma.rn.f32 %f50, %f997, %f390, %f8; + fma.rn.f32 %f51, %f998, %f391, %f9; + ld.global.u32 %r246, [samples]; + setp.lt.s32 %p48, %r246, 1; + @%p48 bra BB0_29; + + mul.f32 %f393, %f49, 0f3456BF95; + abs.f32 %f394, %f393; + mul.f32 %f395, %f50, 0f3456BF95; + abs.f32 %f396, %f395; + mul.f32 %f397, %f51, 0f3456BF95; + abs.f32 %f398, %f397; + max.f32 %f399, %f394, %f396; + max.f32 %f400, %f399, %f398; + max.f32 %f52, %f400, %f388; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f1006, 0f00000000; + mov.u32 %r245, 0; + +BB0_28: + cvt.rn.f32.s32 %f410, %r245; + mul.f32 %f411, %f410, 0f3DD32618; + cvt.rmi.f32.f32 %f412, %f411; + sub.f32 %f413, %f411, %f412; + mul.f32 %f414, %f410, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f415, %f414; + sub.f32 %f416, %f414, %f415; + mul.f32 %f417, %f410, 0f3DC74539; + cvt.rmi.f32.f32 %f418, %f417; + sub.f32 %f419, %f417, %f418; + add.f32 %f420, %f416, 0f4199851F; + add.f32 %f421, %f419, 0f4199851F; + add.f32 %f422, %f413, 0f4199851F; + mul.f32 %f423, %f416, %f421; + fma.rn.f32 %f424, %f413, %f420, %f423; + fma.rn.f32 %f425, %f422, %f419, %f424; + add.f32 %f426, %f413, %f425; + add.f32 %f427, %f416, %f425; + add.f32 %f428, %f419, %f425; + add.f32 %f429, %f426, %f427; + mul.f32 %f430, %f428, %f429; + cvt.rmi.f32.f32 %f431, %f430; + sub.f32 %f432, %f430, %f431; + add.f32 %f433, %f426, %f428; + mul.f32 %f434, %f427, %f433; + cvt.rmi.f32.f32 %f435, %f434; + sub.f32 %f436, %f434, %f435; + add.f32 %f437, %f427, %f428; + mul.f32 %f438, %f426, %f437; + cvt.rmi.f32.f32 %f439, %f438; + sub.f32 %f440, %f438, %f439; + fma.rn.f32 %f441, %f432, 0f40000000, 0fBF800000; + fma.rn.f32 %f442, %f436, 0f40000000, 0fBF800000; + fma.rn.f32 %f443, %f440, 0f40000000, 0fBF800000; + ld.global.f32 %f444, [lightRadius]; + ld.global.f32 %f445, [lightPos]; + fma.rn.f32 %f446, %f444, %f441, %f445; + ld.global.f32 %f447, [lightPos+4]; + fma.rn.f32 %f448, %f444, %f442, %f447; + ld.global.f32 %f449, [lightPos+8]; + fma.rn.f32 %f450, %f444, %f443, %f449; + sub.f32 %f451, %f446, %f7; + sub.f32 %f452, %f448, %f8; + sub.f32 %f453, %f450, %f9; + mul.f32 %f454, %f452, %f452; + fma.rn.f32 %f455, %f451, %f451, %f454; + fma.rn.f32 %f456, %f453, %f453, %f455; + sqrt.rn.f32 %f409, %f456; + rcp.rn.f32 %f457, %f409; + mul.f32 %f405, %f457, %f451; + mul.f32 %f406, %f457, %f452; + mul.f32 %f407, %f457, %f453; + ld.global.u32 %r73, [imageEnabled]; + and.b32 %r74, %r73, 32; + setp.eq.s32 %p49, %r74, 0; + selp.f32 %f458, 0f3F800000, 0f41200000, %p49; + mul.f32 %f408, %f458, %f52; + mov.u32 %r75, 1065353216; + st.local.u32 [%rd2], %r75; + ld.global.u32 %r70, [root]; + mov.u32 %r71, 1; + // inline asm + call _rt_trace_64, (%r70, %f49, %f50, %f51, %f405, %f406, %f407, %r71, %f408, %f409, %rd24, %r25); + // inline asm + ld.local.f32 %f459, [%rd2]; + add.f32 %f1006, %f1006, %f459; + ld.global.u32 %r246, [samples]; + add.s32 %r245, %r245, 1; + setp.lt.s32 %p50, %r245, %r246; + @%p50 bra BB0_28; + +BB0_29: + mov.f32 %f1007, 0f3F800000; + setp.eq.s32 %p51, %r246, 0; + @%p51 bra BB0_31; + + cvt.rn.f32.s32 %f461, %r246; + div.rn.f32 %f1007, %f1006, %f461; + +BB0_31: + cvt.sat.f32.f32 %f462, %f29; + mul.f32 %f463, %f44, %f462; + mul.f32 %f464, %f1007, %f463; + ld.global.f32 %f465, [lightColor]; + mul.f32 %f466, %f465, %f464; + ld.global.f32 %f467, [lightColor+4]; + mul.f32 %f468, %f467, %f464; + ld.global.f32 %f469, [lightColor+8]; + mul.f32 %f470, %f464, %f469; + mul.f32 %f58, %f324, %f466; + mul.f32 %f59, %f325, %f468; + mul.f32 %f60, %f326, %f470; + ld.global.u32 %r248, [imageEnabled]; + and.b32 %r76, %r248, 8; + setp.eq.s32 %p52, %r76, 0; + @%p52 bra BB0_44; + + mov.f32 %f955, 0fB5BFBE8E; + mov.f32 %f954, 0fBF317200; + mov.f32 %f953, 0f35BFBE8E; + mov.f32 %f952, 0f3F317200; + mov.f32 %f951, 0f3DAAAABD; + mov.f32 %f950, 0f3C4CAF63; + mov.f32 %f949, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r24, %r24, %rd28, %rd29, %rd15, %rd15); + // inline asm + abs.f32 %f62, %f1007; + setp.lt.f32 %p53, %f62, 0f00800000; + mul.f32 %f476, %f62, 0f4B800000; + selp.f32 %f477, 0fC3170000, 0fC2FE0000, %p53; + selp.f32 %f478, %f476, %f62, %p53; + mov.b32 %r79, %f478; + and.b32 %r80, %r79, 8388607; + or.b32 %r81, %r80, 1065353216; + mov.b32 %f479, %r81; + shr.u32 %r82, %r79, 23; + cvt.rn.f32.u32 %f480, %r82; + add.f32 %f481, %f477, %f480; + setp.gt.f32 %p54, %f479, 0f3FB504F3; + mul.f32 %f482, %f479, 0f3F000000; + add.f32 %f483, %f481, 0f3F800000; + selp.f32 %f484, %f482, %f479, %p54; + selp.f32 %f485, %f483, %f481, %p54; + add.f32 %f486, %f484, 0fBF800000; + add.f32 %f472, %f484, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f471,%f472; + // inline asm + add.f32 %f487, %f486, %f486; + mul.f32 %f488, %f471, %f487; + mul.f32 %f489, %f488, %f488; + fma.rn.f32 %f492, %f949, %f489, %f950; + fma.rn.f32 %f494, %f492, %f489, %f951; + mul.rn.f32 %f495, %f494, %f489; + mul.rn.f32 %f496, %f495, %f488; + sub.f32 %f497, %f486, %f488; + neg.f32 %f498, %f488; + add.f32 %f499, %f497, %f497; + fma.rn.f32 %f500, %f498, %f486, %f499; + mul.rn.f32 %f501, %f471, %f500; + add.f32 %f502, %f496, %f488; + sub.f32 %f503, %f488, %f502; + add.f32 %f504, %f496, %f503; + add.f32 %f505, %f501, %f504; + add.f32 %f506, %f502, %f505; + sub.f32 %f507, %f502, %f506; + add.f32 %f508, %f505, %f507; + mul.rn.f32 %f510, %f485, %f952; + mul.rn.f32 %f512, %f485, %f953; + add.f32 %f513, %f510, %f506; + sub.f32 %f514, %f510, %f513; + add.f32 %f515, %f506, %f514; + add.f32 %f516, %f508, %f515; + add.f32 %f517, %f512, %f516; + add.f32 %f518, %f513, %f517; + sub.f32 %f519, %f513, %f518; + add.f32 %f520, %f517, %f519; + mov.f32 %f521, 0f3EE8BA2E; + mul.rn.f32 %f522, %f521, %f518; + neg.f32 %f523, %f522; + fma.rn.f32 %f524, %f521, %f518, %f523; + fma.rn.f32 %f525, %f521, %f520, %f524; + mov.f32 %f526, 0f00000000; + fma.rn.f32 %f527, %f526, %f518, %f525; + add.rn.f32 %f528, %f522, %f527; + neg.f32 %f529, %f528; + add.rn.f32 %f530, %f522, %f529; + add.rn.f32 %f531, %f530, %f527; + mov.b32 %r83, %f528; + setp.eq.s32 %p55, %r83, 1118925336; + add.s32 %r84, %r83, -1; + mov.b32 %f532, %r84; + add.f32 %f533, %f531, 0f37000000; + selp.f32 %f534, %f532, %f528, %p55; + selp.f32 %f63, %f533, %f531, %p55; + mul.f32 %f535, %f534, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f536, %f535; + fma.rn.f32 %f538, %f536, %f954, %f534; + fma.rn.f32 %f540, %f536, %f955, %f538; + mul.f32 %f541, %f540, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f542, %f541; + add.f32 %f543, %f536, 0f00000000; + ex2.approx.f32 %f544, %f543; + mul.f32 %f545, %f542, %f544; + setp.lt.f32 %p56, %f534, 0fC2D20000; + selp.f32 %f546, 0f00000000, %f545, %p56; + setp.gt.f32 %p57, %f534, 0f42D20000; + selp.f32 %f1008, 0f7F800000, %f546, %p57; + setp.eq.f32 %p58, %f1008, 0f7F800000; + @%p58 bra BB0_34; + + fma.rn.f32 %f1008, %f1008, %f63, %f1008; + +BB0_34: + mov.f32 %f991, 0f3E68BA2E; + cvt.rzi.f32.f32 %f990, %f991; + fma.rn.f32 %f989, %f990, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f988, %f989; + setp.lt.f32 %p59, %f1007, 0f00000000; + setp.eq.f32 %p60, %f988, 0f3F800000; + and.pred %p3, %p59, %p60; + mov.b32 %r85, %f1008; + xor.b32 %r86, %r85, -2147483648; + mov.b32 %f547, %r86; + selp.f32 %f1010, %f547, %f1008, %p3; + setp.eq.f32 %p61, %f1007, 0f00000000; + @%p61 bra BB0_37; + bra.uni BB0_35; + +BB0_37: + add.f32 %f550, %f1007, %f1007; + selp.f32 %f1010, %f550, 0f00000000, %p60; + bra.uni BB0_38; + +BB0_122: + mov.u64 %rd287, image_HDR; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r215, 8; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r24, %r215, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f903, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f903;} + + // inline asm + mov.u16 %rs168, 0; + st.v4.u16 [%rd281], {%rs167, %rs167, %rs167, %rs168}; + +BB0_123: + ld.global.u32 %r216, [additive]; + setp.eq.s32 %p136, %r216, 0; + @%p136 bra BB0_125; + + mov.u64 %rd300, image_RNM0; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r220, 8; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r24, %r220, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs175, %rs176, %rs177, %rs178}, [%rd288]; + // inline asm + { cvt.f32.f16 %f904, %rs175;} + + // inline asm + // inline asm + { cvt.f32.f16 %f905, %rs176;} + + // inline asm + // inline asm + { cvt.f32.f16 %f906, %rs177;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r24, %r220, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f907, %f904, 0f00000000; + add.f32 %f908, %f905, 0f00000000; + add.f32 %f909, %f906, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs174, %f909;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs173, %f908;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs172, %f907;} + + // inline asm + mov.u16 %rs179, 0; + st.v4.u16 [%rd294], {%rs172, %rs173, %rs174, %rs179}; + bra.uni BB0_126; + +BB0_125: + mov.u64 %rd307, image_RNM0; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r222, 8; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r24, %r222, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f910, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs180, %f910;} + + // inline asm + mov.u16 %rs181, 0; + st.v4.u16 [%rd301], {%rs180, %rs180, %rs180, %rs181}; + +BB0_126: + ld.global.u32 %r223, [additive]; + setp.eq.s32 %p137, %r223, 0; + @%p137 bra BB0_128; + + mov.u64 %rd320, image_RNM1; + cvta.global.u64 %rd309, %rd320; + mov.u32 %r227, 8; + // inline asm + call (%rd308), _rt_buffer_get_64, (%rd309, %r24, %r227, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs188, %rs189, %rs190, %rs191}, [%rd308]; + // inline asm + { cvt.f32.f16 %f911, %rs188;} + + // inline asm + // inline asm + { cvt.f32.f16 %f912, %rs189;} + + // inline asm + // inline asm + { cvt.f32.f16 %f913, %rs190;} + + // inline asm + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd309, %r24, %r227, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f914, %f911, 0f00000000; + add.f32 %f915, %f912, 0f00000000; + add.f32 %f916, %f913, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs187, %f916;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs186, %f915;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs185, %f914;} + + // inline asm + mov.u16 %rs192, 0; + st.v4.u16 [%rd314], {%rs185, %rs186, %rs187, %rs192}; + bra.uni BB0_129; + +BB0_128: + mov.u64 %rd327, image_RNM1; + cvta.global.u64 %rd322, %rd327; + mov.u32 %r229, 8; + // inline asm + call (%rd321), _rt_buffer_get_64, (%rd322, %r24, %r229, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f917, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs193, %f917;} + + // inline asm + mov.u16 %rs194, 0; + st.v4.u16 [%rd321], {%rs193, %rs193, %rs193, %rs194}; + +BB0_129: + ld.global.u32 %r230, [additive]; + setp.eq.s32 %p138, %r230, 0; + @%p138 bra BB0_131; + + mov.u64 %rd340, image_RNM2; + cvta.global.u64 %rd329, %rd340; + mov.u32 %r234, 8; + // inline asm + call (%rd328), _rt_buffer_get_64, (%rd329, %r24, %r234, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs201, %rs202, %rs203, %rs204}, [%rd328]; + // inline asm + { cvt.f32.f16 %f918, %rs201;} + + // inline asm + // inline asm + { cvt.f32.f16 %f919, %rs202;} + + // inline asm + // inline asm + { cvt.f32.f16 %f920, %rs203;} + + // inline asm + // inline asm + call (%rd334), _rt_buffer_get_64, (%rd329, %r24, %r234, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f921, %f918, 0f00000000; + add.f32 %f922, %f919, 0f00000000; + add.f32 %f923, %f920, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs200, %f923;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs199, %f922;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs198, %f921;} + + // inline asm + mov.u16 %rs205, 0; + st.v4.u16 [%rd334], {%rs198, %rs199, %rs200, %rs205}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd347, image_RNM2; + cvta.global.u64 %rd342, %rd347; + mov.u32 %r236, 8; + // inline asm + call (%rd341), _rt_buffer_get_64, (%rd342, %r24, %r236, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f924, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs206, %f924;} + + // inline asm + mov.u16 %rs207, 0; + st.v4.u16 [%rd341], {%rs206, %rs206, %rs206, %rs207}; + +BB0_132: + ld.global.u32 %r237, [additive]; + setp.eq.s32 %p139, %r237, 0; + @%p139 bra BB0_134; + + mov.u64 %rd360, image_RNM3; + cvta.global.u64 %rd349, %rd360; + mov.u32 %r241, 8; + // inline asm + call (%rd348), _rt_buffer_get_64, (%rd349, %r24, %r241, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs214, %rs215, %rs216, %rs217}, [%rd348]; + // inline asm + { cvt.f32.f16 %f925, %rs214;} + + // inline asm + // inline asm + { cvt.f32.f16 %f926, %rs215;} + + // inline asm + // inline asm + { cvt.f32.f16 %f927, %rs216;} + + // inline asm + // inline asm + call (%rd354), _rt_buffer_get_64, (%rd349, %r24, %r241, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f928, %f925, 0f00000000; + add.f32 %f929, %f926, 0f00000000; + add.f32 %f930, %f927, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs213, %f930;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs212, %f929;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs211, %f928;} + + // inline asm + mov.u16 %rs218, 0; + st.v4.u16 [%rd354], {%rs211, %rs212, %rs213, %rs218}; + bra.uni BB0_135; + +BB0_134: + mov.u64 %rd367, image_RNM3; + cvta.global.u64 %rd362, %rd367; + mov.u32 %r243, 8; + // inline asm + call (%rd361), _rt_buffer_get_64, (%rd362, %r24, %r243, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f931, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs219, %f931;} + + // inline asm + mov.u16 %rs220, 0; + st.v4.u16 [%rd361], {%rs219, %rs219, %rs219, %rs220}; + bra.uni BB0_135; + +BB0_102: + mov.u64 %rd173, image_HDR; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r172, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r24, %r172, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f861, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f861;} + + // inline asm + st.v4.u16 [%rd167], {%rs104, %rs104, %rs104, %rs93}; + +BB0_103: + ld.global.u32 %r173, [additive]; + setp.eq.s32 %p128, %r173, 0; + mov.f32 %f862, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f862;} + + // inline asm + @%p128 bra BB0_105; + + mov.u64 %rd186, image_RNM0; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r177, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r24, %r177, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd174]; + // inline asm + { cvt.f32.f16 %f863, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f864, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f865, %rs114;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r24, %r177, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f866, %f863, 0f00000000; + add.f32 %f867, %f864, 0f00000000; + add.f32 %f868, %f865, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f868;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f867;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f866;} + + // inline asm + st.v4.u16 [%rd180], {%rs109, %rs110, %rs111, %rs105}; + bra.uni BB0_106; + +BB0_105: + mov.u64 %rd193, image_RNM0; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r179, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r24, %r179, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f869, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f869;} + + // inline asm + st.v4.u16 [%rd187], {%rs116, %rs116, %rs116, %rs105}; + +BB0_106: + ld.global.u32 %r180, [additive]; + setp.eq.s32 %p129, %r180, 0; + // inline asm + { cvt.rn.f16.f32 %rs117, %f862;} + + // inline asm + @%p129 bra BB0_108; + + mov.u64 %rd206, image_RNM1; + cvta.global.u64 %rd195, %rd206; + mov.u32 %r184, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r24, %r184, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd194]; + // inline asm + { cvt.f32.f16 %f871, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f872, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f873, %rs126;} + + // inline asm + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd195, %r24, %r184, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f874, %f871, 0f00000000; + add.f32 %f875, %f872, 0f00000000; + add.f32 %f876, %f873, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f876;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f875;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f874;} + + // inline asm + st.v4.u16 [%rd200], {%rs121, %rs122, %rs123, %rs117}; + bra.uni BB0_109; + +BB0_108: + mov.u64 %rd213, image_RNM1; + cvta.global.u64 %rd208, %rd213; + mov.u32 %r186, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r24, %r186, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f877, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f877;} + + // inline asm + st.v4.u16 [%rd207], {%rs128, %rs128, %rs128, %rs117}; + +BB0_109: + ld.global.u32 %r187, [additive]; + setp.eq.s32 %p130, %r187, 0; + // inline asm + { cvt.rn.f16.f32 %rs129, %f862;} + + // inline asm + @%p130 bra BB0_111; + + mov.u64 %rd226, image_RNM2; + cvta.global.u64 %rd215, %rd226; + mov.u32 %r191, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r24, %r191, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs136, %rs137, %rs138, %rs139}, [%rd214]; + // inline asm + { cvt.f32.f16 %f879, %rs136;} + + // inline asm + // inline asm + { cvt.f32.f16 %f880, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f881, %rs138;} + + // inline asm + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd215, %r24, %r191, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f882, %f879, 0f00000000; + add.f32 %f883, %f880, 0f00000000; + add.f32 %f884, %f881, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs135, %f884;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f883;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs133, %f882;} + + // inline asm + st.v4.u16 [%rd220], {%rs133, %rs134, %rs135, %rs129}; + bra.uni BB0_112; + +BB0_111: + mov.u64 %rd233, image_RNM2; + cvta.global.u64 %rd228, %rd233; + mov.u32 %r193, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r24, %r193, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f885, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f885;} + + // inline asm + st.v4.u16 [%rd227], {%rs140, %rs140, %rs140, %rs129}; + +BB0_112: + ld.global.u32 %r194, [additive]; + setp.eq.s32 %p131, %r194, 0; + // inline asm + { cvt.rn.f16.f32 %rs141, %f862;} + + // inline asm + @%p131 bra BB0_114; + + mov.u64 %rd246, image_RNM3; + cvta.global.u64 %rd235, %rd246; + mov.u32 %r198, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r24, %r198, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs148, %rs149, %rs150, %rs151}, [%rd234]; + // inline asm + { cvt.f32.f16 %f887, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f888, %rs149;} + + // inline asm + // inline asm + { cvt.f32.f16 %f889, %rs150;} + + // inline asm + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd235, %r24, %r198, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f890, %f887, 0f00000000; + add.f32 %f891, %f888, 0f00000000; + add.f32 %f892, %f889, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f892;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs146, %f891;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f890;} + + // inline asm + st.v4.u16 [%rd240], {%rs145, %rs146, %rs147, %rs141}; + bra.uni BB0_135; + +BB0_114: + mov.u64 %rd253, image_RNM3; + cvta.global.u64 %rd248, %rd253; + mov.u32 %r200, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r24, %r200, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f893, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f893;} + + // inline asm + st.v4.u16 [%rd247], {%rs152, %rs152, %rs152, %rs141}; + bra.uni BB0_135; + +BB0_35: + setp.geu.f32 %p62, %f1007, 0f00000000; + @%p62 bra BB0_38; + + mov.f32 %f995, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f549, %f995; + setp.neu.f32 %p63, %f549, 0f3EE8BA2E; + selp.f32 %f1010, 0f7FFFFFFF, %f1010, %p63; + +BB0_38: + abs.f32 %f992, %f1007; + add.f32 %f551, %f992, 0f3EE8BA2E; + mov.b32 %r87, %f551; + setp.lt.s32 %p65, %r87, 2139095040; + @%p65 bra BB0_43; + + abs.f32 %f993, %f1007; + setp.gtu.f32 %p66, %f993, 0f7F800000; + @%p66 bra BB0_42; + bra.uni BB0_40; + +BB0_42: + add.f32 %f1010, %f1007, 0f3EE8BA2E; + bra.uni BB0_43; + +BB0_40: + abs.f32 %f994, %f1007; + setp.neu.f32 %p67, %f994, 0f7F800000; + @%p67 bra BB0_43; + + selp.f32 %f1010, 0fFF800000, 0f7F800000, %p3; + +BB0_43: + mul.f32 %f552, %f1010, 0f437F0000; + setp.eq.f32 %p68, %f1007, 0f3F800000; + selp.f32 %f553, 0f437F0000, %f552, %p68; + cvt.rzi.u32.f32 %r88, %f553; + cvt.u16.u32 %rs19, %r88; + mov.u16 %rs20, 255; + st.v2.u8 [%rd26], {%rs19, %rs20}; + ld.global.u32 %r248, [imageEnabled]; + +BB0_44: + and.b32 %r89, %r248, 1; + setp.eq.b32 %p69, %r89, 1; + @!%p69 bra BB0_79; + bra.uni BB0_45; + +BB0_45: + mov.f32 %f962, 0fB5BFBE8E; + mov.f32 %f961, 0fBF317200; + mov.f32 %f960, 0f35BFBE8E; + mov.f32 %f959, 0f3F317200; + mov.f32 %f958, 0f3DAAAABD; + mov.f32 %f957, 0f3C4CAF63; + mov.f32 %f956, 0f3B18F0FE; + mov.f32 %f556, 0f3E666666; + cvt.rzi.f32.f32 %f557, %f556; + fma.rn.f32 %f558, %f557, 0fC0000000, 0f3EE66666; + abs.f32 %f74, %f558; + abs.f32 %f75, %f58; + setp.lt.f32 %p70, %f75, 0f00800000; + mul.f32 %f559, %f75, 0f4B800000; + selp.f32 %f560, 0fC3170000, 0fC2FE0000, %p70; + selp.f32 %f561, %f559, %f75, %p70; + mov.b32 %r90, %f561; + and.b32 %r91, %r90, 8388607; + or.b32 %r92, %r91, 1065353216; + mov.b32 %f562, %r92; + shr.u32 %r93, %r90, 23; + cvt.rn.f32.u32 %f563, %r93; + add.f32 %f564, %f560, %f563; + setp.gt.f32 %p71, %f562, 0f3FB504F3; + mul.f32 %f565, %f562, 0f3F000000; + add.f32 %f566, %f564, 0f3F800000; + selp.f32 %f567, %f565, %f562, %p71; + selp.f32 %f568, %f566, %f564, %p71; + add.f32 %f569, %f567, 0fBF800000; + add.f32 %f555, %f567, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f554,%f555; + // inline asm + add.f32 %f570, %f569, %f569; + mul.f32 %f571, %f554, %f570; + mul.f32 %f572, %f571, %f571; + fma.rn.f32 %f575, %f956, %f572, %f957; + fma.rn.f32 %f577, %f575, %f572, %f958; + mul.rn.f32 %f578, %f577, %f572; + mul.rn.f32 %f579, %f578, %f571; + sub.f32 %f580, %f569, %f571; + neg.f32 %f581, %f571; + add.f32 %f582, %f580, %f580; + fma.rn.f32 %f583, %f581, %f569, %f582; + mul.rn.f32 %f584, %f554, %f583; + add.f32 %f585, %f579, %f571; + sub.f32 %f586, %f571, %f585; + add.f32 %f587, %f579, %f586; + add.f32 %f588, %f584, %f587; + add.f32 %f589, %f585, %f588; + sub.f32 %f590, %f585, %f589; + add.f32 %f591, %f588, %f590; + mul.rn.f32 %f593, %f568, %f959; + mul.rn.f32 %f595, %f568, %f960; + add.f32 %f596, %f593, %f589; + sub.f32 %f597, %f593, %f596; + add.f32 %f598, %f589, %f597; + add.f32 %f599, %f591, %f598; + add.f32 %f600, %f595, %f599; + add.f32 %f601, %f596, %f600; + sub.f32 %f602, %f596, %f601; + add.f32 %f603, %f600, %f602; + mov.f32 %f604, 0f3EE66666; + mul.rn.f32 %f605, %f604, %f601; + neg.f32 %f606, %f605; + fma.rn.f32 %f607, %f604, %f601, %f606; + fma.rn.f32 %f608, %f604, %f603, %f607; + mov.f32 %f609, 0f00000000; + fma.rn.f32 %f610, %f609, %f601, %f608; + add.rn.f32 %f611, %f605, %f610; + neg.f32 %f612, %f611; + add.rn.f32 %f613, %f605, %f612; + add.rn.f32 %f614, %f613, %f610; + mov.b32 %r94, %f611; + setp.eq.s32 %p72, %r94, 1118925336; + add.s32 %r95, %r94, -1; + mov.b32 %f615, %r95; + add.f32 %f616, %f614, 0f37000000; + selp.f32 %f617, %f615, %f611, %p72; + selp.f32 %f76, %f616, %f614, %p72; + mul.f32 %f618, %f617, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f619, %f618; + fma.rn.f32 %f621, %f619, %f961, %f617; + fma.rn.f32 %f623, %f619, %f962, %f621; + mul.f32 %f624, %f623, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f625, %f624; + add.f32 %f626, %f619, 0f00000000; + ex2.approx.f32 %f627, %f626; + mul.f32 %f628, %f625, %f627; + setp.lt.f32 %p73, %f617, 0fC2D20000; + selp.f32 %f629, 0f00000000, %f628, %p73; + setp.gt.f32 %p74, %f617, 0f42D20000; + selp.f32 %f1011, 0f7F800000, %f629, %p74; + setp.eq.f32 %p75, %f1011, 0f7F800000; + @%p75 bra BB0_47; + + fma.rn.f32 %f1011, %f1011, %f76, %f1011; + +BB0_47: + setp.lt.f32 %p76, %f58, 0f00000000; + setp.eq.f32 %p77, %f74, 0f3F800000; + and.pred %p4, %p76, %p77; + mov.b32 %r96, %f1011; + xor.b32 %r97, %r96, -2147483648; + mov.b32 %f630, %r97; + selp.f32 %f1013, %f630, %f1011, %p4; + setp.eq.f32 %p78, %f58, 0f00000000; + @%p78 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f633, %f58, %f58; + selp.f32 %f1013, %f633, 0f00000000, %p77; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p79, %f58, 0f00000000; + @%p79 bra BB0_51; + + cvt.rzi.f32.f32 %f632, %f604; + setp.neu.f32 %p80, %f632, 0f3EE66666; + selp.f32 %f1013, 0f7FFFFFFF, %f1013, %p80; + +BB0_51: + add.f32 %f634, %f75, 0f3EE66666; + mov.b32 %r98, %f634; + setp.lt.s32 %p82, %r98, 2139095040; + @%p82 bra BB0_56; + + setp.gtu.f32 %p83, %f75, 0f7F800000; + @%p83 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f1013, %f58, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p84, %f75, 0f7F800000; + @%p84 bra BB0_56; + + selp.f32 %f1013, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f969, 0fB5BFBE8E; + mov.f32 %f968, 0fBF317200; + mov.f32 %f967, 0f35BFBE8E; + mov.f32 %f966, 0f3F317200; + mov.f32 %f965, 0f3DAAAABD; + mov.f32 %f964, 0f3C4CAF63; + mov.f32 %f963, 0f3B18F0FE; + setp.eq.f32 %p85, %f58, 0f3F800000; + selp.f32 %f87, 0f3F800000, %f1013, %p85; + abs.f32 %f88, %f59; + setp.lt.f32 %p86, %f88, 0f00800000; + mul.f32 %f637, %f88, 0f4B800000; + selp.f32 %f638, 0fC3170000, 0fC2FE0000, %p86; + selp.f32 %f639, %f637, %f88, %p86; + mov.b32 %r99, %f639; + and.b32 %r100, %r99, 8388607; + or.b32 %r101, %r100, 1065353216; + mov.b32 %f640, %r101; + shr.u32 %r102, %r99, 23; + cvt.rn.f32.u32 %f641, %r102; + add.f32 %f642, %f638, %f641; + setp.gt.f32 %p87, %f640, 0f3FB504F3; + mul.f32 %f643, %f640, 0f3F000000; + add.f32 %f644, %f642, 0f3F800000; + selp.f32 %f645, %f643, %f640, %p87; + selp.f32 %f646, %f644, %f642, %p87; + add.f32 %f647, %f645, 0fBF800000; + add.f32 %f636, %f645, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f635,%f636; + // inline asm + add.f32 %f648, %f647, %f647; + mul.f32 %f649, %f635, %f648; + mul.f32 %f650, %f649, %f649; + fma.rn.f32 %f653, %f963, %f650, %f964; + fma.rn.f32 %f655, %f653, %f650, %f965; + mul.rn.f32 %f656, %f655, %f650; + mul.rn.f32 %f657, %f656, %f649; + sub.f32 %f658, %f647, %f649; + neg.f32 %f659, %f649; + add.f32 %f660, %f658, %f658; + fma.rn.f32 %f661, %f659, %f647, %f660; + mul.rn.f32 %f662, %f635, %f661; + add.f32 %f663, %f657, %f649; + sub.f32 %f664, %f649, %f663; + add.f32 %f665, %f657, %f664; + add.f32 %f666, %f662, %f665; + add.f32 %f667, %f663, %f666; + sub.f32 %f668, %f663, %f667; + add.f32 %f669, %f666, %f668; + mul.rn.f32 %f671, %f646, %f966; + mul.rn.f32 %f673, %f646, %f967; + add.f32 %f674, %f671, %f667; + sub.f32 %f675, %f671, %f674; + add.f32 %f676, %f667, %f675; + add.f32 %f677, %f669, %f676; + add.f32 %f678, %f673, %f677; + add.f32 %f679, %f674, %f678; + sub.f32 %f680, %f674, %f679; + add.f32 %f681, %f678, %f680; + mul.rn.f32 %f683, %f604, %f679; + neg.f32 %f684, %f683; + fma.rn.f32 %f685, %f604, %f679, %f684; + fma.rn.f32 %f686, %f604, %f681, %f685; + fma.rn.f32 %f688, %f609, %f679, %f686; + add.rn.f32 %f689, %f683, %f688; + neg.f32 %f690, %f689; + add.rn.f32 %f691, %f683, %f690; + add.rn.f32 %f692, %f691, %f688; + mov.b32 %r103, %f689; + setp.eq.s32 %p88, %r103, 1118925336; + add.s32 %r104, %r103, -1; + mov.b32 %f693, %r104; + add.f32 %f694, %f692, 0f37000000; + selp.f32 %f695, %f693, %f689, %p88; + selp.f32 %f89, %f694, %f692, %p88; + mul.f32 %f696, %f695, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f697, %f696; + fma.rn.f32 %f699, %f697, %f968, %f695; + fma.rn.f32 %f701, %f697, %f969, %f699; + mul.f32 %f702, %f701, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f703, %f702; + add.f32 %f704, %f697, 0f00000000; + ex2.approx.f32 %f705, %f704; + mul.f32 %f706, %f703, %f705; + setp.lt.f32 %p89, %f695, 0fC2D20000; + selp.f32 %f707, 0f00000000, %f706, %p89; + setp.gt.f32 %p90, %f695, 0f42D20000; + selp.f32 %f1014, 0f7F800000, %f707, %p90; + setp.eq.f32 %p91, %f1014, 0f7F800000; + @%p91 bra BB0_58; + + fma.rn.f32 %f1014, %f1014, %f89, %f1014; + +BB0_58: + setp.lt.f32 %p92, %f59, 0f00000000; + and.pred %p5, %p92, %p77; + mov.b32 %r105, %f1014; + xor.b32 %r106, %r105, -2147483648; + mov.b32 %f708, %r106; + selp.f32 %f1016, %f708, %f1014, %p5; + setp.eq.f32 %p94, %f59, 0f00000000; + @%p94 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f711, %f59, %f59; + selp.f32 %f1016, %f711, 0f00000000, %p77; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p95, %f59, 0f00000000; + @%p95 bra BB0_62; + + cvt.rzi.f32.f32 %f710, %f604; + setp.neu.f32 %p96, %f710, 0f3EE66666; + selp.f32 %f1016, 0f7FFFFFFF, %f1016, %p96; + +BB0_62: + add.f32 %f712, %f88, 0f3EE66666; + mov.b32 %r107, %f712; + setp.lt.s32 %p98, %r107, 2139095040; + @%p98 bra BB0_67; + + setp.gtu.f32 %p99, %f88, 0f7F800000; + @%p99 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f1016, %f59, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p100, %f88, 0f7F800000; + @%p100 bra BB0_67; + + selp.f32 %f1016, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + mov.f32 %f976, 0fB5BFBE8E; + mov.f32 %f975, 0fBF317200; + mov.f32 %f974, 0f35BFBE8E; + mov.f32 %f973, 0f3F317200; + mov.f32 %f972, 0f3DAAAABD; + mov.f32 %f971, 0f3C4CAF63; + mov.f32 %f970, 0f3B18F0FE; + setp.eq.f32 %p101, %f59, 0f3F800000; + selp.f32 %f100, 0f3F800000, %f1016, %p101; + abs.f32 %f101, %f60; + setp.lt.f32 %p102, %f101, 0f00800000; + mul.f32 %f715, %f101, 0f4B800000; + selp.f32 %f716, 0fC3170000, 0fC2FE0000, %p102; + selp.f32 %f717, %f715, %f101, %p102; + mov.b32 %r108, %f717; + and.b32 %r109, %r108, 8388607; + or.b32 %r110, %r109, 1065353216; + mov.b32 %f718, %r110; + shr.u32 %r111, %r108, 23; + cvt.rn.f32.u32 %f719, %r111; + add.f32 %f720, %f716, %f719; + setp.gt.f32 %p103, %f718, 0f3FB504F3; + mul.f32 %f721, %f718, 0f3F000000; + add.f32 %f722, %f720, 0f3F800000; + selp.f32 %f723, %f721, %f718, %p103; + selp.f32 %f724, %f722, %f720, %p103; + add.f32 %f725, %f723, 0fBF800000; + add.f32 %f714, %f723, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f713,%f714; + // inline asm + add.f32 %f726, %f725, %f725; + mul.f32 %f727, %f713, %f726; + mul.f32 %f728, %f727, %f727; + fma.rn.f32 %f731, %f970, %f728, %f971; + fma.rn.f32 %f733, %f731, %f728, %f972; + mul.rn.f32 %f734, %f733, %f728; + mul.rn.f32 %f735, %f734, %f727; + sub.f32 %f736, %f725, %f727; + neg.f32 %f737, %f727; + add.f32 %f738, %f736, %f736; + fma.rn.f32 %f739, %f737, %f725, %f738; + mul.rn.f32 %f740, %f713, %f739; + add.f32 %f741, %f735, %f727; + sub.f32 %f742, %f727, %f741; + add.f32 %f743, %f735, %f742; + add.f32 %f744, %f740, %f743; + add.f32 %f745, %f741, %f744; + sub.f32 %f746, %f741, %f745; + add.f32 %f747, %f744, %f746; + mul.rn.f32 %f749, %f724, %f973; + mul.rn.f32 %f751, %f724, %f974; + add.f32 %f752, %f749, %f745; + sub.f32 %f753, %f749, %f752; + add.f32 %f754, %f745, %f753; + add.f32 %f755, %f747, %f754; + add.f32 %f756, %f751, %f755; + add.f32 %f757, %f752, %f756; + sub.f32 %f758, %f752, %f757; + add.f32 %f759, %f756, %f758; + mul.rn.f32 %f761, %f604, %f757; + neg.f32 %f762, %f761; + fma.rn.f32 %f763, %f604, %f757, %f762; + fma.rn.f32 %f764, %f604, %f759, %f763; + fma.rn.f32 %f766, %f609, %f757, %f764; + add.rn.f32 %f767, %f761, %f766; + neg.f32 %f768, %f767; + add.rn.f32 %f769, %f761, %f768; + add.rn.f32 %f770, %f769, %f766; + mov.b32 %r112, %f767; + setp.eq.s32 %p104, %r112, 1118925336; + add.s32 %r113, %r112, -1; + mov.b32 %f771, %r113; + add.f32 %f772, %f770, 0f37000000; + selp.f32 %f773, %f771, %f767, %p104; + selp.f32 %f102, %f772, %f770, %p104; + mul.f32 %f774, %f773, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f775, %f774; + fma.rn.f32 %f777, %f775, %f975, %f773; + fma.rn.f32 %f779, %f775, %f976, %f777; + mul.f32 %f780, %f779, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f781, %f780; + add.f32 %f782, %f775, 0f00000000; + ex2.approx.f32 %f783, %f782; + mul.f32 %f784, %f781, %f783; + setp.lt.f32 %p105, %f773, 0fC2D20000; + selp.f32 %f785, 0f00000000, %f784, %p105; + setp.gt.f32 %p106, %f773, 0f42D20000; + selp.f32 %f1017, 0f7F800000, %f785, %p106; + setp.eq.f32 %p107, %f1017, 0f7F800000; + @%p107 bra BB0_69; + + fma.rn.f32 %f1017, %f1017, %f102, %f1017; + +BB0_69: + setp.lt.f32 %p108, %f60, 0f00000000; + and.pred %p6, %p108, %p77; + mov.b32 %r114, %f1017; + xor.b32 %r115, %r114, -2147483648; + mov.b32 %f786, %r115; + selp.f32 %f1019, %f786, %f1017, %p6; + setp.eq.f32 %p110, %f60, 0f00000000; + @%p110 bra BB0_72; + bra.uni BB0_70; + +BB0_72: + add.f32 %f789, %f60, %f60; + selp.f32 %f1019, %f789, 0f00000000, %p77; + bra.uni BB0_73; + +BB0_70: + setp.geu.f32 %p111, %f60, 0f00000000; + @%p111 bra BB0_73; + + cvt.rzi.f32.f32 %f788, %f604; + setp.neu.f32 %p112, %f788, 0f3EE66666; + selp.f32 %f1019, 0f7FFFFFFF, %f1019, %p112; + +BB0_73: + add.f32 %f790, %f101, 0f3EE66666; + mov.b32 %r116, %f790; + setp.lt.s32 %p114, %r116, 2139095040; + @%p114 bra BB0_78; + + setp.gtu.f32 %p115, %f101, 0f7F800000; + @%p115 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f1019, %f60, 0f3EE66666; + bra.uni BB0_78; + +BB0_75: + setp.neu.f32 %p116, %f101, 0f7F800000; + @%p116 bra BB0_78; + + selp.f32 %f1019, 0fFF800000, 0f7F800000, %p6; + +BB0_78: + mov.u32 %r244, 4; + setp.eq.f32 %p117, %f60, 0f3F800000; + selp.f32 %f791, 0f3F800000, %f1019, %p117; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r24, %r244, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f792, %f791; + mul.f32 %f793, %f792, 0f437FFD71; + cvt.rzi.u32.f32 %r119, %f793; + cvt.sat.f32.f32 %f794, %f100; + mul.f32 %f795, %f794, 0f437FFD71; + cvt.rzi.u32.f32 %r120, %f795; + cvt.sat.f32.f32 %f796, %f87; + mul.f32 %f797, %f796, 0f437FFD71; + cvt.rzi.u32.f32 %r121, %f797; + cvt.u16.u32 %rs21, %r119; + cvt.u16.u32 %rs22, %r121; + cvt.u16.u32 %rs23, %r120; + mov.u16 %rs24, 255; + st.v4.u8 [%rd33], {%rs21, %rs23, %rs22, %rs24}; + ld.global.u32 %r248, [imageEnabled]; + +BB0_79: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r122, %r248, 4; + setp.eq.s32 %p118, %r122, 0; + @%p118 bra BB0_83; + + ld.global.u32 %r123, [additive]; + setp.eq.s32 %p119, %r123, 0; + mov.f32 %f798, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f798;} + + // inline asm + @%p119 bra BB0_82; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r127, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r24, %r127, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs32, %rs33, %rs34, %rs35}, [%rd40]; + // inline asm + { cvt.f32.f16 %f799, %rs32;} + + // inline asm + // inline asm + { cvt.f32.f16 %f800, %rs33;} + + // inline asm + // inline asm + { cvt.f32.f16 %f801, %rs34;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r24, %r127, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f802, %f58, %f799; + add.f32 %f803, %f59, %f800; + add.f32 %f804, %f60, %f801; + // inline asm + { cvt.rn.f16.f32 %rs31, %f804;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f803;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f802;} + + // inline asm + st.v4.u16 [%rd46], {%rs29, %rs30, %rs31, %rs25}; + bra.uni BB0_83; + +BB0_82: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r129, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r24, %r129, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f60;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f59;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f58;} + + // inline asm + st.v4.u16 [%rd53], {%rs36, %rs37, %rs38, %rs25}; + +BB0_83: + mul.f32 %f809, %f44, 0f3E800000; + mul.f32 %f810, %f809, %f1007; + mul.f32 %f811, %f45, %f810; + ld.global.f32 %f812, [lightColor]; + mul.f32 %f813, %f811, %f812; + ld.global.f32 %f814, [lightColor+4]; + mul.f32 %f815, %f811, %f814; + ld.global.f32 %f816, [lightColor+8]; + mul.f32 %f817, %f811, %f816; + mul.f32 %f113, %f324, %f813; + mul.f32 %f114, %f325, %f815; + mul.f32 %f115, %f326, %f817; + ld.global.u32 %r130, [additive]; + setp.eq.s32 %p120, %r130, 0; + mov.f32 %f808, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f808;} + + // inline asm + @%p120 bra BB0_85; + + mov.u64 %rd72, image_RNM0; + cvta.global.u64 %rd61, %rd72; + mov.u32 %r134, 8; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r24, %r134, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs46, %rs47, %rs48, %rs49}, [%rd60]; + // inline asm + { cvt.f32.f16 %f818, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f819, %rs47;} + + // inline asm + // inline asm + { cvt.f32.f16 %f820, %rs48;} + + // inline asm + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd61, %r24, %r134, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f821, %f113, %f818; + add.f32 %f822, %f114, %f819; + add.f32 %f823, %f115, %f820; + // inline asm + { cvt.rn.f16.f32 %rs45, %f823;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f822;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f821;} + + // inline asm + st.v4.u16 [%rd66], {%rs43, %rs44, %rs45, %rs39}; + bra.uni BB0_86; + +BB0_85: + mov.u64 %rd79, image_RNM0; + cvta.global.u64 %rd74, %rd79; + mov.u32 %r136, 8; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r24, %r136, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f115;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f114;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f113;} + + // inline asm + st.v4.u16 [%rd73], {%rs50, %rs51, %rs52, %rs39}; + +BB0_86: + fma.rn.f32 %f116, %f10, 0f3F000000, 0f3F000000; + fma.rn.f32 %f117, %f11, 0f3F000000, 0f3F000000; + fma.rn.f32 %f118, %f12, 0f3F000000, 0f3F000000; + ld.global.u32 %r137, [additive]; + setp.eq.s32 %p121, %r137, 0; + // inline asm + { cvt.rn.f16.f32 %rs53, %f808;} + + // inline asm + @%p121 bra BB0_88; + + mov.u64 %rd92, image_RNM1; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r141, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r24, %r141, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs60, %rs61, %rs62, %rs63}, [%rd80]; + // inline asm + { cvt.f32.f16 %f828, %rs60;} + + // inline asm + // inline asm + { cvt.f32.f16 %f829, %rs61;} + + // inline asm + // inline asm + { cvt.f32.f16 %f830, %rs62;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r24, %r141, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f831, %f116, %f828; + add.f32 %f832, %f116, %f829; + add.f32 %f833, %f116, %f830; + // inline asm + { cvt.rn.f16.f32 %rs59, %f833;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f832;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f831;} + + // inline asm + st.v4.u16 [%rd86], {%rs57, %rs58, %rs59, %rs53}; + bra.uni BB0_89; + +BB0_88: + mov.u64 %rd99, image_RNM1; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r143, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r24, %r143, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f116;} + + // inline asm + st.v4.u16 [%rd93], {%rs64, %rs64, %rs64, %rs53}; + +BB0_89: + ld.global.u32 %r144, [additive]; + setp.eq.s32 %p122, %r144, 0; + // inline asm + { cvt.rn.f16.f32 %rs65, %f808;} + + // inline asm + @%p122 bra BB0_91; + + mov.u64 %rd112, image_RNM2; + cvta.global.u64 %rd101, %rd112; + mov.u32 %r148, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r24, %r148, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs72, %rs73, %rs74, %rs75}, [%rd100]; + // inline asm + { cvt.f32.f16 %f836, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f837, %rs73;} + + // inline asm + // inline asm + { cvt.f32.f16 %f838, %rs74;} + + // inline asm + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd101, %r24, %r148, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f839, %f117, %f836; + add.f32 %f840, %f117, %f837; + add.f32 %f841, %f117, %f838; + // inline asm + { cvt.rn.f16.f32 %rs71, %f841;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f840;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f839;} + + // inline asm + st.v4.u16 [%rd106], {%rs69, %rs70, %rs71, %rs65}; + bra.uni BB0_92; + +BB0_91: + mov.u64 %rd119, image_RNM2; + cvta.global.u64 %rd114, %rd119; + mov.u32 %r150, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r24, %r150, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f117;} + + // inline asm + st.v4.u16 [%rd113], {%rs76, %rs76, %rs76, %rs65}; + +BB0_92: + ld.global.u32 %r151, [additive]; + setp.eq.s32 %p123, %r151, 0; + // inline asm + { cvt.rn.f16.f32 %rs77, %f808;} + + // inline asm + @%p123 bra BB0_94; + + mov.u64 %rd132, image_RNM3; + cvta.global.u64 %rd121, %rd132; + mov.u32 %r155, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r24, %r155, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs84, %rs85, %rs86, %rs87}, [%rd120]; + // inline asm + { cvt.f32.f16 %f844, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f845, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f846, %rs86;} + + // inline asm + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd121, %r24, %r155, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f847, %f118, %f844; + add.f32 %f848, %f118, %f845; + add.f32 %f849, %f118, %f846; + // inline asm + { cvt.rn.f16.f32 %rs83, %f849;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f848;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f847;} + + // inline asm + st.v4.u16 [%rd126], {%rs81, %rs82, %rs83, %rs77}; + bra.uni BB0_135; + +BB0_94: + mov.u64 %rd139, image_RNM3; + cvta.global.u64 %rd134, %rd139; + mov.u32 %r157, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r24, %r157, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f118;} + + // inline asm + st.v4.u16 [%rd133], {%rs88, %rs88, %rs88, %rs77}; + +BB0_135: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightSH.ptx.meta new file mode 100644 index 00000000..426b3b7e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCookieLightSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e65c11674cb367f479c518d362e91279 +timeCreated: 1537814797 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLight.ptx new file mode 100644 index 00000000..529a9bdb --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLight.ptx @@ -0,0 +1,1569 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCubemap; +.global .align 4 .b8 lightMatrix[36]; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12lightCubemapE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightMatrixE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12lightCubemapE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename11lightMatrixE[10] = {77, 97, 116, 114, 105, 120, 51, 120, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12lightCubemapE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightMatrixE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12lightCubemapE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightMatrixE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12lightCubemapE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightMatrixE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<113>; + .reg .b16 %rs<76>; + .reg .f32 %f<769>; + .reg .b32 %r<169>; + .reg .b64 %rd<150>; + + + mov.u64 %rd149, __local_depot0; + cvta.local.u64 %SP, %rd149; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd12, %r26; + cvt.u64.u32 %rd13, %r27; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r24, 2; + mov.u32 %r25, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r24, %r25, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r30, %r1, 16; + cvt.u16.u32 %rs1, %r30; + and.b16 %rs4, %rs1, 255; + cvt.u16.u32 %rs5, %r1; + or.b16 %rs6, %rs5, %rs4; + setp.eq.s16 %p6, %rs6, 0; + mov.f32 %f748, 0f00000000; + mov.f32 %f749, %f748; + mov.f32 %f750, %f748; + @%p6 bra BB0_2; + + ld.u8 %rs7, [%rd10+1]; + and.b16 %rs9, %rs5, 255; + cvt.rn.f32.u16 %f99, %rs9; + div.rn.f32 %f100, %f99, 0f437F0000; + fma.rn.f32 %f101, %f100, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f102, %rs7; + div.rn.f32 %f103, %f102, 0f437F0000; + fma.rn.f32 %f104, %f103, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f105, %rs4; + div.rn.f32 %f106, %f105, 0f437F0000; + fma.rn.f32 %f107, %f106, 0f40000000, 0fBF800000; + mul.f32 %f108, %f104, %f104; + fma.rn.f32 %f109, %f101, %f101, %f108; + fma.rn.f32 %f110, %f107, %f107, %f109; + sqrt.rn.f32 %f111, %f110; + rcp.rn.f32 %f112, %f111; + mul.f32 %f748, %f101, %f112; + mul.f32 %f749, %f104, %f112; + mul.f32 %f750, %f107, %f112; + +BB0_2: + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + ld.global.v2.u32 {%r34, %r35}, [tileInfo]; + add.s32 %r2, %r31, %r34; + add.s32 %r3, %r32, %r35; + setp.eq.f32 %p7, %f749, 0f00000000; + setp.eq.f32 %p8, %f748, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f750, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_84; + bra.uni BB0_3; + +BB0_84: + ld.global.u32 %r168, [imageEnabled]; + and.b32 %r144, %r168, 1; + setp.eq.b32 %p108, %r144, 1; + @!%p108 bra BB0_86; + bra.uni BB0_85; + +BB0_85: + cvt.u64.u32 %rd110, %r2; + cvt.u64.u32 %rd111, %r3; + mov.u64 %rd114, image; + cvta.global.u64 %rd109, %rd114; + // inline asm + call (%rd108), _rt_buffer_get_64, (%rd109, %r24, %r25, %rd110, %rd111, %rd15, %rd15); + // inline asm + mov.u16 %rs57, 0; + st.v4.u8 [%rd108], {%rs57, %rs57, %rs57, %rs57}; + ld.global.u32 %r168, [imageEnabled]; + +BB0_86: + and.b32 %r147, %r168, 8; + setp.eq.s32 %p109, %r147, 0; + @%p109 bra BB0_88; + + cvt.u64.u32 %rd117, %r2; + cvt.u64.u32 %rd118, %r3; + mov.u64 %rd121, image_Mask; + cvta.global.u64 %rd116, %rd121; + // inline asm + call (%rd115), _rt_buffer_get_64, (%rd116, %r24, %r24, %rd117, %rd118, %rd15, %rd15); + // inline asm + mov.f32 %f701, 0f00000000; + cvt.rzi.u32.f32 %r150, %f701; + cvt.u16.u32 %rs58, %r150; + mov.u16 %rs59, 0; + st.v2.u8 [%rd115], {%rs58, %rs59}; + ld.global.u32 %r168, [imageEnabled]; + +BB0_88: + and.b32 %r151, %r168, 4; + setp.eq.s32 %p110, %r151, 0; + @%p110 bra BB0_92; + + ld.global.u32 %r152, [additive]; + setp.eq.s32 %p111, %r152, 0; + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + @%p111 bra BB0_91; + + mov.u64 %rd134, image_HDR; + cvta.global.u64 %rd123, %rd134; + mov.u32 %r156, 8; + // inline asm + call (%rd122), _rt_buffer_get_64, (%rd123, %r24, %r156, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs66, %rs67, %rs68, %rs69}, [%rd122]; + // inline asm + { cvt.f32.f16 %f702, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f703, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f704, %rs68;} + + // inline asm + // inline asm + call (%rd128), _rt_buffer_get_64, (%rd123, %r24, %r156, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f705, %f702, 0f00000000; + add.f32 %f706, %f703, 0f00000000; + add.f32 %f707, %f704, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs65, %f707;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f706;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f705;} + + // inline asm + mov.u16 %rs70, 0; + st.v4.u16 [%rd128], {%rs63, %rs64, %rs65, %rs70}; + bra.uni BB0_92; + +BB0_3: + ld.global.v2.u32 {%r41, %r42}, [pixelID]; + cvt.u64.u32 %rd19, %r41; + cvt.u64.u32 %rd20, %r42; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r40, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r24, %r40, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f115, [lightPos]; + ld.f32 %f9, [%rd17+8]; + ld.f32 %f8, [%rd17+4]; + ld.f32 %f7, [%rd17]; + sub.f32 %f116, %f115, %f7; + ld.global.f32 %f117, [lightPos+4]; + sub.f32 %f118, %f117, %f8; + ld.global.f32 %f119, [lightPos+8]; + sub.f32 %f120, %f119, %f9; + mul.f32 %f121, %f118, %f118; + fma.rn.f32 %f122, %f116, %f116, %f121; + fma.rn.f32 %f123, %f120, %f120, %f122; + sqrt.rn.f32 %f124, %f123; + rcp.rn.f32 %f125, %f124; + mul.f32 %f10, %f116, %f125; + mul.f32 %f11, %f118, %f125; + mul.f32 %f12, %f120, %f125; + ld.global.f32 %f126, [lightFalloffFakeDistanceMult]; + mul.f32 %f13, %f124, %f126; + ld.global.f32 %f127, [lightInvCutoff]; + mul.f32 %f14, %f124, %f127; + mov.f32 %f131, 0f40800000; + abs.f32 %f16, %f14; + setp.lt.f32 %p12, %f16, 0f00800000; + mul.f32 %f133, %f16, 0f4B800000; + selp.f32 %f134, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f135, %f133, %f16, %p12; + mov.b32 %r45, %f135; + and.b32 %r46, %r45, 8388607; + or.b32 %r47, %r46, 1065353216; + mov.b32 %f136, %r47; + shr.u32 %r48, %r45, 23; + cvt.rn.f32.u32 %f137, %r48; + add.f32 %f138, %f134, %f137; + setp.gt.f32 %p13, %f136, 0f3FB504F3; + mul.f32 %f139, %f136, 0f3F000000; + add.f32 %f140, %f138, 0f3F800000; + selp.f32 %f141, %f139, %f136, %p13; + selp.f32 %f142, %f140, %f138, %p13; + add.f32 %f143, %f141, 0fBF800000; + add.f32 %f114, %f141, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f113,%f114; + // inline asm + add.f32 %f144, %f143, %f143; + mul.f32 %f145, %f113, %f144; + mul.f32 %f146, %f145, %f145; + mov.f32 %f147, 0f3C4CAF63; + mov.f32 %f148, 0f3B18F0FE; + fma.rn.f32 %f149, %f148, %f146, %f147; + mov.f32 %f150, 0f3DAAAABD; + fma.rn.f32 %f151, %f149, %f146, %f150; + mul.rn.f32 %f152, %f151, %f146; + mul.rn.f32 %f153, %f152, %f145; + sub.f32 %f154, %f143, %f145; + neg.f32 %f155, %f145; + add.f32 %f156, %f154, %f154; + fma.rn.f32 %f157, %f155, %f143, %f156; + mul.rn.f32 %f158, %f113, %f157; + add.f32 %f159, %f153, %f145; + sub.f32 %f160, %f145, %f159; + add.f32 %f161, %f153, %f160; + add.f32 %f162, %f158, %f161; + add.f32 %f163, %f159, %f162; + sub.f32 %f164, %f159, %f163; + add.f32 %f165, %f162, %f164; + mov.f32 %f166, 0f3F317200; + mul.rn.f32 %f167, %f142, %f166; + mov.f32 %f168, 0f35BFBE8E; + mul.rn.f32 %f169, %f142, %f168; + add.f32 %f170, %f167, %f163; + sub.f32 %f171, %f167, %f170; + add.f32 %f172, %f163, %f171; + add.f32 %f173, %f165, %f172; + add.f32 %f174, %f169, %f173; + add.f32 %f175, %f170, %f174; + sub.f32 %f176, %f170, %f175; + add.f32 %f177, %f174, %f176; + mul.rn.f32 %f178, %f131, %f175; + neg.f32 %f179, %f178; + fma.rn.f32 %f180, %f131, %f175, %f179; + fma.rn.f32 %f181, %f131, %f177, %f180; + mov.f32 %f182, 0f00000000; + fma.rn.f32 %f183, %f182, %f175, %f181; + add.rn.f32 %f184, %f178, %f183; + neg.f32 %f185, %f184; + add.rn.f32 %f186, %f178, %f185; + add.rn.f32 %f187, %f186, %f183; + mov.b32 %r49, %f184; + setp.eq.s32 %p14, %r49, 1118925336; + add.s32 %r50, %r49, -1; + mov.b32 %f188, %r50; + add.f32 %f189, %f187, 0f37000000; + selp.f32 %f190, %f188, %f184, %p14; + selp.f32 %f17, %f189, %f187, %p14; + mul.f32 %f191, %f190, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f192, %f191; + mov.f32 %f193, 0fBF317200; + fma.rn.f32 %f194, %f192, %f193, %f190; + mov.f32 %f195, 0fB5BFBE8E; + fma.rn.f32 %f196, %f192, %f195, %f194; + mul.f32 %f197, %f196, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f198, %f197; + add.f32 %f199, %f192, 0f00000000; + ex2.approx.f32 %f200, %f199; + mul.f32 %f201, %f198, %f200; + setp.lt.f32 %p15, %f190, 0fC2D20000; + selp.f32 %f202, 0f00000000, %f201, %p15; + setp.gt.f32 %p16, %f190, 0f42D20000; + selp.f32 %f751, 0f7F800000, %f202, %p16; + setp.eq.f32 %p17, %f751, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f751, %f751, %f17, %f751; + +BB0_5: + mov.f32 %f714, 0f40000000; + cvt.rzi.f32.f32 %f713, %f714; + add.f32 %f712, %f713, %f713; + mov.f32 %f711, 0f40800000; + sub.f32 %f710, %f711, %f712; + abs.f32 %f709, %f710; + setp.lt.f32 %p18, %f14, 0f00000000; + setp.eq.f32 %p19, %f709, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r51, %f751; + xor.b32 %r52, %r51, -2147483648; + mov.b32 %f203, %r52; + selp.f32 %f753, %f203, %f751, %p1; + setp.eq.f32 %p20, %f14, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f206, %f14, %f14; + selp.f32 %f753, %f206, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f14, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f747, 0f40800000; + cvt.rzi.f32.f32 %f205, %f747; + setp.neu.f32 %p22, %f205, 0f40800000; + selp.f32 %f753, 0f7FFFFFFF, %f753, %p22; + +BB0_9: + abs.f32 %f715, %f14; + add.f32 %f207, %f715, 0f40800000; + mov.b32 %r53, %f207; + setp.lt.s32 %p24, %r53, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f745, %f14; + setp.gtu.f32 %p25, %f745, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f753, %f14, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f746, %f14; + setp.neu.f32 %p26, %f746, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f753, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f756, 0f3F800000; + sub.f32 %f216, %f756, %f753; + setp.eq.f32 %p27, %f14, 0f3F800000; + selp.f32 %f217, 0f00000000, %f216, %p27; + cvt.sat.f32.f32 %f218, %f217; + ld.global.f32 %f219, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f220, %f13, %f13, %f219; + div.rn.f32 %f221, %f218, %f220; + mul.f32 %f222, %f749, %f11; + fma.rn.f32 %f223, %f748, %f10, %f222; + fma.rn.f32 %f224, %f750, %f12, %f223; + ld.global.u32 %r57, [imageEnabled]; + and.b32 %r58, %r57, 32; + ld.global.u32 %r59, [ignoreNormal]; + or.b32 %r60, %r58, %r59; + setp.eq.s32 %p28, %r60, 0; + selp.f32 %f225, %f224, 0f3F800000, %p28; + ld.global.f32 %f226, [lightMatrix]; + fma.rn.f32 %f227, %f226, %f10, 0f00000000; + ld.global.f32 %f228, [lightMatrix+4]; + fma.rn.f32 %f229, %f228, %f11, %f227; + ld.global.f32 %f230, [lightMatrix+8]; + fma.rn.f32 %f214, %f230, %f12, %f229; + cvt.sat.f32.f32 %f231, %f225; + ld.global.f32 %f232, [lightMatrix+12]; + fma.rn.f32 %f233, %f232, %f10, 0f00000000; + ld.global.f32 %f234, [lightMatrix+16]; + fma.rn.f32 %f235, %f234, %f11, %f233; + ld.global.f32 %f236, [lightMatrix+20]; + fma.rn.f32 %f213, %f236, %f12, %f235; + ld.global.f32 %f237, [lightMatrix+24]; + fma.rn.f32 %f238, %f237, %f10, 0f00000000; + ld.global.f32 %f239, [lightMatrix+28]; + fma.rn.f32 %f240, %f239, %f11, %f238; + ld.global.f32 %f241, [lightMatrix+32]; + fma.rn.f32 %f212, %f241, %f12, %f240; + ld.global.u32 %r54, [lightCubemap]; + mov.u32 %r55, 6; + mov.u32 %r161, 0; + // inline asm + call (%f208, %f209, %f210, %f211), _rt_texture_get_base_id, (%r54, %r55, %f212, %f213, %f214, %r161); + // inline asm + max.f32 %f242, %f208, %f209; + max.f32 %f243, %f242, %f210; + mul.f32 %f31, %f221, %f231; + mul.f32 %f244, %f31, %f243; + ld.global.f32 %f245, [lightColor+4]; + ld.global.f32 %f246, [lightColor]; + max.f32 %f247, %f246, %f245; + ld.global.f32 %f248, [lightColor+8]; + max.f32 %f249, %f247, %f248; + mul.f32 %f250, %f244, %f249; + setp.lt.f32 %p29, %f250, 0f3727C5AC; + @%p29 bra BB0_74; + bra.uni BB0_15; + +BB0_74: + ld.global.u32 %r166, [imageEnabled]; + and.b32 %r127, %r166, 1; + setp.eq.b32 %p103, %r127, 1; + @!%p103 bra BB0_76; + bra.uni BB0_75; + +BB0_75: + cvt.u64.u32 %rd69, %r2; + cvt.u64.u32 %rd70, %r3; + mov.u64 %rd73, image; + cvta.global.u64 %rd68, %rd73; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r24, %r25, %rd69, %rd70, %rd15, %rd15); + // inline asm + mov.u16 %rs37, 1; + mov.u16 %rs38, 0; + st.v4.u8 [%rd67], {%rs38, %rs38, %rs38, %rs37}; + ld.global.u32 %r166, [imageEnabled]; + +BB0_76: + and.b32 %r130, %r166, 8; + setp.eq.s32 %p104, %r130, 0; + @%p104 bra BB0_78; + + cvt.u64.u32 %rd76, %r2; + cvt.u64.u32 %rd77, %r3; + mov.u64 %rd80, image_Mask; + cvta.global.u64 %rd75, %rd80; + // inline asm + call (%rd74), _rt_buffer_get_64, (%rd75, %r24, %r24, %rd76, %rd77, %rd15, %rd15); + // inline asm + mov.f32 %f690, 0f00000000; + cvt.rzi.u32.f32 %r133, %f690; + cvt.u16.u32 %rs39, %r133; + mov.u16 %rs40, 255; + st.v2.u8 [%rd74], {%rs39, %rs40}; + ld.global.u32 %r166, [imageEnabled]; + +BB0_78: + and.b32 %r134, %r166, 4; + setp.eq.s32 %p105, %r134, 0; + @%p105 bra BB0_82; + + ld.global.u32 %r135, [additive]; + setp.eq.s32 %p106, %r135, 0; + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + mov.f32 %f691, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs41, %f691;} + + // inline asm + @%p106 bra BB0_81; + + mov.u64 %rd93, image_HDR; + cvta.global.u64 %rd82, %rd93; + mov.u32 %r139, 8; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd82, %r24, %r139, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs48, %rs49, %rs50, %rs51}, [%rd81]; + // inline asm + { cvt.f32.f16 %f692, %rs48;} + + // inline asm + // inline asm + { cvt.f32.f16 %f693, %rs49;} + + // inline asm + // inline asm + { cvt.f32.f16 %f694, %rs50;} + + // inline asm + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd82, %r24, %r139, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f695, %f692, 0f00000000; + add.f32 %f696, %f693, 0f00000000; + add.f32 %f697, %f694, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs47, %f697;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f696;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f695;} + + // inline asm + st.v4.u16 [%rd87], {%rs45, %rs46, %rs47, %rs41}; + bra.uni BB0_82; + +BB0_15: + mov.f32 %f755, 0f00000000; + mul.f32 %f252, %f7, 0f3456BF95; + abs.f32 %f253, %f748; + div.rn.f32 %f254, %f252, %f253; + abs.f32 %f255, %f749; + mul.f32 %f256, %f8, 0f3456BF95; + div.rn.f32 %f257, %f256, %f255; + abs.f32 %f258, %f750; + mul.f32 %f259, %f9, 0f3456BF95; + div.rn.f32 %f260, %f259, %f258; + abs.f32 %f261, %f254; + abs.f32 %f262, %f257; + abs.f32 %f263, %f260; + mov.f32 %f264, 0f38D1B717; + max.f32 %f265, %f261, %f264; + max.f32 %f266, %f262, %f264; + max.f32 %f267, %f263, %f264; + fma.rn.f32 %f32, %f748, %f265, %f7; + fma.rn.f32 %f33, %f749, %f266, %f8; + fma.rn.f32 %f34, %f750, %f267, %f9; + ld.global.u32 %r162, [samples]; + setp.lt.s32 %p30, %r162, 1; + @%p30 bra BB0_18; + + mul.f32 %f269, %f32, 0f3456BF95; + abs.f32 %f270, %f269; + mul.f32 %f271, %f33, 0f3456BF95; + abs.f32 %f272, %f271; + mul.f32 %f273, %f34, 0f3456BF95; + abs.f32 %f274, %f273; + max.f32 %f275, %f270, %f272; + max.f32 %f276, %f275, %f274; + max.f32 %f35, %f276, %f264; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f755, 0f00000000; + +BB0_17: + cvt.rn.f32.s32 %f286, %r161; + mul.f32 %f287, %f286, 0f3DD32618; + cvt.rmi.f32.f32 %f288, %f287; + sub.f32 %f289, %f287, %f288; + mul.f32 %f290, %f286, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f291, %f290; + sub.f32 %f292, %f290, %f291; + mul.f32 %f293, %f286, 0f3DC74539; + cvt.rmi.f32.f32 %f294, %f293; + sub.f32 %f295, %f293, %f294; + add.f32 %f296, %f292, 0f4199851F; + add.f32 %f297, %f295, 0f4199851F; + add.f32 %f298, %f289, 0f4199851F; + mul.f32 %f299, %f292, %f297; + fma.rn.f32 %f300, %f289, %f296, %f299; + fma.rn.f32 %f301, %f298, %f295, %f300; + add.f32 %f302, %f289, %f301; + add.f32 %f303, %f292, %f301; + add.f32 %f304, %f295, %f301; + add.f32 %f305, %f302, %f303; + mul.f32 %f306, %f304, %f305; + cvt.rmi.f32.f32 %f307, %f306; + sub.f32 %f308, %f306, %f307; + add.f32 %f309, %f302, %f304; + mul.f32 %f310, %f303, %f309; + cvt.rmi.f32.f32 %f311, %f310; + sub.f32 %f312, %f310, %f311; + add.f32 %f313, %f303, %f304; + mul.f32 %f314, %f302, %f313; + cvt.rmi.f32.f32 %f315, %f314; + sub.f32 %f316, %f314, %f315; + fma.rn.f32 %f317, %f308, 0f40000000, 0fBF800000; + fma.rn.f32 %f318, %f312, 0f40000000, 0fBF800000; + fma.rn.f32 %f319, %f316, 0f40000000, 0fBF800000; + ld.global.f32 %f320, [lightRadius]; + ld.global.f32 %f321, [lightPos]; + fma.rn.f32 %f322, %f320, %f317, %f321; + ld.global.f32 %f323, [lightPos+4]; + fma.rn.f32 %f324, %f320, %f318, %f323; + ld.global.f32 %f325, [lightPos+8]; + fma.rn.f32 %f326, %f320, %f319, %f325; + sub.f32 %f327, %f322, %f7; + sub.f32 %f328, %f324, %f8; + sub.f32 %f329, %f326, %f9; + mul.f32 %f330, %f328, %f328; + fma.rn.f32 %f331, %f327, %f327, %f330; + fma.rn.f32 %f332, %f329, %f329, %f331; + sqrt.rn.f32 %f285, %f332; + rcp.rn.f32 %f333, %f285; + mul.f32 %f281, %f333, %f327; + mul.f32 %f282, %f333, %f328; + mul.f32 %f283, %f333, %f329; + ld.global.u32 %r65, [imageEnabled]; + and.b32 %r66, %r65, 32; + setp.eq.s32 %p31, %r66, 0; + selp.f32 %f334, 0f3F800000, 0f41200000, %p31; + mul.f32 %f284, %f334, %f35; + mov.u32 %r67, 1065353216; + st.local.u32 [%rd2], %r67; + ld.global.u32 %r62, [root]; + mov.u32 %r63, 1; + // inline asm + call _rt_trace_64, (%r62, %f32, %f33, %f34, %f281, %f282, %f283, %r63, %f284, %f285, %rd24, %r25); + // inline asm + ld.local.f32 %f335, [%rd2]; + add.f32 %f755, %f755, %f335; + ld.global.u32 %r162, [samples]; + add.s32 %r161, %r161, 1; + setp.lt.s32 %p32, %r161, %r162; + @%p32 bra BB0_17; + +BB0_18: + setp.eq.s32 %p33, %r162, 0; + @%p33 bra BB0_20; + + cvt.rn.f32.s32 %f337, %r162; + div.rn.f32 %f756, %f755, %f337; + +BB0_20: + ld.global.f32 %f338, [lightColor]; + mul.f32 %f339, %f31, %f756; + mul.f32 %f340, %f338, %f339; + ld.global.f32 %f341, [lightColor+4]; + mul.f32 %f342, %f339, %f341; + ld.global.f32 %f343, [lightColor+8]; + mul.f32 %f344, %f339, %f343; + mul.f32 %f41, %f208, %f340; + mul.f32 %f42, %f209, %f342; + mul.f32 %f43, %f210, %f344; + ld.global.u32 %r164, [imageEnabled]; + and.b32 %r68, %r164, 8; + setp.eq.s32 %p34, %r68, 0; + @%p34 bra BB0_33; + + mov.f32 %f723, 0fB5BFBE8E; + mov.f32 %f722, 0fBF317200; + mov.f32 %f721, 0f35BFBE8E; + mov.f32 %f720, 0f3F317200; + mov.f32 %f719, 0f3DAAAABD; + mov.f32 %f718, 0f3C4CAF63; + mov.f32 %f717, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r24, %r24, %rd28, %rd29, %rd15, %rd15); + // inline asm + mov.f32 %f347, 0f3E68BA2E; + cvt.rzi.f32.f32 %f348, %f347; + fma.rn.f32 %f349, %f348, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f44, %f349; + abs.f32 %f45, %f756; + setp.lt.f32 %p35, %f45, 0f00800000; + mul.f32 %f350, %f45, 0f4B800000; + selp.f32 %f351, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f352, %f350, %f45, %p35; + mov.b32 %r71, %f352; + and.b32 %r72, %r71, 8388607; + or.b32 %r73, %r72, 1065353216; + mov.b32 %f353, %r73; + shr.u32 %r74, %r71, 23; + cvt.rn.f32.u32 %f354, %r74; + add.f32 %f355, %f351, %f354; + setp.gt.f32 %p36, %f353, 0f3FB504F3; + mul.f32 %f356, %f353, 0f3F000000; + add.f32 %f357, %f355, 0f3F800000; + selp.f32 %f358, %f356, %f353, %p36; + selp.f32 %f359, %f357, %f355, %p36; + add.f32 %f360, %f358, 0fBF800000; + add.f32 %f346, %f358, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f345,%f346; + // inline asm + add.f32 %f361, %f360, %f360; + mul.f32 %f362, %f345, %f361; + mul.f32 %f363, %f362, %f362; + fma.rn.f32 %f366, %f717, %f363, %f718; + fma.rn.f32 %f368, %f366, %f363, %f719; + mul.rn.f32 %f369, %f368, %f363; + mul.rn.f32 %f370, %f369, %f362; + sub.f32 %f371, %f360, %f362; + neg.f32 %f372, %f362; + add.f32 %f373, %f371, %f371; + fma.rn.f32 %f374, %f372, %f360, %f373; + mul.rn.f32 %f375, %f345, %f374; + add.f32 %f376, %f370, %f362; + sub.f32 %f377, %f362, %f376; + add.f32 %f378, %f370, %f377; + add.f32 %f379, %f375, %f378; + add.f32 %f380, %f376, %f379; + sub.f32 %f381, %f376, %f380; + add.f32 %f382, %f379, %f381; + mul.rn.f32 %f384, %f359, %f720; + mul.rn.f32 %f386, %f359, %f721; + add.f32 %f387, %f384, %f380; + sub.f32 %f388, %f384, %f387; + add.f32 %f389, %f380, %f388; + add.f32 %f390, %f382, %f389; + add.f32 %f391, %f386, %f390; + add.f32 %f392, %f387, %f391; + sub.f32 %f393, %f387, %f392; + add.f32 %f394, %f391, %f393; + mov.f32 %f395, 0f3EE8BA2E; + mul.rn.f32 %f396, %f395, %f392; + neg.f32 %f397, %f396; + fma.rn.f32 %f398, %f395, %f392, %f397; + fma.rn.f32 %f399, %f395, %f394, %f398; + mov.f32 %f400, 0f00000000; + fma.rn.f32 %f401, %f400, %f392, %f399; + add.rn.f32 %f402, %f396, %f401; + neg.f32 %f403, %f402; + add.rn.f32 %f404, %f396, %f403; + add.rn.f32 %f405, %f404, %f401; + mov.b32 %r75, %f402; + setp.eq.s32 %p37, %r75, 1118925336; + add.s32 %r76, %r75, -1; + mov.b32 %f406, %r76; + add.f32 %f407, %f405, 0f37000000; + selp.f32 %f408, %f406, %f402, %p37; + selp.f32 %f46, %f407, %f405, %p37; + mul.f32 %f409, %f408, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f410, %f409; + fma.rn.f32 %f412, %f410, %f722, %f408; + fma.rn.f32 %f414, %f410, %f723, %f412; + mul.f32 %f415, %f414, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f416, %f415; + add.f32 %f417, %f410, 0f00000000; + ex2.approx.f32 %f418, %f417; + mul.f32 %f419, %f416, %f418; + setp.lt.f32 %p38, %f408, 0fC2D20000; + selp.f32 %f420, 0f00000000, %f419, %p38; + setp.gt.f32 %p39, %f408, 0f42D20000; + selp.f32 %f757, 0f7F800000, %f420, %p39; + setp.eq.f32 %p40, %f757, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f757, %f757, %f46, %f757; + +BB0_23: + setp.lt.f32 %p41, %f756, 0f00000000; + setp.eq.f32 %p42, %f44, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r77, %f757; + xor.b32 %r78, %r77, -2147483648; + mov.b32 %f421, %r78; + selp.f32 %f759, %f421, %f757, %p2; + setp.eq.f32 %p43, %f756, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f424, %f756, %f756; + selp.f32 %f759, %f424, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_91: + mov.u64 %rd141, image_HDR; + cvta.global.u64 %rd136, %rd141; + mov.u32 %r158, 8; + // inline asm + call (%rd135), _rt_buffer_get_64, (%rd136, %r24, %r158, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f708, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs71, %f708;} + + // inline asm + mov.u16 %rs72, 0; + st.v4.u16 [%rd135], {%rs71, %rs71, %rs71, %rs72}; + +BB0_92: + ld.global.u8 %rs73, [imageEnabled]; + and.b16 %rs74, %rs73, 64; + setp.eq.s16 %p112, %rs74, 0; + @%p112 bra BB0_94; + + cvt.u64.u32 %rd144, %r2; + cvt.u64.u32 %rd145, %r3; + mov.u64 %rd148, image_Dir; + cvta.global.u64 %rd143, %rd148; + // inline asm + call (%rd142), _rt_buffer_get_64, (%rd143, %r24, %r25, %rd144, %rd145, %rd15, %rd15); + // inline asm + mov.u16 %rs75, 0; + st.v4.u8 [%rd142], {%rs75, %rs75, %rs75, %rs75}; + bra.uni BB0_94; + +BB0_81: + mov.u64 %rd100, image_HDR; + cvta.global.u64 %rd95, %rd100; + mov.u32 %r141, 8; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r24, %r141, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f698, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs52, %f698;} + + // inline asm + st.v4.u16 [%rd94], {%rs52, %rs52, %rs52, %rs41}; + +BB0_82: + ld.global.u8 %rs53, [imageEnabled]; + and.b16 %rs54, %rs53, 64; + setp.eq.s16 %p107, %rs54, 0; + @%p107 bra BB0_94; + + cvt.u64.u32 %rd103, %r2; + cvt.u64.u32 %rd104, %r3; + mov.u64 %rd107, image_Dir; + cvta.global.u64 %rd102, %rd107; + // inline asm + call (%rd101), _rt_buffer_get_64, (%rd102, %r24, %r25, %rd103, %rd104, %rd15, %rd15); + // inline asm + mov.u16 %rs55, 255; + mov.u16 %rs56, 0; + st.v4.u8 [%rd101], {%rs56, %rs56, %rs56, %rs55}; + bra.uni BB0_94; + +BB0_24: + setp.geu.f32 %p44, %f756, 0f00000000; + @%p44 bra BB0_27; + + cvt.rzi.f32.f32 %f423, %f395; + setp.neu.f32 %p45, %f423, 0f3EE8BA2E; + selp.f32 %f759, 0f7FFFFFFF, %f759, %p45; + +BB0_27: + add.f32 %f425, %f45, 0f3EE8BA2E; + mov.b32 %r79, %f425; + setp.lt.s32 %p47, %r79, 2139095040; + @%p47 bra BB0_32; + + setp.gtu.f32 %p48, %f45, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f759, %f756, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + setp.neu.f32 %p49, %f45, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f759, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f426, %f759, 0f437F0000; + setp.eq.f32 %p50, %f756, 0f3F800000; + selp.f32 %f427, 0f437F0000, %f426, %p50; + cvt.rzi.u32.f32 %r80, %f427; + cvt.u16.u32 %rs11, %r80; + mov.u16 %rs12, 255; + st.v2.u8 [%rd26], {%rs11, %rs12}; + ld.global.u32 %r164, [imageEnabled]; + +BB0_33: + and.b32 %r81, %r164, 1; + setp.eq.b32 %p51, %r81, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f730, 0fB5BFBE8E; + mov.f32 %f729, 0fBF317200; + mov.f32 %f728, 0f35BFBE8E; + mov.f32 %f727, 0f3F317200; + mov.f32 %f726, 0f3DAAAABD; + mov.f32 %f725, 0f3C4CAF63; + mov.f32 %f724, 0f3B18F0FE; + mov.f32 %f430, 0f3E666666; + cvt.rzi.f32.f32 %f431, %f430; + fma.rn.f32 %f432, %f431, 0fC0000000, 0f3EE66666; + abs.f32 %f57, %f432; + abs.f32 %f58, %f41; + setp.lt.f32 %p52, %f58, 0f00800000; + mul.f32 %f433, %f58, 0f4B800000; + selp.f32 %f434, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f435, %f433, %f58, %p52; + mov.b32 %r82, %f435; + and.b32 %r83, %r82, 8388607; + or.b32 %r84, %r83, 1065353216; + mov.b32 %f436, %r84; + shr.u32 %r85, %r82, 23; + cvt.rn.f32.u32 %f437, %r85; + add.f32 %f438, %f434, %f437; + setp.gt.f32 %p53, %f436, 0f3FB504F3; + mul.f32 %f439, %f436, 0f3F000000; + add.f32 %f440, %f438, 0f3F800000; + selp.f32 %f441, %f439, %f436, %p53; + selp.f32 %f442, %f440, %f438, %p53; + add.f32 %f443, %f441, 0fBF800000; + add.f32 %f429, %f441, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f428,%f429; + // inline asm + add.f32 %f444, %f443, %f443; + mul.f32 %f445, %f428, %f444; + mul.f32 %f446, %f445, %f445; + fma.rn.f32 %f449, %f724, %f446, %f725; + fma.rn.f32 %f451, %f449, %f446, %f726; + mul.rn.f32 %f452, %f451, %f446; + mul.rn.f32 %f453, %f452, %f445; + sub.f32 %f454, %f443, %f445; + neg.f32 %f455, %f445; + add.f32 %f456, %f454, %f454; + fma.rn.f32 %f457, %f455, %f443, %f456; + mul.rn.f32 %f458, %f428, %f457; + add.f32 %f459, %f453, %f445; + sub.f32 %f460, %f445, %f459; + add.f32 %f461, %f453, %f460; + add.f32 %f462, %f458, %f461; + add.f32 %f463, %f459, %f462; + sub.f32 %f464, %f459, %f463; + add.f32 %f465, %f462, %f464; + mul.rn.f32 %f467, %f442, %f727; + mul.rn.f32 %f469, %f442, %f728; + add.f32 %f470, %f467, %f463; + sub.f32 %f471, %f467, %f470; + add.f32 %f472, %f463, %f471; + add.f32 %f473, %f465, %f472; + add.f32 %f474, %f469, %f473; + add.f32 %f475, %f470, %f474; + sub.f32 %f476, %f470, %f475; + add.f32 %f477, %f474, %f476; + mov.f32 %f478, 0f3EE66666; + mul.rn.f32 %f479, %f478, %f475; + neg.f32 %f480, %f479; + fma.rn.f32 %f481, %f478, %f475, %f480; + fma.rn.f32 %f482, %f478, %f477, %f481; + mov.f32 %f483, 0f00000000; + fma.rn.f32 %f484, %f483, %f475, %f482; + add.rn.f32 %f485, %f479, %f484; + neg.f32 %f486, %f485; + add.rn.f32 %f487, %f479, %f486; + add.rn.f32 %f488, %f487, %f484; + mov.b32 %r86, %f485; + setp.eq.s32 %p54, %r86, 1118925336; + add.s32 %r87, %r86, -1; + mov.b32 %f489, %r87; + add.f32 %f490, %f488, 0f37000000; + selp.f32 %f491, %f489, %f485, %p54; + selp.f32 %f59, %f490, %f488, %p54; + mul.f32 %f492, %f491, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f493, %f492; + fma.rn.f32 %f495, %f493, %f729, %f491; + fma.rn.f32 %f497, %f493, %f730, %f495; + mul.f32 %f498, %f497, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f499, %f498; + add.f32 %f500, %f493, 0f00000000; + ex2.approx.f32 %f501, %f500; + mul.f32 %f502, %f499, %f501; + setp.lt.f32 %p55, %f491, 0fC2D20000; + selp.f32 %f503, 0f00000000, %f502, %p55; + setp.gt.f32 %p56, %f491, 0f42D20000; + selp.f32 %f760, 0f7F800000, %f503, %p56; + setp.eq.f32 %p57, %f760, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f760, %f760, %f59, %f760; + +BB0_36: + setp.lt.f32 %p58, %f41, 0f00000000; + setp.eq.f32 %p59, %f57, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r88, %f760; + xor.b32 %r89, %r88, -2147483648; + mov.b32 %f504, %r89; + selp.f32 %f762, %f504, %f760, %p3; + setp.eq.f32 %p60, %f41, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f507, %f41, %f41; + selp.f32 %f762, %f507, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f41, 0f00000000; + @%p61 bra BB0_40; + + cvt.rzi.f32.f32 %f506, %f478; + setp.neu.f32 %p62, %f506, 0f3EE66666; + selp.f32 %f762, 0f7FFFFFFF, %f762, %p62; + +BB0_40: + add.f32 %f508, %f58, 0f3EE66666; + mov.b32 %r90, %f508; + setp.lt.s32 %p64, %r90, 2139095040; + @%p64 bra BB0_45; + + setp.gtu.f32 %p65, %f58, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f762, %f41, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p66, %f58, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f762, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f737, 0fB5BFBE8E; + mov.f32 %f736, 0fBF317200; + mov.f32 %f735, 0f35BFBE8E; + mov.f32 %f734, 0f3F317200; + mov.f32 %f733, 0f3DAAAABD; + mov.f32 %f732, 0f3C4CAF63; + mov.f32 %f731, 0f3B18F0FE; + setp.eq.f32 %p67, %f41, 0f3F800000; + selp.f32 %f70, 0f3F800000, %f762, %p67; + abs.f32 %f71, %f42; + setp.lt.f32 %p68, %f71, 0f00800000; + mul.f32 %f511, %f71, 0f4B800000; + selp.f32 %f512, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f513, %f511, %f71, %p68; + mov.b32 %r91, %f513; + and.b32 %r92, %r91, 8388607; + or.b32 %r93, %r92, 1065353216; + mov.b32 %f514, %r93; + shr.u32 %r94, %r91, 23; + cvt.rn.f32.u32 %f515, %r94; + add.f32 %f516, %f512, %f515; + setp.gt.f32 %p69, %f514, 0f3FB504F3; + mul.f32 %f517, %f514, 0f3F000000; + add.f32 %f518, %f516, 0f3F800000; + selp.f32 %f519, %f517, %f514, %p69; + selp.f32 %f520, %f518, %f516, %p69; + add.f32 %f521, %f519, 0fBF800000; + add.f32 %f510, %f519, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f509,%f510; + // inline asm + add.f32 %f522, %f521, %f521; + mul.f32 %f523, %f509, %f522; + mul.f32 %f524, %f523, %f523; + fma.rn.f32 %f527, %f731, %f524, %f732; + fma.rn.f32 %f529, %f527, %f524, %f733; + mul.rn.f32 %f530, %f529, %f524; + mul.rn.f32 %f531, %f530, %f523; + sub.f32 %f532, %f521, %f523; + neg.f32 %f533, %f523; + add.f32 %f534, %f532, %f532; + fma.rn.f32 %f535, %f533, %f521, %f534; + mul.rn.f32 %f536, %f509, %f535; + add.f32 %f537, %f531, %f523; + sub.f32 %f538, %f523, %f537; + add.f32 %f539, %f531, %f538; + add.f32 %f540, %f536, %f539; + add.f32 %f541, %f537, %f540; + sub.f32 %f542, %f537, %f541; + add.f32 %f543, %f540, %f542; + mul.rn.f32 %f545, %f520, %f734; + mul.rn.f32 %f547, %f520, %f735; + add.f32 %f548, %f545, %f541; + sub.f32 %f549, %f545, %f548; + add.f32 %f550, %f541, %f549; + add.f32 %f551, %f543, %f550; + add.f32 %f552, %f547, %f551; + add.f32 %f553, %f548, %f552; + sub.f32 %f554, %f548, %f553; + add.f32 %f555, %f552, %f554; + mul.rn.f32 %f557, %f478, %f553; + neg.f32 %f558, %f557; + fma.rn.f32 %f559, %f478, %f553, %f558; + fma.rn.f32 %f560, %f478, %f555, %f559; + fma.rn.f32 %f562, %f483, %f553, %f560; + add.rn.f32 %f563, %f557, %f562; + neg.f32 %f564, %f563; + add.rn.f32 %f565, %f557, %f564; + add.rn.f32 %f566, %f565, %f562; + mov.b32 %r95, %f563; + setp.eq.s32 %p70, %r95, 1118925336; + add.s32 %r96, %r95, -1; + mov.b32 %f567, %r96; + add.f32 %f568, %f566, 0f37000000; + selp.f32 %f569, %f567, %f563, %p70; + selp.f32 %f72, %f568, %f566, %p70; + mul.f32 %f570, %f569, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f571, %f570; + fma.rn.f32 %f573, %f571, %f736, %f569; + fma.rn.f32 %f575, %f571, %f737, %f573; + mul.f32 %f576, %f575, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f577, %f576; + add.f32 %f578, %f571, 0f00000000; + ex2.approx.f32 %f579, %f578; + mul.f32 %f580, %f577, %f579; + setp.lt.f32 %p71, %f569, 0fC2D20000; + selp.f32 %f581, 0f00000000, %f580, %p71; + setp.gt.f32 %p72, %f569, 0f42D20000; + selp.f32 %f763, 0f7F800000, %f581, %p72; + setp.eq.f32 %p73, %f763, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f763, %f763, %f72, %f763; + +BB0_47: + setp.lt.f32 %p74, %f42, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r97, %f763; + xor.b32 %r98, %r97, -2147483648; + mov.b32 %f582, %r98; + selp.f32 %f765, %f582, %f763, %p4; + setp.eq.f32 %p76, %f42, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f585, %f42, %f42; + selp.f32 %f765, %f585, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f42, 0f00000000; + @%p77 bra BB0_51; + + cvt.rzi.f32.f32 %f584, %f478; + setp.neu.f32 %p78, %f584, 0f3EE66666; + selp.f32 %f765, 0f7FFFFFFF, %f765, %p78; + +BB0_51: + add.f32 %f586, %f71, 0f3EE66666; + mov.b32 %r99, %f586; + setp.lt.s32 %p80, %r99, 2139095040; + @%p80 bra BB0_56; + + setp.gtu.f32 %p81, %f71, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f765, %f42, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p82, %f71, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f765, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f744, 0fB5BFBE8E; + mov.f32 %f743, 0fBF317200; + mov.f32 %f742, 0f35BFBE8E; + mov.f32 %f741, 0f3F317200; + mov.f32 %f740, 0f3DAAAABD; + mov.f32 %f739, 0f3C4CAF63; + mov.f32 %f738, 0f3B18F0FE; + setp.eq.f32 %p83, %f42, 0f3F800000; + selp.f32 %f83, 0f3F800000, %f765, %p83; + abs.f32 %f84, %f43; + setp.lt.f32 %p84, %f84, 0f00800000; + mul.f32 %f589, %f84, 0f4B800000; + selp.f32 %f590, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f591, %f589, %f84, %p84; + mov.b32 %r100, %f591; + and.b32 %r101, %r100, 8388607; + or.b32 %r102, %r101, 1065353216; + mov.b32 %f592, %r102; + shr.u32 %r103, %r100, 23; + cvt.rn.f32.u32 %f593, %r103; + add.f32 %f594, %f590, %f593; + setp.gt.f32 %p85, %f592, 0f3FB504F3; + mul.f32 %f595, %f592, 0f3F000000; + add.f32 %f596, %f594, 0f3F800000; + selp.f32 %f597, %f595, %f592, %p85; + selp.f32 %f598, %f596, %f594, %p85; + add.f32 %f599, %f597, 0fBF800000; + add.f32 %f588, %f597, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f587,%f588; + // inline asm + add.f32 %f600, %f599, %f599; + mul.f32 %f601, %f587, %f600; + mul.f32 %f602, %f601, %f601; + fma.rn.f32 %f605, %f738, %f602, %f739; + fma.rn.f32 %f607, %f605, %f602, %f740; + mul.rn.f32 %f608, %f607, %f602; + mul.rn.f32 %f609, %f608, %f601; + sub.f32 %f610, %f599, %f601; + neg.f32 %f611, %f601; + add.f32 %f612, %f610, %f610; + fma.rn.f32 %f613, %f611, %f599, %f612; + mul.rn.f32 %f614, %f587, %f613; + add.f32 %f615, %f609, %f601; + sub.f32 %f616, %f601, %f615; + add.f32 %f617, %f609, %f616; + add.f32 %f618, %f614, %f617; + add.f32 %f619, %f615, %f618; + sub.f32 %f620, %f615, %f619; + add.f32 %f621, %f618, %f620; + mul.rn.f32 %f623, %f598, %f741; + mul.rn.f32 %f625, %f598, %f742; + add.f32 %f626, %f623, %f619; + sub.f32 %f627, %f623, %f626; + add.f32 %f628, %f619, %f627; + add.f32 %f629, %f621, %f628; + add.f32 %f630, %f625, %f629; + add.f32 %f631, %f626, %f630; + sub.f32 %f632, %f626, %f631; + add.f32 %f633, %f630, %f632; + mul.rn.f32 %f635, %f478, %f631; + neg.f32 %f636, %f635; + fma.rn.f32 %f637, %f478, %f631, %f636; + fma.rn.f32 %f638, %f478, %f633, %f637; + fma.rn.f32 %f640, %f483, %f631, %f638; + add.rn.f32 %f641, %f635, %f640; + neg.f32 %f642, %f641; + add.rn.f32 %f643, %f635, %f642; + add.rn.f32 %f644, %f643, %f640; + mov.b32 %r104, %f641; + setp.eq.s32 %p86, %r104, 1118925336; + add.s32 %r105, %r104, -1; + mov.b32 %f645, %r105; + add.f32 %f646, %f644, 0f37000000; + selp.f32 %f647, %f645, %f641, %p86; + selp.f32 %f85, %f646, %f644, %p86; + mul.f32 %f648, %f647, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f649, %f648; + fma.rn.f32 %f651, %f649, %f743, %f647; + fma.rn.f32 %f653, %f649, %f744, %f651; + mul.f32 %f654, %f653, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f655, %f654; + add.f32 %f656, %f649, 0f00000000; + ex2.approx.f32 %f657, %f656; + mul.f32 %f658, %f655, %f657; + setp.lt.f32 %p87, %f647, 0fC2D20000; + selp.f32 %f659, 0f00000000, %f658, %p87; + setp.gt.f32 %p88, %f647, 0f42D20000; + selp.f32 %f766, 0f7F800000, %f659, %p88; + setp.eq.f32 %p89, %f766, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f766, %f766, %f85, %f766; + +BB0_58: + setp.lt.f32 %p90, %f43, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r106, %f766; + xor.b32 %r107, %r106, -2147483648; + mov.b32 %f660, %r107; + selp.f32 %f768, %f660, %f766, %p5; + setp.eq.f32 %p92, %f43, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f663, %f43, %f43; + selp.f32 %f768, %f663, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f43, 0f00000000; + @%p93 bra BB0_62; + + cvt.rzi.f32.f32 %f662, %f478; + setp.neu.f32 %p94, %f662, 0f3EE66666; + selp.f32 %f768, 0f7FFFFFFF, %f768, %p94; + +BB0_62: + add.f32 %f664, %f84, 0f3EE66666; + mov.b32 %r108, %f664; + setp.lt.s32 %p96, %r108, 2139095040; + @%p96 bra BB0_67; + + setp.gtu.f32 %p97, %f84, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f768, %f43, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p98, %f84, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f768, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p99, %f43, 0f3F800000; + selp.f32 %f665, 0f3F800000, %f768, %p99; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r24, %r25, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f666, %f665; + mul.f32 %f667, %f666, 0f437FFD71; + cvt.rzi.u32.f32 %r111, %f667; + cvt.sat.f32.f32 %f668, %f83; + mul.f32 %f669, %f668, 0f437FFD71; + cvt.rzi.u32.f32 %r112, %f669; + cvt.sat.f32.f32 %f670, %f70; + mul.f32 %f671, %f670, 0f437FFD71; + cvt.rzi.u32.f32 %r113, %f671; + cvt.u16.u32 %rs13, %r111; + cvt.u16.u32 %rs14, %r113; + cvt.u16.u32 %rs15, %r112; + mov.u16 %rs16, 255; + st.v4.u8 [%rd33], {%rs13, %rs15, %rs14, %rs16}; + ld.global.u32 %r164, [imageEnabled]; + +BB0_68: + and.b32 %r114, %r164, 4; + setp.eq.s32 %p100, %r114, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r115, [additive]; + setp.eq.s32 %p101, %r115, 0; + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + mov.f32 %f672, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs17, %f672;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r119, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r24, %r119, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs24, %rs25, %rs26, %rs27}, [%rd40]; + // inline asm + { cvt.f32.f16 %f673, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f674, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f675, %rs26;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r24, %r119, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f676, %f41, %f673; + add.f32 %f677, %f42, %f674; + add.f32 %f678, %f43, %f675; + // inline asm + { cvt.rn.f16.f32 %rs23, %f678;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f677;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f676;} + + // inline asm + st.v4.u16 [%rd46], {%rs21, %rs22, %rs23, %rs17}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r121, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r24, %r121, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f43;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f42;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f41;} + + // inline asm + st.v4.u16 [%rd53], {%rs28, %rs29, %rs30, %rs17}; + +BB0_72: + ld.global.u8 %rs31, [imageEnabled]; + and.b16 %rs32, %rs31, 64; + setp.eq.s16 %p102, %rs32, 0; + @%p102 bra BB0_94; + + cvt.u64.u32 %rd62, %r2; + cvt.u64.u32 %rd63, %r3; + mov.u64 %rd66, image_Dir; + cvta.global.u64 %rd61, %rd66; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r24, %r25, %rd62, %rd63, %rd15, %rd15); + // inline asm + fma.rn.f32 %f682, %f10, 0f3F000000, 0f3F000000; + mul.f32 %f683, %f682, 0f437F0000; + cvt.rzi.u32.f32 %r124, %f683; + fma.rn.f32 %f684, %f11, 0f3F000000, 0f3F000000; + mul.f32 %f685, %f684, 0f437F0000; + cvt.rzi.u32.f32 %r125, %f685; + fma.rn.f32 %f686, %f12, 0f3F000000, 0f3F000000; + mul.f32 %f687, %f686, 0f437F0000; + cvt.rzi.u32.f32 %r126, %f687; + cvt.u16.u32 %rs33, %r126; + cvt.u16.u32 %rs34, %r125; + cvt.u16.u32 %rs35, %r124; + mov.u16 %rs36, 255; + st.v4.u8 [%rd60], {%rs35, %rs34, %rs33, %rs36}; + +BB0_94: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLight.ptx.meta new file mode 100644 index 00000000..6ef374fb --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e698fa21410b7d843b1a6d05f61ae35c +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightProbeSH.ptx new file mode 100644 index 00000000..4e98185e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightProbeSH.ptx @@ -0,0 +1,2284 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCubemap; +.global .align 4 .b8 lightMatrix[36]; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12lightCubemapE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightMatrixE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12lightCubemapE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename11lightMatrixE[10] = {77, 97, 116, 114, 105, 120, 51, 120, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12lightCubemapE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightMatrixE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12lightCubemapE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightMatrixE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12lightCubemapE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightMatrixE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<122>; + .reg .b16 %rs<221>; + .reg .f32 %f<879>; + .reg .b32 %r<245>; + .reg .b64 %rd<369>; + + + mov.u64 %rd368, __local_depot0; + cvta.local.u64 %SP, %rd368; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd12, %r26; + cvt.u64.u32 %rd13, %r27; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r24, 2; + mov.u32 %r25, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r24, %r25, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r30, %r1, 16; + cvt.u16.u32 %rs1, %r30; + and.b16 %rs12, %rs1, 255; + cvt.u16.u32 %rs13, %r1; + or.b16 %rs14, %rs13, %rs12; + setp.eq.s16 %p6, %rs14, 0; + mov.f32 %f858, 0f00000000; + mov.f32 %f859, %f858; + mov.f32 %f860, %f858; + @%p6 bra BB0_2; + + ld.u8 %rs15, [%rd10+1]; + and.b16 %rs17, %rs13, 255; + cvt.rn.f32.u16 %f106, %rs17; + div.rn.f32 %f107, %f106, 0f437F0000; + fma.rn.f32 %f108, %f107, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f109, %rs15; + div.rn.f32 %f110, %f109, 0f437F0000; + fma.rn.f32 %f111, %f110, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f112, %rs12; + div.rn.f32 %f113, %f112, 0f437F0000; + fma.rn.f32 %f114, %f113, 0f40000000, 0fBF800000; + mul.f32 %f115, %f111, %f111; + fma.rn.f32 %f116, %f108, %f108, %f115; + fma.rn.f32 %f117, %f114, %f114, %f116; + sqrt.rn.f32 %f118, %f117; + rcp.rn.f32 %f119, %f118; + mul.f32 %f858, %f108, %f119; + mul.f32 %f859, %f111, %f119; + mul.f32 %f860, %f114, %f119; + +BB0_2: + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + ld.global.v2.u32 {%r34, %r35}, [tileInfo]; + add.s32 %r2, %r31, %r34; + add.s32 %r3, %r32, %r35; + setp.eq.f32 %p7, %f859, 0f00000000; + setp.eq.f32 %p8, %f858, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f860, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_104; + bra.uni BB0_3; + +BB0_104: + ld.global.u32 %r244, [imageEnabled]; + and.b32 %r193, %r244, 1; + setp.eq.b32 %p114, %r193, 1; + @!%p114 bra BB0_106; + bra.uni BB0_105; + +BB0_105: + cvt.u64.u32 %rd256, %r2; + cvt.u64.u32 %rd257, %r3; + mov.u64 %rd260, image; + cvta.global.u64 %rd255, %rd260; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r24, %r25, %rd256, %rd257, %rd15, %rd15); + // inline asm + mov.u16 %rs153, 0; + st.v4.u8 [%rd254], {%rs153, %rs153, %rs153, %rs153}; + ld.global.u32 %r244, [imageEnabled]; + +BB0_106: + and.b32 %r196, %r244, 8; + setp.eq.s32 %p115, %r196, 0; + @%p115 bra BB0_108; + + cvt.u64.u32 %rd264, %r3; + cvt.u64.u32 %rd263, %r2; + mov.u64 %rd267, image_Mask; + cvta.global.u64 %rd262, %rd267; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r24, %r24, %rd263, %rd264, %rd15, %rd15); + // inline asm + mov.f32 %f775, 0f00000000; + cvt.rzi.u32.f32 %r199, %f775; + cvt.u16.u32 %rs154, %r199; + mov.u16 %rs155, 0; + st.v2.u8 [%rd261], {%rs154, %rs155}; + ld.global.u32 %r244, [imageEnabled]; + +BB0_108: + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + and.b32 %r200, %r244, 4; + setp.eq.s32 %p116, %r200, 0; + @%p116 bra BB0_112; + + ld.global.u32 %r201, [additive]; + setp.eq.s32 %p117, %r201, 0; + @%p117 bra BB0_111; + + mov.u64 %rd280, image_HDR; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r205, 8; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r24, %r205, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs162, %rs163, %rs164, %rs165}, [%rd268]; + // inline asm + { cvt.f32.f16 %f776, %rs162;} + + // inline asm + // inline asm + { cvt.f32.f16 %f777, %rs163;} + + // inline asm + // inline asm + { cvt.f32.f16 %f778, %rs164;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r24, %r205, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f779, %f776, 0f00000000; + add.f32 %f780, %f777, 0f00000000; + add.f32 %f781, %f778, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs161, %f781;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs160, %f780;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs159, %f779;} + + // inline asm + mov.u16 %rs166, 0; + st.v4.u16 [%rd274], {%rs159, %rs160, %rs161, %rs166}; + bra.uni BB0_112; + +BB0_3: + ld.global.v2.u32 {%r41, %r42}, [pixelID]; + cvt.u64.u32 %rd19, %r41; + cvt.u64.u32 %rd20, %r42; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r40, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r24, %r40, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f122, [lightPos]; + ld.f32 %f9, [%rd17+8]; + ld.f32 %f8, [%rd17+4]; + ld.f32 %f7, [%rd17]; + sub.f32 %f123, %f122, %f7; + ld.global.f32 %f124, [lightPos+4]; + sub.f32 %f125, %f124, %f8; + ld.global.f32 %f126, [lightPos+8]; + sub.f32 %f127, %f126, %f9; + mul.f32 %f128, %f125, %f125; + fma.rn.f32 %f129, %f123, %f123, %f128; + fma.rn.f32 %f130, %f127, %f127, %f129; + sqrt.rn.f32 %f131, %f130; + rcp.rn.f32 %f132, %f131; + mul.f32 %f10, %f123, %f132; + mul.f32 %f11, %f125, %f132; + mul.f32 %f12, %f127, %f132; + ld.global.f32 %f133, [lightFalloffFakeDistanceMult]; + mul.f32 %f13, %f131, %f133; + ld.global.f32 %f134, [lightInvCutoff]; + mul.f32 %f14, %f131, %f134; + mov.f32 %f138, 0f40800000; + abs.f32 %f16, %f14; + setp.lt.f32 %p12, %f16, 0f00800000; + mul.f32 %f140, %f16, 0f4B800000; + selp.f32 %f141, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f142, %f140, %f16, %p12; + mov.b32 %r45, %f142; + and.b32 %r46, %r45, 8388607; + or.b32 %r47, %r46, 1065353216; + mov.b32 %f143, %r47; + shr.u32 %r48, %r45, 23; + cvt.rn.f32.u32 %f144, %r48; + add.f32 %f145, %f141, %f144; + setp.gt.f32 %p13, %f143, 0f3FB504F3; + mul.f32 %f146, %f143, 0f3F000000; + add.f32 %f147, %f145, 0f3F800000; + selp.f32 %f148, %f146, %f143, %p13; + selp.f32 %f149, %f147, %f145, %p13; + add.f32 %f150, %f148, 0fBF800000; + add.f32 %f121, %f148, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f120,%f121; + // inline asm + add.f32 %f151, %f150, %f150; + mul.f32 %f152, %f120, %f151; + mul.f32 %f153, %f152, %f152; + mov.f32 %f154, 0f3C4CAF63; + mov.f32 %f155, 0f3B18F0FE; + fma.rn.f32 %f156, %f155, %f153, %f154; + mov.f32 %f157, 0f3DAAAABD; + fma.rn.f32 %f158, %f156, %f153, %f157; + mul.rn.f32 %f159, %f158, %f153; + mul.rn.f32 %f160, %f159, %f152; + sub.f32 %f161, %f150, %f152; + neg.f32 %f162, %f152; + add.f32 %f163, %f161, %f161; + fma.rn.f32 %f164, %f162, %f150, %f163; + mul.rn.f32 %f165, %f120, %f164; + add.f32 %f166, %f160, %f152; + sub.f32 %f167, %f152, %f166; + add.f32 %f168, %f160, %f167; + add.f32 %f169, %f165, %f168; + add.f32 %f170, %f166, %f169; + sub.f32 %f171, %f166, %f170; + add.f32 %f172, %f169, %f171; + mov.f32 %f173, 0f3F317200; + mul.rn.f32 %f174, %f149, %f173; + mov.f32 %f175, 0f35BFBE8E; + mul.rn.f32 %f176, %f149, %f175; + add.f32 %f177, %f174, %f170; + sub.f32 %f178, %f174, %f177; + add.f32 %f179, %f170, %f178; + add.f32 %f180, %f172, %f179; + add.f32 %f181, %f176, %f180; + add.f32 %f182, %f177, %f181; + sub.f32 %f183, %f177, %f182; + add.f32 %f184, %f181, %f183; + mul.rn.f32 %f185, %f138, %f182; + neg.f32 %f186, %f185; + fma.rn.f32 %f187, %f138, %f182, %f186; + fma.rn.f32 %f188, %f138, %f184, %f187; + mov.f32 %f189, 0f00000000; + fma.rn.f32 %f190, %f189, %f182, %f188; + add.rn.f32 %f191, %f185, %f190; + neg.f32 %f192, %f191; + add.rn.f32 %f193, %f185, %f192; + add.rn.f32 %f194, %f193, %f190; + mov.b32 %r49, %f191; + setp.eq.s32 %p14, %r49, 1118925336; + add.s32 %r50, %r49, -1; + mov.b32 %f195, %r50; + add.f32 %f196, %f194, 0f37000000; + selp.f32 %f197, %f195, %f191, %p14; + selp.f32 %f17, %f196, %f194, %p14; + mul.f32 %f198, %f197, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f199, %f198; + mov.f32 %f200, 0fBF317200; + fma.rn.f32 %f201, %f199, %f200, %f197; + mov.f32 %f202, 0fB5BFBE8E; + fma.rn.f32 %f203, %f199, %f202, %f201; + mul.f32 %f204, %f203, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f205, %f204; + add.f32 %f206, %f199, 0f00000000; + ex2.approx.f32 %f207, %f206; + mul.f32 %f208, %f205, %f207; + setp.lt.f32 %p15, %f197, 0fC2D20000; + selp.f32 %f209, 0f00000000, %f208, %p15; + setp.gt.f32 %p16, %f197, 0f42D20000; + selp.f32 %f861, 0f7F800000, %f209, %p16; + setp.eq.f32 %p17, %f861, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f861, %f861, %f17, %f861; + +BB0_5: + mov.f32 %f816, 0f40000000; + cvt.rzi.f32.f32 %f815, %f816; + add.f32 %f814, %f815, %f815; + mov.f32 %f813, 0f40800000; + sub.f32 %f812, %f813, %f814; + abs.f32 %f811, %f812; + setp.lt.f32 %p18, %f14, 0f00000000; + setp.eq.f32 %p19, %f811, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r51, %f861; + xor.b32 %r52, %r51, -2147483648; + mov.b32 %f210, %r52; + selp.f32 %f863, %f210, %f861, %p1; + setp.eq.f32 %p20, %f14, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f213, %f14, %f14; + selp.f32 %f863, %f213, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f14, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f849, 0f40800000; + cvt.rzi.f32.f32 %f212, %f849; + setp.neu.f32 %p22, %f212, 0f40800000; + selp.f32 %f863, 0f7FFFFFFF, %f863, %p22; + +BB0_9: + abs.f32 %f817, %f14; + add.f32 %f214, %f817, 0f40800000; + mov.b32 %r53, %f214; + setp.lt.s32 %p24, %r53, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f847, %f14; + setp.gtu.f32 %p25, %f847, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f863, %f14, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f848, %f14; + setp.neu.f32 %p26, %f848, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f863, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f866, 0f3F800000; + sub.f32 %f223, %f866, %f863; + setp.eq.f32 %p27, %f14, 0f3F800000; + selp.f32 %f224, 0f00000000, %f223, %p27; + cvt.sat.f32.f32 %f225, %f224; + ld.global.f32 %f226, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f227, %f13, %f13, %f226; + div.rn.f32 %f28, %f225, %f227; + mul.f32 %f228, %f859, %f11; + fma.rn.f32 %f229, %f858, %f10, %f228; + fma.rn.f32 %f230, %f860, %f12, %f229; + ld.global.u32 %r57, [imageEnabled]; + and.b32 %r58, %r57, 32; + ld.global.u32 %r59, [ignoreNormal]; + or.b32 %r60, %r58, %r59; + setp.eq.s32 %p28, %r60, 0; + selp.f32 %f29, %f230, 0f3F800000, %p28; + ld.global.f32 %f231, [lightMatrix]; + fma.rn.f32 %f232, %f231, %f10, 0f00000000; + ld.global.f32 %f233, [lightMatrix+4]; + fma.rn.f32 %f234, %f233, %f11, %f232; + ld.global.f32 %f235, [lightMatrix+8]; + fma.rn.f32 %f221, %f235, %f12, %f234; + ld.global.f32 %f236, [lightMatrix+12]; + fma.rn.f32 %f237, %f236, %f10, 0f00000000; + ld.global.f32 %f238, [lightMatrix+16]; + fma.rn.f32 %f239, %f238, %f11, %f237; + ld.global.f32 %f240, [lightMatrix+20]; + fma.rn.f32 %f220, %f240, %f12, %f239; + ld.global.f32 %f241, [lightMatrix+24]; + fma.rn.f32 %f242, %f241, %f10, 0f00000000; + ld.global.f32 %f243, [lightMatrix+28]; + fma.rn.f32 %f244, %f243, %f11, %f242; + ld.global.f32 %f245, [lightMatrix+32]; + fma.rn.f32 %f219, %f245, %f12, %f244; + ld.global.u32 %r54, [lightCubemap]; + mov.u32 %r55, 6; + mov.u32 %r237, 0; + // inline asm + call (%f215, %f216, %f217, %f218), _rt_texture_get_base_id, (%r54, %r55, %f219, %f220, %f221, %r237); + // inline asm + max.f32 %f246, %f215, %f216; + max.f32 %f247, %f246, %f217; + mul.f32 %f248, %f28, %f247; + ld.global.f32 %f249, [lightColor+4]; + ld.global.f32 %f250, [lightColor]; + max.f32 %f251, %f250, %f249; + ld.global.f32 %f252, [lightColor+8]; + max.f32 %f253, %f251, %f252; + mul.f32 %f254, %f248, %f253; + setp.lt.f32 %p29, %f254, 0f3727C5AC; + @%p29 bra BB0_84; + bra.uni BB0_15; + +BB0_84: + ld.global.u32 %r242, [imageEnabled]; + and.b32 %r150, %r242, 1; + setp.eq.b32 %p106, %r150, 1; + @!%p106 bra BB0_86; + bra.uni BB0_85; + +BB0_85: + cvt.u64.u32 %rd142, %r2; + cvt.u64.u32 %rd143, %r3; + mov.u64 %rd146, image; + cvta.global.u64 %rd141, %rd146; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r24, %r25, %rd142, %rd143, %rd15, %rd15); + // inline asm + mov.u16 %rs89, 1; + mov.u16 %rs90, 0; + st.v4.u8 [%rd140], {%rs90, %rs90, %rs90, %rs89}; + ld.global.u32 %r242, [imageEnabled]; + +BB0_86: + and.b32 %r153, %r242, 8; + setp.eq.s32 %p107, %r153, 0; + @%p107 bra BB0_88; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd149, %r2; + mov.u64 %rd153, image_Mask; + cvta.global.u64 %rd148, %rd153; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r24, %r24, %rd149, %rd150, %rd15, %rd15); + // inline asm + mov.f32 %f732, 0f00000000; + cvt.rzi.u32.f32 %r156, %f732; + cvt.u16.u32 %rs91, %r156; + mov.u16 %rs92, 255; + st.v2.u8 [%rd147], {%rs91, %rs92}; + ld.global.u32 %r242, [imageEnabled]; + +BB0_88: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r157, %r242, 4; + setp.eq.s32 %p108, %r157, 0; + @%p108 bra BB0_92; + + ld.global.u32 %r158, [additive]; + setp.eq.s32 %p109, %r158, 0; + mov.f32 %f733, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs93, %f733;} + + // inline asm + @%p109 bra BB0_91; + + mov.u64 %rd166, image_HDR; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r162, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r24, %r162, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs100, %rs101, %rs102, %rs103}, [%rd154]; + // inline asm + { cvt.f32.f16 %f734, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f735, %rs101;} + + // inline asm + // inline asm + { cvt.f32.f16 %f736, %rs102;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r24, %r162, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f737, %f734, 0f00000000; + add.f32 %f738, %f735, 0f00000000; + add.f32 %f739, %f736, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs99, %f739;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f738;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f737;} + + // inline asm + st.v4.u16 [%rd160], {%rs97, %rs98, %rs99, %rs93}; + bra.uni BB0_92; + +BB0_15: + mov.f32 %f865, 0f00000000; + mul.f32 %f256, %f7, 0f3456BF95; + abs.f32 %f257, %f858; + div.rn.f32 %f258, %f256, %f257; + abs.f32 %f259, %f859; + mul.f32 %f260, %f8, 0f3456BF95; + div.rn.f32 %f261, %f260, %f259; + abs.f32 %f262, %f860; + mul.f32 %f263, %f9, 0f3456BF95; + div.rn.f32 %f264, %f263, %f262; + abs.f32 %f265, %f258; + abs.f32 %f266, %f261; + abs.f32 %f267, %f264; + mov.f32 %f268, 0f38D1B717; + max.f32 %f269, %f265, %f268; + max.f32 %f270, %f266, %f268; + max.f32 %f271, %f267, %f268; + fma.rn.f32 %f33, %f858, %f269, %f7; + fma.rn.f32 %f34, %f859, %f270, %f8; + fma.rn.f32 %f35, %f860, %f271, %f9; + ld.global.u32 %r238, [samples]; + setp.lt.s32 %p30, %r238, 1; + @%p30 bra BB0_18; + + mul.f32 %f273, %f33, 0f3456BF95; + abs.f32 %f274, %f273; + mul.f32 %f275, %f34, 0f3456BF95; + abs.f32 %f276, %f275; + mul.f32 %f277, %f35, 0f3456BF95; + abs.f32 %f278, %f277; + max.f32 %f279, %f274, %f276; + max.f32 %f280, %f279, %f278; + max.f32 %f36, %f280, %f268; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f865, 0f00000000; + +BB0_17: + cvt.rn.f32.s32 %f290, %r237; + mul.f32 %f291, %f290, 0f3DD32618; + cvt.rmi.f32.f32 %f292, %f291; + sub.f32 %f293, %f291, %f292; + mul.f32 %f294, %f290, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f295, %f294; + sub.f32 %f296, %f294, %f295; + mul.f32 %f297, %f290, 0f3DC74539; + cvt.rmi.f32.f32 %f298, %f297; + sub.f32 %f299, %f297, %f298; + add.f32 %f300, %f296, 0f4199851F; + add.f32 %f301, %f299, 0f4199851F; + add.f32 %f302, %f293, 0f4199851F; + mul.f32 %f303, %f296, %f301; + fma.rn.f32 %f304, %f293, %f300, %f303; + fma.rn.f32 %f305, %f302, %f299, %f304; + add.f32 %f306, %f293, %f305; + add.f32 %f307, %f296, %f305; + add.f32 %f308, %f299, %f305; + add.f32 %f309, %f306, %f307; + mul.f32 %f310, %f308, %f309; + cvt.rmi.f32.f32 %f311, %f310; + sub.f32 %f312, %f310, %f311; + add.f32 %f313, %f306, %f308; + mul.f32 %f314, %f307, %f313; + cvt.rmi.f32.f32 %f315, %f314; + sub.f32 %f316, %f314, %f315; + add.f32 %f317, %f307, %f308; + mul.f32 %f318, %f306, %f317; + cvt.rmi.f32.f32 %f319, %f318; + sub.f32 %f320, %f318, %f319; + fma.rn.f32 %f321, %f312, 0f40000000, 0fBF800000; + fma.rn.f32 %f322, %f316, 0f40000000, 0fBF800000; + fma.rn.f32 %f323, %f320, 0f40000000, 0fBF800000; + ld.global.f32 %f324, [lightRadius]; + ld.global.f32 %f325, [lightPos]; + fma.rn.f32 %f326, %f324, %f321, %f325; + ld.global.f32 %f327, [lightPos+4]; + fma.rn.f32 %f328, %f324, %f322, %f327; + ld.global.f32 %f329, [lightPos+8]; + fma.rn.f32 %f330, %f324, %f323, %f329; + sub.f32 %f331, %f326, %f7; + sub.f32 %f332, %f328, %f8; + sub.f32 %f333, %f330, %f9; + mul.f32 %f334, %f332, %f332; + fma.rn.f32 %f335, %f331, %f331, %f334; + fma.rn.f32 %f336, %f333, %f333, %f335; + sqrt.rn.f32 %f289, %f336; + rcp.rn.f32 %f337, %f289; + mul.f32 %f285, %f337, %f331; + mul.f32 %f286, %f337, %f332; + mul.f32 %f287, %f337, %f333; + ld.global.u32 %r65, [imageEnabled]; + and.b32 %r66, %r65, 32; + setp.eq.s32 %p31, %r66, 0; + selp.f32 %f338, 0f3F800000, 0f41200000, %p31; + mul.f32 %f288, %f338, %f36; + mov.u32 %r67, 1065353216; + st.local.u32 [%rd2], %r67; + ld.global.u32 %r62, [root]; + mov.u32 %r63, 1; + // inline asm + call _rt_trace_64, (%r62, %f33, %f34, %f35, %f285, %f286, %f287, %r63, %f288, %f289, %rd24, %r25); + // inline asm + ld.local.f32 %f339, [%rd2]; + add.f32 %f865, %f865, %f339; + ld.global.u32 %r238, [samples]; + add.s32 %r237, %r237, 1; + setp.lt.s32 %p32, %r237, %r238; + @%p32 bra BB0_17; + +BB0_18: + setp.eq.s32 %p33, %r238, 0; + @%p33 bra BB0_20; + + cvt.rn.f32.s32 %f341, %r238; + div.rn.f32 %f866, %f865, %f341; + +BB0_20: + cvt.sat.f32.f32 %f342, %f29; + mul.f32 %f343, %f28, %f342; + mul.f32 %f344, %f866, %f343; + ld.global.f32 %f345, [lightColor]; + mul.f32 %f346, %f345, %f344; + ld.global.f32 %f347, [lightColor+4]; + mul.f32 %f348, %f347, %f344; + ld.global.f32 %f349, [lightColor+8]; + mul.f32 %f350, %f344, %f349; + mul.f32 %f42, %f215, %f346; + mul.f32 %f43, %f216, %f348; + mul.f32 %f44, %f217, %f350; + ld.global.u32 %r240, [imageEnabled]; + and.b32 %r68, %r240, 8; + setp.eq.s32 %p34, %r68, 0; + @%p34 bra BB0_33; + + mov.f32 %f825, 0fB5BFBE8E; + mov.f32 %f824, 0fBF317200; + mov.f32 %f823, 0f35BFBE8E; + mov.f32 %f822, 0f3F317200; + mov.f32 %f821, 0f3DAAAABD; + mov.f32 %f820, 0f3C4CAF63; + mov.f32 %f819, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r24, %r24, %rd28, %rd29, %rd15, %rd15); + // inline asm + abs.f32 %f46, %f866; + setp.lt.f32 %p35, %f46, 0f00800000; + mul.f32 %f356, %f46, 0f4B800000; + selp.f32 %f357, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f358, %f356, %f46, %p35; + mov.b32 %r71, %f358; + and.b32 %r72, %r71, 8388607; + or.b32 %r73, %r72, 1065353216; + mov.b32 %f359, %r73; + shr.u32 %r74, %r71, 23; + cvt.rn.f32.u32 %f360, %r74; + add.f32 %f361, %f357, %f360; + setp.gt.f32 %p36, %f359, 0f3FB504F3; + mul.f32 %f362, %f359, 0f3F000000; + add.f32 %f363, %f361, 0f3F800000; + selp.f32 %f364, %f362, %f359, %p36; + selp.f32 %f365, %f363, %f361, %p36; + add.f32 %f366, %f364, 0fBF800000; + add.f32 %f352, %f364, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f351,%f352; + // inline asm + add.f32 %f367, %f366, %f366; + mul.f32 %f368, %f351, %f367; + mul.f32 %f369, %f368, %f368; + fma.rn.f32 %f372, %f819, %f369, %f820; + fma.rn.f32 %f374, %f372, %f369, %f821; + mul.rn.f32 %f375, %f374, %f369; + mul.rn.f32 %f376, %f375, %f368; + sub.f32 %f377, %f366, %f368; + neg.f32 %f378, %f368; + add.f32 %f379, %f377, %f377; + fma.rn.f32 %f380, %f378, %f366, %f379; + mul.rn.f32 %f381, %f351, %f380; + add.f32 %f382, %f376, %f368; + sub.f32 %f383, %f368, %f382; + add.f32 %f384, %f376, %f383; + add.f32 %f385, %f381, %f384; + add.f32 %f386, %f382, %f385; + sub.f32 %f387, %f382, %f386; + add.f32 %f388, %f385, %f387; + mul.rn.f32 %f390, %f365, %f822; + mul.rn.f32 %f392, %f365, %f823; + add.f32 %f393, %f390, %f386; + sub.f32 %f394, %f390, %f393; + add.f32 %f395, %f386, %f394; + add.f32 %f396, %f388, %f395; + add.f32 %f397, %f392, %f396; + add.f32 %f398, %f393, %f397; + sub.f32 %f399, %f393, %f398; + add.f32 %f400, %f397, %f399; + mov.f32 %f401, 0f3EE8BA2E; + mul.rn.f32 %f402, %f401, %f398; + neg.f32 %f403, %f402; + fma.rn.f32 %f404, %f401, %f398, %f403; + fma.rn.f32 %f405, %f401, %f400, %f404; + mov.f32 %f406, 0f00000000; + fma.rn.f32 %f407, %f406, %f398, %f405; + add.rn.f32 %f408, %f402, %f407; + neg.f32 %f409, %f408; + add.rn.f32 %f410, %f402, %f409; + add.rn.f32 %f411, %f410, %f407; + mov.b32 %r75, %f408; + setp.eq.s32 %p37, %r75, 1118925336; + add.s32 %r76, %r75, -1; + mov.b32 %f412, %r76; + add.f32 %f413, %f411, 0f37000000; + selp.f32 %f414, %f412, %f408, %p37; + selp.f32 %f47, %f413, %f411, %p37; + mul.f32 %f415, %f414, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f416, %f415; + fma.rn.f32 %f418, %f416, %f824, %f414; + fma.rn.f32 %f420, %f416, %f825, %f418; + mul.f32 %f421, %f420, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f422, %f421; + add.f32 %f423, %f416, 0f00000000; + ex2.approx.f32 %f424, %f423; + mul.f32 %f425, %f422, %f424; + setp.lt.f32 %p38, %f414, 0fC2D20000; + selp.f32 %f426, 0f00000000, %f425, %p38; + setp.gt.f32 %p39, %f414, 0f42D20000; + selp.f32 %f867, 0f7F800000, %f426, %p39; + setp.eq.f32 %p40, %f867, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f867, %f867, %f47, %f867; + +BB0_23: + mov.f32 %f853, 0f3E68BA2E; + cvt.rzi.f32.f32 %f852, %f853; + fma.rn.f32 %f851, %f852, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f850, %f851; + setp.lt.f32 %p41, %f866, 0f00000000; + setp.eq.f32 %p42, %f850, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r77, %f867; + xor.b32 %r78, %r77, -2147483648; + mov.b32 %f427, %r78; + selp.f32 %f869, %f427, %f867, %p2; + setp.eq.f32 %p43, %f866, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f430, %f866, %f866; + selp.f32 %f869, %f430, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_111: + mov.u64 %rd287, image_HDR; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r207, 8; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r24, %r207, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f782, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f782;} + + // inline asm + mov.u16 %rs168, 0; + st.v4.u16 [%rd281], {%rs167, %rs167, %rs167, %rs168}; + +BB0_112: + ld.global.u32 %r208, [additive]; + setp.eq.s32 %p118, %r208, 0; + @%p118 bra BB0_114; + + mov.u64 %rd300, image_RNM0; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r212, 8; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r24, %r212, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs175, %rs176, %rs177, %rs178}, [%rd288]; + // inline asm + { cvt.f32.f16 %f783, %rs175;} + + // inline asm + // inline asm + { cvt.f32.f16 %f784, %rs176;} + + // inline asm + // inline asm + { cvt.f32.f16 %f785, %rs177;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r24, %r212, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f786, %f783, 0f00000000; + add.f32 %f787, %f784, 0f00000000; + add.f32 %f788, %f785, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs174, %f788;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs173, %f787;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs172, %f786;} + + // inline asm + mov.u16 %rs179, 0; + st.v4.u16 [%rd294], {%rs172, %rs173, %rs174, %rs179}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd307, image_RNM0; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r214, 8; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r24, %r214, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f789, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs180, %f789;} + + // inline asm + mov.u16 %rs181, 0; + st.v4.u16 [%rd301], {%rs180, %rs180, %rs180, %rs181}; + +BB0_115: + ld.global.u32 %r215, [additive]; + setp.eq.s32 %p119, %r215, 0; + @%p119 bra BB0_117; + + mov.u64 %rd320, image_RNM1; + cvta.global.u64 %rd309, %rd320; + mov.u32 %r219, 8; + // inline asm + call (%rd308), _rt_buffer_get_64, (%rd309, %r24, %r219, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs188, %rs189, %rs190, %rs191}, [%rd308]; + // inline asm + { cvt.f32.f16 %f790, %rs188;} + + // inline asm + // inline asm + { cvt.f32.f16 %f791, %rs189;} + + // inline asm + // inline asm + { cvt.f32.f16 %f792, %rs190;} + + // inline asm + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd309, %r24, %r219, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f793, %f790, 0f00000000; + add.f32 %f794, %f791, 0f00000000; + add.f32 %f795, %f792, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs187, %f795;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs186, %f794;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs185, %f793;} + + // inline asm + mov.u16 %rs192, 0; + st.v4.u16 [%rd314], {%rs185, %rs186, %rs187, %rs192}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd327, image_RNM1; + cvta.global.u64 %rd322, %rd327; + mov.u32 %r221, 8; + // inline asm + call (%rd321), _rt_buffer_get_64, (%rd322, %r24, %r221, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f796, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs193, %f796;} + + // inline asm + mov.u16 %rs194, 0; + st.v4.u16 [%rd321], {%rs193, %rs193, %rs193, %rs194}; + +BB0_118: + ld.global.u32 %r222, [additive]; + setp.eq.s32 %p120, %r222, 0; + @%p120 bra BB0_120; + + mov.u64 %rd340, image_RNM2; + cvta.global.u64 %rd329, %rd340; + mov.u32 %r226, 8; + // inline asm + call (%rd328), _rt_buffer_get_64, (%rd329, %r24, %r226, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs201, %rs202, %rs203, %rs204}, [%rd328]; + // inline asm + { cvt.f32.f16 %f797, %rs201;} + + // inline asm + // inline asm + { cvt.f32.f16 %f798, %rs202;} + + // inline asm + // inline asm + { cvt.f32.f16 %f799, %rs203;} + + // inline asm + // inline asm + call (%rd334), _rt_buffer_get_64, (%rd329, %r24, %r226, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f800, %f797, 0f00000000; + add.f32 %f801, %f798, 0f00000000; + add.f32 %f802, %f799, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs200, %f802;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs199, %f801;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs198, %f800;} + + // inline asm + mov.u16 %rs205, 0; + st.v4.u16 [%rd334], {%rs198, %rs199, %rs200, %rs205}; + bra.uni BB0_121; + +BB0_120: + mov.u64 %rd347, image_RNM2; + cvta.global.u64 %rd342, %rd347; + mov.u32 %r228, 8; + // inline asm + call (%rd341), _rt_buffer_get_64, (%rd342, %r24, %r228, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f803, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs206, %f803;} + + // inline asm + mov.u16 %rs207, 0; + st.v4.u16 [%rd341], {%rs206, %rs206, %rs206, %rs207}; + +BB0_121: + ld.global.u32 %r229, [additive]; + setp.eq.s32 %p121, %r229, 0; + @%p121 bra BB0_123; + + mov.u64 %rd360, image_RNM3; + cvta.global.u64 %rd349, %rd360; + mov.u32 %r233, 8; + // inline asm + call (%rd348), _rt_buffer_get_64, (%rd349, %r24, %r233, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs214, %rs215, %rs216, %rs217}, [%rd348]; + // inline asm + { cvt.f32.f16 %f804, %rs214;} + + // inline asm + // inline asm + { cvt.f32.f16 %f805, %rs215;} + + // inline asm + // inline asm + { cvt.f32.f16 %f806, %rs216;} + + // inline asm + // inline asm + call (%rd354), _rt_buffer_get_64, (%rd349, %r24, %r233, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f807, %f804, 0f00000000; + add.f32 %f808, %f805, 0f00000000; + add.f32 %f809, %f806, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs213, %f809;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs212, %f808;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs211, %f807;} + + // inline asm + mov.u16 %rs218, 0; + st.v4.u16 [%rd354], {%rs211, %rs212, %rs213, %rs218}; + bra.uni BB0_124; + +BB0_123: + mov.u64 %rd367, image_RNM3; + cvta.global.u64 %rd362, %rd367; + mov.u32 %r235, 8; + // inline asm + call (%rd361), _rt_buffer_get_64, (%rd362, %r24, %r235, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f810, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs219, %f810;} + + // inline asm + mov.u16 %rs220, 0; + st.v4.u16 [%rd361], {%rs219, %rs219, %rs219, %rs220}; + bra.uni BB0_124; + +BB0_91: + mov.u64 %rd173, image_HDR; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r164, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r24, %r164, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f740, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f740;} + + // inline asm + st.v4.u16 [%rd167], {%rs104, %rs104, %rs104, %rs93}; + +BB0_92: + ld.global.u32 %r165, [additive]; + setp.eq.s32 %p110, %r165, 0; + mov.f32 %f741, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f741;} + + // inline asm + @%p110 bra BB0_94; + + mov.u64 %rd186, image_RNM0; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r169, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r24, %r169, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd174]; + // inline asm + { cvt.f32.f16 %f742, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f743, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f744, %rs114;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r24, %r169, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f745, %f742, 0f00000000; + add.f32 %f746, %f743, 0f00000000; + add.f32 %f747, %f744, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f747;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f746;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f745;} + + // inline asm + st.v4.u16 [%rd180], {%rs109, %rs110, %rs111, %rs105}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd193, image_RNM0; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r171, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r24, %r171, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f748, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f748;} + + // inline asm + st.v4.u16 [%rd187], {%rs116, %rs116, %rs116, %rs105}; + +BB0_95: + ld.global.u32 %r172, [additive]; + setp.eq.s32 %p111, %r172, 0; + // inline asm + { cvt.rn.f16.f32 %rs117, %f741;} + + // inline asm + @%p111 bra BB0_97; + + mov.u64 %rd206, image_RNM1; + cvta.global.u64 %rd195, %rd206; + mov.u32 %r176, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r24, %r176, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd194]; + // inline asm + { cvt.f32.f16 %f750, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f751, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f752, %rs126;} + + // inline asm + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd195, %r24, %r176, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f753, %f750, 0f00000000; + add.f32 %f754, %f751, 0f00000000; + add.f32 %f755, %f752, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f755;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f754;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f753;} + + // inline asm + st.v4.u16 [%rd200], {%rs121, %rs122, %rs123, %rs117}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd213, image_RNM1; + cvta.global.u64 %rd208, %rd213; + mov.u32 %r178, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r24, %r178, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f756, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f756;} + + // inline asm + st.v4.u16 [%rd207], {%rs128, %rs128, %rs128, %rs117}; + +BB0_98: + ld.global.u32 %r179, [additive]; + setp.eq.s32 %p112, %r179, 0; + // inline asm + { cvt.rn.f16.f32 %rs129, %f741;} + + // inline asm + @%p112 bra BB0_100; + + mov.u64 %rd226, image_RNM2; + cvta.global.u64 %rd215, %rd226; + mov.u32 %r183, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r24, %r183, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs136, %rs137, %rs138, %rs139}, [%rd214]; + // inline asm + { cvt.f32.f16 %f758, %rs136;} + + // inline asm + // inline asm + { cvt.f32.f16 %f759, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f760, %rs138;} + + // inline asm + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd215, %r24, %r183, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f761, %f758, 0f00000000; + add.f32 %f762, %f759, 0f00000000; + add.f32 %f763, %f760, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs135, %f763;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f762;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs133, %f761;} + + // inline asm + st.v4.u16 [%rd220], {%rs133, %rs134, %rs135, %rs129}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd233, image_RNM2; + cvta.global.u64 %rd228, %rd233; + mov.u32 %r185, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r24, %r185, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f764, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f764;} + + // inline asm + st.v4.u16 [%rd227], {%rs140, %rs140, %rs140, %rs129}; + +BB0_101: + ld.global.u32 %r186, [additive]; + setp.eq.s32 %p113, %r186, 0; + // inline asm + { cvt.rn.f16.f32 %rs141, %f741;} + + // inline asm + @%p113 bra BB0_103; + + mov.u64 %rd246, image_RNM3; + cvta.global.u64 %rd235, %rd246; + mov.u32 %r190, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r24, %r190, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs148, %rs149, %rs150, %rs151}, [%rd234]; + // inline asm + { cvt.f32.f16 %f766, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f767, %rs149;} + + // inline asm + // inline asm + { cvt.f32.f16 %f768, %rs150;} + + // inline asm + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd235, %r24, %r190, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f769, %f766, 0f00000000; + add.f32 %f770, %f767, 0f00000000; + add.f32 %f771, %f768, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f771;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs146, %f770;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f769;} + + // inline asm + st.v4.u16 [%rd240], {%rs145, %rs146, %rs147, %rs141}; + bra.uni BB0_124; + +BB0_103: + mov.u64 %rd253, image_RNM3; + cvta.global.u64 %rd248, %rd253; + mov.u32 %r192, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r24, %r192, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f772, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f772;} + + // inline asm + st.v4.u16 [%rd247], {%rs152, %rs152, %rs152, %rs141}; + bra.uni BB0_124; + +BB0_24: + setp.geu.f32 %p44, %f866, 0f00000000; + @%p44 bra BB0_27; + + mov.f32 %f857, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f429, %f857; + setp.neu.f32 %p45, %f429, 0f3EE8BA2E; + selp.f32 %f869, 0f7FFFFFFF, %f869, %p45; + +BB0_27: + abs.f32 %f854, %f866; + add.f32 %f431, %f854, 0f3EE8BA2E; + mov.b32 %r79, %f431; + setp.lt.s32 %p47, %r79, 2139095040; + @%p47 bra BB0_32; + + abs.f32 %f855, %f866; + setp.gtu.f32 %p48, %f855, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f869, %f866, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + abs.f32 %f856, %f866; + setp.neu.f32 %p49, %f856, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f869, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f432, %f869, 0f437F0000; + setp.eq.f32 %p50, %f866, 0f3F800000; + selp.f32 %f433, 0f437F0000, %f432, %p50; + cvt.rzi.u32.f32 %r80, %f433; + cvt.u16.u32 %rs19, %r80; + mov.u16 %rs20, 255; + st.v2.u8 [%rd26], {%rs19, %rs20}; + ld.global.u32 %r240, [imageEnabled]; + +BB0_33: + and.b32 %r81, %r240, 1; + setp.eq.b32 %p51, %r81, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f832, 0fB5BFBE8E; + mov.f32 %f831, 0fBF317200; + mov.f32 %f830, 0f35BFBE8E; + mov.f32 %f829, 0f3F317200; + mov.f32 %f828, 0f3DAAAABD; + mov.f32 %f827, 0f3C4CAF63; + mov.f32 %f826, 0f3B18F0FE; + mov.f32 %f436, 0f3E666666; + cvt.rzi.f32.f32 %f437, %f436; + fma.rn.f32 %f438, %f437, 0fC0000000, 0f3EE66666; + abs.f32 %f58, %f438; + abs.f32 %f59, %f42; + setp.lt.f32 %p52, %f59, 0f00800000; + mul.f32 %f439, %f59, 0f4B800000; + selp.f32 %f440, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f441, %f439, %f59, %p52; + mov.b32 %r82, %f441; + and.b32 %r83, %r82, 8388607; + or.b32 %r84, %r83, 1065353216; + mov.b32 %f442, %r84; + shr.u32 %r85, %r82, 23; + cvt.rn.f32.u32 %f443, %r85; + add.f32 %f444, %f440, %f443; + setp.gt.f32 %p53, %f442, 0f3FB504F3; + mul.f32 %f445, %f442, 0f3F000000; + add.f32 %f446, %f444, 0f3F800000; + selp.f32 %f447, %f445, %f442, %p53; + selp.f32 %f448, %f446, %f444, %p53; + add.f32 %f449, %f447, 0fBF800000; + add.f32 %f435, %f447, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f434,%f435; + // inline asm + add.f32 %f450, %f449, %f449; + mul.f32 %f451, %f434, %f450; + mul.f32 %f452, %f451, %f451; + fma.rn.f32 %f455, %f826, %f452, %f827; + fma.rn.f32 %f457, %f455, %f452, %f828; + mul.rn.f32 %f458, %f457, %f452; + mul.rn.f32 %f459, %f458, %f451; + sub.f32 %f460, %f449, %f451; + neg.f32 %f461, %f451; + add.f32 %f462, %f460, %f460; + fma.rn.f32 %f463, %f461, %f449, %f462; + mul.rn.f32 %f464, %f434, %f463; + add.f32 %f465, %f459, %f451; + sub.f32 %f466, %f451, %f465; + add.f32 %f467, %f459, %f466; + add.f32 %f468, %f464, %f467; + add.f32 %f469, %f465, %f468; + sub.f32 %f470, %f465, %f469; + add.f32 %f471, %f468, %f470; + mul.rn.f32 %f473, %f448, %f829; + mul.rn.f32 %f475, %f448, %f830; + add.f32 %f476, %f473, %f469; + sub.f32 %f477, %f473, %f476; + add.f32 %f478, %f469, %f477; + add.f32 %f479, %f471, %f478; + add.f32 %f480, %f475, %f479; + add.f32 %f481, %f476, %f480; + sub.f32 %f482, %f476, %f481; + add.f32 %f483, %f480, %f482; + mov.f32 %f484, 0f3EE66666; + mul.rn.f32 %f485, %f484, %f481; + neg.f32 %f486, %f485; + fma.rn.f32 %f487, %f484, %f481, %f486; + fma.rn.f32 %f488, %f484, %f483, %f487; + mov.f32 %f489, 0f00000000; + fma.rn.f32 %f490, %f489, %f481, %f488; + add.rn.f32 %f491, %f485, %f490; + neg.f32 %f492, %f491; + add.rn.f32 %f493, %f485, %f492; + add.rn.f32 %f494, %f493, %f490; + mov.b32 %r86, %f491; + setp.eq.s32 %p54, %r86, 1118925336; + add.s32 %r87, %r86, -1; + mov.b32 %f495, %r87; + add.f32 %f496, %f494, 0f37000000; + selp.f32 %f497, %f495, %f491, %p54; + selp.f32 %f60, %f496, %f494, %p54; + mul.f32 %f498, %f497, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f499, %f498; + fma.rn.f32 %f501, %f499, %f831, %f497; + fma.rn.f32 %f503, %f499, %f832, %f501; + mul.f32 %f504, %f503, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f505, %f504; + add.f32 %f506, %f499, 0f00000000; + ex2.approx.f32 %f507, %f506; + mul.f32 %f508, %f505, %f507; + setp.lt.f32 %p55, %f497, 0fC2D20000; + selp.f32 %f509, 0f00000000, %f508, %p55; + setp.gt.f32 %p56, %f497, 0f42D20000; + selp.f32 %f870, 0f7F800000, %f509, %p56; + setp.eq.f32 %p57, %f870, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f870, %f870, %f60, %f870; + +BB0_36: + setp.lt.f32 %p58, %f42, 0f00000000; + setp.eq.f32 %p59, %f58, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r88, %f870; + xor.b32 %r89, %r88, -2147483648; + mov.b32 %f510, %r89; + selp.f32 %f872, %f510, %f870, %p3; + setp.eq.f32 %p60, %f42, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f513, %f42, %f42; + selp.f32 %f872, %f513, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f42, 0f00000000; + @%p61 bra BB0_40; + + cvt.rzi.f32.f32 %f512, %f484; + setp.neu.f32 %p62, %f512, 0f3EE66666; + selp.f32 %f872, 0f7FFFFFFF, %f872, %p62; + +BB0_40: + add.f32 %f514, %f59, 0f3EE66666; + mov.b32 %r90, %f514; + setp.lt.s32 %p64, %r90, 2139095040; + @%p64 bra BB0_45; + + setp.gtu.f32 %p65, %f59, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f872, %f42, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p66, %f59, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f872, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f839, 0fB5BFBE8E; + mov.f32 %f838, 0fBF317200; + mov.f32 %f837, 0f35BFBE8E; + mov.f32 %f836, 0f3F317200; + mov.f32 %f835, 0f3DAAAABD; + mov.f32 %f834, 0f3C4CAF63; + mov.f32 %f833, 0f3B18F0FE; + setp.eq.f32 %p67, %f42, 0f3F800000; + selp.f32 %f71, 0f3F800000, %f872, %p67; + abs.f32 %f72, %f43; + setp.lt.f32 %p68, %f72, 0f00800000; + mul.f32 %f517, %f72, 0f4B800000; + selp.f32 %f518, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f519, %f517, %f72, %p68; + mov.b32 %r91, %f519; + and.b32 %r92, %r91, 8388607; + or.b32 %r93, %r92, 1065353216; + mov.b32 %f520, %r93; + shr.u32 %r94, %r91, 23; + cvt.rn.f32.u32 %f521, %r94; + add.f32 %f522, %f518, %f521; + setp.gt.f32 %p69, %f520, 0f3FB504F3; + mul.f32 %f523, %f520, 0f3F000000; + add.f32 %f524, %f522, 0f3F800000; + selp.f32 %f525, %f523, %f520, %p69; + selp.f32 %f526, %f524, %f522, %p69; + add.f32 %f527, %f525, 0fBF800000; + add.f32 %f516, %f525, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f515,%f516; + // inline asm + add.f32 %f528, %f527, %f527; + mul.f32 %f529, %f515, %f528; + mul.f32 %f530, %f529, %f529; + fma.rn.f32 %f533, %f833, %f530, %f834; + fma.rn.f32 %f535, %f533, %f530, %f835; + mul.rn.f32 %f536, %f535, %f530; + mul.rn.f32 %f537, %f536, %f529; + sub.f32 %f538, %f527, %f529; + neg.f32 %f539, %f529; + add.f32 %f540, %f538, %f538; + fma.rn.f32 %f541, %f539, %f527, %f540; + mul.rn.f32 %f542, %f515, %f541; + add.f32 %f543, %f537, %f529; + sub.f32 %f544, %f529, %f543; + add.f32 %f545, %f537, %f544; + add.f32 %f546, %f542, %f545; + add.f32 %f547, %f543, %f546; + sub.f32 %f548, %f543, %f547; + add.f32 %f549, %f546, %f548; + mul.rn.f32 %f551, %f526, %f836; + mul.rn.f32 %f553, %f526, %f837; + add.f32 %f554, %f551, %f547; + sub.f32 %f555, %f551, %f554; + add.f32 %f556, %f547, %f555; + add.f32 %f557, %f549, %f556; + add.f32 %f558, %f553, %f557; + add.f32 %f559, %f554, %f558; + sub.f32 %f560, %f554, %f559; + add.f32 %f561, %f558, %f560; + mul.rn.f32 %f563, %f484, %f559; + neg.f32 %f564, %f563; + fma.rn.f32 %f565, %f484, %f559, %f564; + fma.rn.f32 %f566, %f484, %f561, %f565; + fma.rn.f32 %f568, %f489, %f559, %f566; + add.rn.f32 %f569, %f563, %f568; + neg.f32 %f570, %f569; + add.rn.f32 %f571, %f563, %f570; + add.rn.f32 %f572, %f571, %f568; + mov.b32 %r95, %f569; + setp.eq.s32 %p70, %r95, 1118925336; + add.s32 %r96, %r95, -1; + mov.b32 %f573, %r96; + add.f32 %f574, %f572, 0f37000000; + selp.f32 %f575, %f573, %f569, %p70; + selp.f32 %f73, %f574, %f572, %p70; + mul.f32 %f576, %f575, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f577, %f576; + fma.rn.f32 %f579, %f577, %f838, %f575; + fma.rn.f32 %f581, %f577, %f839, %f579; + mul.f32 %f582, %f581, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f583, %f582; + add.f32 %f584, %f577, 0f00000000; + ex2.approx.f32 %f585, %f584; + mul.f32 %f586, %f583, %f585; + setp.lt.f32 %p71, %f575, 0fC2D20000; + selp.f32 %f587, 0f00000000, %f586, %p71; + setp.gt.f32 %p72, %f575, 0f42D20000; + selp.f32 %f873, 0f7F800000, %f587, %p72; + setp.eq.f32 %p73, %f873, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f873, %f873, %f73, %f873; + +BB0_47: + setp.lt.f32 %p74, %f43, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r97, %f873; + xor.b32 %r98, %r97, -2147483648; + mov.b32 %f588, %r98; + selp.f32 %f875, %f588, %f873, %p4; + setp.eq.f32 %p76, %f43, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f591, %f43, %f43; + selp.f32 %f875, %f591, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f43, 0f00000000; + @%p77 bra BB0_51; + + cvt.rzi.f32.f32 %f590, %f484; + setp.neu.f32 %p78, %f590, 0f3EE66666; + selp.f32 %f875, 0f7FFFFFFF, %f875, %p78; + +BB0_51: + add.f32 %f592, %f72, 0f3EE66666; + mov.b32 %r99, %f592; + setp.lt.s32 %p80, %r99, 2139095040; + @%p80 bra BB0_56; + + setp.gtu.f32 %p81, %f72, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f875, %f43, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p82, %f72, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f875, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f846, 0fB5BFBE8E; + mov.f32 %f845, 0fBF317200; + mov.f32 %f844, 0f35BFBE8E; + mov.f32 %f843, 0f3F317200; + mov.f32 %f842, 0f3DAAAABD; + mov.f32 %f841, 0f3C4CAF63; + mov.f32 %f840, 0f3B18F0FE; + setp.eq.f32 %p83, %f43, 0f3F800000; + selp.f32 %f84, 0f3F800000, %f875, %p83; + abs.f32 %f85, %f44; + setp.lt.f32 %p84, %f85, 0f00800000; + mul.f32 %f595, %f85, 0f4B800000; + selp.f32 %f596, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f597, %f595, %f85, %p84; + mov.b32 %r100, %f597; + and.b32 %r101, %r100, 8388607; + or.b32 %r102, %r101, 1065353216; + mov.b32 %f598, %r102; + shr.u32 %r103, %r100, 23; + cvt.rn.f32.u32 %f599, %r103; + add.f32 %f600, %f596, %f599; + setp.gt.f32 %p85, %f598, 0f3FB504F3; + mul.f32 %f601, %f598, 0f3F000000; + add.f32 %f602, %f600, 0f3F800000; + selp.f32 %f603, %f601, %f598, %p85; + selp.f32 %f604, %f602, %f600, %p85; + add.f32 %f605, %f603, 0fBF800000; + add.f32 %f594, %f603, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f593,%f594; + // inline asm + add.f32 %f606, %f605, %f605; + mul.f32 %f607, %f593, %f606; + mul.f32 %f608, %f607, %f607; + fma.rn.f32 %f611, %f840, %f608, %f841; + fma.rn.f32 %f613, %f611, %f608, %f842; + mul.rn.f32 %f614, %f613, %f608; + mul.rn.f32 %f615, %f614, %f607; + sub.f32 %f616, %f605, %f607; + neg.f32 %f617, %f607; + add.f32 %f618, %f616, %f616; + fma.rn.f32 %f619, %f617, %f605, %f618; + mul.rn.f32 %f620, %f593, %f619; + add.f32 %f621, %f615, %f607; + sub.f32 %f622, %f607, %f621; + add.f32 %f623, %f615, %f622; + add.f32 %f624, %f620, %f623; + add.f32 %f625, %f621, %f624; + sub.f32 %f626, %f621, %f625; + add.f32 %f627, %f624, %f626; + mul.rn.f32 %f629, %f604, %f843; + mul.rn.f32 %f631, %f604, %f844; + add.f32 %f632, %f629, %f625; + sub.f32 %f633, %f629, %f632; + add.f32 %f634, %f625, %f633; + add.f32 %f635, %f627, %f634; + add.f32 %f636, %f631, %f635; + add.f32 %f637, %f632, %f636; + sub.f32 %f638, %f632, %f637; + add.f32 %f639, %f636, %f638; + mul.rn.f32 %f641, %f484, %f637; + neg.f32 %f642, %f641; + fma.rn.f32 %f643, %f484, %f637, %f642; + fma.rn.f32 %f644, %f484, %f639, %f643; + fma.rn.f32 %f646, %f489, %f637, %f644; + add.rn.f32 %f647, %f641, %f646; + neg.f32 %f648, %f647; + add.rn.f32 %f649, %f641, %f648; + add.rn.f32 %f650, %f649, %f646; + mov.b32 %r104, %f647; + setp.eq.s32 %p86, %r104, 1118925336; + add.s32 %r105, %r104, -1; + mov.b32 %f651, %r105; + add.f32 %f652, %f650, 0f37000000; + selp.f32 %f653, %f651, %f647, %p86; + selp.f32 %f86, %f652, %f650, %p86; + mul.f32 %f654, %f653, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f655, %f654; + fma.rn.f32 %f657, %f655, %f845, %f653; + fma.rn.f32 %f659, %f655, %f846, %f657; + mul.f32 %f660, %f659, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f661, %f660; + add.f32 %f662, %f655, 0f00000000; + ex2.approx.f32 %f663, %f662; + mul.f32 %f664, %f661, %f663; + setp.lt.f32 %p87, %f653, 0fC2D20000; + selp.f32 %f665, 0f00000000, %f664, %p87; + setp.gt.f32 %p88, %f653, 0f42D20000; + selp.f32 %f876, 0f7F800000, %f665, %p88; + setp.eq.f32 %p89, %f876, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f876, %f876, %f86, %f876; + +BB0_58: + setp.lt.f32 %p90, %f44, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r106, %f876; + xor.b32 %r107, %r106, -2147483648; + mov.b32 %f666, %r107; + selp.f32 %f878, %f666, %f876, %p5; + setp.eq.f32 %p92, %f44, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f669, %f44, %f44; + selp.f32 %f878, %f669, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f44, 0f00000000; + @%p93 bra BB0_62; + + cvt.rzi.f32.f32 %f668, %f484; + setp.neu.f32 %p94, %f668, 0f3EE66666; + selp.f32 %f878, 0f7FFFFFFF, %f878, %p94; + +BB0_62: + add.f32 %f670, %f85, 0f3EE66666; + mov.b32 %r108, %f670; + setp.lt.s32 %p96, %r108, 2139095040; + @%p96 bra BB0_67; + + setp.gtu.f32 %p97, %f85, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f878, %f44, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p98, %f85, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f878, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + mov.u32 %r236, 4; + setp.eq.f32 %p99, %f44, 0f3F800000; + selp.f32 %f671, 0f3F800000, %f878, %p99; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r24, %r236, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f672, %f671; + mul.f32 %f673, %f672, 0f437FFD71; + cvt.rzi.u32.f32 %r111, %f673; + cvt.sat.f32.f32 %f674, %f84; + mul.f32 %f675, %f674, 0f437FFD71; + cvt.rzi.u32.f32 %r112, %f675; + cvt.sat.f32.f32 %f676, %f71; + mul.f32 %f677, %f676, 0f437FFD71; + cvt.rzi.u32.f32 %r113, %f677; + cvt.u16.u32 %rs21, %r111; + cvt.u16.u32 %rs22, %r113; + cvt.u16.u32 %rs23, %r112; + mov.u16 %rs24, 255; + st.v4.u8 [%rd33], {%rs21, %rs23, %rs22, %rs24}; + ld.global.u32 %r240, [imageEnabled]; + +BB0_68: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r114, %r240, 4; + setp.eq.s32 %p100, %r114, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r115, [additive]; + setp.eq.s32 %p101, %r115, 0; + mov.f32 %f678, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f678;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r119, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r24, %r119, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs32, %rs33, %rs34, %rs35}, [%rd40]; + // inline asm + { cvt.f32.f16 %f679, %rs32;} + + // inline asm + // inline asm + { cvt.f32.f16 %f680, %rs33;} + + // inline asm + // inline asm + { cvt.f32.f16 %f681, %rs34;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r24, %r119, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f682, %f42, %f679; + add.f32 %f683, %f43, %f680; + add.f32 %f684, %f44, %f681; + // inline asm + { cvt.rn.f16.f32 %rs31, %f684;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f683;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f682;} + + // inline asm + st.v4.u16 [%rd46], {%rs29, %rs30, %rs31, %rs25}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r121, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r24, %r121, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f44;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f43;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f42;} + + // inline asm + st.v4.u16 [%rd53], {%rs36, %rs37, %rs38, %rs25}; + +BB0_72: + mul.f32 %f689, %f28, 0f3E800000; + mul.f32 %f690, %f689, %f866; + ld.global.f32 %f691, [lightColor]; + mul.f32 %f692, %f690, %f691; + ld.global.f32 %f693, [lightColor+4]; + mul.f32 %f694, %f690, %f693; + ld.global.f32 %f695, [lightColor+8]; + mul.f32 %f696, %f690, %f695; + mul.f32 %f97, %f215, %f692; + mul.f32 %f98, %f216, %f694; + mul.f32 %f99, %f217, %f696; + ld.global.u32 %r122, [additive]; + setp.eq.s32 %p102, %r122, 0; + mov.f32 %f688, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f688;} + + // inline asm + @%p102 bra BB0_74; + + mov.u64 %rd72, image_RNM0; + cvta.global.u64 %rd61, %rd72; + mov.u32 %r126, 8; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r24, %r126, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs46, %rs47, %rs48, %rs49}, [%rd60]; + // inline asm + { cvt.f32.f16 %f697, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f698, %rs47;} + + // inline asm + // inline asm + { cvt.f32.f16 %f699, %rs48;} + + // inline asm + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd61, %r24, %r126, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f700, %f97, %f697; + add.f32 %f701, %f98, %f698; + add.f32 %f702, %f99, %f699; + // inline asm + { cvt.rn.f16.f32 %rs45, %f702;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f701;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f700;} + + // inline asm + st.v4.u16 [%rd66], {%rs43, %rs44, %rs45, %rs39}; + bra.uni BB0_75; + +BB0_74: + mov.u64 %rd79, image_RNM0; + cvta.global.u64 %rd74, %rd79; + mov.u32 %r128, 8; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r24, %r128, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f99;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f98;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f97;} + + // inline asm + st.v4.u16 [%rd73], {%rs50, %rs51, %rs52, %rs39}; + +BB0_75: + fma.rn.f32 %f100, %f10, 0f3F000000, 0f3F000000; + fma.rn.f32 %f101, %f11, 0f3F000000, 0f3F000000; + fma.rn.f32 %f102, %f12, 0f3F000000, 0f3F000000; + ld.global.u32 %r129, [additive]; + setp.eq.s32 %p103, %r129, 0; + // inline asm + { cvt.rn.f16.f32 %rs53, %f688;} + + // inline asm + @%p103 bra BB0_77; + + mov.u64 %rd92, image_RNM1; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r133, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r24, %r133, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs60, %rs61, %rs62, %rs63}, [%rd80]; + // inline asm + { cvt.f32.f16 %f707, %rs60;} + + // inline asm + // inline asm + { cvt.f32.f16 %f708, %rs61;} + + // inline asm + // inline asm + { cvt.f32.f16 %f709, %rs62;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r24, %r133, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f710, %f100, %f707; + add.f32 %f711, %f100, %f708; + add.f32 %f712, %f100, %f709; + // inline asm + { cvt.rn.f16.f32 %rs59, %f712;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f711;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f710;} + + // inline asm + st.v4.u16 [%rd86], {%rs57, %rs58, %rs59, %rs53}; + bra.uni BB0_78; + +BB0_77: + mov.u64 %rd99, image_RNM1; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r135, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r24, %r135, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f100;} + + // inline asm + st.v4.u16 [%rd93], {%rs64, %rs64, %rs64, %rs53}; + +BB0_78: + ld.global.u32 %r136, [additive]; + setp.eq.s32 %p104, %r136, 0; + // inline asm + { cvt.rn.f16.f32 %rs65, %f688;} + + // inline asm + @%p104 bra BB0_80; + + mov.u64 %rd112, image_RNM2; + cvta.global.u64 %rd101, %rd112; + mov.u32 %r140, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r24, %r140, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs72, %rs73, %rs74, %rs75}, [%rd100]; + // inline asm + { cvt.f32.f16 %f715, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f716, %rs73;} + + // inline asm + // inline asm + { cvt.f32.f16 %f717, %rs74;} + + // inline asm + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd101, %r24, %r140, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f718, %f101, %f715; + add.f32 %f719, %f101, %f716; + add.f32 %f720, %f101, %f717; + // inline asm + { cvt.rn.f16.f32 %rs71, %f720;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f719;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f718;} + + // inline asm + st.v4.u16 [%rd106], {%rs69, %rs70, %rs71, %rs65}; + bra.uni BB0_81; + +BB0_80: + mov.u64 %rd119, image_RNM2; + cvta.global.u64 %rd114, %rd119; + mov.u32 %r142, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r24, %r142, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f101;} + + // inline asm + st.v4.u16 [%rd113], {%rs76, %rs76, %rs76, %rs65}; + +BB0_81: + ld.global.u32 %r143, [additive]; + setp.eq.s32 %p105, %r143, 0; + // inline asm + { cvt.rn.f16.f32 %rs77, %f688;} + + // inline asm + @%p105 bra BB0_83; + + mov.u64 %rd132, image_RNM3; + cvta.global.u64 %rd121, %rd132; + mov.u32 %r147, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r24, %r147, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs84, %rs85, %rs86, %rs87}, [%rd120]; + // inline asm + { cvt.f32.f16 %f723, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f724, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f725, %rs86;} + + // inline asm + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd121, %r24, %r147, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f726, %f102, %f723; + add.f32 %f727, %f102, %f724; + add.f32 %f728, %f102, %f725; + // inline asm + { cvt.rn.f16.f32 %rs83, %f728;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f727;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f726;} + + // inline asm + st.v4.u16 [%rd126], {%rs81, %rs82, %rs83, %rs77}; + bra.uni BB0_124; + +BB0_83: + mov.u64 %rd139, image_RNM3; + cvta.global.u64 %rd134, %rd139; + mov.u32 %r149, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r24, %r149, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f102;} + + // inline asm + st.v4.u16 [%rd133], {%rs88, %rs88, %rs88, %rs77}; + +BB0_124: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightProbeSH.ptx.meta new file mode 100644 index 00000000..03b82f85 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 191b96419a3effe42b6fde96d15370b5 +timeCreated: 1551525094 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx new file mode 100644 index 00000000..cde3bc7e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx @@ -0,0 +1,2374 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCubemap; +.global .align 4 .b8 lightMatrix[36]; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12lightCubemapE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightMatrixE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12lightCubemapE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename11lightMatrixE[10] = {77, 97, 116, 114, 105, 120, 51, 120, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12lightCubemapE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightMatrixE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12lightCubemapE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightMatrixE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12lightCubemapE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightMatrixE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<128>; + .reg .b16 %rs<213>; + .reg .f32 %f<1072>; + .reg .b32 %r<251>; + .reg .b64 %rd<334>; + + + mov.u64 %rd333, __local_depot0; + cvta.local.u64 %SP, %rd333; + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + cvt.u64.u32 %rd16, %r33; + cvt.u64.u32 %rd17, %r34; + mov.u64 %rd20, uvnormal; + cvta.global.u64 %rd15, %rd20; + mov.u32 %r31, 2; + mov.u32 %r32, 4; + mov.u64 %rd19, 0; + // inline asm + call (%rd14), _rt_buffer_get_64, (%rd15, %r31, %r32, %rd16, %rd17, %rd19, %rd19); + // inline asm + ld.u32 %r1, [%rd14]; + shr.u32 %r37, %r1, 16; + cvt.u16.u32 %rs1, %r37; + and.b16 %rs10, %rs1, 255; + cvt.u16.u32 %rs11, %r1; + or.b16 %rs12, %rs11, %rs10; + setp.eq.s16 %p6, %rs12, 0; + mov.f32 %f1042, 0f00000000; + mov.f32 %f1043, %f1042; + mov.f32 %f1044, %f1042; + @%p6 bra BB0_2; + + ld.u8 %rs13, [%rd14+1]; + and.b16 %rs15, %rs11, 255; + cvt.rn.f32.u16 %f139, %rs15; + div.rn.f32 %f140, %f139, 0f437F0000; + fma.rn.f32 %f141, %f140, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f142, %rs13; + div.rn.f32 %f143, %f142, 0f437F0000; + fma.rn.f32 %f144, %f143, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f145, %rs10; + div.rn.f32 %f146, %f145, 0f437F0000; + fma.rn.f32 %f147, %f146, 0f40000000, 0fBF800000; + mul.f32 %f148, %f144, %f144; + fma.rn.f32 %f149, %f141, %f141, %f148; + fma.rn.f32 %f150, %f147, %f147, %f149; + sqrt.rn.f32 %f151, %f150; + rcp.rn.f32 %f152, %f151; + mul.f32 %f1042, %f141, %f152; + mul.f32 %f1043, %f144, %f152; + mul.f32 %f1044, %f147, %f152; + +BB0_2: + ld.global.v2.u32 {%r38, %r39}, [pixelID]; + ld.global.v2.u32 {%r41, %r42}, [tileInfo]; + add.s32 %r2, %r38, %r41; + add.s32 %r3, %r39, %r42; + setp.eq.f32 %p7, %f1043, 0f00000000; + setp.eq.f32 %p8, %f1042, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f1044, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_104; + bra.uni BB0_3; + +BB0_104: + ld.global.u32 %r250, [imageEnabled]; + and.b32 %r203, %r250, 1; + setp.eq.b32 %p121, %r203, 1; + @!%p121 bra BB0_106; + bra.uni BB0_105; + +BB0_105: + cvt.u64.u32 %rd241, %r2; + cvt.u64.u32 %rd242, %r3; + mov.u64 %rd245, image; + cvta.global.u64 %rd240, %rd245; + // inline asm + call (%rd239), _rt_buffer_get_64, (%rd240, %r31, %r32, %rd241, %rd242, %rd19, %rd19); + // inline asm + mov.u16 %rs158, 0; + st.v4.u8 [%rd239], {%rs158, %rs158, %rs158, %rs158}; + ld.global.u32 %r250, [imageEnabled]; + +BB0_106: + and.b32 %r206, %r250, 8; + setp.eq.s32 %p122, %r206, 0; + @%p122 bra BB0_108; + + cvt.u64.u32 %rd249, %r3; + cvt.u64.u32 %rd248, %r2; + mov.u64 %rd252, image_Mask; + cvta.global.u64 %rd247, %rd252; + // inline asm + call (%rd246), _rt_buffer_get_64, (%rd247, %r31, %r31, %rd248, %rd249, %rd19, %rd19); + // inline asm + mov.f32 %f946, 0f00000000; + cvt.rzi.u32.f32 %r209, %f946; + cvt.u16.u32 %rs159, %r209; + mov.u16 %rs160, 0; + st.v2.u8 [%rd246], {%rs159, %rs160}; + ld.global.u32 %r250, [imageEnabled]; + +BB0_108: + cvt.u64.u32 %rd12, %r2; + cvt.u64.u32 %rd13, %r3; + and.b32 %r210, %r250, 4; + setp.eq.s32 %p123, %r210, 0; + @%p123 bra BB0_112; + + ld.global.u32 %r211, [additive]; + setp.eq.s32 %p124, %r211, 0; + @%p124 bra BB0_111; + + mov.u64 %rd265, image_HDR; + cvta.global.u64 %rd254, %rd265; + mov.u32 %r215, 8; + // inline asm + call (%rd253), _rt_buffer_get_64, (%rd254, %r31, %r215, %rd12, %rd13, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs167, %rs168, %rs169, %rs170}, [%rd253]; + // inline asm + { cvt.f32.f16 %f947, %rs167;} + + // inline asm + // inline asm + { cvt.f32.f16 %f948, %rs168;} + + // inline asm + // inline asm + { cvt.f32.f16 %f949, %rs169;} + + // inline asm + // inline asm + call (%rd259), _rt_buffer_get_64, (%rd254, %r31, %r215, %rd12, %rd13, %rd19, %rd19); + // inline asm + add.f32 %f950, %f947, 0f00000000; + add.f32 %f951, %f948, 0f00000000; + add.f32 %f952, %f949, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs166, %f952;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs165, %f951;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs164, %f950;} + + // inline asm + mov.u16 %rs171, 0; + st.v4.u16 [%rd259], {%rs164, %rs165, %rs166, %rs171}; + bra.uni BB0_112; + +BB0_3: + ld.global.v2.u32 {%r48, %r49}, [pixelID]; + cvt.u64.u32 %rd23, %r48; + cvt.u64.u32 %rd24, %r49; + mov.u64 %rd27, uvpos; + cvta.global.u64 %rd22, %rd27; + mov.u32 %r47, 12; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd22, %r31, %r47, %rd23, %rd24, %rd19, %rd19); + // inline asm + ld.global.f32 %f155, [lightPos]; + ld.f32 %f9, [%rd21+8]; + ld.f32 %f8, [%rd21+4]; + ld.f32 %f7, [%rd21]; + sub.f32 %f156, %f155, %f7; + ld.global.f32 %f157, [lightPos+4]; + sub.f32 %f158, %f157, %f8; + ld.global.f32 %f159, [lightPos+8]; + sub.f32 %f160, %f159, %f9; + mul.f32 %f161, %f158, %f158; + fma.rn.f32 %f162, %f156, %f156, %f161; + fma.rn.f32 %f163, %f160, %f160, %f162; + sqrt.rn.f32 %f164, %f163; + rcp.rn.f32 %f165, %f164; + mul.f32 %f10, %f156, %f165; + mul.f32 %f11, %f158, %f165; + mul.f32 %f12, %f160, %f165; + ld.global.f32 %f166, [lightFalloffFakeDistanceMult]; + mul.f32 %f13, %f164, %f166; + ld.global.f32 %f167, [lightInvCutoff]; + mul.f32 %f14, %f164, %f167; + mov.f32 %f171, 0f40800000; + abs.f32 %f16, %f14; + setp.lt.f32 %p12, %f16, 0f00800000; + mul.f32 %f173, %f16, 0f4B800000; + selp.f32 %f174, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f175, %f173, %f16, %p12; + mov.b32 %r52, %f175; + and.b32 %r53, %r52, 8388607; + or.b32 %r54, %r53, 1065353216; + mov.b32 %f176, %r54; + shr.u32 %r55, %r52, 23; + cvt.rn.f32.u32 %f177, %r55; + add.f32 %f178, %f174, %f177; + setp.gt.f32 %p13, %f176, 0f3FB504F3; + mul.f32 %f179, %f176, 0f3F000000; + add.f32 %f180, %f178, 0f3F800000; + selp.f32 %f181, %f179, %f176, %p13; + selp.f32 %f182, %f180, %f178, %p13; + add.f32 %f183, %f181, 0fBF800000; + add.f32 %f154, %f181, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f153,%f154; + // inline asm + add.f32 %f184, %f183, %f183; + mul.f32 %f185, %f153, %f184; + mul.f32 %f186, %f185, %f185; + mov.f32 %f187, 0f3C4CAF63; + mov.f32 %f188, 0f3B18F0FE; + fma.rn.f32 %f189, %f188, %f186, %f187; + mov.f32 %f190, 0f3DAAAABD; + fma.rn.f32 %f191, %f189, %f186, %f190; + mul.rn.f32 %f192, %f191, %f186; + mul.rn.f32 %f193, %f192, %f185; + sub.f32 %f194, %f183, %f185; + neg.f32 %f195, %f185; + add.f32 %f196, %f194, %f194; + fma.rn.f32 %f197, %f195, %f183, %f196; + mul.rn.f32 %f198, %f153, %f197; + add.f32 %f199, %f193, %f185; + sub.f32 %f200, %f185, %f199; + add.f32 %f201, %f193, %f200; + add.f32 %f202, %f198, %f201; + add.f32 %f203, %f199, %f202; + sub.f32 %f204, %f199, %f203; + add.f32 %f205, %f202, %f204; + mov.f32 %f206, 0f3F317200; + mul.rn.f32 %f207, %f182, %f206; + mov.f32 %f208, 0f35BFBE8E; + mul.rn.f32 %f209, %f182, %f208; + add.f32 %f210, %f207, %f203; + sub.f32 %f211, %f207, %f210; + add.f32 %f212, %f203, %f211; + add.f32 %f213, %f205, %f212; + add.f32 %f214, %f209, %f213; + add.f32 %f215, %f210, %f214; + sub.f32 %f216, %f210, %f215; + add.f32 %f217, %f214, %f216; + mul.rn.f32 %f218, %f171, %f215; + neg.f32 %f219, %f218; + fma.rn.f32 %f220, %f171, %f215, %f219; + fma.rn.f32 %f221, %f171, %f217, %f220; + mov.f32 %f222, 0f00000000; + fma.rn.f32 %f223, %f222, %f215, %f221; + add.rn.f32 %f224, %f218, %f223; + neg.f32 %f225, %f224; + add.rn.f32 %f226, %f218, %f225; + add.rn.f32 %f227, %f226, %f223; + mov.b32 %r56, %f224; + setp.eq.s32 %p14, %r56, 1118925336; + add.s32 %r57, %r56, -1; + mov.b32 %f228, %r57; + add.f32 %f229, %f227, 0f37000000; + selp.f32 %f230, %f228, %f224, %p14; + selp.f32 %f17, %f229, %f227, %p14; + mul.f32 %f231, %f230, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f232, %f231; + mov.f32 %f233, 0fBF317200; + fma.rn.f32 %f234, %f232, %f233, %f230; + mov.f32 %f235, 0fB5BFBE8E; + fma.rn.f32 %f236, %f232, %f235, %f234; + mul.f32 %f237, %f236, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f238, %f237; + add.f32 %f239, %f232, 0f00000000; + ex2.approx.f32 %f240, %f239; + mul.f32 %f241, %f238, %f240; + setp.lt.f32 %p15, %f230, 0fC2D20000; + selp.f32 %f242, 0f00000000, %f241, %p15; + setp.gt.f32 %p16, %f230, 0f42D20000; + selp.f32 %f1045, 0f7F800000, %f242, %p16; + setp.eq.f32 %p17, %f1045, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f1045, %f1045, %f17, %f1045; + +BB0_5: + mov.f32 %f980, 0f40000000; + cvt.rzi.f32.f32 %f979, %f980; + add.f32 %f978, %f979, %f979; + mov.f32 %f977, 0f40800000; + sub.f32 %f976, %f977, %f978; + abs.f32 %f975, %f976; + setp.lt.f32 %p18, %f14, 0f00000000; + setp.eq.f32 %p19, %f975, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r58, %f1045; + xor.b32 %r59, %r58, -2147483648; + mov.b32 %f243, %r59; + selp.f32 %f1047, %f243, %f1045, %p1; + setp.eq.f32 %p20, %f14, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f246, %f14, %f14; + selp.f32 %f1047, %f246, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f14, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f1013, 0f40800000; + cvt.rzi.f32.f32 %f245, %f1013; + setp.neu.f32 %p22, %f245, 0f40800000; + selp.f32 %f1047, 0f7FFFFFFF, %f1047, %p22; + +BB0_9: + abs.f32 %f981, %f14; + add.f32 %f247, %f981, 0f40800000; + mov.b32 %r60, %f247; + setp.lt.s32 %p24, %r60, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f1011, %f14; + setp.gtu.f32 %p25, %f1011, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f1047, %f14, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f1012, %f14; + setp.neu.f32 %p26, %f1012, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f1047, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f1050, 0f3F800000; + sub.f32 %f256, %f1050, %f1047; + setp.eq.f32 %p27, %f14, 0f3F800000; + selp.f32 %f257, 0f00000000, %f256, %p27; + cvt.sat.f32.f32 %f258, %f257; + ld.global.f32 %f259, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f260, %f13, %f13, %f259; + div.rn.f32 %f28, %f258, %f260; + mul.f32 %f261, %f1043, %f11; + fma.rn.f32 %f262, %f1042, %f10, %f261; + fma.rn.f32 %f29, %f1044, %f12, %f262; + ld.global.u32 %r64, [imageEnabled]; + and.b32 %r65, %r64, 32; + ld.global.u32 %r66, [ignoreNormal]; + or.b32 %r4, %r65, %r66; + ld.global.f32 %f263, [lightMatrix]; + fma.rn.f32 %f264, %f263, %f10, 0f00000000; + ld.global.f32 %f265, [lightMatrix+4]; + fma.rn.f32 %f266, %f265, %f11, %f264; + ld.global.f32 %f267, [lightMatrix+8]; + fma.rn.f32 %f254, %f267, %f12, %f266; + ld.global.f32 %f268, [lightMatrix+12]; + fma.rn.f32 %f269, %f268, %f10, 0f00000000; + ld.global.f32 %f270, [lightMatrix+16]; + fma.rn.f32 %f271, %f270, %f11, %f269; + ld.global.f32 %f272, [lightMatrix+20]; + fma.rn.f32 %f253, %f272, %f12, %f271; + ld.global.f32 %f273, [lightMatrix+24]; + fma.rn.f32 %f274, %f273, %f10, 0f00000000; + ld.global.f32 %f275, [lightMatrix+28]; + fma.rn.f32 %f276, %f275, %f11, %f274; + ld.global.f32 %f277, [lightMatrix+32]; + fma.rn.f32 %f252, %f277, %f12, %f276; + ld.global.u32 %r61, [lightCubemap]; + mov.u32 %r62, 6; + mov.u32 %r243, 0; + // inline asm + call (%f248, %f249, %f250, %f251), _rt_texture_get_base_id, (%r61, %r62, %f252, %f253, %f254, %r243); + // inline asm + max.f32 %f278, %f248, %f249; + max.f32 %f279, %f278, %f250; + mul.f32 %f280, %f28, %f279; + ld.global.f32 %f281, [lightColor+4]; + ld.global.f32 %f282, [lightColor]; + max.f32 %f283, %f282, %f281; + ld.global.f32 %f284, [lightColor+8]; + max.f32 %f285, %f283, %f284; + mul.f32 %f286, %f280, %f285; + setp.lt.f32 %p28, %f286, 0f3727C5AC; + @%p28 bra BB0_87; + bra.uni BB0_15; + +BB0_87: + ld.global.u32 %r248, [imageEnabled]; + and.b32 %r167, %r248, 1; + setp.eq.b32 %p114, %r167, 1; + @!%p114 bra BB0_89; + bra.uni BB0_88; + +BB0_88: + cvt.u64.u32 %rd147, %r2; + cvt.u64.u32 %rd148, %r3; + mov.u64 %rd151, image; + cvta.global.u64 %rd146, %rd151; + // inline asm + call (%rd145), _rt_buffer_get_64, (%rd146, %r31, %r32, %rd147, %rd148, %rd19, %rd19); + // inline asm + mov.u16 %rs106, 1; + mov.u16 %rs107, 0; + st.v4.u8 [%rd145], {%rs107, %rs107, %rs107, %rs106}; + ld.global.u32 %r248, [imageEnabled]; + +BB0_89: + and.b32 %r170, %r248, 8; + setp.eq.s32 %p115, %r170, 0; + @%p115 bra BB0_91; + + cvt.u64.u32 %rd155, %r3; + cvt.u64.u32 %rd154, %r2; + mov.u64 %rd158, image_Mask; + cvta.global.u64 %rd153, %rd158; + // inline asm + call (%rd152), _rt_buffer_get_64, (%rd153, %r31, %r31, %rd154, %rd155, %rd19, %rd19); + // inline asm + mov.f32 %f911, 0f00000000; + cvt.rzi.u32.f32 %r173, %f911; + cvt.u16.u32 %rs108, %r173; + mov.u16 %rs109, 255; + st.v2.u8 [%rd152], {%rs108, %rs109}; + ld.global.u32 %r248, [imageEnabled]; + +BB0_91: + cvt.u64.u32 %rd10, %r2; + cvt.u64.u32 %rd11, %r3; + and.b32 %r174, %r248, 4; + setp.eq.s32 %p116, %r174, 0; + @%p116 bra BB0_95; + + ld.global.u32 %r175, [additive]; + setp.eq.s32 %p117, %r175, 0; + mov.f32 %f912, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f912;} + + // inline asm + @%p117 bra BB0_94; + + mov.u64 %rd171, image_HDR; + cvta.global.u64 %rd160, %rd171; + mov.u32 %r179, 8; + // inline asm + call (%rd159), _rt_buffer_get_64, (%rd160, %r31, %r179, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs117, %rs118, %rs119, %rs120}, [%rd159]; + // inline asm + { cvt.f32.f16 %f913, %rs117;} + + // inline asm + // inline asm + { cvt.f32.f16 %f914, %rs118;} + + // inline asm + // inline asm + { cvt.f32.f16 %f915, %rs119;} + + // inline asm + // inline asm + call (%rd165), _rt_buffer_get_64, (%rd160, %r31, %r179, %rd10, %rd11, %rd19, %rd19); + // inline asm + add.f32 %f916, %f913, 0f00000000; + add.f32 %f917, %f914, 0f00000000; + add.f32 %f918, %f915, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f918;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs115, %f917;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs114, %f916;} + + // inline asm + st.v4.u16 [%rd165], {%rs114, %rs115, %rs116, %rs110}; + bra.uni BB0_95; + +BB0_15: + mov.f32 %f1049, 0f00000000; + mul.f32 %f288, %f7, 0f3456BF95; + abs.f32 %f289, %f1042; + div.rn.f32 %f290, %f288, %f289; + abs.f32 %f291, %f1043; + mul.f32 %f292, %f8, 0f3456BF95; + div.rn.f32 %f293, %f292, %f291; + abs.f32 %f294, %f1044; + mul.f32 %f295, %f9, 0f3456BF95; + div.rn.f32 %f296, %f295, %f294; + abs.f32 %f297, %f290; + abs.f32 %f298, %f293; + abs.f32 %f299, %f296; + mov.f32 %f300, 0f38D1B717; + max.f32 %f301, %f297, %f300; + max.f32 %f302, %f298, %f300; + max.f32 %f303, %f299, %f300; + fma.rn.f32 %f33, %f1042, %f301, %f7; + fma.rn.f32 %f34, %f1043, %f302, %f8; + fma.rn.f32 %f35, %f1044, %f303, %f9; + ld.global.u32 %r244, [samples]; + setp.lt.s32 %p29, %r244, 1; + @%p29 bra BB0_18; + + mul.f32 %f305, %f33, 0f3456BF95; + abs.f32 %f306, %f305; + mul.f32 %f307, %f34, 0f3456BF95; + abs.f32 %f308, %f307; + mul.f32 %f309, %f35, 0f3456BF95; + abs.f32 %f310, %f309; + max.f32 %f311, %f306, %f308; + max.f32 %f312, %f311, %f310; + max.f32 %f36, %f312, %f300; + mov.f32 %f1049, 0f00000000; + +BB0_17: + add.u64 %rd28, %SP, 0; + cvta.to.local.u64 %rd29, %rd28; + cvt.rn.f32.s32 %f322, %r243; + mul.f32 %f323, %f322, 0f3DD32618; + cvt.rmi.f32.f32 %f324, %f323; + sub.f32 %f325, %f323, %f324; + mul.f32 %f326, %f322, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f327, %f326; + sub.f32 %f328, %f326, %f327; + mul.f32 %f329, %f322, 0f3DC74539; + cvt.rmi.f32.f32 %f330, %f329; + sub.f32 %f331, %f329, %f330; + add.f32 %f332, %f328, 0f4199851F; + add.f32 %f333, %f331, 0f4199851F; + add.f32 %f334, %f325, 0f4199851F; + mul.f32 %f335, %f328, %f333; + fma.rn.f32 %f336, %f325, %f332, %f335; + fma.rn.f32 %f337, %f334, %f331, %f336; + add.f32 %f338, %f325, %f337; + add.f32 %f339, %f328, %f337; + add.f32 %f340, %f331, %f337; + add.f32 %f341, %f338, %f339; + mul.f32 %f342, %f340, %f341; + cvt.rmi.f32.f32 %f343, %f342; + sub.f32 %f344, %f342, %f343; + add.f32 %f345, %f338, %f340; + mul.f32 %f346, %f339, %f345; + cvt.rmi.f32.f32 %f347, %f346; + sub.f32 %f348, %f346, %f347; + add.f32 %f349, %f339, %f340; + mul.f32 %f350, %f338, %f349; + cvt.rmi.f32.f32 %f351, %f350; + sub.f32 %f352, %f350, %f351; + fma.rn.f32 %f353, %f344, 0f40000000, 0fBF800000; + fma.rn.f32 %f354, %f348, 0f40000000, 0fBF800000; + fma.rn.f32 %f355, %f352, 0f40000000, 0fBF800000; + ld.global.f32 %f356, [lightRadius]; + ld.global.f32 %f357, [lightPos]; + fma.rn.f32 %f358, %f356, %f353, %f357; + ld.global.f32 %f359, [lightPos+4]; + fma.rn.f32 %f360, %f356, %f354, %f359; + ld.global.f32 %f361, [lightPos+8]; + fma.rn.f32 %f362, %f356, %f355, %f361; + sub.f32 %f363, %f358, %f7; + sub.f32 %f364, %f360, %f8; + sub.f32 %f365, %f362, %f9; + mul.f32 %f366, %f364, %f364; + fma.rn.f32 %f367, %f363, %f363, %f366; + fma.rn.f32 %f368, %f365, %f365, %f367; + sqrt.rn.f32 %f321, %f368; + rcp.rn.f32 %f369, %f321; + mul.f32 %f317, %f369, %f363; + mul.f32 %f318, %f369, %f364; + mul.f32 %f319, %f369, %f365; + ld.global.u32 %r71, [imageEnabled]; + and.b32 %r72, %r71, 32; + setp.eq.s32 %p30, %r72, 0; + selp.f32 %f370, 0f3F800000, 0f41200000, %p30; + mul.f32 %f320, %f370, %f36; + mov.u32 %r73, 1065353216; + st.local.u32 [%rd29], %r73; + ld.global.u32 %r68, [root]; + mov.u32 %r69, 1; + // inline asm + call _rt_trace_64, (%r68, %f33, %f34, %f35, %f317, %f318, %f319, %r69, %f320, %f321, %rd28, %r32); + // inline asm + ld.local.f32 %f371, [%rd29]; + add.f32 %f1049, %f1049, %f371; + ld.global.u32 %r244, [samples]; + add.s32 %r243, %r243, 1; + setp.lt.s32 %p31, %r243, %r244; + @%p31 bra BB0_17; + +BB0_18: + setp.eq.s32 %p32, %r244, 0; + @%p32 bra BB0_20; + + cvt.rn.f32.s32 %f373, %r244; + div.rn.f32 %f1050, %f1049, %f373; + +BB0_20: + setp.eq.s32 %p33, %r4, 0; + selp.f32 %f374, %f29, 0f3F800000, %p33; + cvt.sat.f32.f32 %f375, %f374; + mul.f32 %f376, %f28, %f375; + mul.f32 %f377, %f1050, %f376; + ld.global.f32 %f378, [lightColor]; + mul.f32 %f379, %f378, %f377; + ld.global.f32 %f380, [lightColor+4]; + mul.f32 %f381, %f380, %f377; + ld.global.f32 %f382, [lightColor+8]; + mul.f32 %f383, %f377, %f382; + mul.f32 %f42, %f248, %f379; + mul.f32 %f43, %f249, %f381; + mul.f32 %f44, %f250, %f383; + ld.global.u32 %r246, [imageEnabled]; + and.b32 %r74, %r246, 8; + setp.eq.s32 %p34, %r74, 0; + @%p34 bra BB0_33; + + mov.f32 %f989, 0fB5BFBE8E; + mov.f32 %f988, 0fBF317200; + mov.f32 %f987, 0f35BFBE8E; + mov.f32 %f986, 0f3F317200; + mov.f32 %f985, 0f3DAAAABD; + mov.f32 %f984, 0f3C4CAF63; + mov.f32 %f983, 0f3B18F0FE; + cvt.u64.u32 %rd32, %r2; + cvt.u64.u32 %rd33, %r3; + mov.u64 %rd36, image_Mask; + cvta.global.u64 %rd31, %rd36; + // inline asm + call (%rd30), _rt_buffer_get_64, (%rd31, %r31, %r31, %rd32, %rd33, %rd19, %rd19); + // inline asm + abs.f32 %f46, %f1050; + setp.lt.f32 %p35, %f46, 0f00800000; + mul.f32 %f389, %f46, 0f4B800000; + selp.f32 %f390, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f391, %f389, %f46, %p35; + mov.b32 %r77, %f391; + and.b32 %r78, %r77, 8388607; + or.b32 %r79, %r78, 1065353216; + mov.b32 %f392, %r79; + shr.u32 %r80, %r77, 23; + cvt.rn.f32.u32 %f393, %r80; + add.f32 %f394, %f390, %f393; + setp.gt.f32 %p36, %f392, 0f3FB504F3; + mul.f32 %f395, %f392, 0f3F000000; + add.f32 %f396, %f394, 0f3F800000; + selp.f32 %f397, %f395, %f392, %p36; + selp.f32 %f398, %f396, %f394, %p36; + add.f32 %f399, %f397, 0fBF800000; + add.f32 %f385, %f397, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f384,%f385; + // inline asm + add.f32 %f400, %f399, %f399; + mul.f32 %f401, %f384, %f400; + mul.f32 %f402, %f401, %f401; + fma.rn.f32 %f405, %f983, %f402, %f984; + fma.rn.f32 %f407, %f405, %f402, %f985; + mul.rn.f32 %f408, %f407, %f402; + mul.rn.f32 %f409, %f408, %f401; + sub.f32 %f410, %f399, %f401; + neg.f32 %f411, %f401; + add.f32 %f412, %f410, %f410; + fma.rn.f32 %f413, %f411, %f399, %f412; + mul.rn.f32 %f414, %f384, %f413; + add.f32 %f415, %f409, %f401; + sub.f32 %f416, %f401, %f415; + add.f32 %f417, %f409, %f416; + add.f32 %f418, %f414, %f417; + add.f32 %f419, %f415, %f418; + sub.f32 %f420, %f415, %f419; + add.f32 %f421, %f418, %f420; + mul.rn.f32 %f423, %f398, %f986; + mul.rn.f32 %f425, %f398, %f987; + add.f32 %f426, %f423, %f419; + sub.f32 %f427, %f423, %f426; + add.f32 %f428, %f419, %f427; + add.f32 %f429, %f421, %f428; + add.f32 %f430, %f425, %f429; + add.f32 %f431, %f426, %f430; + sub.f32 %f432, %f426, %f431; + add.f32 %f433, %f430, %f432; + mov.f32 %f434, 0f3EE8BA2E; + mul.rn.f32 %f435, %f434, %f431; + neg.f32 %f436, %f435; + fma.rn.f32 %f437, %f434, %f431, %f436; + fma.rn.f32 %f438, %f434, %f433, %f437; + mov.f32 %f439, 0f00000000; + fma.rn.f32 %f440, %f439, %f431, %f438; + add.rn.f32 %f441, %f435, %f440; + neg.f32 %f442, %f441; + add.rn.f32 %f443, %f435, %f442; + add.rn.f32 %f444, %f443, %f440; + mov.b32 %r81, %f441; + setp.eq.s32 %p37, %r81, 1118925336; + add.s32 %r82, %r81, -1; + mov.b32 %f445, %r82; + add.f32 %f446, %f444, 0f37000000; + selp.f32 %f447, %f445, %f441, %p37; + selp.f32 %f47, %f446, %f444, %p37; + mul.f32 %f448, %f447, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f449, %f448; + fma.rn.f32 %f451, %f449, %f988, %f447; + fma.rn.f32 %f453, %f449, %f989, %f451; + mul.f32 %f454, %f453, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f455, %f454; + add.f32 %f456, %f449, 0f00000000; + ex2.approx.f32 %f457, %f456; + mul.f32 %f458, %f455, %f457; + setp.lt.f32 %p38, %f447, 0fC2D20000; + selp.f32 %f459, 0f00000000, %f458, %p38; + setp.gt.f32 %p39, %f447, 0f42D20000; + selp.f32 %f1051, 0f7F800000, %f459, %p39; + setp.eq.f32 %p40, %f1051, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f1051, %f1051, %f47, %f1051; + +BB0_23: + mov.f32 %f1017, 0f3E68BA2E; + cvt.rzi.f32.f32 %f1016, %f1017; + fma.rn.f32 %f1015, %f1016, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f1014, %f1015; + setp.lt.f32 %p41, %f1050, 0f00000000; + setp.eq.f32 %p42, %f1014, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r83, %f1051; + xor.b32 %r84, %r83, -2147483648; + mov.b32 %f460, %r84; + selp.f32 %f1053, %f460, %f1051, %p2; + setp.eq.f32 %p43, %f1050, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f463, %f1050, %f1050; + selp.f32 %f1053, %f463, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_111: + mov.u64 %rd272, image_HDR; + cvta.global.u64 %rd267, %rd272; + mov.u32 %r217, 8; + // inline asm + call (%rd266), _rt_buffer_get_64, (%rd267, %r31, %r217, %rd12, %rd13, %rd19, %rd19); + // inline asm + mov.f32 %f953, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs172, %f953;} + + // inline asm + mov.u16 %rs173, 0; + st.v4.u16 [%rd266], {%rs172, %rs172, %rs172, %rs173}; + +BB0_112: + ld.global.u32 %r218, [additive]; + setp.eq.s32 %p125, %r218, 0; + @%p125 bra BB0_114; + + mov.u64 %rd285, image_RNM0; + cvta.global.u64 %rd274, %rd285; + mov.u32 %r222, 8; + // inline asm + call (%rd273), _rt_buffer_get_64, (%rd274, %r31, %r222, %rd12, %rd13, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs180, %rs181, %rs182, %rs183}, [%rd273]; + // inline asm + { cvt.f32.f16 %f954, %rs180;} + + // inline asm + // inline asm + { cvt.f32.f16 %f955, %rs181;} + + // inline asm + // inline asm + { cvt.f32.f16 %f956, %rs182;} + + // inline asm + // inline asm + call (%rd279), _rt_buffer_get_64, (%rd274, %r31, %r222, %rd12, %rd13, %rd19, %rd19); + // inline asm + add.f32 %f957, %f954, 0f00000000; + add.f32 %f958, %f955, 0f00000000; + add.f32 %f959, %f956, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs179, %f959;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs178, %f958;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs177, %f957;} + + // inline asm + mov.u16 %rs184, 0; + st.v4.u16 [%rd279], {%rs177, %rs178, %rs179, %rs184}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd292, image_RNM0; + cvta.global.u64 %rd287, %rd292; + mov.u32 %r224, 8; + // inline asm + call (%rd286), _rt_buffer_get_64, (%rd287, %r31, %r224, %rd12, %rd13, %rd19, %rd19); + // inline asm + mov.f32 %f960, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs185, %f960;} + + // inline asm + mov.u16 %rs186, 0; + st.v4.u16 [%rd286], {%rs185, %rs185, %rs185, %rs186}; + +BB0_115: + ld.global.u32 %r225, [additive]; + setp.eq.s32 %p126, %r225, 0; + @%p126 bra BB0_117; + + mov.u64 %rd305, image_RNM1; + cvta.global.u64 %rd294, %rd305; + mov.u32 %r229, 8; + // inline asm + call (%rd293), _rt_buffer_get_64, (%rd294, %r31, %r229, %rd12, %rd13, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs193, %rs194, %rs195, %rs196}, [%rd293]; + // inline asm + { cvt.f32.f16 %f961, %rs193;} + + // inline asm + // inline asm + { cvt.f32.f16 %f962, %rs194;} + + // inline asm + // inline asm + { cvt.f32.f16 %f963, %rs195;} + + // inline asm + // inline asm + call (%rd299), _rt_buffer_get_64, (%rd294, %r31, %r229, %rd12, %rd13, %rd19, %rd19); + // inline asm + add.f32 %f964, %f961, 0f00000000; + add.f32 %f965, %f962, 0f00000000; + add.f32 %f966, %f963, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs192, %f966;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs191, %f965;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs190, %f964;} + + // inline asm + mov.u16 %rs197, 0; + st.v4.u16 [%rd299], {%rs190, %rs191, %rs192, %rs197}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd312, image_RNM1; + cvta.global.u64 %rd307, %rd312; + mov.u32 %r231, 8; + // inline asm + call (%rd306), _rt_buffer_get_64, (%rd307, %r31, %r231, %rd12, %rd13, %rd19, %rd19); + // inline asm + mov.f32 %f967, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs198, %f967;} + + // inline asm + mov.u16 %rs199, 0; + st.v4.u16 [%rd306], {%rs198, %rs198, %rs198, %rs199}; + +BB0_118: + ld.global.u32 %r232, [additive]; + setp.eq.s32 %p127, %r232, 0; + @%p127 bra BB0_120; + + mov.u64 %rd325, image_RNM2; + cvta.global.u64 %rd314, %rd325; + mov.u32 %r236, 8; + // inline asm + call (%rd313), _rt_buffer_get_64, (%rd314, %r31, %r236, %rd12, %rd13, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs206, %rs207, %rs208, %rs209}, [%rd313]; + // inline asm + { cvt.f32.f16 %f968, %rs206;} + + // inline asm + // inline asm + { cvt.f32.f16 %f969, %rs207;} + + // inline asm + // inline asm + { cvt.f32.f16 %f970, %rs208;} + + // inline asm + // inline asm + call (%rd319), _rt_buffer_get_64, (%rd314, %r31, %r236, %rd12, %rd13, %rd19, %rd19); + // inline asm + add.f32 %f971, %f968, 0f00000000; + add.f32 %f972, %f969, 0f00000000; + add.f32 %f973, %f970, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs205, %f973;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs204, %f972;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs203, %f971;} + + // inline asm + mov.u16 %rs210, 0; + st.v4.u16 [%rd319], {%rs203, %rs204, %rs205, %rs210}; + bra.uni BB0_121; + +BB0_120: + mov.u64 %rd332, image_RNM2; + cvta.global.u64 %rd327, %rd332; + mov.u32 %r238, 8; + // inline asm + call (%rd326), _rt_buffer_get_64, (%rd327, %r31, %r238, %rd12, %rd13, %rd19, %rd19); + // inline asm + mov.f32 %f974, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs211, %f974;} + + // inline asm + mov.u16 %rs212, 0; + st.v4.u16 [%rd326], {%rs211, %rs211, %rs211, %rs212}; + bra.uni BB0_121; + +BB0_94: + mov.u64 %rd178, image_HDR; + cvta.global.u64 %rd173, %rd178; + mov.u32 %r181, 8; + // inline asm + call (%rd172), _rt_buffer_get_64, (%rd173, %r31, %r181, %rd10, %rd11, %rd19, %rd19); + // inline asm + mov.f32 %f919, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs121, %f919;} + + // inline asm + st.v4.u16 [%rd172], {%rs121, %rs121, %rs121, %rs110}; + +BB0_95: + ld.global.u32 %r182, [additive]; + setp.eq.s32 %p118, %r182, 0; + mov.f32 %f920, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs122, %f920;} + + // inline asm + @%p118 bra BB0_97; + + mov.u64 %rd191, image_RNM0; + cvta.global.u64 %rd180, %rd191; + mov.u32 %r186, 8; + // inline asm + call (%rd179), _rt_buffer_get_64, (%rd180, %r31, %r186, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs129, %rs130, %rs131, %rs132}, [%rd179]; + // inline asm + { cvt.f32.f16 %f921, %rs129;} + + // inline asm + // inline asm + { cvt.f32.f16 %f922, %rs130;} + + // inline asm + // inline asm + { cvt.f32.f16 %f923, %rs131;} + + // inline asm + // inline asm + call (%rd185), _rt_buffer_get_64, (%rd180, %r31, %r186, %rd10, %rd11, %rd19, %rd19); + // inline asm + add.f32 %f924, %f921, 0f00000000; + add.f32 %f925, %f922, 0f00000000; + add.f32 %f926, %f923, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f926;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs127, %f925;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs126, %f924;} + + // inline asm + st.v4.u16 [%rd185], {%rs126, %rs127, %rs128, %rs122}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd198, image_RNM0; + cvta.global.u64 %rd193, %rd198; + mov.u32 %r188, 8; + // inline asm + call (%rd192), _rt_buffer_get_64, (%rd193, %r31, %r188, %rd10, %rd11, %rd19, %rd19); + // inline asm + mov.f32 %f927, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs133, %f927;} + + // inline asm + st.v4.u16 [%rd192], {%rs133, %rs133, %rs133, %rs122}; + +BB0_98: + ld.global.u32 %r189, [additive]; + setp.eq.s32 %p119, %r189, 0; + // inline asm + { cvt.rn.f16.f32 %rs134, %f920;} + + // inline asm + @%p119 bra BB0_100; + + mov.u64 %rd211, image_RNM1; + cvta.global.u64 %rd200, %rd211; + mov.u32 %r193, 8; + // inline asm + call (%rd199), _rt_buffer_get_64, (%rd200, %r31, %r193, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs141, %rs142, %rs143, %rs144}, [%rd199]; + // inline asm + { cvt.f32.f16 %f929, %rs141;} + + // inline asm + // inline asm + { cvt.f32.f16 %f930, %rs142;} + + // inline asm + // inline asm + { cvt.f32.f16 %f931, %rs143;} + + // inline asm + // inline asm + call (%rd205), _rt_buffer_get_64, (%rd200, %r31, %r193, %rd10, %rd11, %rd19, %rd19); + // inline asm + add.f32 %f932, %f929, 0f00000000; + add.f32 %f933, %f930, 0f00000000; + add.f32 %f934, %f931, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f934;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs139, %f933;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs138, %f932;} + + // inline asm + st.v4.u16 [%rd205], {%rs138, %rs139, %rs140, %rs134}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd218, image_RNM1; + cvta.global.u64 %rd213, %rd218; + mov.u32 %r195, 8; + // inline asm + call (%rd212), _rt_buffer_get_64, (%rd213, %r31, %r195, %rd10, %rd11, %rd19, %rd19); + // inline asm + mov.f32 %f935, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs145, %f935;} + + // inline asm + st.v4.u16 [%rd212], {%rs145, %rs145, %rs145, %rs134}; + +BB0_101: + ld.global.u32 %r196, [additive]; + setp.eq.s32 %p120, %r196, 0; + // inline asm + { cvt.rn.f16.f32 %rs146, %f920;} + + // inline asm + @%p120 bra BB0_103; + + mov.u64 %rd231, image_RNM2; + cvta.global.u64 %rd220, %rd231; + mov.u32 %r200, 8; + // inline asm + call (%rd219), _rt_buffer_get_64, (%rd220, %r31, %r200, %rd10, %rd11, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs153, %rs154, %rs155, %rs156}, [%rd219]; + // inline asm + { cvt.f32.f16 %f937, %rs153;} + + // inline asm + // inline asm + { cvt.f32.f16 %f938, %rs154;} + + // inline asm + // inline asm + { cvt.f32.f16 %f939, %rs155;} + + // inline asm + // inline asm + call (%rd225), _rt_buffer_get_64, (%rd220, %r31, %r200, %rd10, %rd11, %rd19, %rd19); + // inline asm + add.f32 %f940, %f937, 0f00000000; + add.f32 %f941, %f938, 0f00000000; + add.f32 %f942, %f939, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f942;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs151, %f941;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs150, %f940;} + + // inline asm + st.v4.u16 [%rd225], {%rs150, %rs151, %rs152, %rs146}; + bra.uni BB0_121; + +BB0_103: + mov.u64 %rd238, image_RNM2; + cvta.global.u64 %rd233, %rd238; + mov.u32 %r202, 8; + // inline asm + call (%rd232), _rt_buffer_get_64, (%rd233, %r31, %r202, %rd10, %rd11, %rd19, %rd19); + // inline asm + mov.f32 %f943, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs157, %f943;} + + // inline asm + st.v4.u16 [%rd232], {%rs157, %rs157, %rs157, %rs146}; + bra.uni BB0_121; + +BB0_24: + setp.geu.f32 %p44, %f1050, 0f00000000; + @%p44 bra BB0_27; + + mov.f32 %f1021, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f462, %f1021; + setp.neu.f32 %p45, %f462, 0f3EE8BA2E; + selp.f32 %f1053, 0f7FFFFFFF, %f1053, %p45; + +BB0_27: + abs.f32 %f1018, %f1050; + add.f32 %f464, %f1018, 0f3EE8BA2E; + mov.b32 %r85, %f464; + setp.lt.s32 %p47, %r85, 2139095040; + @%p47 bra BB0_32; + + abs.f32 %f1019, %f1050; + setp.gtu.f32 %p48, %f1019, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f1053, %f1050, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + abs.f32 %f1020, %f1050; + setp.neu.f32 %p49, %f1020, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f1053, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f465, %f1053, 0f437F0000; + setp.eq.f32 %p50, %f1050, 0f3F800000; + selp.f32 %f466, 0f437F0000, %f465, %p50; + cvt.rzi.u32.f32 %r86, %f466; + cvt.u16.u32 %rs17, %r86; + mov.u16 %rs18, 255; + st.v2.u8 [%rd30], {%rs17, %rs18}; + ld.global.u32 %r246, [imageEnabled]; + +BB0_33: + and.b32 %r87, %r246, 1; + setp.eq.b32 %p51, %r87, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f996, 0fB5BFBE8E; + mov.f32 %f995, 0fBF317200; + mov.f32 %f994, 0f35BFBE8E; + mov.f32 %f993, 0f3F317200; + mov.f32 %f992, 0f3DAAAABD; + mov.f32 %f991, 0f3C4CAF63; + mov.f32 %f990, 0f3B18F0FE; + abs.f32 %f59, %f42; + setp.lt.f32 %p52, %f59, 0f00800000; + mul.f32 %f472, %f59, 0f4B800000; + selp.f32 %f473, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f474, %f472, %f59, %p52; + mov.b32 %r88, %f474; + and.b32 %r89, %r88, 8388607; + or.b32 %r90, %r89, 1065353216; + mov.b32 %f475, %r90; + shr.u32 %r91, %r88, 23; + cvt.rn.f32.u32 %f476, %r91; + add.f32 %f477, %f473, %f476; + setp.gt.f32 %p53, %f475, 0f3FB504F3; + mul.f32 %f478, %f475, 0f3F000000; + add.f32 %f479, %f477, 0f3F800000; + selp.f32 %f480, %f478, %f475, %p53; + selp.f32 %f481, %f479, %f477, %p53; + add.f32 %f482, %f480, 0fBF800000; + add.f32 %f468, %f480, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f467,%f468; + // inline asm + add.f32 %f483, %f482, %f482; + mul.f32 %f484, %f467, %f483; + mul.f32 %f485, %f484, %f484; + fma.rn.f32 %f488, %f990, %f485, %f991; + fma.rn.f32 %f490, %f488, %f485, %f992; + mul.rn.f32 %f491, %f490, %f485; + mul.rn.f32 %f492, %f491, %f484; + sub.f32 %f493, %f482, %f484; + neg.f32 %f494, %f484; + add.f32 %f495, %f493, %f493; + fma.rn.f32 %f496, %f494, %f482, %f495; + mul.rn.f32 %f497, %f467, %f496; + add.f32 %f498, %f492, %f484; + sub.f32 %f499, %f484, %f498; + add.f32 %f500, %f492, %f499; + add.f32 %f501, %f497, %f500; + add.f32 %f502, %f498, %f501; + sub.f32 %f503, %f498, %f502; + add.f32 %f504, %f501, %f503; + mul.rn.f32 %f506, %f481, %f993; + mul.rn.f32 %f508, %f481, %f994; + add.f32 %f509, %f506, %f502; + sub.f32 %f510, %f506, %f509; + add.f32 %f511, %f502, %f510; + add.f32 %f512, %f504, %f511; + add.f32 %f513, %f508, %f512; + add.f32 %f514, %f509, %f513; + sub.f32 %f515, %f509, %f514; + add.f32 %f516, %f513, %f515; + mov.f32 %f517, 0f3EE66666; + mul.rn.f32 %f518, %f517, %f514; + neg.f32 %f519, %f518; + fma.rn.f32 %f520, %f517, %f514, %f519; + fma.rn.f32 %f521, %f517, %f516, %f520; + mov.f32 %f522, 0f00000000; + fma.rn.f32 %f523, %f522, %f514, %f521; + add.rn.f32 %f524, %f518, %f523; + neg.f32 %f525, %f524; + add.rn.f32 %f526, %f518, %f525; + add.rn.f32 %f527, %f526, %f523; + mov.b32 %r92, %f524; + setp.eq.s32 %p54, %r92, 1118925336; + add.s32 %r93, %r92, -1; + mov.b32 %f528, %r93; + add.f32 %f529, %f527, 0f37000000; + selp.f32 %f530, %f528, %f524, %p54; + selp.f32 %f60, %f529, %f527, %p54; + mul.f32 %f531, %f530, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f532, %f531; + fma.rn.f32 %f534, %f532, %f995, %f530; + fma.rn.f32 %f536, %f532, %f996, %f534; + mul.f32 %f537, %f536, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f538, %f537; + add.f32 %f539, %f532, 0f00000000; + ex2.approx.f32 %f540, %f539; + mul.f32 %f541, %f538, %f540; + setp.lt.f32 %p55, %f530, 0fC2D20000; + selp.f32 %f542, 0f00000000, %f541, %p55; + setp.gt.f32 %p56, %f530, 0f42D20000; + selp.f32 %f1054, 0f7F800000, %f542, %p56; + setp.eq.f32 %p57, %f1054, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f1054, %f1054, %f60, %f1054; + +BB0_36: + mov.f32 %f1025, 0f3E666666; + cvt.rzi.f32.f32 %f1024, %f1025; + fma.rn.f32 %f1023, %f1024, 0fC0000000, 0f3EE66666; + abs.f32 %f1022, %f1023; + setp.lt.f32 %p58, %f42, 0f00000000; + setp.eq.f32 %p59, %f1022, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r94, %f1054; + xor.b32 %r95, %r94, -2147483648; + mov.b32 %f543, %r95; + selp.f32 %f1056, %f543, %f1054, %p3; + setp.eq.f32 %p60, %f42, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f546, %f42, %f42; + selp.f32 %f1056, %f546, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f42, 0f00000000; + @%p61 bra BB0_40; + + mov.f32 %f1035, 0f3EE66666; + cvt.rzi.f32.f32 %f545, %f1035; + setp.neu.f32 %p62, %f545, 0f3EE66666; + selp.f32 %f1056, 0f7FFFFFFF, %f1056, %p62; + +BB0_40: + abs.f32 %f1026, %f42; + add.f32 %f547, %f1026, 0f3EE66666; + mov.b32 %r96, %f547; + setp.lt.s32 %p64, %r96, 2139095040; + @%p64 bra BB0_45; + + abs.f32 %f1033, %f42; + setp.gtu.f32 %p65, %f1033, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f1056, %f42, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + abs.f32 %f1034, %f42; + setp.neu.f32 %p66, %f1034, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f1056, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f1028, 0f00000000; + mov.f32 %f1027, 0f3EE66666; + mov.f32 %f1003, 0fB5BFBE8E; + mov.f32 %f1002, 0fBF317200; + mov.f32 %f1001, 0f35BFBE8E; + mov.f32 %f1000, 0f3F317200; + mov.f32 %f999, 0f3DAAAABD; + mov.f32 %f998, 0f3C4CAF63; + mov.f32 %f997, 0f3B18F0FE; + setp.eq.f32 %p67, %f42, 0f3F800000; + selp.f32 %f71, 0f3F800000, %f1056, %p67; + abs.f32 %f72, %f43; + setp.lt.f32 %p68, %f72, 0f00800000; + mul.f32 %f550, %f72, 0f4B800000; + selp.f32 %f551, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f552, %f550, %f72, %p68; + mov.b32 %r97, %f552; + and.b32 %r98, %r97, 8388607; + or.b32 %r99, %r98, 1065353216; + mov.b32 %f553, %r99; + shr.u32 %r100, %r97, 23; + cvt.rn.f32.u32 %f554, %r100; + add.f32 %f555, %f551, %f554; + setp.gt.f32 %p69, %f553, 0f3FB504F3; + mul.f32 %f556, %f553, 0f3F000000; + add.f32 %f557, %f555, 0f3F800000; + selp.f32 %f558, %f556, %f553, %p69; + selp.f32 %f559, %f557, %f555, %p69; + add.f32 %f560, %f558, 0fBF800000; + add.f32 %f549, %f558, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f548,%f549; + // inline asm + add.f32 %f561, %f560, %f560; + mul.f32 %f562, %f548, %f561; + mul.f32 %f563, %f562, %f562; + fma.rn.f32 %f566, %f997, %f563, %f998; + fma.rn.f32 %f568, %f566, %f563, %f999; + mul.rn.f32 %f569, %f568, %f563; + mul.rn.f32 %f570, %f569, %f562; + sub.f32 %f571, %f560, %f562; + neg.f32 %f572, %f562; + add.f32 %f573, %f571, %f571; + fma.rn.f32 %f574, %f572, %f560, %f573; + mul.rn.f32 %f575, %f548, %f574; + add.f32 %f576, %f570, %f562; + sub.f32 %f577, %f562, %f576; + add.f32 %f578, %f570, %f577; + add.f32 %f579, %f575, %f578; + add.f32 %f580, %f576, %f579; + sub.f32 %f581, %f576, %f580; + add.f32 %f582, %f579, %f581; + mul.rn.f32 %f584, %f559, %f1000; + mul.rn.f32 %f586, %f559, %f1001; + add.f32 %f587, %f584, %f580; + sub.f32 %f588, %f584, %f587; + add.f32 %f589, %f580, %f588; + add.f32 %f590, %f582, %f589; + add.f32 %f591, %f586, %f590; + add.f32 %f592, %f587, %f591; + sub.f32 %f593, %f587, %f592; + add.f32 %f594, %f591, %f593; + mul.rn.f32 %f596, %f1027, %f592; + neg.f32 %f597, %f596; + fma.rn.f32 %f598, %f1027, %f592, %f597; + fma.rn.f32 %f599, %f1027, %f594, %f598; + fma.rn.f32 %f601, %f1028, %f592, %f599; + add.rn.f32 %f602, %f596, %f601; + neg.f32 %f603, %f602; + add.rn.f32 %f604, %f596, %f603; + add.rn.f32 %f605, %f604, %f601; + mov.b32 %r101, %f602; + setp.eq.s32 %p70, %r101, 1118925336; + add.s32 %r102, %r101, -1; + mov.b32 %f606, %r102; + add.f32 %f607, %f605, 0f37000000; + selp.f32 %f608, %f606, %f602, %p70; + selp.f32 %f73, %f607, %f605, %p70; + mul.f32 %f609, %f608, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f610, %f609; + fma.rn.f32 %f612, %f610, %f1002, %f608; + fma.rn.f32 %f614, %f610, %f1003, %f612; + mul.f32 %f615, %f614, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f616, %f615; + add.f32 %f617, %f610, 0f00000000; + ex2.approx.f32 %f618, %f617; + mul.f32 %f619, %f616, %f618; + setp.lt.f32 %p71, %f608, 0fC2D20000; + selp.f32 %f620, 0f00000000, %f619, %p71; + setp.gt.f32 %p72, %f608, 0f42D20000; + selp.f32 %f1057, 0f7F800000, %f620, %p72; + setp.eq.f32 %p73, %f1057, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f1057, %f1057, %f73, %f1057; + +BB0_47: + setp.lt.f32 %p74, %f43, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r103, %f1057; + xor.b32 %r104, %r103, -2147483648; + mov.b32 %f621, %r104; + selp.f32 %f1059, %f621, %f1057, %p4; + setp.eq.f32 %p76, %f43, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f624, %f43, %f43; + selp.f32 %f1059, %f624, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f43, 0f00000000; + @%p77 bra BB0_51; + + mov.f32 %f1032, 0f3EE66666; + cvt.rzi.f32.f32 %f623, %f1032; + setp.neu.f32 %p78, %f623, 0f3EE66666; + selp.f32 %f1059, 0f7FFFFFFF, %f1059, %p78; + +BB0_51: + abs.f32 %f1036, %f43; + add.f32 %f625, %f1036, 0f3EE66666; + mov.b32 %r105, %f625; + setp.lt.s32 %p80, %r105, 2139095040; + @%p80 bra BB0_56; + + abs.f32 %f1037, %f43; + setp.gtu.f32 %p81, %f1037, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f1059, %f43, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + abs.f32 %f1038, %f43; + setp.neu.f32 %p82, %f1038, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f1059, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f1030, 0f00000000; + mov.f32 %f1029, 0f3EE66666; + mov.f32 %f1010, 0fB5BFBE8E; + mov.f32 %f1009, 0fBF317200; + mov.f32 %f1008, 0f35BFBE8E; + mov.f32 %f1007, 0f3F317200; + mov.f32 %f1006, 0f3DAAAABD; + mov.f32 %f1005, 0f3C4CAF63; + mov.f32 %f1004, 0f3B18F0FE; + setp.eq.f32 %p83, %f43, 0f3F800000; + selp.f32 %f84, 0f3F800000, %f1059, %p83; + abs.f32 %f85, %f44; + setp.lt.f32 %p84, %f85, 0f00800000; + mul.f32 %f628, %f85, 0f4B800000; + selp.f32 %f629, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f630, %f628, %f85, %p84; + mov.b32 %r106, %f630; + and.b32 %r107, %r106, 8388607; + or.b32 %r108, %r107, 1065353216; + mov.b32 %f631, %r108; + shr.u32 %r109, %r106, 23; + cvt.rn.f32.u32 %f632, %r109; + add.f32 %f633, %f629, %f632; + setp.gt.f32 %p85, %f631, 0f3FB504F3; + mul.f32 %f634, %f631, 0f3F000000; + add.f32 %f635, %f633, 0f3F800000; + selp.f32 %f636, %f634, %f631, %p85; + selp.f32 %f637, %f635, %f633, %p85; + add.f32 %f638, %f636, 0fBF800000; + add.f32 %f627, %f636, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f626,%f627; + // inline asm + add.f32 %f639, %f638, %f638; + mul.f32 %f640, %f626, %f639; + mul.f32 %f641, %f640, %f640; + fma.rn.f32 %f644, %f1004, %f641, %f1005; + fma.rn.f32 %f646, %f644, %f641, %f1006; + mul.rn.f32 %f647, %f646, %f641; + mul.rn.f32 %f648, %f647, %f640; + sub.f32 %f649, %f638, %f640; + neg.f32 %f650, %f640; + add.f32 %f651, %f649, %f649; + fma.rn.f32 %f652, %f650, %f638, %f651; + mul.rn.f32 %f653, %f626, %f652; + add.f32 %f654, %f648, %f640; + sub.f32 %f655, %f640, %f654; + add.f32 %f656, %f648, %f655; + add.f32 %f657, %f653, %f656; + add.f32 %f658, %f654, %f657; + sub.f32 %f659, %f654, %f658; + add.f32 %f660, %f657, %f659; + mul.rn.f32 %f662, %f637, %f1007; + mul.rn.f32 %f664, %f637, %f1008; + add.f32 %f665, %f662, %f658; + sub.f32 %f666, %f662, %f665; + add.f32 %f667, %f658, %f666; + add.f32 %f668, %f660, %f667; + add.f32 %f669, %f664, %f668; + add.f32 %f670, %f665, %f669; + sub.f32 %f671, %f665, %f670; + add.f32 %f672, %f669, %f671; + mul.rn.f32 %f674, %f1029, %f670; + neg.f32 %f675, %f674; + fma.rn.f32 %f676, %f1029, %f670, %f675; + fma.rn.f32 %f677, %f1029, %f672, %f676; + fma.rn.f32 %f679, %f1030, %f670, %f677; + add.rn.f32 %f680, %f674, %f679; + neg.f32 %f681, %f680; + add.rn.f32 %f682, %f674, %f681; + add.rn.f32 %f683, %f682, %f679; + mov.b32 %r110, %f680; + setp.eq.s32 %p86, %r110, 1118925336; + add.s32 %r111, %r110, -1; + mov.b32 %f684, %r111; + add.f32 %f685, %f683, 0f37000000; + selp.f32 %f686, %f684, %f680, %p86; + selp.f32 %f86, %f685, %f683, %p86; + mul.f32 %f687, %f686, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f688, %f687; + fma.rn.f32 %f690, %f688, %f1009, %f686; + fma.rn.f32 %f692, %f688, %f1010, %f690; + mul.f32 %f693, %f692, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f694, %f693; + add.f32 %f695, %f688, 0f00000000; + ex2.approx.f32 %f696, %f695; + mul.f32 %f697, %f694, %f696; + setp.lt.f32 %p87, %f686, 0fC2D20000; + selp.f32 %f698, 0f00000000, %f697, %p87; + setp.gt.f32 %p88, %f686, 0f42D20000; + selp.f32 %f1060, 0f7F800000, %f698, %p88; + setp.eq.f32 %p89, %f1060, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f1060, %f1060, %f86, %f1060; + +BB0_58: + setp.lt.f32 %p90, %f44, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r112, %f1060; + xor.b32 %r113, %r112, -2147483648; + mov.b32 %f699, %r113; + selp.f32 %f1062, %f699, %f1060, %p5; + setp.eq.f32 %p92, %f44, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f702, %f44, %f44; + selp.f32 %f1062, %f702, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f44, 0f00000000; + @%p93 bra BB0_62; + + mov.f32 %f1031, 0f3EE66666; + cvt.rzi.f32.f32 %f701, %f1031; + setp.neu.f32 %p94, %f701, 0f3EE66666; + selp.f32 %f1062, 0f7FFFFFFF, %f1062, %p94; + +BB0_62: + abs.f32 %f1039, %f44; + add.f32 %f703, %f1039, 0f3EE66666; + mov.b32 %r114, %f703; + setp.lt.s32 %p96, %r114, 2139095040; + @%p96 bra BB0_67; + + abs.f32 %f1040, %f44; + setp.gtu.f32 %p97, %f1040, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f1062, %f44, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + abs.f32 %f1041, %f44; + setp.neu.f32 %p98, %f1041, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f1062, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + mov.u32 %r239, 4; + setp.eq.f32 %p99, %f44, 0f3F800000; + selp.f32 %f704, 0f3F800000, %f1062, %p99; + cvt.u64.u32 %rd40, %r3; + cvt.u64.u32 %rd39, %r2; + mov.u64 %rd43, image; + cvta.global.u64 %rd38, %rd43; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd38, %r31, %r239, %rd39, %rd40, %rd19, %rd19); + // inline asm + cvt.sat.f32.f32 %f705, %f704; + mul.f32 %f706, %f705, 0f437FFD71; + cvt.rzi.u32.f32 %r117, %f706; + cvt.sat.f32.f32 %f707, %f84; + mul.f32 %f708, %f707, 0f437FFD71; + cvt.rzi.u32.f32 %r118, %f708; + cvt.sat.f32.f32 %f709, %f71; + mul.f32 %f710, %f709, 0f437FFD71; + cvt.rzi.u32.f32 %r119, %f710; + cvt.u16.u32 %rs19, %r117; + cvt.u16.u32 %rs20, %r119; + cvt.u16.u32 %rs21, %r118; + mov.u16 %rs22, 255; + st.v4.u8 [%rd37], {%rs19, %rs21, %rs20, %rs22}; + ld.global.u32 %r246, [imageEnabled]; + +BB0_68: + and.b32 %r120, %r246, 4; + setp.eq.s32 %p100, %r120, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r121, [additive]; + setp.eq.s32 %p101, %r121, 0; + cvt.u64.u32 %rd3, %r2; + cvt.u64.u32 %rd4, %r3; + mov.f32 %f711, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs23, %f711;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd56, image_HDR; + cvta.global.u64 %rd45, %rd56; + mov.u32 %r125, 8; + // inline asm + call (%rd44), _rt_buffer_get_64, (%rd45, %r31, %r125, %rd3, %rd4, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs30, %rs31, %rs32, %rs33}, [%rd44]; + // inline asm + { cvt.f32.f16 %f712, %rs30;} + + // inline asm + // inline asm + { cvt.f32.f16 %f713, %rs31;} + + // inline asm + // inline asm + { cvt.f32.f16 %f714, %rs32;} + + // inline asm + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd45, %r31, %r125, %rd3, %rd4, %rd19, %rd19); + // inline asm + add.f32 %f715, %f42, %f712; + add.f32 %f716, %f43, %f713; + add.f32 %f717, %f44, %f714; + // inline asm + { cvt.rn.f16.f32 %rs29, %f717;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f716;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f715;} + + // inline asm + st.v4.u16 [%rd50], {%rs27, %rs28, %rs29, %rs23}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd63, image_HDR; + cvta.global.u64 %rd58, %rd63; + mov.u32 %r127, 8; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd58, %r31, %r127, %rd3, %rd4, %rd19, %rd19); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f44;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs35, %f43;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs34, %f42;} + + // inline asm + st.v4.u16 [%rd57], {%rs34, %rs35, %rs36, %rs23}; + +BB0_72: + mov.u32 %r240, 4; + mul.f32 %f724, %f28, %f1050; + ld.global.f32 %f725, [lightColor]; + mul.f32 %f726, %f724, %f725; + ld.global.f32 %f727, [lightColor+4]; + mul.f32 %f728, %f724, %f727; + ld.global.f32 %f729, [lightColor+8]; + mul.f32 %f730, %f724, %f729; + mul.f32 %f97, %f248, %f726; + mul.f32 %f98, %f249, %f728; + mul.f32 %f99, %f250, %f730; + ld.global.v2.u32 {%r130, %r131}, [pixelID]; + cvt.u64.u32 %rd66, %r130; + cvt.u64.u32 %rd67, %r131; + mov.u64 %rd70, uvtangent; + cvta.global.u64 %rd65, %rd70; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd65, %r31, %r240, %rd66, %rd67, %rd19, %rd19); + // inline asm + ld.u32 %r15, [%rd64]; + shr.u32 %r16, %r15, 16; + cvt.u16.u32 %rs37, %r16; + and.b16 %rs38, %rs37, 255; + cvt.u16.u32 %rs39, %r15; + or.b16 %rs40, %rs39, %rs38; + setp.eq.s16 %p102, %rs40, 0; + mov.f32 %f1069, 0f00000000; + mov.f32 %f1063, %f1069; + mov.f32 %f1064, %f1069; + mov.f32 %f1065, %f1069; + @%p102 bra BB0_74; + + ld.u8 %rs41, [%rd64+1]; + and.b16 %rs43, %rs39, 255; + cvt.rn.f32.u16 %f731, %rs43; + div.rn.f32 %f732, %f731, 0f437F0000; + fma.rn.f32 %f733, %f732, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f734, %rs41; + div.rn.f32 %f735, %f734, 0f437F0000; + fma.rn.f32 %f736, %f735, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f737, %rs38; + div.rn.f32 %f738, %f737, 0f437F0000; + fma.rn.f32 %f739, %f738, 0f40000000, 0fBF800000; + mul.f32 %f740, %f736, %f736; + fma.rn.f32 %f741, %f733, %f733, %f740; + fma.rn.f32 %f742, %f739, %f739, %f741; + sqrt.rn.f32 %f743, %f742; + rcp.rn.f32 %f744, %f743; + mul.f32 %f1063, %f733, %f744; + mul.f32 %f1064, %f736, %f744; + mul.f32 %f1065, %f739, %f744; + +BB0_74: + mov.u32 %r241, 4; + mul.f32 %f748, %f1044, %f1064; + mul.f32 %f749, %f1043, %f1065; + sub.f32 %f750, %f749, %f748; + mul.f32 %f751, %f1042, %f1065; + mul.f32 %f752, %f1044, %f1063; + sub.f32 %f753, %f752, %f751; + mul.f32 %f754, %f1043, %f1063; + mul.f32 %f755, %f1042, %f1064; + sub.f32 %f756, %f755, %f754; + setp.lt.u32 %p103, %r15, 16777216; + selp.f32 %f757, 0fBF800000, 0f3F800000, %p103; + mul.f32 %f758, %f750, %f757; + mul.f32 %f759, %f753, %f757; + mul.f32 %f760, %f756, %f757; + mul.f32 %f761, %f758, 0f00000000; + mul.f32 %f762, %f759, 0f00000000; + mul.f32 %f763, %f760, 0f00000000; + fma.rn.f32 %f764, %f1063, 0f3F5105EC, %f761; + fma.rn.f32 %f765, %f1064, 0f3F5105EC, %f762; + fma.rn.f32 %f766, %f1065, 0f3F5105EC, %f763; + mul.f32 %f106, %f1042, 0f3F13CD3A; + add.f32 %f107, %f106, %f764; + mul.f32 %f108, %f1043, 0f3F13CD3A; + add.f32 %f109, %f108, %f765; + mul.f32 %f110, %f1044, 0f3F13CD3A; + add.f32 %f111, %f110, %f766; + ld.global.v2.u32 {%r136, %r137}, [pixelID]; + cvt.u64.u32 %rd73, %r136; + cvt.u64.u32 %rd74, %r137; + // inline asm + call (%rd71), _rt_buffer_get_64, (%rd65, %r31, %r241, %rd73, %rd74, %rd19, %rd19); + // inline asm + ld.u32 %r17, [%rd71]; + shr.u32 %r18, %r17, 16; + cvt.u16.u32 %rs46, %r18; + and.b16 %rs47, %rs46, 255; + cvt.u16.u32 %rs48, %r17; + or.b16 %rs49, %rs48, %rs47; + setp.eq.s16 %p104, %rs49, 0; + mov.f32 %f1066, %f1069; + mov.f32 %f1067, %f1069; + mov.f32 %f1068, %f1069; + @%p104 bra BB0_76; + + ld.u8 %rs50, [%rd71+1]; + and.b16 %rs52, %rs48, 255; + cvt.rn.f32.u16 %f767, %rs52; + div.rn.f32 %f768, %f767, 0f437F0000; + fma.rn.f32 %f769, %f768, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f770, %rs50; + div.rn.f32 %f771, %f770, 0f437F0000; + fma.rn.f32 %f772, %f771, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f773, %rs47; + div.rn.f32 %f774, %f773, 0f437F0000; + fma.rn.f32 %f775, %f774, 0f40000000, 0fBF800000; + mul.f32 %f776, %f772, %f772; + fma.rn.f32 %f777, %f769, %f769, %f776; + fma.rn.f32 %f778, %f775, %f775, %f777; + sqrt.rn.f32 %f779, %f778; + rcp.rn.f32 %f780, %f779; + mul.f32 %f1066, %f769, %f780; + mul.f32 %f1067, %f772, %f780; + mul.f32 %f1068, %f775, %f780; + +BB0_76: + mov.u32 %r242, 4; + mul.f32 %f784, %f1044, %f1067; + mul.f32 %f785, %f1043, %f1068; + sub.f32 %f786, %f785, %f784; + mul.f32 %f787, %f1042, %f1068; + mul.f32 %f788, %f1044, %f1066; + sub.f32 %f789, %f788, %f787; + mul.f32 %f790, %f1043, %f1066; + mul.f32 %f791, %f1042, %f1067; + sub.f32 %f792, %f791, %f790; + setp.lt.u32 %p105, %r17, 16777216; + selp.f32 %f793, 0fBF800000, 0f3F800000, %p105; + mul.f32 %f794, %f786, %f793; + mul.f32 %f795, %f789, %f793; + mul.f32 %f796, %f792, %f793; + mul.f32 %f797, %f794, 0f3F3504F3; + mul.f32 %f798, %f795, 0f3F3504F3; + mul.f32 %f799, %f796, 0f3F3504F3; + fma.rn.f32 %f800, %f1066, 0fBED105EC, %f797; + fma.rn.f32 %f801, %f1067, 0fBED105EC, %f798; + fma.rn.f32 %f802, %f1068, 0fBED105EC, %f799; + add.f32 %f118, %f106, %f800; + add.f32 %f119, %f108, %f801; + add.f32 %f120, %f110, %f802; + ld.global.v2.u32 {%r142, %r143}, [pixelID]; + cvt.u64.u32 %rd80, %r142; + cvt.u64.u32 %rd81, %r143; + // inline asm + call (%rd78), _rt_buffer_get_64, (%rd65, %r31, %r242, %rd80, %rd81, %rd19, %rd19); + // inline asm + ld.u32 %r19, [%rd78]; + shr.u32 %r20, %r19, 16; + cvt.u16.u32 %rs55, %r20; + and.b16 %rs56, %rs55, 255; + cvt.u16.u32 %rs57, %r19; + or.b16 %rs58, %rs57, %rs56; + setp.eq.s16 %p106, %rs58, 0; + mov.f32 %f1070, %f1069; + mov.f32 %f1071, %f1069; + @%p106 bra BB0_78; + + ld.u8 %rs59, [%rd78+1]; + and.b16 %rs61, %rs57, 255; + cvt.rn.f32.u16 %f803, %rs61; + div.rn.f32 %f804, %f803, 0f437F0000; + fma.rn.f32 %f805, %f804, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f806, %rs59; + div.rn.f32 %f807, %f806, 0f437F0000; + fma.rn.f32 %f808, %f807, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f809, %rs56; + div.rn.f32 %f810, %f809, 0f437F0000; + fma.rn.f32 %f811, %f810, 0f40000000, 0fBF800000; + mul.f32 %f812, %f808, %f808; + fma.rn.f32 %f813, %f805, %f805, %f812; + fma.rn.f32 %f814, %f811, %f811, %f813; + sqrt.rn.f32 %f815, %f814; + rcp.rn.f32 %f816, %f815; + mul.f32 %f1069, %f805, %f816; + mul.f32 %f1070, %f808, %f816; + mul.f32 %f1071, %f811, %f816; + +BB0_78: + mul.f32 %f818, %f1044, %f1070; + mul.f32 %f819, %f1043, %f1071; + sub.f32 %f820, %f819, %f818; + mul.f32 %f821, %f1042, %f1071; + mul.f32 %f822, %f1044, %f1069; + sub.f32 %f823, %f822, %f821; + mul.f32 %f824, %f1043, %f1069; + mul.f32 %f825, %f1042, %f1070; + sub.f32 %f826, %f825, %f824; + setp.lt.u32 %p107, %r19, 16777216; + selp.f32 %f827, 0fBF800000, 0f3F800000, %p107; + mul.f32 %f828, %f820, %f827; + mul.f32 %f829, %f823, %f827; + mul.f32 %f830, %f826, %f827; + mul.f32 %f831, %f828, 0fBF3504F3; + mul.f32 %f832, %f829, 0fBF3504F3; + mul.f32 %f833, %f830, 0fBF3504F3; + fma.rn.f32 %f834, %f1069, 0fBED105EC, %f831; + fma.rn.f32 %f835, %f1070, 0fBED105EC, %f832; + fma.rn.f32 %f836, %f1071, 0fBED105EC, %f833; + add.f32 %f837, %f106, %f834; + add.f32 %f838, %f108, %f835; + add.f32 %f839, %f110, %f836; + mul.f32 %f840, %f109, %f11; + fma.rn.f32 %f841, %f107, %f10, %f840; + fma.rn.f32 %f842, %f111, %f12, %f841; + cvt.sat.f32.f32 %f843, %f842; + mul.f32 %f844, %f97, %f843; + mul.f32 %f845, %f98, %f843; + mul.f32 %f846, %f99, %f843; + mul.f32 %f847, %f119, %f11; + fma.rn.f32 %f848, %f118, %f10, %f847; + fma.rn.f32 %f849, %f120, %f12, %f848; + cvt.sat.f32.f32 %f850, %f849; + mul.f32 %f851, %f97, %f850; + mul.f32 %f852, %f98, %f850; + mul.f32 %f853, %f99, %f850; + mul.f32 %f854, %f838, %f11; + fma.rn.f32 %f855, %f837, %f10, %f854; + fma.rn.f32 %f856, %f839, %f12, %f855; + cvt.sat.f32.f32 %f857, %f856; + mul.f32 %f858, %f97, %f857; + mul.f32 %f859, %f98, %f857; + mul.f32 %f860, %f99, %f857; + cvt.sat.f32.f32 %f861, %f29; + mul.f32 %f862, %f97, %f861; + mul.f32 %f863, %f98, %f861; + mul.f32 %f864, %f99, %f861; + add.f32 %f865, %f844, %f851; + add.f32 %f866, %f845, %f852; + add.f32 %f867, %f846, %f853; + add.f32 %f868, %f865, %f858; + add.f32 %f869, %f866, %f859; + add.f32 %f870, %f867, %f860; + mul.f32 %f871, %f868, 0f3F13CD3A; + mul.f32 %f872, %f869, 0f3F13CD3A; + mul.f32 %f873, %f870, 0f3F13CD3A; + div.rn.f32 %f874, %f862, %f871; + div.rn.f32 %f875, %f863, %f872; + div.rn.f32 %f876, %f864, %f873; + setp.eq.f32 %p108, %f862, 0f00000000; + selp.f32 %f877, 0f00000000, %f874, %p108; + setp.eq.f32 %p109, %f863, 0f00000000; + selp.f32 %f878, 0f00000000, %f875, %p109; + setp.eq.f32 %p110, %f864, 0f00000000; + selp.f32 %f879, 0f00000000, %f876, %p110; + mul.f32 %f127, %f844, %f877; + mul.f32 %f128, %f845, %f878; + mul.f32 %f129, %f846, %f879; + mul.f32 %f130, %f851, %f877; + mul.f32 %f131, %f852, %f878; + mul.f32 %f132, %f853, %f879; + mul.f32 %f133, %f858, %f877; + mul.f32 %f134, %f859, %f878; + mul.f32 %f135, %f860, %f879; + ld.global.u32 %r146, [additive]; + setp.eq.s32 %p111, %r146, 0; + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + mov.f32 %f817, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs64, %f817;} + + // inline asm + @%p111 bra BB0_80; + + mov.u64 %rd97, image_RNM0; + cvta.global.u64 %rd86, %rd97; + mov.u32 %r150, 8; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd86, %r31, %r150, %rd8, %rd9, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs71, %rs72, %rs73, %rs74}, [%rd85]; + // inline asm + { cvt.f32.f16 %f880, %rs71;} + + // inline asm + // inline asm + { cvt.f32.f16 %f881, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f882, %rs73;} + + // inline asm + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd86, %r31, %r150, %rd8, %rd9, %rd19, %rd19); + // inline asm + add.f32 %f883, %f127, %f880; + add.f32 %f884, %f128, %f881; + add.f32 %f885, %f129, %f882; + // inline asm + { cvt.rn.f16.f32 %rs70, %f885;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f884;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs68, %f883;} + + // inline asm + st.v4.u16 [%rd91], {%rs68, %rs69, %rs70, %rs64}; + bra.uni BB0_81; + +BB0_80: + mov.u64 %rd104, image_RNM0; + cvta.global.u64 %rd99, %rd104; + mov.u32 %r152, 8; + // inline asm + call (%rd98), _rt_buffer_get_64, (%rd99, %r31, %r152, %rd8, %rd9, %rd19, %rd19); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f129;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f128;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f127;} + + // inline asm + st.v4.u16 [%rd98], {%rs75, %rs76, %rs77, %rs64}; + +BB0_81: + ld.global.u32 %r153, [additive]; + setp.eq.s32 %p112, %r153, 0; + // inline asm + { cvt.rn.f16.f32 %rs78, %f817;} + + // inline asm + @%p112 bra BB0_83; + + mov.u64 %rd117, image_RNM1; + cvta.global.u64 %rd106, %rd117; + mov.u32 %r157, 8; + // inline asm + call (%rd105), _rt_buffer_get_64, (%rd106, %r31, %r157, %rd8, %rd9, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs85, %rs86, %rs87, %rs88}, [%rd105]; + // inline asm + { cvt.f32.f16 %f890, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f891, %rs86;} + + // inline asm + // inline asm + { cvt.f32.f16 %f892, %rs87;} + + // inline asm + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd106, %r31, %r157, %rd8, %rd9, %rd19, %rd19); + // inline asm + add.f32 %f893, %f130, %f890; + add.f32 %f894, %f131, %f891; + add.f32 %f895, %f132, %f892; + // inline asm + { cvt.rn.f16.f32 %rs84, %f895;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f894;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f893;} + + // inline asm + st.v4.u16 [%rd111], {%rs82, %rs83, %rs84, %rs78}; + bra.uni BB0_84; + +BB0_83: + mov.u64 %rd124, image_RNM1; + cvta.global.u64 %rd119, %rd124; + mov.u32 %r159, 8; + // inline asm + call (%rd118), _rt_buffer_get_64, (%rd119, %r31, %r159, %rd8, %rd9, %rd19, %rd19); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f132;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f131;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f130;} + + // inline asm + st.v4.u16 [%rd118], {%rs89, %rs90, %rs91, %rs78}; + +BB0_84: + ld.global.u32 %r160, [additive]; + setp.eq.s32 %p113, %r160, 0; + // inline asm + { cvt.rn.f16.f32 %rs92, %f817;} + + // inline asm + @%p113 bra BB0_86; + + mov.u64 %rd137, image_RNM2; + cvta.global.u64 %rd126, %rd137; + mov.u32 %r164, 8; + // inline asm + call (%rd125), _rt_buffer_get_64, (%rd126, %r31, %r164, %rd8, %rd9, %rd19, %rd19); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd125]; + // inline asm + { cvt.f32.f16 %f900, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f901, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f902, %rs101;} + + // inline asm + // inline asm + call (%rd131), _rt_buffer_get_64, (%rd126, %r31, %r164, %rd8, %rd9, %rd19, %rd19); + // inline asm + add.f32 %f903, %f133, %f900; + add.f32 %f904, %f134, %f901; + add.f32 %f905, %f135, %f902; + // inline asm + { cvt.rn.f16.f32 %rs98, %f905;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f904;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f903;} + + // inline asm + st.v4.u16 [%rd131], {%rs96, %rs97, %rs98, %rs92}; + bra.uni BB0_121; + +BB0_86: + mov.u64 %rd144, image_RNM2; + cvta.global.u64 %rd139, %rd144; + mov.u32 %r166, 8; + // inline asm + call (%rd138), _rt_buffer_get_64, (%rd139, %r31, %r166, %rd8, %rd9, %rd19, %rd19); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs105, %f135;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f134;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f133;} + + // inline asm + st.v4.u16 [%rd138], {%rs103, %rs104, %rs105, %rs92}; + +BB0_121: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx.meta new file mode 100644 index 00000000..ec960e97 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d59396145b1b7884da48f1a05ae07517 +timeCreated: 1537523975 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx new file mode 100644 index 00000000..2de1fa6a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx @@ -0,0 +1,2443 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCubemap; +.global .align 4 .b8 lightMatrix[36]; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12lightCubemapE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightMatrixE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12lightCubemapE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename11lightMatrixE[10] = {77, 97, 116, 114, 105, 120, 51, 120, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12lightCubemapE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightMatrixE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12lightCubemapE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightMatrixE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12lightCubemapE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightMatrixE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<139>; + .reg .b16 %rs<221>; + .reg .f32 %f<1003>; + .reg .b32 %r<254>; + .reg .b64 %rd<369>; + + + mov.u64 %rd368, __local_depot0; + cvta.local.u64 %SP, %rd368; + ld.global.v2.u32 {%r26, %r27}, [pixelID]; + cvt.u64.u32 %rd12, %r26; + cvt.u64.u32 %rd13, %r27; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r24, 2; + mov.u32 %r25, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r24, %r25, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r30, %r1, 16; + cvt.u16.u32 %rs1, %r30; + and.b16 %rs12, %rs1, 255; + cvt.u16.u32 %rs13, %r1; + or.b16 %rs14, %rs13, %rs12; + setp.eq.s16 %p7, %rs14, 0; + mov.f32 %f979, 0f00000000; + mov.f32 %f980, %f979; + mov.f32 %f981, %f979; + @%p7 bra BB0_2; + + ld.u8 %rs15, [%rd10+1]; + and.b16 %rs17, %rs13, 255; + cvt.rn.f32.u16 %f122, %rs17; + div.rn.f32 %f123, %f122, 0f437F0000; + fma.rn.f32 %f124, %f123, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f125, %rs15; + div.rn.f32 %f126, %f125, 0f437F0000; + fma.rn.f32 %f127, %f126, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f128, %rs12; + div.rn.f32 %f129, %f128, 0f437F0000; + fma.rn.f32 %f130, %f129, 0f40000000, 0fBF800000; + mul.f32 %f131, %f127, %f127; + fma.rn.f32 %f132, %f124, %f124, %f131; + fma.rn.f32 %f133, %f130, %f130, %f132; + sqrt.rn.f32 %f134, %f133; + rcp.rn.f32 %f135, %f134; + mul.f32 %f979, %f124, %f135; + mul.f32 %f980, %f127, %f135; + mul.f32 %f981, %f130, %f135; + +BB0_2: + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + ld.global.v2.u32 {%r34, %r35}, [tileInfo]; + add.s32 %r2, %r31, %r34; + add.s32 %r3, %r32, %r35; + setp.eq.f32 %p8, %f980, 0f00000000; + setp.eq.f32 %p9, %f979, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f981, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_115; + bra.uni BB0_3; + +BB0_115: + ld.global.u32 %r253, [imageEnabled]; + and.b32 %r202, %r253, 1; + setp.eq.b32 %p131, %r202, 1; + @!%p131 bra BB0_117; + bra.uni BB0_116; + +BB0_116: + cvt.u64.u32 %rd256, %r2; + cvt.u64.u32 %rd257, %r3; + mov.u64 %rd260, image; + cvta.global.u64 %rd255, %rd260; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r24, %r25, %rd256, %rd257, %rd15, %rd15); + // inline asm + mov.u16 %rs153, 0; + st.v4.u8 [%rd254], {%rs153, %rs153, %rs153, %rs153}; + ld.global.u32 %r253, [imageEnabled]; + +BB0_117: + and.b32 %r205, %r253, 8; + setp.eq.s32 %p132, %r205, 0; + @%p132 bra BB0_119; + + cvt.u64.u32 %rd264, %r3; + cvt.u64.u32 %rd263, %r2; + mov.u64 %rd267, image_Mask; + cvta.global.u64 %rd262, %rd267; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r24, %r24, %rd263, %rd264, %rd15, %rd15); + // inline asm + mov.f32 %f880, 0f00000000; + cvt.rzi.u32.f32 %r208, %f880; + cvt.u16.u32 %rs154, %r208; + mov.u16 %rs155, 0; + st.v2.u8 [%rd261], {%rs154, %rs155}; + ld.global.u32 %r253, [imageEnabled]; + +BB0_119: + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + and.b32 %r209, %r253, 4; + setp.eq.s32 %p133, %r209, 0; + @%p133 bra BB0_123; + + ld.global.u32 %r210, [additive]; + setp.eq.s32 %p134, %r210, 0; + @%p134 bra BB0_122; + + mov.u64 %rd280, image_HDR; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r214, 8; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r24, %r214, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs162, %rs163, %rs164, %rs165}, [%rd268]; + // inline asm + { cvt.f32.f16 %f881, %rs162;} + + // inline asm + // inline asm + { cvt.f32.f16 %f882, %rs163;} + + // inline asm + // inline asm + { cvt.f32.f16 %f883, %rs164;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r24, %r214, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f884, %f881, 0f00000000; + add.f32 %f885, %f882, 0f00000000; + add.f32 %f886, %f883, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs161, %f886;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs160, %f885;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs159, %f884;} + + // inline asm + mov.u16 %rs166, 0; + st.v4.u16 [%rd274], {%rs159, %rs160, %rs161, %rs166}; + bra.uni BB0_123; + +BB0_3: + ld.global.v2.u32 {%r41, %r42}, [pixelID]; + cvt.u64.u32 %rd19, %r41; + cvt.u64.u32 %rd20, %r42; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r40, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r24, %r40, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f138, [lightPos]; + ld.f32 %f9, [%rd17+8]; + ld.f32 %f8, [%rd17+4]; + ld.f32 %f7, [%rd17]; + sub.f32 %f139, %f138, %f7; + ld.global.f32 %f140, [lightPos+4]; + sub.f32 %f141, %f140, %f8; + ld.global.f32 %f142, [lightPos+8]; + sub.f32 %f143, %f142, %f9; + mul.f32 %f144, %f141, %f141; + fma.rn.f32 %f145, %f139, %f139, %f144; + fma.rn.f32 %f146, %f143, %f143, %f145; + sqrt.rn.f32 %f147, %f146; + rcp.rn.f32 %f148, %f147; + mul.f32 %f10, %f139, %f148; + mul.f32 %f11, %f141, %f148; + mul.f32 %f12, %f143, %f148; + ld.global.f32 %f149, [lightFalloffFakeDistanceMult]; + mul.f32 %f13, %f147, %f149; + ld.global.f32 %f150, [lightInvCutoff]; + mul.f32 %f14, %f147, %f150; + mov.f32 %f154, 0f40800000; + abs.f32 %f16, %f14; + setp.lt.f32 %p13, %f16, 0f00800000; + mul.f32 %f156, %f16, 0f4B800000; + selp.f32 %f157, 0fC3170000, 0fC2FE0000, %p13; + selp.f32 %f158, %f156, %f16, %p13; + mov.b32 %r45, %f158; + and.b32 %r46, %r45, 8388607; + or.b32 %r47, %r46, 1065353216; + mov.b32 %f159, %r47; + shr.u32 %r48, %r45, 23; + cvt.rn.f32.u32 %f160, %r48; + add.f32 %f161, %f157, %f160; + setp.gt.f32 %p14, %f159, 0f3FB504F3; + mul.f32 %f162, %f159, 0f3F000000; + add.f32 %f163, %f161, 0f3F800000; + selp.f32 %f164, %f162, %f159, %p14; + selp.f32 %f165, %f163, %f161, %p14; + add.f32 %f166, %f164, 0fBF800000; + add.f32 %f137, %f164, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f136,%f137; + // inline asm + add.f32 %f167, %f166, %f166; + mul.f32 %f168, %f136, %f167; + mul.f32 %f169, %f168, %f168; + mov.f32 %f170, 0f3C4CAF63; + mov.f32 %f171, 0f3B18F0FE; + fma.rn.f32 %f172, %f171, %f169, %f170; + mov.f32 %f173, 0f3DAAAABD; + fma.rn.f32 %f174, %f172, %f169, %f173; + mul.rn.f32 %f175, %f174, %f169; + mul.rn.f32 %f176, %f175, %f168; + sub.f32 %f177, %f166, %f168; + neg.f32 %f178, %f168; + add.f32 %f179, %f177, %f177; + fma.rn.f32 %f180, %f178, %f166, %f179; + mul.rn.f32 %f181, %f136, %f180; + add.f32 %f182, %f176, %f168; + sub.f32 %f183, %f168, %f182; + add.f32 %f184, %f176, %f183; + add.f32 %f185, %f181, %f184; + add.f32 %f186, %f182, %f185; + sub.f32 %f187, %f182, %f186; + add.f32 %f188, %f185, %f187; + mov.f32 %f189, 0f3F317200; + mul.rn.f32 %f190, %f165, %f189; + mov.f32 %f191, 0f35BFBE8E; + mul.rn.f32 %f192, %f165, %f191; + add.f32 %f193, %f190, %f186; + sub.f32 %f194, %f190, %f193; + add.f32 %f195, %f186, %f194; + add.f32 %f196, %f188, %f195; + add.f32 %f197, %f192, %f196; + add.f32 %f198, %f193, %f197; + sub.f32 %f199, %f193, %f198; + add.f32 %f200, %f197, %f199; + mul.rn.f32 %f201, %f154, %f198; + neg.f32 %f202, %f201; + fma.rn.f32 %f203, %f154, %f198, %f202; + fma.rn.f32 %f204, %f154, %f200, %f203; + mov.f32 %f205, 0f00000000; + fma.rn.f32 %f206, %f205, %f198, %f204; + add.rn.f32 %f207, %f201, %f206; + neg.f32 %f208, %f207; + add.rn.f32 %f209, %f201, %f208; + add.rn.f32 %f210, %f209, %f206; + mov.b32 %r49, %f207; + setp.eq.s32 %p15, %r49, 1118925336; + add.s32 %r50, %r49, -1; + mov.b32 %f211, %r50; + add.f32 %f212, %f210, 0f37000000; + selp.f32 %f213, %f211, %f207, %p15; + selp.f32 %f17, %f212, %f210, %p15; + mul.f32 %f214, %f213, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f215, %f214; + mov.f32 %f216, 0fBF317200; + fma.rn.f32 %f217, %f215, %f216, %f213; + mov.f32 %f218, 0fB5BFBE8E; + fma.rn.f32 %f219, %f215, %f218, %f217; + mul.f32 %f220, %f219, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f221, %f220; + add.f32 %f222, %f215, 0f00000000; + ex2.approx.f32 %f223, %f222; + mul.f32 %f224, %f221, %f223; + setp.lt.f32 %p16, %f213, 0fC2D20000; + selp.f32 %f225, 0f00000000, %f224, %p16; + setp.gt.f32 %p17, %f213, 0f42D20000; + selp.f32 %f982, 0f7F800000, %f225, %p17; + setp.eq.f32 %p18, %f982, 0f7F800000; + @%p18 bra BB0_5; + + fma.rn.f32 %f982, %f982, %f17, %f982; + +BB0_5: + mov.f32 %f921, 0f40000000; + cvt.rzi.f32.f32 %f920, %f921; + add.f32 %f919, %f920, %f920; + mov.f32 %f918, 0f40800000; + sub.f32 %f917, %f918, %f919; + abs.f32 %f916, %f917; + setp.lt.f32 %p19, %f14, 0f00000000; + setp.eq.f32 %p20, %f916, 0f3F800000; + and.pred %p1, %p19, %p20; + mov.b32 %r51, %f982; + xor.b32 %r52, %r51, -2147483648; + mov.b32 %f226, %r52; + selp.f32 %f984, %f226, %f982, %p1; + setp.eq.f32 %p21, %f14, 0f00000000; + @%p21 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f229, %f14, %f14; + selp.f32 %f984, %f229, 0f00000000, %p20; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p22, %f14, 0f00000000; + @%p22 bra BB0_9; + + mov.f32 %f962, 0f40800000; + cvt.rzi.f32.f32 %f228, %f962; + setp.neu.f32 %p23, %f228, 0f40800000; + selp.f32 %f984, 0f7FFFFFFF, %f984, %p23; + +BB0_9: + abs.f32 %f922, %f14; + add.f32 %f230, %f922, 0f40800000; + mov.b32 %r53, %f230; + setp.lt.s32 %p25, %r53, 2139095040; + @%p25 bra BB0_14; + + abs.f32 %f960, %f14; + setp.gtu.f32 %p26, %f960, 0f7F800000; + @%p26 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f984, %f14, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f961, %f14; + setp.neu.f32 %p27, %f961, 0f7F800000; + @%p27 bra BB0_14; + + selp.f32 %f984, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + mov.f32 %f930, 0fB5BFBE8E; + mov.f32 %f929, 0fBF317200; + mov.f32 %f928, 0f00000000; + mov.f32 %f927, 0f35BFBE8E; + mov.f32 %f926, 0f3F317200; + mov.f32 %f925, 0f3DAAAABD; + mov.f32 %f924, 0f3C4CAF63; + mov.f32 %f923, 0f3B18F0FE; + mov.f32 %f233, 0f3F800000; + sub.f32 %f234, %f233, %f984; + setp.eq.f32 %p28, %f14, 0f3F800000; + selp.f32 %f235, 0f00000000, %f234, %p28; + cvt.sat.f32.f32 %f236, %f235; + ld.global.f32 %f237, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f238, %f13, %f13, %f237; + div.rn.f32 %f28, %f236, %f238; + mul.f32 %f239, %f980, %f11; + fma.rn.f32 %f240, %f979, %f10, %f239; + fma.rn.f32 %f241, %f981, %f12, %f240; + ld.global.u32 %r54, [imageEnabled]; + and.b32 %r55, %r54, 32; + ld.global.u32 %r56, [ignoreNormal]; + or.b32 %r57, %r55, %r56; + setp.eq.s32 %p29, %r57, 0; + selp.f32 %f29, %f241, 0f3F800000, %p29; + fma.rn.f32 %f242, %f29, 0f3F000000, 0f3F000000; + cvt.sat.f32.f32 %f243, %f242; + add.f32 %f30, %f243, %f243; + mov.f32 %f247, 0f41A00000; + abs.f32 %f32, %f30; + setp.lt.f32 %p30, %f32, 0f00800000; + mul.f32 %f249, %f32, 0f4B800000; + selp.f32 %f250, 0fC3170000, 0fC2FE0000, %p30; + selp.f32 %f251, %f249, %f32, %p30; + mov.b32 %r58, %f251; + and.b32 %r59, %r58, 8388607; + or.b32 %r60, %r59, 1065353216; + mov.b32 %f252, %r60; + shr.u32 %r61, %r58, 23; + cvt.rn.f32.u32 %f253, %r61; + add.f32 %f254, %f250, %f253; + setp.gt.f32 %p31, %f252, 0f3FB504F3; + mul.f32 %f255, %f252, 0f3F000000; + add.f32 %f256, %f254, 0f3F800000; + selp.f32 %f257, %f255, %f252, %p31; + selp.f32 %f258, %f256, %f254, %p31; + add.f32 %f259, %f257, 0fBF800000; + add.f32 %f232, %f257, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f231,%f232; + // inline asm + add.f32 %f260, %f259, %f259; + mul.f32 %f261, %f231, %f260; + mul.f32 %f262, %f261, %f261; + fma.rn.f32 %f265, %f923, %f262, %f924; + fma.rn.f32 %f267, %f265, %f262, %f925; + mul.rn.f32 %f268, %f267, %f262; + mul.rn.f32 %f269, %f268, %f261; + sub.f32 %f270, %f259, %f261; + neg.f32 %f271, %f261; + add.f32 %f272, %f270, %f270; + fma.rn.f32 %f273, %f271, %f259, %f272; + mul.rn.f32 %f274, %f231, %f273; + add.f32 %f275, %f269, %f261; + sub.f32 %f276, %f261, %f275; + add.f32 %f277, %f269, %f276; + add.f32 %f278, %f274, %f277; + add.f32 %f279, %f275, %f278; + sub.f32 %f280, %f275, %f279; + add.f32 %f281, %f278, %f280; + mul.rn.f32 %f283, %f258, %f926; + mul.rn.f32 %f285, %f258, %f927; + add.f32 %f286, %f283, %f279; + sub.f32 %f287, %f283, %f286; + add.f32 %f288, %f279, %f287; + add.f32 %f289, %f281, %f288; + add.f32 %f290, %f285, %f289; + add.f32 %f291, %f286, %f290; + sub.f32 %f292, %f286, %f291; + add.f32 %f293, %f290, %f292; + mul.rn.f32 %f294, %f247, %f291; + neg.f32 %f295, %f294; + fma.rn.f32 %f296, %f247, %f291, %f295; + fma.rn.f32 %f297, %f247, %f293, %f296; + fma.rn.f32 %f299, %f928, %f291, %f297; + add.rn.f32 %f300, %f294, %f299; + neg.f32 %f301, %f300; + add.rn.f32 %f302, %f294, %f301; + add.rn.f32 %f303, %f302, %f299; + mov.b32 %r62, %f300; + setp.eq.s32 %p32, %r62, 1118925336; + add.s32 %r63, %r62, -1; + mov.b32 %f304, %r63; + add.f32 %f305, %f303, 0f37000000; + selp.f32 %f306, %f304, %f300, %p32; + selp.f32 %f33, %f305, %f303, %p32; + mul.f32 %f307, %f306, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f308, %f307; + fma.rn.f32 %f310, %f308, %f929, %f306; + fma.rn.f32 %f312, %f308, %f930, %f310; + mul.f32 %f313, %f312, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f314, %f313; + add.f32 %f315, %f308, 0f00000000; + ex2.approx.f32 %f316, %f315; + mul.f32 %f317, %f314, %f316; + setp.lt.f32 %p33, %f306, 0fC2D20000; + selp.f32 %f318, 0f00000000, %f317, %p33; + setp.gt.f32 %p34, %f306, 0f42D20000; + selp.f32 %f985, 0f7F800000, %f318, %p34; + setp.eq.f32 %p35, %f985, 0f7F800000; + @%p35 bra BB0_16; + + fma.rn.f32 %f985, %f985, %f33, %f985; + +BB0_16: + mov.f32 %f968, 0f41200000; + cvt.rzi.f32.f32 %f967, %f968; + add.f32 %f966, %f967, %f967; + mov.f32 %f965, 0f41A00000; + sub.f32 %f964, %f965, %f966; + abs.f32 %f963, %f964; + setp.lt.f32 %p36, %f30, 0f00000000; + setp.eq.f32 %p37, %f963, 0f3F800000; + and.pred %p2, %p36, %p37; + mov.b32 %r64, %f985; + xor.b32 %r65, %r64, -2147483648; + mov.b32 %f319, %r65; + selp.f32 %f987, %f319, %f985, %p2; + setp.eq.f32 %p38, %f30, 0f00000000; + @%p38 bra BB0_19; + bra.uni BB0_17; + +BB0_19: + add.f32 %f322, %f30, %f30; + selp.f32 %f987, %f322, 0f00000000, %p37; + bra.uni BB0_20; + +BB0_17: + setp.geu.f32 %p39, %f30, 0f00000000; + @%p39 bra BB0_20; + + mov.f32 %f970, 0f41A00000; + cvt.rzi.f32.f32 %f321, %f970; + setp.neu.f32 %p40, %f321, 0f41A00000; + selp.f32 %f987, 0f7FFFFFFF, %f987, %p40; + +BB0_20: + add.f32 %f323, %f32, 0f41A00000; + mov.b32 %r66, %f323; + setp.lt.s32 %p42, %r66, 2139095040; + @%p42 bra BB0_25; + + setp.gtu.f32 %p43, %f32, 0f7F800000; + @%p43 bra BB0_24; + bra.uni BB0_22; + +BB0_24: + add.f32 %f987, %f30, 0f41A00000; + bra.uni BB0_25; + +BB0_22: + setp.neu.f32 %p44, %f32, 0f7F800000; + @%p44 bra BB0_25; + + selp.f32 %f987, 0fFF800000, 0f7F800000, %p2; + +BB0_25: + setp.eq.f32 %p45, %f30, 0f3F800000; + selp.f32 %f331, 0f3F800000, %f987, %p45; + cvt.sat.f32.f32 %f332, %f331; + mul.f32 %f44, %f28, %f332; + ld.global.f32 %f333, [lightMatrix]; + fma.rn.f32 %f334, %f333, %f10, 0f00000000; + ld.global.f32 %f335, [lightMatrix+4]; + fma.rn.f32 %f336, %f335, %f11, %f334; + ld.global.f32 %f337, [lightMatrix+8]; + fma.rn.f32 %f330, %f337, %f12, %f336; + mul.f32 %f338, %f29, 0f40800000; + cvt.sat.f32.f32 %f45, %f338; + ld.global.f32 %f339, [lightMatrix+12]; + fma.rn.f32 %f340, %f339, %f10, 0f00000000; + ld.global.f32 %f341, [lightMatrix+16]; + fma.rn.f32 %f342, %f341, %f11, %f340; + ld.global.f32 %f343, [lightMatrix+20]; + fma.rn.f32 %f329, %f343, %f12, %f342; + ld.global.f32 %f344, [lightMatrix+24]; + fma.rn.f32 %f345, %f344, %f10, 0f00000000; + ld.global.f32 %f346, [lightMatrix+28]; + fma.rn.f32 %f347, %f346, %f11, %f345; + ld.global.f32 %f348, [lightMatrix+32]; + fma.rn.f32 %f328, %f348, %f12, %f347; + ld.global.u32 %r67, [lightCubemap]; + mov.u32 %r68, 6; + mov.u32 %r246, 0; + // inline asm + call (%f324, %f325, %f326, %f327), _rt_texture_get_base_id, (%r67, %r68, %f328, %f329, %f330, %r246); + // inline asm + max.f32 %f349, %f324, %f325; + max.f32 %f350, %f349, %f326; + mul.f32 %f351, %f44, %f45; + mul.f32 %f352, %f351, %f350; + ld.global.f32 %f353, [lightColor+4]; + ld.global.f32 %f354, [lightColor]; + max.f32 %f355, %f354, %f353; + ld.global.f32 %f356, [lightColor+8]; + max.f32 %f357, %f355, %f356; + mul.f32 %f358, %f352, %f357; + setp.lt.f32 %p46, %f358, 0f3727C5AC; + @%p46 bra BB0_95; + bra.uni BB0_26; + +BB0_95: + ld.global.u32 %r251, [imageEnabled]; + and.b32 %r159, %r251, 1; + setp.eq.b32 %p123, %r159, 1; + @!%p123 bra BB0_97; + bra.uni BB0_96; + +BB0_96: + cvt.u64.u32 %rd142, %r2; + cvt.u64.u32 %rd143, %r3; + mov.u64 %rd146, image; + cvta.global.u64 %rd141, %rd146; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r24, %r25, %rd142, %rd143, %rd15, %rd15); + // inline asm + mov.u16 %rs89, 1; + mov.u16 %rs90, 0; + st.v4.u8 [%rd140], {%rs90, %rs90, %rs90, %rs89}; + ld.global.u32 %r251, [imageEnabled]; + +BB0_97: + and.b32 %r162, %r251, 8; + setp.eq.s32 %p124, %r162, 0; + @%p124 bra BB0_99; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd149, %r2; + mov.u64 %rd153, image_Mask; + cvta.global.u64 %rd148, %rd153; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r24, %r24, %rd149, %rd150, %rd15, %rd15); + // inline asm + mov.f32 %f837, 0f00000000; + cvt.rzi.u32.f32 %r165, %f837; + cvt.u16.u32 %rs91, %r165; + mov.u16 %rs92, 255; + st.v2.u8 [%rd147], {%rs91, %rs92}; + ld.global.u32 %r251, [imageEnabled]; + +BB0_99: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r166, %r251, 4; + setp.eq.s32 %p125, %r166, 0; + @%p125 bra BB0_103; + + ld.global.u32 %r167, [additive]; + setp.eq.s32 %p126, %r167, 0; + mov.f32 %f838, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs93, %f838;} + + // inline asm + @%p126 bra BB0_102; + + mov.u64 %rd166, image_HDR; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r171, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r24, %r171, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs100, %rs101, %rs102, %rs103}, [%rd154]; + // inline asm + { cvt.f32.f16 %f839, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f840, %rs101;} + + // inline asm + // inline asm + { cvt.f32.f16 %f841, %rs102;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r24, %r171, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f842, %f839, 0f00000000; + add.f32 %f843, %f840, 0f00000000; + add.f32 %f844, %f841, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs99, %f844;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f843;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f842;} + + // inline asm + st.v4.u16 [%rd160], {%rs97, %rs98, %rs99, %rs93}; + bra.uni BB0_103; + +BB0_26: + mov.f32 %f989, 0f00000000; + mul.f32 %f360, %f7, 0f3456BF95; + abs.f32 %f361, %f979; + div.rn.f32 %f362, %f360, %f361; + abs.f32 %f363, %f980; + mul.f32 %f364, %f8, 0f3456BF95; + div.rn.f32 %f365, %f364, %f363; + abs.f32 %f366, %f981; + mul.f32 %f367, %f9, 0f3456BF95; + div.rn.f32 %f368, %f367, %f366; + abs.f32 %f369, %f362; + abs.f32 %f370, %f365; + abs.f32 %f371, %f368; + mov.f32 %f372, 0f38D1B717; + max.f32 %f373, %f369, %f372; + max.f32 %f374, %f370, %f372; + max.f32 %f375, %f371, %f372; + fma.rn.f32 %f49, %f979, %f373, %f7; + fma.rn.f32 %f50, %f980, %f374, %f8; + fma.rn.f32 %f51, %f981, %f375, %f9; + ld.global.u32 %r247, [samples]; + setp.lt.s32 %p47, %r247, 1; + @%p47 bra BB0_29; + + mul.f32 %f377, %f49, 0f3456BF95; + abs.f32 %f378, %f377; + mul.f32 %f379, %f50, 0f3456BF95; + abs.f32 %f380, %f379; + mul.f32 %f381, %f51, 0f3456BF95; + abs.f32 %f382, %f381; + max.f32 %f383, %f378, %f380; + max.f32 %f384, %f383, %f382; + max.f32 %f52, %f384, %f372; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f989, 0f00000000; + +BB0_28: + cvt.rn.f32.s32 %f394, %r246; + mul.f32 %f395, %f394, 0f3DD32618; + cvt.rmi.f32.f32 %f396, %f395; + sub.f32 %f397, %f395, %f396; + mul.f32 %f398, %f394, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f399, %f398; + sub.f32 %f400, %f398, %f399; + mul.f32 %f401, %f394, 0f3DC74539; + cvt.rmi.f32.f32 %f402, %f401; + sub.f32 %f403, %f401, %f402; + add.f32 %f404, %f400, 0f4199851F; + add.f32 %f405, %f403, 0f4199851F; + add.f32 %f406, %f397, 0f4199851F; + mul.f32 %f407, %f400, %f405; + fma.rn.f32 %f408, %f397, %f404, %f407; + fma.rn.f32 %f409, %f406, %f403, %f408; + add.f32 %f410, %f397, %f409; + add.f32 %f411, %f400, %f409; + add.f32 %f412, %f403, %f409; + add.f32 %f413, %f410, %f411; + mul.f32 %f414, %f412, %f413; + cvt.rmi.f32.f32 %f415, %f414; + sub.f32 %f416, %f414, %f415; + add.f32 %f417, %f410, %f412; + mul.f32 %f418, %f411, %f417; + cvt.rmi.f32.f32 %f419, %f418; + sub.f32 %f420, %f418, %f419; + add.f32 %f421, %f411, %f412; + mul.f32 %f422, %f410, %f421; + cvt.rmi.f32.f32 %f423, %f422; + sub.f32 %f424, %f422, %f423; + fma.rn.f32 %f425, %f416, 0f40000000, 0fBF800000; + fma.rn.f32 %f426, %f420, 0f40000000, 0fBF800000; + fma.rn.f32 %f427, %f424, 0f40000000, 0fBF800000; + ld.global.f32 %f428, [lightRadius]; + ld.global.f32 %f429, [lightPos]; + fma.rn.f32 %f430, %f428, %f425, %f429; + ld.global.f32 %f431, [lightPos+4]; + fma.rn.f32 %f432, %f428, %f426, %f431; + ld.global.f32 %f433, [lightPos+8]; + fma.rn.f32 %f434, %f428, %f427, %f433; + sub.f32 %f435, %f430, %f7; + sub.f32 %f436, %f432, %f8; + sub.f32 %f437, %f434, %f9; + mul.f32 %f438, %f436, %f436; + fma.rn.f32 %f439, %f435, %f435, %f438; + fma.rn.f32 %f440, %f437, %f437, %f439; + sqrt.rn.f32 %f393, %f440; + rcp.rn.f32 %f441, %f393; + mul.f32 %f389, %f441, %f435; + mul.f32 %f390, %f441, %f436; + mul.f32 %f391, %f441, %f437; + ld.global.u32 %r74, [imageEnabled]; + and.b32 %r75, %r74, 32; + setp.eq.s32 %p48, %r75, 0; + selp.f32 %f442, 0f3F800000, 0f41200000, %p48; + mul.f32 %f392, %f442, %f52; + mov.u32 %r76, 1065353216; + st.local.u32 [%rd2], %r76; + ld.global.u32 %r71, [root]; + mov.u32 %r72, 1; + // inline asm + call _rt_trace_64, (%r71, %f49, %f50, %f51, %f389, %f390, %f391, %r72, %f392, %f393, %rd24, %r25); + // inline asm + ld.local.f32 %f443, [%rd2]; + add.f32 %f989, %f989, %f443; + ld.global.u32 %r247, [samples]; + add.s32 %r246, %r246, 1; + setp.lt.s32 %p49, %r246, %r247; + @%p49 bra BB0_28; + +BB0_29: + mov.f32 %f990, 0f3F800000; + setp.eq.s32 %p50, %r247, 0; + @%p50 bra BB0_31; + + cvt.rn.f32.s32 %f445, %r247; + div.rn.f32 %f990, %f989, %f445; + +BB0_31: + cvt.sat.f32.f32 %f446, %f29; + mul.f32 %f447, %f44, %f446; + mul.f32 %f448, %f990, %f447; + ld.global.f32 %f449, [lightColor]; + mul.f32 %f450, %f449, %f448; + ld.global.f32 %f451, [lightColor+4]; + mul.f32 %f452, %f451, %f448; + ld.global.f32 %f453, [lightColor+8]; + mul.f32 %f454, %f448, %f453; + mul.f32 %f58, %f324, %f450; + mul.f32 %f59, %f325, %f452; + mul.f32 %f60, %f326, %f454; + ld.global.u32 %r249, [imageEnabled]; + and.b32 %r77, %r249, 8; + setp.eq.s32 %p51, %r77, 0; + @%p51 bra BB0_44; + + mov.f32 %f938, 0fB5BFBE8E; + mov.f32 %f937, 0fBF317200; + mov.f32 %f936, 0f35BFBE8E; + mov.f32 %f935, 0f3F317200; + mov.f32 %f934, 0f3DAAAABD; + mov.f32 %f933, 0f3C4CAF63; + mov.f32 %f932, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r24, %r24, %rd28, %rd29, %rd15, %rd15); + // inline asm + abs.f32 %f62, %f990; + setp.lt.f32 %p52, %f62, 0f00800000; + mul.f32 %f460, %f62, 0f4B800000; + selp.f32 %f461, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f462, %f460, %f62, %p52; + mov.b32 %r80, %f462; + and.b32 %r81, %r80, 8388607; + or.b32 %r82, %r81, 1065353216; + mov.b32 %f463, %r82; + shr.u32 %r83, %r80, 23; + cvt.rn.f32.u32 %f464, %r83; + add.f32 %f465, %f461, %f464; + setp.gt.f32 %p53, %f463, 0f3FB504F3; + mul.f32 %f466, %f463, 0f3F000000; + add.f32 %f467, %f465, 0f3F800000; + selp.f32 %f468, %f466, %f463, %p53; + selp.f32 %f469, %f467, %f465, %p53; + add.f32 %f470, %f468, 0fBF800000; + add.f32 %f456, %f468, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f455,%f456; + // inline asm + add.f32 %f471, %f470, %f470; + mul.f32 %f472, %f455, %f471; + mul.f32 %f473, %f472, %f472; + fma.rn.f32 %f476, %f932, %f473, %f933; + fma.rn.f32 %f478, %f476, %f473, %f934; + mul.rn.f32 %f479, %f478, %f473; + mul.rn.f32 %f480, %f479, %f472; + sub.f32 %f481, %f470, %f472; + neg.f32 %f482, %f472; + add.f32 %f483, %f481, %f481; + fma.rn.f32 %f484, %f482, %f470, %f483; + mul.rn.f32 %f485, %f455, %f484; + add.f32 %f486, %f480, %f472; + sub.f32 %f487, %f472, %f486; + add.f32 %f488, %f480, %f487; + add.f32 %f489, %f485, %f488; + add.f32 %f490, %f486, %f489; + sub.f32 %f491, %f486, %f490; + add.f32 %f492, %f489, %f491; + mul.rn.f32 %f494, %f469, %f935; + mul.rn.f32 %f496, %f469, %f936; + add.f32 %f497, %f494, %f490; + sub.f32 %f498, %f494, %f497; + add.f32 %f499, %f490, %f498; + add.f32 %f500, %f492, %f499; + add.f32 %f501, %f496, %f500; + add.f32 %f502, %f497, %f501; + sub.f32 %f503, %f497, %f502; + add.f32 %f504, %f501, %f503; + mov.f32 %f505, 0f3EE8BA2E; + mul.rn.f32 %f506, %f505, %f502; + neg.f32 %f507, %f506; + fma.rn.f32 %f508, %f505, %f502, %f507; + fma.rn.f32 %f509, %f505, %f504, %f508; + mov.f32 %f510, 0f00000000; + fma.rn.f32 %f511, %f510, %f502, %f509; + add.rn.f32 %f512, %f506, %f511; + neg.f32 %f513, %f512; + add.rn.f32 %f514, %f506, %f513; + add.rn.f32 %f515, %f514, %f511; + mov.b32 %r84, %f512; + setp.eq.s32 %p54, %r84, 1118925336; + add.s32 %r85, %r84, -1; + mov.b32 %f516, %r85; + add.f32 %f517, %f515, 0f37000000; + selp.f32 %f518, %f516, %f512, %p54; + selp.f32 %f63, %f517, %f515, %p54; + mul.f32 %f519, %f518, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f520, %f519; + fma.rn.f32 %f522, %f520, %f937, %f518; + fma.rn.f32 %f524, %f520, %f938, %f522; + mul.f32 %f525, %f524, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f526, %f525; + add.f32 %f527, %f520, 0f00000000; + ex2.approx.f32 %f528, %f527; + mul.f32 %f529, %f526, %f528; + setp.lt.f32 %p55, %f518, 0fC2D20000; + selp.f32 %f530, 0f00000000, %f529, %p55; + setp.gt.f32 %p56, %f518, 0f42D20000; + selp.f32 %f991, 0f7F800000, %f530, %p56; + setp.eq.f32 %p57, %f991, 0f7F800000; + @%p57 bra BB0_34; + + fma.rn.f32 %f991, %f991, %f63, %f991; + +BB0_34: + mov.f32 %f974, 0f3E68BA2E; + cvt.rzi.f32.f32 %f973, %f974; + fma.rn.f32 %f972, %f973, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f971, %f972; + setp.lt.f32 %p58, %f990, 0f00000000; + setp.eq.f32 %p59, %f971, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r86, %f991; + xor.b32 %r87, %r86, -2147483648; + mov.b32 %f531, %r87; + selp.f32 %f993, %f531, %f991, %p3; + setp.eq.f32 %p60, %f990, 0f00000000; + @%p60 bra BB0_37; + bra.uni BB0_35; + +BB0_37: + add.f32 %f534, %f990, %f990; + selp.f32 %f993, %f534, 0f00000000, %p59; + bra.uni BB0_38; + +BB0_122: + mov.u64 %rd287, image_HDR; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r216, 8; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r24, %r216, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f887, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f887;} + + // inline asm + mov.u16 %rs168, 0; + st.v4.u16 [%rd281], {%rs167, %rs167, %rs167, %rs168}; + +BB0_123: + ld.global.u32 %r217, [additive]; + setp.eq.s32 %p135, %r217, 0; + @%p135 bra BB0_125; + + mov.u64 %rd300, image_RNM0; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r221, 8; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r24, %r221, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs175, %rs176, %rs177, %rs178}, [%rd288]; + // inline asm + { cvt.f32.f16 %f888, %rs175;} + + // inline asm + // inline asm + { cvt.f32.f16 %f889, %rs176;} + + // inline asm + // inline asm + { cvt.f32.f16 %f890, %rs177;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r24, %r221, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f891, %f888, 0f00000000; + add.f32 %f892, %f889, 0f00000000; + add.f32 %f893, %f890, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs174, %f893;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs173, %f892;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs172, %f891;} + + // inline asm + mov.u16 %rs179, 0; + st.v4.u16 [%rd294], {%rs172, %rs173, %rs174, %rs179}; + bra.uni BB0_126; + +BB0_125: + mov.u64 %rd307, image_RNM0; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r223, 8; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r24, %r223, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f894, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs180, %f894;} + + // inline asm + mov.u16 %rs181, 0; + st.v4.u16 [%rd301], {%rs180, %rs180, %rs180, %rs181}; + +BB0_126: + ld.global.u32 %r224, [additive]; + setp.eq.s32 %p136, %r224, 0; + @%p136 bra BB0_128; + + mov.u64 %rd320, image_RNM1; + cvta.global.u64 %rd309, %rd320; + mov.u32 %r228, 8; + // inline asm + call (%rd308), _rt_buffer_get_64, (%rd309, %r24, %r228, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs188, %rs189, %rs190, %rs191}, [%rd308]; + // inline asm + { cvt.f32.f16 %f895, %rs188;} + + // inline asm + // inline asm + { cvt.f32.f16 %f896, %rs189;} + + // inline asm + // inline asm + { cvt.f32.f16 %f897, %rs190;} + + // inline asm + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd309, %r24, %r228, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f898, %f895, 0f00000000; + add.f32 %f899, %f896, 0f00000000; + add.f32 %f900, %f897, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs187, %f900;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs186, %f899;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs185, %f898;} + + // inline asm + mov.u16 %rs192, 0; + st.v4.u16 [%rd314], {%rs185, %rs186, %rs187, %rs192}; + bra.uni BB0_129; + +BB0_128: + mov.u64 %rd327, image_RNM1; + cvta.global.u64 %rd322, %rd327; + mov.u32 %r230, 8; + // inline asm + call (%rd321), _rt_buffer_get_64, (%rd322, %r24, %r230, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f901, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs193, %f901;} + + // inline asm + mov.u16 %rs194, 0; + st.v4.u16 [%rd321], {%rs193, %rs193, %rs193, %rs194}; + +BB0_129: + ld.global.u32 %r231, [additive]; + setp.eq.s32 %p137, %r231, 0; + @%p137 bra BB0_131; + + mov.u64 %rd340, image_RNM2; + cvta.global.u64 %rd329, %rd340; + mov.u32 %r235, 8; + // inline asm + call (%rd328), _rt_buffer_get_64, (%rd329, %r24, %r235, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs201, %rs202, %rs203, %rs204}, [%rd328]; + // inline asm + { cvt.f32.f16 %f902, %rs201;} + + // inline asm + // inline asm + { cvt.f32.f16 %f903, %rs202;} + + // inline asm + // inline asm + { cvt.f32.f16 %f904, %rs203;} + + // inline asm + // inline asm + call (%rd334), _rt_buffer_get_64, (%rd329, %r24, %r235, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f905, %f902, 0f00000000; + add.f32 %f906, %f903, 0f00000000; + add.f32 %f907, %f904, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs200, %f907;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs199, %f906;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs198, %f905;} + + // inline asm + mov.u16 %rs205, 0; + st.v4.u16 [%rd334], {%rs198, %rs199, %rs200, %rs205}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd347, image_RNM2; + cvta.global.u64 %rd342, %rd347; + mov.u32 %r237, 8; + // inline asm + call (%rd341), _rt_buffer_get_64, (%rd342, %r24, %r237, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f908, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs206, %f908;} + + // inline asm + mov.u16 %rs207, 0; + st.v4.u16 [%rd341], {%rs206, %rs206, %rs206, %rs207}; + +BB0_132: + ld.global.u32 %r238, [additive]; + setp.eq.s32 %p138, %r238, 0; + @%p138 bra BB0_134; + + mov.u64 %rd360, image_RNM3; + cvta.global.u64 %rd349, %rd360; + mov.u32 %r242, 8; + // inline asm + call (%rd348), _rt_buffer_get_64, (%rd349, %r24, %r242, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs214, %rs215, %rs216, %rs217}, [%rd348]; + // inline asm + { cvt.f32.f16 %f909, %rs214;} + + // inline asm + // inline asm + { cvt.f32.f16 %f910, %rs215;} + + // inline asm + // inline asm + { cvt.f32.f16 %f911, %rs216;} + + // inline asm + // inline asm + call (%rd354), _rt_buffer_get_64, (%rd349, %r24, %r242, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f912, %f909, 0f00000000; + add.f32 %f913, %f910, 0f00000000; + add.f32 %f914, %f911, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs213, %f914;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs212, %f913;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs211, %f912;} + + // inline asm + mov.u16 %rs218, 0; + st.v4.u16 [%rd354], {%rs211, %rs212, %rs213, %rs218}; + bra.uni BB0_135; + +BB0_134: + mov.u64 %rd367, image_RNM3; + cvta.global.u64 %rd362, %rd367; + mov.u32 %r244, 8; + // inline asm + call (%rd361), _rt_buffer_get_64, (%rd362, %r24, %r244, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f915, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs219, %f915;} + + // inline asm + mov.u16 %rs220, 0; + st.v4.u16 [%rd361], {%rs219, %rs219, %rs219, %rs220}; + bra.uni BB0_135; + +BB0_102: + mov.u64 %rd173, image_HDR; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r173, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r24, %r173, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f845, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f845;} + + // inline asm + st.v4.u16 [%rd167], {%rs104, %rs104, %rs104, %rs93}; + +BB0_103: + ld.global.u32 %r174, [additive]; + setp.eq.s32 %p127, %r174, 0; + mov.f32 %f846, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f846;} + + // inline asm + @%p127 bra BB0_105; + + mov.u64 %rd186, image_RNM0; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r178, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r24, %r178, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd174]; + // inline asm + { cvt.f32.f16 %f847, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f848, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f849, %rs114;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r24, %r178, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f850, %f847, 0f00000000; + add.f32 %f851, %f848, 0f00000000; + add.f32 %f852, %f849, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f852;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f851;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f850;} + + // inline asm + st.v4.u16 [%rd180], {%rs109, %rs110, %rs111, %rs105}; + bra.uni BB0_106; + +BB0_105: + mov.u64 %rd193, image_RNM0; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r180, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r24, %r180, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f853, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f853;} + + // inline asm + st.v4.u16 [%rd187], {%rs116, %rs116, %rs116, %rs105}; + +BB0_106: + ld.global.u32 %r181, [additive]; + setp.eq.s32 %p128, %r181, 0; + // inline asm + { cvt.rn.f16.f32 %rs117, %f846;} + + // inline asm + @%p128 bra BB0_108; + + mov.u64 %rd206, image_RNM1; + cvta.global.u64 %rd195, %rd206; + mov.u32 %r185, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r24, %r185, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd194]; + // inline asm + { cvt.f32.f16 %f855, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f856, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f857, %rs126;} + + // inline asm + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd195, %r24, %r185, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f858, %f855, 0f00000000; + add.f32 %f859, %f856, 0f00000000; + add.f32 %f860, %f857, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f860;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f859;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f858;} + + // inline asm + st.v4.u16 [%rd200], {%rs121, %rs122, %rs123, %rs117}; + bra.uni BB0_109; + +BB0_108: + mov.u64 %rd213, image_RNM1; + cvta.global.u64 %rd208, %rd213; + mov.u32 %r187, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r24, %r187, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f861, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f861;} + + // inline asm + st.v4.u16 [%rd207], {%rs128, %rs128, %rs128, %rs117}; + +BB0_109: + ld.global.u32 %r188, [additive]; + setp.eq.s32 %p129, %r188, 0; + // inline asm + { cvt.rn.f16.f32 %rs129, %f846;} + + // inline asm + @%p129 bra BB0_111; + + mov.u64 %rd226, image_RNM2; + cvta.global.u64 %rd215, %rd226; + mov.u32 %r192, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r24, %r192, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs136, %rs137, %rs138, %rs139}, [%rd214]; + // inline asm + { cvt.f32.f16 %f863, %rs136;} + + // inline asm + // inline asm + { cvt.f32.f16 %f864, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f865, %rs138;} + + // inline asm + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd215, %r24, %r192, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f866, %f863, 0f00000000; + add.f32 %f867, %f864, 0f00000000; + add.f32 %f868, %f865, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs135, %f868;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f867;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs133, %f866;} + + // inline asm + st.v4.u16 [%rd220], {%rs133, %rs134, %rs135, %rs129}; + bra.uni BB0_112; + +BB0_111: + mov.u64 %rd233, image_RNM2; + cvta.global.u64 %rd228, %rd233; + mov.u32 %r194, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r24, %r194, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f869, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f869;} + + // inline asm + st.v4.u16 [%rd227], {%rs140, %rs140, %rs140, %rs129}; + +BB0_112: + ld.global.u32 %r195, [additive]; + setp.eq.s32 %p130, %r195, 0; + // inline asm + { cvt.rn.f16.f32 %rs141, %f846;} + + // inline asm + @%p130 bra BB0_114; + + mov.u64 %rd246, image_RNM3; + cvta.global.u64 %rd235, %rd246; + mov.u32 %r199, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r24, %r199, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs148, %rs149, %rs150, %rs151}, [%rd234]; + // inline asm + { cvt.f32.f16 %f871, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f872, %rs149;} + + // inline asm + // inline asm + { cvt.f32.f16 %f873, %rs150;} + + // inline asm + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd235, %r24, %r199, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f874, %f871, 0f00000000; + add.f32 %f875, %f872, 0f00000000; + add.f32 %f876, %f873, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f876;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs146, %f875;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f874;} + + // inline asm + st.v4.u16 [%rd240], {%rs145, %rs146, %rs147, %rs141}; + bra.uni BB0_135; + +BB0_114: + mov.u64 %rd253, image_RNM3; + cvta.global.u64 %rd248, %rd253; + mov.u32 %r201, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r24, %r201, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f877, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f877;} + + // inline asm + st.v4.u16 [%rd247], {%rs152, %rs152, %rs152, %rs141}; + bra.uni BB0_135; + +BB0_35: + setp.geu.f32 %p61, %f990, 0f00000000; + @%p61 bra BB0_38; + + mov.f32 %f978, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f533, %f978; + setp.neu.f32 %p62, %f533, 0f3EE8BA2E; + selp.f32 %f993, 0f7FFFFFFF, %f993, %p62; + +BB0_38: + abs.f32 %f975, %f990; + add.f32 %f535, %f975, 0f3EE8BA2E; + mov.b32 %r88, %f535; + setp.lt.s32 %p64, %r88, 2139095040; + @%p64 bra BB0_43; + + abs.f32 %f976, %f990; + setp.gtu.f32 %p65, %f976, 0f7F800000; + @%p65 bra BB0_42; + bra.uni BB0_40; + +BB0_42: + add.f32 %f993, %f990, 0f3EE8BA2E; + bra.uni BB0_43; + +BB0_40: + abs.f32 %f977, %f990; + setp.neu.f32 %p66, %f977, 0f7F800000; + @%p66 bra BB0_43; + + selp.f32 %f993, 0fFF800000, 0f7F800000, %p3; + +BB0_43: + mul.f32 %f536, %f993, 0f437F0000; + setp.eq.f32 %p67, %f990, 0f3F800000; + selp.f32 %f537, 0f437F0000, %f536, %p67; + cvt.rzi.u32.f32 %r89, %f537; + cvt.u16.u32 %rs19, %r89; + mov.u16 %rs20, 255; + st.v2.u8 [%rd26], {%rs19, %rs20}; + ld.global.u32 %r249, [imageEnabled]; + +BB0_44: + and.b32 %r90, %r249, 1; + setp.eq.b32 %p68, %r90, 1; + @!%p68 bra BB0_79; + bra.uni BB0_45; + +BB0_45: + mov.f32 %f945, 0fB5BFBE8E; + mov.f32 %f944, 0fBF317200; + mov.f32 %f943, 0f35BFBE8E; + mov.f32 %f942, 0f3F317200; + mov.f32 %f941, 0f3DAAAABD; + mov.f32 %f940, 0f3C4CAF63; + mov.f32 %f939, 0f3B18F0FE; + mov.f32 %f540, 0f3E666666; + cvt.rzi.f32.f32 %f541, %f540; + fma.rn.f32 %f542, %f541, 0fC0000000, 0f3EE66666; + abs.f32 %f74, %f542; + abs.f32 %f75, %f58; + setp.lt.f32 %p69, %f75, 0f00800000; + mul.f32 %f543, %f75, 0f4B800000; + selp.f32 %f544, 0fC3170000, 0fC2FE0000, %p69; + selp.f32 %f545, %f543, %f75, %p69; + mov.b32 %r91, %f545; + and.b32 %r92, %r91, 8388607; + or.b32 %r93, %r92, 1065353216; + mov.b32 %f546, %r93; + shr.u32 %r94, %r91, 23; + cvt.rn.f32.u32 %f547, %r94; + add.f32 %f548, %f544, %f547; + setp.gt.f32 %p70, %f546, 0f3FB504F3; + mul.f32 %f549, %f546, 0f3F000000; + add.f32 %f550, %f548, 0f3F800000; + selp.f32 %f551, %f549, %f546, %p70; + selp.f32 %f552, %f550, %f548, %p70; + add.f32 %f553, %f551, 0fBF800000; + add.f32 %f539, %f551, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f538,%f539; + // inline asm + add.f32 %f554, %f553, %f553; + mul.f32 %f555, %f538, %f554; + mul.f32 %f556, %f555, %f555; + fma.rn.f32 %f559, %f939, %f556, %f940; + fma.rn.f32 %f561, %f559, %f556, %f941; + mul.rn.f32 %f562, %f561, %f556; + mul.rn.f32 %f563, %f562, %f555; + sub.f32 %f564, %f553, %f555; + neg.f32 %f565, %f555; + add.f32 %f566, %f564, %f564; + fma.rn.f32 %f567, %f565, %f553, %f566; + mul.rn.f32 %f568, %f538, %f567; + add.f32 %f569, %f563, %f555; + sub.f32 %f570, %f555, %f569; + add.f32 %f571, %f563, %f570; + add.f32 %f572, %f568, %f571; + add.f32 %f573, %f569, %f572; + sub.f32 %f574, %f569, %f573; + add.f32 %f575, %f572, %f574; + mul.rn.f32 %f577, %f552, %f942; + mul.rn.f32 %f579, %f552, %f943; + add.f32 %f580, %f577, %f573; + sub.f32 %f581, %f577, %f580; + add.f32 %f582, %f573, %f581; + add.f32 %f583, %f575, %f582; + add.f32 %f584, %f579, %f583; + add.f32 %f585, %f580, %f584; + sub.f32 %f586, %f580, %f585; + add.f32 %f587, %f584, %f586; + mov.f32 %f588, 0f3EE66666; + mul.rn.f32 %f589, %f588, %f585; + neg.f32 %f590, %f589; + fma.rn.f32 %f591, %f588, %f585, %f590; + fma.rn.f32 %f592, %f588, %f587, %f591; + mov.f32 %f593, 0f00000000; + fma.rn.f32 %f594, %f593, %f585, %f592; + add.rn.f32 %f595, %f589, %f594; + neg.f32 %f596, %f595; + add.rn.f32 %f597, %f589, %f596; + add.rn.f32 %f598, %f597, %f594; + mov.b32 %r95, %f595; + setp.eq.s32 %p71, %r95, 1118925336; + add.s32 %r96, %r95, -1; + mov.b32 %f599, %r96; + add.f32 %f600, %f598, 0f37000000; + selp.f32 %f601, %f599, %f595, %p71; + selp.f32 %f76, %f600, %f598, %p71; + mul.f32 %f602, %f601, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f603, %f602; + fma.rn.f32 %f605, %f603, %f944, %f601; + fma.rn.f32 %f607, %f603, %f945, %f605; + mul.f32 %f608, %f607, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f609, %f608; + add.f32 %f610, %f603, 0f00000000; + ex2.approx.f32 %f611, %f610; + mul.f32 %f612, %f609, %f611; + setp.lt.f32 %p72, %f601, 0fC2D20000; + selp.f32 %f613, 0f00000000, %f612, %p72; + setp.gt.f32 %p73, %f601, 0f42D20000; + selp.f32 %f994, 0f7F800000, %f613, %p73; + setp.eq.f32 %p74, %f994, 0f7F800000; + @%p74 bra BB0_47; + + fma.rn.f32 %f994, %f994, %f76, %f994; + +BB0_47: + setp.lt.f32 %p75, %f58, 0f00000000; + setp.eq.f32 %p76, %f74, 0f3F800000; + and.pred %p4, %p75, %p76; + mov.b32 %r97, %f994; + xor.b32 %r98, %r97, -2147483648; + mov.b32 %f614, %r98; + selp.f32 %f996, %f614, %f994, %p4; + setp.eq.f32 %p77, %f58, 0f00000000; + @%p77 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f617, %f58, %f58; + selp.f32 %f996, %f617, 0f00000000, %p76; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p78, %f58, 0f00000000; + @%p78 bra BB0_51; + + cvt.rzi.f32.f32 %f616, %f588; + setp.neu.f32 %p79, %f616, 0f3EE66666; + selp.f32 %f996, 0f7FFFFFFF, %f996, %p79; + +BB0_51: + add.f32 %f618, %f75, 0f3EE66666; + mov.b32 %r99, %f618; + setp.lt.s32 %p81, %r99, 2139095040; + @%p81 bra BB0_56; + + setp.gtu.f32 %p82, %f75, 0f7F800000; + @%p82 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f996, %f58, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p83, %f75, 0f7F800000; + @%p83 bra BB0_56; + + selp.f32 %f996, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f952, 0fB5BFBE8E; + mov.f32 %f951, 0fBF317200; + mov.f32 %f950, 0f35BFBE8E; + mov.f32 %f949, 0f3F317200; + mov.f32 %f948, 0f3DAAAABD; + mov.f32 %f947, 0f3C4CAF63; + mov.f32 %f946, 0f3B18F0FE; + setp.eq.f32 %p84, %f58, 0f3F800000; + selp.f32 %f87, 0f3F800000, %f996, %p84; + abs.f32 %f88, %f59; + setp.lt.f32 %p85, %f88, 0f00800000; + mul.f32 %f621, %f88, 0f4B800000; + selp.f32 %f622, 0fC3170000, 0fC2FE0000, %p85; + selp.f32 %f623, %f621, %f88, %p85; + mov.b32 %r100, %f623; + and.b32 %r101, %r100, 8388607; + or.b32 %r102, %r101, 1065353216; + mov.b32 %f624, %r102; + shr.u32 %r103, %r100, 23; + cvt.rn.f32.u32 %f625, %r103; + add.f32 %f626, %f622, %f625; + setp.gt.f32 %p86, %f624, 0f3FB504F3; + mul.f32 %f627, %f624, 0f3F000000; + add.f32 %f628, %f626, 0f3F800000; + selp.f32 %f629, %f627, %f624, %p86; + selp.f32 %f630, %f628, %f626, %p86; + add.f32 %f631, %f629, 0fBF800000; + add.f32 %f620, %f629, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f619,%f620; + // inline asm + add.f32 %f632, %f631, %f631; + mul.f32 %f633, %f619, %f632; + mul.f32 %f634, %f633, %f633; + fma.rn.f32 %f637, %f946, %f634, %f947; + fma.rn.f32 %f639, %f637, %f634, %f948; + mul.rn.f32 %f640, %f639, %f634; + mul.rn.f32 %f641, %f640, %f633; + sub.f32 %f642, %f631, %f633; + neg.f32 %f643, %f633; + add.f32 %f644, %f642, %f642; + fma.rn.f32 %f645, %f643, %f631, %f644; + mul.rn.f32 %f646, %f619, %f645; + add.f32 %f647, %f641, %f633; + sub.f32 %f648, %f633, %f647; + add.f32 %f649, %f641, %f648; + add.f32 %f650, %f646, %f649; + add.f32 %f651, %f647, %f650; + sub.f32 %f652, %f647, %f651; + add.f32 %f653, %f650, %f652; + mul.rn.f32 %f655, %f630, %f949; + mul.rn.f32 %f657, %f630, %f950; + add.f32 %f658, %f655, %f651; + sub.f32 %f659, %f655, %f658; + add.f32 %f660, %f651, %f659; + add.f32 %f661, %f653, %f660; + add.f32 %f662, %f657, %f661; + add.f32 %f663, %f658, %f662; + sub.f32 %f664, %f658, %f663; + add.f32 %f665, %f662, %f664; + mul.rn.f32 %f667, %f588, %f663; + neg.f32 %f668, %f667; + fma.rn.f32 %f669, %f588, %f663, %f668; + fma.rn.f32 %f670, %f588, %f665, %f669; + fma.rn.f32 %f672, %f593, %f663, %f670; + add.rn.f32 %f673, %f667, %f672; + neg.f32 %f674, %f673; + add.rn.f32 %f675, %f667, %f674; + add.rn.f32 %f676, %f675, %f672; + mov.b32 %r104, %f673; + setp.eq.s32 %p87, %r104, 1118925336; + add.s32 %r105, %r104, -1; + mov.b32 %f677, %r105; + add.f32 %f678, %f676, 0f37000000; + selp.f32 %f679, %f677, %f673, %p87; + selp.f32 %f89, %f678, %f676, %p87; + mul.f32 %f680, %f679, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f681, %f680; + fma.rn.f32 %f683, %f681, %f951, %f679; + fma.rn.f32 %f685, %f681, %f952, %f683; + mul.f32 %f686, %f685, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f687, %f686; + add.f32 %f688, %f681, 0f00000000; + ex2.approx.f32 %f689, %f688; + mul.f32 %f690, %f687, %f689; + setp.lt.f32 %p88, %f679, 0fC2D20000; + selp.f32 %f691, 0f00000000, %f690, %p88; + setp.gt.f32 %p89, %f679, 0f42D20000; + selp.f32 %f997, 0f7F800000, %f691, %p89; + setp.eq.f32 %p90, %f997, 0f7F800000; + @%p90 bra BB0_58; + + fma.rn.f32 %f997, %f997, %f89, %f997; + +BB0_58: + setp.lt.f32 %p91, %f59, 0f00000000; + and.pred %p5, %p91, %p76; + mov.b32 %r106, %f997; + xor.b32 %r107, %r106, -2147483648; + mov.b32 %f692, %r107; + selp.f32 %f999, %f692, %f997, %p5; + setp.eq.f32 %p93, %f59, 0f00000000; + @%p93 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f695, %f59, %f59; + selp.f32 %f999, %f695, 0f00000000, %p76; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p94, %f59, 0f00000000; + @%p94 bra BB0_62; + + cvt.rzi.f32.f32 %f694, %f588; + setp.neu.f32 %p95, %f694, 0f3EE66666; + selp.f32 %f999, 0f7FFFFFFF, %f999, %p95; + +BB0_62: + add.f32 %f696, %f88, 0f3EE66666; + mov.b32 %r108, %f696; + setp.lt.s32 %p97, %r108, 2139095040; + @%p97 bra BB0_67; + + setp.gtu.f32 %p98, %f88, 0f7F800000; + @%p98 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f999, %f59, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p99, %f88, 0f7F800000; + @%p99 bra BB0_67; + + selp.f32 %f999, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + mov.f32 %f959, 0fB5BFBE8E; + mov.f32 %f958, 0fBF317200; + mov.f32 %f957, 0f35BFBE8E; + mov.f32 %f956, 0f3F317200; + mov.f32 %f955, 0f3DAAAABD; + mov.f32 %f954, 0f3C4CAF63; + mov.f32 %f953, 0f3B18F0FE; + setp.eq.f32 %p100, %f59, 0f3F800000; + selp.f32 %f100, 0f3F800000, %f999, %p100; + abs.f32 %f101, %f60; + setp.lt.f32 %p101, %f101, 0f00800000; + mul.f32 %f699, %f101, 0f4B800000; + selp.f32 %f700, 0fC3170000, 0fC2FE0000, %p101; + selp.f32 %f701, %f699, %f101, %p101; + mov.b32 %r109, %f701; + and.b32 %r110, %r109, 8388607; + or.b32 %r111, %r110, 1065353216; + mov.b32 %f702, %r111; + shr.u32 %r112, %r109, 23; + cvt.rn.f32.u32 %f703, %r112; + add.f32 %f704, %f700, %f703; + setp.gt.f32 %p102, %f702, 0f3FB504F3; + mul.f32 %f705, %f702, 0f3F000000; + add.f32 %f706, %f704, 0f3F800000; + selp.f32 %f707, %f705, %f702, %p102; + selp.f32 %f708, %f706, %f704, %p102; + add.f32 %f709, %f707, 0fBF800000; + add.f32 %f698, %f707, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f697,%f698; + // inline asm + add.f32 %f710, %f709, %f709; + mul.f32 %f711, %f697, %f710; + mul.f32 %f712, %f711, %f711; + fma.rn.f32 %f715, %f953, %f712, %f954; + fma.rn.f32 %f717, %f715, %f712, %f955; + mul.rn.f32 %f718, %f717, %f712; + mul.rn.f32 %f719, %f718, %f711; + sub.f32 %f720, %f709, %f711; + neg.f32 %f721, %f711; + add.f32 %f722, %f720, %f720; + fma.rn.f32 %f723, %f721, %f709, %f722; + mul.rn.f32 %f724, %f697, %f723; + add.f32 %f725, %f719, %f711; + sub.f32 %f726, %f711, %f725; + add.f32 %f727, %f719, %f726; + add.f32 %f728, %f724, %f727; + add.f32 %f729, %f725, %f728; + sub.f32 %f730, %f725, %f729; + add.f32 %f731, %f728, %f730; + mul.rn.f32 %f733, %f708, %f956; + mul.rn.f32 %f735, %f708, %f957; + add.f32 %f736, %f733, %f729; + sub.f32 %f737, %f733, %f736; + add.f32 %f738, %f729, %f737; + add.f32 %f739, %f731, %f738; + add.f32 %f740, %f735, %f739; + add.f32 %f741, %f736, %f740; + sub.f32 %f742, %f736, %f741; + add.f32 %f743, %f740, %f742; + mul.rn.f32 %f745, %f588, %f741; + neg.f32 %f746, %f745; + fma.rn.f32 %f747, %f588, %f741, %f746; + fma.rn.f32 %f748, %f588, %f743, %f747; + fma.rn.f32 %f750, %f593, %f741, %f748; + add.rn.f32 %f751, %f745, %f750; + neg.f32 %f752, %f751; + add.rn.f32 %f753, %f745, %f752; + add.rn.f32 %f754, %f753, %f750; + mov.b32 %r113, %f751; + setp.eq.s32 %p103, %r113, 1118925336; + add.s32 %r114, %r113, -1; + mov.b32 %f755, %r114; + add.f32 %f756, %f754, 0f37000000; + selp.f32 %f757, %f755, %f751, %p103; + selp.f32 %f102, %f756, %f754, %p103; + mul.f32 %f758, %f757, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f759, %f758; + fma.rn.f32 %f761, %f759, %f958, %f757; + fma.rn.f32 %f763, %f759, %f959, %f761; + mul.f32 %f764, %f763, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f765, %f764; + add.f32 %f766, %f759, 0f00000000; + ex2.approx.f32 %f767, %f766; + mul.f32 %f768, %f765, %f767; + setp.lt.f32 %p104, %f757, 0fC2D20000; + selp.f32 %f769, 0f00000000, %f768, %p104; + setp.gt.f32 %p105, %f757, 0f42D20000; + selp.f32 %f1000, 0f7F800000, %f769, %p105; + setp.eq.f32 %p106, %f1000, 0f7F800000; + @%p106 bra BB0_69; + + fma.rn.f32 %f1000, %f1000, %f102, %f1000; + +BB0_69: + setp.lt.f32 %p107, %f60, 0f00000000; + and.pred %p6, %p107, %p76; + mov.b32 %r115, %f1000; + xor.b32 %r116, %r115, -2147483648; + mov.b32 %f770, %r116; + selp.f32 %f1002, %f770, %f1000, %p6; + setp.eq.f32 %p109, %f60, 0f00000000; + @%p109 bra BB0_72; + bra.uni BB0_70; + +BB0_72: + add.f32 %f773, %f60, %f60; + selp.f32 %f1002, %f773, 0f00000000, %p76; + bra.uni BB0_73; + +BB0_70: + setp.geu.f32 %p110, %f60, 0f00000000; + @%p110 bra BB0_73; + + cvt.rzi.f32.f32 %f772, %f588; + setp.neu.f32 %p111, %f772, 0f3EE66666; + selp.f32 %f1002, 0f7FFFFFFF, %f1002, %p111; + +BB0_73: + add.f32 %f774, %f101, 0f3EE66666; + mov.b32 %r117, %f774; + setp.lt.s32 %p113, %r117, 2139095040; + @%p113 bra BB0_78; + + setp.gtu.f32 %p114, %f101, 0f7F800000; + @%p114 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f1002, %f60, 0f3EE66666; + bra.uni BB0_78; + +BB0_75: + setp.neu.f32 %p115, %f101, 0f7F800000; + @%p115 bra BB0_78; + + selp.f32 %f1002, 0fFF800000, 0f7F800000, %p6; + +BB0_78: + mov.u32 %r245, 4; + setp.eq.f32 %p116, %f60, 0f3F800000; + selp.f32 %f775, 0f3F800000, %f1002, %p116; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r24, %r245, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f776, %f775; + mul.f32 %f777, %f776, 0f437FFD71; + cvt.rzi.u32.f32 %r120, %f777; + cvt.sat.f32.f32 %f778, %f100; + mul.f32 %f779, %f778, 0f437FFD71; + cvt.rzi.u32.f32 %r121, %f779; + cvt.sat.f32.f32 %f780, %f87; + mul.f32 %f781, %f780, 0f437FFD71; + cvt.rzi.u32.f32 %r122, %f781; + cvt.u16.u32 %rs21, %r120; + cvt.u16.u32 %rs22, %r122; + cvt.u16.u32 %rs23, %r121; + mov.u16 %rs24, 255; + st.v4.u8 [%rd33], {%rs21, %rs23, %rs22, %rs24}; + ld.global.u32 %r249, [imageEnabled]; + +BB0_79: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r123, %r249, 4; + setp.eq.s32 %p117, %r123, 0; + @%p117 bra BB0_83; + + ld.global.u32 %r124, [additive]; + setp.eq.s32 %p118, %r124, 0; + mov.f32 %f782, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f782;} + + // inline asm + @%p118 bra BB0_82; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r128, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r24, %r128, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs32, %rs33, %rs34, %rs35}, [%rd40]; + // inline asm + { cvt.f32.f16 %f783, %rs32;} + + // inline asm + // inline asm + { cvt.f32.f16 %f784, %rs33;} + + // inline asm + // inline asm + { cvt.f32.f16 %f785, %rs34;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r24, %r128, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f786, %f58, %f783; + add.f32 %f787, %f59, %f784; + add.f32 %f788, %f60, %f785; + // inline asm + { cvt.rn.f16.f32 %rs31, %f788;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f787;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f786;} + + // inline asm + st.v4.u16 [%rd46], {%rs29, %rs30, %rs31, %rs25}; + bra.uni BB0_83; + +BB0_82: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r130, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r24, %r130, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f60;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f59;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f58;} + + // inline asm + st.v4.u16 [%rd53], {%rs36, %rs37, %rs38, %rs25}; + +BB0_83: + mul.f32 %f793, %f44, 0f3E800000; + mul.f32 %f794, %f793, %f990; + mul.f32 %f795, %f45, %f794; + ld.global.f32 %f796, [lightColor]; + mul.f32 %f797, %f795, %f796; + ld.global.f32 %f798, [lightColor+4]; + mul.f32 %f799, %f795, %f798; + ld.global.f32 %f800, [lightColor+8]; + mul.f32 %f801, %f795, %f800; + mul.f32 %f113, %f324, %f797; + mul.f32 %f114, %f325, %f799; + mul.f32 %f115, %f326, %f801; + ld.global.u32 %r131, [additive]; + setp.eq.s32 %p119, %r131, 0; + mov.f32 %f792, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f792;} + + // inline asm + @%p119 bra BB0_85; + + mov.u64 %rd72, image_RNM0; + cvta.global.u64 %rd61, %rd72; + mov.u32 %r135, 8; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r24, %r135, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs46, %rs47, %rs48, %rs49}, [%rd60]; + // inline asm + { cvt.f32.f16 %f802, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f803, %rs47;} + + // inline asm + // inline asm + { cvt.f32.f16 %f804, %rs48;} + + // inline asm + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd61, %r24, %r135, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f805, %f113, %f802; + add.f32 %f806, %f114, %f803; + add.f32 %f807, %f115, %f804; + // inline asm + { cvt.rn.f16.f32 %rs45, %f807;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f806;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f805;} + + // inline asm + st.v4.u16 [%rd66], {%rs43, %rs44, %rs45, %rs39}; + bra.uni BB0_86; + +BB0_85: + mov.u64 %rd79, image_RNM0; + cvta.global.u64 %rd74, %rd79; + mov.u32 %r137, 8; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r24, %r137, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f115;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f114;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f113;} + + // inline asm + st.v4.u16 [%rd73], {%rs50, %rs51, %rs52, %rs39}; + +BB0_86: + fma.rn.f32 %f116, %f10, 0f3F000000, 0f3F000000; + fma.rn.f32 %f117, %f11, 0f3F000000, 0f3F000000; + fma.rn.f32 %f118, %f12, 0f3F000000, 0f3F000000; + ld.global.u32 %r138, [additive]; + setp.eq.s32 %p120, %r138, 0; + // inline asm + { cvt.rn.f16.f32 %rs53, %f792;} + + // inline asm + @%p120 bra BB0_88; + + mov.u64 %rd92, image_RNM1; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r142, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r24, %r142, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs60, %rs61, %rs62, %rs63}, [%rd80]; + // inline asm + { cvt.f32.f16 %f812, %rs60;} + + // inline asm + // inline asm + { cvt.f32.f16 %f813, %rs61;} + + // inline asm + // inline asm + { cvt.f32.f16 %f814, %rs62;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r24, %r142, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f815, %f116, %f812; + add.f32 %f816, %f116, %f813; + add.f32 %f817, %f116, %f814; + // inline asm + { cvt.rn.f16.f32 %rs59, %f817;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f816;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f815;} + + // inline asm + st.v4.u16 [%rd86], {%rs57, %rs58, %rs59, %rs53}; + bra.uni BB0_89; + +BB0_88: + mov.u64 %rd99, image_RNM1; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r144, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r24, %r144, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f116;} + + // inline asm + st.v4.u16 [%rd93], {%rs64, %rs64, %rs64, %rs53}; + +BB0_89: + ld.global.u32 %r145, [additive]; + setp.eq.s32 %p121, %r145, 0; + // inline asm + { cvt.rn.f16.f32 %rs65, %f792;} + + // inline asm + @%p121 bra BB0_91; + + mov.u64 %rd112, image_RNM2; + cvta.global.u64 %rd101, %rd112; + mov.u32 %r149, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r24, %r149, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs72, %rs73, %rs74, %rs75}, [%rd100]; + // inline asm + { cvt.f32.f16 %f820, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f821, %rs73;} + + // inline asm + // inline asm + { cvt.f32.f16 %f822, %rs74;} + + // inline asm + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd101, %r24, %r149, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f823, %f117, %f820; + add.f32 %f824, %f117, %f821; + add.f32 %f825, %f117, %f822; + // inline asm + { cvt.rn.f16.f32 %rs71, %f825;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f824;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f823;} + + // inline asm + st.v4.u16 [%rd106], {%rs69, %rs70, %rs71, %rs65}; + bra.uni BB0_92; + +BB0_91: + mov.u64 %rd119, image_RNM2; + cvta.global.u64 %rd114, %rd119; + mov.u32 %r151, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r24, %r151, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f117;} + + // inline asm + st.v4.u16 [%rd113], {%rs76, %rs76, %rs76, %rs65}; + +BB0_92: + ld.global.u32 %r152, [additive]; + setp.eq.s32 %p122, %r152, 0; + // inline asm + { cvt.rn.f16.f32 %rs77, %f792;} + + // inline asm + @%p122 bra BB0_94; + + mov.u64 %rd132, image_RNM3; + cvta.global.u64 %rd121, %rd132; + mov.u32 %r156, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r24, %r156, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs84, %rs85, %rs86, %rs87}, [%rd120]; + // inline asm + { cvt.f32.f16 %f828, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f829, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f830, %rs86;} + + // inline asm + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd121, %r24, %r156, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f831, %f118, %f828; + add.f32 %f832, %f118, %f829; + add.f32 %f833, %f118, %f830; + // inline asm + { cvt.rn.f16.f32 %rs83, %f833;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f832;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f831;} + + // inline asm + st.v4.u16 [%rd126], {%rs81, %rs82, %rs83, %rs77}; + bra.uni BB0_135; + +BB0_94: + mov.u64 %rd139, image_RNM3; + cvta.global.u64 %rd134, %rd139; + mov.u32 %r158, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r24, %r158, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f118;} + + // inline asm + st.v4.u16 [%rd133], {%rs88, %rs88, %rs88, %rs77}; + +BB0_135: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx.meta new file mode 100644 index 00000000..bd71dcb4 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmCubemapLightSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1fa5e363fead2574dbbf74be61e38519 +timeCreated: 1537814797 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLight.ptx new file mode 100644 index 00000000..e9e733ee --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLight.ptx @@ -0,0 +1,1542 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<113>; + .reg .b16 %rs<76>; + .reg .f32 %f<756>; + .reg .b32 %r<167>; + .reg .b64 %rd<150>; + + + mov.u64 %rd149, __local_depot0; + cvta.local.u64 %SP, %rd149; + ld.global.v2.u32 {%r28, %r29}, [pixelID]; + cvt.u64.u32 %rd12, %r28; + cvt.u64.u32 %rd13, %r29; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r26, 2; + mov.u32 %r27, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r26, %r27, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r32, %r1, 16; + cvt.u16.u32 %rs1, %r32; + and.b16 %rs4, %rs1, 255; + cvt.u16.u32 %rs5, %r1; + or.b16 %rs6, %rs5, %rs4; + setp.eq.s16 %p6, %rs6, 0; + mov.f32 %f732, 0f00000000; + mov.f32 %f733, %f732; + mov.f32 %f734, %f732; + @%p6 bra BB0_2; + + ld.u8 %rs7, [%rd10+1]; + and.b16 %rs9, %rs5, 255; + cvt.rn.f32.u16 %f105, %rs9; + div.rn.f32 %f106, %f105, 0f437F0000; + fma.rn.f32 %f107, %f106, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f108, %rs7; + div.rn.f32 %f109, %f108, 0f437F0000; + fma.rn.f32 %f110, %f109, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f111, %rs4; + div.rn.f32 %f112, %f111, 0f437F0000; + fma.rn.f32 %f113, %f112, 0f40000000, 0fBF800000; + mul.f32 %f114, %f110, %f110; + fma.rn.f32 %f115, %f107, %f107, %f114; + fma.rn.f32 %f116, %f113, %f113, %f115; + sqrt.rn.f32 %f117, %f116; + rcp.rn.f32 %f118, %f117; + mul.f32 %f732, %f107, %f118; + mul.f32 %f733, %f110, %f118; + mul.f32 %f734, %f113, %f118; + +BB0_2: + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + ld.global.v2.u32 {%r36, %r37}, [tileInfo]; + add.s32 %r2, %r33, %r36; + add.s32 %r3, %r34, %r37; + setp.eq.f32 %p7, %f733, 0f00000000; + setp.eq.f32 %p8, %f732, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f734, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_85; + bra.uni BB0_3; + +BB0_85: + ld.global.u32 %r166, [imageEnabled]; + and.b32 %r141, %r166, 1; + setp.eq.b32 %p108, %r141, 1; + @!%p108 bra BB0_87; + bra.uni BB0_86; + +BB0_86: + cvt.u64.u32 %rd110, %r2; + cvt.u64.u32 %rd111, %r3; + mov.u64 %rd114, image; + cvta.global.u64 %rd109, %rd114; + // inline asm + call (%rd108), _rt_buffer_get_64, (%rd109, %r26, %r27, %rd110, %rd111, %rd15, %rd15); + // inline asm + mov.u16 %rs57, 0; + st.v4.u8 [%rd108], {%rs57, %rs57, %rs57, %rs57}; + ld.global.u32 %r166, [imageEnabled]; + +BB0_87: + and.b32 %r144, %r166, 8; + setp.eq.s32 %p109, %r144, 0; + @%p109 bra BB0_89; + + cvt.u64.u32 %rd117, %r2; + cvt.u64.u32 %rd118, %r3; + mov.u64 %rd121, image_Mask; + cvta.global.u64 %rd116, %rd121; + // inline asm + call (%rd115), _rt_buffer_get_64, (%rd116, %r26, %r26, %rd117, %rd118, %rd15, %rd15); + // inline asm + mov.f32 %f673, 0f00000000; + cvt.rzi.u32.f32 %r147, %f673; + cvt.u16.u32 %rs58, %r147; + mov.u16 %rs59, 0; + st.v2.u8 [%rd115], {%rs58, %rs59}; + ld.global.u32 %r166, [imageEnabled]; + +BB0_89: + and.b32 %r148, %r166, 4; + setp.eq.s32 %p110, %r148, 0; + @%p110 bra BB0_93; + + ld.global.u32 %r149, [additive]; + setp.eq.s32 %p111, %r149, 0; + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + @%p111 bra BB0_92; + + mov.u64 %rd134, image_HDR; + cvta.global.u64 %rd123, %rd134; + mov.u32 %r153, 8; + // inline asm + call (%rd122), _rt_buffer_get_64, (%rd123, %r26, %r153, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs66, %rs67, %rs68, %rs69}, [%rd122]; + // inline asm + { cvt.f32.f16 %f674, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f675, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f676, %rs68;} + + // inline asm + // inline asm + call (%rd128), _rt_buffer_get_64, (%rd123, %r26, %r153, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f677, %f674, 0f00000000; + add.f32 %f678, %f675, 0f00000000; + add.f32 %f679, %f676, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs65, %f679;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f678;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f677;} + + // inline asm + mov.u16 %rs70, 0; + st.v4.u16 [%rd128], {%rs63, %rs64, %rs65, %rs70}; + bra.uni BB0_93; + +BB0_3: + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd19, %r43; + cvt.u64.u32 %rd20, %r44; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r42, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r26, %r42, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f7, [lightPos]; + ld.f32 %f12, [%rd17+8]; + ld.f32 %f10, [%rd17+4]; + ld.f32 %f8, [%rd17]; + sub.f32 %f121, %f7, %f8; + ld.global.f32 %f9, [lightPos+4]; + sub.f32 %f122, %f9, %f10; + ld.global.f32 %f11, [lightPos+8]; + sub.f32 %f123, %f11, %f12; + mul.f32 %f124, %f122, %f122; + fma.rn.f32 %f125, %f121, %f121, %f124; + fma.rn.f32 %f126, %f123, %f123, %f125; + sqrt.rn.f32 %f127, %f126; + rcp.rn.f32 %f128, %f127; + ld.global.f32 %f129, [lightFalloffFakeDistanceMult]; + mul.f32 %f16, %f127, %f129; + ld.global.f32 %f130, [lightInvCutoff]; + mul.f32 %f17, %f127, %f130; + mov.f32 %f134, 0f40800000; + abs.f32 %f19, %f17; + setp.lt.f32 %p12, %f19, 0f00800000; + mul.f32 %f136, %f19, 0f4B800000; + selp.f32 %f137, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f138, %f136, %f19, %p12; + mov.b32 %r47, %f138; + and.b32 %r48, %r47, 8388607; + or.b32 %r49, %r48, 1065353216; + mov.b32 %f139, %r49; + shr.u32 %r50, %r47, 23; + cvt.rn.f32.u32 %f140, %r50; + add.f32 %f141, %f137, %f140; + setp.gt.f32 %p13, %f139, 0f3FB504F3; + mul.f32 %f142, %f139, 0f3F000000; + add.f32 %f143, %f141, 0f3F800000; + selp.f32 %f144, %f142, %f139, %p13; + selp.f32 %f145, %f143, %f141, %p13; + add.f32 %f146, %f144, 0fBF800000; + add.f32 %f120, %f144, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f119,%f120; + // inline asm + add.f32 %f147, %f146, %f146; + mul.f32 %f148, %f119, %f147; + mul.f32 %f149, %f148, %f148; + mov.f32 %f150, 0f3C4CAF63; + mov.f32 %f151, 0f3B18F0FE; + fma.rn.f32 %f152, %f151, %f149, %f150; + mov.f32 %f153, 0f3DAAAABD; + fma.rn.f32 %f154, %f152, %f149, %f153; + mul.rn.f32 %f155, %f154, %f149; + mul.rn.f32 %f156, %f155, %f148; + sub.f32 %f157, %f146, %f148; + neg.f32 %f158, %f148; + add.f32 %f159, %f157, %f157; + fma.rn.f32 %f160, %f158, %f146, %f159; + mul.rn.f32 %f161, %f119, %f160; + add.f32 %f162, %f156, %f148; + sub.f32 %f163, %f148, %f162; + add.f32 %f164, %f156, %f163; + add.f32 %f165, %f161, %f164; + add.f32 %f166, %f162, %f165; + sub.f32 %f167, %f162, %f166; + add.f32 %f168, %f165, %f167; + mov.f32 %f169, 0f3F317200; + mul.rn.f32 %f170, %f145, %f169; + mov.f32 %f171, 0f35BFBE8E; + mul.rn.f32 %f172, %f145, %f171; + add.f32 %f173, %f170, %f166; + sub.f32 %f174, %f170, %f173; + add.f32 %f175, %f166, %f174; + add.f32 %f176, %f168, %f175; + add.f32 %f177, %f172, %f176; + add.f32 %f178, %f173, %f177; + sub.f32 %f179, %f173, %f178; + add.f32 %f180, %f177, %f179; + mul.rn.f32 %f181, %f134, %f178; + neg.f32 %f182, %f181; + fma.rn.f32 %f183, %f134, %f178, %f182; + fma.rn.f32 %f184, %f134, %f180, %f183; + mov.f32 %f185, 0f00000000; + fma.rn.f32 %f186, %f185, %f178, %f184; + add.rn.f32 %f187, %f181, %f186; + neg.f32 %f188, %f187; + add.rn.f32 %f189, %f181, %f188; + add.rn.f32 %f190, %f189, %f186; + mov.b32 %r51, %f187; + setp.eq.s32 %p14, %r51, 1118925336; + add.s32 %r52, %r51, -1; + mov.b32 %f191, %r52; + add.f32 %f192, %f190, 0f37000000; + selp.f32 %f193, %f191, %f187, %p14; + selp.f32 %f20, %f192, %f190, %p14; + mul.f32 %f194, %f193, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f195, %f194; + mov.f32 %f196, 0fBF317200; + fma.rn.f32 %f197, %f195, %f196, %f193; + mov.f32 %f198, 0fB5BFBE8E; + fma.rn.f32 %f199, %f195, %f198, %f197; + mul.f32 %f200, %f199, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f201, %f200; + add.f32 %f202, %f195, 0f00000000; + ex2.approx.f32 %f203, %f202; + mul.f32 %f204, %f201, %f203; + setp.lt.f32 %p15, %f193, 0fC2D20000; + selp.f32 %f205, 0f00000000, %f204, %p15; + setp.gt.f32 %p16, %f193, 0f42D20000; + selp.f32 %f735, 0f7F800000, %f205, %p16; + setp.eq.f32 %p17, %f735, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f735, %f735, %f20, %f735; + +BB0_5: + mov.f32 %f686, 0f40000000; + cvt.rzi.f32.f32 %f685, %f686; + add.f32 %f684, %f685, %f685; + mov.f32 %f683, 0f40800000; + sub.f32 %f682, %f683, %f684; + abs.f32 %f681, %f682; + setp.lt.f32 %p18, %f17, 0f00000000; + setp.eq.f32 %p19, %f681, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r53, %f735; + xor.b32 %r54, %r53, -2147483648; + mov.b32 %f206, %r54; + selp.f32 %f737, %f206, %f735, %p1; + setp.eq.f32 %p20, %f17, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f209, %f17, %f17; + selp.f32 %f737, %f209, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f17, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f731, 0f40800000; + cvt.rzi.f32.f32 %f208, %f731; + setp.neu.f32 %p22, %f208, 0f40800000; + selp.f32 %f737, 0f7FFFFFFF, %f737, %p22; + +BB0_9: + abs.f32 %f687, %f17; + add.f32 %f210, %f687, 0f40800000; + mov.b32 %r55, %f210; + setp.lt.s32 %p24, %r55, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f729, %f17; + setp.gtu.f32 %p25, %f729, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f737, %f17, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f730, %f17; + setp.neu.f32 %p26, %f730, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f737, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + sub.f32 %f693, %f11, %f12; + mul.f32 %f692, %f693, %f128; + sub.f32 %f691, %f7, %f8; + mul.f32 %f690, %f691, %f128; + sub.f32 %f689, %f9, %f10; + mul.f32 %f688, %f689, %f128; + mov.f32 %f743, 0f3F800000; + sub.f32 %f212, %f743, %f737; + setp.eq.f32 %p27, %f17, 0f3F800000; + selp.f32 %f213, 0f00000000, %f212, %p27; + cvt.sat.f32.f32 %f214, %f213; + ld.global.f32 %f215, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f216, %f16, %f16, %f215; + div.rn.f32 %f217, %f214, %f216; + mul.f32 %f218, %f733, %f688; + fma.rn.f32 %f219, %f732, %f690, %f218; + fma.rn.f32 %f220, %f734, %f692, %f219; + ld.global.u32 %r164, [imageEnabled]; + and.b32 %r56, %r164, 32; + ld.global.u32 %r57, [ignoreNormal]; + or.b32 %r58, %r56, %r57; + setp.eq.s32 %p28, %r58, 0; + selp.f32 %f221, %f220, 0f3F800000, %p28; + cvt.sat.f32.f32 %f222, %f221; + mul.f32 %f31, %f217, %f222; + ld.global.f32 %f223, [lightColor+4]; + ld.global.f32 %f224, [lightColor]; + max.f32 %f225, %f224, %f223; + ld.global.f32 %f226, [lightColor+8]; + max.f32 %f227, %f225, %f226; + mul.f32 %f228, %f31, %f227; + setp.lt.f32 %p29, %f228, 0f3727C5AC; + @%p29 bra BB0_75; + bra.uni BB0_15; + +BB0_75: + and.b32 %r124, %r164, 1; + setp.eq.b32 %p103, %r124, 1; + @!%p103 bra BB0_77; + bra.uni BB0_76; + +BB0_76: + cvt.u64.u32 %rd69, %r2; + cvt.u64.u32 %rd70, %r3; + mov.u64 %rd73, image; + cvta.global.u64 %rd68, %rd73; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r26, %r27, %rd69, %rd70, %rd15, %rd15); + // inline asm + mov.u16 %rs37, 1; + mov.u16 %rs38, 0; + st.v4.u8 [%rd67], {%rs38, %rs38, %rs38, %rs37}; + ld.global.u32 %r164, [imageEnabled]; + +BB0_77: + and.b32 %r127, %r164, 8; + setp.eq.s32 %p104, %r127, 0; + @%p104 bra BB0_79; + + cvt.u64.u32 %rd76, %r2; + cvt.u64.u32 %rd77, %r3; + mov.u64 %rd80, image_Mask; + cvta.global.u64 %rd75, %rd80; + // inline asm + call (%rd74), _rt_buffer_get_64, (%rd75, %r26, %r26, %rd76, %rd77, %rd15, %rd15); + // inline asm + mov.f32 %f662, 0f00000000; + cvt.rzi.u32.f32 %r130, %f662; + cvt.u16.u32 %rs39, %r130; + mov.u16 %rs40, 255; + st.v2.u8 [%rd74], {%rs39, %rs40}; + ld.global.u32 %r164, [imageEnabled]; + +BB0_79: + and.b32 %r131, %r164, 4; + setp.eq.s32 %p105, %r131, 0; + @%p105 bra BB0_83; + + ld.global.u32 %r132, [additive]; + setp.eq.s32 %p106, %r132, 0; + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + mov.f32 %f663, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs41, %f663;} + + // inline asm + @%p106 bra BB0_82; + + mov.u64 %rd93, image_HDR; + cvta.global.u64 %rd82, %rd93; + mov.u32 %r136, 8; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd82, %r26, %r136, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs48, %rs49, %rs50, %rs51}, [%rd81]; + // inline asm + { cvt.f32.f16 %f664, %rs48;} + + // inline asm + // inline asm + { cvt.f32.f16 %f665, %rs49;} + + // inline asm + // inline asm + { cvt.f32.f16 %f666, %rs50;} + + // inline asm + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd82, %r26, %r136, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f667, %f664, 0f00000000; + add.f32 %f668, %f665, 0f00000000; + add.f32 %f669, %f666, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs47, %f669;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f668;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f667;} + + // inline asm + st.v4.u16 [%rd87], {%rs45, %rs46, %rs47, %rs41}; + bra.uni BB0_83; + +BB0_15: + mov.f32 %f741, 0f00000000; + mul.f32 %f230, %f8, 0f3456BF95; + abs.f32 %f231, %f732; + div.rn.f32 %f232, %f230, %f231; + abs.f32 %f233, %f733; + mul.f32 %f234, %f10, 0f3456BF95; + div.rn.f32 %f235, %f234, %f233; + abs.f32 %f236, %f734; + mul.f32 %f237, %f12, 0f3456BF95; + div.rn.f32 %f238, %f237, %f236; + abs.f32 %f239, %f232; + abs.f32 %f240, %f235; + abs.f32 %f241, %f238; + mov.f32 %f242, 0f38D1B717; + max.f32 %f243, %f239, %f242; + max.f32 %f244, %f240, %f242; + max.f32 %f245, %f241, %f242; + fma.rn.f32 %f32, %f732, %f243, %f8; + fma.rn.f32 %f33, %f733, %f244, %f10; + fma.rn.f32 %f34, %f734, %f245, %f12; + ld.global.u32 %r160, [samples]; + setp.lt.s32 %p30, %r160, 1; + @%p30 bra BB0_18; + + mul.f32 %f247, %f32, 0f3456BF95; + abs.f32 %f248, %f247; + mul.f32 %f249, %f33, 0f3456BF95; + abs.f32 %f250, %f249; + mul.f32 %f251, %f34, 0f3456BF95; + abs.f32 %f252, %f251; + max.f32 %f253, %f248, %f250; + max.f32 %f254, %f253, %f252; + max.f32 %f35, %f254, %f242; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f741, 0f00000000; + mov.u32 %r159, 0; + mov.f32 %f738, %f11; + mov.f32 %f739, %f9; + mov.f32 %f740, %f7; + bra.uni BB0_17; + +BB0_74: + ld.global.f32 %f740, [lightPos]; + ld.global.f32 %f739, [lightPos+4]; + ld.global.f32 %f738, [lightPos+8]; + ld.global.u32 %r164, [imageEnabled]; + +BB0_17: + cvt.rn.f32.s32 %f264, %r159; + mul.f32 %f265, %f264, 0f3DD32618; + cvt.rmi.f32.f32 %f266, %f265; + sub.f32 %f267, %f265, %f266; + mul.f32 %f268, %f264, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f269, %f268; + sub.f32 %f270, %f268, %f269; + mul.f32 %f271, %f264, 0f3DC74539; + cvt.rmi.f32.f32 %f272, %f271; + sub.f32 %f273, %f271, %f272; + add.f32 %f274, %f270, 0f4199851F; + add.f32 %f275, %f273, 0f4199851F; + add.f32 %f276, %f267, 0f4199851F; + mul.f32 %f277, %f270, %f275; + fma.rn.f32 %f278, %f267, %f274, %f277; + fma.rn.f32 %f279, %f276, %f273, %f278; + add.f32 %f280, %f267, %f279; + add.f32 %f281, %f270, %f279; + add.f32 %f282, %f273, %f279; + add.f32 %f283, %f280, %f281; + mul.f32 %f284, %f282, %f283; + cvt.rmi.f32.f32 %f285, %f284; + sub.f32 %f286, %f284, %f285; + add.f32 %f287, %f280, %f282; + mul.f32 %f288, %f281, %f287; + cvt.rmi.f32.f32 %f289, %f288; + sub.f32 %f290, %f288, %f289; + add.f32 %f291, %f281, %f282; + mul.f32 %f292, %f280, %f291; + cvt.rmi.f32.f32 %f293, %f292; + sub.f32 %f294, %f292, %f293; + fma.rn.f32 %f295, %f286, 0f40000000, 0fBF800000; + fma.rn.f32 %f296, %f290, 0f40000000, 0fBF800000; + fma.rn.f32 %f297, %f294, 0f40000000, 0fBF800000; + ld.global.f32 %f298, [lightRadius]; + fma.rn.f32 %f299, %f298, %f295, %f740; + fma.rn.f32 %f300, %f298, %f296, %f739; + fma.rn.f32 %f301, %f298, %f297, %f738; + sub.f32 %f302, %f299, %f8; + sub.f32 %f303, %f300, %f10; + sub.f32 %f304, %f301, %f12; + mul.f32 %f305, %f303, %f303; + fma.rn.f32 %f306, %f302, %f302, %f305; + fma.rn.f32 %f307, %f304, %f304, %f306; + sqrt.rn.f32 %f263, %f307; + rcp.rn.f32 %f308, %f263; + mul.f32 %f259, %f308, %f302; + mul.f32 %f260, %f308, %f303; + mul.f32 %f261, %f308, %f304; + and.b32 %r63, %r164, 32; + setp.eq.s32 %p31, %r63, 0; + selp.f32 %f309, 0f3F800000, 0f41200000, %p31; + mul.f32 %f262, %f309, %f35; + mov.u32 %r64, 1065353216; + st.local.u32 [%rd2], %r64; + ld.global.u32 %r60, [root]; + mov.u32 %r61, 1; + // inline asm + call _rt_trace_64, (%r60, %f32, %f33, %f34, %f259, %f260, %f261, %r61, %f262, %f263, %rd24, %r27); + // inline asm + ld.local.f32 %f310, [%rd2]; + add.f32 %f741, %f741, %f310; + ld.global.u32 %r160, [samples]; + add.s32 %r159, %r159, 1; + setp.lt.s32 %p32, %r159, %r160; + @%p32 bra BB0_74; + +BB0_18: + setp.eq.s32 %p33, %r160, 0; + @%p33 bra BB0_20; + + cvt.rn.f32.s32 %f312, %r160; + div.rn.f32 %f743, %f741, %f312; + +BB0_20: + ld.global.f32 %f313, [lightColor]; + mul.f32 %f314, %f31, %f743; + mul.f32 %f44, %f313, %f314; + ld.global.f32 %f315, [lightColor+4]; + mul.f32 %f45, %f314, %f315; + ld.global.f32 %f316, [lightColor+8]; + mul.f32 %f46, %f314, %f316; + ld.global.u32 %r162, [imageEnabled]; + and.b32 %r65, %r162, 8; + setp.eq.s32 %p34, %r65, 0; + @%p34 bra BB0_33; + + mov.f32 %f701, 0fB5BFBE8E; + mov.f32 %f700, 0fBF317200; + mov.f32 %f699, 0f35BFBE8E; + mov.f32 %f698, 0f3F317200; + mov.f32 %f697, 0f3DAAAABD; + mov.f32 %f696, 0f3C4CAF63; + mov.f32 %f695, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r26, %r26, %rd28, %rd29, %rd15, %rd15); + // inline asm + mov.f32 %f319, 0f3E68BA2E; + cvt.rzi.f32.f32 %f320, %f319; + fma.rn.f32 %f321, %f320, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f47, %f321; + abs.f32 %f48, %f743; + setp.lt.f32 %p35, %f48, 0f00800000; + mul.f32 %f322, %f48, 0f4B800000; + selp.f32 %f323, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f324, %f322, %f48, %p35; + mov.b32 %r68, %f324; + and.b32 %r69, %r68, 8388607; + or.b32 %r70, %r69, 1065353216; + mov.b32 %f325, %r70; + shr.u32 %r71, %r68, 23; + cvt.rn.f32.u32 %f326, %r71; + add.f32 %f327, %f323, %f326; + setp.gt.f32 %p36, %f325, 0f3FB504F3; + mul.f32 %f328, %f325, 0f3F000000; + add.f32 %f329, %f327, 0f3F800000; + selp.f32 %f330, %f328, %f325, %p36; + selp.f32 %f331, %f329, %f327, %p36; + add.f32 %f332, %f330, 0fBF800000; + add.f32 %f318, %f330, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f317,%f318; + // inline asm + add.f32 %f333, %f332, %f332; + mul.f32 %f334, %f317, %f333; + mul.f32 %f335, %f334, %f334; + fma.rn.f32 %f338, %f695, %f335, %f696; + fma.rn.f32 %f340, %f338, %f335, %f697; + mul.rn.f32 %f341, %f340, %f335; + mul.rn.f32 %f342, %f341, %f334; + sub.f32 %f343, %f332, %f334; + neg.f32 %f344, %f334; + add.f32 %f345, %f343, %f343; + fma.rn.f32 %f346, %f344, %f332, %f345; + mul.rn.f32 %f347, %f317, %f346; + add.f32 %f348, %f342, %f334; + sub.f32 %f349, %f334, %f348; + add.f32 %f350, %f342, %f349; + add.f32 %f351, %f347, %f350; + add.f32 %f352, %f348, %f351; + sub.f32 %f353, %f348, %f352; + add.f32 %f354, %f351, %f353; + mul.rn.f32 %f356, %f331, %f698; + mul.rn.f32 %f358, %f331, %f699; + add.f32 %f359, %f356, %f352; + sub.f32 %f360, %f356, %f359; + add.f32 %f361, %f352, %f360; + add.f32 %f362, %f354, %f361; + add.f32 %f363, %f358, %f362; + add.f32 %f364, %f359, %f363; + sub.f32 %f365, %f359, %f364; + add.f32 %f366, %f363, %f365; + mov.f32 %f367, 0f3EE8BA2E; + mul.rn.f32 %f368, %f367, %f364; + neg.f32 %f369, %f368; + fma.rn.f32 %f370, %f367, %f364, %f369; + fma.rn.f32 %f371, %f367, %f366, %f370; + mov.f32 %f372, 0f00000000; + fma.rn.f32 %f373, %f372, %f364, %f371; + add.rn.f32 %f374, %f368, %f373; + neg.f32 %f375, %f374; + add.rn.f32 %f376, %f368, %f375; + add.rn.f32 %f377, %f376, %f373; + mov.b32 %r72, %f374; + setp.eq.s32 %p37, %r72, 1118925336; + add.s32 %r73, %r72, -1; + mov.b32 %f378, %r73; + add.f32 %f379, %f377, 0f37000000; + selp.f32 %f380, %f378, %f374, %p37; + selp.f32 %f49, %f379, %f377, %p37; + mul.f32 %f381, %f380, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f382, %f381; + fma.rn.f32 %f384, %f382, %f700, %f380; + fma.rn.f32 %f386, %f382, %f701, %f384; + mul.f32 %f387, %f386, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f388, %f387; + add.f32 %f389, %f382, 0f00000000; + ex2.approx.f32 %f390, %f389; + mul.f32 %f391, %f388, %f390; + setp.lt.f32 %p38, %f380, 0fC2D20000; + selp.f32 %f392, 0f00000000, %f391, %p38; + setp.gt.f32 %p39, %f380, 0f42D20000; + selp.f32 %f744, 0f7F800000, %f392, %p39; + setp.eq.f32 %p40, %f744, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f744, %f744, %f49, %f744; + +BB0_23: + setp.lt.f32 %p41, %f743, 0f00000000; + setp.eq.f32 %p42, %f47, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r74, %f744; + xor.b32 %r75, %r74, -2147483648; + mov.b32 %f393, %r75; + selp.f32 %f746, %f393, %f744, %p2; + setp.eq.f32 %p43, %f743, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f396, %f743, %f743; + selp.f32 %f746, %f396, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_92: + mov.u64 %rd141, image_HDR; + cvta.global.u64 %rd136, %rd141; + mov.u32 %r155, 8; + // inline asm + call (%rd135), _rt_buffer_get_64, (%rd136, %r26, %r155, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f680, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs71, %f680;} + + // inline asm + mov.u16 %rs72, 0; + st.v4.u16 [%rd135], {%rs71, %rs71, %rs71, %rs72}; + +BB0_93: + ld.global.u8 %rs73, [imageEnabled]; + and.b16 %rs74, %rs73, 64; + setp.eq.s16 %p112, %rs74, 0; + @%p112 bra BB0_95; + + cvt.u64.u32 %rd144, %r2; + cvt.u64.u32 %rd145, %r3; + mov.u64 %rd148, image_Dir; + cvta.global.u64 %rd143, %rd148; + // inline asm + call (%rd142), _rt_buffer_get_64, (%rd143, %r26, %r27, %rd144, %rd145, %rd15, %rd15); + // inline asm + mov.u16 %rs75, 0; + st.v4.u8 [%rd142], {%rs75, %rs75, %rs75, %rs75}; + bra.uni BB0_95; + +BB0_82: + mov.u64 %rd100, image_HDR; + cvta.global.u64 %rd95, %rd100; + mov.u32 %r138, 8; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r26, %r138, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f670, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs52, %f670;} + + // inline asm + st.v4.u16 [%rd94], {%rs52, %rs52, %rs52, %rs41}; + +BB0_83: + ld.global.u8 %rs53, [imageEnabled]; + and.b16 %rs54, %rs53, 64; + setp.eq.s16 %p107, %rs54, 0; + @%p107 bra BB0_95; + + cvt.u64.u32 %rd103, %r2; + cvt.u64.u32 %rd104, %r3; + mov.u64 %rd107, image_Dir; + cvta.global.u64 %rd102, %rd107; + // inline asm + call (%rd101), _rt_buffer_get_64, (%rd102, %r26, %r27, %rd103, %rd104, %rd15, %rd15); + // inline asm + mov.u16 %rs55, 255; + mov.u16 %rs56, 0; + st.v4.u8 [%rd101], {%rs56, %rs56, %rs56, %rs55}; + bra.uni BB0_95; + +BB0_24: + setp.geu.f32 %p44, %f743, 0f00000000; + @%p44 bra BB0_27; + + cvt.rzi.f32.f32 %f395, %f367; + setp.neu.f32 %p45, %f395, 0f3EE8BA2E; + selp.f32 %f746, 0f7FFFFFFF, %f746, %p45; + +BB0_27: + add.f32 %f397, %f48, 0f3EE8BA2E; + mov.b32 %r76, %f397; + setp.lt.s32 %p47, %r76, 2139095040; + @%p47 bra BB0_32; + + setp.gtu.f32 %p48, %f48, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f746, %f743, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + setp.neu.f32 %p49, %f48, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f746, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f398, %f746, 0f437F0000; + setp.eq.f32 %p50, %f743, 0f3F800000; + selp.f32 %f399, 0f437F0000, %f398, %p50; + cvt.rzi.u32.f32 %r77, %f399; + cvt.u16.u32 %rs11, %r77; + mov.u16 %rs12, 255; + st.v2.u8 [%rd26], {%rs11, %rs12}; + ld.global.u32 %r162, [imageEnabled]; + +BB0_33: + and.b32 %r78, %r162, 1; + setp.eq.b32 %p51, %r78, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f708, 0fB5BFBE8E; + mov.f32 %f707, 0fBF317200; + mov.f32 %f706, 0f35BFBE8E; + mov.f32 %f705, 0f3F317200; + mov.f32 %f704, 0f3DAAAABD; + mov.f32 %f703, 0f3C4CAF63; + mov.f32 %f702, 0f3B18F0FE; + mov.f32 %f402, 0f3E666666; + cvt.rzi.f32.f32 %f403, %f402; + fma.rn.f32 %f404, %f403, 0fC0000000, 0f3EE66666; + abs.f32 %f60, %f404; + abs.f32 %f61, %f44; + setp.lt.f32 %p52, %f61, 0f00800000; + mul.f32 %f405, %f61, 0f4B800000; + selp.f32 %f406, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f407, %f405, %f61, %p52; + mov.b32 %r79, %f407; + and.b32 %r80, %r79, 8388607; + or.b32 %r81, %r80, 1065353216; + mov.b32 %f408, %r81; + shr.u32 %r82, %r79, 23; + cvt.rn.f32.u32 %f409, %r82; + add.f32 %f410, %f406, %f409; + setp.gt.f32 %p53, %f408, 0f3FB504F3; + mul.f32 %f411, %f408, 0f3F000000; + add.f32 %f412, %f410, 0f3F800000; + selp.f32 %f413, %f411, %f408, %p53; + selp.f32 %f414, %f412, %f410, %p53; + add.f32 %f415, %f413, 0fBF800000; + add.f32 %f401, %f413, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f400,%f401; + // inline asm + add.f32 %f416, %f415, %f415; + mul.f32 %f417, %f400, %f416; + mul.f32 %f418, %f417, %f417; + fma.rn.f32 %f421, %f702, %f418, %f703; + fma.rn.f32 %f423, %f421, %f418, %f704; + mul.rn.f32 %f424, %f423, %f418; + mul.rn.f32 %f425, %f424, %f417; + sub.f32 %f426, %f415, %f417; + neg.f32 %f427, %f417; + add.f32 %f428, %f426, %f426; + fma.rn.f32 %f429, %f427, %f415, %f428; + mul.rn.f32 %f430, %f400, %f429; + add.f32 %f431, %f425, %f417; + sub.f32 %f432, %f417, %f431; + add.f32 %f433, %f425, %f432; + add.f32 %f434, %f430, %f433; + add.f32 %f435, %f431, %f434; + sub.f32 %f436, %f431, %f435; + add.f32 %f437, %f434, %f436; + mul.rn.f32 %f439, %f414, %f705; + mul.rn.f32 %f441, %f414, %f706; + add.f32 %f442, %f439, %f435; + sub.f32 %f443, %f439, %f442; + add.f32 %f444, %f435, %f443; + add.f32 %f445, %f437, %f444; + add.f32 %f446, %f441, %f445; + add.f32 %f447, %f442, %f446; + sub.f32 %f448, %f442, %f447; + add.f32 %f449, %f446, %f448; + mov.f32 %f450, 0f3EE66666; + mul.rn.f32 %f451, %f450, %f447; + neg.f32 %f452, %f451; + fma.rn.f32 %f453, %f450, %f447, %f452; + fma.rn.f32 %f454, %f450, %f449, %f453; + mov.f32 %f455, 0f00000000; + fma.rn.f32 %f456, %f455, %f447, %f454; + add.rn.f32 %f457, %f451, %f456; + neg.f32 %f458, %f457; + add.rn.f32 %f459, %f451, %f458; + add.rn.f32 %f460, %f459, %f456; + mov.b32 %r83, %f457; + setp.eq.s32 %p54, %r83, 1118925336; + add.s32 %r84, %r83, -1; + mov.b32 %f461, %r84; + add.f32 %f462, %f460, 0f37000000; + selp.f32 %f463, %f461, %f457, %p54; + selp.f32 %f62, %f462, %f460, %p54; + mul.f32 %f464, %f463, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f465, %f464; + fma.rn.f32 %f467, %f465, %f707, %f463; + fma.rn.f32 %f469, %f465, %f708, %f467; + mul.f32 %f470, %f469, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f471, %f470; + add.f32 %f472, %f465, 0f00000000; + ex2.approx.f32 %f473, %f472; + mul.f32 %f474, %f471, %f473; + setp.lt.f32 %p55, %f463, 0fC2D20000; + selp.f32 %f475, 0f00000000, %f474, %p55; + setp.gt.f32 %p56, %f463, 0f42D20000; + selp.f32 %f747, 0f7F800000, %f475, %p56; + setp.eq.f32 %p57, %f747, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f747, %f747, %f62, %f747; + +BB0_36: + setp.lt.f32 %p58, %f44, 0f00000000; + setp.eq.f32 %p59, %f60, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r85, %f747; + xor.b32 %r86, %r85, -2147483648; + mov.b32 %f476, %r86; + selp.f32 %f749, %f476, %f747, %p3; + setp.eq.f32 %p60, %f44, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f479, %f44, %f44; + selp.f32 %f749, %f479, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f44, 0f00000000; + @%p61 bra BB0_40; + + cvt.rzi.f32.f32 %f478, %f450; + setp.neu.f32 %p62, %f478, 0f3EE66666; + selp.f32 %f749, 0f7FFFFFFF, %f749, %p62; + +BB0_40: + add.f32 %f480, %f61, 0f3EE66666; + mov.b32 %r87, %f480; + setp.lt.s32 %p64, %r87, 2139095040; + @%p64 bra BB0_45; + + setp.gtu.f32 %p65, %f61, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f749, %f44, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p66, %f61, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f749, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f715, 0fB5BFBE8E; + mov.f32 %f714, 0fBF317200; + mov.f32 %f713, 0f35BFBE8E; + mov.f32 %f712, 0f3F317200; + mov.f32 %f711, 0f3DAAAABD; + mov.f32 %f710, 0f3C4CAF63; + mov.f32 %f709, 0f3B18F0FE; + setp.eq.f32 %p67, %f44, 0f3F800000; + selp.f32 %f73, 0f3F800000, %f749, %p67; + abs.f32 %f74, %f45; + setp.lt.f32 %p68, %f74, 0f00800000; + mul.f32 %f483, %f74, 0f4B800000; + selp.f32 %f484, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f485, %f483, %f74, %p68; + mov.b32 %r88, %f485; + and.b32 %r89, %r88, 8388607; + or.b32 %r90, %r89, 1065353216; + mov.b32 %f486, %r90; + shr.u32 %r91, %r88, 23; + cvt.rn.f32.u32 %f487, %r91; + add.f32 %f488, %f484, %f487; + setp.gt.f32 %p69, %f486, 0f3FB504F3; + mul.f32 %f489, %f486, 0f3F000000; + add.f32 %f490, %f488, 0f3F800000; + selp.f32 %f491, %f489, %f486, %p69; + selp.f32 %f492, %f490, %f488, %p69; + add.f32 %f493, %f491, 0fBF800000; + add.f32 %f482, %f491, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f481,%f482; + // inline asm + add.f32 %f494, %f493, %f493; + mul.f32 %f495, %f481, %f494; + mul.f32 %f496, %f495, %f495; + fma.rn.f32 %f499, %f709, %f496, %f710; + fma.rn.f32 %f501, %f499, %f496, %f711; + mul.rn.f32 %f502, %f501, %f496; + mul.rn.f32 %f503, %f502, %f495; + sub.f32 %f504, %f493, %f495; + neg.f32 %f505, %f495; + add.f32 %f506, %f504, %f504; + fma.rn.f32 %f507, %f505, %f493, %f506; + mul.rn.f32 %f508, %f481, %f507; + add.f32 %f509, %f503, %f495; + sub.f32 %f510, %f495, %f509; + add.f32 %f511, %f503, %f510; + add.f32 %f512, %f508, %f511; + add.f32 %f513, %f509, %f512; + sub.f32 %f514, %f509, %f513; + add.f32 %f515, %f512, %f514; + mul.rn.f32 %f517, %f492, %f712; + mul.rn.f32 %f519, %f492, %f713; + add.f32 %f520, %f517, %f513; + sub.f32 %f521, %f517, %f520; + add.f32 %f522, %f513, %f521; + add.f32 %f523, %f515, %f522; + add.f32 %f524, %f519, %f523; + add.f32 %f525, %f520, %f524; + sub.f32 %f526, %f520, %f525; + add.f32 %f527, %f524, %f526; + mul.rn.f32 %f529, %f450, %f525; + neg.f32 %f530, %f529; + fma.rn.f32 %f531, %f450, %f525, %f530; + fma.rn.f32 %f532, %f450, %f527, %f531; + fma.rn.f32 %f534, %f455, %f525, %f532; + add.rn.f32 %f535, %f529, %f534; + neg.f32 %f536, %f535; + add.rn.f32 %f537, %f529, %f536; + add.rn.f32 %f538, %f537, %f534; + mov.b32 %r92, %f535; + setp.eq.s32 %p70, %r92, 1118925336; + add.s32 %r93, %r92, -1; + mov.b32 %f539, %r93; + add.f32 %f540, %f538, 0f37000000; + selp.f32 %f541, %f539, %f535, %p70; + selp.f32 %f75, %f540, %f538, %p70; + mul.f32 %f542, %f541, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f543, %f542; + fma.rn.f32 %f545, %f543, %f714, %f541; + fma.rn.f32 %f547, %f543, %f715, %f545; + mul.f32 %f548, %f547, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f549, %f548; + add.f32 %f550, %f543, 0f00000000; + ex2.approx.f32 %f551, %f550; + mul.f32 %f552, %f549, %f551; + setp.lt.f32 %p71, %f541, 0fC2D20000; + selp.f32 %f553, 0f00000000, %f552, %p71; + setp.gt.f32 %p72, %f541, 0f42D20000; + selp.f32 %f750, 0f7F800000, %f553, %p72; + setp.eq.f32 %p73, %f750, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f750, %f750, %f75, %f750; + +BB0_47: + setp.lt.f32 %p74, %f45, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r94, %f750; + xor.b32 %r95, %r94, -2147483648; + mov.b32 %f554, %r95; + selp.f32 %f752, %f554, %f750, %p4; + setp.eq.f32 %p76, %f45, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f557, %f45, %f45; + selp.f32 %f752, %f557, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f45, 0f00000000; + @%p77 bra BB0_51; + + cvt.rzi.f32.f32 %f556, %f450; + setp.neu.f32 %p78, %f556, 0f3EE66666; + selp.f32 %f752, 0f7FFFFFFF, %f752, %p78; + +BB0_51: + add.f32 %f558, %f74, 0f3EE66666; + mov.b32 %r96, %f558; + setp.lt.s32 %p80, %r96, 2139095040; + @%p80 bra BB0_56; + + setp.gtu.f32 %p81, %f74, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f752, %f45, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p82, %f74, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f752, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f722, 0fB5BFBE8E; + mov.f32 %f721, 0fBF317200; + mov.f32 %f720, 0f35BFBE8E; + mov.f32 %f719, 0f3F317200; + mov.f32 %f718, 0f3DAAAABD; + mov.f32 %f717, 0f3C4CAF63; + mov.f32 %f716, 0f3B18F0FE; + setp.eq.f32 %p83, %f45, 0f3F800000; + selp.f32 %f86, 0f3F800000, %f752, %p83; + abs.f32 %f87, %f46; + setp.lt.f32 %p84, %f87, 0f00800000; + mul.f32 %f561, %f87, 0f4B800000; + selp.f32 %f562, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f563, %f561, %f87, %p84; + mov.b32 %r97, %f563; + and.b32 %r98, %r97, 8388607; + or.b32 %r99, %r98, 1065353216; + mov.b32 %f564, %r99; + shr.u32 %r100, %r97, 23; + cvt.rn.f32.u32 %f565, %r100; + add.f32 %f566, %f562, %f565; + setp.gt.f32 %p85, %f564, 0f3FB504F3; + mul.f32 %f567, %f564, 0f3F000000; + add.f32 %f568, %f566, 0f3F800000; + selp.f32 %f569, %f567, %f564, %p85; + selp.f32 %f570, %f568, %f566, %p85; + add.f32 %f571, %f569, 0fBF800000; + add.f32 %f560, %f569, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f559,%f560; + // inline asm + add.f32 %f572, %f571, %f571; + mul.f32 %f573, %f559, %f572; + mul.f32 %f574, %f573, %f573; + fma.rn.f32 %f577, %f716, %f574, %f717; + fma.rn.f32 %f579, %f577, %f574, %f718; + mul.rn.f32 %f580, %f579, %f574; + mul.rn.f32 %f581, %f580, %f573; + sub.f32 %f582, %f571, %f573; + neg.f32 %f583, %f573; + add.f32 %f584, %f582, %f582; + fma.rn.f32 %f585, %f583, %f571, %f584; + mul.rn.f32 %f586, %f559, %f585; + add.f32 %f587, %f581, %f573; + sub.f32 %f588, %f573, %f587; + add.f32 %f589, %f581, %f588; + add.f32 %f590, %f586, %f589; + add.f32 %f591, %f587, %f590; + sub.f32 %f592, %f587, %f591; + add.f32 %f593, %f590, %f592; + mul.rn.f32 %f595, %f570, %f719; + mul.rn.f32 %f597, %f570, %f720; + add.f32 %f598, %f595, %f591; + sub.f32 %f599, %f595, %f598; + add.f32 %f600, %f591, %f599; + add.f32 %f601, %f593, %f600; + add.f32 %f602, %f597, %f601; + add.f32 %f603, %f598, %f602; + sub.f32 %f604, %f598, %f603; + add.f32 %f605, %f602, %f604; + mul.rn.f32 %f607, %f450, %f603; + neg.f32 %f608, %f607; + fma.rn.f32 %f609, %f450, %f603, %f608; + fma.rn.f32 %f610, %f450, %f605, %f609; + fma.rn.f32 %f612, %f455, %f603, %f610; + add.rn.f32 %f613, %f607, %f612; + neg.f32 %f614, %f613; + add.rn.f32 %f615, %f607, %f614; + add.rn.f32 %f616, %f615, %f612; + mov.b32 %r101, %f613; + setp.eq.s32 %p86, %r101, 1118925336; + add.s32 %r102, %r101, -1; + mov.b32 %f617, %r102; + add.f32 %f618, %f616, 0f37000000; + selp.f32 %f619, %f617, %f613, %p86; + selp.f32 %f88, %f618, %f616, %p86; + mul.f32 %f620, %f619, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f621, %f620; + fma.rn.f32 %f623, %f621, %f721, %f619; + fma.rn.f32 %f625, %f621, %f722, %f623; + mul.f32 %f626, %f625, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f627, %f626; + add.f32 %f628, %f621, 0f00000000; + ex2.approx.f32 %f629, %f628; + mul.f32 %f630, %f627, %f629; + setp.lt.f32 %p87, %f619, 0fC2D20000; + selp.f32 %f631, 0f00000000, %f630, %p87; + setp.gt.f32 %p88, %f619, 0f42D20000; + selp.f32 %f753, 0f7F800000, %f631, %p88; + setp.eq.f32 %p89, %f753, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f753, %f753, %f88, %f753; + +BB0_58: + setp.lt.f32 %p90, %f46, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r103, %f753; + xor.b32 %r104, %r103, -2147483648; + mov.b32 %f632, %r104; + selp.f32 %f755, %f632, %f753, %p5; + setp.eq.f32 %p92, %f46, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f635, %f46, %f46; + selp.f32 %f755, %f635, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f46, 0f00000000; + @%p93 bra BB0_62; + + cvt.rzi.f32.f32 %f634, %f450; + setp.neu.f32 %p94, %f634, 0f3EE66666; + selp.f32 %f755, 0f7FFFFFFF, %f755, %p94; + +BB0_62: + add.f32 %f636, %f87, 0f3EE66666; + mov.b32 %r105, %f636; + setp.lt.s32 %p96, %r105, 2139095040; + @%p96 bra BB0_67; + + setp.gtu.f32 %p97, %f87, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f755, %f46, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p98, %f87, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f755, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p99, %f46, 0f3F800000; + selp.f32 %f637, 0f3F800000, %f755, %p99; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r26, %r27, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f638, %f637; + mul.f32 %f639, %f638, 0f437FFD71; + cvt.rzi.u32.f32 %r108, %f639; + cvt.sat.f32.f32 %f640, %f86; + mul.f32 %f641, %f640, 0f437FFD71; + cvt.rzi.u32.f32 %r109, %f641; + cvt.sat.f32.f32 %f642, %f73; + mul.f32 %f643, %f642, 0f437FFD71; + cvt.rzi.u32.f32 %r110, %f643; + cvt.u16.u32 %rs13, %r108; + cvt.u16.u32 %rs14, %r110; + cvt.u16.u32 %rs15, %r109; + mov.u16 %rs16, 255; + st.v4.u8 [%rd33], {%rs13, %rs15, %rs14, %rs16}; + ld.global.u32 %r162, [imageEnabled]; + +BB0_68: + and.b32 %r111, %r162, 4; + setp.eq.s32 %p100, %r111, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r112, [additive]; + setp.eq.s32 %p101, %r112, 0; + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + mov.f32 %f644, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs17, %f644;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r116, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r26, %r116, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs24, %rs25, %rs26, %rs27}, [%rd40]; + // inline asm + { cvt.f32.f16 %f645, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f646, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f647, %rs26;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r26, %r116, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f648, %f44, %f645; + add.f32 %f649, %f45, %f646; + add.f32 %f650, %f46, %f647; + // inline asm + { cvt.rn.f16.f32 %rs23, %f650;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f649;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f648;} + + // inline asm + st.v4.u16 [%rd46], {%rs21, %rs22, %rs23, %rs17}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r118, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r26, %r118, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f46;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f45;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f44;} + + // inline asm + st.v4.u16 [%rd53], {%rs28, %rs29, %rs30, %rs17}; + +BB0_72: + ld.global.u8 %rs31, [imageEnabled]; + and.b16 %rs32, %rs31, 64; + setp.eq.s16 %p102, %rs32, 0; + @%p102 bra BB0_95; + + sub.f32 %f728, %f11, %f12; + mul.f32 %f727, %f728, %f128; + sub.f32 %f726, %f7, %f8; + mul.f32 %f725, %f726, %f128; + sub.f32 %f724, %f9, %f10; + mul.f32 %f723, %f724, %f128; + cvt.u64.u32 %rd62, %r2; + cvt.u64.u32 %rd63, %r3; + mov.u64 %rd66, image_Dir; + cvta.global.u64 %rd61, %rd66; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r26, %r27, %rd62, %rd63, %rd15, %rd15); + // inline asm + fma.rn.f32 %f654, %f725, 0f3F000000, 0f3F000000; + mul.f32 %f655, %f654, 0f437F0000; + cvt.rzi.u32.f32 %r121, %f655; + fma.rn.f32 %f656, %f723, 0f3F000000, 0f3F000000; + mul.f32 %f657, %f656, 0f437F0000; + cvt.rzi.u32.f32 %r122, %f657; + fma.rn.f32 %f658, %f727, 0f3F000000, 0f3F000000; + mul.f32 %f659, %f658, 0f437F0000; + cvt.rzi.u32.f32 %r123, %f659; + cvt.u16.u32 %rs33, %r123; + cvt.u16.u32 %rs34, %r122; + cvt.u16.u32 %rs35, %r121; + mov.u16 %rs36, 255; + st.v4.u8 [%rd60], {%rs35, %rs34, %rs33, %rs36}; + +BB0_95: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLight.ptx.meta new file mode 100644 index 00000000..a3025c2b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 643f64e75c271514eb491a5b5bcf534a +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightProbeSH.ptx new file mode 100644 index 00000000..c8f681fd --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightProbeSH.ptx @@ -0,0 +1,2250 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<122>; + .reg .b16 %rs<221>; + .reg .f32 %f<855>; + .reg .b32 %r<242>; + .reg .b64 %rd<369>; + + + mov.u64 %rd368, __local_depot0; + cvta.local.u64 %SP, %rd368; + ld.global.v2.u32 {%r28, %r29}, [pixelID]; + cvt.u64.u32 %rd12, %r28; + cvt.u64.u32 %rd13, %r29; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r26, 2; + mov.u32 %r27, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r26, %r27, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r32, %r1, 16; + cvt.u16.u32 %rs1, %r32; + and.b16 %rs12, %rs1, 255; + cvt.u16.u32 %rs13, %r1; + or.b16 %rs14, %rs13, %rs12; + setp.eq.s16 %p6, %rs14, 0; + mov.f32 %f831, 0f00000000; + mov.f32 %f832, %f831; + mov.f32 %f833, %f831; + @%p6 bra BB0_2; + + ld.u8 %rs15, [%rd10+1]; + and.b16 %rs17, %rs13, 255; + cvt.rn.f32.u16 %f113, %rs17; + div.rn.f32 %f114, %f113, 0f437F0000; + fma.rn.f32 %f115, %f114, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f116, %rs15; + div.rn.f32 %f117, %f116, 0f437F0000; + fma.rn.f32 %f118, %f117, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f119, %rs12; + div.rn.f32 %f120, %f119, 0f437F0000; + fma.rn.f32 %f121, %f120, 0f40000000, 0fBF800000; + mul.f32 %f122, %f118, %f118; + fma.rn.f32 %f123, %f115, %f115, %f122; + fma.rn.f32 %f124, %f121, %f121, %f123; + sqrt.rn.f32 %f125, %f124; + rcp.rn.f32 %f126, %f125; + mul.f32 %f831, %f115, %f126; + mul.f32 %f832, %f118, %f126; + mul.f32 %f833, %f121, %f126; + +BB0_2: + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + ld.global.v2.u32 {%r36, %r37}, [tileInfo]; + add.s32 %r2, %r33, %r36; + add.s32 %r3, %r34, %r37; + setp.eq.f32 %p7, %f832, 0f00000000; + setp.eq.f32 %p8, %f831, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f833, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_105; + bra.uni BB0_3; + +BB0_105: + ld.global.u32 %r241, [imageEnabled]; + and.b32 %r190, %r241, 1; + setp.eq.b32 %p114, %r190, 1; + @!%p114 bra BB0_107; + bra.uni BB0_106; + +BB0_106: + cvt.u64.u32 %rd256, %r2; + cvt.u64.u32 %rd257, %r3; + mov.u64 %rd260, image; + cvta.global.u64 %rd255, %rd260; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r26, %r27, %rd256, %rd257, %rd15, %rd15); + // inline asm + mov.u16 %rs153, 0; + st.v4.u8 [%rd254], {%rs153, %rs153, %rs153, %rs153}; + ld.global.u32 %r241, [imageEnabled]; + +BB0_107: + and.b32 %r193, %r241, 8; + setp.eq.s32 %p115, %r193, 0; + @%p115 bra BB0_109; + + cvt.u64.u32 %rd264, %r3; + cvt.u64.u32 %rd263, %r2; + mov.u64 %rd267, image_Mask; + cvta.global.u64 %rd262, %rd267; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r26, %r26, %rd263, %rd264, %rd15, %rd15); + // inline asm + mov.f32 %f744, 0f00000000; + cvt.rzi.u32.f32 %r196, %f744; + cvt.u16.u32 %rs154, %r196; + mov.u16 %rs155, 0; + st.v2.u8 [%rd261], {%rs154, %rs155}; + ld.global.u32 %r241, [imageEnabled]; + +BB0_109: + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + and.b32 %r197, %r241, 4; + setp.eq.s32 %p116, %r197, 0; + @%p116 bra BB0_113; + + ld.global.u32 %r198, [additive]; + setp.eq.s32 %p117, %r198, 0; + @%p117 bra BB0_112; + + mov.u64 %rd280, image_HDR; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r202, 8; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r26, %r202, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs162, %rs163, %rs164, %rs165}, [%rd268]; + // inline asm + { cvt.f32.f16 %f745, %rs162;} + + // inline asm + // inline asm + { cvt.f32.f16 %f746, %rs163;} + + // inline asm + // inline asm + { cvt.f32.f16 %f747, %rs164;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r26, %r202, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f748, %f745, 0f00000000; + add.f32 %f749, %f746, 0f00000000; + add.f32 %f750, %f747, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs161, %f750;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs160, %f749;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs159, %f748;} + + // inline asm + mov.u16 %rs166, 0; + st.v4.u16 [%rd274], {%rs159, %rs160, %rs161, %rs166}; + bra.uni BB0_113; + +BB0_3: + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd19, %r43; + cvt.u64.u32 %rd20, %r44; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r42, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r26, %r42, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f7, [lightPos]; + ld.f32 %f12, [%rd17+8]; + ld.f32 %f10, [%rd17+4]; + ld.f32 %f8, [%rd17]; + sub.f32 %f129, %f7, %f8; + ld.global.f32 %f9, [lightPos+4]; + sub.f32 %f130, %f9, %f10; + ld.global.f32 %f11, [lightPos+8]; + sub.f32 %f131, %f11, %f12; + mul.f32 %f132, %f130, %f130; + fma.rn.f32 %f133, %f129, %f129, %f132; + fma.rn.f32 %f134, %f131, %f131, %f133; + sqrt.rn.f32 %f135, %f134; + rcp.rn.f32 %f136, %f135; + ld.global.f32 %f137, [lightFalloffFakeDistanceMult]; + mul.f32 %f16, %f135, %f137; + ld.global.f32 %f138, [lightInvCutoff]; + mul.f32 %f17, %f135, %f138; + mov.f32 %f142, 0f40800000; + abs.f32 %f19, %f17; + setp.lt.f32 %p12, %f19, 0f00800000; + mul.f32 %f144, %f19, 0f4B800000; + selp.f32 %f145, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f146, %f144, %f19, %p12; + mov.b32 %r47, %f146; + and.b32 %r48, %r47, 8388607; + or.b32 %r49, %r48, 1065353216; + mov.b32 %f147, %r49; + shr.u32 %r50, %r47, 23; + cvt.rn.f32.u32 %f148, %r50; + add.f32 %f149, %f145, %f148; + setp.gt.f32 %p13, %f147, 0f3FB504F3; + mul.f32 %f150, %f147, 0f3F000000; + add.f32 %f151, %f149, 0f3F800000; + selp.f32 %f152, %f150, %f147, %p13; + selp.f32 %f153, %f151, %f149, %p13; + add.f32 %f154, %f152, 0fBF800000; + add.f32 %f128, %f152, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f127,%f128; + // inline asm + add.f32 %f155, %f154, %f154; + mul.f32 %f156, %f127, %f155; + mul.f32 %f157, %f156, %f156; + mov.f32 %f158, 0f3C4CAF63; + mov.f32 %f159, 0f3B18F0FE; + fma.rn.f32 %f160, %f159, %f157, %f158; + mov.f32 %f161, 0f3DAAAABD; + fma.rn.f32 %f162, %f160, %f157, %f161; + mul.rn.f32 %f163, %f162, %f157; + mul.rn.f32 %f164, %f163, %f156; + sub.f32 %f165, %f154, %f156; + neg.f32 %f166, %f156; + add.f32 %f167, %f165, %f165; + fma.rn.f32 %f168, %f166, %f154, %f167; + mul.rn.f32 %f169, %f127, %f168; + add.f32 %f170, %f164, %f156; + sub.f32 %f171, %f156, %f170; + add.f32 %f172, %f164, %f171; + add.f32 %f173, %f169, %f172; + add.f32 %f174, %f170, %f173; + sub.f32 %f175, %f170, %f174; + add.f32 %f176, %f173, %f175; + mov.f32 %f177, 0f3F317200; + mul.rn.f32 %f178, %f153, %f177; + mov.f32 %f179, 0f35BFBE8E; + mul.rn.f32 %f180, %f153, %f179; + add.f32 %f181, %f178, %f174; + sub.f32 %f182, %f178, %f181; + add.f32 %f183, %f174, %f182; + add.f32 %f184, %f176, %f183; + add.f32 %f185, %f180, %f184; + add.f32 %f186, %f181, %f185; + sub.f32 %f187, %f181, %f186; + add.f32 %f188, %f185, %f187; + mul.rn.f32 %f189, %f142, %f186; + neg.f32 %f190, %f189; + fma.rn.f32 %f191, %f142, %f186, %f190; + fma.rn.f32 %f192, %f142, %f188, %f191; + mov.f32 %f193, 0f00000000; + fma.rn.f32 %f194, %f193, %f186, %f192; + add.rn.f32 %f195, %f189, %f194; + neg.f32 %f196, %f195; + add.rn.f32 %f197, %f189, %f196; + add.rn.f32 %f198, %f197, %f194; + mov.b32 %r51, %f195; + setp.eq.s32 %p14, %r51, 1118925336; + add.s32 %r52, %r51, -1; + mov.b32 %f199, %r52; + add.f32 %f200, %f198, 0f37000000; + selp.f32 %f201, %f199, %f195, %p14; + selp.f32 %f20, %f200, %f198, %p14; + mul.f32 %f202, %f201, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f203, %f202; + mov.f32 %f204, 0fBF317200; + fma.rn.f32 %f205, %f203, %f204, %f201; + mov.f32 %f206, 0fB5BFBE8E; + fma.rn.f32 %f207, %f203, %f206, %f205; + mul.f32 %f208, %f207, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f209, %f208; + add.f32 %f210, %f203, 0f00000000; + ex2.approx.f32 %f211, %f210; + mul.f32 %f212, %f209, %f211; + setp.lt.f32 %p15, %f201, 0fC2D20000; + selp.f32 %f213, 0f00000000, %f212, %p15; + setp.gt.f32 %p16, %f201, 0f42D20000; + selp.f32 %f834, 0f7F800000, %f213, %p16; + setp.eq.f32 %p17, %f834, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f834, %f834, %f20, %f834; + +BB0_5: + mov.f32 %f785, 0f40000000; + cvt.rzi.f32.f32 %f784, %f785; + add.f32 %f783, %f784, %f784; + mov.f32 %f782, 0f40800000; + sub.f32 %f781, %f782, %f783; + abs.f32 %f780, %f781; + setp.lt.f32 %p18, %f17, 0f00000000; + setp.eq.f32 %p19, %f780, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r53, %f834; + xor.b32 %r54, %r53, -2147483648; + mov.b32 %f214, %r54; + selp.f32 %f836, %f214, %f834, %p1; + setp.eq.f32 %p20, %f17, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f217, %f17, %f17; + selp.f32 %f836, %f217, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f17, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f830, 0f40800000; + cvt.rzi.f32.f32 %f216, %f830; + setp.neu.f32 %p22, %f216, 0f40800000; + selp.f32 %f836, 0f7FFFFFFF, %f836, %p22; + +BB0_9: + abs.f32 %f786, %f17; + add.f32 %f218, %f786, 0f40800000; + mov.b32 %r55, %f218; + setp.lt.s32 %p24, %r55, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f828, %f17; + setp.gtu.f32 %p25, %f828, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f836, %f17, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f829, %f17; + setp.neu.f32 %p26, %f829, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f836, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + sub.f32 %f792, %f11, %f12; + mul.f32 %f791, %f792, %f136; + sub.f32 %f790, %f7, %f8; + mul.f32 %f789, %f790, %f136; + sub.f32 %f788, %f9, %f10; + mul.f32 %f787, %f788, %f136; + mov.f32 %f842, 0f3F800000; + sub.f32 %f220, %f842, %f836; + setp.eq.f32 %p27, %f17, 0f3F800000; + selp.f32 %f221, 0f00000000, %f220, %p27; + cvt.sat.f32.f32 %f222, %f221; + ld.global.f32 %f223, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f224, %f16, %f16, %f223; + div.rn.f32 %f31, %f222, %f224; + mul.f32 %f225, %f832, %f787; + fma.rn.f32 %f226, %f831, %f789, %f225; + fma.rn.f32 %f32, %f833, %f791, %f226; + ld.global.u32 %r239, [imageEnabled]; + ld.global.f32 %f227, [lightColor+4]; + ld.global.f32 %f228, [lightColor]; + max.f32 %f229, %f228, %f227; + ld.global.f32 %f230, [lightColor+8]; + max.f32 %f231, %f229, %f230; + mul.f32 %f232, %f31, %f231; + setp.lt.f32 %p28, %f232, 0f3727C5AC; + @%p28 bra BB0_85; + bra.uni BB0_15; + +BB0_85: + and.b32 %r147, %r239, 1; + setp.eq.b32 %p106, %r147, 1; + @!%p106 bra BB0_87; + bra.uni BB0_86; + +BB0_86: + cvt.u64.u32 %rd142, %r2; + cvt.u64.u32 %rd143, %r3; + mov.u64 %rd146, image; + cvta.global.u64 %rd141, %rd146; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r26, %r27, %rd142, %rd143, %rd15, %rd15); + // inline asm + mov.u16 %rs89, 1; + mov.u16 %rs90, 0; + st.v4.u8 [%rd140], {%rs90, %rs90, %rs90, %rs89}; + ld.global.u32 %r239, [imageEnabled]; + +BB0_87: + and.b32 %r150, %r239, 8; + setp.eq.s32 %p107, %r150, 0; + @%p107 bra BB0_89; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd149, %r2; + mov.u64 %rd153, image_Mask; + cvta.global.u64 %rd148, %rd153; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r26, %r26, %rd149, %rd150, %rd15, %rd15); + // inline asm + mov.f32 %f701, 0f00000000; + cvt.rzi.u32.f32 %r153, %f701; + cvt.u16.u32 %rs91, %r153; + mov.u16 %rs92, 255; + st.v2.u8 [%rd147], {%rs91, %rs92}; + ld.global.u32 %r239, [imageEnabled]; + +BB0_89: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r154, %r239, 4; + setp.eq.s32 %p108, %r154, 0; + @%p108 bra BB0_93; + + ld.global.u32 %r155, [additive]; + setp.eq.s32 %p109, %r155, 0; + mov.f32 %f702, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs93, %f702;} + + // inline asm + @%p109 bra BB0_92; + + mov.u64 %rd166, image_HDR; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r159, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r26, %r159, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs100, %rs101, %rs102, %rs103}, [%rd154]; + // inline asm + { cvt.f32.f16 %f703, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f704, %rs101;} + + // inline asm + // inline asm + { cvt.f32.f16 %f705, %rs102;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r26, %r159, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f706, %f703, 0f00000000; + add.f32 %f707, %f704, 0f00000000; + add.f32 %f708, %f705, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs99, %f708;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f707;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f706;} + + // inline asm + st.v4.u16 [%rd160], {%rs97, %rs98, %rs99, %rs93}; + bra.uni BB0_93; + +BB0_15: + mov.f32 %f840, 0f00000000; + mul.f32 %f234, %f8, 0f3456BF95; + abs.f32 %f235, %f831; + div.rn.f32 %f236, %f234, %f235; + abs.f32 %f237, %f832; + mul.f32 %f238, %f10, 0f3456BF95; + div.rn.f32 %f239, %f238, %f237; + abs.f32 %f240, %f833; + mul.f32 %f241, %f12, 0f3456BF95; + div.rn.f32 %f242, %f241, %f240; + abs.f32 %f243, %f236; + abs.f32 %f244, %f239; + abs.f32 %f245, %f242; + mov.f32 %f246, 0f38D1B717; + max.f32 %f247, %f243, %f246; + max.f32 %f248, %f244, %f246; + max.f32 %f249, %f245, %f246; + fma.rn.f32 %f33, %f831, %f247, %f8; + fma.rn.f32 %f34, %f832, %f248, %f10; + fma.rn.f32 %f35, %f833, %f249, %f12; + ld.global.u32 %r235, [samples]; + setp.lt.s32 %p29, %r235, 1; + @%p29 bra BB0_18; + + mul.f32 %f251, %f33, 0f3456BF95; + abs.f32 %f252, %f251; + mul.f32 %f253, %f34, 0f3456BF95; + abs.f32 %f254, %f253; + mul.f32 %f255, %f35, 0f3456BF95; + abs.f32 %f256, %f255; + max.f32 %f257, %f252, %f254; + max.f32 %f258, %f257, %f256; + max.f32 %f36, %f258, %f246; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f840, 0f00000000; + mov.u32 %r234, 0; + mov.u32 %r233, %r239; + mov.f32 %f837, %f11; + mov.f32 %f838, %f9; + mov.f32 %f839, %f7; + bra.uni BB0_17; + +BB0_84: + ld.global.f32 %f839, [lightPos]; + ld.global.f32 %f838, [lightPos+4]; + ld.global.f32 %f837, [lightPos+8]; + ld.global.u32 %r233, [imageEnabled]; + +BB0_17: + cvt.rn.f32.s32 %f268, %r234; + mul.f32 %f269, %f268, 0f3DD32618; + cvt.rmi.f32.f32 %f270, %f269; + sub.f32 %f271, %f269, %f270; + mul.f32 %f272, %f268, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f273, %f272; + sub.f32 %f274, %f272, %f273; + mul.f32 %f275, %f268, 0f3DC74539; + cvt.rmi.f32.f32 %f276, %f275; + sub.f32 %f277, %f275, %f276; + add.f32 %f278, %f274, 0f4199851F; + add.f32 %f279, %f277, 0f4199851F; + add.f32 %f280, %f271, 0f4199851F; + mul.f32 %f281, %f274, %f279; + fma.rn.f32 %f282, %f271, %f278, %f281; + fma.rn.f32 %f283, %f280, %f277, %f282; + add.f32 %f284, %f271, %f283; + add.f32 %f285, %f274, %f283; + add.f32 %f286, %f277, %f283; + add.f32 %f287, %f284, %f285; + mul.f32 %f288, %f286, %f287; + cvt.rmi.f32.f32 %f289, %f288; + sub.f32 %f290, %f288, %f289; + add.f32 %f291, %f284, %f286; + mul.f32 %f292, %f285, %f291; + cvt.rmi.f32.f32 %f293, %f292; + sub.f32 %f294, %f292, %f293; + add.f32 %f295, %f285, %f286; + mul.f32 %f296, %f284, %f295; + cvt.rmi.f32.f32 %f297, %f296; + sub.f32 %f298, %f296, %f297; + fma.rn.f32 %f299, %f290, 0f40000000, 0fBF800000; + fma.rn.f32 %f300, %f294, 0f40000000, 0fBF800000; + fma.rn.f32 %f301, %f298, 0f40000000, 0fBF800000; + ld.global.f32 %f302, [lightRadius]; + fma.rn.f32 %f303, %f302, %f299, %f839; + fma.rn.f32 %f304, %f302, %f300, %f838; + fma.rn.f32 %f305, %f302, %f301, %f837; + sub.f32 %f306, %f303, %f8; + sub.f32 %f307, %f304, %f10; + sub.f32 %f308, %f305, %f12; + mul.f32 %f309, %f307, %f307; + fma.rn.f32 %f310, %f306, %f306, %f309; + fma.rn.f32 %f311, %f308, %f308, %f310; + sqrt.rn.f32 %f267, %f311; + rcp.rn.f32 %f312, %f267; + mul.f32 %f263, %f312, %f306; + mul.f32 %f264, %f312, %f307; + mul.f32 %f265, %f312, %f308; + and.b32 %r60, %r233, 32; + setp.eq.s32 %p30, %r60, 0; + selp.f32 %f313, 0f3F800000, 0f41200000, %p30; + mul.f32 %f266, %f313, %f36; + mov.u32 %r61, 1065353216; + st.local.u32 [%rd2], %r61; + ld.global.u32 %r57, [root]; + mov.u32 %r58, 1; + // inline asm + call _rt_trace_64, (%r57, %f33, %f34, %f35, %f263, %f264, %f265, %r58, %f266, %f267, %rd24, %r27); + // inline asm + ld.local.f32 %f314, [%rd2]; + add.f32 %f840, %f840, %f314; + ld.global.u32 %r235, [samples]; + add.s32 %r234, %r234, 1; + setp.lt.s32 %p31, %r234, %r235; + @%p31 bra BB0_84; + +BB0_18: + ld.global.u32 %r62, [ignoreNormal]; + setp.eq.s32 %p32, %r235, 0; + and.b32 %r63, %r239, 32; + or.b32 %r64, %r63, %r62; + setp.eq.s32 %p33, %r64, 0; + selp.f32 %f43, %f32, 0f3F800000, %p33; + @%p32 bra BB0_20; + + cvt.rn.f32.s32 %f316, %r235; + div.rn.f32 %f842, %f840, %f316; + +BB0_20: + cvt.sat.f32.f32 %f317, %f43; + mul.f32 %f318, %f31, %f317; + mul.f32 %f319, %f842, %f318; + ld.global.f32 %f320, [lightColor]; + mul.f32 %f46, %f320, %f319; + ld.global.f32 %f321, [lightColor+4]; + mul.f32 %f47, %f321, %f319; + ld.global.f32 %f322, [lightColor+8]; + mul.f32 %f48, %f319, %f322; + ld.global.u32 %r237, [imageEnabled]; + and.b32 %r65, %r237, 8; + setp.eq.s32 %p34, %r65, 0; + @%p34 bra BB0_33; + + mov.f32 %f800, 0fB5BFBE8E; + mov.f32 %f799, 0fBF317200; + mov.f32 %f798, 0f35BFBE8E; + mov.f32 %f797, 0f3F317200; + mov.f32 %f796, 0f3DAAAABD; + mov.f32 %f795, 0f3C4CAF63; + mov.f32 %f794, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r26, %r26, %rd28, %rd29, %rd15, %rd15); + // inline asm + mov.f32 %f325, 0f3E68BA2E; + cvt.rzi.f32.f32 %f326, %f325; + fma.rn.f32 %f327, %f326, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f49, %f327; + abs.f32 %f50, %f842; + setp.lt.f32 %p35, %f50, 0f00800000; + mul.f32 %f328, %f50, 0f4B800000; + selp.f32 %f329, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f330, %f328, %f50, %p35; + mov.b32 %r68, %f330; + and.b32 %r69, %r68, 8388607; + or.b32 %r70, %r69, 1065353216; + mov.b32 %f331, %r70; + shr.u32 %r71, %r68, 23; + cvt.rn.f32.u32 %f332, %r71; + add.f32 %f333, %f329, %f332; + setp.gt.f32 %p36, %f331, 0f3FB504F3; + mul.f32 %f334, %f331, 0f3F000000; + add.f32 %f335, %f333, 0f3F800000; + selp.f32 %f336, %f334, %f331, %p36; + selp.f32 %f337, %f335, %f333, %p36; + add.f32 %f338, %f336, 0fBF800000; + add.f32 %f324, %f336, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f323,%f324; + // inline asm + add.f32 %f339, %f338, %f338; + mul.f32 %f340, %f323, %f339; + mul.f32 %f341, %f340, %f340; + fma.rn.f32 %f344, %f794, %f341, %f795; + fma.rn.f32 %f346, %f344, %f341, %f796; + mul.rn.f32 %f347, %f346, %f341; + mul.rn.f32 %f348, %f347, %f340; + sub.f32 %f349, %f338, %f340; + neg.f32 %f350, %f340; + add.f32 %f351, %f349, %f349; + fma.rn.f32 %f352, %f350, %f338, %f351; + mul.rn.f32 %f353, %f323, %f352; + add.f32 %f354, %f348, %f340; + sub.f32 %f355, %f340, %f354; + add.f32 %f356, %f348, %f355; + add.f32 %f357, %f353, %f356; + add.f32 %f358, %f354, %f357; + sub.f32 %f359, %f354, %f358; + add.f32 %f360, %f357, %f359; + mul.rn.f32 %f362, %f337, %f797; + mul.rn.f32 %f364, %f337, %f798; + add.f32 %f365, %f362, %f358; + sub.f32 %f366, %f362, %f365; + add.f32 %f367, %f358, %f366; + add.f32 %f368, %f360, %f367; + add.f32 %f369, %f364, %f368; + add.f32 %f370, %f365, %f369; + sub.f32 %f371, %f365, %f370; + add.f32 %f372, %f369, %f371; + mov.f32 %f373, 0f3EE8BA2E; + mul.rn.f32 %f374, %f373, %f370; + neg.f32 %f375, %f374; + fma.rn.f32 %f376, %f373, %f370, %f375; + fma.rn.f32 %f377, %f373, %f372, %f376; + mov.f32 %f378, 0f00000000; + fma.rn.f32 %f379, %f378, %f370, %f377; + add.rn.f32 %f380, %f374, %f379; + neg.f32 %f381, %f380; + add.rn.f32 %f382, %f374, %f381; + add.rn.f32 %f383, %f382, %f379; + mov.b32 %r72, %f380; + setp.eq.s32 %p37, %r72, 1118925336; + add.s32 %r73, %r72, -1; + mov.b32 %f384, %r73; + add.f32 %f385, %f383, 0f37000000; + selp.f32 %f386, %f384, %f380, %p37; + selp.f32 %f51, %f385, %f383, %p37; + mul.f32 %f387, %f386, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f388, %f387; + fma.rn.f32 %f390, %f388, %f799, %f386; + fma.rn.f32 %f392, %f388, %f800, %f390; + mul.f32 %f393, %f392, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f394, %f393; + add.f32 %f395, %f388, 0f00000000; + ex2.approx.f32 %f396, %f395; + mul.f32 %f397, %f394, %f396; + setp.lt.f32 %p38, %f386, 0fC2D20000; + selp.f32 %f398, 0f00000000, %f397, %p38; + setp.gt.f32 %p39, %f386, 0f42D20000; + selp.f32 %f843, 0f7F800000, %f398, %p39; + setp.eq.f32 %p40, %f843, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f843, %f843, %f51, %f843; + +BB0_23: + setp.lt.f32 %p41, %f842, 0f00000000; + setp.eq.f32 %p42, %f49, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r74, %f843; + xor.b32 %r75, %r74, -2147483648; + mov.b32 %f399, %r75; + selp.f32 %f845, %f399, %f843, %p2; + setp.eq.f32 %p43, %f842, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f402, %f842, %f842; + selp.f32 %f845, %f402, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_112: + mov.u64 %rd287, image_HDR; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r204, 8; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r26, %r204, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f751, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f751;} + + // inline asm + mov.u16 %rs168, 0; + st.v4.u16 [%rd281], {%rs167, %rs167, %rs167, %rs168}; + +BB0_113: + ld.global.u32 %r205, [additive]; + setp.eq.s32 %p118, %r205, 0; + @%p118 bra BB0_115; + + mov.u64 %rd300, image_RNM0; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r209, 8; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r26, %r209, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs175, %rs176, %rs177, %rs178}, [%rd288]; + // inline asm + { cvt.f32.f16 %f752, %rs175;} + + // inline asm + // inline asm + { cvt.f32.f16 %f753, %rs176;} + + // inline asm + // inline asm + { cvt.f32.f16 %f754, %rs177;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r26, %r209, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f755, %f752, 0f00000000; + add.f32 %f756, %f753, 0f00000000; + add.f32 %f757, %f754, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs174, %f757;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs173, %f756;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs172, %f755;} + + // inline asm + mov.u16 %rs179, 0; + st.v4.u16 [%rd294], {%rs172, %rs173, %rs174, %rs179}; + bra.uni BB0_116; + +BB0_115: + mov.u64 %rd307, image_RNM0; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r211, 8; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r26, %r211, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f758, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs180, %f758;} + + // inline asm + mov.u16 %rs181, 0; + st.v4.u16 [%rd301], {%rs180, %rs180, %rs180, %rs181}; + +BB0_116: + ld.global.u32 %r212, [additive]; + setp.eq.s32 %p119, %r212, 0; + @%p119 bra BB0_118; + + mov.u64 %rd320, image_RNM1; + cvta.global.u64 %rd309, %rd320; + mov.u32 %r216, 8; + // inline asm + call (%rd308), _rt_buffer_get_64, (%rd309, %r26, %r216, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs188, %rs189, %rs190, %rs191}, [%rd308]; + // inline asm + { cvt.f32.f16 %f759, %rs188;} + + // inline asm + // inline asm + { cvt.f32.f16 %f760, %rs189;} + + // inline asm + // inline asm + { cvt.f32.f16 %f761, %rs190;} + + // inline asm + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd309, %r26, %r216, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f762, %f759, 0f00000000; + add.f32 %f763, %f760, 0f00000000; + add.f32 %f764, %f761, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs187, %f764;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs186, %f763;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs185, %f762;} + + // inline asm + mov.u16 %rs192, 0; + st.v4.u16 [%rd314], {%rs185, %rs186, %rs187, %rs192}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd327, image_RNM1; + cvta.global.u64 %rd322, %rd327; + mov.u32 %r218, 8; + // inline asm + call (%rd321), _rt_buffer_get_64, (%rd322, %r26, %r218, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f765, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs193, %f765;} + + // inline asm + mov.u16 %rs194, 0; + st.v4.u16 [%rd321], {%rs193, %rs193, %rs193, %rs194}; + +BB0_119: + ld.global.u32 %r219, [additive]; + setp.eq.s32 %p120, %r219, 0; + @%p120 bra BB0_121; + + mov.u64 %rd340, image_RNM2; + cvta.global.u64 %rd329, %rd340; + mov.u32 %r223, 8; + // inline asm + call (%rd328), _rt_buffer_get_64, (%rd329, %r26, %r223, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs201, %rs202, %rs203, %rs204}, [%rd328]; + // inline asm + { cvt.f32.f16 %f766, %rs201;} + + // inline asm + // inline asm + { cvt.f32.f16 %f767, %rs202;} + + // inline asm + // inline asm + { cvt.f32.f16 %f768, %rs203;} + + // inline asm + // inline asm + call (%rd334), _rt_buffer_get_64, (%rd329, %r26, %r223, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f769, %f766, 0f00000000; + add.f32 %f770, %f767, 0f00000000; + add.f32 %f771, %f768, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs200, %f771;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs199, %f770;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs198, %f769;} + + // inline asm + mov.u16 %rs205, 0; + st.v4.u16 [%rd334], {%rs198, %rs199, %rs200, %rs205}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd347, image_RNM2; + cvta.global.u64 %rd342, %rd347; + mov.u32 %r225, 8; + // inline asm + call (%rd341), _rt_buffer_get_64, (%rd342, %r26, %r225, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f772, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs206, %f772;} + + // inline asm + mov.u16 %rs207, 0; + st.v4.u16 [%rd341], {%rs206, %rs206, %rs206, %rs207}; + +BB0_122: + ld.global.u32 %r226, [additive]; + setp.eq.s32 %p121, %r226, 0; + @%p121 bra BB0_124; + + mov.u64 %rd360, image_RNM3; + cvta.global.u64 %rd349, %rd360; + mov.u32 %r230, 8; + // inline asm + call (%rd348), _rt_buffer_get_64, (%rd349, %r26, %r230, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs214, %rs215, %rs216, %rs217}, [%rd348]; + // inline asm + { cvt.f32.f16 %f773, %rs214;} + + // inline asm + // inline asm + { cvt.f32.f16 %f774, %rs215;} + + // inline asm + // inline asm + { cvt.f32.f16 %f775, %rs216;} + + // inline asm + // inline asm + call (%rd354), _rt_buffer_get_64, (%rd349, %r26, %r230, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f776, %f773, 0f00000000; + add.f32 %f777, %f774, 0f00000000; + add.f32 %f778, %f775, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs213, %f778;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs212, %f777;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs211, %f776;} + + // inline asm + mov.u16 %rs218, 0; + st.v4.u16 [%rd354], {%rs211, %rs212, %rs213, %rs218}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd367, image_RNM3; + cvta.global.u64 %rd362, %rd367; + mov.u32 %r232, 8; + // inline asm + call (%rd361), _rt_buffer_get_64, (%rd362, %r26, %r232, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f779, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs219, %f779;} + + // inline asm + mov.u16 %rs220, 0; + st.v4.u16 [%rd361], {%rs219, %rs219, %rs219, %rs220}; + bra.uni BB0_125; + +BB0_92: + mov.u64 %rd173, image_HDR; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r161, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r26, %r161, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f709, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f709;} + + // inline asm + st.v4.u16 [%rd167], {%rs104, %rs104, %rs104, %rs93}; + +BB0_93: + ld.global.u32 %r162, [additive]; + setp.eq.s32 %p110, %r162, 0; + mov.f32 %f710, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f710;} + + // inline asm + @%p110 bra BB0_95; + + mov.u64 %rd186, image_RNM0; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r166, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r26, %r166, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd174]; + // inline asm + { cvt.f32.f16 %f711, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f712, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f713, %rs114;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r26, %r166, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f714, %f711, 0f00000000; + add.f32 %f715, %f712, 0f00000000; + add.f32 %f716, %f713, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f716;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f715;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f714;} + + // inline asm + st.v4.u16 [%rd180], {%rs109, %rs110, %rs111, %rs105}; + bra.uni BB0_96; + +BB0_95: + mov.u64 %rd193, image_RNM0; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r168, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r26, %r168, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f717, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f717;} + + // inline asm + st.v4.u16 [%rd187], {%rs116, %rs116, %rs116, %rs105}; + +BB0_96: + ld.global.u32 %r169, [additive]; + setp.eq.s32 %p111, %r169, 0; + // inline asm + { cvt.rn.f16.f32 %rs117, %f710;} + + // inline asm + @%p111 bra BB0_98; + + mov.u64 %rd206, image_RNM1; + cvta.global.u64 %rd195, %rd206; + mov.u32 %r173, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r26, %r173, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd194]; + // inline asm + { cvt.f32.f16 %f719, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f720, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f721, %rs126;} + + // inline asm + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd195, %r26, %r173, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f722, %f719, 0f00000000; + add.f32 %f723, %f720, 0f00000000; + add.f32 %f724, %f721, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f724;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f723;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f722;} + + // inline asm + st.v4.u16 [%rd200], {%rs121, %rs122, %rs123, %rs117}; + bra.uni BB0_99; + +BB0_98: + mov.u64 %rd213, image_RNM1; + cvta.global.u64 %rd208, %rd213; + mov.u32 %r175, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r26, %r175, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f725, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f725;} + + // inline asm + st.v4.u16 [%rd207], {%rs128, %rs128, %rs128, %rs117}; + +BB0_99: + ld.global.u32 %r176, [additive]; + setp.eq.s32 %p112, %r176, 0; + // inline asm + { cvt.rn.f16.f32 %rs129, %f710;} + + // inline asm + @%p112 bra BB0_101; + + mov.u64 %rd226, image_RNM2; + cvta.global.u64 %rd215, %rd226; + mov.u32 %r180, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r26, %r180, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs136, %rs137, %rs138, %rs139}, [%rd214]; + // inline asm + { cvt.f32.f16 %f727, %rs136;} + + // inline asm + // inline asm + { cvt.f32.f16 %f728, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f729, %rs138;} + + // inline asm + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd215, %r26, %r180, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f730, %f727, 0f00000000; + add.f32 %f731, %f728, 0f00000000; + add.f32 %f732, %f729, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs135, %f732;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f731;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs133, %f730;} + + // inline asm + st.v4.u16 [%rd220], {%rs133, %rs134, %rs135, %rs129}; + bra.uni BB0_102; + +BB0_101: + mov.u64 %rd233, image_RNM2; + cvta.global.u64 %rd228, %rd233; + mov.u32 %r182, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r26, %r182, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f733, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f733;} + + // inline asm + st.v4.u16 [%rd227], {%rs140, %rs140, %rs140, %rs129}; + +BB0_102: + ld.global.u32 %r183, [additive]; + setp.eq.s32 %p113, %r183, 0; + // inline asm + { cvt.rn.f16.f32 %rs141, %f710;} + + // inline asm + @%p113 bra BB0_104; + + mov.u64 %rd246, image_RNM3; + cvta.global.u64 %rd235, %rd246; + mov.u32 %r187, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r26, %r187, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs148, %rs149, %rs150, %rs151}, [%rd234]; + // inline asm + { cvt.f32.f16 %f735, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f736, %rs149;} + + // inline asm + // inline asm + { cvt.f32.f16 %f737, %rs150;} + + // inline asm + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd235, %r26, %r187, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f738, %f735, 0f00000000; + add.f32 %f739, %f736, 0f00000000; + add.f32 %f740, %f737, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f740;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs146, %f739;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f738;} + + // inline asm + st.v4.u16 [%rd240], {%rs145, %rs146, %rs147, %rs141}; + bra.uni BB0_125; + +BB0_104: + mov.u64 %rd253, image_RNM3; + cvta.global.u64 %rd248, %rd253; + mov.u32 %r189, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r26, %r189, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f741, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f741;} + + // inline asm + st.v4.u16 [%rd247], {%rs152, %rs152, %rs152, %rs141}; + bra.uni BB0_125; + +BB0_24: + setp.geu.f32 %p44, %f842, 0f00000000; + @%p44 bra BB0_27; + + cvt.rzi.f32.f32 %f401, %f373; + setp.neu.f32 %p45, %f401, 0f3EE8BA2E; + selp.f32 %f845, 0f7FFFFFFF, %f845, %p45; + +BB0_27: + add.f32 %f403, %f50, 0f3EE8BA2E; + mov.b32 %r76, %f403; + setp.lt.s32 %p47, %r76, 2139095040; + @%p47 bra BB0_32; + + setp.gtu.f32 %p48, %f50, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f845, %f842, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + setp.neu.f32 %p49, %f50, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f845, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f404, %f845, 0f437F0000; + setp.eq.f32 %p50, %f842, 0f3F800000; + selp.f32 %f405, 0f437F0000, %f404, %p50; + cvt.rzi.u32.f32 %r77, %f405; + cvt.u16.u32 %rs19, %r77; + mov.u16 %rs20, 255; + st.v2.u8 [%rd26], {%rs19, %rs20}; + ld.global.u32 %r237, [imageEnabled]; + +BB0_33: + and.b32 %r78, %r237, 1; + setp.eq.b32 %p51, %r78, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f807, 0fB5BFBE8E; + mov.f32 %f806, 0fBF317200; + mov.f32 %f805, 0f35BFBE8E; + mov.f32 %f804, 0f3F317200; + mov.f32 %f803, 0f3DAAAABD; + mov.f32 %f802, 0f3C4CAF63; + mov.f32 %f801, 0f3B18F0FE; + mov.f32 %f408, 0f3E666666; + cvt.rzi.f32.f32 %f409, %f408; + fma.rn.f32 %f410, %f409, 0fC0000000, 0f3EE66666; + abs.f32 %f62, %f410; + abs.f32 %f63, %f46; + setp.lt.f32 %p52, %f63, 0f00800000; + mul.f32 %f411, %f63, 0f4B800000; + selp.f32 %f412, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f413, %f411, %f63, %p52; + mov.b32 %r79, %f413; + and.b32 %r80, %r79, 8388607; + or.b32 %r81, %r80, 1065353216; + mov.b32 %f414, %r81; + shr.u32 %r82, %r79, 23; + cvt.rn.f32.u32 %f415, %r82; + add.f32 %f416, %f412, %f415; + setp.gt.f32 %p53, %f414, 0f3FB504F3; + mul.f32 %f417, %f414, 0f3F000000; + add.f32 %f418, %f416, 0f3F800000; + selp.f32 %f419, %f417, %f414, %p53; + selp.f32 %f420, %f418, %f416, %p53; + add.f32 %f421, %f419, 0fBF800000; + add.f32 %f407, %f419, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f406,%f407; + // inline asm + add.f32 %f422, %f421, %f421; + mul.f32 %f423, %f406, %f422; + mul.f32 %f424, %f423, %f423; + fma.rn.f32 %f427, %f801, %f424, %f802; + fma.rn.f32 %f429, %f427, %f424, %f803; + mul.rn.f32 %f430, %f429, %f424; + mul.rn.f32 %f431, %f430, %f423; + sub.f32 %f432, %f421, %f423; + neg.f32 %f433, %f423; + add.f32 %f434, %f432, %f432; + fma.rn.f32 %f435, %f433, %f421, %f434; + mul.rn.f32 %f436, %f406, %f435; + add.f32 %f437, %f431, %f423; + sub.f32 %f438, %f423, %f437; + add.f32 %f439, %f431, %f438; + add.f32 %f440, %f436, %f439; + add.f32 %f441, %f437, %f440; + sub.f32 %f442, %f437, %f441; + add.f32 %f443, %f440, %f442; + mul.rn.f32 %f445, %f420, %f804; + mul.rn.f32 %f447, %f420, %f805; + add.f32 %f448, %f445, %f441; + sub.f32 %f449, %f445, %f448; + add.f32 %f450, %f441, %f449; + add.f32 %f451, %f443, %f450; + add.f32 %f452, %f447, %f451; + add.f32 %f453, %f448, %f452; + sub.f32 %f454, %f448, %f453; + add.f32 %f455, %f452, %f454; + mov.f32 %f456, 0f3EE66666; + mul.rn.f32 %f457, %f456, %f453; + neg.f32 %f458, %f457; + fma.rn.f32 %f459, %f456, %f453, %f458; + fma.rn.f32 %f460, %f456, %f455, %f459; + mov.f32 %f461, 0f00000000; + fma.rn.f32 %f462, %f461, %f453, %f460; + add.rn.f32 %f463, %f457, %f462; + neg.f32 %f464, %f463; + add.rn.f32 %f465, %f457, %f464; + add.rn.f32 %f466, %f465, %f462; + mov.b32 %r83, %f463; + setp.eq.s32 %p54, %r83, 1118925336; + add.s32 %r84, %r83, -1; + mov.b32 %f467, %r84; + add.f32 %f468, %f466, 0f37000000; + selp.f32 %f469, %f467, %f463, %p54; + selp.f32 %f64, %f468, %f466, %p54; + mul.f32 %f470, %f469, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f471, %f470; + fma.rn.f32 %f473, %f471, %f806, %f469; + fma.rn.f32 %f475, %f471, %f807, %f473; + mul.f32 %f476, %f475, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f477, %f476; + add.f32 %f478, %f471, 0f00000000; + ex2.approx.f32 %f479, %f478; + mul.f32 %f480, %f477, %f479; + setp.lt.f32 %p55, %f469, 0fC2D20000; + selp.f32 %f481, 0f00000000, %f480, %p55; + setp.gt.f32 %p56, %f469, 0f42D20000; + selp.f32 %f846, 0f7F800000, %f481, %p56; + setp.eq.f32 %p57, %f846, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f846, %f846, %f64, %f846; + +BB0_36: + setp.lt.f32 %p58, %f46, 0f00000000; + setp.eq.f32 %p59, %f62, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r85, %f846; + xor.b32 %r86, %r85, -2147483648; + mov.b32 %f482, %r86; + selp.f32 %f848, %f482, %f846, %p3; + setp.eq.f32 %p60, %f46, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f485, %f46, %f46; + selp.f32 %f848, %f485, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f46, 0f00000000; + @%p61 bra BB0_40; + + cvt.rzi.f32.f32 %f484, %f456; + setp.neu.f32 %p62, %f484, 0f3EE66666; + selp.f32 %f848, 0f7FFFFFFF, %f848, %p62; + +BB0_40: + add.f32 %f486, %f63, 0f3EE66666; + mov.b32 %r87, %f486; + setp.lt.s32 %p64, %r87, 2139095040; + @%p64 bra BB0_45; + + setp.gtu.f32 %p65, %f63, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f848, %f46, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p66, %f63, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f848, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f814, 0fB5BFBE8E; + mov.f32 %f813, 0fBF317200; + mov.f32 %f812, 0f35BFBE8E; + mov.f32 %f811, 0f3F317200; + mov.f32 %f810, 0f3DAAAABD; + mov.f32 %f809, 0f3C4CAF63; + mov.f32 %f808, 0f3B18F0FE; + setp.eq.f32 %p67, %f46, 0f3F800000; + selp.f32 %f75, 0f3F800000, %f848, %p67; + abs.f32 %f76, %f47; + setp.lt.f32 %p68, %f76, 0f00800000; + mul.f32 %f489, %f76, 0f4B800000; + selp.f32 %f490, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f491, %f489, %f76, %p68; + mov.b32 %r88, %f491; + and.b32 %r89, %r88, 8388607; + or.b32 %r90, %r89, 1065353216; + mov.b32 %f492, %r90; + shr.u32 %r91, %r88, 23; + cvt.rn.f32.u32 %f493, %r91; + add.f32 %f494, %f490, %f493; + setp.gt.f32 %p69, %f492, 0f3FB504F3; + mul.f32 %f495, %f492, 0f3F000000; + add.f32 %f496, %f494, 0f3F800000; + selp.f32 %f497, %f495, %f492, %p69; + selp.f32 %f498, %f496, %f494, %p69; + add.f32 %f499, %f497, 0fBF800000; + add.f32 %f488, %f497, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f487,%f488; + // inline asm + add.f32 %f500, %f499, %f499; + mul.f32 %f501, %f487, %f500; + mul.f32 %f502, %f501, %f501; + fma.rn.f32 %f505, %f808, %f502, %f809; + fma.rn.f32 %f507, %f505, %f502, %f810; + mul.rn.f32 %f508, %f507, %f502; + mul.rn.f32 %f509, %f508, %f501; + sub.f32 %f510, %f499, %f501; + neg.f32 %f511, %f501; + add.f32 %f512, %f510, %f510; + fma.rn.f32 %f513, %f511, %f499, %f512; + mul.rn.f32 %f514, %f487, %f513; + add.f32 %f515, %f509, %f501; + sub.f32 %f516, %f501, %f515; + add.f32 %f517, %f509, %f516; + add.f32 %f518, %f514, %f517; + add.f32 %f519, %f515, %f518; + sub.f32 %f520, %f515, %f519; + add.f32 %f521, %f518, %f520; + mul.rn.f32 %f523, %f498, %f811; + mul.rn.f32 %f525, %f498, %f812; + add.f32 %f526, %f523, %f519; + sub.f32 %f527, %f523, %f526; + add.f32 %f528, %f519, %f527; + add.f32 %f529, %f521, %f528; + add.f32 %f530, %f525, %f529; + add.f32 %f531, %f526, %f530; + sub.f32 %f532, %f526, %f531; + add.f32 %f533, %f530, %f532; + mul.rn.f32 %f535, %f456, %f531; + neg.f32 %f536, %f535; + fma.rn.f32 %f537, %f456, %f531, %f536; + fma.rn.f32 %f538, %f456, %f533, %f537; + fma.rn.f32 %f540, %f461, %f531, %f538; + add.rn.f32 %f541, %f535, %f540; + neg.f32 %f542, %f541; + add.rn.f32 %f543, %f535, %f542; + add.rn.f32 %f544, %f543, %f540; + mov.b32 %r92, %f541; + setp.eq.s32 %p70, %r92, 1118925336; + add.s32 %r93, %r92, -1; + mov.b32 %f545, %r93; + add.f32 %f546, %f544, 0f37000000; + selp.f32 %f547, %f545, %f541, %p70; + selp.f32 %f77, %f546, %f544, %p70; + mul.f32 %f548, %f547, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f549, %f548; + fma.rn.f32 %f551, %f549, %f813, %f547; + fma.rn.f32 %f553, %f549, %f814, %f551; + mul.f32 %f554, %f553, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f555, %f554; + add.f32 %f556, %f549, 0f00000000; + ex2.approx.f32 %f557, %f556; + mul.f32 %f558, %f555, %f557; + setp.lt.f32 %p71, %f547, 0fC2D20000; + selp.f32 %f559, 0f00000000, %f558, %p71; + setp.gt.f32 %p72, %f547, 0f42D20000; + selp.f32 %f849, 0f7F800000, %f559, %p72; + setp.eq.f32 %p73, %f849, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f849, %f849, %f77, %f849; + +BB0_47: + setp.lt.f32 %p74, %f47, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r94, %f849; + xor.b32 %r95, %r94, -2147483648; + mov.b32 %f560, %r95; + selp.f32 %f851, %f560, %f849, %p4; + setp.eq.f32 %p76, %f47, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f563, %f47, %f47; + selp.f32 %f851, %f563, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f47, 0f00000000; + @%p77 bra BB0_51; + + cvt.rzi.f32.f32 %f562, %f456; + setp.neu.f32 %p78, %f562, 0f3EE66666; + selp.f32 %f851, 0f7FFFFFFF, %f851, %p78; + +BB0_51: + add.f32 %f564, %f76, 0f3EE66666; + mov.b32 %r96, %f564; + setp.lt.s32 %p80, %r96, 2139095040; + @%p80 bra BB0_56; + + setp.gtu.f32 %p81, %f76, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f851, %f47, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p82, %f76, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f851, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f821, 0fB5BFBE8E; + mov.f32 %f820, 0fBF317200; + mov.f32 %f819, 0f35BFBE8E; + mov.f32 %f818, 0f3F317200; + mov.f32 %f817, 0f3DAAAABD; + mov.f32 %f816, 0f3C4CAF63; + mov.f32 %f815, 0f3B18F0FE; + setp.eq.f32 %p83, %f47, 0f3F800000; + selp.f32 %f88, 0f3F800000, %f851, %p83; + abs.f32 %f89, %f48; + setp.lt.f32 %p84, %f89, 0f00800000; + mul.f32 %f567, %f89, 0f4B800000; + selp.f32 %f568, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f569, %f567, %f89, %p84; + mov.b32 %r97, %f569; + and.b32 %r98, %r97, 8388607; + or.b32 %r99, %r98, 1065353216; + mov.b32 %f570, %r99; + shr.u32 %r100, %r97, 23; + cvt.rn.f32.u32 %f571, %r100; + add.f32 %f572, %f568, %f571; + setp.gt.f32 %p85, %f570, 0f3FB504F3; + mul.f32 %f573, %f570, 0f3F000000; + add.f32 %f574, %f572, 0f3F800000; + selp.f32 %f575, %f573, %f570, %p85; + selp.f32 %f576, %f574, %f572, %p85; + add.f32 %f577, %f575, 0fBF800000; + add.f32 %f566, %f575, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f565,%f566; + // inline asm + add.f32 %f578, %f577, %f577; + mul.f32 %f579, %f565, %f578; + mul.f32 %f580, %f579, %f579; + fma.rn.f32 %f583, %f815, %f580, %f816; + fma.rn.f32 %f585, %f583, %f580, %f817; + mul.rn.f32 %f586, %f585, %f580; + mul.rn.f32 %f587, %f586, %f579; + sub.f32 %f588, %f577, %f579; + neg.f32 %f589, %f579; + add.f32 %f590, %f588, %f588; + fma.rn.f32 %f591, %f589, %f577, %f590; + mul.rn.f32 %f592, %f565, %f591; + add.f32 %f593, %f587, %f579; + sub.f32 %f594, %f579, %f593; + add.f32 %f595, %f587, %f594; + add.f32 %f596, %f592, %f595; + add.f32 %f597, %f593, %f596; + sub.f32 %f598, %f593, %f597; + add.f32 %f599, %f596, %f598; + mul.rn.f32 %f601, %f576, %f818; + mul.rn.f32 %f603, %f576, %f819; + add.f32 %f604, %f601, %f597; + sub.f32 %f605, %f601, %f604; + add.f32 %f606, %f597, %f605; + add.f32 %f607, %f599, %f606; + add.f32 %f608, %f603, %f607; + add.f32 %f609, %f604, %f608; + sub.f32 %f610, %f604, %f609; + add.f32 %f611, %f608, %f610; + mul.rn.f32 %f613, %f456, %f609; + neg.f32 %f614, %f613; + fma.rn.f32 %f615, %f456, %f609, %f614; + fma.rn.f32 %f616, %f456, %f611, %f615; + fma.rn.f32 %f618, %f461, %f609, %f616; + add.rn.f32 %f619, %f613, %f618; + neg.f32 %f620, %f619; + add.rn.f32 %f621, %f613, %f620; + add.rn.f32 %f622, %f621, %f618; + mov.b32 %r101, %f619; + setp.eq.s32 %p86, %r101, 1118925336; + add.s32 %r102, %r101, -1; + mov.b32 %f623, %r102; + add.f32 %f624, %f622, 0f37000000; + selp.f32 %f625, %f623, %f619, %p86; + selp.f32 %f90, %f624, %f622, %p86; + mul.f32 %f626, %f625, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f627, %f626; + fma.rn.f32 %f629, %f627, %f820, %f625; + fma.rn.f32 %f631, %f627, %f821, %f629; + mul.f32 %f632, %f631, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f633, %f632; + add.f32 %f634, %f627, 0f00000000; + ex2.approx.f32 %f635, %f634; + mul.f32 %f636, %f633, %f635; + setp.lt.f32 %p87, %f625, 0fC2D20000; + selp.f32 %f637, 0f00000000, %f636, %p87; + setp.gt.f32 %p88, %f625, 0f42D20000; + selp.f32 %f852, 0f7F800000, %f637, %p88; + setp.eq.f32 %p89, %f852, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f852, %f852, %f90, %f852; + +BB0_58: + setp.lt.f32 %p90, %f48, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r103, %f852; + xor.b32 %r104, %r103, -2147483648; + mov.b32 %f638, %r104; + selp.f32 %f854, %f638, %f852, %p5; + setp.eq.f32 %p92, %f48, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f641, %f48, %f48; + selp.f32 %f854, %f641, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f48, 0f00000000; + @%p93 bra BB0_62; + + cvt.rzi.f32.f32 %f640, %f456; + setp.neu.f32 %p94, %f640, 0f3EE66666; + selp.f32 %f854, 0f7FFFFFFF, %f854, %p94; + +BB0_62: + add.f32 %f642, %f89, 0f3EE66666; + mov.b32 %r105, %f642; + setp.lt.s32 %p96, %r105, 2139095040; + @%p96 bra BB0_67; + + setp.gtu.f32 %p97, %f89, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f854, %f48, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p98, %f89, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f854, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p99, %f48, 0f3F800000; + selp.f32 %f643, 0f3F800000, %f854, %p99; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r26, %r27, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f644, %f643; + mul.f32 %f645, %f644, 0f437FFD71; + cvt.rzi.u32.f32 %r108, %f645; + cvt.sat.f32.f32 %f646, %f88; + mul.f32 %f647, %f646, 0f437FFD71; + cvt.rzi.u32.f32 %r109, %f647; + cvt.sat.f32.f32 %f648, %f75; + mul.f32 %f649, %f648, 0f437FFD71; + cvt.rzi.u32.f32 %r110, %f649; + cvt.u16.u32 %rs21, %r108; + cvt.u16.u32 %rs22, %r110; + cvt.u16.u32 %rs23, %r109; + mov.u16 %rs24, 255; + st.v4.u8 [%rd33], {%rs21, %rs23, %rs22, %rs24}; + ld.global.u32 %r237, [imageEnabled]; + +BB0_68: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r111, %r237, 4; + setp.eq.s32 %p100, %r111, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r112, [additive]; + setp.eq.s32 %p101, %r112, 0; + mov.f32 %f650, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f650;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r116, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r26, %r116, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs32, %rs33, %rs34, %rs35}, [%rd40]; + // inline asm + { cvt.f32.f16 %f651, %rs32;} + + // inline asm + // inline asm + { cvt.f32.f16 %f652, %rs33;} + + // inline asm + // inline asm + { cvt.f32.f16 %f653, %rs34;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r26, %r116, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f654, %f46, %f651; + add.f32 %f655, %f47, %f652; + add.f32 %f656, %f48, %f653; + // inline asm + { cvt.rn.f16.f32 %rs31, %f656;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f655;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f654;} + + // inline asm + st.v4.u16 [%rd46], {%rs29, %rs30, %rs31, %rs25}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r118, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r26, %r118, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f48;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f47;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f46;} + + // inline asm + st.v4.u16 [%rd53], {%rs36, %rs37, %rs38, %rs25}; + +BB0_72: + mul.f32 %f661, %f31, 0f3E800000; + mul.f32 %f662, %f661, %f842; + ld.global.f32 %f663, [lightColor]; + mul.f32 %f101, %f662, %f663; + ld.global.f32 %f664, [lightColor+4]; + mul.f32 %f102, %f662, %f664; + ld.global.f32 %f665, [lightColor+8]; + mul.f32 %f103, %f662, %f665; + ld.global.u32 %r119, [additive]; + setp.eq.s32 %p102, %r119, 0; + mov.f32 %f660, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f660;} + + // inline asm + @%p102 bra BB0_74; + + mov.u64 %rd72, image_RNM0; + cvta.global.u64 %rd61, %rd72; + mov.u32 %r123, 8; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r26, %r123, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs46, %rs47, %rs48, %rs49}, [%rd60]; + // inline asm + { cvt.f32.f16 %f666, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f667, %rs47;} + + // inline asm + // inline asm + { cvt.f32.f16 %f668, %rs48;} + + // inline asm + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd61, %r26, %r123, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f669, %f101, %f666; + add.f32 %f670, %f102, %f667; + add.f32 %f671, %f103, %f668; + // inline asm + { cvt.rn.f16.f32 %rs45, %f671;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f670;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f669;} + + // inline asm + st.v4.u16 [%rd66], {%rs43, %rs44, %rs45, %rs39}; + bra.uni BB0_75; + +BB0_74: + mov.u64 %rd79, image_RNM0; + cvta.global.u64 %rd74, %rd79; + mov.u32 %r125, 8; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r26, %r125, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f103;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f102;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f101;} + + // inline asm + st.v4.u16 [%rd73], {%rs50, %rs51, %rs52, %rs39}; + +BB0_75: + sub.f32 %f827, %f11, %f12; + mul.f32 %f826, %f827, %f136; + sub.f32 %f825, %f7, %f8; + mul.f32 %f824, %f825, %f136; + sub.f32 %f823, %f9, %f10; + mul.f32 %f822, %f823, %f136; + fma.rn.f32 %f104, %f824, 0f3F000000, 0f3F000000; + fma.rn.f32 %f105, %f822, 0f3F000000, 0f3F000000; + fma.rn.f32 %f106, %f826, 0f3F000000, 0f3F000000; + ld.global.u32 %r126, [additive]; + setp.eq.s32 %p103, %r126, 0; + // inline asm + { cvt.rn.f16.f32 %rs53, %f660;} + + // inline asm + @%p103 bra BB0_77; + + mov.u64 %rd92, image_RNM1; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r130, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r26, %r130, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs60, %rs61, %rs62, %rs63}, [%rd80]; + // inline asm + { cvt.f32.f16 %f676, %rs60;} + + // inline asm + // inline asm + { cvt.f32.f16 %f677, %rs61;} + + // inline asm + // inline asm + { cvt.f32.f16 %f678, %rs62;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r26, %r130, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f679, %f104, %f676; + add.f32 %f680, %f104, %f677; + add.f32 %f681, %f104, %f678; + // inline asm + { cvt.rn.f16.f32 %rs59, %f681;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f680;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f679;} + + // inline asm + st.v4.u16 [%rd86], {%rs57, %rs58, %rs59, %rs53}; + bra.uni BB0_78; + +BB0_77: + mov.u64 %rd99, image_RNM1; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r132, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r26, %r132, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f104;} + + // inline asm + st.v4.u16 [%rd93], {%rs64, %rs64, %rs64, %rs53}; + +BB0_78: + ld.global.u32 %r133, [additive]; + setp.eq.s32 %p104, %r133, 0; + // inline asm + { cvt.rn.f16.f32 %rs65, %f660;} + + // inline asm + @%p104 bra BB0_80; + + mov.u64 %rd112, image_RNM2; + cvta.global.u64 %rd101, %rd112; + mov.u32 %r137, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r26, %r137, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs72, %rs73, %rs74, %rs75}, [%rd100]; + // inline asm + { cvt.f32.f16 %f684, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f685, %rs73;} + + // inline asm + // inline asm + { cvt.f32.f16 %f686, %rs74;} + + // inline asm + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd101, %r26, %r137, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f687, %f105, %f684; + add.f32 %f688, %f105, %f685; + add.f32 %f689, %f105, %f686; + // inline asm + { cvt.rn.f16.f32 %rs71, %f689;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f688;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f687;} + + // inline asm + st.v4.u16 [%rd106], {%rs69, %rs70, %rs71, %rs65}; + bra.uni BB0_81; + +BB0_80: + mov.u64 %rd119, image_RNM2; + cvta.global.u64 %rd114, %rd119; + mov.u32 %r139, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r26, %r139, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f105;} + + // inline asm + st.v4.u16 [%rd113], {%rs76, %rs76, %rs76, %rs65}; + +BB0_81: + ld.global.u32 %r140, [additive]; + setp.eq.s32 %p105, %r140, 0; + // inline asm + { cvt.rn.f16.f32 %rs77, %f660;} + + // inline asm + @%p105 bra BB0_83; + + mov.u64 %rd132, image_RNM3; + cvta.global.u64 %rd121, %rd132; + mov.u32 %r144, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r26, %r144, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs84, %rs85, %rs86, %rs87}, [%rd120]; + // inline asm + { cvt.f32.f16 %f692, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f693, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f694, %rs86;} + + // inline asm + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd121, %r26, %r144, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f695, %f106, %f692; + add.f32 %f696, %f106, %f693; + add.f32 %f697, %f106, %f694; + // inline asm + { cvt.rn.f16.f32 %rs83, %f697;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f696;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f695;} + + // inline asm + st.v4.u16 [%rd126], {%rs81, %rs82, %rs83, %rs77}; + bra.uni BB0_125; + +BB0_83: + mov.u64 %rd139, image_RNM3; + cvta.global.u64 %rd134, %rd139; + mov.u32 %r146, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r26, %r146, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f106;} + + // inline asm + st.v4.u16 [%rd133], {%rs88, %rs88, %rs88, %rs77}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightProbeSH.ptx.meta new file mode 100644 index 00000000..a84586b7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22d0ebd2cc22c314aa3ba05c011e50e0 +timeCreated: 1551521395 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightRNM.ptx new file mode 100644 index 00000000..2861b313 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightRNM.ptx @@ -0,0 +1,2321 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<128>; + .reg .b16 %rs<213>; + .reg .f32 %f<1028>; + .reg .b32 %r<245>; + .reg .b64 %rd<335>; + + + mov.u64 %rd334, __local_depot0; + cvta.local.u64 %SP, %rd334; + ld.global.v2.u32 {%r34, %r35}, [pixelID]; + cvt.u64.u32 %rd17, %r34; + cvt.u64.u32 %rd18, %r35; + mov.u64 %rd21, uvnormal; + cvta.global.u64 %rd16, %rd21; + mov.u32 %r32, 2; + mov.u32 %r33, 4; + mov.u64 %rd20, 0; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r32, %r33, %rd17, %rd18, %rd20, %rd20); + // inline asm + ld.u32 %r1, [%rd15]; + shr.u32 %r38, %r1, 16; + cvt.u16.u32 %rs1, %r38; + and.b16 %rs10, %rs1, 255; + cvt.u16.u32 %rs11, %r1; + or.b16 %rs12, %rs11, %rs10; + setp.eq.s16 %p6, %rs12, 0; + mov.f32 %f995, 0f00000000; + mov.f32 %f996, %f995; + mov.f32 %f997, %f995; + @%p6 bra BB0_2; + + ld.u8 %rs13, [%rd15+1]; + and.b16 %rs15, %rs11, 255; + cvt.rn.f32.u16 %f145, %rs15; + div.rn.f32 %f146, %f145, 0f437F0000; + fma.rn.f32 %f147, %f146, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f148, %rs13; + div.rn.f32 %f149, %f148, 0f437F0000; + fma.rn.f32 %f150, %f149, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f151, %rs10; + div.rn.f32 %f152, %f151, 0f437F0000; + fma.rn.f32 %f153, %f152, 0f40000000, 0fBF800000; + mul.f32 %f154, %f150, %f150; + fma.rn.f32 %f155, %f147, %f147, %f154; + fma.rn.f32 %f156, %f153, %f153, %f155; + sqrt.rn.f32 %f157, %f156; + rcp.rn.f32 %f158, %f157; + mul.f32 %f995, %f147, %f158; + mul.f32 %f996, %f150, %f158; + mul.f32 %f997, %f153, %f158; + +BB0_2: + ld.global.v2.u32 {%r39, %r40}, [pixelID]; + ld.global.v2.u32 {%r42, %r43}, [tileInfo]; + add.s32 %r2, %r39, %r42; + add.s32 %r3, %r40, %r43; + setp.eq.f32 %p7, %f996, 0f00000000; + setp.eq.f32 %p8, %f995, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f997, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_105; + bra.uni BB0_3; + +BB0_105: + ld.global.u32 %r244, [imageEnabled]; + and.b32 %r200, %r244, 1; + setp.eq.b32 %p121, %r200, 1; + @!%p121 bra BB0_107; + bra.uni BB0_106; + +BB0_106: + cvt.u64.u32 %rd242, %r2; + cvt.u64.u32 %rd243, %r3; + mov.u64 %rd246, image; + cvta.global.u64 %rd241, %rd246; + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd241, %r32, %r33, %rd242, %rd243, %rd20, %rd20); + // inline asm + mov.u16 %rs158, 0; + st.v4.u8 [%rd240], {%rs158, %rs158, %rs158, %rs158}; + ld.global.u32 %r244, [imageEnabled]; + +BB0_107: + and.b32 %r203, %r244, 8; + setp.eq.s32 %p122, %r203, 0; + @%p122 bra BB0_109; + + cvt.u64.u32 %rd250, %r3; + cvt.u64.u32 %rd249, %r2; + mov.u64 %rd253, image_Mask; + cvta.global.u64 %rd248, %rd253; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r32, %r32, %rd249, %rd250, %rd20, %rd20); + // inline asm + mov.f32 %f915, 0f00000000; + cvt.rzi.u32.f32 %r206, %f915; + cvt.u16.u32 %rs159, %r206; + mov.u16 %rs160, 0; + st.v2.u8 [%rd247], {%rs159, %rs160}; + ld.global.u32 %r244, [imageEnabled]; + +BB0_109: + cvt.u64.u32 %rd13, %r2; + cvt.u64.u32 %rd14, %r3; + and.b32 %r207, %r244, 4; + setp.eq.s32 %p123, %r207, 0; + @%p123 bra BB0_113; + + ld.global.u32 %r208, [additive]; + setp.eq.s32 %p124, %r208, 0; + @%p124 bra BB0_112; + + mov.u64 %rd266, image_HDR; + cvta.global.u64 %rd255, %rd266; + mov.u32 %r212, 8; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r32, %r212, %rd13, %rd14, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs167, %rs168, %rs169, %rs170}, [%rd254]; + // inline asm + { cvt.f32.f16 %f916, %rs167;} + + // inline asm + // inline asm + { cvt.f32.f16 %f917, %rs168;} + + // inline asm + // inline asm + { cvt.f32.f16 %f918, %rs169;} + + // inline asm + // inline asm + call (%rd260), _rt_buffer_get_64, (%rd255, %r32, %r212, %rd13, %rd14, %rd20, %rd20); + // inline asm + add.f32 %f919, %f916, 0f00000000; + add.f32 %f920, %f917, 0f00000000; + add.f32 %f921, %f918, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs166, %f921;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs165, %f920;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs164, %f919;} + + // inline asm + mov.u16 %rs171, 0; + st.v4.u16 [%rd260], {%rs164, %rs165, %rs166, %rs171}; + bra.uni BB0_113; + +BB0_3: + ld.global.v2.u32 {%r49, %r50}, [pixelID]; + cvt.u64.u32 %rd24, %r49; + cvt.u64.u32 %rd25, %r50; + mov.u64 %rd28, uvpos; + cvta.global.u64 %rd23, %rd28; + mov.u32 %r48, 12; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r32, %r48, %rd24, %rd25, %rd20, %rd20); + // inline asm + ld.global.f32 %f7, [lightPos]; + ld.f32 %f12, [%rd22+8]; + ld.f32 %f10, [%rd22+4]; + ld.f32 %f8, [%rd22]; + sub.f32 %f161, %f7, %f8; + ld.global.f32 %f9, [lightPos+4]; + sub.f32 %f162, %f9, %f10; + ld.global.f32 %f11, [lightPos+8]; + sub.f32 %f163, %f11, %f12; + mul.f32 %f164, %f162, %f162; + fma.rn.f32 %f165, %f161, %f161, %f164; + fma.rn.f32 %f166, %f163, %f163, %f165; + sqrt.rn.f32 %f167, %f166; + rcp.rn.f32 %f168, %f167; + ld.global.f32 %f169, [lightFalloffFakeDistanceMult]; + mul.f32 %f16, %f167, %f169; + ld.global.f32 %f170, [lightInvCutoff]; + mul.f32 %f17, %f167, %f170; + mov.f32 %f174, 0f40800000; + abs.f32 %f19, %f17; + setp.lt.f32 %p12, %f19, 0f00800000; + mul.f32 %f176, %f19, 0f4B800000; + selp.f32 %f177, 0fC3170000, 0fC2FE0000, %p12; + selp.f32 %f178, %f176, %f19, %p12; + mov.b32 %r53, %f178; + and.b32 %r54, %r53, 8388607; + or.b32 %r55, %r54, 1065353216; + mov.b32 %f179, %r55; + shr.u32 %r56, %r53, 23; + cvt.rn.f32.u32 %f180, %r56; + add.f32 %f181, %f177, %f180; + setp.gt.f32 %p13, %f179, 0f3FB504F3; + mul.f32 %f182, %f179, 0f3F000000; + add.f32 %f183, %f181, 0f3F800000; + selp.f32 %f184, %f182, %f179, %p13; + selp.f32 %f185, %f183, %f181, %p13; + add.f32 %f186, %f184, 0fBF800000; + add.f32 %f160, %f184, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f159,%f160; + // inline asm + add.f32 %f187, %f186, %f186; + mul.f32 %f188, %f159, %f187; + mul.f32 %f189, %f188, %f188; + mov.f32 %f190, 0f3C4CAF63; + mov.f32 %f191, 0f3B18F0FE; + fma.rn.f32 %f192, %f191, %f189, %f190; + mov.f32 %f193, 0f3DAAAABD; + fma.rn.f32 %f194, %f192, %f189, %f193; + mul.rn.f32 %f195, %f194, %f189; + mul.rn.f32 %f196, %f195, %f188; + sub.f32 %f197, %f186, %f188; + neg.f32 %f198, %f188; + add.f32 %f199, %f197, %f197; + fma.rn.f32 %f200, %f198, %f186, %f199; + mul.rn.f32 %f201, %f159, %f200; + add.f32 %f202, %f196, %f188; + sub.f32 %f203, %f188, %f202; + add.f32 %f204, %f196, %f203; + add.f32 %f205, %f201, %f204; + add.f32 %f206, %f202, %f205; + sub.f32 %f207, %f202, %f206; + add.f32 %f208, %f205, %f207; + mov.f32 %f209, 0f3F317200; + mul.rn.f32 %f210, %f185, %f209; + mov.f32 %f211, 0f35BFBE8E; + mul.rn.f32 %f212, %f185, %f211; + add.f32 %f213, %f210, %f206; + sub.f32 %f214, %f210, %f213; + add.f32 %f215, %f206, %f214; + add.f32 %f216, %f208, %f215; + add.f32 %f217, %f212, %f216; + add.f32 %f218, %f213, %f217; + sub.f32 %f219, %f213, %f218; + add.f32 %f220, %f217, %f219; + mul.rn.f32 %f221, %f174, %f218; + neg.f32 %f222, %f221; + fma.rn.f32 %f223, %f174, %f218, %f222; + fma.rn.f32 %f224, %f174, %f220, %f223; + mov.f32 %f225, 0f00000000; + fma.rn.f32 %f226, %f225, %f218, %f224; + add.rn.f32 %f227, %f221, %f226; + neg.f32 %f228, %f227; + add.rn.f32 %f229, %f221, %f228; + add.rn.f32 %f230, %f229, %f226; + mov.b32 %r57, %f227; + setp.eq.s32 %p14, %r57, 1118925336; + add.s32 %r58, %r57, -1; + mov.b32 %f231, %r58; + add.f32 %f232, %f230, 0f37000000; + selp.f32 %f233, %f231, %f227, %p14; + selp.f32 %f20, %f232, %f230, %p14; + mul.f32 %f234, %f233, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f235, %f234; + mov.f32 %f236, 0fBF317200; + fma.rn.f32 %f237, %f235, %f236, %f233; + mov.f32 %f238, 0fB5BFBE8E; + fma.rn.f32 %f239, %f235, %f238, %f237; + mul.f32 %f240, %f239, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f241, %f240; + add.f32 %f242, %f235, 0f00000000; + ex2.approx.f32 %f243, %f242; + mul.f32 %f244, %f241, %f243; + setp.lt.f32 %p15, %f233, 0fC2D20000; + selp.f32 %f245, 0f00000000, %f244, %p15; + setp.gt.f32 %p16, %f233, 0f42D20000; + selp.f32 %f998, 0f7F800000, %f245, %p16; + setp.eq.f32 %p17, %f998, 0f7F800000; + @%p17 bra BB0_5; + + fma.rn.f32 %f998, %f998, %f20, %f998; + +BB0_5: + mov.f32 %f949, 0f40000000; + cvt.rzi.f32.f32 %f948, %f949; + add.f32 %f947, %f948, %f948; + mov.f32 %f946, 0f40800000; + sub.f32 %f945, %f946, %f947; + abs.f32 %f944, %f945; + setp.lt.f32 %p18, %f17, 0f00000000; + setp.eq.f32 %p19, %f944, 0f3F800000; + and.pred %p1, %p18, %p19; + mov.b32 %r59, %f998; + xor.b32 %r60, %r59, -2147483648; + mov.b32 %f246, %r60; + selp.f32 %f1000, %f246, %f998, %p1; + setp.eq.f32 %p20, %f17, 0f00000000; + @%p20 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f249, %f17, %f17; + selp.f32 %f1000, %f249, 0f00000000, %p19; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p21, %f17, 0f00000000; + @%p21 bra BB0_9; + + mov.f32 %f994, 0f40800000; + cvt.rzi.f32.f32 %f248, %f994; + setp.neu.f32 %p22, %f248, 0f40800000; + selp.f32 %f1000, 0f7FFFFFFF, %f1000, %p22; + +BB0_9: + abs.f32 %f950, %f17; + add.f32 %f250, %f950, 0f40800000; + mov.b32 %r61, %f250; + setp.lt.s32 %p24, %r61, 2139095040; + @%p24 bra BB0_14; + + abs.f32 %f992, %f17; + setp.gtu.f32 %p25, %f992, 0f7F800000; + @%p25 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f1000, %f17, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f993, %f17; + setp.neu.f32 %p26, %f993, 0f7F800000; + @%p26 bra BB0_14; + + selp.f32 %f1000, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + sub.f32 %f956, %f11, %f12; + mul.f32 %f955, %f956, %f168; + sub.f32 %f954, %f7, %f8; + mul.f32 %f953, %f954, %f168; + sub.f32 %f952, %f9, %f10; + mul.f32 %f951, %f952, %f168; + mov.f32 %f1006, 0f3F800000; + sub.f32 %f252, %f1006, %f1000; + setp.eq.f32 %p27, %f17, 0f3F800000; + selp.f32 %f253, 0f00000000, %f252, %p27; + cvt.sat.f32.f32 %f254, %f253; + ld.global.f32 %f255, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f256, %f16, %f16, %f255; + div.rn.f32 %f31, %f254, %f256; + mul.f32 %f257, %f996, %f951; + fma.rn.f32 %f258, %f995, %f953, %f257; + fma.rn.f32 %f32, %f997, %f955, %f258; + ld.global.u32 %r242, [imageEnabled]; + ld.global.f32 %f259, [lightColor+4]; + ld.global.f32 %f260, [lightColor]; + max.f32 %f261, %f260, %f259; + ld.global.f32 %f262, [lightColor+8]; + max.f32 %f263, %f261, %f262; + mul.f32 %f264, %f31, %f263; + setp.lt.f32 %p28, %f264, 0f3727C5AC; + @%p28 bra BB0_88; + bra.uni BB0_15; + +BB0_88: + and.b32 %r164, %r242, 1; + setp.eq.b32 %p114, %r164, 1; + @!%p114 bra BB0_90; + bra.uni BB0_89; + +BB0_89: + cvt.u64.u32 %rd148, %r2; + cvt.u64.u32 %rd149, %r3; + mov.u64 %rd152, image; + cvta.global.u64 %rd147, %rd152; + // inline asm + call (%rd146), _rt_buffer_get_64, (%rd147, %r32, %r33, %rd148, %rd149, %rd20, %rd20); + // inline asm + mov.u16 %rs106, 1; + mov.u16 %rs107, 0; + st.v4.u8 [%rd146], {%rs107, %rs107, %rs107, %rs106}; + ld.global.u32 %r242, [imageEnabled]; + +BB0_90: + and.b32 %r167, %r242, 8; + setp.eq.s32 %p115, %r167, 0; + @%p115 bra BB0_92; + + cvt.u64.u32 %rd156, %r3; + cvt.u64.u32 %rd155, %r2; + mov.u64 %rd159, image_Mask; + cvta.global.u64 %rd154, %rd159; + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd154, %r32, %r32, %rd155, %rd156, %rd20, %rd20); + // inline asm + mov.f32 %f880, 0f00000000; + cvt.rzi.u32.f32 %r170, %f880; + cvt.u16.u32 %rs108, %r170; + mov.u16 %rs109, 255; + st.v2.u8 [%rd153], {%rs108, %rs109}; + ld.global.u32 %r242, [imageEnabled]; + +BB0_92: + cvt.u64.u32 %rd11, %r2; + cvt.u64.u32 %rd12, %r3; + and.b32 %r171, %r242, 4; + setp.eq.s32 %p116, %r171, 0; + @%p116 bra BB0_96; + + ld.global.u32 %r172, [additive]; + setp.eq.s32 %p117, %r172, 0; + mov.f32 %f881, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f881;} + + // inline asm + @%p117 bra BB0_95; + + mov.u64 %rd172, image_HDR; + cvta.global.u64 %rd161, %rd172; + mov.u32 %r176, 8; + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd161, %r32, %r176, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs117, %rs118, %rs119, %rs120}, [%rd160]; + // inline asm + { cvt.f32.f16 %f882, %rs117;} + + // inline asm + // inline asm + { cvt.f32.f16 %f883, %rs118;} + + // inline asm + // inline asm + { cvt.f32.f16 %f884, %rs119;} + + // inline asm + // inline asm + call (%rd166), _rt_buffer_get_64, (%rd161, %r32, %r176, %rd11, %rd12, %rd20, %rd20); + // inline asm + add.f32 %f885, %f882, 0f00000000; + add.f32 %f886, %f883, 0f00000000; + add.f32 %f887, %f884, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f887;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs115, %f886;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs114, %f885;} + + // inline asm + st.v4.u16 [%rd166], {%rs114, %rs115, %rs116, %rs110}; + bra.uni BB0_96; + +BB0_15: + mov.f32 %f1004, 0f00000000; + mul.f32 %f266, %f8, 0f3456BF95; + abs.f32 %f267, %f995; + div.rn.f32 %f268, %f266, %f267; + abs.f32 %f269, %f996; + mul.f32 %f270, %f10, 0f3456BF95; + div.rn.f32 %f271, %f270, %f269; + abs.f32 %f272, %f997; + mul.f32 %f273, %f12, 0f3456BF95; + div.rn.f32 %f274, %f273, %f272; + abs.f32 %f275, %f268; + abs.f32 %f276, %f271; + abs.f32 %f277, %f274; + mov.f32 %f278, 0f38D1B717; + max.f32 %f279, %f275, %f278; + max.f32 %f280, %f276, %f278; + max.f32 %f281, %f277, %f278; + fma.rn.f32 %f33, %f995, %f279, %f8; + fma.rn.f32 %f34, %f996, %f280, %f10; + fma.rn.f32 %f35, %f997, %f281, %f12; + ld.global.u32 %r238, [samples]; + setp.lt.s32 %p29, %r238, 1; + @%p29 bra BB0_18; + + mul.f32 %f283, %f33, 0f3456BF95; + abs.f32 %f284, %f283; + mul.f32 %f285, %f34, 0f3456BF95; + abs.f32 %f286, %f285; + mul.f32 %f287, %f35, 0f3456BF95; + abs.f32 %f288, %f287; + max.f32 %f289, %f284, %f286; + max.f32 %f290, %f289, %f288; + max.f32 %f36, %f290, %f278; + add.u64 %rd29, %SP, 0; + cvta.to.local.u64 %rd2, %rd29; + mov.f32 %f1004, 0f00000000; + mov.u32 %r237, 0; + mov.u32 %r236, %r242; + mov.f32 %f1001, %f11; + mov.f32 %f1002, %f9; + mov.f32 %f1003, %f7; + bra.uni BB0_17; + +BB0_87: + ld.global.f32 %f1003, [lightPos]; + ld.global.f32 %f1002, [lightPos+4]; + ld.global.f32 %f1001, [lightPos+8]; + ld.global.u32 %r236, [imageEnabled]; + +BB0_17: + cvt.rn.f32.s32 %f300, %r237; + mul.f32 %f301, %f300, 0f3DD32618; + cvt.rmi.f32.f32 %f302, %f301; + sub.f32 %f303, %f301, %f302; + mul.f32 %f304, %f300, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f305, %f304; + sub.f32 %f306, %f304, %f305; + mul.f32 %f307, %f300, 0f3DC74539; + cvt.rmi.f32.f32 %f308, %f307; + sub.f32 %f309, %f307, %f308; + add.f32 %f310, %f306, 0f4199851F; + add.f32 %f311, %f309, 0f4199851F; + add.f32 %f312, %f303, 0f4199851F; + mul.f32 %f313, %f306, %f311; + fma.rn.f32 %f314, %f303, %f310, %f313; + fma.rn.f32 %f315, %f312, %f309, %f314; + add.f32 %f316, %f303, %f315; + add.f32 %f317, %f306, %f315; + add.f32 %f318, %f309, %f315; + add.f32 %f319, %f316, %f317; + mul.f32 %f320, %f318, %f319; + cvt.rmi.f32.f32 %f321, %f320; + sub.f32 %f322, %f320, %f321; + add.f32 %f323, %f316, %f318; + mul.f32 %f324, %f317, %f323; + cvt.rmi.f32.f32 %f325, %f324; + sub.f32 %f326, %f324, %f325; + add.f32 %f327, %f317, %f318; + mul.f32 %f328, %f316, %f327; + cvt.rmi.f32.f32 %f329, %f328; + sub.f32 %f330, %f328, %f329; + fma.rn.f32 %f331, %f322, 0f40000000, 0fBF800000; + fma.rn.f32 %f332, %f326, 0f40000000, 0fBF800000; + fma.rn.f32 %f333, %f330, 0f40000000, 0fBF800000; + ld.global.f32 %f334, [lightRadius]; + fma.rn.f32 %f335, %f334, %f331, %f1003; + fma.rn.f32 %f336, %f334, %f332, %f1002; + fma.rn.f32 %f337, %f334, %f333, %f1001; + sub.f32 %f338, %f335, %f8; + sub.f32 %f339, %f336, %f10; + sub.f32 %f340, %f337, %f12; + mul.f32 %f341, %f339, %f339; + fma.rn.f32 %f342, %f338, %f338, %f341; + fma.rn.f32 %f343, %f340, %f340, %f342; + sqrt.rn.f32 %f299, %f343; + rcp.rn.f32 %f344, %f299; + mul.f32 %f295, %f344, %f338; + mul.f32 %f296, %f344, %f339; + mul.f32 %f297, %f344, %f340; + and.b32 %r66, %r236, 32; + setp.eq.s32 %p30, %r66, 0; + selp.f32 %f345, 0f3F800000, 0f41200000, %p30; + mul.f32 %f298, %f345, %f36; + mov.u32 %r67, 1065353216; + st.local.u32 [%rd2], %r67; + ld.global.u32 %r63, [root]; + mov.u32 %r64, 1; + // inline asm + call _rt_trace_64, (%r63, %f33, %f34, %f35, %f295, %f296, %f297, %r64, %f298, %f299, %rd29, %r33); + // inline asm + ld.local.f32 %f346, [%rd2]; + add.f32 %f1004, %f1004, %f346; + ld.global.u32 %r238, [samples]; + add.s32 %r237, %r237, 1; + setp.lt.s32 %p31, %r237, %r238; + @%p31 bra BB0_87; + +BB0_18: + setp.eq.s32 %p32, %r238, 0; + @%p32 bra BB0_20; + + cvt.rn.f32.s32 %f348, %r238; + div.rn.f32 %f1006, %f1004, %f348; + +BB0_20: + ld.global.u32 %r68, [ignoreNormal]; + and.b32 %r69, %r242, 32; + or.b32 %r70, %r69, %r68; + setp.eq.s32 %p33, %r70, 0; + selp.f32 %f349, %f32, 0f3F800000, %p33; + cvt.sat.f32.f32 %f350, %f349; + mul.f32 %f351, %f31, %f350; + mul.f32 %f352, %f1006, %f351; + ld.global.f32 %f353, [lightColor]; + mul.f32 %f45, %f353, %f352; + ld.global.f32 %f354, [lightColor+4]; + mul.f32 %f46, %f354, %f352; + ld.global.f32 %f355, [lightColor+8]; + mul.f32 %f47, %f352, %f355; + ld.global.u32 %r240, [imageEnabled]; + and.b32 %r71, %r240, 8; + setp.eq.s32 %p34, %r71, 0; + @%p34 bra BB0_33; + + mov.f32 %f964, 0fB5BFBE8E; + mov.f32 %f963, 0fBF317200; + mov.f32 %f962, 0f35BFBE8E; + mov.f32 %f961, 0f3F317200; + mov.f32 %f960, 0f3DAAAABD; + mov.f32 %f959, 0f3C4CAF63; + mov.f32 %f958, 0f3B18F0FE; + cvt.u64.u32 %rd33, %r2; + cvt.u64.u32 %rd34, %r3; + mov.u64 %rd37, image_Mask; + cvta.global.u64 %rd32, %rd37; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd32, %r32, %r32, %rd33, %rd34, %rd20, %rd20); + // inline asm + mov.f32 %f358, 0f3E68BA2E; + cvt.rzi.f32.f32 %f359, %f358; + fma.rn.f32 %f360, %f359, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f48, %f360; + abs.f32 %f49, %f1006; + setp.lt.f32 %p35, %f49, 0f00800000; + mul.f32 %f361, %f49, 0f4B800000; + selp.f32 %f362, 0fC3170000, 0fC2FE0000, %p35; + selp.f32 %f363, %f361, %f49, %p35; + mov.b32 %r74, %f363; + and.b32 %r75, %r74, 8388607; + or.b32 %r76, %r75, 1065353216; + mov.b32 %f364, %r76; + shr.u32 %r77, %r74, 23; + cvt.rn.f32.u32 %f365, %r77; + add.f32 %f366, %f362, %f365; + setp.gt.f32 %p36, %f364, 0f3FB504F3; + mul.f32 %f367, %f364, 0f3F000000; + add.f32 %f368, %f366, 0f3F800000; + selp.f32 %f369, %f367, %f364, %p36; + selp.f32 %f370, %f368, %f366, %p36; + add.f32 %f371, %f369, 0fBF800000; + add.f32 %f357, %f369, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f356,%f357; + // inline asm + add.f32 %f372, %f371, %f371; + mul.f32 %f373, %f356, %f372; + mul.f32 %f374, %f373, %f373; + fma.rn.f32 %f377, %f958, %f374, %f959; + fma.rn.f32 %f379, %f377, %f374, %f960; + mul.rn.f32 %f380, %f379, %f374; + mul.rn.f32 %f381, %f380, %f373; + sub.f32 %f382, %f371, %f373; + neg.f32 %f383, %f373; + add.f32 %f384, %f382, %f382; + fma.rn.f32 %f385, %f383, %f371, %f384; + mul.rn.f32 %f386, %f356, %f385; + add.f32 %f387, %f381, %f373; + sub.f32 %f388, %f373, %f387; + add.f32 %f389, %f381, %f388; + add.f32 %f390, %f386, %f389; + add.f32 %f391, %f387, %f390; + sub.f32 %f392, %f387, %f391; + add.f32 %f393, %f390, %f392; + mul.rn.f32 %f395, %f370, %f961; + mul.rn.f32 %f397, %f370, %f962; + add.f32 %f398, %f395, %f391; + sub.f32 %f399, %f395, %f398; + add.f32 %f400, %f391, %f399; + add.f32 %f401, %f393, %f400; + add.f32 %f402, %f397, %f401; + add.f32 %f403, %f398, %f402; + sub.f32 %f404, %f398, %f403; + add.f32 %f405, %f402, %f404; + mov.f32 %f406, 0f3EE8BA2E; + mul.rn.f32 %f407, %f406, %f403; + neg.f32 %f408, %f407; + fma.rn.f32 %f409, %f406, %f403, %f408; + fma.rn.f32 %f410, %f406, %f405, %f409; + mov.f32 %f411, 0f00000000; + fma.rn.f32 %f412, %f411, %f403, %f410; + add.rn.f32 %f413, %f407, %f412; + neg.f32 %f414, %f413; + add.rn.f32 %f415, %f407, %f414; + add.rn.f32 %f416, %f415, %f412; + mov.b32 %r78, %f413; + setp.eq.s32 %p37, %r78, 1118925336; + add.s32 %r79, %r78, -1; + mov.b32 %f417, %r79; + add.f32 %f418, %f416, 0f37000000; + selp.f32 %f419, %f417, %f413, %p37; + selp.f32 %f50, %f418, %f416, %p37; + mul.f32 %f420, %f419, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f421, %f420; + fma.rn.f32 %f423, %f421, %f963, %f419; + fma.rn.f32 %f425, %f421, %f964, %f423; + mul.f32 %f426, %f425, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f427, %f426; + add.f32 %f428, %f421, 0f00000000; + ex2.approx.f32 %f429, %f428; + mul.f32 %f430, %f427, %f429; + setp.lt.f32 %p38, %f419, 0fC2D20000; + selp.f32 %f431, 0f00000000, %f430, %p38; + setp.gt.f32 %p39, %f419, 0f42D20000; + selp.f32 %f1007, 0f7F800000, %f431, %p39; + setp.eq.f32 %p40, %f1007, 0f7F800000; + @%p40 bra BB0_23; + + fma.rn.f32 %f1007, %f1007, %f50, %f1007; + +BB0_23: + setp.lt.f32 %p41, %f1006, 0f00000000; + setp.eq.f32 %p42, %f48, 0f3F800000; + and.pred %p2, %p41, %p42; + mov.b32 %r80, %f1007; + xor.b32 %r81, %r80, -2147483648; + mov.b32 %f432, %r81; + selp.f32 %f1009, %f432, %f1007, %p2; + setp.eq.f32 %p43, %f1006, 0f00000000; + @%p43 bra BB0_26; + bra.uni BB0_24; + +BB0_26: + add.f32 %f435, %f1006, %f1006; + selp.f32 %f1009, %f435, 0f00000000, %p42; + bra.uni BB0_27; + +BB0_112: + mov.u64 %rd273, image_HDR; + cvta.global.u64 %rd268, %rd273; + mov.u32 %r214, 8; + // inline asm + call (%rd267), _rt_buffer_get_64, (%rd268, %r32, %r214, %rd13, %rd14, %rd20, %rd20); + // inline asm + mov.f32 %f922, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs172, %f922;} + + // inline asm + mov.u16 %rs173, 0; + st.v4.u16 [%rd267], {%rs172, %rs172, %rs172, %rs173}; + +BB0_113: + ld.global.u32 %r215, [additive]; + setp.eq.s32 %p125, %r215, 0; + @%p125 bra BB0_115; + + mov.u64 %rd286, image_RNM0; + cvta.global.u64 %rd275, %rd286; + mov.u32 %r219, 8; + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd275, %r32, %r219, %rd13, %rd14, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs180, %rs181, %rs182, %rs183}, [%rd274]; + // inline asm + { cvt.f32.f16 %f923, %rs180;} + + // inline asm + // inline asm + { cvt.f32.f16 %f924, %rs181;} + + // inline asm + // inline asm + { cvt.f32.f16 %f925, %rs182;} + + // inline asm + // inline asm + call (%rd280), _rt_buffer_get_64, (%rd275, %r32, %r219, %rd13, %rd14, %rd20, %rd20); + // inline asm + add.f32 %f926, %f923, 0f00000000; + add.f32 %f927, %f924, 0f00000000; + add.f32 %f928, %f925, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs179, %f928;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs178, %f927;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs177, %f926;} + + // inline asm + mov.u16 %rs184, 0; + st.v4.u16 [%rd280], {%rs177, %rs178, %rs179, %rs184}; + bra.uni BB0_116; + +BB0_115: + mov.u64 %rd293, image_RNM0; + cvta.global.u64 %rd288, %rd293; + mov.u32 %r221, 8; + // inline asm + call (%rd287), _rt_buffer_get_64, (%rd288, %r32, %r221, %rd13, %rd14, %rd20, %rd20); + // inline asm + mov.f32 %f929, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs185, %f929;} + + // inline asm + mov.u16 %rs186, 0; + st.v4.u16 [%rd287], {%rs185, %rs185, %rs185, %rs186}; + +BB0_116: + ld.global.u32 %r222, [additive]; + setp.eq.s32 %p126, %r222, 0; + @%p126 bra BB0_118; + + mov.u64 %rd306, image_RNM1; + cvta.global.u64 %rd295, %rd306; + mov.u32 %r226, 8; + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd295, %r32, %r226, %rd13, %rd14, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs193, %rs194, %rs195, %rs196}, [%rd294]; + // inline asm + { cvt.f32.f16 %f930, %rs193;} + + // inline asm + // inline asm + { cvt.f32.f16 %f931, %rs194;} + + // inline asm + // inline asm + { cvt.f32.f16 %f932, %rs195;} + + // inline asm + // inline asm + call (%rd300), _rt_buffer_get_64, (%rd295, %r32, %r226, %rd13, %rd14, %rd20, %rd20); + // inline asm + add.f32 %f933, %f930, 0f00000000; + add.f32 %f934, %f931, 0f00000000; + add.f32 %f935, %f932, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs192, %f935;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs191, %f934;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs190, %f933;} + + // inline asm + mov.u16 %rs197, 0; + st.v4.u16 [%rd300], {%rs190, %rs191, %rs192, %rs197}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd313, image_RNM1; + cvta.global.u64 %rd308, %rd313; + mov.u32 %r228, 8; + // inline asm + call (%rd307), _rt_buffer_get_64, (%rd308, %r32, %r228, %rd13, %rd14, %rd20, %rd20); + // inline asm + mov.f32 %f936, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs198, %f936;} + + // inline asm + mov.u16 %rs199, 0; + st.v4.u16 [%rd307], {%rs198, %rs198, %rs198, %rs199}; + +BB0_119: + ld.global.u32 %r229, [additive]; + setp.eq.s32 %p127, %r229, 0; + @%p127 bra BB0_121; + + mov.u64 %rd326, image_RNM2; + cvta.global.u64 %rd315, %rd326; + mov.u32 %r233, 8; + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd315, %r32, %r233, %rd13, %rd14, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs206, %rs207, %rs208, %rs209}, [%rd314]; + // inline asm + { cvt.f32.f16 %f937, %rs206;} + + // inline asm + // inline asm + { cvt.f32.f16 %f938, %rs207;} + + // inline asm + // inline asm + { cvt.f32.f16 %f939, %rs208;} + + // inline asm + // inline asm + call (%rd320), _rt_buffer_get_64, (%rd315, %r32, %r233, %rd13, %rd14, %rd20, %rd20); + // inline asm + add.f32 %f940, %f937, 0f00000000; + add.f32 %f941, %f938, 0f00000000; + add.f32 %f942, %f939, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs205, %f942;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs204, %f941;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs203, %f940;} + + // inline asm + mov.u16 %rs210, 0; + st.v4.u16 [%rd320], {%rs203, %rs204, %rs205, %rs210}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd333, image_RNM2; + cvta.global.u64 %rd328, %rd333; + mov.u32 %r235, 8; + // inline asm + call (%rd327), _rt_buffer_get_64, (%rd328, %r32, %r235, %rd13, %rd14, %rd20, %rd20); + // inline asm + mov.f32 %f943, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs211, %f943;} + + // inline asm + mov.u16 %rs212, 0; + st.v4.u16 [%rd327], {%rs211, %rs211, %rs211, %rs212}; + bra.uni BB0_122; + +BB0_95: + mov.u64 %rd179, image_HDR; + cvta.global.u64 %rd174, %rd179; + mov.u32 %r178, 8; + // inline asm + call (%rd173), _rt_buffer_get_64, (%rd174, %r32, %r178, %rd11, %rd12, %rd20, %rd20); + // inline asm + mov.f32 %f888, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs121, %f888;} + + // inline asm + st.v4.u16 [%rd173], {%rs121, %rs121, %rs121, %rs110}; + +BB0_96: + ld.global.u32 %r179, [additive]; + setp.eq.s32 %p118, %r179, 0; + mov.f32 %f889, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs122, %f889;} + + // inline asm + @%p118 bra BB0_98; + + mov.u64 %rd192, image_RNM0; + cvta.global.u64 %rd181, %rd192; + mov.u32 %r183, 8; + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd181, %r32, %r183, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs129, %rs130, %rs131, %rs132}, [%rd180]; + // inline asm + { cvt.f32.f16 %f890, %rs129;} + + // inline asm + // inline asm + { cvt.f32.f16 %f891, %rs130;} + + // inline asm + // inline asm + { cvt.f32.f16 %f892, %rs131;} + + // inline asm + // inline asm + call (%rd186), _rt_buffer_get_64, (%rd181, %r32, %r183, %rd11, %rd12, %rd20, %rd20); + // inline asm + add.f32 %f893, %f890, 0f00000000; + add.f32 %f894, %f891, 0f00000000; + add.f32 %f895, %f892, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f895;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs127, %f894;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs126, %f893;} + + // inline asm + st.v4.u16 [%rd186], {%rs126, %rs127, %rs128, %rs122}; + bra.uni BB0_99; + +BB0_98: + mov.u64 %rd199, image_RNM0; + cvta.global.u64 %rd194, %rd199; + mov.u32 %r185, 8; + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd194, %r32, %r185, %rd11, %rd12, %rd20, %rd20); + // inline asm + mov.f32 %f896, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs133, %f896;} + + // inline asm + st.v4.u16 [%rd193], {%rs133, %rs133, %rs133, %rs122}; + +BB0_99: + ld.global.u32 %r186, [additive]; + setp.eq.s32 %p119, %r186, 0; + // inline asm + { cvt.rn.f16.f32 %rs134, %f889;} + + // inline asm + @%p119 bra BB0_101; + + mov.u64 %rd212, image_RNM1; + cvta.global.u64 %rd201, %rd212; + mov.u32 %r190, 8; + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd201, %r32, %r190, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs141, %rs142, %rs143, %rs144}, [%rd200]; + // inline asm + { cvt.f32.f16 %f898, %rs141;} + + // inline asm + // inline asm + { cvt.f32.f16 %f899, %rs142;} + + // inline asm + // inline asm + { cvt.f32.f16 %f900, %rs143;} + + // inline asm + // inline asm + call (%rd206), _rt_buffer_get_64, (%rd201, %r32, %r190, %rd11, %rd12, %rd20, %rd20); + // inline asm + add.f32 %f901, %f898, 0f00000000; + add.f32 %f902, %f899, 0f00000000; + add.f32 %f903, %f900, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f903;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs139, %f902;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs138, %f901;} + + // inline asm + st.v4.u16 [%rd206], {%rs138, %rs139, %rs140, %rs134}; + bra.uni BB0_102; + +BB0_101: + mov.u64 %rd219, image_RNM1; + cvta.global.u64 %rd214, %rd219; + mov.u32 %r192, 8; + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd214, %r32, %r192, %rd11, %rd12, %rd20, %rd20); + // inline asm + mov.f32 %f904, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs145, %f904;} + + // inline asm + st.v4.u16 [%rd213], {%rs145, %rs145, %rs145, %rs134}; + +BB0_102: + ld.global.u32 %r193, [additive]; + setp.eq.s32 %p120, %r193, 0; + // inline asm + { cvt.rn.f16.f32 %rs146, %f889;} + + // inline asm + @%p120 bra BB0_104; + + mov.u64 %rd232, image_RNM2; + cvta.global.u64 %rd221, %rd232; + mov.u32 %r197, 8; + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd221, %r32, %r197, %rd11, %rd12, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs153, %rs154, %rs155, %rs156}, [%rd220]; + // inline asm + { cvt.f32.f16 %f906, %rs153;} + + // inline asm + // inline asm + { cvt.f32.f16 %f907, %rs154;} + + // inline asm + // inline asm + { cvt.f32.f16 %f908, %rs155;} + + // inline asm + // inline asm + call (%rd226), _rt_buffer_get_64, (%rd221, %r32, %r197, %rd11, %rd12, %rd20, %rd20); + // inline asm + add.f32 %f909, %f906, 0f00000000; + add.f32 %f910, %f907, 0f00000000; + add.f32 %f911, %f908, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f911;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs151, %f910;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs150, %f909;} + + // inline asm + st.v4.u16 [%rd226], {%rs150, %rs151, %rs152, %rs146}; + bra.uni BB0_122; + +BB0_104: + mov.u64 %rd239, image_RNM2; + cvta.global.u64 %rd234, %rd239; + mov.u32 %r199, 8; + // inline asm + call (%rd233), _rt_buffer_get_64, (%rd234, %r32, %r199, %rd11, %rd12, %rd20, %rd20); + // inline asm + mov.f32 %f912, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs157, %f912;} + + // inline asm + st.v4.u16 [%rd233], {%rs157, %rs157, %rs157, %rs146}; + bra.uni BB0_122; + +BB0_24: + setp.geu.f32 %p44, %f1006, 0f00000000; + @%p44 bra BB0_27; + + cvt.rzi.f32.f32 %f434, %f406; + setp.neu.f32 %p45, %f434, 0f3EE8BA2E; + selp.f32 %f1009, 0f7FFFFFFF, %f1009, %p45; + +BB0_27: + add.f32 %f436, %f49, 0f3EE8BA2E; + mov.b32 %r82, %f436; + setp.lt.s32 %p47, %r82, 2139095040; + @%p47 bra BB0_32; + + setp.gtu.f32 %p48, %f49, 0f7F800000; + @%p48 bra BB0_31; + bra.uni BB0_29; + +BB0_31: + add.f32 %f1009, %f1006, 0f3EE8BA2E; + bra.uni BB0_32; + +BB0_29: + setp.neu.f32 %p49, %f49, 0f7F800000; + @%p49 bra BB0_32; + + selp.f32 %f1009, 0fFF800000, 0f7F800000, %p2; + +BB0_32: + mul.f32 %f437, %f1009, 0f437F0000; + setp.eq.f32 %p50, %f1006, 0f3F800000; + selp.f32 %f438, 0f437F0000, %f437, %p50; + cvt.rzi.u32.f32 %r83, %f438; + cvt.u16.u32 %rs17, %r83; + mov.u16 %rs18, 255; + st.v2.u8 [%rd31], {%rs17, %rs18}; + ld.global.u32 %r240, [imageEnabled]; + +BB0_33: + and.b32 %r84, %r240, 1; + setp.eq.b32 %p51, %r84, 1; + @!%p51 bra BB0_68; + bra.uni BB0_34; + +BB0_34: + mov.f32 %f971, 0fB5BFBE8E; + mov.f32 %f970, 0fBF317200; + mov.f32 %f969, 0f35BFBE8E; + mov.f32 %f968, 0f3F317200; + mov.f32 %f967, 0f3DAAAABD; + mov.f32 %f966, 0f3C4CAF63; + mov.f32 %f965, 0f3B18F0FE; + mov.f32 %f441, 0f3E666666; + cvt.rzi.f32.f32 %f442, %f441; + fma.rn.f32 %f443, %f442, 0fC0000000, 0f3EE66666; + abs.f32 %f61, %f443; + abs.f32 %f62, %f45; + setp.lt.f32 %p52, %f62, 0f00800000; + mul.f32 %f444, %f62, 0f4B800000; + selp.f32 %f445, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f446, %f444, %f62, %p52; + mov.b32 %r85, %f446; + and.b32 %r86, %r85, 8388607; + or.b32 %r87, %r86, 1065353216; + mov.b32 %f447, %r87; + shr.u32 %r88, %r85, 23; + cvt.rn.f32.u32 %f448, %r88; + add.f32 %f449, %f445, %f448; + setp.gt.f32 %p53, %f447, 0f3FB504F3; + mul.f32 %f450, %f447, 0f3F000000; + add.f32 %f451, %f449, 0f3F800000; + selp.f32 %f452, %f450, %f447, %p53; + selp.f32 %f453, %f451, %f449, %p53; + add.f32 %f454, %f452, 0fBF800000; + add.f32 %f440, %f452, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f439,%f440; + // inline asm + add.f32 %f455, %f454, %f454; + mul.f32 %f456, %f439, %f455; + mul.f32 %f457, %f456, %f456; + fma.rn.f32 %f460, %f965, %f457, %f966; + fma.rn.f32 %f462, %f460, %f457, %f967; + mul.rn.f32 %f463, %f462, %f457; + mul.rn.f32 %f464, %f463, %f456; + sub.f32 %f465, %f454, %f456; + neg.f32 %f466, %f456; + add.f32 %f467, %f465, %f465; + fma.rn.f32 %f468, %f466, %f454, %f467; + mul.rn.f32 %f469, %f439, %f468; + add.f32 %f470, %f464, %f456; + sub.f32 %f471, %f456, %f470; + add.f32 %f472, %f464, %f471; + add.f32 %f473, %f469, %f472; + add.f32 %f474, %f470, %f473; + sub.f32 %f475, %f470, %f474; + add.f32 %f476, %f473, %f475; + mul.rn.f32 %f478, %f453, %f968; + mul.rn.f32 %f480, %f453, %f969; + add.f32 %f481, %f478, %f474; + sub.f32 %f482, %f478, %f481; + add.f32 %f483, %f474, %f482; + add.f32 %f484, %f476, %f483; + add.f32 %f485, %f480, %f484; + add.f32 %f486, %f481, %f485; + sub.f32 %f487, %f481, %f486; + add.f32 %f488, %f485, %f487; + mov.f32 %f489, 0f3EE66666; + mul.rn.f32 %f490, %f489, %f486; + neg.f32 %f491, %f490; + fma.rn.f32 %f492, %f489, %f486, %f491; + fma.rn.f32 %f493, %f489, %f488, %f492; + mov.f32 %f494, 0f00000000; + fma.rn.f32 %f495, %f494, %f486, %f493; + add.rn.f32 %f496, %f490, %f495; + neg.f32 %f497, %f496; + add.rn.f32 %f498, %f490, %f497; + add.rn.f32 %f499, %f498, %f495; + mov.b32 %r89, %f496; + setp.eq.s32 %p54, %r89, 1118925336; + add.s32 %r90, %r89, -1; + mov.b32 %f500, %r90; + add.f32 %f501, %f499, 0f37000000; + selp.f32 %f502, %f500, %f496, %p54; + selp.f32 %f63, %f501, %f499, %p54; + mul.f32 %f503, %f502, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f504, %f503; + fma.rn.f32 %f506, %f504, %f970, %f502; + fma.rn.f32 %f508, %f504, %f971, %f506; + mul.f32 %f509, %f508, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f510, %f509; + add.f32 %f511, %f504, 0f00000000; + ex2.approx.f32 %f512, %f511; + mul.f32 %f513, %f510, %f512; + setp.lt.f32 %p55, %f502, 0fC2D20000; + selp.f32 %f514, 0f00000000, %f513, %p55; + setp.gt.f32 %p56, %f502, 0f42D20000; + selp.f32 %f1010, 0f7F800000, %f514, %p56; + setp.eq.f32 %p57, %f1010, 0f7F800000; + @%p57 bra BB0_36; + + fma.rn.f32 %f1010, %f1010, %f63, %f1010; + +BB0_36: + setp.lt.f32 %p58, %f45, 0f00000000; + setp.eq.f32 %p59, %f61, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r91, %f1010; + xor.b32 %r92, %r91, -2147483648; + mov.b32 %f515, %r92; + selp.f32 %f1012, %f515, %f1010, %p3; + setp.eq.f32 %p60, %f45, 0f00000000; + @%p60 bra BB0_39; + bra.uni BB0_37; + +BB0_39: + add.f32 %f518, %f45, %f45; + selp.f32 %f1012, %f518, 0f00000000, %p59; + bra.uni BB0_40; + +BB0_37: + setp.geu.f32 %p61, %f45, 0f00000000; + @%p61 bra BB0_40; + + cvt.rzi.f32.f32 %f517, %f489; + setp.neu.f32 %p62, %f517, 0f3EE66666; + selp.f32 %f1012, 0f7FFFFFFF, %f1012, %p62; + +BB0_40: + add.f32 %f519, %f62, 0f3EE66666; + mov.b32 %r93, %f519; + setp.lt.s32 %p64, %r93, 2139095040; + @%p64 bra BB0_45; + + setp.gtu.f32 %p65, %f62, 0f7F800000; + @%p65 bra BB0_44; + bra.uni BB0_42; + +BB0_44: + add.f32 %f1012, %f45, 0f3EE66666; + bra.uni BB0_45; + +BB0_42: + setp.neu.f32 %p66, %f62, 0f7F800000; + @%p66 bra BB0_45; + + selp.f32 %f1012, 0fFF800000, 0f7F800000, %p3; + +BB0_45: + mov.f32 %f978, 0fB5BFBE8E; + mov.f32 %f977, 0fBF317200; + mov.f32 %f976, 0f35BFBE8E; + mov.f32 %f975, 0f3F317200; + mov.f32 %f974, 0f3DAAAABD; + mov.f32 %f973, 0f3C4CAF63; + mov.f32 %f972, 0f3B18F0FE; + setp.eq.f32 %p67, %f45, 0f3F800000; + selp.f32 %f74, 0f3F800000, %f1012, %p67; + abs.f32 %f75, %f46; + setp.lt.f32 %p68, %f75, 0f00800000; + mul.f32 %f522, %f75, 0f4B800000; + selp.f32 %f523, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f524, %f522, %f75, %p68; + mov.b32 %r94, %f524; + and.b32 %r95, %r94, 8388607; + or.b32 %r96, %r95, 1065353216; + mov.b32 %f525, %r96; + shr.u32 %r97, %r94, 23; + cvt.rn.f32.u32 %f526, %r97; + add.f32 %f527, %f523, %f526; + setp.gt.f32 %p69, %f525, 0f3FB504F3; + mul.f32 %f528, %f525, 0f3F000000; + add.f32 %f529, %f527, 0f3F800000; + selp.f32 %f530, %f528, %f525, %p69; + selp.f32 %f531, %f529, %f527, %p69; + add.f32 %f532, %f530, 0fBF800000; + add.f32 %f521, %f530, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f520,%f521; + // inline asm + add.f32 %f533, %f532, %f532; + mul.f32 %f534, %f520, %f533; + mul.f32 %f535, %f534, %f534; + fma.rn.f32 %f538, %f972, %f535, %f973; + fma.rn.f32 %f540, %f538, %f535, %f974; + mul.rn.f32 %f541, %f540, %f535; + mul.rn.f32 %f542, %f541, %f534; + sub.f32 %f543, %f532, %f534; + neg.f32 %f544, %f534; + add.f32 %f545, %f543, %f543; + fma.rn.f32 %f546, %f544, %f532, %f545; + mul.rn.f32 %f547, %f520, %f546; + add.f32 %f548, %f542, %f534; + sub.f32 %f549, %f534, %f548; + add.f32 %f550, %f542, %f549; + add.f32 %f551, %f547, %f550; + add.f32 %f552, %f548, %f551; + sub.f32 %f553, %f548, %f552; + add.f32 %f554, %f551, %f553; + mul.rn.f32 %f556, %f531, %f975; + mul.rn.f32 %f558, %f531, %f976; + add.f32 %f559, %f556, %f552; + sub.f32 %f560, %f556, %f559; + add.f32 %f561, %f552, %f560; + add.f32 %f562, %f554, %f561; + add.f32 %f563, %f558, %f562; + add.f32 %f564, %f559, %f563; + sub.f32 %f565, %f559, %f564; + add.f32 %f566, %f563, %f565; + mul.rn.f32 %f568, %f489, %f564; + neg.f32 %f569, %f568; + fma.rn.f32 %f570, %f489, %f564, %f569; + fma.rn.f32 %f571, %f489, %f566, %f570; + fma.rn.f32 %f573, %f494, %f564, %f571; + add.rn.f32 %f574, %f568, %f573; + neg.f32 %f575, %f574; + add.rn.f32 %f576, %f568, %f575; + add.rn.f32 %f577, %f576, %f573; + mov.b32 %r98, %f574; + setp.eq.s32 %p70, %r98, 1118925336; + add.s32 %r99, %r98, -1; + mov.b32 %f578, %r99; + add.f32 %f579, %f577, 0f37000000; + selp.f32 %f580, %f578, %f574, %p70; + selp.f32 %f76, %f579, %f577, %p70; + mul.f32 %f581, %f580, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f582, %f581; + fma.rn.f32 %f584, %f582, %f977, %f580; + fma.rn.f32 %f586, %f582, %f978, %f584; + mul.f32 %f587, %f586, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f588, %f587; + add.f32 %f589, %f582, 0f00000000; + ex2.approx.f32 %f590, %f589; + mul.f32 %f591, %f588, %f590; + setp.lt.f32 %p71, %f580, 0fC2D20000; + selp.f32 %f592, 0f00000000, %f591, %p71; + setp.gt.f32 %p72, %f580, 0f42D20000; + selp.f32 %f1013, 0f7F800000, %f592, %p72; + setp.eq.f32 %p73, %f1013, 0f7F800000; + @%p73 bra BB0_47; + + fma.rn.f32 %f1013, %f1013, %f76, %f1013; + +BB0_47: + setp.lt.f32 %p74, %f46, 0f00000000; + and.pred %p4, %p74, %p59; + mov.b32 %r100, %f1013; + xor.b32 %r101, %r100, -2147483648; + mov.b32 %f593, %r101; + selp.f32 %f1015, %f593, %f1013, %p4; + setp.eq.f32 %p76, %f46, 0f00000000; + @%p76 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f596, %f46, %f46; + selp.f32 %f1015, %f596, 0f00000000, %p59; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p77, %f46, 0f00000000; + @%p77 bra BB0_51; + + cvt.rzi.f32.f32 %f595, %f489; + setp.neu.f32 %p78, %f595, 0f3EE66666; + selp.f32 %f1015, 0f7FFFFFFF, %f1015, %p78; + +BB0_51: + add.f32 %f597, %f75, 0f3EE66666; + mov.b32 %r102, %f597; + setp.lt.s32 %p80, %r102, 2139095040; + @%p80 bra BB0_56; + + setp.gtu.f32 %p81, %f75, 0f7F800000; + @%p81 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f1015, %f46, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p82, %f75, 0f7F800000; + @%p82 bra BB0_56; + + selp.f32 %f1015, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f985, 0fB5BFBE8E; + mov.f32 %f984, 0fBF317200; + mov.f32 %f983, 0f35BFBE8E; + mov.f32 %f982, 0f3F317200; + mov.f32 %f981, 0f3DAAAABD; + mov.f32 %f980, 0f3C4CAF63; + mov.f32 %f979, 0f3B18F0FE; + setp.eq.f32 %p83, %f46, 0f3F800000; + selp.f32 %f87, 0f3F800000, %f1015, %p83; + abs.f32 %f88, %f47; + setp.lt.f32 %p84, %f88, 0f00800000; + mul.f32 %f600, %f88, 0f4B800000; + selp.f32 %f601, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f602, %f600, %f88, %p84; + mov.b32 %r103, %f602; + and.b32 %r104, %r103, 8388607; + or.b32 %r105, %r104, 1065353216; + mov.b32 %f603, %r105; + shr.u32 %r106, %r103, 23; + cvt.rn.f32.u32 %f604, %r106; + add.f32 %f605, %f601, %f604; + setp.gt.f32 %p85, %f603, 0f3FB504F3; + mul.f32 %f606, %f603, 0f3F000000; + add.f32 %f607, %f605, 0f3F800000; + selp.f32 %f608, %f606, %f603, %p85; + selp.f32 %f609, %f607, %f605, %p85; + add.f32 %f610, %f608, 0fBF800000; + add.f32 %f599, %f608, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f598,%f599; + // inline asm + add.f32 %f611, %f610, %f610; + mul.f32 %f612, %f598, %f611; + mul.f32 %f613, %f612, %f612; + fma.rn.f32 %f616, %f979, %f613, %f980; + fma.rn.f32 %f618, %f616, %f613, %f981; + mul.rn.f32 %f619, %f618, %f613; + mul.rn.f32 %f620, %f619, %f612; + sub.f32 %f621, %f610, %f612; + neg.f32 %f622, %f612; + add.f32 %f623, %f621, %f621; + fma.rn.f32 %f624, %f622, %f610, %f623; + mul.rn.f32 %f625, %f598, %f624; + add.f32 %f626, %f620, %f612; + sub.f32 %f627, %f612, %f626; + add.f32 %f628, %f620, %f627; + add.f32 %f629, %f625, %f628; + add.f32 %f630, %f626, %f629; + sub.f32 %f631, %f626, %f630; + add.f32 %f632, %f629, %f631; + mul.rn.f32 %f634, %f609, %f982; + mul.rn.f32 %f636, %f609, %f983; + add.f32 %f637, %f634, %f630; + sub.f32 %f638, %f634, %f637; + add.f32 %f639, %f630, %f638; + add.f32 %f640, %f632, %f639; + add.f32 %f641, %f636, %f640; + add.f32 %f642, %f637, %f641; + sub.f32 %f643, %f637, %f642; + add.f32 %f644, %f641, %f643; + mul.rn.f32 %f646, %f489, %f642; + neg.f32 %f647, %f646; + fma.rn.f32 %f648, %f489, %f642, %f647; + fma.rn.f32 %f649, %f489, %f644, %f648; + fma.rn.f32 %f651, %f494, %f642, %f649; + add.rn.f32 %f652, %f646, %f651; + neg.f32 %f653, %f652; + add.rn.f32 %f654, %f646, %f653; + add.rn.f32 %f655, %f654, %f651; + mov.b32 %r107, %f652; + setp.eq.s32 %p86, %r107, 1118925336; + add.s32 %r108, %r107, -1; + mov.b32 %f656, %r108; + add.f32 %f657, %f655, 0f37000000; + selp.f32 %f658, %f656, %f652, %p86; + selp.f32 %f89, %f657, %f655, %p86; + mul.f32 %f659, %f658, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f660, %f659; + fma.rn.f32 %f662, %f660, %f984, %f658; + fma.rn.f32 %f664, %f660, %f985, %f662; + mul.f32 %f665, %f664, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f666, %f665; + add.f32 %f667, %f660, 0f00000000; + ex2.approx.f32 %f668, %f667; + mul.f32 %f669, %f666, %f668; + setp.lt.f32 %p87, %f658, 0fC2D20000; + selp.f32 %f670, 0f00000000, %f669, %p87; + setp.gt.f32 %p88, %f658, 0f42D20000; + selp.f32 %f1016, 0f7F800000, %f670, %p88; + setp.eq.f32 %p89, %f1016, 0f7F800000; + @%p89 bra BB0_58; + + fma.rn.f32 %f1016, %f1016, %f89, %f1016; + +BB0_58: + setp.lt.f32 %p90, %f47, 0f00000000; + and.pred %p5, %p90, %p59; + mov.b32 %r109, %f1016; + xor.b32 %r110, %r109, -2147483648; + mov.b32 %f671, %r110; + selp.f32 %f1018, %f671, %f1016, %p5; + setp.eq.f32 %p92, %f47, 0f00000000; + @%p92 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f674, %f47, %f47; + selp.f32 %f1018, %f674, 0f00000000, %p59; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p93, %f47, 0f00000000; + @%p93 bra BB0_62; + + cvt.rzi.f32.f32 %f673, %f489; + setp.neu.f32 %p94, %f673, 0f3EE66666; + selp.f32 %f1018, 0f7FFFFFFF, %f1018, %p94; + +BB0_62: + add.f32 %f675, %f88, 0f3EE66666; + mov.b32 %r111, %f675; + setp.lt.s32 %p96, %r111, 2139095040; + @%p96 bra BB0_67; + + setp.gtu.f32 %p97, %f88, 0f7F800000; + @%p97 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f1018, %f47, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p98, %f88, 0f7F800000; + @%p98 bra BB0_67; + + selp.f32 %f1018, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + setp.eq.f32 %p99, %f47, 0f3F800000; + selp.f32 %f676, 0f3F800000, %f1018, %p99; + cvt.u64.u32 %rd41, %r3; + cvt.u64.u32 %rd40, %r2; + mov.u64 %rd44, image; + cvta.global.u64 %rd39, %rd44; + // inline asm + call (%rd38), _rt_buffer_get_64, (%rd39, %r32, %r33, %rd40, %rd41, %rd20, %rd20); + // inline asm + cvt.sat.f32.f32 %f677, %f676; + mul.f32 %f678, %f677, 0f437FFD71; + cvt.rzi.u32.f32 %r114, %f678; + cvt.sat.f32.f32 %f679, %f87; + mul.f32 %f680, %f679, 0f437FFD71; + cvt.rzi.u32.f32 %r115, %f680; + cvt.sat.f32.f32 %f681, %f74; + mul.f32 %f682, %f681, 0f437FFD71; + cvt.rzi.u32.f32 %r116, %f682; + cvt.u16.u32 %rs19, %r114; + cvt.u16.u32 %rs20, %r116; + cvt.u16.u32 %rs21, %r115; + mov.u16 %rs22, 255; + st.v4.u8 [%rd38], {%rs19, %rs21, %rs20, %rs22}; + ld.global.u32 %r240, [imageEnabled]; + +BB0_68: + and.b32 %r117, %r240, 4; + setp.eq.s32 %p100, %r117, 0; + @%p100 bra BB0_72; + + ld.global.u32 %r118, [additive]; + setp.eq.s32 %p101, %r118, 0; + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + mov.f32 %f683, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs23, %f683;} + + // inline asm + @%p101 bra BB0_71; + + mov.u64 %rd57, image_HDR; + cvta.global.u64 %rd46, %rd57; + mov.u32 %r122, 8; + // inline asm + call (%rd45), _rt_buffer_get_64, (%rd46, %r32, %r122, %rd4, %rd5, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs30, %rs31, %rs32, %rs33}, [%rd45]; + // inline asm + { cvt.f32.f16 %f684, %rs30;} + + // inline asm + // inline asm + { cvt.f32.f16 %f685, %rs31;} + + // inline asm + // inline asm + { cvt.f32.f16 %f686, %rs32;} + + // inline asm + // inline asm + call (%rd51), _rt_buffer_get_64, (%rd46, %r32, %r122, %rd4, %rd5, %rd20, %rd20); + // inline asm + add.f32 %f687, %f45, %f684; + add.f32 %f688, %f46, %f685; + add.f32 %f689, %f47, %f686; + // inline asm + { cvt.rn.f16.f32 %rs29, %f689;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f688;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f687;} + + // inline asm + st.v4.u16 [%rd51], {%rs27, %rs28, %rs29, %rs23}; + bra.uni BB0_72; + +BB0_71: + mov.u64 %rd64, image_HDR; + cvta.global.u64 %rd59, %rd64; + mov.u32 %r124, 8; + // inline asm + call (%rd58), _rt_buffer_get_64, (%rd59, %r32, %r124, %rd4, %rd5, %rd20, %rd20); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f47;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs35, %f46;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs34, %f45;} + + // inline asm + st.v4.u16 [%rd58], {%rs34, %rs35, %rs36, %rs23}; + +BB0_72: + mul.f32 %f696, %f31, %f1006; + ld.global.f32 %f697, [lightColor]; + mul.f32 %f100, %f696, %f697; + ld.global.f32 %f698, [lightColor+4]; + mul.f32 %f101, %f696, %f698; + ld.global.f32 %f699, [lightColor+8]; + mul.f32 %f102, %f696, %f699; + ld.global.v2.u32 {%r127, %r128}, [pixelID]; + cvt.u64.u32 %rd67, %r127; + cvt.u64.u32 %rd68, %r128; + mov.u64 %rd71, uvtangent; + cvta.global.u64 %rd66, %rd71; + // inline asm + call (%rd65), _rt_buffer_get_64, (%rd66, %r32, %r33, %rd67, %rd68, %rd20, %rd20); + // inline asm + ld.u32 %r16, [%rd65]; + shr.u32 %r17, %r16, 16; + cvt.u16.u32 %rs37, %r17; + and.b16 %rs38, %rs37, 255; + cvt.u16.u32 %rs39, %r16; + or.b16 %rs40, %rs39, %rs38; + setp.eq.s16 %p102, %rs40, 0; + mov.f32 %f1025, 0f00000000; + mov.f32 %f1019, %f1025; + mov.f32 %f1020, %f1025; + mov.f32 %f1021, %f1025; + @%p102 bra BB0_74; + + ld.u8 %rs41, [%rd65+1]; + and.b16 %rs43, %rs39, 255; + cvt.rn.f32.u16 %f700, %rs43; + div.rn.f32 %f701, %f700, 0f437F0000; + fma.rn.f32 %f702, %f701, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f703, %rs41; + div.rn.f32 %f704, %f703, 0f437F0000; + fma.rn.f32 %f705, %f704, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f706, %rs38; + div.rn.f32 %f707, %f706, 0f437F0000; + fma.rn.f32 %f708, %f707, 0f40000000, 0fBF800000; + mul.f32 %f709, %f705, %f705; + fma.rn.f32 %f710, %f702, %f702, %f709; + fma.rn.f32 %f711, %f708, %f708, %f710; + sqrt.rn.f32 %f712, %f711; + rcp.rn.f32 %f713, %f712; + mul.f32 %f1019, %f702, %f713; + mul.f32 %f1020, %f705, %f713; + mul.f32 %f1021, %f708, %f713; + +BB0_74: + mul.f32 %f717, %f997, %f1020; + mul.f32 %f718, %f996, %f1021; + sub.f32 %f719, %f718, %f717; + mul.f32 %f720, %f995, %f1021; + mul.f32 %f721, %f997, %f1019; + sub.f32 %f722, %f721, %f720; + mul.f32 %f723, %f996, %f1019; + mul.f32 %f724, %f995, %f1020; + sub.f32 %f725, %f724, %f723; + setp.lt.u32 %p103, %r16, 16777216; + selp.f32 %f726, 0fBF800000, 0f3F800000, %p103; + mul.f32 %f727, %f719, %f726; + mul.f32 %f728, %f722, %f726; + mul.f32 %f729, %f725, %f726; + mul.f32 %f730, %f727, 0f00000000; + mul.f32 %f731, %f728, 0f00000000; + mul.f32 %f732, %f729, 0f00000000; + fma.rn.f32 %f733, %f1019, 0f3F5105EC, %f730; + fma.rn.f32 %f734, %f1020, 0f3F5105EC, %f731; + fma.rn.f32 %f735, %f1021, 0f3F5105EC, %f732; + mul.f32 %f109, %f995, 0f3F13CD3A; + add.f32 %f110, %f109, %f733; + mul.f32 %f111, %f996, 0f3F13CD3A; + add.f32 %f112, %f111, %f734; + mul.f32 %f113, %f997, 0f3F13CD3A; + add.f32 %f114, %f113, %f735; + ld.global.v2.u32 {%r133, %r134}, [pixelID]; + cvt.u64.u32 %rd74, %r133; + cvt.u64.u32 %rd75, %r134; + // inline asm + call (%rd72), _rt_buffer_get_64, (%rd66, %r32, %r33, %rd74, %rd75, %rd20, %rd20); + // inline asm + ld.u32 %r18, [%rd72]; + shr.u32 %r19, %r18, 16; + cvt.u16.u32 %rs46, %r19; + and.b16 %rs47, %rs46, 255; + cvt.u16.u32 %rs48, %r18; + or.b16 %rs49, %rs48, %rs47; + setp.eq.s16 %p104, %rs49, 0; + mov.f32 %f1022, %f1025; + mov.f32 %f1023, %f1025; + mov.f32 %f1024, %f1025; + @%p104 bra BB0_76; + + ld.u8 %rs50, [%rd72+1]; + and.b16 %rs52, %rs48, 255; + cvt.rn.f32.u16 %f736, %rs52; + div.rn.f32 %f737, %f736, 0f437F0000; + fma.rn.f32 %f738, %f737, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f739, %rs50; + div.rn.f32 %f740, %f739, 0f437F0000; + fma.rn.f32 %f741, %f740, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f742, %rs47; + div.rn.f32 %f743, %f742, 0f437F0000; + fma.rn.f32 %f744, %f743, 0f40000000, 0fBF800000; + mul.f32 %f745, %f741, %f741; + fma.rn.f32 %f746, %f738, %f738, %f745; + fma.rn.f32 %f747, %f744, %f744, %f746; + sqrt.rn.f32 %f748, %f747; + rcp.rn.f32 %f749, %f748; + mul.f32 %f1022, %f738, %f749; + mul.f32 %f1023, %f741, %f749; + mul.f32 %f1024, %f744, %f749; + +BB0_76: + mul.f32 %f753, %f997, %f1023; + mul.f32 %f754, %f996, %f1024; + sub.f32 %f755, %f754, %f753; + mul.f32 %f756, %f995, %f1024; + mul.f32 %f757, %f997, %f1022; + sub.f32 %f758, %f757, %f756; + mul.f32 %f759, %f996, %f1022; + mul.f32 %f760, %f995, %f1023; + sub.f32 %f761, %f760, %f759; + setp.lt.u32 %p105, %r18, 16777216; + selp.f32 %f762, 0fBF800000, 0f3F800000, %p105; + mul.f32 %f763, %f755, %f762; + mul.f32 %f764, %f758, %f762; + mul.f32 %f765, %f761, %f762; + mul.f32 %f766, %f763, 0f3F3504F3; + mul.f32 %f767, %f764, 0f3F3504F3; + mul.f32 %f768, %f765, 0f3F3504F3; + fma.rn.f32 %f769, %f1022, 0fBED105EC, %f766; + fma.rn.f32 %f770, %f1023, 0fBED105EC, %f767; + fma.rn.f32 %f771, %f1024, 0fBED105EC, %f768; + add.f32 %f121, %f109, %f769; + add.f32 %f122, %f111, %f770; + add.f32 %f123, %f113, %f771; + ld.global.v2.u32 {%r139, %r140}, [pixelID]; + cvt.u64.u32 %rd81, %r139; + cvt.u64.u32 %rd82, %r140; + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd66, %r32, %r33, %rd81, %rd82, %rd20, %rd20); + // inline asm + ld.u32 %r20, [%rd79]; + shr.u32 %r21, %r20, 16; + cvt.u16.u32 %rs55, %r21; + and.b16 %rs56, %rs55, 255; + cvt.u16.u32 %rs57, %r20; + or.b16 %rs58, %rs57, %rs56; + setp.eq.s16 %p106, %rs58, 0; + mov.f32 %f1026, %f1025; + mov.f32 %f1027, %f1025; + @%p106 bra BB0_78; + + ld.u8 %rs59, [%rd79+1]; + and.b16 %rs61, %rs57, 255; + cvt.rn.f32.u16 %f772, %rs61; + div.rn.f32 %f773, %f772, 0f437F0000; + fma.rn.f32 %f774, %f773, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f775, %rs59; + div.rn.f32 %f776, %f775, 0f437F0000; + fma.rn.f32 %f777, %f776, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f778, %rs56; + div.rn.f32 %f779, %f778, 0f437F0000; + fma.rn.f32 %f780, %f779, 0f40000000, 0fBF800000; + mul.f32 %f781, %f777, %f777; + fma.rn.f32 %f782, %f774, %f774, %f781; + fma.rn.f32 %f783, %f780, %f780, %f782; + sqrt.rn.f32 %f784, %f783; + rcp.rn.f32 %f785, %f784; + mul.f32 %f1025, %f774, %f785; + mul.f32 %f1026, %f777, %f785; + mul.f32 %f1027, %f780, %f785; + +BB0_78: + sub.f32 %f991, %f11, %f12; + mul.f32 %f990, %f991, %f168; + sub.f32 %f989, %f7, %f8; + mul.f32 %f988, %f989, %f168; + sub.f32 %f987, %f9, %f10; + mul.f32 %f986, %f987, %f168; + mul.f32 %f787, %f997, %f1026; + mul.f32 %f788, %f996, %f1027; + sub.f32 %f789, %f788, %f787; + mul.f32 %f790, %f995, %f1027; + mul.f32 %f791, %f997, %f1025; + sub.f32 %f792, %f791, %f790; + mul.f32 %f793, %f996, %f1025; + mul.f32 %f794, %f995, %f1026; + sub.f32 %f795, %f794, %f793; + setp.lt.u32 %p107, %r20, 16777216; + selp.f32 %f796, 0fBF800000, 0f3F800000, %p107; + mul.f32 %f797, %f789, %f796; + mul.f32 %f798, %f792, %f796; + mul.f32 %f799, %f795, %f796; + mul.f32 %f800, %f797, 0fBF3504F3; + mul.f32 %f801, %f798, 0fBF3504F3; + mul.f32 %f802, %f799, 0fBF3504F3; + fma.rn.f32 %f803, %f1025, 0fBED105EC, %f800; + fma.rn.f32 %f804, %f1026, 0fBED105EC, %f801; + fma.rn.f32 %f805, %f1027, 0fBED105EC, %f802; + add.f32 %f806, %f109, %f803; + add.f32 %f807, %f111, %f804; + add.f32 %f808, %f113, %f805; + mul.f32 %f809, %f986, %f112; + fma.rn.f32 %f810, %f988, %f110, %f809; + fma.rn.f32 %f811, %f990, %f114, %f810; + cvt.sat.f32.f32 %f812, %f811; + mul.f32 %f813, %f100, %f812; + mul.f32 %f814, %f101, %f812; + mul.f32 %f815, %f102, %f812; + mul.f32 %f816, %f986, %f122; + fma.rn.f32 %f817, %f988, %f121, %f816; + fma.rn.f32 %f818, %f990, %f123, %f817; + cvt.sat.f32.f32 %f819, %f818; + mul.f32 %f820, %f100, %f819; + mul.f32 %f821, %f101, %f819; + mul.f32 %f822, %f102, %f819; + mul.f32 %f823, %f986, %f807; + fma.rn.f32 %f824, %f988, %f806, %f823; + fma.rn.f32 %f825, %f990, %f808, %f824; + cvt.sat.f32.f32 %f826, %f825; + mul.f32 %f827, %f100, %f826; + mul.f32 %f828, %f101, %f826; + mul.f32 %f829, %f102, %f826; + cvt.sat.f32.f32 %f830, %f32; + mul.f32 %f831, %f100, %f830; + mul.f32 %f832, %f101, %f830; + mul.f32 %f833, %f102, %f830; + add.f32 %f834, %f813, %f820; + add.f32 %f835, %f814, %f821; + add.f32 %f836, %f815, %f822; + add.f32 %f837, %f834, %f827; + add.f32 %f838, %f835, %f828; + add.f32 %f839, %f836, %f829; + mul.f32 %f840, %f837, 0f3F13CD3A; + mul.f32 %f841, %f838, 0f3F13CD3A; + mul.f32 %f842, %f839, 0f3F13CD3A; + div.rn.f32 %f843, %f831, %f840; + div.rn.f32 %f844, %f832, %f841; + div.rn.f32 %f845, %f833, %f842; + setp.eq.f32 %p108, %f831, 0f00000000; + selp.f32 %f846, 0f00000000, %f843, %p108; + setp.eq.f32 %p109, %f832, 0f00000000; + selp.f32 %f847, 0f00000000, %f844, %p109; + setp.eq.f32 %p110, %f833, 0f00000000; + selp.f32 %f848, 0f00000000, %f845, %p110; + mul.f32 %f130, %f813, %f846; + mul.f32 %f131, %f814, %f847; + mul.f32 %f132, %f815, %f848; + mul.f32 %f133, %f820, %f846; + mul.f32 %f134, %f821, %f847; + mul.f32 %f135, %f822, %f848; + mul.f32 %f136, %f827, %f846; + mul.f32 %f137, %f828, %f847; + mul.f32 %f138, %f829, %f848; + ld.global.u32 %r143, [additive]; + setp.eq.s32 %p111, %r143, 0; + cvt.u64.u32 %rd9, %r2; + cvt.u64.u32 %rd10, %r3; + mov.f32 %f786, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs64, %f786;} + + // inline asm + @%p111 bra BB0_80; + + mov.u64 %rd98, image_RNM0; + cvta.global.u64 %rd87, %rd98; + mov.u32 %r147, 8; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd87, %r32, %r147, %rd9, %rd10, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs71, %rs72, %rs73, %rs74}, [%rd86]; + // inline asm + { cvt.f32.f16 %f849, %rs71;} + + // inline asm + // inline asm + { cvt.f32.f16 %f850, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f851, %rs73;} + + // inline asm + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd87, %r32, %r147, %rd9, %rd10, %rd20, %rd20); + // inline asm + add.f32 %f852, %f130, %f849; + add.f32 %f853, %f131, %f850; + add.f32 %f854, %f132, %f851; + // inline asm + { cvt.rn.f16.f32 %rs70, %f854;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f853;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs68, %f852;} + + // inline asm + st.v4.u16 [%rd92], {%rs68, %rs69, %rs70, %rs64}; + bra.uni BB0_81; + +BB0_80: + mov.u64 %rd105, image_RNM0; + cvta.global.u64 %rd100, %rd105; + mov.u32 %r149, 8; + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd100, %r32, %r149, %rd9, %rd10, %rd20, %rd20); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f132;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f131;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f130;} + + // inline asm + st.v4.u16 [%rd99], {%rs75, %rs76, %rs77, %rs64}; + +BB0_81: + ld.global.u32 %r150, [additive]; + setp.eq.s32 %p112, %r150, 0; + // inline asm + { cvt.rn.f16.f32 %rs78, %f786;} + + // inline asm + @%p112 bra BB0_83; + + mov.u64 %rd118, image_RNM1; + cvta.global.u64 %rd107, %rd118; + mov.u32 %r154, 8; + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd107, %r32, %r154, %rd9, %rd10, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs85, %rs86, %rs87, %rs88}, [%rd106]; + // inline asm + { cvt.f32.f16 %f859, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f860, %rs86;} + + // inline asm + // inline asm + { cvt.f32.f16 %f861, %rs87;} + + // inline asm + // inline asm + call (%rd112), _rt_buffer_get_64, (%rd107, %r32, %r154, %rd9, %rd10, %rd20, %rd20); + // inline asm + add.f32 %f862, %f133, %f859; + add.f32 %f863, %f134, %f860; + add.f32 %f864, %f135, %f861; + // inline asm + { cvt.rn.f16.f32 %rs84, %f864;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f863;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f862;} + + // inline asm + st.v4.u16 [%rd112], {%rs82, %rs83, %rs84, %rs78}; + bra.uni BB0_84; + +BB0_83: + mov.u64 %rd125, image_RNM1; + cvta.global.u64 %rd120, %rd125; + mov.u32 %r156, 8; + // inline asm + call (%rd119), _rt_buffer_get_64, (%rd120, %r32, %r156, %rd9, %rd10, %rd20, %rd20); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f135;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f134;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f133;} + + // inline asm + st.v4.u16 [%rd119], {%rs89, %rs90, %rs91, %rs78}; + +BB0_84: + ld.global.u32 %r157, [additive]; + setp.eq.s32 %p113, %r157, 0; + // inline asm + { cvt.rn.f16.f32 %rs92, %f786;} + + // inline asm + @%p113 bra BB0_86; + + mov.u64 %rd138, image_RNM2; + cvta.global.u64 %rd127, %rd138; + mov.u32 %r161, 8; + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd127, %r32, %r161, %rd9, %rd10, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd126]; + // inline asm + { cvt.f32.f16 %f869, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f870, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f871, %rs101;} + + // inline asm + // inline asm + call (%rd132), _rt_buffer_get_64, (%rd127, %r32, %r161, %rd9, %rd10, %rd20, %rd20); + // inline asm + add.f32 %f872, %f136, %f869; + add.f32 %f873, %f137, %f870; + add.f32 %f874, %f138, %f871; + // inline asm + { cvt.rn.f16.f32 %rs98, %f874;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f873;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f872;} + + // inline asm + st.v4.u16 [%rd132], {%rs96, %rs97, %rs98, %rs92}; + bra.uni BB0_122; + +BB0_86: + mov.u64 %rd145, image_RNM2; + cvta.global.u64 %rd140, %rd145; + mov.u32 %r163, 8; + // inline asm + call (%rd139), _rt_buffer_get_64, (%rd140, %r32, %r163, %rd9, %rd10, %rd20, %rd20); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs105, %f138;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f137;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f136;} + + // inline asm + st.v4.u16 [%rd139], {%rs103, %rs104, %rs105, %rs92}; + +BB0_122: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightRNM.ptx.meta new file mode 100644 index 00000000..d8661604 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5cd9d2a00197a554a92057b6afd31c44 +timeCreated: 1537522739 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightSH.ptx new file mode 100644 index 00000000..525980e0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightSH.ptx @@ -0,0 +1,2408 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 4 .u32 samples; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightRadius; +.global .align 4 .b8 lightPos[12]; +.global .align 4 .b8 lightColor[12]; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .f32 lightFalloffFakeDistanceMult; +.global .align 4 .f32 lightFalloffMinRadiusSq; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightRadiusE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8lightPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo28lightFalloffFakeDistanceMultE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo23lightFalloffMinRadiusSqE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11lightRadiusE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8lightPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename28lightFalloffFakeDistanceMultE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename23lightFalloffMinRadiusSqE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightRadiusE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8lightPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum28lightFalloffFakeDistanceMultE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum23lightFalloffMinRadiusSqE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightRadiusE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8lightPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic23lightFalloffMinRadiusSqE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightRadiusE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8lightPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation28lightFalloffFakeDistanceMultE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation23lightFalloffMinRadiusSqE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[4]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<139>; + .reg .b16 %rs<221>; + .reg .f32 %f<979>; + .reg .b32 %r<251>; + .reg .b64 %rd<369>; + + + mov.u64 %rd368, __local_depot0; + cvta.local.u64 %SP, %rd368; + ld.global.v2.u32 {%r28, %r29}, [pixelID]; + cvt.u64.u32 %rd12, %r28; + cvt.u64.u32 %rd13, %r29; + mov.u64 %rd16, uvnormal; + cvta.global.u64 %rd11, %rd16; + mov.u32 %r26, 2; + mov.u32 %r27, 4; + mov.u64 %rd15, 0; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r26, %r27, %rd12, %rd13, %rd15, %rd15); + // inline asm + ld.u32 %r1, [%rd10]; + shr.u32 %r32, %r1, 16; + cvt.u16.u32 %rs1, %r32; + and.b16 %rs12, %rs1, 255; + cvt.u16.u32 %rs13, %r1; + or.b16 %rs14, %rs13, %rs12; + setp.eq.s16 %p7, %rs14, 0; + mov.f32 %f952, 0f00000000; + mov.f32 %f953, %f952; + mov.f32 %f954, %f952; + @%p7 bra BB0_2; + + ld.u8 %rs15, [%rd10+1]; + and.b16 %rs17, %rs13, 255; + cvt.rn.f32.u16 %f128, %rs17; + div.rn.f32 %f129, %f128, 0f437F0000; + fma.rn.f32 %f130, %f129, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f131, %rs15; + div.rn.f32 %f132, %f131, 0f437F0000; + fma.rn.f32 %f133, %f132, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f134, %rs12; + div.rn.f32 %f135, %f134, 0f437F0000; + fma.rn.f32 %f136, %f135, 0f40000000, 0fBF800000; + mul.f32 %f137, %f133, %f133; + fma.rn.f32 %f138, %f130, %f130, %f137; + fma.rn.f32 %f139, %f136, %f136, %f138; + sqrt.rn.f32 %f140, %f139; + rcp.rn.f32 %f141, %f140; + mul.f32 %f952, %f130, %f141; + mul.f32 %f953, %f133, %f141; + mul.f32 %f954, %f136, %f141; + +BB0_2: + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + ld.global.v2.u32 {%r36, %r37}, [tileInfo]; + add.s32 %r2, %r33, %r36; + add.s32 %r3, %r34, %r37; + setp.eq.f32 %p8, %f953, 0f00000000; + setp.eq.f32 %p9, %f952, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f954, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_116; + bra.uni BB0_3; + +BB0_116: + ld.global.u32 %r250, [imageEnabled]; + and.b32 %r199, %r250, 1; + setp.eq.b32 %p131, %r199, 1; + @!%p131 bra BB0_118; + bra.uni BB0_117; + +BB0_117: + cvt.u64.u32 %rd256, %r2; + cvt.u64.u32 %rd257, %r3; + mov.u64 %rd260, image; + cvta.global.u64 %rd255, %rd260; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r26, %r27, %rd256, %rd257, %rd15, %rd15); + // inline asm + mov.u16 %rs153, 0; + st.v4.u8 [%rd254], {%rs153, %rs153, %rs153, %rs153}; + ld.global.u32 %r250, [imageEnabled]; + +BB0_118: + and.b32 %r202, %r250, 8; + setp.eq.s32 %p132, %r202, 0; + @%p132 bra BB0_120; + + cvt.u64.u32 %rd264, %r3; + cvt.u64.u32 %rd263, %r2; + mov.u64 %rd267, image_Mask; + cvta.global.u64 %rd262, %rd267; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r26, %r26, %rd263, %rd264, %rd15, %rd15); + // inline asm + mov.f32 %f849, 0f00000000; + cvt.rzi.u32.f32 %r205, %f849; + cvt.u16.u32 %rs154, %r205; + mov.u16 %rs155, 0; + st.v2.u8 [%rd261], {%rs154, %rs155}; + ld.global.u32 %r250, [imageEnabled]; + +BB0_120: + cvt.u64.u32 %rd8, %r2; + cvt.u64.u32 %rd9, %r3; + and.b32 %r206, %r250, 4; + setp.eq.s32 %p133, %r206, 0; + @%p133 bra BB0_124; + + ld.global.u32 %r207, [additive]; + setp.eq.s32 %p134, %r207, 0; + @%p134 bra BB0_123; + + mov.u64 %rd280, image_HDR; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r211, 8; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r26, %r211, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs162, %rs163, %rs164, %rs165}, [%rd268]; + // inline asm + { cvt.f32.f16 %f850, %rs162;} + + // inline asm + // inline asm + { cvt.f32.f16 %f851, %rs163;} + + // inline asm + // inline asm + { cvt.f32.f16 %f852, %rs164;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r26, %r211, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f853, %f850, 0f00000000; + add.f32 %f854, %f851, 0f00000000; + add.f32 %f855, %f852, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs161, %f855;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs160, %f854;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs159, %f853;} + + // inline asm + mov.u16 %rs166, 0; + st.v4.u16 [%rd274], {%rs159, %rs160, %rs161, %rs166}; + bra.uni BB0_124; + +BB0_3: + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd19, %r43; + cvt.u64.u32 %rd20, %r44; + mov.u64 %rd23, uvpos; + cvta.global.u64 %rd18, %rd23; + mov.u32 %r42, 12; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd18, %r26, %r42, %rd19, %rd20, %rd15, %rd15); + // inline asm + ld.global.f32 %f7, [lightPos]; + ld.f32 %f12, [%rd17+8]; + ld.f32 %f10, [%rd17+4]; + ld.f32 %f8, [%rd17]; + sub.f32 %f144, %f7, %f8; + ld.global.f32 %f9, [lightPos+4]; + sub.f32 %f145, %f9, %f10; + ld.global.f32 %f11, [lightPos+8]; + sub.f32 %f146, %f11, %f12; + mul.f32 %f147, %f145, %f145; + fma.rn.f32 %f148, %f144, %f144, %f147; + fma.rn.f32 %f149, %f146, %f146, %f148; + sqrt.rn.f32 %f150, %f149; + rcp.rn.f32 %f151, %f150; + ld.global.f32 %f152, [lightFalloffFakeDistanceMult]; + mul.f32 %f16, %f150, %f152; + ld.global.f32 %f153, [lightInvCutoff]; + mul.f32 %f17, %f150, %f153; + mov.f32 %f157, 0f40800000; + abs.f32 %f19, %f17; + setp.lt.f32 %p13, %f19, 0f00800000; + mul.f32 %f159, %f19, 0f4B800000; + selp.f32 %f160, 0fC3170000, 0fC2FE0000, %p13; + selp.f32 %f161, %f159, %f19, %p13; + mov.b32 %r47, %f161; + and.b32 %r48, %r47, 8388607; + or.b32 %r49, %r48, 1065353216; + mov.b32 %f162, %r49; + shr.u32 %r50, %r47, 23; + cvt.rn.f32.u32 %f163, %r50; + add.f32 %f164, %f160, %f163; + setp.gt.f32 %p14, %f162, 0f3FB504F3; + mul.f32 %f165, %f162, 0f3F000000; + add.f32 %f166, %f164, 0f3F800000; + selp.f32 %f167, %f165, %f162, %p14; + selp.f32 %f168, %f166, %f164, %p14; + add.f32 %f169, %f167, 0fBF800000; + add.f32 %f143, %f167, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f142,%f143; + // inline asm + add.f32 %f170, %f169, %f169; + mul.f32 %f171, %f142, %f170; + mul.f32 %f172, %f171, %f171; + mov.f32 %f173, 0f3C4CAF63; + mov.f32 %f174, 0f3B18F0FE; + fma.rn.f32 %f175, %f174, %f172, %f173; + mov.f32 %f176, 0f3DAAAABD; + fma.rn.f32 %f177, %f175, %f172, %f176; + mul.rn.f32 %f178, %f177, %f172; + mul.rn.f32 %f179, %f178, %f171; + sub.f32 %f180, %f169, %f171; + neg.f32 %f181, %f171; + add.f32 %f182, %f180, %f180; + fma.rn.f32 %f183, %f181, %f169, %f182; + mul.rn.f32 %f184, %f142, %f183; + add.f32 %f185, %f179, %f171; + sub.f32 %f186, %f171, %f185; + add.f32 %f187, %f179, %f186; + add.f32 %f188, %f184, %f187; + add.f32 %f189, %f185, %f188; + sub.f32 %f190, %f185, %f189; + add.f32 %f191, %f188, %f190; + mov.f32 %f192, 0f3F317200; + mul.rn.f32 %f193, %f168, %f192; + mov.f32 %f194, 0f35BFBE8E; + mul.rn.f32 %f195, %f168, %f194; + add.f32 %f196, %f193, %f189; + sub.f32 %f197, %f193, %f196; + add.f32 %f198, %f189, %f197; + add.f32 %f199, %f191, %f198; + add.f32 %f200, %f195, %f199; + add.f32 %f201, %f196, %f200; + sub.f32 %f202, %f196, %f201; + add.f32 %f203, %f200, %f202; + mul.rn.f32 %f204, %f157, %f201; + neg.f32 %f205, %f204; + fma.rn.f32 %f206, %f157, %f201, %f205; + fma.rn.f32 %f207, %f157, %f203, %f206; + mov.f32 %f208, 0f00000000; + fma.rn.f32 %f209, %f208, %f201, %f207; + add.rn.f32 %f210, %f204, %f209; + neg.f32 %f211, %f210; + add.rn.f32 %f212, %f204, %f211; + add.rn.f32 %f213, %f212, %f209; + mov.b32 %r51, %f210; + setp.eq.s32 %p15, %r51, 1118925336; + add.s32 %r52, %r51, -1; + mov.b32 %f214, %r52; + add.f32 %f215, %f213, 0f37000000; + selp.f32 %f216, %f214, %f210, %p15; + selp.f32 %f20, %f215, %f213, %p15; + mul.f32 %f217, %f216, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f218, %f217; + mov.f32 %f219, 0fBF317200; + fma.rn.f32 %f220, %f218, %f219, %f216; + mov.f32 %f221, 0fB5BFBE8E; + fma.rn.f32 %f222, %f218, %f221, %f220; + mul.f32 %f223, %f222, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f224, %f223; + add.f32 %f225, %f218, 0f00000000; + ex2.approx.f32 %f226, %f225; + mul.f32 %f227, %f224, %f226; + setp.lt.f32 %p16, %f216, 0fC2D20000; + selp.f32 %f228, 0f00000000, %f227, %p16; + setp.gt.f32 %p17, %f216, 0f42D20000; + selp.f32 %f955, 0f7F800000, %f228, %p17; + setp.eq.f32 %p18, %f955, 0f7F800000; + @%p18 bra BB0_5; + + fma.rn.f32 %f955, %f955, %f20, %f955; + +BB0_5: + mov.f32 %f890, 0f40000000; + cvt.rzi.f32.f32 %f889, %f890; + add.f32 %f888, %f889, %f889; + mov.f32 %f887, 0f40800000; + sub.f32 %f886, %f887, %f888; + abs.f32 %f885, %f886; + setp.lt.f32 %p19, %f17, 0f00000000; + setp.eq.f32 %p20, %f885, 0f3F800000; + and.pred %p1, %p19, %p20; + mov.b32 %r53, %f955; + xor.b32 %r54, %r53, -2147483648; + mov.b32 %f229, %r54; + selp.f32 %f957, %f229, %f955, %p1; + setp.eq.f32 %p21, %f17, 0f00000000; + @%p21 bra BB0_8; + bra.uni BB0_6; + +BB0_8: + add.f32 %f232, %f17, %f17; + selp.f32 %f957, %f232, 0f00000000, %p20; + bra.uni BB0_9; + +BB0_6: + setp.geu.f32 %p22, %f17, 0f00000000; + @%p22 bra BB0_9; + + mov.f32 %f943, 0f40800000; + cvt.rzi.f32.f32 %f231, %f943; + setp.neu.f32 %p23, %f231, 0f40800000; + selp.f32 %f957, 0f7FFFFFFF, %f957, %p23; + +BB0_9: + abs.f32 %f891, %f17; + add.f32 %f233, %f891, 0f40800000; + mov.b32 %r55, %f233; + setp.lt.s32 %p25, %r55, 2139095040; + @%p25 bra BB0_14; + + abs.f32 %f941, %f17; + setp.gtu.f32 %p26, %f941, 0f7F800000; + @%p26 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f957, %f17, 0f40800000; + bra.uni BB0_14; + +BB0_11: + abs.f32 %f942, %f17; + setp.neu.f32 %p27, %f942, 0f7F800000; + @%p27 bra BB0_14; + + selp.f32 %f957, 0fFF800000, 0f7F800000, %p1; + +BB0_14: + sub.f32 %f905, %f11, %f12; + mul.f32 %f904, %f905, %f151; + sub.f32 %f903, %f7, %f8; + mul.f32 %f902, %f903, %f151; + sub.f32 %f901, %f9, %f10; + mul.f32 %f900, %f901, %f151; + mov.f32 %f899, 0fB5BFBE8E; + mov.f32 %f898, 0fBF317200; + mov.f32 %f897, 0f00000000; + mov.f32 %f896, 0f35BFBE8E; + mov.f32 %f895, 0f3F317200; + mov.f32 %f894, 0f3DAAAABD; + mov.f32 %f893, 0f3C4CAF63; + mov.f32 %f892, 0f3B18F0FE; + mov.f32 %f236, 0f3F800000; + sub.f32 %f237, %f236, %f957; + setp.eq.f32 %p28, %f17, 0f3F800000; + selp.f32 %f238, 0f00000000, %f237, %p28; + cvt.sat.f32.f32 %f239, %f238; + ld.global.f32 %f240, [lightFalloffMinRadiusSq]; + fma.rn.f32 %f241, %f16, %f16, %f240; + div.rn.f32 %f31, %f239, %f241; + mul.f32 %f242, %f953, %f900; + fma.rn.f32 %f243, %f952, %f902, %f242; + fma.rn.f32 %f244, %f954, %f904, %f243; + ld.global.u32 %r248, [imageEnabled]; + and.b32 %r56, %r248, 32; + ld.global.u32 %r57, [ignoreNormal]; + or.b32 %r58, %r56, %r57; + setp.eq.s32 %p29, %r58, 0; + selp.f32 %f32, %f244, 0f3F800000, %p29; + fma.rn.f32 %f245, %f32, 0f3F000000, 0f3F000000; + cvt.sat.f32.f32 %f246, %f245; + add.f32 %f33, %f246, %f246; + mov.f32 %f250, 0f41A00000; + abs.f32 %f35, %f33; + setp.lt.f32 %p30, %f35, 0f00800000; + mul.f32 %f252, %f35, 0f4B800000; + selp.f32 %f253, 0fC3170000, 0fC2FE0000, %p30; + selp.f32 %f254, %f252, %f35, %p30; + mov.b32 %r59, %f254; + and.b32 %r60, %r59, 8388607; + or.b32 %r61, %r60, 1065353216; + mov.b32 %f255, %r61; + shr.u32 %r62, %r59, 23; + cvt.rn.f32.u32 %f256, %r62; + add.f32 %f257, %f253, %f256; + setp.gt.f32 %p31, %f255, 0f3FB504F3; + mul.f32 %f258, %f255, 0f3F000000; + add.f32 %f259, %f257, 0f3F800000; + selp.f32 %f260, %f258, %f255, %p31; + selp.f32 %f261, %f259, %f257, %p31; + add.f32 %f262, %f260, 0fBF800000; + add.f32 %f235, %f260, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f234,%f235; + // inline asm + add.f32 %f263, %f262, %f262; + mul.f32 %f264, %f234, %f263; + mul.f32 %f265, %f264, %f264; + fma.rn.f32 %f268, %f892, %f265, %f893; + fma.rn.f32 %f270, %f268, %f265, %f894; + mul.rn.f32 %f271, %f270, %f265; + mul.rn.f32 %f272, %f271, %f264; + sub.f32 %f273, %f262, %f264; + neg.f32 %f274, %f264; + add.f32 %f275, %f273, %f273; + fma.rn.f32 %f276, %f274, %f262, %f275; + mul.rn.f32 %f277, %f234, %f276; + add.f32 %f278, %f272, %f264; + sub.f32 %f279, %f264, %f278; + add.f32 %f280, %f272, %f279; + add.f32 %f281, %f277, %f280; + add.f32 %f282, %f278, %f281; + sub.f32 %f283, %f278, %f282; + add.f32 %f284, %f281, %f283; + mul.rn.f32 %f286, %f261, %f895; + mul.rn.f32 %f288, %f261, %f896; + add.f32 %f289, %f286, %f282; + sub.f32 %f290, %f286, %f289; + add.f32 %f291, %f282, %f290; + add.f32 %f292, %f284, %f291; + add.f32 %f293, %f288, %f292; + add.f32 %f294, %f289, %f293; + sub.f32 %f295, %f289, %f294; + add.f32 %f296, %f293, %f295; + mul.rn.f32 %f297, %f250, %f294; + neg.f32 %f298, %f297; + fma.rn.f32 %f299, %f250, %f294, %f298; + fma.rn.f32 %f300, %f250, %f296, %f299; + fma.rn.f32 %f302, %f897, %f294, %f300; + add.rn.f32 %f303, %f297, %f302; + neg.f32 %f304, %f303; + add.rn.f32 %f305, %f297, %f304; + add.rn.f32 %f306, %f305, %f302; + mov.b32 %r63, %f303; + setp.eq.s32 %p32, %r63, 1118925336; + add.s32 %r64, %r63, -1; + mov.b32 %f307, %r64; + add.f32 %f308, %f306, 0f37000000; + selp.f32 %f309, %f307, %f303, %p32; + selp.f32 %f36, %f308, %f306, %p32; + mul.f32 %f310, %f309, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f311, %f310; + fma.rn.f32 %f313, %f311, %f898, %f309; + fma.rn.f32 %f315, %f311, %f899, %f313; + mul.f32 %f316, %f315, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f317, %f316; + add.f32 %f318, %f311, 0f00000000; + ex2.approx.f32 %f319, %f318; + mul.f32 %f320, %f317, %f319; + setp.lt.f32 %p33, %f309, 0fC2D20000; + selp.f32 %f321, 0f00000000, %f320, %p33; + setp.gt.f32 %p34, %f309, 0f42D20000; + selp.f32 %f958, 0f7F800000, %f321, %p34; + setp.eq.f32 %p35, %f958, 0f7F800000; + @%p35 bra BB0_16; + + fma.rn.f32 %f958, %f958, %f36, %f958; + +BB0_16: + mov.f32 %f949, 0f41200000; + cvt.rzi.f32.f32 %f948, %f949; + add.f32 %f947, %f948, %f948; + mov.f32 %f946, 0f41A00000; + sub.f32 %f945, %f946, %f947; + abs.f32 %f944, %f945; + setp.lt.f32 %p36, %f33, 0f00000000; + setp.eq.f32 %p37, %f944, 0f3F800000; + and.pred %p2, %p36, %p37; + mov.b32 %r65, %f958; + xor.b32 %r66, %r65, -2147483648; + mov.b32 %f322, %r66; + selp.f32 %f960, %f322, %f958, %p2; + setp.eq.f32 %p38, %f33, 0f00000000; + @%p38 bra BB0_19; + bra.uni BB0_17; + +BB0_19: + add.f32 %f325, %f33, %f33; + selp.f32 %f960, %f325, 0f00000000, %p37; + bra.uni BB0_20; + +BB0_17: + setp.geu.f32 %p39, %f33, 0f00000000; + @%p39 bra BB0_20; + + mov.f32 %f951, 0f41A00000; + cvt.rzi.f32.f32 %f324, %f951; + setp.neu.f32 %p40, %f324, 0f41A00000; + selp.f32 %f960, 0f7FFFFFFF, %f960, %p40; + +BB0_20: + add.f32 %f326, %f35, 0f41A00000; + mov.b32 %r67, %f326; + setp.lt.s32 %p42, %r67, 2139095040; + @%p42 bra BB0_25; + + setp.gtu.f32 %p43, %f35, 0f7F800000; + @%p43 bra BB0_24; + bra.uni BB0_22; + +BB0_24: + add.f32 %f960, %f33, 0f41A00000; + bra.uni BB0_25; + +BB0_22: + setp.neu.f32 %p44, %f35, 0f7F800000; + @%p44 bra BB0_25; + + selp.f32 %f960, 0fFF800000, 0f7F800000, %p2; + +BB0_25: + setp.eq.f32 %p45, %f33, 0f3F800000; + selp.f32 %f327, 0f3F800000, %f960, %p45; + cvt.sat.f32.f32 %f328, %f327; + mul.f32 %f47, %f31, %f328; + mul.f32 %f329, %f32, 0f40800000; + cvt.sat.f32.f32 %f48, %f329; + mul.f32 %f330, %f47, %f48; + ld.global.f32 %f331, [lightColor+4]; + ld.global.f32 %f332, [lightColor]; + max.f32 %f333, %f332, %f331; + ld.global.f32 %f334, [lightColor+8]; + max.f32 %f335, %f333, %f334; + mul.f32 %f336, %f330, %f335; + setp.lt.f32 %p46, %f336, 0f3727C5AC; + @%p46 bra BB0_96; + bra.uni BB0_26; + +BB0_96: + and.b32 %r156, %r248, 1; + setp.eq.b32 %p123, %r156, 1; + @!%p123 bra BB0_98; + bra.uni BB0_97; + +BB0_97: + cvt.u64.u32 %rd142, %r2; + cvt.u64.u32 %rd143, %r3; + mov.u64 %rd146, image; + cvta.global.u64 %rd141, %rd146; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r26, %r27, %rd142, %rd143, %rd15, %rd15); + // inline asm + mov.u16 %rs89, 1; + mov.u16 %rs90, 0; + st.v4.u8 [%rd140], {%rs90, %rs90, %rs90, %rs89}; + ld.global.u32 %r248, [imageEnabled]; + +BB0_98: + and.b32 %r159, %r248, 8; + setp.eq.s32 %p124, %r159, 0; + @%p124 bra BB0_100; + + cvt.u64.u32 %rd150, %r3; + cvt.u64.u32 %rd149, %r2; + mov.u64 %rd153, image_Mask; + cvta.global.u64 %rd148, %rd153; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r26, %r26, %rd149, %rd150, %rd15, %rd15); + // inline asm + mov.f32 %f806, 0f00000000; + cvt.rzi.u32.f32 %r162, %f806; + cvt.u16.u32 %rs91, %r162; + mov.u16 %rs92, 255; + st.v2.u8 [%rd147], {%rs91, %rs92}; + ld.global.u32 %r248, [imageEnabled]; + +BB0_100: + cvt.u64.u32 %rd6, %r2; + cvt.u64.u32 %rd7, %r3; + and.b32 %r163, %r248, 4; + setp.eq.s32 %p125, %r163, 0; + @%p125 bra BB0_104; + + ld.global.u32 %r164, [additive]; + setp.eq.s32 %p126, %r164, 0; + mov.f32 %f807, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs93, %f807;} + + // inline asm + @%p126 bra BB0_103; + + mov.u64 %rd166, image_HDR; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r168, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r26, %r168, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs100, %rs101, %rs102, %rs103}, [%rd154]; + // inline asm + { cvt.f32.f16 %f808, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f809, %rs101;} + + // inline asm + // inline asm + { cvt.f32.f16 %f810, %rs102;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r26, %r168, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f811, %f808, 0f00000000; + add.f32 %f812, %f809, 0f00000000; + add.f32 %f813, %f810, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs99, %f813;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f812;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f811;} + + // inline asm + st.v4.u16 [%rd160], {%rs97, %rs98, %rs99, %rs93}; + bra.uni BB0_104; + +BB0_26: + mov.f32 %f964, 0f00000000; + mul.f32 %f338, %f8, 0f3456BF95; + abs.f32 %f339, %f952; + div.rn.f32 %f340, %f338, %f339; + abs.f32 %f341, %f953; + mul.f32 %f342, %f10, 0f3456BF95; + div.rn.f32 %f343, %f342, %f341; + abs.f32 %f344, %f954; + mul.f32 %f345, %f12, 0f3456BF95; + div.rn.f32 %f346, %f345, %f344; + abs.f32 %f347, %f340; + abs.f32 %f348, %f343; + abs.f32 %f349, %f346; + mov.f32 %f350, 0f38D1B717; + max.f32 %f351, %f347, %f350; + max.f32 %f352, %f348, %f350; + max.f32 %f353, %f349, %f350; + fma.rn.f32 %f49, %f952, %f351, %f8; + fma.rn.f32 %f50, %f953, %f352, %f10; + fma.rn.f32 %f51, %f954, %f353, %f12; + ld.global.u32 %r244, [samples]; + setp.lt.s32 %p47, %r244, 1; + @%p47 bra BB0_29; + + mul.f32 %f355, %f49, 0f3456BF95; + abs.f32 %f356, %f355; + mul.f32 %f357, %f50, 0f3456BF95; + abs.f32 %f358, %f357; + mul.f32 %f359, %f51, 0f3456BF95; + abs.f32 %f360, %f359; + max.f32 %f361, %f356, %f358; + max.f32 %f362, %f361, %f360; + max.f32 %f52, %f362, %f350; + add.u64 %rd24, %SP, 0; + cvta.to.local.u64 %rd2, %rd24; + mov.f32 %f964, 0f00000000; + mov.u32 %r243, 0; + mov.f32 %f961, %f11; + mov.f32 %f962, %f9; + mov.f32 %f963, %f7; + bra.uni BB0_28; + +BB0_95: + ld.global.f32 %f963, [lightPos]; + ld.global.f32 %f962, [lightPos+4]; + ld.global.f32 %f961, [lightPos+8]; + ld.global.u32 %r248, [imageEnabled]; + +BB0_28: + cvt.rn.f32.s32 %f372, %r243; + mul.f32 %f373, %f372, 0f3DD32618; + cvt.rmi.f32.f32 %f374, %f373; + sub.f32 %f375, %f373, %f374; + mul.f32 %f376, %f372, 0f3DD2F1AA; + cvt.rmi.f32.f32 %f377, %f376; + sub.f32 %f378, %f376, %f377; + mul.f32 %f379, %f372, 0f3DC74539; + cvt.rmi.f32.f32 %f380, %f379; + sub.f32 %f381, %f379, %f380; + add.f32 %f382, %f378, 0f4199851F; + add.f32 %f383, %f381, 0f4199851F; + add.f32 %f384, %f375, 0f4199851F; + mul.f32 %f385, %f378, %f383; + fma.rn.f32 %f386, %f375, %f382, %f385; + fma.rn.f32 %f387, %f384, %f381, %f386; + add.f32 %f388, %f375, %f387; + add.f32 %f389, %f378, %f387; + add.f32 %f390, %f381, %f387; + add.f32 %f391, %f388, %f389; + mul.f32 %f392, %f390, %f391; + cvt.rmi.f32.f32 %f393, %f392; + sub.f32 %f394, %f392, %f393; + add.f32 %f395, %f388, %f390; + mul.f32 %f396, %f389, %f395; + cvt.rmi.f32.f32 %f397, %f396; + sub.f32 %f398, %f396, %f397; + add.f32 %f399, %f389, %f390; + mul.f32 %f400, %f388, %f399; + cvt.rmi.f32.f32 %f401, %f400; + sub.f32 %f402, %f400, %f401; + fma.rn.f32 %f403, %f394, 0f40000000, 0fBF800000; + fma.rn.f32 %f404, %f398, 0f40000000, 0fBF800000; + fma.rn.f32 %f405, %f402, 0f40000000, 0fBF800000; + ld.global.f32 %f406, [lightRadius]; + fma.rn.f32 %f407, %f406, %f403, %f963; + fma.rn.f32 %f408, %f406, %f404, %f962; + fma.rn.f32 %f409, %f406, %f405, %f961; + sub.f32 %f410, %f407, %f8; + sub.f32 %f411, %f408, %f10; + sub.f32 %f412, %f409, %f12; + mul.f32 %f413, %f411, %f411; + fma.rn.f32 %f414, %f410, %f410, %f413; + fma.rn.f32 %f415, %f412, %f412, %f414; + sqrt.rn.f32 %f371, %f415; + rcp.rn.f32 %f416, %f371; + mul.f32 %f367, %f416, %f410; + mul.f32 %f368, %f416, %f411; + mul.f32 %f369, %f416, %f412; + and.b32 %r72, %r248, 32; + setp.eq.s32 %p48, %r72, 0; + selp.f32 %f417, 0f3F800000, 0f41200000, %p48; + mul.f32 %f370, %f417, %f52; + mov.u32 %r73, 1065353216; + st.local.u32 [%rd2], %r73; + ld.global.u32 %r69, [root]; + mov.u32 %r70, 1; + // inline asm + call _rt_trace_64, (%r69, %f49, %f50, %f51, %f367, %f368, %f369, %r70, %f370, %f371, %rd24, %r27); + // inline asm + ld.local.f32 %f418, [%rd2]; + add.f32 %f964, %f964, %f418; + ld.global.u32 %r244, [samples]; + add.s32 %r243, %r243, 1; + setp.lt.s32 %p49, %r243, %r244; + @%p49 bra BB0_95; + +BB0_29: + mov.f32 %f966, 0f3F800000; + setp.eq.s32 %p50, %r244, 0; + @%p50 bra BB0_31; + + cvt.rn.f32.s32 %f420, %r244; + div.rn.f32 %f966, %f964, %f420; + +BB0_31: + cvt.sat.f32.f32 %f421, %f32; + mul.f32 %f422, %f47, %f421; + mul.f32 %f423, %f966, %f422; + ld.global.f32 %f424, [lightColor]; + mul.f32 %f61, %f424, %f423; + ld.global.f32 %f425, [lightColor+4]; + mul.f32 %f62, %f425, %f423; + ld.global.f32 %f426, [lightColor+8]; + mul.f32 %f63, %f423, %f426; + ld.global.u32 %r246, [imageEnabled]; + and.b32 %r74, %r246, 8; + setp.eq.s32 %p51, %r74, 0; + @%p51 bra BB0_44; + + mov.f32 %f913, 0fB5BFBE8E; + mov.f32 %f912, 0fBF317200; + mov.f32 %f911, 0f35BFBE8E; + mov.f32 %f910, 0f3F317200; + mov.f32 %f909, 0f3DAAAABD; + mov.f32 %f908, 0f3C4CAF63; + mov.f32 %f907, 0f3B18F0FE; + cvt.u64.u32 %rd28, %r2; + cvt.u64.u32 %rd29, %r3; + mov.u64 %rd32, image_Mask; + cvta.global.u64 %rd27, %rd32; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r26, %r26, %rd28, %rd29, %rd15, %rd15); + // inline asm + mov.f32 %f429, 0f3E68BA2E; + cvt.rzi.f32.f32 %f430, %f429; + fma.rn.f32 %f431, %f430, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f64, %f431; + abs.f32 %f65, %f966; + setp.lt.f32 %p52, %f65, 0f00800000; + mul.f32 %f432, %f65, 0f4B800000; + selp.f32 %f433, 0fC3170000, 0fC2FE0000, %p52; + selp.f32 %f434, %f432, %f65, %p52; + mov.b32 %r77, %f434; + and.b32 %r78, %r77, 8388607; + or.b32 %r79, %r78, 1065353216; + mov.b32 %f435, %r79; + shr.u32 %r80, %r77, 23; + cvt.rn.f32.u32 %f436, %r80; + add.f32 %f437, %f433, %f436; + setp.gt.f32 %p53, %f435, 0f3FB504F3; + mul.f32 %f438, %f435, 0f3F000000; + add.f32 %f439, %f437, 0f3F800000; + selp.f32 %f440, %f438, %f435, %p53; + selp.f32 %f441, %f439, %f437, %p53; + add.f32 %f442, %f440, 0fBF800000; + add.f32 %f428, %f440, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f427,%f428; + // inline asm + add.f32 %f443, %f442, %f442; + mul.f32 %f444, %f427, %f443; + mul.f32 %f445, %f444, %f444; + fma.rn.f32 %f448, %f907, %f445, %f908; + fma.rn.f32 %f450, %f448, %f445, %f909; + mul.rn.f32 %f451, %f450, %f445; + mul.rn.f32 %f452, %f451, %f444; + sub.f32 %f453, %f442, %f444; + neg.f32 %f454, %f444; + add.f32 %f455, %f453, %f453; + fma.rn.f32 %f456, %f454, %f442, %f455; + mul.rn.f32 %f457, %f427, %f456; + add.f32 %f458, %f452, %f444; + sub.f32 %f459, %f444, %f458; + add.f32 %f460, %f452, %f459; + add.f32 %f461, %f457, %f460; + add.f32 %f462, %f458, %f461; + sub.f32 %f463, %f458, %f462; + add.f32 %f464, %f461, %f463; + mul.rn.f32 %f466, %f441, %f910; + mul.rn.f32 %f468, %f441, %f911; + add.f32 %f469, %f466, %f462; + sub.f32 %f470, %f466, %f469; + add.f32 %f471, %f462, %f470; + add.f32 %f472, %f464, %f471; + add.f32 %f473, %f468, %f472; + add.f32 %f474, %f469, %f473; + sub.f32 %f475, %f469, %f474; + add.f32 %f476, %f473, %f475; + mov.f32 %f477, 0f3EE8BA2E; + mul.rn.f32 %f478, %f477, %f474; + neg.f32 %f479, %f478; + fma.rn.f32 %f480, %f477, %f474, %f479; + fma.rn.f32 %f481, %f477, %f476, %f480; + mov.f32 %f482, 0f00000000; + fma.rn.f32 %f483, %f482, %f474, %f481; + add.rn.f32 %f484, %f478, %f483; + neg.f32 %f485, %f484; + add.rn.f32 %f486, %f478, %f485; + add.rn.f32 %f487, %f486, %f483; + mov.b32 %r81, %f484; + setp.eq.s32 %p54, %r81, 1118925336; + add.s32 %r82, %r81, -1; + mov.b32 %f488, %r82; + add.f32 %f489, %f487, 0f37000000; + selp.f32 %f490, %f488, %f484, %p54; + selp.f32 %f66, %f489, %f487, %p54; + mul.f32 %f491, %f490, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f492, %f491; + fma.rn.f32 %f494, %f492, %f912, %f490; + fma.rn.f32 %f496, %f492, %f913, %f494; + mul.f32 %f497, %f496, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f498, %f497; + add.f32 %f499, %f492, 0f00000000; + ex2.approx.f32 %f500, %f499; + mul.f32 %f501, %f498, %f500; + setp.lt.f32 %p55, %f490, 0fC2D20000; + selp.f32 %f502, 0f00000000, %f501, %p55; + setp.gt.f32 %p56, %f490, 0f42D20000; + selp.f32 %f967, 0f7F800000, %f502, %p56; + setp.eq.f32 %p57, %f967, 0f7F800000; + @%p57 bra BB0_34; + + fma.rn.f32 %f967, %f967, %f66, %f967; + +BB0_34: + setp.lt.f32 %p58, %f966, 0f00000000; + setp.eq.f32 %p59, %f64, 0f3F800000; + and.pred %p3, %p58, %p59; + mov.b32 %r83, %f967; + xor.b32 %r84, %r83, -2147483648; + mov.b32 %f503, %r84; + selp.f32 %f969, %f503, %f967, %p3; + setp.eq.f32 %p60, %f966, 0f00000000; + @%p60 bra BB0_37; + bra.uni BB0_35; + +BB0_37: + add.f32 %f506, %f966, %f966; + selp.f32 %f969, %f506, 0f00000000, %p59; + bra.uni BB0_38; + +BB0_123: + mov.u64 %rd287, image_HDR; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r213, 8; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r26, %r213, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f856, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f856;} + + // inline asm + mov.u16 %rs168, 0; + st.v4.u16 [%rd281], {%rs167, %rs167, %rs167, %rs168}; + +BB0_124: + ld.global.u32 %r214, [additive]; + setp.eq.s32 %p135, %r214, 0; + @%p135 bra BB0_126; + + mov.u64 %rd300, image_RNM0; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r218, 8; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r26, %r218, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs175, %rs176, %rs177, %rs178}, [%rd288]; + // inline asm + { cvt.f32.f16 %f857, %rs175;} + + // inline asm + // inline asm + { cvt.f32.f16 %f858, %rs176;} + + // inline asm + // inline asm + { cvt.f32.f16 %f859, %rs177;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r26, %r218, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f860, %f857, 0f00000000; + add.f32 %f861, %f858, 0f00000000; + add.f32 %f862, %f859, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs174, %f862;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs173, %f861;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs172, %f860;} + + // inline asm + mov.u16 %rs179, 0; + st.v4.u16 [%rd294], {%rs172, %rs173, %rs174, %rs179}; + bra.uni BB0_127; + +BB0_126: + mov.u64 %rd307, image_RNM0; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r220, 8; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r26, %r220, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f863, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs180, %f863;} + + // inline asm + mov.u16 %rs181, 0; + st.v4.u16 [%rd301], {%rs180, %rs180, %rs180, %rs181}; + +BB0_127: + ld.global.u32 %r221, [additive]; + setp.eq.s32 %p136, %r221, 0; + @%p136 bra BB0_129; + + mov.u64 %rd320, image_RNM1; + cvta.global.u64 %rd309, %rd320; + mov.u32 %r225, 8; + // inline asm + call (%rd308), _rt_buffer_get_64, (%rd309, %r26, %r225, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs188, %rs189, %rs190, %rs191}, [%rd308]; + // inline asm + { cvt.f32.f16 %f864, %rs188;} + + // inline asm + // inline asm + { cvt.f32.f16 %f865, %rs189;} + + // inline asm + // inline asm + { cvt.f32.f16 %f866, %rs190;} + + // inline asm + // inline asm + call (%rd314), _rt_buffer_get_64, (%rd309, %r26, %r225, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f867, %f864, 0f00000000; + add.f32 %f868, %f865, 0f00000000; + add.f32 %f869, %f866, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs187, %f869;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs186, %f868;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs185, %f867;} + + // inline asm + mov.u16 %rs192, 0; + st.v4.u16 [%rd314], {%rs185, %rs186, %rs187, %rs192}; + bra.uni BB0_130; + +BB0_129: + mov.u64 %rd327, image_RNM1; + cvta.global.u64 %rd322, %rd327; + mov.u32 %r227, 8; + // inline asm + call (%rd321), _rt_buffer_get_64, (%rd322, %r26, %r227, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f870, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs193, %f870;} + + // inline asm + mov.u16 %rs194, 0; + st.v4.u16 [%rd321], {%rs193, %rs193, %rs193, %rs194}; + +BB0_130: + ld.global.u32 %r228, [additive]; + setp.eq.s32 %p137, %r228, 0; + @%p137 bra BB0_132; + + mov.u64 %rd340, image_RNM2; + cvta.global.u64 %rd329, %rd340; + mov.u32 %r232, 8; + // inline asm + call (%rd328), _rt_buffer_get_64, (%rd329, %r26, %r232, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs201, %rs202, %rs203, %rs204}, [%rd328]; + // inline asm + { cvt.f32.f16 %f871, %rs201;} + + // inline asm + // inline asm + { cvt.f32.f16 %f872, %rs202;} + + // inline asm + // inline asm + { cvt.f32.f16 %f873, %rs203;} + + // inline asm + // inline asm + call (%rd334), _rt_buffer_get_64, (%rd329, %r26, %r232, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f874, %f871, 0f00000000; + add.f32 %f875, %f872, 0f00000000; + add.f32 %f876, %f873, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs200, %f876;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs199, %f875;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs198, %f874;} + + // inline asm + mov.u16 %rs205, 0; + st.v4.u16 [%rd334], {%rs198, %rs199, %rs200, %rs205}; + bra.uni BB0_133; + +BB0_132: + mov.u64 %rd347, image_RNM2; + cvta.global.u64 %rd342, %rd347; + mov.u32 %r234, 8; + // inline asm + call (%rd341), _rt_buffer_get_64, (%rd342, %r26, %r234, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f877, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs206, %f877;} + + // inline asm + mov.u16 %rs207, 0; + st.v4.u16 [%rd341], {%rs206, %rs206, %rs206, %rs207}; + +BB0_133: + ld.global.u32 %r235, [additive]; + setp.eq.s32 %p138, %r235, 0; + @%p138 bra BB0_135; + + mov.u64 %rd360, image_RNM3; + cvta.global.u64 %rd349, %rd360; + mov.u32 %r239, 8; + // inline asm + call (%rd348), _rt_buffer_get_64, (%rd349, %r26, %r239, %rd8, %rd9, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs214, %rs215, %rs216, %rs217}, [%rd348]; + // inline asm + { cvt.f32.f16 %f878, %rs214;} + + // inline asm + // inline asm + { cvt.f32.f16 %f879, %rs215;} + + // inline asm + // inline asm + { cvt.f32.f16 %f880, %rs216;} + + // inline asm + // inline asm + call (%rd354), _rt_buffer_get_64, (%rd349, %r26, %r239, %rd8, %rd9, %rd15, %rd15); + // inline asm + add.f32 %f881, %f878, 0f00000000; + add.f32 %f882, %f879, 0f00000000; + add.f32 %f883, %f880, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs213, %f883;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs212, %f882;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs211, %f881;} + + // inline asm + mov.u16 %rs218, 0; + st.v4.u16 [%rd354], {%rs211, %rs212, %rs213, %rs218}; + bra.uni BB0_136; + +BB0_135: + mov.u64 %rd367, image_RNM3; + cvta.global.u64 %rd362, %rd367; + mov.u32 %r241, 8; + // inline asm + call (%rd361), _rt_buffer_get_64, (%rd362, %r26, %r241, %rd8, %rd9, %rd15, %rd15); + // inline asm + mov.f32 %f884, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs219, %f884;} + + // inline asm + mov.u16 %rs220, 0; + st.v4.u16 [%rd361], {%rs219, %rs219, %rs219, %rs220}; + bra.uni BB0_136; + +BB0_103: + mov.u64 %rd173, image_HDR; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r170, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r26, %r170, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f814, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f814;} + + // inline asm + st.v4.u16 [%rd167], {%rs104, %rs104, %rs104, %rs93}; + +BB0_104: + ld.global.u32 %r171, [additive]; + setp.eq.s32 %p127, %r171, 0; + mov.f32 %f815, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f815;} + + // inline asm + @%p127 bra BB0_106; + + mov.u64 %rd186, image_RNM0; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r175, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r26, %r175, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd174]; + // inline asm + { cvt.f32.f16 %f816, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f817, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f818, %rs114;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r26, %r175, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f819, %f816, 0f00000000; + add.f32 %f820, %f817, 0f00000000; + add.f32 %f821, %f818, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f821;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f820;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f819;} + + // inline asm + st.v4.u16 [%rd180], {%rs109, %rs110, %rs111, %rs105}; + bra.uni BB0_107; + +BB0_106: + mov.u64 %rd193, image_RNM0; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r177, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r26, %r177, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f822, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f822;} + + // inline asm + st.v4.u16 [%rd187], {%rs116, %rs116, %rs116, %rs105}; + +BB0_107: + ld.global.u32 %r178, [additive]; + setp.eq.s32 %p128, %r178, 0; + // inline asm + { cvt.rn.f16.f32 %rs117, %f815;} + + // inline asm + @%p128 bra BB0_109; + + mov.u64 %rd206, image_RNM1; + cvta.global.u64 %rd195, %rd206; + mov.u32 %r182, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r26, %r182, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd194]; + // inline asm + { cvt.f32.f16 %f824, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f825, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f826, %rs126;} + + // inline asm + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd195, %r26, %r182, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f827, %f824, 0f00000000; + add.f32 %f828, %f825, 0f00000000; + add.f32 %f829, %f826, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f829;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f828;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f827;} + + // inline asm + st.v4.u16 [%rd200], {%rs121, %rs122, %rs123, %rs117}; + bra.uni BB0_110; + +BB0_109: + mov.u64 %rd213, image_RNM1; + cvta.global.u64 %rd208, %rd213; + mov.u32 %r184, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r26, %r184, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f830, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f830;} + + // inline asm + st.v4.u16 [%rd207], {%rs128, %rs128, %rs128, %rs117}; + +BB0_110: + ld.global.u32 %r185, [additive]; + setp.eq.s32 %p129, %r185, 0; + // inline asm + { cvt.rn.f16.f32 %rs129, %f815;} + + // inline asm + @%p129 bra BB0_112; + + mov.u64 %rd226, image_RNM2; + cvta.global.u64 %rd215, %rd226; + mov.u32 %r189, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r26, %r189, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs136, %rs137, %rs138, %rs139}, [%rd214]; + // inline asm + { cvt.f32.f16 %f832, %rs136;} + + // inline asm + // inline asm + { cvt.f32.f16 %f833, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f834, %rs138;} + + // inline asm + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd215, %r26, %r189, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f835, %f832, 0f00000000; + add.f32 %f836, %f833, 0f00000000; + add.f32 %f837, %f834, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs135, %f837;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f836;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs133, %f835;} + + // inline asm + st.v4.u16 [%rd220], {%rs133, %rs134, %rs135, %rs129}; + bra.uni BB0_113; + +BB0_112: + mov.u64 %rd233, image_RNM2; + cvta.global.u64 %rd228, %rd233; + mov.u32 %r191, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r26, %r191, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f838, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f838;} + + // inline asm + st.v4.u16 [%rd227], {%rs140, %rs140, %rs140, %rs129}; + +BB0_113: + ld.global.u32 %r192, [additive]; + setp.eq.s32 %p130, %r192, 0; + // inline asm + { cvt.rn.f16.f32 %rs141, %f815;} + + // inline asm + @%p130 bra BB0_115; + + mov.u64 %rd246, image_RNM3; + cvta.global.u64 %rd235, %rd246; + mov.u32 %r196, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r26, %r196, %rd6, %rd7, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs148, %rs149, %rs150, %rs151}, [%rd234]; + // inline asm + { cvt.f32.f16 %f840, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f841, %rs149;} + + // inline asm + // inline asm + { cvt.f32.f16 %f842, %rs150;} + + // inline asm + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd235, %r26, %r196, %rd6, %rd7, %rd15, %rd15); + // inline asm + add.f32 %f843, %f840, 0f00000000; + add.f32 %f844, %f841, 0f00000000; + add.f32 %f845, %f842, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f845;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs146, %f844;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f843;} + + // inline asm + st.v4.u16 [%rd240], {%rs145, %rs146, %rs147, %rs141}; + bra.uni BB0_136; + +BB0_115: + mov.u64 %rd253, image_RNM3; + cvta.global.u64 %rd248, %rd253; + mov.u32 %r198, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r26, %r198, %rd6, %rd7, %rd15, %rd15); + // inline asm + mov.f32 %f846, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f846;} + + // inline asm + st.v4.u16 [%rd247], {%rs152, %rs152, %rs152, %rs141}; + bra.uni BB0_136; + +BB0_35: + setp.geu.f32 %p61, %f966, 0f00000000; + @%p61 bra BB0_38; + + cvt.rzi.f32.f32 %f505, %f477; + setp.neu.f32 %p62, %f505, 0f3EE8BA2E; + selp.f32 %f969, 0f7FFFFFFF, %f969, %p62; + +BB0_38: + add.f32 %f507, %f65, 0f3EE8BA2E; + mov.b32 %r85, %f507; + setp.lt.s32 %p64, %r85, 2139095040; + @%p64 bra BB0_43; + + setp.gtu.f32 %p65, %f65, 0f7F800000; + @%p65 bra BB0_42; + bra.uni BB0_40; + +BB0_42: + add.f32 %f969, %f966, 0f3EE8BA2E; + bra.uni BB0_43; + +BB0_40: + setp.neu.f32 %p66, %f65, 0f7F800000; + @%p66 bra BB0_43; + + selp.f32 %f969, 0fFF800000, 0f7F800000, %p3; + +BB0_43: + mul.f32 %f508, %f969, 0f437F0000; + setp.eq.f32 %p67, %f966, 0f3F800000; + selp.f32 %f509, 0f437F0000, %f508, %p67; + cvt.rzi.u32.f32 %r86, %f509; + cvt.u16.u32 %rs19, %r86; + mov.u16 %rs20, 255; + st.v2.u8 [%rd26], {%rs19, %rs20}; + ld.global.u32 %r246, [imageEnabled]; + +BB0_44: + and.b32 %r87, %r246, 1; + setp.eq.b32 %p68, %r87, 1; + @!%p68 bra BB0_79; + bra.uni BB0_45; + +BB0_45: + mov.f32 %f920, 0fB5BFBE8E; + mov.f32 %f919, 0fBF317200; + mov.f32 %f918, 0f35BFBE8E; + mov.f32 %f917, 0f3F317200; + mov.f32 %f916, 0f3DAAAABD; + mov.f32 %f915, 0f3C4CAF63; + mov.f32 %f914, 0f3B18F0FE; + mov.f32 %f512, 0f3E666666; + cvt.rzi.f32.f32 %f513, %f512; + fma.rn.f32 %f514, %f513, 0fC0000000, 0f3EE66666; + abs.f32 %f77, %f514; + abs.f32 %f78, %f61; + setp.lt.f32 %p69, %f78, 0f00800000; + mul.f32 %f515, %f78, 0f4B800000; + selp.f32 %f516, 0fC3170000, 0fC2FE0000, %p69; + selp.f32 %f517, %f515, %f78, %p69; + mov.b32 %r88, %f517; + and.b32 %r89, %r88, 8388607; + or.b32 %r90, %r89, 1065353216; + mov.b32 %f518, %r90; + shr.u32 %r91, %r88, 23; + cvt.rn.f32.u32 %f519, %r91; + add.f32 %f520, %f516, %f519; + setp.gt.f32 %p70, %f518, 0f3FB504F3; + mul.f32 %f521, %f518, 0f3F000000; + add.f32 %f522, %f520, 0f3F800000; + selp.f32 %f523, %f521, %f518, %p70; + selp.f32 %f524, %f522, %f520, %p70; + add.f32 %f525, %f523, 0fBF800000; + add.f32 %f511, %f523, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f510,%f511; + // inline asm + add.f32 %f526, %f525, %f525; + mul.f32 %f527, %f510, %f526; + mul.f32 %f528, %f527, %f527; + fma.rn.f32 %f531, %f914, %f528, %f915; + fma.rn.f32 %f533, %f531, %f528, %f916; + mul.rn.f32 %f534, %f533, %f528; + mul.rn.f32 %f535, %f534, %f527; + sub.f32 %f536, %f525, %f527; + neg.f32 %f537, %f527; + add.f32 %f538, %f536, %f536; + fma.rn.f32 %f539, %f537, %f525, %f538; + mul.rn.f32 %f540, %f510, %f539; + add.f32 %f541, %f535, %f527; + sub.f32 %f542, %f527, %f541; + add.f32 %f543, %f535, %f542; + add.f32 %f544, %f540, %f543; + add.f32 %f545, %f541, %f544; + sub.f32 %f546, %f541, %f545; + add.f32 %f547, %f544, %f546; + mul.rn.f32 %f549, %f524, %f917; + mul.rn.f32 %f551, %f524, %f918; + add.f32 %f552, %f549, %f545; + sub.f32 %f553, %f549, %f552; + add.f32 %f554, %f545, %f553; + add.f32 %f555, %f547, %f554; + add.f32 %f556, %f551, %f555; + add.f32 %f557, %f552, %f556; + sub.f32 %f558, %f552, %f557; + add.f32 %f559, %f556, %f558; + mov.f32 %f560, 0f3EE66666; + mul.rn.f32 %f561, %f560, %f557; + neg.f32 %f562, %f561; + fma.rn.f32 %f563, %f560, %f557, %f562; + fma.rn.f32 %f564, %f560, %f559, %f563; + mov.f32 %f565, 0f00000000; + fma.rn.f32 %f566, %f565, %f557, %f564; + add.rn.f32 %f567, %f561, %f566; + neg.f32 %f568, %f567; + add.rn.f32 %f569, %f561, %f568; + add.rn.f32 %f570, %f569, %f566; + mov.b32 %r92, %f567; + setp.eq.s32 %p71, %r92, 1118925336; + add.s32 %r93, %r92, -1; + mov.b32 %f571, %r93; + add.f32 %f572, %f570, 0f37000000; + selp.f32 %f573, %f571, %f567, %p71; + selp.f32 %f79, %f572, %f570, %p71; + mul.f32 %f574, %f573, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f575, %f574; + fma.rn.f32 %f577, %f575, %f919, %f573; + fma.rn.f32 %f579, %f575, %f920, %f577; + mul.f32 %f580, %f579, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f581, %f580; + add.f32 %f582, %f575, 0f00000000; + ex2.approx.f32 %f583, %f582; + mul.f32 %f584, %f581, %f583; + setp.lt.f32 %p72, %f573, 0fC2D20000; + selp.f32 %f585, 0f00000000, %f584, %p72; + setp.gt.f32 %p73, %f573, 0f42D20000; + selp.f32 %f970, 0f7F800000, %f585, %p73; + setp.eq.f32 %p74, %f970, 0f7F800000; + @%p74 bra BB0_47; + + fma.rn.f32 %f970, %f970, %f79, %f970; + +BB0_47: + setp.lt.f32 %p75, %f61, 0f00000000; + setp.eq.f32 %p76, %f77, 0f3F800000; + and.pred %p4, %p75, %p76; + mov.b32 %r94, %f970; + xor.b32 %r95, %r94, -2147483648; + mov.b32 %f586, %r95; + selp.f32 %f972, %f586, %f970, %p4; + setp.eq.f32 %p77, %f61, 0f00000000; + @%p77 bra BB0_50; + bra.uni BB0_48; + +BB0_50: + add.f32 %f589, %f61, %f61; + selp.f32 %f972, %f589, 0f00000000, %p76; + bra.uni BB0_51; + +BB0_48: + setp.geu.f32 %p78, %f61, 0f00000000; + @%p78 bra BB0_51; + + cvt.rzi.f32.f32 %f588, %f560; + setp.neu.f32 %p79, %f588, 0f3EE66666; + selp.f32 %f972, 0f7FFFFFFF, %f972, %p79; + +BB0_51: + add.f32 %f590, %f78, 0f3EE66666; + mov.b32 %r96, %f590; + setp.lt.s32 %p81, %r96, 2139095040; + @%p81 bra BB0_56; + + setp.gtu.f32 %p82, %f78, 0f7F800000; + @%p82 bra BB0_55; + bra.uni BB0_53; + +BB0_55: + add.f32 %f972, %f61, 0f3EE66666; + bra.uni BB0_56; + +BB0_53: + setp.neu.f32 %p83, %f78, 0f7F800000; + @%p83 bra BB0_56; + + selp.f32 %f972, 0fFF800000, 0f7F800000, %p4; + +BB0_56: + mov.f32 %f927, 0fB5BFBE8E; + mov.f32 %f926, 0fBF317200; + mov.f32 %f925, 0f35BFBE8E; + mov.f32 %f924, 0f3F317200; + mov.f32 %f923, 0f3DAAAABD; + mov.f32 %f922, 0f3C4CAF63; + mov.f32 %f921, 0f3B18F0FE; + setp.eq.f32 %p84, %f61, 0f3F800000; + selp.f32 %f90, 0f3F800000, %f972, %p84; + abs.f32 %f91, %f62; + setp.lt.f32 %p85, %f91, 0f00800000; + mul.f32 %f593, %f91, 0f4B800000; + selp.f32 %f594, 0fC3170000, 0fC2FE0000, %p85; + selp.f32 %f595, %f593, %f91, %p85; + mov.b32 %r97, %f595; + and.b32 %r98, %r97, 8388607; + or.b32 %r99, %r98, 1065353216; + mov.b32 %f596, %r99; + shr.u32 %r100, %r97, 23; + cvt.rn.f32.u32 %f597, %r100; + add.f32 %f598, %f594, %f597; + setp.gt.f32 %p86, %f596, 0f3FB504F3; + mul.f32 %f599, %f596, 0f3F000000; + add.f32 %f600, %f598, 0f3F800000; + selp.f32 %f601, %f599, %f596, %p86; + selp.f32 %f602, %f600, %f598, %p86; + add.f32 %f603, %f601, 0fBF800000; + add.f32 %f592, %f601, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f591,%f592; + // inline asm + add.f32 %f604, %f603, %f603; + mul.f32 %f605, %f591, %f604; + mul.f32 %f606, %f605, %f605; + fma.rn.f32 %f609, %f921, %f606, %f922; + fma.rn.f32 %f611, %f609, %f606, %f923; + mul.rn.f32 %f612, %f611, %f606; + mul.rn.f32 %f613, %f612, %f605; + sub.f32 %f614, %f603, %f605; + neg.f32 %f615, %f605; + add.f32 %f616, %f614, %f614; + fma.rn.f32 %f617, %f615, %f603, %f616; + mul.rn.f32 %f618, %f591, %f617; + add.f32 %f619, %f613, %f605; + sub.f32 %f620, %f605, %f619; + add.f32 %f621, %f613, %f620; + add.f32 %f622, %f618, %f621; + add.f32 %f623, %f619, %f622; + sub.f32 %f624, %f619, %f623; + add.f32 %f625, %f622, %f624; + mul.rn.f32 %f627, %f602, %f924; + mul.rn.f32 %f629, %f602, %f925; + add.f32 %f630, %f627, %f623; + sub.f32 %f631, %f627, %f630; + add.f32 %f632, %f623, %f631; + add.f32 %f633, %f625, %f632; + add.f32 %f634, %f629, %f633; + add.f32 %f635, %f630, %f634; + sub.f32 %f636, %f630, %f635; + add.f32 %f637, %f634, %f636; + mul.rn.f32 %f639, %f560, %f635; + neg.f32 %f640, %f639; + fma.rn.f32 %f641, %f560, %f635, %f640; + fma.rn.f32 %f642, %f560, %f637, %f641; + fma.rn.f32 %f644, %f565, %f635, %f642; + add.rn.f32 %f645, %f639, %f644; + neg.f32 %f646, %f645; + add.rn.f32 %f647, %f639, %f646; + add.rn.f32 %f648, %f647, %f644; + mov.b32 %r101, %f645; + setp.eq.s32 %p87, %r101, 1118925336; + add.s32 %r102, %r101, -1; + mov.b32 %f649, %r102; + add.f32 %f650, %f648, 0f37000000; + selp.f32 %f651, %f649, %f645, %p87; + selp.f32 %f92, %f650, %f648, %p87; + mul.f32 %f652, %f651, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f653, %f652; + fma.rn.f32 %f655, %f653, %f926, %f651; + fma.rn.f32 %f657, %f653, %f927, %f655; + mul.f32 %f658, %f657, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f659, %f658; + add.f32 %f660, %f653, 0f00000000; + ex2.approx.f32 %f661, %f660; + mul.f32 %f662, %f659, %f661; + setp.lt.f32 %p88, %f651, 0fC2D20000; + selp.f32 %f663, 0f00000000, %f662, %p88; + setp.gt.f32 %p89, %f651, 0f42D20000; + selp.f32 %f973, 0f7F800000, %f663, %p89; + setp.eq.f32 %p90, %f973, 0f7F800000; + @%p90 bra BB0_58; + + fma.rn.f32 %f973, %f973, %f92, %f973; + +BB0_58: + setp.lt.f32 %p91, %f62, 0f00000000; + and.pred %p5, %p91, %p76; + mov.b32 %r103, %f973; + xor.b32 %r104, %r103, -2147483648; + mov.b32 %f664, %r104; + selp.f32 %f975, %f664, %f973, %p5; + setp.eq.f32 %p93, %f62, 0f00000000; + @%p93 bra BB0_61; + bra.uni BB0_59; + +BB0_61: + add.f32 %f667, %f62, %f62; + selp.f32 %f975, %f667, 0f00000000, %p76; + bra.uni BB0_62; + +BB0_59: + setp.geu.f32 %p94, %f62, 0f00000000; + @%p94 bra BB0_62; + + cvt.rzi.f32.f32 %f666, %f560; + setp.neu.f32 %p95, %f666, 0f3EE66666; + selp.f32 %f975, 0f7FFFFFFF, %f975, %p95; + +BB0_62: + add.f32 %f668, %f91, 0f3EE66666; + mov.b32 %r105, %f668; + setp.lt.s32 %p97, %r105, 2139095040; + @%p97 bra BB0_67; + + setp.gtu.f32 %p98, %f91, 0f7F800000; + @%p98 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f975, %f62, 0f3EE66666; + bra.uni BB0_67; + +BB0_64: + setp.neu.f32 %p99, %f91, 0f7F800000; + @%p99 bra BB0_67; + + selp.f32 %f975, 0fFF800000, 0f7F800000, %p5; + +BB0_67: + mov.f32 %f934, 0fB5BFBE8E; + mov.f32 %f933, 0fBF317200; + mov.f32 %f932, 0f35BFBE8E; + mov.f32 %f931, 0f3F317200; + mov.f32 %f930, 0f3DAAAABD; + mov.f32 %f929, 0f3C4CAF63; + mov.f32 %f928, 0f3B18F0FE; + setp.eq.f32 %p100, %f62, 0f3F800000; + selp.f32 %f103, 0f3F800000, %f975, %p100; + abs.f32 %f104, %f63; + setp.lt.f32 %p101, %f104, 0f00800000; + mul.f32 %f671, %f104, 0f4B800000; + selp.f32 %f672, 0fC3170000, 0fC2FE0000, %p101; + selp.f32 %f673, %f671, %f104, %p101; + mov.b32 %r106, %f673; + and.b32 %r107, %r106, 8388607; + or.b32 %r108, %r107, 1065353216; + mov.b32 %f674, %r108; + shr.u32 %r109, %r106, 23; + cvt.rn.f32.u32 %f675, %r109; + add.f32 %f676, %f672, %f675; + setp.gt.f32 %p102, %f674, 0f3FB504F3; + mul.f32 %f677, %f674, 0f3F000000; + add.f32 %f678, %f676, 0f3F800000; + selp.f32 %f679, %f677, %f674, %p102; + selp.f32 %f680, %f678, %f676, %p102; + add.f32 %f681, %f679, 0fBF800000; + add.f32 %f670, %f679, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f669,%f670; + // inline asm + add.f32 %f682, %f681, %f681; + mul.f32 %f683, %f669, %f682; + mul.f32 %f684, %f683, %f683; + fma.rn.f32 %f687, %f928, %f684, %f929; + fma.rn.f32 %f689, %f687, %f684, %f930; + mul.rn.f32 %f690, %f689, %f684; + mul.rn.f32 %f691, %f690, %f683; + sub.f32 %f692, %f681, %f683; + neg.f32 %f693, %f683; + add.f32 %f694, %f692, %f692; + fma.rn.f32 %f695, %f693, %f681, %f694; + mul.rn.f32 %f696, %f669, %f695; + add.f32 %f697, %f691, %f683; + sub.f32 %f698, %f683, %f697; + add.f32 %f699, %f691, %f698; + add.f32 %f700, %f696, %f699; + add.f32 %f701, %f697, %f700; + sub.f32 %f702, %f697, %f701; + add.f32 %f703, %f700, %f702; + mul.rn.f32 %f705, %f680, %f931; + mul.rn.f32 %f707, %f680, %f932; + add.f32 %f708, %f705, %f701; + sub.f32 %f709, %f705, %f708; + add.f32 %f710, %f701, %f709; + add.f32 %f711, %f703, %f710; + add.f32 %f712, %f707, %f711; + add.f32 %f713, %f708, %f712; + sub.f32 %f714, %f708, %f713; + add.f32 %f715, %f712, %f714; + mul.rn.f32 %f717, %f560, %f713; + neg.f32 %f718, %f717; + fma.rn.f32 %f719, %f560, %f713, %f718; + fma.rn.f32 %f720, %f560, %f715, %f719; + fma.rn.f32 %f722, %f565, %f713, %f720; + add.rn.f32 %f723, %f717, %f722; + neg.f32 %f724, %f723; + add.rn.f32 %f725, %f717, %f724; + add.rn.f32 %f726, %f725, %f722; + mov.b32 %r110, %f723; + setp.eq.s32 %p103, %r110, 1118925336; + add.s32 %r111, %r110, -1; + mov.b32 %f727, %r111; + add.f32 %f728, %f726, 0f37000000; + selp.f32 %f729, %f727, %f723, %p103; + selp.f32 %f105, %f728, %f726, %p103; + mul.f32 %f730, %f729, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f731, %f730; + fma.rn.f32 %f733, %f731, %f933, %f729; + fma.rn.f32 %f735, %f731, %f934, %f733; + mul.f32 %f736, %f735, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f737, %f736; + add.f32 %f738, %f731, 0f00000000; + ex2.approx.f32 %f739, %f738; + mul.f32 %f740, %f737, %f739; + setp.lt.f32 %p104, %f729, 0fC2D20000; + selp.f32 %f741, 0f00000000, %f740, %p104; + setp.gt.f32 %p105, %f729, 0f42D20000; + selp.f32 %f976, 0f7F800000, %f741, %p105; + setp.eq.f32 %p106, %f976, 0f7F800000; + @%p106 bra BB0_69; + + fma.rn.f32 %f976, %f976, %f105, %f976; + +BB0_69: + setp.lt.f32 %p107, %f63, 0f00000000; + and.pred %p6, %p107, %p76; + mov.b32 %r112, %f976; + xor.b32 %r113, %r112, -2147483648; + mov.b32 %f742, %r113; + selp.f32 %f978, %f742, %f976, %p6; + setp.eq.f32 %p109, %f63, 0f00000000; + @%p109 bra BB0_72; + bra.uni BB0_70; + +BB0_72: + add.f32 %f745, %f63, %f63; + selp.f32 %f978, %f745, 0f00000000, %p76; + bra.uni BB0_73; + +BB0_70: + setp.geu.f32 %p110, %f63, 0f00000000; + @%p110 bra BB0_73; + + cvt.rzi.f32.f32 %f744, %f560; + setp.neu.f32 %p111, %f744, 0f3EE66666; + selp.f32 %f978, 0f7FFFFFFF, %f978, %p111; + +BB0_73: + add.f32 %f746, %f104, 0f3EE66666; + mov.b32 %r114, %f746; + setp.lt.s32 %p113, %r114, 2139095040; + @%p113 bra BB0_78; + + setp.gtu.f32 %p114, %f104, 0f7F800000; + @%p114 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f978, %f63, 0f3EE66666; + bra.uni BB0_78; + +BB0_75: + setp.neu.f32 %p115, %f104, 0f7F800000; + @%p115 bra BB0_78; + + selp.f32 %f978, 0fFF800000, 0f7F800000, %p6; + +BB0_78: + setp.eq.f32 %p116, %f63, 0f3F800000; + selp.f32 %f747, 0f3F800000, %f978, %p116; + cvt.u64.u32 %rd36, %r3; + cvt.u64.u32 %rd35, %r2; + mov.u64 %rd39, image; + cvta.global.u64 %rd34, %rd39; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r26, %r27, %rd35, %rd36, %rd15, %rd15); + // inline asm + cvt.sat.f32.f32 %f748, %f747; + mul.f32 %f749, %f748, 0f437FFD71; + cvt.rzi.u32.f32 %r117, %f749; + cvt.sat.f32.f32 %f750, %f103; + mul.f32 %f751, %f750, 0f437FFD71; + cvt.rzi.u32.f32 %r118, %f751; + cvt.sat.f32.f32 %f752, %f90; + mul.f32 %f753, %f752, 0f437FFD71; + cvt.rzi.u32.f32 %r119, %f753; + cvt.u16.u32 %rs21, %r117; + cvt.u16.u32 %rs22, %r119; + cvt.u16.u32 %rs23, %r118; + mov.u16 %rs24, 255; + st.v4.u8 [%rd33], {%rs21, %rs23, %rs22, %rs24}; + ld.global.u32 %r246, [imageEnabled]; + +BB0_79: + cvt.u64.u32 %rd4, %r2; + cvt.u64.u32 %rd5, %r3; + and.b32 %r120, %r246, 4; + setp.eq.s32 %p117, %r120, 0; + @%p117 bra BB0_83; + + ld.global.u32 %r121, [additive]; + setp.eq.s32 %p118, %r121, 0; + mov.f32 %f754, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f754;} + + // inline asm + @%p118 bra BB0_82; + + mov.u64 %rd52, image_HDR; + cvta.global.u64 %rd41, %rd52; + mov.u32 %r125, 8; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r26, %r125, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs32, %rs33, %rs34, %rs35}, [%rd40]; + // inline asm + { cvt.f32.f16 %f755, %rs32;} + + // inline asm + // inline asm + { cvt.f32.f16 %f756, %rs33;} + + // inline asm + // inline asm + { cvt.f32.f16 %f757, %rs34;} + + // inline asm + // inline asm + call (%rd46), _rt_buffer_get_64, (%rd41, %r26, %r125, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f758, %f61, %f755; + add.f32 %f759, %f62, %f756; + add.f32 %f760, %f63, %f757; + // inline asm + { cvt.rn.f16.f32 %rs31, %f760;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f759;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f758;} + + // inline asm + st.v4.u16 [%rd46], {%rs29, %rs30, %rs31, %rs25}; + bra.uni BB0_83; + +BB0_82: + mov.u64 %rd59, image_HDR; + cvta.global.u64 %rd54, %rd59; + mov.u32 %r127, 8; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r26, %r127, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f63;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f62;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f61;} + + // inline asm + st.v4.u16 [%rd53], {%rs36, %rs37, %rs38, %rs25}; + +BB0_83: + mul.f32 %f765, %f47, 0f3E800000; + mul.f32 %f766, %f765, %f966; + mul.f32 %f767, %f48, %f766; + ld.global.f32 %f768, [lightColor]; + mul.f32 %f116, %f767, %f768; + ld.global.f32 %f769, [lightColor+4]; + mul.f32 %f117, %f767, %f769; + ld.global.f32 %f770, [lightColor+8]; + mul.f32 %f118, %f767, %f770; + ld.global.u32 %r128, [additive]; + setp.eq.s32 %p119, %r128, 0; + mov.f32 %f764, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f764;} + + // inline asm + @%p119 bra BB0_85; + + mov.u64 %rd72, image_RNM0; + cvta.global.u64 %rd61, %rd72; + mov.u32 %r132, 8; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r26, %r132, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs46, %rs47, %rs48, %rs49}, [%rd60]; + // inline asm + { cvt.f32.f16 %f771, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f772, %rs47;} + + // inline asm + // inline asm + { cvt.f32.f16 %f773, %rs48;} + + // inline asm + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd61, %r26, %r132, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f774, %f116, %f771; + add.f32 %f775, %f117, %f772; + add.f32 %f776, %f118, %f773; + // inline asm + { cvt.rn.f16.f32 %rs45, %f776;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f775;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f774;} + + // inline asm + st.v4.u16 [%rd66], {%rs43, %rs44, %rs45, %rs39}; + bra.uni BB0_86; + +BB0_85: + mov.u64 %rd79, image_RNM0; + cvta.global.u64 %rd74, %rd79; + mov.u32 %r134, 8; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd74, %r26, %r134, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f118;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f117;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f116;} + + // inline asm + st.v4.u16 [%rd73], {%rs50, %rs51, %rs52, %rs39}; + +BB0_86: + sub.f32 %f940, %f11, %f12; + mul.f32 %f939, %f940, %f151; + sub.f32 %f938, %f7, %f8; + mul.f32 %f937, %f938, %f151; + sub.f32 %f936, %f9, %f10; + mul.f32 %f935, %f936, %f151; + fma.rn.f32 %f119, %f937, 0f3F000000, 0f3F000000; + fma.rn.f32 %f120, %f935, 0f3F000000, 0f3F000000; + fma.rn.f32 %f121, %f939, 0f3F000000, 0f3F000000; + ld.global.u32 %r135, [additive]; + setp.eq.s32 %p120, %r135, 0; + // inline asm + { cvt.rn.f16.f32 %rs53, %f764;} + + // inline asm + @%p120 bra BB0_88; + + mov.u64 %rd92, image_RNM1; + cvta.global.u64 %rd81, %rd92; + mov.u32 %r139, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r26, %r139, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs60, %rs61, %rs62, %rs63}, [%rd80]; + // inline asm + { cvt.f32.f16 %f781, %rs60;} + + // inline asm + // inline asm + { cvt.f32.f16 %f782, %rs61;} + + // inline asm + // inline asm + { cvt.f32.f16 %f783, %rs62;} + + // inline asm + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd81, %r26, %r139, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f784, %f119, %f781; + add.f32 %f785, %f119, %f782; + add.f32 %f786, %f119, %f783; + // inline asm + { cvt.rn.f16.f32 %rs59, %f786;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f785;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f784;} + + // inline asm + st.v4.u16 [%rd86], {%rs57, %rs58, %rs59, %rs53}; + bra.uni BB0_89; + +BB0_88: + mov.u64 %rd99, image_RNM1; + cvta.global.u64 %rd94, %rd99; + mov.u32 %r141, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r26, %r141, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f119;} + + // inline asm + st.v4.u16 [%rd93], {%rs64, %rs64, %rs64, %rs53}; + +BB0_89: + ld.global.u32 %r142, [additive]; + setp.eq.s32 %p121, %r142, 0; + // inline asm + { cvt.rn.f16.f32 %rs65, %f764;} + + // inline asm + @%p121 bra BB0_91; + + mov.u64 %rd112, image_RNM2; + cvta.global.u64 %rd101, %rd112; + mov.u32 %r146, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r26, %r146, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs72, %rs73, %rs74, %rs75}, [%rd100]; + // inline asm + { cvt.f32.f16 %f789, %rs72;} + + // inline asm + // inline asm + { cvt.f32.f16 %f790, %rs73;} + + // inline asm + // inline asm + { cvt.f32.f16 %f791, %rs74;} + + // inline asm + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd101, %r26, %r146, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f792, %f120, %f789; + add.f32 %f793, %f120, %f790; + add.f32 %f794, %f120, %f791; + // inline asm + { cvt.rn.f16.f32 %rs71, %f794;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f793;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f792;} + + // inline asm + st.v4.u16 [%rd106], {%rs69, %rs70, %rs71, %rs65}; + bra.uni BB0_92; + +BB0_91: + mov.u64 %rd119, image_RNM2; + cvta.global.u64 %rd114, %rd119; + mov.u32 %r148, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r26, %r148, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f120;} + + // inline asm + st.v4.u16 [%rd113], {%rs76, %rs76, %rs76, %rs65}; + +BB0_92: + ld.global.u32 %r149, [additive]; + setp.eq.s32 %p122, %r149, 0; + // inline asm + { cvt.rn.f16.f32 %rs77, %f764;} + + // inline asm + @%p122 bra BB0_94; + + mov.u64 %rd132, image_RNM3; + cvta.global.u64 %rd121, %rd132; + mov.u32 %r153, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r26, %r153, %rd4, %rd5, %rd15, %rd15); + // inline asm + ld.v4.u16 {%rs84, %rs85, %rs86, %rs87}, [%rd120]; + // inline asm + { cvt.f32.f16 %f797, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f798, %rs85;} + + // inline asm + // inline asm + { cvt.f32.f16 %f799, %rs86;} + + // inline asm + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd121, %r26, %r153, %rd4, %rd5, %rd15, %rd15); + // inline asm + add.f32 %f800, %f121, %f797; + add.f32 %f801, %f121, %f798; + add.f32 %f802, %f121, %f799; + // inline asm + { cvt.rn.f16.f32 %rs83, %f802;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f801;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f800;} + + // inline asm + st.v4.u16 [%rd126], {%rs81, %rs82, %rs83, %rs77}; + bra.uni BB0_136; + +BB0_94: + mov.u64 %rd139, image_RNM3; + cvta.global.u64 %rd134, %rd139; + mov.u32 %r155, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r26, %r155, %rd4, %rd5, %rd15, %rd15); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f121;} + + // inline asm + st.v4.u16 [%rd133], {%rs88, %rs88, %rs88, %rs77}; + +BB0_136: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightSH.ptx.meta new file mode 100644 index 00000000..b9d71521 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmPointLightSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03a7972db4545b246915011d04e5b3e8 +timeCreated: 1537701758 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx new file mode 100644 index 00000000..6c1ca0ac --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx @@ -0,0 +1,1343 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 1 .b8 lightmapDirect[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<95>; + .reg .b16 %rs<27>; + .reg .f32 %f<624>; + .reg .b32 %r<311>; + .reg .b64 %rd<105>; + + + mov.u64 %rd104, __local_depot0; + cvta.local.u64 %SP, %rd104; + ld.global.v2.u32 {%r97, %r98}, [pixelID]; + cvt.u64.u32 %rd18, %r97; + cvt.u64.u32 %rd19, %r98; + mov.u64 %rd22, uvnormal; + cvta.global.u64 %rd17, %rd22; + mov.u32 %r95, 2; + mov.u32 %r96, 4; + mov.u64 %rd21, 0; + // inline asm + call (%rd16), _rt_buffer_get_64, (%rd17, %r95, %r96, %rd18, %rd19, %rd21, %rd21); + // inline asm + ld.u32 %r1, [%rd16]; + shr.u32 %r101, %r1, 16; + cvt.u16.u32 %rs1, %r101; + and.b16 %rs2, %rs1, 255; + cvt.u16.u32 %rs3, %r1; + or.b16 %rs4, %rs3, %rs2; + setp.eq.s16 %p4, %rs4, 0; + mov.f32 %f582, 0f00000000; + mov.f32 %f583, %f582; + mov.f32 %f584, %f582; + @%p4 bra BB0_2; + + ld.u8 %rs5, [%rd16+1]; + and.b16 %rs7, %rs3, 255; + cvt.rn.f32.u16 %f135, %rs7; + div.rn.f32 %f136, %f135, 0f437F0000; + fma.rn.f32 %f137, %f136, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f138, %rs5; + div.rn.f32 %f139, %f138, 0f437F0000; + fma.rn.f32 %f140, %f139, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f141, %rs2; + div.rn.f32 %f142, %f141, 0f437F0000; + fma.rn.f32 %f143, %f142, 0f40000000, 0fBF800000; + mul.f32 %f144, %f140, %f140; + fma.rn.f32 %f145, %f137, %f137, %f144; + fma.rn.f32 %f146, %f143, %f143, %f145; + sqrt.rn.f32 %f147, %f146; + rcp.rn.f32 %f148, %f147; + mul.f32 %f582, %f137, %f148; + mul.f32 %f583, %f140, %f148; + mul.f32 %f584, %f143, %f148; + +BB0_2: + ld.global.v2.u32 {%r102, %r103}, [pixelID]; + ld.global.v2.u32 {%r105, %r106}, [tileInfo]; + add.s32 %r2, %r102, %r105; + add.s32 %r3, %r103, %r106; + setp.eq.f32 %p5, %f583, 0f00000000; + setp.eq.f32 %p6, %f582, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f584, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_97; + bra.uni BB0_3; + +BB0_97: + ld.global.u32 %r310, [imageEnabled]; + and.b32 %r269, %r310, 1; + setp.eq.b32 %p93, %r269, 1; + @!%p93 bra BB0_99; + bra.uni BB0_98; + +BB0_98: + cvt.u64.u32 %rd86, %r2; + cvt.u64.u32 %rd87, %r3; + mov.u64 %rd90, image; + cvta.global.u64 %rd85, %rd90; + mov.u64 %rd89, 0; + // inline asm + call (%rd84), _rt_buffer_get_64, (%rd85, %r95, %r96, %rd86, %rd87, %rd89, %rd89); + // inline asm + mov.u16 %rs24, 0; + st.v4.u8 [%rd84], {%rs24, %rs24, %rs24, %rs24}; + ld.global.u32 %r310, [imageEnabled]; + +BB0_99: + and.b32 %r272, %r310, 4; + setp.eq.s32 %p94, %r272, 0; + @%p94 bra BB0_101; + + cvt.u64.u32 %rd93, %r2; + cvt.u64.u32 %rd94, %r3; + mov.u64 %rd97, image_HDR; + cvta.global.u64 %rd92, %rd97; + mov.u32 %r274, 8; + mov.u64 %rd96, 0; + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd92, %r95, %r274, %rd93, %rd94, %rd96, %rd96); + // inline asm + mov.f32 %f552, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs25, %f552;} + + // inline asm + mov.u16 %rs26, 0; + st.v4.u16 [%rd91], {%rs25, %rs25, %rs25, %rs26}; + bra.uni BB0_101; + +BB0_3: + ld.global.v2.u32 {%r115, %r116}, [pixelID]; + cvt.u64.u32 %rd25, %r115; + cvt.u64.u32 %rd26, %r116; + mov.u64 %rd30, uvpos; + cvta.global.u64 %rd24, %rd30; + mov.u32 %r114, 12; + // inline asm + call (%rd23), _rt_buffer_get_64, (%rd24, %r95, %r114, %rd25, %rd26, %rd21, %rd21); + // inline asm + ld.f32 %f157, [%rd23+8]; + ld.f32 %f158, [%rd23+4]; + ld.f32 %f159, [%rd23]; + mul.f32 %f160, %f159, 0f3456BF95; + mul.f32 %f161, %f158, 0f3456BF95; + mul.f32 %f162, %f157, 0f3456BF95; + abs.f32 %f163, %f582; + div.rn.f32 %f164, %f160, %f163; + abs.f32 %f165, %f583; + div.rn.f32 %f166, %f161, %f165; + abs.f32 %f167, %f584; + div.rn.f32 %f168, %f162, %f167; + abs.f32 %f169, %f164; + abs.f32 %f170, %f166; + abs.f32 %f171, %f168; + mov.f32 %f172, 0f38D1B717; + max.f32 %f173, %f169, %f172; + max.f32 %f174, %f170, %f172; + max.f32 %f175, %f171, %f172; + fma.rn.f32 %f585, %f582, %f173, %f159; + fma.rn.f32 %f586, %f583, %f174, %f158; + fma.rn.f32 %f587, %f584, %f175, %f157; + add.u64 %rd29, %SP, 28; + cvta.to.local.u64 %rd31, %rd29; + mov.u32 %r113, 0; + st.local.u32 [%rd31+8], %r113; + st.local.u32 [%rd31+4], %r113; + st.local.u32 [%rd31], %r113; + ld.global.u32 %r112, [root]; + neg.f32 %f154, %f584; + neg.f32 %f153, %f583; + neg.f32 %f152, %f582; + mov.f32 %f591, 0f00000000; + mov.f32 %f156, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r112, %f585, %f586, %f587, %f152, %f153, %f154, %r113, %f591, %f156, %rd29, %r114); + // inline asm + ld.local.f32 %f13, [%rd31]; + abs.f32 %f14, %f152; + abs.f32 %f15, %f154; + setp.geu.f32 %p10, %f13, 0f00000000; + @%p10 bra BB0_5; + + fma.rn.f32 %f176, %f582, %f13, %f585; + fma.rn.f32 %f177, %f583, %f13, %f586; + fma.rn.f32 %f178, %f584, %f13, %f587; + mul.f32 %f179, %f176, 0f3456BF95; + mul.f32 %f180, %f177, 0f3456BF95; + mul.f32 %f181, %f178, 0f3456BF95; + div.rn.f32 %f182, %f179, %f14; + abs.f32 %f183, %f153; + div.rn.f32 %f184, %f180, %f183; + div.rn.f32 %f185, %f181, %f15; + abs.f32 %f186, %f182; + abs.f32 %f187, %f184; + abs.f32 %f188, %f185; + max.f32 %f190, %f186, %f172; + max.f32 %f191, %f187, %f172; + max.f32 %f192, %f188, %f172; + fma.rn.f32 %f585, %f190, %f152, %f176; + fma.rn.f32 %f586, %f191, %f153, %f177; + fma.rn.f32 %f587, %f192, %f154, %f178; + +BB0_5: + mov.u32 %r279, 4; + mov.u32 %r278, 2; + setp.gt.f32 %p11, %f14, %f15; + selp.f32 %f196, %f583, 0f00000000, %p11; + selp.f32 %f197, %f152, %f584, %p11; + selp.f32 %f198, 0f00000000, %f153, %p11; + mul.f32 %f199, %f197, %f197; + fma.rn.f32 %f200, %f196, %f196, %f199; + fma.rn.f32 %f201, %f198, %f198, %f200; + sqrt.rn.f32 %f202, %f201; + rcp.rn.f32 %f203, %f202; + mul.f32 %f22, %f196, %f203; + mul.f32 %f23, %f197, %f203; + mul.f32 %f24, %f198, %f203; + ld.global.v2.u32 {%r121, %r122}, [pixelID]; + cvt.u64.u32 %rd34, %r121; + cvt.u64.u32 %rd35, %r122; + mov.u64 %rd38, rnd_seeds; + cvta.global.u64 %rd33, %rd38; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r278, %r279, %rd34, %rd35, %rd21, %rd21); + // inline asm + ld.global.u32 %r281, [samples]; + setp.lt.s32 %p12, %r281, 1; + @%p12 bra BB0_6; + + mov.u32 %r282, 0; + cvt.rn.f32.s32 %f207, %r281; + rcp.rn.f32 %f25, %f207; + ld.u32 %r307, [%rd32]; + mul.f32 %f26, %f585, 0f3456BF95; + mul.f32 %f27, %f586, 0f3456BF95; + mul.f32 %f28, %f587, 0f3456BF95; + mul.f32 %f208, %f23, %f152; + mul.f32 %f209, %f22, %f153; + sub.f32 %f29, %f209, %f208; + mul.f32 %f210, %f22, %f154; + mul.f32 %f211, %f24, %f152; + sub.f32 %f30, %f211, %f210; + mul.f32 %f212, %f24, %f153; + mul.f32 %f213, %f23, %f154; + sub.f32 %f31, %f213, %f212; + mov.f32 %f591, 0f00000000; + abs.f32 %f214, %f27; + abs.f32 %f215, %f26; + max.f32 %f216, %f215, %f214; + abs.f32 %f217, %f28; + max.f32 %f218, %f216, %f217; + mov.f32 %f592, %f591; + mov.f32 %f593, %f591; + +BB0_8: + setp.lt.s32 %p13, %r281, 1; + @%p13 bra BB0_59; + + max.f32 %f36, %f218, %f172; + mov.u32 %r284, 0; + +BB0_10: + cvt.rn.f32.s32 %f578, %r282; + mad.lo.s32 %r127, %r307, 1664525, 1013904223; + and.b32 %r128, %r127, 16777215; + cvt.rn.f32.u32 %f220, %r128; + fma.rn.f32 %f221, %f220, 0f33800000, %f578; + mul.f32 %f222, %f25, %f221; + mad.lo.s32 %r307, %r127, 1664525, 1013904223; + and.b32 %r129, %r307, 16777215; + cvt.rn.f32.u32 %f223, %r129; + cvt.rn.f32.s32 %f224, %r284; + fma.rn.f32 %f225, %f223, 0f33800000, %f224; + mul.f32 %f226, %f25, %f225; + sqrt.rn.f32 %f40, %f222; + mul.f32 %f600, %f226, 0f40C90FDB; + abs.f32 %f42, %f600; + setp.neu.f32 %p14, %f42, 0f7F800000; + mov.f32 %f594, %f600; + @%p14 bra BB0_12; + + mov.f32 %f227, 0f00000000; + mul.rn.f32 %f594, %f600, %f227; + +BB0_12: + mul.f32 %f228, %f594, 0f3F22F983; + cvt.rni.s32.f32 %r295, %f228; + cvt.rn.f32.s32 %f229, %r295; + neg.f32 %f230, %f229; + mov.f32 %f231, 0f3FC90FDA; + fma.rn.f32 %f232, %f230, %f231, %f594; + mov.f32 %f233, 0f33A22168; + fma.rn.f32 %f234, %f230, %f233, %f232; + mov.f32 %f235, 0f27C234C5; + fma.rn.f32 %f595, %f230, %f235, %f234; + abs.f32 %f236, %f594; + setp.leu.f32 %p15, %f236, 0f47CE4780; + @%p15 bra BB0_23; + + add.u64 %rd40, %SP, 0; + cvta.to.local.u64 %rd3, %rd40; + mov.b32 %r13, %f594; + shr.u32 %r14, %r13, 23; + shl.b32 %r132, %r13, 8; + or.b32 %r15, %r132, -2147483648; + mov.u32 %r286, 0; + mov.u64 %rd101, 0; + mov.u64 %rd100, %rd3; + mov.u32 %r287, %r286; + +BB0_14: + .pragma "nounroll"; + shl.b64 %rd41, %rd101, 2; + mov.u64 %rd42, __cudart_i2opi_f; + add.s64 %rd43, %rd42, %rd41; + ld.const.u32 %r135, [%rd43]; + // inline asm + { + mad.lo.cc.u32 %r133, %r135, %r15, %r287; + madc.hi.u32 %r287, %r135, %r15, 0; + } + // inline asm + st.local.u32 [%rd100], %r133; + add.s32 %r286, %r286, 1; + cvt.s64.s32 %rd101, %r286; + mul.wide.s32 %rd46, %r286, 4; + add.s64 %rd100, %rd3, %rd46; + setp.ne.s32 %p16, %r286, 6; + @%p16 bra BB0_14; + + and.b32 %r138, %r14, 255; + add.s32 %r139, %r138, -128; + shr.u32 %r140, %r139, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd48, %rd40; + st.local.u32 [%rd48+24], %r287; + mov.u32 %r141, 6; + sub.s32 %r142, %r141, %r140; + mul.wide.s32 %rd49, %r142, 4; + add.s64 %rd8, %rd48, %rd49; + ld.local.u32 %r288, [%rd8]; + ld.local.u32 %r289, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p17, %r23, 0; + @%p17 bra BB0_17; + + mov.u32 %r143, 32; + sub.s32 %r144, %r143, %r23; + shr.u32 %r145, %r289, %r144; + shl.b32 %r146, %r288, %r23; + add.s32 %r288, %r145, %r146; + ld.local.u32 %r147, [%rd8+-8]; + shr.u32 %r148, %r147, %r144; + shl.b32 %r149, %r289, %r23; + add.s32 %r289, %r148, %r149; + +BB0_17: + shr.u32 %r150, %r289, 30; + shl.b32 %r151, %r288, 2; + add.s32 %r290, %r150, %r151; + shl.b32 %r29, %r289, 2; + shr.u32 %r152, %r290, 31; + shr.u32 %r153, %r288, 30; + add.s32 %r30, %r152, %r153; + setp.eq.s32 %p18, %r152, 0; + @%p18 bra BB0_18; + bra.uni BB0_19; + +BB0_18: + mov.u32 %r291, %r20; + mov.u32 %r292, %r29; + bra.uni BB0_20; + +BB0_19: + not.b32 %r154, %r290; + neg.s32 %r292, %r29; + setp.eq.s32 %p19, %r29, 0; + selp.u32 %r155, 1, 0, %p19; + add.s32 %r290, %r155, %r154; + xor.b32 %r291, %r20, -2147483648; + +BB0_20: + clz.b32 %r294, %r290; + setp.eq.s32 %p20, %r294, 0; + shl.b32 %r156, %r290, %r294; + mov.u32 %r157, 32; + sub.s32 %r158, %r157, %r294; + shr.u32 %r159, %r292, %r158; + add.s32 %r160, %r159, %r156; + selp.b32 %r38, %r290, %r160, %p20; + mov.u32 %r161, -921707870; + mul.hi.u32 %r293, %r38, %r161; + setp.eq.s32 %p21, %r20, 0; + neg.s32 %r162, %r30; + selp.b32 %r295, %r30, %r162, %p21; + setp.lt.s32 %p22, %r293, 1; + @%p22 bra BB0_22; + + mul.lo.s32 %r163, %r38, -921707870; + shr.u32 %r164, %r163, 31; + shl.b32 %r165, %r293, 1; + add.s32 %r293, %r164, %r165; + add.s32 %r294, %r294, 1; + +BB0_22: + mov.u32 %r166, 126; + sub.s32 %r167, %r166, %r294; + shl.b32 %r168, %r167, 23; + add.s32 %r169, %r293, 1; + shr.u32 %r170, %r169, 7; + add.s32 %r171, %r170, 1; + shr.u32 %r172, %r171, 1; + add.s32 %r173, %r172, %r168; + or.b32 %r174, %r173, %r291; + mov.b32 %f595, %r174; + +BB0_23: + mul.rn.f32 %f48, %f595, %f595; + add.s32 %r46, %r295, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p23, %r47, 0; + @%p23 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f239, 0f3C08839E; + mov.f32 %f240, 0fB94CA1F9; + fma.rn.f32 %f596, %f240, %f48, %f239; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f237, 0fBAB6061A; + mov.f32 %f238, 0f37CCF5CE; + fma.rn.f32 %f596, %f238, %f48, %f237; + +BB0_26: + @%p23 bra BB0_28; + bra.uni BB0_27; + +BB0_28: + mov.f32 %f244, 0fBE2AAAA3; + fma.rn.f32 %f245, %f596, %f48, %f244; + mov.f32 %f246, 0f00000000; + fma.rn.f32 %f597, %f245, %f48, %f246; + bra.uni BB0_29; + +BB0_27: + mov.f32 %f241, 0f3D2AAAA5; + fma.rn.f32 %f242, %f596, %f48, %f241; + mov.f32 %f243, 0fBF000000; + fma.rn.f32 %f597, %f242, %f48, %f243; + +BB0_29: + fma.rn.f32 %f598, %f597, %f595, %f595; + @%p23 bra BB0_31; + + mov.f32 %f247, 0f3F800000; + fma.rn.f32 %f598, %f597, %f48, %f247; + +BB0_31: + and.b32 %r175, %r46, 2; + setp.eq.s32 %p26, %r175, 0; + @%p26 bra BB0_33; + + mov.f32 %f248, 0f00000000; + mov.f32 %f249, 0fBF800000; + fma.rn.f32 %f598, %f598, %f249, %f248; + +BB0_33: + @%p14 bra BB0_35; + + mov.f32 %f250, 0f00000000; + mul.rn.f32 %f600, %f600, %f250; + +BB0_35: + mul.f32 %f251, %f600, 0f3F22F983; + cvt.rni.s32.f32 %r305, %f251; + cvt.rn.f32.s32 %f252, %r305; + neg.f32 %f253, %f252; + fma.rn.f32 %f255, %f253, %f231, %f600; + fma.rn.f32 %f257, %f253, %f233, %f255; + fma.rn.f32 %f601, %f253, %f235, %f257; + abs.f32 %f259, %f600; + setp.leu.f32 %p28, %f259, 0f47CE4780; + @%p28 bra BB0_46; + + add.u64 %rd51, %SP, 0; + cvta.to.local.u64 %rd9, %rd51; + mov.b32 %r49, %f600; + shr.u32 %r50, %r49, 23; + shl.b32 %r178, %r49, 8; + or.b32 %r51, %r178, -2147483648; + mov.u32 %r296, 0; + mov.u64 %rd102, %rd9; + mov.u64 %rd103, %rd21; + mov.u32 %r297, %r296; + +BB0_37: + .pragma "nounroll"; + shl.b64 %rd52, %rd103, 2; + mov.u64 %rd53, __cudart_i2opi_f; + add.s64 %rd54, %rd53, %rd52; + ld.const.u32 %r181, [%rd54]; + // inline asm + { + mad.lo.cc.u32 %r179, %r181, %r51, %r297; + madc.hi.u32 %r297, %r181, %r51, 0; + } + // inline asm + st.local.u32 [%rd102], %r179; + add.s32 %r296, %r296, 1; + cvt.s64.s32 %rd103, %r296; + mul.wide.s32 %rd55, %r296, 4; + add.s64 %rd102, %rd9, %rd55; + setp.ne.s32 %p29, %r296, 6; + @%p29 bra BB0_37; + + and.b32 %r184, %r50, 255; + add.s32 %r185, %r184, -128; + shr.u32 %r186, %r185, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd57, %rd51; + st.local.u32 [%rd57+24], %r297; + mov.u32 %r187, 6; + sub.s32 %r188, %r187, %r186; + mul.wide.s32 %rd58, %r188, 4; + add.s64 %rd15, %rd57, %rd58; + ld.local.u32 %r298, [%rd15]; + ld.local.u32 %r299, [%rd15+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p30, %r59, 0; + @%p30 bra BB0_40; + + mov.u32 %r189, 32; + sub.s32 %r190, %r189, %r59; + shr.u32 %r191, %r299, %r190; + shl.b32 %r192, %r298, %r59; + add.s32 %r298, %r191, %r192; + ld.local.u32 %r193, [%rd15+-8]; + shr.u32 %r194, %r193, %r190; + shl.b32 %r195, %r299, %r59; + add.s32 %r299, %r194, %r195; + +BB0_40: + shr.u32 %r196, %r299, 30; + shl.b32 %r197, %r298, 2; + add.s32 %r300, %r196, %r197; + shl.b32 %r65, %r299, 2; + shr.u32 %r198, %r300, 31; + shr.u32 %r199, %r298, 30; + add.s32 %r66, %r198, %r199; + setp.eq.s32 %p31, %r198, 0; + @%p31 bra BB0_41; + bra.uni BB0_42; + +BB0_41: + mov.u32 %r301, %r56; + mov.u32 %r302, %r65; + bra.uni BB0_43; + +BB0_42: + not.b32 %r200, %r300; + neg.s32 %r302, %r65; + setp.eq.s32 %p32, %r65, 0; + selp.u32 %r201, 1, 0, %p32; + add.s32 %r300, %r201, %r200; + xor.b32 %r301, %r56, -2147483648; + +BB0_43: + clz.b32 %r304, %r300; + setp.eq.s32 %p33, %r304, 0; + shl.b32 %r202, %r300, %r304; + mov.u32 %r203, 32; + sub.s32 %r204, %r203, %r304; + shr.u32 %r205, %r302, %r204; + add.s32 %r206, %r205, %r202; + selp.b32 %r74, %r300, %r206, %p33; + mov.u32 %r207, -921707870; + mul.hi.u32 %r303, %r74, %r207; + setp.eq.s32 %p34, %r56, 0; + neg.s32 %r208, %r66; + selp.b32 %r305, %r66, %r208, %p34; + setp.lt.s32 %p35, %r303, 1; + @%p35 bra BB0_45; + + mul.lo.s32 %r209, %r74, -921707870; + shr.u32 %r210, %r209, 31; + shl.b32 %r211, %r303, 1; + add.s32 %r303, %r210, %r211; + add.s32 %r304, %r304, 1; + +BB0_45: + mov.u32 %r212, 126; + sub.s32 %r213, %r212, %r304; + shl.b32 %r214, %r213, 23; + add.s32 %r215, %r303, 1; + shr.u32 %r216, %r215, 7; + add.s32 %r217, %r216, 1; + shr.u32 %r218, %r217, 1; + add.s32 %r219, %r218, %r214; + or.b32 %r220, %r219, %r301; + mov.b32 %f601, %r220; + +BB0_46: + mul.rn.f32 %f65, %f601, %f601; + and.b32 %r82, %r305, 1; + setp.eq.s32 %p36, %r82, 0; + @%p36 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f262, 0f3C08839E; + mov.f32 %f263, 0fB94CA1F9; + fma.rn.f32 %f602, %f263, %f65, %f262; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f260, 0fBAB6061A; + mov.f32 %f261, 0f37CCF5CE; + fma.rn.f32 %f602, %f261, %f65, %f260; + +BB0_49: + @%p36 bra BB0_51; + bra.uni BB0_50; + +BB0_51: + mov.f32 %f267, 0fBE2AAAA3; + fma.rn.f32 %f268, %f602, %f65, %f267; + mov.f32 %f269, 0f00000000; + fma.rn.f32 %f603, %f268, %f65, %f269; + bra.uni BB0_52; + +BB0_50: + mov.f32 %f264, 0f3D2AAAA5; + fma.rn.f32 %f265, %f602, %f65, %f264; + mov.f32 %f266, 0fBF000000; + fma.rn.f32 %f603, %f265, %f65, %f266; + +BB0_52: + fma.rn.f32 %f604, %f603, %f601, %f601; + @%p36 bra BB0_54; + + mov.f32 %f270, 0f3F800000; + fma.rn.f32 %f604, %f603, %f65, %f270; + +BB0_54: + and.b32 %r221, %r305, 2; + setp.eq.s32 %p39, %r221, 0; + @%p39 bra BB0_56; + + mov.f32 %f271, 0f00000000; + mov.f32 %f272, 0fBF800000; + fma.rn.f32 %f604, %f604, %f272, %f271; + +BB0_56: + mul.f32 %f281, %f40, %f598; + mul.f32 %f282, %f281, %f281; + mov.f32 %f283, 0f3F800000; + sub.f32 %f284, %f283, %f282; + mul.f32 %f285, %f40, %f604; + mul.f32 %f286, %f285, %f285; + sub.f32 %f287, %f284, %f286; + mov.f32 %f288, 0f00000000; + max.f32 %f289, %f288, %f287; + sqrt.rn.f32 %f290, %f289; + mul.f32 %f291, %f22, %f285; + mul.f32 %f292, %f23, %f285; + mul.f32 %f293, %f24, %f285; + fma.rn.f32 %f294, %f31, %f281, %f291; + fma.rn.f32 %f295, %f30, %f281, %f292; + fma.rn.f32 %f296, %f29, %f281, %f293; + fma.rn.f32 %f276, %f290, %f152, %f294; + fma.rn.f32 %f277, %f290, %f153, %f295; + fma.rn.f32 %f278, %f290, %f154, %f296; + mov.u32 %r225, -1082130432; + st.local.u32 [%rd31+8], %r225; + st.local.u32 [%rd31+4], %r225; + st.local.u32 [%rd31], %r225; + ld.global.u32 %r222, [root]; + mov.u32 %r223, 0; + // inline asm + call _rt_trace_64, (%r222, %f585, %f586, %f587, %f276, %f277, %f278, %r223, %f36, %f156, %rd29, %r114); + // inline asm + ld.local.f32 %f77, [%rd31]; + setp.lt.f32 %p40, %f77, 0f00000000; + @%p40 bra BB0_58; + + add.f32 %f593, %f593, %f77; + ld.local.f32 %f297, [%rd31+4]; + add.f32 %f592, %f592, %f297; + ld.local.f32 %f298, [%rd31+8]; + add.f32 %f591, %f591, %f298; + +BB0_58: + ld.global.u32 %r281, [samples]; + add.s32 %r284, %r284, 1; + setp.lt.s32 %p41, %r284, %r281; + @%p41 bra BB0_10; + +BB0_59: + add.s32 %r282, %r282, 1; + setp.lt.s32 %p42, %r282, %r281; + @%p42 bra BB0_8; + bra.uni BB0_60; + +BB0_6: + mov.f32 %f592, %f591; + mov.f32 %f593, %f591; + +BB0_60: + mul.lo.s32 %r226, %r281, %r281; + cvt.rn.f32.s32 %f299, %r226; + rcp.rn.f32 %f300, %f299; + mul.f32 %f90, %f593, %f300; + mul.f32 %f91, %f592, %f300; + mul.f32 %f92, %f591, %f300; + ld.global.u32 %r309, [imageEnabled]; + and.b32 %r227, %r309, 1; + setp.eq.b32 %p43, %r227, 1; + @!%p43 bra BB0_95; + bra.uni BB0_61; + +BB0_61: + mov.f32 %f303, 0f3E666666; + cvt.rzi.f32.f32 %f304, %f303; + fma.rn.f32 %f305, %f304, 0fC0000000, 0f3EE66666; + abs.f32 %f93, %f305; + abs.f32 %f94, %f90; + setp.lt.f32 %p44, %f94, 0f00800000; + mul.f32 %f306, %f94, 0f4B800000; + selp.f32 %f307, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f308, %f306, %f94, %p44; + mov.b32 %r228, %f308; + and.b32 %r229, %r228, 8388607; + or.b32 %r230, %r229, 1065353216; + mov.b32 %f309, %r230; + shr.u32 %r231, %r228, 23; + cvt.rn.f32.u32 %f310, %r231; + add.f32 %f311, %f307, %f310; + setp.gt.f32 %p45, %f309, 0f3FB504F3; + mul.f32 %f312, %f309, 0f3F000000; + add.f32 %f313, %f311, 0f3F800000; + selp.f32 %f314, %f312, %f309, %p45; + selp.f32 %f315, %f313, %f311, %p45; + add.f32 %f316, %f314, 0fBF800000; + add.f32 %f302, %f314, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f301,%f302; + // inline asm + add.f32 %f317, %f316, %f316; + mul.f32 %f318, %f301, %f317; + mul.f32 %f319, %f318, %f318; + mov.f32 %f320, 0f3C4CAF63; + mov.f32 %f321, 0f3B18F0FE; + fma.rn.f32 %f322, %f321, %f319, %f320; + mov.f32 %f323, 0f3DAAAABD; + fma.rn.f32 %f324, %f322, %f319, %f323; + mul.rn.f32 %f325, %f324, %f319; + mul.rn.f32 %f326, %f325, %f318; + sub.f32 %f327, %f316, %f318; + neg.f32 %f328, %f318; + add.f32 %f329, %f327, %f327; + fma.rn.f32 %f330, %f328, %f316, %f329; + mul.rn.f32 %f331, %f301, %f330; + add.f32 %f332, %f326, %f318; + sub.f32 %f333, %f318, %f332; + add.f32 %f334, %f326, %f333; + add.f32 %f335, %f331, %f334; + add.f32 %f336, %f332, %f335; + sub.f32 %f337, %f332, %f336; + add.f32 %f338, %f335, %f337; + mov.f32 %f339, 0f3F317200; + mul.rn.f32 %f340, %f315, %f339; + mov.f32 %f341, 0f35BFBE8E; + mul.rn.f32 %f342, %f315, %f341; + add.f32 %f343, %f340, %f336; + sub.f32 %f344, %f340, %f343; + add.f32 %f345, %f336, %f344; + add.f32 %f346, %f338, %f345; + add.f32 %f347, %f342, %f346; + add.f32 %f348, %f343, %f347; + sub.f32 %f349, %f343, %f348; + add.f32 %f350, %f347, %f349; + mov.f32 %f351, 0f3EE66666; + mul.rn.f32 %f352, %f351, %f348; + neg.f32 %f353, %f352; + fma.rn.f32 %f354, %f351, %f348, %f353; + fma.rn.f32 %f355, %f351, %f350, %f354; + mov.f32 %f356, 0f00000000; + fma.rn.f32 %f357, %f356, %f348, %f355; + add.rn.f32 %f358, %f352, %f357; + neg.f32 %f359, %f358; + add.rn.f32 %f360, %f352, %f359; + add.rn.f32 %f361, %f360, %f357; + mov.b32 %r232, %f358; + setp.eq.s32 %p46, %r232, 1118925336; + add.s32 %r233, %r232, -1; + mov.b32 %f362, %r233; + add.f32 %f363, %f361, 0f37000000; + selp.f32 %f364, %f362, %f358, %p46; + selp.f32 %f95, %f363, %f361, %p46; + mul.f32 %f365, %f364, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f366, %f365; + mov.f32 %f367, 0fBF317200; + fma.rn.f32 %f368, %f366, %f367, %f364; + mov.f32 %f369, 0fB5BFBE8E; + fma.rn.f32 %f370, %f366, %f369, %f368; + mul.f32 %f371, %f370, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f372, %f371; + add.f32 %f373, %f366, 0f00000000; + ex2.approx.f32 %f374, %f373; + mul.f32 %f375, %f372, %f374; + setp.lt.f32 %p47, %f364, 0fC2D20000; + selp.f32 %f376, 0f00000000, %f375, %p47; + setp.gt.f32 %p48, %f364, 0f42D20000; + selp.f32 %f615, 0f7F800000, %f376, %p48; + setp.eq.f32 %p49, %f615, 0f7F800000; + @%p49 bra BB0_63; + + fma.rn.f32 %f615, %f615, %f95, %f615; + +BB0_63: + setp.lt.f32 %p50, %f90, 0f00000000; + setp.eq.f32 %p51, %f93, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r234, %f615; + xor.b32 %r235, %r234, -2147483648; + mov.b32 %f377, %r235; + selp.f32 %f617, %f377, %f615, %p1; + setp.eq.f32 %p52, %f90, 0f00000000; + @%p52 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f380, %f90, %f90; + selp.f32 %f617, %f380, 0f00000000, %p51; + bra.uni BB0_67; + +BB0_64: + setp.geu.f32 %p53, %f90, 0f00000000; + @%p53 bra BB0_67; + + cvt.rzi.f32.f32 %f379, %f351; + setp.neu.f32 %p54, %f379, 0f3EE66666; + selp.f32 %f617, 0f7FFFFFFF, %f617, %p54; + +BB0_67: + abs.f32 %f553, %f90; + add.f32 %f381, %f553, 0f3EE66666; + mov.b32 %r236, %f381; + setp.lt.s32 %p56, %r236, 2139095040; + @%p56 bra BB0_72; + + abs.f32 %f570, %f90; + setp.gtu.f32 %p57, %f570, 0f7F800000; + @%p57 bra BB0_71; + bra.uni BB0_69; + +BB0_71: + add.f32 %f617, %f90, 0f3EE66666; + bra.uni BB0_72; + +BB0_69: + abs.f32 %f571, %f90; + setp.neu.f32 %p58, %f571, 0f7F800000; + @%p58 bra BB0_72; + + selp.f32 %f617, 0fFF800000, 0f7F800000, %p1; + +BB0_72: + mov.f32 %f561, 0fB5BFBE8E; + mov.f32 %f560, 0fBF317200; + mov.f32 %f559, 0f00000000; + mov.f32 %f558, 0f35BFBE8E; + mov.f32 %f557, 0f3F317200; + mov.f32 %f556, 0f3DAAAABD; + mov.f32 %f555, 0f3C4CAF63; + mov.f32 %f554, 0f3B18F0FE; + setp.eq.f32 %p59, %f90, 0f3F800000; + selp.f32 %f106, 0f3F800000, %f617, %p59; + abs.f32 %f107, %f91; + setp.lt.f32 %p60, %f107, 0f00800000; + mul.f32 %f384, %f107, 0f4B800000; + selp.f32 %f385, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f386, %f384, %f107, %p60; + mov.b32 %r237, %f386; + and.b32 %r238, %r237, 8388607; + or.b32 %r239, %r238, 1065353216; + mov.b32 %f387, %r239; + shr.u32 %r240, %r237, 23; + cvt.rn.f32.u32 %f388, %r240; + add.f32 %f389, %f385, %f388; + setp.gt.f32 %p61, %f387, 0f3FB504F3; + mul.f32 %f390, %f387, 0f3F000000; + add.f32 %f391, %f389, 0f3F800000; + selp.f32 %f392, %f390, %f387, %p61; + selp.f32 %f393, %f391, %f389, %p61; + add.f32 %f394, %f392, 0fBF800000; + add.f32 %f383, %f392, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f382,%f383; + // inline asm + add.f32 %f395, %f394, %f394; + mul.f32 %f396, %f382, %f395; + mul.f32 %f397, %f396, %f396; + fma.rn.f32 %f400, %f554, %f397, %f555; + fma.rn.f32 %f402, %f400, %f397, %f556; + mul.rn.f32 %f403, %f402, %f397; + mul.rn.f32 %f404, %f403, %f396; + sub.f32 %f405, %f394, %f396; + neg.f32 %f406, %f396; + add.f32 %f407, %f405, %f405; + fma.rn.f32 %f408, %f406, %f394, %f407; + mul.rn.f32 %f409, %f382, %f408; + add.f32 %f410, %f404, %f396; + sub.f32 %f411, %f396, %f410; + add.f32 %f412, %f404, %f411; + add.f32 %f413, %f409, %f412; + add.f32 %f414, %f410, %f413; + sub.f32 %f415, %f410, %f414; + add.f32 %f416, %f413, %f415; + mul.rn.f32 %f418, %f393, %f557; + mul.rn.f32 %f420, %f393, %f558; + add.f32 %f421, %f418, %f414; + sub.f32 %f422, %f418, %f421; + add.f32 %f423, %f414, %f422; + add.f32 %f424, %f416, %f423; + add.f32 %f425, %f420, %f424; + add.f32 %f426, %f421, %f425; + sub.f32 %f427, %f421, %f426; + add.f32 %f428, %f425, %f427; + mul.rn.f32 %f430, %f351, %f426; + neg.f32 %f431, %f430; + fma.rn.f32 %f432, %f351, %f426, %f431; + fma.rn.f32 %f433, %f351, %f428, %f432; + fma.rn.f32 %f435, %f559, %f426, %f433; + add.rn.f32 %f436, %f430, %f435; + neg.f32 %f437, %f436; + add.rn.f32 %f438, %f430, %f437; + add.rn.f32 %f439, %f438, %f435; + mov.b32 %r241, %f436; + setp.eq.s32 %p62, %r241, 1118925336; + add.s32 %r242, %r241, -1; + mov.b32 %f440, %r242; + add.f32 %f441, %f439, 0f37000000; + selp.f32 %f442, %f440, %f436, %p62; + selp.f32 %f108, %f441, %f439, %p62; + mul.f32 %f443, %f442, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f444, %f443; + fma.rn.f32 %f446, %f444, %f560, %f442; + fma.rn.f32 %f448, %f444, %f561, %f446; + mul.f32 %f449, %f448, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f450, %f449; + add.f32 %f451, %f444, 0f00000000; + ex2.approx.f32 %f452, %f451; + mul.f32 %f453, %f450, %f452; + setp.lt.f32 %p63, %f442, 0fC2D20000; + selp.f32 %f454, 0f00000000, %f453, %p63; + setp.gt.f32 %p64, %f442, 0f42D20000; + selp.f32 %f618, 0f7F800000, %f454, %p64; + setp.eq.f32 %p65, %f618, 0f7F800000; + @%p65 bra BB0_74; + + fma.rn.f32 %f618, %f618, %f108, %f618; + +BB0_74: + setp.lt.f32 %p66, %f91, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r243, %f618; + xor.b32 %r244, %r243, -2147483648; + mov.b32 %f455, %r244; + selp.f32 %f620, %f455, %f618, %p2; + setp.eq.f32 %p68, %f91, 0f00000000; + @%p68 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f458, %f91, %f91; + selp.f32 %f620, %f458, 0f00000000, %p51; + bra.uni BB0_78; + +BB0_75: + setp.geu.f32 %p69, %f91, 0f00000000; + @%p69 bra BB0_78; + + mov.f32 %f577, 0f3EE66666; + cvt.rzi.f32.f32 %f457, %f577; + setp.neu.f32 %p70, %f457, 0f3EE66666; + selp.f32 %f620, 0f7FFFFFFF, %f620, %p70; + +BB0_78: + abs.f32 %f572, %f91; + add.f32 %f459, %f572, 0f3EE66666; + mov.b32 %r245, %f459; + setp.lt.s32 %p72, %r245, 2139095040; + @%p72 bra BB0_83; + + abs.f32 %f575, %f91; + setp.gtu.f32 %p73, %f575, 0f7F800000; + @%p73 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f620, %f91, 0f3EE66666; + bra.uni BB0_83; + +BB0_80: + abs.f32 %f576, %f91; + setp.neu.f32 %p74, %f576, 0f7F800000; + @%p74 bra BB0_83; + + selp.f32 %f620, 0fFF800000, 0f7F800000, %p2; + +BB0_83: + mov.f32 %f573, 0f3EE66666; + mov.f32 %f569, 0fB5BFBE8E; + mov.f32 %f568, 0fBF317200; + mov.f32 %f567, 0f00000000; + mov.f32 %f566, 0f35BFBE8E; + mov.f32 %f565, 0f3F317200; + mov.f32 %f564, 0f3DAAAABD; + mov.f32 %f563, 0f3C4CAF63; + mov.f32 %f562, 0f3B18F0FE; + setp.eq.f32 %p75, %f91, 0f3F800000; + selp.f32 %f119, 0f3F800000, %f620, %p75; + abs.f32 %f120, %f92; + setp.lt.f32 %p76, %f120, 0f00800000; + mul.f32 %f462, %f120, 0f4B800000; + selp.f32 %f463, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f464, %f462, %f120, %p76; + mov.b32 %r246, %f464; + and.b32 %r247, %r246, 8388607; + or.b32 %r248, %r247, 1065353216; + mov.b32 %f465, %r248; + shr.u32 %r249, %r246, 23; + cvt.rn.f32.u32 %f466, %r249; + add.f32 %f467, %f463, %f466; + setp.gt.f32 %p77, %f465, 0f3FB504F3; + mul.f32 %f468, %f465, 0f3F000000; + add.f32 %f469, %f467, 0f3F800000; + selp.f32 %f470, %f468, %f465, %p77; + selp.f32 %f471, %f469, %f467, %p77; + add.f32 %f472, %f470, 0fBF800000; + add.f32 %f461, %f470, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f460,%f461; + // inline asm + add.f32 %f473, %f472, %f472; + mul.f32 %f474, %f460, %f473; + mul.f32 %f475, %f474, %f474; + fma.rn.f32 %f478, %f562, %f475, %f563; + fma.rn.f32 %f480, %f478, %f475, %f564; + mul.rn.f32 %f481, %f480, %f475; + mul.rn.f32 %f482, %f481, %f474; + sub.f32 %f483, %f472, %f474; + neg.f32 %f484, %f474; + add.f32 %f485, %f483, %f483; + fma.rn.f32 %f486, %f484, %f472, %f485; + mul.rn.f32 %f487, %f460, %f486; + add.f32 %f488, %f482, %f474; + sub.f32 %f489, %f474, %f488; + add.f32 %f490, %f482, %f489; + add.f32 %f491, %f487, %f490; + add.f32 %f492, %f488, %f491; + sub.f32 %f493, %f488, %f492; + add.f32 %f494, %f491, %f493; + mul.rn.f32 %f496, %f471, %f565; + mul.rn.f32 %f498, %f471, %f566; + add.f32 %f499, %f496, %f492; + sub.f32 %f500, %f496, %f499; + add.f32 %f501, %f492, %f500; + add.f32 %f502, %f494, %f501; + add.f32 %f503, %f498, %f502; + add.f32 %f504, %f499, %f503; + sub.f32 %f505, %f499, %f504; + add.f32 %f506, %f503, %f505; + mul.rn.f32 %f508, %f573, %f504; + neg.f32 %f509, %f508; + fma.rn.f32 %f510, %f573, %f504, %f509; + fma.rn.f32 %f511, %f573, %f506, %f510; + fma.rn.f32 %f513, %f567, %f504, %f511; + add.rn.f32 %f514, %f508, %f513; + neg.f32 %f515, %f514; + add.rn.f32 %f516, %f508, %f515; + add.rn.f32 %f517, %f516, %f513; + mov.b32 %r250, %f514; + setp.eq.s32 %p78, %r250, 1118925336; + add.s32 %r251, %r250, -1; + mov.b32 %f518, %r251; + add.f32 %f519, %f517, 0f37000000; + selp.f32 %f520, %f518, %f514, %p78; + selp.f32 %f121, %f519, %f517, %p78; + mul.f32 %f521, %f520, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f522, %f521; + fma.rn.f32 %f524, %f522, %f568, %f520; + fma.rn.f32 %f526, %f522, %f569, %f524; + mul.f32 %f527, %f526, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f528, %f527; + add.f32 %f529, %f522, 0f00000000; + ex2.approx.f32 %f530, %f529; + mul.f32 %f531, %f528, %f530; + setp.lt.f32 %p79, %f520, 0fC2D20000; + selp.f32 %f532, 0f00000000, %f531, %p79; + setp.gt.f32 %p80, %f520, 0f42D20000; + selp.f32 %f621, 0f7F800000, %f532, %p80; + setp.eq.f32 %p81, %f621, 0f7F800000; + @%p81 bra BB0_85; + + fma.rn.f32 %f621, %f621, %f121, %f621; + +BB0_85: + setp.lt.f32 %p82, %f92, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r252, %f621; + xor.b32 %r253, %r252, -2147483648; + mov.b32 %f533, %r253; + selp.f32 %f623, %f533, %f621, %p3; + setp.eq.f32 %p84, %f92, 0f00000000; + @%p84 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f536, %f92, %f92; + selp.f32 %f623, %f536, 0f00000000, %p51; + bra.uni BB0_89; + +BB0_86: + setp.geu.f32 %p85, %f92, 0f00000000; + @%p85 bra BB0_89; + + mov.f32 %f574, 0f3EE66666; + cvt.rzi.f32.f32 %f535, %f574; + setp.neu.f32 %p86, %f535, 0f3EE66666; + selp.f32 %f623, 0f7FFFFFFF, %f623, %p86; + +BB0_89: + abs.f32 %f579, %f92; + add.f32 %f537, %f579, 0f3EE66666; + mov.b32 %r254, %f537; + setp.lt.s32 %p88, %r254, 2139095040; + @%p88 bra BB0_94; + + abs.f32 %f580, %f92; + setp.gtu.f32 %p89, %f580, 0f7F800000; + @%p89 bra BB0_93; + bra.uni BB0_91; + +BB0_93: + add.f32 %f623, %f92, 0f3EE66666; + bra.uni BB0_94; + +BB0_91: + abs.f32 %f581, %f92; + setp.neu.f32 %p90, %f581, 0f7F800000; + @%p90 bra BB0_94; + + selp.f32 %f623, 0fFF800000, 0f7F800000, %p3; + +BB0_94: + mov.u32 %r276, 4; + mov.u64 %rd98, 0; + mov.u32 %r275, 2; + setp.eq.f32 %p91, %f92, 0f3F800000; + selp.f32 %f538, 0f3F800000, %f623, %p91; + cvt.u64.u32 %rd66, %r3; + cvt.u64.u32 %rd65, %r2; + mov.u64 %rd69, image; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r275, %r276, %rd65, %rd66, %rd98, %rd98); + // inline asm + cvt.sat.f32.f32 %f539, %f538; + mul.f32 %f540, %f539, 0f437FFD71; + cvt.rzi.u32.f32 %r257, %f540; + cvt.sat.f32.f32 %f541, %f119; + mul.f32 %f542, %f541, 0f437FFD71; + cvt.rzi.u32.f32 %r258, %f542; + cvt.sat.f32.f32 %f543, %f106; + mul.f32 %f544, %f543, 0f437FFD71; + cvt.rzi.u32.f32 %r259, %f544; + cvt.u16.u32 %rs9, %r257; + cvt.u16.u32 %rs10, %r259; + cvt.u16.u32 %rs11, %r258; + mov.u16 %rs12, 255; + st.v4.u8 [%rd63], {%rs9, %rs11, %rs10, %rs12}; + ld.global.u32 %r309, [imageEnabled]; + +BB0_95: + and.b32 %r260, %r309, 4; + setp.eq.s32 %p92, %r260, 0; + @%p92 bra BB0_101; + + mov.u64 %rd99, 0; + mov.u32 %r277, 2; + ld.global.v2.u32 {%r265, %r266}, [pixelID]; + cvt.u64.u32 %rd72, %r265; + cvt.u64.u32 %rd73, %r266; + mov.u64 %rd82, lightmapDirect; + cvta.global.u64 %rd71, %rd82; + mov.u32 %r264, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r277, %r264, %rd72, %rd73, %rd99, %rd99); + // inline asm + ld.v4.u16 {%rs20, %rs21, %rs22, %rs23}, [%rd70]; + // inline asm + { cvt.f32.f16 %f545, %rs20;} + + // inline asm + // inline asm + { cvt.f32.f16 %f546, %rs21;} + + // inline asm + // inline asm + { cvt.f32.f16 %f547, %rs22;} + + // inline asm + add.f32 %f548, %f90, %f545; + add.f32 %f549, %f91, %f546; + add.f32 %f550, %f92, %f547; + cvt.u64.u32 %rd79, %r3; + cvt.u64.u32 %rd78, %r2; + mov.u64 %rd83, image_HDR; + cvta.global.u64 %rd77, %rd83; + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd77, %r277, %r264, %rd78, %rd79, %rd99, %rd99); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs18, %f550;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs17, %f549;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs16, %f548;} + + // inline asm + mov.f32 %f551, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs19, %f551;} + + // inline asm + st.v4.u16 [%rd76], {%rs16, %rs17, %rs18, %rs19}; + +BB0_101: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx.meta new file mode 100644 index 00000000..7701735d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSS.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b58495c943aa124c8c545944e2d8fa3 +timeCreated: 1540291414 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx new file mode 100644 index 00000000..dab0eee6 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx @@ -0,0 +1,1967 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 1 .b8 lightmapDirect[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<104>; + .reg .b16 %rs<139>; + .reg .f32 %f<793>; + .reg .b32 %r<383>; + .reg .b64 %rd<285>; + + + mov.u64 %rd284, __local_depot0; + cvta.local.u64 %SP, %rd284; + ld.global.v2.u32 {%r97, %r98}, [pixelID]; + cvt.u64.u32 %rd22, %r97; + cvt.u64.u32 %rd23, %r98; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r95, 2; + mov.u32 %r96, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r95, %r96, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r1, [%rd20]; + shr.u32 %r101, %r1, 16; + cvt.u16.u32 %rs1, %r101; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r1; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p4, %rs8, 0; + mov.f32 %f736, 0f00000000; + mov.f32 %f737, %f736; + mov.f32 %f738, %f736; + @%p4 bra BB0_2; + + ld.u8 %rs9, [%rd20+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f167, %rs11; + div.rn.f32 %f168, %f167, 0f437F0000; + fma.rn.f32 %f169, %f168, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f170, %rs9; + div.rn.f32 %f171, %f170, 0f437F0000; + fma.rn.f32 %f172, %f171, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f173, %rs6; + div.rn.f32 %f174, %f173, 0f437F0000; + fma.rn.f32 %f175, %f174, 0f40000000, 0fBF800000; + mul.f32 %f176, %f172, %f172; + fma.rn.f32 %f177, %f169, %f169, %f176; + fma.rn.f32 %f178, %f175, %f175, %f177; + sqrt.rn.f32 %f179, %f178; + rcp.rn.f32 %f180, %f179; + mul.f32 %f736, %f169, %f180; + mul.f32 %f737, %f172, %f180; + mul.f32 %f738, %f175, %f180; + +BB0_2: + ld.global.v2.u32 {%r102, %r103}, [pixelID]; + ld.global.v2.u32 {%r105, %r106}, [tileInfo]; + add.s32 %r2, %r102, %r105; + add.s32 %r3, %r103, %r106; + setp.eq.f32 %p5, %f737, 0f00000000; + setp.eq.f32 %p6, %f736, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f738, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_109; + bra.uni BB0_3; + +BB0_109: + ld.global.u32 %r382, [imageEnabled]; + and.b32 %r297, %r382, 1; + setp.eq.b32 %p97, %r297, 1; + @!%p97 bra BB0_111; + bra.uni BB0_110; + +BB0_110: + cvt.u64.u32 %rd170, %r2; + cvt.u64.u32 %rd171, %r3; + mov.u64 %rd174, image; + cvta.global.u64 %rd169, %rd174; + mov.u64 %rd173, 0; + // inline asm + call (%rd168), _rt_buffer_get_64, (%rd169, %r95, %r96, %rd170, %rd171, %rd173, %rd173); + // inline asm + mov.u16 %rs84, 0; + st.v4.u8 [%rd168], {%rs84, %rs84, %rs84, %rs84}; + ld.global.u32 %r382, [imageEnabled]; + +BB0_111: + and.b32 %r300, %r382, 4; + setp.eq.s32 %p98, %r300, 0; + @%p98 bra BB0_113; + + cvt.u64.u32 %rd178, %r3; + cvt.u64.u32 %rd177, %r2; + mov.u64 %rd181, image_HDR; + cvta.global.u64 %rd176, %rd181; + mov.u32 %r302, 8; + mov.u64 %rd180, 0; + // inline asm + call (%rd175), _rt_buffer_get_64, (%rd176, %r95, %r302, %rd177, %rd178, %rd180, %rd180); + // inline asm + mov.f32 %f649, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs85, %f649;} + + // inline asm + mov.u16 %rs86, 0; + st.v4.u16 [%rd175], {%rs85, %rs85, %rs85, %rs86}; + +BB0_113: + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + ld.global.u32 %r303, [additive]; + setp.eq.s32 %p99, %r303, 0; + @%p99 bra BB0_115; + + mov.u64 %rd194, image_RNM0; + cvta.global.u64 %rd183, %rd194; + mov.u32 %r307, 8; + mov.u64 %rd193, 0; + // inline asm + call (%rd182), _rt_buffer_get_64, (%rd183, %r95, %r307, %rd18, %rd19, %rd193, %rd193); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd182]; + // inline asm + { cvt.f32.f16 %f650, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f651, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f652, %rs95;} + + // inline asm + // inline asm + call (%rd188), _rt_buffer_get_64, (%rd183, %r95, %r307, %rd18, %rd19, %rd193, %rd193); + // inline asm + add.f32 %f653, %f650, 0f00000000; + add.f32 %f654, %f651, 0f00000000; + add.f32 %f655, %f652, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs92, %f655;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f654;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f653;} + + // inline asm + mov.u16 %rs97, 0; + st.v4.u16 [%rd188], {%rs90, %rs91, %rs92, %rs97}; + bra.uni BB0_116; + +BB0_3: + ld.global.v2.u32 {%r115, %r116}, [pixelID]; + cvt.u64.u32 %rd29, %r115; + cvt.u64.u32 %rd30, %r116; + mov.u64 %rd34, uvpos; + cvta.global.u64 %rd28, %rd34; + mov.u32 %r114, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r95, %r114, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f189, [%rd27+8]; + ld.f32 %f190, [%rd27+4]; + ld.f32 %f191, [%rd27]; + mul.f32 %f192, %f191, 0f3456BF95; + mul.f32 %f193, %f190, 0f3456BF95; + mul.f32 %f194, %f189, 0f3456BF95; + abs.f32 %f195, %f736; + div.rn.f32 %f196, %f192, %f195; + abs.f32 %f197, %f737; + div.rn.f32 %f198, %f193, %f197; + abs.f32 %f199, %f738; + div.rn.f32 %f200, %f194, %f199; + abs.f32 %f201, %f196; + abs.f32 %f202, %f198; + abs.f32 %f203, %f200; + mov.f32 %f204, 0f38D1B717; + max.f32 %f205, %f201, %f204; + max.f32 %f206, %f202, %f204; + max.f32 %f207, %f203, %f204; + fma.rn.f32 %f739, %f736, %f205, %f191; + fma.rn.f32 %f740, %f737, %f206, %f190; + fma.rn.f32 %f741, %f738, %f207, %f189; + add.u64 %rd33, %SP, 0; + cvta.to.local.u64 %rd35, %rd33; + mov.u32 %r113, 0; + st.local.u32 [%rd35+8], %r113; + st.local.u32 [%rd35+4], %r113; + st.local.u32 [%rd35], %r113; + ld.global.u32 %r112, [root]; + neg.f32 %f186, %f738; + neg.f32 %f185, %f737; + neg.f32 %f184, %f736; + mov.f32 %f748, 0f00000000; + mov.f32 %f188, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r112, %f739, %f740, %f741, %f184, %f185, %f186, %r113, %f748, %f188, %rd33, %r114); + // inline asm + ld.local.f32 %f13, [%rd35]; + abs.f32 %f14, %f184; + abs.f32 %f15, %f186; + setp.geu.f32 %p10, %f13, 0f00000000; + @%p10 bra BB0_5; + + neg.f32 %f687, %f738; + neg.f32 %f686, %f736; + neg.f32 %f685, %f737; + fma.rn.f32 %f208, %f736, %f13, %f739; + fma.rn.f32 %f209, %f737, %f13, %f740; + fma.rn.f32 %f210, %f738, %f13, %f741; + mul.f32 %f211, %f208, 0f3456BF95; + mul.f32 %f212, %f209, 0f3456BF95; + mul.f32 %f213, %f210, 0f3456BF95; + div.rn.f32 %f214, %f211, %f14; + abs.f32 %f215, %f685; + div.rn.f32 %f216, %f212, %f215; + div.rn.f32 %f217, %f213, %f15; + abs.f32 %f218, %f214; + abs.f32 %f219, %f216; + abs.f32 %f220, %f217; + max.f32 %f222, %f218, %f204; + max.f32 %f223, %f219, %f204; + max.f32 %f224, %f220, %f204; + fma.rn.f32 %f739, %f222, %f686, %f208; + fma.rn.f32 %f740, %f223, %f685, %f209; + fma.rn.f32 %f741, %f224, %f687, %f210; + +BB0_5: + mov.u64 %rd279, 0; + mov.u32 %r343, 4; + neg.f32 %f681, %f736; + neg.f32 %f680, %f737; + mov.u32 %r342, 2; + setp.gt.f32 %p11, %f14, %f15; + selp.f32 %f231, %f737, 0f00000000, %p11; + selp.f32 %f232, %f681, %f738, %p11; + selp.f32 %f233, 0f00000000, %f680, %p11; + mul.f32 %f234, %f232, %f232; + fma.rn.f32 %f235, %f231, %f231, %f234; + fma.rn.f32 %f236, %f233, %f233, %f235; + sqrt.rn.f32 %f237, %f236; + rcp.rn.f32 %f238, %f237; + mul.f32 %f22, %f231, %f238; + mul.f32 %f23, %f232, %f238; + mul.f32 %f24, %f233, %f238; + ld.global.v2.u32 {%r121, %r122}, [pixelID]; + cvt.u64.u32 %rd38, %r121; + cvt.u64.u32 %rd39, %r122; + mov.u64 %rd42, rnd_seeds; + cvta.global.u64 %rd37, %rd42; + // inline asm + call (%rd36), _rt_buffer_get_64, (%rd37, %r342, %r343, %rd38, %rd39, %rd279, %rd279); + // inline asm + ld.global.u32 %r353, [samples]; + setp.lt.s32 %p12, %r353, 1; + @%p12 bra BB0_6; + + mov.u32 %r354, 0; + neg.f32 %f684, %f738; + neg.f32 %f683, %f736; + neg.f32 %f682, %f737; + cvt.rn.f32.s32 %f245, %r353; + rcp.rn.f32 %f25, %f245; + ld.u32 %r379, [%rd36]; + mul.f32 %f26, %f739, 0f3456BF95; + mul.f32 %f27, %f740, 0f3456BF95; + mul.f32 %f28, %f741, 0f3456BF95; + mul.f32 %f246, %f23, %f683; + mul.f32 %f247, %f22, %f682; + sub.f32 %f29, %f247, %f246; + mul.f32 %f248, %f22, %f684; + mul.f32 %f249, %f24, %f683; + sub.f32 %f30, %f249, %f248; + mul.f32 %f250, %f24, %f682; + mul.f32 %f251, %f23, %f684; + sub.f32 %f31, %f251, %f250; + mov.f32 %f748, 0f00000000; + abs.f32 %f252, %f27; + abs.f32 %f253, %f26; + max.f32 %f254, %f253, %f252; + abs.f32 %f255, %f28; + max.f32 %f256, %f254, %f255; + mov.f32 %f749, %f748; + mov.f32 %f750, %f748; + mov.f32 %f751, %f748; + mov.f32 %f752, %f748; + mov.f32 %f753, %f748; + +BB0_8: + setp.lt.s32 %p13, %r353, 1; + @%p13 bra BB0_59; + + mov.u32 %r356, 0; + +BB0_10: + cvt.rn.f32.s32 %f678, %r354; + mad.lo.s32 %r127, %r379, 1664525, 1013904223; + and.b32 %r128, %r127, 16777215; + cvt.rn.f32.u32 %f258, %r128; + fma.rn.f32 %f259, %f258, 0f33800000, %f678; + mul.f32 %f46, %f25, %f259; + mad.lo.s32 %r11, %r127, 1664525, 1013904223; + and.b32 %r129, %r11, 16777215; + cvt.rn.f32.u32 %f260, %r129; + cvt.rn.f32.s32 %f261, %r356; + fma.rn.f32 %f262, %f260, 0f33800000, %f261; + mul.f32 %f263, %f25, %f262; + mul.f32 %f264, %f46, %f46; + mov.f32 %f265, 0f3F800000; + sub.f32 %f266, %f265, %f264; + mov.f32 %f267, 0f00000000; + max.f32 %f268, %f267, %f266; + sqrt.rn.f32 %f47, %f268; + mul.f32 %f760, %f263, 0f40C90FDB; + abs.f32 %f49, %f760; + setp.neu.f32 %p14, %f49, 0f7F800000; + mov.f32 %f754, %f760; + @%p14 bra BB0_12; + + mov.f32 %f695, 0f00000000; + mul.rn.f32 %f754, %f760, %f695; + +BB0_12: + mul.f32 %f270, %f754, 0f3F22F983; + cvt.rni.s32.f32 %r367, %f270; + cvt.rn.f32.s32 %f271, %r367; + neg.f32 %f272, %f271; + mov.f32 %f273, 0f3FC90FDA; + fma.rn.f32 %f274, %f272, %f273, %f754; + mov.f32 %f275, 0f33A22168; + fma.rn.f32 %f276, %f272, %f275, %f274; + mov.f32 %f277, 0f27C234C5; + fma.rn.f32 %f755, %f272, %f277, %f276; + abs.f32 %f278, %f754; + setp.leu.f32 %p15, %f278, 0f47CE4780; + @%p15 bra BB0_23; + + add.u64 %rd44, %SP, 12; + cvta.to.local.u64 %rd280, %rd44; + mov.b32 %r13, %f754; + shr.u32 %r14, %r13, 23; + shl.b32 %r132, %r13, 8; + or.b32 %r15, %r132, -2147483648; + mov.u32 %r358, 0; + mov.u64 %rd281, 0; + mov.u32 %r359, %r358; + +BB0_14: + .pragma "nounroll"; + add.u64 %rd264, %SP, 12; + cvta.to.local.u64 %rd263, %rd264; + shl.b64 %rd45, %rd281, 2; + mov.u64 %rd46, __cudart_i2opi_f; + add.s64 %rd47, %rd46, %rd45; + ld.const.u32 %r135, [%rd47]; + // inline asm + { + mad.lo.cc.u32 %r133, %r135, %r15, %r359; + madc.hi.u32 %r359, %r135, %r15, 0; + } + // inline asm + st.local.u32 [%rd280], %r133; + add.s32 %r358, %r358, 1; + cvt.s64.s32 %rd281, %r358; + mul.wide.s32 %rd50, %r358, 4; + add.s64 %rd280, %rd263, %rd50; + setp.ne.s32 %p16, %r358, 6; + @%p16 bra BB0_14; + + add.u64 %rd262, %SP, 12; + and.b32 %r138, %r14, 255; + add.s32 %r139, %r138, -128; + shr.u32 %r140, %r139, 5; + cvta.to.local.u64 %rd52, %rd262; + st.local.u32 [%rd52+24], %r359; + mov.u32 %r141, 6; + sub.s32 %r142, %r141, %r140; + mul.wide.s32 %rd53, %r142, 4; + add.s64 %rd8, %rd52, %rd53; + ld.local.u32 %r360, [%rd8]; + ld.local.u32 %r361, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p17, %r23, 0; + @%p17 bra BB0_17; + + mov.u32 %r143, 32; + sub.s32 %r144, %r143, %r23; + shr.u32 %r145, %r361, %r144; + shl.b32 %r146, %r360, %r23; + add.s32 %r360, %r145, %r146; + ld.local.u32 %r147, [%rd8+-8]; + shr.u32 %r148, %r147, %r144; + shl.b32 %r149, %r361, %r23; + add.s32 %r361, %r148, %r149; + +BB0_17: + mov.b32 %r346, %f754; + and.b32 %r363, %r346, -2147483648; + shr.u32 %r150, %r361, 30; + shl.b32 %r151, %r360, 2; + add.s32 %r362, %r150, %r151; + shl.b32 %r29, %r361, 2; + shr.u32 %r152, %r362, 31; + shr.u32 %r153, %r360, 30; + add.s32 %r30, %r152, %r153; + setp.eq.s32 %p18, %r152, 0; + @%p18 bra BB0_18; + bra.uni BB0_19; + +BB0_18: + mov.u32 %r364, %r29; + bra.uni BB0_20; + +BB0_19: + mov.b32 %r348, %f754; + and.b32 %r347, %r348, -2147483648; + not.b32 %r154, %r362; + neg.s32 %r364, %r29; + setp.eq.s32 %p19, %r29, 0; + selp.u32 %r155, 1, 0, %p19; + add.s32 %r362, %r155, %r154; + xor.b32 %r363, %r347, -2147483648; + +BB0_20: + mov.b32 %r350, %f754; + and.b32 %r349, %r350, -2147483648; + clz.b32 %r366, %r362; + setp.eq.s32 %p20, %r366, 0; + shl.b32 %r156, %r362, %r366; + mov.u32 %r157, 32; + sub.s32 %r158, %r157, %r366; + shr.u32 %r159, %r364, %r158; + add.s32 %r160, %r159, %r156; + selp.b32 %r38, %r362, %r160, %p20; + mov.u32 %r161, -921707870; + mul.hi.u32 %r365, %r38, %r161; + setp.eq.s32 %p21, %r349, 0; + neg.s32 %r162, %r30; + selp.b32 %r367, %r30, %r162, %p21; + setp.lt.s32 %p22, %r365, 1; + @%p22 bra BB0_22; + + mul.lo.s32 %r163, %r38, -921707870; + shr.u32 %r164, %r163, 31; + shl.b32 %r165, %r365, 1; + add.s32 %r365, %r164, %r165; + add.s32 %r366, %r366, 1; + +BB0_22: + mov.u32 %r166, 126; + sub.s32 %r167, %r166, %r366; + shl.b32 %r168, %r167, 23; + add.s32 %r169, %r365, 1; + shr.u32 %r170, %r169, 7; + add.s32 %r171, %r170, 1; + shr.u32 %r172, %r171, 1; + add.s32 %r173, %r172, %r168; + or.b32 %r174, %r173, %r363; + mov.b32 %f755, %r174; + +BB0_23: + mul.rn.f32 %f55, %f755, %f755; + add.s32 %r46, %r367, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p23, %r47, 0; + @%p23 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f281, 0f3C08839E; + mov.f32 %f282, 0fB94CA1F9; + fma.rn.f32 %f756, %f282, %f55, %f281; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f279, 0fBAB6061A; + mov.f32 %f280, 0f37CCF5CE; + fma.rn.f32 %f756, %f280, %f55, %f279; + +BB0_26: + @%p23 bra BB0_28; + bra.uni BB0_27; + +BB0_28: + mov.f32 %f694, 0f00000000; + mov.f32 %f286, 0fBE2AAAA3; + fma.rn.f32 %f287, %f756, %f55, %f286; + fma.rn.f32 %f757, %f287, %f55, %f694; + bra.uni BB0_29; + +BB0_27: + mov.f32 %f283, 0f3D2AAAA5; + fma.rn.f32 %f284, %f756, %f55, %f283; + mov.f32 %f285, 0fBF000000; + fma.rn.f32 %f757, %f284, %f55, %f285; + +BB0_29: + fma.rn.f32 %f758, %f757, %f755, %f755; + @%p23 bra BB0_31; + + mul.rn.f32 %f700, %f755, %f755; + mov.f32 %f688, 0f3F800000; + fma.rn.f32 %f758, %f757, %f700, %f688; + +BB0_31: + and.b32 %r175, %r46, 2; + setp.eq.s32 %p26, %r175, 0; + @%p26 bra BB0_33; + + mov.f32 %f689, 0f00000000; + mov.f32 %f291, 0fBF800000; + fma.rn.f32 %f758, %f758, %f291, %f689; + +BB0_33: + abs.f32 %f699, %f760; + setp.neu.f32 %p103, %f699, 0f7F800000; + @%p103 bra BB0_35; + + mov.f32 %f693, 0f00000000; + mul.rn.f32 %f760, %f760, %f693; + +BB0_35: + mov.f32 %f698, 0f27C234C5; + mov.f32 %f697, 0f33A22168; + mov.f32 %f696, 0f3FC90FDA; + mul.f32 %f293, %f760, 0f3F22F983; + cvt.rni.s32.f32 %r377, %f293; + cvt.rn.f32.s32 %f294, %r377; + neg.f32 %f295, %f294; + fma.rn.f32 %f297, %f295, %f696, %f760; + fma.rn.f32 %f299, %f295, %f697, %f297; + fma.rn.f32 %f761, %f295, %f698, %f299; + abs.f32 %f301, %f760; + setp.leu.f32 %p28, %f301, 0f47CE4780; + @%p28 bra BB0_46; + + mov.u64 %rd283, 0; + add.u64 %rd55, %SP, 12; + cvta.to.local.u64 %rd282, %rd55; + mov.b32 %r49, %f760; + shr.u32 %r50, %r49, 23; + shl.b32 %r178, %r49, 8; + or.b32 %r51, %r178, -2147483648; + mov.u32 %r368, 0; + mov.u32 %r369, %r368; + +BB0_37: + .pragma "nounroll"; + add.u64 %rd267, %SP, 12; + cvta.to.local.u64 %rd266, %rd267; + shl.b64 %rd56, %rd283, 2; + mov.u64 %rd57, __cudart_i2opi_f; + add.s64 %rd58, %rd57, %rd56; + ld.const.u32 %r181, [%rd58]; + // inline asm + { + mad.lo.cc.u32 %r179, %r181, %r51, %r369; + madc.hi.u32 %r369, %r181, %r51, 0; + } + // inline asm + st.local.u32 [%rd282], %r179; + add.s32 %r368, %r368, 1; + cvt.s64.s32 %rd283, %r368; + mul.wide.s32 %rd59, %r368, 4; + add.s64 %rd282, %rd266, %rd59; + setp.ne.s32 %p29, %r368, 6; + @%p29 bra BB0_37; + + add.u64 %rd265, %SP, 12; + and.b32 %r184, %r50, 255; + add.s32 %r185, %r184, -128; + shr.u32 %r186, %r185, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd61, %rd265; + st.local.u32 [%rd61+24], %r369; + mov.u32 %r187, 6; + sub.s32 %r188, %r187, %r186; + mul.wide.s32 %rd62, %r188, 4; + add.s64 %rd15, %rd61, %rd62; + ld.local.u32 %r370, [%rd15]; + ld.local.u32 %r371, [%rd15+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p30, %r59, 0; + @%p30 bra BB0_40; + + mov.u32 %r189, 32; + sub.s32 %r190, %r189, %r59; + shr.u32 %r191, %r371, %r190; + shl.b32 %r192, %r370, %r59; + add.s32 %r370, %r191, %r192; + ld.local.u32 %r193, [%rd15+-8]; + shr.u32 %r194, %r193, %r190; + shl.b32 %r195, %r371, %r59; + add.s32 %r371, %r194, %r195; + +BB0_40: + shr.u32 %r196, %r371, 30; + shl.b32 %r197, %r370, 2; + add.s32 %r372, %r196, %r197; + shl.b32 %r65, %r371, 2; + shr.u32 %r198, %r372, 31; + shr.u32 %r199, %r370, 30; + add.s32 %r66, %r198, %r199; + setp.eq.s32 %p31, %r198, 0; + @%p31 bra BB0_41; + bra.uni BB0_42; + +BB0_41: + mov.u32 %r373, %r56; + mov.u32 %r374, %r65; + bra.uni BB0_43; + +BB0_42: + not.b32 %r200, %r372; + neg.s32 %r374, %r65; + setp.eq.s32 %p32, %r65, 0; + selp.u32 %r201, 1, 0, %p32; + add.s32 %r372, %r201, %r200; + xor.b32 %r373, %r56, -2147483648; + +BB0_43: + clz.b32 %r376, %r372; + setp.eq.s32 %p33, %r376, 0; + shl.b32 %r202, %r372, %r376; + mov.u32 %r203, 32; + sub.s32 %r204, %r203, %r376; + shr.u32 %r205, %r374, %r204; + add.s32 %r206, %r205, %r202; + selp.b32 %r74, %r372, %r206, %p33; + mov.u32 %r207, -921707870; + mul.hi.u32 %r375, %r74, %r207; + setp.eq.s32 %p34, %r56, 0; + neg.s32 %r208, %r66; + selp.b32 %r377, %r66, %r208, %p34; + setp.lt.s32 %p35, %r375, 1; + @%p35 bra BB0_45; + + mul.lo.s32 %r209, %r74, -921707870; + shr.u32 %r210, %r209, 31; + shl.b32 %r211, %r375, 1; + add.s32 %r375, %r210, %r211; + add.s32 %r376, %r376, 1; + +BB0_45: + mov.u32 %r212, 126; + sub.s32 %r213, %r212, %r376; + shl.b32 %r214, %r213, 23; + add.s32 %r215, %r375, 1; + shr.u32 %r216, %r215, 7; + add.s32 %r217, %r216, 1; + shr.u32 %r218, %r217, 1; + add.s32 %r219, %r218, %r214; + or.b32 %r220, %r219, %r373; + mov.b32 %f761, %r220; + +BB0_46: + mul.rn.f32 %f72, %f761, %f761; + and.b32 %r82, %r377, 1; + setp.eq.s32 %p36, %r82, 0; + @%p36 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f304, 0f3C08839E; + mov.f32 %f305, 0fB94CA1F9; + fma.rn.f32 %f762, %f305, %f72, %f304; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f302, 0fBAB6061A; + mov.f32 %f303, 0f37CCF5CE; + fma.rn.f32 %f762, %f303, %f72, %f302; + +BB0_49: + @%p36 bra BB0_51; + bra.uni BB0_50; + +BB0_51: + mov.f32 %f692, 0f00000000; + mov.f32 %f309, 0fBE2AAAA3; + fma.rn.f32 %f310, %f762, %f72, %f309; + fma.rn.f32 %f763, %f310, %f72, %f692; + bra.uni BB0_52; + +BB0_50: + mov.f32 %f306, 0f3D2AAAA5; + fma.rn.f32 %f307, %f762, %f72, %f306; + mov.f32 %f308, 0fBF000000; + fma.rn.f32 %f763, %f307, %f72, %f308; + +BB0_52: + fma.rn.f32 %f764, %f763, %f761, %f761; + @%p36 bra BB0_54; + + mul.rn.f32 %f701, %f761, %f761; + mov.f32 %f690, 0f3F800000; + fma.rn.f32 %f764, %f763, %f701, %f690; + +BB0_54: + and.b32 %r221, %r377, 2; + setp.eq.s32 %p39, %r221, 0; + @%p39 bra BB0_56; + + mov.f32 %f691, 0f00000000; + mov.f32 %f314, 0fBF800000; + fma.rn.f32 %f764, %f764, %f314, %f691; + +BB0_56: + max.f32 %f679, %f256, %f204; + mul.f32 %f323, %f47, %f758; + mul.f32 %f324, %f47, %f764; + mul.f32 %f325, %f22, %f324; + mul.f32 %f326, %f23, %f324; + mul.f32 %f327, %f24, %f324; + fma.rn.f32 %f328, %f31, %f323, %f325; + fma.rn.f32 %f329, %f30, %f323, %f326; + fma.rn.f32 %f330, %f29, %f323, %f327; + mul.f32 %f331, %f46, %f736; + mul.f32 %f332, %f46, %f737; + mul.f32 %f333, %f46, %f738; + sub.f32 %f84, %f328, %f331; + sub.f32 %f85, %f329, %f332; + sub.f32 %f86, %f330, %f333; + mov.u32 %r225, -1082130432; + st.local.u32 [%rd35+8], %r225; + st.local.u32 [%rd35+4], %r225; + st.local.u32 [%rd35], %r225; + ld.global.u32 %r222, [root]; + mov.u32 %r223, 0; + // inline asm + call _rt_trace_64, (%r222, %f739, %f740, %f741, %f84, %f85, %f86, %r223, %f679, %f188, %rd33, %r114); + // inline asm + ld.local.f32 %f87, [%rd35]; + setp.lt.f32 %p40, %f87, 0f00000000; + @%p40 bra BB0_58; + + mul.f32 %f334, %f736, %f84; + mul.f32 %f335, %f737, %f85; + neg.f32 %f336, %f335; + sub.f32 %f337, %f336, %f334; + mul.f32 %f338, %f738, %f86; + sub.f32 %f339, %f337, %f338; + mul.f32 %f340, %f339, 0f40800000; + cvt.sat.f32.f32 %f341, %f340; + ld.local.f32 %f342, [%rd35+4]; + ld.local.f32 %f343, [%rd35+8]; + fma.rn.f32 %f750, %f341, %f87, %f750; + fma.rn.f32 %f749, %f341, %f342, %f749; + fma.rn.f32 %f748, %f341, %f343, %f748; + cvt.sat.f32.f32 %f344, %f339; + fma.rn.f32 %f753, %f344, %f87, %f753; + fma.rn.f32 %f752, %f344, %f342, %f752; + fma.rn.f32 %f751, %f344, %f343, %f751; + +BB0_58: + mad.lo.s32 %r352, %r379, 1664525, 1013904223; + mad.lo.s32 %r379, %r352, 1664525, 1013904223; + ld.global.u32 %r353, [samples]; + add.s32 %r356, %r356, 1; + setp.lt.s32 %p41, %r356, %r353; + @%p41 bra BB0_10; + +BB0_59: + add.s32 %r354, %r354, 1; + setp.lt.s32 %p42, %r354, %r353; + @%p42 bra BB0_8; + bra.uni BB0_60; + +BB0_115: + mov.u64 %rd201, image_RNM0; + cvta.global.u64 %rd196, %rd201; + mov.u32 %r309, 8; + mov.u64 %rd200, 0; + // inline asm + call (%rd195), _rt_buffer_get_64, (%rd196, %r95, %r309, %rd18, %rd19, %rd200, %rd200); + // inline asm + mov.f32 %f656, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f656;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd195], {%rs98, %rs98, %rs98, %rs99}; + +BB0_116: + ld.global.u32 %r310, [additive]; + setp.eq.s32 %p100, %r310, 0; + @%p100 bra BB0_118; + + mov.u64 %rd214, image_RNM1; + cvta.global.u64 %rd203, %rd214; + mov.u32 %r314, 8; + mov.u64 %rd213, 0; + // inline asm + call (%rd202), _rt_buffer_get_64, (%rd203, %r95, %r314, %rd18, %rd19, %rd213, %rd213); + // inline asm + ld.v4.u16 {%rs106, %rs107, %rs108, %rs109}, [%rd202]; + // inline asm + { cvt.f32.f16 %f657, %rs106;} + + // inline asm + // inline asm + { cvt.f32.f16 %f658, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f659, %rs108;} + + // inline asm + // inline asm + call (%rd208), _rt_buffer_get_64, (%rd203, %r95, %r314, %rd18, %rd19, %rd213, %rd213); + // inline asm + add.f32 %f660, %f657, 0f00000000; + add.f32 %f661, %f658, 0f00000000; + add.f32 %f662, %f659, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f662;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f661;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f660;} + + // inline asm + mov.u16 %rs110, 0; + st.v4.u16 [%rd208], {%rs103, %rs104, %rs105, %rs110}; + bra.uni BB0_119; + +BB0_6: + mov.f32 %f749, %f748; + mov.f32 %f750, %f748; + mov.f32 %f751, %f748; + mov.f32 %f752, %f748; + mov.f32 %f753, %f748; + +BB0_60: + mul.lo.s32 %r226, %r353, %r353; + cvt.rn.f32.s32 %f345, %r226; + rcp.rn.f32 %f112, %f345; + mul.f32 %f346, %f753, %f112; + mul.f32 %f347, %f752, %f112; + mul.f32 %f348, %f751, %f112; + fma.rn.f32 %f113, %f753, %f112, %f346; + fma.rn.f32 %f114, %f752, %f112, %f347; + fma.rn.f32 %f115, %f751, %f112, %f348; + ld.global.u32 %r381, [imageEnabled]; + and.b32 %r227, %r381, 1; + setp.eq.b32 %p43, %r227, 1; + @!%p43 bra BB0_95; + bra.uni BB0_61; + +BB0_61: + abs.f32 %f117, %f113; + setp.lt.f32 %p44, %f117, 0f00800000; + mul.f32 %f354, %f117, 0f4B800000; + selp.f32 %f355, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f356, %f354, %f117, %p44; + mov.b32 %r228, %f356; + and.b32 %r229, %r228, 8388607; + or.b32 %r230, %r229, 1065353216; + mov.b32 %f357, %r230; + shr.u32 %r231, %r228, 23; + cvt.rn.f32.u32 %f358, %r231; + add.f32 %f359, %f355, %f358; + setp.gt.f32 %p45, %f357, 0f3FB504F3; + mul.f32 %f360, %f357, 0f3F000000; + add.f32 %f361, %f359, 0f3F800000; + selp.f32 %f362, %f360, %f357, %p45; + selp.f32 %f363, %f361, %f359, %p45; + add.f32 %f364, %f362, 0fBF800000; + add.f32 %f350, %f362, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f349,%f350; + // inline asm + add.f32 %f365, %f364, %f364; + mul.f32 %f366, %f349, %f365; + mul.f32 %f367, %f366, %f366; + mov.f32 %f368, 0f3C4CAF63; + mov.f32 %f369, 0f3B18F0FE; + fma.rn.f32 %f370, %f369, %f367, %f368; + mov.f32 %f371, 0f3DAAAABD; + fma.rn.f32 %f372, %f370, %f367, %f371; + mul.rn.f32 %f373, %f372, %f367; + mul.rn.f32 %f374, %f373, %f366; + sub.f32 %f375, %f364, %f366; + neg.f32 %f376, %f366; + add.f32 %f377, %f375, %f375; + fma.rn.f32 %f378, %f376, %f364, %f377; + mul.rn.f32 %f379, %f349, %f378; + add.f32 %f380, %f374, %f366; + sub.f32 %f381, %f366, %f380; + add.f32 %f382, %f374, %f381; + add.f32 %f383, %f379, %f382; + add.f32 %f384, %f380, %f383; + sub.f32 %f385, %f380, %f384; + add.f32 %f386, %f383, %f385; + mov.f32 %f387, 0f3F317200; + mul.rn.f32 %f388, %f363, %f387; + mov.f32 %f389, 0f35BFBE8E; + mul.rn.f32 %f390, %f363, %f389; + add.f32 %f391, %f388, %f384; + sub.f32 %f392, %f388, %f391; + add.f32 %f393, %f384, %f392; + add.f32 %f394, %f386, %f393; + add.f32 %f395, %f390, %f394; + add.f32 %f396, %f391, %f395; + sub.f32 %f397, %f391, %f396; + add.f32 %f398, %f395, %f397; + mov.f32 %f399, 0f3EE66666; + mul.rn.f32 %f400, %f399, %f396; + neg.f32 %f401, %f400; + fma.rn.f32 %f402, %f399, %f396, %f401; + fma.rn.f32 %f403, %f399, %f398, %f402; + mov.f32 %f404, 0f00000000; + fma.rn.f32 %f405, %f404, %f396, %f403; + add.rn.f32 %f406, %f400, %f405; + neg.f32 %f407, %f406; + add.rn.f32 %f408, %f400, %f407; + add.rn.f32 %f409, %f408, %f405; + mov.b32 %r232, %f406; + setp.eq.s32 %p46, %r232, 1118925336; + add.s32 %r233, %r232, -1; + mov.b32 %f410, %r233; + add.f32 %f411, %f409, 0f37000000; + selp.f32 %f412, %f410, %f406, %p46; + selp.f32 %f118, %f411, %f409, %p46; + mul.f32 %f413, %f412, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f414, %f413; + mov.f32 %f415, 0fBF317200; + fma.rn.f32 %f416, %f414, %f415, %f412; + mov.f32 %f417, 0fB5BFBE8E; + fma.rn.f32 %f418, %f414, %f417, %f416; + mul.f32 %f419, %f418, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f420, %f419; + add.f32 %f421, %f414, 0f00000000; + ex2.approx.f32 %f422, %f421; + mul.f32 %f423, %f420, %f422; + setp.lt.f32 %p47, %f412, 0fC2D20000; + selp.f32 %f424, 0f00000000, %f423, %p47; + setp.gt.f32 %p48, %f412, 0f42D20000; + selp.f32 %f784, 0f7F800000, %f424, %p48; + setp.eq.f32 %p49, %f784, 0f7F800000; + @%p49 bra BB0_63; + + fma.rn.f32 %f784, %f784, %f118, %f784; + +BB0_63: + mov.f32 %f705, 0f3E666666; + cvt.rzi.f32.f32 %f704, %f705; + fma.rn.f32 %f703, %f704, 0fC0000000, 0f3EE66666; + abs.f32 %f702, %f703; + setp.lt.f32 %p50, %f113, 0f00000000; + setp.eq.f32 %p51, %f702, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r234, %f784; + xor.b32 %r235, %r234, -2147483648; + mov.b32 %f425, %r235; + selp.f32 %f786, %f425, %f784, %p1; + setp.eq.f32 %p52, %f113, 0f00000000; + @%p52 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f428, %f113, %f113; + selp.f32 %f786, %f428, 0f00000000, %p51; + bra.uni BB0_67; + +BB0_118: + mov.u64 %rd221, image_RNM1; + cvta.global.u64 %rd216, %rd221; + mov.u32 %r316, 8; + mov.u64 %rd220, 0; + // inline asm + call (%rd215), _rt_buffer_get_64, (%rd216, %r95, %r316, %rd18, %rd19, %rd220, %rd220); + // inline asm + mov.f32 %f663, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f663;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd215], {%rs111, %rs111, %rs111, %rs112}; + +BB0_119: + ld.global.u32 %r317, [additive]; + setp.eq.s32 %p101, %r317, 0; + @%p101 bra BB0_121; + + mov.u64 %rd234, image_RNM2; + cvta.global.u64 %rd223, %rd234; + mov.u32 %r321, 8; + mov.u64 %rd233, 0; + // inline asm + call (%rd222), _rt_buffer_get_64, (%rd223, %r95, %r321, %rd18, %rd19, %rd233, %rd233); + // inline asm + ld.v4.u16 {%rs119, %rs120, %rs121, %rs122}, [%rd222]; + // inline asm + { cvt.f32.f16 %f664, %rs119;} + + // inline asm + // inline asm + { cvt.f32.f16 %f665, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f666, %rs121;} + + // inline asm + // inline asm + call (%rd228), _rt_buffer_get_64, (%rd223, %r95, %r321, %rd18, %rd19, %rd233, %rd233); + // inline asm + add.f32 %f667, %f664, 0f00000000; + add.f32 %f668, %f665, 0f00000000; + add.f32 %f669, %f666, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs118, %f669;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f668;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs116, %f667;} + + // inline asm + mov.u16 %rs123, 0; + st.v4.u16 [%rd228], {%rs116, %rs117, %rs118, %rs123}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd241, image_RNM2; + cvta.global.u64 %rd236, %rd241; + mov.u32 %r323, 8; + mov.u64 %rd240, 0; + // inline asm + call (%rd235), _rt_buffer_get_64, (%rd236, %r95, %r323, %rd18, %rd19, %rd240, %rd240); + // inline asm + mov.f32 %f670, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f670;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd235], {%rs124, %rs124, %rs124, %rs125}; + +BB0_122: + ld.global.u32 %r324, [additive]; + setp.eq.s32 %p102, %r324, 0; + @%p102 bra BB0_124; + + mov.u64 %rd254, image_RNM3; + cvta.global.u64 %rd243, %rd254; + mov.u32 %r328, 8; + mov.u64 %rd253, 0; + // inline asm + call (%rd242), _rt_buffer_get_64, (%rd243, %r95, %r328, %rd18, %rd19, %rd253, %rd253); + // inline asm + ld.v4.u16 {%rs132, %rs133, %rs134, %rs135}, [%rd242]; + // inline asm + { cvt.f32.f16 %f671, %rs132;} + + // inline asm + // inline asm + { cvt.f32.f16 %f672, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f673, %rs134;} + + // inline asm + // inline asm + call (%rd248), _rt_buffer_get_64, (%rd243, %r95, %r328, %rd18, %rd19, %rd253, %rd253); + // inline asm + add.f32 %f674, %f671, 0f00000000; + add.f32 %f675, %f672, 0f00000000; + add.f32 %f676, %f673, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs131, %f676;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f675;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs129, %f674;} + + // inline asm + mov.u16 %rs136, 0; + st.v4.u16 [%rd248], {%rs129, %rs130, %rs131, %rs136}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd261, image_RNM3; + cvta.global.u64 %rd256, %rd261; + mov.u32 %r330, 8; + mov.u64 %rd260, 0; + // inline asm + call (%rd255), _rt_buffer_get_64, (%rd256, %r95, %r330, %rd18, %rd19, %rd260, %rd260); + // inline asm + mov.f32 %f677, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f677;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd255], {%rs137, %rs137, %rs137, %rs138}; + bra.uni BB0_125; + +BB0_64: + setp.geu.f32 %p53, %f113, 0f00000000; + @%p53 bra BB0_67; + + mov.f32 %f729, 0f3EE66666; + cvt.rzi.f32.f32 %f427, %f729; + setp.neu.f32 %p54, %f427, 0f3EE66666; + selp.f32 %f786, 0f7FFFFFFF, %f786, %p54; + +BB0_67: + abs.f32 %f706, %f113; + add.f32 %f429, %f706, 0f3EE66666; + mov.b32 %r236, %f429; + setp.lt.s32 %p56, %r236, 2139095040; + @%p56 bra BB0_72; + + abs.f32 %f727, %f113; + setp.gtu.f32 %p57, %f727, 0f7F800000; + @%p57 bra BB0_71; + bra.uni BB0_69; + +BB0_71: + add.f32 %f786, %f113, 0f3EE66666; + bra.uni BB0_72; + +BB0_69: + abs.f32 %f728, %f113; + setp.neu.f32 %p58, %f728, 0f7F800000; + @%p58 bra BB0_72; + + selp.f32 %f786, 0fFF800000, 0f7F800000, %p1; + +BB0_72: + mov.f32 %f715, 0fB5BFBE8E; + mov.f32 %f714, 0fBF317200; + mov.f32 %f713, 0f00000000; + mov.f32 %f712, 0f35BFBE8E; + mov.f32 %f711, 0f3F317200; + mov.f32 %f710, 0f3DAAAABD; + mov.f32 %f709, 0f3C4CAF63; + mov.f32 %f708, 0f3B18F0FE; + mov.f32 %f707, 0f3EE66666; + setp.eq.f32 %p59, %f113, 0f3F800000; + selp.f32 %f129, 0f3F800000, %f786, %p59; + abs.f32 %f130, %f114; + setp.lt.f32 %p60, %f130, 0f00800000; + mul.f32 %f432, %f130, 0f4B800000; + selp.f32 %f433, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f434, %f432, %f130, %p60; + mov.b32 %r237, %f434; + and.b32 %r238, %r237, 8388607; + or.b32 %r239, %r238, 1065353216; + mov.b32 %f435, %r239; + shr.u32 %r240, %r237, 23; + cvt.rn.f32.u32 %f436, %r240; + add.f32 %f437, %f433, %f436; + setp.gt.f32 %p61, %f435, 0f3FB504F3; + mul.f32 %f438, %f435, 0f3F000000; + add.f32 %f439, %f437, 0f3F800000; + selp.f32 %f440, %f438, %f435, %p61; + selp.f32 %f441, %f439, %f437, %p61; + add.f32 %f442, %f440, 0fBF800000; + add.f32 %f431, %f440, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f430,%f431; + // inline asm + add.f32 %f443, %f442, %f442; + mul.f32 %f444, %f430, %f443; + mul.f32 %f445, %f444, %f444; + fma.rn.f32 %f448, %f708, %f445, %f709; + fma.rn.f32 %f450, %f448, %f445, %f710; + mul.rn.f32 %f451, %f450, %f445; + mul.rn.f32 %f452, %f451, %f444; + sub.f32 %f453, %f442, %f444; + neg.f32 %f454, %f444; + add.f32 %f455, %f453, %f453; + fma.rn.f32 %f456, %f454, %f442, %f455; + mul.rn.f32 %f457, %f430, %f456; + add.f32 %f458, %f452, %f444; + sub.f32 %f459, %f444, %f458; + add.f32 %f460, %f452, %f459; + add.f32 %f461, %f457, %f460; + add.f32 %f462, %f458, %f461; + sub.f32 %f463, %f458, %f462; + add.f32 %f464, %f461, %f463; + mul.rn.f32 %f466, %f441, %f711; + mul.rn.f32 %f468, %f441, %f712; + add.f32 %f469, %f466, %f462; + sub.f32 %f470, %f466, %f469; + add.f32 %f471, %f462, %f470; + add.f32 %f472, %f464, %f471; + add.f32 %f473, %f468, %f472; + add.f32 %f474, %f469, %f473; + sub.f32 %f475, %f469, %f474; + add.f32 %f476, %f473, %f475; + mul.rn.f32 %f478, %f707, %f474; + neg.f32 %f479, %f478; + fma.rn.f32 %f480, %f707, %f474, %f479; + fma.rn.f32 %f481, %f707, %f476, %f480; + fma.rn.f32 %f483, %f713, %f474, %f481; + add.rn.f32 %f484, %f478, %f483; + neg.f32 %f485, %f484; + add.rn.f32 %f486, %f478, %f485; + add.rn.f32 %f487, %f486, %f483; + mov.b32 %r241, %f484; + setp.eq.s32 %p62, %r241, 1118925336; + add.s32 %r242, %r241, -1; + mov.b32 %f488, %r242; + add.f32 %f489, %f487, 0f37000000; + selp.f32 %f490, %f488, %f484, %p62; + selp.f32 %f131, %f489, %f487, %p62; + mul.f32 %f491, %f490, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f492, %f491; + fma.rn.f32 %f494, %f492, %f714, %f490; + fma.rn.f32 %f496, %f492, %f715, %f494; + mul.f32 %f497, %f496, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f498, %f497; + add.f32 %f499, %f492, 0f00000000; + ex2.approx.f32 %f500, %f499; + mul.f32 %f501, %f498, %f500; + setp.lt.f32 %p63, %f490, 0fC2D20000; + selp.f32 %f502, 0f00000000, %f501, %p63; + setp.gt.f32 %p64, %f490, 0f42D20000; + selp.f32 %f787, 0f7F800000, %f502, %p64; + setp.eq.f32 %p65, %f787, 0f7F800000; + @%p65 bra BB0_74; + + fma.rn.f32 %f787, %f787, %f131, %f787; + +BB0_74: + setp.lt.f32 %p66, %f114, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r243, %f787; + xor.b32 %r244, %r243, -2147483648; + mov.b32 %f503, %r244; + selp.f32 %f789, %f503, %f787, %p2; + setp.eq.f32 %p68, %f114, 0f00000000; + @%p68 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f506, %f114, %f114; + selp.f32 %f789, %f506, 0f00000000, %p51; + bra.uni BB0_78; + +BB0_75: + setp.geu.f32 %p69, %f114, 0f00000000; + @%p69 bra BB0_78; + + mov.f32 %f726, 0f3EE66666; + cvt.rzi.f32.f32 %f505, %f726; + setp.neu.f32 %p70, %f505, 0f3EE66666; + selp.f32 %f789, 0f7FFFFFFF, %f789, %p70; + +BB0_78: + abs.f32 %f730, %f114; + add.f32 %f507, %f730, 0f3EE66666; + mov.b32 %r245, %f507; + setp.lt.s32 %p72, %r245, 2139095040; + @%p72 bra BB0_83; + + abs.f32 %f731, %f114; + setp.gtu.f32 %p73, %f731, 0f7F800000; + @%p73 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f789, %f114, 0f3EE66666; + bra.uni BB0_83; + +BB0_80: + abs.f32 %f732, %f114; + setp.neu.f32 %p74, %f732, 0f7F800000; + @%p74 bra BB0_83; + + selp.f32 %f789, 0fFF800000, 0f7F800000, %p2; + +BB0_83: + mov.f32 %f724, 0fB5BFBE8E; + mov.f32 %f723, 0fBF317200; + mov.f32 %f722, 0f00000000; + mov.f32 %f721, 0f35BFBE8E; + mov.f32 %f720, 0f3F317200; + mov.f32 %f719, 0f3DAAAABD; + mov.f32 %f718, 0f3C4CAF63; + mov.f32 %f717, 0f3B18F0FE; + mov.f32 %f716, 0f3EE66666; + setp.eq.f32 %p75, %f114, 0f3F800000; + selp.f32 %f142, 0f3F800000, %f789, %p75; + abs.f32 %f143, %f115; + setp.lt.f32 %p76, %f143, 0f00800000; + mul.f32 %f510, %f143, 0f4B800000; + selp.f32 %f511, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f512, %f510, %f143, %p76; + mov.b32 %r246, %f512; + and.b32 %r247, %r246, 8388607; + or.b32 %r248, %r247, 1065353216; + mov.b32 %f513, %r248; + shr.u32 %r249, %r246, 23; + cvt.rn.f32.u32 %f514, %r249; + add.f32 %f515, %f511, %f514; + setp.gt.f32 %p77, %f513, 0f3FB504F3; + mul.f32 %f516, %f513, 0f3F000000; + add.f32 %f517, %f515, 0f3F800000; + selp.f32 %f518, %f516, %f513, %p77; + selp.f32 %f519, %f517, %f515, %p77; + add.f32 %f520, %f518, 0fBF800000; + add.f32 %f509, %f518, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f508,%f509; + // inline asm + add.f32 %f521, %f520, %f520; + mul.f32 %f522, %f508, %f521; + mul.f32 %f523, %f522, %f522; + fma.rn.f32 %f526, %f717, %f523, %f718; + fma.rn.f32 %f528, %f526, %f523, %f719; + mul.rn.f32 %f529, %f528, %f523; + mul.rn.f32 %f530, %f529, %f522; + sub.f32 %f531, %f520, %f522; + neg.f32 %f532, %f522; + add.f32 %f533, %f531, %f531; + fma.rn.f32 %f534, %f532, %f520, %f533; + mul.rn.f32 %f535, %f508, %f534; + add.f32 %f536, %f530, %f522; + sub.f32 %f537, %f522, %f536; + add.f32 %f538, %f530, %f537; + add.f32 %f539, %f535, %f538; + add.f32 %f540, %f536, %f539; + sub.f32 %f541, %f536, %f540; + add.f32 %f542, %f539, %f541; + mul.rn.f32 %f544, %f519, %f720; + mul.rn.f32 %f546, %f519, %f721; + add.f32 %f547, %f544, %f540; + sub.f32 %f548, %f544, %f547; + add.f32 %f549, %f540, %f548; + add.f32 %f550, %f542, %f549; + add.f32 %f551, %f546, %f550; + add.f32 %f552, %f547, %f551; + sub.f32 %f553, %f547, %f552; + add.f32 %f554, %f551, %f553; + mul.rn.f32 %f556, %f716, %f552; + neg.f32 %f557, %f556; + fma.rn.f32 %f558, %f716, %f552, %f557; + fma.rn.f32 %f559, %f716, %f554, %f558; + fma.rn.f32 %f561, %f722, %f552, %f559; + add.rn.f32 %f562, %f556, %f561; + neg.f32 %f563, %f562; + add.rn.f32 %f564, %f556, %f563; + add.rn.f32 %f565, %f564, %f561; + mov.b32 %r250, %f562; + setp.eq.s32 %p78, %r250, 1118925336; + add.s32 %r251, %r250, -1; + mov.b32 %f566, %r251; + add.f32 %f567, %f565, 0f37000000; + selp.f32 %f568, %f566, %f562, %p78; + selp.f32 %f144, %f567, %f565, %p78; + mul.f32 %f569, %f568, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f570, %f569; + fma.rn.f32 %f572, %f570, %f723, %f568; + fma.rn.f32 %f574, %f570, %f724, %f572; + mul.f32 %f575, %f574, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f576, %f575; + add.f32 %f577, %f570, 0f00000000; + ex2.approx.f32 %f578, %f577; + mul.f32 %f579, %f576, %f578; + setp.lt.f32 %p79, %f568, 0fC2D20000; + selp.f32 %f580, 0f00000000, %f579, %p79; + setp.gt.f32 %p80, %f568, 0f42D20000; + selp.f32 %f790, 0f7F800000, %f580, %p80; + setp.eq.f32 %p81, %f790, 0f7F800000; + @%p81 bra BB0_85; + + fma.rn.f32 %f790, %f790, %f144, %f790; + +BB0_85: + setp.lt.f32 %p82, %f115, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r252, %f790; + xor.b32 %r253, %r252, -2147483648; + mov.b32 %f581, %r253; + selp.f32 %f792, %f581, %f790, %p3; + setp.eq.f32 %p84, %f115, 0f00000000; + @%p84 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f584, %f115, %f115; + selp.f32 %f792, %f584, 0f00000000, %p51; + bra.uni BB0_89; + +BB0_86: + setp.geu.f32 %p85, %f115, 0f00000000; + @%p85 bra BB0_89; + + mov.f32 %f725, 0f3EE66666; + cvt.rzi.f32.f32 %f583, %f725; + setp.neu.f32 %p86, %f583, 0f3EE66666; + selp.f32 %f792, 0f7FFFFFFF, %f792, %p86; + +BB0_89: + abs.f32 %f733, %f115; + add.f32 %f585, %f733, 0f3EE66666; + mov.b32 %r254, %f585; + setp.lt.s32 %p88, %r254, 2139095040; + @%p88 bra BB0_94; + + abs.f32 %f734, %f115; + setp.gtu.f32 %p89, %f734, 0f7F800000; + @%p89 bra BB0_93; + bra.uni BB0_91; + +BB0_93: + add.f32 %f792, %f115, 0f3EE66666; + bra.uni BB0_94; + +BB0_91: + abs.f32 %f735, %f115; + setp.neu.f32 %p90, %f735, 0f7F800000; + @%p90 bra BB0_94; + + selp.f32 %f792, 0fFF800000, 0f7F800000, %p3; + +BB0_94: + mov.u64 %rd268, 0; + mov.u32 %r332, 4; + mov.u32 %r331, 2; + setp.eq.f32 %p91, %f115, 0f3F800000; + selp.f32 %f586, 0f3F800000, %f792, %p91; + cvt.u64.u32 %rd70, %r3; + cvt.u64.u32 %rd69, %r2; + mov.u64 %rd73, image; + cvta.global.u64 %rd68, %rd73; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r331, %r332, %rd69, %rd70, %rd268, %rd268); + // inline asm + cvt.sat.f32.f32 %f587, %f586; + mul.f32 %f588, %f587, 0f437FFD71; + cvt.rzi.u32.f32 %r257, %f588; + cvt.sat.f32.f32 %f589, %f142; + mul.f32 %f590, %f589, 0f437FFD71; + cvt.rzi.u32.f32 %r258, %f590; + cvt.sat.f32.f32 %f591, %f129; + mul.f32 %f592, %f591, 0f437FFD71; + cvt.rzi.u32.f32 %r259, %f592; + cvt.u16.u32 %rs13, %r257; + cvt.u16.u32 %rs14, %r259; + cvt.u16.u32 %rs15, %r258; + mov.u16 %rs16, 255; + st.v4.u8 [%rd67], {%rs13, %rs15, %rs14, %rs16}; + ld.global.u32 %r381, [imageEnabled]; + +BB0_95: + and.b32 %r260, %r381, 4; + setp.eq.s32 %p92, %r260, 0; + mul.f32 %f155, %f748, %f112; + mul.f32 %f156, %f749, %f112; + mul.f32 %f157, %f750, %f112; + @%p92 bra BB0_97; + + mov.u64 %rd269, 0; + mov.u32 %r333, 2; + cvt.u64.u32 %rd83, %r3; + ld.global.v2.u32 {%r265, %r266}, [pixelID]; + cvt.u64.u32 %rd76, %r265; + cvt.u64.u32 %rd77, %r266; + mov.u64 %rd86, lightmapDirect; + cvta.global.u64 %rd75, %rd86; + mov.u32 %r264, 8; + // inline asm + call (%rd74), _rt_buffer_get_64, (%rd75, %r333, %r264, %rd76, %rd77, %rd269, %rd269); + // inline asm + ld.v4.u16 {%rs24, %rs25, %rs26, %rs27}, [%rd74]; + // inline asm + { cvt.f32.f16 %f593, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f594, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f595, %rs26;} + + // inline asm + add.f32 %f596, %f113, %f593; + add.f32 %f597, %f114, %f594; + add.f32 %f598, %f115, %f595; + cvt.u64.u32 %rd82, %r2; + mov.u64 %rd87, image_HDR; + cvta.global.u64 %rd81, %rd87; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r333, %r264, %rd82, %rd83, %rd269, %rd269); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f598;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f597;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs20, %f596;} + + // inline asm + mov.f32 %f599, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs23, %f599;} + + // inline asm + st.v4.u16 [%rd80], {%rs20, %rs21, %rs22, %rs23}; + +BB0_97: + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + mul.f32 %f158, %f157, 0f3F000000; + mul.f32 %f159, %f156, 0f3F000000; + mul.f32 %f160, %f155, 0f3F000000; + ld.global.u32 %r269, [additive]; + setp.eq.s32 %p93, %r269, 0; + mov.f32 %f600, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs28, %f600;} + + // inline asm + @%p93 bra BB0_99; + + mov.u64 %rd270, 0; + mov.u32 %r334, 2; + mov.u64 %rd100, image_RNM0; + cvta.global.u64 %rd89, %rd100; + mov.u32 %r273, 8; + // inline asm + call (%rd88), _rt_buffer_get_64, (%rd89, %r334, %r273, %rd16, %rd17, %rd270, %rd270); + // inline asm + ld.v4.u16 {%rs35, %rs36, %rs37, %rs38}, [%rd88]; + // inline asm + { cvt.f32.f16 %f601, %rs35;} + + // inline asm + // inline asm + { cvt.f32.f16 %f602, %rs36;} + + // inline asm + // inline asm + { cvt.f32.f16 %f603, %rs37;} + + // inline asm + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd89, %r334, %r273, %rd16, %rd17, %rd270, %rd270); + // inline asm + add.f32 %f604, %f158, %f601; + add.f32 %f605, %f159, %f602; + add.f32 %f606, %f160, %f603; + // inline asm + { cvt.rn.f16.f32 %rs34, %f606;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f605;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f604;} + + // inline asm + st.v4.u16 [%rd94], {%rs32, %rs33, %rs34, %rs28}; + bra.uni BB0_100; + +BB0_99: + mov.u64 %rd277, 0; + mov.u32 %r341, 2; + mov.u64 %rd107, image_RNM0; + cvta.global.u64 %rd102, %rd107; + mov.u32 %r275, 8; + // inline asm + call (%rd101), _rt_buffer_get_64, (%rd102, %r341, %r275, %rd16, %rd17, %rd277, %rd277); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs41, %f160;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs40, %f159;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f158;} + + // inline asm + st.v4.u16 [%rd101], {%rs39, %rs40, %rs41, %rs28}; + +BB0_100: + mul.f32 %f611, %f112, 0f00000000; + mul.f32 %f612, %f611, 0f3F000000; + mov.f32 %f613, 0f34000000; + max.f32 %f614, %f158, %f613; + div.rn.f32 %f615, %f612, %f614; + max.f32 %f616, %f159, %f613; + div.rn.f32 %f617, %f612, %f616; + max.f32 %f618, %f160, %f613; + div.rn.f32 %f619, %f612, %f618; + fma.rn.f32 %f161, %f615, 0f3F000000, 0f3F000000; + fma.rn.f32 %f162, %f617, 0f3F000000, 0f3F000000; + fma.rn.f32 %f163, %f619, 0f3F000000, 0f3F000000; + ld.global.u32 %r276, [additive]; + setp.eq.s32 %p94, %r276, 0; + // inline asm + { cvt.rn.f16.f32 %rs42, %f600;} + + // inline asm + @%p94 bra BB0_102; + + mov.u64 %rd271, 0; + mov.u32 %r335, 2; + mov.u64 %rd120, image_RNM1; + cvta.global.u64 %rd109, %rd120; + mov.u32 %r280, 8; + // inline asm + call (%rd108), _rt_buffer_get_64, (%rd109, %r335, %r280, %rd16, %rd17, %rd271, %rd271); + // inline asm + ld.v4.u16 {%rs49, %rs50, %rs51, %rs52}, [%rd108]; + // inline asm + { cvt.f32.f16 %f620, %rs49;} + + // inline asm + // inline asm + { cvt.f32.f16 %f621, %rs50;} + + // inline asm + // inline asm + { cvt.f32.f16 %f622, %rs51;} + + // inline asm + // inline asm + call (%rd114), _rt_buffer_get_64, (%rd109, %r335, %r280, %rd16, %rd17, %rd271, %rd271); + // inline asm + add.f32 %f623, %f161, %f620; + add.f32 %f624, %f162, %f621; + add.f32 %f625, %f163, %f622; + // inline asm + { cvt.rn.f16.f32 %rs48, %f625;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f624;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f623;} + + // inline asm + st.v4.u16 [%rd114], {%rs46, %rs47, %rs48, %rs42}; + bra.uni BB0_103; + +BB0_102: + mov.u64 %rd276, 0; + mov.u32 %r340, 2; + mov.u64 %rd127, image_RNM1; + cvta.global.u64 %rd122, %rd127; + mov.u32 %r282, 8; + // inline asm + call (%rd121), _rt_buffer_get_64, (%rd122, %r340, %r282, %rd16, %rd17, %rd276, %rd276); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs55, %f163;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs54, %f162;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f161;} + + // inline asm + st.v4.u16 [%rd121], {%rs53, %rs54, %rs55, %rs42}; + +BB0_103: + ld.global.u32 %r283, [additive]; + setp.eq.s32 %p95, %r283, 0; + // inline asm + { cvt.rn.f16.f32 %rs56, %f600;} + + // inline asm + @%p95 bra BB0_105; + + mov.u64 %rd272, 0; + mov.u32 %r336, 2; + mov.u64 %rd140, image_RNM2; + cvta.global.u64 %rd129, %rd140; + mov.u32 %r287, 8; + // inline asm + call (%rd128), _rt_buffer_get_64, (%rd129, %r336, %r287, %rd16, %rd17, %rd272, %rd272); + // inline asm + ld.v4.u16 {%rs63, %rs64, %rs65, %rs66}, [%rd128]; + // inline asm + { cvt.f32.f16 %f630, %rs63;} + + // inline asm + // inline asm + { cvt.f32.f16 %f631, %rs64;} + + // inline asm + // inline asm + { cvt.f32.f16 %f632, %rs65;} + + // inline asm + // inline asm + call (%rd134), _rt_buffer_get_64, (%rd129, %r336, %r287, %rd16, %rd17, %rd272, %rd272); + // inline asm + add.f32 %f633, %f161, %f630; + add.f32 %f634, %f162, %f631; + add.f32 %f635, %f163, %f632; + // inline asm + { cvt.rn.f16.f32 %rs62, %f635;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs61, %f634;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs60, %f633;} + + // inline asm + st.v4.u16 [%rd134], {%rs60, %rs61, %rs62, %rs56}; + bra.uni BB0_106; + +BB0_105: + mov.u64 %rd275, 0; + mov.u32 %r339, 2; + mov.u64 %rd147, image_RNM2; + cvta.global.u64 %rd142, %rd147; + mov.u32 %r289, 8; + // inline asm + call (%rd141), _rt_buffer_get_64, (%rd142, %r339, %r289, %rd16, %rd17, %rd275, %rd275); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f163;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs68, %f162;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs67, %f161;} + + // inline asm + st.v4.u16 [%rd141], {%rs67, %rs68, %rs69, %rs56}; + +BB0_106: + ld.global.u32 %r290, [additive]; + setp.eq.s32 %p96, %r290, 0; + // inline asm + { cvt.rn.f16.f32 %rs70, %f600;} + + // inline asm + @%p96 bra BB0_108; + + mov.u64 %rd273, 0; + mov.u32 %r337, 2; + mov.u64 %rd160, image_RNM3; + cvta.global.u64 %rd149, %rd160; + mov.u32 %r294, 8; + // inline asm + call (%rd148), _rt_buffer_get_64, (%rd149, %r337, %r294, %rd16, %rd17, %rd273, %rd273); + // inline asm + ld.v4.u16 {%rs77, %rs78, %rs79, %rs80}, [%rd148]; + // inline asm + { cvt.f32.f16 %f640, %rs77;} + + // inline asm + // inline asm + { cvt.f32.f16 %f641, %rs78;} + + // inline asm + // inline asm + { cvt.f32.f16 %f642, %rs79;} + + // inline asm + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd149, %r337, %r294, %rd16, %rd17, %rd273, %rd273); + // inline asm + add.f32 %f643, %f161, %f640; + add.f32 %f644, %f162, %f641; + add.f32 %f645, %f163, %f642; + // inline asm + { cvt.rn.f16.f32 %rs76, %f645;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f644;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs74, %f643;} + + // inline asm + st.v4.u16 [%rd154], {%rs74, %rs75, %rs76, %rs70}; + bra.uni BB0_125; + +BB0_108: + mov.u64 %rd274, 0; + mov.u32 %r338, 2; + mov.u64 %rd167, image_RNM3; + cvta.global.u64 %rd162, %rd167; + mov.u32 %r296, 8; + // inline asm + call (%rd161), _rt_buffer_get_64, (%rd162, %r338, %r296, %rd16, %rd17, %rd274, %rd274); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f163;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs82, %f162;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f161;} + + // inline asm + st.v4.u16 [%rd161], {%rs81, %rs82, %rs83, %rs70}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx.meta new file mode 100644 index 00000000..bba3c4c5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSSSSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 149ff0b0fbbfc4d4d84fa34374ca61c7 +timeCreated: 1540294206 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx new file mode 100644 index 00000000..edfd27dd --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx @@ -0,0 +1,1359 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .texref sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<97>; + .reg .b16 %rs<42>; + .reg .f32 %f<569>; + .reg .b32 %r<302>; + .reg .b64 %rd<114>; + + + mov.u64 %rd113, __local_depot0; + cvta.local.u64 %SP, %rd113; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r93, %r94}, [pixelID]; + cvt.u64.u32 %rd21, %r93; + cvt.u64.u32 %rd22, %r94; + mov.u64 %rd25, uvnormal; + cvta.global.u64 %rd20, %rd25; + mov.u32 %r91, 2; + mov.u32 %r92, 4; + mov.u64 %rd24, 0; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r91, %r92, %rd21, %rd22, %rd24, %rd24); + // inline asm + ld.u32 %r2, [%rd19]; + shr.u32 %r97, %r2, 16; + cvt.u16.u32 %rs1, %r97; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r2; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p4, %rs5, 0; + mov.f32 %f541, 0f00000000; + mov.f32 %f542, %f541; + mov.f32 %f543, %f541; + @%p4 bra BB0_2; + + ld.u8 %rs6, [%rd19+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f111, %rs8; + div.rn.f32 %f112, %f111, 0f437F0000; + fma.rn.f32 %f113, %f112, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f114, %rs6; + div.rn.f32 %f115, %f114, 0f437F0000; + fma.rn.f32 %f116, %f115, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f117, %rs3; + div.rn.f32 %f118, %f117, 0f437F0000; + fma.rn.f32 %f119, %f118, 0f40000000, 0fBF800000; + mul.f32 %f120, %f116, %f116; + fma.rn.f32 %f121, %f113, %f113, %f120; + fma.rn.f32 %f122, %f119, %f119, %f121; + sqrt.rn.f32 %f123, %f122; + rcp.rn.f32 %f124, %f123; + mul.f32 %f541, %f113, %f124; + mul.f32 %f542, %f116, %f124; + mul.f32 %f543, %f119, %f124; + +BB0_2: + ld.global.v2.u32 {%r98, %r99}, [pixelID]; + ld.global.v2.u32 {%r101, %r102}, [tileInfo]; + add.s32 %r3, %r98, %r101; + add.s32 %r4, %r99, %r102; + setp.eq.f32 %p5, %f542, 0f00000000; + setp.eq.f32 %p6, %f541, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f543, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_95; + bra.uni BB0_3; + +BB0_95: + ld.global.u32 %r301, [imageEnabled]; + and.b32 %r261, %r301, 1; + setp.eq.b32 %p94, %r261, 1; + @!%p94 bra BB0_97; + bra.uni BB0_96; + +BB0_96: + cvt.u64.u32 %rd81, %r3; + cvt.u64.u32 %rd82, %r4; + mov.u64 %rd85, image; + cvta.global.u64 %rd80, %rd85; + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd80, %r91, %r92, %rd81, %rd82, %rd24, %rd24); + // inline asm + mov.u16 %rs28, 0; + st.v4.u8 [%rd79], {%rs28, %rs28, %rs28, %rs28}; + ld.global.u32 %r301, [imageEnabled]; + +BB0_97: + and.b32 %r264, %r301, 4; + setp.eq.s32 %p95, %r264, 0; + @%p95 bra BB0_101; + + ld.global.u32 %r265, [additive]; + setp.eq.s32 %p96, %r265, 0; + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + @%p96 bra BB0_100; + + mov.u64 %rd98, image_HDR; + cvta.global.u64 %rd87, %rd98; + mov.u32 %r269, 8; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd87, %r91, %r269, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs35, %rs36, %rs37, %rs38}, [%rd86]; + // inline asm + { cvt.f32.f16 %f506, %rs35;} + + // inline asm + // inline asm + { cvt.f32.f16 %f507, %rs36;} + + // inline asm + // inline asm + { cvt.f32.f16 %f508, %rs37;} + + // inline asm + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd87, %r91, %r269, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f509, %f506, 0f00000000; + add.f32 %f510, %f507, 0f00000000; + add.f32 %f511, %f508, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f511;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f510;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f509;} + + // inline asm + mov.u16 %rs39, 0; + st.v4.u16 [%rd92], {%rs32, %rs33, %rs34, %rs39}; + bra.uni BB0_101; + +BB0_3: + ld.global.v2.u32 {%r110, %r111}, [pixelID]; + cvt.u64.u32 %rd28, %r110; + cvt.u64.u32 %rd29, %r111; + mov.u64 %rd38, uvpos; + cvta.global.u64 %rd27, %rd38; + mov.u32 %r107, 12; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r91, %r107, %rd28, %rd29, %rd24, %rd24); + // inline asm + ld.f32 %f126, [%rd26+8]; + ld.f32 %f127, [%rd26+4]; + ld.f32 %f128, [%rd26]; + mul.f32 %f129, %f128, 0f3456BF95; + mul.f32 %f130, %f127, 0f3456BF95; + mul.f32 %f131, %f126, 0f3456BF95; + abs.f32 %f132, %f541; + div.rn.f32 %f133, %f129, %f132; + abs.f32 %f134, %f542; + div.rn.f32 %f135, %f130, %f134; + abs.f32 %f136, %f543; + div.rn.f32 %f137, %f131, %f136; + abs.f32 %f138, %f133; + abs.f32 %f139, %f135; + abs.f32 %f140, %f137; + mov.f32 %f141, 0f38D1B717; + max.f32 %f142, %f138, %f141; + max.f32 %f143, %f139, %f141; + max.f32 %f144, %f140, %f141; + fma.rn.f32 %f7, %f541, %f142, %f128; + fma.rn.f32 %f8, %f542, %f143, %f127; + fma.rn.f32 %f9, %f543, %f144, %f126; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f132, %f136; + neg.f32 %f145, %f542; + selp.f32 %f146, %f145, 0f00000000, %p10; + neg.f32 %f147, %f543; + selp.f32 %f148, %f541, %f147, %p10; + selp.f32 %f149, 0f00000000, %f542, %p10; + mul.f32 %f150, %f148, %f148; + fma.rn.f32 %f151, %f146, %f146, %f150; + fma.rn.f32 %f152, %f149, %f149, %f151; + sqrt.rn.f32 %f153, %f152; + rcp.rn.f32 %f154, %f153; + mul.f32 %f10, %f146, %f154; + mul.f32 %f11, %f148, %f154; + mul.f32 %f12, %f149, %f154; + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + cvt.u64.u32 %rd34, %r114; + cvt.u64.u32 %rd35, %r115; + mov.u64 %rd39, rnd_seeds; + cvta.global.u64 %rd33, %rd39; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r91, %r92, %rd34, %rd35, %rd24, %rd24); + // inline asm + mov.f32 %f558, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + @%p11 bra BB0_56; + + cvt.rn.f32.s32 %f156, %r1; + rcp.rn.f32 %f13, %f156; + ld.u32 %r279, [%rd32]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f157, %f541, %f11; + mul.f32 %f158, %f542, %f10; + sub.f32 %f17, %f158, %f157; + mul.f32 %f159, %f543, %f10; + mul.f32 %f160, %f541, %f12; + sub.f32 %f18, %f160, %f159; + mul.f32 %f161, %f542, %f12; + mul.f32 %f162, %f543, %f11; + sub.f32 %f19, %f162, %f161; + mov.f32 %f558, 0f00000000; + mov.u32 %r118, 0; + abs.f32 %f240, %f15; + abs.f32 %f241, %f14; + max.f32 %f242, %f241, %f240; + abs.f32 %f243, %f16; + max.f32 %f244, %f242, %f243; + mov.u32 %r276, %r118; + +BB0_5: + cvt.rn.f32.s32 %f21, %r276; + mov.u32 %r278, %r118; + +BB0_6: + mad.lo.s32 %r120, %r279, 1664525, 1013904223; + and.b32 %r121, %r120, 16777215; + cvt.rn.f32.u32 %f163, %r121; + fma.rn.f32 %f164, %f163, 0f33800000, %f21; + mul.f32 %f165, %f13, %f164; + mad.lo.s32 %r279, %r120, 1664525, 1013904223; + and.b32 %r122, %r279, 16777215; + cvt.rn.f32.u32 %f166, %r122; + cvt.rn.f32.s32 %f167, %r278; + fma.rn.f32 %f168, %f166, 0f33800000, %f167; + mul.f32 %f169, %f13, %f168; + sqrt.rn.f32 %f23, %f165; + mul.f32 %f552, %f169, 0f40C90FDB; + abs.f32 %f25, %f552; + setp.neu.f32 %p12, %f25, 0f7F800000; + mov.f32 %f546, %f552; + @%p12 bra BB0_8; + + mov.f32 %f170, 0f00000000; + mul.rn.f32 %f546, %f552, %f170; + +BB0_8: + mul.f32 %f171, %f546, 0f3F22F983; + cvt.rni.s32.f32 %r289, %f171; + cvt.rn.f32.s32 %f172, %r289; + neg.f32 %f173, %f172; + mov.f32 %f174, 0f3FC90FDA; + fma.rn.f32 %f175, %f173, %f174, %f546; + mov.f32 %f176, 0f33A22168; + fma.rn.f32 %f177, %f173, %f176, %f175; + mov.f32 %f178, 0f27C234C5; + fma.rn.f32 %f547, %f173, %f178, %f177; + abs.f32 %f179, %f546; + setp.leu.f32 %p13, %f179, 0f47CE4780; + @%p13 bra BB0_19; + + mov.b32 %r13, %f546; + shr.u32 %r14, %r13, 23; + shl.b32 %r125, %r13, 8; + or.b32 %r15, %r125, -2147483648; + add.u64 %rd41, %SP, 0; + cvta.to.local.u64 %rd110, %rd41; + mov.u32 %r281, 0; + mov.u64 %rd109, __cudart_i2opi_f; + mov.u32 %r280, -6; + +BB0_10: + .pragma "nounroll"; + ld.const.u32 %r128, [%rd109]; + // inline asm + { + mad.lo.cc.u32 %r126, %r128, %r15, %r281; + madc.hi.u32 %r281, %r128, %r15, 0; + } + // inline asm + st.local.u32 [%rd110], %r126; + add.s64 %rd110, %rd110, 4; + add.s64 %rd109, %rd109, 4; + add.s32 %r280, %r280, 1; + setp.ne.s32 %p14, %r280, 0; + @%p14 bra BB0_10; + + and.b32 %r131, %r14, 255; + add.s32 %r132, %r131, -128; + shr.u32 %r133, %r132, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd43, %rd41; + st.local.u32 [%rd43+24], %r281; + mov.u32 %r134, 6; + sub.s32 %r135, %r134, %r133; + mul.wide.s32 %rd44, %r135, 4; + add.s64 %rd8, %rd43, %rd44; + ld.local.u32 %r282, [%rd8]; + ld.local.u32 %r283, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p15, %r23, 0; + @%p15 bra BB0_13; + + mov.u32 %r136, 32; + sub.s32 %r137, %r136, %r23; + shr.u32 %r138, %r283, %r137; + shl.b32 %r139, %r282, %r23; + add.s32 %r282, %r138, %r139; + ld.local.u32 %r140, [%rd8+-8]; + shr.u32 %r141, %r140, %r137; + shl.b32 %r142, %r283, %r23; + add.s32 %r283, %r141, %r142; + +BB0_13: + shr.u32 %r143, %r283, 30; + shl.b32 %r144, %r282, 2; + add.s32 %r284, %r143, %r144; + shl.b32 %r29, %r283, 2; + shr.u32 %r145, %r284, 31; + shr.u32 %r146, %r282, 30; + add.s32 %r30, %r145, %r146; + setp.eq.s32 %p16, %r145, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r285, %r20; + mov.u32 %r286, %r29; + bra.uni BB0_16; + +BB0_15: + not.b32 %r147, %r284; + neg.s32 %r286, %r29; + setp.eq.s32 %p17, %r29, 0; + selp.u32 %r148, 1, 0, %p17; + add.s32 %r284, %r148, %r147; + xor.b32 %r285, %r20, -2147483648; + +BB0_16: + clz.b32 %r288, %r284; + setp.eq.s32 %p18, %r288, 0; + shl.b32 %r149, %r284, %r288; + mov.u32 %r150, 32; + sub.s32 %r151, %r150, %r288; + shr.u32 %r152, %r286, %r151; + add.s32 %r153, %r152, %r149; + selp.b32 %r38, %r284, %r153, %p18; + mov.u32 %r154, -921707870; + mul.hi.u32 %r287, %r38, %r154; + setp.eq.s32 %p19, %r20, 0; + neg.s32 %r155, %r30; + selp.b32 %r289, %r30, %r155, %p19; + setp.lt.s32 %p20, %r287, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r156, %r38, -921707870; + shr.u32 %r157, %r156, 31; + shl.b32 %r158, %r287, 1; + add.s32 %r287, %r157, %r158; + add.s32 %r288, %r288, 1; + +BB0_18: + mov.u32 %r159, 126; + sub.s32 %r160, %r159, %r288; + shl.b32 %r161, %r160, 23; + add.s32 %r162, %r287, 1; + shr.u32 %r163, %r162, 7; + add.s32 %r164, %r163, 1; + shr.u32 %r165, %r164, 1; + add.s32 %r166, %r165, %r161; + or.b32 %r167, %r166, %r285; + mov.b32 %f547, %r167; + +BB0_19: + mul.rn.f32 %f31, %f547, %f547; + add.s32 %r46, %r289, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p21, %r47, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mov.f32 %f182, 0f3C08839E; + mov.f32 %f183, 0fB94CA1F9; + fma.rn.f32 %f548, %f183, %f31, %f182; + bra.uni BB0_22; + +BB0_20: + mov.f32 %f180, 0fBAB6061A; + mov.f32 %f181, 0f37CCF5CE; + fma.rn.f32 %f548, %f181, %f31, %f180; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mov.f32 %f187, 0fBE2AAAA3; + fma.rn.f32 %f188, %f548, %f31, %f187; + mov.f32 %f189, 0f00000000; + fma.rn.f32 %f549, %f188, %f31, %f189; + bra.uni BB0_25; + +BB0_23: + mov.f32 %f184, 0f3D2AAAA5; + fma.rn.f32 %f185, %f548, %f31, %f184; + mov.f32 %f186, 0fBF000000; + fma.rn.f32 %f549, %f185, %f31, %f186; + +BB0_25: + fma.rn.f32 %f550, %f549, %f547, %f547; + @%p21 bra BB0_27; + + mov.f32 %f190, 0f3F800000; + fma.rn.f32 %f550, %f549, %f31, %f190; + +BB0_27: + and.b32 %r168, %r46, 2; + setp.eq.s32 %p24, %r168, 0; + @%p24 bra BB0_29; + + mov.f32 %f191, 0f00000000; + mov.f32 %f192, 0fBF800000; + fma.rn.f32 %f550, %f550, %f192, %f191; + +BB0_29: + @%p12 bra BB0_31; + + mov.f32 %f193, 0f00000000; + mul.rn.f32 %f552, %f552, %f193; + +BB0_31: + mul.f32 %f194, %f552, 0f3F22F983; + cvt.rni.s32.f32 %r299, %f194; + cvt.rn.f32.s32 %f195, %r299; + neg.f32 %f196, %f195; + fma.rn.f32 %f198, %f196, %f174, %f552; + fma.rn.f32 %f200, %f196, %f176, %f198; + fma.rn.f32 %f553, %f196, %f178, %f200; + abs.f32 %f202, %f552; + setp.leu.f32 %p26, %f202, 0f47CE4780; + @%p26 bra BB0_42; + + mov.b32 %r49, %f552; + shr.u32 %r50, %r49, 23; + shl.b32 %r171, %r49, 8; + or.b32 %r51, %r171, -2147483648; + add.u64 %rd46, %SP, 0; + cvta.to.local.u64 %rd112, %rd46; + mov.u32 %r291, 0; + mov.u64 %rd111, __cudart_i2opi_f; + mov.u32 %r290, -6; + +BB0_33: + .pragma "nounroll"; + ld.const.u32 %r174, [%rd111]; + // inline asm + { + mad.lo.cc.u32 %r172, %r174, %r51, %r291; + madc.hi.u32 %r291, %r174, %r51, 0; + } + // inline asm + st.local.u32 [%rd112], %r172; + add.s64 %rd112, %rd112, 4; + add.s64 %rd111, %rd111, 4; + add.s32 %r290, %r290, 1; + setp.ne.s32 %p27, %r290, 0; + @%p27 bra BB0_33; + + and.b32 %r177, %r50, 255; + add.s32 %r178, %r177, -128; + shr.u32 %r179, %r178, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd48, %rd46; + st.local.u32 [%rd48+24], %r291; + mov.u32 %r180, 6; + sub.s32 %r181, %r180, %r179; + mul.wide.s32 %rd49, %r181, 4; + add.s64 %rd14, %rd48, %rd49; + ld.local.u32 %r292, [%rd14]; + ld.local.u32 %r293, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p28, %r59, 0; + @%p28 bra BB0_36; + + mov.u32 %r182, 32; + sub.s32 %r183, %r182, %r59; + shr.u32 %r184, %r293, %r183; + shl.b32 %r185, %r292, %r59; + add.s32 %r292, %r184, %r185; + ld.local.u32 %r186, [%rd14+-8]; + shr.u32 %r187, %r186, %r183; + shl.b32 %r188, %r293, %r59; + add.s32 %r293, %r187, %r188; + +BB0_36: + shr.u32 %r189, %r293, 30; + shl.b32 %r190, %r292, 2; + add.s32 %r294, %r189, %r190; + shl.b32 %r65, %r293, 2; + shr.u32 %r191, %r294, 31; + shr.u32 %r192, %r292, 30; + add.s32 %r66, %r191, %r192; + setp.eq.s32 %p29, %r191, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r295, %r56; + mov.u32 %r296, %r65; + bra.uni BB0_39; + +BB0_38: + not.b32 %r193, %r294; + neg.s32 %r296, %r65; + setp.eq.s32 %p30, %r65, 0; + selp.u32 %r194, 1, 0, %p30; + add.s32 %r294, %r194, %r193; + xor.b32 %r295, %r56, -2147483648; + +BB0_39: + clz.b32 %r298, %r294; + setp.eq.s32 %p31, %r298, 0; + shl.b32 %r195, %r294, %r298; + mov.u32 %r196, 32; + sub.s32 %r197, %r196, %r298; + shr.u32 %r198, %r296, %r197; + add.s32 %r199, %r198, %r195; + selp.b32 %r74, %r294, %r199, %p31; + mov.u32 %r200, -921707870; + mul.hi.u32 %r297, %r74, %r200; + setp.eq.s32 %p32, %r56, 0; + neg.s32 %r201, %r66; + selp.b32 %r299, %r66, %r201, %p32; + setp.lt.s32 %p33, %r297, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r202, %r74, -921707870; + shr.u32 %r203, %r202, 31; + shl.b32 %r204, %r297, 1; + add.s32 %r297, %r203, %r204; + add.s32 %r298, %r298, 1; + +BB0_41: + mov.u32 %r205, 126; + sub.s32 %r206, %r205, %r298; + shl.b32 %r207, %r206, 23; + add.s32 %r208, %r297, 1; + shr.u32 %r209, %r208, 7; + add.s32 %r210, %r209, 1; + shr.u32 %r211, %r210, 1; + add.s32 %r212, %r211, %r207; + or.b32 %r213, %r212, %r295; + mov.b32 %f553, %r213; + +BB0_42: + mul.rn.f32 %f48, %f553, %f553; + and.b32 %r82, %r299, 1; + setp.eq.s32 %p34, %r82, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f205, 0f3C08839E; + mov.f32 %f206, 0fB94CA1F9; + fma.rn.f32 %f554, %f206, %f48, %f205; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f203, 0fBAB6061A; + mov.f32 %f204, 0f37CCF5CE; + fma.rn.f32 %f554, %f204, %f48, %f203; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mov.f32 %f210, 0fBE2AAAA3; + fma.rn.f32 %f211, %f554, %f48, %f210; + mov.f32 %f212, 0f00000000; + fma.rn.f32 %f555, %f211, %f48, %f212; + bra.uni BB0_48; + +BB0_46: + mov.f32 %f207, 0f3D2AAAA5; + fma.rn.f32 %f208, %f554, %f48, %f207; + mov.f32 %f209, 0fBF000000; + fma.rn.f32 %f555, %f208, %f48, %f209; + +BB0_48: + fma.rn.f32 %f556, %f555, %f553, %f553; + @%p34 bra BB0_50; + + mov.f32 %f213, 0f3F800000; + fma.rn.f32 %f556, %f555, %f48, %f213; + +BB0_50: + and.b32 %r214, %r299, 2; + setp.eq.s32 %p37, %r214, 0; + @%p37 bra BB0_52; + + mov.f32 %f214, 0f00000000; + mov.f32 %f215, 0fBF800000; + fma.rn.f32 %f556, %f556, %f215, %f214; + +BB0_52: + mul.f32 %f216, %f23, %f550; + mul.f32 %f217, %f216, %f216; + mov.f32 %f218, 0f3F800000; + sub.f32 %f219, %f218, %f217; + mul.f32 %f220, %f23, %f556; + mul.f32 %f221, %f220, %f220; + sub.f32 %f222, %f219, %f221; + mov.f32 %f223, 0f00000000; + max.f32 %f224, %f223, %f222; + sqrt.rn.f32 %f225, %f224; + mul.f32 %f226, %f10, %f220; + mul.f32 %f227, %f11, %f220; + mul.f32 %f228, %f12, %f220; + fma.rn.f32 %f229, %f19, %f216, %f226; + fma.rn.f32 %f230, %f18, %f216, %f227; + fma.rn.f32 %f231, %f17, %f216, %f228; + fma.rn.f32 %f60, %f541, %f225, %f229; + fma.rn.f32 %f61, %f542, %f225, %f230; + fma.rn.f32 %f62, %f543, %f225, %f231; + setp.gt.f32 %p38, %f61, 0f00000000; + setp.eq.s32 %p39, %r5, 0; + or.pred %p40, %p39, %p38; + @!%p40 bra BB0_54; + bra.uni BB0_53; + +BB0_53: + add.u64 %rd50, %SP, 28; + cvta.to.local.u64 %rd51, %rd50; + max.f32 %f238, %f244, %f141; + mov.u32 %r218, 1065353216; + st.local.u32 [%rd51], %r218; + ld.global.u32 %r215, [root]; + mov.u32 %r216, 1; + mov.f32 %f239, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r215, %f7, %f8, %f9, %f60, %f61, %f62, %r216, %f238, %f239, %rd50, %r92); + // inline asm + ld.local.f32 %f246, [%rd51]; + add.f32 %f558, %f558, %f246; + +BB0_54: + add.s32 %r278, %r278, 1; + setp.lt.s32 %p41, %r278, %r1; + @%p41 bra BB0_6; + + add.s32 %r276, %r276, 1; + setp.lt.s32 %p42, %r276, %r1; + @%p42 bra BB0_5; + +BB0_56: + mul.lo.s32 %r219, %r1, %r1; + cvt.rn.f32.s32 %f247, %r219; + div.rn.f32 %f248, %f558, %f247; + ld.global.f32 %f249, [skyColor]; + mul.f32 %f66, %f248, %f249; + ld.global.f32 %f250, [skyColor+4]; + mul.f32 %f67, %f248, %f250; + ld.global.f32 %f251, [skyColor+8]; + mul.f32 %f68, %f248, %f251; + ld.global.u32 %r300, [imageEnabled]; + and.b32 %r220, %r300, 1; + setp.eq.b32 %p43, %r220, 1; + @!%p43 bra BB0_91; + bra.uni BB0_57; + +BB0_57: + mov.f32 %f254, 0f3E666666; + cvt.rzi.f32.f32 %f255, %f254; + fma.rn.f32 %f256, %f255, 0fC0000000, 0f3EE66666; + abs.f32 %f69, %f256; + abs.f32 %f70, %f66; + setp.lt.f32 %p44, %f70, 0f00800000; + mul.f32 %f257, %f70, 0f4B800000; + selp.f32 %f258, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f259, %f257, %f70, %p44; + mov.b32 %r221, %f259; + and.b32 %r222, %r221, 8388607; + or.b32 %r223, %r222, 1065353216; + mov.b32 %f260, %r223; + shr.u32 %r224, %r221, 23; + cvt.rn.f32.u32 %f261, %r224; + add.f32 %f262, %f258, %f261; + setp.gt.f32 %p45, %f260, 0f3FB504F3; + mul.f32 %f263, %f260, 0f3F000000; + add.f32 %f264, %f262, 0f3F800000; + selp.f32 %f265, %f263, %f260, %p45; + selp.f32 %f266, %f264, %f262, %p45; + add.f32 %f267, %f265, 0fBF800000; + add.f32 %f253, %f265, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f252,%f253; + // inline asm + add.f32 %f268, %f267, %f267; + mul.f32 %f269, %f252, %f268; + mul.f32 %f270, %f269, %f269; + mov.f32 %f271, 0f3C4CAF63; + mov.f32 %f272, 0f3B18F0FE; + fma.rn.f32 %f273, %f272, %f270, %f271; + mov.f32 %f274, 0f3DAAAABD; + fma.rn.f32 %f275, %f273, %f270, %f274; + mul.rn.f32 %f276, %f275, %f270; + mul.rn.f32 %f277, %f276, %f269; + sub.f32 %f278, %f267, %f269; + neg.f32 %f279, %f269; + add.f32 %f280, %f278, %f278; + fma.rn.f32 %f281, %f279, %f267, %f280; + mul.rn.f32 %f282, %f252, %f281; + add.f32 %f283, %f277, %f269; + sub.f32 %f284, %f269, %f283; + add.f32 %f285, %f277, %f284; + add.f32 %f286, %f282, %f285; + add.f32 %f287, %f283, %f286; + sub.f32 %f288, %f283, %f287; + add.f32 %f289, %f286, %f288; + mov.f32 %f290, 0f3F317200; + mul.rn.f32 %f291, %f266, %f290; + mov.f32 %f292, 0f35BFBE8E; + mul.rn.f32 %f293, %f266, %f292; + add.f32 %f294, %f291, %f287; + sub.f32 %f295, %f291, %f294; + add.f32 %f296, %f287, %f295; + add.f32 %f297, %f289, %f296; + add.f32 %f298, %f293, %f297; + add.f32 %f299, %f294, %f298; + sub.f32 %f300, %f294, %f299; + add.f32 %f301, %f298, %f300; + mov.f32 %f302, 0f3EE66666; + mul.rn.f32 %f303, %f302, %f299; + neg.f32 %f304, %f303; + fma.rn.f32 %f305, %f302, %f299, %f304; + fma.rn.f32 %f306, %f302, %f301, %f305; + mov.f32 %f307, 0f00000000; + fma.rn.f32 %f308, %f307, %f299, %f306; + add.rn.f32 %f309, %f303, %f308; + neg.f32 %f310, %f309; + add.rn.f32 %f311, %f303, %f310; + add.rn.f32 %f312, %f311, %f308; + mov.b32 %r225, %f309; + setp.eq.s32 %p46, %r225, 1118925336; + add.s32 %r226, %r225, -1; + mov.b32 %f313, %r226; + add.f32 %f314, %f312, 0f37000000; + selp.f32 %f315, %f313, %f309, %p46; + selp.f32 %f71, %f314, %f312, %p46; + mul.f32 %f316, %f315, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f317, %f316; + mov.f32 %f318, 0fBF317200; + fma.rn.f32 %f319, %f317, %f318, %f315; + mov.f32 %f320, 0fB5BFBE8E; + fma.rn.f32 %f321, %f317, %f320, %f319; + mul.f32 %f322, %f321, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f323, %f322; + add.f32 %f324, %f317, 0f00000000; + ex2.approx.f32 %f325, %f324; + mul.f32 %f326, %f323, %f325; + setp.lt.f32 %p47, %f315, 0fC2D20000; + selp.f32 %f327, 0f00000000, %f326, %p47; + setp.gt.f32 %p48, %f315, 0f42D20000; + selp.f32 %f560, 0f7F800000, %f327, %p48; + setp.eq.f32 %p49, %f560, 0f7F800000; + @%p49 bra BB0_59; + + fma.rn.f32 %f560, %f560, %f71, %f560; + +BB0_59: + setp.lt.f32 %p50, %f66, 0f00000000; + setp.eq.f32 %p51, %f69, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r227, %f560; + xor.b32 %r228, %r227, -2147483648; + mov.b32 %f328, %r228; + selp.f32 %f562, %f328, %f560, %p1; + setp.eq.f32 %p52, %f66, 0f00000000; + @%p52 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f331, %f66, %f66; + selp.f32 %f562, %f331, 0f00000000, %p51; + bra.uni BB0_63; + +BB0_100: + mov.u64 %rd105, image_HDR; + cvta.global.u64 %rd100, %rd105; + mov.u32 %r271, 8; + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd100, %r91, %r271, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f512, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs40, %f512;} + + // inline asm + mov.u16 %rs41, 0; + st.v4.u16 [%rd99], {%rs40, %rs40, %rs40, %rs41}; + bra.uni BB0_101; + +BB0_60: + setp.geu.f32 %p53, %f66, 0f00000000; + @%p53 bra BB0_63; + + cvt.rzi.f32.f32 %f330, %f302; + setp.neu.f32 %p54, %f330, 0f3EE66666; + selp.f32 %f562, 0f7FFFFFFF, %f562, %p54; + +BB0_63: + abs.f32 %f513, %f66; + add.f32 %f332, %f513, 0f3EE66666; + mov.b32 %r229, %f332; + setp.lt.s32 %p56, %r229, 2139095040; + @%p56 bra BB0_68; + + abs.f32 %f530, %f66; + setp.gtu.f32 %p57, %f530, 0f7F800000; + @%p57 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f562, %f66, 0f3EE66666; + bra.uni BB0_68; + +BB0_65: + abs.f32 %f531, %f66; + setp.neu.f32 %p58, %f531, 0f7F800000; + @%p58 bra BB0_68; + + selp.f32 %f562, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + mov.f32 %f521, 0fB5BFBE8E; + mov.f32 %f520, 0fBF317200; + mov.f32 %f519, 0f00000000; + mov.f32 %f518, 0f35BFBE8E; + mov.f32 %f517, 0f3F317200; + mov.f32 %f516, 0f3DAAAABD; + mov.f32 %f515, 0f3C4CAF63; + mov.f32 %f514, 0f3B18F0FE; + setp.eq.f32 %p59, %f66, 0f3F800000; + selp.f32 %f82, 0f3F800000, %f562, %p59; + abs.f32 %f83, %f67; + setp.lt.f32 %p60, %f83, 0f00800000; + mul.f32 %f335, %f83, 0f4B800000; + selp.f32 %f336, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f337, %f335, %f83, %p60; + mov.b32 %r230, %f337; + and.b32 %r231, %r230, 8388607; + or.b32 %r232, %r231, 1065353216; + mov.b32 %f338, %r232; + shr.u32 %r233, %r230, 23; + cvt.rn.f32.u32 %f339, %r233; + add.f32 %f340, %f336, %f339; + setp.gt.f32 %p61, %f338, 0f3FB504F3; + mul.f32 %f341, %f338, 0f3F000000; + add.f32 %f342, %f340, 0f3F800000; + selp.f32 %f343, %f341, %f338, %p61; + selp.f32 %f344, %f342, %f340, %p61; + add.f32 %f345, %f343, 0fBF800000; + add.f32 %f334, %f343, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f333,%f334; + // inline asm + add.f32 %f346, %f345, %f345; + mul.f32 %f347, %f333, %f346; + mul.f32 %f348, %f347, %f347; + fma.rn.f32 %f351, %f514, %f348, %f515; + fma.rn.f32 %f353, %f351, %f348, %f516; + mul.rn.f32 %f354, %f353, %f348; + mul.rn.f32 %f355, %f354, %f347; + sub.f32 %f356, %f345, %f347; + neg.f32 %f357, %f347; + add.f32 %f358, %f356, %f356; + fma.rn.f32 %f359, %f357, %f345, %f358; + mul.rn.f32 %f360, %f333, %f359; + add.f32 %f361, %f355, %f347; + sub.f32 %f362, %f347, %f361; + add.f32 %f363, %f355, %f362; + add.f32 %f364, %f360, %f363; + add.f32 %f365, %f361, %f364; + sub.f32 %f366, %f361, %f365; + add.f32 %f367, %f364, %f366; + mul.rn.f32 %f369, %f344, %f517; + mul.rn.f32 %f371, %f344, %f518; + add.f32 %f372, %f369, %f365; + sub.f32 %f373, %f369, %f372; + add.f32 %f374, %f365, %f373; + add.f32 %f375, %f367, %f374; + add.f32 %f376, %f371, %f375; + add.f32 %f377, %f372, %f376; + sub.f32 %f378, %f372, %f377; + add.f32 %f379, %f376, %f378; + mul.rn.f32 %f381, %f302, %f377; + neg.f32 %f382, %f381; + fma.rn.f32 %f383, %f302, %f377, %f382; + fma.rn.f32 %f384, %f302, %f379, %f383; + fma.rn.f32 %f386, %f519, %f377, %f384; + add.rn.f32 %f387, %f381, %f386; + neg.f32 %f388, %f387; + add.rn.f32 %f389, %f381, %f388; + add.rn.f32 %f390, %f389, %f386; + mov.b32 %r234, %f387; + setp.eq.s32 %p62, %r234, 1118925336; + add.s32 %r235, %r234, -1; + mov.b32 %f391, %r235; + add.f32 %f392, %f390, 0f37000000; + selp.f32 %f393, %f391, %f387, %p62; + selp.f32 %f84, %f392, %f390, %p62; + mul.f32 %f394, %f393, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f395, %f394; + fma.rn.f32 %f397, %f395, %f520, %f393; + fma.rn.f32 %f399, %f395, %f521, %f397; + mul.f32 %f400, %f399, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f401, %f400; + add.f32 %f402, %f395, 0f00000000; + ex2.approx.f32 %f403, %f402; + mul.f32 %f404, %f401, %f403; + setp.lt.f32 %p63, %f393, 0fC2D20000; + selp.f32 %f405, 0f00000000, %f404, %p63; + setp.gt.f32 %p64, %f393, 0f42D20000; + selp.f32 %f563, 0f7F800000, %f405, %p64; + setp.eq.f32 %p65, %f563, 0f7F800000; + @%p65 bra BB0_70; + + fma.rn.f32 %f563, %f563, %f84, %f563; + +BB0_70: + setp.lt.f32 %p66, %f67, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r236, %f563; + xor.b32 %r237, %r236, -2147483648; + mov.b32 %f406, %r237; + selp.f32 %f565, %f406, %f563, %p2; + setp.eq.f32 %p68, %f67, 0f00000000; + @%p68 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f409, %f67, %f67; + selp.f32 %f565, %f409, 0f00000000, %p51; + bra.uni BB0_74; + +BB0_71: + setp.geu.f32 %p69, %f67, 0f00000000; + @%p69 bra BB0_74; + + mov.f32 %f537, 0f3EE66666; + cvt.rzi.f32.f32 %f408, %f537; + setp.neu.f32 %p70, %f408, 0f3EE66666; + selp.f32 %f565, 0f7FFFFFFF, %f565, %p70; + +BB0_74: + abs.f32 %f532, %f67; + add.f32 %f410, %f532, 0f3EE66666; + mov.b32 %r238, %f410; + setp.lt.s32 %p72, %r238, 2139095040; + @%p72 bra BB0_79; + + abs.f32 %f535, %f67; + setp.gtu.f32 %p73, %f535, 0f7F800000; + @%p73 bra BB0_78; + bra.uni BB0_76; + +BB0_78: + add.f32 %f565, %f67, 0f3EE66666; + bra.uni BB0_79; + +BB0_76: + abs.f32 %f536, %f67; + setp.neu.f32 %p74, %f536, 0f7F800000; + @%p74 bra BB0_79; + + selp.f32 %f565, 0fFF800000, 0f7F800000, %p2; + +BB0_79: + mov.f32 %f533, 0f3EE66666; + mov.f32 %f529, 0fB5BFBE8E; + mov.f32 %f528, 0fBF317200; + mov.f32 %f527, 0f00000000; + mov.f32 %f526, 0f35BFBE8E; + mov.f32 %f525, 0f3F317200; + mov.f32 %f524, 0f3DAAAABD; + mov.f32 %f523, 0f3C4CAF63; + mov.f32 %f522, 0f3B18F0FE; + setp.eq.f32 %p75, %f67, 0f3F800000; + selp.f32 %f95, 0f3F800000, %f565, %p75; + abs.f32 %f96, %f68; + setp.lt.f32 %p76, %f96, 0f00800000; + mul.f32 %f413, %f96, 0f4B800000; + selp.f32 %f414, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f415, %f413, %f96, %p76; + mov.b32 %r239, %f415; + and.b32 %r240, %r239, 8388607; + or.b32 %r241, %r240, 1065353216; + mov.b32 %f416, %r241; + shr.u32 %r242, %r239, 23; + cvt.rn.f32.u32 %f417, %r242; + add.f32 %f418, %f414, %f417; + setp.gt.f32 %p77, %f416, 0f3FB504F3; + mul.f32 %f419, %f416, 0f3F000000; + add.f32 %f420, %f418, 0f3F800000; + selp.f32 %f421, %f419, %f416, %p77; + selp.f32 %f422, %f420, %f418, %p77; + add.f32 %f423, %f421, 0fBF800000; + add.f32 %f412, %f421, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f411,%f412; + // inline asm + add.f32 %f424, %f423, %f423; + mul.f32 %f425, %f411, %f424; + mul.f32 %f426, %f425, %f425; + fma.rn.f32 %f429, %f522, %f426, %f523; + fma.rn.f32 %f431, %f429, %f426, %f524; + mul.rn.f32 %f432, %f431, %f426; + mul.rn.f32 %f433, %f432, %f425; + sub.f32 %f434, %f423, %f425; + neg.f32 %f435, %f425; + add.f32 %f436, %f434, %f434; + fma.rn.f32 %f437, %f435, %f423, %f436; + mul.rn.f32 %f438, %f411, %f437; + add.f32 %f439, %f433, %f425; + sub.f32 %f440, %f425, %f439; + add.f32 %f441, %f433, %f440; + add.f32 %f442, %f438, %f441; + add.f32 %f443, %f439, %f442; + sub.f32 %f444, %f439, %f443; + add.f32 %f445, %f442, %f444; + mul.rn.f32 %f447, %f422, %f525; + mul.rn.f32 %f449, %f422, %f526; + add.f32 %f450, %f447, %f443; + sub.f32 %f451, %f447, %f450; + add.f32 %f452, %f443, %f451; + add.f32 %f453, %f445, %f452; + add.f32 %f454, %f449, %f453; + add.f32 %f455, %f450, %f454; + sub.f32 %f456, %f450, %f455; + add.f32 %f457, %f454, %f456; + mul.rn.f32 %f459, %f533, %f455; + neg.f32 %f460, %f459; + fma.rn.f32 %f461, %f533, %f455, %f460; + fma.rn.f32 %f462, %f533, %f457, %f461; + fma.rn.f32 %f464, %f527, %f455, %f462; + add.rn.f32 %f465, %f459, %f464; + neg.f32 %f466, %f465; + add.rn.f32 %f467, %f459, %f466; + add.rn.f32 %f468, %f467, %f464; + mov.b32 %r243, %f465; + setp.eq.s32 %p78, %r243, 1118925336; + add.s32 %r244, %r243, -1; + mov.b32 %f469, %r244; + add.f32 %f470, %f468, 0f37000000; + selp.f32 %f471, %f469, %f465, %p78; + selp.f32 %f97, %f470, %f468, %p78; + mul.f32 %f472, %f471, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f473, %f472; + fma.rn.f32 %f475, %f473, %f528, %f471; + fma.rn.f32 %f477, %f473, %f529, %f475; + mul.f32 %f478, %f477, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f479, %f478; + add.f32 %f480, %f473, 0f00000000; + ex2.approx.f32 %f481, %f480; + mul.f32 %f482, %f479, %f481; + setp.lt.f32 %p79, %f471, 0fC2D20000; + selp.f32 %f483, 0f00000000, %f482, %p79; + setp.gt.f32 %p80, %f471, 0f42D20000; + selp.f32 %f566, 0f7F800000, %f483, %p80; + setp.eq.f32 %p81, %f566, 0f7F800000; + @%p81 bra BB0_81; + + fma.rn.f32 %f566, %f566, %f97, %f566; + +BB0_81: + setp.lt.f32 %p82, %f68, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r245, %f566; + xor.b32 %r246, %r245, -2147483648; + mov.b32 %f484, %r246; + selp.f32 %f568, %f484, %f566, %p3; + setp.eq.f32 %p84, %f68, 0f00000000; + @%p84 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f487, %f68, %f68; + selp.f32 %f568, %f487, 0f00000000, %p51; + bra.uni BB0_85; + +BB0_82: + setp.geu.f32 %p85, %f68, 0f00000000; + @%p85 bra BB0_85; + + mov.f32 %f534, 0f3EE66666; + cvt.rzi.f32.f32 %f486, %f534; + setp.neu.f32 %p86, %f486, 0f3EE66666; + selp.f32 %f568, 0f7FFFFFFF, %f568, %p86; + +BB0_85: + abs.f32 %f538, %f68; + add.f32 %f488, %f538, 0f3EE66666; + mov.b32 %r247, %f488; + setp.lt.s32 %p88, %r247, 2139095040; + @%p88 bra BB0_90; + + abs.f32 %f539, %f68; + setp.gtu.f32 %p89, %f539, 0f7F800000; + @%p89 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f568, %f68, 0f3EE66666; + bra.uni BB0_90; + +BB0_87: + abs.f32 %f540, %f68; + setp.neu.f32 %p90, %f540, 0f7F800000; + @%p90 bra BB0_90; + + selp.f32 %f568, 0fFF800000, 0f7F800000, %p3; + +BB0_90: + mov.u32 %r273, 4; + mov.u64 %rd106, 0; + mov.u32 %r272, 2; + setp.eq.f32 %p91, %f68, 0f3F800000; + selp.f32 %f489, 0f3F800000, %f568, %p91; + cvt.u64.u32 %rd55, %r4; + cvt.u64.u32 %rd54, %r3; + mov.u64 %rd58, image; + cvta.global.u64 %rd53, %rd58; + // inline asm + call (%rd52), _rt_buffer_get_64, (%rd53, %r272, %r273, %rd54, %rd55, %rd106, %rd106); + // inline asm + cvt.sat.f32.f32 %f490, %f489; + mul.f32 %f491, %f490, 0f437FFD71; + cvt.rzi.u32.f32 %r250, %f491; + cvt.sat.f32.f32 %f492, %f95; + mul.f32 %f493, %f492, 0f437FFD71; + cvt.rzi.u32.f32 %r251, %f493; + cvt.sat.f32.f32 %f494, %f82; + mul.f32 %f495, %f494, 0f437FFD71; + cvt.rzi.u32.f32 %r252, %f495; + cvt.u16.u32 %rs10, %r250; + cvt.u16.u32 %rs11, %r252; + cvt.u16.u32 %rs12, %r251; + mov.u16 %rs13, 255; + st.v4.u8 [%rd52], {%rs10, %rs12, %rs11, %rs13}; + ld.global.u32 %r300, [imageEnabled]; + +BB0_91: + and.b32 %r253, %r300, 4; + setp.eq.s32 %p92, %r253, 0; + @%p92 bra BB0_101; + + ld.global.u32 %r254, [additive]; + setp.eq.s32 %p93, %r254, 0; + cvt.u64.u32 %rd15, %r3; + cvt.u64.u32 %rd16, %r4; + mov.f32 %f496, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs14, %f496;} + + // inline asm + @%p93 bra BB0_94; + + mov.u64 %rd107, 0; + mov.u32 %r274, 2; + mov.u64 %rd71, image_HDR; + cvta.global.u64 %rd60, %rd71; + mov.u32 %r258, 8; + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd60, %r274, %r258, %rd15, %rd16, %rd107, %rd107); + // inline asm + ld.v4.u16 {%rs21, %rs22, %rs23, %rs24}, [%rd59]; + // inline asm + { cvt.f32.f16 %f497, %rs21;} + + // inline asm + // inline asm + { cvt.f32.f16 %f498, %rs22;} + + // inline asm + // inline asm + { cvt.f32.f16 %f499, %rs23;} + + // inline asm + // inline asm + call (%rd65), _rt_buffer_get_64, (%rd60, %r274, %r258, %rd15, %rd16, %rd107, %rd107); + // inline asm + add.f32 %f500, %f66, %f497; + add.f32 %f501, %f67, %f498; + add.f32 %f502, %f68, %f499; + // inline asm + { cvt.rn.f16.f32 %rs20, %f502;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs19, %f501;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs18, %f500;} + + // inline asm + st.v4.u16 [%rd65], {%rs18, %rs19, %rs20, %rs14}; + bra.uni BB0_101; + +BB0_94: + mov.u64 %rd108, 0; + mov.u32 %r275, 2; + mov.u64 %rd78, image_HDR; + cvta.global.u64 %rd73, %rd78; + mov.u32 %r260, 8; + // inline asm + call (%rd72), _rt_buffer_get_64, (%rd73, %r275, %r260, %rd15, %rd16, %rd108, %rd108); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f68;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f67;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f66;} + + // inline asm + st.v4.u16 [%rd72], {%rs25, %rs26, %rs27, %rs14}; + +BB0_101: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx.meta new file mode 100644 index 00000000..1c7ba330 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSky.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19d5305785531af479e484909041a5d0 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemap.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemap.ptx new file mode 100644 index 00000000..0fb55f5e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemap.ptx @@ -0,0 +1,1378 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3skyE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3skyE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3skyE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic3skyE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3skyE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<97>; + .reg .b16 %rs<42>; + .reg .f32 %f<596>; + .reg .b32 %r<304>; + .reg .b64 %rd<114>; + + + mov.u64 %rd113, __local_depot0; + cvta.local.u64 %SP, %rd113; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r93, %r94}, [pixelID]; + cvt.u64.u32 %rd21, %r93; + cvt.u64.u32 %rd22, %r94; + mov.u64 %rd25, uvnormal; + cvta.global.u64 %rd20, %rd25; + mov.u32 %r91, 2; + mov.u32 %r92, 4; + mov.u64 %rd24, 0; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r91, %r92, %rd21, %rd22, %rd24, %rd24); + // inline asm + ld.u32 %r2, [%rd19]; + shr.u32 %r97, %r2, 16; + cvt.u16.u32 %rs1, %r97; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r2; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p4, %rs5, 0; + mov.f32 %f560, 0f00000000; + mov.f32 %f561, %f560; + mov.f32 %f562, %f560; + @%p4 bra BB0_2; + + ld.u8 %rs6, [%rd19+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f121, %rs8; + div.rn.f32 %f122, %f121, 0f437F0000; + fma.rn.f32 %f123, %f122, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f124, %rs6; + div.rn.f32 %f125, %f124, 0f437F0000; + fma.rn.f32 %f126, %f125, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f127, %rs3; + div.rn.f32 %f128, %f127, 0f437F0000; + fma.rn.f32 %f129, %f128, 0f40000000, 0fBF800000; + mul.f32 %f130, %f126, %f126; + fma.rn.f32 %f131, %f123, %f123, %f130; + fma.rn.f32 %f132, %f129, %f129, %f131; + sqrt.rn.f32 %f133, %f132; + rcp.rn.f32 %f134, %f133; + mul.f32 %f560, %f123, %f134; + mul.f32 %f561, %f126, %f134; + mul.f32 %f562, %f129, %f134; + +BB0_2: + ld.global.v2.u32 {%r98, %r99}, [pixelID]; + ld.global.v2.u32 {%r101, %r102}, [tileInfo]; + add.s32 %r3, %r98, %r101; + add.s32 %r4, %r99, %r102; + setp.eq.f32 %p5, %f561, 0f00000000; + setp.eq.f32 %p6, %f560, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f562, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_95; + bra.uni BB0_3; + +BB0_95: + ld.global.u32 %r303, [imageEnabled]; + and.b32 %r263, %r303, 1; + setp.eq.b32 %p94, %r263, 1; + @!%p94 bra BB0_97; + bra.uni BB0_96; + +BB0_96: + cvt.u64.u32 %rd81, %r3; + cvt.u64.u32 %rd82, %r4; + mov.u64 %rd85, image; + cvta.global.u64 %rd80, %rd85; + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd80, %r91, %r92, %rd81, %rd82, %rd24, %rd24); + // inline asm + mov.u16 %rs28, 0; + st.v4.u8 [%rd79], {%rs28, %rs28, %rs28, %rs28}; + ld.global.u32 %r303, [imageEnabled]; + +BB0_97: + and.b32 %r266, %r303, 4; + setp.eq.s32 %p95, %r266, 0; + @%p95 bra BB0_101; + + ld.global.u32 %r267, [additive]; + setp.eq.s32 %p96, %r267, 0; + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + @%p96 bra BB0_100; + + mov.u64 %rd98, image_HDR; + cvta.global.u64 %rd87, %rd98; + mov.u32 %r271, 8; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd87, %r91, %r271, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs35, %rs36, %rs37, %rs38}, [%rd86]; + // inline asm + { cvt.f32.f16 %f532, %rs35;} + + // inline asm + // inline asm + { cvt.f32.f16 %f533, %rs36;} + + // inline asm + // inline asm + { cvt.f32.f16 %f534, %rs37;} + + // inline asm + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd87, %r91, %r271, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f535, %f532, 0f00000000; + add.f32 %f536, %f533, 0f00000000; + add.f32 %f537, %f534, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f537;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f536;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f535;} + + // inline asm + mov.u16 %rs39, 0; + st.v4.u16 [%rd92], {%rs32, %rs33, %rs34, %rs39}; + bra.uni BB0_101; + +BB0_3: + ld.global.v2.u32 {%r110, %r111}, [pixelID]; + cvt.u64.u32 %rd28, %r110; + cvt.u64.u32 %rd29, %r111; + mov.u64 %rd38, uvpos; + cvta.global.u64 %rd27, %rd38; + mov.u32 %r107, 12; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r91, %r107, %rd28, %rd29, %rd24, %rd24); + // inline asm + ld.f32 %f138, [%rd26+8]; + ld.f32 %f139, [%rd26+4]; + ld.f32 %f140, [%rd26]; + mul.f32 %f141, %f140, 0f3456BF95; + mul.f32 %f142, %f139, 0f3456BF95; + mul.f32 %f143, %f138, 0f3456BF95; + abs.f32 %f144, %f560; + div.rn.f32 %f145, %f141, %f144; + abs.f32 %f146, %f561; + div.rn.f32 %f147, %f142, %f146; + abs.f32 %f148, %f562; + div.rn.f32 %f149, %f143, %f148; + abs.f32 %f150, %f145; + abs.f32 %f151, %f147; + abs.f32 %f152, %f149; + mov.f32 %f153, 0f38D1B717; + max.f32 %f154, %f150, %f153; + max.f32 %f155, %f151, %f153; + max.f32 %f156, %f152, %f153; + fma.rn.f32 %f7, %f560, %f154, %f140; + fma.rn.f32 %f8, %f561, %f155, %f139; + fma.rn.f32 %f9, %f562, %f156, %f138; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f144, %f148; + neg.f32 %f157, %f561; + selp.f32 %f158, %f157, 0f00000000, %p10; + neg.f32 %f159, %f562; + selp.f32 %f160, %f560, %f159, %p10; + selp.f32 %f161, 0f00000000, %f561, %p10; + mul.f32 %f162, %f160, %f160; + fma.rn.f32 %f163, %f158, %f158, %f162; + fma.rn.f32 %f164, %f161, %f161, %f163; + sqrt.rn.f32 %f165, %f164; + rcp.rn.f32 %f166, %f165; + mul.f32 %f10, %f158, %f166; + mul.f32 %f11, %f160, %f166; + mul.f32 %f12, %f161, %f166; + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + cvt.u64.u32 %rd34, %r114; + cvt.u64.u32 %rd35, %r115; + mov.u64 %rd39, rnd_seeds; + cvta.global.u64 %rd33, %rd39; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r91, %r92, %rd34, %rd35, %rd24, %rd24); + // inline asm + mov.f32 %f583, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f582, %f583; + mov.f32 %f581, %f583; + @%p11 bra BB0_56; + + cvt.rn.f32.s32 %f170, %r1; + rcp.rn.f32 %f13, %f170; + ld.u32 %r281, [%rd32]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f171, %f560, %f11; + mul.f32 %f172, %f561, %f10; + sub.f32 %f17, %f172, %f171; + mul.f32 %f173, %f562, %f10; + mul.f32 %f174, %f560, %f12; + sub.f32 %f18, %f174, %f173; + mul.f32 %f175, %f561, %f12; + mul.f32 %f176, %f562, %f11; + sub.f32 %f19, %f176, %f175; + mov.f32 %f583, 0f00000000; + mov.u32 %r118, 0; + abs.f32 %f261, %f15; + abs.f32 %f262, %f14; + max.f32 %f263, %f262, %f261; + abs.f32 %f264, %f16; + max.f32 %f265, %f263, %f264; + mov.u32 %r278, %r118; + mov.f32 %f582, %f583; + mov.f32 %f581, %f583; + +BB0_5: + cvt.rn.f32.s32 %f23, %r278; + mov.u32 %r280, %r118; + +BB0_6: + mad.lo.s32 %r120, %r281, 1664525, 1013904223; + and.b32 %r121, %r120, 16777215; + cvt.rn.f32.u32 %f177, %r121; + fma.rn.f32 %f178, %f177, 0f33800000, %f23; + mul.f32 %f179, %f13, %f178; + mad.lo.s32 %r281, %r120, 1664525, 1013904223; + and.b32 %r122, %r281, 16777215; + cvt.rn.f32.u32 %f180, %r122; + cvt.rn.f32.s32 %f181, %r280; + fma.rn.f32 %f182, %f180, 0f33800000, %f181; + mul.f32 %f183, %f13, %f182; + sqrt.rn.f32 %f27, %f179; + mul.f32 %f575, %f183, 0f40C90FDB; + abs.f32 %f29, %f575; + setp.neu.f32 %p12, %f29, 0f7F800000; + mov.f32 %f569, %f575; + @%p12 bra BB0_8; + + mov.f32 %f184, 0f00000000; + mul.rn.f32 %f569, %f575, %f184; + +BB0_8: + mul.f32 %f185, %f569, 0f3F22F983; + cvt.rni.s32.f32 %r291, %f185; + cvt.rn.f32.s32 %f186, %r291; + neg.f32 %f187, %f186; + mov.f32 %f188, 0f3FC90FDA; + fma.rn.f32 %f189, %f187, %f188, %f569; + mov.f32 %f190, 0f33A22168; + fma.rn.f32 %f191, %f187, %f190, %f189; + mov.f32 %f192, 0f27C234C5; + fma.rn.f32 %f570, %f187, %f192, %f191; + abs.f32 %f193, %f569; + setp.leu.f32 %p13, %f193, 0f47CE4780; + @%p13 bra BB0_19; + + mov.b32 %r13, %f569; + shr.u32 %r14, %r13, 23; + shl.b32 %r125, %r13, 8; + or.b32 %r15, %r125, -2147483648; + add.u64 %rd41, %SP, 0; + cvta.to.local.u64 %rd110, %rd41; + mov.u32 %r283, 0; + mov.u64 %rd109, __cudart_i2opi_f; + mov.u32 %r282, -6; + +BB0_10: + .pragma "nounroll"; + ld.const.u32 %r128, [%rd109]; + // inline asm + { + mad.lo.cc.u32 %r126, %r128, %r15, %r283; + madc.hi.u32 %r283, %r128, %r15, 0; + } + // inline asm + st.local.u32 [%rd110], %r126; + add.s64 %rd110, %rd110, 4; + add.s64 %rd109, %rd109, 4; + add.s32 %r282, %r282, 1; + setp.ne.s32 %p14, %r282, 0; + @%p14 bra BB0_10; + + and.b32 %r131, %r14, 255; + add.s32 %r132, %r131, -128; + shr.u32 %r133, %r132, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd43, %rd41; + st.local.u32 [%rd43+24], %r283; + mov.u32 %r134, 6; + sub.s32 %r135, %r134, %r133; + mul.wide.s32 %rd44, %r135, 4; + add.s64 %rd8, %rd43, %rd44; + ld.local.u32 %r284, [%rd8]; + ld.local.u32 %r285, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p15, %r23, 0; + @%p15 bra BB0_13; + + mov.u32 %r136, 32; + sub.s32 %r137, %r136, %r23; + shr.u32 %r138, %r285, %r137; + shl.b32 %r139, %r284, %r23; + add.s32 %r284, %r138, %r139; + ld.local.u32 %r140, [%rd8+-8]; + shr.u32 %r141, %r140, %r137; + shl.b32 %r142, %r285, %r23; + add.s32 %r285, %r141, %r142; + +BB0_13: + shr.u32 %r143, %r285, 30; + shl.b32 %r144, %r284, 2; + add.s32 %r286, %r143, %r144; + shl.b32 %r29, %r285, 2; + shr.u32 %r145, %r286, 31; + shr.u32 %r146, %r284, 30; + add.s32 %r30, %r145, %r146; + setp.eq.s32 %p16, %r145, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r287, %r20; + mov.u32 %r288, %r29; + bra.uni BB0_16; + +BB0_15: + not.b32 %r147, %r286; + neg.s32 %r288, %r29; + setp.eq.s32 %p17, %r29, 0; + selp.u32 %r148, 1, 0, %p17; + add.s32 %r286, %r148, %r147; + xor.b32 %r287, %r20, -2147483648; + +BB0_16: + clz.b32 %r290, %r286; + setp.eq.s32 %p18, %r290, 0; + shl.b32 %r149, %r286, %r290; + mov.u32 %r150, 32; + sub.s32 %r151, %r150, %r290; + shr.u32 %r152, %r288, %r151; + add.s32 %r153, %r152, %r149; + selp.b32 %r38, %r286, %r153, %p18; + mov.u32 %r154, -921707870; + mul.hi.u32 %r289, %r38, %r154; + setp.eq.s32 %p19, %r20, 0; + neg.s32 %r155, %r30; + selp.b32 %r291, %r30, %r155, %p19; + setp.lt.s32 %p20, %r289, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r156, %r38, -921707870; + shr.u32 %r157, %r156, 31; + shl.b32 %r158, %r289, 1; + add.s32 %r289, %r157, %r158; + add.s32 %r290, %r290, 1; + +BB0_18: + mov.u32 %r159, 126; + sub.s32 %r160, %r159, %r290; + shl.b32 %r161, %r160, 23; + add.s32 %r162, %r289, 1; + shr.u32 %r163, %r162, 7; + add.s32 %r164, %r163, 1; + shr.u32 %r165, %r164, 1; + add.s32 %r166, %r165, %r161; + or.b32 %r167, %r166, %r287; + mov.b32 %f570, %r167; + +BB0_19: + mul.rn.f32 %f35, %f570, %f570; + add.s32 %r46, %r291, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p21, %r47, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mov.f32 %f196, 0f3C08839E; + mov.f32 %f197, 0fB94CA1F9; + fma.rn.f32 %f571, %f197, %f35, %f196; + bra.uni BB0_22; + +BB0_20: + mov.f32 %f194, 0fBAB6061A; + mov.f32 %f195, 0f37CCF5CE; + fma.rn.f32 %f571, %f195, %f35, %f194; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mov.f32 %f201, 0fBE2AAAA3; + fma.rn.f32 %f202, %f571, %f35, %f201; + mov.f32 %f203, 0f00000000; + fma.rn.f32 %f572, %f202, %f35, %f203; + bra.uni BB0_25; + +BB0_23: + mov.f32 %f198, 0f3D2AAAA5; + fma.rn.f32 %f199, %f571, %f35, %f198; + mov.f32 %f200, 0fBF000000; + fma.rn.f32 %f572, %f199, %f35, %f200; + +BB0_25: + fma.rn.f32 %f573, %f572, %f570, %f570; + @%p21 bra BB0_27; + + mov.f32 %f204, 0f3F800000; + fma.rn.f32 %f573, %f572, %f35, %f204; + +BB0_27: + and.b32 %r168, %r46, 2; + setp.eq.s32 %p24, %r168, 0; + @%p24 bra BB0_29; + + mov.f32 %f205, 0f00000000; + mov.f32 %f206, 0fBF800000; + fma.rn.f32 %f573, %f573, %f206, %f205; + +BB0_29: + @%p12 bra BB0_31; + + mov.f32 %f207, 0f00000000; + mul.rn.f32 %f575, %f575, %f207; + +BB0_31: + mul.f32 %f208, %f575, 0f3F22F983; + cvt.rni.s32.f32 %r301, %f208; + cvt.rn.f32.s32 %f209, %r301; + neg.f32 %f210, %f209; + fma.rn.f32 %f212, %f210, %f188, %f575; + fma.rn.f32 %f214, %f210, %f190, %f212; + fma.rn.f32 %f576, %f210, %f192, %f214; + abs.f32 %f216, %f575; + setp.leu.f32 %p26, %f216, 0f47CE4780; + @%p26 bra BB0_42; + + mov.b32 %r49, %f575; + shr.u32 %r50, %r49, 23; + shl.b32 %r171, %r49, 8; + or.b32 %r51, %r171, -2147483648; + add.u64 %rd46, %SP, 0; + cvta.to.local.u64 %rd112, %rd46; + mov.u32 %r293, 0; + mov.u64 %rd111, __cudart_i2opi_f; + mov.u32 %r292, -6; + +BB0_33: + .pragma "nounroll"; + ld.const.u32 %r174, [%rd111]; + // inline asm + { + mad.lo.cc.u32 %r172, %r174, %r51, %r293; + madc.hi.u32 %r293, %r174, %r51, 0; + } + // inline asm + st.local.u32 [%rd112], %r172; + add.s64 %rd112, %rd112, 4; + add.s64 %rd111, %rd111, 4; + add.s32 %r292, %r292, 1; + setp.ne.s32 %p27, %r292, 0; + @%p27 bra BB0_33; + + and.b32 %r177, %r50, 255; + add.s32 %r178, %r177, -128; + shr.u32 %r179, %r178, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd48, %rd46; + st.local.u32 [%rd48+24], %r293; + mov.u32 %r180, 6; + sub.s32 %r181, %r180, %r179; + mul.wide.s32 %rd49, %r181, 4; + add.s64 %rd14, %rd48, %rd49; + ld.local.u32 %r294, [%rd14]; + ld.local.u32 %r295, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p28, %r59, 0; + @%p28 bra BB0_36; + + mov.u32 %r182, 32; + sub.s32 %r183, %r182, %r59; + shr.u32 %r184, %r295, %r183; + shl.b32 %r185, %r294, %r59; + add.s32 %r294, %r184, %r185; + ld.local.u32 %r186, [%rd14+-8]; + shr.u32 %r187, %r186, %r183; + shl.b32 %r188, %r295, %r59; + add.s32 %r295, %r187, %r188; + +BB0_36: + shr.u32 %r189, %r295, 30; + shl.b32 %r190, %r294, 2; + add.s32 %r296, %r189, %r190; + shl.b32 %r65, %r295, 2; + shr.u32 %r191, %r296, 31; + shr.u32 %r192, %r294, 30; + add.s32 %r66, %r191, %r192; + setp.eq.s32 %p29, %r191, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r297, %r56; + mov.u32 %r298, %r65; + bra.uni BB0_39; + +BB0_38: + not.b32 %r193, %r296; + neg.s32 %r298, %r65; + setp.eq.s32 %p30, %r65, 0; + selp.u32 %r194, 1, 0, %p30; + add.s32 %r296, %r194, %r193; + xor.b32 %r297, %r56, -2147483648; + +BB0_39: + clz.b32 %r300, %r296; + setp.eq.s32 %p31, %r300, 0; + shl.b32 %r195, %r296, %r300; + mov.u32 %r196, 32; + sub.s32 %r197, %r196, %r300; + shr.u32 %r198, %r298, %r197; + add.s32 %r199, %r198, %r195; + selp.b32 %r74, %r296, %r199, %p31; + mov.u32 %r200, -921707870; + mul.hi.u32 %r299, %r74, %r200; + setp.eq.s32 %p32, %r56, 0; + neg.s32 %r201, %r66; + selp.b32 %r301, %r66, %r201, %p32; + setp.lt.s32 %p33, %r299, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r202, %r74, -921707870; + shr.u32 %r203, %r202, 31; + shl.b32 %r204, %r299, 1; + add.s32 %r299, %r203, %r204; + add.s32 %r300, %r300, 1; + +BB0_41: + mov.u32 %r205, 126; + sub.s32 %r206, %r205, %r300; + shl.b32 %r207, %r206, 23; + add.s32 %r208, %r299, 1; + shr.u32 %r209, %r208, 7; + add.s32 %r210, %r209, 1; + shr.u32 %r211, %r210, 1; + add.s32 %r212, %r211, %r207; + or.b32 %r213, %r212, %r297; + mov.b32 %f576, %r213; + +BB0_42: + mul.rn.f32 %f52, %f576, %f576; + and.b32 %r82, %r301, 1; + setp.eq.s32 %p34, %r82, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f219, 0f3C08839E; + mov.f32 %f220, 0fB94CA1F9; + fma.rn.f32 %f577, %f220, %f52, %f219; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f217, 0fBAB6061A; + mov.f32 %f218, 0f37CCF5CE; + fma.rn.f32 %f577, %f218, %f52, %f217; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mov.f32 %f224, 0fBE2AAAA3; + fma.rn.f32 %f225, %f577, %f52, %f224; + mov.f32 %f226, 0f00000000; + fma.rn.f32 %f578, %f225, %f52, %f226; + bra.uni BB0_48; + +BB0_46: + mov.f32 %f221, 0f3D2AAAA5; + fma.rn.f32 %f222, %f577, %f52, %f221; + mov.f32 %f223, 0fBF000000; + fma.rn.f32 %f578, %f222, %f52, %f223; + +BB0_48: + fma.rn.f32 %f579, %f578, %f576, %f576; + @%p34 bra BB0_50; + + mov.f32 %f227, 0f3F800000; + fma.rn.f32 %f579, %f578, %f52, %f227; + +BB0_50: + and.b32 %r214, %r301, 2; + setp.eq.s32 %p37, %r214, 0; + @%p37 bra BB0_52; + + mov.f32 %f228, 0f00000000; + mov.f32 %f229, 0fBF800000; + fma.rn.f32 %f579, %f579, %f229, %f228; + +BB0_52: + mul.f32 %f230, %f27, %f573; + mul.f32 %f231, %f230, %f230; + mov.f32 %f232, 0f3F800000; + sub.f32 %f233, %f232, %f231; + mul.f32 %f234, %f27, %f579; + mul.f32 %f235, %f234, %f234; + sub.f32 %f236, %f233, %f235; + mov.f32 %f237, 0f00000000; + max.f32 %f238, %f237, %f236; + sqrt.rn.f32 %f239, %f238; + mul.f32 %f240, %f10, %f234; + mul.f32 %f241, %f11, %f234; + mul.f32 %f242, %f12, %f234; + fma.rn.f32 %f243, %f19, %f230, %f240; + fma.rn.f32 %f244, %f18, %f230, %f241; + fma.rn.f32 %f245, %f17, %f230, %f242; + fma.rn.f32 %f64, %f560, %f239, %f243; + fma.rn.f32 %f65, %f561, %f239, %f244; + fma.rn.f32 %f66, %f562, %f239, %f245; + setp.gt.f32 %p38, %f65, 0f00000000; + setp.eq.s32 %p39, %r5, 0; + or.pred %p40, %p39, %p38; + @!%p40 bra BB0_54; + bra.uni BB0_53; + +BB0_53: + add.u64 %rd50, %SP, 28; + cvta.to.local.u64 %rd51, %rd50; + max.f32 %f259, %f265, %f153; + ld.global.u32 %r215, [sky]; + neg.f32 %f252, %f64; + neg.f32 %f251, %f65; + neg.f32 %f250, %f66; + mov.u32 %r216, 6; + mov.u32 %r217, 0; + // inline asm + call (%f246, %f247, %f248, %f249), _rt_texture_get_base_id, (%r215, %r216, %f250, %f251, %f252, %r217); + // inline asm + st.local.f32 [%rd51], %f246; + st.local.f32 [%rd51+4], %f247; + st.local.f32 [%rd51+8], %f248; + ld.global.u32 %r218, [root]; + mov.u32 %r219, 1; + mov.f32 %f260, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r218, %f7, %f8, %f9, %f64, %f65, %f66, %r219, %f259, %f260, %rd50, %r107); + // inline asm + ld.local.f32 %f267, [%rd51]; + add.f32 %f581, %f581, %f267; + ld.local.f32 %f268, [%rd51+4]; + add.f32 %f582, %f582, %f268; + ld.local.f32 %f269, [%rd51+8]; + add.f32 %f583, %f583, %f269; + +BB0_54: + add.s32 %r280, %r280, 1; + setp.lt.s32 %p41, %r280, %r1; + @%p41 bra BB0_6; + + add.s32 %r278, %r278, 1; + setp.lt.s32 %p42, %r278, %r1; + @%p42 bra BB0_5; + +BB0_56: + mul.lo.s32 %r221, %r1, %r1; + cvt.rn.f32.s32 %f270, %r221; + rcp.rn.f32 %f271, %f270; + mul.f32 %f272, %f581, %f271; + mul.f32 %f273, %f582, %f271; + mul.f32 %f274, %f583, %f271; + ld.global.f32 %f275, [skyColor]; + mul.f32 %f76, %f272, %f275; + ld.global.f32 %f276, [skyColor+4]; + mul.f32 %f77, %f273, %f276; + ld.global.f32 %f277, [skyColor+8]; + mul.f32 %f78, %f274, %f277; + ld.global.u32 %r302, [imageEnabled]; + and.b32 %r222, %r302, 1; + setp.eq.b32 %p43, %r222, 1; + @!%p43 bra BB0_91; + bra.uni BB0_57; + +BB0_57: + mov.f32 %f280, 0f3E666666; + cvt.rzi.f32.f32 %f281, %f280; + fma.rn.f32 %f282, %f281, 0fC0000000, 0f3EE66666; + abs.f32 %f79, %f282; + abs.f32 %f80, %f76; + setp.lt.f32 %p44, %f80, 0f00800000; + mul.f32 %f283, %f80, 0f4B800000; + selp.f32 %f284, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f285, %f283, %f80, %p44; + mov.b32 %r223, %f285; + and.b32 %r224, %r223, 8388607; + or.b32 %r225, %r224, 1065353216; + mov.b32 %f286, %r225; + shr.u32 %r226, %r223, 23; + cvt.rn.f32.u32 %f287, %r226; + add.f32 %f288, %f284, %f287; + setp.gt.f32 %p45, %f286, 0f3FB504F3; + mul.f32 %f289, %f286, 0f3F000000; + add.f32 %f290, %f288, 0f3F800000; + selp.f32 %f291, %f289, %f286, %p45; + selp.f32 %f292, %f290, %f288, %p45; + add.f32 %f293, %f291, 0fBF800000; + add.f32 %f279, %f291, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f278,%f279; + // inline asm + add.f32 %f294, %f293, %f293; + mul.f32 %f295, %f278, %f294; + mul.f32 %f296, %f295, %f295; + mov.f32 %f297, 0f3C4CAF63; + mov.f32 %f298, 0f3B18F0FE; + fma.rn.f32 %f299, %f298, %f296, %f297; + mov.f32 %f300, 0f3DAAAABD; + fma.rn.f32 %f301, %f299, %f296, %f300; + mul.rn.f32 %f302, %f301, %f296; + mul.rn.f32 %f303, %f302, %f295; + sub.f32 %f304, %f293, %f295; + neg.f32 %f305, %f295; + add.f32 %f306, %f304, %f304; + fma.rn.f32 %f307, %f305, %f293, %f306; + mul.rn.f32 %f308, %f278, %f307; + add.f32 %f309, %f303, %f295; + sub.f32 %f310, %f295, %f309; + add.f32 %f311, %f303, %f310; + add.f32 %f312, %f308, %f311; + add.f32 %f313, %f309, %f312; + sub.f32 %f314, %f309, %f313; + add.f32 %f315, %f312, %f314; + mov.f32 %f316, 0f3F317200; + mul.rn.f32 %f317, %f292, %f316; + mov.f32 %f318, 0f35BFBE8E; + mul.rn.f32 %f319, %f292, %f318; + add.f32 %f320, %f317, %f313; + sub.f32 %f321, %f317, %f320; + add.f32 %f322, %f313, %f321; + add.f32 %f323, %f315, %f322; + add.f32 %f324, %f319, %f323; + add.f32 %f325, %f320, %f324; + sub.f32 %f326, %f320, %f325; + add.f32 %f327, %f324, %f326; + mov.f32 %f328, 0f3EE66666; + mul.rn.f32 %f329, %f328, %f325; + neg.f32 %f330, %f329; + fma.rn.f32 %f331, %f328, %f325, %f330; + fma.rn.f32 %f332, %f328, %f327, %f331; + mov.f32 %f333, 0f00000000; + fma.rn.f32 %f334, %f333, %f325, %f332; + add.rn.f32 %f335, %f329, %f334; + neg.f32 %f336, %f335; + add.rn.f32 %f337, %f329, %f336; + add.rn.f32 %f338, %f337, %f334; + mov.b32 %r227, %f335; + setp.eq.s32 %p46, %r227, 1118925336; + add.s32 %r228, %r227, -1; + mov.b32 %f339, %r228; + add.f32 %f340, %f338, 0f37000000; + selp.f32 %f341, %f339, %f335, %p46; + selp.f32 %f81, %f340, %f338, %p46; + mul.f32 %f342, %f341, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f343, %f342; + mov.f32 %f344, 0fBF317200; + fma.rn.f32 %f345, %f343, %f344, %f341; + mov.f32 %f346, 0fB5BFBE8E; + fma.rn.f32 %f347, %f343, %f346, %f345; + mul.f32 %f348, %f347, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f349, %f348; + add.f32 %f350, %f343, 0f00000000; + ex2.approx.f32 %f351, %f350; + mul.f32 %f352, %f349, %f351; + setp.lt.f32 %p47, %f341, 0fC2D20000; + selp.f32 %f353, 0f00000000, %f352, %p47; + setp.gt.f32 %p48, %f341, 0f42D20000; + selp.f32 %f587, 0f7F800000, %f353, %p48; + setp.eq.f32 %p49, %f587, 0f7F800000; + @%p49 bra BB0_59; + + fma.rn.f32 %f587, %f587, %f81, %f587; + +BB0_59: + setp.lt.f32 %p50, %f76, 0f00000000; + setp.eq.f32 %p51, %f79, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r229, %f587; + xor.b32 %r230, %r229, -2147483648; + mov.b32 %f354, %r230; + selp.f32 %f589, %f354, %f587, %p1; + setp.eq.f32 %p52, %f76, 0f00000000; + @%p52 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f357, %f76, %f76; + selp.f32 %f589, %f357, 0f00000000, %p51; + bra.uni BB0_63; + +BB0_100: + mov.u64 %rd105, image_HDR; + cvta.global.u64 %rd100, %rd105; + mov.u32 %r273, 8; + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd100, %r91, %r273, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f538, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs40, %f538;} + + // inline asm + mov.u16 %rs41, 0; + st.v4.u16 [%rd99], {%rs40, %rs40, %rs40, %rs41}; + bra.uni BB0_101; + +BB0_60: + setp.geu.f32 %p53, %f76, 0f00000000; + @%p53 bra BB0_63; + + mov.f32 %f559, 0f3EE66666; + cvt.rzi.f32.f32 %f356, %f559; + setp.neu.f32 %p54, %f356, 0f3EE66666; + selp.f32 %f589, 0f7FFFFFFF, %f589, %p54; + +BB0_63: + add.f32 %f358, %f80, 0f3EE66666; + mov.b32 %r231, %f358; + setp.lt.s32 %p56, %r231, 2139095040; + @%p56 bra BB0_68; + + setp.gtu.f32 %p57, %f80, 0f7F800000; + @%p57 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f589, %f76, 0f3EE66666; + bra.uni BB0_68; + +BB0_65: + setp.neu.f32 %p58, %f80, 0f7F800000; + @%p58 bra BB0_68; + + selp.f32 %f589, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + mov.f32 %f547, 0fB5BFBE8E; + mov.f32 %f546, 0fBF317200; + mov.f32 %f545, 0f00000000; + mov.f32 %f544, 0f35BFBE8E; + mov.f32 %f543, 0f3F317200; + mov.f32 %f542, 0f3DAAAABD; + mov.f32 %f541, 0f3C4CAF63; + mov.f32 %f540, 0f3B18F0FE; + mov.f32 %f539, 0f3EE66666; + setp.eq.f32 %p59, %f76, 0f3F800000; + selp.f32 %f92, 0f3F800000, %f589, %p59; + abs.f32 %f93, %f77; + setp.lt.f32 %p60, %f93, 0f00800000; + mul.f32 %f361, %f93, 0f4B800000; + selp.f32 %f362, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f363, %f361, %f93, %p60; + mov.b32 %r232, %f363; + and.b32 %r233, %r232, 8388607; + or.b32 %r234, %r233, 1065353216; + mov.b32 %f364, %r234; + shr.u32 %r235, %r232, 23; + cvt.rn.f32.u32 %f365, %r235; + add.f32 %f366, %f362, %f365; + setp.gt.f32 %p61, %f364, 0f3FB504F3; + mul.f32 %f367, %f364, 0f3F000000; + add.f32 %f368, %f366, 0f3F800000; + selp.f32 %f369, %f367, %f364, %p61; + selp.f32 %f370, %f368, %f366, %p61; + add.f32 %f371, %f369, 0fBF800000; + add.f32 %f360, %f369, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f359,%f360; + // inline asm + add.f32 %f372, %f371, %f371; + mul.f32 %f373, %f359, %f372; + mul.f32 %f374, %f373, %f373; + fma.rn.f32 %f377, %f540, %f374, %f541; + fma.rn.f32 %f379, %f377, %f374, %f542; + mul.rn.f32 %f380, %f379, %f374; + mul.rn.f32 %f381, %f380, %f373; + sub.f32 %f382, %f371, %f373; + neg.f32 %f383, %f373; + add.f32 %f384, %f382, %f382; + fma.rn.f32 %f385, %f383, %f371, %f384; + mul.rn.f32 %f386, %f359, %f385; + add.f32 %f387, %f381, %f373; + sub.f32 %f388, %f373, %f387; + add.f32 %f389, %f381, %f388; + add.f32 %f390, %f386, %f389; + add.f32 %f391, %f387, %f390; + sub.f32 %f392, %f387, %f391; + add.f32 %f393, %f390, %f392; + mul.rn.f32 %f395, %f370, %f543; + mul.rn.f32 %f397, %f370, %f544; + add.f32 %f398, %f395, %f391; + sub.f32 %f399, %f395, %f398; + add.f32 %f400, %f391, %f399; + add.f32 %f401, %f393, %f400; + add.f32 %f402, %f397, %f401; + add.f32 %f403, %f398, %f402; + sub.f32 %f404, %f398, %f403; + add.f32 %f405, %f402, %f404; + mul.rn.f32 %f407, %f539, %f403; + neg.f32 %f408, %f407; + fma.rn.f32 %f409, %f539, %f403, %f408; + fma.rn.f32 %f410, %f539, %f405, %f409; + fma.rn.f32 %f412, %f545, %f403, %f410; + add.rn.f32 %f413, %f407, %f412; + neg.f32 %f414, %f413; + add.rn.f32 %f415, %f407, %f414; + add.rn.f32 %f416, %f415, %f412; + mov.b32 %r236, %f413; + setp.eq.s32 %p62, %r236, 1118925336; + add.s32 %r237, %r236, -1; + mov.b32 %f417, %r237; + add.f32 %f418, %f416, 0f37000000; + selp.f32 %f419, %f417, %f413, %p62; + selp.f32 %f94, %f418, %f416, %p62; + mul.f32 %f420, %f419, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f421, %f420; + fma.rn.f32 %f423, %f421, %f546, %f419; + fma.rn.f32 %f425, %f421, %f547, %f423; + mul.f32 %f426, %f425, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f427, %f426; + add.f32 %f428, %f421, 0f00000000; + ex2.approx.f32 %f429, %f428; + mul.f32 %f430, %f427, %f429; + setp.lt.f32 %p63, %f419, 0fC2D20000; + selp.f32 %f431, 0f00000000, %f430, %p63; + setp.gt.f32 %p64, %f419, 0f42D20000; + selp.f32 %f590, 0f7F800000, %f431, %p64; + setp.eq.f32 %p65, %f590, 0f7F800000; + @%p65 bra BB0_70; + + fma.rn.f32 %f590, %f590, %f94, %f590; + +BB0_70: + setp.lt.f32 %p66, %f77, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r238, %f590; + xor.b32 %r239, %r238, -2147483648; + mov.b32 %f432, %r239; + selp.f32 %f592, %f432, %f590, %p2; + setp.eq.f32 %p68, %f77, 0f00000000; + @%p68 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f435, %f77, %f77; + selp.f32 %f592, %f435, 0f00000000, %p51; + bra.uni BB0_74; + +BB0_71: + setp.geu.f32 %p69, %f77, 0f00000000; + @%p69 bra BB0_74; + + mov.f32 %f558, 0f3EE66666; + cvt.rzi.f32.f32 %f434, %f558; + setp.neu.f32 %p70, %f434, 0f3EE66666; + selp.f32 %f592, 0f7FFFFFFF, %f592, %p70; + +BB0_74: + add.f32 %f436, %f93, 0f3EE66666; + mov.b32 %r240, %f436; + setp.lt.s32 %p72, %r240, 2139095040; + @%p72 bra BB0_79; + + setp.gtu.f32 %p73, %f93, 0f7F800000; + @%p73 bra BB0_78; + bra.uni BB0_76; + +BB0_78: + add.f32 %f592, %f77, 0f3EE66666; + bra.uni BB0_79; + +BB0_76: + setp.neu.f32 %p74, %f93, 0f7F800000; + @%p74 bra BB0_79; + + selp.f32 %f592, 0fFF800000, 0f7F800000, %p2; + +BB0_79: + mov.f32 %f556, 0fB5BFBE8E; + mov.f32 %f555, 0fBF317200; + mov.f32 %f554, 0f00000000; + mov.f32 %f553, 0f35BFBE8E; + mov.f32 %f552, 0f3F317200; + mov.f32 %f551, 0f3DAAAABD; + mov.f32 %f550, 0f3C4CAF63; + mov.f32 %f549, 0f3B18F0FE; + mov.f32 %f548, 0f3EE66666; + setp.eq.f32 %p75, %f77, 0f3F800000; + selp.f32 %f105, 0f3F800000, %f592, %p75; + abs.f32 %f106, %f78; + setp.lt.f32 %p76, %f106, 0f00800000; + mul.f32 %f439, %f106, 0f4B800000; + selp.f32 %f440, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f441, %f439, %f106, %p76; + mov.b32 %r241, %f441; + and.b32 %r242, %r241, 8388607; + or.b32 %r243, %r242, 1065353216; + mov.b32 %f442, %r243; + shr.u32 %r244, %r241, 23; + cvt.rn.f32.u32 %f443, %r244; + add.f32 %f444, %f440, %f443; + setp.gt.f32 %p77, %f442, 0f3FB504F3; + mul.f32 %f445, %f442, 0f3F000000; + add.f32 %f446, %f444, 0f3F800000; + selp.f32 %f447, %f445, %f442, %p77; + selp.f32 %f448, %f446, %f444, %p77; + add.f32 %f449, %f447, 0fBF800000; + add.f32 %f438, %f447, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f437,%f438; + // inline asm + add.f32 %f450, %f449, %f449; + mul.f32 %f451, %f437, %f450; + mul.f32 %f452, %f451, %f451; + fma.rn.f32 %f455, %f549, %f452, %f550; + fma.rn.f32 %f457, %f455, %f452, %f551; + mul.rn.f32 %f458, %f457, %f452; + mul.rn.f32 %f459, %f458, %f451; + sub.f32 %f460, %f449, %f451; + neg.f32 %f461, %f451; + add.f32 %f462, %f460, %f460; + fma.rn.f32 %f463, %f461, %f449, %f462; + mul.rn.f32 %f464, %f437, %f463; + add.f32 %f465, %f459, %f451; + sub.f32 %f466, %f451, %f465; + add.f32 %f467, %f459, %f466; + add.f32 %f468, %f464, %f467; + add.f32 %f469, %f465, %f468; + sub.f32 %f470, %f465, %f469; + add.f32 %f471, %f468, %f470; + mul.rn.f32 %f473, %f448, %f552; + mul.rn.f32 %f475, %f448, %f553; + add.f32 %f476, %f473, %f469; + sub.f32 %f477, %f473, %f476; + add.f32 %f478, %f469, %f477; + add.f32 %f479, %f471, %f478; + add.f32 %f480, %f475, %f479; + add.f32 %f481, %f476, %f480; + sub.f32 %f482, %f476, %f481; + add.f32 %f483, %f480, %f482; + mul.rn.f32 %f485, %f548, %f481; + neg.f32 %f486, %f485; + fma.rn.f32 %f487, %f548, %f481, %f486; + fma.rn.f32 %f488, %f548, %f483, %f487; + fma.rn.f32 %f490, %f554, %f481, %f488; + add.rn.f32 %f491, %f485, %f490; + neg.f32 %f492, %f491; + add.rn.f32 %f493, %f485, %f492; + add.rn.f32 %f494, %f493, %f490; + mov.b32 %r245, %f491; + setp.eq.s32 %p78, %r245, 1118925336; + add.s32 %r246, %r245, -1; + mov.b32 %f495, %r246; + add.f32 %f496, %f494, 0f37000000; + selp.f32 %f497, %f495, %f491, %p78; + selp.f32 %f107, %f496, %f494, %p78; + mul.f32 %f498, %f497, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f499, %f498; + fma.rn.f32 %f501, %f499, %f555, %f497; + fma.rn.f32 %f503, %f499, %f556, %f501; + mul.f32 %f504, %f503, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f505, %f504; + add.f32 %f506, %f499, 0f00000000; + ex2.approx.f32 %f507, %f506; + mul.f32 %f508, %f505, %f507; + setp.lt.f32 %p79, %f497, 0fC2D20000; + selp.f32 %f509, 0f00000000, %f508, %p79; + setp.gt.f32 %p80, %f497, 0f42D20000; + selp.f32 %f593, 0f7F800000, %f509, %p80; + setp.eq.f32 %p81, %f593, 0f7F800000; + @%p81 bra BB0_81; + + fma.rn.f32 %f593, %f593, %f107, %f593; + +BB0_81: + setp.lt.f32 %p82, %f78, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r247, %f593; + xor.b32 %r248, %r247, -2147483648; + mov.b32 %f510, %r248; + selp.f32 %f595, %f510, %f593, %p3; + setp.eq.f32 %p84, %f78, 0f00000000; + @%p84 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f513, %f78, %f78; + selp.f32 %f595, %f513, 0f00000000, %p51; + bra.uni BB0_85; + +BB0_82: + setp.geu.f32 %p85, %f78, 0f00000000; + @%p85 bra BB0_85; + + mov.f32 %f557, 0f3EE66666; + cvt.rzi.f32.f32 %f512, %f557; + setp.neu.f32 %p86, %f512, 0f3EE66666; + selp.f32 %f595, 0f7FFFFFFF, %f595, %p86; + +BB0_85: + add.f32 %f514, %f106, 0f3EE66666; + mov.b32 %r249, %f514; + setp.lt.s32 %p88, %r249, 2139095040; + @%p88 bra BB0_90; + + setp.gtu.f32 %p89, %f106, 0f7F800000; + @%p89 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f595, %f78, 0f3EE66666; + bra.uni BB0_90; + +BB0_87: + setp.neu.f32 %p90, %f106, 0f7F800000; + @%p90 bra BB0_90; + + selp.f32 %f595, 0fFF800000, 0f7F800000, %p3; + +BB0_90: + mov.u32 %r275, 4; + mov.u64 %rd106, 0; + mov.u32 %r274, 2; + setp.eq.f32 %p91, %f78, 0f3F800000; + selp.f32 %f515, 0f3F800000, %f595, %p91; + cvt.u64.u32 %rd55, %r4; + cvt.u64.u32 %rd54, %r3; + mov.u64 %rd58, image; + cvta.global.u64 %rd53, %rd58; + // inline asm + call (%rd52), _rt_buffer_get_64, (%rd53, %r274, %r275, %rd54, %rd55, %rd106, %rd106); + // inline asm + cvt.sat.f32.f32 %f516, %f515; + mul.f32 %f517, %f516, 0f437FFD71; + cvt.rzi.u32.f32 %r252, %f517; + cvt.sat.f32.f32 %f518, %f105; + mul.f32 %f519, %f518, 0f437FFD71; + cvt.rzi.u32.f32 %r253, %f519; + cvt.sat.f32.f32 %f520, %f92; + mul.f32 %f521, %f520, 0f437FFD71; + cvt.rzi.u32.f32 %r254, %f521; + cvt.u16.u32 %rs10, %r252; + cvt.u16.u32 %rs11, %r254; + cvt.u16.u32 %rs12, %r253; + mov.u16 %rs13, 255; + st.v4.u8 [%rd52], {%rs10, %rs12, %rs11, %rs13}; + ld.global.u32 %r302, [imageEnabled]; + +BB0_91: + and.b32 %r255, %r302, 4; + setp.eq.s32 %p92, %r255, 0; + @%p92 bra BB0_101; + + ld.global.u32 %r256, [additive]; + setp.eq.s32 %p93, %r256, 0; + cvt.u64.u32 %rd15, %r3; + cvt.u64.u32 %rd16, %r4; + mov.f32 %f522, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs14, %f522;} + + // inline asm + @%p93 bra BB0_94; + + mov.u64 %rd107, 0; + mov.u32 %r276, 2; + mov.u64 %rd71, image_HDR; + cvta.global.u64 %rd60, %rd71; + mov.u32 %r260, 8; + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd60, %r276, %r260, %rd15, %rd16, %rd107, %rd107); + // inline asm + ld.v4.u16 {%rs21, %rs22, %rs23, %rs24}, [%rd59]; + // inline asm + { cvt.f32.f16 %f523, %rs21;} + + // inline asm + // inline asm + { cvt.f32.f16 %f524, %rs22;} + + // inline asm + // inline asm + { cvt.f32.f16 %f525, %rs23;} + + // inline asm + // inline asm + call (%rd65), _rt_buffer_get_64, (%rd60, %r276, %r260, %rd15, %rd16, %rd107, %rd107); + // inline asm + add.f32 %f526, %f76, %f523; + add.f32 %f527, %f77, %f524; + add.f32 %f528, %f78, %f525; + // inline asm + { cvt.rn.f16.f32 %rs20, %f528;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs19, %f527;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs18, %f526;} + + // inline asm + st.v4.u16 [%rd65], {%rs18, %rs19, %rs20, %rs14}; + bra.uni BB0_101; + +BB0_94: + mov.u64 %rd108, 0; + mov.u32 %r277, 2; + mov.u64 %rd78, image_HDR; + cvta.global.u64 %rd73, %rd78; + mov.u32 %r262, 8; + // inline asm + call (%rd72), _rt_buffer_get_64, (%rd73, %r277, %r262, %rd15, %rd16, %rd108, %rd108); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f78;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f77;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f76;} + + // inline asm + st.v4.u16 [%rd72], {%rs25, %rs26, %rs27, %rs14}; + +BB0_101: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemap.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemap.ptx.meta new file mode 100644 index 00000000..7678b9a9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemap.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 36fd7087290b6af4c9f043e9fde27fe7 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx new file mode 100644 index 00000000..4427d8d7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx @@ -0,0 +1,1466 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3skyE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3skyE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3skyE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic3skyE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3skyE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<99>; + .reg .b16 %rs<51>; + .reg .f32 %f<660>; + .reg .b32 %r<313>; + .reg .b64 %rd<141>; + + + mov.u64 %rd140, __local_depot0; + cvta.local.u64 %SP, %rd140; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r93, %r94}, [pixelID]; + cvt.u64.u32 %rd22, %r93; + cvt.u64.u32 %rd23, %r94; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r91, 2; + mov.u32 %r92, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r91, %r92, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r2, [%rd20]; + shr.u32 %r97, %r2, 16; + cvt.u16.u32 %rs1, %r97; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r2; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p4, %rs5, 0; + mov.f32 %f612, 0f00000000; + mov.f32 %f613, %f612; + mov.f32 %f614, %f612; + @%p4 bra BB0_2; + + ld.u8 %rs6, [%rd20+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f137, %rs8; + div.rn.f32 %f138, %f137, 0f437F0000; + fma.rn.f32 %f139, %f138, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f140, %rs6; + div.rn.f32 %f141, %f140, 0f437F0000; + fma.rn.f32 %f142, %f141, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f143, %rs3; + div.rn.f32 %f144, %f143, 0f437F0000; + fma.rn.f32 %f145, %f144, 0f40000000, 0fBF800000; + mul.f32 %f146, %f142, %f142; + fma.rn.f32 %f147, %f139, %f139, %f146; + fma.rn.f32 %f148, %f145, %f145, %f147; + sqrt.rn.f32 %f149, %f148; + rcp.rn.f32 %f150, %f149; + mul.f32 %f612, %f139, %f150; + mul.f32 %f613, %f142, %f150; + mul.f32 %f614, %f145, %f150; + +BB0_2: + ld.global.v2.u32 {%r98, %r99}, [pixelID]; + ld.global.v2.u32 {%r101, %r102}, [tileInfo]; + add.s32 %r3, %r98, %r101; + add.s32 %r4, %r99, %r102; + setp.eq.f32 %p5, %f613, 0f00000000; + setp.eq.f32 %p6, %f612, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f614, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_97; + bra.uni BB0_3; + +BB0_97: + ld.global.u32 %r312, [imageEnabled]; + and.b32 %r268, %r312, 1; + setp.eq.b32 %p95, %r268, 1; + @!%p95 bra BB0_99; + bra.uni BB0_98; + +BB0_98: + cvt.u64.u32 %rd99, %r3; + cvt.u64.u32 %rd100, %r4; + mov.u64 %rd103, image; + cvta.global.u64 %rd98, %rd103; + mov.u64 %rd102, 0; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd98, %r91, %r92, %rd99, %rd100, %rd102, %rd102); + // inline asm + mov.u16 %rs34, 0; + st.v4.u8 [%rd97], {%rs34, %rs34, %rs34, %rs34}; + ld.global.u32 %r312, [imageEnabled]; + +BB0_99: + and.b32 %r271, %r312, 4; + setp.eq.s32 %p96, %r271, 0; + @%p96 bra BB0_103; + + ld.global.u32 %r272, [additive]; + setp.eq.s32 %p97, %r272, 0; + cvt.u64.u32 %rd18, %r3; + cvt.u64.u32 %rd19, %r4; + @%p97 bra BB0_102; + + mov.u64 %rd116, image_HDR; + cvta.global.u64 %rd105, %rd116; + mov.u32 %r276, 8; + mov.u64 %rd115, 0; + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd105, %r91, %r276, %rd18, %rd19, %rd115, %rd115); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd104]; + // inline asm + { cvt.f32.f16 %f571, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f572, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f573, %rs43;} + + // inline asm + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd105, %r91, %r276, %rd18, %rd19, %rd115, %rd115); + // inline asm + add.f32 %f574, %f571, 0f00000000; + add.f32 %f575, %f572, 0f00000000; + add.f32 %f576, %f573, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs40, %f576;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f575;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f574;} + + // inline asm + mov.u16 %rs45, 0; + st.v4.u16 [%rd110], {%rs38, %rs39, %rs40, %rs45}; + bra.uni BB0_103; + +BB0_3: + ld.global.v2.u32 {%r110, %r111}, [pixelID]; + cvt.u64.u32 %rd29, %r110; + cvt.u64.u32 %rd30, %r111; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r107, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r91, %r107, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f157, [%rd27+8]; + ld.f32 %f158, [%rd27+4]; + ld.f32 %f159, [%rd27]; + mul.f32 %f160, %f159, 0f3456BF95; + mul.f32 %f161, %f158, 0f3456BF95; + mul.f32 %f162, %f157, 0f3456BF95; + abs.f32 %f163, %f612; + div.rn.f32 %f164, %f160, %f163; + abs.f32 %f165, %f613; + div.rn.f32 %f166, %f161, %f165; + abs.f32 %f167, %f614; + div.rn.f32 %f168, %f162, %f167; + abs.f32 %f169, %f164; + abs.f32 %f170, %f166; + abs.f32 %f171, %f168; + mov.f32 %f172, 0f38D1B717; + max.f32 %f173, %f169, %f172; + max.f32 %f174, %f170, %f172; + max.f32 %f175, %f171, %f172; + fma.rn.f32 %f7, %f612, %f173, %f159; + fma.rn.f32 %f8, %f613, %f174, %f158; + fma.rn.f32 %f9, %f614, %f175, %f157; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f163, %f167; + neg.f32 %f176, %f613; + selp.f32 %f177, %f176, 0f00000000, %p10; + neg.f32 %f178, %f614; + selp.f32 %f179, %f612, %f178, %p10; + selp.f32 %f180, 0f00000000, %f613, %p10; + mul.f32 %f181, %f179, %f179; + fma.rn.f32 %f182, %f177, %f177, %f181; + fma.rn.f32 %f183, %f180, %f180, %f182; + sqrt.rn.f32 %f184, %f183; + rcp.rn.f32 %f185, %f184; + mul.f32 %f10, %f177, %f185; + mul.f32 %f11, %f179, %f185; + mul.f32 %f12, %f180, %f185; + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + cvt.u64.u32 %rd35, %r114; + cvt.u64.u32 %rd36, %r115; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r91, %r92, %rd35, %rd36, %rd25, %rd25); + // inline asm + mov.f32 %f644, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f643, %f644; + mov.f32 %f642, %f644; + mov.f32 %f641, %f644; + mov.f32 %f640, %f644; + mov.f32 %f639, %f644; + @%p11 bra BB0_56; + + cvt.rn.f32.s32 %f192, %r1; + rcp.rn.f32 %f13, %f192; + ld.u32 %r290, [%rd33]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f193, %f612, %f11; + mul.f32 %f194, %f613, %f10; + sub.f32 %f17, %f194, %f193; + mul.f32 %f195, %f614, %f10; + mul.f32 %f196, %f612, %f12; + sub.f32 %f18, %f196, %f195; + mul.f32 %f197, %f613, %f12; + mul.f32 %f198, %f614, %f11; + sub.f32 %f19, %f198, %f197; + mov.f32 %f644, 0f00000000; + mov.u32 %r118, 0; + abs.f32 %f279, %f15; + abs.f32 %f280, %f14; + max.f32 %f281, %f280, %f279; + abs.f32 %f282, %f16; + max.f32 %f283, %f281, %f282; + mov.u32 %r287, %r118; + mov.f32 %f643, %f644; + mov.f32 %f642, %f644; + mov.f32 %f641, %f644; + mov.f32 %f640, %f644; + mov.f32 %f639, %f644; + +BB0_5: + mov.u32 %r289, %r118; + +BB0_6: + cvt.rn.f32.s32 %f605, %r287; + mad.lo.s32 %r120, %r290, 1664525, 1013904223; + and.b32 %r121, %r120, 16777215; + cvt.rn.f32.u32 %f199, %r121; + fma.rn.f32 %f200, %f199, 0f33800000, %f605; + mul.f32 %f33, %f13, %f200; + mad.lo.s32 %r290, %r120, 1664525, 1013904223; + and.b32 %r122, %r290, 16777215; + cvt.rn.f32.u32 %f201, %r122; + cvt.rn.f32.s32 %f202, %r289; + fma.rn.f32 %f203, %f201, 0f33800000, %f202; + mul.f32 %f204, %f13, %f203; + mul.f32 %f205, %f33, %f33; + mov.f32 %f206, 0f3F800000; + sub.f32 %f207, %f206, %f205; + mov.f32 %f208, 0f00000000; + max.f32 %f209, %f208, %f207; + sqrt.rn.f32 %f34, %f209; + mul.f32 %f633, %f204, 0f40C90FDB; + abs.f32 %f36, %f633; + setp.neu.f32 %p12, %f36, 0f7F800000; + mov.f32 %f627, %f633; + @%p12 bra BB0_8; + + mul.rn.f32 %f627, %f633, %f208; + +BB0_8: + mul.f32 %f211, %f627, 0f3F22F983; + cvt.rni.s32.f32 %r300, %f211; + cvt.rn.f32.s32 %f212, %r300; + neg.f32 %f213, %f212; + mov.f32 %f214, 0f3FC90FDA; + fma.rn.f32 %f215, %f213, %f214, %f627; + mov.f32 %f216, 0f33A22168; + fma.rn.f32 %f217, %f213, %f216, %f215; + mov.f32 %f218, 0f27C234C5; + fma.rn.f32 %f628, %f213, %f218, %f217; + abs.f32 %f219, %f627; + setp.leu.f32 %p13, %f219, 0f47CE4780; + @%p13 bra BB0_19; + + add.u64 %rd42, %SP, 0; + cvta.to.local.u64 %rd3, %rd42; + mov.b32 %r13, %f627; + shr.u32 %r14, %r13, 23; + shl.b32 %r125, %r13, 8; + or.b32 %r15, %r125, -2147483648; + mov.u32 %r291, 0; + mov.u64 %rd137, 0; + mov.u64 %rd136, %rd3; + mov.u32 %r292, %r291; + +BB0_10: + .pragma "nounroll"; + shl.b64 %rd43, %rd137, 2; + mov.u64 %rd44, __cudart_i2opi_f; + add.s64 %rd45, %rd44, %rd43; + ld.const.u32 %r128, [%rd45]; + // inline asm + { + mad.lo.cc.u32 %r126, %r128, %r15, %r292; + madc.hi.u32 %r292, %r128, %r15, 0; + } + // inline asm + st.local.u32 [%rd136], %r126; + add.s32 %r291, %r291, 1; + cvt.s64.s32 %rd137, %r291; + mul.wide.s32 %rd48, %r291, 4; + add.s64 %rd136, %rd3, %rd48; + setp.ne.s32 %p14, %r291, 6; + @%p14 bra BB0_10; + + add.u64 %rd135, %SP, 0; + and.b32 %r131, %r14, 255; + add.s32 %r132, %r131, -128; + shr.u32 %r133, %r132, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd50, %rd135; + st.local.u32 [%rd50+24], %r292; + mov.u32 %r134, 6; + sub.s32 %r135, %r134, %r133; + mul.wide.s32 %rd51, %r135, 4; + add.s64 %rd8, %rd50, %rd51; + ld.local.u32 %r293, [%rd8]; + ld.local.u32 %r294, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p15, %r23, 0; + @%p15 bra BB0_13; + + mov.u32 %r136, 32; + sub.s32 %r137, %r136, %r23; + shr.u32 %r138, %r294, %r137; + shl.b32 %r139, %r293, %r23; + add.s32 %r293, %r138, %r139; + ld.local.u32 %r140, [%rd8+-8]; + shr.u32 %r141, %r140, %r137; + shl.b32 %r142, %r294, %r23; + add.s32 %r294, %r141, %r142; + +BB0_13: + shr.u32 %r143, %r294, 30; + shl.b32 %r144, %r293, 2; + add.s32 %r295, %r143, %r144; + shl.b32 %r29, %r294, 2; + shr.u32 %r145, %r295, 31; + shr.u32 %r146, %r293, 30; + add.s32 %r30, %r145, %r146; + setp.eq.s32 %p16, %r145, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r296, %r20; + mov.u32 %r297, %r29; + bra.uni BB0_16; + +BB0_15: + not.b32 %r147, %r295; + neg.s32 %r297, %r29; + setp.eq.s32 %p17, %r29, 0; + selp.u32 %r148, 1, 0, %p17; + add.s32 %r295, %r148, %r147; + xor.b32 %r296, %r20, -2147483648; + +BB0_16: + clz.b32 %r299, %r295; + setp.eq.s32 %p18, %r299, 0; + shl.b32 %r149, %r295, %r299; + mov.u32 %r150, 32; + sub.s32 %r151, %r150, %r299; + shr.u32 %r152, %r297, %r151; + add.s32 %r153, %r152, %r149; + selp.b32 %r38, %r295, %r153, %p18; + mov.u32 %r154, -921707870; + mul.hi.u32 %r298, %r38, %r154; + setp.eq.s32 %p19, %r20, 0; + neg.s32 %r155, %r30; + selp.b32 %r300, %r30, %r155, %p19; + setp.lt.s32 %p20, %r298, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r156, %r38, -921707870; + shr.u32 %r157, %r156, 31; + shl.b32 %r158, %r298, 1; + add.s32 %r298, %r157, %r158; + add.s32 %r299, %r299, 1; + +BB0_18: + mov.u32 %r159, 126; + sub.s32 %r160, %r159, %r299; + shl.b32 %r161, %r160, 23; + add.s32 %r162, %r298, 1; + shr.u32 %r163, %r162, 7; + add.s32 %r164, %r163, 1; + shr.u32 %r165, %r164, 1; + add.s32 %r166, %r165, %r161; + or.b32 %r167, %r166, %r296; + mov.b32 %f628, %r167; + +BB0_19: + mul.rn.f32 %f42, %f628, %f628; + add.s32 %r46, %r300, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p21, %r47, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mov.f32 %f222, 0f3C08839E; + mov.f32 %f223, 0fB94CA1F9; + fma.rn.f32 %f629, %f223, %f42, %f222; + bra.uni BB0_22; + +BB0_20: + mov.f32 %f220, 0fBAB6061A; + mov.f32 %f221, 0f37CCF5CE; + fma.rn.f32 %f629, %f221, %f42, %f220; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mov.f32 %f227, 0fBE2AAAA3; + fma.rn.f32 %f228, %f629, %f42, %f227; + fma.rn.f32 %f630, %f228, %f42, %f208; + bra.uni BB0_25; + +BB0_23: + mov.f32 %f224, 0f3D2AAAA5; + fma.rn.f32 %f225, %f629, %f42, %f224; + mov.f32 %f226, 0fBF000000; + fma.rn.f32 %f630, %f225, %f42, %f226; + +BB0_25: + fma.rn.f32 %f631, %f630, %f628, %f628; + @%p21 bra BB0_27; + + fma.rn.f32 %f631, %f630, %f42, %f206; + +BB0_27: + and.b32 %r168, %r46, 2; + setp.eq.s32 %p24, %r168, 0; + @%p24 bra BB0_29; + + mov.f32 %f232, 0fBF800000; + fma.rn.f32 %f631, %f631, %f232, %f208; + +BB0_29: + @%p12 bra BB0_31; + + mul.rn.f32 %f633, %f633, %f208; + +BB0_31: + mov.f32 %f608, 0f27C234C5; + mov.f32 %f607, 0f33A22168; + mov.f32 %f606, 0f3FC90FDA; + mul.f32 %f234, %f633, 0f3F22F983; + cvt.rni.s32.f32 %r310, %f234; + cvt.rn.f32.s32 %f235, %r310; + neg.f32 %f236, %f235; + fma.rn.f32 %f238, %f236, %f606, %f633; + fma.rn.f32 %f240, %f236, %f607, %f238; + fma.rn.f32 %f634, %f236, %f608, %f240; + abs.f32 %f242, %f633; + setp.leu.f32 %p26, %f242, 0f47CE4780; + @%p26 bra BB0_42; + + add.u64 %rd53, %SP, 0; + cvta.to.local.u64 %rd9, %rd53; + mov.b32 %r49, %f633; + shr.u32 %r50, %r49, 23; + shl.b32 %r171, %r49, 8; + or.b32 %r51, %r171, -2147483648; + mov.u32 %r301, 0; + mov.u64 %rd138, %rd9; + mov.u64 %rd139, %rd25; + mov.u32 %r302, %r301; + +BB0_33: + .pragma "nounroll"; + shl.b64 %rd54, %rd139, 2; + mov.u64 %rd55, __cudart_i2opi_f; + add.s64 %rd56, %rd55, %rd54; + ld.const.u32 %r174, [%rd56]; + // inline asm + { + mad.lo.cc.u32 %r172, %r174, %r51, %r302; + madc.hi.u32 %r302, %r174, %r51, 0; + } + // inline asm + st.local.u32 [%rd138], %r172; + add.s32 %r301, %r301, 1; + cvt.s64.s32 %rd139, %r301; + mul.wide.s32 %rd57, %r301, 4; + add.s64 %rd138, %rd9, %rd57; + setp.ne.s32 %p27, %r301, 6; + @%p27 bra BB0_33; + + and.b32 %r177, %r50, 255; + add.s32 %r178, %r177, -128; + shr.u32 %r179, %r178, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd59, %rd53; + st.local.u32 [%rd59+24], %r302; + mov.u32 %r180, 6; + sub.s32 %r181, %r180, %r179; + mul.wide.s32 %rd60, %r181, 4; + add.s64 %rd15, %rd59, %rd60; + ld.local.u32 %r303, [%rd15]; + ld.local.u32 %r304, [%rd15+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p28, %r59, 0; + @%p28 bra BB0_36; + + mov.u32 %r182, 32; + sub.s32 %r183, %r182, %r59; + shr.u32 %r184, %r304, %r183; + shl.b32 %r185, %r303, %r59; + add.s32 %r303, %r184, %r185; + ld.local.u32 %r186, [%rd15+-8]; + shr.u32 %r187, %r186, %r183; + shl.b32 %r188, %r304, %r59; + add.s32 %r304, %r187, %r188; + +BB0_36: + shr.u32 %r189, %r304, 30; + shl.b32 %r190, %r303, 2; + add.s32 %r305, %r189, %r190; + shl.b32 %r65, %r304, 2; + shr.u32 %r191, %r305, 31; + shr.u32 %r192, %r303, 30; + add.s32 %r66, %r191, %r192; + setp.eq.s32 %p29, %r191, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r306, %r56; + mov.u32 %r307, %r65; + bra.uni BB0_39; + +BB0_38: + not.b32 %r193, %r305; + neg.s32 %r307, %r65; + setp.eq.s32 %p30, %r65, 0; + selp.u32 %r194, 1, 0, %p30; + add.s32 %r305, %r194, %r193; + xor.b32 %r306, %r56, -2147483648; + +BB0_39: + clz.b32 %r309, %r305; + setp.eq.s32 %p31, %r309, 0; + shl.b32 %r195, %r305, %r309; + mov.u32 %r196, 32; + sub.s32 %r197, %r196, %r309; + shr.u32 %r198, %r307, %r197; + add.s32 %r199, %r198, %r195; + selp.b32 %r74, %r305, %r199, %p31; + mov.u32 %r200, -921707870; + mul.hi.u32 %r308, %r74, %r200; + setp.eq.s32 %p32, %r56, 0; + neg.s32 %r201, %r66; + selp.b32 %r310, %r66, %r201, %p32; + setp.lt.s32 %p33, %r308, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r202, %r74, -921707870; + shr.u32 %r203, %r202, 31; + shl.b32 %r204, %r308, 1; + add.s32 %r308, %r203, %r204; + add.s32 %r309, %r309, 1; + +BB0_41: + mov.u32 %r205, 126; + sub.s32 %r206, %r205, %r309; + shl.b32 %r207, %r206, 23; + add.s32 %r208, %r308, 1; + shr.u32 %r209, %r208, 7; + add.s32 %r210, %r209, 1; + shr.u32 %r211, %r210, 1; + add.s32 %r212, %r211, %r207; + or.b32 %r213, %r212, %r306; + mov.b32 %f634, %r213; + +BB0_42: + mul.rn.f32 %f59, %f634, %f634; + and.b32 %r82, %r310, 1; + setp.eq.s32 %p34, %r82, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f245, 0f3C08839E; + mov.f32 %f246, 0fB94CA1F9; + fma.rn.f32 %f635, %f246, %f59, %f245; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f243, 0fBAB6061A; + mov.f32 %f244, 0f37CCF5CE; + fma.rn.f32 %f635, %f244, %f59, %f243; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mov.f32 %f250, 0fBE2AAAA3; + fma.rn.f32 %f251, %f635, %f59, %f250; + fma.rn.f32 %f636, %f251, %f59, %f208; + bra.uni BB0_48; + +BB0_46: + mov.f32 %f247, 0f3D2AAAA5; + fma.rn.f32 %f248, %f635, %f59, %f247; + mov.f32 %f249, 0fBF000000; + fma.rn.f32 %f636, %f248, %f59, %f249; + +BB0_48: + fma.rn.f32 %f637, %f636, %f634, %f634; + @%p34 bra BB0_50; + + fma.rn.f32 %f637, %f636, %f59, %f206; + +BB0_50: + and.b32 %r214, %r310, 2; + setp.eq.s32 %p37, %r214, 0; + @%p37 bra BB0_52; + + mov.f32 %f255, 0fBF800000; + fma.rn.f32 %f637, %f637, %f255, %f208; + +BB0_52: + mul.f32 %f256, %f34, %f631; + mul.f32 %f257, %f34, %f637; + mul.f32 %f258, %f10, %f257; + mul.f32 %f259, %f11, %f257; + mul.f32 %f260, %f12, %f257; + fma.rn.f32 %f261, %f19, %f256, %f258; + fma.rn.f32 %f262, %f18, %f256, %f259; + fma.rn.f32 %f263, %f17, %f256, %f260; + fma.rn.f32 %f71, %f612, %f33, %f261; + fma.rn.f32 %f72, %f613, %f33, %f262; + fma.rn.f32 %f73, %f614, %f33, %f263; + setp.gt.f32 %p38, %f72, 0f00000000; + setp.eq.s32 %p39, %r5, 0; + or.pred %p40, %p39, %p38; + @!%p40 bra BB0_54; + bra.uni BB0_53; + +BB0_53: + add.u64 %rd61, %SP, 28; + cvta.to.local.u64 %rd62, %rd61; + max.f32 %f277, %f283, %f172; + ld.global.u32 %r215, [sky]; + neg.f32 %f270, %f71; + neg.f32 %f269, %f72; + neg.f32 %f268, %f73; + mov.u32 %r216, 6; + mov.u32 %r217, 0; + // inline asm + call (%f264, %f265, %f266, %f267), _rt_texture_get_base_id, (%r215, %r216, %f268, %f269, %f270, %r217); + // inline asm + st.local.f32 [%rd62], %f264; + st.local.f32 [%rd62+4], %f265; + st.local.f32 [%rd62+8], %f266; + ld.global.u32 %r218, [root]; + mov.u32 %r219, 1; + mov.f32 %f278, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r218, %f7, %f8, %f9, %f71, %f72, %f73, %r219, %f277, %f278, %rd61, %r107); + // inline asm + ld.local.f32 %f285, [%rd62]; + ld.local.f32 %f286, [%rd62+4]; + ld.local.f32 %f287, [%rd62+8]; + fma.rn.f32 %f639, %f71, %f285, %f639; + fma.rn.f32 %f640, %f72, %f286, %f640; + fma.rn.f32 %f641, %f73, %f287, %f641; + mul.f32 %f288, %f613, %f72; + fma.rn.f32 %f289, %f612, %f71, %f288; + fma.rn.f32 %f290, %f614, %f73, %f289; + cvt.sat.f32.f32 %f291, %f290; + fma.rn.f32 %f642, %f291, %f285, %f642; + fma.rn.f32 %f643, %f291, %f286, %f643; + fma.rn.f32 %f644, %f291, %f287, %f644; + +BB0_54: + add.s32 %r289, %r289, 1; + setp.lt.s32 %p41, %r289, %r1; + @%p41 bra BB0_6; + + add.s32 %r287, %r287, 1; + setp.lt.s32 %p42, %r287, %r1; + @%p42 bra BB0_5; + +BB0_56: + mul.lo.s32 %r221, %r1, %r1; + cvt.rn.f32.s32 %f292, %r221; + rcp.rn.f32 %f293, %f292; + mul.f32 %f294, %f642, %f293; + mul.f32 %f295, %f643, %f293; + mul.f32 %f296, %f644, %f293; + fma.rn.f32 %f297, %f642, %f293, %f294; + fma.rn.f32 %f298, %f643, %f293, %f295; + fma.rn.f32 %f299, %f644, %f293, %f296; + ld.global.f32 %f300, [skyColor]; + mul.f32 %f92, %f300, %f297; + ld.global.f32 %f301, [skyColor+4]; + mul.f32 %f93, %f298, %f301; + ld.global.f32 %f302, [skyColor+8]; + mul.f32 %f94, %f299, %f302; + ld.global.u32 %r311, [imageEnabled]; + and.b32 %r222, %r311, 1; + setp.eq.b32 %p43, %r222, 1; + @!%p43 bra BB0_91; + bra.uni BB0_57; + +BB0_57: + mov.f32 %f305, 0f3E666666; + cvt.rzi.f32.f32 %f306, %f305; + fma.rn.f32 %f307, %f306, 0fC0000000, 0f3EE66666; + abs.f32 %f95, %f307; + abs.f32 %f96, %f92; + setp.lt.f32 %p44, %f96, 0f00800000; + mul.f32 %f308, %f96, 0f4B800000; + selp.f32 %f309, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f310, %f308, %f96, %p44; + mov.b32 %r223, %f310; + and.b32 %r224, %r223, 8388607; + or.b32 %r225, %r224, 1065353216; + mov.b32 %f311, %r225; + shr.u32 %r226, %r223, 23; + cvt.rn.f32.u32 %f312, %r226; + add.f32 %f313, %f309, %f312; + setp.gt.f32 %p45, %f311, 0f3FB504F3; + mul.f32 %f314, %f311, 0f3F000000; + add.f32 %f315, %f313, 0f3F800000; + selp.f32 %f316, %f314, %f311, %p45; + selp.f32 %f317, %f315, %f313, %p45; + add.f32 %f318, %f316, 0fBF800000; + add.f32 %f304, %f316, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f303,%f304; + // inline asm + add.f32 %f319, %f318, %f318; + mul.f32 %f320, %f303, %f319; + mul.f32 %f321, %f320, %f320; + mov.f32 %f322, 0f3C4CAF63; + mov.f32 %f323, 0f3B18F0FE; + fma.rn.f32 %f324, %f323, %f321, %f322; + mov.f32 %f325, 0f3DAAAABD; + fma.rn.f32 %f326, %f324, %f321, %f325; + mul.rn.f32 %f327, %f326, %f321; + mul.rn.f32 %f328, %f327, %f320; + sub.f32 %f329, %f318, %f320; + neg.f32 %f330, %f320; + add.f32 %f331, %f329, %f329; + fma.rn.f32 %f332, %f330, %f318, %f331; + mul.rn.f32 %f333, %f303, %f332; + add.f32 %f334, %f328, %f320; + sub.f32 %f335, %f320, %f334; + add.f32 %f336, %f328, %f335; + add.f32 %f337, %f333, %f336; + add.f32 %f338, %f334, %f337; + sub.f32 %f339, %f334, %f338; + add.f32 %f340, %f337, %f339; + mov.f32 %f341, 0f3F317200; + mul.rn.f32 %f342, %f317, %f341; + mov.f32 %f343, 0f35BFBE8E; + mul.rn.f32 %f344, %f317, %f343; + add.f32 %f345, %f342, %f338; + sub.f32 %f346, %f342, %f345; + add.f32 %f347, %f338, %f346; + add.f32 %f348, %f340, %f347; + add.f32 %f349, %f344, %f348; + add.f32 %f350, %f345, %f349; + sub.f32 %f351, %f345, %f350; + add.f32 %f352, %f349, %f351; + mov.f32 %f353, 0f3EE66666; + mul.rn.f32 %f354, %f353, %f350; + neg.f32 %f355, %f354; + fma.rn.f32 %f356, %f353, %f350, %f355; + fma.rn.f32 %f357, %f353, %f352, %f356; + mov.f32 %f358, 0f00000000; + fma.rn.f32 %f359, %f358, %f350, %f357; + add.rn.f32 %f360, %f354, %f359; + neg.f32 %f361, %f360; + add.rn.f32 %f362, %f354, %f361; + add.rn.f32 %f363, %f362, %f359; + mov.b32 %r227, %f360; + setp.eq.s32 %p46, %r227, 1118925336; + add.s32 %r228, %r227, -1; + mov.b32 %f364, %r228; + add.f32 %f365, %f363, 0f37000000; + selp.f32 %f366, %f364, %f360, %p46; + selp.f32 %f97, %f365, %f363, %p46; + mul.f32 %f367, %f366, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f368, %f367; + mov.f32 %f369, 0fBF317200; + fma.rn.f32 %f370, %f368, %f369, %f366; + mov.f32 %f371, 0fB5BFBE8E; + fma.rn.f32 %f372, %f368, %f371, %f370; + mul.f32 %f373, %f372, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f374, %f373; + add.f32 %f375, %f368, 0f00000000; + ex2.approx.f32 %f376, %f375; + mul.f32 %f377, %f374, %f376; + setp.lt.f32 %p47, %f366, 0fC2D20000; + selp.f32 %f378, 0f00000000, %f377, %p47; + setp.gt.f32 %p48, %f366, 0f42D20000; + selp.f32 %f651, 0f7F800000, %f378, %p48; + setp.eq.f32 %p49, %f651, 0f7F800000; + @%p49 bra BB0_59; + + fma.rn.f32 %f651, %f651, %f97, %f651; + +BB0_59: + setp.lt.f32 %p50, %f92, 0f00000000; + setp.eq.f32 %p51, %f95, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r229, %f651; + xor.b32 %r230, %r229, -2147483648; + mov.b32 %f379, %r230; + selp.f32 %f653, %f379, %f651, %p1; + setp.eq.f32 %p52, %f92, 0f00000000; + @%p52 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f382, %f92, %f92; + selp.f32 %f653, %f382, 0f00000000, %p51; + bra.uni BB0_63; + +BB0_102: + mov.u64 %rd123, image_HDR; + cvta.global.u64 %rd118, %rd123; + mov.u32 %r278, 8; + mov.u64 %rd122, 0; + // inline asm + call (%rd117), _rt_buffer_get_64, (%rd118, %r91, %r278, %rd18, %rd19, %rd122, %rd122); + // inline asm + mov.f32 %f577, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs46, %f577;} + + // inline asm + mov.u16 %rs47, 0; + st.v4.u16 [%rd117], {%rs46, %rs46, %rs46, %rs47}; + +BB0_103: + ld.global.u8 %rs48, [imageEnabled]; + and.b16 %rs49, %rs48, 64; + setp.eq.s16 %p98, %rs49, 0; + @%p98 bra BB0_105; + + cvt.u64.u32 %rd126, %r3; + cvt.u64.u32 %rd127, %r4; + mov.u64 %rd130, image_Dir; + cvta.global.u64 %rd125, %rd130; + mov.u64 %rd129, 0; + // inline asm + call (%rd124), _rt_buffer_get_64, (%rd125, %r91, %r92, %rd126, %rd127, %rd129, %rd129); + // inline asm + mov.u16 %rs50, 0; + st.v4.u8 [%rd124], {%rs50, %rs50, %rs50, %rs50}; + bra.uni BB0_105; + +BB0_60: + setp.geu.f32 %p53, %f92, 0f00000000; + @%p53 bra BB0_63; + + mov.f32 %f601, 0f3EE66666; + cvt.rzi.f32.f32 %f381, %f601; + setp.neu.f32 %p54, %f381, 0f3EE66666; + selp.f32 %f653, 0f7FFFFFFF, %f653, %p54; + +BB0_63: + abs.f32 %f578, %f92; + add.f32 %f383, %f578, 0f3EE66666; + mov.b32 %r231, %f383; + setp.lt.s32 %p56, %r231, 2139095040; + @%p56 bra BB0_68; + + abs.f32 %f599, %f92; + setp.gtu.f32 %p57, %f599, 0f7F800000; + @%p57 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f653, %f92, 0f3EE66666; + bra.uni BB0_68; + +BB0_65: + abs.f32 %f600, %f92; + setp.neu.f32 %p58, %f600, 0f7F800000; + @%p58 bra BB0_68; + + selp.f32 %f653, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + mov.f32 %f587, 0fB5BFBE8E; + mov.f32 %f586, 0fBF317200; + mov.f32 %f585, 0f00000000; + mov.f32 %f584, 0f35BFBE8E; + mov.f32 %f583, 0f3F317200; + mov.f32 %f582, 0f3DAAAABD; + mov.f32 %f581, 0f3C4CAF63; + mov.f32 %f580, 0f3B18F0FE; + mov.f32 %f579, 0f3EE66666; + setp.eq.f32 %p59, %f92, 0f3F800000; + selp.f32 %f108, 0f3F800000, %f653, %p59; + abs.f32 %f109, %f93; + setp.lt.f32 %p60, %f109, 0f00800000; + mul.f32 %f386, %f109, 0f4B800000; + selp.f32 %f387, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f388, %f386, %f109, %p60; + mov.b32 %r232, %f388; + and.b32 %r233, %r232, 8388607; + or.b32 %r234, %r233, 1065353216; + mov.b32 %f389, %r234; + shr.u32 %r235, %r232, 23; + cvt.rn.f32.u32 %f390, %r235; + add.f32 %f391, %f387, %f390; + setp.gt.f32 %p61, %f389, 0f3FB504F3; + mul.f32 %f392, %f389, 0f3F000000; + add.f32 %f393, %f391, 0f3F800000; + selp.f32 %f394, %f392, %f389, %p61; + selp.f32 %f395, %f393, %f391, %p61; + add.f32 %f396, %f394, 0fBF800000; + add.f32 %f385, %f394, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f384,%f385; + // inline asm + add.f32 %f397, %f396, %f396; + mul.f32 %f398, %f384, %f397; + mul.f32 %f399, %f398, %f398; + fma.rn.f32 %f402, %f580, %f399, %f581; + fma.rn.f32 %f404, %f402, %f399, %f582; + mul.rn.f32 %f405, %f404, %f399; + mul.rn.f32 %f406, %f405, %f398; + sub.f32 %f407, %f396, %f398; + neg.f32 %f408, %f398; + add.f32 %f409, %f407, %f407; + fma.rn.f32 %f410, %f408, %f396, %f409; + mul.rn.f32 %f411, %f384, %f410; + add.f32 %f412, %f406, %f398; + sub.f32 %f413, %f398, %f412; + add.f32 %f414, %f406, %f413; + add.f32 %f415, %f411, %f414; + add.f32 %f416, %f412, %f415; + sub.f32 %f417, %f412, %f416; + add.f32 %f418, %f415, %f417; + mul.rn.f32 %f420, %f395, %f583; + mul.rn.f32 %f422, %f395, %f584; + add.f32 %f423, %f420, %f416; + sub.f32 %f424, %f420, %f423; + add.f32 %f425, %f416, %f424; + add.f32 %f426, %f418, %f425; + add.f32 %f427, %f422, %f426; + add.f32 %f428, %f423, %f427; + sub.f32 %f429, %f423, %f428; + add.f32 %f430, %f427, %f429; + mul.rn.f32 %f432, %f579, %f428; + neg.f32 %f433, %f432; + fma.rn.f32 %f434, %f579, %f428, %f433; + fma.rn.f32 %f435, %f579, %f430, %f434; + fma.rn.f32 %f437, %f585, %f428, %f435; + add.rn.f32 %f438, %f432, %f437; + neg.f32 %f439, %f438; + add.rn.f32 %f440, %f432, %f439; + add.rn.f32 %f441, %f440, %f437; + mov.b32 %r236, %f438; + setp.eq.s32 %p62, %r236, 1118925336; + add.s32 %r237, %r236, -1; + mov.b32 %f442, %r237; + add.f32 %f443, %f441, 0f37000000; + selp.f32 %f444, %f442, %f438, %p62; + selp.f32 %f110, %f443, %f441, %p62; + mul.f32 %f445, %f444, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f446, %f445; + fma.rn.f32 %f448, %f446, %f586, %f444; + fma.rn.f32 %f450, %f446, %f587, %f448; + mul.f32 %f451, %f450, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f452, %f451; + add.f32 %f453, %f446, 0f00000000; + ex2.approx.f32 %f454, %f453; + mul.f32 %f455, %f452, %f454; + setp.lt.f32 %p63, %f444, 0fC2D20000; + selp.f32 %f456, 0f00000000, %f455, %p63; + setp.gt.f32 %p64, %f444, 0f42D20000; + selp.f32 %f654, 0f7F800000, %f456, %p64; + setp.eq.f32 %p65, %f654, 0f7F800000; + @%p65 bra BB0_70; + + fma.rn.f32 %f654, %f654, %f110, %f654; + +BB0_70: + setp.lt.f32 %p66, %f93, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r238, %f654; + xor.b32 %r239, %r238, -2147483648; + mov.b32 %f457, %r239; + selp.f32 %f656, %f457, %f654, %p2; + setp.eq.f32 %p68, %f93, 0f00000000; + @%p68 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f460, %f93, %f93; + selp.f32 %f656, %f460, 0f00000000, %p51; + bra.uni BB0_74; + +BB0_71: + setp.geu.f32 %p69, %f93, 0f00000000; + @%p69 bra BB0_74; + + mov.f32 %f598, 0f3EE66666; + cvt.rzi.f32.f32 %f459, %f598; + setp.neu.f32 %p70, %f459, 0f3EE66666; + selp.f32 %f656, 0f7FFFFFFF, %f656, %p70; + +BB0_74: + abs.f32 %f602, %f93; + add.f32 %f461, %f602, 0f3EE66666; + mov.b32 %r240, %f461; + setp.lt.s32 %p72, %r240, 2139095040; + @%p72 bra BB0_79; + + abs.f32 %f603, %f93; + setp.gtu.f32 %p73, %f603, 0f7F800000; + @%p73 bra BB0_78; + bra.uni BB0_76; + +BB0_78: + add.f32 %f656, %f93, 0f3EE66666; + bra.uni BB0_79; + +BB0_76: + abs.f32 %f604, %f93; + setp.neu.f32 %p74, %f604, 0f7F800000; + @%p74 bra BB0_79; + + selp.f32 %f656, 0fFF800000, 0f7F800000, %p2; + +BB0_79: + mov.f32 %f596, 0fB5BFBE8E; + mov.f32 %f595, 0fBF317200; + mov.f32 %f594, 0f00000000; + mov.f32 %f593, 0f35BFBE8E; + mov.f32 %f592, 0f3F317200; + mov.f32 %f591, 0f3DAAAABD; + mov.f32 %f590, 0f3C4CAF63; + mov.f32 %f589, 0f3B18F0FE; + mov.f32 %f588, 0f3EE66666; + setp.eq.f32 %p75, %f93, 0f3F800000; + selp.f32 %f121, 0f3F800000, %f656, %p75; + abs.f32 %f122, %f94; + setp.lt.f32 %p76, %f122, 0f00800000; + mul.f32 %f464, %f122, 0f4B800000; + selp.f32 %f465, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f466, %f464, %f122, %p76; + mov.b32 %r241, %f466; + and.b32 %r242, %r241, 8388607; + or.b32 %r243, %r242, 1065353216; + mov.b32 %f467, %r243; + shr.u32 %r244, %r241, 23; + cvt.rn.f32.u32 %f468, %r244; + add.f32 %f469, %f465, %f468; + setp.gt.f32 %p77, %f467, 0f3FB504F3; + mul.f32 %f470, %f467, 0f3F000000; + add.f32 %f471, %f469, 0f3F800000; + selp.f32 %f472, %f470, %f467, %p77; + selp.f32 %f473, %f471, %f469, %p77; + add.f32 %f474, %f472, 0fBF800000; + add.f32 %f463, %f472, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f462,%f463; + // inline asm + add.f32 %f475, %f474, %f474; + mul.f32 %f476, %f462, %f475; + mul.f32 %f477, %f476, %f476; + fma.rn.f32 %f480, %f589, %f477, %f590; + fma.rn.f32 %f482, %f480, %f477, %f591; + mul.rn.f32 %f483, %f482, %f477; + mul.rn.f32 %f484, %f483, %f476; + sub.f32 %f485, %f474, %f476; + neg.f32 %f486, %f476; + add.f32 %f487, %f485, %f485; + fma.rn.f32 %f488, %f486, %f474, %f487; + mul.rn.f32 %f489, %f462, %f488; + add.f32 %f490, %f484, %f476; + sub.f32 %f491, %f476, %f490; + add.f32 %f492, %f484, %f491; + add.f32 %f493, %f489, %f492; + add.f32 %f494, %f490, %f493; + sub.f32 %f495, %f490, %f494; + add.f32 %f496, %f493, %f495; + mul.rn.f32 %f498, %f473, %f592; + mul.rn.f32 %f500, %f473, %f593; + add.f32 %f501, %f498, %f494; + sub.f32 %f502, %f498, %f501; + add.f32 %f503, %f494, %f502; + add.f32 %f504, %f496, %f503; + add.f32 %f505, %f500, %f504; + add.f32 %f506, %f501, %f505; + sub.f32 %f507, %f501, %f506; + add.f32 %f508, %f505, %f507; + mul.rn.f32 %f510, %f588, %f506; + neg.f32 %f511, %f510; + fma.rn.f32 %f512, %f588, %f506, %f511; + fma.rn.f32 %f513, %f588, %f508, %f512; + fma.rn.f32 %f515, %f594, %f506, %f513; + add.rn.f32 %f516, %f510, %f515; + neg.f32 %f517, %f516; + add.rn.f32 %f518, %f510, %f517; + add.rn.f32 %f519, %f518, %f515; + mov.b32 %r245, %f516; + setp.eq.s32 %p78, %r245, 1118925336; + add.s32 %r246, %r245, -1; + mov.b32 %f520, %r246; + add.f32 %f521, %f519, 0f37000000; + selp.f32 %f522, %f520, %f516, %p78; + selp.f32 %f123, %f521, %f519, %p78; + mul.f32 %f523, %f522, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f524, %f523; + fma.rn.f32 %f526, %f524, %f595, %f522; + fma.rn.f32 %f528, %f524, %f596, %f526; + mul.f32 %f529, %f528, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f530, %f529; + add.f32 %f531, %f524, 0f00000000; + ex2.approx.f32 %f532, %f531; + mul.f32 %f533, %f530, %f532; + setp.lt.f32 %p79, %f522, 0fC2D20000; + selp.f32 %f534, 0f00000000, %f533, %p79; + setp.gt.f32 %p80, %f522, 0f42D20000; + selp.f32 %f657, 0f7F800000, %f534, %p80; + setp.eq.f32 %p81, %f657, 0f7F800000; + @%p81 bra BB0_81; + + fma.rn.f32 %f657, %f657, %f123, %f657; + +BB0_81: + setp.lt.f32 %p82, %f94, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r247, %f657; + xor.b32 %r248, %r247, -2147483648; + mov.b32 %f535, %r248; + selp.f32 %f659, %f535, %f657, %p3; + setp.eq.f32 %p84, %f94, 0f00000000; + @%p84 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f538, %f94, %f94; + selp.f32 %f659, %f538, 0f00000000, %p51; + bra.uni BB0_85; + +BB0_82: + setp.geu.f32 %p85, %f94, 0f00000000; + @%p85 bra BB0_85; + + mov.f32 %f597, 0f3EE66666; + cvt.rzi.f32.f32 %f537, %f597; + setp.neu.f32 %p86, %f537, 0f3EE66666; + selp.f32 %f659, 0f7FFFFFFF, %f659, %p86; + +BB0_85: + abs.f32 %f609, %f94; + add.f32 %f539, %f609, 0f3EE66666; + mov.b32 %r249, %f539; + setp.lt.s32 %p88, %r249, 2139095040; + @%p88 bra BB0_90; + + abs.f32 %f610, %f94; + setp.gtu.f32 %p89, %f610, 0f7F800000; + @%p89 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f659, %f94, 0f3EE66666; + bra.uni BB0_90; + +BB0_87: + abs.f32 %f611, %f94; + setp.neu.f32 %p90, %f611, 0f7F800000; + @%p90 bra BB0_90; + + selp.f32 %f659, 0fFF800000, 0f7F800000, %p3; + +BB0_90: + mov.u32 %r282, 4; + mov.u64 %rd131, 0; + mov.u32 %r281, 2; + setp.eq.f32 %p91, %f94, 0f3F800000; + selp.f32 %f540, 0f3F800000, %f659, %p91; + cvt.u64.u32 %rd66, %r4; + cvt.u64.u32 %rd65, %r3; + mov.u64 %rd69, image; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r281, %r282, %rd65, %rd66, %rd131, %rd131); + // inline asm + cvt.sat.f32.f32 %f541, %f540; + mul.f32 %f542, %f541, 0f437FFD71; + cvt.rzi.u32.f32 %r252, %f542; + cvt.sat.f32.f32 %f543, %f121; + mul.f32 %f544, %f543, 0f437FFD71; + cvt.rzi.u32.f32 %r253, %f544; + cvt.sat.f32.f32 %f545, %f108; + mul.f32 %f546, %f545, 0f437FFD71; + cvt.rzi.u32.f32 %r254, %f546; + cvt.u16.u32 %rs10, %r252; + cvt.u16.u32 %rs11, %r254; + cvt.u16.u32 %rs12, %r253; + mov.u16 %rs13, 255; + st.v4.u8 [%rd63], {%rs10, %rs12, %rs11, %rs13}; + ld.global.u32 %r311, [imageEnabled]; + +BB0_91: + and.b32 %r255, %r311, 4; + setp.eq.s32 %p92, %r255, 0; + @%p92 bra BB0_95; + + ld.global.u32 %r256, [additive]; + setp.eq.s32 %p93, %r256, 0; + cvt.u64.u32 %rd16, %r3; + cvt.u64.u32 %rd17, %r4; + mov.f32 %f547, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs14, %f547;} + + // inline asm + @%p93 bra BB0_94; + + mov.u64 %rd132, 0; + mov.u32 %r283, 2; + mov.u64 %rd82, image_HDR; + cvta.global.u64 %rd71, %rd82; + mov.u32 %r260, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r283, %r260, %rd16, %rd17, %rd132, %rd132); + // inline asm + ld.v4.u16 {%rs21, %rs22, %rs23, %rs24}, [%rd70]; + // inline asm + { cvt.f32.f16 %f548, %rs21;} + + // inline asm + // inline asm + { cvt.f32.f16 %f549, %rs22;} + + // inline asm + // inline asm + { cvt.f32.f16 %f550, %rs23;} + + // inline asm + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd71, %r283, %r260, %rd16, %rd17, %rd132, %rd132); + // inline asm + add.f32 %f551, %f92, %f548; + add.f32 %f552, %f93, %f549; + add.f32 %f553, %f94, %f550; + // inline asm + { cvt.rn.f16.f32 %rs20, %f553;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs19, %f552;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs18, %f551;} + + // inline asm + st.v4.u16 [%rd76], {%rs18, %rs19, %rs20, %rs14}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd133, 0; + mov.u32 %r284, 2; + mov.u64 %rd89, image_HDR; + cvta.global.u64 %rd84, %rd89; + mov.u32 %r262, 8; + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd84, %r284, %r262, %rd16, %rd17, %rd133, %rd133); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f94;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f93;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f92;} + + // inline asm + st.v4.u16 [%rd83], {%rs25, %rs26, %rs27, %rs14}; + +BB0_95: + ld.global.u8 %rs28, [imageEnabled]; + and.b16 %rs29, %rs28, 64; + setp.eq.s16 %p94, %rs29, 0; + @%p94 bra BB0_105; + + mov.u32 %r286, 4; + mov.u64 %rd134, 0; + mov.u32 %r285, 2; + mul.f32 %f557, %f640, %f640; + fma.rn.f32 %f558, %f639, %f639, %f557; + fma.rn.f32 %f559, %f641, %f641, %f558; + sqrt.rn.f32 %f560, %f559; + rcp.rn.f32 %f561, %f560; + mul.f32 %f562, %f639, %f561; + mul.f32 %f563, %f640, %f561; + mul.f32 %f564, %f641, %f561; + cvt.u64.u32 %rd93, %r4; + cvt.u64.u32 %rd92, %r3; + mov.u64 %rd96, image_Dir; + cvta.global.u64 %rd91, %rd96; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r285, %r286, %rd92, %rd93, %rd134, %rd134); + // inline asm + fma.rn.f32 %f565, %f562, 0f3F000000, 0f3F000000; + mul.f32 %f566, %f565, 0f437F0000; + cvt.rzi.u32.f32 %r265, %f566; + fma.rn.f32 %f567, %f563, 0f3F000000, 0f3F000000; + mul.f32 %f568, %f567, 0f437F0000; + cvt.rzi.u32.f32 %r266, %f568; + fma.rn.f32 %f569, %f564, 0f3F000000, 0f3F000000; + mul.f32 %f570, %f569, 0f437F0000; + cvt.rzi.u32.f32 %r267, %f570; + cvt.u16.u32 %rs30, %r267; + cvt.u16.u32 %rs31, %r266; + cvt.u16.u32 %rs32, %r265; + mov.u16 %rs33, 255; + st.v4.u8 [%rd90], {%rs32, %rs31, %rs30, %rs33}; + +BB0_105: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx.meta new file mode 100644 index 00000000..cef53767 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapDir.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6df75ae57d123854a92e03aab49710e3 +timeCreated: 1537386825 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx new file mode 100644 index 00000000..1a8c86fc --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx @@ -0,0 +1,2066 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3skyE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3skyE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3skyE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic3skyE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3skyE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<106>; + .reg .b16 %rs<154>; + .reg .f32 %f<897>; + .reg .b32 %r<384>; + .reg .b64 %rd<288>; + + + mov.u64 %rd287, __local_depot0; + cvta.local.u64 %SP, %rd287; + ld.global.u32 %r1, [samples]; + shl.b32 %r2, %r1, 1; + ld.global.v2.u32 {%r94, %r95}, [pixelID]; + cvt.u64.u32 %rd22, %r94; + cvt.u64.u32 %rd23, %r95; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r92, 2; + mov.u32 %r93, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r92, %r93, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r3, [%rd20]; + shr.u32 %r98, %r3, 16; + cvt.u16.u32 %rs1, %r98; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r3; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p4, %rs9, 0; + mov.f32 %f813, 0f00000000; + mov.f32 %f814, %f813; + mov.f32 %f815, %f813; + @%p4 bra BB0_2; + + ld.u8 %rs10, [%rd20+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f215, %rs12; + div.rn.f32 %f216, %f215, 0f437F0000; + fma.rn.f32 %f217, %f216, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f218, %rs10; + div.rn.f32 %f219, %f218, 0f437F0000; + fma.rn.f32 %f220, %f219, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f221, %rs7; + div.rn.f32 %f222, %f221, 0f437F0000; + fma.rn.f32 %f223, %f222, 0f40000000, 0fBF800000; + mul.f32 %f224, %f220, %f220; + fma.rn.f32 %f225, %f217, %f217, %f224; + fma.rn.f32 %f226, %f223, %f223, %f225; + sqrt.rn.f32 %f227, %f226; + rcp.rn.f32 %f228, %f227; + mul.f32 %f813, %f217, %f228; + mul.f32 %f814, %f220, %f228; + mul.f32 %f815, %f223, %f228; + +BB0_2: + ld.global.v2.u32 {%r99, %r100}, [pixelID]; + ld.global.v2.u32 {%r102, %r103}, [tileInfo]; + add.s32 %r4, %r99, %r102; + add.s32 %r5, %r100, %r103; + setp.eq.f32 %p5, %f814, 0f00000000; + setp.eq.f32 %p6, %f813, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f815, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_107; + bra.uni BB0_3; + +BB0_107: + ld.global.u32 %r383, [imageEnabled]; + and.b32 %r292, %r383, 1; + setp.eq.b32 %p98, %r292, 1; + @!%p98 bra BB0_109; + bra.uni BB0_108; + +BB0_108: + cvt.u64.u32 %rd173, %r5; + cvt.u64.u32 %rd172, %r4; + mov.u64 %rd176, image; + cvta.global.u64 %rd171, %rd176; + mov.u64 %rd175, 0; + // inline asm + call (%rd170), _rt_buffer_get_64, (%rd171, %r92, %r93, %rd172, %rd173, %rd175, %rd175); + // inline asm + mov.u16 %rs88, 0; + st.v4.u8 [%rd170], {%rs88, %rs88, %rs88, %rs88}; + ld.global.u32 %r383, [imageEnabled]; + +BB0_109: + cvt.u64.u32 %rd18, %r4; + cvt.u64.u32 %rd19, %r5; + and.b32 %r295, %r383, 4; + setp.eq.s32 %p99, %r295, 0; + @%p99 bra BB0_113; + + ld.global.u32 %r296, [additive]; + setp.eq.s32 %p100, %r296, 0; + @%p100 bra BB0_112; + + mov.u64 %rd189, image_HDR; + cvta.global.u64 %rd178, %rd189; + mov.u32 %r300, 8; + mov.u64 %rd188, 0; + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd178, %r92, %r300, %rd18, %rd19, %rd188, %rd188); + // inline asm + ld.v4.u16 {%rs95, %rs96, %rs97, %rs98}, [%rd177]; + // inline asm + { cvt.f32.f16 %f722, %rs95;} + + // inline asm + // inline asm + { cvt.f32.f16 %f723, %rs96;} + + // inline asm + // inline asm + { cvt.f32.f16 %f724, %rs97;} + + // inline asm + // inline asm + call (%rd183), _rt_buffer_get_64, (%rd178, %r92, %r300, %rd18, %rd19, %rd188, %rd188); + // inline asm + add.f32 %f725, %f722, 0f00000000; + add.f32 %f726, %f723, 0f00000000; + add.f32 %f727, %f724, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs94, %f727;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs93, %f726;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs92, %f725;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd183], {%rs92, %rs93, %rs94, %rs99}; + bra.uni BB0_113; + +BB0_3: + ld.global.v2.u32 {%r111, %r112}, [pixelID]; + cvt.u64.u32 %rd29, %r111; + cvt.u64.u32 %rd30, %r112; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r108, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r92, %r108, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f244, [%rd27+8]; + ld.f32 %f245, [%rd27+4]; + ld.f32 %f246, [%rd27]; + mul.f32 %f247, %f246, 0f3456BF95; + mul.f32 %f248, %f245, 0f3456BF95; + mul.f32 %f249, %f244, 0f3456BF95; + abs.f32 %f250, %f813; + div.rn.f32 %f251, %f247, %f250; + abs.f32 %f252, %f814; + div.rn.f32 %f253, %f248, %f252; + abs.f32 %f254, %f815; + div.rn.f32 %f255, %f249, %f254; + abs.f32 %f256, %f251; + abs.f32 %f257, %f253; + abs.f32 %f258, %f255; + mov.f32 %f259, 0f38D1B717; + max.f32 %f260, %f256, %f259; + max.f32 %f261, %f257, %f259; + max.f32 %f262, %f258, %f259; + fma.rn.f32 %f7, %f813, %f260, %f246; + fma.rn.f32 %f8, %f814, %f261, %f245; + fma.rn.f32 %f9, %f815, %f262, %f244; + ld.global.u32 %r6, [hemispherical]; + setp.gt.f32 %p10, %f250, %f254; + neg.f32 %f263, %f814; + selp.f32 %f264, %f263, 0f00000000, %p10; + neg.f32 %f265, %f815; + selp.f32 %f266, %f813, %f265, %p10; + selp.f32 %f267, 0f00000000, %f814, %p10; + mul.f32 %f268, %f266, %f266; + fma.rn.f32 %f269, %f264, %f264, %f268; + fma.rn.f32 %f270, %f267, %f267, %f269; + sqrt.rn.f32 %f271, %f270; + rcp.rn.f32 %f272, %f271; + mul.f32 %f10, %f264, %f272; + mul.f32 %f11, %f266, %f272; + mul.f32 %f12, %f267, %f272; + ld.global.v2.u32 {%r115, %r116}, [pixelID]; + cvt.u64.u32 %rd35, %r115; + cvt.u64.u32 %rd36, %r116; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r92, %r93, %rd35, %rd36, %rd25, %rd25); + // inline asm + mov.f32 %f872, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f871, %f872; + mov.f32 %f870, %f872; + mov.f32 %f869, %f872; + mov.f32 %f868, %f872; + mov.f32 %f867, %f872; + mov.f32 %f866, %f872; + mov.f32 %f865, %f872; + mov.f32 %f864, %f872; + mov.f32 %f863, %f872; + mov.f32 %f862, %f872; + mov.f32 %f861, %f872; + mov.f32 %f860, %f872; + mov.f32 %f859, %f872; + mov.f32 %f858, %f872; + @%p11 bra BB0_56; + + cvt.rn.f32.s32 %f288, %r2; + rcp.rn.f32 %f13, %f288; + ld.u32 %r361, [%rd33]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f289, %f813, %f11; + mul.f32 %f290, %f814, %f10; + sub.f32 %f17, %f290, %f289; + mul.f32 %f291, %f815, %f10; + mul.f32 %f292, %f813, %f12; + sub.f32 %f18, %f292, %f291; + mul.f32 %f293, %f814, %f12; + mul.f32 %f294, %f815, %f11; + sub.f32 %f19, %f294, %f293; + mov.f32 %f872, 0f00000000; + mov.u32 %r119, 0; + abs.f32 %f376, %f15; + abs.f32 %f377, %f14; + max.f32 %f378, %f377, %f376; + abs.f32 %f379, %f16; + max.f32 %f380, %f378, %f379; + mov.u32 %r358, %r119; + mov.f32 %f871, %f872; + mov.f32 %f870, %f872; + mov.f32 %f869, %f872; + mov.f32 %f868, %f872; + mov.f32 %f867, %f872; + mov.f32 %f866, %f872; + mov.f32 %f865, %f872; + mov.f32 %f864, %f872; + mov.f32 %f863, %f872; + mov.f32 %f862, %f872; + mov.f32 %f861, %f872; + mov.f32 %f860, %f872; + mov.f32 %f859, %f872; + mov.f32 %f858, %f872; + +BB0_5: + mov.u32 %r360, %r119; + +BB0_6: + mov.u32 %r11, %r361; + cvt.rn.f32.s32 %f763, %r358; + mad.lo.s32 %r121, %r11, 1664525, 1013904223; + and.b32 %r122, %r121, 16777215; + cvt.rn.f32.u32 %f295, %r122; + fma.rn.f32 %f296, %f295, 0f33800000, %f763; + mul.f32 %f297, %f13, %f296; + mad.lo.s32 %r12, %r121, 1664525, 1013904223; + and.b32 %r123, %r12, 16777215; + cvt.rn.f32.u32 %f298, %r123; + cvt.rn.f32.s32 %f299, %r360; + fma.rn.f32 %f300, %f298, 0f33800000, %f299; + mul.f32 %f301, %f13, %f300; + fma.rn.f32 %f51, %f297, 0fC0000000, 0f3F800000; + mul.f32 %f302, %f51, %f51; + mov.f32 %f303, 0f3F800000; + sub.f32 %f304, %f303, %f302; + mov.f32 %f305, 0f00000000; + max.f32 %f306, %f305, %f304; + sqrt.rn.f32 %f52, %f306; + mul.f32 %f852, %f301, 0f40C90FDB; + abs.f32 %f54, %f852; + setp.neu.f32 %p12, %f54, 0f7F800000; + mov.f32 %f846, %f852; + @%p12 bra BB0_8; + + mul.rn.f32 %f846, %f852, %f305; + +BB0_8: + mul.f32 %f308, %f846, 0f3F22F983; + cvt.rni.s32.f32 %r371, %f308; + cvt.rn.f32.s32 %f309, %r371; + neg.f32 %f310, %f309; + mov.f32 %f311, 0f3FC90FDA; + fma.rn.f32 %f312, %f310, %f311, %f846; + mov.f32 %f313, 0f33A22168; + fma.rn.f32 %f314, %f310, %f313, %f312; + mov.f32 %f315, 0f27C234C5; + fma.rn.f32 %f847, %f310, %f315, %f314; + abs.f32 %f316, %f846; + setp.leu.f32 %p13, %f316, 0f47CE4780; + @%p13 bra BB0_19; + + add.u64 %rd42, %SP, 12; + cvta.to.local.u64 %rd283, %rd42; + mov.u32 %r362, 0; + mov.u64 %rd284, 0; + mov.u32 %r363, %r362; + +BB0_10: + .pragma "nounroll"; + mov.b32 %r333, %f846; + shl.b32 %r332, %r333, 8; + or.b32 %r331, %r332, -2147483648; + add.u64 %rd278, %SP, 12; + cvta.to.local.u64 %rd277, %rd278; + shl.b64 %rd43, %rd284, 2; + mov.u64 %rd44, __cudart_i2opi_f; + add.s64 %rd45, %rd44, %rd43; + ld.const.u32 %r129, [%rd45]; + // inline asm + { + mad.lo.cc.u32 %r127, %r129, %r331, %r363; + madc.hi.u32 %r363, %r129, %r331, 0; + } + // inline asm + st.local.u32 [%rd283], %r127; + add.s32 %r362, %r362, 1; + cvt.s64.s32 %rd284, %r362; + mul.wide.s32 %rd48, %r362, 4; + add.s64 %rd283, %rd277, %rd48; + setp.ne.s32 %p14, %r362, 6; + @%p14 bra BB0_10; + + mov.b32 %r335, %f846; + shr.u32 %r334, %r335, 23; + add.u64 %rd279, %SP, 12; + and.b32 %r132, %r334, 255; + add.s32 %r133, %r132, -128; + shr.u32 %r134, %r133, 5; + cvta.to.local.u64 %rd50, %rd279; + st.local.u32 [%rd50+24], %r363; + mov.u32 %r135, 6; + sub.s32 %r136, %r135, %r134; + mul.wide.s32 %rd51, %r136, 4; + add.s64 %rd8, %rd50, %rd51; + ld.local.u32 %r364, [%rd8]; + ld.local.u32 %r365, [%rd8+-4]; + and.b32 %r24, %r334, 31; + setp.eq.s32 %p15, %r24, 0; + @%p15 bra BB0_13; + + mov.u32 %r137, 32; + sub.s32 %r138, %r137, %r24; + shr.u32 %r139, %r365, %r138; + shl.b32 %r140, %r364, %r24; + add.s32 %r364, %r139, %r140; + ld.local.u32 %r141, [%rd8+-8]; + shr.u32 %r142, %r141, %r138; + shl.b32 %r143, %r365, %r24; + add.s32 %r365, %r142, %r143; + +BB0_13: + mov.b32 %r343, %f846; + and.b32 %r367, %r343, -2147483648; + shr.u32 %r144, %r365, 30; + shl.b32 %r145, %r364, 2; + add.s32 %r366, %r144, %r145; + shl.b32 %r30, %r365, 2; + shr.u32 %r146, %r366, 31; + shr.u32 %r147, %r364, 30; + add.s32 %r31, %r146, %r147; + setp.eq.s32 %p16, %r146, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r368, %r30; + bra.uni BB0_16; + +BB0_15: + mov.b32 %r345, %f846; + and.b32 %r344, %r345, -2147483648; + not.b32 %r148, %r366; + neg.s32 %r368, %r30; + setp.eq.s32 %p17, %r30, 0; + selp.u32 %r149, 1, 0, %p17; + add.s32 %r366, %r149, %r148; + xor.b32 %r367, %r344, -2147483648; + +BB0_16: + mov.b32 %r347, %f846; + and.b32 %r346, %r347, -2147483648; + clz.b32 %r370, %r366; + setp.eq.s32 %p18, %r370, 0; + shl.b32 %r150, %r366, %r370; + mov.u32 %r151, 32; + sub.s32 %r152, %r151, %r370; + shr.u32 %r153, %r368, %r152; + add.s32 %r154, %r153, %r150; + selp.b32 %r39, %r366, %r154, %p18; + mov.u32 %r155, -921707870; + mul.hi.u32 %r369, %r39, %r155; + setp.eq.s32 %p19, %r346, 0; + neg.s32 %r156, %r31; + selp.b32 %r371, %r31, %r156, %p19; + setp.lt.s32 %p20, %r369, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r157, %r39, -921707870; + shr.u32 %r158, %r157, 31; + shl.b32 %r159, %r369, 1; + add.s32 %r369, %r158, %r159; + add.s32 %r370, %r370, 1; + +BB0_18: + mov.u32 %r160, 126; + sub.s32 %r161, %r160, %r370; + shl.b32 %r162, %r161, 23; + add.s32 %r163, %r369, 1; + shr.u32 %r164, %r163, 7; + add.s32 %r165, %r164, 1; + shr.u32 %r166, %r165, 1; + add.s32 %r167, %r166, %r162; + or.b32 %r168, %r167, %r367; + mov.b32 %f847, %r168; + +BB0_19: + add.s32 %r47, %r371, 1; + and.b32 %r48, %r47, 1; + setp.eq.s32 %p21, %r48, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mul.rn.f32 %f773, %f847, %f847; + mov.f32 %f319, 0f3C08839E; + mov.f32 %f320, 0fB94CA1F9; + fma.rn.f32 %f848, %f320, %f773, %f319; + bra.uni BB0_22; + +BB0_20: + mul.rn.f32 %f769, %f847, %f847; + mov.f32 %f317, 0fBAB6061A; + mov.f32 %f318, 0f37CCF5CE; + fma.rn.f32 %f848, %f318, %f769, %f317; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mul.rn.f32 %f772, %f847, %f847; + mov.f32 %f768, 0f00000000; + mov.f32 %f324, 0fBE2AAAA3; + fma.rn.f32 %f325, %f848, %f772, %f324; + fma.rn.f32 %f849, %f325, %f772, %f768; + bra.uni BB0_25; + +BB0_23: + mul.rn.f32 %f770, %f847, %f847; + mov.f32 %f321, 0f3D2AAAA5; + fma.rn.f32 %f322, %f848, %f770, %f321; + mov.f32 %f323, 0fBF000000; + fma.rn.f32 %f849, %f322, %f770, %f323; + +BB0_25: + fma.rn.f32 %f850, %f849, %f847, %f847; + @%p21 bra BB0_27; + + mul.rn.f32 %f771, %f847, %f847; + mov.f32 %f757, 0f3F800000; + fma.rn.f32 %f850, %f849, %f771, %f757; + +BB0_27: + add.s32 %r348, %r371, 1; + and.b32 %r169, %r348, 2; + setp.eq.s32 %p24, %r169, 0; + @%p24 bra BB0_29; + + mov.f32 %f764, 0f00000000; + mov.f32 %f329, 0fBF800000; + fma.rn.f32 %f850, %f850, %f329, %f764; + +BB0_29: + abs.f32 %f758, %f852; + setp.neu.f32 %p105, %f758, 0f7F800000; + @%p105 bra BB0_31; + + mov.f32 %f767, 0f00000000; + mul.rn.f32 %f852, %f852, %f767; + +BB0_31: + mov.f32 %f761, 0f27C234C5; + mov.f32 %f760, 0f33A22168; + mov.f32 %f759, 0f3FC90FDA; + mul.f32 %f331, %f852, 0f3F22F983; + cvt.rni.s32.f32 %r381, %f331; + cvt.rn.f32.s32 %f332, %r381; + neg.f32 %f333, %f332; + fma.rn.f32 %f335, %f333, %f759, %f852; + fma.rn.f32 %f337, %f333, %f760, %f335; + fma.rn.f32 %f853, %f333, %f761, %f337; + abs.f32 %f339, %f852; + setp.leu.f32 %p26, %f339, 0f47CE4780; + @%p26 bra BB0_42; + + add.u64 %rd53, %SP, 12; + cvta.to.local.u64 %rd285, %rd53; + mov.b32 %r50, %f852; + shl.b32 %r172, %r50, 8; + or.b32 %r52, %r172, -2147483648; + mov.u32 %r372, 0; + mov.u64 %rd286, %rd25; + mov.u32 %r373, %r372; + +BB0_33: + .pragma "nounroll"; + add.u64 %rd281, %SP, 12; + cvta.to.local.u64 %rd280, %rd281; + shl.b64 %rd54, %rd286, 2; + mov.u64 %rd55, __cudart_i2opi_f; + add.s64 %rd56, %rd55, %rd54; + ld.const.u32 %r175, [%rd56]; + // inline asm + { + mad.lo.cc.u32 %r173, %r175, %r52, %r373; + madc.hi.u32 %r373, %r175, %r52, 0; + } + // inline asm + st.local.u32 [%rd285], %r173; + add.s32 %r372, %r372, 1; + cvt.s64.s32 %rd286, %r372; + mul.wide.s32 %rd57, %r372, 4; + add.s64 %rd285, %rd280, %rd57; + setp.ne.s32 %p27, %r372, 6; + @%p27 bra BB0_33; + + mov.b32 %r350, %f852; + shr.u32 %r349, %r350, 23; + add.u64 %rd282, %SP, 12; + and.b32 %r178, %r349, 255; + add.s32 %r179, %r178, -128; + shr.u32 %r180, %r179, 5; + cvta.to.local.u64 %rd59, %rd282; + st.local.u32 [%rd59+24], %r373; + mov.u32 %r181, 6; + sub.s32 %r182, %r181, %r180; + mul.wide.s32 %rd60, %r182, 4; + add.s64 %rd15, %rd59, %rd60; + ld.local.u32 %r374, [%rd15]; + ld.local.u32 %r375, [%rd15+-4]; + and.b32 %r60, %r349, 31; + setp.eq.s32 %p28, %r60, 0; + @%p28 bra BB0_36; + + mov.u32 %r183, 32; + sub.s32 %r184, %r183, %r60; + shr.u32 %r185, %r375, %r184; + shl.b32 %r186, %r374, %r60; + add.s32 %r374, %r185, %r186; + ld.local.u32 %r187, [%rd15+-8]; + shr.u32 %r188, %r187, %r184; + shl.b32 %r189, %r375, %r60; + add.s32 %r375, %r188, %r189; + +BB0_36: + mov.b32 %r353, %f852; + and.b32 %r377, %r353, -2147483648; + shr.u32 %r190, %r375, 30; + shl.b32 %r191, %r374, 2; + add.s32 %r376, %r190, %r191; + shl.b32 %r66, %r375, 2; + shr.u32 %r192, %r376, 31; + shr.u32 %r193, %r374, 30; + add.s32 %r67, %r192, %r193; + setp.eq.s32 %p29, %r192, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r378, %r66; + bra.uni BB0_39; + +BB0_38: + mov.b32 %r355, %f852; + and.b32 %r354, %r355, -2147483648; + not.b32 %r194, %r376; + neg.s32 %r378, %r66; + setp.eq.s32 %p30, %r66, 0; + selp.u32 %r195, 1, 0, %p30; + add.s32 %r376, %r195, %r194; + xor.b32 %r377, %r354, -2147483648; + +BB0_39: + mov.b32 %r357, %f852; + and.b32 %r356, %r357, -2147483648; + clz.b32 %r380, %r376; + setp.eq.s32 %p31, %r380, 0; + shl.b32 %r196, %r376, %r380; + mov.u32 %r197, 32; + sub.s32 %r198, %r197, %r380; + shr.u32 %r199, %r378, %r198; + add.s32 %r200, %r199, %r196; + selp.b32 %r75, %r376, %r200, %p31; + mov.u32 %r201, -921707870; + mul.hi.u32 %r379, %r75, %r201; + setp.eq.s32 %p32, %r356, 0; + neg.s32 %r202, %r67; + selp.b32 %r381, %r67, %r202, %p32; + setp.lt.s32 %p33, %r379, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r203, %r75, -921707870; + shr.u32 %r204, %r203, 31; + shl.b32 %r205, %r379, 1; + add.s32 %r379, %r204, %r205; + add.s32 %r380, %r380, 1; + +BB0_41: + mov.u32 %r206, 126; + sub.s32 %r207, %r206, %r380; + shl.b32 %r208, %r207, 23; + add.s32 %r209, %r379, 1; + shr.u32 %r210, %r209, 7; + add.s32 %r211, %r210, 1; + shr.u32 %r212, %r211, 1; + add.s32 %r213, %r212, %r208; + or.b32 %r214, %r213, %r377; + mov.b32 %f853, %r214; + +BB0_42: + and.b32 %r83, %r381, 1; + setp.eq.s32 %p34, %r83, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mul.rn.f32 %f778, %f853, %f853; + mov.f32 %f342, 0f3C08839E; + mov.f32 %f343, 0fB94CA1F9; + fma.rn.f32 %f854, %f343, %f778, %f342; + bra.uni BB0_45; + +BB0_43: + mul.rn.f32 %f774, %f853, %f853; + mov.f32 %f340, 0fBAB6061A; + mov.f32 %f341, 0f37CCF5CE; + fma.rn.f32 %f854, %f341, %f774, %f340; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mul.rn.f32 %f777, %f853, %f853; + mov.f32 %f766, 0f00000000; + mov.f32 %f347, 0fBE2AAAA3; + fma.rn.f32 %f348, %f854, %f777, %f347; + fma.rn.f32 %f855, %f348, %f777, %f766; + bra.uni BB0_48; + +BB0_46: + mul.rn.f32 %f775, %f853, %f853; + mov.f32 %f344, 0f3D2AAAA5; + fma.rn.f32 %f345, %f854, %f775, %f344; + mov.f32 %f346, 0fBF000000; + fma.rn.f32 %f855, %f345, %f775, %f346; + +BB0_48: + fma.rn.f32 %f856, %f855, %f853, %f853; + @%p34 bra BB0_50; + + mul.rn.f32 %f776, %f853, %f853; + mov.f32 %f762, 0f3F800000; + fma.rn.f32 %f856, %f855, %f776, %f762; + +BB0_50: + and.b32 %r215, %r381, 2; + setp.eq.s32 %p37, %r215, 0; + @%p37 bra BB0_52; + + mov.f32 %f765, 0f00000000; + mov.f32 %f352, 0fBF800000; + fma.rn.f32 %f856, %f856, %f352, %f765; + +BB0_52: + mul.f32 %f353, %f52, %f850; + mul.f32 %f354, %f52, %f856; + mul.f32 %f355, %f10, %f354; + mul.f32 %f356, %f11, %f354; + mul.f32 %f357, %f12, %f354; + fma.rn.f32 %f358, %f19, %f353, %f355; + fma.rn.f32 %f359, %f18, %f353, %f356; + fma.rn.f32 %f360, %f17, %f353, %f357; + fma.rn.f32 %f89, %f813, %f51, %f358; + fma.rn.f32 %f90, %f814, %f51, %f359; + fma.rn.f32 %f91, %f815, %f51, %f360; + setp.gt.f32 %p38, %f90, 0f00000000; + setp.eq.s32 %p39, %r6, 0; + or.pred %p40, %p39, %p38; + @!%p40 bra BB0_54; + bra.uni BB0_53; + +BB0_53: + add.u64 %rd61, %SP, 0; + cvta.to.local.u64 %rd62, %rd61; + max.f32 %f374, %f380, %f259; + ld.global.u32 %r216, [sky]; + neg.f32 %f367, %f89; + neg.f32 %f366, %f90; + neg.f32 %f365, %f91; + mov.u32 %r217, 6; + mov.u32 %r218, 0; + // inline asm + call (%f361, %f362, %f363, %f364), _rt_texture_get_base_id, (%r216, %r217, %f365, %f366, %f367, %r218); + // inline asm + st.local.f32 [%rd62+8], %f363; + st.local.f32 [%rd62+4], %f362; + st.local.f32 [%rd62], %f361; + ld.global.u32 %r219, [root]; + mov.u32 %r220, 1; + mov.f32 %f375, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r219, %f7, %f8, %f9, %f89, %f90, %f91, %r220, %f374, %f375, %rd61, %r108); + // inline asm + mul.f32 %f382, %f814, %f90; + fma.rn.f32 %f383, %f813, %f89, %f382; + fma.rn.f32 %f384, %f815, %f91, %f383; + ld.local.f32 %f385, [%rd62+8]; + ld.local.f32 %f386, [%rd62+4]; + ld.local.f32 %f387, [%rd62]; + fma.rn.f32 %f864, %f89, %f387, %f864; + fma.rn.f32 %f865, %f89, %f386, %f865; + fma.rn.f32 %f866, %f89, %f385, %f866; + fma.rn.f32 %f861, %f90, %f387, %f861; + fma.rn.f32 %f862, %f90, %f386, %f862; + fma.rn.f32 %f863, %f90, %f385, %f863; + fma.rn.f32 %f858, %f91, %f387, %f858; + fma.rn.f32 %f859, %f91, %f386, %f859; + fma.rn.f32 %f860, %f91, %f385, %f860; + add.f32 %f867, %f867, %f387; + add.f32 %f868, %f868, %f386; + add.f32 %f869, %f869, %f385; + cvt.sat.f32.f32 %f388, %f384; + fma.rn.f32 %f870, %f388, %f387, %f870; + fma.rn.f32 %f871, %f388, %f386, %f871; + fma.rn.f32 %f872, %f388, %f385, %f872; + +BB0_54: + mad.lo.s32 %r338, %r11, 1664525, 1013904223; + mad.lo.s32 %r361, %r338, 1664525, 1013904223; + add.s32 %r360, %r360, 1; + setp.lt.s32 %p41, %r360, %r2; + @%p41 bra BB0_6; + + mad.lo.s32 %r340, %r11, 1664525, 1013904223; + mad.lo.s32 %r361, %r340, 1664525, 1013904223; + add.s32 %r358, %r358, 1; + setp.lt.s32 %p42, %r358, %r2; + @%p42 bra BB0_5; + +BB0_56: + mul.lo.s32 %r222, %r2, %r2; + cvt.rn.f32.s32 %f389, %r222; + rcp.rn.f32 %f390, %f389; + mul.f32 %f391, %f870, %f390; + mul.f32 %f392, %f871, %f390; + mul.f32 %f393, %f872, %f390; + mul.f32 %f137, %f867, %f390; + mul.f32 %f138, %f868, %f390; + mul.f32 %f139, %f869, %f390; + mul.f32 %f140, %f864, %f390; + mul.f32 %f141, %f865, %f390; + mul.f32 %f142, %f866, %f390; + mul.f32 %f143, %f861, %f390; + mul.f32 %f144, %f862, %f390; + mul.f32 %f145, %f863, %f390; + mul.f32 %f146, %f858, %f390; + mul.f32 %f147, %f859, %f390; + mul.f32 %f148, %f860, %f390; + fma.rn.f32 %f394, %f870, %f390, %f391; + fma.rn.f32 %f395, %f871, %f390, %f392; + fma.rn.f32 %f396, %f872, %f390, %f393; + ld.global.f32 %f397, [skyColor]; + mul.f32 %f149, %f397, %f394; + ld.global.f32 %f398, [skyColor+4]; + mul.f32 %f150, %f395, %f398; + ld.global.f32 %f399, [skyColor+8]; + mul.f32 %f151, %f396, %f399; + ld.global.u32 %r382, [imageEnabled]; + and.b32 %r223, %r382, 1; + setp.eq.b32 %p43, %r223, 1; + @!%p43 bra BB0_91; + bra.uni BB0_57; + +BB0_57: + abs.f32 %f153, %f149; + setp.lt.f32 %p44, %f153, 0f00800000; + mul.f32 %f405, %f153, 0f4B800000; + selp.f32 %f406, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f407, %f405, %f153, %p44; + mov.b32 %r224, %f407; + and.b32 %r225, %r224, 8388607; + or.b32 %r226, %r225, 1065353216; + mov.b32 %f408, %r226; + shr.u32 %r227, %r224, 23; + cvt.rn.f32.u32 %f409, %r227; + add.f32 %f410, %f406, %f409; + setp.gt.f32 %p45, %f408, 0f3FB504F3; + mul.f32 %f411, %f408, 0f3F000000; + add.f32 %f412, %f410, 0f3F800000; + selp.f32 %f413, %f411, %f408, %p45; + selp.f32 %f414, %f412, %f410, %p45; + add.f32 %f415, %f413, 0fBF800000; + add.f32 %f401, %f413, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f400,%f401; + // inline asm + add.f32 %f416, %f415, %f415; + mul.f32 %f417, %f400, %f416; + mul.f32 %f418, %f417, %f417; + mov.f32 %f419, 0f3C4CAF63; + mov.f32 %f420, 0f3B18F0FE; + fma.rn.f32 %f421, %f420, %f418, %f419; + mov.f32 %f422, 0f3DAAAABD; + fma.rn.f32 %f423, %f421, %f418, %f422; + mul.rn.f32 %f424, %f423, %f418; + mul.rn.f32 %f425, %f424, %f417; + sub.f32 %f426, %f415, %f417; + neg.f32 %f427, %f417; + add.f32 %f428, %f426, %f426; + fma.rn.f32 %f429, %f427, %f415, %f428; + mul.rn.f32 %f430, %f400, %f429; + add.f32 %f431, %f425, %f417; + sub.f32 %f432, %f417, %f431; + add.f32 %f433, %f425, %f432; + add.f32 %f434, %f430, %f433; + add.f32 %f435, %f431, %f434; + sub.f32 %f436, %f431, %f435; + add.f32 %f437, %f434, %f436; + mov.f32 %f438, 0f3F317200; + mul.rn.f32 %f439, %f414, %f438; + mov.f32 %f440, 0f35BFBE8E; + mul.rn.f32 %f441, %f414, %f440; + add.f32 %f442, %f439, %f435; + sub.f32 %f443, %f439, %f442; + add.f32 %f444, %f435, %f443; + add.f32 %f445, %f437, %f444; + add.f32 %f446, %f441, %f445; + add.f32 %f447, %f442, %f446; + sub.f32 %f448, %f442, %f447; + add.f32 %f449, %f446, %f448; + mov.f32 %f450, 0f3EE66666; + mul.rn.f32 %f451, %f450, %f447; + neg.f32 %f452, %f451; + fma.rn.f32 %f453, %f450, %f447, %f452; + fma.rn.f32 %f454, %f450, %f449, %f453; + mov.f32 %f455, 0f00000000; + fma.rn.f32 %f456, %f455, %f447, %f454; + add.rn.f32 %f457, %f451, %f456; + neg.f32 %f458, %f457; + add.rn.f32 %f459, %f451, %f458; + add.rn.f32 %f460, %f459, %f456; + mov.b32 %r228, %f457; + setp.eq.s32 %p46, %r228, 1118925336; + add.s32 %r229, %r228, -1; + mov.b32 %f461, %r229; + add.f32 %f462, %f460, 0f37000000; + selp.f32 %f463, %f461, %f457, %p46; + selp.f32 %f154, %f462, %f460, %p46; + mul.f32 %f464, %f463, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f465, %f464; + mov.f32 %f466, 0fBF317200; + fma.rn.f32 %f467, %f465, %f466, %f463; + mov.f32 %f468, 0fB5BFBE8E; + fma.rn.f32 %f469, %f465, %f468, %f467; + mul.f32 %f470, %f469, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f471, %f470; + add.f32 %f472, %f465, 0f00000000; + ex2.approx.f32 %f473, %f472; + mul.f32 %f474, %f471, %f473; + setp.lt.f32 %p47, %f463, 0fC2D20000; + selp.f32 %f475, 0f00000000, %f474, %p47; + setp.gt.f32 %p48, %f463, 0f42D20000; + selp.f32 %f888, 0f7F800000, %f475, %p48; + setp.eq.f32 %p49, %f888, 0f7F800000; + @%p49 bra BB0_59; + + fma.rn.f32 %f888, %f888, %f154, %f888; + +BB0_59: + mov.f32 %f782, 0f3E666666; + cvt.rzi.f32.f32 %f781, %f782; + fma.rn.f32 %f780, %f781, 0fC0000000, 0f3EE66666; + abs.f32 %f779, %f780; + setp.lt.f32 %p50, %f149, 0f00000000; + setp.eq.f32 %p51, %f779, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r230, %f888; + xor.b32 %r231, %r230, -2147483648; + mov.b32 %f476, %r231; + selp.f32 %f890, %f476, %f888, %p1; + setp.eq.f32 %p52, %f149, 0f00000000; + @%p52 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f479, %f149, %f149; + selp.f32 %f890, %f479, 0f00000000, %p51; + bra.uni BB0_63; + +BB0_112: + mov.u64 %rd196, image_HDR; + cvta.global.u64 %rd191, %rd196; + mov.u32 %r302, 8; + mov.u64 %rd195, 0; + // inline asm + call (%rd190), _rt_buffer_get_64, (%rd191, %r92, %r302, %rd18, %rd19, %rd195, %rd195); + // inline asm + mov.f32 %f728, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs100, %f728;} + + // inline asm + mov.u16 %rs101, 0; + st.v4.u16 [%rd190], {%rs100, %rs100, %rs100, %rs101}; + +BB0_113: + ld.global.u32 %r303, [additive]; + setp.eq.s32 %p101, %r303, 0; + @%p101 bra BB0_115; + + mov.u64 %rd209, image_RNM0; + cvta.global.u64 %rd198, %rd209; + mov.u32 %r307, 8; + mov.u64 %rd208, 0; + // inline asm + call (%rd197), _rt_buffer_get_64, (%rd198, %r92, %r307, %rd18, %rd19, %rd208, %rd208); + // inline asm + ld.v4.u16 {%rs108, %rs109, %rs110, %rs111}, [%rd197]; + // inline asm + { cvt.f32.f16 %f729, %rs108;} + + // inline asm + // inline asm + { cvt.f32.f16 %f730, %rs109;} + + // inline asm + // inline asm + { cvt.f32.f16 %f731, %rs110;} + + // inline asm + // inline asm + call (%rd203), _rt_buffer_get_64, (%rd198, %r92, %r307, %rd18, %rd19, %rd208, %rd208); + // inline asm + add.f32 %f732, %f729, 0f00000000; + add.f32 %f733, %f730, 0f00000000; + add.f32 %f734, %f731, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs107, %f734;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs106, %f733;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs105, %f732;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd203], {%rs105, %rs106, %rs107, %rs112}; + bra.uni BB0_116; + +BB0_115: + mov.u64 %rd216, image_RNM0; + cvta.global.u64 %rd211, %rd216; + mov.u32 %r309, 8; + mov.u64 %rd215, 0; + // inline asm + call (%rd210), _rt_buffer_get_64, (%rd211, %r92, %r309, %rd18, %rd19, %rd215, %rd215); + // inline asm + mov.f32 %f735, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs113, %f735;} + + // inline asm + mov.u16 %rs114, 0; + st.v4.u16 [%rd210], {%rs113, %rs113, %rs113, %rs114}; + +BB0_116: + ld.global.u32 %r310, [additive]; + setp.eq.s32 %p102, %r310, 0; + @%p102 bra BB0_118; + + mov.u64 %rd229, image_RNM1; + cvta.global.u64 %rd218, %rd229; + mov.u32 %r314, 8; + mov.u64 %rd228, 0; + // inline asm + call (%rd217), _rt_buffer_get_64, (%rd218, %r92, %r314, %rd18, %rd19, %rd228, %rd228); + // inline asm + ld.v4.u16 {%rs121, %rs122, %rs123, %rs124}, [%rd217]; + // inline asm + { cvt.f32.f16 %f736, %rs121;} + + // inline asm + // inline asm + { cvt.f32.f16 %f737, %rs122;} + + // inline asm + // inline asm + { cvt.f32.f16 %f738, %rs123;} + + // inline asm + // inline asm + call (%rd223), _rt_buffer_get_64, (%rd218, %r92, %r314, %rd18, %rd19, %rd228, %rd228); + // inline asm + add.f32 %f739, %f736, 0f00000000; + add.f32 %f740, %f737, 0f00000000; + add.f32 %f741, %f738, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs120, %f741;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs119, %f740;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs118, %f739;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd223], {%rs118, %rs119, %rs120, %rs125}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd236, image_RNM1; + cvta.global.u64 %rd231, %rd236; + mov.u32 %r316, 8; + mov.u64 %rd235, 0; + // inline asm + call (%rd230), _rt_buffer_get_64, (%rd231, %r92, %r316, %rd18, %rd19, %rd235, %rd235); + // inline asm + mov.f32 %f742, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs126, %f742;} + + // inline asm + mov.u16 %rs127, 0; + st.v4.u16 [%rd230], {%rs126, %rs126, %rs126, %rs127}; + +BB0_119: + ld.global.u32 %r317, [additive]; + setp.eq.s32 %p103, %r317, 0; + @%p103 bra BB0_121; + + mov.u64 %rd249, image_RNM2; + cvta.global.u64 %rd238, %rd249; + mov.u32 %r321, 8; + mov.u64 %rd248, 0; + // inline asm + call (%rd237), _rt_buffer_get_64, (%rd238, %r92, %r321, %rd18, %rd19, %rd248, %rd248); + // inline asm + ld.v4.u16 {%rs134, %rs135, %rs136, %rs137}, [%rd237]; + // inline asm + { cvt.f32.f16 %f743, %rs134;} + + // inline asm + // inline asm + { cvt.f32.f16 %f744, %rs135;} + + // inline asm + // inline asm + { cvt.f32.f16 %f745, %rs136;} + + // inline asm + // inline asm + call (%rd243), _rt_buffer_get_64, (%rd238, %r92, %r321, %rd18, %rd19, %rd248, %rd248); + // inline asm + add.f32 %f746, %f743, 0f00000000; + add.f32 %f747, %f744, 0f00000000; + add.f32 %f748, %f745, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs133, %f748;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs132, %f747;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs131, %f746;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd243], {%rs131, %rs132, %rs133, %rs138}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd256, image_RNM2; + cvta.global.u64 %rd251, %rd256; + mov.u32 %r323, 8; + mov.u64 %rd255, 0; + // inline asm + call (%rd250), _rt_buffer_get_64, (%rd251, %r92, %r323, %rd18, %rd19, %rd255, %rd255); + // inline asm + mov.f32 %f749, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs139, %f749;} + + // inline asm + mov.u16 %rs140, 0; + st.v4.u16 [%rd250], {%rs139, %rs139, %rs139, %rs140}; + +BB0_122: + ld.global.u32 %r324, [additive]; + setp.eq.s32 %p104, %r324, 0; + @%p104 bra BB0_124; + + mov.u64 %rd269, image_RNM3; + cvta.global.u64 %rd258, %rd269; + mov.u32 %r328, 8; + mov.u64 %rd268, 0; + // inline asm + call (%rd257), _rt_buffer_get_64, (%rd258, %r92, %r328, %rd18, %rd19, %rd268, %rd268); + // inline asm + ld.v4.u16 {%rs147, %rs148, %rs149, %rs150}, [%rd257]; + // inline asm + { cvt.f32.f16 %f750, %rs147;} + + // inline asm + // inline asm + { cvt.f32.f16 %f751, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f752, %rs149;} + + // inline asm + // inline asm + call (%rd263), _rt_buffer_get_64, (%rd258, %r92, %r328, %rd18, %rd19, %rd268, %rd268); + // inline asm + add.f32 %f753, %f750, 0f00000000; + add.f32 %f754, %f751, 0f00000000; + add.f32 %f755, %f752, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs146, %f755;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f754;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs144, %f753;} + + // inline asm + mov.u16 %rs151, 0; + st.v4.u16 [%rd263], {%rs144, %rs145, %rs146, %rs151}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd276, image_RNM3; + cvta.global.u64 %rd271, %rd276; + mov.u32 %r330, 8; + mov.u64 %rd275, 0; + // inline asm + call (%rd270), _rt_buffer_get_64, (%rd271, %r92, %r330, %rd18, %rd19, %rd275, %rd275); + // inline asm + mov.f32 %f756, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f756;} + + // inline asm + mov.u16 %rs153, 0; + st.v4.u16 [%rd270], {%rs152, %rs152, %rs152, %rs153}; + bra.uni BB0_125; + +BB0_60: + setp.geu.f32 %p53, %f149, 0f00000000; + @%p53 bra BB0_63; + + mov.f32 %f806, 0f3EE66666; + cvt.rzi.f32.f32 %f478, %f806; + setp.neu.f32 %p54, %f478, 0f3EE66666; + selp.f32 %f890, 0f7FFFFFFF, %f890, %p54; + +BB0_63: + abs.f32 %f783, %f149; + add.f32 %f480, %f783, 0f3EE66666; + mov.b32 %r232, %f480; + setp.lt.s32 %p56, %r232, 2139095040; + @%p56 bra BB0_68; + + abs.f32 %f804, %f149; + setp.gtu.f32 %p57, %f804, 0f7F800000; + @%p57 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f890, %f149, 0f3EE66666; + bra.uni BB0_68; + +BB0_65: + abs.f32 %f805, %f149; + setp.neu.f32 %p58, %f805, 0f7F800000; + @%p58 bra BB0_68; + + selp.f32 %f890, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + mov.f32 %f792, 0fB5BFBE8E; + mov.f32 %f791, 0fBF317200; + mov.f32 %f790, 0f00000000; + mov.f32 %f789, 0f35BFBE8E; + mov.f32 %f788, 0f3F317200; + mov.f32 %f787, 0f3DAAAABD; + mov.f32 %f786, 0f3C4CAF63; + mov.f32 %f785, 0f3B18F0FE; + mov.f32 %f784, 0f3EE66666; + setp.eq.f32 %p59, %f149, 0f3F800000; + selp.f32 %f165, 0f3F800000, %f890, %p59; + abs.f32 %f166, %f150; + setp.lt.f32 %p60, %f166, 0f00800000; + mul.f32 %f483, %f166, 0f4B800000; + selp.f32 %f484, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f485, %f483, %f166, %p60; + mov.b32 %r233, %f485; + and.b32 %r234, %r233, 8388607; + or.b32 %r235, %r234, 1065353216; + mov.b32 %f486, %r235; + shr.u32 %r236, %r233, 23; + cvt.rn.f32.u32 %f487, %r236; + add.f32 %f488, %f484, %f487; + setp.gt.f32 %p61, %f486, 0f3FB504F3; + mul.f32 %f489, %f486, 0f3F000000; + add.f32 %f490, %f488, 0f3F800000; + selp.f32 %f491, %f489, %f486, %p61; + selp.f32 %f492, %f490, %f488, %p61; + add.f32 %f493, %f491, 0fBF800000; + add.f32 %f482, %f491, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f481,%f482; + // inline asm + add.f32 %f494, %f493, %f493; + mul.f32 %f495, %f481, %f494; + mul.f32 %f496, %f495, %f495; + fma.rn.f32 %f499, %f785, %f496, %f786; + fma.rn.f32 %f501, %f499, %f496, %f787; + mul.rn.f32 %f502, %f501, %f496; + mul.rn.f32 %f503, %f502, %f495; + sub.f32 %f504, %f493, %f495; + neg.f32 %f505, %f495; + add.f32 %f506, %f504, %f504; + fma.rn.f32 %f507, %f505, %f493, %f506; + mul.rn.f32 %f508, %f481, %f507; + add.f32 %f509, %f503, %f495; + sub.f32 %f510, %f495, %f509; + add.f32 %f511, %f503, %f510; + add.f32 %f512, %f508, %f511; + add.f32 %f513, %f509, %f512; + sub.f32 %f514, %f509, %f513; + add.f32 %f515, %f512, %f514; + mul.rn.f32 %f517, %f492, %f788; + mul.rn.f32 %f519, %f492, %f789; + add.f32 %f520, %f517, %f513; + sub.f32 %f521, %f517, %f520; + add.f32 %f522, %f513, %f521; + add.f32 %f523, %f515, %f522; + add.f32 %f524, %f519, %f523; + add.f32 %f525, %f520, %f524; + sub.f32 %f526, %f520, %f525; + add.f32 %f527, %f524, %f526; + mul.rn.f32 %f529, %f784, %f525; + neg.f32 %f530, %f529; + fma.rn.f32 %f531, %f784, %f525, %f530; + fma.rn.f32 %f532, %f784, %f527, %f531; + fma.rn.f32 %f534, %f790, %f525, %f532; + add.rn.f32 %f535, %f529, %f534; + neg.f32 %f536, %f535; + add.rn.f32 %f537, %f529, %f536; + add.rn.f32 %f538, %f537, %f534; + mov.b32 %r237, %f535; + setp.eq.s32 %p62, %r237, 1118925336; + add.s32 %r238, %r237, -1; + mov.b32 %f539, %r238; + add.f32 %f540, %f538, 0f37000000; + selp.f32 %f541, %f539, %f535, %p62; + selp.f32 %f167, %f540, %f538, %p62; + mul.f32 %f542, %f541, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f543, %f542; + fma.rn.f32 %f545, %f543, %f791, %f541; + fma.rn.f32 %f547, %f543, %f792, %f545; + mul.f32 %f548, %f547, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f549, %f548; + add.f32 %f550, %f543, 0f00000000; + ex2.approx.f32 %f551, %f550; + mul.f32 %f552, %f549, %f551; + setp.lt.f32 %p63, %f541, 0fC2D20000; + selp.f32 %f553, 0f00000000, %f552, %p63; + setp.gt.f32 %p64, %f541, 0f42D20000; + selp.f32 %f891, 0f7F800000, %f553, %p64; + setp.eq.f32 %p65, %f891, 0f7F800000; + @%p65 bra BB0_70; + + fma.rn.f32 %f891, %f891, %f167, %f891; + +BB0_70: + setp.lt.f32 %p66, %f150, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r239, %f891; + xor.b32 %r240, %r239, -2147483648; + mov.b32 %f554, %r240; + selp.f32 %f893, %f554, %f891, %p2; + setp.eq.f32 %p68, %f150, 0f00000000; + @%p68 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f557, %f150, %f150; + selp.f32 %f893, %f557, 0f00000000, %p51; + bra.uni BB0_74; + +BB0_71: + setp.geu.f32 %p69, %f150, 0f00000000; + @%p69 bra BB0_74; + + mov.f32 %f803, 0f3EE66666; + cvt.rzi.f32.f32 %f556, %f803; + setp.neu.f32 %p70, %f556, 0f3EE66666; + selp.f32 %f893, 0f7FFFFFFF, %f893, %p70; + +BB0_74: + abs.f32 %f807, %f150; + add.f32 %f558, %f807, 0f3EE66666; + mov.b32 %r241, %f558; + setp.lt.s32 %p72, %r241, 2139095040; + @%p72 bra BB0_79; + + abs.f32 %f808, %f150; + setp.gtu.f32 %p73, %f808, 0f7F800000; + @%p73 bra BB0_78; + bra.uni BB0_76; + +BB0_78: + add.f32 %f893, %f150, 0f3EE66666; + bra.uni BB0_79; + +BB0_76: + abs.f32 %f809, %f150; + setp.neu.f32 %p74, %f809, 0f7F800000; + @%p74 bra BB0_79; + + selp.f32 %f893, 0fFF800000, 0f7F800000, %p2; + +BB0_79: + mov.f32 %f801, 0fB5BFBE8E; + mov.f32 %f800, 0fBF317200; + mov.f32 %f799, 0f00000000; + mov.f32 %f798, 0f35BFBE8E; + mov.f32 %f797, 0f3F317200; + mov.f32 %f796, 0f3DAAAABD; + mov.f32 %f795, 0f3C4CAF63; + mov.f32 %f794, 0f3B18F0FE; + mov.f32 %f793, 0f3EE66666; + setp.eq.f32 %p75, %f150, 0f3F800000; + selp.f32 %f178, 0f3F800000, %f893, %p75; + abs.f32 %f179, %f151; + setp.lt.f32 %p76, %f179, 0f00800000; + mul.f32 %f561, %f179, 0f4B800000; + selp.f32 %f562, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f563, %f561, %f179, %p76; + mov.b32 %r242, %f563; + and.b32 %r243, %r242, 8388607; + or.b32 %r244, %r243, 1065353216; + mov.b32 %f564, %r244; + shr.u32 %r245, %r242, 23; + cvt.rn.f32.u32 %f565, %r245; + add.f32 %f566, %f562, %f565; + setp.gt.f32 %p77, %f564, 0f3FB504F3; + mul.f32 %f567, %f564, 0f3F000000; + add.f32 %f568, %f566, 0f3F800000; + selp.f32 %f569, %f567, %f564, %p77; + selp.f32 %f570, %f568, %f566, %p77; + add.f32 %f571, %f569, 0fBF800000; + add.f32 %f560, %f569, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f559,%f560; + // inline asm + add.f32 %f572, %f571, %f571; + mul.f32 %f573, %f559, %f572; + mul.f32 %f574, %f573, %f573; + fma.rn.f32 %f577, %f794, %f574, %f795; + fma.rn.f32 %f579, %f577, %f574, %f796; + mul.rn.f32 %f580, %f579, %f574; + mul.rn.f32 %f581, %f580, %f573; + sub.f32 %f582, %f571, %f573; + neg.f32 %f583, %f573; + add.f32 %f584, %f582, %f582; + fma.rn.f32 %f585, %f583, %f571, %f584; + mul.rn.f32 %f586, %f559, %f585; + add.f32 %f587, %f581, %f573; + sub.f32 %f588, %f573, %f587; + add.f32 %f589, %f581, %f588; + add.f32 %f590, %f586, %f589; + add.f32 %f591, %f587, %f590; + sub.f32 %f592, %f587, %f591; + add.f32 %f593, %f590, %f592; + mul.rn.f32 %f595, %f570, %f797; + mul.rn.f32 %f597, %f570, %f798; + add.f32 %f598, %f595, %f591; + sub.f32 %f599, %f595, %f598; + add.f32 %f600, %f591, %f599; + add.f32 %f601, %f593, %f600; + add.f32 %f602, %f597, %f601; + add.f32 %f603, %f598, %f602; + sub.f32 %f604, %f598, %f603; + add.f32 %f605, %f602, %f604; + mul.rn.f32 %f607, %f793, %f603; + neg.f32 %f608, %f607; + fma.rn.f32 %f609, %f793, %f603, %f608; + fma.rn.f32 %f610, %f793, %f605, %f609; + fma.rn.f32 %f612, %f799, %f603, %f610; + add.rn.f32 %f613, %f607, %f612; + neg.f32 %f614, %f613; + add.rn.f32 %f615, %f607, %f614; + add.rn.f32 %f616, %f615, %f612; + mov.b32 %r246, %f613; + setp.eq.s32 %p78, %r246, 1118925336; + add.s32 %r247, %r246, -1; + mov.b32 %f617, %r247; + add.f32 %f618, %f616, 0f37000000; + selp.f32 %f619, %f617, %f613, %p78; + selp.f32 %f180, %f618, %f616, %p78; + mul.f32 %f620, %f619, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f621, %f620; + fma.rn.f32 %f623, %f621, %f800, %f619; + fma.rn.f32 %f625, %f621, %f801, %f623; + mul.f32 %f626, %f625, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f627, %f626; + add.f32 %f628, %f621, 0f00000000; + ex2.approx.f32 %f629, %f628; + mul.f32 %f630, %f627, %f629; + setp.lt.f32 %p79, %f619, 0fC2D20000; + selp.f32 %f631, 0f00000000, %f630, %p79; + setp.gt.f32 %p80, %f619, 0f42D20000; + selp.f32 %f894, 0f7F800000, %f631, %p80; + setp.eq.f32 %p81, %f894, 0f7F800000; + @%p81 bra BB0_81; + + fma.rn.f32 %f894, %f894, %f180, %f894; + +BB0_81: + setp.lt.f32 %p82, %f151, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r248, %f894; + xor.b32 %r249, %r248, -2147483648; + mov.b32 %f632, %r249; + selp.f32 %f896, %f632, %f894, %p3; + setp.eq.f32 %p84, %f151, 0f00000000; + @%p84 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f635, %f151, %f151; + selp.f32 %f896, %f635, 0f00000000, %p51; + bra.uni BB0_85; + +BB0_82: + setp.geu.f32 %p85, %f151, 0f00000000; + @%p85 bra BB0_85; + + mov.f32 %f802, 0f3EE66666; + cvt.rzi.f32.f32 %f634, %f802; + setp.neu.f32 %p86, %f634, 0f3EE66666; + selp.f32 %f896, 0f7FFFFFFF, %f896, %p86; + +BB0_85: + abs.f32 %f810, %f151; + add.f32 %f636, %f810, 0f3EE66666; + mov.b32 %r250, %f636; + setp.lt.s32 %p88, %r250, 2139095040; + @%p88 bra BB0_90; + + abs.f32 %f811, %f151; + setp.gtu.f32 %p89, %f811, 0f7F800000; + @%p89 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f896, %f151, 0f3EE66666; + bra.uni BB0_90; + +BB0_87: + abs.f32 %f812, %f151; + setp.neu.f32 %p90, %f812, 0f7F800000; + @%p90 bra BB0_90; + + selp.f32 %f896, 0fFF800000, 0f7F800000, %p3; + +BB0_90: + mov.u32 %r341, 4; + setp.eq.f32 %p91, %f151, 0f3F800000; + selp.f32 %f637, 0f3F800000, %f896, %p91; + cvt.u64.u32 %rd66, %r5; + cvt.u64.u32 %rd65, %r4; + mov.u64 %rd69, image; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r92, %r341, %rd65, %rd66, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f638, %f637; + mul.f32 %f639, %f638, 0f437FFD71; + cvt.rzi.u32.f32 %r253, %f639; + cvt.sat.f32.f32 %f640, %f178; + mul.f32 %f641, %f640, 0f437FFD71; + cvt.rzi.u32.f32 %r254, %f641; + cvt.sat.f32.f32 %f642, %f165; + mul.f32 %f643, %f642, 0f437FFD71; + cvt.rzi.u32.f32 %r255, %f643; + cvt.u16.u32 %rs14, %r253; + cvt.u16.u32 %rs15, %r255; + cvt.u16.u32 %rs16, %r254; + mov.u16 %rs17, 255; + st.v4.u8 [%rd63], {%rs14, %rs16, %rs15, %rs17}; + ld.global.u32 %r382, [imageEnabled]; + +BB0_91: + cvt.u64.u32 %rd16, %r4; + cvt.u64.u32 %rd17, %r5; + and.b32 %r256, %r382, 4; + setp.eq.s32 %p92, %r256, 0; + @%p92 bra BB0_95; + + ld.global.u32 %r257, [additive]; + setp.eq.s32 %p93, %r257, 0; + mov.f32 %f644, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs18, %f644;} + + // inline asm + @%p93 bra BB0_94; + + mov.u64 %rd82, image_HDR; + cvta.global.u64 %rd71, %rd82; + mov.u32 %r261, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r92, %r261, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs25, %rs26, %rs27, %rs28}, [%rd70]; + // inline asm + { cvt.f32.f16 %f645, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f646, %rs26;} + + // inline asm + // inline asm + { cvt.f32.f16 %f647, %rs27;} + + // inline asm + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd71, %r92, %r261, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f648, %f149, %f645; + add.f32 %f649, %f150, %f646; + add.f32 %f650, %f151, %f647; + // inline asm + { cvt.rn.f16.f32 %rs24, %f650;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs23, %f649;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f648;} + + // inline asm + st.v4.u16 [%rd76], {%rs22, %rs23, %rs24, %rs18}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd89, image_HDR; + cvta.global.u64 %rd84, %rd89; + mov.u32 %r263, 8; + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd84, %r92, %r263, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f151;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f150;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f149;} + + // inline asm + st.v4.u16 [%rd83], {%rs29, %rs30, %rs31, %rs18}; + +BB0_95: + ld.global.f32 %f655, [skyColor]; + mul.f32 %f656, %f137, %f655; + ld.global.f32 %f657, [skyColor+4]; + mul.f32 %f658, %f138, %f657; + ld.global.f32 %f659, [skyColor+8]; + mul.f32 %f660, %f139, %f659; + mul.f32 %f191, %f140, %f655; + mul.f32 %f192, %f141, %f657; + mul.f32 %f193, %f142, %f659; + mul.f32 %f194, %f143, %f655; + mul.f32 %f195, %f144, %f657; + mul.f32 %f196, %f145, %f659; + mul.f32 %f197, %f146, %f655; + mul.f32 %f198, %f147, %f657; + mul.f32 %f199, %f148, %f659; + mul.f32 %f200, %f656, 0f3F000000; + mul.f32 %f201, %f658, 0f3F000000; + mul.f32 %f202, %f660, 0f3F000000; + ld.global.u32 %r264, [additive]; + setp.eq.s32 %p94, %r264, 0; + mov.f32 %f654, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs32, %f654;} + + // inline asm + @%p94 bra BB0_97; + + mov.u64 %rd102, image_RNM0; + cvta.global.u64 %rd91, %rd102; + mov.u32 %r268, 8; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r92, %r268, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs39, %rs40, %rs41, %rs42}, [%rd90]; + // inline asm + { cvt.f32.f16 %f661, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f662, %rs40;} + + // inline asm + // inline asm + { cvt.f32.f16 %f663, %rs41;} + + // inline asm + // inline asm + call (%rd96), _rt_buffer_get_64, (%rd91, %r92, %r268, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f664, %f200, %f661; + add.f32 %f665, %f201, %f662; + add.f32 %f666, %f202, %f663; + // inline asm + { cvt.rn.f16.f32 %rs38, %f666;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f665;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f664;} + + // inline asm + st.v4.u16 [%rd96], {%rs36, %rs37, %rs38, %rs32}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd109, image_RNM0; + cvta.global.u64 %rd104, %rd109; + mov.u32 %r270, 8; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd104, %r92, %r270, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f202;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f201;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f200;} + + // inline asm + st.v4.u16 [%rd103], {%rs43, %rs44, %rs45, %rs32}; + +BB0_98: + mov.f32 %f671, 0f34000000; + max.f32 %f672, %f200, %f671; + mul.f32 %f673, %f191, 0f3F000000; + div.rn.f32 %f674, %f673, %f672; + max.f32 %f675, %f201, %f671; + mul.f32 %f676, %f192, 0f3F000000; + div.rn.f32 %f677, %f676, %f675; + max.f32 %f678, %f202, %f671; + mul.f32 %f679, %f193, 0f3F000000; + div.rn.f32 %f680, %f679, %f678; + fma.rn.f32 %f203, %f674, 0f3F000000, 0f3F000000; + fma.rn.f32 %f204, %f677, 0f3F000000, 0f3F000000; + fma.rn.f32 %f205, %f680, 0f3F000000, 0f3F000000; + mul.f32 %f681, %f194, 0f3F000000; + div.rn.f32 %f682, %f681, %f672; + mul.f32 %f683, %f195, 0f3F000000; + div.rn.f32 %f684, %f683, %f675; + mul.f32 %f685, %f196, 0f3F000000; + div.rn.f32 %f686, %f685, %f678; + fma.rn.f32 %f206, %f682, 0f3F000000, 0f3F000000; + fma.rn.f32 %f207, %f684, 0f3F000000, 0f3F000000; + fma.rn.f32 %f208, %f686, 0f3F000000, 0f3F000000; + mul.f32 %f687, %f197, 0f3F000000; + div.rn.f32 %f688, %f687, %f672; + mul.f32 %f689, %f198, 0f3F000000; + div.rn.f32 %f690, %f689, %f675; + mul.f32 %f691, %f199, 0f3F000000; + div.rn.f32 %f692, %f691, %f678; + fma.rn.f32 %f209, %f688, 0f3F000000, 0f3F000000; + fma.rn.f32 %f210, %f690, 0f3F000000, 0f3F000000; + fma.rn.f32 %f211, %f692, 0f3F000000, 0f3F000000; + ld.global.u32 %r271, [additive]; + setp.eq.s32 %p95, %r271, 0; + // inline asm + { cvt.rn.f16.f32 %rs46, %f654;} + + // inline asm + @%p95 bra BB0_100; + + mov.u64 %rd122, image_RNM1; + cvta.global.u64 %rd111, %rd122; + mov.u32 %r275, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r92, %r275, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd110]; + // inline asm + { cvt.f32.f16 %f693, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f694, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f695, %rs55;} + + // inline asm + // inline asm + call (%rd116), _rt_buffer_get_64, (%rd111, %r92, %r275, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f696, %f203, %f693; + add.f32 %f697, %f204, %f694; + add.f32 %f698, %f205, %f695; + // inline asm + { cvt.rn.f16.f32 %rs52, %f698;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f697;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f696;} + + // inline asm + st.v4.u16 [%rd116], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd129, image_RNM1; + cvta.global.u64 %rd124, %rd129; + mov.u32 %r277, 8; + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd124, %r92, %r277, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f205;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f204;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f203;} + + // inline asm + st.v4.u16 [%rd123], {%rs57, %rs58, %rs59, %rs46}; + +BB0_101: + ld.global.u32 %r278, [additive]; + setp.eq.s32 %p96, %r278, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f654;} + + // inline asm + @%p96 bra BB0_103; + + mov.u64 %rd142, image_RNM2; + cvta.global.u64 %rd131, %rd142; + mov.u32 %r282, 8; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r92, %r282, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd130]; + // inline asm + { cvt.f32.f16 %f703, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f704, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f705, %rs69;} + + // inline asm + // inline asm + call (%rd136), _rt_buffer_get_64, (%rd131, %r92, %r282, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f706, %f206, %f703; + add.f32 %f707, %f207, %f704; + add.f32 %f708, %f208, %f705; + // inline asm + { cvt.rn.f16.f32 %rs66, %f708;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f707;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f706;} + + // inline asm + st.v4.u16 [%rd136], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_104; + +BB0_103: + mov.u64 %rd149, image_RNM2; + cvta.global.u64 %rd144, %rd149; + mov.u32 %r284, 8; + // inline asm + call (%rd143), _rt_buffer_get_64, (%rd144, %r92, %r284, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f208;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f207;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f206;} + + // inline asm + st.v4.u16 [%rd143], {%rs71, %rs72, %rs73, %rs60}; + +BB0_104: + ld.global.u32 %r285, [additive]; + setp.eq.s32 %p97, %r285, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f654;} + + // inline asm + @%p97 bra BB0_106; + + mov.u64 %rd162, image_RNM3; + cvta.global.u64 %rd151, %rd162; + mov.u32 %r289, 8; + // inline asm + call (%rd150), _rt_buffer_get_64, (%rd151, %r92, %r289, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd150]; + // inline asm + { cvt.f32.f16 %f713, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f714, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f715, %rs83;} + + // inline asm + // inline asm + call (%rd156), _rt_buffer_get_64, (%rd151, %r92, %r289, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f716, %f209, %f713; + add.f32 %f717, %f210, %f714; + add.f32 %f718, %f211, %f715; + // inline asm + { cvt.rn.f16.f32 %rs80, %f718;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f717;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f716;} + + // inline asm + st.v4.u16 [%rd156], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_125; + +BB0_106: + mov.u64 %rd169, image_RNM3; + cvta.global.u64 %rd164, %rd169; + mov.u32 %r291, 8; + // inline asm + call (%rd163), _rt_buffer_get_64, (%rd164, %r92, %r291, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f211;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f210;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f209;} + + // inline asm + st.v4.u16 [%rd163], {%rs85, %rs86, %rs87, %rs74}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx.meta new file mode 100644 index 00000000..a9cd1def --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 12c45c7814259524db3a4c6698a42ccb +timeCreated: 1551473474 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx new file mode 100644 index 00000000..a27a4b63 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx @@ -0,0 +1,2141 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3skyE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3skyE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3skyE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic3skyE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3skyE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<113>; + .reg .b16 %rs<153>; + .reg .f32 %f<995>; + .reg .b32 %r<406>; + .reg .b64 %rd<285>; + + + mov.u64 %rd284, __local_depot0; + cvta.local.u64 %SP, %rd284; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r99, %r100}, [pixelID]; + cvt.u64.u32 %rd24, %r99; + cvt.u64.u32 %rd25, %r100; + mov.u64 %rd28, uvnormal; + cvta.global.u64 %rd23, %rd28; + mov.u32 %r97, 2; + mov.u32 %r98, 4; + mov.u64 %rd27, 0; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r97, %r98, %rd24, %rd25, %rd27, %rd27); + // inline asm + ld.u32 %r2, [%rd22]; + shr.u32 %r103, %r2, 16; + cvt.u16.u32 %rs1, %r103; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r2; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p4, %rs8, 0; + mov.f32 %f914, 0f00000000; + mov.f32 %f915, %f914; + mov.f32 %f916, %f914; + @%p4 bra BB0_2; + + ld.u8 %rs9, [%rd22+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f215, %rs11; + div.rn.f32 %f216, %f215, 0f437F0000; + fma.rn.f32 %f217, %f216, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f218, %rs9; + div.rn.f32 %f219, %f218, 0f437F0000; + fma.rn.f32 %f220, %f219, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f221, %rs6; + div.rn.f32 %f222, %f221, 0f437F0000; + fma.rn.f32 %f223, %f222, 0f40000000, 0fBF800000; + mul.f32 %f224, %f220, %f220; + fma.rn.f32 %f225, %f217, %f217, %f224; + fma.rn.f32 %f226, %f223, %f223, %f225; + sqrt.rn.f32 %f227, %f226; + rcp.rn.f32 %f228, %f227; + mul.f32 %f914, %f217, %f228; + mul.f32 %f915, %f220, %f228; + mul.f32 %f916, %f223, %f228; + +BB0_2: + ld.global.v2.u32 {%r104, %r105}, [pixelID]; + ld.global.v2.u32 {%r107, %r108}, [tileInfo]; + add.s32 %r3, %r104, %r107; + add.s32 %r4, %r105, %r108; + setp.eq.f32 %p5, %f915, 0f00000000; + setp.eq.f32 %p6, %f914, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f916, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_110; + bra.uni BB0_3; + +BB0_110: + ld.global.u32 %r405, [imageEnabled]; + and.b32 %r308, %r405, 1; + setp.eq.b32 %p106, %r308, 1; + @!%p106 bra BB0_112; + bra.uni BB0_111; + +BB0_111: + cvt.u64.u32 %rd176, %r4; + cvt.u64.u32 %rd175, %r3; + mov.u64 %rd179, image; + cvta.global.u64 %rd174, %rd179; + mov.u64 %rd178, 0; + // inline asm + call (%rd173), _rt_buffer_get_64, (%rd174, %r97, %r98, %rd175, %rd176, %rd178, %rd178); + // inline asm + mov.u16 %rs100, 0; + st.v4.u8 [%rd173], {%rs100, %rs100, %rs100, %rs100}; + ld.global.u32 %r405, [imageEnabled]; + +BB0_112: + cvt.u64.u32 %rd20, %r3; + cvt.u64.u32 %rd21, %r4; + and.b32 %r311, %r405, 4; + setp.eq.s32 %p107, %r311, 0; + @%p107 bra BB0_116; + + ld.global.u32 %r312, [additive]; + setp.eq.s32 %p108, %r312, 0; + @%p108 bra BB0_115; + + mov.u64 %rd192, image_HDR; + cvta.global.u64 %rd181, %rd192; + mov.u32 %r316, 8; + mov.u64 %rd191, 0; + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd181, %r97, %r316, %rd20, %rd21, %rd191, %rd191); + // inline asm + ld.v4.u16 {%rs107, %rs108, %rs109, %rs110}, [%rd180]; + // inline asm + { cvt.f32.f16 %f824, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f825, %rs108;} + + // inline asm + // inline asm + { cvt.f32.f16 %f826, %rs109;} + + // inline asm + // inline asm + call (%rd186), _rt_buffer_get_64, (%rd181, %r97, %r316, %rd20, %rd21, %rd191, %rd191); + // inline asm + add.f32 %f827, %f824, 0f00000000; + add.f32 %f828, %f825, 0f00000000; + add.f32 %f829, %f826, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs106, %f829;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs105, %f828;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f827;} + + // inline asm + mov.u16 %rs111, 0; + st.v4.u16 [%rd186], {%rs104, %rs105, %rs106, %rs111}; + bra.uni BB0_116; + +BB0_3: + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd31, %r118; + cvt.u64.u32 %rd32, %r119; + mov.u64 %rd47, uvpos; + cvta.global.u64 %rd30, %rd47; + mov.u32 %r113, 12; + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd30, %r97, %r113, %rd31, %rd32, %rd27, %rd27); + // inline asm + ld.f32 %f232, [%rd29+8]; + ld.f32 %f233, [%rd29+4]; + ld.f32 %f234, [%rd29]; + mul.f32 %f235, %f234, 0f3456BF95; + mul.f32 %f236, %f233, 0f3456BF95; + mul.f32 %f237, %f232, 0f3456BF95; + abs.f32 %f238, %f914; + div.rn.f32 %f239, %f235, %f238; + abs.f32 %f240, %f915; + div.rn.f32 %f241, %f236, %f240; + abs.f32 %f242, %f916; + div.rn.f32 %f243, %f237, %f242; + abs.f32 %f244, %f239; + abs.f32 %f245, %f241; + abs.f32 %f246, %f243; + mov.f32 %f247, 0f38D1B717; + max.f32 %f248, %f244, %f247; + max.f32 %f249, %f245, %f247; + max.f32 %f250, %f246, %f247; + fma.rn.f32 %f7, %f914, %f248, %f234; + fma.rn.f32 %f8, %f915, %f249, %f233; + fma.rn.f32 %f9, %f916, %f250, %f232; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f238, %f242; + neg.f32 %f251, %f915; + selp.f32 %f252, %f251, 0f00000000, %p10; + neg.f32 %f253, %f916; + selp.f32 %f254, %f914, %f253, %p10; + selp.f32 %f255, 0f00000000, %f915, %p10; + mul.f32 %f256, %f254, %f254; + fma.rn.f32 %f257, %f252, %f252, %f256; + fma.rn.f32 %f258, %f255, %f255, %f257; + sqrt.rn.f32 %f259, %f258; + rcp.rn.f32 %f260, %f259; + mul.f32 %f10, %f252, %f260; + mul.f32 %f11, %f254, %f260; + mul.f32 %f12, %f255, %f260; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd37, %r122; + cvt.u64.u32 %rd38, %r123; + mov.u64 %rd48, rnd_seeds; + cvta.global.u64 %rd36, %rd48; + // inline asm + call (%rd35), _rt_buffer_get_64, (%rd36, %r97, %r98, %rd37, %rd38, %rd27, %rd27); + // inline asm + ld.u32 %r383, [%rd35]; + ld.global.v2.u32 {%r126, %r127}, [pixelID]; + cvt.u64.u32 %rd43, %r126; + cvt.u64.u32 %rd44, %r127; + mov.u64 %rd49, uvtangent; + cvta.global.u64 %rd42, %rd49; + // inline asm + call (%rd41), _rt_buffer_get_64, (%rd42, %r97, %r98, %rd43, %rd44, %rd27, %rd27); + // inline asm + ld.u32 %r7, [%rd41]; + shr.u32 %r8, %r7, 16; + cvt.u16.u32 %rs13, %r8; + and.b16 %rs14, %rs13, 255; + cvt.u16.u32 %rs15, %r7; + or.b16 %rs16, %rs15, %rs14; + setp.eq.s16 %p11, %rs16, 0; + mov.f32 %f917, 0f00000000; + mov.f32 %f918, %f917; + mov.f32 %f919, %f917; + @%p11 bra BB0_5; + + ld.u8 %rs17, [%rd41+1]; + and.b16 %rs19, %rs15, 255; + cvt.rn.f32.u16 %f261, %rs19; + div.rn.f32 %f262, %f261, 0f437F0000; + fma.rn.f32 %f263, %f262, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f264, %rs17; + div.rn.f32 %f265, %f264, 0f437F0000; + fma.rn.f32 %f266, %f265, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f267, %rs14; + div.rn.f32 %f268, %f267, 0f437F0000; + fma.rn.f32 %f269, %f268, 0f40000000, 0fBF800000; + mul.f32 %f270, %f266, %f266; + fma.rn.f32 %f271, %f263, %f263, %f270; + fma.rn.f32 %f272, %f269, %f269, %f271; + sqrt.rn.f32 %f273, %f272; + rcp.rn.f32 %f274, %f273; + mul.f32 %f917, %f263, %f274; + mul.f32 %f918, %f266, %f274; + mul.f32 %f919, %f269, %f274; + +BB0_5: + mov.f32 %f920, 0f00000000; + mov.u32 %r377, 4; + mov.u64 %rd276, 0; + mov.u32 %r376, 2; + mul.f32 %f278, %f916, %f918; + mul.f32 %f279, %f915, %f919; + sub.f32 %f280, %f279, %f278; + mul.f32 %f281, %f914, %f919; + mul.f32 %f282, %f916, %f917; + sub.f32 %f283, %f282, %f281; + mul.f32 %f284, %f915, %f917; + mul.f32 %f285, %f914, %f918; + sub.f32 %f286, %f285, %f284; + setp.lt.u32 %p12, %r7, 16777216; + selp.f32 %f287, 0fBF800000, 0f3F800000, %p12; + mul.f32 %f288, %f280, %f287; + mul.f32 %f289, %f283, %f287; + mul.f32 %f290, %f286, %f287; + mul.f32 %f291, %f288, 0f00000000; + mul.f32 %f292, %f289, 0f00000000; + mul.f32 %f293, %f290, 0f00000000; + fma.rn.f32 %f294, %f917, 0f3F5105EC, %f291; + fma.rn.f32 %f295, %f918, 0f3F5105EC, %f292; + fma.rn.f32 %f296, %f919, 0f3F5105EC, %f293; + mul.f32 %f19, %f914, 0f3F13CD3A; + add.f32 %f20, %f19, %f294; + mul.f32 %f21, %f915, 0f3F13CD3A; + add.f32 %f22, %f21, %f295; + mul.f32 %f23, %f916, 0f3F13CD3A; + add.f32 %f24, %f23, %f296; + ld.global.v2.u32 {%r132, %r133}, [pixelID]; + cvt.u64.u32 %rd52, %r132; + cvt.u64.u32 %rd53, %r133; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd42, %r376, %r377, %rd52, %rd53, %rd276, %rd276); + // inline asm + ld.u32 %r9, [%rd50]; + shr.u32 %r10, %r9, 16; + cvt.u16.u32 %rs22, %r10; + and.b16 %rs23, %rs22, 255; + cvt.u16.u32 %rs24, %r9; + or.b16 %rs25, %rs24, %rs23; + setp.eq.s16 %p13, %rs25, 0; + mov.f32 %f921, %f920; + mov.f32 %f922, %f920; + @%p13 bra BB0_7; + + ld.u8 %rs26, [%rd50+1]; + and.b16 %rs28, %rs24, 255; + cvt.rn.f32.u16 %f297, %rs28; + div.rn.f32 %f298, %f297, 0f437F0000; + fma.rn.f32 %f299, %f298, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f300, %rs26; + div.rn.f32 %f301, %f300, 0f437F0000; + fma.rn.f32 %f302, %f301, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f303, %rs23; + div.rn.f32 %f304, %f303, 0f437F0000; + fma.rn.f32 %f305, %f304, 0f40000000, 0fBF800000; + mul.f32 %f306, %f302, %f302; + fma.rn.f32 %f307, %f299, %f299, %f306; + fma.rn.f32 %f308, %f305, %f305, %f307; + sqrt.rn.f32 %f309, %f308; + rcp.rn.f32 %f310, %f309; + mul.f32 %f920, %f299, %f310; + mul.f32 %f921, %f302, %f310; + mul.f32 %f922, %f305, %f310; + +BB0_7: + mul.f32 %f910, %f915, 0f3F13CD3A; + mul.f32 %f909, %f914, 0f3F13CD3A; + mov.u64 %rd279, uvtangent; + cvta.global.u64 %rd278, %rd279; + mov.f32 %f923, 0f00000000; + mov.u32 %r379, 4; + mov.u64 %rd277, 0; + mov.u32 %r378, 2; + mul.f32 %f314, %f916, %f921; + mul.f32 %f315, %f915, %f922; + sub.f32 %f316, %f315, %f314; + mul.f32 %f317, %f914, %f922; + mul.f32 %f318, %f916, %f920; + sub.f32 %f319, %f318, %f317; + mul.f32 %f320, %f915, %f920; + mul.f32 %f321, %f914, %f921; + sub.f32 %f322, %f321, %f320; + setp.lt.u32 %p14, %r9, 16777216; + selp.f32 %f323, 0fBF800000, 0f3F800000, %p14; + mul.f32 %f324, %f316, %f323; + mul.f32 %f325, %f319, %f323; + mul.f32 %f326, %f322, %f323; + mul.f32 %f327, %f324, 0f3F3504F3; + mul.f32 %f328, %f325, 0f3F3504F3; + mul.f32 %f329, %f326, 0f3F3504F3; + fma.rn.f32 %f330, %f920, 0fBED105EC, %f327; + fma.rn.f32 %f331, %f921, 0fBED105EC, %f328; + fma.rn.f32 %f332, %f922, 0fBED105EC, %f329; + add.f32 %f31, %f909, %f330; + add.f32 %f32, %f910, %f331; + add.f32 %f33, %f23, %f332; + ld.global.v2.u32 {%r138, %r139}, [pixelID]; + cvt.u64.u32 %rd59, %r138; + cvt.u64.u32 %rd60, %r139; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd278, %r378, %r379, %rd59, %rd60, %rd277, %rd277); + // inline asm + ld.u32 %r11, [%rd57]; + shr.u32 %r12, %r11, 16; + cvt.u16.u32 %rs31, %r12; + and.b16 %rs32, %rs31, 255; + cvt.u16.u32 %rs33, %r11; + or.b16 %rs34, %rs33, %rs32; + setp.eq.s16 %p15, %rs34, 0; + mov.f32 %f924, %f923; + mov.f32 %f925, %f923; + @%p15 bra BB0_9; + + ld.u8 %rs35, [%rd57+1]; + and.b16 %rs37, %rs33, 255; + cvt.rn.f32.u16 %f333, %rs37; + div.rn.f32 %f334, %f333, 0f437F0000; + fma.rn.f32 %f335, %f334, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f336, %rs35; + div.rn.f32 %f337, %f336, 0f437F0000; + fma.rn.f32 %f338, %f337, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f339, %rs32; + div.rn.f32 %f340, %f339, 0f437F0000; + fma.rn.f32 %f341, %f340, 0f40000000, 0fBF800000; + mul.f32 %f342, %f338, %f338; + fma.rn.f32 %f343, %f335, %f335, %f342; + fma.rn.f32 %f344, %f341, %f341, %f343; + sqrt.rn.f32 %f345, %f344; + rcp.rn.f32 %f346, %f345; + mul.f32 %f923, %f335, %f346; + mul.f32 %f924, %f338, %f346; + mul.f32 %f925, %f341, %f346; + +BB0_9: + mul.f32 %f913, %f916, 0f3F13CD3A; + mul.f32 %f912, %f915, 0f3F13CD3A; + mul.f32 %f911, %f914, 0f3F13CD3A; + mov.f32 %f973, 0f00000000; + mul.f32 %f359, %f916, %f924; + mul.f32 %f360, %f915, %f925; + sub.f32 %f361, %f360, %f359; + mul.f32 %f362, %f914, %f925; + mul.f32 %f363, %f916, %f923; + sub.f32 %f364, %f363, %f362; + mul.f32 %f365, %f915, %f923; + mul.f32 %f366, %f914, %f924; + sub.f32 %f367, %f366, %f365; + setp.lt.u32 %p16, %r11, 16777216; + selp.f32 %f368, 0fBF800000, 0f3F800000, %p16; + mul.f32 %f369, %f361, %f368; + mul.f32 %f370, %f364, %f368; + mul.f32 %f371, %f367, %f368; + mul.f32 %f372, %f369, 0fBF3504F3; + mul.f32 %f373, %f370, 0fBF3504F3; + mul.f32 %f374, %f371, 0fBF3504F3; + fma.rn.f32 %f375, %f923, 0fBED105EC, %f372; + fma.rn.f32 %f376, %f924, 0fBED105EC, %f373; + fma.rn.f32 %f377, %f925, 0fBED105EC, %f374; + add.f32 %f40, %f911, %f375; + add.f32 %f41, %f912, %f376; + add.f32 %f42, %f913, %f377; + setp.lt.s32 %p17, %r1, 1; + mov.f32 %f972, %f973; + mov.f32 %f971, %f973; + mov.f32 %f970, %f973; + mov.f32 %f969, %f973; + mov.f32 %f968, %f973; + mov.f32 %f967, %f973; + mov.f32 %f966, %f973; + mov.f32 %f965, %f973; + mov.f32 %f964, %f973; + mov.f32 %f963, %f973; + mov.f32 %f962, %f973; + @%p17 bra BB0_62; + + cvt.rn.f32.s32 %f390, %r1; + rcp.rn.f32 %f43, %f390; + mul.f32 %f44, %f7, 0f3456BF95; + mul.f32 %f45, %f8, 0f3456BF95; + mul.f32 %f46, %f9, 0f3456BF95; + mul.f32 %f391, %f916, %f11; + mul.f32 %f392, %f915, %f12; + sub.f32 %f47, %f391, %f392; + mul.f32 %f393, %f914, %f12; + mul.f32 %f394, %f916, %f10; + sub.f32 %f48, %f393, %f394; + mul.f32 %f395, %f915, %f10; + mul.f32 %f396, %f914, %f11; + sub.f32 %f49, %f395, %f396; + mov.f32 %f973, 0f00000000; + mov.u32 %r142, 0; + abs.f32 %f477, %f45; + abs.f32 %f478, %f44; + max.f32 %f479, %f478, %f477; + abs.f32 %f480, %f46; + max.f32 %f481, %f479, %f480; + mov.u32 %r380, %r142; + mov.f32 %f972, %f973; + mov.f32 %f971, %f973; + mov.f32 %f970, %f973; + mov.f32 %f969, %f973; + mov.f32 %f968, %f973; + mov.f32 %f967, %f973; + mov.f32 %f966, %f973; + mov.f32 %f965, %f973; + mov.f32 %f964, %f973; + mov.f32 %f963, %f973; + mov.f32 %f962, %f973; + +BB0_11: + mov.u32 %r382, %r142; + +BB0_12: + mov.u32 %r16, %r383; + cvt.rn.f32.s32 %f860, %r380; + mad.lo.s32 %r144, %r16, 1664525, 1013904223; + and.b32 %r145, %r144, 16777215; + cvt.rn.f32.u32 %f397, %r145; + fma.rn.f32 %f398, %f397, 0f33800000, %f860; + mul.f32 %f75, %f43, %f398; + mad.lo.s32 %r17, %r144, 1664525, 1013904223; + and.b32 %r146, %r17, 16777215; + cvt.rn.f32.u32 %f399, %r146; + cvt.rn.f32.s32 %f400, %r382; + fma.rn.f32 %f401, %f399, 0f33800000, %f400; + mul.f32 %f402, %f43, %f401; + mul.f32 %f403, %f75, %f75; + mov.f32 %f404, 0f3F800000; + sub.f32 %f405, %f404, %f403; + mov.f32 %f406, 0f00000000; + max.f32 %f407, %f406, %f405; + sqrt.rn.f32 %f76, %f407; + mul.f32 %f956, %f402, 0f40C90FDB; + abs.f32 %f78, %f956; + setp.neu.f32 %p18, %f78, 0f7F800000; + mov.f32 %f950, %f956; + @%p18 bra BB0_14; + + mov.f32 %f861, 0f00000000; + mul.rn.f32 %f950, %f956, %f861; + +BB0_14: + mul.f32 %f409, %f950, 0f3F22F983; + cvt.rni.s32.f32 %r393, %f409; + cvt.rn.f32.s32 %f410, %r393; + neg.f32 %f411, %f410; + mov.f32 %f412, 0f3FC90FDA; + fma.rn.f32 %f413, %f411, %f412, %f950; + mov.f32 %f414, 0f33A22168; + fma.rn.f32 %f415, %f411, %f414, %f413; + mov.f32 %f416, 0f27C234C5; + fma.rn.f32 %f951, %f411, %f416, %f415; + abs.f32 %f417, %f950; + setp.leu.f32 %p19, %f417, 0f47CE4780; + @%p19 bra BB0_25; + + add.u64 %rd65, %SP, 12; + cvta.to.local.u64 %rd280, %rd65; + mov.u32 %r384, 0; + mov.u64 %rd281, 0; + mov.u32 %r385, %r384; + +BB0_16: + .pragma "nounroll"; + mov.b32 %r342, %f950; + shl.b32 %r341, %r342, 8; + or.b32 %r340, %r341, -2147483648; + add.u64 %rd261, %SP, 12; + cvta.to.local.u64 %rd260, %rd261; + shl.b64 %rd66, %rd281, 2; + mov.u64 %rd67, __cudart_i2opi_f; + add.s64 %rd68, %rd67, %rd66; + ld.const.u32 %r152, [%rd68]; + // inline asm + { + mad.lo.cc.u32 %r150, %r152, %r340, %r385; + madc.hi.u32 %r385, %r152, %r340, 0; + } + // inline asm + st.local.u32 [%rd280], %r150; + add.s32 %r384, %r384, 1; + cvt.s64.s32 %rd281, %r384; + mul.wide.s32 %rd71, %r384, 4; + add.s64 %rd280, %rd260, %rd71; + setp.ne.s32 %p20, %r384, 6; + @%p20 bra BB0_16; + + mov.b32 %r344, %f950; + shr.u32 %r343, %r344, 23; + add.u64 %rd262, %SP, 12; + and.b32 %r155, %r343, 255; + add.s32 %r156, %r155, -128; + shr.u32 %r157, %r156, 5; + cvta.to.local.u64 %rd73, %rd262; + st.local.u32 [%rd73+24], %r385; + mov.u32 %r158, 6; + sub.s32 %r159, %r158, %r157; + mul.wide.s32 %rd74, %r159, 4; + add.s64 %rd10, %rd73, %rd74; + ld.local.u32 %r386, [%rd10]; + ld.local.u32 %r387, [%rd10+-4]; + and.b32 %r29, %r343, 31; + setp.eq.s32 %p21, %r29, 0; + @%p21 bra BB0_19; + + mov.u32 %r160, 32; + sub.s32 %r161, %r160, %r29; + shr.u32 %r162, %r387, %r161; + shl.b32 %r163, %r386, %r29; + add.s32 %r386, %r162, %r163; + ld.local.u32 %r164, [%rd10+-8]; + shr.u32 %r165, %r164, %r161; + shl.b32 %r166, %r387, %r29; + add.s32 %r387, %r165, %r166; + +BB0_19: + mov.b32 %r352, %f950; + and.b32 %r389, %r352, -2147483648; + shr.u32 %r167, %r387, 30; + shl.b32 %r168, %r386, 2; + add.s32 %r388, %r167, %r168; + shl.b32 %r35, %r387, 2; + shr.u32 %r169, %r388, 31; + shr.u32 %r170, %r386, 30; + add.s32 %r36, %r169, %r170; + setp.eq.s32 %p22, %r169, 0; + @%p22 bra BB0_20; + bra.uni BB0_21; + +BB0_20: + mov.u32 %r390, %r35; + bra.uni BB0_22; + +BB0_21: + mov.b32 %r354, %f950; + and.b32 %r353, %r354, -2147483648; + not.b32 %r171, %r388; + neg.s32 %r390, %r35; + setp.eq.s32 %p23, %r35, 0; + selp.u32 %r172, 1, 0, %p23; + add.s32 %r388, %r172, %r171; + xor.b32 %r389, %r353, -2147483648; + +BB0_22: + mov.b32 %r356, %f950; + and.b32 %r355, %r356, -2147483648; + clz.b32 %r392, %r388; + setp.eq.s32 %p24, %r392, 0; + shl.b32 %r173, %r388, %r392; + mov.u32 %r174, 32; + sub.s32 %r175, %r174, %r392; + shr.u32 %r176, %r390, %r175; + add.s32 %r177, %r176, %r173; + selp.b32 %r44, %r388, %r177, %p24; + mov.u32 %r178, -921707870; + mul.hi.u32 %r391, %r44, %r178; + setp.eq.s32 %p25, %r355, 0; + neg.s32 %r179, %r36; + selp.b32 %r393, %r36, %r179, %p25; + setp.lt.s32 %p26, %r391, 1; + @%p26 bra BB0_24; + + mul.lo.s32 %r180, %r44, -921707870; + shr.u32 %r181, %r180, 31; + shl.b32 %r182, %r391, 1; + add.s32 %r391, %r181, %r182; + add.s32 %r392, %r392, 1; + +BB0_24: + mov.u32 %r183, 126; + sub.s32 %r184, %r183, %r392; + shl.b32 %r185, %r184, 23; + add.s32 %r186, %r391, 1; + shr.u32 %r187, %r186, 7; + add.s32 %r188, %r187, 1; + shr.u32 %r189, %r188, 1; + add.s32 %r190, %r189, %r185; + or.b32 %r191, %r190, %r389; + mov.b32 %f951, %r191; + +BB0_25: + add.s32 %r52, %r393, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p27, %r53, 0; + @%p27 bra BB0_27; + bra.uni BB0_26; + +BB0_27: + mul.rn.f32 %f869, %f951, %f951; + mov.f32 %f420, 0f3C08839E; + mov.f32 %f421, 0fB94CA1F9; + fma.rn.f32 %f952, %f421, %f869, %f420; + bra.uni BB0_28; + +BB0_26: + mul.rn.f32 %f865, %f951, %f951; + mov.f32 %f418, 0fBAB6061A; + mov.f32 %f419, 0f37CCF5CE; + fma.rn.f32 %f952, %f419, %f865, %f418; + +BB0_28: + @%p27 bra BB0_30; + bra.uni BB0_29; + +BB0_30: + mul.rn.f32 %f868, %f951, %f951; + mov.f32 %f864, 0f00000000; + mov.f32 %f425, 0fBE2AAAA3; + fma.rn.f32 %f426, %f952, %f868, %f425; + fma.rn.f32 %f953, %f426, %f868, %f864; + bra.uni BB0_31; + +BB0_29: + mul.rn.f32 %f866, %f951, %f951; + mov.f32 %f422, 0f3D2AAAA5; + fma.rn.f32 %f423, %f952, %f866, %f422; + mov.f32 %f424, 0fBF000000; + fma.rn.f32 %f953, %f423, %f866, %f424; + +BB0_31: + fma.rn.f32 %f954, %f953, %f951, %f951; + @%p27 bra BB0_33; + + mul.rn.f32 %f867, %f951, %f951; + mov.f32 %f852, 0f3F800000; + fma.rn.f32 %f954, %f953, %f867, %f852; + +BB0_33: + add.s32 %r366, %r393, 1; + and.b32 %r192, %r366, 2; + setp.eq.s32 %p30, %r192, 0; + @%p30 bra BB0_35; + + mov.f32 %f853, 0f00000000; + mov.f32 %f430, 0fBF800000; + fma.rn.f32 %f954, %f954, %f430, %f853; + +BB0_35: + abs.f32 %f854, %f956; + setp.neu.f32 %p112, %f854, 0f7F800000; + @%p112 bra BB0_37; + + mov.f32 %f863, 0f00000000; + mul.rn.f32 %f956, %f956, %f863; + +BB0_37: + mov.f32 %f857, 0f27C234C5; + mov.f32 %f856, 0f33A22168; + mov.f32 %f855, 0f3FC90FDA; + mul.f32 %f432, %f956, 0f3F22F983; + cvt.rni.s32.f32 %r403, %f432; + cvt.rn.f32.s32 %f433, %r403; + neg.f32 %f434, %f433; + fma.rn.f32 %f436, %f434, %f855, %f956; + fma.rn.f32 %f438, %f434, %f856, %f436; + fma.rn.f32 %f957, %f434, %f857, %f438; + abs.f32 %f440, %f956; + setp.leu.f32 %p32, %f440, 0f47CE4780; + @%p32 bra BB0_48; + + mov.u64 %rd283, 0; + add.u64 %rd76, %SP, 12; + cvta.to.local.u64 %rd282, %rd76; + mov.b32 %r55, %f956; + shl.b32 %r195, %r55, 8; + or.b32 %r57, %r195, -2147483648; + mov.u32 %r394, 0; + mov.u32 %r395, %r394; + +BB0_39: + .pragma "nounroll"; + add.u64 %rd264, %SP, 12; + cvta.to.local.u64 %rd263, %rd264; + shl.b64 %rd77, %rd283, 2; + mov.u64 %rd78, __cudart_i2opi_f; + add.s64 %rd79, %rd78, %rd77; + ld.const.u32 %r198, [%rd79]; + // inline asm + { + mad.lo.cc.u32 %r196, %r198, %r57, %r395; + madc.hi.u32 %r395, %r198, %r57, 0; + } + // inline asm + st.local.u32 [%rd282], %r196; + add.s32 %r394, %r394, 1; + cvt.s64.s32 %rd283, %r394; + mul.wide.s32 %rd80, %r394, 4; + add.s64 %rd282, %rd263, %rd80; + setp.ne.s32 %p33, %r394, 6; + @%p33 bra BB0_39; + + mov.b32 %r368, %f956; + shr.u32 %r367, %r368, 23; + add.u64 %rd265, %SP, 12; + and.b32 %r201, %r367, 255; + add.s32 %r202, %r201, -128; + shr.u32 %r203, %r202, 5; + cvta.to.local.u64 %rd82, %rd265; + st.local.u32 [%rd82+24], %r395; + mov.u32 %r204, 6; + sub.s32 %r205, %r204, %r203; + mul.wide.s32 %rd83, %r205, 4; + add.s64 %rd17, %rd82, %rd83; + ld.local.u32 %r396, [%rd17]; + ld.local.u32 %r397, [%rd17+-4]; + and.b32 %r65, %r367, 31; + setp.eq.s32 %p34, %r65, 0; + @%p34 bra BB0_42; + + mov.u32 %r206, 32; + sub.s32 %r207, %r206, %r65; + shr.u32 %r208, %r397, %r207; + shl.b32 %r209, %r396, %r65; + add.s32 %r396, %r208, %r209; + ld.local.u32 %r210, [%rd17+-8]; + shr.u32 %r211, %r210, %r207; + shl.b32 %r212, %r397, %r65; + add.s32 %r397, %r211, %r212; + +BB0_42: + mov.b32 %r371, %f956; + and.b32 %r399, %r371, -2147483648; + shr.u32 %r213, %r397, 30; + shl.b32 %r214, %r396, 2; + add.s32 %r398, %r213, %r214; + shl.b32 %r71, %r397, 2; + shr.u32 %r215, %r398, 31; + shr.u32 %r216, %r396, 30; + add.s32 %r72, %r215, %r216; + setp.eq.s32 %p35, %r215, 0; + @%p35 bra BB0_43; + bra.uni BB0_44; + +BB0_43: + mov.u32 %r400, %r71; + bra.uni BB0_45; + +BB0_44: + mov.b32 %r373, %f956; + and.b32 %r372, %r373, -2147483648; + not.b32 %r217, %r398; + neg.s32 %r400, %r71; + setp.eq.s32 %p36, %r71, 0; + selp.u32 %r218, 1, 0, %p36; + add.s32 %r398, %r218, %r217; + xor.b32 %r399, %r372, -2147483648; + +BB0_45: + mov.b32 %r375, %f956; + and.b32 %r374, %r375, -2147483648; + clz.b32 %r402, %r398; + setp.eq.s32 %p37, %r402, 0; + shl.b32 %r219, %r398, %r402; + mov.u32 %r220, 32; + sub.s32 %r221, %r220, %r402; + shr.u32 %r222, %r400, %r221; + add.s32 %r223, %r222, %r219; + selp.b32 %r80, %r398, %r223, %p37; + mov.u32 %r224, -921707870; + mul.hi.u32 %r401, %r80, %r224; + setp.eq.s32 %p38, %r374, 0; + neg.s32 %r225, %r72; + selp.b32 %r403, %r72, %r225, %p38; + setp.lt.s32 %p39, %r401, 1; + @%p39 bra BB0_47; + + mul.lo.s32 %r226, %r80, -921707870; + shr.u32 %r227, %r226, 31; + shl.b32 %r228, %r401, 1; + add.s32 %r401, %r227, %r228; + add.s32 %r402, %r402, 1; + +BB0_47: + mov.u32 %r229, 126; + sub.s32 %r230, %r229, %r402; + shl.b32 %r231, %r230, 23; + add.s32 %r232, %r401, 1; + shr.u32 %r233, %r232, 7; + add.s32 %r234, %r233, 1; + shr.u32 %r235, %r234, 1; + add.s32 %r236, %r235, %r231; + or.b32 %r237, %r236, %r399; + mov.b32 %f957, %r237; + +BB0_48: + and.b32 %r88, %r403, 1; + setp.eq.s32 %p40, %r88, 0; + @%p40 bra BB0_50; + bra.uni BB0_49; + +BB0_50: + mul.rn.f32 %f874, %f957, %f957; + mov.f32 %f443, 0f3C08839E; + mov.f32 %f444, 0fB94CA1F9; + fma.rn.f32 %f958, %f444, %f874, %f443; + bra.uni BB0_51; + +BB0_49: + mul.rn.f32 %f870, %f957, %f957; + mov.f32 %f441, 0fBAB6061A; + mov.f32 %f442, 0f37CCF5CE; + fma.rn.f32 %f958, %f442, %f870, %f441; + +BB0_51: + @%p40 bra BB0_53; + bra.uni BB0_52; + +BB0_53: + mul.rn.f32 %f873, %f957, %f957; + mov.f32 %f862, 0f00000000; + mov.f32 %f448, 0fBE2AAAA3; + fma.rn.f32 %f449, %f958, %f873, %f448; + fma.rn.f32 %f959, %f449, %f873, %f862; + bra.uni BB0_54; + +BB0_52: + mul.rn.f32 %f871, %f957, %f957; + mov.f32 %f445, 0f3D2AAAA5; + fma.rn.f32 %f446, %f958, %f871, %f445; + mov.f32 %f447, 0fBF000000; + fma.rn.f32 %f959, %f446, %f871, %f447; + +BB0_54: + fma.rn.f32 %f960, %f959, %f957, %f957; + @%p40 bra BB0_56; + + mul.rn.f32 %f872, %f957, %f957; + mov.f32 %f858, 0f3F800000; + fma.rn.f32 %f960, %f959, %f872, %f858; + +BB0_56: + and.b32 %r238, %r403, 2; + setp.eq.s32 %p43, %r238, 0; + @%p43 bra BB0_58; + + mov.f32 %f859, 0f00000000; + mov.f32 %f453, 0fBF800000; + fma.rn.f32 %f960, %f960, %f453, %f859; + +BB0_58: + mul.f32 %f454, %f76, %f954; + mul.f32 %f455, %f76, %f960; + mul.f32 %f456, %f10, %f455; + mul.f32 %f457, %f11, %f455; + mul.f32 %f458, %f12, %f455; + fma.rn.f32 %f459, %f47, %f454, %f456; + fma.rn.f32 %f460, %f48, %f454, %f457; + fma.rn.f32 %f461, %f49, %f454, %f458; + fma.rn.f32 %f113, %f914, %f75, %f459; + fma.rn.f32 %f114, %f915, %f75, %f460; + fma.rn.f32 %f115, %f916, %f75, %f461; + setp.gt.f32 %p44, %f114, 0f00000000; + setp.eq.s32 %p45, %r5, 0; + or.pred %p46, %p45, %p44; + @!%p46 bra BB0_60; + bra.uni BB0_59; + +BB0_59: + add.u64 %rd84, %SP, 0; + cvta.to.local.u64 %rd85, %rd84; + max.f32 %f475, %f481, %f247; + ld.global.u32 %r239, [sky]; + neg.f32 %f468, %f113; + neg.f32 %f467, %f114; + neg.f32 %f466, %f115; + mov.u32 %r240, 6; + mov.u32 %r241, 0; + // inline asm + call (%f462, %f463, %f464, %f465), _rt_texture_get_base_id, (%r239, %r240, %f466, %f467, %f468, %r241); + // inline asm + st.local.f32 [%rd85], %f462; + st.local.f32 [%rd85+4], %f463; + st.local.f32 [%rd85+8], %f464; + ld.global.u32 %r242, [root]; + mov.u32 %r243, 1; + mov.f32 %f476, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r242, %f7, %f8, %f9, %f113, %f114, %f115, %r243, %f475, %f476, %rd84, %r113); + // inline asm + mul.f32 %f483, %f22, %f114; + fma.rn.f32 %f484, %f20, %f113, %f483; + fma.rn.f32 %f485, %f24, %f115, %f484; + cvt.sat.f32.f32 %f486, %f485; + ld.local.f32 %f487, [%rd85]; + ld.local.f32 %f488, [%rd85+4]; + ld.local.f32 %f489, [%rd85+8]; + fma.rn.f32 %f968, %f486, %f487, %f968; + fma.rn.f32 %f969, %f486, %f488, %f969; + fma.rn.f32 %f970, %f486, %f489, %f970; + mul.f32 %f490, %f32, %f114; + fma.rn.f32 %f491, %f31, %f113, %f490; + fma.rn.f32 %f492, %f33, %f115, %f491; + cvt.sat.f32.f32 %f493, %f492; + fma.rn.f32 %f965, %f493, %f487, %f965; + fma.rn.f32 %f966, %f493, %f488, %f966; + fma.rn.f32 %f967, %f493, %f489, %f967; + mul.f32 %f494, %f41, %f114; + fma.rn.f32 %f495, %f40, %f113, %f494; + fma.rn.f32 %f496, %f42, %f115, %f495; + cvt.sat.f32.f32 %f497, %f496; + fma.rn.f32 %f962, %f497, %f487, %f962; + fma.rn.f32 %f963, %f497, %f488, %f963; + fma.rn.f32 %f964, %f497, %f489, %f964; + mul.f32 %f498, %f915, %f114; + fma.rn.f32 %f499, %f914, %f113, %f498; + fma.rn.f32 %f500, %f916, %f115, %f499; + cvt.sat.f32.f32 %f501, %f500; + fma.rn.f32 %f971, %f501, %f487, %f971; + fma.rn.f32 %f972, %f501, %f488, %f972; + fma.rn.f32 %f973, %f501, %f489, %f973; + +BB0_60: + mad.lo.s32 %r347, %r16, 1664525, 1013904223; + mad.lo.s32 %r383, %r347, 1664525, 1013904223; + add.s32 %r382, %r382, 1; + setp.lt.s32 %p47, %r382, %r1; + @%p47 bra BB0_12; + + mad.lo.s32 %r349, %r16, 1664525, 1013904223; + mad.lo.s32 %r383, %r349, 1664525, 1013904223; + add.s32 %r380, %r380, 1; + setp.lt.s32 %p48, %r380, %r1; + @%p48 bra BB0_11; + +BB0_62: + mul.lo.s32 %r245, %r1, %r1; + cvt.rn.f32.s32 %f502, %r245; + rcp.rn.f32 %f503, %f502; + mul.f32 %f504, %f971, %f503; + mul.f32 %f505, %f972, %f503; + mul.f32 %f506, %f973, %f503; + mul.f32 %f152, %f968, %f503; + mul.f32 %f153, %f969, %f503; + mul.f32 %f154, %f970, %f503; + mul.f32 %f155, %f965, %f503; + mul.f32 %f156, %f966, %f503; + mul.f32 %f157, %f967, %f503; + mul.f32 %f158, %f962, %f503; + mul.f32 %f159, %f963, %f503; + mul.f32 %f160, %f964, %f503; + fma.rn.f32 %f507, %f971, %f503, %f504; + fma.rn.f32 %f508, %f972, %f503, %f505; + fma.rn.f32 %f509, %f973, %f503, %f506; + ld.global.f32 %f510, [skyColor]; + mul.f32 %f161, %f510, %f507; + ld.global.f32 %f511, [skyColor+4]; + mul.f32 %f162, %f508, %f511; + ld.global.f32 %f512, [skyColor+8]; + mul.f32 %f163, %f509, %f512; + ld.global.u32 %r404, [imageEnabled]; + and.b32 %r246, %r404, 1; + setp.eq.b32 %p49, %r246, 1; + @!%p49 bra BB0_97; + bra.uni BB0_63; + +BB0_63: + abs.f32 %f165, %f161; + setp.lt.f32 %p50, %f165, 0f00800000; + mul.f32 %f518, %f165, 0f4B800000; + selp.f32 %f519, 0fC3170000, 0fC2FE0000, %p50; + selp.f32 %f520, %f518, %f165, %p50; + mov.b32 %r247, %f520; + and.b32 %r248, %r247, 8388607; + or.b32 %r249, %r248, 1065353216; + mov.b32 %f521, %r249; + shr.u32 %r250, %r247, 23; + cvt.rn.f32.u32 %f522, %r250; + add.f32 %f523, %f519, %f522; + setp.gt.f32 %p51, %f521, 0f3FB504F3; + mul.f32 %f524, %f521, 0f3F000000; + add.f32 %f525, %f523, 0f3F800000; + selp.f32 %f526, %f524, %f521, %p51; + selp.f32 %f527, %f525, %f523, %p51; + add.f32 %f528, %f526, 0fBF800000; + add.f32 %f514, %f526, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f513,%f514; + // inline asm + add.f32 %f529, %f528, %f528; + mul.f32 %f530, %f513, %f529; + mul.f32 %f531, %f530, %f530; + mov.f32 %f532, 0f3C4CAF63; + mov.f32 %f533, 0f3B18F0FE; + fma.rn.f32 %f534, %f533, %f531, %f532; + mov.f32 %f535, 0f3DAAAABD; + fma.rn.f32 %f536, %f534, %f531, %f535; + mul.rn.f32 %f537, %f536, %f531; + mul.rn.f32 %f538, %f537, %f530; + sub.f32 %f539, %f528, %f530; + neg.f32 %f540, %f530; + add.f32 %f541, %f539, %f539; + fma.rn.f32 %f542, %f540, %f528, %f541; + mul.rn.f32 %f543, %f513, %f542; + add.f32 %f544, %f538, %f530; + sub.f32 %f545, %f530, %f544; + add.f32 %f546, %f538, %f545; + add.f32 %f547, %f543, %f546; + add.f32 %f548, %f544, %f547; + sub.f32 %f549, %f544, %f548; + add.f32 %f550, %f547, %f549; + mov.f32 %f551, 0f3F317200; + mul.rn.f32 %f552, %f527, %f551; + mov.f32 %f553, 0f35BFBE8E; + mul.rn.f32 %f554, %f527, %f553; + add.f32 %f555, %f552, %f548; + sub.f32 %f556, %f552, %f555; + add.f32 %f557, %f548, %f556; + add.f32 %f558, %f550, %f557; + add.f32 %f559, %f554, %f558; + add.f32 %f560, %f555, %f559; + sub.f32 %f561, %f555, %f560; + add.f32 %f562, %f559, %f561; + mov.f32 %f563, 0f3EE66666; + mul.rn.f32 %f564, %f563, %f560; + neg.f32 %f565, %f564; + fma.rn.f32 %f566, %f563, %f560, %f565; + fma.rn.f32 %f567, %f563, %f562, %f566; + mov.f32 %f568, 0f00000000; + fma.rn.f32 %f569, %f568, %f560, %f567; + add.rn.f32 %f570, %f564, %f569; + neg.f32 %f571, %f570; + add.rn.f32 %f572, %f564, %f571; + add.rn.f32 %f573, %f572, %f569; + mov.b32 %r251, %f570; + setp.eq.s32 %p52, %r251, 1118925336; + add.s32 %r252, %r251, -1; + mov.b32 %f574, %r252; + add.f32 %f575, %f573, 0f37000000; + selp.f32 %f576, %f574, %f570, %p52; + selp.f32 %f166, %f575, %f573, %p52; + mul.f32 %f577, %f576, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f578, %f577; + mov.f32 %f579, 0fBF317200; + fma.rn.f32 %f580, %f578, %f579, %f576; + mov.f32 %f581, 0fB5BFBE8E; + fma.rn.f32 %f582, %f578, %f581, %f580; + mul.f32 %f583, %f582, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f584, %f583; + add.f32 %f585, %f578, 0f00000000; + ex2.approx.f32 %f586, %f585; + mul.f32 %f587, %f584, %f586; + setp.lt.f32 %p53, %f576, 0fC2D20000; + selp.f32 %f588, 0f00000000, %f587, %p53; + setp.gt.f32 %p54, %f576, 0f42D20000; + selp.f32 %f986, 0f7F800000, %f588, %p54; + setp.eq.f32 %p55, %f986, 0f7F800000; + @%p55 bra BB0_65; + + fma.rn.f32 %f986, %f986, %f166, %f986; + +BB0_65: + mov.f32 %f878, 0f3E666666; + cvt.rzi.f32.f32 %f877, %f878; + fma.rn.f32 %f876, %f877, 0fC0000000, 0f3EE66666; + abs.f32 %f875, %f876; + setp.lt.f32 %p56, %f161, 0f00000000; + setp.eq.f32 %p57, %f875, 0f3F800000; + and.pred %p1, %p56, %p57; + mov.b32 %r253, %f986; + xor.b32 %r254, %r253, -2147483648; + mov.b32 %f589, %r254; + selp.f32 %f988, %f589, %f986, %p1; + setp.eq.f32 %p58, %f161, 0f00000000; + @%p58 bra BB0_68; + bra.uni BB0_66; + +BB0_68: + add.f32 %f592, %f161, %f161; + selp.f32 %f988, %f592, 0f00000000, %p57; + bra.uni BB0_69; + +BB0_115: + mov.u64 %rd199, image_HDR; + cvta.global.u64 %rd194, %rd199; + mov.u32 %r318, 8; + mov.u64 %rd198, 0; + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd194, %r97, %r318, %rd20, %rd21, %rd198, %rd198); + // inline asm + mov.f32 %f830, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs112, %f830;} + + // inline asm + mov.u16 %rs113, 0; + st.v4.u16 [%rd193], {%rs112, %rs112, %rs112, %rs113}; + +BB0_116: + ld.global.u32 %r319, [additive]; + setp.eq.s32 %p109, %r319, 0; + @%p109 bra BB0_118; + + mov.u64 %rd212, image_RNM0; + cvta.global.u64 %rd201, %rd212; + mov.u32 %r323, 8; + mov.u64 %rd211, 0; + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd201, %r97, %r323, %rd20, %rd21, %rd211, %rd211); + // inline asm + ld.v4.u16 {%rs120, %rs121, %rs122, %rs123}, [%rd200]; + // inline asm + { cvt.f32.f16 %f831, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f832, %rs121;} + + // inline asm + // inline asm + { cvt.f32.f16 %f833, %rs122;} + + // inline asm + // inline asm + call (%rd206), _rt_buffer_get_64, (%rd201, %r97, %r323, %rd20, %rd21, %rd211, %rd211); + // inline asm + add.f32 %f834, %f831, 0f00000000; + add.f32 %f835, %f832, 0f00000000; + add.f32 %f836, %f833, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs119, %f836;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs118, %f835;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f834;} + + // inline asm + mov.u16 %rs124, 0; + st.v4.u16 [%rd206], {%rs117, %rs118, %rs119, %rs124}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd219, image_RNM0; + cvta.global.u64 %rd214, %rd219; + mov.u32 %r325, 8; + mov.u64 %rd218, 0; + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd214, %r97, %r325, %rd20, %rd21, %rd218, %rd218); + // inline asm + mov.f32 %f837, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs125, %f837;} + + // inline asm + mov.u16 %rs126, 0; + st.v4.u16 [%rd213], {%rs125, %rs125, %rs125, %rs126}; + +BB0_119: + ld.global.u32 %r326, [additive]; + setp.eq.s32 %p110, %r326, 0; + @%p110 bra BB0_121; + + mov.u64 %rd232, image_RNM1; + cvta.global.u64 %rd221, %rd232; + mov.u32 %r330, 8; + mov.u64 %rd231, 0; + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd221, %r97, %r330, %rd20, %rd21, %rd231, %rd231); + // inline asm + ld.v4.u16 {%rs133, %rs134, %rs135, %rs136}, [%rd220]; + // inline asm + { cvt.f32.f16 %f838, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f839, %rs134;} + + // inline asm + // inline asm + { cvt.f32.f16 %f840, %rs135;} + + // inline asm + // inline asm + call (%rd226), _rt_buffer_get_64, (%rd221, %r97, %r330, %rd20, %rd21, %rd231, %rd231); + // inline asm + add.f32 %f841, %f838, 0f00000000; + add.f32 %f842, %f839, 0f00000000; + add.f32 %f843, %f840, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs132, %f843;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs131, %f842;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f841;} + + // inline asm + mov.u16 %rs137, 0; + st.v4.u16 [%rd226], {%rs130, %rs131, %rs132, %rs137}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd239, image_RNM1; + cvta.global.u64 %rd234, %rd239; + mov.u32 %r332, 8; + mov.u64 %rd238, 0; + // inline asm + call (%rd233), _rt_buffer_get_64, (%rd234, %r97, %r332, %rd20, %rd21, %rd238, %rd238); + // inline asm + mov.f32 %f844, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs138, %f844;} + + // inline asm + mov.u16 %rs139, 0; + st.v4.u16 [%rd233], {%rs138, %rs138, %rs138, %rs139}; + +BB0_122: + ld.global.u32 %r333, [additive]; + setp.eq.s32 %p111, %r333, 0; + @%p111 bra BB0_124; + + mov.u64 %rd252, image_RNM2; + cvta.global.u64 %rd241, %rd252; + mov.u32 %r337, 8; + mov.u64 %rd251, 0; + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd241, %r97, %r337, %rd20, %rd21, %rd251, %rd251); + // inline asm + ld.v4.u16 {%rs146, %rs147, %rs148, %rs149}, [%rd240]; + // inline asm + { cvt.f32.f16 %f845, %rs146;} + + // inline asm + // inline asm + { cvt.f32.f16 %f846, %rs147;} + + // inline asm + // inline asm + { cvt.f32.f16 %f847, %rs148;} + + // inline asm + // inline asm + call (%rd246), _rt_buffer_get_64, (%rd241, %r97, %r337, %rd20, %rd21, %rd251, %rd251); + // inline asm + add.f32 %f848, %f845, 0f00000000; + add.f32 %f849, %f846, 0f00000000; + add.f32 %f850, %f847, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs145, %f850;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs144, %f849;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs143, %f848;} + + // inline asm + mov.u16 %rs150, 0; + st.v4.u16 [%rd246], {%rs143, %rs144, %rs145, %rs150}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd259, image_RNM2; + cvta.global.u64 %rd254, %rd259; + mov.u32 %r339, 8; + mov.u64 %rd258, 0; + // inline asm + call (%rd253), _rt_buffer_get_64, (%rd254, %r97, %r339, %rd20, %rd21, %rd258, %rd258); + // inline asm + mov.f32 %f851, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs151, %f851;} + + // inline asm + mov.u16 %rs152, 0; + st.v4.u16 [%rd253], {%rs151, %rs151, %rs151, %rs152}; + bra.uni BB0_125; + +BB0_66: + setp.geu.f32 %p59, %f161, 0f00000000; + @%p59 bra BB0_69; + + mov.f32 %f902, 0f3EE66666; + cvt.rzi.f32.f32 %f591, %f902; + setp.neu.f32 %p60, %f591, 0f3EE66666; + selp.f32 %f988, 0f7FFFFFFF, %f988, %p60; + +BB0_69: + abs.f32 %f879, %f161; + add.f32 %f593, %f879, 0f3EE66666; + mov.b32 %r255, %f593; + setp.lt.s32 %p62, %r255, 2139095040; + @%p62 bra BB0_74; + + abs.f32 %f900, %f161; + setp.gtu.f32 %p63, %f900, 0f7F800000; + @%p63 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f988, %f161, 0f3EE66666; + bra.uni BB0_74; + +BB0_71: + abs.f32 %f901, %f161; + setp.neu.f32 %p64, %f901, 0f7F800000; + @%p64 bra BB0_74; + + selp.f32 %f988, 0fFF800000, 0f7F800000, %p1; + +BB0_74: + mov.f32 %f888, 0fB5BFBE8E; + mov.f32 %f887, 0fBF317200; + mov.f32 %f886, 0f00000000; + mov.f32 %f885, 0f35BFBE8E; + mov.f32 %f884, 0f3F317200; + mov.f32 %f883, 0f3DAAAABD; + mov.f32 %f882, 0f3C4CAF63; + mov.f32 %f881, 0f3B18F0FE; + mov.f32 %f880, 0f3EE66666; + setp.eq.f32 %p65, %f161, 0f3F800000; + selp.f32 %f177, 0f3F800000, %f988, %p65; + abs.f32 %f178, %f162; + setp.lt.f32 %p66, %f178, 0f00800000; + mul.f32 %f596, %f178, 0f4B800000; + selp.f32 %f597, 0fC3170000, 0fC2FE0000, %p66; + selp.f32 %f598, %f596, %f178, %p66; + mov.b32 %r256, %f598; + and.b32 %r257, %r256, 8388607; + or.b32 %r258, %r257, 1065353216; + mov.b32 %f599, %r258; + shr.u32 %r259, %r256, 23; + cvt.rn.f32.u32 %f600, %r259; + add.f32 %f601, %f597, %f600; + setp.gt.f32 %p67, %f599, 0f3FB504F3; + mul.f32 %f602, %f599, 0f3F000000; + add.f32 %f603, %f601, 0f3F800000; + selp.f32 %f604, %f602, %f599, %p67; + selp.f32 %f605, %f603, %f601, %p67; + add.f32 %f606, %f604, 0fBF800000; + add.f32 %f595, %f604, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f594,%f595; + // inline asm + add.f32 %f607, %f606, %f606; + mul.f32 %f608, %f594, %f607; + mul.f32 %f609, %f608, %f608; + fma.rn.f32 %f612, %f881, %f609, %f882; + fma.rn.f32 %f614, %f612, %f609, %f883; + mul.rn.f32 %f615, %f614, %f609; + mul.rn.f32 %f616, %f615, %f608; + sub.f32 %f617, %f606, %f608; + neg.f32 %f618, %f608; + add.f32 %f619, %f617, %f617; + fma.rn.f32 %f620, %f618, %f606, %f619; + mul.rn.f32 %f621, %f594, %f620; + add.f32 %f622, %f616, %f608; + sub.f32 %f623, %f608, %f622; + add.f32 %f624, %f616, %f623; + add.f32 %f625, %f621, %f624; + add.f32 %f626, %f622, %f625; + sub.f32 %f627, %f622, %f626; + add.f32 %f628, %f625, %f627; + mul.rn.f32 %f630, %f605, %f884; + mul.rn.f32 %f632, %f605, %f885; + add.f32 %f633, %f630, %f626; + sub.f32 %f634, %f630, %f633; + add.f32 %f635, %f626, %f634; + add.f32 %f636, %f628, %f635; + add.f32 %f637, %f632, %f636; + add.f32 %f638, %f633, %f637; + sub.f32 %f639, %f633, %f638; + add.f32 %f640, %f637, %f639; + mul.rn.f32 %f642, %f880, %f638; + neg.f32 %f643, %f642; + fma.rn.f32 %f644, %f880, %f638, %f643; + fma.rn.f32 %f645, %f880, %f640, %f644; + fma.rn.f32 %f647, %f886, %f638, %f645; + add.rn.f32 %f648, %f642, %f647; + neg.f32 %f649, %f648; + add.rn.f32 %f650, %f642, %f649; + add.rn.f32 %f651, %f650, %f647; + mov.b32 %r260, %f648; + setp.eq.s32 %p68, %r260, 1118925336; + add.s32 %r261, %r260, -1; + mov.b32 %f652, %r261; + add.f32 %f653, %f651, 0f37000000; + selp.f32 %f654, %f652, %f648, %p68; + selp.f32 %f179, %f653, %f651, %p68; + mul.f32 %f655, %f654, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f656, %f655; + fma.rn.f32 %f658, %f656, %f887, %f654; + fma.rn.f32 %f660, %f656, %f888, %f658; + mul.f32 %f661, %f660, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f662, %f661; + add.f32 %f663, %f656, 0f00000000; + ex2.approx.f32 %f664, %f663; + mul.f32 %f665, %f662, %f664; + setp.lt.f32 %p69, %f654, 0fC2D20000; + selp.f32 %f666, 0f00000000, %f665, %p69; + setp.gt.f32 %p70, %f654, 0f42D20000; + selp.f32 %f989, 0f7F800000, %f666, %p70; + setp.eq.f32 %p71, %f989, 0f7F800000; + @%p71 bra BB0_76; + + fma.rn.f32 %f989, %f989, %f179, %f989; + +BB0_76: + setp.lt.f32 %p72, %f162, 0f00000000; + and.pred %p2, %p72, %p57; + mov.b32 %r262, %f989; + xor.b32 %r263, %r262, -2147483648; + mov.b32 %f667, %r263; + selp.f32 %f991, %f667, %f989, %p2; + setp.eq.f32 %p74, %f162, 0f00000000; + @%p74 bra BB0_79; + bra.uni BB0_77; + +BB0_79: + add.f32 %f670, %f162, %f162; + selp.f32 %f991, %f670, 0f00000000, %p57; + bra.uni BB0_80; + +BB0_77: + setp.geu.f32 %p75, %f162, 0f00000000; + @%p75 bra BB0_80; + + mov.f32 %f899, 0f3EE66666; + cvt.rzi.f32.f32 %f669, %f899; + setp.neu.f32 %p76, %f669, 0f3EE66666; + selp.f32 %f991, 0f7FFFFFFF, %f991, %p76; + +BB0_80: + abs.f32 %f903, %f162; + add.f32 %f671, %f903, 0f3EE66666; + mov.b32 %r264, %f671; + setp.lt.s32 %p78, %r264, 2139095040; + @%p78 bra BB0_85; + + abs.f32 %f904, %f162; + setp.gtu.f32 %p79, %f904, 0f7F800000; + @%p79 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f991, %f162, 0f3EE66666; + bra.uni BB0_85; + +BB0_82: + abs.f32 %f905, %f162; + setp.neu.f32 %p80, %f905, 0f7F800000; + @%p80 bra BB0_85; + + selp.f32 %f991, 0fFF800000, 0f7F800000, %p2; + +BB0_85: + mov.f32 %f897, 0fB5BFBE8E; + mov.f32 %f896, 0fBF317200; + mov.f32 %f895, 0f00000000; + mov.f32 %f894, 0f35BFBE8E; + mov.f32 %f893, 0f3F317200; + mov.f32 %f892, 0f3DAAAABD; + mov.f32 %f891, 0f3C4CAF63; + mov.f32 %f890, 0f3B18F0FE; + mov.f32 %f889, 0f3EE66666; + setp.eq.f32 %p81, %f162, 0f3F800000; + selp.f32 %f190, 0f3F800000, %f991, %p81; + abs.f32 %f191, %f163; + setp.lt.f32 %p82, %f191, 0f00800000; + mul.f32 %f674, %f191, 0f4B800000; + selp.f32 %f675, 0fC3170000, 0fC2FE0000, %p82; + selp.f32 %f676, %f674, %f191, %p82; + mov.b32 %r265, %f676; + and.b32 %r266, %r265, 8388607; + or.b32 %r267, %r266, 1065353216; + mov.b32 %f677, %r267; + shr.u32 %r268, %r265, 23; + cvt.rn.f32.u32 %f678, %r268; + add.f32 %f679, %f675, %f678; + setp.gt.f32 %p83, %f677, 0f3FB504F3; + mul.f32 %f680, %f677, 0f3F000000; + add.f32 %f681, %f679, 0f3F800000; + selp.f32 %f682, %f680, %f677, %p83; + selp.f32 %f683, %f681, %f679, %p83; + add.f32 %f684, %f682, 0fBF800000; + add.f32 %f673, %f682, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f672,%f673; + // inline asm + add.f32 %f685, %f684, %f684; + mul.f32 %f686, %f672, %f685; + mul.f32 %f687, %f686, %f686; + fma.rn.f32 %f690, %f890, %f687, %f891; + fma.rn.f32 %f692, %f690, %f687, %f892; + mul.rn.f32 %f693, %f692, %f687; + mul.rn.f32 %f694, %f693, %f686; + sub.f32 %f695, %f684, %f686; + neg.f32 %f696, %f686; + add.f32 %f697, %f695, %f695; + fma.rn.f32 %f698, %f696, %f684, %f697; + mul.rn.f32 %f699, %f672, %f698; + add.f32 %f700, %f694, %f686; + sub.f32 %f701, %f686, %f700; + add.f32 %f702, %f694, %f701; + add.f32 %f703, %f699, %f702; + add.f32 %f704, %f700, %f703; + sub.f32 %f705, %f700, %f704; + add.f32 %f706, %f703, %f705; + mul.rn.f32 %f708, %f683, %f893; + mul.rn.f32 %f710, %f683, %f894; + add.f32 %f711, %f708, %f704; + sub.f32 %f712, %f708, %f711; + add.f32 %f713, %f704, %f712; + add.f32 %f714, %f706, %f713; + add.f32 %f715, %f710, %f714; + add.f32 %f716, %f711, %f715; + sub.f32 %f717, %f711, %f716; + add.f32 %f718, %f715, %f717; + mul.rn.f32 %f720, %f889, %f716; + neg.f32 %f721, %f720; + fma.rn.f32 %f722, %f889, %f716, %f721; + fma.rn.f32 %f723, %f889, %f718, %f722; + fma.rn.f32 %f725, %f895, %f716, %f723; + add.rn.f32 %f726, %f720, %f725; + neg.f32 %f727, %f726; + add.rn.f32 %f728, %f720, %f727; + add.rn.f32 %f729, %f728, %f725; + mov.b32 %r269, %f726; + setp.eq.s32 %p84, %r269, 1118925336; + add.s32 %r270, %r269, -1; + mov.b32 %f730, %r270; + add.f32 %f731, %f729, 0f37000000; + selp.f32 %f732, %f730, %f726, %p84; + selp.f32 %f192, %f731, %f729, %p84; + mul.f32 %f733, %f732, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f734, %f733; + fma.rn.f32 %f736, %f734, %f896, %f732; + fma.rn.f32 %f738, %f734, %f897, %f736; + mul.f32 %f739, %f738, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f740, %f739; + add.f32 %f741, %f734, 0f00000000; + ex2.approx.f32 %f742, %f741; + mul.f32 %f743, %f740, %f742; + setp.lt.f32 %p85, %f732, 0fC2D20000; + selp.f32 %f744, 0f00000000, %f743, %p85; + setp.gt.f32 %p86, %f732, 0f42D20000; + selp.f32 %f992, 0f7F800000, %f744, %p86; + setp.eq.f32 %p87, %f992, 0f7F800000; + @%p87 bra BB0_87; + + fma.rn.f32 %f992, %f992, %f192, %f992; + +BB0_87: + setp.lt.f32 %p88, %f163, 0f00000000; + and.pred %p3, %p88, %p57; + mov.b32 %r271, %f992; + xor.b32 %r272, %r271, -2147483648; + mov.b32 %f745, %r272; + selp.f32 %f994, %f745, %f992, %p3; + setp.eq.f32 %p90, %f163, 0f00000000; + @%p90 bra BB0_90; + bra.uni BB0_88; + +BB0_90: + add.f32 %f748, %f163, %f163; + selp.f32 %f994, %f748, 0f00000000, %p57; + bra.uni BB0_91; + +BB0_88: + setp.geu.f32 %p91, %f163, 0f00000000; + @%p91 bra BB0_91; + + mov.f32 %f898, 0f3EE66666; + cvt.rzi.f32.f32 %f747, %f898; + setp.neu.f32 %p92, %f747, 0f3EE66666; + selp.f32 %f994, 0f7FFFFFFF, %f994, %p92; + +BB0_91: + add.f32 %f749, %f191, 0f3EE66666; + mov.b32 %r273, %f749; + setp.lt.s32 %p94, %r273, 2139095040; + @%p94 bra BB0_96; + + setp.gtu.f32 %p95, %f191, 0f7F800000; + @%p95 bra BB0_95; + bra.uni BB0_93; + +BB0_95: + add.f32 %f994, %f163, 0f3EE66666; + bra.uni BB0_96; + +BB0_93: + setp.neu.f32 %p96, %f191, 0f7F800000; + @%p96 bra BB0_96; + + selp.f32 %f994, 0fFF800000, 0f7F800000, %p3; + +BB0_96: + mov.u64 %rd266, 0; + mov.u32 %r357, 2; + mov.u32 %r350, 4; + setp.eq.f32 %p97, %f163, 0f3F800000; + selp.f32 %f750, 0f3F800000, %f994, %p97; + cvt.u64.u32 %rd89, %r4; + cvt.u64.u32 %rd88, %r3; + mov.u64 %rd92, image; + cvta.global.u64 %rd87, %rd92; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd87, %r357, %r350, %rd88, %rd89, %rd266, %rd266); + // inline asm + cvt.sat.f32.f32 %f751, %f750; + mul.f32 %f752, %f751, 0f437FFD71; + cvt.rzi.u32.f32 %r276, %f752; + cvt.sat.f32.f32 %f753, %f190; + mul.f32 %f754, %f753, 0f437FFD71; + cvt.rzi.u32.f32 %r277, %f754; + cvt.sat.f32.f32 %f755, %f177; + mul.f32 %f756, %f755, 0f437FFD71; + cvt.rzi.u32.f32 %r278, %f756; + cvt.u16.u32 %rs40, %r276; + cvt.u16.u32 %rs41, %r278; + cvt.u16.u32 %rs42, %r277; + mov.u16 %rs43, 255; + st.v4.u8 [%rd86], {%rs40, %rs42, %rs41, %rs43}; + ld.global.u32 %r404, [imageEnabled]; + +BB0_97: + cvt.u64.u32 %rd18, %r3; + cvt.u64.u32 %rd19, %r4; + and.b32 %r279, %r404, 4; + setp.eq.s32 %p98, %r279, 0; + @%p98 bra BB0_101; + + ld.global.u32 %r280, [additive]; + setp.eq.s32 %p99, %r280, 0; + mov.f32 %f757, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs44, %f757;} + + // inline asm + @%p99 bra BB0_100; + + mov.u64 %rd267, 0; + mov.u32 %r358, 2; + mov.u64 %rd105, image_HDR; + cvta.global.u64 %rd94, %rd105; + mov.u32 %r284, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r358, %r284, %rd18, %rd19, %rd267, %rd267); + // inline asm + ld.v4.u16 {%rs51, %rs52, %rs53, %rs54}, [%rd93]; + // inline asm + { cvt.f32.f16 %f758, %rs51;} + + // inline asm + // inline asm + { cvt.f32.f16 %f759, %rs52;} + + // inline asm + // inline asm + { cvt.f32.f16 %f760, %rs53;} + + // inline asm + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd94, %r358, %r284, %rd18, %rd19, %rd267, %rd267); + // inline asm + add.f32 %f761, %f161, %f758; + add.f32 %f762, %f162, %f759; + add.f32 %f763, %f163, %f760; + // inline asm + { cvt.rn.f16.f32 %rs50, %f763;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs49, %f762;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs48, %f761;} + + // inline asm + st.v4.u16 [%rd99], {%rs48, %rs49, %rs50, %rs44}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd268, 0; + mov.u32 %r359, 2; + mov.u64 %rd112, image_HDR; + cvta.global.u64 %rd107, %rd112; + mov.u32 %r286, 8; + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd107, %r359, %r286, %rd18, %rd19, %rd268, %rd268); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f163;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs56, %f162;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs55, %f161;} + + // inline asm + st.v4.u16 [%rd106], {%rs55, %rs56, %rs57, %rs44}; + +BB0_101: + ld.global.f32 %f768, [skyColor]; + mul.f32 %f769, %f152, %f768; + ld.global.f32 %f770, [skyColor+4]; + mul.f32 %f771, %f153, %f770; + ld.global.f32 %f772, [skyColor+8]; + mul.f32 %f773, %f154, %f772; + mul.f32 %f774, %f155, %f768; + mul.f32 %f775, %f156, %f770; + mul.f32 %f776, %f157, %f772; + mul.f32 %f777, %f158, %f768; + mul.f32 %f778, %f159, %f770; + mul.f32 %f779, %f160, %f772; + add.f32 %f780, %f769, %f774; + add.f32 %f781, %f771, %f775; + add.f32 %f782, %f773, %f776; + add.f32 %f783, %f780, %f777; + add.f32 %f784, %f781, %f778; + add.f32 %f785, %f782, %f779; + mul.f32 %f786, %f783, 0f3F13CD3A; + mul.f32 %f787, %f784, 0f3F13CD3A; + mul.f32 %f788, %f785, 0f3F13CD3A; + div.rn.f32 %f789, %f161, %f786; + div.rn.f32 %f790, %f162, %f787; + div.rn.f32 %f791, %f163, %f788; + setp.eq.f32 %p100, %f161, 0f00000000; + selp.f32 %f792, 0f00000000, %f789, %p100; + setp.eq.f32 %p101, %f162, 0f00000000; + selp.f32 %f793, 0f00000000, %f790, %p101; + setp.eq.f32 %p102, %f163, 0f00000000; + selp.f32 %f794, 0f00000000, %f791, %p102; + mul.f32 %f203, %f769, %f792; + mul.f32 %f204, %f771, %f793; + mul.f32 %f205, %f773, %f794; + mul.f32 %f206, %f774, %f792; + mul.f32 %f207, %f775, %f793; + mul.f32 %f208, %f776, %f794; + mul.f32 %f209, %f777, %f792; + mul.f32 %f210, %f778, %f793; + mul.f32 %f211, %f779, %f794; + ld.global.u32 %r287, [additive]; + setp.eq.s32 %p103, %r287, 0; + mov.f32 %f767, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs58, %f767;} + + // inline asm + @%p103 bra BB0_103; + + mov.u64 %rd269, 0; + mov.u32 %r360, 2; + mov.u64 %rd125, image_RNM0; + cvta.global.u64 %rd114, %rd125; + mov.u32 %r291, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r360, %r291, %rd18, %rd19, %rd269, %rd269); + // inline asm + ld.v4.u16 {%rs65, %rs66, %rs67, %rs68}, [%rd113]; + // inline asm + { cvt.f32.f16 %f795, %rs65;} + + // inline asm + // inline asm + { cvt.f32.f16 %f796, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f797, %rs67;} + + // inline asm + // inline asm + call (%rd119), _rt_buffer_get_64, (%rd114, %r360, %r291, %rd18, %rd19, %rd269, %rd269); + // inline asm + add.f32 %f798, %f203, %f795; + add.f32 %f799, %f204, %f796; + add.f32 %f800, %f205, %f797; + // inline asm + { cvt.rn.f16.f32 %rs64, %f800;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f799;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs62, %f798;} + + // inline asm + st.v4.u16 [%rd119], {%rs62, %rs63, %rs64, %rs58}; + bra.uni BB0_104; + +BB0_103: + mov.u64 %rd274, 0; + mov.u32 %r365, 2; + mov.u64 %rd132, image_RNM0; + cvta.global.u64 %rd127, %rd132; + mov.u32 %r293, 8; + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd127, %r365, %r293, %rd18, %rd19, %rd274, %rd274); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f205;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f204;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f203;} + + // inline asm + st.v4.u16 [%rd126], {%rs69, %rs70, %rs71, %rs58}; + +BB0_104: + ld.global.u32 %r294, [additive]; + setp.eq.s32 %p104, %r294, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f767;} + + // inline asm + @%p104 bra BB0_106; + + mov.u64 %rd270, 0; + mov.u32 %r361, 2; + mov.u64 %rd145, image_RNM1; + cvta.global.u64 %rd134, %rd145; + mov.u32 %r298, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r361, %r298, %rd18, %rd19, %rd270, %rd270); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd133]; + // inline asm + { cvt.f32.f16 %f805, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f806, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f807, %rs81;} + + // inline asm + // inline asm + call (%rd139), _rt_buffer_get_64, (%rd134, %r361, %r298, %rd18, %rd19, %rd270, %rd270); + // inline asm + add.f32 %f808, %f206, %f805; + add.f32 %f809, %f207, %f806; + add.f32 %f810, %f208, %f807; + // inline asm + { cvt.rn.f16.f32 %rs78, %f810;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f809;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f808;} + + // inline asm + st.v4.u16 [%rd139], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_107; + +BB0_106: + mov.u64 %rd273, 0; + mov.u32 %r364, 2; + mov.u64 %rd152, image_RNM1; + cvta.global.u64 %rd147, %rd152; + mov.u32 %r300, 8; + // inline asm + call (%rd146), _rt_buffer_get_64, (%rd147, %r364, %r300, %rd18, %rd19, %rd273, %rd273); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f208;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs84, %f207;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f206;} + + // inline asm + st.v4.u16 [%rd146], {%rs83, %rs84, %rs85, %rs72}; + +BB0_107: + ld.global.u32 %r301, [additive]; + setp.eq.s32 %p105, %r301, 0; + // inline asm + { cvt.rn.f16.f32 %rs86, %f767;} + + // inline asm + @%p105 bra BB0_109; + + mov.u64 %rd271, 0; + mov.u32 %r362, 2; + mov.u64 %rd165, image_RNM2; + cvta.global.u64 %rd154, %rd165; + mov.u32 %r305, 8; + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd154, %r362, %r305, %rd18, %rd19, %rd271, %rd271); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd153]; + // inline asm + { cvt.f32.f16 %f815, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f816, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f817, %rs95;} + + // inline asm + // inline asm + call (%rd159), _rt_buffer_get_64, (%rd154, %r362, %r305, %rd18, %rd19, %rd271, %rd271); + // inline asm + add.f32 %f818, %f209, %f815; + add.f32 %f819, %f210, %f816; + add.f32 %f820, %f211, %f817; + // inline asm + { cvt.rn.f16.f32 %rs92, %f820;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f819;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f818;} + + // inline asm + st.v4.u16 [%rd159], {%rs90, %rs91, %rs92, %rs86}; + bra.uni BB0_125; + +BB0_109: + mov.u64 %rd272, 0; + mov.u32 %r363, 2; + mov.u64 %rd172, image_RNM2; + cvta.global.u64 %rd167, %rd172; + mov.u32 %r307, 8; + // inline asm + call (%rd166), _rt_buffer_get_64, (%rd167, %r363, %r307, %rd18, %rd19, %rd272, %rd272); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f211;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f210;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f209;} + + // inline asm + st.v4.u16 [%rd166], {%rs97, %rs98, %rs99, %rs86}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx.meta new file mode 100644 index 00000000..f8c755d8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 651c025773cc7364a9f58448fcd93bed +timeCreated: 1537525103 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx new file mode 100644 index 00000000..e71ceeb1 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx @@ -0,0 +1,2069 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3skyE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3skyE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3skyE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic3skyE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3skyE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<106>; + .reg .b16 %rs<154>; + .reg .f32 %f<901>; + .reg .b32 %r<383>; + .reg .b64 %rd<288>; + + + mov.u64 %rd287, __local_depot0; + cvta.local.u64 %SP, %rd287; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r93, %r94}, [pixelID]; + cvt.u64.u32 %rd22, %r93; + cvt.u64.u32 %rd23, %r94; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r91, 2; + mov.u32 %r92, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r91, %r92, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r2, [%rd20]; + shr.u32 %r97, %r2, 16; + cvt.u16.u32 %rs1, %r97; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r2; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p4, %rs9, 0; + mov.f32 %f817, 0f00000000; + mov.f32 %f818, %f817; + mov.f32 %f819, %f817; + @%p4 bra BB0_2; + + ld.u8 %rs10, [%rd20+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f215, %rs12; + div.rn.f32 %f216, %f215, 0f437F0000; + fma.rn.f32 %f217, %f216, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f218, %rs10; + div.rn.f32 %f219, %f218, 0f437F0000; + fma.rn.f32 %f220, %f219, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f221, %rs7; + div.rn.f32 %f222, %f221, 0f437F0000; + fma.rn.f32 %f223, %f222, 0f40000000, 0fBF800000; + mul.f32 %f224, %f220, %f220; + fma.rn.f32 %f225, %f217, %f217, %f224; + fma.rn.f32 %f226, %f223, %f223, %f225; + sqrt.rn.f32 %f227, %f226; + rcp.rn.f32 %f228, %f227; + mul.f32 %f817, %f217, %f228; + mul.f32 %f818, %f220, %f228; + mul.f32 %f819, %f223, %f228; + +BB0_2: + ld.global.v2.u32 {%r98, %r99}, [pixelID]; + ld.global.v2.u32 {%r101, %r102}, [tileInfo]; + add.s32 %r3, %r98, %r101; + add.s32 %r4, %r99, %r102; + setp.eq.f32 %p5, %f818, 0f00000000; + setp.eq.f32 %p6, %f817, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f819, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_107; + bra.uni BB0_3; + +BB0_107: + ld.global.u32 %r382, [imageEnabled]; + and.b32 %r291, %r382, 1; + setp.eq.b32 %p98, %r291, 1; + @!%p98 bra BB0_109; + bra.uni BB0_108; + +BB0_108: + cvt.u64.u32 %rd173, %r4; + cvt.u64.u32 %rd172, %r3; + mov.u64 %rd176, image; + cvta.global.u64 %rd171, %rd176; + mov.u64 %rd175, 0; + // inline asm + call (%rd170), _rt_buffer_get_64, (%rd171, %r91, %r92, %rd172, %rd173, %rd175, %rd175); + // inline asm + mov.u16 %rs88, 0; + st.v4.u8 [%rd170], {%rs88, %rs88, %rs88, %rs88}; + ld.global.u32 %r382, [imageEnabled]; + +BB0_109: + cvt.u64.u32 %rd18, %r3; + cvt.u64.u32 %rd19, %r4; + and.b32 %r294, %r382, 4; + setp.eq.s32 %p99, %r294, 0; + @%p99 bra BB0_113; + + ld.global.u32 %r295, [additive]; + setp.eq.s32 %p100, %r295, 0; + @%p100 bra BB0_112; + + mov.u64 %rd189, image_HDR; + cvta.global.u64 %rd178, %rd189; + mov.u32 %r299, 8; + mov.u64 %rd188, 0; + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd178, %r91, %r299, %rd18, %rd19, %rd188, %rd188); + // inline asm + ld.v4.u16 {%rs95, %rs96, %rs97, %rs98}, [%rd177]; + // inline asm + { cvt.f32.f16 %f726, %rs95;} + + // inline asm + // inline asm + { cvt.f32.f16 %f727, %rs96;} + + // inline asm + // inline asm + { cvt.f32.f16 %f728, %rs97;} + + // inline asm + // inline asm + call (%rd183), _rt_buffer_get_64, (%rd178, %r91, %r299, %rd18, %rd19, %rd188, %rd188); + // inline asm + add.f32 %f729, %f726, 0f00000000; + add.f32 %f730, %f727, 0f00000000; + add.f32 %f731, %f728, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs94, %f731;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs93, %f730;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs92, %f729;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd183], {%rs92, %rs93, %rs94, %rs99}; + bra.uni BB0_113; + +BB0_3: + ld.global.v2.u32 {%r110, %r111}, [pixelID]; + cvt.u64.u32 %rd29, %r110; + cvt.u64.u32 %rd30, %r111; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r107, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r91, %r107, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f244, [%rd27+8]; + ld.f32 %f245, [%rd27+4]; + ld.f32 %f246, [%rd27]; + mul.f32 %f247, %f246, 0f3456BF95; + mul.f32 %f248, %f245, 0f3456BF95; + mul.f32 %f249, %f244, 0f3456BF95; + abs.f32 %f250, %f817; + div.rn.f32 %f251, %f247, %f250; + abs.f32 %f252, %f818; + div.rn.f32 %f253, %f248, %f252; + abs.f32 %f254, %f819; + div.rn.f32 %f255, %f249, %f254; + abs.f32 %f256, %f251; + abs.f32 %f257, %f253; + abs.f32 %f258, %f255; + mov.f32 %f259, 0f38D1B717; + max.f32 %f260, %f256, %f259; + max.f32 %f261, %f257, %f259; + max.f32 %f262, %f258, %f259; + fma.rn.f32 %f7, %f817, %f260, %f246; + fma.rn.f32 %f8, %f818, %f261, %f245; + fma.rn.f32 %f9, %f819, %f262, %f244; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f250, %f254; + neg.f32 %f263, %f818; + selp.f32 %f264, %f263, 0f00000000, %p10; + neg.f32 %f265, %f819; + selp.f32 %f266, %f817, %f265, %p10; + selp.f32 %f267, 0f00000000, %f818, %p10; + mul.f32 %f268, %f266, %f266; + fma.rn.f32 %f269, %f264, %f264, %f268; + fma.rn.f32 %f270, %f267, %f267, %f269; + sqrt.rn.f32 %f271, %f270; + rcp.rn.f32 %f272, %f271; + mul.f32 %f10, %f264, %f272; + mul.f32 %f11, %f266, %f272; + mul.f32 %f12, %f267, %f272; + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + cvt.u64.u32 %rd35, %r114; + cvt.u64.u32 %rd36, %r115; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r91, %r92, %rd35, %rd36, %rd25, %rd25); + // inline asm + mov.f32 %f876, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f875, %f876; + mov.f32 %f874, %f876; + mov.f32 %f873, %f876; + mov.f32 %f872, %f876; + mov.f32 %f871, %f876; + mov.f32 %f870, %f876; + mov.f32 %f869, %f876; + mov.f32 %f868, %f876; + mov.f32 %f867, %f876; + mov.f32 %f866, %f876; + mov.f32 %f865, %f876; + mov.f32 %f864, %f876; + mov.f32 %f863, %f876; + mov.f32 %f862, %f876; + @%p11 bra BB0_56; + + cvt.rn.f32.s32 %f288, %r1; + rcp.rn.f32 %f13, %f288; + ld.u32 %r360, [%rd33]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f289, %f817, %f11; + mul.f32 %f290, %f818, %f10; + sub.f32 %f17, %f290, %f289; + mul.f32 %f291, %f819, %f10; + mul.f32 %f292, %f817, %f12; + sub.f32 %f18, %f292, %f291; + mul.f32 %f293, %f818, %f12; + mul.f32 %f294, %f819, %f11; + sub.f32 %f19, %f294, %f293; + mov.f32 %f876, 0f00000000; + mov.u32 %r118, 0; + abs.f32 %f375, %f15; + abs.f32 %f376, %f14; + max.f32 %f377, %f376, %f375; + abs.f32 %f378, %f16; + max.f32 %f379, %f377, %f378; + mov.u32 %r357, %r118; + mov.f32 %f875, %f876; + mov.f32 %f874, %f876; + mov.f32 %f873, %f876; + mov.f32 %f872, %f876; + mov.f32 %f871, %f876; + mov.f32 %f870, %f876; + mov.f32 %f869, %f876; + mov.f32 %f868, %f876; + mov.f32 %f867, %f876; + mov.f32 %f866, %f876; + mov.f32 %f865, %f876; + mov.f32 %f864, %f876; + mov.f32 %f863, %f876; + mov.f32 %f862, %f876; + +BB0_5: + mov.u32 %r359, %r118; + +BB0_6: + mov.u32 %r10, %r360; + cvt.rn.f32.s32 %f767, %r357; + mad.lo.s32 %r120, %r10, 1664525, 1013904223; + and.b32 %r121, %r120, 16777215; + cvt.rn.f32.u32 %f295, %r121; + fma.rn.f32 %f296, %f295, 0f33800000, %f767; + mul.f32 %f51, %f13, %f296; + mad.lo.s32 %r11, %r120, 1664525, 1013904223; + and.b32 %r122, %r11, 16777215; + cvt.rn.f32.u32 %f297, %r122; + cvt.rn.f32.s32 %f298, %r359; + fma.rn.f32 %f299, %f297, 0f33800000, %f298; + mul.f32 %f300, %f13, %f299; + mul.f32 %f301, %f51, %f51; + mov.f32 %f302, 0f3F800000; + sub.f32 %f303, %f302, %f301; + mov.f32 %f304, 0f00000000; + max.f32 %f305, %f304, %f303; + sqrt.rn.f32 %f52, %f305; + mul.f32 %f856, %f300, 0f40C90FDB; + abs.f32 %f54, %f856; + setp.neu.f32 %p12, %f54, 0f7F800000; + mov.f32 %f850, %f856; + @%p12 bra BB0_8; + + mul.rn.f32 %f850, %f856, %f304; + +BB0_8: + mul.f32 %f307, %f850, 0f3F22F983; + cvt.rni.s32.f32 %r370, %f307; + cvt.rn.f32.s32 %f308, %r370; + neg.f32 %f309, %f308; + mov.f32 %f310, 0f3FC90FDA; + fma.rn.f32 %f311, %f309, %f310, %f850; + mov.f32 %f312, 0f33A22168; + fma.rn.f32 %f313, %f309, %f312, %f311; + mov.f32 %f314, 0f27C234C5; + fma.rn.f32 %f851, %f309, %f314, %f313; + abs.f32 %f315, %f850; + setp.leu.f32 %p13, %f315, 0f47CE4780; + @%p13 bra BB0_19; + + add.u64 %rd42, %SP, 12; + cvta.to.local.u64 %rd283, %rd42; + mov.u32 %r361, 0; + mov.u64 %rd284, 0; + mov.u32 %r362, %r361; + +BB0_10: + .pragma "nounroll"; + mov.b32 %r332, %f850; + shl.b32 %r331, %r332, 8; + or.b32 %r330, %r331, -2147483648; + add.u64 %rd278, %SP, 12; + cvta.to.local.u64 %rd277, %rd278; + shl.b64 %rd43, %rd284, 2; + mov.u64 %rd44, __cudart_i2opi_f; + add.s64 %rd45, %rd44, %rd43; + ld.const.u32 %r128, [%rd45]; + // inline asm + { + mad.lo.cc.u32 %r126, %r128, %r330, %r362; + madc.hi.u32 %r362, %r128, %r330, 0; + } + // inline asm + st.local.u32 [%rd283], %r126; + add.s32 %r361, %r361, 1; + cvt.s64.s32 %rd284, %r361; + mul.wide.s32 %rd48, %r361, 4; + add.s64 %rd283, %rd277, %rd48; + setp.ne.s32 %p14, %r361, 6; + @%p14 bra BB0_10; + + mov.b32 %r334, %f850; + shr.u32 %r333, %r334, 23; + add.u64 %rd279, %SP, 12; + and.b32 %r131, %r333, 255; + add.s32 %r132, %r131, -128; + shr.u32 %r133, %r132, 5; + cvta.to.local.u64 %rd50, %rd279; + st.local.u32 [%rd50+24], %r362; + mov.u32 %r134, 6; + sub.s32 %r135, %r134, %r133; + mul.wide.s32 %rd51, %r135, 4; + add.s64 %rd8, %rd50, %rd51; + ld.local.u32 %r363, [%rd8]; + ld.local.u32 %r364, [%rd8+-4]; + and.b32 %r23, %r333, 31; + setp.eq.s32 %p15, %r23, 0; + @%p15 bra BB0_13; + + mov.u32 %r136, 32; + sub.s32 %r137, %r136, %r23; + shr.u32 %r138, %r364, %r137; + shl.b32 %r139, %r363, %r23; + add.s32 %r363, %r138, %r139; + ld.local.u32 %r140, [%rd8+-8]; + shr.u32 %r141, %r140, %r137; + shl.b32 %r142, %r364, %r23; + add.s32 %r364, %r141, %r142; + +BB0_13: + mov.b32 %r342, %f850; + and.b32 %r366, %r342, -2147483648; + shr.u32 %r143, %r364, 30; + shl.b32 %r144, %r363, 2; + add.s32 %r365, %r143, %r144; + shl.b32 %r29, %r364, 2; + shr.u32 %r145, %r365, 31; + shr.u32 %r146, %r363, 30; + add.s32 %r30, %r145, %r146; + setp.eq.s32 %p16, %r145, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r367, %r29; + bra.uni BB0_16; + +BB0_15: + mov.b32 %r344, %f850; + and.b32 %r343, %r344, -2147483648; + not.b32 %r147, %r365; + neg.s32 %r367, %r29; + setp.eq.s32 %p17, %r29, 0; + selp.u32 %r148, 1, 0, %p17; + add.s32 %r365, %r148, %r147; + xor.b32 %r366, %r343, -2147483648; + +BB0_16: + mov.b32 %r346, %f850; + and.b32 %r345, %r346, -2147483648; + clz.b32 %r369, %r365; + setp.eq.s32 %p18, %r369, 0; + shl.b32 %r149, %r365, %r369; + mov.u32 %r150, 32; + sub.s32 %r151, %r150, %r369; + shr.u32 %r152, %r367, %r151; + add.s32 %r153, %r152, %r149; + selp.b32 %r38, %r365, %r153, %p18; + mov.u32 %r154, -921707870; + mul.hi.u32 %r368, %r38, %r154; + setp.eq.s32 %p19, %r345, 0; + neg.s32 %r155, %r30; + selp.b32 %r370, %r30, %r155, %p19; + setp.lt.s32 %p20, %r368, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r156, %r38, -921707870; + shr.u32 %r157, %r156, 31; + shl.b32 %r158, %r368, 1; + add.s32 %r368, %r157, %r158; + add.s32 %r369, %r369, 1; + +BB0_18: + mov.u32 %r159, 126; + sub.s32 %r160, %r159, %r369; + shl.b32 %r161, %r160, 23; + add.s32 %r162, %r368, 1; + shr.u32 %r163, %r162, 7; + add.s32 %r164, %r163, 1; + shr.u32 %r165, %r164, 1; + add.s32 %r166, %r165, %r161; + or.b32 %r167, %r166, %r366; + mov.b32 %f851, %r167; + +BB0_19: + add.s32 %r46, %r370, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p21, %r47, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mul.rn.f32 %f777, %f851, %f851; + mov.f32 %f318, 0f3C08839E; + mov.f32 %f319, 0fB94CA1F9; + fma.rn.f32 %f852, %f319, %f777, %f318; + bra.uni BB0_22; + +BB0_20: + mul.rn.f32 %f773, %f851, %f851; + mov.f32 %f316, 0fBAB6061A; + mov.f32 %f317, 0f37CCF5CE; + fma.rn.f32 %f852, %f317, %f773, %f316; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mul.rn.f32 %f776, %f851, %f851; + mov.f32 %f772, 0f00000000; + mov.f32 %f323, 0fBE2AAAA3; + fma.rn.f32 %f324, %f852, %f776, %f323; + fma.rn.f32 %f853, %f324, %f776, %f772; + bra.uni BB0_25; + +BB0_23: + mul.rn.f32 %f774, %f851, %f851; + mov.f32 %f320, 0f3D2AAAA5; + fma.rn.f32 %f321, %f852, %f774, %f320; + mov.f32 %f322, 0fBF000000; + fma.rn.f32 %f853, %f321, %f774, %f322; + +BB0_25: + fma.rn.f32 %f854, %f853, %f851, %f851; + @%p21 bra BB0_27; + + mul.rn.f32 %f775, %f851, %f851; + mov.f32 %f761, 0f3F800000; + fma.rn.f32 %f854, %f853, %f775, %f761; + +BB0_27: + add.s32 %r347, %r370, 1; + and.b32 %r168, %r347, 2; + setp.eq.s32 %p24, %r168, 0; + @%p24 bra BB0_29; + + mov.f32 %f768, 0f00000000; + mov.f32 %f328, 0fBF800000; + fma.rn.f32 %f854, %f854, %f328, %f768; + +BB0_29: + abs.f32 %f762, %f856; + setp.neu.f32 %p105, %f762, 0f7F800000; + @%p105 bra BB0_31; + + mov.f32 %f771, 0f00000000; + mul.rn.f32 %f856, %f856, %f771; + +BB0_31: + mov.f32 %f765, 0f27C234C5; + mov.f32 %f764, 0f33A22168; + mov.f32 %f763, 0f3FC90FDA; + mul.f32 %f330, %f856, 0f3F22F983; + cvt.rni.s32.f32 %r380, %f330; + cvt.rn.f32.s32 %f331, %r380; + neg.f32 %f332, %f331; + fma.rn.f32 %f334, %f332, %f763, %f856; + fma.rn.f32 %f336, %f332, %f764, %f334; + fma.rn.f32 %f857, %f332, %f765, %f336; + abs.f32 %f338, %f856; + setp.leu.f32 %p26, %f338, 0f47CE4780; + @%p26 bra BB0_42; + + add.u64 %rd53, %SP, 12; + cvta.to.local.u64 %rd285, %rd53; + mov.b32 %r49, %f856; + shl.b32 %r171, %r49, 8; + or.b32 %r51, %r171, -2147483648; + mov.u32 %r371, 0; + mov.u64 %rd286, %rd25; + mov.u32 %r372, %r371; + +BB0_33: + .pragma "nounroll"; + add.u64 %rd281, %SP, 12; + cvta.to.local.u64 %rd280, %rd281; + shl.b64 %rd54, %rd286, 2; + mov.u64 %rd55, __cudart_i2opi_f; + add.s64 %rd56, %rd55, %rd54; + ld.const.u32 %r174, [%rd56]; + // inline asm + { + mad.lo.cc.u32 %r172, %r174, %r51, %r372; + madc.hi.u32 %r372, %r174, %r51, 0; + } + // inline asm + st.local.u32 [%rd285], %r172; + add.s32 %r371, %r371, 1; + cvt.s64.s32 %rd286, %r371; + mul.wide.s32 %rd57, %r371, 4; + add.s64 %rd285, %rd280, %rd57; + setp.ne.s32 %p27, %r371, 6; + @%p27 bra BB0_33; + + mov.b32 %r349, %f856; + shr.u32 %r348, %r349, 23; + add.u64 %rd282, %SP, 12; + and.b32 %r177, %r348, 255; + add.s32 %r178, %r177, -128; + shr.u32 %r179, %r178, 5; + cvta.to.local.u64 %rd59, %rd282; + st.local.u32 [%rd59+24], %r372; + mov.u32 %r180, 6; + sub.s32 %r181, %r180, %r179; + mul.wide.s32 %rd60, %r181, 4; + add.s64 %rd15, %rd59, %rd60; + ld.local.u32 %r373, [%rd15]; + ld.local.u32 %r374, [%rd15+-4]; + and.b32 %r59, %r348, 31; + setp.eq.s32 %p28, %r59, 0; + @%p28 bra BB0_36; + + mov.u32 %r182, 32; + sub.s32 %r183, %r182, %r59; + shr.u32 %r184, %r374, %r183; + shl.b32 %r185, %r373, %r59; + add.s32 %r373, %r184, %r185; + ld.local.u32 %r186, [%rd15+-8]; + shr.u32 %r187, %r186, %r183; + shl.b32 %r188, %r374, %r59; + add.s32 %r374, %r187, %r188; + +BB0_36: + mov.b32 %r352, %f856; + and.b32 %r376, %r352, -2147483648; + shr.u32 %r189, %r374, 30; + shl.b32 %r190, %r373, 2; + add.s32 %r375, %r189, %r190; + shl.b32 %r65, %r374, 2; + shr.u32 %r191, %r375, 31; + shr.u32 %r192, %r373, 30; + add.s32 %r66, %r191, %r192; + setp.eq.s32 %p29, %r191, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r377, %r65; + bra.uni BB0_39; + +BB0_38: + mov.b32 %r354, %f856; + and.b32 %r353, %r354, -2147483648; + not.b32 %r193, %r375; + neg.s32 %r377, %r65; + setp.eq.s32 %p30, %r65, 0; + selp.u32 %r194, 1, 0, %p30; + add.s32 %r375, %r194, %r193; + xor.b32 %r376, %r353, -2147483648; + +BB0_39: + mov.b32 %r356, %f856; + and.b32 %r355, %r356, -2147483648; + clz.b32 %r379, %r375; + setp.eq.s32 %p31, %r379, 0; + shl.b32 %r195, %r375, %r379; + mov.u32 %r196, 32; + sub.s32 %r197, %r196, %r379; + shr.u32 %r198, %r377, %r197; + add.s32 %r199, %r198, %r195; + selp.b32 %r74, %r375, %r199, %p31; + mov.u32 %r200, -921707870; + mul.hi.u32 %r378, %r74, %r200; + setp.eq.s32 %p32, %r355, 0; + neg.s32 %r201, %r66; + selp.b32 %r380, %r66, %r201, %p32; + setp.lt.s32 %p33, %r378, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r202, %r74, -921707870; + shr.u32 %r203, %r202, 31; + shl.b32 %r204, %r378, 1; + add.s32 %r378, %r203, %r204; + add.s32 %r379, %r379, 1; + +BB0_41: + mov.u32 %r205, 126; + sub.s32 %r206, %r205, %r379; + shl.b32 %r207, %r206, 23; + add.s32 %r208, %r378, 1; + shr.u32 %r209, %r208, 7; + add.s32 %r210, %r209, 1; + shr.u32 %r211, %r210, 1; + add.s32 %r212, %r211, %r207; + or.b32 %r213, %r212, %r376; + mov.b32 %f857, %r213; + +BB0_42: + and.b32 %r82, %r380, 1; + setp.eq.s32 %p34, %r82, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mul.rn.f32 %f782, %f857, %f857; + mov.f32 %f341, 0f3C08839E; + mov.f32 %f342, 0fB94CA1F9; + fma.rn.f32 %f858, %f342, %f782, %f341; + bra.uni BB0_45; + +BB0_43: + mul.rn.f32 %f778, %f857, %f857; + mov.f32 %f339, 0fBAB6061A; + mov.f32 %f340, 0f37CCF5CE; + fma.rn.f32 %f858, %f340, %f778, %f339; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mul.rn.f32 %f781, %f857, %f857; + mov.f32 %f770, 0f00000000; + mov.f32 %f346, 0fBE2AAAA3; + fma.rn.f32 %f347, %f858, %f781, %f346; + fma.rn.f32 %f859, %f347, %f781, %f770; + bra.uni BB0_48; + +BB0_46: + mul.rn.f32 %f779, %f857, %f857; + mov.f32 %f343, 0f3D2AAAA5; + fma.rn.f32 %f344, %f858, %f779, %f343; + mov.f32 %f345, 0fBF000000; + fma.rn.f32 %f859, %f344, %f779, %f345; + +BB0_48: + fma.rn.f32 %f860, %f859, %f857, %f857; + @%p34 bra BB0_50; + + mul.rn.f32 %f780, %f857, %f857; + mov.f32 %f766, 0f3F800000; + fma.rn.f32 %f860, %f859, %f780, %f766; + +BB0_50: + and.b32 %r214, %r380, 2; + setp.eq.s32 %p37, %r214, 0; + @%p37 bra BB0_52; + + mov.f32 %f769, 0f00000000; + mov.f32 %f351, 0fBF800000; + fma.rn.f32 %f860, %f860, %f351, %f769; + +BB0_52: + mul.f32 %f352, %f52, %f854; + mul.f32 %f353, %f52, %f860; + mul.f32 %f354, %f10, %f353; + mul.f32 %f355, %f11, %f353; + mul.f32 %f356, %f12, %f353; + fma.rn.f32 %f357, %f19, %f352, %f354; + fma.rn.f32 %f358, %f18, %f352, %f355; + fma.rn.f32 %f359, %f17, %f352, %f356; + fma.rn.f32 %f89, %f817, %f51, %f357; + fma.rn.f32 %f90, %f818, %f51, %f358; + fma.rn.f32 %f91, %f819, %f51, %f359; + setp.gt.f32 %p38, %f90, 0f00000000; + setp.eq.s32 %p39, %r5, 0; + or.pred %p40, %p39, %p38; + @!%p40 bra BB0_54; + bra.uni BB0_53; + +BB0_53: + add.u64 %rd61, %SP, 0; + cvta.to.local.u64 %rd62, %rd61; + max.f32 %f373, %f379, %f259; + ld.global.u32 %r215, [sky]; + neg.f32 %f366, %f89; + neg.f32 %f365, %f90; + neg.f32 %f364, %f91; + mov.u32 %r216, 6; + mov.u32 %r217, 0; + // inline asm + call (%f360, %f361, %f362, %f363), _rt_texture_get_base_id, (%r215, %r216, %f364, %f365, %f366, %r217); + // inline asm + st.local.f32 [%rd62], %f360; + st.local.f32 [%rd62+4], %f361; + st.local.f32 [%rd62+8], %f362; + ld.global.u32 %r218, [root]; + mov.u32 %r219, 1; + mov.f32 %f374, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r218, %f7, %f8, %f9, %f89, %f90, %f91, %r219, %f373, %f374, %rd61, %r107); + // inline asm + mul.f32 %f381, %f818, %f90; + fma.rn.f32 %f382, %f817, %f89, %f381; + fma.rn.f32 %f383, %f819, %f91, %f382; + mul.f32 %f384, %f383, 0f40800000; + cvt.sat.f32.f32 %f385, %f384; + ld.local.f32 %f386, [%rd62]; + mul.f32 %f387, %f385, %f386; + ld.local.f32 %f388, [%rd62+4]; + mul.f32 %f389, %f385, %f388; + ld.local.f32 %f390, [%rd62+8]; + mul.f32 %f391, %f385, %f390; + fma.rn.f32 %f868, %f89, %f387, %f868; + fma.rn.f32 %f869, %f89, %f389, %f869; + fma.rn.f32 %f870, %f89, %f391, %f870; + fma.rn.f32 %f865, %f90, %f387, %f865; + fma.rn.f32 %f866, %f90, %f389, %f866; + fma.rn.f32 %f867, %f90, %f391, %f867; + fma.rn.f32 %f862, %f91, %f387, %f862; + fma.rn.f32 %f863, %f91, %f389, %f863; + fma.rn.f32 %f864, %f91, %f391, %f864; + add.f32 %f871, %f871, %f387; + add.f32 %f872, %f872, %f389; + add.f32 %f873, %f873, %f391; + cvt.sat.f32.f32 %f392, %f383; + fma.rn.f32 %f874, %f392, %f386, %f874; + fma.rn.f32 %f875, %f392, %f388, %f875; + fma.rn.f32 %f876, %f392, %f390, %f876; + +BB0_54: + mad.lo.s32 %r337, %r10, 1664525, 1013904223; + mad.lo.s32 %r360, %r337, 1664525, 1013904223; + add.s32 %r359, %r359, 1; + setp.lt.s32 %p41, %r359, %r1; + @%p41 bra BB0_6; + + mad.lo.s32 %r339, %r10, 1664525, 1013904223; + mad.lo.s32 %r360, %r339, 1664525, 1013904223; + add.s32 %r357, %r357, 1; + setp.lt.s32 %p42, %r357, %r1; + @%p42 bra BB0_5; + +BB0_56: + mul.lo.s32 %r221, %r1, %r1; + cvt.rn.f32.s32 %f393, %r221; + rcp.rn.f32 %f394, %f393; + mul.f32 %f395, %f874, %f394; + mul.f32 %f396, %f875, %f394; + mul.f32 %f397, %f876, %f394; + mul.f32 %f137, %f871, %f394; + mul.f32 %f138, %f872, %f394; + mul.f32 %f139, %f873, %f394; + mul.f32 %f140, %f868, %f394; + mul.f32 %f141, %f869, %f394; + mul.f32 %f142, %f870, %f394; + mul.f32 %f143, %f865, %f394; + mul.f32 %f144, %f866, %f394; + mul.f32 %f145, %f867, %f394; + mul.f32 %f146, %f862, %f394; + mul.f32 %f147, %f863, %f394; + mul.f32 %f148, %f864, %f394; + fma.rn.f32 %f398, %f874, %f394, %f395; + fma.rn.f32 %f399, %f875, %f394, %f396; + fma.rn.f32 %f400, %f876, %f394, %f397; + ld.global.f32 %f401, [skyColor]; + mul.f32 %f149, %f401, %f398; + ld.global.f32 %f402, [skyColor+4]; + mul.f32 %f150, %f399, %f402; + ld.global.f32 %f403, [skyColor+8]; + mul.f32 %f151, %f400, %f403; + ld.global.u32 %r381, [imageEnabled]; + and.b32 %r222, %r381, 1; + setp.eq.b32 %p43, %r222, 1; + @!%p43 bra BB0_91; + bra.uni BB0_57; + +BB0_57: + abs.f32 %f153, %f149; + setp.lt.f32 %p44, %f153, 0f00800000; + mul.f32 %f409, %f153, 0f4B800000; + selp.f32 %f410, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f411, %f409, %f153, %p44; + mov.b32 %r223, %f411; + and.b32 %r224, %r223, 8388607; + or.b32 %r225, %r224, 1065353216; + mov.b32 %f412, %r225; + shr.u32 %r226, %r223, 23; + cvt.rn.f32.u32 %f413, %r226; + add.f32 %f414, %f410, %f413; + setp.gt.f32 %p45, %f412, 0f3FB504F3; + mul.f32 %f415, %f412, 0f3F000000; + add.f32 %f416, %f414, 0f3F800000; + selp.f32 %f417, %f415, %f412, %p45; + selp.f32 %f418, %f416, %f414, %p45; + add.f32 %f419, %f417, 0fBF800000; + add.f32 %f405, %f417, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f404,%f405; + // inline asm + add.f32 %f420, %f419, %f419; + mul.f32 %f421, %f404, %f420; + mul.f32 %f422, %f421, %f421; + mov.f32 %f423, 0f3C4CAF63; + mov.f32 %f424, 0f3B18F0FE; + fma.rn.f32 %f425, %f424, %f422, %f423; + mov.f32 %f426, 0f3DAAAABD; + fma.rn.f32 %f427, %f425, %f422, %f426; + mul.rn.f32 %f428, %f427, %f422; + mul.rn.f32 %f429, %f428, %f421; + sub.f32 %f430, %f419, %f421; + neg.f32 %f431, %f421; + add.f32 %f432, %f430, %f430; + fma.rn.f32 %f433, %f431, %f419, %f432; + mul.rn.f32 %f434, %f404, %f433; + add.f32 %f435, %f429, %f421; + sub.f32 %f436, %f421, %f435; + add.f32 %f437, %f429, %f436; + add.f32 %f438, %f434, %f437; + add.f32 %f439, %f435, %f438; + sub.f32 %f440, %f435, %f439; + add.f32 %f441, %f438, %f440; + mov.f32 %f442, 0f3F317200; + mul.rn.f32 %f443, %f418, %f442; + mov.f32 %f444, 0f35BFBE8E; + mul.rn.f32 %f445, %f418, %f444; + add.f32 %f446, %f443, %f439; + sub.f32 %f447, %f443, %f446; + add.f32 %f448, %f439, %f447; + add.f32 %f449, %f441, %f448; + add.f32 %f450, %f445, %f449; + add.f32 %f451, %f446, %f450; + sub.f32 %f452, %f446, %f451; + add.f32 %f453, %f450, %f452; + mov.f32 %f454, 0f3EE66666; + mul.rn.f32 %f455, %f454, %f451; + neg.f32 %f456, %f455; + fma.rn.f32 %f457, %f454, %f451, %f456; + fma.rn.f32 %f458, %f454, %f453, %f457; + mov.f32 %f459, 0f00000000; + fma.rn.f32 %f460, %f459, %f451, %f458; + add.rn.f32 %f461, %f455, %f460; + neg.f32 %f462, %f461; + add.rn.f32 %f463, %f455, %f462; + add.rn.f32 %f464, %f463, %f460; + mov.b32 %r227, %f461; + setp.eq.s32 %p46, %r227, 1118925336; + add.s32 %r228, %r227, -1; + mov.b32 %f465, %r228; + add.f32 %f466, %f464, 0f37000000; + selp.f32 %f467, %f465, %f461, %p46; + selp.f32 %f154, %f466, %f464, %p46; + mul.f32 %f468, %f467, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f469, %f468; + mov.f32 %f470, 0fBF317200; + fma.rn.f32 %f471, %f469, %f470, %f467; + mov.f32 %f472, 0fB5BFBE8E; + fma.rn.f32 %f473, %f469, %f472, %f471; + mul.f32 %f474, %f473, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f475, %f474; + add.f32 %f476, %f469, 0f00000000; + ex2.approx.f32 %f477, %f476; + mul.f32 %f478, %f475, %f477; + setp.lt.f32 %p47, %f467, 0fC2D20000; + selp.f32 %f479, 0f00000000, %f478, %p47; + setp.gt.f32 %p48, %f467, 0f42D20000; + selp.f32 %f892, 0f7F800000, %f479, %p48; + setp.eq.f32 %p49, %f892, 0f7F800000; + @%p49 bra BB0_59; + + fma.rn.f32 %f892, %f892, %f154, %f892; + +BB0_59: + mov.f32 %f786, 0f3E666666; + cvt.rzi.f32.f32 %f785, %f786; + fma.rn.f32 %f784, %f785, 0fC0000000, 0f3EE66666; + abs.f32 %f783, %f784; + setp.lt.f32 %p50, %f149, 0f00000000; + setp.eq.f32 %p51, %f783, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r229, %f892; + xor.b32 %r230, %r229, -2147483648; + mov.b32 %f480, %r230; + selp.f32 %f894, %f480, %f892, %p1; + setp.eq.f32 %p52, %f149, 0f00000000; + @%p52 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f483, %f149, %f149; + selp.f32 %f894, %f483, 0f00000000, %p51; + bra.uni BB0_63; + +BB0_112: + mov.u64 %rd196, image_HDR; + cvta.global.u64 %rd191, %rd196; + mov.u32 %r301, 8; + mov.u64 %rd195, 0; + // inline asm + call (%rd190), _rt_buffer_get_64, (%rd191, %r91, %r301, %rd18, %rd19, %rd195, %rd195); + // inline asm + mov.f32 %f732, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs100, %f732;} + + // inline asm + mov.u16 %rs101, 0; + st.v4.u16 [%rd190], {%rs100, %rs100, %rs100, %rs101}; + +BB0_113: + ld.global.u32 %r302, [additive]; + setp.eq.s32 %p101, %r302, 0; + @%p101 bra BB0_115; + + mov.u64 %rd209, image_RNM0; + cvta.global.u64 %rd198, %rd209; + mov.u32 %r306, 8; + mov.u64 %rd208, 0; + // inline asm + call (%rd197), _rt_buffer_get_64, (%rd198, %r91, %r306, %rd18, %rd19, %rd208, %rd208); + // inline asm + ld.v4.u16 {%rs108, %rs109, %rs110, %rs111}, [%rd197]; + // inline asm + { cvt.f32.f16 %f733, %rs108;} + + // inline asm + // inline asm + { cvt.f32.f16 %f734, %rs109;} + + // inline asm + // inline asm + { cvt.f32.f16 %f735, %rs110;} + + // inline asm + // inline asm + call (%rd203), _rt_buffer_get_64, (%rd198, %r91, %r306, %rd18, %rd19, %rd208, %rd208); + // inline asm + add.f32 %f736, %f733, 0f00000000; + add.f32 %f737, %f734, 0f00000000; + add.f32 %f738, %f735, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs107, %f738;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs106, %f737;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs105, %f736;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd203], {%rs105, %rs106, %rs107, %rs112}; + bra.uni BB0_116; + +BB0_115: + mov.u64 %rd216, image_RNM0; + cvta.global.u64 %rd211, %rd216; + mov.u32 %r308, 8; + mov.u64 %rd215, 0; + // inline asm + call (%rd210), _rt_buffer_get_64, (%rd211, %r91, %r308, %rd18, %rd19, %rd215, %rd215); + // inline asm + mov.f32 %f739, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs113, %f739;} + + // inline asm + mov.u16 %rs114, 0; + st.v4.u16 [%rd210], {%rs113, %rs113, %rs113, %rs114}; + +BB0_116: + ld.global.u32 %r309, [additive]; + setp.eq.s32 %p102, %r309, 0; + @%p102 bra BB0_118; + + mov.u64 %rd229, image_RNM1; + cvta.global.u64 %rd218, %rd229; + mov.u32 %r313, 8; + mov.u64 %rd228, 0; + // inline asm + call (%rd217), _rt_buffer_get_64, (%rd218, %r91, %r313, %rd18, %rd19, %rd228, %rd228); + // inline asm + ld.v4.u16 {%rs121, %rs122, %rs123, %rs124}, [%rd217]; + // inline asm + { cvt.f32.f16 %f740, %rs121;} + + // inline asm + // inline asm + { cvt.f32.f16 %f741, %rs122;} + + // inline asm + // inline asm + { cvt.f32.f16 %f742, %rs123;} + + // inline asm + // inline asm + call (%rd223), _rt_buffer_get_64, (%rd218, %r91, %r313, %rd18, %rd19, %rd228, %rd228); + // inline asm + add.f32 %f743, %f740, 0f00000000; + add.f32 %f744, %f741, 0f00000000; + add.f32 %f745, %f742, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs120, %f745;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs119, %f744;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs118, %f743;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd223], {%rs118, %rs119, %rs120, %rs125}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd236, image_RNM1; + cvta.global.u64 %rd231, %rd236; + mov.u32 %r315, 8; + mov.u64 %rd235, 0; + // inline asm + call (%rd230), _rt_buffer_get_64, (%rd231, %r91, %r315, %rd18, %rd19, %rd235, %rd235); + // inline asm + mov.f32 %f746, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs126, %f746;} + + // inline asm + mov.u16 %rs127, 0; + st.v4.u16 [%rd230], {%rs126, %rs126, %rs126, %rs127}; + +BB0_119: + ld.global.u32 %r316, [additive]; + setp.eq.s32 %p103, %r316, 0; + @%p103 bra BB0_121; + + mov.u64 %rd249, image_RNM2; + cvta.global.u64 %rd238, %rd249; + mov.u32 %r320, 8; + mov.u64 %rd248, 0; + // inline asm + call (%rd237), _rt_buffer_get_64, (%rd238, %r91, %r320, %rd18, %rd19, %rd248, %rd248); + // inline asm + ld.v4.u16 {%rs134, %rs135, %rs136, %rs137}, [%rd237]; + // inline asm + { cvt.f32.f16 %f747, %rs134;} + + // inline asm + // inline asm + { cvt.f32.f16 %f748, %rs135;} + + // inline asm + // inline asm + { cvt.f32.f16 %f749, %rs136;} + + // inline asm + // inline asm + call (%rd243), _rt_buffer_get_64, (%rd238, %r91, %r320, %rd18, %rd19, %rd248, %rd248); + // inline asm + add.f32 %f750, %f747, 0f00000000; + add.f32 %f751, %f748, 0f00000000; + add.f32 %f752, %f749, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs133, %f752;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs132, %f751;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs131, %f750;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd243], {%rs131, %rs132, %rs133, %rs138}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd256, image_RNM2; + cvta.global.u64 %rd251, %rd256; + mov.u32 %r322, 8; + mov.u64 %rd255, 0; + // inline asm + call (%rd250), _rt_buffer_get_64, (%rd251, %r91, %r322, %rd18, %rd19, %rd255, %rd255); + // inline asm + mov.f32 %f753, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs139, %f753;} + + // inline asm + mov.u16 %rs140, 0; + st.v4.u16 [%rd250], {%rs139, %rs139, %rs139, %rs140}; + +BB0_122: + ld.global.u32 %r323, [additive]; + setp.eq.s32 %p104, %r323, 0; + @%p104 bra BB0_124; + + mov.u64 %rd269, image_RNM3; + cvta.global.u64 %rd258, %rd269; + mov.u32 %r327, 8; + mov.u64 %rd268, 0; + // inline asm + call (%rd257), _rt_buffer_get_64, (%rd258, %r91, %r327, %rd18, %rd19, %rd268, %rd268); + // inline asm + ld.v4.u16 {%rs147, %rs148, %rs149, %rs150}, [%rd257]; + // inline asm + { cvt.f32.f16 %f754, %rs147;} + + // inline asm + // inline asm + { cvt.f32.f16 %f755, %rs148;} + + // inline asm + // inline asm + { cvt.f32.f16 %f756, %rs149;} + + // inline asm + // inline asm + call (%rd263), _rt_buffer_get_64, (%rd258, %r91, %r327, %rd18, %rd19, %rd268, %rd268); + // inline asm + add.f32 %f757, %f754, 0f00000000; + add.f32 %f758, %f755, 0f00000000; + add.f32 %f759, %f756, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs146, %f759;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs145, %f758;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs144, %f757;} + + // inline asm + mov.u16 %rs151, 0; + st.v4.u16 [%rd263], {%rs144, %rs145, %rs146, %rs151}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd276, image_RNM3; + cvta.global.u64 %rd271, %rd276; + mov.u32 %r329, 8; + mov.u64 %rd275, 0; + // inline asm + call (%rd270), _rt_buffer_get_64, (%rd271, %r91, %r329, %rd18, %rd19, %rd275, %rd275); + // inline asm + mov.f32 %f760, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs152, %f760;} + + // inline asm + mov.u16 %rs153, 0; + st.v4.u16 [%rd270], {%rs152, %rs152, %rs152, %rs153}; + bra.uni BB0_125; + +BB0_60: + setp.geu.f32 %p53, %f149, 0f00000000; + @%p53 bra BB0_63; + + mov.f32 %f810, 0f3EE66666; + cvt.rzi.f32.f32 %f482, %f810; + setp.neu.f32 %p54, %f482, 0f3EE66666; + selp.f32 %f894, 0f7FFFFFFF, %f894, %p54; + +BB0_63: + abs.f32 %f787, %f149; + add.f32 %f484, %f787, 0f3EE66666; + mov.b32 %r231, %f484; + setp.lt.s32 %p56, %r231, 2139095040; + @%p56 bra BB0_68; + + abs.f32 %f808, %f149; + setp.gtu.f32 %p57, %f808, 0f7F800000; + @%p57 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f894, %f149, 0f3EE66666; + bra.uni BB0_68; + +BB0_65: + abs.f32 %f809, %f149; + setp.neu.f32 %p58, %f809, 0f7F800000; + @%p58 bra BB0_68; + + selp.f32 %f894, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + mov.f32 %f796, 0fB5BFBE8E; + mov.f32 %f795, 0fBF317200; + mov.f32 %f794, 0f00000000; + mov.f32 %f793, 0f35BFBE8E; + mov.f32 %f792, 0f3F317200; + mov.f32 %f791, 0f3DAAAABD; + mov.f32 %f790, 0f3C4CAF63; + mov.f32 %f789, 0f3B18F0FE; + mov.f32 %f788, 0f3EE66666; + setp.eq.f32 %p59, %f149, 0f3F800000; + selp.f32 %f165, 0f3F800000, %f894, %p59; + abs.f32 %f166, %f150; + setp.lt.f32 %p60, %f166, 0f00800000; + mul.f32 %f487, %f166, 0f4B800000; + selp.f32 %f488, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f489, %f487, %f166, %p60; + mov.b32 %r232, %f489; + and.b32 %r233, %r232, 8388607; + or.b32 %r234, %r233, 1065353216; + mov.b32 %f490, %r234; + shr.u32 %r235, %r232, 23; + cvt.rn.f32.u32 %f491, %r235; + add.f32 %f492, %f488, %f491; + setp.gt.f32 %p61, %f490, 0f3FB504F3; + mul.f32 %f493, %f490, 0f3F000000; + add.f32 %f494, %f492, 0f3F800000; + selp.f32 %f495, %f493, %f490, %p61; + selp.f32 %f496, %f494, %f492, %p61; + add.f32 %f497, %f495, 0fBF800000; + add.f32 %f486, %f495, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f485,%f486; + // inline asm + add.f32 %f498, %f497, %f497; + mul.f32 %f499, %f485, %f498; + mul.f32 %f500, %f499, %f499; + fma.rn.f32 %f503, %f789, %f500, %f790; + fma.rn.f32 %f505, %f503, %f500, %f791; + mul.rn.f32 %f506, %f505, %f500; + mul.rn.f32 %f507, %f506, %f499; + sub.f32 %f508, %f497, %f499; + neg.f32 %f509, %f499; + add.f32 %f510, %f508, %f508; + fma.rn.f32 %f511, %f509, %f497, %f510; + mul.rn.f32 %f512, %f485, %f511; + add.f32 %f513, %f507, %f499; + sub.f32 %f514, %f499, %f513; + add.f32 %f515, %f507, %f514; + add.f32 %f516, %f512, %f515; + add.f32 %f517, %f513, %f516; + sub.f32 %f518, %f513, %f517; + add.f32 %f519, %f516, %f518; + mul.rn.f32 %f521, %f496, %f792; + mul.rn.f32 %f523, %f496, %f793; + add.f32 %f524, %f521, %f517; + sub.f32 %f525, %f521, %f524; + add.f32 %f526, %f517, %f525; + add.f32 %f527, %f519, %f526; + add.f32 %f528, %f523, %f527; + add.f32 %f529, %f524, %f528; + sub.f32 %f530, %f524, %f529; + add.f32 %f531, %f528, %f530; + mul.rn.f32 %f533, %f788, %f529; + neg.f32 %f534, %f533; + fma.rn.f32 %f535, %f788, %f529, %f534; + fma.rn.f32 %f536, %f788, %f531, %f535; + fma.rn.f32 %f538, %f794, %f529, %f536; + add.rn.f32 %f539, %f533, %f538; + neg.f32 %f540, %f539; + add.rn.f32 %f541, %f533, %f540; + add.rn.f32 %f542, %f541, %f538; + mov.b32 %r236, %f539; + setp.eq.s32 %p62, %r236, 1118925336; + add.s32 %r237, %r236, -1; + mov.b32 %f543, %r237; + add.f32 %f544, %f542, 0f37000000; + selp.f32 %f545, %f543, %f539, %p62; + selp.f32 %f167, %f544, %f542, %p62; + mul.f32 %f546, %f545, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f547, %f546; + fma.rn.f32 %f549, %f547, %f795, %f545; + fma.rn.f32 %f551, %f547, %f796, %f549; + mul.f32 %f552, %f551, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f553, %f552; + add.f32 %f554, %f547, 0f00000000; + ex2.approx.f32 %f555, %f554; + mul.f32 %f556, %f553, %f555; + setp.lt.f32 %p63, %f545, 0fC2D20000; + selp.f32 %f557, 0f00000000, %f556, %p63; + setp.gt.f32 %p64, %f545, 0f42D20000; + selp.f32 %f895, 0f7F800000, %f557, %p64; + setp.eq.f32 %p65, %f895, 0f7F800000; + @%p65 bra BB0_70; + + fma.rn.f32 %f895, %f895, %f167, %f895; + +BB0_70: + setp.lt.f32 %p66, %f150, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r238, %f895; + xor.b32 %r239, %r238, -2147483648; + mov.b32 %f558, %r239; + selp.f32 %f897, %f558, %f895, %p2; + setp.eq.f32 %p68, %f150, 0f00000000; + @%p68 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f561, %f150, %f150; + selp.f32 %f897, %f561, 0f00000000, %p51; + bra.uni BB0_74; + +BB0_71: + setp.geu.f32 %p69, %f150, 0f00000000; + @%p69 bra BB0_74; + + mov.f32 %f807, 0f3EE66666; + cvt.rzi.f32.f32 %f560, %f807; + setp.neu.f32 %p70, %f560, 0f3EE66666; + selp.f32 %f897, 0f7FFFFFFF, %f897, %p70; + +BB0_74: + abs.f32 %f811, %f150; + add.f32 %f562, %f811, 0f3EE66666; + mov.b32 %r240, %f562; + setp.lt.s32 %p72, %r240, 2139095040; + @%p72 bra BB0_79; + + abs.f32 %f812, %f150; + setp.gtu.f32 %p73, %f812, 0f7F800000; + @%p73 bra BB0_78; + bra.uni BB0_76; + +BB0_78: + add.f32 %f897, %f150, 0f3EE66666; + bra.uni BB0_79; + +BB0_76: + abs.f32 %f813, %f150; + setp.neu.f32 %p74, %f813, 0f7F800000; + @%p74 bra BB0_79; + + selp.f32 %f897, 0fFF800000, 0f7F800000, %p2; + +BB0_79: + mov.f32 %f805, 0fB5BFBE8E; + mov.f32 %f804, 0fBF317200; + mov.f32 %f803, 0f00000000; + mov.f32 %f802, 0f35BFBE8E; + mov.f32 %f801, 0f3F317200; + mov.f32 %f800, 0f3DAAAABD; + mov.f32 %f799, 0f3C4CAF63; + mov.f32 %f798, 0f3B18F0FE; + mov.f32 %f797, 0f3EE66666; + setp.eq.f32 %p75, %f150, 0f3F800000; + selp.f32 %f178, 0f3F800000, %f897, %p75; + abs.f32 %f179, %f151; + setp.lt.f32 %p76, %f179, 0f00800000; + mul.f32 %f565, %f179, 0f4B800000; + selp.f32 %f566, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f567, %f565, %f179, %p76; + mov.b32 %r241, %f567; + and.b32 %r242, %r241, 8388607; + or.b32 %r243, %r242, 1065353216; + mov.b32 %f568, %r243; + shr.u32 %r244, %r241, 23; + cvt.rn.f32.u32 %f569, %r244; + add.f32 %f570, %f566, %f569; + setp.gt.f32 %p77, %f568, 0f3FB504F3; + mul.f32 %f571, %f568, 0f3F000000; + add.f32 %f572, %f570, 0f3F800000; + selp.f32 %f573, %f571, %f568, %p77; + selp.f32 %f574, %f572, %f570, %p77; + add.f32 %f575, %f573, 0fBF800000; + add.f32 %f564, %f573, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f563,%f564; + // inline asm + add.f32 %f576, %f575, %f575; + mul.f32 %f577, %f563, %f576; + mul.f32 %f578, %f577, %f577; + fma.rn.f32 %f581, %f798, %f578, %f799; + fma.rn.f32 %f583, %f581, %f578, %f800; + mul.rn.f32 %f584, %f583, %f578; + mul.rn.f32 %f585, %f584, %f577; + sub.f32 %f586, %f575, %f577; + neg.f32 %f587, %f577; + add.f32 %f588, %f586, %f586; + fma.rn.f32 %f589, %f587, %f575, %f588; + mul.rn.f32 %f590, %f563, %f589; + add.f32 %f591, %f585, %f577; + sub.f32 %f592, %f577, %f591; + add.f32 %f593, %f585, %f592; + add.f32 %f594, %f590, %f593; + add.f32 %f595, %f591, %f594; + sub.f32 %f596, %f591, %f595; + add.f32 %f597, %f594, %f596; + mul.rn.f32 %f599, %f574, %f801; + mul.rn.f32 %f601, %f574, %f802; + add.f32 %f602, %f599, %f595; + sub.f32 %f603, %f599, %f602; + add.f32 %f604, %f595, %f603; + add.f32 %f605, %f597, %f604; + add.f32 %f606, %f601, %f605; + add.f32 %f607, %f602, %f606; + sub.f32 %f608, %f602, %f607; + add.f32 %f609, %f606, %f608; + mul.rn.f32 %f611, %f797, %f607; + neg.f32 %f612, %f611; + fma.rn.f32 %f613, %f797, %f607, %f612; + fma.rn.f32 %f614, %f797, %f609, %f613; + fma.rn.f32 %f616, %f803, %f607, %f614; + add.rn.f32 %f617, %f611, %f616; + neg.f32 %f618, %f617; + add.rn.f32 %f619, %f611, %f618; + add.rn.f32 %f620, %f619, %f616; + mov.b32 %r245, %f617; + setp.eq.s32 %p78, %r245, 1118925336; + add.s32 %r246, %r245, -1; + mov.b32 %f621, %r246; + add.f32 %f622, %f620, 0f37000000; + selp.f32 %f623, %f621, %f617, %p78; + selp.f32 %f180, %f622, %f620, %p78; + mul.f32 %f624, %f623, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f625, %f624; + fma.rn.f32 %f627, %f625, %f804, %f623; + fma.rn.f32 %f629, %f625, %f805, %f627; + mul.f32 %f630, %f629, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f631, %f630; + add.f32 %f632, %f625, 0f00000000; + ex2.approx.f32 %f633, %f632; + mul.f32 %f634, %f631, %f633; + setp.lt.f32 %p79, %f623, 0fC2D20000; + selp.f32 %f635, 0f00000000, %f634, %p79; + setp.gt.f32 %p80, %f623, 0f42D20000; + selp.f32 %f898, 0f7F800000, %f635, %p80; + setp.eq.f32 %p81, %f898, 0f7F800000; + @%p81 bra BB0_81; + + fma.rn.f32 %f898, %f898, %f180, %f898; + +BB0_81: + setp.lt.f32 %p82, %f151, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r247, %f898; + xor.b32 %r248, %r247, -2147483648; + mov.b32 %f636, %r248; + selp.f32 %f900, %f636, %f898, %p3; + setp.eq.f32 %p84, %f151, 0f00000000; + @%p84 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f639, %f151, %f151; + selp.f32 %f900, %f639, 0f00000000, %p51; + bra.uni BB0_85; + +BB0_82: + setp.geu.f32 %p85, %f151, 0f00000000; + @%p85 bra BB0_85; + + mov.f32 %f806, 0f3EE66666; + cvt.rzi.f32.f32 %f638, %f806; + setp.neu.f32 %p86, %f638, 0f3EE66666; + selp.f32 %f900, 0f7FFFFFFF, %f900, %p86; + +BB0_85: + abs.f32 %f814, %f151; + add.f32 %f640, %f814, 0f3EE66666; + mov.b32 %r249, %f640; + setp.lt.s32 %p88, %r249, 2139095040; + @%p88 bra BB0_90; + + abs.f32 %f815, %f151; + setp.gtu.f32 %p89, %f815, 0f7F800000; + @%p89 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f900, %f151, 0f3EE66666; + bra.uni BB0_90; + +BB0_87: + abs.f32 %f816, %f151; + setp.neu.f32 %p90, %f816, 0f7F800000; + @%p90 bra BB0_90; + + selp.f32 %f900, 0fFF800000, 0f7F800000, %p3; + +BB0_90: + mov.u32 %r340, 4; + setp.eq.f32 %p91, %f151, 0f3F800000; + selp.f32 %f641, 0f3F800000, %f900, %p91; + cvt.u64.u32 %rd66, %r4; + cvt.u64.u32 %rd65, %r3; + mov.u64 %rd69, image; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r91, %r340, %rd65, %rd66, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f642, %f641; + mul.f32 %f643, %f642, 0f437FFD71; + cvt.rzi.u32.f32 %r252, %f643; + cvt.sat.f32.f32 %f644, %f178; + mul.f32 %f645, %f644, 0f437FFD71; + cvt.rzi.u32.f32 %r253, %f645; + cvt.sat.f32.f32 %f646, %f165; + mul.f32 %f647, %f646, 0f437FFD71; + cvt.rzi.u32.f32 %r254, %f647; + cvt.u16.u32 %rs14, %r252; + cvt.u16.u32 %rs15, %r254; + cvt.u16.u32 %rs16, %r253; + mov.u16 %rs17, 255; + st.v4.u8 [%rd63], {%rs14, %rs16, %rs15, %rs17}; + ld.global.u32 %r381, [imageEnabled]; + +BB0_91: + cvt.u64.u32 %rd16, %r3; + cvt.u64.u32 %rd17, %r4; + and.b32 %r255, %r381, 4; + setp.eq.s32 %p92, %r255, 0; + @%p92 bra BB0_95; + + ld.global.u32 %r256, [additive]; + setp.eq.s32 %p93, %r256, 0; + mov.f32 %f648, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs18, %f648;} + + // inline asm + @%p93 bra BB0_94; + + mov.u64 %rd82, image_HDR; + cvta.global.u64 %rd71, %rd82; + mov.u32 %r260, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r91, %r260, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs25, %rs26, %rs27, %rs28}, [%rd70]; + // inline asm + { cvt.f32.f16 %f649, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f650, %rs26;} + + // inline asm + // inline asm + { cvt.f32.f16 %f651, %rs27;} + + // inline asm + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd71, %r91, %r260, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f652, %f149, %f649; + add.f32 %f653, %f150, %f650; + add.f32 %f654, %f151, %f651; + // inline asm + { cvt.rn.f16.f32 %rs24, %f654;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs23, %f653;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f652;} + + // inline asm + st.v4.u16 [%rd76], {%rs22, %rs23, %rs24, %rs18}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd89, image_HDR; + cvta.global.u64 %rd84, %rd89; + mov.u32 %r262, 8; + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd84, %r91, %r262, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f151;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f150;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f149;} + + // inline asm + st.v4.u16 [%rd83], {%rs29, %rs30, %rs31, %rs18}; + +BB0_95: + ld.global.f32 %f659, [skyColor]; + mul.f32 %f660, %f137, %f659; + ld.global.f32 %f661, [skyColor+4]; + mul.f32 %f662, %f138, %f661; + ld.global.f32 %f663, [skyColor+8]; + mul.f32 %f664, %f139, %f663; + mul.f32 %f191, %f140, %f659; + mul.f32 %f192, %f141, %f661; + mul.f32 %f193, %f142, %f663; + mul.f32 %f194, %f143, %f659; + mul.f32 %f195, %f144, %f661; + mul.f32 %f196, %f145, %f663; + mul.f32 %f197, %f146, %f659; + mul.f32 %f198, %f147, %f661; + mul.f32 %f199, %f148, %f663; + mul.f32 %f200, %f660, 0f3F000000; + mul.f32 %f201, %f662, 0f3F000000; + mul.f32 %f202, %f664, 0f3F000000; + ld.global.u32 %r263, [additive]; + setp.eq.s32 %p94, %r263, 0; + mov.f32 %f658, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs32, %f658;} + + // inline asm + @%p94 bra BB0_97; + + mov.u64 %rd102, image_RNM0; + cvta.global.u64 %rd91, %rd102; + mov.u32 %r267, 8; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r91, %r267, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs39, %rs40, %rs41, %rs42}, [%rd90]; + // inline asm + { cvt.f32.f16 %f665, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f666, %rs40;} + + // inline asm + // inline asm + { cvt.f32.f16 %f667, %rs41;} + + // inline asm + // inline asm + call (%rd96), _rt_buffer_get_64, (%rd91, %r91, %r267, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f668, %f200, %f665; + add.f32 %f669, %f201, %f666; + add.f32 %f670, %f202, %f667; + // inline asm + { cvt.rn.f16.f32 %rs38, %f670;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f669;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f668;} + + // inline asm + st.v4.u16 [%rd96], {%rs36, %rs37, %rs38, %rs32}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd109, image_RNM0; + cvta.global.u64 %rd104, %rd109; + mov.u32 %r269, 8; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd104, %r91, %r269, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f202;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f201;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f200;} + + // inline asm + st.v4.u16 [%rd103], {%rs43, %rs44, %rs45, %rs32}; + +BB0_98: + mov.f32 %f675, 0f34000000; + max.f32 %f676, %f200, %f675; + mul.f32 %f677, %f191, 0f3F000000; + div.rn.f32 %f678, %f677, %f676; + max.f32 %f679, %f201, %f675; + mul.f32 %f680, %f192, 0f3F000000; + div.rn.f32 %f681, %f680, %f679; + max.f32 %f682, %f202, %f675; + mul.f32 %f683, %f193, 0f3F000000; + div.rn.f32 %f684, %f683, %f682; + fma.rn.f32 %f203, %f678, 0f3F000000, 0f3F000000; + fma.rn.f32 %f204, %f681, 0f3F000000, 0f3F000000; + fma.rn.f32 %f205, %f684, 0f3F000000, 0f3F000000; + mul.f32 %f685, %f194, 0f3F000000; + div.rn.f32 %f686, %f685, %f676; + mul.f32 %f687, %f195, 0f3F000000; + div.rn.f32 %f688, %f687, %f679; + mul.f32 %f689, %f196, 0f3F000000; + div.rn.f32 %f690, %f689, %f682; + fma.rn.f32 %f206, %f686, 0f3F000000, 0f3F000000; + fma.rn.f32 %f207, %f688, 0f3F000000, 0f3F000000; + fma.rn.f32 %f208, %f690, 0f3F000000, 0f3F000000; + mul.f32 %f691, %f197, 0f3F000000; + div.rn.f32 %f692, %f691, %f676; + mul.f32 %f693, %f198, 0f3F000000; + div.rn.f32 %f694, %f693, %f679; + mul.f32 %f695, %f199, 0f3F000000; + div.rn.f32 %f696, %f695, %f682; + fma.rn.f32 %f209, %f692, 0f3F000000, 0f3F000000; + fma.rn.f32 %f210, %f694, 0f3F000000, 0f3F000000; + fma.rn.f32 %f211, %f696, 0f3F000000, 0f3F000000; + ld.global.u32 %r270, [additive]; + setp.eq.s32 %p95, %r270, 0; + // inline asm + { cvt.rn.f16.f32 %rs46, %f658;} + + // inline asm + @%p95 bra BB0_100; + + mov.u64 %rd122, image_RNM1; + cvta.global.u64 %rd111, %rd122; + mov.u32 %r274, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r91, %r274, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd110]; + // inline asm + { cvt.f32.f16 %f697, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f698, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f699, %rs55;} + + // inline asm + // inline asm + call (%rd116), _rt_buffer_get_64, (%rd111, %r91, %r274, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f700, %f203, %f697; + add.f32 %f701, %f204, %f698; + add.f32 %f702, %f205, %f699; + // inline asm + { cvt.rn.f16.f32 %rs52, %f702;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f701;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f700;} + + // inline asm + st.v4.u16 [%rd116], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd129, image_RNM1; + cvta.global.u64 %rd124, %rd129; + mov.u32 %r276, 8; + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd124, %r91, %r276, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f205;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f204;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f203;} + + // inline asm + st.v4.u16 [%rd123], {%rs57, %rs58, %rs59, %rs46}; + +BB0_101: + ld.global.u32 %r277, [additive]; + setp.eq.s32 %p96, %r277, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f658;} + + // inline asm + @%p96 bra BB0_103; + + mov.u64 %rd142, image_RNM2; + cvta.global.u64 %rd131, %rd142; + mov.u32 %r281, 8; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r91, %r281, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd130]; + // inline asm + { cvt.f32.f16 %f707, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f708, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f709, %rs69;} + + // inline asm + // inline asm + call (%rd136), _rt_buffer_get_64, (%rd131, %r91, %r281, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f710, %f206, %f707; + add.f32 %f711, %f207, %f708; + add.f32 %f712, %f208, %f709; + // inline asm + { cvt.rn.f16.f32 %rs66, %f712;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f711;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f710;} + + // inline asm + st.v4.u16 [%rd136], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_104; + +BB0_103: + mov.u64 %rd149, image_RNM2; + cvta.global.u64 %rd144, %rd149; + mov.u32 %r283, 8; + // inline asm + call (%rd143), _rt_buffer_get_64, (%rd144, %r91, %r283, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f208;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f207;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f206;} + + // inline asm + st.v4.u16 [%rd143], {%rs71, %rs72, %rs73, %rs60}; + +BB0_104: + ld.global.u32 %r284, [additive]; + setp.eq.s32 %p97, %r284, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f658;} + + // inline asm + @%p97 bra BB0_106; + + mov.u64 %rd162, image_RNM3; + cvta.global.u64 %rd151, %rd162; + mov.u32 %r288, 8; + // inline asm + call (%rd150), _rt_buffer_get_64, (%rd151, %r91, %r288, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd150]; + // inline asm + { cvt.f32.f16 %f717, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f718, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f719, %rs83;} + + // inline asm + // inline asm + call (%rd156), _rt_buffer_get_64, (%rd151, %r91, %r288, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f720, %f209, %f717; + add.f32 %f721, %f210, %f718; + add.f32 %f722, %f211, %f719; + // inline asm + { cvt.rn.f16.f32 %rs80, %f722;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f721;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f720;} + + // inline asm + st.v4.u16 [%rd156], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_125; + +BB0_106: + mov.u64 %rd169, image_RNM3; + cvta.global.u64 %rd164, %rd169; + mov.u32 %r290, 8; + // inline asm + call (%rd163), _rt_buffer_get_64, (%rd164, %r91, %r290, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f211;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f210;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f209;} + + // inline asm + st.v4.u16 [%rd163], {%rs85, %rs86, %rs87, %rs74}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx.meta new file mode 100644 index 00000000..e93ec5d6 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyCubemapSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a6c1a03eceb6e2743b2b8a4a10e9d536 +timeCreated: 1537562646 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyDir.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyDir.ptx new file mode 100644 index 00000000..0084bde5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyDir.ptx @@ -0,0 +1,1420 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .texref sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<99>; + .reg .b16 %rs<51>; + .reg .f32 %f<620>; + .reg .b32 %r<311>; + .reg .b64 %rd<129>; + + + mov.u64 %rd128, __local_depot0; + cvta.local.u64 %SP, %rd128; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r93, %r94}, [pixelID]; + cvt.u64.u32 %rd21, %r93; + cvt.u64.u32 %rd22, %r94; + mov.u64 %rd25, uvnormal; + cvta.global.u64 %rd20, %rd25; + mov.u32 %r91, 2; + mov.u32 %r92, 4; + mov.u64 %rd24, 0; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r91, %r92, %rd21, %rd22, %rd24, %rd24); + // inline asm + ld.u32 %r2, [%rd19]; + shr.u32 %r97, %r2, 16; + cvt.u16.u32 %rs1, %r97; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r2; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p4, %rs5, 0; + mov.f32 %f580, 0f00000000; + mov.f32 %f581, %f580; + mov.f32 %f582, %f580; + @%p4 bra BB0_2; + + ld.u8 %rs6, [%rd19+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f127, %rs8; + div.rn.f32 %f128, %f127, 0f437F0000; + fma.rn.f32 %f129, %f128, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f130, %rs6; + div.rn.f32 %f131, %f130, 0f437F0000; + fma.rn.f32 %f132, %f131, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f133, %rs3; + div.rn.f32 %f134, %f133, 0f437F0000; + fma.rn.f32 %f135, %f134, 0f40000000, 0fBF800000; + mul.f32 %f136, %f132, %f132; + fma.rn.f32 %f137, %f129, %f129, %f136; + fma.rn.f32 %f138, %f135, %f135, %f137; + sqrt.rn.f32 %f139, %f138; + rcp.rn.f32 %f140, %f139; + mul.f32 %f580, %f129, %f140; + mul.f32 %f581, %f132, %f140; + mul.f32 %f582, %f135, %f140; + +BB0_2: + ld.global.v2.u32 {%r98, %r99}, [pixelID]; + ld.global.v2.u32 {%r101, %r102}, [tileInfo]; + add.s32 %r3, %r98, %r101; + add.s32 %r4, %r99, %r102; + setp.eq.f32 %p5, %f581, 0f00000000; + setp.eq.f32 %p6, %f580, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f582, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_97; + bra.uni BB0_3; + +BB0_97: + ld.global.u32 %r310, [imageEnabled]; + and.b32 %r266, %r310, 1; + setp.eq.b32 %p95, %r266, 1; + @!%p95 bra BB0_99; + bra.uni BB0_98; + +BB0_98: + cvt.u64.u32 %rd88, %r3; + cvt.u64.u32 %rd89, %r4; + mov.u64 %rd92, image; + cvta.global.u64 %rd87, %rd92; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd87, %r91, %r92, %rd88, %rd89, %rd24, %rd24); + // inline asm + mov.u16 %rs34, 0; + st.v4.u8 [%rd86], {%rs34, %rs34, %rs34, %rs34}; + ld.global.u32 %r310, [imageEnabled]; + +BB0_99: + and.b32 %r269, %r310, 4; + setp.eq.s32 %p96, %r269, 0; + @%p96 bra BB0_103; + + ld.global.u32 %r270, [additive]; + setp.eq.s32 %p97, %r270, 0; + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + @%p97 bra BB0_102; + + mov.u64 %rd105, image_HDR; + cvta.global.u64 %rd94, %rd105; + mov.u32 %r274, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r91, %r274, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd93]; + // inline asm + { cvt.f32.f16 %f543, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f544, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f545, %rs43;} + + // inline asm + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd94, %r91, %r274, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f546, %f543, 0f00000000; + add.f32 %f547, %f544, 0f00000000; + add.f32 %f548, %f545, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs40, %f548;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f547;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f546;} + + // inline asm + mov.u16 %rs45, 0; + st.v4.u16 [%rd99], {%rs38, %rs39, %rs40, %rs45}; + bra.uni BB0_103; + +BB0_3: + ld.global.v2.u32 {%r110, %r111}, [pixelID]; + cvt.u64.u32 %rd28, %r110; + cvt.u64.u32 %rd29, %r111; + mov.u64 %rd38, uvpos; + cvta.global.u64 %rd27, %rd38; + mov.u32 %r107, 12; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r91, %r107, %rd28, %rd29, %rd24, %rd24); + // inline asm + ld.f32 %f145, [%rd26+8]; + ld.f32 %f146, [%rd26+4]; + ld.f32 %f147, [%rd26]; + mul.f32 %f148, %f147, 0f3456BF95; + mul.f32 %f149, %f146, 0f3456BF95; + mul.f32 %f150, %f145, 0f3456BF95; + abs.f32 %f151, %f580; + div.rn.f32 %f152, %f148, %f151; + abs.f32 %f153, %f581; + div.rn.f32 %f154, %f149, %f153; + abs.f32 %f155, %f582; + div.rn.f32 %f156, %f150, %f155; + abs.f32 %f157, %f152; + abs.f32 %f158, %f154; + abs.f32 %f159, %f156; + mov.f32 %f160, 0f38D1B717; + max.f32 %f161, %f157, %f160; + max.f32 %f162, %f158, %f160; + max.f32 %f163, %f159, %f160; + fma.rn.f32 %f7, %f580, %f161, %f147; + fma.rn.f32 %f8, %f581, %f162, %f146; + fma.rn.f32 %f9, %f582, %f163, %f145; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f151, %f155; + neg.f32 %f164, %f581; + selp.f32 %f165, %f164, 0f00000000, %p10; + neg.f32 %f166, %f582; + selp.f32 %f167, %f580, %f166, %p10; + selp.f32 %f168, 0f00000000, %f581, %p10; + mul.f32 %f169, %f167, %f167; + fma.rn.f32 %f170, %f165, %f165, %f169; + fma.rn.f32 %f171, %f168, %f168, %f170; + sqrt.rn.f32 %f172, %f171; + rcp.rn.f32 %f173, %f172; + mul.f32 %f10, %f165, %f173; + mul.f32 %f11, %f167, %f173; + mul.f32 %f12, %f168, %f173; + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + cvt.u64.u32 %rd34, %r114; + cvt.u64.u32 %rd35, %r115; + mov.u64 %rd39, rnd_seeds; + cvta.global.u64 %rd33, %rd39; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r91, %r92, %rd34, %rd35, %rd24, %rd24); + // inline asm + mov.f32 %f606, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f605, %f606; + mov.f32 %f604, %f606; + mov.f32 %f603, %f606; + @%p11 bra BB0_56; + + cvt.rn.f32.s32 %f178, %r1; + rcp.rn.f32 %f13, %f178; + ld.u32 %r288, [%rd32]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f179, %f580, %f11; + mul.f32 %f180, %f581, %f10; + sub.f32 %f17, %f180, %f179; + mul.f32 %f181, %f582, %f10; + mul.f32 %f182, %f580, %f12; + sub.f32 %f18, %f182, %f181; + mul.f32 %f183, %f581, %f12; + mul.f32 %f184, %f582, %f11; + sub.f32 %f19, %f184, %f183; + mov.f32 %f606, 0f00000000; + mov.u32 %r118, 0; + abs.f32 %f258, %f15; + abs.f32 %f259, %f14; + max.f32 %f260, %f259, %f258; + abs.f32 %f261, %f16; + max.f32 %f262, %f260, %f261; + mov.u32 %r285, %r118; + mov.f32 %f605, %f606; + mov.f32 %f604, %f606; + mov.f32 %f603, %f606; + +BB0_5: + cvt.rn.f32.s32 %f24, %r285; + mov.u32 %r287, %r118; + +BB0_6: + mad.lo.s32 %r120, %r288, 1664525, 1013904223; + and.b32 %r121, %r120, 16777215; + cvt.rn.f32.u32 %f185, %r121; + fma.rn.f32 %f186, %f185, 0f33800000, %f24; + mul.f32 %f29, %f13, %f186; + mad.lo.s32 %r288, %r120, 1664525, 1013904223; + and.b32 %r122, %r288, 16777215; + cvt.rn.f32.u32 %f187, %r122; + cvt.rn.f32.s32 %f188, %r287; + fma.rn.f32 %f189, %f187, 0f33800000, %f188; + mul.f32 %f190, %f13, %f189; + mul.f32 %f191, %f29, %f29; + mov.f32 %f192, 0f3F800000; + sub.f32 %f193, %f192, %f191; + mov.f32 %f194, 0f00000000; + max.f32 %f195, %f194, %f193; + sqrt.rn.f32 %f30, %f195; + mul.f32 %f597, %f190, 0f40C90FDB; + abs.f32 %f32, %f597; + setp.neu.f32 %p12, %f32, 0f7F800000; + mov.f32 %f591, %f597; + @%p12 bra BB0_8; + + mul.rn.f32 %f591, %f597, %f194; + +BB0_8: + mul.f32 %f197, %f591, 0f3F22F983; + cvt.rni.s32.f32 %r298, %f197; + cvt.rn.f32.s32 %f198, %r298; + neg.f32 %f199, %f198; + mov.f32 %f200, 0f3FC90FDA; + fma.rn.f32 %f201, %f199, %f200, %f591; + mov.f32 %f202, 0f33A22168; + fma.rn.f32 %f203, %f199, %f202, %f201; + mov.f32 %f204, 0f27C234C5; + fma.rn.f32 %f592, %f199, %f204, %f203; + abs.f32 %f205, %f591; + setp.leu.f32 %p13, %f205, 0f47CE4780; + @%p13 bra BB0_19; + + mov.b32 %r13, %f591; + shr.u32 %r14, %r13, 23; + shl.b32 %r125, %r13, 8; + or.b32 %r15, %r125, -2147483648; + add.u64 %rd41, %SP, 0; + cvta.to.local.u64 %rd125, %rd41; + mov.u32 %r290, 0; + mov.u64 %rd124, __cudart_i2opi_f; + mov.u32 %r289, -6; + +BB0_10: + .pragma "nounroll"; + ld.const.u32 %r128, [%rd124]; + // inline asm + { + mad.lo.cc.u32 %r126, %r128, %r15, %r290; + madc.hi.u32 %r290, %r128, %r15, 0; + } + // inline asm + st.local.u32 [%rd125], %r126; + add.s64 %rd125, %rd125, 4; + add.s64 %rd124, %rd124, 4; + add.s32 %r289, %r289, 1; + setp.ne.s32 %p14, %r289, 0; + @%p14 bra BB0_10; + + and.b32 %r131, %r14, 255; + add.s32 %r132, %r131, -128; + shr.u32 %r133, %r132, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd43, %rd41; + st.local.u32 [%rd43+24], %r290; + mov.u32 %r134, 6; + sub.s32 %r135, %r134, %r133; + mul.wide.s32 %rd44, %r135, 4; + add.s64 %rd8, %rd43, %rd44; + ld.local.u32 %r291, [%rd8]; + ld.local.u32 %r292, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p15, %r23, 0; + @%p15 bra BB0_13; + + mov.u32 %r136, 32; + sub.s32 %r137, %r136, %r23; + shr.u32 %r138, %r292, %r137; + shl.b32 %r139, %r291, %r23; + add.s32 %r291, %r138, %r139; + ld.local.u32 %r140, [%rd8+-8]; + shr.u32 %r141, %r140, %r137; + shl.b32 %r142, %r292, %r23; + add.s32 %r292, %r141, %r142; + +BB0_13: + shr.u32 %r143, %r292, 30; + shl.b32 %r144, %r291, 2; + add.s32 %r293, %r143, %r144; + shl.b32 %r29, %r292, 2; + shr.u32 %r145, %r293, 31; + shr.u32 %r146, %r291, 30; + add.s32 %r30, %r145, %r146; + setp.eq.s32 %p16, %r145, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r294, %r20; + mov.u32 %r295, %r29; + bra.uni BB0_16; + +BB0_15: + not.b32 %r147, %r293; + neg.s32 %r295, %r29; + setp.eq.s32 %p17, %r29, 0; + selp.u32 %r148, 1, 0, %p17; + add.s32 %r293, %r148, %r147; + xor.b32 %r294, %r20, -2147483648; + +BB0_16: + clz.b32 %r297, %r293; + setp.eq.s32 %p18, %r297, 0; + shl.b32 %r149, %r293, %r297; + mov.u32 %r150, 32; + sub.s32 %r151, %r150, %r297; + shr.u32 %r152, %r295, %r151; + add.s32 %r153, %r152, %r149; + selp.b32 %r38, %r293, %r153, %p18; + mov.u32 %r154, -921707870; + mul.hi.u32 %r296, %r38, %r154; + setp.eq.s32 %p19, %r20, 0; + neg.s32 %r155, %r30; + selp.b32 %r298, %r30, %r155, %p19; + setp.lt.s32 %p20, %r296, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r156, %r38, -921707870; + shr.u32 %r157, %r156, 31; + shl.b32 %r158, %r296, 1; + add.s32 %r296, %r157, %r158; + add.s32 %r297, %r297, 1; + +BB0_18: + mov.u32 %r159, 126; + sub.s32 %r160, %r159, %r297; + shl.b32 %r161, %r160, 23; + add.s32 %r162, %r296, 1; + shr.u32 %r163, %r162, 7; + add.s32 %r164, %r163, 1; + shr.u32 %r165, %r164, 1; + add.s32 %r166, %r165, %r161; + or.b32 %r167, %r166, %r294; + mov.b32 %f592, %r167; + +BB0_19: + mul.rn.f32 %f38, %f592, %f592; + add.s32 %r46, %r298, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p21, %r47, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mov.f32 %f208, 0f3C08839E; + mov.f32 %f209, 0fB94CA1F9; + fma.rn.f32 %f593, %f209, %f38, %f208; + bra.uni BB0_22; + +BB0_20: + mov.f32 %f206, 0fBAB6061A; + mov.f32 %f207, 0f37CCF5CE; + fma.rn.f32 %f593, %f207, %f38, %f206; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mov.f32 %f213, 0fBE2AAAA3; + fma.rn.f32 %f214, %f593, %f38, %f213; + fma.rn.f32 %f594, %f214, %f38, %f194; + bra.uni BB0_25; + +BB0_23: + mov.f32 %f210, 0f3D2AAAA5; + fma.rn.f32 %f211, %f593, %f38, %f210; + mov.f32 %f212, 0fBF000000; + fma.rn.f32 %f594, %f211, %f38, %f212; + +BB0_25: + fma.rn.f32 %f595, %f594, %f592, %f592; + @%p21 bra BB0_27; + + fma.rn.f32 %f595, %f594, %f38, %f192; + +BB0_27: + and.b32 %r168, %r46, 2; + setp.eq.s32 %p24, %r168, 0; + @%p24 bra BB0_29; + + mov.f32 %f218, 0fBF800000; + fma.rn.f32 %f595, %f595, %f218, %f194; + +BB0_29: + @%p12 bra BB0_31; + + mul.rn.f32 %f597, %f597, %f194; + +BB0_31: + mul.f32 %f220, %f597, 0f3F22F983; + cvt.rni.s32.f32 %r308, %f220; + cvt.rn.f32.s32 %f221, %r308; + neg.f32 %f222, %f221; + fma.rn.f32 %f224, %f222, %f200, %f597; + fma.rn.f32 %f226, %f222, %f202, %f224; + fma.rn.f32 %f598, %f222, %f204, %f226; + abs.f32 %f228, %f597; + setp.leu.f32 %p26, %f228, 0f47CE4780; + @%p26 bra BB0_42; + + mov.b32 %r49, %f597; + shr.u32 %r50, %r49, 23; + shl.b32 %r171, %r49, 8; + or.b32 %r51, %r171, -2147483648; + add.u64 %rd46, %SP, 0; + cvta.to.local.u64 %rd127, %rd46; + mov.u32 %r300, 0; + mov.u64 %rd126, __cudart_i2opi_f; + mov.u32 %r299, -6; + +BB0_33: + .pragma "nounroll"; + ld.const.u32 %r174, [%rd126]; + // inline asm + { + mad.lo.cc.u32 %r172, %r174, %r51, %r300; + madc.hi.u32 %r300, %r174, %r51, 0; + } + // inline asm + st.local.u32 [%rd127], %r172; + add.s64 %rd127, %rd127, 4; + add.s64 %rd126, %rd126, 4; + add.s32 %r299, %r299, 1; + setp.ne.s32 %p27, %r299, 0; + @%p27 bra BB0_33; + + and.b32 %r177, %r50, 255; + add.s32 %r178, %r177, -128; + shr.u32 %r179, %r178, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd48, %rd46; + st.local.u32 [%rd48+24], %r300; + mov.u32 %r180, 6; + sub.s32 %r181, %r180, %r179; + mul.wide.s32 %rd49, %r181, 4; + add.s64 %rd14, %rd48, %rd49; + ld.local.u32 %r301, [%rd14]; + ld.local.u32 %r302, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p28, %r59, 0; + @%p28 bra BB0_36; + + mov.u32 %r182, 32; + sub.s32 %r183, %r182, %r59; + shr.u32 %r184, %r302, %r183; + shl.b32 %r185, %r301, %r59; + add.s32 %r301, %r184, %r185; + ld.local.u32 %r186, [%rd14+-8]; + shr.u32 %r187, %r186, %r183; + shl.b32 %r188, %r302, %r59; + add.s32 %r302, %r187, %r188; + +BB0_36: + shr.u32 %r189, %r302, 30; + shl.b32 %r190, %r301, 2; + add.s32 %r303, %r189, %r190; + shl.b32 %r65, %r302, 2; + shr.u32 %r191, %r303, 31; + shr.u32 %r192, %r301, 30; + add.s32 %r66, %r191, %r192; + setp.eq.s32 %p29, %r191, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r304, %r56; + mov.u32 %r305, %r65; + bra.uni BB0_39; + +BB0_38: + not.b32 %r193, %r303; + neg.s32 %r305, %r65; + setp.eq.s32 %p30, %r65, 0; + selp.u32 %r194, 1, 0, %p30; + add.s32 %r303, %r194, %r193; + xor.b32 %r304, %r56, -2147483648; + +BB0_39: + clz.b32 %r307, %r303; + setp.eq.s32 %p31, %r307, 0; + shl.b32 %r195, %r303, %r307; + mov.u32 %r196, 32; + sub.s32 %r197, %r196, %r307; + shr.u32 %r198, %r305, %r197; + add.s32 %r199, %r198, %r195; + selp.b32 %r74, %r303, %r199, %p31; + mov.u32 %r200, -921707870; + mul.hi.u32 %r306, %r74, %r200; + setp.eq.s32 %p32, %r56, 0; + neg.s32 %r201, %r66; + selp.b32 %r308, %r66, %r201, %p32; + setp.lt.s32 %p33, %r306, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r202, %r74, -921707870; + shr.u32 %r203, %r202, 31; + shl.b32 %r204, %r306, 1; + add.s32 %r306, %r203, %r204; + add.s32 %r307, %r307, 1; + +BB0_41: + mov.u32 %r205, 126; + sub.s32 %r206, %r205, %r307; + shl.b32 %r207, %r206, 23; + add.s32 %r208, %r306, 1; + shr.u32 %r209, %r208, 7; + add.s32 %r210, %r209, 1; + shr.u32 %r211, %r210, 1; + add.s32 %r212, %r211, %r207; + or.b32 %r213, %r212, %r304; + mov.b32 %f598, %r213; + +BB0_42: + mul.rn.f32 %f55, %f598, %f598; + and.b32 %r82, %r308, 1; + setp.eq.s32 %p34, %r82, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f231, 0f3C08839E; + mov.f32 %f232, 0fB94CA1F9; + fma.rn.f32 %f599, %f232, %f55, %f231; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f229, 0fBAB6061A; + mov.f32 %f230, 0f37CCF5CE; + fma.rn.f32 %f599, %f230, %f55, %f229; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mov.f32 %f236, 0fBE2AAAA3; + fma.rn.f32 %f237, %f599, %f55, %f236; + fma.rn.f32 %f600, %f237, %f55, %f194; + bra.uni BB0_48; + +BB0_46: + mov.f32 %f233, 0f3D2AAAA5; + fma.rn.f32 %f234, %f599, %f55, %f233; + mov.f32 %f235, 0fBF000000; + fma.rn.f32 %f600, %f234, %f55, %f235; + +BB0_48: + fma.rn.f32 %f601, %f600, %f598, %f598; + @%p34 bra BB0_50; + + fma.rn.f32 %f601, %f600, %f55, %f192; + +BB0_50: + and.b32 %r214, %r308, 2; + setp.eq.s32 %p37, %r214, 0; + @%p37 bra BB0_52; + + mov.f32 %f241, 0fBF800000; + fma.rn.f32 %f601, %f601, %f241, %f194; + +BB0_52: + mul.f32 %f242, %f30, %f595; + mul.f32 %f243, %f30, %f601; + mul.f32 %f244, %f10, %f243; + mul.f32 %f245, %f11, %f243; + mul.f32 %f246, %f12, %f243; + fma.rn.f32 %f247, %f19, %f242, %f244; + fma.rn.f32 %f248, %f18, %f242, %f245; + fma.rn.f32 %f249, %f17, %f242, %f246; + fma.rn.f32 %f67, %f580, %f29, %f247; + fma.rn.f32 %f68, %f581, %f29, %f248; + fma.rn.f32 %f69, %f582, %f29, %f249; + setp.gt.f32 %p38, %f68, 0f00000000; + setp.eq.s32 %p39, %r5, 0; + or.pred %p40, %p39, %p38; + @!%p40 bra BB0_54; + bra.uni BB0_53; + +BB0_53: + add.u64 %rd50, %SP, 28; + cvta.to.local.u64 %rd51, %rd50; + max.f32 %f256, %f262, %f160; + mov.u32 %r218, 1065353216; + st.local.u32 [%rd51], %r218; + ld.global.u32 %r215, [root]; + mov.u32 %r216, 1; + mov.f32 %f257, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r215, %f7, %f8, %f9, %f67, %f68, %f69, %r216, %f256, %f257, %rd50, %r92); + // inline asm + ld.local.f32 %f264, [%rd51]; + fma.rn.f32 %f603, %f67, %f264, %f603; + fma.rn.f32 %f604, %f68, %f264, %f604; + fma.rn.f32 %f605, %f69, %f264, %f605; + mul.f32 %f265, %f581, %f68; + fma.rn.f32 %f266, %f580, %f67, %f265; + fma.rn.f32 %f267, %f582, %f69, %f266; + cvt.sat.f32.f32 %f268, %f267; + fma.rn.f32 %f606, %f268, %f264, %f606; + +BB0_54: + add.s32 %r287, %r287, 1; + setp.lt.s32 %p41, %r287, %r1; + @%p41 bra BB0_6; + + add.s32 %r285, %r285, 1; + setp.lt.s32 %p42, %r285, %r1; + @%p42 bra BB0_5; + +BB0_56: + mul.lo.s32 %r219, %r1, %r1; + cvt.rn.f32.s32 %f269, %r219; + div.rn.f32 %f270, %f606, %f269; + add.f32 %f271, %f270, %f270; + ld.global.f32 %f272, [skyColor]; + mul.f32 %f82, %f272, %f271; + ld.global.f32 %f273, [skyColor+4]; + mul.f32 %f83, %f271, %f273; + ld.global.f32 %f274, [skyColor+8]; + mul.f32 %f84, %f271, %f274; + ld.global.u32 %r309, [imageEnabled]; + and.b32 %r220, %r309, 1; + setp.eq.b32 %p43, %r220, 1; + @!%p43 bra BB0_91; + bra.uni BB0_57; + +BB0_57: + mov.f32 %f277, 0f3E666666; + cvt.rzi.f32.f32 %f278, %f277; + fma.rn.f32 %f279, %f278, 0fC0000000, 0f3EE66666; + abs.f32 %f85, %f279; + abs.f32 %f86, %f82; + setp.lt.f32 %p44, %f86, 0f00800000; + mul.f32 %f280, %f86, 0f4B800000; + selp.f32 %f281, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f282, %f280, %f86, %p44; + mov.b32 %r221, %f282; + and.b32 %r222, %r221, 8388607; + or.b32 %r223, %r222, 1065353216; + mov.b32 %f283, %r223; + shr.u32 %r224, %r221, 23; + cvt.rn.f32.u32 %f284, %r224; + add.f32 %f285, %f281, %f284; + setp.gt.f32 %p45, %f283, 0f3FB504F3; + mul.f32 %f286, %f283, 0f3F000000; + add.f32 %f287, %f285, 0f3F800000; + selp.f32 %f288, %f286, %f283, %p45; + selp.f32 %f289, %f287, %f285, %p45; + add.f32 %f290, %f288, 0fBF800000; + add.f32 %f276, %f288, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f275,%f276; + // inline asm + add.f32 %f291, %f290, %f290; + mul.f32 %f292, %f275, %f291; + mul.f32 %f293, %f292, %f292; + mov.f32 %f294, 0f3C4CAF63; + mov.f32 %f295, 0f3B18F0FE; + fma.rn.f32 %f296, %f295, %f293, %f294; + mov.f32 %f297, 0f3DAAAABD; + fma.rn.f32 %f298, %f296, %f293, %f297; + mul.rn.f32 %f299, %f298, %f293; + mul.rn.f32 %f300, %f299, %f292; + sub.f32 %f301, %f290, %f292; + neg.f32 %f302, %f292; + add.f32 %f303, %f301, %f301; + fma.rn.f32 %f304, %f302, %f290, %f303; + mul.rn.f32 %f305, %f275, %f304; + add.f32 %f306, %f300, %f292; + sub.f32 %f307, %f292, %f306; + add.f32 %f308, %f300, %f307; + add.f32 %f309, %f305, %f308; + add.f32 %f310, %f306, %f309; + sub.f32 %f311, %f306, %f310; + add.f32 %f312, %f309, %f311; + mov.f32 %f313, 0f3F317200; + mul.rn.f32 %f314, %f289, %f313; + mov.f32 %f315, 0f35BFBE8E; + mul.rn.f32 %f316, %f289, %f315; + add.f32 %f317, %f314, %f310; + sub.f32 %f318, %f314, %f317; + add.f32 %f319, %f310, %f318; + add.f32 %f320, %f312, %f319; + add.f32 %f321, %f316, %f320; + add.f32 %f322, %f317, %f321; + sub.f32 %f323, %f317, %f322; + add.f32 %f324, %f321, %f323; + mov.f32 %f325, 0f3EE66666; + mul.rn.f32 %f326, %f325, %f322; + neg.f32 %f327, %f326; + fma.rn.f32 %f328, %f325, %f322, %f327; + fma.rn.f32 %f329, %f325, %f324, %f328; + mov.f32 %f330, 0f00000000; + fma.rn.f32 %f331, %f330, %f322, %f329; + add.rn.f32 %f332, %f326, %f331; + neg.f32 %f333, %f332; + add.rn.f32 %f334, %f326, %f333; + add.rn.f32 %f335, %f334, %f331; + mov.b32 %r225, %f332; + setp.eq.s32 %p46, %r225, 1118925336; + add.s32 %r226, %r225, -1; + mov.b32 %f336, %r226; + add.f32 %f337, %f335, 0f37000000; + selp.f32 %f338, %f336, %f332, %p46; + selp.f32 %f87, %f337, %f335, %p46; + mul.f32 %f339, %f338, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f340, %f339; + mov.f32 %f341, 0fBF317200; + fma.rn.f32 %f342, %f340, %f341, %f338; + mov.f32 %f343, 0fB5BFBE8E; + fma.rn.f32 %f344, %f340, %f343, %f342; + mul.f32 %f345, %f344, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f346, %f345; + add.f32 %f347, %f340, 0f00000000; + ex2.approx.f32 %f348, %f347; + mul.f32 %f349, %f346, %f348; + setp.lt.f32 %p47, %f338, 0fC2D20000; + selp.f32 %f350, 0f00000000, %f349, %p47; + setp.gt.f32 %p48, %f338, 0f42D20000; + selp.f32 %f611, 0f7F800000, %f350, %p48; + setp.eq.f32 %p49, %f611, 0f7F800000; + @%p49 bra BB0_59; + + fma.rn.f32 %f611, %f611, %f87, %f611; + +BB0_59: + setp.lt.f32 %p50, %f82, 0f00000000; + setp.eq.f32 %p51, %f85, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r227, %f611; + xor.b32 %r228, %r227, -2147483648; + mov.b32 %f351, %r228; + selp.f32 %f613, %f351, %f611, %p1; + setp.eq.f32 %p52, %f82, 0f00000000; + @%p52 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f354, %f82, %f82; + selp.f32 %f613, %f354, 0f00000000, %p51; + bra.uni BB0_63; + +BB0_102: + mov.u64 %rd112, image_HDR; + cvta.global.u64 %rd107, %rd112; + mov.u32 %r276, 8; + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd107, %r91, %r276, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f549, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs46, %f549;} + + // inline asm + mov.u16 %rs47, 0; + st.v4.u16 [%rd106], {%rs46, %rs46, %rs46, %rs47}; + +BB0_103: + ld.global.u8 %rs48, [imageEnabled]; + and.b16 %rs49, %rs48, 64; + setp.eq.s16 %p98, %rs49, 0; + @%p98 bra BB0_105; + + cvt.u64.u32 %rd115, %r3; + cvt.u64.u32 %rd116, %r4; + mov.u64 %rd119, image_Dir; + cvta.global.u64 %rd114, %rd119; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r91, %r92, %rd115, %rd116, %rd24, %rd24); + // inline asm + mov.u16 %rs50, 0; + st.v4.u8 [%rd113], {%rs50, %rs50, %rs50, %rs50}; + bra.uni BB0_105; + +BB0_60: + setp.geu.f32 %p53, %f82, 0f00000000; + @%p53 bra BB0_63; + + mov.f32 %f573, 0f3EE66666; + cvt.rzi.f32.f32 %f353, %f573; + setp.neu.f32 %p54, %f353, 0f3EE66666; + selp.f32 %f613, 0f7FFFFFFF, %f613, %p54; + +BB0_63: + abs.f32 %f550, %f82; + add.f32 %f355, %f550, 0f3EE66666; + mov.b32 %r229, %f355; + setp.lt.s32 %p56, %r229, 2139095040; + @%p56 bra BB0_68; + + abs.f32 %f571, %f82; + setp.gtu.f32 %p57, %f571, 0f7F800000; + @%p57 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f613, %f82, 0f3EE66666; + bra.uni BB0_68; + +BB0_65: + abs.f32 %f572, %f82; + setp.neu.f32 %p58, %f572, 0f7F800000; + @%p58 bra BB0_68; + + selp.f32 %f613, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + mov.f32 %f559, 0fB5BFBE8E; + mov.f32 %f558, 0fBF317200; + mov.f32 %f557, 0f00000000; + mov.f32 %f556, 0f35BFBE8E; + mov.f32 %f555, 0f3F317200; + mov.f32 %f554, 0f3DAAAABD; + mov.f32 %f553, 0f3C4CAF63; + mov.f32 %f552, 0f3B18F0FE; + mov.f32 %f551, 0f3EE66666; + setp.eq.f32 %p59, %f82, 0f3F800000; + selp.f32 %f98, 0f3F800000, %f613, %p59; + abs.f32 %f99, %f83; + setp.lt.f32 %p60, %f99, 0f00800000; + mul.f32 %f358, %f99, 0f4B800000; + selp.f32 %f359, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f360, %f358, %f99, %p60; + mov.b32 %r230, %f360; + and.b32 %r231, %r230, 8388607; + or.b32 %r232, %r231, 1065353216; + mov.b32 %f361, %r232; + shr.u32 %r233, %r230, 23; + cvt.rn.f32.u32 %f362, %r233; + add.f32 %f363, %f359, %f362; + setp.gt.f32 %p61, %f361, 0f3FB504F3; + mul.f32 %f364, %f361, 0f3F000000; + add.f32 %f365, %f363, 0f3F800000; + selp.f32 %f366, %f364, %f361, %p61; + selp.f32 %f367, %f365, %f363, %p61; + add.f32 %f368, %f366, 0fBF800000; + add.f32 %f357, %f366, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f356,%f357; + // inline asm + add.f32 %f369, %f368, %f368; + mul.f32 %f370, %f356, %f369; + mul.f32 %f371, %f370, %f370; + fma.rn.f32 %f374, %f552, %f371, %f553; + fma.rn.f32 %f376, %f374, %f371, %f554; + mul.rn.f32 %f377, %f376, %f371; + mul.rn.f32 %f378, %f377, %f370; + sub.f32 %f379, %f368, %f370; + neg.f32 %f380, %f370; + add.f32 %f381, %f379, %f379; + fma.rn.f32 %f382, %f380, %f368, %f381; + mul.rn.f32 %f383, %f356, %f382; + add.f32 %f384, %f378, %f370; + sub.f32 %f385, %f370, %f384; + add.f32 %f386, %f378, %f385; + add.f32 %f387, %f383, %f386; + add.f32 %f388, %f384, %f387; + sub.f32 %f389, %f384, %f388; + add.f32 %f390, %f387, %f389; + mul.rn.f32 %f392, %f367, %f555; + mul.rn.f32 %f394, %f367, %f556; + add.f32 %f395, %f392, %f388; + sub.f32 %f396, %f392, %f395; + add.f32 %f397, %f388, %f396; + add.f32 %f398, %f390, %f397; + add.f32 %f399, %f394, %f398; + add.f32 %f400, %f395, %f399; + sub.f32 %f401, %f395, %f400; + add.f32 %f402, %f399, %f401; + mul.rn.f32 %f404, %f551, %f400; + neg.f32 %f405, %f404; + fma.rn.f32 %f406, %f551, %f400, %f405; + fma.rn.f32 %f407, %f551, %f402, %f406; + fma.rn.f32 %f409, %f557, %f400, %f407; + add.rn.f32 %f410, %f404, %f409; + neg.f32 %f411, %f410; + add.rn.f32 %f412, %f404, %f411; + add.rn.f32 %f413, %f412, %f409; + mov.b32 %r234, %f410; + setp.eq.s32 %p62, %r234, 1118925336; + add.s32 %r235, %r234, -1; + mov.b32 %f414, %r235; + add.f32 %f415, %f413, 0f37000000; + selp.f32 %f416, %f414, %f410, %p62; + selp.f32 %f100, %f415, %f413, %p62; + mul.f32 %f417, %f416, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f418, %f417; + fma.rn.f32 %f420, %f418, %f558, %f416; + fma.rn.f32 %f422, %f418, %f559, %f420; + mul.f32 %f423, %f422, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f424, %f423; + add.f32 %f425, %f418, 0f00000000; + ex2.approx.f32 %f426, %f425; + mul.f32 %f427, %f424, %f426; + setp.lt.f32 %p63, %f416, 0fC2D20000; + selp.f32 %f428, 0f00000000, %f427, %p63; + setp.gt.f32 %p64, %f416, 0f42D20000; + selp.f32 %f614, 0f7F800000, %f428, %p64; + setp.eq.f32 %p65, %f614, 0f7F800000; + @%p65 bra BB0_70; + + fma.rn.f32 %f614, %f614, %f100, %f614; + +BB0_70: + setp.lt.f32 %p66, %f83, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r236, %f614; + xor.b32 %r237, %r236, -2147483648; + mov.b32 %f429, %r237; + selp.f32 %f616, %f429, %f614, %p2; + setp.eq.f32 %p68, %f83, 0f00000000; + @%p68 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f432, %f83, %f83; + selp.f32 %f616, %f432, 0f00000000, %p51; + bra.uni BB0_74; + +BB0_71: + setp.geu.f32 %p69, %f83, 0f00000000; + @%p69 bra BB0_74; + + mov.f32 %f570, 0f3EE66666; + cvt.rzi.f32.f32 %f431, %f570; + setp.neu.f32 %p70, %f431, 0f3EE66666; + selp.f32 %f616, 0f7FFFFFFF, %f616, %p70; + +BB0_74: + abs.f32 %f574, %f83; + add.f32 %f433, %f574, 0f3EE66666; + mov.b32 %r238, %f433; + setp.lt.s32 %p72, %r238, 2139095040; + @%p72 bra BB0_79; + + abs.f32 %f575, %f83; + setp.gtu.f32 %p73, %f575, 0f7F800000; + @%p73 bra BB0_78; + bra.uni BB0_76; + +BB0_78: + add.f32 %f616, %f83, 0f3EE66666; + bra.uni BB0_79; + +BB0_76: + abs.f32 %f576, %f83; + setp.neu.f32 %p74, %f576, 0f7F800000; + @%p74 bra BB0_79; + + selp.f32 %f616, 0fFF800000, 0f7F800000, %p2; + +BB0_79: + mov.f32 %f568, 0fB5BFBE8E; + mov.f32 %f567, 0fBF317200; + mov.f32 %f566, 0f00000000; + mov.f32 %f565, 0f35BFBE8E; + mov.f32 %f564, 0f3F317200; + mov.f32 %f563, 0f3DAAAABD; + mov.f32 %f562, 0f3C4CAF63; + mov.f32 %f561, 0f3B18F0FE; + mov.f32 %f560, 0f3EE66666; + setp.eq.f32 %p75, %f83, 0f3F800000; + selp.f32 %f111, 0f3F800000, %f616, %p75; + abs.f32 %f112, %f84; + setp.lt.f32 %p76, %f112, 0f00800000; + mul.f32 %f436, %f112, 0f4B800000; + selp.f32 %f437, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f438, %f436, %f112, %p76; + mov.b32 %r239, %f438; + and.b32 %r240, %r239, 8388607; + or.b32 %r241, %r240, 1065353216; + mov.b32 %f439, %r241; + shr.u32 %r242, %r239, 23; + cvt.rn.f32.u32 %f440, %r242; + add.f32 %f441, %f437, %f440; + setp.gt.f32 %p77, %f439, 0f3FB504F3; + mul.f32 %f442, %f439, 0f3F000000; + add.f32 %f443, %f441, 0f3F800000; + selp.f32 %f444, %f442, %f439, %p77; + selp.f32 %f445, %f443, %f441, %p77; + add.f32 %f446, %f444, 0fBF800000; + add.f32 %f435, %f444, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f434,%f435; + // inline asm + add.f32 %f447, %f446, %f446; + mul.f32 %f448, %f434, %f447; + mul.f32 %f449, %f448, %f448; + fma.rn.f32 %f452, %f561, %f449, %f562; + fma.rn.f32 %f454, %f452, %f449, %f563; + mul.rn.f32 %f455, %f454, %f449; + mul.rn.f32 %f456, %f455, %f448; + sub.f32 %f457, %f446, %f448; + neg.f32 %f458, %f448; + add.f32 %f459, %f457, %f457; + fma.rn.f32 %f460, %f458, %f446, %f459; + mul.rn.f32 %f461, %f434, %f460; + add.f32 %f462, %f456, %f448; + sub.f32 %f463, %f448, %f462; + add.f32 %f464, %f456, %f463; + add.f32 %f465, %f461, %f464; + add.f32 %f466, %f462, %f465; + sub.f32 %f467, %f462, %f466; + add.f32 %f468, %f465, %f467; + mul.rn.f32 %f470, %f445, %f564; + mul.rn.f32 %f472, %f445, %f565; + add.f32 %f473, %f470, %f466; + sub.f32 %f474, %f470, %f473; + add.f32 %f475, %f466, %f474; + add.f32 %f476, %f468, %f475; + add.f32 %f477, %f472, %f476; + add.f32 %f478, %f473, %f477; + sub.f32 %f479, %f473, %f478; + add.f32 %f480, %f477, %f479; + mul.rn.f32 %f482, %f560, %f478; + neg.f32 %f483, %f482; + fma.rn.f32 %f484, %f560, %f478, %f483; + fma.rn.f32 %f485, %f560, %f480, %f484; + fma.rn.f32 %f487, %f566, %f478, %f485; + add.rn.f32 %f488, %f482, %f487; + neg.f32 %f489, %f488; + add.rn.f32 %f490, %f482, %f489; + add.rn.f32 %f491, %f490, %f487; + mov.b32 %r243, %f488; + setp.eq.s32 %p78, %r243, 1118925336; + add.s32 %r244, %r243, -1; + mov.b32 %f492, %r244; + add.f32 %f493, %f491, 0f37000000; + selp.f32 %f494, %f492, %f488, %p78; + selp.f32 %f113, %f493, %f491, %p78; + mul.f32 %f495, %f494, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f496, %f495; + fma.rn.f32 %f498, %f496, %f567, %f494; + fma.rn.f32 %f500, %f496, %f568, %f498; + mul.f32 %f501, %f500, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f502, %f501; + add.f32 %f503, %f496, 0f00000000; + ex2.approx.f32 %f504, %f503; + mul.f32 %f505, %f502, %f504; + setp.lt.f32 %p79, %f494, 0fC2D20000; + selp.f32 %f506, 0f00000000, %f505, %p79; + setp.gt.f32 %p80, %f494, 0f42D20000; + selp.f32 %f617, 0f7F800000, %f506, %p80; + setp.eq.f32 %p81, %f617, 0f7F800000; + @%p81 bra BB0_81; + + fma.rn.f32 %f617, %f617, %f113, %f617; + +BB0_81: + setp.lt.f32 %p82, %f84, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r245, %f617; + xor.b32 %r246, %r245, -2147483648; + mov.b32 %f507, %r246; + selp.f32 %f619, %f507, %f617, %p3; + setp.eq.f32 %p84, %f84, 0f00000000; + @%p84 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f510, %f84, %f84; + selp.f32 %f619, %f510, 0f00000000, %p51; + bra.uni BB0_85; + +BB0_82: + setp.geu.f32 %p85, %f84, 0f00000000; + @%p85 bra BB0_85; + + mov.f32 %f569, 0f3EE66666; + cvt.rzi.f32.f32 %f509, %f569; + setp.neu.f32 %p86, %f509, 0f3EE66666; + selp.f32 %f619, 0f7FFFFFFF, %f619, %p86; + +BB0_85: + abs.f32 %f577, %f84; + add.f32 %f511, %f577, 0f3EE66666; + mov.b32 %r247, %f511; + setp.lt.s32 %p88, %r247, 2139095040; + @%p88 bra BB0_90; + + abs.f32 %f578, %f84; + setp.gtu.f32 %p89, %f578, 0f7F800000; + @%p89 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f619, %f84, 0f3EE66666; + bra.uni BB0_90; + +BB0_87: + abs.f32 %f579, %f84; + setp.neu.f32 %p90, %f579, 0f7F800000; + @%p90 bra BB0_90; + + selp.f32 %f619, 0fFF800000, 0f7F800000, %p3; + +BB0_90: + mov.u32 %r280, 4; + mov.u64 %rd120, 0; + mov.u32 %r279, 2; + setp.eq.f32 %p91, %f84, 0f3F800000; + selp.f32 %f512, 0f3F800000, %f619, %p91; + cvt.u64.u32 %rd55, %r4; + cvt.u64.u32 %rd54, %r3; + mov.u64 %rd58, image; + cvta.global.u64 %rd53, %rd58; + // inline asm + call (%rd52), _rt_buffer_get_64, (%rd53, %r279, %r280, %rd54, %rd55, %rd120, %rd120); + // inline asm + cvt.sat.f32.f32 %f513, %f512; + mul.f32 %f514, %f513, 0f437FFD71; + cvt.rzi.u32.f32 %r250, %f514; + cvt.sat.f32.f32 %f515, %f111; + mul.f32 %f516, %f515, 0f437FFD71; + cvt.rzi.u32.f32 %r251, %f516; + cvt.sat.f32.f32 %f517, %f98; + mul.f32 %f518, %f517, 0f437FFD71; + cvt.rzi.u32.f32 %r252, %f518; + cvt.u16.u32 %rs10, %r250; + cvt.u16.u32 %rs11, %r252; + cvt.u16.u32 %rs12, %r251; + mov.u16 %rs13, 255; + st.v4.u8 [%rd52], {%rs10, %rs12, %rs11, %rs13}; + ld.global.u32 %r309, [imageEnabled]; + +BB0_91: + and.b32 %r253, %r309, 4; + setp.eq.s32 %p92, %r253, 0; + @%p92 bra BB0_95; + + ld.global.u32 %r254, [additive]; + setp.eq.s32 %p93, %r254, 0; + cvt.u64.u32 %rd15, %r3; + cvt.u64.u32 %rd16, %r4; + mov.f32 %f519, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs14, %f519;} + + // inline asm + @%p93 bra BB0_94; + + mov.u64 %rd121, 0; + mov.u32 %r281, 2; + mov.u64 %rd71, image_HDR; + cvta.global.u64 %rd60, %rd71; + mov.u32 %r258, 8; + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd60, %r281, %r258, %rd15, %rd16, %rd121, %rd121); + // inline asm + ld.v4.u16 {%rs21, %rs22, %rs23, %rs24}, [%rd59]; + // inline asm + { cvt.f32.f16 %f520, %rs21;} + + // inline asm + // inline asm + { cvt.f32.f16 %f521, %rs22;} + + // inline asm + // inline asm + { cvt.f32.f16 %f522, %rs23;} + + // inline asm + // inline asm + call (%rd65), _rt_buffer_get_64, (%rd60, %r281, %r258, %rd15, %rd16, %rd121, %rd121); + // inline asm + add.f32 %f523, %f82, %f520; + add.f32 %f524, %f83, %f521; + add.f32 %f525, %f84, %f522; + // inline asm + { cvt.rn.f16.f32 %rs20, %f525;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs19, %f524;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs18, %f523;} + + // inline asm + st.v4.u16 [%rd65], {%rs18, %rs19, %rs20, %rs14}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd122, 0; + mov.u32 %r282, 2; + mov.u64 %rd78, image_HDR; + cvta.global.u64 %rd73, %rd78; + mov.u32 %r260, 8; + // inline asm + call (%rd72), _rt_buffer_get_64, (%rd73, %r282, %r260, %rd15, %rd16, %rd122, %rd122); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f84;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f83;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f82;} + + // inline asm + st.v4.u16 [%rd72], {%rs25, %rs26, %rs27, %rs14}; + +BB0_95: + ld.global.u8 %rs28, [imageEnabled]; + and.b16 %rs29, %rs28, 64; + setp.eq.s16 %p94, %rs29, 0; + @%p94 bra BB0_105; + + mov.u32 %r284, 4; + mov.u64 %rd123, 0; + mov.u32 %r283, 2; + mul.f32 %f529, %f604, %f604; + fma.rn.f32 %f530, %f603, %f603, %f529; + fma.rn.f32 %f531, %f605, %f605, %f530; + sqrt.rn.f32 %f532, %f531; + rcp.rn.f32 %f533, %f532; + mul.f32 %f534, %f603, %f533; + mul.f32 %f535, %f604, %f533; + mul.f32 %f536, %f605, %f533; + cvt.u64.u32 %rd82, %r4; + cvt.u64.u32 %rd81, %r3; + mov.u64 %rd85, image_Dir; + cvta.global.u64 %rd80, %rd85; + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd80, %r283, %r284, %rd81, %rd82, %rd123, %rd123); + // inline asm + fma.rn.f32 %f537, %f534, 0f3F000000, 0f3F000000; + mul.f32 %f538, %f537, 0f437F0000; + cvt.rzi.u32.f32 %r263, %f538; + fma.rn.f32 %f539, %f535, 0f3F000000, 0f3F000000; + mul.f32 %f540, %f539, 0f437F0000; + cvt.rzi.u32.f32 %r264, %f540; + fma.rn.f32 %f541, %f536, 0f3F000000, 0f3F000000; + mul.f32 %f542, %f541, 0f437F0000; + cvt.rzi.u32.f32 %r265, %f542; + cvt.u16.u32 %rs30, %r265; + cvt.u16.u32 %rs31, %r264; + cvt.u16.u32 %rs32, %r263; + mov.u16 %rs33, 255; + st.v4.u8 [%rd79], {%rs32, %rs31, %rs30, %rs33}; + +BB0_105: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyDir.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyDir.ptx.meta new file mode 100644 index 00000000..24d01659 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyDir.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6fd71cfd53c204445bc09923a80e8bd6 +timeCreated: 1537386825 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx new file mode 100644 index 00000000..15543514 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx @@ -0,0 +1,1913 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .texref sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<105>; + .reg .b16 %rs<148>; + .reg .f32 %f<708>; + .reg .b32 %r<356>; + .reg .b64 %rd<283>; + + + mov.u64 %rd282, __local_depot0; + cvta.local.u64 %SP, %rd282; + ld.global.u32 %r1, [samples]; + shl.b32 %r2, %r1, 1; + ld.global.v2.u32 {%r94, %r95}, [pixelID]; + cvt.u64.u32 %rd22, %r94; + cvt.u64.u32 %rd23, %r95; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r92, 2; + mov.u32 %r93, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r92, %r93, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r3, [%rd20]; + shr.u32 %r98, %r3, 16; + cvt.u16.u32 %rs1, %r98; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r3; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p4, %rs9, 0; + mov.f32 %f664, 0f00000000; + mov.f32 %f665, %f664; + mov.f32 %f666, %f664; + @%p4 bra BB0_2; + + ld.u8 %rs10, [%rd20+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f143, %rs12; + div.rn.f32 %f144, %f143, 0f437F0000; + fma.rn.f32 %f145, %f144, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f146, %rs10; + div.rn.f32 %f147, %f146, 0f437F0000; + fma.rn.f32 %f148, %f147, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f149, %rs7; + div.rn.f32 %f150, %f149, 0f437F0000; + fma.rn.f32 %f151, %f150, 0f40000000, 0fBF800000; + mul.f32 %f152, %f148, %f148; + fma.rn.f32 %f153, %f145, %f145, %f152; + fma.rn.f32 %f154, %f151, %f151, %f153; + sqrt.rn.f32 %f155, %f154; + rcp.rn.f32 %f156, %f155; + mul.f32 %f664, %f145, %f156; + mul.f32 %f665, %f148, %f156; + mul.f32 %f666, %f151, %f156; + +BB0_2: + ld.global.v2.u32 {%r99, %r100}, [pixelID]; + ld.global.v2.u32 {%r102, %r103}, [tileInfo]; + add.s32 %r4, %r99, %r102; + add.s32 %r5, %r100, %r103; + setp.eq.f32 %p5, %f665, 0f00000000; + setp.eq.f32 %p6, %f664, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f666, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_107; + bra.uni BB0_3; + +BB0_107: + ld.global.u32 %r355, [imageEnabled]; + and.b32 %r290, %r355, 1; + setp.eq.b32 %p98, %r290, 1; + @!%p98 bra BB0_109; + bra.uni BB0_108; + +BB0_108: + cvt.u64.u32 %rd173, %r5; + cvt.u64.u32 %rd172, %r4; + mov.u64 %rd176, image; + cvta.global.u64 %rd171, %rd176; + mov.u64 %rd175, 0; + // inline asm + call (%rd170), _rt_buffer_get_64, (%rd171, %r92, %r93, %rd172, %rd173, %rd175, %rd175); + // inline asm + mov.u16 %rs82, 0; + st.v4.u8 [%rd170], {%rs82, %rs82, %rs82, %rs82}; + ld.global.u32 %r355, [imageEnabled]; + +BB0_109: + cvt.u64.u32 %rd18, %r4; + cvt.u64.u32 %rd19, %r5; + and.b32 %r293, %r355, 4; + setp.eq.s32 %p99, %r293, 0; + @%p99 bra BB0_113; + + ld.global.u32 %r294, [additive]; + setp.eq.s32 %p100, %r294, 0; + @%p100 bra BB0_112; + + mov.u64 %rd189, image_HDR; + cvta.global.u64 %rd178, %rd189; + mov.u32 %r298, 8; + mov.u64 %rd188, 0; + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd178, %r92, %r298, %rd18, %rd19, %rd188, %rd188); + // inline asm + ld.v4.u16 {%rs89, %rs90, %rs91, %rs92}, [%rd177]; + // inline asm + { cvt.f32.f16 %f593, %rs89;} + + // inline asm + // inline asm + { cvt.f32.f16 %f594, %rs90;} + + // inline asm + // inline asm + { cvt.f32.f16 %f595, %rs91;} + + // inline asm + // inline asm + call (%rd183), _rt_buffer_get_64, (%rd178, %r92, %r298, %rd18, %rd19, %rd188, %rd188); + // inline asm + add.f32 %f596, %f593, 0f00000000; + add.f32 %f597, %f594, 0f00000000; + add.f32 %f598, %f595, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs88, %f598;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f597;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f596;} + + // inline asm + mov.u16 %rs93, 0; + st.v4.u16 [%rd183], {%rs86, %rs87, %rs88, %rs93}; + bra.uni BB0_113; + +BB0_3: + ld.global.v2.u32 {%r111, %r112}, [pixelID]; + cvt.u64.u32 %rd29, %r111; + cvt.u64.u32 %rd30, %r112; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r108, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r92, %r108, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f162, [%rd27+8]; + ld.f32 %f163, [%rd27+4]; + ld.f32 %f164, [%rd27]; + mul.f32 %f165, %f164, 0f3456BF95; + mul.f32 %f166, %f163, 0f3456BF95; + mul.f32 %f167, %f162, 0f3456BF95; + abs.f32 %f168, %f664; + div.rn.f32 %f169, %f165, %f168; + abs.f32 %f170, %f665; + div.rn.f32 %f171, %f166, %f170; + abs.f32 %f172, %f666; + div.rn.f32 %f173, %f167, %f172; + abs.f32 %f174, %f169; + abs.f32 %f175, %f171; + abs.f32 %f176, %f173; + mov.f32 %f177, 0f38D1B717; + max.f32 %f178, %f174, %f177; + max.f32 %f179, %f175, %f177; + max.f32 %f180, %f176, %f177; + fma.rn.f32 %f7, %f664, %f178, %f164; + fma.rn.f32 %f8, %f665, %f179, %f163; + fma.rn.f32 %f9, %f666, %f180, %f162; + ld.global.u32 %r6, [hemispherical]; + setp.gt.f32 %p10, %f168, %f172; + neg.f32 %f181, %f665; + selp.f32 %f182, %f181, 0f00000000, %p10; + neg.f32 %f183, %f666; + selp.f32 %f184, %f664, %f183, %p10; + selp.f32 %f185, 0f00000000, %f665, %p10; + mul.f32 %f186, %f184, %f184; + fma.rn.f32 %f187, %f182, %f182, %f186; + fma.rn.f32 %f188, %f185, %f185, %f187; + sqrt.rn.f32 %f189, %f188; + rcp.rn.f32 %f190, %f189; + mul.f32 %f10, %f182, %f190; + mul.f32 %f11, %f184, %f190; + mul.f32 %f12, %f185, %f190; + ld.global.v2.u32 {%r115, %r116}, [pixelID]; + cvt.u64.u32 %rd35, %r115; + cvt.u64.u32 %rd36, %r116; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r92, %r93, %rd35, %rd36, %rd25, %rd25); + // inline asm + mov.f32 %f693, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f692, %f693; + mov.f32 %f691, %f693; + mov.f32 %f690, %f693; + mov.f32 %f689, %f693; + @%p11 bra BB0_56; + + cvt.rn.f32.s32 %f196, %r2; + rcp.rn.f32 %f13, %f196; + ld.u32 %r333, [%rd33]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f197, %f664, %f11; + mul.f32 %f198, %f665, %f10; + sub.f32 %f17, %f198, %f197; + mul.f32 %f199, %f666, %f10; + mul.f32 %f200, %f664, %f12; + sub.f32 %f18, %f200, %f199; + mul.f32 %f201, %f665, %f12; + mul.f32 %f202, %f666, %f11; + sub.f32 %f19, %f202, %f201; + mov.f32 %f693, 0f00000000; + mov.u32 %r119, 0; + abs.f32 %f277, %f15; + abs.f32 %f278, %f14; + max.f32 %f279, %f278, %f277; + abs.f32 %f280, %f16; + max.f32 %f281, %f279, %f280; + mov.u32 %r330, %r119; + mov.f32 %f692, %f693; + mov.f32 %f691, %f693; + mov.f32 %f690, %f693; + mov.f32 %f689, %f693; + +BB0_5: + mov.u32 %r332, %r119; + +BB0_6: + cvt.rn.f32.s32 %f662, %r330; + mad.lo.s32 %r121, %r333, 1664525, 1013904223; + and.b32 %r122, %r121, 16777215; + cvt.rn.f32.u32 %f203, %r122; + fma.rn.f32 %f204, %f203, 0f33800000, %f662; + mul.f32 %f205, %f13, %f204; + mad.lo.s32 %r333, %r121, 1664525, 1013904223; + and.b32 %r123, %r333, 16777215; + cvt.rn.f32.u32 %f206, %r123; + cvt.rn.f32.s32 %f207, %r332; + fma.rn.f32 %f208, %f206, 0f33800000, %f207; + mul.f32 %f209, %f13, %f208; + fma.rn.f32 %f31, %f205, 0fC0000000, 0f3F800000; + mul.f32 %f210, %f31, %f31; + mov.f32 %f211, 0f3F800000; + sub.f32 %f212, %f211, %f210; + mov.f32 %f213, 0f00000000; + max.f32 %f214, %f213, %f212; + sqrt.rn.f32 %f32, %f214; + mul.f32 %f683, %f209, 0f40C90FDB; + abs.f32 %f34, %f683; + setp.neu.f32 %p12, %f34, 0f7F800000; + mov.f32 %f677, %f683; + @%p12 bra BB0_8; + + mul.rn.f32 %f677, %f683, %f213; + +BB0_8: + mul.f32 %f216, %f677, 0f3F22F983; + cvt.rni.s32.f32 %r343, %f216; + cvt.rn.f32.s32 %f217, %r343; + neg.f32 %f218, %f217; + mov.f32 %f219, 0f3FC90FDA; + fma.rn.f32 %f220, %f218, %f219, %f677; + mov.f32 %f221, 0f33A22168; + fma.rn.f32 %f222, %f218, %f221, %f220; + mov.f32 %f223, 0f27C234C5; + fma.rn.f32 %f678, %f218, %f223, %f222; + abs.f32 %f224, %f677; + setp.leu.f32 %p13, %f224, 0f47CE4780; + @%p13 bra BB0_19; + + add.u64 %rd42, %SP, 4; + cvta.to.local.u64 %rd3, %rd42; + mov.b32 %r14, %f677; + shr.u32 %r15, %r14, 23; + shl.b32 %r126, %r14, 8; + or.b32 %r16, %r126, -2147483648; + mov.u32 %r334, 0; + mov.u64 %rd279, 0; + mov.u64 %rd278, %rd3; + mov.u32 %r335, %r334; + +BB0_10: + .pragma "nounroll"; + shl.b64 %rd43, %rd279, 2; + mov.u64 %rd44, __cudart_i2opi_f; + add.s64 %rd45, %rd44, %rd43; + ld.const.u32 %r129, [%rd45]; + // inline asm + { + mad.lo.cc.u32 %r127, %r129, %r16, %r335; + madc.hi.u32 %r335, %r129, %r16, 0; + } + // inline asm + st.local.u32 [%rd278], %r127; + add.s32 %r334, %r334, 1; + cvt.s64.s32 %rd279, %r334; + mul.wide.s32 %rd48, %r334, 4; + add.s64 %rd278, %rd3, %rd48; + setp.ne.s32 %p14, %r334, 6; + @%p14 bra BB0_10; + + add.u64 %rd277, %SP, 4; + and.b32 %r132, %r15, 255; + add.s32 %r133, %r132, -128; + shr.u32 %r134, %r133, 5; + and.b32 %r21, %r14, -2147483648; + cvta.to.local.u64 %rd50, %rd277; + st.local.u32 [%rd50+24], %r335; + mov.u32 %r135, 6; + sub.s32 %r136, %r135, %r134; + mul.wide.s32 %rd51, %r136, 4; + add.s64 %rd8, %rd50, %rd51; + ld.local.u32 %r336, [%rd8]; + ld.local.u32 %r337, [%rd8+-4]; + and.b32 %r24, %r15, 31; + setp.eq.s32 %p15, %r24, 0; + @%p15 bra BB0_13; + + mov.u32 %r137, 32; + sub.s32 %r138, %r137, %r24; + shr.u32 %r139, %r337, %r138; + shl.b32 %r140, %r336, %r24; + add.s32 %r336, %r139, %r140; + ld.local.u32 %r141, [%rd8+-8]; + shr.u32 %r142, %r141, %r138; + shl.b32 %r143, %r337, %r24; + add.s32 %r337, %r142, %r143; + +BB0_13: + shr.u32 %r144, %r337, 30; + shl.b32 %r145, %r336, 2; + add.s32 %r338, %r144, %r145; + shl.b32 %r30, %r337, 2; + shr.u32 %r146, %r338, 31; + shr.u32 %r147, %r336, 30; + add.s32 %r31, %r146, %r147; + setp.eq.s32 %p16, %r146, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r339, %r21; + mov.u32 %r340, %r30; + bra.uni BB0_16; + +BB0_15: + not.b32 %r148, %r338; + neg.s32 %r340, %r30; + setp.eq.s32 %p17, %r30, 0; + selp.u32 %r149, 1, 0, %p17; + add.s32 %r338, %r149, %r148; + xor.b32 %r339, %r21, -2147483648; + +BB0_16: + clz.b32 %r342, %r338; + setp.eq.s32 %p18, %r342, 0; + shl.b32 %r150, %r338, %r342; + mov.u32 %r151, 32; + sub.s32 %r152, %r151, %r342; + shr.u32 %r153, %r340, %r152; + add.s32 %r154, %r153, %r150; + selp.b32 %r39, %r338, %r154, %p18; + mov.u32 %r155, -921707870; + mul.hi.u32 %r341, %r39, %r155; + setp.eq.s32 %p19, %r21, 0; + neg.s32 %r156, %r31; + selp.b32 %r343, %r31, %r156, %p19; + setp.lt.s32 %p20, %r341, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r157, %r39, -921707870; + shr.u32 %r158, %r157, 31; + shl.b32 %r159, %r341, 1; + add.s32 %r341, %r158, %r159; + add.s32 %r342, %r342, 1; + +BB0_18: + mov.u32 %r160, 126; + sub.s32 %r161, %r160, %r342; + shl.b32 %r162, %r161, 23; + add.s32 %r163, %r341, 1; + shr.u32 %r164, %r163, 7; + add.s32 %r165, %r164, 1; + shr.u32 %r166, %r165, 1; + add.s32 %r167, %r166, %r162; + or.b32 %r168, %r167, %r339; + mov.b32 %f678, %r168; + +BB0_19: + mul.rn.f32 %f40, %f678, %f678; + add.s32 %r47, %r343, 1; + and.b32 %r48, %r47, 1; + setp.eq.s32 %p21, %r48, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mov.f32 %f227, 0f3C08839E; + mov.f32 %f228, 0fB94CA1F9; + fma.rn.f32 %f679, %f228, %f40, %f227; + bra.uni BB0_22; + +BB0_20: + mov.f32 %f225, 0fBAB6061A; + mov.f32 %f226, 0f37CCF5CE; + fma.rn.f32 %f679, %f226, %f40, %f225; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mov.f32 %f232, 0fBE2AAAA3; + fma.rn.f32 %f233, %f679, %f40, %f232; + fma.rn.f32 %f680, %f233, %f40, %f213; + bra.uni BB0_25; + +BB0_23: + mov.f32 %f229, 0f3D2AAAA5; + fma.rn.f32 %f230, %f679, %f40, %f229; + mov.f32 %f231, 0fBF000000; + fma.rn.f32 %f680, %f230, %f40, %f231; + +BB0_25: + fma.rn.f32 %f681, %f680, %f678, %f678; + @%p21 bra BB0_27; + + fma.rn.f32 %f681, %f680, %f40, %f211; + +BB0_27: + and.b32 %r169, %r47, 2; + setp.eq.s32 %p24, %r169, 0; + @%p24 bra BB0_29; + + mov.f32 %f237, 0fBF800000; + fma.rn.f32 %f681, %f681, %f237, %f213; + +BB0_29: + @%p12 bra BB0_31; + + mul.rn.f32 %f683, %f683, %f213; + +BB0_31: + mov.f32 %f663, 0f3FC90FDA; + mul.f32 %f239, %f683, 0f3F22F983; + cvt.rni.s32.f32 %r353, %f239; + cvt.rn.f32.s32 %f240, %r353; + neg.f32 %f241, %f240; + fma.rn.f32 %f243, %f241, %f663, %f683; + fma.rn.f32 %f245, %f241, %f221, %f243; + fma.rn.f32 %f684, %f241, %f223, %f245; + abs.f32 %f247, %f683; + setp.leu.f32 %p26, %f247, 0f47CE4780; + @%p26 bra BB0_42; + + add.u64 %rd53, %SP, 4; + cvta.to.local.u64 %rd9, %rd53; + mov.b32 %r50, %f683; + shr.u32 %r51, %r50, 23; + shl.b32 %r172, %r50, 8; + or.b32 %r52, %r172, -2147483648; + mov.u32 %r344, 0; + mov.u64 %rd280, %rd9; + mov.u64 %rd281, %rd25; + mov.u32 %r345, %r344; + +BB0_33: + .pragma "nounroll"; + shl.b64 %rd54, %rd281, 2; + mov.u64 %rd55, __cudart_i2opi_f; + add.s64 %rd56, %rd55, %rd54; + ld.const.u32 %r175, [%rd56]; + // inline asm + { + mad.lo.cc.u32 %r173, %r175, %r52, %r345; + madc.hi.u32 %r345, %r175, %r52, 0; + } + // inline asm + st.local.u32 [%rd280], %r173; + add.s32 %r344, %r344, 1; + cvt.s64.s32 %rd281, %r344; + mul.wide.s32 %rd57, %r344, 4; + add.s64 %rd280, %rd9, %rd57; + setp.ne.s32 %p27, %r344, 6; + @%p27 bra BB0_33; + + and.b32 %r178, %r51, 255; + add.s32 %r179, %r178, -128; + shr.u32 %r180, %r179, 5; + and.b32 %r57, %r50, -2147483648; + cvta.to.local.u64 %rd59, %rd53; + st.local.u32 [%rd59+24], %r345; + mov.u32 %r181, 6; + sub.s32 %r182, %r181, %r180; + mul.wide.s32 %rd60, %r182, 4; + add.s64 %rd15, %rd59, %rd60; + ld.local.u32 %r346, [%rd15]; + ld.local.u32 %r347, [%rd15+-4]; + and.b32 %r60, %r51, 31; + setp.eq.s32 %p28, %r60, 0; + @%p28 bra BB0_36; + + mov.u32 %r183, 32; + sub.s32 %r184, %r183, %r60; + shr.u32 %r185, %r347, %r184; + shl.b32 %r186, %r346, %r60; + add.s32 %r346, %r185, %r186; + ld.local.u32 %r187, [%rd15+-8]; + shr.u32 %r188, %r187, %r184; + shl.b32 %r189, %r347, %r60; + add.s32 %r347, %r188, %r189; + +BB0_36: + shr.u32 %r190, %r347, 30; + shl.b32 %r191, %r346, 2; + add.s32 %r348, %r190, %r191; + shl.b32 %r66, %r347, 2; + shr.u32 %r192, %r348, 31; + shr.u32 %r193, %r346, 30; + add.s32 %r67, %r192, %r193; + setp.eq.s32 %p29, %r192, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r349, %r57; + mov.u32 %r350, %r66; + bra.uni BB0_39; + +BB0_38: + not.b32 %r194, %r348; + neg.s32 %r350, %r66; + setp.eq.s32 %p30, %r66, 0; + selp.u32 %r195, 1, 0, %p30; + add.s32 %r348, %r195, %r194; + xor.b32 %r349, %r57, -2147483648; + +BB0_39: + clz.b32 %r352, %r348; + setp.eq.s32 %p31, %r352, 0; + shl.b32 %r196, %r348, %r352; + mov.u32 %r197, 32; + sub.s32 %r198, %r197, %r352; + shr.u32 %r199, %r350, %r198; + add.s32 %r200, %r199, %r196; + selp.b32 %r75, %r348, %r200, %p31; + mov.u32 %r201, -921707870; + mul.hi.u32 %r351, %r75, %r201; + setp.eq.s32 %p32, %r57, 0; + neg.s32 %r202, %r67; + selp.b32 %r353, %r67, %r202, %p32; + setp.lt.s32 %p33, %r351, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r203, %r75, -921707870; + shr.u32 %r204, %r203, 31; + shl.b32 %r205, %r351, 1; + add.s32 %r351, %r204, %r205; + add.s32 %r352, %r352, 1; + +BB0_41: + mov.u32 %r206, 126; + sub.s32 %r207, %r206, %r352; + shl.b32 %r208, %r207, 23; + add.s32 %r209, %r351, 1; + shr.u32 %r210, %r209, 7; + add.s32 %r211, %r210, 1; + shr.u32 %r212, %r211, 1; + add.s32 %r213, %r212, %r208; + or.b32 %r214, %r213, %r349; + mov.b32 %f684, %r214; + +BB0_42: + mul.rn.f32 %f57, %f684, %f684; + and.b32 %r83, %r353, 1; + setp.eq.s32 %p34, %r83, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f250, 0f3C08839E; + mov.f32 %f251, 0fB94CA1F9; + fma.rn.f32 %f685, %f251, %f57, %f250; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f248, 0fBAB6061A; + mov.f32 %f249, 0f37CCF5CE; + fma.rn.f32 %f685, %f249, %f57, %f248; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mov.f32 %f255, 0fBE2AAAA3; + fma.rn.f32 %f256, %f685, %f57, %f255; + fma.rn.f32 %f686, %f256, %f57, %f213; + bra.uni BB0_48; + +BB0_46: + mov.f32 %f252, 0f3D2AAAA5; + fma.rn.f32 %f253, %f685, %f57, %f252; + mov.f32 %f254, 0fBF000000; + fma.rn.f32 %f686, %f253, %f57, %f254; + +BB0_48: + fma.rn.f32 %f687, %f686, %f684, %f684; + @%p34 bra BB0_50; + + fma.rn.f32 %f687, %f686, %f57, %f211; + +BB0_50: + and.b32 %r215, %r353, 2; + setp.eq.s32 %p37, %r215, 0; + @%p37 bra BB0_52; + + mov.f32 %f260, 0fBF800000; + fma.rn.f32 %f687, %f687, %f260, %f213; + +BB0_52: + mul.f32 %f261, %f32, %f681; + mul.f32 %f262, %f32, %f687; + mul.f32 %f263, %f10, %f262; + mul.f32 %f264, %f11, %f262; + mul.f32 %f265, %f12, %f262; + fma.rn.f32 %f266, %f19, %f261, %f263; + fma.rn.f32 %f267, %f18, %f261, %f264; + fma.rn.f32 %f268, %f17, %f261, %f265; + fma.rn.f32 %f69, %f664, %f31, %f266; + fma.rn.f32 %f70, %f665, %f31, %f267; + fma.rn.f32 %f71, %f666, %f31, %f268; + setp.gt.f32 %p38, %f70, 0f00000000; + setp.eq.s32 %p39, %r6, 0; + or.pred %p40, %p39, %p38; + @!%p40 bra BB0_54; + bra.uni BB0_53; + +BB0_53: + add.u64 %rd61, %SP, 0; + cvta.to.local.u64 %rd62, %rd61; + max.f32 %f275, %f281, %f177; + mov.u32 %r219, 1065353216; + st.local.u32 [%rd62], %r219; + ld.global.u32 %r216, [root]; + mov.u32 %r217, 1; + mov.f32 %f276, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r216, %f7, %f8, %f9, %f69, %f70, %f71, %r217, %f275, %f276, %rd61, %r93); + // inline asm + mul.f32 %f283, %f665, %f70; + fma.rn.f32 %f284, %f664, %f69, %f283; + fma.rn.f32 %f285, %f666, %f71, %f284; + ld.local.f32 %f286, [%rd62]; + fma.rn.f32 %f691, %f69, %f286, %f691; + fma.rn.f32 %f692, %f70, %f286, %f692; + fma.rn.f32 %f693, %f71, %f286, %f693; + add.f32 %f690, %f690, %f286; + cvt.sat.f32.f32 %f287, %f285; + fma.rn.f32 %f689, %f287, %f286, %f689; + +BB0_54: + add.s32 %r332, %r332, 1; + setp.lt.s32 %p41, %r332, %r2; + @%p41 bra BB0_6; + + add.s32 %r330, %r330, 1; + setp.lt.s32 %p42, %r330, %r2; + @%p42 bra BB0_5; + +BB0_56: + mul.lo.s32 %r220, %r2, %r2; + cvt.rn.f32.s32 %f288, %r220; + div.rn.f32 %f289, %f689, %f288; + div.rn.f32 %f87, %f690, %f288; + div.rn.f32 %f88, %f691, %f288; + div.rn.f32 %f89, %f692, %f288; + div.rn.f32 %f90, %f693, %f288; + add.f32 %f290, %f289, %f289; + ld.global.f32 %f291, [skyColor]; + mul.f32 %f91, %f290, %f291; + ld.global.f32 %f292, [skyColor+4]; + mul.f32 %f92, %f290, %f292; + ld.global.f32 %f293, [skyColor+8]; + mul.f32 %f93, %f290, %f293; + ld.global.u32 %r354, [imageEnabled]; + and.b32 %r221, %r354, 1; + setp.eq.b32 %p43, %r221, 1; + @!%p43 bra BB0_91; + bra.uni BB0_57; + +BB0_57: + abs.f32 %f95, %f91; + setp.lt.f32 %p44, %f95, 0f00800000; + mul.f32 %f299, %f95, 0f4B800000; + selp.f32 %f300, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f301, %f299, %f95, %p44; + mov.b32 %r222, %f301; + and.b32 %r223, %r222, 8388607; + or.b32 %r224, %r223, 1065353216; + mov.b32 %f302, %r224; + shr.u32 %r225, %r222, 23; + cvt.rn.f32.u32 %f303, %r225; + add.f32 %f304, %f300, %f303; + setp.gt.f32 %p45, %f302, 0f3FB504F3; + mul.f32 %f305, %f302, 0f3F000000; + add.f32 %f306, %f304, 0f3F800000; + selp.f32 %f307, %f305, %f302, %p45; + selp.f32 %f308, %f306, %f304, %p45; + add.f32 %f309, %f307, 0fBF800000; + add.f32 %f295, %f307, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f294,%f295; + // inline asm + add.f32 %f310, %f309, %f309; + mul.f32 %f311, %f294, %f310; + mul.f32 %f312, %f311, %f311; + mov.f32 %f313, 0f3C4CAF63; + mov.f32 %f314, 0f3B18F0FE; + fma.rn.f32 %f315, %f314, %f312, %f313; + mov.f32 %f316, 0f3DAAAABD; + fma.rn.f32 %f317, %f315, %f312, %f316; + mul.rn.f32 %f318, %f317, %f312; + mul.rn.f32 %f319, %f318, %f311; + sub.f32 %f320, %f309, %f311; + neg.f32 %f321, %f311; + add.f32 %f322, %f320, %f320; + fma.rn.f32 %f323, %f321, %f309, %f322; + mul.rn.f32 %f324, %f294, %f323; + add.f32 %f325, %f319, %f311; + sub.f32 %f326, %f311, %f325; + add.f32 %f327, %f319, %f326; + add.f32 %f328, %f324, %f327; + add.f32 %f329, %f325, %f328; + sub.f32 %f330, %f325, %f329; + add.f32 %f331, %f328, %f330; + mov.f32 %f332, 0f3F317200; + mul.rn.f32 %f333, %f308, %f332; + mov.f32 %f334, 0f35BFBE8E; + mul.rn.f32 %f335, %f308, %f334; + add.f32 %f336, %f333, %f329; + sub.f32 %f337, %f333, %f336; + add.f32 %f338, %f329, %f337; + add.f32 %f339, %f331, %f338; + add.f32 %f340, %f335, %f339; + add.f32 %f341, %f336, %f340; + sub.f32 %f342, %f336, %f341; + add.f32 %f343, %f340, %f342; + mov.f32 %f344, 0f3EE66666; + mul.rn.f32 %f345, %f344, %f341; + neg.f32 %f346, %f345; + fma.rn.f32 %f347, %f344, %f341, %f346; + fma.rn.f32 %f348, %f344, %f343, %f347; + mov.f32 %f349, 0f00000000; + fma.rn.f32 %f350, %f349, %f341, %f348; + add.rn.f32 %f351, %f345, %f350; + neg.f32 %f352, %f351; + add.rn.f32 %f353, %f345, %f352; + add.rn.f32 %f354, %f353, %f350; + mov.b32 %r226, %f351; + setp.eq.s32 %p46, %r226, 1118925336; + add.s32 %r227, %r226, -1; + mov.b32 %f355, %r227; + add.f32 %f356, %f354, 0f37000000; + selp.f32 %f357, %f355, %f351, %p46; + selp.f32 %f96, %f356, %f354, %p46; + mul.f32 %f358, %f357, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f359, %f358; + mov.f32 %f360, 0fBF317200; + fma.rn.f32 %f361, %f359, %f360, %f357; + mov.f32 %f362, 0fB5BFBE8E; + fma.rn.f32 %f363, %f359, %f362, %f361; + mul.f32 %f364, %f363, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f365, %f364; + add.f32 %f366, %f359, 0f00000000; + ex2.approx.f32 %f367, %f366; + mul.f32 %f368, %f365, %f367; + setp.lt.f32 %p47, %f357, 0fC2D20000; + selp.f32 %f369, 0f00000000, %f368, %p47; + setp.gt.f32 %p48, %f357, 0f42D20000; + selp.f32 %f699, 0f7F800000, %f369, %p48; + setp.eq.f32 %p49, %f699, 0f7F800000; + @%p49 bra BB0_59; + + fma.rn.f32 %f699, %f699, %f96, %f699; + +BB0_59: + mov.f32 %f631, 0f3E666666; + cvt.rzi.f32.f32 %f630, %f631; + fma.rn.f32 %f629, %f630, 0fC0000000, 0f3EE66666; + abs.f32 %f628, %f629; + setp.lt.f32 %p50, %f91, 0f00000000; + setp.eq.f32 %p51, %f628, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r228, %f699; + xor.b32 %r229, %r228, -2147483648; + mov.b32 %f370, %r229; + selp.f32 %f701, %f370, %f699, %p1; + setp.eq.f32 %p52, %f91, 0f00000000; + @%p52 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f373, %f91, %f91; + selp.f32 %f701, %f373, 0f00000000, %p51; + bra.uni BB0_63; + +BB0_112: + mov.u64 %rd196, image_HDR; + cvta.global.u64 %rd191, %rd196; + mov.u32 %r300, 8; + mov.u64 %rd195, 0; + // inline asm + call (%rd190), _rt_buffer_get_64, (%rd191, %r92, %r300, %rd18, %rd19, %rd195, %rd195); + // inline asm + mov.f32 %f599, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs94, %f599;} + + // inline asm + mov.u16 %rs95, 0; + st.v4.u16 [%rd190], {%rs94, %rs94, %rs94, %rs95}; + +BB0_113: + ld.global.u32 %r301, [additive]; + setp.eq.s32 %p101, %r301, 0; + @%p101 bra BB0_115; + + mov.u64 %rd209, image_RNM0; + cvta.global.u64 %rd198, %rd209; + mov.u32 %r305, 8; + mov.u64 %rd208, 0; + // inline asm + call (%rd197), _rt_buffer_get_64, (%rd198, %r92, %r305, %rd18, %rd19, %rd208, %rd208); + // inline asm + ld.v4.u16 {%rs102, %rs103, %rs104, %rs105}, [%rd197]; + // inline asm + { cvt.f32.f16 %f600, %rs102;} + + // inline asm + // inline asm + { cvt.f32.f16 %f601, %rs103;} + + // inline asm + // inline asm + { cvt.f32.f16 %f602, %rs104;} + + // inline asm + // inline asm + call (%rd203), _rt_buffer_get_64, (%rd198, %r92, %r305, %rd18, %rd19, %rd208, %rd208); + // inline asm + add.f32 %f603, %f600, 0f00000000; + add.f32 %f604, %f601, 0f00000000; + add.f32 %f605, %f602, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs101, %f605;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs100, %f604;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f603;} + + // inline asm + mov.u16 %rs106, 0; + st.v4.u16 [%rd203], {%rs99, %rs100, %rs101, %rs106}; + bra.uni BB0_116; + +BB0_115: + mov.u64 %rd216, image_RNM0; + cvta.global.u64 %rd211, %rd216; + mov.u32 %r307, 8; + mov.u64 %rd215, 0; + // inline asm + call (%rd210), _rt_buffer_get_64, (%rd211, %r92, %r307, %rd18, %rd19, %rd215, %rd215); + // inline asm + mov.f32 %f606, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs107, %f606;} + + // inline asm + mov.u16 %rs108, 0; + st.v4.u16 [%rd210], {%rs107, %rs107, %rs107, %rs108}; + +BB0_116: + ld.global.u32 %r308, [additive]; + setp.eq.s32 %p102, %r308, 0; + @%p102 bra BB0_118; + + mov.u64 %rd229, image_RNM1; + cvta.global.u64 %rd218, %rd229; + mov.u32 %r312, 8; + mov.u64 %rd228, 0; + // inline asm + call (%rd217), _rt_buffer_get_64, (%rd218, %r92, %r312, %rd18, %rd19, %rd228, %rd228); + // inline asm + ld.v4.u16 {%rs115, %rs116, %rs117, %rs118}, [%rd217]; + // inline asm + { cvt.f32.f16 %f607, %rs115;} + + // inline asm + // inline asm + { cvt.f32.f16 %f608, %rs116;} + + // inline asm + // inline asm + { cvt.f32.f16 %f609, %rs117;} + + // inline asm + // inline asm + call (%rd223), _rt_buffer_get_64, (%rd218, %r92, %r312, %rd18, %rd19, %rd228, %rd228); + // inline asm + add.f32 %f610, %f607, 0f00000000; + add.f32 %f611, %f608, 0f00000000; + add.f32 %f612, %f609, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs114, %f612;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs113, %f611;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs112, %f610;} + + // inline asm + mov.u16 %rs119, 0; + st.v4.u16 [%rd223], {%rs112, %rs113, %rs114, %rs119}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd236, image_RNM1; + cvta.global.u64 %rd231, %rd236; + mov.u32 %r314, 8; + mov.u64 %rd235, 0; + // inline asm + call (%rd230), _rt_buffer_get_64, (%rd231, %r92, %r314, %rd18, %rd19, %rd235, %rd235); + // inline asm + mov.f32 %f613, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs120, %f613;} + + // inline asm + mov.u16 %rs121, 0; + st.v4.u16 [%rd230], {%rs120, %rs120, %rs120, %rs121}; + +BB0_119: + ld.global.u32 %r315, [additive]; + setp.eq.s32 %p103, %r315, 0; + @%p103 bra BB0_121; + + mov.u64 %rd249, image_RNM2; + cvta.global.u64 %rd238, %rd249; + mov.u32 %r319, 8; + mov.u64 %rd248, 0; + // inline asm + call (%rd237), _rt_buffer_get_64, (%rd238, %r92, %r319, %rd18, %rd19, %rd248, %rd248); + // inline asm + ld.v4.u16 {%rs128, %rs129, %rs130, %rs131}, [%rd237]; + // inline asm + { cvt.f32.f16 %f614, %rs128;} + + // inline asm + // inline asm + { cvt.f32.f16 %f615, %rs129;} + + // inline asm + // inline asm + { cvt.f32.f16 %f616, %rs130;} + + // inline asm + // inline asm + call (%rd243), _rt_buffer_get_64, (%rd238, %r92, %r319, %rd18, %rd19, %rd248, %rd248); + // inline asm + add.f32 %f617, %f614, 0f00000000; + add.f32 %f618, %f615, 0f00000000; + add.f32 %f619, %f616, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs127, %f619;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs126, %f618;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs125, %f617;} + + // inline asm + mov.u16 %rs132, 0; + st.v4.u16 [%rd243], {%rs125, %rs126, %rs127, %rs132}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd256, image_RNM2; + cvta.global.u64 %rd251, %rd256; + mov.u32 %r321, 8; + mov.u64 %rd255, 0; + // inline asm + call (%rd250), _rt_buffer_get_64, (%rd251, %r92, %r321, %rd18, %rd19, %rd255, %rd255); + // inline asm + mov.f32 %f620, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs133, %f620;} + + // inline asm + mov.u16 %rs134, 0; + st.v4.u16 [%rd250], {%rs133, %rs133, %rs133, %rs134}; + +BB0_122: + ld.global.u32 %r322, [additive]; + setp.eq.s32 %p104, %r322, 0; + @%p104 bra BB0_124; + + mov.u64 %rd269, image_RNM3; + cvta.global.u64 %rd258, %rd269; + mov.u32 %r326, 8; + mov.u64 %rd268, 0; + // inline asm + call (%rd257), _rt_buffer_get_64, (%rd258, %r92, %r326, %rd18, %rd19, %rd268, %rd268); + // inline asm + ld.v4.u16 {%rs141, %rs142, %rs143, %rs144}, [%rd257]; + // inline asm + { cvt.f32.f16 %f621, %rs141;} + + // inline asm + // inline asm + { cvt.f32.f16 %f622, %rs142;} + + // inline asm + // inline asm + { cvt.f32.f16 %f623, %rs143;} + + // inline asm + // inline asm + call (%rd263), _rt_buffer_get_64, (%rd258, %r92, %r326, %rd18, %rd19, %rd268, %rd268); + // inline asm + add.f32 %f624, %f621, 0f00000000; + add.f32 %f625, %f622, 0f00000000; + add.f32 %f626, %f623, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f626;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs139, %f625;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs138, %f624;} + + // inline asm + mov.u16 %rs145, 0; + st.v4.u16 [%rd263], {%rs138, %rs139, %rs140, %rs145}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd276, image_RNM3; + cvta.global.u64 %rd271, %rd276; + mov.u32 %r328, 8; + mov.u64 %rd275, 0; + // inline asm + call (%rd270), _rt_buffer_get_64, (%rd271, %r92, %r328, %rd18, %rd19, %rd275, %rd275); + // inline asm + mov.f32 %f627, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs146, %f627;} + + // inline asm + mov.u16 %rs147, 0; + st.v4.u16 [%rd270], {%rs146, %rs146, %rs146, %rs147}; + bra.uni BB0_125; + +BB0_60: + setp.geu.f32 %p53, %f91, 0f00000000; + @%p53 bra BB0_63; + + mov.f32 %f655, 0f3EE66666; + cvt.rzi.f32.f32 %f372, %f655; + setp.neu.f32 %p54, %f372, 0f3EE66666; + selp.f32 %f701, 0f7FFFFFFF, %f701, %p54; + +BB0_63: + abs.f32 %f632, %f91; + add.f32 %f374, %f632, 0f3EE66666; + mov.b32 %r230, %f374; + setp.lt.s32 %p56, %r230, 2139095040; + @%p56 bra BB0_68; + + abs.f32 %f653, %f91; + setp.gtu.f32 %p57, %f653, 0f7F800000; + @%p57 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f701, %f91, 0f3EE66666; + bra.uni BB0_68; + +BB0_65: + abs.f32 %f654, %f91; + setp.neu.f32 %p58, %f654, 0f7F800000; + @%p58 bra BB0_68; + + selp.f32 %f701, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + mov.f32 %f641, 0fB5BFBE8E; + mov.f32 %f640, 0fBF317200; + mov.f32 %f639, 0f00000000; + mov.f32 %f638, 0f35BFBE8E; + mov.f32 %f637, 0f3F317200; + mov.f32 %f636, 0f3DAAAABD; + mov.f32 %f635, 0f3C4CAF63; + mov.f32 %f634, 0f3B18F0FE; + mov.f32 %f633, 0f3EE66666; + setp.eq.f32 %p59, %f91, 0f3F800000; + selp.f32 %f107, 0f3F800000, %f701, %p59; + abs.f32 %f108, %f92; + setp.lt.f32 %p60, %f108, 0f00800000; + mul.f32 %f377, %f108, 0f4B800000; + selp.f32 %f378, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f379, %f377, %f108, %p60; + mov.b32 %r231, %f379; + and.b32 %r232, %r231, 8388607; + or.b32 %r233, %r232, 1065353216; + mov.b32 %f380, %r233; + shr.u32 %r234, %r231, 23; + cvt.rn.f32.u32 %f381, %r234; + add.f32 %f382, %f378, %f381; + setp.gt.f32 %p61, %f380, 0f3FB504F3; + mul.f32 %f383, %f380, 0f3F000000; + add.f32 %f384, %f382, 0f3F800000; + selp.f32 %f385, %f383, %f380, %p61; + selp.f32 %f386, %f384, %f382, %p61; + add.f32 %f387, %f385, 0fBF800000; + add.f32 %f376, %f385, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f375,%f376; + // inline asm + add.f32 %f388, %f387, %f387; + mul.f32 %f389, %f375, %f388; + mul.f32 %f390, %f389, %f389; + fma.rn.f32 %f393, %f634, %f390, %f635; + fma.rn.f32 %f395, %f393, %f390, %f636; + mul.rn.f32 %f396, %f395, %f390; + mul.rn.f32 %f397, %f396, %f389; + sub.f32 %f398, %f387, %f389; + neg.f32 %f399, %f389; + add.f32 %f400, %f398, %f398; + fma.rn.f32 %f401, %f399, %f387, %f400; + mul.rn.f32 %f402, %f375, %f401; + add.f32 %f403, %f397, %f389; + sub.f32 %f404, %f389, %f403; + add.f32 %f405, %f397, %f404; + add.f32 %f406, %f402, %f405; + add.f32 %f407, %f403, %f406; + sub.f32 %f408, %f403, %f407; + add.f32 %f409, %f406, %f408; + mul.rn.f32 %f411, %f386, %f637; + mul.rn.f32 %f413, %f386, %f638; + add.f32 %f414, %f411, %f407; + sub.f32 %f415, %f411, %f414; + add.f32 %f416, %f407, %f415; + add.f32 %f417, %f409, %f416; + add.f32 %f418, %f413, %f417; + add.f32 %f419, %f414, %f418; + sub.f32 %f420, %f414, %f419; + add.f32 %f421, %f418, %f420; + mul.rn.f32 %f423, %f633, %f419; + neg.f32 %f424, %f423; + fma.rn.f32 %f425, %f633, %f419, %f424; + fma.rn.f32 %f426, %f633, %f421, %f425; + fma.rn.f32 %f428, %f639, %f419, %f426; + add.rn.f32 %f429, %f423, %f428; + neg.f32 %f430, %f429; + add.rn.f32 %f431, %f423, %f430; + add.rn.f32 %f432, %f431, %f428; + mov.b32 %r235, %f429; + setp.eq.s32 %p62, %r235, 1118925336; + add.s32 %r236, %r235, -1; + mov.b32 %f433, %r236; + add.f32 %f434, %f432, 0f37000000; + selp.f32 %f435, %f433, %f429, %p62; + selp.f32 %f109, %f434, %f432, %p62; + mul.f32 %f436, %f435, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f437, %f436; + fma.rn.f32 %f439, %f437, %f640, %f435; + fma.rn.f32 %f441, %f437, %f641, %f439; + mul.f32 %f442, %f441, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f443, %f442; + add.f32 %f444, %f437, 0f00000000; + ex2.approx.f32 %f445, %f444; + mul.f32 %f446, %f443, %f445; + setp.lt.f32 %p63, %f435, 0fC2D20000; + selp.f32 %f447, 0f00000000, %f446, %p63; + setp.gt.f32 %p64, %f435, 0f42D20000; + selp.f32 %f702, 0f7F800000, %f447, %p64; + setp.eq.f32 %p65, %f702, 0f7F800000; + @%p65 bra BB0_70; + + fma.rn.f32 %f702, %f702, %f109, %f702; + +BB0_70: + setp.lt.f32 %p66, %f92, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r237, %f702; + xor.b32 %r238, %r237, -2147483648; + mov.b32 %f448, %r238; + selp.f32 %f704, %f448, %f702, %p2; + setp.eq.f32 %p68, %f92, 0f00000000; + @%p68 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f451, %f92, %f92; + selp.f32 %f704, %f451, 0f00000000, %p51; + bra.uni BB0_74; + +BB0_71: + setp.geu.f32 %p69, %f92, 0f00000000; + @%p69 bra BB0_74; + + mov.f32 %f652, 0f3EE66666; + cvt.rzi.f32.f32 %f450, %f652; + setp.neu.f32 %p70, %f450, 0f3EE66666; + selp.f32 %f704, 0f7FFFFFFF, %f704, %p70; + +BB0_74: + abs.f32 %f656, %f92; + add.f32 %f452, %f656, 0f3EE66666; + mov.b32 %r239, %f452; + setp.lt.s32 %p72, %r239, 2139095040; + @%p72 bra BB0_79; + + abs.f32 %f657, %f92; + setp.gtu.f32 %p73, %f657, 0f7F800000; + @%p73 bra BB0_78; + bra.uni BB0_76; + +BB0_78: + add.f32 %f704, %f92, 0f3EE66666; + bra.uni BB0_79; + +BB0_76: + abs.f32 %f658, %f92; + setp.neu.f32 %p74, %f658, 0f7F800000; + @%p74 bra BB0_79; + + selp.f32 %f704, 0fFF800000, 0f7F800000, %p2; + +BB0_79: + mov.f32 %f650, 0fB5BFBE8E; + mov.f32 %f649, 0fBF317200; + mov.f32 %f648, 0f00000000; + mov.f32 %f647, 0f35BFBE8E; + mov.f32 %f646, 0f3F317200; + mov.f32 %f645, 0f3DAAAABD; + mov.f32 %f644, 0f3C4CAF63; + mov.f32 %f643, 0f3B18F0FE; + mov.f32 %f642, 0f3EE66666; + setp.eq.f32 %p75, %f92, 0f3F800000; + selp.f32 %f120, 0f3F800000, %f704, %p75; + abs.f32 %f121, %f93; + setp.lt.f32 %p76, %f121, 0f00800000; + mul.f32 %f455, %f121, 0f4B800000; + selp.f32 %f456, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f457, %f455, %f121, %p76; + mov.b32 %r240, %f457; + and.b32 %r241, %r240, 8388607; + or.b32 %r242, %r241, 1065353216; + mov.b32 %f458, %r242; + shr.u32 %r243, %r240, 23; + cvt.rn.f32.u32 %f459, %r243; + add.f32 %f460, %f456, %f459; + setp.gt.f32 %p77, %f458, 0f3FB504F3; + mul.f32 %f461, %f458, 0f3F000000; + add.f32 %f462, %f460, 0f3F800000; + selp.f32 %f463, %f461, %f458, %p77; + selp.f32 %f464, %f462, %f460, %p77; + add.f32 %f465, %f463, 0fBF800000; + add.f32 %f454, %f463, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f453,%f454; + // inline asm + add.f32 %f466, %f465, %f465; + mul.f32 %f467, %f453, %f466; + mul.f32 %f468, %f467, %f467; + fma.rn.f32 %f471, %f643, %f468, %f644; + fma.rn.f32 %f473, %f471, %f468, %f645; + mul.rn.f32 %f474, %f473, %f468; + mul.rn.f32 %f475, %f474, %f467; + sub.f32 %f476, %f465, %f467; + neg.f32 %f477, %f467; + add.f32 %f478, %f476, %f476; + fma.rn.f32 %f479, %f477, %f465, %f478; + mul.rn.f32 %f480, %f453, %f479; + add.f32 %f481, %f475, %f467; + sub.f32 %f482, %f467, %f481; + add.f32 %f483, %f475, %f482; + add.f32 %f484, %f480, %f483; + add.f32 %f485, %f481, %f484; + sub.f32 %f486, %f481, %f485; + add.f32 %f487, %f484, %f486; + mul.rn.f32 %f489, %f464, %f646; + mul.rn.f32 %f491, %f464, %f647; + add.f32 %f492, %f489, %f485; + sub.f32 %f493, %f489, %f492; + add.f32 %f494, %f485, %f493; + add.f32 %f495, %f487, %f494; + add.f32 %f496, %f491, %f495; + add.f32 %f497, %f492, %f496; + sub.f32 %f498, %f492, %f497; + add.f32 %f499, %f496, %f498; + mul.rn.f32 %f501, %f642, %f497; + neg.f32 %f502, %f501; + fma.rn.f32 %f503, %f642, %f497, %f502; + fma.rn.f32 %f504, %f642, %f499, %f503; + fma.rn.f32 %f506, %f648, %f497, %f504; + add.rn.f32 %f507, %f501, %f506; + neg.f32 %f508, %f507; + add.rn.f32 %f509, %f501, %f508; + add.rn.f32 %f510, %f509, %f506; + mov.b32 %r244, %f507; + setp.eq.s32 %p78, %r244, 1118925336; + add.s32 %r245, %r244, -1; + mov.b32 %f511, %r245; + add.f32 %f512, %f510, 0f37000000; + selp.f32 %f513, %f511, %f507, %p78; + selp.f32 %f122, %f512, %f510, %p78; + mul.f32 %f514, %f513, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f515, %f514; + fma.rn.f32 %f517, %f515, %f649, %f513; + fma.rn.f32 %f519, %f515, %f650, %f517; + mul.f32 %f520, %f519, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f521, %f520; + add.f32 %f522, %f515, 0f00000000; + ex2.approx.f32 %f523, %f522; + mul.f32 %f524, %f521, %f523; + setp.lt.f32 %p79, %f513, 0fC2D20000; + selp.f32 %f525, 0f00000000, %f524, %p79; + setp.gt.f32 %p80, %f513, 0f42D20000; + selp.f32 %f705, 0f7F800000, %f525, %p80; + setp.eq.f32 %p81, %f705, 0f7F800000; + @%p81 bra BB0_81; + + fma.rn.f32 %f705, %f705, %f122, %f705; + +BB0_81: + setp.lt.f32 %p82, %f93, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r246, %f705; + xor.b32 %r247, %r246, -2147483648; + mov.b32 %f526, %r247; + selp.f32 %f707, %f526, %f705, %p3; + setp.eq.f32 %p84, %f93, 0f00000000; + @%p84 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f529, %f93, %f93; + selp.f32 %f707, %f529, 0f00000000, %p51; + bra.uni BB0_85; + +BB0_82: + setp.geu.f32 %p85, %f93, 0f00000000; + @%p85 bra BB0_85; + + mov.f32 %f651, 0f3EE66666; + cvt.rzi.f32.f32 %f528, %f651; + setp.neu.f32 %p86, %f528, 0f3EE66666; + selp.f32 %f707, 0f7FFFFFFF, %f707, %p86; + +BB0_85: + abs.f32 %f659, %f93; + add.f32 %f530, %f659, 0f3EE66666; + mov.b32 %r248, %f530; + setp.lt.s32 %p88, %r248, 2139095040; + @%p88 bra BB0_90; + + abs.f32 %f660, %f93; + setp.gtu.f32 %p89, %f660, 0f7F800000; + @%p89 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f707, %f93, 0f3EE66666; + bra.uni BB0_90; + +BB0_87: + abs.f32 %f661, %f93; + setp.neu.f32 %p90, %f661, 0f7F800000; + @%p90 bra BB0_90; + + selp.f32 %f707, 0fFF800000, 0f7F800000, %p3; + +BB0_90: + mov.u32 %r329, 4; + setp.eq.f32 %p91, %f93, 0f3F800000; + selp.f32 %f531, 0f3F800000, %f707, %p91; + cvt.u64.u32 %rd66, %r5; + cvt.u64.u32 %rd65, %r4; + mov.u64 %rd69, image; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r92, %r329, %rd65, %rd66, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f532, %f531; + mul.f32 %f533, %f532, 0f437FFD71; + cvt.rzi.u32.f32 %r251, %f533; + cvt.sat.f32.f32 %f534, %f120; + mul.f32 %f535, %f534, 0f437FFD71; + cvt.rzi.u32.f32 %r252, %f535; + cvt.sat.f32.f32 %f536, %f107; + mul.f32 %f537, %f536, 0f437FFD71; + cvt.rzi.u32.f32 %r253, %f537; + cvt.u16.u32 %rs14, %r251; + cvt.u16.u32 %rs15, %r253; + cvt.u16.u32 %rs16, %r252; + mov.u16 %rs17, 255; + st.v4.u8 [%rd63], {%rs14, %rs16, %rs15, %rs17}; + ld.global.u32 %r354, [imageEnabled]; + +BB0_91: + cvt.u64.u32 %rd16, %r4; + cvt.u64.u32 %rd17, %r5; + and.b32 %r254, %r354, 4; + setp.eq.s32 %p92, %r254, 0; + @%p92 bra BB0_95; + + ld.global.u32 %r255, [additive]; + setp.eq.s32 %p93, %r255, 0; + mov.f32 %f538, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs18, %f538;} + + // inline asm + @%p93 bra BB0_94; + + mov.u64 %rd82, image_HDR; + cvta.global.u64 %rd71, %rd82; + mov.u32 %r259, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r92, %r259, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs25, %rs26, %rs27, %rs28}, [%rd70]; + // inline asm + { cvt.f32.f16 %f539, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f540, %rs26;} + + // inline asm + // inline asm + { cvt.f32.f16 %f541, %rs27;} + + // inline asm + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd71, %r92, %r259, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f542, %f91, %f539; + add.f32 %f543, %f92, %f540; + add.f32 %f544, %f93, %f541; + // inline asm + { cvt.rn.f16.f32 %rs24, %f544;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs23, %f543;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f542;} + + // inline asm + st.v4.u16 [%rd76], {%rs22, %rs23, %rs24, %rs18}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd89, image_HDR; + cvta.global.u64 %rd84, %rd89; + mov.u32 %r261, 8; + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd84, %r92, %r261, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f93;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f92;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f91;} + + // inline asm + st.v4.u16 [%rd83], {%rs29, %rs30, %rs31, %rs18}; + +BB0_95: + mul.f32 %f133, %f87, 0f3F000000; + ld.global.f32 %f549, [skyColor]; + mul.f32 %f134, %f133, %f549; + ld.global.f32 %f550, [skyColor+4]; + mul.f32 %f135, %f133, %f550; + ld.global.f32 %f551, [skyColor+8]; + mul.f32 %f136, %f133, %f551; + ld.global.u32 %r262, [additive]; + setp.eq.s32 %p94, %r262, 0; + mov.f32 %f548, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs32, %f548;} + + // inline asm + @%p94 bra BB0_97; + + mov.u64 %rd102, image_RNM0; + cvta.global.u64 %rd91, %rd102; + mov.u32 %r266, 8; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r92, %r266, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs39, %rs40, %rs41, %rs42}, [%rd90]; + // inline asm + { cvt.f32.f16 %f552, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f553, %rs40;} + + // inline asm + // inline asm + { cvt.f32.f16 %f554, %rs41;} + + // inline asm + // inline asm + call (%rd96), _rt_buffer_get_64, (%rd91, %r92, %r266, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f555, %f134, %f552; + add.f32 %f556, %f135, %f553; + add.f32 %f557, %f136, %f554; + // inline asm + { cvt.rn.f16.f32 %rs38, %f557;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f556;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f555;} + + // inline asm + st.v4.u16 [%rd96], {%rs36, %rs37, %rs38, %rs32}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd109, image_RNM0; + cvta.global.u64 %rd104, %rd109; + mov.u32 %r268, 8; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd104, %r92, %r268, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f136;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f135;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f134;} + + // inline asm + st.v4.u16 [%rd103], {%rs43, %rs44, %rs45, %rs32}; + +BB0_98: + mov.f32 %f562, 0f34000000; + max.f32 %f563, %f133, %f562; + mul.f32 %f564, %f88, 0f3F000000; + div.rn.f32 %f565, %f564, %f563; + fma.rn.f32 %f137, %f565, 0f3F000000, 0f3F000000; + mul.f32 %f566, %f89, 0f3F000000; + div.rn.f32 %f567, %f566, %f563; + fma.rn.f32 %f138, %f567, 0f3F000000, 0f3F000000; + mul.f32 %f568, %f90, 0f3F000000; + div.rn.f32 %f569, %f568, %f563; + fma.rn.f32 %f139, %f569, 0f3F000000, 0f3F000000; + ld.global.u32 %r269, [additive]; + setp.eq.s32 %p95, %r269, 0; + // inline asm + { cvt.rn.f16.f32 %rs46, %f548;} + + // inline asm + @%p95 bra BB0_100; + + mov.u64 %rd122, image_RNM1; + cvta.global.u64 %rd111, %rd122; + mov.u32 %r273, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r92, %r273, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd110]; + // inline asm + { cvt.f32.f16 %f570, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f571, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f572, %rs55;} + + // inline asm + // inline asm + call (%rd116), _rt_buffer_get_64, (%rd111, %r92, %r273, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f573, %f137, %f570; + add.f32 %f574, %f137, %f571; + add.f32 %f575, %f137, %f572; + // inline asm + { cvt.rn.f16.f32 %rs52, %f575;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f574;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f573;} + + // inline asm + st.v4.u16 [%rd116], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd129, image_RNM1; + cvta.global.u64 %rd124, %rd129; + mov.u32 %r275, 8; + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd124, %r92, %r275, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f137;} + + // inline asm + st.v4.u16 [%rd123], {%rs57, %rs57, %rs57, %rs46}; + +BB0_101: + ld.global.u32 %r276, [additive]; + setp.eq.s32 %p96, %r276, 0; + // inline asm + { cvt.rn.f16.f32 %rs58, %f548;} + + // inline asm + @%p96 bra BB0_103; + + mov.u64 %rd142, image_RNM2; + cvta.global.u64 %rd131, %rd142; + mov.u32 %r280, 8; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r92, %r280, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs65, %rs66, %rs67, %rs68}, [%rd130]; + // inline asm + { cvt.f32.f16 %f578, %rs65;} + + // inline asm + // inline asm + { cvt.f32.f16 %f579, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f580, %rs67;} + + // inline asm + // inline asm + call (%rd136), _rt_buffer_get_64, (%rd131, %r92, %r280, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f581, %f138, %f578; + add.f32 %f582, %f138, %f579; + add.f32 %f583, %f138, %f580; + // inline asm + { cvt.rn.f16.f32 %rs64, %f583;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f582;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs62, %f581;} + + // inline asm + st.v4.u16 [%rd136], {%rs62, %rs63, %rs64, %rs58}; + bra.uni BB0_104; + +BB0_103: + mov.u64 %rd149, image_RNM2; + cvta.global.u64 %rd144, %rd149; + mov.u32 %r282, 8; + // inline asm + call (%rd143), _rt_buffer_get_64, (%rd144, %r92, %r282, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f138;} + + // inline asm + st.v4.u16 [%rd143], {%rs69, %rs69, %rs69, %rs58}; + +BB0_104: + ld.global.u32 %r283, [additive]; + setp.eq.s32 %p97, %r283, 0; + // inline asm + { cvt.rn.f16.f32 %rs70, %f548;} + + // inline asm + @%p97 bra BB0_106; + + mov.u64 %rd162, image_RNM3; + cvta.global.u64 %rd151, %rd162; + mov.u32 %r287, 8; + // inline asm + call (%rd150), _rt_buffer_get_64, (%rd151, %r92, %r287, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs77, %rs78, %rs79, %rs80}, [%rd150]; + // inline asm + { cvt.f32.f16 %f586, %rs77;} + + // inline asm + // inline asm + { cvt.f32.f16 %f587, %rs78;} + + // inline asm + // inline asm + { cvt.f32.f16 %f588, %rs79;} + + // inline asm + // inline asm + call (%rd156), _rt_buffer_get_64, (%rd151, %r92, %r287, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f589, %f139, %f586; + add.f32 %f590, %f139, %f587; + add.f32 %f591, %f139, %f588; + // inline asm + { cvt.rn.f16.f32 %rs76, %f591;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f590;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs74, %f589;} + + // inline asm + st.v4.u16 [%rd156], {%rs74, %rs75, %rs76, %rs70}; + bra.uni BB0_125; + +BB0_106: + mov.u64 %rd169, image_RNM3; + cvta.global.u64 %rd164, %rd169; + mov.u32 %r289, 8; + // inline asm + call (%rd163), _rt_buffer_get_64, (%rd164, %r92, %r289, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f139;} + + // inline asm + st.v4.u16 [%rd163], {%rs81, %rs81, %rs81, %rs70}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx.meta new file mode 100644 index 00000000..df88e833 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 269f203d8c22e194a8024c8de727f6e5 +timeCreated: 1551472845 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyRNM.ptx new file mode 100644 index 00000000..405d91e5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyRNM.ptx @@ -0,0 +1,2025 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .texref sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<110>; + .reg .b16 %rs<153>; + .reg .f32 %f<847>; + .reg .b32 %r<375>; + .reg .b64 %rd<276>; + + + mov.u64 %rd275, __local_depot0; + cvta.local.u64 %SP, %rd275; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r99, %r100}, [pixelID]; + cvt.u64.u32 %rd24, %r99; + cvt.u64.u32 %rd25, %r100; + mov.u64 %rd28, uvnormal; + cvta.global.u64 %rd23, %rd28; + mov.u32 %r97, 2; + mov.u32 %r98, 4; + mov.u64 %rd27, 0; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r97, %r98, %rd24, %rd25, %rd27, %rd27); + // inline asm + ld.u32 %r2, [%rd22]; + shr.u32 %r103, %r2, 16; + cvt.u16.u32 %rs1, %r103; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r2; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p4, %rs8, 0; + mov.f32 %f798, 0f00000000; + mov.f32 %f799, %f798; + mov.f32 %f800, %f798; + @%p4 bra BB0_2; + + ld.u8 %rs9, [%rd22+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f170, %rs11; + div.rn.f32 %f171, %f170, 0f437F0000; + fma.rn.f32 %f172, %f171, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f173, %rs9; + div.rn.f32 %f174, %f173, 0f437F0000; + fma.rn.f32 %f175, %f174, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f176, %rs6; + div.rn.f32 %f177, %f176, 0f437F0000; + fma.rn.f32 %f178, %f177, 0f40000000, 0fBF800000; + mul.f32 %f179, %f175, %f175; + fma.rn.f32 %f180, %f172, %f172, %f179; + fma.rn.f32 %f181, %f178, %f178, %f180; + sqrt.rn.f32 %f182, %f181; + rcp.rn.f32 %f183, %f182; + mul.f32 %f798, %f172, %f183; + mul.f32 %f799, %f175, %f183; + mul.f32 %f800, %f178, %f183; + +BB0_2: + ld.global.v2.u32 {%r104, %r105}, [pixelID]; + ld.global.v2.u32 {%r107, %r108}, [tileInfo]; + add.s32 %r3, %r104, %r107; + add.s32 %r4, %r105, %r108; + setp.eq.f32 %p5, %f799, 0f00000000; + setp.eq.f32 %p6, %f798, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f800, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_110; + bra.uni BB0_3; + +BB0_110: + ld.global.u32 %r374, [imageEnabled]; + and.b32 %r306, %r374, 1; + setp.eq.b32 %p104, %r306, 1; + @!%p104 bra BB0_112; + bra.uni BB0_111; + +BB0_111: + cvt.u64.u32 %rd176, %r4; + cvt.u64.u32 %rd175, %r3; + mov.u64 %rd179, image; + cvta.global.u64 %rd174, %rd179; + mov.u64 %rd178, 0; + // inline asm + call (%rd173), _rt_buffer_get_64, (%rd174, %r97, %r98, %rd175, %rd176, %rd178, %rd178); + // inline asm + mov.u16 %rs100, 0; + st.v4.u8 [%rd173], {%rs100, %rs100, %rs100, %rs100}; + ld.global.u32 %r374, [imageEnabled]; + +BB0_112: + cvt.u64.u32 %rd20, %r3; + cvt.u64.u32 %rd21, %r4; + and.b32 %r309, %r374, 4; + setp.eq.s32 %p105, %r309, 0; + @%p105 bra BB0_116; + + ld.global.u32 %r310, [additive]; + setp.eq.s32 %p106, %r310, 0; + @%p106 bra BB0_115; + + mov.u64 %rd192, image_HDR; + cvta.global.u64 %rd181, %rd192; + mov.u32 %r314, 8; + mov.u64 %rd191, 0; + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd181, %r97, %r314, %rd20, %rd21, %rd191, %rd191); + // inline asm + ld.v4.u16 {%rs107, %rs108, %rs109, %rs110}, [%rd180]; + // inline asm + { cvt.f32.f16 %f732, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f733, %rs108;} + + // inline asm + // inline asm + { cvt.f32.f16 %f734, %rs109;} + + // inline asm + // inline asm + call (%rd186), _rt_buffer_get_64, (%rd181, %r97, %r314, %rd20, %rd21, %rd191, %rd191); + // inline asm + add.f32 %f735, %f732, 0f00000000; + add.f32 %f736, %f733, 0f00000000; + add.f32 %f737, %f734, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs106, %f737;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs105, %f736;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f735;} + + // inline asm + mov.u16 %rs111, 0; + st.v4.u16 [%rd186], {%rs104, %rs105, %rs106, %rs111}; + bra.uni BB0_116; + +BB0_3: + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd31, %r118; + cvt.u64.u32 %rd32, %r119; + mov.u64 %rd47, uvpos; + cvta.global.u64 %rd30, %rd47; + mov.u32 %r113, 12; + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd30, %r97, %r113, %rd31, %rd32, %rd27, %rd27); + // inline asm + ld.f32 %f187, [%rd29+8]; + ld.f32 %f188, [%rd29+4]; + ld.f32 %f189, [%rd29]; + mul.f32 %f190, %f189, 0f3456BF95; + mul.f32 %f191, %f188, 0f3456BF95; + mul.f32 %f192, %f187, 0f3456BF95; + abs.f32 %f193, %f798; + div.rn.f32 %f194, %f190, %f193; + abs.f32 %f195, %f799; + div.rn.f32 %f196, %f191, %f195; + abs.f32 %f197, %f800; + div.rn.f32 %f198, %f192, %f197; + abs.f32 %f199, %f194; + abs.f32 %f200, %f196; + abs.f32 %f201, %f198; + mov.f32 %f202, 0f38D1B717; + max.f32 %f203, %f199, %f202; + max.f32 %f204, %f200, %f202; + max.f32 %f205, %f201, %f202; + fma.rn.f32 %f7, %f798, %f203, %f189; + fma.rn.f32 %f8, %f799, %f204, %f188; + fma.rn.f32 %f9, %f800, %f205, %f187; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f193, %f197; + neg.f32 %f206, %f799; + selp.f32 %f207, %f206, 0f00000000, %p10; + neg.f32 %f208, %f800; + selp.f32 %f209, %f798, %f208, %p10; + selp.f32 %f210, 0f00000000, %f799, %p10; + mul.f32 %f211, %f209, %f209; + fma.rn.f32 %f212, %f207, %f207, %f211; + fma.rn.f32 %f213, %f210, %f210, %f212; + sqrt.rn.f32 %f214, %f213; + rcp.rn.f32 %f215, %f214; + mul.f32 %f10, %f207, %f215; + mul.f32 %f11, %f209, %f215; + mul.f32 %f12, %f210, %f215; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd37, %r122; + cvt.u64.u32 %rd38, %r123; + mov.u64 %rd48, rnd_seeds; + cvta.global.u64 %rd36, %rd48; + // inline asm + call (%rd35), _rt_buffer_get_64, (%rd36, %r97, %r98, %rd37, %rd38, %rd27, %rd27); + // inline asm + ld.u32 %r352, [%rd35]; + ld.global.v2.u32 {%r126, %r127}, [pixelID]; + cvt.u64.u32 %rd43, %r126; + cvt.u64.u32 %rd44, %r127; + mov.u64 %rd49, uvtangent; + cvta.global.u64 %rd42, %rd49; + // inline asm + call (%rd41), _rt_buffer_get_64, (%rd42, %r97, %r98, %rd43, %rd44, %rd27, %rd27); + // inline asm + ld.u32 %r7, [%rd41]; + shr.u32 %r8, %r7, 16; + cvt.u16.u32 %rs13, %r8; + and.b16 %rs14, %rs13, 255; + cvt.u16.u32 %rs15, %r7; + or.b16 %rs16, %rs15, %rs14; + setp.eq.s16 %p11, %rs16, 0; + mov.f32 %f833, 0f00000000; + mov.f32 %f801, %f833; + mov.f32 %f802, %f833; + mov.f32 %f803, %f833; + @%p11 bra BB0_5; + + ld.u8 %rs17, [%rd41+1]; + and.b16 %rs19, %rs15, 255; + cvt.rn.f32.u16 %f216, %rs19; + div.rn.f32 %f217, %f216, 0f437F0000; + fma.rn.f32 %f218, %f217, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f219, %rs17; + div.rn.f32 %f220, %f219, 0f437F0000; + fma.rn.f32 %f221, %f220, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f222, %rs14; + div.rn.f32 %f223, %f222, 0f437F0000; + fma.rn.f32 %f224, %f223, 0f40000000, 0fBF800000; + mul.f32 %f225, %f221, %f221; + fma.rn.f32 %f226, %f218, %f218, %f225; + fma.rn.f32 %f227, %f224, %f224, %f226; + sqrt.rn.f32 %f228, %f227; + rcp.rn.f32 %f229, %f228; + mul.f32 %f801, %f218, %f229; + mul.f32 %f802, %f221, %f229; + mul.f32 %f803, %f224, %f229; + +BB0_5: + mul.f32 %f233, %f800, %f802; + mul.f32 %f234, %f799, %f803; + sub.f32 %f235, %f234, %f233; + mul.f32 %f236, %f798, %f803; + mul.f32 %f237, %f800, %f801; + sub.f32 %f238, %f237, %f236; + mul.f32 %f239, %f799, %f801; + mul.f32 %f240, %f798, %f802; + sub.f32 %f241, %f240, %f239; + setp.lt.u32 %p12, %r7, 16777216; + selp.f32 %f242, 0fBF800000, 0f3F800000, %p12; + mul.f32 %f243, %f235, %f242; + mul.f32 %f244, %f238, %f242; + mul.f32 %f245, %f241, %f242; + mul.f32 %f246, %f243, 0f00000000; + mul.f32 %f247, %f244, 0f00000000; + mul.f32 %f248, %f245, 0f00000000; + fma.rn.f32 %f249, %f801, 0f3F5105EC, %f246; + fma.rn.f32 %f250, %f802, 0f3F5105EC, %f247; + fma.rn.f32 %f251, %f803, 0f3F5105EC, %f248; + mul.f32 %f19, %f798, 0f3F13CD3A; + add.f32 %f20, %f19, %f249; + mul.f32 %f21, %f799, 0f3F13CD3A; + add.f32 %f22, %f21, %f250; + mul.f32 %f23, %f800, 0f3F13CD3A; + add.f32 %f24, %f23, %f251; + ld.global.v2.u32 {%r132, %r133}, [pixelID]; + cvt.u64.u32 %rd52, %r132; + cvt.u64.u32 %rd53, %r133; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd42, %r97, %r98, %rd52, %rd53, %rd27, %rd27); + // inline asm + ld.u32 %r9, [%rd50]; + shr.u32 %r10, %r9, 16; + cvt.u16.u32 %rs22, %r10; + and.b16 %rs23, %rs22, 255; + cvt.u16.u32 %rs24, %r9; + or.b16 %rs25, %rs24, %rs23; + setp.eq.s16 %p13, %rs25, 0; + mov.f32 %f804, %f833; + mov.f32 %f805, %f833; + mov.f32 %f806, %f833; + @%p13 bra BB0_7; + + ld.u8 %rs26, [%rd50+1]; + and.b16 %rs28, %rs24, 255; + cvt.rn.f32.u16 %f252, %rs28; + div.rn.f32 %f253, %f252, 0f437F0000; + fma.rn.f32 %f254, %f253, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f255, %rs26; + div.rn.f32 %f256, %f255, 0f437F0000; + fma.rn.f32 %f257, %f256, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f258, %rs23; + div.rn.f32 %f259, %f258, 0f437F0000; + fma.rn.f32 %f260, %f259, 0f40000000, 0fBF800000; + mul.f32 %f261, %f257, %f257; + fma.rn.f32 %f262, %f254, %f254, %f261; + fma.rn.f32 %f263, %f260, %f260, %f262; + sqrt.rn.f32 %f264, %f263; + rcp.rn.f32 %f265, %f264; + mul.f32 %f804, %f254, %f265; + mul.f32 %f805, %f257, %f265; + mul.f32 %f806, %f260, %f265; + +BB0_7: + mul.f32 %f269, %f800, %f805; + mul.f32 %f270, %f799, %f806; + sub.f32 %f271, %f270, %f269; + mul.f32 %f272, %f798, %f806; + mul.f32 %f273, %f800, %f804; + sub.f32 %f274, %f273, %f272; + mul.f32 %f275, %f799, %f804; + mul.f32 %f276, %f798, %f805; + sub.f32 %f277, %f276, %f275; + setp.lt.u32 %p14, %r9, 16777216; + selp.f32 %f278, 0fBF800000, 0f3F800000, %p14; + mul.f32 %f279, %f271, %f278; + mul.f32 %f280, %f274, %f278; + mul.f32 %f281, %f277, %f278; + mul.f32 %f282, %f279, 0f3F3504F3; + mul.f32 %f283, %f280, 0f3F3504F3; + mul.f32 %f284, %f281, 0f3F3504F3; + fma.rn.f32 %f285, %f804, 0fBED105EC, %f282; + fma.rn.f32 %f286, %f805, 0fBED105EC, %f283; + fma.rn.f32 %f287, %f806, 0fBED105EC, %f284; + add.f32 %f31, %f19, %f285; + add.f32 %f32, %f21, %f286; + add.f32 %f33, %f23, %f287; + ld.global.v2.u32 {%r138, %r139}, [pixelID]; + cvt.u64.u32 %rd59, %r138; + cvt.u64.u32 %rd60, %r139; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd42, %r97, %r98, %rd59, %rd60, %rd27, %rd27); + // inline asm + ld.u32 %r11, [%rd57]; + shr.u32 %r12, %r11, 16; + cvt.u16.u32 %rs31, %r12; + and.b16 %rs32, %rs31, 255; + cvt.u16.u32 %rs33, %r11; + or.b16 %rs34, %rs33, %rs32; + setp.eq.s16 %p15, %rs34, 0; + mov.f32 %f807, %f833; + mov.f32 %f808, %f833; + mov.f32 %f809, %f833; + @%p15 bra BB0_9; + + ld.u8 %rs35, [%rd57+1]; + and.b16 %rs37, %rs33, 255; + cvt.rn.f32.u16 %f288, %rs37; + div.rn.f32 %f289, %f288, 0f437F0000; + fma.rn.f32 %f290, %f289, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f291, %rs35; + div.rn.f32 %f292, %f291, 0f437F0000; + fma.rn.f32 %f293, %f292, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f294, %rs32; + div.rn.f32 %f295, %f294, 0f437F0000; + fma.rn.f32 %f296, %f295, 0f40000000, 0fBF800000; + mul.f32 %f297, %f293, %f293; + fma.rn.f32 %f298, %f290, %f290, %f297; + fma.rn.f32 %f299, %f296, %f296, %f298; + sqrt.rn.f32 %f300, %f299; + rcp.rn.f32 %f301, %f300; + mul.f32 %f807, %f290, %f301; + mul.f32 %f808, %f293, %f301; + mul.f32 %f809, %f296, %f301; + +BB0_9: + mul.f32 %f306, %f800, %f808; + mul.f32 %f307, %f799, %f809; + sub.f32 %f308, %f307, %f306; + mul.f32 %f309, %f798, %f809; + mul.f32 %f310, %f800, %f807; + sub.f32 %f311, %f310, %f309; + mul.f32 %f312, %f799, %f807; + mul.f32 %f313, %f798, %f808; + sub.f32 %f314, %f313, %f312; + setp.lt.u32 %p16, %r11, 16777216; + selp.f32 %f315, 0fBF800000, 0f3F800000, %p16; + mul.f32 %f316, %f308, %f315; + mul.f32 %f317, %f311, %f315; + mul.f32 %f318, %f314, %f315; + mul.f32 %f319, %f316, 0fBF3504F3; + mul.f32 %f320, %f317, 0fBF3504F3; + mul.f32 %f321, %f318, 0fBF3504F3; + fma.rn.f32 %f322, %f807, 0fBED105EC, %f319; + fma.rn.f32 %f323, %f808, 0fBED105EC, %f320; + fma.rn.f32 %f324, %f809, 0fBED105EC, %f321; + add.f32 %f40, %f19, %f322; + add.f32 %f41, %f21, %f323; + add.f32 %f42, %f23, %f324; + setp.lt.s32 %p17, %r1, 1; + mov.f32 %f832, %f833; + mov.f32 %f831, %f833; + mov.f32 %f830, %f833; + @%p17 bra BB0_62; + + cvt.rn.f32.s32 %f329, %r1; + rcp.rn.f32 %f43, %f329; + mul.f32 %f44, %f7, 0f3456BF95; + mul.f32 %f45, %f8, 0f3456BF95; + mul.f32 %f46, %f9, 0f3456BF95; + mul.f32 %f330, %f800, %f11; + mul.f32 %f331, %f799, %f12; + sub.f32 %f47, %f330, %f331; + mul.f32 %f332, %f798, %f12; + mul.f32 %f333, %f800, %f10; + sub.f32 %f48, %f332, %f333; + mul.f32 %f334, %f799, %f10; + mul.f32 %f335, %f798, %f11; + sub.f32 %f49, %f334, %f335; + mov.f32 %f833, 0f00000000; + mov.u32 %r142, 0; + abs.f32 %f409, %f45; + abs.f32 %f410, %f44; + max.f32 %f411, %f410, %f409; + abs.f32 %f412, %f46; + max.f32 %f413, %f411, %f412; + mov.u32 %r349, %r142; + mov.f32 %f832, %f833; + mov.f32 %f831, %f833; + mov.f32 %f830, %f833; + +BB0_11: + mov.u32 %r351, %r142; + +BB0_12: + cvt.rn.f32.s32 %f794, %r349; + mad.lo.s32 %r144, %r352, 1664525, 1013904223; + and.b32 %r145, %r144, 16777215; + cvt.rn.f32.u32 %f336, %r145; + fma.rn.f32 %f337, %f336, 0f33800000, %f794; + mul.f32 %f59, %f43, %f337; + mad.lo.s32 %r352, %r144, 1664525, 1013904223; + and.b32 %r146, %r352, 16777215; + cvt.rn.f32.u32 %f338, %r146; + cvt.rn.f32.s32 %f339, %r351; + fma.rn.f32 %f340, %f338, 0f33800000, %f339; + mul.f32 %f341, %f43, %f340; + mul.f32 %f342, %f59, %f59; + mov.f32 %f343, 0f3F800000; + sub.f32 %f344, %f343, %f342; + mov.f32 %f345, 0f00000000; + max.f32 %f346, %f345, %f344; + sqrt.rn.f32 %f60, %f346; + mul.f32 %f824, %f341, 0f40C90FDB; + abs.f32 %f62, %f824; + setp.neu.f32 %p18, %f62, 0f7F800000; + mov.f32 %f818, %f824; + @%p18 bra BB0_14; + + mul.rn.f32 %f818, %f824, %f345; + +BB0_14: + mul.f32 %f348, %f818, 0f3F22F983; + cvt.rni.s32.f32 %r362, %f348; + cvt.rn.f32.s32 %f349, %r362; + neg.f32 %f350, %f349; + mov.f32 %f351, 0f3FC90FDA; + fma.rn.f32 %f352, %f350, %f351, %f818; + mov.f32 %f353, 0f33A22168; + fma.rn.f32 %f354, %f350, %f353, %f352; + mov.f32 %f355, 0f27C234C5; + fma.rn.f32 %f819, %f350, %f355, %f354; + abs.f32 %f356, %f818; + setp.leu.f32 %p19, %f356, 0f47CE4780; + @%p19 bra BB0_25; + + add.u64 %rd65, %SP, 4; + cvta.to.local.u64 %rd5, %rd65; + mov.b32 %r19, %f818; + shr.u32 %r20, %r19, 23; + shl.b32 %r149, %r19, 8; + or.b32 %r21, %r149, -2147483648; + mov.u32 %r353, 0; + mov.u64 %rd272, 0; + mov.u64 %rd271, %rd5; + mov.u32 %r354, %r353; + +BB0_16: + .pragma "nounroll"; + shl.b64 %rd66, %rd272, 2; + mov.u64 %rd67, __cudart_i2opi_f; + add.s64 %rd68, %rd67, %rd66; + ld.const.u32 %r152, [%rd68]; + // inline asm + { + mad.lo.cc.u32 %r150, %r152, %r21, %r354; + madc.hi.u32 %r354, %r152, %r21, 0; + } + // inline asm + st.local.u32 [%rd271], %r150; + add.s32 %r353, %r353, 1; + cvt.s64.s32 %rd272, %r353; + mul.wide.s32 %rd71, %r353, 4; + add.s64 %rd271, %rd5, %rd71; + setp.ne.s32 %p20, %r353, 6; + @%p20 bra BB0_16; + + add.u64 %rd269, %SP, 4; + and.b32 %r155, %r20, 255; + add.s32 %r156, %r155, -128; + shr.u32 %r157, %r156, 5; + and.b32 %r26, %r19, -2147483648; + cvta.to.local.u64 %rd73, %rd269; + st.local.u32 [%rd73+24], %r354; + mov.u32 %r158, 6; + sub.s32 %r159, %r158, %r157; + mul.wide.s32 %rd74, %r159, 4; + add.s64 %rd10, %rd73, %rd74; + ld.local.u32 %r355, [%rd10]; + ld.local.u32 %r356, [%rd10+-4]; + and.b32 %r29, %r20, 31; + setp.eq.s32 %p21, %r29, 0; + @%p21 bra BB0_19; + + mov.u32 %r160, 32; + sub.s32 %r161, %r160, %r29; + shr.u32 %r162, %r356, %r161; + shl.b32 %r163, %r355, %r29; + add.s32 %r355, %r162, %r163; + ld.local.u32 %r164, [%rd10+-8]; + shr.u32 %r165, %r164, %r161; + shl.b32 %r166, %r356, %r29; + add.s32 %r356, %r165, %r166; + +BB0_19: + shr.u32 %r167, %r356, 30; + shl.b32 %r168, %r355, 2; + add.s32 %r357, %r167, %r168; + shl.b32 %r35, %r356, 2; + shr.u32 %r169, %r357, 31; + shr.u32 %r170, %r355, 30; + add.s32 %r36, %r169, %r170; + setp.eq.s32 %p22, %r169, 0; + @%p22 bra BB0_20; + bra.uni BB0_21; + +BB0_20: + mov.u32 %r358, %r26; + mov.u32 %r359, %r35; + bra.uni BB0_22; + +BB0_21: + not.b32 %r171, %r357; + neg.s32 %r359, %r35; + setp.eq.s32 %p23, %r35, 0; + selp.u32 %r172, 1, 0, %p23; + add.s32 %r357, %r172, %r171; + xor.b32 %r358, %r26, -2147483648; + +BB0_22: + clz.b32 %r361, %r357; + setp.eq.s32 %p24, %r361, 0; + shl.b32 %r173, %r357, %r361; + mov.u32 %r174, 32; + sub.s32 %r175, %r174, %r361; + shr.u32 %r176, %r359, %r175; + add.s32 %r177, %r176, %r173; + selp.b32 %r44, %r357, %r177, %p24; + mov.u32 %r178, -921707870; + mul.hi.u32 %r360, %r44, %r178; + setp.eq.s32 %p25, %r26, 0; + neg.s32 %r179, %r36; + selp.b32 %r362, %r36, %r179, %p25; + setp.lt.s32 %p26, %r360, 1; + @%p26 bra BB0_24; + + mul.lo.s32 %r180, %r44, -921707870; + shr.u32 %r181, %r180, 31; + shl.b32 %r182, %r360, 1; + add.s32 %r360, %r181, %r182; + add.s32 %r361, %r361, 1; + +BB0_24: + mov.u32 %r183, 126; + sub.s32 %r184, %r183, %r361; + shl.b32 %r185, %r184, 23; + add.s32 %r186, %r360, 1; + shr.u32 %r187, %r186, 7; + add.s32 %r188, %r187, 1; + shr.u32 %r189, %r188, 1; + add.s32 %r190, %r189, %r185; + or.b32 %r191, %r190, %r358; + mov.b32 %f819, %r191; + +BB0_25: + mul.rn.f32 %f68, %f819, %f819; + add.s32 %r52, %r362, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p27, %r53, 0; + @%p27 bra BB0_27; + bra.uni BB0_26; + +BB0_27: + mov.f32 %f359, 0f3C08839E; + mov.f32 %f360, 0fB94CA1F9; + fma.rn.f32 %f820, %f360, %f68, %f359; + bra.uni BB0_28; + +BB0_26: + mov.f32 %f357, 0fBAB6061A; + mov.f32 %f358, 0f37CCF5CE; + fma.rn.f32 %f820, %f358, %f68, %f357; + +BB0_28: + @%p27 bra BB0_30; + bra.uni BB0_29; + +BB0_30: + mov.f32 %f364, 0fBE2AAAA3; + fma.rn.f32 %f365, %f820, %f68, %f364; + fma.rn.f32 %f821, %f365, %f68, %f345; + bra.uni BB0_31; + +BB0_29: + mov.f32 %f361, 0f3D2AAAA5; + fma.rn.f32 %f362, %f820, %f68, %f361; + mov.f32 %f363, 0fBF000000; + fma.rn.f32 %f821, %f362, %f68, %f363; + +BB0_31: + fma.rn.f32 %f822, %f821, %f819, %f819; + @%p27 bra BB0_33; + + fma.rn.f32 %f822, %f821, %f68, %f343; + +BB0_33: + and.b32 %r192, %r52, 2; + setp.eq.s32 %p30, %r192, 0; + @%p30 bra BB0_35; + + mov.f32 %f369, 0fBF800000; + fma.rn.f32 %f822, %f822, %f369, %f345; + +BB0_35: + @%p18 bra BB0_37; + + mul.rn.f32 %f824, %f824, %f345; + +BB0_37: + mov.f32 %f793, 0f27C234C5; + mov.f32 %f792, 0f33A22168; + mov.f32 %f791, 0f3FC90FDA; + mul.f32 %f371, %f824, 0f3F22F983; + cvt.rni.s32.f32 %r372, %f371; + cvt.rn.f32.s32 %f372, %r372; + neg.f32 %f373, %f372; + fma.rn.f32 %f375, %f373, %f791, %f824; + fma.rn.f32 %f377, %f373, %f792, %f375; + fma.rn.f32 %f825, %f373, %f793, %f377; + abs.f32 %f379, %f824; + setp.leu.f32 %p32, %f379, 0f47CE4780; + @%p32 bra BB0_48; + + mov.u64 %rd274, 0; + add.u64 %rd76, %SP, 4; + cvta.to.local.u64 %rd11, %rd76; + mov.b32 %r55, %f824; + shr.u32 %r56, %r55, 23; + shl.b32 %r195, %r55, 8; + or.b32 %r57, %r195, -2147483648; + mov.u32 %r363, 0; + mov.u64 %rd273, %rd11; + mov.u32 %r364, %r363; + +BB0_39: + .pragma "nounroll"; + shl.b64 %rd77, %rd274, 2; + mov.u64 %rd78, __cudart_i2opi_f; + add.s64 %rd79, %rd78, %rd77; + ld.const.u32 %r198, [%rd79]; + // inline asm + { + mad.lo.cc.u32 %r196, %r198, %r57, %r364; + madc.hi.u32 %r364, %r198, %r57, 0; + } + // inline asm + st.local.u32 [%rd273], %r196; + add.s32 %r363, %r363, 1; + cvt.s64.s32 %rd274, %r363; + mul.wide.s32 %rd80, %r363, 4; + add.s64 %rd273, %rd11, %rd80; + setp.ne.s32 %p33, %r363, 6; + @%p33 bra BB0_39; + + and.b32 %r201, %r56, 255; + add.s32 %r202, %r201, -128; + shr.u32 %r203, %r202, 5; + and.b32 %r62, %r55, -2147483648; + cvta.to.local.u64 %rd82, %rd76; + st.local.u32 [%rd82+24], %r364; + mov.u32 %r204, 6; + sub.s32 %r205, %r204, %r203; + mul.wide.s32 %rd83, %r205, 4; + add.s64 %rd17, %rd82, %rd83; + ld.local.u32 %r365, [%rd17]; + ld.local.u32 %r366, [%rd17+-4]; + and.b32 %r65, %r56, 31; + setp.eq.s32 %p34, %r65, 0; + @%p34 bra BB0_42; + + mov.u32 %r206, 32; + sub.s32 %r207, %r206, %r65; + shr.u32 %r208, %r366, %r207; + shl.b32 %r209, %r365, %r65; + add.s32 %r365, %r208, %r209; + ld.local.u32 %r210, [%rd17+-8]; + shr.u32 %r211, %r210, %r207; + shl.b32 %r212, %r366, %r65; + add.s32 %r366, %r211, %r212; + +BB0_42: + shr.u32 %r213, %r366, 30; + shl.b32 %r214, %r365, 2; + add.s32 %r367, %r213, %r214; + shl.b32 %r71, %r366, 2; + shr.u32 %r215, %r367, 31; + shr.u32 %r216, %r365, 30; + add.s32 %r72, %r215, %r216; + setp.eq.s32 %p35, %r215, 0; + @%p35 bra BB0_43; + bra.uni BB0_44; + +BB0_43: + mov.u32 %r368, %r62; + mov.u32 %r369, %r71; + bra.uni BB0_45; + +BB0_44: + not.b32 %r217, %r367; + neg.s32 %r369, %r71; + setp.eq.s32 %p36, %r71, 0; + selp.u32 %r218, 1, 0, %p36; + add.s32 %r367, %r218, %r217; + xor.b32 %r368, %r62, -2147483648; + +BB0_45: + clz.b32 %r371, %r367; + setp.eq.s32 %p37, %r371, 0; + shl.b32 %r219, %r367, %r371; + mov.u32 %r220, 32; + sub.s32 %r221, %r220, %r371; + shr.u32 %r222, %r369, %r221; + add.s32 %r223, %r222, %r219; + selp.b32 %r80, %r367, %r223, %p37; + mov.u32 %r224, -921707870; + mul.hi.u32 %r370, %r80, %r224; + setp.eq.s32 %p38, %r62, 0; + neg.s32 %r225, %r72; + selp.b32 %r372, %r72, %r225, %p38; + setp.lt.s32 %p39, %r370, 1; + @%p39 bra BB0_47; + + mul.lo.s32 %r226, %r80, -921707870; + shr.u32 %r227, %r226, 31; + shl.b32 %r228, %r370, 1; + add.s32 %r370, %r227, %r228; + add.s32 %r371, %r371, 1; + +BB0_47: + mov.u32 %r229, 126; + sub.s32 %r230, %r229, %r371; + shl.b32 %r231, %r230, 23; + add.s32 %r232, %r370, 1; + shr.u32 %r233, %r232, 7; + add.s32 %r234, %r233, 1; + shr.u32 %r235, %r234, 1; + add.s32 %r236, %r235, %r231; + or.b32 %r237, %r236, %r368; + mov.b32 %f825, %r237; + +BB0_48: + mul.rn.f32 %f85, %f825, %f825; + and.b32 %r88, %r372, 1; + setp.eq.s32 %p40, %r88, 0; + @%p40 bra BB0_50; + bra.uni BB0_49; + +BB0_50: + mov.f32 %f382, 0f3C08839E; + mov.f32 %f383, 0fB94CA1F9; + fma.rn.f32 %f826, %f383, %f85, %f382; + bra.uni BB0_51; + +BB0_49: + mov.f32 %f380, 0fBAB6061A; + mov.f32 %f381, 0f37CCF5CE; + fma.rn.f32 %f826, %f381, %f85, %f380; + +BB0_51: + @%p40 bra BB0_53; + bra.uni BB0_52; + +BB0_53: + mov.f32 %f387, 0fBE2AAAA3; + fma.rn.f32 %f388, %f826, %f85, %f387; + fma.rn.f32 %f827, %f388, %f85, %f345; + bra.uni BB0_54; + +BB0_52: + mov.f32 %f384, 0f3D2AAAA5; + fma.rn.f32 %f385, %f826, %f85, %f384; + mov.f32 %f386, 0fBF000000; + fma.rn.f32 %f827, %f385, %f85, %f386; + +BB0_54: + fma.rn.f32 %f828, %f827, %f825, %f825; + @%p40 bra BB0_56; + + fma.rn.f32 %f828, %f827, %f85, %f343; + +BB0_56: + and.b32 %r238, %r372, 2; + setp.eq.s32 %p43, %r238, 0; + @%p43 bra BB0_58; + + mov.f32 %f392, 0fBF800000; + fma.rn.f32 %f828, %f828, %f392, %f345; + +BB0_58: + mul.f32 %f393, %f60, %f822; + mul.f32 %f394, %f60, %f828; + mul.f32 %f395, %f10, %f394; + mul.f32 %f396, %f11, %f394; + mul.f32 %f397, %f12, %f394; + fma.rn.f32 %f398, %f47, %f393, %f395; + fma.rn.f32 %f399, %f48, %f393, %f396; + fma.rn.f32 %f400, %f49, %f393, %f397; + fma.rn.f32 %f97, %f798, %f59, %f398; + fma.rn.f32 %f98, %f799, %f59, %f399; + fma.rn.f32 %f99, %f800, %f59, %f400; + setp.gt.f32 %p44, %f98, 0f00000000; + setp.eq.s32 %p45, %r5, 0; + or.pred %p46, %p45, %p44; + @!%p46 bra BB0_60; + bra.uni BB0_59; + +BB0_59: + mov.u32 %r348, 4; + add.u64 %rd84, %SP, 0; + cvta.to.local.u64 %rd85, %rd84; + max.f32 %f407, %f413, %f202; + mov.u32 %r242, 1065353216; + st.local.u32 [%rd85], %r242; + ld.global.u32 %r239, [root]; + mov.u32 %r240, 1; + mov.f32 %f408, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r239, %f7, %f8, %f9, %f97, %f98, %f99, %r240, %f407, %f408, %rd84, %r348); + // inline asm + mul.f32 %f415, %f22, %f98; + fma.rn.f32 %f416, %f20, %f97, %f415; + fma.rn.f32 %f417, %f24, %f99, %f416; + cvt.sat.f32.f32 %f418, %f417; + ld.local.f32 %f419, [%rd85]; + fma.rn.f32 %f831, %f418, %f419, %f831; + mul.f32 %f420, %f32, %f98; + fma.rn.f32 %f421, %f31, %f97, %f420; + fma.rn.f32 %f422, %f33, %f99, %f421; + cvt.sat.f32.f32 %f423, %f422; + fma.rn.f32 %f832, %f423, %f419, %f832; + mul.f32 %f424, %f41, %f98; + fma.rn.f32 %f425, %f40, %f97, %f424; + fma.rn.f32 %f426, %f42, %f99, %f425; + cvt.sat.f32.f32 %f427, %f426; + fma.rn.f32 %f833, %f427, %f419, %f833; + mul.f32 %f428, %f799, %f98; + fma.rn.f32 %f429, %f798, %f97, %f428; + fma.rn.f32 %f430, %f800, %f99, %f429; + cvt.sat.f32.f32 %f431, %f430; + fma.rn.f32 %f830, %f431, %f419, %f830; + +BB0_60: + add.s32 %r351, %r351, 1; + setp.lt.s32 %p47, %r351, %r1; + @%p47 bra BB0_12; + + add.s32 %r349, %r349, 1; + setp.lt.s32 %p48, %r349, %r1; + @%p48 bra BB0_11; + +BB0_62: + mul.lo.s32 %r243, %r1, %r1; + cvt.rn.f32.s32 %f432, %r243; + div.rn.f32 %f433, %f830, %f432; + div.rn.f32 %f112, %f831, %f432; + div.rn.f32 %f113, %f832, %f432; + div.rn.f32 %f114, %f833, %f432; + add.f32 %f115, %f433, %f433; + ld.global.f32 %f434, [skyColor]; + mul.f32 %f116, %f115, %f434; + ld.global.f32 %f435, [skyColor+4]; + mul.f32 %f117, %f115, %f435; + ld.global.f32 %f436, [skyColor+8]; + mul.f32 %f118, %f115, %f436; + ld.global.u32 %r373, [imageEnabled]; + and.b32 %r244, %r373, 1; + setp.eq.b32 %p49, %r244, 1; + @!%p49 bra BB0_97; + bra.uni BB0_63; + +BB0_63: + abs.f32 %f120, %f116; + setp.lt.f32 %p50, %f120, 0f00800000; + mul.f32 %f442, %f120, 0f4B800000; + selp.f32 %f443, 0fC3170000, 0fC2FE0000, %p50; + selp.f32 %f444, %f442, %f120, %p50; + mov.b32 %r245, %f444; + and.b32 %r246, %r245, 8388607; + or.b32 %r247, %r246, 1065353216; + mov.b32 %f445, %r247; + shr.u32 %r248, %r245, 23; + cvt.rn.f32.u32 %f446, %r248; + add.f32 %f447, %f443, %f446; + setp.gt.f32 %p51, %f445, 0f3FB504F3; + mul.f32 %f448, %f445, 0f3F000000; + add.f32 %f449, %f447, 0f3F800000; + selp.f32 %f450, %f448, %f445, %p51; + selp.f32 %f451, %f449, %f447, %p51; + add.f32 %f452, %f450, 0fBF800000; + add.f32 %f438, %f450, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f437,%f438; + // inline asm + add.f32 %f453, %f452, %f452; + mul.f32 %f454, %f437, %f453; + mul.f32 %f455, %f454, %f454; + mov.f32 %f456, 0f3C4CAF63; + mov.f32 %f457, 0f3B18F0FE; + fma.rn.f32 %f458, %f457, %f455, %f456; + mov.f32 %f459, 0f3DAAAABD; + fma.rn.f32 %f460, %f458, %f455, %f459; + mul.rn.f32 %f461, %f460, %f455; + mul.rn.f32 %f462, %f461, %f454; + sub.f32 %f463, %f452, %f454; + neg.f32 %f464, %f454; + add.f32 %f465, %f463, %f463; + fma.rn.f32 %f466, %f464, %f452, %f465; + mul.rn.f32 %f467, %f437, %f466; + add.f32 %f468, %f462, %f454; + sub.f32 %f469, %f454, %f468; + add.f32 %f470, %f462, %f469; + add.f32 %f471, %f467, %f470; + add.f32 %f472, %f468, %f471; + sub.f32 %f473, %f468, %f472; + add.f32 %f474, %f471, %f473; + mov.f32 %f475, 0f3F317200; + mul.rn.f32 %f476, %f451, %f475; + mov.f32 %f477, 0f35BFBE8E; + mul.rn.f32 %f478, %f451, %f477; + add.f32 %f479, %f476, %f472; + sub.f32 %f480, %f476, %f479; + add.f32 %f481, %f472, %f480; + add.f32 %f482, %f474, %f481; + add.f32 %f483, %f478, %f482; + add.f32 %f484, %f479, %f483; + sub.f32 %f485, %f479, %f484; + add.f32 %f486, %f483, %f485; + mov.f32 %f487, 0f3EE66666; + mul.rn.f32 %f488, %f487, %f484; + neg.f32 %f489, %f488; + fma.rn.f32 %f490, %f487, %f484, %f489; + fma.rn.f32 %f491, %f487, %f486, %f490; + mov.f32 %f492, 0f00000000; + fma.rn.f32 %f493, %f492, %f484, %f491; + add.rn.f32 %f494, %f488, %f493; + neg.f32 %f495, %f494; + add.rn.f32 %f496, %f488, %f495; + add.rn.f32 %f497, %f496, %f493; + mov.b32 %r249, %f494; + setp.eq.s32 %p52, %r249, 1118925336; + add.s32 %r250, %r249, -1; + mov.b32 %f498, %r250; + add.f32 %f499, %f497, 0f37000000; + selp.f32 %f500, %f498, %f494, %p52; + selp.f32 %f121, %f499, %f497, %p52; + mul.f32 %f501, %f500, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f502, %f501; + mov.f32 %f503, 0fBF317200; + fma.rn.f32 %f504, %f502, %f503, %f500; + mov.f32 %f505, 0fB5BFBE8E; + fma.rn.f32 %f506, %f502, %f505, %f504; + mul.f32 %f507, %f506, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f508, %f507; + add.f32 %f509, %f502, 0f00000000; + ex2.approx.f32 %f510, %f509; + mul.f32 %f511, %f508, %f510; + setp.lt.f32 %p53, %f500, 0fC2D20000; + selp.f32 %f512, 0f00000000, %f511, %p53; + setp.gt.f32 %p54, %f500, 0f42D20000; + selp.f32 %f838, 0f7F800000, %f512, %p54; + setp.eq.f32 %p55, %f838, 0f7F800000; + @%p55 bra BB0_65; + + fma.rn.f32 %f838, %f838, %f121, %f838; + +BB0_65: + mov.f32 %f763, 0f3E666666; + cvt.rzi.f32.f32 %f762, %f763; + fma.rn.f32 %f761, %f762, 0fC0000000, 0f3EE66666; + abs.f32 %f760, %f761; + setp.lt.f32 %p56, %f116, 0f00000000; + setp.eq.f32 %p57, %f760, 0f3F800000; + and.pred %p1, %p56, %p57; + mov.b32 %r251, %f838; + xor.b32 %r252, %r251, -2147483648; + mov.b32 %f513, %r252; + selp.f32 %f840, %f513, %f838, %p1; + setp.eq.f32 %p58, %f116, 0f00000000; + @%p58 bra BB0_68; + bra.uni BB0_66; + +BB0_68: + add.f32 %f516, %f116, %f116; + selp.f32 %f840, %f516, 0f00000000, %p57; + bra.uni BB0_69; + +BB0_115: + mov.u64 %rd199, image_HDR; + cvta.global.u64 %rd194, %rd199; + mov.u32 %r316, 8; + mov.u64 %rd198, 0; + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd194, %r97, %r316, %rd20, %rd21, %rd198, %rd198); + // inline asm + mov.f32 %f738, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs112, %f738;} + + // inline asm + mov.u16 %rs113, 0; + st.v4.u16 [%rd193], {%rs112, %rs112, %rs112, %rs113}; + +BB0_116: + ld.global.u32 %r317, [additive]; + setp.eq.s32 %p107, %r317, 0; + @%p107 bra BB0_118; + + mov.u64 %rd212, image_RNM0; + cvta.global.u64 %rd201, %rd212; + mov.u32 %r321, 8; + mov.u64 %rd211, 0; + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd201, %r97, %r321, %rd20, %rd21, %rd211, %rd211); + // inline asm + ld.v4.u16 {%rs120, %rs121, %rs122, %rs123}, [%rd200]; + // inline asm + { cvt.f32.f16 %f739, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f740, %rs121;} + + // inline asm + // inline asm + { cvt.f32.f16 %f741, %rs122;} + + // inline asm + // inline asm + call (%rd206), _rt_buffer_get_64, (%rd201, %r97, %r321, %rd20, %rd21, %rd211, %rd211); + // inline asm + add.f32 %f742, %f739, 0f00000000; + add.f32 %f743, %f740, 0f00000000; + add.f32 %f744, %f741, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs119, %f744;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs118, %f743;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f742;} + + // inline asm + mov.u16 %rs124, 0; + st.v4.u16 [%rd206], {%rs117, %rs118, %rs119, %rs124}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd219, image_RNM0; + cvta.global.u64 %rd214, %rd219; + mov.u32 %r323, 8; + mov.u64 %rd218, 0; + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd214, %r97, %r323, %rd20, %rd21, %rd218, %rd218); + // inline asm + mov.f32 %f745, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs125, %f745;} + + // inline asm + mov.u16 %rs126, 0; + st.v4.u16 [%rd213], {%rs125, %rs125, %rs125, %rs126}; + +BB0_119: + ld.global.u32 %r324, [additive]; + setp.eq.s32 %p108, %r324, 0; + @%p108 bra BB0_121; + + mov.u64 %rd232, image_RNM1; + cvta.global.u64 %rd221, %rd232; + mov.u32 %r328, 8; + mov.u64 %rd231, 0; + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd221, %r97, %r328, %rd20, %rd21, %rd231, %rd231); + // inline asm + ld.v4.u16 {%rs133, %rs134, %rs135, %rs136}, [%rd220]; + // inline asm + { cvt.f32.f16 %f746, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f747, %rs134;} + + // inline asm + // inline asm + { cvt.f32.f16 %f748, %rs135;} + + // inline asm + // inline asm + call (%rd226), _rt_buffer_get_64, (%rd221, %r97, %r328, %rd20, %rd21, %rd231, %rd231); + // inline asm + add.f32 %f749, %f746, 0f00000000; + add.f32 %f750, %f747, 0f00000000; + add.f32 %f751, %f748, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs132, %f751;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs131, %f750;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f749;} + + // inline asm + mov.u16 %rs137, 0; + st.v4.u16 [%rd226], {%rs130, %rs131, %rs132, %rs137}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd239, image_RNM1; + cvta.global.u64 %rd234, %rd239; + mov.u32 %r330, 8; + mov.u64 %rd238, 0; + // inline asm + call (%rd233), _rt_buffer_get_64, (%rd234, %r97, %r330, %rd20, %rd21, %rd238, %rd238); + // inline asm + mov.f32 %f752, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs138, %f752;} + + // inline asm + mov.u16 %rs139, 0; + st.v4.u16 [%rd233], {%rs138, %rs138, %rs138, %rs139}; + +BB0_122: + ld.global.u32 %r331, [additive]; + setp.eq.s32 %p109, %r331, 0; + @%p109 bra BB0_124; + + mov.u64 %rd252, image_RNM2; + cvta.global.u64 %rd241, %rd252; + mov.u32 %r335, 8; + mov.u64 %rd251, 0; + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd241, %r97, %r335, %rd20, %rd21, %rd251, %rd251); + // inline asm + ld.v4.u16 {%rs146, %rs147, %rs148, %rs149}, [%rd240]; + // inline asm + { cvt.f32.f16 %f753, %rs146;} + + // inline asm + // inline asm + { cvt.f32.f16 %f754, %rs147;} + + // inline asm + // inline asm + { cvt.f32.f16 %f755, %rs148;} + + // inline asm + // inline asm + call (%rd246), _rt_buffer_get_64, (%rd241, %r97, %r335, %rd20, %rd21, %rd251, %rd251); + // inline asm + add.f32 %f756, %f753, 0f00000000; + add.f32 %f757, %f754, 0f00000000; + add.f32 %f758, %f755, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs145, %f758;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs144, %f757;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs143, %f756;} + + // inline asm + mov.u16 %rs150, 0; + st.v4.u16 [%rd246], {%rs143, %rs144, %rs145, %rs150}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd259, image_RNM2; + cvta.global.u64 %rd254, %rd259; + mov.u32 %r337, 8; + mov.u64 %rd258, 0; + // inline asm + call (%rd253), _rt_buffer_get_64, (%rd254, %r97, %r337, %rd20, %rd21, %rd258, %rd258); + // inline asm + mov.f32 %f759, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs151, %f759;} + + // inline asm + mov.u16 %rs152, 0; + st.v4.u16 [%rd253], {%rs151, %rs151, %rs151, %rs152}; + bra.uni BB0_125; + +BB0_66: + setp.geu.f32 %p59, %f116, 0f00000000; + @%p59 bra BB0_69; + + mov.f32 %f787, 0f3EE66666; + cvt.rzi.f32.f32 %f515, %f787; + setp.neu.f32 %p60, %f515, 0f3EE66666; + selp.f32 %f840, 0f7FFFFFFF, %f840, %p60; + +BB0_69: + abs.f32 %f764, %f116; + add.f32 %f517, %f764, 0f3EE66666; + mov.b32 %r253, %f517; + setp.lt.s32 %p62, %r253, 2139095040; + @%p62 bra BB0_74; + + abs.f32 %f785, %f116; + setp.gtu.f32 %p63, %f785, 0f7F800000; + @%p63 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f840, %f116, 0f3EE66666; + bra.uni BB0_74; + +BB0_71: + abs.f32 %f786, %f116; + setp.neu.f32 %p64, %f786, 0f7F800000; + @%p64 bra BB0_74; + + selp.f32 %f840, 0fFF800000, 0f7F800000, %p1; + +BB0_74: + mov.f32 %f773, 0fB5BFBE8E; + mov.f32 %f772, 0fBF317200; + mov.f32 %f771, 0f00000000; + mov.f32 %f770, 0f35BFBE8E; + mov.f32 %f769, 0f3F317200; + mov.f32 %f768, 0f3DAAAABD; + mov.f32 %f767, 0f3C4CAF63; + mov.f32 %f766, 0f3B18F0FE; + mov.f32 %f765, 0f3EE66666; + setp.eq.f32 %p65, %f116, 0f3F800000; + selp.f32 %f132, 0f3F800000, %f840, %p65; + abs.f32 %f133, %f117; + setp.lt.f32 %p66, %f133, 0f00800000; + mul.f32 %f520, %f133, 0f4B800000; + selp.f32 %f521, 0fC3170000, 0fC2FE0000, %p66; + selp.f32 %f522, %f520, %f133, %p66; + mov.b32 %r254, %f522; + and.b32 %r255, %r254, 8388607; + or.b32 %r256, %r255, 1065353216; + mov.b32 %f523, %r256; + shr.u32 %r257, %r254, 23; + cvt.rn.f32.u32 %f524, %r257; + add.f32 %f525, %f521, %f524; + setp.gt.f32 %p67, %f523, 0f3FB504F3; + mul.f32 %f526, %f523, 0f3F000000; + add.f32 %f527, %f525, 0f3F800000; + selp.f32 %f528, %f526, %f523, %p67; + selp.f32 %f529, %f527, %f525, %p67; + add.f32 %f530, %f528, 0fBF800000; + add.f32 %f519, %f528, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f518,%f519; + // inline asm + add.f32 %f531, %f530, %f530; + mul.f32 %f532, %f518, %f531; + mul.f32 %f533, %f532, %f532; + fma.rn.f32 %f536, %f766, %f533, %f767; + fma.rn.f32 %f538, %f536, %f533, %f768; + mul.rn.f32 %f539, %f538, %f533; + mul.rn.f32 %f540, %f539, %f532; + sub.f32 %f541, %f530, %f532; + neg.f32 %f542, %f532; + add.f32 %f543, %f541, %f541; + fma.rn.f32 %f544, %f542, %f530, %f543; + mul.rn.f32 %f545, %f518, %f544; + add.f32 %f546, %f540, %f532; + sub.f32 %f547, %f532, %f546; + add.f32 %f548, %f540, %f547; + add.f32 %f549, %f545, %f548; + add.f32 %f550, %f546, %f549; + sub.f32 %f551, %f546, %f550; + add.f32 %f552, %f549, %f551; + mul.rn.f32 %f554, %f529, %f769; + mul.rn.f32 %f556, %f529, %f770; + add.f32 %f557, %f554, %f550; + sub.f32 %f558, %f554, %f557; + add.f32 %f559, %f550, %f558; + add.f32 %f560, %f552, %f559; + add.f32 %f561, %f556, %f560; + add.f32 %f562, %f557, %f561; + sub.f32 %f563, %f557, %f562; + add.f32 %f564, %f561, %f563; + mul.rn.f32 %f566, %f765, %f562; + neg.f32 %f567, %f566; + fma.rn.f32 %f568, %f765, %f562, %f567; + fma.rn.f32 %f569, %f765, %f564, %f568; + fma.rn.f32 %f571, %f771, %f562, %f569; + add.rn.f32 %f572, %f566, %f571; + neg.f32 %f573, %f572; + add.rn.f32 %f574, %f566, %f573; + add.rn.f32 %f575, %f574, %f571; + mov.b32 %r258, %f572; + setp.eq.s32 %p68, %r258, 1118925336; + add.s32 %r259, %r258, -1; + mov.b32 %f576, %r259; + add.f32 %f577, %f575, 0f37000000; + selp.f32 %f578, %f576, %f572, %p68; + selp.f32 %f134, %f577, %f575, %p68; + mul.f32 %f579, %f578, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f580, %f579; + fma.rn.f32 %f582, %f580, %f772, %f578; + fma.rn.f32 %f584, %f580, %f773, %f582; + mul.f32 %f585, %f584, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f586, %f585; + add.f32 %f587, %f580, 0f00000000; + ex2.approx.f32 %f588, %f587; + mul.f32 %f589, %f586, %f588; + setp.lt.f32 %p69, %f578, 0fC2D20000; + selp.f32 %f590, 0f00000000, %f589, %p69; + setp.gt.f32 %p70, %f578, 0f42D20000; + selp.f32 %f841, 0f7F800000, %f590, %p70; + setp.eq.f32 %p71, %f841, 0f7F800000; + @%p71 bra BB0_76; + + fma.rn.f32 %f841, %f841, %f134, %f841; + +BB0_76: + setp.lt.f32 %p72, %f117, 0f00000000; + and.pred %p2, %p72, %p57; + mov.b32 %r260, %f841; + xor.b32 %r261, %r260, -2147483648; + mov.b32 %f591, %r261; + selp.f32 %f843, %f591, %f841, %p2; + setp.eq.f32 %p74, %f117, 0f00000000; + @%p74 bra BB0_79; + bra.uni BB0_77; + +BB0_79: + add.f32 %f594, %f117, %f117; + selp.f32 %f843, %f594, 0f00000000, %p57; + bra.uni BB0_80; + +BB0_77: + setp.geu.f32 %p75, %f117, 0f00000000; + @%p75 bra BB0_80; + + mov.f32 %f784, 0f3EE66666; + cvt.rzi.f32.f32 %f593, %f784; + setp.neu.f32 %p76, %f593, 0f3EE66666; + selp.f32 %f843, 0f7FFFFFFF, %f843, %p76; + +BB0_80: + abs.f32 %f788, %f117; + add.f32 %f595, %f788, 0f3EE66666; + mov.b32 %r262, %f595; + setp.lt.s32 %p78, %r262, 2139095040; + @%p78 bra BB0_85; + + abs.f32 %f789, %f117; + setp.gtu.f32 %p79, %f789, 0f7F800000; + @%p79 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f843, %f117, 0f3EE66666; + bra.uni BB0_85; + +BB0_82: + abs.f32 %f790, %f117; + setp.neu.f32 %p80, %f790, 0f7F800000; + @%p80 bra BB0_85; + + selp.f32 %f843, 0fFF800000, 0f7F800000, %p2; + +BB0_85: + mov.f32 %f782, 0fB5BFBE8E; + mov.f32 %f781, 0fBF317200; + mov.f32 %f780, 0f00000000; + mov.f32 %f779, 0f35BFBE8E; + mov.f32 %f778, 0f3F317200; + mov.f32 %f777, 0f3DAAAABD; + mov.f32 %f776, 0f3C4CAF63; + mov.f32 %f775, 0f3B18F0FE; + mov.f32 %f774, 0f3EE66666; + setp.eq.f32 %p81, %f117, 0f3F800000; + selp.f32 %f145, 0f3F800000, %f843, %p81; + abs.f32 %f146, %f118; + setp.lt.f32 %p82, %f146, 0f00800000; + mul.f32 %f598, %f146, 0f4B800000; + selp.f32 %f599, 0fC3170000, 0fC2FE0000, %p82; + selp.f32 %f600, %f598, %f146, %p82; + mov.b32 %r263, %f600; + and.b32 %r264, %r263, 8388607; + or.b32 %r265, %r264, 1065353216; + mov.b32 %f601, %r265; + shr.u32 %r266, %r263, 23; + cvt.rn.f32.u32 %f602, %r266; + add.f32 %f603, %f599, %f602; + setp.gt.f32 %p83, %f601, 0f3FB504F3; + mul.f32 %f604, %f601, 0f3F000000; + add.f32 %f605, %f603, 0f3F800000; + selp.f32 %f606, %f604, %f601, %p83; + selp.f32 %f607, %f605, %f603, %p83; + add.f32 %f608, %f606, 0fBF800000; + add.f32 %f597, %f606, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f596,%f597; + // inline asm + add.f32 %f609, %f608, %f608; + mul.f32 %f610, %f596, %f609; + mul.f32 %f611, %f610, %f610; + fma.rn.f32 %f614, %f775, %f611, %f776; + fma.rn.f32 %f616, %f614, %f611, %f777; + mul.rn.f32 %f617, %f616, %f611; + mul.rn.f32 %f618, %f617, %f610; + sub.f32 %f619, %f608, %f610; + neg.f32 %f620, %f610; + add.f32 %f621, %f619, %f619; + fma.rn.f32 %f622, %f620, %f608, %f621; + mul.rn.f32 %f623, %f596, %f622; + add.f32 %f624, %f618, %f610; + sub.f32 %f625, %f610, %f624; + add.f32 %f626, %f618, %f625; + add.f32 %f627, %f623, %f626; + add.f32 %f628, %f624, %f627; + sub.f32 %f629, %f624, %f628; + add.f32 %f630, %f627, %f629; + mul.rn.f32 %f632, %f607, %f778; + mul.rn.f32 %f634, %f607, %f779; + add.f32 %f635, %f632, %f628; + sub.f32 %f636, %f632, %f635; + add.f32 %f637, %f628, %f636; + add.f32 %f638, %f630, %f637; + add.f32 %f639, %f634, %f638; + add.f32 %f640, %f635, %f639; + sub.f32 %f641, %f635, %f640; + add.f32 %f642, %f639, %f641; + mul.rn.f32 %f644, %f774, %f640; + neg.f32 %f645, %f644; + fma.rn.f32 %f646, %f774, %f640, %f645; + fma.rn.f32 %f647, %f774, %f642, %f646; + fma.rn.f32 %f649, %f780, %f640, %f647; + add.rn.f32 %f650, %f644, %f649; + neg.f32 %f651, %f650; + add.rn.f32 %f652, %f644, %f651; + add.rn.f32 %f653, %f652, %f649; + mov.b32 %r267, %f650; + setp.eq.s32 %p84, %r267, 1118925336; + add.s32 %r268, %r267, -1; + mov.b32 %f654, %r268; + add.f32 %f655, %f653, 0f37000000; + selp.f32 %f656, %f654, %f650, %p84; + selp.f32 %f147, %f655, %f653, %p84; + mul.f32 %f657, %f656, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f658, %f657; + fma.rn.f32 %f660, %f658, %f781, %f656; + fma.rn.f32 %f662, %f658, %f782, %f660; + mul.f32 %f663, %f662, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f664, %f663; + add.f32 %f665, %f658, 0f00000000; + ex2.approx.f32 %f666, %f665; + mul.f32 %f667, %f664, %f666; + setp.lt.f32 %p85, %f656, 0fC2D20000; + selp.f32 %f668, 0f00000000, %f667, %p85; + setp.gt.f32 %p86, %f656, 0f42D20000; + selp.f32 %f844, 0f7F800000, %f668, %p86; + setp.eq.f32 %p87, %f844, 0f7F800000; + @%p87 bra BB0_87; + + fma.rn.f32 %f844, %f844, %f147, %f844; + +BB0_87: + setp.lt.f32 %p88, %f118, 0f00000000; + and.pred %p3, %p88, %p57; + mov.b32 %r269, %f844; + xor.b32 %r270, %r269, -2147483648; + mov.b32 %f669, %r270; + selp.f32 %f846, %f669, %f844, %p3; + setp.eq.f32 %p90, %f118, 0f00000000; + @%p90 bra BB0_90; + bra.uni BB0_88; + +BB0_90: + add.f32 %f672, %f118, %f118; + selp.f32 %f846, %f672, 0f00000000, %p57; + bra.uni BB0_91; + +BB0_88: + setp.geu.f32 %p91, %f118, 0f00000000; + @%p91 bra BB0_91; + + mov.f32 %f783, 0f3EE66666; + cvt.rzi.f32.f32 %f671, %f783; + setp.neu.f32 %p92, %f671, 0f3EE66666; + selp.f32 %f846, 0f7FFFFFFF, %f846, %p92; + +BB0_91: + abs.f32 %f795, %f118; + add.f32 %f673, %f795, 0f3EE66666; + mov.b32 %r271, %f673; + setp.lt.s32 %p94, %r271, 2139095040; + @%p94 bra BB0_96; + + abs.f32 %f796, %f118; + setp.gtu.f32 %p95, %f796, 0f7F800000; + @%p95 bra BB0_95; + bra.uni BB0_93; + +BB0_95: + add.f32 %f846, %f118, 0f3EE66666; + bra.uni BB0_96; + +BB0_93: + abs.f32 %f797, %f118; + setp.neu.f32 %p96, %f797, 0f7F800000; + @%p96 bra BB0_96; + + selp.f32 %f846, 0fFF800000, 0f7F800000, %p3; + +BB0_96: + mov.u32 %r339, 4; + mov.u64 %rd260, 0; + mov.u32 %r338, 2; + setp.eq.f32 %p97, %f118, 0f3F800000; + selp.f32 %f674, 0f3F800000, %f846, %p97; + cvt.u64.u32 %rd89, %r4; + cvt.u64.u32 %rd88, %r3; + mov.u64 %rd92, image; + cvta.global.u64 %rd87, %rd92; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd87, %r338, %r339, %rd88, %rd89, %rd260, %rd260); + // inline asm + cvt.sat.f32.f32 %f675, %f674; + mul.f32 %f676, %f675, 0f437FFD71; + cvt.rzi.u32.f32 %r274, %f676; + cvt.sat.f32.f32 %f677, %f145; + mul.f32 %f678, %f677, 0f437FFD71; + cvt.rzi.u32.f32 %r275, %f678; + cvt.sat.f32.f32 %f679, %f132; + mul.f32 %f680, %f679, 0f437FFD71; + cvt.rzi.u32.f32 %r276, %f680; + cvt.u16.u32 %rs40, %r274; + cvt.u16.u32 %rs41, %r276; + cvt.u16.u32 %rs42, %r275; + mov.u16 %rs43, 255; + st.v4.u8 [%rd86], {%rs40, %rs42, %rs41, %rs43}; + ld.global.u32 %r373, [imageEnabled]; + +BB0_97: + cvt.u64.u32 %rd18, %r3; + cvt.u64.u32 %rd19, %r4; + and.b32 %r277, %r373, 4; + setp.eq.s32 %p98, %r277, 0; + @%p98 bra BB0_101; + + ld.global.u32 %r278, [additive]; + setp.eq.s32 %p99, %r278, 0; + mov.f32 %f681, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs44, %f681;} + + // inline asm + @%p99 bra BB0_100; + + mov.u64 %rd261, 0; + mov.u32 %r340, 2; + mov.u64 %rd105, image_HDR; + cvta.global.u64 %rd94, %rd105; + mov.u32 %r282, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r340, %r282, %rd18, %rd19, %rd261, %rd261); + // inline asm + ld.v4.u16 {%rs51, %rs52, %rs53, %rs54}, [%rd93]; + // inline asm + { cvt.f32.f16 %f682, %rs51;} + + // inline asm + // inline asm + { cvt.f32.f16 %f683, %rs52;} + + // inline asm + // inline asm + { cvt.f32.f16 %f684, %rs53;} + + // inline asm + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd94, %r340, %r282, %rd18, %rd19, %rd261, %rd261); + // inline asm + add.f32 %f685, %f116, %f682; + add.f32 %f686, %f117, %f683; + add.f32 %f687, %f118, %f684; + // inline asm + { cvt.rn.f16.f32 %rs50, %f687;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs49, %f686;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs48, %f685;} + + // inline asm + st.v4.u16 [%rd99], {%rs48, %rs49, %rs50, %rs44}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd262, 0; + mov.u32 %r341, 2; + mov.u64 %rd112, image_HDR; + cvta.global.u64 %rd107, %rd112; + mov.u32 %r284, 8; + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd107, %r341, %r284, %rd18, %rd19, %rd262, %rd262); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f118;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs56, %f117;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs55, %f116;} + + // inline asm + st.v4.u16 [%rd106], {%rs55, %rs56, %rs57, %rs44}; + +BB0_101: + add.f32 %f692, %f112, %f113; + add.f32 %f693, %f692, %f114; + mul.f32 %f694, %f693, 0f3F13CD3A; + div.rn.f32 %f695, %f115, %f694; + setp.eq.f32 %p100, %f115, 0f00000000; + selp.f32 %f696, 0f00000000, %f695, %p100; + mul.f32 %f697, %f112, %f696; + mul.f32 %f698, %f113, %f696; + mul.f32 %f699, %f114, %f696; + ld.global.f32 %f700, [skyColor]; + mul.f32 %f158, %f700, %f697; + ld.global.f32 %f701, [skyColor+4]; + mul.f32 %f159, %f701, %f697; + ld.global.f32 %f702, [skyColor+8]; + mul.f32 %f160, %f697, %f702; + mul.f32 %f161, %f700, %f698; + mul.f32 %f162, %f701, %f698; + mul.f32 %f163, %f698, %f702; + mul.f32 %f164, %f699, %f700; + mul.f32 %f165, %f699, %f701; + mul.f32 %f166, %f699, %f702; + ld.global.u32 %r285, [additive]; + setp.eq.s32 %p101, %r285, 0; + mov.f32 %f691, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs58, %f691;} + + // inline asm + @%p101 bra BB0_103; + + mov.u64 %rd263, 0; + mov.u32 %r342, 2; + mov.u64 %rd125, image_RNM0; + cvta.global.u64 %rd114, %rd125; + mov.u32 %r289, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r342, %r289, %rd18, %rd19, %rd263, %rd263); + // inline asm + ld.v4.u16 {%rs65, %rs66, %rs67, %rs68}, [%rd113]; + // inline asm + { cvt.f32.f16 %f703, %rs65;} + + // inline asm + // inline asm + { cvt.f32.f16 %f704, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f705, %rs67;} + + // inline asm + // inline asm + call (%rd119), _rt_buffer_get_64, (%rd114, %r342, %r289, %rd18, %rd19, %rd263, %rd263); + // inline asm + add.f32 %f706, %f158, %f703; + add.f32 %f707, %f159, %f704; + add.f32 %f708, %f160, %f705; + // inline asm + { cvt.rn.f16.f32 %rs64, %f708;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f707;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs62, %f706;} + + // inline asm + st.v4.u16 [%rd119], {%rs62, %rs63, %rs64, %rs58}; + bra.uni BB0_104; + +BB0_103: + mov.u64 %rd268, 0; + mov.u32 %r347, 2; + mov.u64 %rd132, image_RNM0; + cvta.global.u64 %rd127, %rd132; + mov.u32 %r291, 8; + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd127, %r347, %r291, %rd18, %rd19, %rd268, %rd268); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f160;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f159;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f158;} + + // inline asm + st.v4.u16 [%rd126], {%rs69, %rs70, %rs71, %rs58}; + +BB0_104: + ld.global.u32 %r292, [additive]; + setp.eq.s32 %p102, %r292, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f691;} + + // inline asm + @%p102 bra BB0_106; + + mov.u64 %rd264, 0; + mov.u32 %r343, 2; + mov.u64 %rd145, image_RNM1; + cvta.global.u64 %rd134, %rd145; + mov.u32 %r296, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r343, %r296, %rd18, %rd19, %rd264, %rd264); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd133]; + // inline asm + { cvt.f32.f16 %f713, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f714, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f715, %rs81;} + + // inline asm + // inline asm + call (%rd139), _rt_buffer_get_64, (%rd134, %r343, %r296, %rd18, %rd19, %rd264, %rd264); + // inline asm + add.f32 %f716, %f161, %f713; + add.f32 %f717, %f162, %f714; + add.f32 %f718, %f163, %f715; + // inline asm + { cvt.rn.f16.f32 %rs78, %f718;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f717;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f716;} + + // inline asm + st.v4.u16 [%rd139], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_107; + +BB0_106: + mov.u64 %rd267, 0; + mov.u32 %r346, 2; + mov.u64 %rd152, image_RNM1; + cvta.global.u64 %rd147, %rd152; + mov.u32 %r298, 8; + // inline asm + call (%rd146), _rt_buffer_get_64, (%rd147, %r346, %r298, %rd18, %rd19, %rd267, %rd267); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f163;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs84, %f162;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f161;} + + // inline asm + st.v4.u16 [%rd146], {%rs83, %rs84, %rs85, %rs72}; + +BB0_107: + ld.global.u32 %r299, [additive]; + setp.eq.s32 %p103, %r299, 0; + // inline asm + { cvt.rn.f16.f32 %rs86, %f691;} + + // inline asm + @%p103 bra BB0_109; + + mov.u64 %rd265, 0; + mov.u32 %r344, 2; + mov.u64 %rd165, image_RNM2; + cvta.global.u64 %rd154, %rd165; + mov.u32 %r303, 8; + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd154, %r344, %r303, %rd18, %rd19, %rd265, %rd265); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd153]; + // inline asm + { cvt.f32.f16 %f723, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f724, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f725, %rs95;} + + // inline asm + // inline asm + call (%rd159), _rt_buffer_get_64, (%rd154, %r344, %r303, %rd18, %rd19, %rd265, %rd265); + // inline asm + add.f32 %f726, %f164, %f723; + add.f32 %f727, %f165, %f724; + add.f32 %f728, %f166, %f725; + // inline asm + { cvt.rn.f16.f32 %rs92, %f728;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f727;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f726;} + + // inline asm + st.v4.u16 [%rd159], {%rs90, %rs91, %rs92, %rs86}; + bra.uni BB0_125; + +BB0_109: + mov.u64 %rd266, 0; + mov.u32 %r345, 2; + mov.u64 %rd172, image_RNM2; + cvta.global.u64 %rd167, %rd172; + mov.u32 %r305, 8; + // inline asm + call (%rd166), _rt_buffer_get_64, (%rd167, %r345, %r305, %rd18, %rd19, %rd266, %rd266); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f166;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f165;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f164;} + + // inline asm + st.v4.u16 [%rd166], {%rs97, %rs98, %rs99, %rs86}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyRNM.ptx.meta new file mode 100644 index 00000000..bc249d5e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 951d73c4d08f7584da38815f9fee17f1 +timeCreated: 1537526771 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx new file mode 100644 index 00000000..b20c28b8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx @@ -0,0 +1,1914 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .texref sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<105>; + .reg .b16 %rs<148>; + .reg .f32 %f<710>; + .reg .b32 %r<355>; + .reg .b64 %rd<283>; + + + mov.u64 %rd282, __local_depot0; + cvta.local.u64 %SP, %rd282; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r93, %r94}, [pixelID]; + cvt.u64.u32 %rd22, %r93; + cvt.u64.u32 %rd23, %r94; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r91, 2; + mov.u32 %r92, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r91, %r92, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r2, [%rd20]; + shr.u32 %r97, %r2, 16; + cvt.u16.u32 %rs1, %r97; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r2; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p4, %rs9, 0; + mov.f32 %f666, 0f00000000; + mov.f32 %f667, %f666; + mov.f32 %f668, %f666; + @%p4 bra BB0_2; + + ld.u8 %rs10, [%rd20+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f143, %rs12; + div.rn.f32 %f144, %f143, 0f437F0000; + fma.rn.f32 %f145, %f144, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f146, %rs10; + div.rn.f32 %f147, %f146, 0f437F0000; + fma.rn.f32 %f148, %f147, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f149, %rs7; + div.rn.f32 %f150, %f149, 0f437F0000; + fma.rn.f32 %f151, %f150, 0f40000000, 0fBF800000; + mul.f32 %f152, %f148, %f148; + fma.rn.f32 %f153, %f145, %f145, %f152; + fma.rn.f32 %f154, %f151, %f151, %f153; + sqrt.rn.f32 %f155, %f154; + rcp.rn.f32 %f156, %f155; + mul.f32 %f666, %f145, %f156; + mul.f32 %f667, %f148, %f156; + mul.f32 %f668, %f151, %f156; + +BB0_2: + ld.global.v2.u32 {%r98, %r99}, [pixelID]; + ld.global.v2.u32 {%r101, %r102}, [tileInfo]; + add.s32 %r3, %r98, %r101; + add.s32 %r4, %r99, %r102; + setp.eq.f32 %p5, %f667, 0f00000000; + setp.eq.f32 %p6, %f666, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f668, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_107; + bra.uni BB0_3; + +BB0_107: + ld.global.u32 %r354, [imageEnabled]; + and.b32 %r289, %r354, 1; + setp.eq.b32 %p98, %r289, 1; + @!%p98 bra BB0_109; + bra.uni BB0_108; + +BB0_108: + cvt.u64.u32 %rd173, %r4; + cvt.u64.u32 %rd172, %r3; + mov.u64 %rd176, image; + cvta.global.u64 %rd171, %rd176; + mov.u64 %rd175, 0; + // inline asm + call (%rd170), _rt_buffer_get_64, (%rd171, %r91, %r92, %rd172, %rd173, %rd175, %rd175); + // inline asm + mov.u16 %rs82, 0; + st.v4.u8 [%rd170], {%rs82, %rs82, %rs82, %rs82}; + ld.global.u32 %r354, [imageEnabled]; + +BB0_109: + cvt.u64.u32 %rd18, %r3; + cvt.u64.u32 %rd19, %r4; + and.b32 %r292, %r354, 4; + setp.eq.s32 %p99, %r292, 0; + @%p99 bra BB0_113; + + ld.global.u32 %r293, [additive]; + setp.eq.s32 %p100, %r293, 0; + @%p100 bra BB0_112; + + mov.u64 %rd189, image_HDR; + cvta.global.u64 %rd178, %rd189; + mov.u32 %r297, 8; + mov.u64 %rd188, 0; + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd178, %r91, %r297, %rd18, %rd19, %rd188, %rd188); + // inline asm + ld.v4.u16 {%rs89, %rs90, %rs91, %rs92}, [%rd177]; + // inline asm + { cvt.f32.f16 %f595, %rs89;} + + // inline asm + // inline asm + { cvt.f32.f16 %f596, %rs90;} + + // inline asm + // inline asm + { cvt.f32.f16 %f597, %rs91;} + + // inline asm + // inline asm + call (%rd183), _rt_buffer_get_64, (%rd178, %r91, %r297, %rd18, %rd19, %rd188, %rd188); + // inline asm + add.f32 %f598, %f595, 0f00000000; + add.f32 %f599, %f596, 0f00000000; + add.f32 %f600, %f597, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs88, %f600;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f599;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f598;} + + // inline asm + mov.u16 %rs93, 0; + st.v4.u16 [%rd183], {%rs86, %rs87, %rs88, %rs93}; + bra.uni BB0_113; + +BB0_3: + ld.global.v2.u32 {%r110, %r111}, [pixelID]; + cvt.u64.u32 %rd29, %r110; + cvt.u64.u32 %rd30, %r111; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r107, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r91, %r107, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f162, [%rd27+8]; + ld.f32 %f163, [%rd27+4]; + ld.f32 %f164, [%rd27]; + mul.f32 %f165, %f164, 0f3456BF95; + mul.f32 %f166, %f163, 0f3456BF95; + mul.f32 %f167, %f162, 0f3456BF95; + abs.f32 %f168, %f666; + div.rn.f32 %f169, %f165, %f168; + abs.f32 %f170, %f667; + div.rn.f32 %f171, %f166, %f170; + abs.f32 %f172, %f668; + div.rn.f32 %f173, %f167, %f172; + abs.f32 %f174, %f169; + abs.f32 %f175, %f171; + abs.f32 %f176, %f173; + mov.f32 %f177, 0f38D1B717; + max.f32 %f178, %f174, %f177; + max.f32 %f179, %f175, %f177; + max.f32 %f180, %f176, %f177; + fma.rn.f32 %f7, %f666, %f178, %f164; + fma.rn.f32 %f8, %f667, %f179, %f163; + fma.rn.f32 %f9, %f668, %f180, %f162; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f168, %f172; + neg.f32 %f181, %f667; + selp.f32 %f182, %f181, 0f00000000, %p10; + neg.f32 %f183, %f668; + selp.f32 %f184, %f666, %f183, %p10; + selp.f32 %f185, 0f00000000, %f667, %p10; + mul.f32 %f186, %f184, %f184; + fma.rn.f32 %f187, %f182, %f182, %f186; + fma.rn.f32 %f188, %f185, %f185, %f187; + sqrt.rn.f32 %f189, %f188; + rcp.rn.f32 %f190, %f189; + mul.f32 %f10, %f182, %f190; + mul.f32 %f11, %f184, %f190; + mul.f32 %f12, %f185, %f190; + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + cvt.u64.u32 %rd35, %r114; + cvt.u64.u32 %rd36, %r115; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r91, %r92, %rd35, %rd36, %rd25, %rd25); + // inline asm + mov.f32 %f695, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f694, %f695; + mov.f32 %f693, %f695; + mov.f32 %f692, %f695; + mov.f32 %f691, %f695; + @%p11 bra BB0_56; + + cvt.rn.f32.s32 %f196, %r1; + rcp.rn.f32 %f13, %f196; + ld.u32 %r332, [%rd33]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f197, %f666, %f11; + mul.f32 %f198, %f667, %f10; + sub.f32 %f17, %f198, %f197; + mul.f32 %f199, %f668, %f10; + mul.f32 %f200, %f666, %f12; + sub.f32 %f18, %f200, %f199; + mul.f32 %f201, %f667, %f12; + mul.f32 %f202, %f668, %f11; + sub.f32 %f19, %f202, %f201; + mov.f32 %f695, 0f00000000; + mov.u32 %r118, 0; + abs.f32 %f276, %f15; + abs.f32 %f277, %f14; + max.f32 %f278, %f277, %f276; + abs.f32 %f279, %f16; + max.f32 %f280, %f278, %f279; + mov.u32 %r329, %r118; + mov.f32 %f694, %f695; + mov.f32 %f693, %f695; + mov.f32 %f692, %f695; + mov.f32 %f691, %f695; + +BB0_5: + mov.u32 %r331, %r118; + +BB0_6: + cvt.rn.f32.s32 %f664, %r329; + mad.lo.s32 %r120, %r332, 1664525, 1013904223; + and.b32 %r121, %r120, 16777215; + cvt.rn.f32.u32 %f203, %r121; + fma.rn.f32 %f204, %f203, 0f33800000, %f664; + mul.f32 %f31, %f13, %f204; + mad.lo.s32 %r332, %r120, 1664525, 1013904223; + and.b32 %r122, %r332, 16777215; + cvt.rn.f32.u32 %f205, %r122; + cvt.rn.f32.s32 %f206, %r331; + fma.rn.f32 %f207, %f205, 0f33800000, %f206; + mul.f32 %f208, %f13, %f207; + mul.f32 %f209, %f31, %f31; + mov.f32 %f210, 0f3F800000; + sub.f32 %f211, %f210, %f209; + mov.f32 %f212, 0f00000000; + max.f32 %f213, %f212, %f211; + sqrt.rn.f32 %f32, %f213; + mul.f32 %f685, %f208, 0f40C90FDB; + abs.f32 %f34, %f685; + setp.neu.f32 %p12, %f34, 0f7F800000; + mov.f32 %f679, %f685; + @%p12 bra BB0_8; + + mul.rn.f32 %f679, %f685, %f212; + +BB0_8: + mul.f32 %f215, %f679, 0f3F22F983; + cvt.rni.s32.f32 %r342, %f215; + cvt.rn.f32.s32 %f216, %r342; + neg.f32 %f217, %f216; + mov.f32 %f218, 0f3FC90FDA; + fma.rn.f32 %f219, %f217, %f218, %f679; + mov.f32 %f220, 0f33A22168; + fma.rn.f32 %f221, %f217, %f220, %f219; + mov.f32 %f222, 0f27C234C5; + fma.rn.f32 %f680, %f217, %f222, %f221; + abs.f32 %f223, %f679; + setp.leu.f32 %p13, %f223, 0f47CE4780; + @%p13 bra BB0_19; + + add.u64 %rd42, %SP, 4; + cvta.to.local.u64 %rd3, %rd42; + mov.b32 %r13, %f679; + shr.u32 %r14, %r13, 23; + shl.b32 %r125, %r13, 8; + or.b32 %r15, %r125, -2147483648; + mov.u32 %r333, 0; + mov.u64 %rd279, 0; + mov.u64 %rd278, %rd3; + mov.u32 %r334, %r333; + +BB0_10: + .pragma "nounroll"; + shl.b64 %rd43, %rd279, 2; + mov.u64 %rd44, __cudart_i2opi_f; + add.s64 %rd45, %rd44, %rd43; + ld.const.u32 %r128, [%rd45]; + // inline asm + { + mad.lo.cc.u32 %r126, %r128, %r15, %r334; + madc.hi.u32 %r334, %r128, %r15, 0; + } + // inline asm + st.local.u32 [%rd278], %r126; + add.s32 %r333, %r333, 1; + cvt.s64.s32 %rd279, %r333; + mul.wide.s32 %rd48, %r333, 4; + add.s64 %rd278, %rd3, %rd48; + setp.ne.s32 %p14, %r333, 6; + @%p14 bra BB0_10; + + add.u64 %rd277, %SP, 4; + and.b32 %r131, %r14, 255; + add.s32 %r132, %r131, -128; + shr.u32 %r133, %r132, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd50, %rd277; + st.local.u32 [%rd50+24], %r334; + mov.u32 %r134, 6; + sub.s32 %r135, %r134, %r133; + mul.wide.s32 %rd51, %r135, 4; + add.s64 %rd8, %rd50, %rd51; + ld.local.u32 %r335, [%rd8]; + ld.local.u32 %r336, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p15, %r23, 0; + @%p15 bra BB0_13; + + mov.u32 %r136, 32; + sub.s32 %r137, %r136, %r23; + shr.u32 %r138, %r336, %r137; + shl.b32 %r139, %r335, %r23; + add.s32 %r335, %r138, %r139; + ld.local.u32 %r140, [%rd8+-8]; + shr.u32 %r141, %r140, %r137; + shl.b32 %r142, %r336, %r23; + add.s32 %r336, %r141, %r142; + +BB0_13: + shr.u32 %r143, %r336, 30; + shl.b32 %r144, %r335, 2; + add.s32 %r337, %r143, %r144; + shl.b32 %r29, %r336, 2; + shr.u32 %r145, %r337, 31; + shr.u32 %r146, %r335, 30; + add.s32 %r30, %r145, %r146; + setp.eq.s32 %p16, %r145, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r338, %r20; + mov.u32 %r339, %r29; + bra.uni BB0_16; + +BB0_15: + not.b32 %r147, %r337; + neg.s32 %r339, %r29; + setp.eq.s32 %p17, %r29, 0; + selp.u32 %r148, 1, 0, %p17; + add.s32 %r337, %r148, %r147; + xor.b32 %r338, %r20, -2147483648; + +BB0_16: + clz.b32 %r341, %r337; + setp.eq.s32 %p18, %r341, 0; + shl.b32 %r149, %r337, %r341; + mov.u32 %r150, 32; + sub.s32 %r151, %r150, %r341; + shr.u32 %r152, %r339, %r151; + add.s32 %r153, %r152, %r149; + selp.b32 %r38, %r337, %r153, %p18; + mov.u32 %r154, -921707870; + mul.hi.u32 %r340, %r38, %r154; + setp.eq.s32 %p19, %r20, 0; + neg.s32 %r155, %r30; + selp.b32 %r342, %r30, %r155, %p19; + setp.lt.s32 %p20, %r340, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r156, %r38, -921707870; + shr.u32 %r157, %r156, 31; + shl.b32 %r158, %r340, 1; + add.s32 %r340, %r157, %r158; + add.s32 %r341, %r341, 1; + +BB0_18: + mov.u32 %r159, 126; + sub.s32 %r160, %r159, %r341; + shl.b32 %r161, %r160, 23; + add.s32 %r162, %r340, 1; + shr.u32 %r163, %r162, 7; + add.s32 %r164, %r163, 1; + shr.u32 %r165, %r164, 1; + add.s32 %r166, %r165, %r161; + or.b32 %r167, %r166, %r338; + mov.b32 %f680, %r167; + +BB0_19: + mul.rn.f32 %f40, %f680, %f680; + add.s32 %r46, %r342, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p21, %r47, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mov.f32 %f226, 0f3C08839E; + mov.f32 %f227, 0fB94CA1F9; + fma.rn.f32 %f681, %f227, %f40, %f226; + bra.uni BB0_22; + +BB0_20: + mov.f32 %f224, 0fBAB6061A; + mov.f32 %f225, 0f37CCF5CE; + fma.rn.f32 %f681, %f225, %f40, %f224; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mov.f32 %f231, 0fBE2AAAA3; + fma.rn.f32 %f232, %f681, %f40, %f231; + fma.rn.f32 %f682, %f232, %f40, %f212; + bra.uni BB0_25; + +BB0_23: + mov.f32 %f228, 0f3D2AAAA5; + fma.rn.f32 %f229, %f681, %f40, %f228; + mov.f32 %f230, 0fBF000000; + fma.rn.f32 %f682, %f229, %f40, %f230; + +BB0_25: + fma.rn.f32 %f683, %f682, %f680, %f680; + @%p21 bra BB0_27; + + fma.rn.f32 %f683, %f682, %f40, %f210; + +BB0_27: + and.b32 %r168, %r46, 2; + setp.eq.s32 %p24, %r168, 0; + @%p24 bra BB0_29; + + mov.f32 %f236, 0fBF800000; + fma.rn.f32 %f683, %f683, %f236, %f212; + +BB0_29: + @%p12 bra BB0_31; + + mul.rn.f32 %f685, %f685, %f212; + +BB0_31: + mov.f32 %f665, 0f3FC90FDA; + mul.f32 %f238, %f685, 0f3F22F983; + cvt.rni.s32.f32 %r352, %f238; + cvt.rn.f32.s32 %f239, %r352; + neg.f32 %f240, %f239; + fma.rn.f32 %f242, %f240, %f665, %f685; + fma.rn.f32 %f244, %f240, %f220, %f242; + fma.rn.f32 %f686, %f240, %f222, %f244; + abs.f32 %f246, %f685; + setp.leu.f32 %p26, %f246, 0f47CE4780; + @%p26 bra BB0_42; + + add.u64 %rd53, %SP, 4; + cvta.to.local.u64 %rd9, %rd53; + mov.b32 %r49, %f685; + shr.u32 %r50, %r49, 23; + shl.b32 %r171, %r49, 8; + or.b32 %r51, %r171, -2147483648; + mov.u32 %r343, 0; + mov.u64 %rd280, %rd9; + mov.u64 %rd281, %rd25; + mov.u32 %r344, %r343; + +BB0_33: + .pragma "nounroll"; + shl.b64 %rd54, %rd281, 2; + mov.u64 %rd55, __cudart_i2opi_f; + add.s64 %rd56, %rd55, %rd54; + ld.const.u32 %r174, [%rd56]; + // inline asm + { + mad.lo.cc.u32 %r172, %r174, %r51, %r344; + madc.hi.u32 %r344, %r174, %r51, 0; + } + // inline asm + st.local.u32 [%rd280], %r172; + add.s32 %r343, %r343, 1; + cvt.s64.s32 %rd281, %r343; + mul.wide.s32 %rd57, %r343, 4; + add.s64 %rd280, %rd9, %rd57; + setp.ne.s32 %p27, %r343, 6; + @%p27 bra BB0_33; + + and.b32 %r177, %r50, 255; + add.s32 %r178, %r177, -128; + shr.u32 %r179, %r178, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd59, %rd53; + st.local.u32 [%rd59+24], %r344; + mov.u32 %r180, 6; + sub.s32 %r181, %r180, %r179; + mul.wide.s32 %rd60, %r181, 4; + add.s64 %rd15, %rd59, %rd60; + ld.local.u32 %r345, [%rd15]; + ld.local.u32 %r346, [%rd15+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p28, %r59, 0; + @%p28 bra BB0_36; + + mov.u32 %r182, 32; + sub.s32 %r183, %r182, %r59; + shr.u32 %r184, %r346, %r183; + shl.b32 %r185, %r345, %r59; + add.s32 %r345, %r184, %r185; + ld.local.u32 %r186, [%rd15+-8]; + shr.u32 %r187, %r186, %r183; + shl.b32 %r188, %r346, %r59; + add.s32 %r346, %r187, %r188; + +BB0_36: + shr.u32 %r189, %r346, 30; + shl.b32 %r190, %r345, 2; + add.s32 %r347, %r189, %r190; + shl.b32 %r65, %r346, 2; + shr.u32 %r191, %r347, 31; + shr.u32 %r192, %r345, 30; + add.s32 %r66, %r191, %r192; + setp.eq.s32 %p29, %r191, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r348, %r56; + mov.u32 %r349, %r65; + bra.uni BB0_39; + +BB0_38: + not.b32 %r193, %r347; + neg.s32 %r349, %r65; + setp.eq.s32 %p30, %r65, 0; + selp.u32 %r194, 1, 0, %p30; + add.s32 %r347, %r194, %r193; + xor.b32 %r348, %r56, -2147483648; + +BB0_39: + clz.b32 %r351, %r347; + setp.eq.s32 %p31, %r351, 0; + shl.b32 %r195, %r347, %r351; + mov.u32 %r196, 32; + sub.s32 %r197, %r196, %r351; + shr.u32 %r198, %r349, %r197; + add.s32 %r199, %r198, %r195; + selp.b32 %r74, %r347, %r199, %p31; + mov.u32 %r200, -921707870; + mul.hi.u32 %r350, %r74, %r200; + setp.eq.s32 %p32, %r56, 0; + neg.s32 %r201, %r66; + selp.b32 %r352, %r66, %r201, %p32; + setp.lt.s32 %p33, %r350, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r202, %r74, -921707870; + shr.u32 %r203, %r202, 31; + shl.b32 %r204, %r350, 1; + add.s32 %r350, %r203, %r204; + add.s32 %r351, %r351, 1; + +BB0_41: + mov.u32 %r205, 126; + sub.s32 %r206, %r205, %r351; + shl.b32 %r207, %r206, 23; + add.s32 %r208, %r350, 1; + shr.u32 %r209, %r208, 7; + add.s32 %r210, %r209, 1; + shr.u32 %r211, %r210, 1; + add.s32 %r212, %r211, %r207; + or.b32 %r213, %r212, %r348; + mov.b32 %f686, %r213; + +BB0_42: + mul.rn.f32 %f57, %f686, %f686; + and.b32 %r82, %r352, 1; + setp.eq.s32 %p34, %r82, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f249, 0f3C08839E; + mov.f32 %f250, 0fB94CA1F9; + fma.rn.f32 %f687, %f250, %f57, %f249; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f247, 0fBAB6061A; + mov.f32 %f248, 0f37CCF5CE; + fma.rn.f32 %f687, %f248, %f57, %f247; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mov.f32 %f254, 0fBE2AAAA3; + fma.rn.f32 %f255, %f687, %f57, %f254; + fma.rn.f32 %f688, %f255, %f57, %f212; + bra.uni BB0_48; + +BB0_46: + mov.f32 %f251, 0f3D2AAAA5; + fma.rn.f32 %f252, %f687, %f57, %f251; + mov.f32 %f253, 0fBF000000; + fma.rn.f32 %f688, %f252, %f57, %f253; + +BB0_48: + fma.rn.f32 %f689, %f688, %f686, %f686; + @%p34 bra BB0_50; + + fma.rn.f32 %f689, %f688, %f57, %f210; + +BB0_50: + and.b32 %r214, %r352, 2; + setp.eq.s32 %p37, %r214, 0; + @%p37 bra BB0_52; + + mov.f32 %f259, 0fBF800000; + fma.rn.f32 %f689, %f689, %f259, %f212; + +BB0_52: + mul.f32 %f260, %f32, %f683; + mul.f32 %f261, %f32, %f689; + mul.f32 %f262, %f10, %f261; + mul.f32 %f263, %f11, %f261; + mul.f32 %f264, %f12, %f261; + fma.rn.f32 %f265, %f19, %f260, %f262; + fma.rn.f32 %f266, %f18, %f260, %f263; + fma.rn.f32 %f267, %f17, %f260, %f264; + fma.rn.f32 %f69, %f666, %f31, %f265; + fma.rn.f32 %f70, %f667, %f31, %f266; + fma.rn.f32 %f71, %f668, %f31, %f267; + setp.gt.f32 %p38, %f70, 0f00000000; + setp.eq.s32 %p39, %r5, 0; + or.pred %p40, %p39, %p38; + @!%p40 bra BB0_54; + bra.uni BB0_53; + +BB0_53: + add.u64 %rd61, %SP, 0; + cvta.to.local.u64 %rd62, %rd61; + max.f32 %f274, %f280, %f177; + mov.u32 %r218, 1065353216; + st.local.u32 [%rd62], %r218; + ld.global.u32 %r215, [root]; + mov.u32 %r216, 1; + mov.f32 %f275, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r215, %f7, %f8, %f9, %f69, %f70, %f71, %r216, %f274, %f275, %rd61, %r92); + // inline asm + mul.f32 %f282, %f667, %f70; + fma.rn.f32 %f283, %f666, %f69, %f282; + fma.rn.f32 %f284, %f668, %f71, %f283; + mul.f32 %f285, %f284, 0f40800000; + cvt.sat.f32.f32 %f286, %f285; + ld.local.f32 %f287, [%rd62]; + mul.f32 %f288, %f287, %f286; + fma.rn.f32 %f693, %f69, %f288, %f693; + fma.rn.f32 %f694, %f70, %f288, %f694; + fma.rn.f32 %f695, %f71, %f288, %f695; + add.f32 %f692, %f692, %f288; + cvt.sat.f32.f32 %f289, %f284; + fma.rn.f32 %f691, %f289, %f287, %f691; + +BB0_54: + add.s32 %r331, %r331, 1; + setp.lt.s32 %p41, %r331, %r1; + @%p41 bra BB0_6; + + add.s32 %r329, %r329, 1; + setp.lt.s32 %p42, %r329, %r1; + @%p42 bra BB0_5; + +BB0_56: + mul.lo.s32 %r219, %r1, %r1; + cvt.rn.f32.s32 %f290, %r219; + div.rn.f32 %f291, %f691, %f290; + div.rn.f32 %f87, %f692, %f290; + div.rn.f32 %f88, %f693, %f290; + div.rn.f32 %f89, %f694, %f290; + div.rn.f32 %f90, %f695, %f290; + add.f32 %f292, %f291, %f291; + ld.global.f32 %f293, [skyColor]; + mul.f32 %f91, %f292, %f293; + ld.global.f32 %f294, [skyColor+4]; + mul.f32 %f92, %f292, %f294; + ld.global.f32 %f295, [skyColor+8]; + mul.f32 %f93, %f292, %f295; + ld.global.u32 %r353, [imageEnabled]; + and.b32 %r220, %r353, 1; + setp.eq.b32 %p43, %r220, 1; + @!%p43 bra BB0_91; + bra.uni BB0_57; + +BB0_57: + abs.f32 %f95, %f91; + setp.lt.f32 %p44, %f95, 0f00800000; + mul.f32 %f301, %f95, 0f4B800000; + selp.f32 %f302, 0fC3170000, 0fC2FE0000, %p44; + selp.f32 %f303, %f301, %f95, %p44; + mov.b32 %r221, %f303; + and.b32 %r222, %r221, 8388607; + or.b32 %r223, %r222, 1065353216; + mov.b32 %f304, %r223; + shr.u32 %r224, %r221, 23; + cvt.rn.f32.u32 %f305, %r224; + add.f32 %f306, %f302, %f305; + setp.gt.f32 %p45, %f304, 0f3FB504F3; + mul.f32 %f307, %f304, 0f3F000000; + add.f32 %f308, %f306, 0f3F800000; + selp.f32 %f309, %f307, %f304, %p45; + selp.f32 %f310, %f308, %f306, %p45; + add.f32 %f311, %f309, 0fBF800000; + add.f32 %f297, %f309, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f296,%f297; + // inline asm + add.f32 %f312, %f311, %f311; + mul.f32 %f313, %f296, %f312; + mul.f32 %f314, %f313, %f313; + mov.f32 %f315, 0f3C4CAF63; + mov.f32 %f316, 0f3B18F0FE; + fma.rn.f32 %f317, %f316, %f314, %f315; + mov.f32 %f318, 0f3DAAAABD; + fma.rn.f32 %f319, %f317, %f314, %f318; + mul.rn.f32 %f320, %f319, %f314; + mul.rn.f32 %f321, %f320, %f313; + sub.f32 %f322, %f311, %f313; + neg.f32 %f323, %f313; + add.f32 %f324, %f322, %f322; + fma.rn.f32 %f325, %f323, %f311, %f324; + mul.rn.f32 %f326, %f296, %f325; + add.f32 %f327, %f321, %f313; + sub.f32 %f328, %f313, %f327; + add.f32 %f329, %f321, %f328; + add.f32 %f330, %f326, %f329; + add.f32 %f331, %f327, %f330; + sub.f32 %f332, %f327, %f331; + add.f32 %f333, %f330, %f332; + mov.f32 %f334, 0f3F317200; + mul.rn.f32 %f335, %f310, %f334; + mov.f32 %f336, 0f35BFBE8E; + mul.rn.f32 %f337, %f310, %f336; + add.f32 %f338, %f335, %f331; + sub.f32 %f339, %f335, %f338; + add.f32 %f340, %f331, %f339; + add.f32 %f341, %f333, %f340; + add.f32 %f342, %f337, %f341; + add.f32 %f343, %f338, %f342; + sub.f32 %f344, %f338, %f343; + add.f32 %f345, %f342, %f344; + mov.f32 %f346, 0f3EE66666; + mul.rn.f32 %f347, %f346, %f343; + neg.f32 %f348, %f347; + fma.rn.f32 %f349, %f346, %f343, %f348; + fma.rn.f32 %f350, %f346, %f345, %f349; + mov.f32 %f351, 0f00000000; + fma.rn.f32 %f352, %f351, %f343, %f350; + add.rn.f32 %f353, %f347, %f352; + neg.f32 %f354, %f353; + add.rn.f32 %f355, %f347, %f354; + add.rn.f32 %f356, %f355, %f352; + mov.b32 %r225, %f353; + setp.eq.s32 %p46, %r225, 1118925336; + add.s32 %r226, %r225, -1; + mov.b32 %f357, %r226; + add.f32 %f358, %f356, 0f37000000; + selp.f32 %f359, %f357, %f353, %p46; + selp.f32 %f96, %f358, %f356, %p46; + mul.f32 %f360, %f359, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f361, %f360; + mov.f32 %f362, 0fBF317200; + fma.rn.f32 %f363, %f361, %f362, %f359; + mov.f32 %f364, 0fB5BFBE8E; + fma.rn.f32 %f365, %f361, %f364, %f363; + mul.f32 %f366, %f365, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f367, %f366; + add.f32 %f368, %f361, 0f00000000; + ex2.approx.f32 %f369, %f368; + mul.f32 %f370, %f367, %f369; + setp.lt.f32 %p47, %f359, 0fC2D20000; + selp.f32 %f371, 0f00000000, %f370, %p47; + setp.gt.f32 %p48, %f359, 0f42D20000; + selp.f32 %f701, 0f7F800000, %f371, %p48; + setp.eq.f32 %p49, %f701, 0f7F800000; + @%p49 bra BB0_59; + + fma.rn.f32 %f701, %f701, %f96, %f701; + +BB0_59: + mov.f32 %f633, 0f3E666666; + cvt.rzi.f32.f32 %f632, %f633; + fma.rn.f32 %f631, %f632, 0fC0000000, 0f3EE66666; + abs.f32 %f630, %f631; + setp.lt.f32 %p50, %f91, 0f00000000; + setp.eq.f32 %p51, %f630, 0f3F800000; + and.pred %p1, %p50, %p51; + mov.b32 %r227, %f701; + xor.b32 %r228, %r227, -2147483648; + mov.b32 %f372, %r228; + selp.f32 %f703, %f372, %f701, %p1; + setp.eq.f32 %p52, %f91, 0f00000000; + @%p52 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f375, %f91, %f91; + selp.f32 %f703, %f375, 0f00000000, %p51; + bra.uni BB0_63; + +BB0_112: + mov.u64 %rd196, image_HDR; + cvta.global.u64 %rd191, %rd196; + mov.u32 %r299, 8; + mov.u64 %rd195, 0; + // inline asm + call (%rd190), _rt_buffer_get_64, (%rd191, %r91, %r299, %rd18, %rd19, %rd195, %rd195); + // inline asm + mov.f32 %f601, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs94, %f601;} + + // inline asm + mov.u16 %rs95, 0; + st.v4.u16 [%rd190], {%rs94, %rs94, %rs94, %rs95}; + +BB0_113: + ld.global.u32 %r300, [additive]; + setp.eq.s32 %p101, %r300, 0; + @%p101 bra BB0_115; + + mov.u64 %rd209, image_RNM0; + cvta.global.u64 %rd198, %rd209; + mov.u32 %r304, 8; + mov.u64 %rd208, 0; + // inline asm + call (%rd197), _rt_buffer_get_64, (%rd198, %r91, %r304, %rd18, %rd19, %rd208, %rd208); + // inline asm + ld.v4.u16 {%rs102, %rs103, %rs104, %rs105}, [%rd197]; + // inline asm + { cvt.f32.f16 %f602, %rs102;} + + // inline asm + // inline asm + { cvt.f32.f16 %f603, %rs103;} + + // inline asm + // inline asm + { cvt.f32.f16 %f604, %rs104;} + + // inline asm + // inline asm + call (%rd203), _rt_buffer_get_64, (%rd198, %r91, %r304, %rd18, %rd19, %rd208, %rd208); + // inline asm + add.f32 %f605, %f602, 0f00000000; + add.f32 %f606, %f603, 0f00000000; + add.f32 %f607, %f604, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs101, %f607;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs100, %f606;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f605;} + + // inline asm + mov.u16 %rs106, 0; + st.v4.u16 [%rd203], {%rs99, %rs100, %rs101, %rs106}; + bra.uni BB0_116; + +BB0_115: + mov.u64 %rd216, image_RNM0; + cvta.global.u64 %rd211, %rd216; + mov.u32 %r306, 8; + mov.u64 %rd215, 0; + // inline asm + call (%rd210), _rt_buffer_get_64, (%rd211, %r91, %r306, %rd18, %rd19, %rd215, %rd215); + // inline asm + mov.f32 %f608, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs107, %f608;} + + // inline asm + mov.u16 %rs108, 0; + st.v4.u16 [%rd210], {%rs107, %rs107, %rs107, %rs108}; + +BB0_116: + ld.global.u32 %r307, [additive]; + setp.eq.s32 %p102, %r307, 0; + @%p102 bra BB0_118; + + mov.u64 %rd229, image_RNM1; + cvta.global.u64 %rd218, %rd229; + mov.u32 %r311, 8; + mov.u64 %rd228, 0; + // inline asm + call (%rd217), _rt_buffer_get_64, (%rd218, %r91, %r311, %rd18, %rd19, %rd228, %rd228); + // inline asm + ld.v4.u16 {%rs115, %rs116, %rs117, %rs118}, [%rd217]; + // inline asm + { cvt.f32.f16 %f609, %rs115;} + + // inline asm + // inline asm + { cvt.f32.f16 %f610, %rs116;} + + // inline asm + // inline asm + { cvt.f32.f16 %f611, %rs117;} + + // inline asm + // inline asm + call (%rd223), _rt_buffer_get_64, (%rd218, %r91, %r311, %rd18, %rd19, %rd228, %rd228); + // inline asm + add.f32 %f612, %f609, 0f00000000; + add.f32 %f613, %f610, 0f00000000; + add.f32 %f614, %f611, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs114, %f614;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs113, %f613;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs112, %f612;} + + // inline asm + mov.u16 %rs119, 0; + st.v4.u16 [%rd223], {%rs112, %rs113, %rs114, %rs119}; + bra.uni BB0_119; + +BB0_118: + mov.u64 %rd236, image_RNM1; + cvta.global.u64 %rd231, %rd236; + mov.u32 %r313, 8; + mov.u64 %rd235, 0; + // inline asm + call (%rd230), _rt_buffer_get_64, (%rd231, %r91, %r313, %rd18, %rd19, %rd235, %rd235); + // inline asm + mov.f32 %f615, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs120, %f615;} + + // inline asm + mov.u16 %rs121, 0; + st.v4.u16 [%rd230], {%rs120, %rs120, %rs120, %rs121}; + +BB0_119: + ld.global.u32 %r314, [additive]; + setp.eq.s32 %p103, %r314, 0; + @%p103 bra BB0_121; + + mov.u64 %rd249, image_RNM2; + cvta.global.u64 %rd238, %rd249; + mov.u32 %r318, 8; + mov.u64 %rd248, 0; + // inline asm + call (%rd237), _rt_buffer_get_64, (%rd238, %r91, %r318, %rd18, %rd19, %rd248, %rd248); + // inline asm + ld.v4.u16 {%rs128, %rs129, %rs130, %rs131}, [%rd237]; + // inline asm + { cvt.f32.f16 %f616, %rs128;} + + // inline asm + // inline asm + { cvt.f32.f16 %f617, %rs129;} + + // inline asm + // inline asm + { cvt.f32.f16 %f618, %rs130;} + + // inline asm + // inline asm + call (%rd243), _rt_buffer_get_64, (%rd238, %r91, %r318, %rd18, %rd19, %rd248, %rd248); + // inline asm + add.f32 %f619, %f616, 0f00000000; + add.f32 %f620, %f617, 0f00000000; + add.f32 %f621, %f618, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs127, %f621;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs126, %f620;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs125, %f619;} + + // inline asm + mov.u16 %rs132, 0; + st.v4.u16 [%rd243], {%rs125, %rs126, %rs127, %rs132}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd256, image_RNM2; + cvta.global.u64 %rd251, %rd256; + mov.u32 %r320, 8; + mov.u64 %rd255, 0; + // inline asm + call (%rd250), _rt_buffer_get_64, (%rd251, %r91, %r320, %rd18, %rd19, %rd255, %rd255); + // inline asm + mov.f32 %f622, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs133, %f622;} + + // inline asm + mov.u16 %rs134, 0; + st.v4.u16 [%rd250], {%rs133, %rs133, %rs133, %rs134}; + +BB0_122: + ld.global.u32 %r321, [additive]; + setp.eq.s32 %p104, %r321, 0; + @%p104 bra BB0_124; + + mov.u64 %rd269, image_RNM3; + cvta.global.u64 %rd258, %rd269; + mov.u32 %r325, 8; + mov.u64 %rd268, 0; + // inline asm + call (%rd257), _rt_buffer_get_64, (%rd258, %r91, %r325, %rd18, %rd19, %rd268, %rd268); + // inline asm + ld.v4.u16 {%rs141, %rs142, %rs143, %rs144}, [%rd257]; + // inline asm + { cvt.f32.f16 %f623, %rs141;} + + // inline asm + // inline asm + { cvt.f32.f16 %f624, %rs142;} + + // inline asm + // inline asm + { cvt.f32.f16 %f625, %rs143;} + + // inline asm + // inline asm + call (%rd263), _rt_buffer_get_64, (%rd258, %r91, %r325, %rd18, %rd19, %rd268, %rd268); + // inline asm + add.f32 %f626, %f623, 0f00000000; + add.f32 %f627, %f624, 0f00000000; + add.f32 %f628, %f625, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs140, %f628;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs139, %f627;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs138, %f626;} + + // inline asm + mov.u16 %rs145, 0; + st.v4.u16 [%rd263], {%rs138, %rs139, %rs140, %rs145}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd276, image_RNM3; + cvta.global.u64 %rd271, %rd276; + mov.u32 %r327, 8; + mov.u64 %rd275, 0; + // inline asm + call (%rd270), _rt_buffer_get_64, (%rd271, %r91, %r327, %rd18, %rd19, %rd275, %rd275); + // inline asm + mov.f32 %f629, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs146, %f629;} + + // inline asm + mov.u16 %rs147, 0; + st.v4.u16 [%rd270], {%rs146, %rs146, %rs146, %rs147}; + bra.uni BB0_125; + +BB0_60: + setp.geu.f32 %p53, %f91, 0f00000000; + @%p53 bra BB0_63; + + mov.f32 %f657, 0f3EE66666; + cvt.rzi.f32.f32 %f374, %f657; + setp.neu.f32 %p54, %f374, 0f3EE66666; + selp.f32 %f703, 0f7FFFFFFF, %f703, %p54; + +BB0_63: + abs.f32 %f634, %f91; + add.f32 %f376, %f634, 0f3EE66666; + mov.b32 %r229, %f376; + setp.lt.s32 %p56, %r229, 2139095040; + @%p56 bra BB0_68; + + abs.f32 %f655, %f91; + setp.gtu.f32 %p57, %f655, 0f7F800000; + @%p57 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f703, %f91, 0f3EE66666; + bra.uni BB0_68; + +BB0_65: + abs.f32 %f656, %f91; + setp.neu.f32 %p58, %f656, 0f7F800000; + @%p58 bra BB0_68; + + selp.f32 %f703, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + mov.f32 %f643, 0fB5BFBE8E; + mov.f32 %f642, 0fBF317200; + mov.f32 %f641, 0f00000000; + mov.f32 %f640, 0f35BFBE8E; + mov.f32 %f639, 0f3F317200; + mov.f32 %f638, 0f3DAAAABD; + mov.f32 %f637, 0f3C4CAF63; + mov.f32 %f636, 0f3B18F0FE; + mov.f32 %f635, 0f3EE66666; + setp.eq.f32 %p59, %f91, 0f3F800000; + selp.f32 %f107, 0f3F800000, %f703, %p59; + abs.f32 %f108, %f92; + setp.lt.f32 %p60, %f108, 0f00800000; + mul.f32 %f379, %f108, 0f4B800000; + selp.f32 %f380, 0fC3170000, 0fC2FE0000, %p60; + selp.f32 %f381, %f379, %f108, %p60; + mov.b32 %r230, %f381; + and.b32 %r231, %r230, 8388607; + or.b32 %r232, %r231, 1065353216; + mov.b32 %f382, %r232; + shr.u32 %r233, %r230, 23; + cvt.rn.f32.u32 %f383, %r233; + add.f32 %f384, %f380, %f383; + setp.gt.f32 %p61, %f382, 0f3FB504F3; + mul.f32 %f385, %f382, 0f3F000000; + add.f32 %f386, %f384, 0f3F800000; + selp.f32 %f387, %f385, %f382, %p61; + selp.f32 %f388, %f386, %f384, %p61; + add.f32 %f389, %f387, 0fBF800000; + add.f32 %f378, %f387, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f377,%f378; + // inline asm + add.f32 %f390, %f389, %f389; + mul.f32 %f391, %f377, %f390; + mul.f32 %f392, %f391, %f391; + fma.rn.f32 %f395, %f636, %f392, %f637; + fma.rn.f32 %f397, %f395, %f392, %f638; + mul.rn.f32 %f398, %f397, %f392; + mul.rn.f32 %f399, %f398, %f391; + sub.f32 %f400, %f389, %f391; + neg.f32 %f401, %f391; + add.f32 %f402, %f400, %f400; + fma.rn.f32 %f403, %f401, %f389, %f402; + mul.rn.f32 %f404, %f377, %f403; + add.f32 %f405, %f399, %f391; + sub.f32 %f406, %f391, %f405; + add.f32 %f407, %f399, %f406; + add.f32 %f408, %f404, %f407; + add.f32 %f409, %f405, %f408; + sub.f32 %f410, %f405, %f409; + add.f32 %f411, %f408, %f410; + mul.rn.f32 %f413, %f388, %f639; + mul.rn.f32 %f415, %f388, %f640; + add.f32 %f416, %f413, %f409; + sub.f32 %f417, %f413, %f416; + add.f32 %f418, %f409, %f417; + add.f32 %f419, %f411, %f418; + add.f32 %f420, %f415, %f419; + add.f32 %f421, %f416, %f420; + sub.f32 %f422, %f416, %f421; + add.f32 %f423, %f420, %f422; + mul.rn.f32 %f425, %f635, %f421; + neg.f32 %f426, %f425; + fma.rn.f32 %f427, %f635, %f421, %f426; + fma.rn.f32 %f428, %f635, %f423, %f427; + fma.rn.f32 %f430, %f641, %f421, %f428; + add.rn.f32 %f431, %f425, %f430; + neg.f32 %f432, %f431; + add.rn.f32 %f433, %f425, %f432; + add.rn.f32 %f434, %f433, %f430; + mov.b32 %r234, %f431; + setp.eq.s32 %p62, %r234, 1118925336; + add.s32 %r235, %r234, -1; + mov.b32 %f435, %r235; + add.f32 %f436, %f434, 0f37000000; + selp.f32 %f437, %f435, %f431, %p62; + selp.f32 %f109, %f436, %f434, %p62; + mul.f32 %f438, %f437, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f439, %f438; + fma.rn.f32 %f441, %f439, %f642, %f437; + fma.rn.f32 %f443, %f439, %f643, %f441; + mul.f32 %f444, %f443, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f445, %f444; + add.f32 %f446, %f439, 0f00000000; + ex2.approx.f32 %f447, %f446; + mul.f32 %f448, %f445, %f447; + setp.lt.f32 %p63, %f437, 0fC2D20000; + selp.f32 %f449, 0f00000000, %f448, %p63; + setp.gt.f32 %p64, %f437, 0f42D20000; + selp.f32 %f704, 0f7F800000, %f449, %p64; + setp.eq.f32 %p65, %f704, 0f7F800000; + @%p65 bra BB0_70; + + fma.rn.f32 %f704, %f704, %f109, %f704; + +BB0_70: + setp.lt.f32 %p66, %f92, 0f00000000; + and.pred %p2, %p66, %p51; + mov.b32 %r236, %f704; + xor.b32 %r237, %r236, -2147483648; + mov.b32 %f450, %r237; + selp.f32 %f706, %f450, %f704, %p2; + setp.eq.f32 %p68, %f92, 0f00000000; + @%p68 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f453, %f92, %f92; + selp.f32 %f706, %f453, 0f00000000, %p51; + bra.uni BB0_74; + +BB0_71: + setp.geu.f32 %p69, %f92, 0f00000000; + @%p69 bra BB0_74; + + mov.f32 %f654, 0f3EE66666; + cvt.rzi.f32.f32 %f452, %f654; + setp.neu.f32 %p70, %f452, 0f3EE66666; + selp.f32 %f706, 0f7FFFFFFF, %f706, %p70; + +BB0_74: + abs.f32 %f658, %f92; + add.f32 %f454, %f658, 0f3EE66666; + mov.b32 %r238, %f454; + setp.lt.s32 %p72, %r238, 2139095040; + @%p72 bra BB0_79; + + abs.f32 %f659, %f92; + setp.gtu.f32 %p73, %f659, 0f7F800000; + @%p73 bra BB0_78; + bra.uni BB0_76; + +BB0_78: + add.f32 %f706, %f92, 0f3EE66666; + bra.uni BB0_79; + +BB0_76: + abs.f32 %f660, %f92; + setp.neu.f32 %p74, %f660, 0f7F800000; + @%p74 bra BB0_79; + + selp.f32 %f706, 0fFF800000, 0f7F800000, %p2; + +BB0_79: + mov.f32 %f652, 0fB5BFBE8E; + mov.f32 %f651, 0fBF317200; + mov.f32 %f650, 0f00000000; + mov.f32 %f649, 0f35BFBE8E; + mov.f32 %f648, 0f3F317200; + mov.f32 %f647, 0f3DAAAABD; + mov.f32 %f646, 0f3C4CAF63; + mov.f32 %f645, 0f3B18F0FE; + mov.f32 %f644, 0f3EE66666; + setp.eq.f32 %p75, %f92, 0f3F800000; + selp.f32 %f120, 0f3F800000, %f706, %p75; + abs.f32 %f121, %f93; + setp.lt.f32 %p76, %f121, 0f00800000; + mul.f32 %f457, %f121, 0f4B800000; + selp.f32 %f458, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f459, %f457, %f121, %p76; + mov.b32 %r239, %f459; + and.b32 %r240, %r239, 8388607; + or.b32 %r241, %r240, 1065353216; + mov.b32 %f460, %r241; + shr.u32 %r242, %r239, 23; + cvt.rn.f32.u32 %f461, %r242; + add.f32 %f462, %f458, %f461; + setp.gt.f32 %p77, %f460, 0f3FB504F3; + mul.f32 %f463, %f460, 0f3F000000; + add.f32 %f464, %f462, 0f3F800000; + selp.f32 %f465, %f463, %f460, %p77; + selp.f32 %f466, %f464, %f462, %p77; + add.f32 %f467, %f465, 0fBF800000; + add.f32 %f456, %f465, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f455,%f456; + // inline asm + add.f32 %f468, %f467, %f467; + mul.f32 %f469, %f455, %f468; + mul.f32 %f470, %f469, %f469; + fma.rn.f32 %f473, %f645, %f470, %f646; + fma.rn.f32 %f475, %f473, %f470, %f647; + mul.rn.f32 %f476, %f475, %f470; + mul.rn.f32 %f477, %f476, %f469; + sub.f32 %f478, %f467, %f469; + neg.f32 %f479, %f469; + add.f32 %f480, %f478, %f478; + fma.rn.f32 %f481, %f479, %f467, %f480; + mul.rn.f32 %f482, %f455, %f481; + add.f32 %f483, %f477, %f469; + sub.f32 %f484, %f469, %f483; + add.f32 %f485, %f477, %f484; + add.f32 %f486, %f482, %f485; + add.f32 %f487, %f483, %f486; + sub.f32 %f488, %f483, %f487; + add.f32 %f489, %f486, %f488; + mul.rn.f32 %f491, %f466, %f648; + mul.rn.f32 %f493, %f466, %f649; + add.f32 %f494, %f491, %f487; + sub.f32 %f495, %f491, %f494; + add.f32 %f496, %f487, %f495; + add.f32 %f497, %f489, %f496; + add.f32 %f498, %f493, %f497; + add.f32 %f499, %f494, %f498; + sub.f32 %f500, %f494, %f499; + add.f32 %f501, %f498, %f500; + mul.rn.f32 %f503, %f644, %f499; + neg.f32 %f504, %f503; + fma.rn.f32 %f505, %f644, %f499, %f504; + fma.rn.f32 %f506, %f644, %f501, %f505; + fma.rn.f32 %f508, %f650, %f499, %f506; + add.rn.f32 %f509, %f503, %f508; + neg.f32 %f510, %f509; + add.rn.f32 %f511, %f503, %f510; + add.rn.f32 %f512, %f511, %f508; + mov.b32 %r243, %f509; + setp.eq.s32 %p78, %r243, 1118925336; + add.s32 %r244, %r243, -1; + mov.b32 %f513, %r244; + add.f32 %f514, %f512, 0f37000000; + selp.f32 %f515, %f513, %f509, %p78; + selp.f32 %f122, %f514, %f512, %p78; + mul.f32 %f516, %f515, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f517, %f516; + fma.rn.f32 %f519, %f517, %f651, %f515; + fma.rn.f32 %f521, %f517, %f652, %f519; + mul.f32 %f522, %f521, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f523, %f522; + add.f32 %f524, %f517, 0f00000000; + ex2.approx.f32 %f525, %f524; + mul.f32 %f526, %f523, %f525; + setp.lt.f32 %p79, %f515, 0fC2D20000; + selp.f32 %f527, 0f00000000, %f526, %p79; + setp.gt.f32 %p80, %f515, 0f42D20000; + selp.f32 %f707, 0f7F800000, %f527, %p80; + setp.eq.f32 %p81, %f707, 0f7F800000; + @%p81 bra BB0_81; + + fma.rn.f32 %f707, %f707, %f122, %f707; + +BB0_81: + setp.lt.f32 %p82, %f93, 0f00000000; + and.pred %p3, %p82, %p51; + mov.b32 %r245, %f707; + xor.b32 %r246, %r245, -2147483648; + mov.b32 %f528, %r246; + selp.f32 %f709, %f528, %f707, %p3; + setp.eq.f32 %p84, %f93, 0f00000000; + @%p84 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f531, %f93, %f93; + selp.f32 %f709, %f531, 0f00000000, %p51; + bra.uni BB0_85; + +BB0_82: + setp.geu.f32 %p85, %f93, 0f00000000; + @%p85 bra BB0_85; + + mov.f32 %f653, 0f3EE66666; + cvt.rzi.f32.f32 %f530, %f653; + setp.neu.f32 %p86, %f530, 0f3EE66666; + selp.f32 %f709, 0f7FFFFFFF, %f709, %p86; + +BB0_85: + abs.f32 %f661, %f93; + add.f32 %f532, %f661, 0f3EE66666; + mov.b32 %r247, %f532; + setp.lt.s32 %p88, %r247, 2139095040; + @%p88 bra BB0_90; + + abs.f32 %f662, %f93; + setp.gtu.f32 %p89, %f662, 0f7F800000; + @%p89 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f709, %f93, 0f3EE66666; + bra.uni BB0_90; + +BB0_87: + abs.f32 %f663, %f93; + setp.neu.f32 %p90, %f663, 0f7F800000; + @%p90 bra BB0_90; + + selp.f32 %f709, 0fFF800000, 0f7F800000, %p3; + +BB0_90: + mov.u32 %r328, 4; + setp.eq.f32 %p91, %f93, 0f3F800000; + selp.f32 %f533, 0f3F800000, %f709, %p91; + cvt.u64.u32 %rd66, %r4; + cvt.u64.u32 %rd65, %r3; + mov.u64 %rd69, image; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r91, %r328, %rd65, %rd66, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f534, %f533; + mul.f32 %f535, %f534, 0f437FFD71; + cvt.rzi.u32.f32 %r250, %f535; + cvt.sat.f32.f32 %f536, %f120; + mul.f32 %f537, %f536, 0f437FFD71; + cvt.rzi.u32.f32 %r251, %f537; + cvt.sat.f32.f32 %f538, %f107; + mul.f32 %f539, %f538, 0f437FFD71; + cvt.rzi.u32.f32 %r252, %f539; + cvt.u16.u32 %rs14, %r250; + cvt.u16.u32 %rs15, %r252; + cvt.u16.u32 %rs16, %r251; + mov.u16 %rs17, 255; + st.v4.u8 [%rd63], {%rs14, %rs16, %rs15, %rs17}; + ld.global.u32 %r353, [imageEnabled]; + +BB0_91: + cvt.u64.u32 %rd16, %r3; + cvt.u64.u32 %rd17, %r4; + and.b32 %r253, %r353, 4; + setp.eq.s32 %p92, %r253, 0; + @%p92 bra BB0_95; + + ld.global.u32 %r254, [additive]; + setp.eq.s32 %p93, %r254, 0; + mov.f32 %f540, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs18, %f540;} + + // inline asm + @%p93 bra BB0_94; + + mov.u64 %rd82, image_HDR; + cvta.global.u64 %rd71, %rd82; + mov.u32 %r258, 8; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r91, %r258, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs25, %rs26, %rs27, %rs28}, [%rd70]; + // inline asm + { cvt.f32.f16 %f541, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f542, %rs26;} + + // inline asm + // inline asm + { cvt.f32.f16 %f543, %rs27;} + + // inline asm + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd71, %r91, %r258, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f544, %f91, %f541; + add.f32 %f545, %f92, %f542; + add.f32 %f546, %f93, %f543; + // inline asm + { cvt.rn.f16.f32 %rs24, %f546;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs23, %f545;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f544;} + + // inline asm + st.v4.u16 [%rd76], {%rs22, %rs23, %rs24, %rs18}; + bra.uni BB0_95; + +BB0_94: + mov.u64 %rd89, image_HDR; + cvta.global.u64 %rd84, %rd89; + mov.u32 %r260, 8; + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd84, %r91, %r260, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f93;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f92;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f91;} + + // inline asm + st.v4.u16 [%rd83], {%rs29, %rs30, %rs31, %rs18}; + +BB0_95: + mul.f32 %f133, %f87, 0f3F000000; + ld.global.f32 %f551, [skyColor]; + mul.f32 %f134, %f133, %f551; + ld.global.f32 %f552, [skyColor+4]; + mul.f32 %f135, %f133, %f552; + ld.global.f32 %f553, [skyColor+8]; + mul.f32 %f136, %f133, %f553; + ld.global.u32 %r261, [additive]; + setp.eq.s32 %p94, %r261, 0; + mov.f32 %f550, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs32, %f550;} + + // inline asm + @%p94 bra BB0_97; + + mov.u64 %rd102, image_RNM0; + cvta.global.u64 %rd91, %rd102; + mov.u32 %r265, 8; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r91, %r265, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs39, %rs40, %rs41, %rs42}, [%rd90]; + // inline asm + { cvt.f32.f16 %f554, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f555, %rs40;} + + // inline asm + // inline asm + { cvt.f32.f16 %f556, %rs41;} + + // inline asm + // inline asm + call (%rd96), _rt_buffer_get_64, (%rd91, %r91, %r265, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f557, %f134, %f554; + add.f32 %f558, %f135, %f555; + add.f32 %f559, %f136, %f556; + // inline asm + { cvt.rn.f16.f32 %rs38, %f559;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f558;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f557;} + + // inline asm + st.v4.u16 [%rd96], {%rs36, %rs37, %rs38, %rs32}; + bra.uni BB0_98; + +BB0_97: + mov.u64 %rd109, image_RNM0; + cvta.global.u64 %rd104, %rd109; + mov.u32 %r267, 8; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd104, %r91, %r267, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f136;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f135;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f134;} + + // inline asm + st.v4.u16 [%rd103], {%rs43, %rs44, %rs45, %rs32}; + +BB0_98: + mov.f32 %f564, 0f34000000; + max.f32 %f565, %f133, %f564; + mul.f32 %f566, %f88, 0f3F000000; + div.rn.f32 %f567, %f566, %f565; + fma.rn.f32 %f137, %f567, 0f3F000000, 0f3F000000; + mul.f32 %f568, %f89, 0f3F000000; + div.rn.f32 %f569, %f568, %f565; + fma.rn.f32 %f138, %f569, 0f3F000000, 0f3F000000; + mul.f32 %f570, %f90, 0f3F000000; + div.rn.f32 %f571, %f570, %f565; + fma.rn.f32 %f139, %f571, 0f3F000000, 0f3F000000; + ld.global.u32 %r268, [additive]; + setp.eq.s32 %p95, %r268, 0; + // inline asm + { cvt.rn.f16.f32 %rs46, %f550;} + + // inline asm + @%p95 bra BB0_100; + + mov.u64 %rd122, image_RNM1; + cvta.global.u64 %rd111, %rd122; + mov.u32 %r272, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r91, %r272, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd110]; + // inline asm + { cvt.f32.f16 %f572, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f573, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f574, %rs55;} + + // inline asm + // inline asm + call (%rd116), _rt_buffer_get_64, (%rd111, %r91, %r272, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f575, %f137, %f572; + add.f32 %f576, %f137, %f573; + add.f32 %f577, %f137, %f574; + // inline asm + { cvt.rn.f16.f32 %rs52, %f577;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f576;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f575;} + + // inline asm + st.v4.u16 [%rd116], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd129, image_RNM1; + cvta.global.u64 %rd124, %rd129; + mov.u32 %r274, 8; + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd124, %r91, %r274, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f137;} + + // inline asm + st.v4.u16 [%rd123], {%rs57, %rs57, %rs57, %rs46}; + +BB0_101: + ld.global.u32 %r275, [additive]; + setp.eq.s32 %p96, %r275, 0; + // inline asm + { cvt.rn.f16.f32 %rs58, %f550;} + + // inline asm + @%p96 bra BB0_103; + + mov.u64 %rd142, image_RNM2; + cvta.global.u64 %rd131, %rd142; + mov.u32 %r279, 8; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r91, %r279, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs65, %rs66, %rs67, %rs68}, [%rd130]; + // inline asm + { cvt.f32.f16 %f580, %rs65;} + + // inline asm + // inline asm + { cvt.f32.f16 %f581, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f582, %rs67;} + + // inline asm + // inline asm + call (%rd136), _rt_buffer_get_64, (%rd131, %r91, %r279, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f583, %f138, %f580; + add.f32 %f584, %f138, %f581; + add.f32 %f585, %f138, %f582; + // inline asm + { cvt.rn.f16.f32 %rs64, %f585;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f584;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs62, %f583;} + + // inline asm + st.v4.u16 [%rd136], {%rs62, %rs63, %rs64, %rs58}; + bra.uni BB0_104; + +BB0_103: + mov.u64 %rd149, image_RNM2; + cvta.global.u64 %rd144, %rd149; + mov.u32 %r281, 8; + // inline asm + call (%rd143), _rt_buffer_get_64, (%rd144, %r91, %r281, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f138;} + + // inline asm + st.v4.u16 [%rd143], {%rs69, %rs69, %rs69, %rs58}; + +BB0_104: + ld.global.u32 %r282, [additive]; + setp.eq.s32 %p97, %r282, 0; + // inline asm + { cvt.rn.f16.f32 %rs70, %f550;} + + // inline asm + @%p97 bra BB0_106; + + mov.u64 %rd162, image_RNM3; + cvta.global.u64 %rd151, %rd162; + mov.u32 %r286, 8; + // inline asm + call (%rd150), _rt_buffer_get_64, (%rd151, %r91, %r286, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs77, %rs78, %rs79, %rs80}, [%rd150]; + // inline asm + { cvt.f32.f16 %f588, %rs77;} + + // inline asm + // inline asm + { cvt.f32.f16 %f589, %rs78;} + + // inline asm + // inline asm + { cvt.f32.f16 %f590, %rs79;} + + // inline asm + // inline asm + call (%rd156), _rt_buffer_get_64, (%rd151, %r91, %r286, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f591, %f139, %f588; + add.f32 %f592, %f139, %f589; + add.f32 %f593, %f139, %f590; + // inline asm + { cvt.rn.f16.f32 %rs76, %f593;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f592;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs74, %f591;} + + // inline asm + st.v4.u16 [%rd156], {%rs74, %rs75, %rs76, %rs70}; + bra.uni BB0_125; + +BB0_106: + mov.u64 %rd169, image_RNM3; + cvta.global.u64 %rd164, %rd169; + mov.u32 %r288, 8; + // inline asm + call (%rd163), _rt_buffer_get_64, (%rd164, %r91, %r288, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f139;} + + // inline asm + st.v4.u16 [%rd163], {%rs81, %rs81, %rs81, %rs70}; + +BB0_125: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx.meta new file mode 100644 index 00000000..21c78fc8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkySH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8da7a58258ed783468d439092348f0b2 +timeCreated: 1537817234 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx new file mode 100644 index 00000000..987b9061 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx @@ -0,0 +1,2126 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .texref sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<111>; + .reg .b16 %rs<175>; + .reg .f32 %f<873>; + .reg .b32 %r<380>; + .reg .b64 %rd<311>; + + + mov.u64 %rd310, __local_depot0; + cvta.local.u64 %SP, %rd310; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r99, %r100}, [pixelID]; + cvt.u64.u32 %rd24, %r99; + cvt.u64.u32 %rd25, %r100; + mov.u64 %rd28, uvnormal; + cvta.global.u64 %rd23, %rd28; + mov.u32 %r97, 2; + mov.u32 %r98, 4; + mov.u64 %rd27, 0; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r97, %r98, %rd24, %rd25, %rd27, %rd27); + // inline asm + ld.u32 %r2, [%rd22]; + shr.u32 %r103, %r2, 16; + cvt.u16.u32 %rs1, %r103; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r2; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p4, %rs9, 0; + mov.f32 %f820, 0f00000000; + mov.f32 %f821, %f820; + mov.f32 %f822, %f820; + @%p4 bra BB0_2; + + ld.u8 %rs10, [%rd22+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f176, %rs12; + div.rn.f32 %f177, %f176, 0f437F0000; + fma.rn.f32 %f178, %f177, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f179, %rs10; + div.rn.f32 %f180, %f179, 0f437F0000; + fma.rn.f32 %f181, %f180, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f182, %rs7; + div.rn.f32 %f183, %f182, 0f437F0000; + fma.rn.f32 %f184, %f183, 0f40000000, 0fBF800000; + mul.f32 %f185, %f181, %f181; + fma.rn.f32 %f186, %f178, %f178, %f185; + fma.rn.f32 %f187, %f184, %f184, %f186; + sqrt.rn.f32 %f188, %f187; + rcp.rn.f32 %f189, %f188; + mul.f32 %f820, %f178, %f189; + mul.f32 %f821, %f181, %f189; + mul.f32 %f822, %f184, %f189; + +BB0_2: + ld.global.v2.u32 {%r104, %r105}, [pixelID]; + ld.global.v2.u32 {%r107, %r108}, [tileInfo]; + add.s32 %r3, %r104, %r107; + add.s32 %r4, %r105, %r108; + setp.eq.f32 %p5, %f821, 0f00000000; + setp.eq.f32 %p6, %f820, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f822, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_113; + bra.uni BB0_3; + +BB0_113: + ld.global.u32 %r379, [imageEnabled]; + and.b32 %r313, %r379, 1; + setp.eq.b32 %p104, %r313, 1; + @!%p104 bra BB0_115; + bra.uni BB0_114; + +BB0_114: + cvt.u64.u32 %rd196, %r4; + cvt.u64.u32 %rd195, %r3; + mov.u64 %rd199, image; + cvta.global.u64 %rd194, %rd199; + mov.u64 %rd198, 0; + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd194, %r97, %r98, %rd195, %rd196, %rd198, %rd198); + // inline asm + mov.u16 %rs109, 0; + st.v4.u8 [%rd193], {%rs109, %rs109, %rs109, %rs109}; + ld.global.u32 %r379, [imageEnabled]; + +BB0_115: + cvt.u64.u32 %rd20, %r3; + cvt.u64.u32 %rd21, %r4; + and.b32 %r316, %r379, 4; + setp.eq.s32 %p105, %r316, 0; + @%p105 bra BB0_119; + + ld.global.u32 %r317, [additive]; + setp.eq.s32 %p106, %r317, 0; + @%p106 bra BB0_118; + + mov.u64 %rd212, image_HDR; + cvta.global.u64 %rd201, %rd212; + mov.u32 %r321, 8; + mov.u64 %rd211, 0; + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd201, %r97, %r321, %rd20, %rd21, %rd211, %rd211); + // inline asm + ld.v4.u16 {%rs116, %rs117, %rs118, %rs119}, [%rd200]; + // inline asm + { cvt.f32.f16 %f739, %rs116;} + + // inline asm + // inline asm + { cvt.f32.f16 %f740, %rs117;} + + // inline asm + // inline asm + { cvt.f32.f16 %f741, %rs118;} + + // inline asm + // inline asm + call (%rd206), _rt_buffer_get_64, (%rd201, %r97, %r321, %rd20, %rd21, %rd211, %rd211); + // inline asm + add.f32 %f742, %f739, 0f00000000; + add.f32 %f743, %f740, 0f00000000; + add.f32 %f744, %f741, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs115, %f744;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs114, %f743;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs113, %f742;} + + // inline asm + mov.u16 %rs120, 0; + st.v4.u16 [%rd206], {%rs113, %rs114, %rs115, %rs120}; + bra.uni BB0_119; + +BB0_3: + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd31, %r118; + cvt.u64.u32 %rd32, %r119; + mov.u64 %rd47, uvpos; + cvta.global.u64 %rd30, %rd47; + mov.u32 %r113, 12; + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd30, %r97, %r113, %rd31, %rd32, %rd27, %rd27); + // inline asm + ld.f32 %f193, [%rd29+8]; + ld.f32 %f194, [%rd29+4]; + ld.f32 %f195, [%rd29]; + mul.f32 %f196, %f195, 0f3456BF95; + mul.f32 %f197, %f194, 0f3456BF95; + mul.f32 %f198, %f193, 0f3456BF95; + abs.f32 %f199, %f820; + div.rn.f32 %f200, %f196, %f199; + abs.f32 %f201, %f821; + div.rn.f32 %f202, %f197, %f201; + abs.f32 %f203, %f822; + div.rn.f32 %f204, %f198, %f203; + abs.f32 %f205, %f200; + abs.f32 %f206, %f202; + abs.f32 %f207, %f204; + mov.f32 %f208, 0f38D1B717; + max.f32 %f209, %f205, %f208; + max.f32 %f210, %f206, %f208; + max.f32 %f211, %f207, %f208; + fma.rn.f32 %f7, %f820, %f209, %f195; + fma.rn.f32 %f8, %f821, %f210, %f194; + fma.rn.f32 %f9, %f822, %f211, %f193; + ld.global.u32 %r5, [hemispherical]; + setp.gt.f32 %p10, %f199, %f203; + neg.f32 %f212, %f821; + selp.f32 %f213, %f212, 0f00000000, %p10; + neg.f32 %f214, %f822; + selp.f32 %f215, %f820, %f214, %p10; + selp.f32 %f216, 0f00000000, %f821, %p10; + mul.f32 %f217, %f215, %f215; + fma.rn.f32 %f218, %f213, %f213, %f217; + fma.rn.f32 %f219, %f216, %f216, %f218; + sqrt.rn.f32 %f220, %f219; + rcp.rn.f32 %f221, %f220; + mul.f32 %f10, %f213, %f221; + mul.f32 %f11, %f215, %f221; + mul.f32 %f12, %f216, %f221; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd37, %r122; + cvt.u64.u32 %rd38, %r123; + mov.u64 %rd48, rnd_seeds; + cvta.global.u64 %rd36, %rd48; + // inline asm + call (%rd35), _rt_buffer_get_64, (%rd36, %r97, %r98, %rd37, %rd38, %rd27, %rd27); + // inline asm + ld.u32 %r357, [%rd35]; + ld.global.v2.u32 {%r126, %r127}, [pixelID]; + cvt.u64.u32 %rd43, %r126; + cvt.u64.u32 %rd44, %r127; + mov.u64 %rd49, uvtangent; + cvta.global.u64 %rd42, %rd49; + // inline asm + call (%rd41), _rt_buffer_get_64, (%rd42, %r97, %r98, %rd43, %rd44, %rd27, %rd27); + // inline asm + ld.u32 %r7, [%rd41]; + shr.u32 %r8, %r7, 16; + cvt.u16.u32 %rs14, %r8; + and.b16 %rs15, %rs14, 255; + cvt.u16.u32 %rs16, %r7; + or.b16 %rs17, %rs16, %rs15; + setp.eq.s16 %p11, %rs17, 0; + mov.f32 %f858, 0f00000000; + mov.f32 %f823, %f858; + mov.f32 %f824, %f858; + mov.f32 %f825, %f858; + @%p11 bra BB0_5; + + ld.u8 %rs18, [%rd41+1]; + and.b16 %rs20, %rs16, 255; + cvt.rn.f32.u16 %f222, %rs20; + div.rn.f32 %f223, %f222, 0f437F0000; + fma.rn.f32 %f224, %f223, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f225, %rs18; + div.rn.f32 %f226, %f225, 0f437F0000; + fma.rn.f32 %f227, %f226, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f228, %rs15; + div.rn.f32 %f229, %f228, 0f437F0000; + fma.rn.f32 %f230, %f229, 0f40000000, 0fBF800000; + mul.f32 %f231, %f227, %f227; + fma.rn.f32 %f232, %f224, %f224, %f231; + fma.rn.f32 %f233, %f230, %f230, %f232; + sqrt.rn.f32 %f234, %f233; + rcp.rn.f32 %f235, %f234; + mul.f32 %f823, %f224, %f235; + mul.f32 %f824, %f227, %f235; + mul.f32 %f825, %f230, %f235; + +BB0_5: + mul.f32 %f239, %f822, %f824; + mul.f32 %f240, %f821, %f825; + sub.f32 %f241, %f240, %f239; + mul.f32 %f242, %f820, %f825; + mul.f32 %f243, %f822, %f823; + sub.f32 %f244, %f243, %f242; + mul.f32 %f245, %f821, %f823; + mul.f32 %f246, %f820, %f824; + sub.f32 %f247, %f246, %f245; + setp.lt.u32 %p12, %r7, 16777216; + selp.f32 %f248, 0fBF800000, 0f3F800000, %p12; + mul.f32 %f249, %f241, %f248; + mul.f32 %f250, %f244, %f248; + mul.f32 %f251, %f247, %f248; + fma.rn.f32 %f252, %f249, 0f00000000, %f823; + fma.rn.f32 %f253, %f250, 0f00000000, %f824; + fma.rn.f32 %f254, %f251, 0f00000000, %f825; + mul.f32 %f19, %f820, 0f00000000; + add.f32 %f20, %f19, %f252; + mul.f32 %f21, %f821, 0f00000000; + add.f32 %f22, %f21, %f253; + mul.f32 %f23, %f822, 0f00000000; + add.f32 %f24, %f23, %f254; + ld.global.v2.u32 {%r132, %r133}, [pixelID]; + cvt.u64.u32 %rd52, %r132; + cvt.u64.u32 %rd53, %r133; + // inline asm + call (%rd50), _rt_buffer_get_64, (%rd42, %r97, %r98, %rd52, %rd53, %rd27, %rd27); + // inline asm + ld.u32 %r9, [%rd50]; + shr.u32 %r10, %r9, 16; + cvt.u16.u32 %rs23, %r10; + and.b16 %rs24, %rs23, 255; + cvt.u16.u32 %rs25, %r9; + or.b16 %rs26, %rs25, %rs24; + setp.eq.s16 %p13, %rs26, 0; + mov.f32 %f826, %f858; + mov.f32 %f827, %f858; + mov.f32 %f828, %f858; + @%p13 bra BB0_7; + + ld.u8 %rs27, [%rd50+1]; + and.b16 %rs29, %rs25, 255; + cvt.rn.f32.u16 %f255, %rs29; + div.rn.f32 %f256, %f255, 0f437F0000; + fma.rn.f32 %f257, %f256, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f258, %rs27; + div.rn.f32 %f259, %f258, 0f437F0000; + fma.rn.f32 %f260, %f259, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f261, %rs24; + div.rn.f32 %f262, %f261, 0f437F0000; + fma.rn.f32 %f263, %f262, 0f40000000, 0fBF800000; + mul.f32 %f264, %f260, %f260; + fma.rn.f32 %f265, %f257, %f257, %f264; + fma.rn.f32 %f266, %f263, %f263, %f265; + sqrt.rn.f32 %f267, %f266; + rcp.rn.f32 %f268, %f267; + mul.f32 %f826, %f257, %f268; + mul.f32 %f827, %f260, %f268; + mul.f32 %f828, %f263, %f268; + +BB0_7: + mul.f32 %f272, %f822, %f827; + mul.f32 %f273, %f821, %f828; + sub.f32 %f274, %f273, %f272; + mul.f32 %f275, %f820, %f828; + mul.f32 %f276, %f822, %f826; + sub.f32 %f277, %f276, %f275; + mul.f32 %f278, %f821, %f826; + mul.f32 %f279, %f820, %f827; + sub.f32 %f280, %f279, %f278; + setp.lt.u32 %p14, %r9, 16777216; + selp.f32 %f281, 0fBF800000, 0f3F800000, %p14; + mul.f32 %f282, %f274, %f281; + mul.f32 %f283, %f277, %f281; + mul.f32 %f284, %f280, %f281; + fma.rn.f32 %f285, %f826, 0f00000000, %f282; + fma.rn.f32 %f286, %f827, 0f00000000, %f283; + fma.rn.f32 %f287, %f828, 0f00000000, %f284; + add.f32 %f31, %f19, %f285; + add.f32 %f32, %f21, %f286; + add.f32 %f33, %f23, %f287; + ld.global.v2.u32 {%r138, %r139}, [pixelID]; + cvt.u64.u32 %rd59, %r138; + cvt.u64.u32 %rd60, %r139; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd42, %r97, %r98, %rd59, %rd60, %rd27, %rd27); + // inline asm + ld.u32 %r11, [%rd57]; + shr.u32 %r12, %r11, 16; + cvt.u16.u32 %rs32, %r12; + and.b16 %rs33, %rs32, 255; + cvt.u16.u32 %rs34, %r11; + or.b16 %rs35, %rs34, %rs33; + setp.eq.s16 %p15, %rs35, 0; + mov.f32 %f829, %f858; + mov.f32 %f830, %f858; + mov.f32 %f831, %f858; + @%p15 bra BB0_9; + + ld.u8 %rs36, [%rd57+1]; + and.b16 %rs38, %rs34, 255; + cvt.rn.f32.u16 %f288, %rs38; + div.rn.f32 %f289, %f288, 0f437F0000; + fma.rn.f32 %f290, %f289, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f291, %rs36; + div.rn.f32 %f292, %f291, 0f437F0000; + fma.rn.f32 %f293, %f292, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f294, %rs33; + div.rn.f32 %f295, %f294, 0f437F0000; + fma.rn.f32 %f296, %f295, 0f40000000, 0fBF800000; + mul.f32 %f297, %f293, %f293; + fma.rn.f32 %f298, %f290, %f290, %f297; + fma.rn.f32 %f299, %f296, %f296, %f298; + sqrt.rn.f32 %f300, %f299; + rcp.rn.f32 %f301, %f300; + mul.f32 %f829, %f290, %f301; + mul.f32 %f830, %f293, %f301; + mul.f32 %f831, %f296, %f301; + +BB0_9: + mul.f32 %f307, %f822, %f830; + mul.f32 %f308, %f821, %f831; + sub.f32 %f309, %f308, %f307; + mul.f32 %f310, %f820, %f831; + mul.f32 %f311, %f822, %f829; + sub.f32 %f312, %f311, %f310; + mul.f32 %f313, %f821, %f829; + mul.f32 %f314, %f820, %f830; + sub.f32 %f315, %f314, %f313; + setp.lt.u32 %p16, %r11, 16777216; + selp.f32 %f316, 0fBF800000, 0f3F800000, %p16; + mul.f32 %f317, %f309, %f316; + mul.f32 %f318, %f312, %f316; + mul.f32 %f319, %f315, %f316; + mul.f32 %f320, %f317, 0f00000000; + mul.f32 %f321, %f318, 0f00000000; + mul.f32 %f322, %f319, 0f00000000; + fma.rn.f32 %f40, %f829, 0f00000000, %f320; + fma.rn.f32 %f41, %f830, 0f00000000, %f321; + fma.rn.f32 %f42, %f831, 0f00000000, %f322; + setp.lt.s32 %p17, %r1, 1; + mov.f32 %f857, %f858; + mov.f32 %f856, %f858; + mov.f32 %f855, %f858; + mov.f32 %f854, %f858; + @%p17 bra BB0_62; + + cvt.rn.f32.s32 %f328, %r1; + rcp.rn.f32 %f43, %f328; + mul.f32 %f44, %f7, 0f3456BF95; + mul.f32 %f45, %f8, 0f3456BF95; + mul.f32 %f46, %f9, 0f3456BF95; + mul.f32 %f329, %f822, %f11; + mul.f32 %f330, %f821, %f12; + sub.f32 %f47, %f329, %f330; + mul.f32 %f331, %f820, %f12; + mul.f32 %f332, %f822, %f10; + sub.f32 %f48, %f331, %f332; + mul.f32 %f333, %f821, %f10; + mul.f32 %f334, %f820, %f11; + sub.f32 %f49, %f333, %f334; + add.f32 %f50, %f822, %f42; + add.f32 %f51, %f821, %f41; + add.f32 %f52, %f820, %f40; + mov.f32 %f858, 0f00000000; + mov.u32 %r142, 0; + abs.f32 %f408, %f45; + abs.f32 %f409, %f44; + max.f32 %f410, %f409, %f408; + abs.f32 %f411, %f46; + max.f32 %f412, %f410, %f411; + mov.u32 %r354, %r142; + mov.f32 %f857, %f858; + mov.f32 %f856, %f858; + mov.f32 %f855, %f858; + mov.f32 %f854, %f858; + +BB0_11: + mov.u32 %r356, %r142; + +BB0_12: + cvt.rn.f32.s32 %f812, %r354; + mad.lo.s32 %r144, %r357, 1664525, 1013904223; + and.b32 %r145, %r144, 16777215; + cvt.rn.f32.u32 %f335, %r145; + fma.rn.f32 %f336, %f335, 0f33800000, %f812; + mul.f32 %f64, %f43, %f336; + mad.lo.s32 %r357, %r144, 1664525, 1013904223; + and.b32 %r146, %r357, 16777215; + cvt.rn.f32.u32 %f337, %r146; + cvt.rn.f32.s32 %f338, %r356; + fma.rn.f32 %f339, %f337, 0f33800000, %f338; + mul.f32 %f340, %f43, %f339; + mul.f32 %f341, %f64, %f64; + mov.f32 %f342, 0f3F800000; + sub.f32 %f343, %f342, %f341; + mov.f32 %f344, 0f00000000; + max.f32 %f345, %f344, %f343; + sqrt.rn.f32 %f65, %f345; + mul.f32 %f848, %f340, 0f40C90FDB; + abs.f32 %f67, %f848; + setp.neu.f32 %p18, %f67, 0f7F800000; + mov.f32 %f842, %f848; + @%p18 bra BB0_14; + + mov.f32 %f813, 0f00000000; + mul.rn.f32 %f842, %f848, %f813; + +BB0_14: + mul.f32 %f347, %f842, 0f3F22F983; + cvt.rni.s32.f32 %r367, %f347; + cvt.rn.f32.s32 %f348, %r367; + neg.f32 %f349, %f348; + mov.f32 %f350, 0f3FC90FDA; + fma.rn.f32 %f351, %f349, %f350, %f842; + mov.f32 %f352, 0f33A22168; + fma.rn.f32 %f353, %f349, %f352, %f351; + mov.f32 %f354, 0f27C234C5; + fma.rn.f32 %f843, %f349, %f354, %f353; + abs.f32 %f355, %f842; + setp.leu.f32 %p19, %f355, 0f47CE4780; + @%p19 bra BB0_25; + + add.u64 %rd65, %SP, 4; + cvta.to.local.u64 %rd306, %rd65; + mov.b32 %r19, %f842; + shr.u32 %r20, %r19, 23; + shl.b32 %r149, %r19, 8; + or.b32 %r21, %r149, -2147483648; + mov.u32 %r358, 0; + mov.u64 %rd307, 0; + mov.u32 %r359, %r358; + +BB0_16: + .pragma "nounroll"; + add.u64 %rd303, %SP, 4; + cvta.to.local.u64 %rd302, %rd303; + shl.b64 %rd66, %rd307, 2; + mov.u64 %rd67, __cudart_i2opi_f; + add.s64 %rd68, %rd67, %rd66; + ld.const.u32 %r152, [%rd68]; + // inline asm + { + mad.lo.cc.u32 %r150, %r152, %r21, %r359; + madc.hi.u32 %r359, %r152, %r21, 0; + } + // inline asm + st.local.u32 [%rd306], %r150; + add.s32 %r358, %r358, 1; + cvt.s64.s32 %rd307, %r358; + mul.wide.s32 %rd71, %r358, 4; + add.s64 %rd306, %rd302, %rd71; + setp.ne.s32 %p20, %r358, 6; + @%p20 bra BB0_16; + + add.u64 %rd300, %SP, 4; + and.b32 %r155, %r20, 255; + add.s32 %r156, %r155, -128; + shr.u32 %r157, %r156, 5; + and.b32 %r26, %r19, -2147483648; + cvta.to.local.u64 %rd73, %rd300; + st.local.u32 [%rd73+24], %r359; + mov.u32 %r158, 6; + sub.s32 %r159, %r158, %r157; + mul.wide.s32 %rd74, %r159, 4; + add.s64 %rd10, %rd73, %rd74; + ld.local.u32 %r360, [%rd10]; + ld.local.u32 %r361, [%rd10+-4]; + and.b32 %r29, %r20, 31; + setp.eq.s32 %p21, %r29, 0; + @%p21 bra BB0_19; + + mov.u32 %r160, 32; + sub.s32 %r161, %r160, %r29; + shr.u32 %r162, %r361, %r161; + shl.b32 %r163, %r360, %r29; + add.s32 %r360, %r162, %r163; + ld.local.u32 %r164, [%rd10+-8]; + shr.u32 %r165, %r164, %r161; + shl.b32 %r166, %r361, %r29; + add.s32 %r361, %r165, %r166; + +BB0_19: + shr.u32 %r167, %r361, 30; + shl.b32 %r168, %r360, 2; + add.s32 %r362, %r167, %r168; + shl.b32 %r35, %r361, 2; + shr.u32 %r169, %r362, 31; + shr.u32 %r170, %r360, 30; + add.s32 %r36, %r169, %r170; + setp.eq.s32 %p22, %r169, 0; + @%p22 bra BB0_20; + bra.uni BB0_21; + +BB0_20: + mov.u32 %r363, %r26; + mov.u32 %r364, %r35; + bra.uni BB0_22; + +BB0_21: + not.b32 %r171, %r362; + neg.s32 %r364, %r35; + setp.eq.s32 %p23, %r35, 0; + selp.u32 %r172, 1, 0, %p23; + add.s32 %r362, %r172, %r171; + xor.b32 %r363, %r26, -2147483648; + +BB0_22: + clz.b32 %r366, %r362; + setp.eq.s32 %p24, %r366, 0; + shl.b32 %r173, %r362, %r366; + mov.u32 %r174, 32; + sub.s32 %r175, %r174, %r366; + shr.u32 %r176, %r364, %r175; + add.s32 %r177, %r176, %r173; + selp.b32 %r44, %r362, %r177, %p24; + mov.u32 %r178, -921707870; + mul.hi.u32 %r365, %r44, %r178; + setp.eq.s32 %p25, %r26, 0; + neg.s32 %r179, %r36; + selp.b32 %r367, %r36, %r179, %p25; + setp.lt.s32 %p26, %r365, 1; + @%p26 bra BB0_24; + + mul.lo.s32 %r180, %r44, -921707870; + shr.u32 %r181, %r180, 31; + shl.b32 %r182, %r365, 1; + add.s32 %r365, %r181, %r182; + add.s32 %r366, %r366, 1; + +BB0_24: + mov.u32 %r183, 126; + sub.s32 %r184, %r183, %r366; + shl.b32 %r185, %r184, 23; + add.s32 %r186, %r365, 1; + shr.u32 %r187, %r186, 7; + add.s32 %r188, %r187, 1; + shr.u32 %r189, %r188, 1; + add.s32 %r190, %r189, %r185; + or.b32 %r191, %r190, %r363; + mov.b32 %f843, %r191; + +BB0_25: + mul.rn.f32 %f73, %f843, %f843; + add.s32 %r52, %r367, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p27, %r53, 0; + @%p27 bra BB0_27; + bra.uni BB0_26; + +BB0_27: + mov.f32 %f358, 0f3C08839E; + mov.f32 %f359, 0fB94CA1F9; + fma.rn.f32 %f844, %f359, %f73, %f358; + bra.uni BB0_28; + +BB0_26: + mov.f32 %f356, 0fBAB6061A; + mov.f32 %f357, 0f37CCF5CE; + fma.rn.f32 %f844, %f357, %f73, %f356; + +BB0_28: + @%p27 bra BB0_30; + bra.uni BB0_29; + +BB0_30: + mov.f32 %f816, 0f00000000; + mov.f32 %f363, 0fBE2AAAA3; + fma.rn.f32 %f364, %f844, %f73, %f363; + fma.rn.f32 %f845, %f364, %f73, %f816; + bra.uni BB0_31; + +BB0_29: + mov.f32 %f360, 0f3D2AAAA5; + fma.rn.f32 %f361, %f844, %f73, %f360; + mov.f32 %f362, 0fBF000000; + fma.rn.f32 %f845, %f361, %f73, %f362; + +BB0_31: + fma.rn.f32 %f846, %f845, %f843, %f843; + @%p27 bra BB0_33; + + mov.f32 %f805, 0f3F800000; + fma.rn.f32 %f846, %f845, %f73, %f805; + +BB0_33: + and.b32 %r192, %r52, 2; + setp.eq.s32 %p30, %r192, 0; + @%p30 bra BB0_35; + + mov.f32 %f806, 0f00000000; + mov.f32 %f368, 0fBF800000; + fma.rn.f32 %f846, %f846, %f368, %f806; + +BB0_35: + @%p18 bra BB0_37; + + mov.f32 %f815, 0f00000000; + mul.rn.f32 %f848, %f848, %f815; + +BB0_37: + mov.f32 %f809, 0f27C234C5; + mov.f32 %f808, 0f33A22168; + mov.f32 %f807, 0f3FC90FDA; + mul.f32 %f370, %f848, 0f3F22F983; + cvt.rni.s32.f32 %r377, %f370; + cvt.rn.f32.s32 %f371, %r377; + neg.f32 %f372, %f371; + fma.rn.f32 %f374, %f372, %f807, %f848; + fma.rn.f32 %f376, %f372, %f808, %f374; + fma.rn.f32 %f849, %f372, %f809, %f376; + abs.f32 %f378, %f848; + setp.leu.f32 %p32, %f378, 0f47CE4780; + @%p32 bra BB0_48; + + add.u64 %rd76, %SP, 4; + cvta.to.local.u64 %rd308, %rd76; + mov.b32 %r55, %f848; + shr.u32 %r56, %r55, 23; + shl.b32 %r195, %r55, 8; + or.b32 %r57, %r195, -2147483648; + mov.u32 %r368, 0; + mov.u64 %rd309, %rd27; + mov.u32 %r369, %r368; + +BB0_39: + .pragma "nounroll"; + add.u64 %rd305, %SP, 4; + cvta.to.local.u64 %rd304, %rd305; + shl.b64 %rd77, %rd309, 2; + mov.u64 %rd78, __cudart_i2opi_f; + add.s64 %rd79, %rd78, %rd77; + ld.const.u32 %r198, [%rd79]; + // inline asm + { + mad.lo.cc.u32 %r196, %r198, %r57, %r369; + madc.hi.u32 %r369, %r198, %r57, 0; + } + // inline asm + st.local.u32 [%rd308], %r196; + add.s32 %r368, %r368, 1; + cvt.s64.s32 %rd309, %r368; + mul.wide.s32 %rd80, %r368, 4; + add.s64 %rd308, %rd304, %rd80; + setp.ne.s32 %p33, %r368, 6; + @%p33 bra BB0_39; + + add.u64 %rd301, %SP, 4; + and.b32 %r201, %r56, 255; + add.s32 %r202, %r201, -128; + shr.u32 %r203, %r202, 5; + and.b32 %r62, %r55, -2147483648; + cvta.to.local.u64 %rd82, %rd301; + st.local.u32 [%rd82+24], %r369; + mov.u32 %r204, 6; + sub.s32 %r205, %r204, %r203; + mul.wide.s32 %rd83, %r205, 4; + add.s64 %rd17, %rd82, %rd83; + ld.local.u32 %r370, [%rd17]; + ld.local.u32 %r371, [%rd17+-4]; + and.b32 %r65, %r56, 31; + setp.eq.s32 %p34, %r65, 0; + @%p34 bra BB0_42; + + mov.u32 %r206, 32; + sub.s32 %r207, %r206, %r65; + shr.u32 %r208, %r371, %r207; + shl.b32 %r209, %r370, %r65; + add.s32 %r370, %r208, %r209; + ld.local.u32 %r210, [%rd17+-8]; + shr.u32 %r211, %r210, %r207; + shl.b32 %r212, %r371, %r65; + add.s32 %r371, %r211, %r212; + +BB0_42: + shr.u32 %r213, %r371, 30; + shl.b32 %r214, %r370, 2; + add.s32 %r372, %r213, %r214; + shl.b32 %r71, %r371, 2; + shr.u32 %r215, %r372, 31; + shr.u32 %r216, %r370, 30; + add.s32 %r72, %r215, %r216; + setp.eq.s32 %p35, %r215, 0; + @%p35 bra BB0_43; + bra.uni BB0_44; + +BB0_43: + mov.u32 %r373, %r62; + mov.u32 %r374, %r71; + bra.uni BB0_45; + +BB0_44: + not.b32 %r217, %r372; + neg.s32 %r374, %r71; + setp.eq.s32 %p36, %r71, 0; + selp.u32 %r218, 1, 0, %p36; + add.s32 %r372, %r218, %r217; + xor.b32 %r373, %r62, -2147483648; + +BB0_45: + clz.b32 %r376, %r372; + setp.eq.s32 %p37, %r376, 0; + shl.b32 %r219, %r372, %r376; + mov.u32 %r220, 32; + sub.s32 %r221, %r220, %r376; + shr.u32 %r222, %r374, %r221; + add.s32 %r223, %r222, %r219; + selp.b32 %r80, %r372, %r223, %p37; + mov.u32 %r224, -921707870; + mul.hi.u32 %r375, %r80, %r224; + setp.eq.s32 %p38, %r62, 0; + neg.s32 %r225, %r72; + selp.b32 %r377, %r72, %r225, %p38; + setp.lt.s32 %p39, %r375, 1; + @%p39 bra BB0_47; + + mul.lo.s32 %r226, %r80, -921707870; + shr.u32 %r227, %r226, 31; + shl.b32 %r228, %r375, 1; + add.s32 %r375, %r227, %r228; + add.s32 %r376, %r376, 1; + +BB0_47: + mov.u32 %r229, 126; + sub.s32 %r230, %r229, %r376; + shl.b32 %r231, %r230, 23; + add.s32 %r232, %r375, 1; + shr.u32 %r233, %r232, 7; + add.s32 %r234, %r233, 1; + shr.u32 %r235, %r234, 1; + add.s32 %r236, %r235, %r231; + or.b32 %r237, %r236, %r373; + mov.b32 %f849, %r237; + +BB0_48: + mul.rn.f32 %f90, %f849, %f849; + and.b32 %r88, %r377, 1; + setp.eq.s32 %p40, %r88, 0; + @%p40 bra BB0_50; + bra.uni BB0_49; + +BB0_50: + mov.f32 %f381, 0f3C08839E; + mov.f32 %f382, 0fB94CA1F9; + fma.rn.f32 %f850, %f382, %f90, %f381; + bra.uni BB0_51; + +BB0_49: + mov.f32 %f379, 0fBAB6061A; + mov.f32 %f380, 0f37CCF5CE; + fma.rn.f32 %f850, %f380, %f90, %f379; + +BB0_51: + @%p40 bra BB0_53; + bra.uni BB0_52; + +BB0_53: + mov.f32 %f814, 0f00000000; + mov.f32 %f386, 0fBE2AAAA3; + fma.rn.f32 %f387, %f850, %f90, %f386; + fma.rn.f32 %f851, %f387, %f90, %f814; + bra.uni BB0_54; + +BB0_52: + mov.f32 %f383, 0f3D2AAAA5; + fma.rn.f32 %f384, %f850, %f90, %f383; + mov.f32 %f385, 0fBF000000; + fma.rn.f32 %f851, %f384, %f90, %f385; + +BB0_54: + fma.rn.f32 %f852, %f851, %f849, %f849; + @%p40 bra BB0_56; + + mov.f32 %f810, 0f3F800000; + fma.rn.f32 %f852, %f851, %f90, %f810; + +BB0_56: + and.b32 %r238, %r377, 2; + setp.eq.s32 %p43, %r238, 0; + @%p43 bra BB0_58; + + mov.f32 %f811, 0f00000000; + mov.f32 %f391, 0fBF800000; + fma.rn.f32 %f852, %f852, %f391, %f811; + +BB0_58: + mul.f32 %f392, %f65, %f846; + mul.f32 %f393, %f65, %f852; + mul.f32 %f394, %f10, %f393; + mul.f32 %f395, %f11, %f393; + mul.f32 %f396, %f12, %f393; + fma.rn.f32 %f397, %f47, %f392, %f394; + fma.rn.f32 %f398, %f48, %f392, %f395; + fma.rn.f32 %f399, %f49, %f392, %f396; + fma.rn.f32 %f102, %f820, %f64, %f397; + fma.rn.f32 %f103, %f821, %f64, %f398; + fma.rn.f32 %f104, %f822, %f64, %f399; + setp.gt.f32 %p44, %f103, 0f00000000; + setp.eq.s32 %p45, %r5, 0; + or.pred %p46, %p45, %p44; + @!%p46 bra BB0_60; + bra.uni BB0_59; + +BB0_59: + mov.u32 %r353, 4; + add.u64 %rd84, %SP, 0; + cvta.to.local.u64 %rd85, %rd84; + max.f32 %f406, %f412, %f208; + mov.u32 %r242, 1065353216; + st.local.u32 [%rd85], %r242; + ld.global.u32 %r239, [root]; + mov.u32 %r240, 1; + mov.f32 %f407, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r239, %f7, %f8, %f9, %f102, %f103, %f104, %r240, %f406, %f407, %rd84, %r353); + // inline asm + mul.f32 %f414, %f821, %f103; + fma.rn.f32 %f415, %f820, %f102, %f414; + fma.rn.f32 %f416, %f822, %f104, %f415; + mul.f32 %f417, %f416, 0f40800000; + cvt.sat.f32.f32 %f418, %f417; + ld.local.f32 %f419, [%rd85]; + mul.f32 %f420, %f419, %f418; + mul.f32 %f421, %f22, %f103; + fma.rn.f32 %f422, %f20, %f102, %f421; + fma.rn.f32 %f423, %f24, %f104, %f422; + cvt.sat.f32.f32 %f424, %f423; + fma.rn.f32 %f856, %f424, %f420, %f856; + mul.f32 %f425, %f32, %f103; + fma.rn.f32 %f426, %f31, %f102, %f425; + fma.rn.f32 %f427, %f33, %f104, %f426; + cvt.sat.f32.f32 %f428, %f427; + fma.rn.f32 %f857, %f420, %f428, %f857; + mul.f32 %f429, %f51, %f103; + fma.rn.f32 %f430, %f52, %f102, %f429; + fma.rn.f32 %f431, %f50, %f104, %f430; + cvt.sat.f32.f32 %f432, %f431; + fma.rn.f32 %f858, %f420, %f432, %f858; + add.f32 %f855, %f855, %f420; + cvt.sat.f32.f32 %f433, %f416; + fma.rn.f32 %f854, %f433, %f419, %f854; + +BB0_60: + add.s32 %r356, %r356, 1; + setp.lt.s32 %p47, %r356, %r1; + @%p47 bra BB0_12; + + add.s32 %r354, %r354, 1; + setp.lt.s32 %p48, %r354, %r1; + @%p48 bra BB0_11; + +BB0_62: + mul.lo.s32 %r243, %r1, %r1; + cvt.rn.f32.s32 %f434, %r243; + div.rn.f32 %f435, %f854, %f434; + div.rn.f32 %f120, %f855, %f434; + div.rn.f32 %f121, %f856, %f434; + div.rn.f32 %f122, %f857, %f434; + div.rn.f32 %f123, %f858, %f434; + add.f32 %f436, %f435, %f435; + ld.global.f32 %f437, [skyColor]; + mul.f32 %f124, %f436, %f437; + ld.global.f32 %f438, [skyColor+4]; + mul.f32 %f125, %f436, %f438; + ld.global.f32 %f439, [skyColor+8]; + mul.f32 %f126, %f436, %f439; + ld.global.u32 %r378, [imageEnabled]; + and.b32 %r244, %r378, 1; + setp.eq.b32 %p49, %r244, 1; + @!%p49 bra BB0_97; + bra.uni BB0_63; + +BB0_63: + abs.f32 %f128, %f124; + setp.lt.f32 %p50, %f128, 0f00800000; + mul.f32 %f445, %f128, 0f4B800000; + selp.f32 %f446, 0fC3170000, 0fC2FE0000, %p50; + selp.f32 %f447, %f445, %f128, %p50; + mov.b32 %r245, %f447; + and.b32 %r246, %r245, 8388607; + or.b32 %r247, %r246, 1065353216; + mov.b32 %f448, %r247; + shr.u32 %r248, %r245, 23; + cvt.rn.f32.u32 %f449, %r248; + add.f32 %f450, %f446, %f449; + setp.gt.f32 %p51, %f448, 0f3FB504F3; + mul.f32 %f451, %f448, 0f3F000000; + add.f32 %f452, %f450, 0f3F800000; + selp.f32 %f453, %f451, %f448, %p51; + selp.f32 %f454, %f452, %f450, %p51; + add.f32 %f455, %f453, 0fBF800000; + add.f32 %f441, %f453, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f440,%f441; + // inline asm + add.f32 %f456, %f455, %f455; + mul.f32 %f457, %f440, %f456; + mul.f32 %f458, %f457, %f457; + mov.f32 %f459, 0f3C4CAF63; + mov.f32 %f460, 0f3B18F0FE; + fma.rn.f32 %f461, %f460, %f458, %f459; + mov.f32 %f462, 0f3DAAAABD; + fma.rn.f32 %f463, %f461, %f458, %f462; + mul.rn.f32 %f464, %f463, %f458; + mul.rn.f32 %f465, %f464, %f457; + sub.f32 %f466, %f455, %f457; + neg.f32 %f467, %f457; + add.f32 %f468, %f466, %f466; + fma.rn.f32 %f469, %f467, %f455, %f468; + mul.rn.f32 %f470, %f440, %f469; + add.f32 %f471, %f465, %f457; + sub.f32 %f472, %f457, %f471; + add.f32 %f473, %f465, %f472; + add.f32 %f474, %f470, %f473; + add.f32 %f475, %f471, %f474; + sub.f32 %f476, %f471, %f475; + add.f32 %f477, %f474, %f476; + mov.f32 %f478, 0f3F317200; + mul.rn.f32 %f479, %f454, %f478; + mov.f32 %f480, 0f35BFBE8E; + mul.rn.f32 %f481, %f454, %f480; + add.f32 %f482, %f479, %f475; + sub.f32 %f483, %f479, %f482; + add.f32 %f484, %f475, %f483; + add.f32 %f485, %f477, %f484; + add.f32 %f486, %f481, %f485; + add.f32 %f487, %f482, %f486; + sub.f32 %f488, %f482, %f487; + add.f32 %f489, %f486, %f488; + mov.f32 %f490, 0f3EE66666; + mul.rn.f32 %f491, %f490, %f487; + neg.f32 %f492, %f491; + fma.rn.f32 %f493, %f490, %f487, %f492; + fma.rn.f32 %f494, %f490, %f489, %f493; + mov.f32 %f495, 0f00000000; + fma.rn.f32 %f496, %f495, %f487, %f494; + add.rn.f32 %f497, %f491, %f496; + neg.f32 %f498, %f497; + add.rn.f32 %f499, %f491, %f498; + add.rn.f32 %f500, %f499, %f496; + mov.b32 %r249, %f497; + setp.eq.s32 %p52, %r249, 1118925336; + add.s32 %r250, %r249, -1; + mov.b32 %f501, %r250; + add.f32 %f502, %f500, 0f37000000; + selp.f32 %f503, %f501, %f497, %p52; + selp.f32 %f129, %f502, %f500, %p52; + mul.f32 %f504, %f503, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f505, %f504; + mov.f32 %f506, 0fBF317200; + fma.rn.f32 %f507, %f505, %f506, %f503; + mov.f32 %f508, 0fB5BFBE8E; + fma.rn.f32 %f509, %f505, %f508, %f507; + mul.f32 %f510, %f509, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f511, %f510; + add.f32 %f512, %f505, 0f00000000; + ex2.approx.f32 %f513, %f512; + mul.f32 %f514, %f511, %f513; + setp.lt.f32 %p53, %f503, 0fC2D20000; + selp.f32 %f515, 0f00000000, %f514, %p53; + setp.gt.f32 %p54, %f503, 0f42D20000; + selp.f32 %f864, 0f7F800000, %f515, %p54; + setp.eq.f32 %p55, %f864, 0f7F800000; + @%p55 bra BB0_65; + + fma.rn.f32 %f864, %f864, %f129, %f864; + +BB0_65: + mov.f32 %f777, 0f3E666666; + cvt.rzi.f32.f32 %f776, %f777; + fma.rn.f32 %f775, %f776, 0fC0000000, 0f3EE66666; + abs.f32 %f774, %f775; + setp.lt.f32 %p56, %f124, 0f00000000; + setp.eq.f32 %p57, %f774, 0f3F800000; + and.pred %p1, %p56, %p57; + mov.b32 %r251, %f864; + xor.b32 %r252, %r251, -2147483648; + mov.b32 %f516, %r252; + selp.f32 %f866, %f516, %f864, %p1; + setp.eq.f32 %p58, %f124, 0f00000000; + @%p58 bra BB0_68; + bra.uni BB0_66; + +BB0_68: + add.f32 %f519, %f124, %f124; + selp.f32 %f866, %f519, 0f00000000, %p57; + bra.uni BB0_69; + +BB0_118: + mov.u64 %rd219, image_HDR; + cvta.global.u64 %rd214, %rd219; + mov.u32 %r323, 8; + mov.u64 %rd218, 0; + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd214, %r97, %r323, %rd20, %rd21, %rd218, %rd218); + // inline asm + mov.f32 %f745, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs121, %f745;} + + // inline asm + mov.u16 %rs122, 0; + st.v4.u16 [%rd213], {%rs121, %rs121, %rs121, %rs122}; + +BB0_119: + ld.global.u32 %r324, [additive]; + setp.eq.s32 %p107, %r324, 0; + @%p107 bra BB0_121; + + mov.u64 %rd232, image_RNM0; + cvta.global.u64 %rd221, %rd232; + mov.u32 %r328, 8; + mov.u64 %rd231, 0; + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd221, %r97, %r328, %rd20, %rd21, %rd231, %rd231); + // inline asm + ld.v4.u16 {%rs129, %rs130, %rs131, %rs132}, [%rd220]; + // inline asm + { cvt.f32.f16 %f746, %rs129;} + + // inline asm + // inline asm + { cvt.f32.f16 %f747, %rs130;} + + // inline asm + // inline asm + { cvt.f32.f16 %f748, %rs131;} + + // inline asm + // inline asm + call (%rd226), _rt_buffer_get_64, (%rd221, %r97, %r328, %rd20, %rd21, %rd231, %rd231); + // inline asm + add.f32 %f749, %f746, 0f00000000; + add.f32 %f750, %f747, 0f00000000; + add.f32 %f751, %f748, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs128, %f751;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs127, %f750;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs126, %f749;} + + // inline asm + mov.u16 %rs133, 0; + st.v4.u16 [%rd226], {%rs126, %rs127, %rs128, %rs133}; + bra.uni BB0_122; + +BB0_121: + mov.u64 %rd239, image_RNM0; + cvta.global.u64 %rd234, %rd239; + mov.u32 %r330, 8; + mov.u64 %rd238, 0; + // inline asm + call (%rd233), _rt_buffer_get_64, (%rd234, %r97, %r330, %rd20, %rd21, %rd238, %rd238); + // inline asm + mov.f32 %f752, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs134, %f752;} + + // inline asm + mov.u16 %rs135, 0; + st.v4.u16 [%rd233], {%rs134, %rs134, %rs134, %rs135}; + +BB0_122: + ld.global.u32 %r331, [additive]; + setp.eq.s32 %p108, %r331, 0; + @%p108 bra BB0_124; + + mov.u64 %rd252, image_RNM1; + cvta.global.u64 %rd241, %rd252; + mov.u32 %r335, 8; + mov.u64 %rd251, 0; + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd241, %r97, %r335, %rd20, %rd21, %rd251, %rd251); + // inline asm + ld.v4.u16 {%rs142, %rs143, %rs144, %rs145}, [%rd240]; + // inline asm + { cvt.f32.f16 %f753, %rs142;} + + // inline asm + // inline asm + { cvt.f32.f16 %f754, %rs143;} + + // inline asm + // inline asm + { cvt.f32.f16 %f755, %rs144;} + + // inline asm + // inline asm + call (%rd246), _rt_buffer_get_64, (%rd241, %r97, %r335, %rd20, %rd21, %rd251, %rd251); + // inline asm + add.f32 %f756, %f753, 0f00000000; + add.f32 %f757, %f754, 0f00000000; + add.f32 %f758, %f755, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs141, %f758;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs140, %f757;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs139, %f756;} + + // inline asm + mov.u16 %rs146, 0; + st.v4.u16 [%rd246], {%rs139, %rs140, %rs141, %rs146}; + bra.uni BB0_125; + +BB0_124: + mov.u64 %rd259, image_RNM1; + cvta.global.u64 %rd254, %rd259; + mov.u32 %r337, 8; + mov.u64 %rd258, 0; + // inline asm + call (%rd253), _rt_buffer_get_64, (%rd254, %r97, %r337, %rd20, %rd21, %rd258, %rd258); + // inline asm + mov.f32 %f759, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs147, %f759;} + + // inline asm + mov.u16 %rs148, 0; + st.v4.u16 [%rd253], {%rs147, %rs147, %rs147, %rs148}; + +BB0_125: + ld.global.u32 %r338, [additive]; + setp.eq.s32 %p109, %r338, 0; + @%p109 bra BB0_127; + + mov.u64 %rd272, image_RNM2; + cvta.global.u64 %rd261, %rd272; + mov.u32 %r342, 8; + mov.u64 %rd271, 0; + // inline asm + call (%rd260), _rt_buffer_get_64, (%rd261, %r97, %r342, %rd20, %rd21, %rd271, %rd271); + // inline asm + ld.v4.u16 {%rs155, %rs156, %rs157, %rs158}, [%rd260]; + // inline asm + { cvt.f32.f16 %f760, %rs155;} + + // inline asm + // inline asm + { cvt.f32.f16 %f761, %rs156;} + + // inline asm + // inline asm + { cvt.f32.f16 %f762, %rs157;} + + // inline asm + // inline asm + call (%rd266), _rt_buffer_get_64, (%rd261, %r97, %r342, %rd20, %rd21, %rd271, %rd271); + // inline asm + add.f32 %f763, %f760, 0f00000000; + add.f32 %f764, %f761, 0f00000000; + add.f32 %f765, %f762, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs154, %f765;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs153, %f764;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs152, %f763;} + + // inline asm + mov.u16 %rs159, 0; + st.v4.u16 [%rd266], {%rs152, %rs153, %rs154, %rs159}; + bra.uni BB0_128; + +BB0_127: + mov.u64 %rd279, image_RNM2; + cvta.global.u64 %rd274, %rd279; + mov.u32 %r344, 8; + mov.u64 %rd278, 0; + // inline asm + call (%rd273), _rt_buffer_get_64, (%rd274, %r97, %r344, %rd20, %rd21, %rd278, %rd278); + // inline asm + mov.f32 %f766, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs160, %f766;} + + // inline asm + mov.u16 %rs161, 0; + st.v4.u16 [%rd273], {%rs160, %rs160, %rs160, %rs161}; + +BB0_128: + ld.global.u32 %r345, [additive]; + setp.eq.s32 %p110, %r345, 0; + @%p110 bra BB0_130; + + mov.u64 %rd292, image_RNM3; + cvta.global.u64 %rd281, %rd292; + mov.u32 %r349, 8; + mov.u64 %rd291, 0; + // inline asm + call (%rd280), _rt_buffer_get_64, (%rd281, %r97, %r349, %rd20, %rd21, %rd291, %rd291); + // inline asm + ld.v4.u16 {%rs168, %rs169, %rs170, %rs171}, [%rd280]; + // inline asm + { cvt.f32.f16 %f767, %rs168;} + + // inline asm + // inline asm + { cvt.f32.f16 %f768, %rs169;} + + // inline asm + // inline asm + { cvt.f32.f16 %f769, %rs170;} + + // inline asm + // inline asm + call (%rd286), _rt_buffer_get_64, (%rd281, %r97, %r349, %rd20, %rd21, %rd291, %rd291); + // inline asm + add.f32 %f770, %f767, 0f00000000; + add.f32 %f771, %f768, 0f00000000; + add.f32 %f772, %f769, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs167, %f772;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs166, %f771;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs165, %f770;} + + // inline asm + mov.u16 %rs172, 0; + st.v4.u16 [%rd286], {%rs165, %rs166, %rs167, %rs172}; + bra.uni BB0_131; + +BB0_130: + mov.u64 %rd299, image_RNM3; + cvta.global.u64 %rd294, %rd299; + mov.u32 %r351, 8; + mov.u64 %rd298, 0; + // inline asm + call (%rd293), _rt_buffer_get_64, (%rd294, %r97, %r351, %rd20, %rd21, %rd298, %rd298); + // inline asm + mov.f32 %f773, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs173, %f773;} + + // inline asm + mov.u16 %rs174, 0; + st.v4.u16 [%rd293], {%rs173, %rs173, %rs173, %rs174}; + bra.uni BB0_131; + +BB0_66: + setp.geu.f32 %p59, %f124, 0f00000000; + @%p59 bra BB0_69; + + mov.f32 %f801, 0f3EE66666; + cvt.rzi.f32.f32 %f518, %f801; + setp.neu.f32 %p60, %f518, 0f3EE66666; + selp.f32 %f866, 0f7FFFFFFF, %f866, %p60; + +BB0_69: + abs.f32 %f778, %f124; + add.f32 %f520, %f778, 0f3EE66666; + mov.b32 %r253, %f520; + setp.lt.s32 %p62, %r253, 2139095040; + @%p62 bra BB0_74; + + abs.f32 %f799, %f124; + setp.gtu.f32 %p63, %f799, 0f7F800000; + @%p63 bra BB0_73; + bra.uni BB0_71; + +BB0_73: + add.f32 %f866, %f124, 0f3EE66666; + bra.uni BB0_74; + +BB0_71: + abs.f32 %f800, %f124; + setp.neu.f32 %p64, %f800, 0f7F800000; + @%p64 bra BB0_74; + + selp.f32 %f866, 0fFF800000, 0f7F800000, %p1; + +BB0_74: + mov.f32 %f787, 0fB5BFBE8E; + mov.f32 %f786, 0fBF317200; + mov.f32 %f785, 0f00000000; + mov.f32 %f784, 0f35BFBE8E; + mov.f32 %f783, 0f3F317200; + mov.f32 %f782, 0f3DAAAABD; + mov.f32 %f781, 0f3C4CAF63; + mov.f32 %f780, 0f3B18F0FE; + mov.f32 %f779, 0f3EE66666; + setp.eq.f32 %p65, %f124, 0f3F800000; + selp.f32 %f140, 0f3F800000, %f866, %p65; + abs.f32 %f141, %f125; + setp.lt.f32 %p66, %f141, 0f00800000; + mul.f32 %f523, %f141, 0f4B800000; + selp.f32 %f524, 0fC3170000, 0fC2FE0000, %p66; + selp.f32 %f525, %f523, %f141, %p66; + mov.b32 %r254, %f525; + and.b32 %r255, %r254, 8388607; + or.b32 %r256, %r255, 1065353216; + mov.b32 %f526, %r256; + shr.u32 %r257, %r254, 23; + cvt.rn.f32.u32 %f527, %r257; + add.f32 %f528, %f524, %f527; + setp.gt.f32 %p67, %f526, 0f3FB504F3; + mul.f32 %f529, %f526, 0f3F000000; + add.f32 %f530, %f528, 0f3F800000; + selp.f32 %f531, %f529, %f526, %p67; + selp.f32 %f532, %f530, %f528, %p67; + add.f32 %f533, %f531, 0fBF800000; + add.f32 %f522, %f531, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f521,%f522; + // inline asm + add.f32 %f534, %f533, %f533; + mul.f32 %f535, %f521, %f534; + mul.f32 %f536, %f535, %f535; + fma.rn.f32 %f539, %f780, %f536, %f781; + fma.rn.f32 %f541, %f539, %f536, %f782; + mul.rn.f32 %f542, %f541, %f536; + mul.rn.f32 %f543, %f542, %f535; + sub.f32 %f544, %f533, %f535; + neg.f32 %f545, %f535; + add.f32 %f546, %f544, %f544; + fma.rn.f32 %f547, %f545, %f533, %f546; + mul.rn.f32 %f548, %f521, %f547; + add.f32 %f549, %f543, %f535; + sub.f32 %f550, %f535, %f549; + add.f32 %f551, %f543, %f550; + add.f32 %f552, %f548, %f551; + add.f32 %f553, %f549, %f552; + sub.f32 %f554, %f549, %f553; + add.f32 %f555, %f552, %f554; + mul.rn.f32 %f557, %f532, %f783; + mul.rn.f32 %f559, %f532, %f784; + add.f32 %f560, %f557, %f553; + sub.f32 %f561, %f557, %f560; + add.f32 %f562, %f553, %f561; + add.f32 %f563, %f555, %f562; + add.f32 %f564, %f559, %f563; + add.f32 %f565, %f560, %f564; + sub.f32 %f566, %f560, %f565; + add.f32 %f567, %f564, %f566; + mul.rn.f32 %f569, %f779, %f565; + neg.f32 %f570, %f569; + fma.rn.f32 %f571, %f779, %f565, %f570; + fma.rn.f32 %f572, %f779, %f567, %f571; + fma.rn.f32 %f574, %f785, %f565, %f572; + add.rn.f32 %f575, %f569, %f574; + neg.f32 %f576, %f575; + add.rn.f32 %f577, %f569, %f576; + add.rn.f32 %f578, %f577, %f574; + mov.b32 %r258, %f575; + setp.eq.s32 %p68, %r258, 1118925336; + add.s32 %r259, %r258, -1; + mov.b32 %f579, %r259; + add.f32 %f580, %f578, 0f37000000; + selp.f32 %f581, %f579, %f575, %p68; + selp.f32 %f142, %f580, %f578, %p68; + mul.f32 %f582, %f581, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f583, %f582; + fma.rn.f32 %f585, %f583, %f786, %f581; + fma.rn.f32 %f587, %f583, %f787, %f585; + mul.f32 %f588, %f587, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f589, %f588; + add.f32 %f590, %f583, 0f00000000; + ex2.approx.f32 %f591, %f590; + mul.f32 %f592, %f589, %f591; + setp.lt.f32 %p69, %f581, 0fC2D20000; + selp.f32 %f593, 0f00000000, %f592, %p69; + setp.gt.f32 %p70, %f581, 0f42D20000; + selp.f32 %f867, 0f7F800000, %f593, %p70; + setp.eq.f32 %p71, %f867, 0f7F800000; + @%p71 bra BB0_76; + + fma.rn.f32 %f867, %f867, %f142, %f867; + +BB0_76: + setp.lt.f32 %p72, %f125, 0f00000000; + and.pred %p2, %p72, %p57; + mov.b32 %r260, %f867; + xor.b32 %r261, %r260, -2147483648; + mov.b32 %f594, %r261; + selp.f32 %f869, %f594, %f867, %p2; + setp.eq.f32 %p74, %f125, 0f00000000; + @%p74 bra BB0_79; + bra.uni BB0_77; + +BB0_79: + add.f32 %f597, %f125, %f125; + selp.f32 %f869, %f597, 0f00000000, %p57; + bra.uni BB0_80; + +BB0_77: + setp.geu.f32 %p75, %f125, 0f00000000; + @%p75 bra BB0_80; + + mov.f32 %f798, 0f3EE66666; + cvt.rzi.f32.f32 %f596, %f798; + setp.neu.f32 %p76, %f596, 0f3EE66666; + selp.f32 %f869, 0f7FFFFFFF, %f869, %p76; + +BB0_80: + abs.f32 %f802, %f125; + add.f32 %f598, %f802, 0f3EE66666; + mov.b32 %r262, %f598; + setp.lt.s32 %p78, %r262, 2139095040; + @%p78 bra BB0_85; + + abs.f32 %f803, %f125; + setp.gtu.f32 %p79, %f803, 0f7F800000; + @%p79 bra BB0_84; + bra.uni BB0_82; + +BB0_84: + add.f32 %f869, %f125, 0f3EE66666; + bra.uni BB0_85; + +BB0_82: + abs.f32 %f804, %f125; + setp.neu.f32 %p80, %f804, 0f7F800000; + @%p80 bra BB0_85; + + selp.f32 %f869, 0fFF800000, 0f7F800000, %p2; + +BB0_85: + mov.f32 %f796, 0fB5BFBE8E; + mov.f32 %f795, 0fBF317200; + mov.f32 %f794, 0f00000000; + mov.f32 %f793, 0f35BFBE8E; + mov.f32 %f792, 0f3F317200; + mov.f32 %f791, 0f3DAAAABD; + mov.f32 %f790, 0f3C4CAF63; + mov.f32 %f789, 0f3B18F0FE; + mov.f32 %f788, 0f3EE66666; + setp.eq.f32 %p81, %f125, 0f3F800000; + selp.f32 %f153, 0f3F800000, %f869, %p81; + abs.f32 %f154, %f126; + setp.lt.f32 %p82, %f154, 0f00800000; + mul.f32 %f601, %f154, 0f4B800000; + selp.f32 %f602, 0fC3170000, 0fC2FE0000, %p82; + selp.f32 %f603, %f601, %f154, %p82; + mov.b32 %r263, %f603; + and.b32 %r264, %r263, 8388607; + or.b32 %r265, %r264, 1065353216; + mov.b32 %f604, %r265; + shr.u32 %r266, %r263, 23; + cvt.rn.f32.u32 %f605, %r266; + add.f32 %f606, %f602, %f605; + setp.gt.f32 %p83, %f604, 0f3FB504F3; + mul.f32 %f607, %f604, 0f3F000000; + add.f32 %f608, %f606, 0f3F800000; + selp.f32 %f609, %f607, %f604, %p83; + selp.f32 %f610, %f608, %f606, %p83; + add.f32 %f611, %f609, 0fBF800000; + add.f32 %f600, %f609, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f599,%f600; + // inline asm + add.f32 %f612, %f611, %f611; + mul.f32 %f613, %f599, %f612; + mul.f32 %f614, %f613, %f613; + fma.rn.f32 %f617, %f789, %f614, %f790; + fma.rn.f32 %f619, %f617, %f614, %f791; + mul.rn.f32 %f620, %f619, %f614; + mul.rn.f32 %f621, %f620, %f613; + sub.f32 %f622, %f611, %f613; + neg.f32 %f623, %f613; + add.f32 %f624, %f622, %f622; + fma.rn.f32 %f625, %f623, %f611, %f624; + mul.rn.f32 %f626, %f599, %f625; + add.f32 %f627, %f621, %f613; + sub.f32 %f628, %f613, %f627; + add.f32 %f629, %f621, %f628; + add.f32 %f630, %f626, %f629; + add.f32 %f631, %f627, %f630; + sub.f32 %f632, %f627, %f631; + add.f32 %f633, %f630, %f632; + mul.rn.f32 %f635, %f610, %f792; + mul.rn.f32 %f637, %f610, %f793; + add.f32 %f638, %f635, %f631; + sub.f32 %f639, %f635, %f638; + add.f32 %f640, %f631, %f639; + add.f32 %f641, %f633, %f640; + add.f32 %f642, %f637, %f641; + add.f32 %f643, %f638, %f642; + sub.f32 %f644, %f638, %f643; + add.f32 %f645, %f642, %f644; + mul.rn.f32 %f647, %f788, %f643; + neg.f32 %f648, %f647; + fma.rn.f32 %f649, %f788, %f643, %f648; + fma.rn.f32 %f650, %f788, %f645, %f649; + fma.rn.f32 %f652, %f794, %f643, %f650; + add.rn.f32 %f653, %f647, %f652; + neg.f32 %f654, %f653; + add.rn.f32 %f655, %f647, %f654; + add.rn.f32 %f656, %f655, %f652; + mov.b32 %r267, %f653; + setp.eq.s32 %p84, %r267, 1118925336; + add.s32 %r268, %r267, -1; + mov.b32 %f657, %r268; + add.f32 %f658, %f656, 0f37000000; + selp.f32 %f659, %f657, %f653, %p84; + selp.f32 %f155, %f658, %f656, %p84; + mul.f32 %f660, %f659, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f661, %f660; + fma.rn.f32 %f663, %f661, %f795, %f659; + fma.rn.f32 %f665, %f661, %f796, %f663; + mul.f32 %f666, %f665, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f667, %f666; + add.f32 %f668, %f661, 0f00000000; + ex2.approx.f32 %f669, %f668; + mul.f32 %f670, %f667, %f669; + setp.lt.f32 %p85, %f659, 0fC2D20000; + selp.f32 %f671, 0f00000000, %f670, %p85; + setp.gt.f32 %p86, %f659, 0f42D20000; + selp.f32 %f870, 0f7F800000, %f671, %p86; + setp.eq.f32 %p87, %f870, 0f7F800000; + @%p87 bra BB0_87; + + fma.rn.f32 %f870, %f870, %f155, %f870; + +BB0_87: + setp.lt.f32 %p88, %f126, 0f00000000; + and.pred %p3, %p88, %p57; + mov.b32 %r269, %f870; + xor.b32 %r270, %r269, -2147483648; + mov.b32 %f672, %r270; + selp.f32 %f872, %f672, %f870, %p3; + setp.eq.f32 %p90, %f126, 0f00000000; + @%p90 bra BB0_90; + bra.uni BB0_88; + +BB0_90: + add.f32 %f675, %f126, %f126; + selp.f32 %f872, %f675, 0f00000000, %p57; + bra.uni BB0_91; + +BB0_88: + setp.geu.f32 %p91, %f126, 0f00000000; + @%p91 bra BB0_91; + + mov.f32 %f797, 0f3EE66666; + cvt.rzi.f32.f32 %f674, %f797; + setp.neu.f32 %p92, %f674, 0f3EE66666; + selp.f32 %f872, 0f7FFFFFFF, %f872, %p92; + +BB0_91: + abs.f32 %f817, %f126; + add.f32 %f676, %f817, 0f3EE66666; + mov.b32 %r271, %f676; + setp.lt.s32 %p94, %r271, 2139095040; + @%p94 bra BB0_96; + + abs.f32 %f818, %f126; + setp.gtu.f32 %p95, %f818, 0f7F800000; + @%p95 bra BB0_95; + bra.uni BB0_93; + +BB0_95: + add.f32 %f872, %f126, 0f3EE66666; + bra.uni BB0_96; + +BB0_93: + abs.f32 %f819, %f126; + setp.neu.f32 %p96, %f819, 0f7F800000; + @%p96 bra BB0_96; + + selp.f32 %f872, 0fFF800000, 0f7F800000, %p3; + +BB0_96: + mov.u32 %r352, 4; + setp.eq.f32 %p97, %f126, 0f3F800000; + selp.f32 %f677, 0f3F800000, %f872, %p97; + cvt.u64.u32 %rd89, %r4; + cvt.u64.u32 %rd88, %r3; + mov.u64 %rd92, image; + cvta.global.u64 %rd87, %rd92; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd87, %r97, %r352, %rd88, %rd89, %rd27, %rd27); + // inline asm + cvt.sat.f32.f32 %f678, %f677; + mul.f32 %f679, %f678, 0f437FFD71; + cvt.rzi.u32.f32 %r274, %f679; + cvt.sat.f32.f32 %f680, %f153; + mul.f32 %f681, %f680, 0f437FFD71; + cvt.rzi.u32.f32 %r275, %f681; + cvt.sat.f32.f32 %f682, %f140; + mul.f32 %f683, %f682, 0f437FFD71; + cvt.rzi.u32.f32 %r276, %f683; + cvt.u16.u32 %rs41, %r274; + cvt.u16.u32 %rs42, %r276; + cvt.u16.u32 %rs43, %r275; + mov.u16 %rs44, 255; + st.v4.u8 [%rd86], {%rs41, %rs43, %rs42, %rs44}; + ld.global.u32 %r378, [imageEnabled]; + +BB0_97: + cvt.u64.u32 %rd18, %r3; + cvt.u64.u32 %rd19, %r4; + and.b32 %r277, %r378, 4; + setp.eq.s32 %p98, %r277, 0; + @%p98 bra BB0_101; + + ld.global.u32 %r278, [additive]; + setp.eq.s32 %p99, %r278, 0; + mov.f32 %f684, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs45, %f684;} + + // inline asm + @%p99 bra BB0_100; + + mov.u64 %rd105, image_HDR; + cvta.global.u64 %rd94, %rd105; + mov.u32 %r282, 8; + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd94, %r97, %r282, %rd18, %rd19, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs52, %rs53, %rs54, %rs55}, [%rd93]; + // inline asm + { cvt.f32.f16 %f685, %rs52;} + + // inline asm + // inline asm + { cvt.f32.f16 %f686, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f687, %rs54;} + + // inline asm + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd94, %r97, %r282, %rd18, %rd19, %rd27, %rd27); + // inline asm + add.f32 %f688, %f124, %f685; + add.f32 %f689, %f125, %f686; + add.f32 %f690, %f126, %f687; + // inline asm + { cvt.rn.f16.f32 %rs51, %f690;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f689;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs49, %f688;} + + // inline asm + st.v4.u16 [%rd99], {%rs49, %rs50, %rs51, %rs45}; + bra.uni BB0_101; + +BB0_100: + mov.u64 %rd112, image_HDR; + cvta.global.u64 %rd107, %rd112; + mov.u32 %r284, 8; + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd107, %r97, %r284, %rd18, %rd19, %rd27, %rd27); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f126;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f125;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs56, %f124;} + + // inline asm + st.v4.u16 [%rd106], {%rs56, %rs57, %rs58, %rs45}; + +BB0_101: + mul.f32 %f166, %f120, 0f3F000000; + ld.global.f32 %f695, [skyColor]; + mul.f32 %f167, %f166, %f695; + ld.global.f32 %f696, [skyColor+4]; + mul.f32 %f168, %f166, %f696; + ld.global.f32 %f697, [skyColor+8]; + mul.f32 %f169, %f166, %f697; + ld.global.u32 %r285, [additive]; + setp.eq.s32 %p100, %r285, 0; + mov.f32 %f694, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs59, %f694;} + + // inline asm + @%p100 bra BB0_103; + + mov.u64 %rd125, image_RNM0; + cvta.global.u64 %rd114, %rd125; + mov.u32 %r289, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r97, %r289, %rd18, %rd19, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs66, %rs67, %rs68, %rs69}, [%rd113]; + // inline asm + { cvt.f32.f16 %f698, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f699, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f700, %rs68;} + + // inline asm + // inline asm + call (%rd119), _rt_buffer_get_64, (%rd114, %r97, %r289, %rd18, %rd19, %rd27, %rd27); + // inline asm + add.f32 %f701, %f167, %f698; + add.f32 %f702, %f168, %f699; + add.f32 %f703, %f169, %f700; + // inline asm + { cvt.rn.f16.f32 %rs65, %f703;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f702;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f701;} + + // inline asm + st.v4.u16 [%rd119], {%rs63, %rs64, %rs65, %rs59}; + bra.uni BB0_104; + +BB0_103: + mov.u64 %rd132, image_RNM0; + cvta.global.u64 %rd127, %rd132; + mov.u32 %r291, 8; + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd127, %r97, %r291, %rd18, %rd19, %rd27, %rd27); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f169;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f168;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f167;} + + // inline asm + st.v4.u16 [%rd126], {%rs70, %rs71, %rs72, %rs59}; + +BB0_104: + mov.f32 %f708, 0f34000000; + max.f32 %f709, %f166, %f708; + mul.f32 %f710, %f121, 0f3F000000; + div.rn.f32 %f711, %f710, %f709; + fma.rn.f32 %f170, %f711, 0f3F000000, 0f3F000000; + mul.f32 %f712, %f122, 0f3F000000; + div.rn.f32 %f713, %f712, %f709; + fma.rn.f32 %f171, %f713, 0f3F000000, 0f3F000000; + mul.f32 %f714, %f123, 0f3F000000; + div.rn.f32 %f715, %f714, %f709; + fma.rn.f32 %f172, %f715, 0f3F000000, 0f3F000000; + ld.global.u32 %r292, [additive]; + setp.eq.s32 %p101, %r292, 0; + // inline asm + { cvt.rn.f16.f32 %rs73, %f694;} + + // inline asm + @%p101 bra BB0_106; + + mov.u64 %rd145, image_RNM1; + cvta.global.u64 %rd134, %rd145; + mov.u32 %r296, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r97, %r296, %rd18, %rd19, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs80, %rs81, %rs82, %rs83}, [%rd133]; + // inline asm + { cvt.f32.f16 %f716, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f717, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f718, %rs82;} + + // inline asm + // inline asm + call (%rd139), _rt_buffer_get_64, (%rd134, %r97, %r296, %rd18, %rd19, %rd27, %rd27); + // inline asm + add.f32 %f719, %f170, %f716; + add.f32 %f720, %f170, %f717; + add.f32 %f721, %f170, %f718; + // inline asm + { cvt.rn.f16.f32 %rs79, %f721;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f720;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f719;} + + // inline asm + st.v4.u16 [%rd139], {%rs77, %rs78, %rs79, %rs73}; + bra.uni BB0_107; + +BB0_106: + mov.u64 %rd152, image_RNM1; + cvta.global.u64 %rd147, %rd152; + mov.u32 %r298, 8; + // inline asm + call (%rd146), _rt_buffer_get_64, (%rd147, %r97, %r298, %rd18, %rd19, %rd27, %rd27); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs84, %f170;} + + // inline asm + st.v4.u16 [%rd146], {%rs84, %rs84, %rs84, %rs73}; + +BB0_107: + ld.global.u32 %r299, [additive]; + setp.eq.s32 %p102, %r299, 0; + // inline asm + { cvt.rn.f16.f32 %rs85, %f694;} + + // inline asm + @%p102 bra BB0_109; + + mov.u64 %rd165, image_RNM2; + cvta.global.u64 %rd154, %rd165; + mov.u32 %r303, 8; + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd154, %r97, %r303, %rd18, %rd19, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs92, %rs93, %rs94, %rs95}, [%rd153]; + // inline asm + { cvt.f32.f16 %f724, %rs92;} + + // inline asm + // inline asm + { cvt.f32.f16 %f725, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f726, %rs94;} + + // inline asm + // inline asm + call (%rd159), _rt_buffer_get_64, (%rd154, %r97, %r303, %rd18, %rd19, %rd27, %rd27); + // inline asm + add.f32 %f727, %f171, %f724; + add.f32 %f728, %f171, %f725; + add.f32 %f729, %f171, %f726; + // inline asm + { cvt.rn.f16.f32 %rs91, %f729;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f728;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f727;} + + // inline asm + st.v4.u16 [%rd159], {%rs89, %rs90, %rs91, %rs85}; + bra.uni BB0_110; + +BB0_109: + mov.u64 %rd172, image_RNM2; + cvta.global.u64 %rd167, %rd172; + mov.u32 %r305, 8; + // inline asm + call (%rd166), _rt_buffer_get_64, (%rd167, %r97, %r305, %rd18, %rd19, %rd27, %rd27); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f171;} + + // inline asm + st.v4.u16 [%rd166], {%rs96, %rs96, %rs96, %rs85}; + +BB0_110: + ld.global.u32 %r306, [additive]; + setp.eq.s32 %p103, %r306, 0; + // inline asm + { cvt.rn.f16.f32 %rs97, %f694;} + + // inline asm + @%p103 bra BB0_112; + + mov.u64 %rd185, image_RNM3; + cvta.global.u64 %rd174, %rd185; + mov.u32 %r310, 8; + // inline asm + call (%rd173), _rt_buffer_get_64, (%rd174, %r97, %r310, %rd18, %rd19, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs104, %rs105, %rs106, %rs107}, [%rd173]; + // inline asm + { cvt.f32.f16 %f732, %rs104;} + + // inline asm + // inline asm + { cvt.f32.f16 %f733, %rs105;} + + // inline asm + // inline asm + { cvt.f32.f16 %f734, %rs106;} + + // inline asm + // inline asm + call (%rd179), _rt_buffer_get_64, (%rd174, %r97, %r310, %rd18, %rd19, %rd27, %rd27); + // inline asm + add.f32 %f735, %f172, %f732; + add.f32 %f736, %f172, %f733; + add.f32 %f737, %f172, %f734; + // inline asm + { cvt.rn.f16.f32 %rs103, %f737;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs102, %f736;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs101, %f735;} + + // inline asm + st.v4.u16 [%rd179], {%rs101, %rs102, %rs103, %rs97}; + bra.uni BB0_131; + +BB0_112: + mov.u64 %rd192, image_RNM3; + cvta.global.u64 %rd187, %rd192; + mov.u32 %r312, 8; + // inline asm + call (%rd186), _rt_buffer_get_64, (%rd187, %r97, %r312, %rd18, %rd19, %rd27, %rd27); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs108, %f172;} + + // inline asm + st.v4.u16 [%rd186], {%rs108, %rs108, %rs108, %rs97}; + +BB0_131: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx.meta new file mode 100644 index 00000000..09a602a9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTangentSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 087e7fdd5cf349544a70811a4f31f629 +timeCreated: 1540383433 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTex.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTex.ptx new file mode 100644 index 00000000..d00c818d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTex.ptx @@ -0,0 +1,1483 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .texref sky; +.global .align 4 .b8 skyColor[12]; +.global .align 4 .u32 samples; +.global .align 4 .u32 hemispherical; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8skyColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo13hemisphericalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8skyColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename13hemisphericalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8skyColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum13hemisphericalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8skyColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic13hemisphericalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8skyColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation13hemisphericalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<109>; + .reg .b16 %rs<42>; + .reg .f32 %f<662>; + .reg .b32 %r<326>; + .reg .b64 %rd<126>; + + + mov.u64 %rd125, __local_depot0; + cvta.local.u64 %SP, %rd125; + ld.global.v2.u32 {%r102, %r103}, [pixelID]; + cvt.u64.u32 %rd22, %r102; + cvt.u64.u32 %rd23, %r103; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r100, 2; + mov.u32 %r101, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r100, %r101, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r1, [%rd20]; + shr.u32 %r106, %r1, 16; + cvt.u16.u32 %rs1, %r106; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r1; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p4, %rs5, 0; + mov.f32 %f622, 0f00000000; + mov.f32 %f623, %f622; + mov.f32 %f624, %f622; + @%p4 bra BB0_2; + + ld.u8 %rs6, [%rd20+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f131, %rs8; + div.rn.f32 %f132, %f131, 0f437F0000; + fma.rn.f32 %f133, %f132, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f134, %rs6; + div.rn.f32 %f135, %f134, 0f437F0000; + fma.rn.f32 %f136, %f135, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f137, %rs3; + div.rn.f32 %f138, %f137, 0f437F0000; + fma.rn.f32 %f139, %f138, 0f40000000, 0fBF800000; + mul.f32 %f140, %f136, %f136; + fma.rn.f32 %f141, %f133, %f133, %f140; + fma.rn.f32 %f142, %f139, %f139, %f141; + sqrt.rn.f32 %f143, %f142; + rcp.rn.f32 %f144, %f143; + mul.f32 %f622, %f133, %f144; + mul.f32 %f623, %f136, %f144; + mul.f32 %f624, %f139, %f144; + +BB0_2: + ld.global.v2.u32 {%r107, %r108}, [pixelID]; + ld.global.v2.u32 {%r110, %r111}, [tileInfo]; + add.s32 %r2, %r107, %r110; + add.s32 %r3, %r108, %r111; + setp.eq.f32 %p5, %f623, 0f00000000; + setp.eq.f32 %p6, %f622, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f624, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_102; + bra.uni BB0_3; + +BB0_102: + ld.global.u32 %r325, [imageEnabled]; + and.b32 %r279, %r325, 1; + setp.eq.b32 %p106, %r279, 1; + @!%p106 bra BB0_104; + bra.uni BB0_103; + +BB0_103: + cvt.u64.u32 %rd93, %r2; + cvt.u64.u32 %rd94, %r3; + mov.u64 %rd97, image; + cvta.global.u64 %rd92, %rd97; + mov.u64 %rd96, 0; + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd92, %r100, %r101, %rd93, %rd94, %rd96, %rd96); + // inline asm + mov.u16 %rs28, 0; + st.v4.u8 [%rd91], {%rs28, %rs28, %rs28, %rs28}; + ld.global.u32 %r325, [imageEnabled]; + +BB0_104: + and.b32 %r282, %r325, 4; + setp.eq.s32 %p107, %r282, 0; + @%p107 bra BB0_108; + + ld.global.u32 %r283, [additive]; + setp.eq.s32 %p108, %r283, 0; + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + @%p108 bra BB0_107; + + mov.u64 %rd110, image_HDR; + cvta.global.u64 %rd99, %rd110; + mov.u32 %r287, 8; + mov.u64 %rd109, 0; + // inline asm + call (%rd98), _rt_buffer_get_64, (%rd99, %r100, %r287, %rd18, %rd19, %rd109, %rd109); + // inline asm + ld.v4.u16 {%rs35, %rs36, %rs37, %rs38}, [%rd98]; + // inline asm + { cvt.f32.f16 %f594, %rs35;} + + // inline asm + // inline asm + { cvt.f32.f16 %f595, %rs36;} + + // inline asm + // inline asm + { cvt.f32.f16 %f596, %rs37;} + + // inline asm + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd99, %r100, %r287, %rd18, %rd19, %rd109, %rd109); + // inline asm + add.f32 %f597, %f594, 0f00000000; + add.f32 %f598, %f595, 0f00000000; + add.f32 %f599, %f596, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f599;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f598;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f597;} + + // inline asm + mov.u16 %rs39, 0; + st.v4.u16 [%rd104], {%rs32, %rs33, %rs34, %rs39}; + bra.uni BB0_108; + +BB0_3: + ld.global.v2.u32 {%r119, %r120}, [pixelID]; + cvt.u64.u32 %rd29, %r119; + cvt.u64.u32 %rd30, %r120; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r116, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r100, %r116, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f148, [%rd27+8]; + ld.f32 %f149, [%rd27+4]; + ld.f32 %f150, [%rd27]; + mul.f32 %f151, %f150, 0f3456BF95; + mul.f32 %f152, %f149, 0f3456BF95; + mul.f32 %f153, %f148, 0f3456BF95; + abs.f32 %f154, %f622; + div.rn.f32 %f155, %f151, %f154; + abs.f32 %f156, %f623; + div.rn.f32 %f157, %f152, %f156; + abs.f32 %f158, %f624; + div.rn.f32 %f159, %f153, %f158; + abs.f32 %f160, %f155; + abs.f32 %f161, %f157; + abs.f32 %f162, %f159; + mov.f32 %f163, 0f38D1B717; + max.f32 %f164, %f160, %f163; + max.f32 %f165, %f161, %f163; + max.f32 %f166, %f162, %f163; + fma.rn.f32 %f7, %f622, %f164, %f150; + fma.rn.f32 %f8, %f623, %f165, %f149; + fma.rn.f32 %f9, %f624, %f166, %f148; + ld.global.u32 %r4, [hemispherical]; + setp.gt.f32 %p10, %f154, %f158; + neg.f32 %f167, %f623; + selp.f32 %f168, %f167, 0f00000000, %p10; + neg.f32 %f169, %f624; + selp.f32 %f170, %f622, %f169, %p10; + selp.f32 %f171, 0f00000000, %f623, %p10; + mul.f32 %f172, %f170, %f170; + fma.rn.f32 %f173, %f168, %f168, %f172; + fma.rn.f32 %f174, %f171, %f171, %f173; + sqrt.rn.f32 %f175, %f174; + rcp.rn.f32 %f176, %f175; + mul.f32 %f10, %f168, %f176; + mul.f32 %f11, %f170, %f176; + mul.f32 %f12, %f171, %f176; + ld.global.v2.u32 {%r123, %r124}, [pixelID]; + cvt.u64.u32 %rd35, %r123; + cvt.u64.u32 %rd36, %r124; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r100, %r101, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.global.u32 %r320, [samples]; + mov.f32 %f646, 0f00000000; + setp.lt.s32 %p11, %r320, 1; + @%p11 bra BB0_4; + + cvt.rn.f32.s32 %f180, %r320; + rcp.rn.f32 %f13, %f180; + ld.u32 %r322, [%rd33]; + mul.f32 %f14, %f7, 0f3456BF95; + mul.f32 %f15, %f8, 0f3456BF95; + mul.f32 %f16, %f9, 0f3456BF95; + mul.f32 %f181, %f622, %f11; + mul.f32 %f182, %f623, %f10; + sub.f32 %f17, %f182, %f181; + mul.f32 %f183, %f624, %f10; + mul.f32 %f184, %f622, %f12; + sub.f32 %f18, %f184, %f183; + mul.f32 %f185, %f623, %f12; + mul.f32 %f186, %f624, %f11; + sub.f32 %f19, %f186, %f185; + mov.f32 %f646, 0f00000000; + mov.u32 %r295, 0; + abs.f32 %f256, %f14; + abs.f32 %f257, %f15; + max.f32 %f258, %f256, %f257; + abs.f32 %f259, %f16; + max.f32 %f260, %f258, %f259; + mov.f32 %f645, %f646; + mov.f32 %f644, %f646; + +BB0_6: + setp.lt.s32 %p12, %r320, 1; + @%p12 bra BB0_62; + + cvt.rn.f32.s32 %f23, %r295; + mov.u32 %r298, 0; + +BB0_8: + mad.lo.s32 %r129, %r322, 1664525, 1013904223; + and.b32 %r130, %r129, 16777215; + cvt.rn.f32.u32 %f187, %r130; + fma.rn.f32 %f188, %f187, 0f33800000, %f23; + mul.f32 %f189, %f13, %f188; + mad.lo.s32 %r322, %r129, 1664525, 1013904223; + and.b32 %r131, %r322, 16777215; + cvt.rn.f32.u32 %f190, %r131; + cvt.rn.f32.s32 %f191, %r298; + fma.rn.f32 %f192, %f190, 0f33800000, %f191; + mul.f32 %f193, %f13, %f192; + sqrt.rn.f32 %f27, %f189; + mul.f32 %f637, %f193, 0f40C90FDB; + abs.f32 %f29, %f637; + setp.neu.f32 %p13, %f29, 0f7F800000; + mov.f32 %f631, %f637; + @%p13 bra BB0_10; + + mov.f32 %f194, 0f00000000; + mul.rn.f32 %f631, %f637, %f194; + +BB0_10: + mul.f32 %f195, %f631, 0f3F22F983; + cvt.rni.s32.f32 %r309, %f195; + cvt.rn.f32.s32 %f196, %r309; + neg.f32 %f197, %f196; + mov.f32 %f198, 0f3FC90FDA; + fma.rn.f32 %f199, %f197, %f198, %f631; + mov.f32 %f200, 0f33A22168; + fma.rn.f32 %f201, %f197, %f200, %f199; + mov.f32 %f202, 0f27C234C5; + fma.rn.f32 %f632, %f197, %f202, %f201; + abs.f32 %f203, %f631; + setp.leu.f32 %p14, %f203, 0f47CE4780; + @%p14 bra BB0_21; + + add.u64 %rd42, %SP, 0; + cvta.to.local.u64 %rd3, %rd42; + mov.b32 %r15, %f631; + shr.u32 %r16, %r15, 23; + shl.b32 %r134, %r15, 8; + or.b32 %r17, %r134, -2147483648; + mov.u32 %r300, 0; + mov.u64 %rd122, 0; + mov.u64 %rd121, %rd3; + mov.u32 %r301, %r300; + +BB0_12: + .pragma "nounroll"; + shl.b64 %rd43, %rd122, 2; + mov.u64 %rd44, __cudart_i2opi_f; + add.s64 %rd45, %rd44, %rd43; + ld.const.u32 %r137, [%rd45]; + // inline asm + { + mad.lo.cc.u32 %r135, %r137, %r17, %r301; + madc.hi.u32 %r301, %r137, %r17, 0; + } + // inline asm + st.local.u32 [%rd121], %r135; + add.s32 %r300, %r300, 1; + cvt.s64.s32 %rd122, %r300; + mul.wide.s32 %rd48, %r300, 4; + add.s64 %rd121, %rd3, %rd48; + setp.ne.s32 %p15, %r300, 6; + @%p15 bra BB0_12; + + and.b32 %r140, %r16, 255; + add.s32 %r141, %r140, -128; + shr.u32 %r142, %r141, 5; + and.b32 %r22, %r15, -2147483648; + cvta.to.local.u64 %rd50, %rd42; + st.local.u32 [%rd50+24], %r301; + mov.u32 %r143, 6; + sub.s32 %r144, %r143, %r142; + mul.wide.s32 %rd51, %r144, 4; + add.s64 %rd8, %rd50, %rd51; + ld.local.u32 %r302, [%rd8]; + ld.local.u32 %r303, [%rd8+-4]; + and.b32 %r25, %r16, 31; + setp.eq.s32 %p16, %r25, 0; + @%p16 bra BB0_15; + + mov.u32 %r145, 32; + sub.s32 %r146, %r145, %r25; + shr.u32 %r147, %r303, %r146; + shl.b32 %r148, %r302, %r25; + add.s32 %r302, %r147, %r148; + ld.local.u32 %r149, [%rd8+-8]; + shr.u32 %r150, %r149, %r146; + shl.b32 %r151, %r303, %r25; + add.s32 %r303, %r150, %r151; + +BB0_15: + shr.u32 %r152, %r303, 30; + shl.b32 %r153, %r302, 2; + add.s32 %r304, %r152, %r153; + shl.b32 %r31, %r303, 2; + shr.u32 %r154, %r304, 31; + shr.u32 %r155, %r302, 30; + add.s32 %r32, %r154, %r155; + setp.eq.s32 %p17, %r154, 0; + @%p17 bra BB0_16; + bra.uni BB0_17; + +BB0_16: + mov.u32 %r305, %r22; + mov.u32 %r306, %r31; + bra.uni BB0_18; + +BB0_17: + not.b32 %r156, %r304; + neg.s32 %r306, %r31; + setp.eq.s32 %p18, %r31, 0; + selp.u32 %r157, 1, 0, %p18; + add.s32 %r304, %r157, %r156; + xor.b32 %r305, %r22, -2147483648; + +BB0_18: + clz.b32 %r308, %r304; + setp.eq.s32 %p19, %r308, 0; + shl.b32 %r158, %r304, %r308; + mov.u32 %r159, 32; + sub.s32 %r160, %r159, %r308; + shr.u32 %r161, %r306, %r160; + add.s32 %r162, %r161, %r158; + selp.b32 %r40, %r304, %r162, %p19; + mov.u32 %r163, -921707870; + mul.hi.u32 %r307, %r40, %r163; + setp.eq.s32 %p20, %r22, 0; + neg.s32 %r164, %r32; + selp.b32 %r309, %r32, %r164, %p20; + setp.lt.s32 %p21, %r307, 1; + @%p21 bra BB0_20; + + mul.lo.s32 %r165, %r40, -921707870; + shr.u32 %r166, %r165, 31; + shl.b32 %r167, %r307, 1; + add.s32 %r307, %r166, %r167; + add.s32 %r308, %r308, 1; + +BB0_20: + mov.u32 %r168, 126; + sub.s32 %r169, %r168, %r308; + shl.b32 %r170, %r169, 23; + add.s32 %r171, %r307, 1; + shr.u32 %r172, %r171, 7; + add.s32 %r173, %r172, 1; + shr.u32 %r174, %r173, 1; + add.s32 %r175, %r174, %r170; + or.b32 %r176, %r175, %r305; + mov.b32 %f632, %r176; + +BB0_21: + mul.rn.f32 %f35, %f632, %f632; + add.s32 %r48, %r309, 1; + and.b32 %r49, %r48, 1; + setp.eq.s32 %p22, %r49, 0; + @%p22 bra BB0_23; + bra.uni BB0_22; + +BB0_23: + mov.f32 %f206, 0f3C08839E; + mov.f32 %f207, 0fB94CA1F9; + fma.rn.f32 %f633, %f207, %f35, %f206; + bra.uni BB0_24; + +BB0_22: + mov.f32 %f204, 0fBAB6061A; + mov.f32 %f205, 0f37CCF5CE; + fma.rn.f32 %f633, %f205, %f35, %f204; + +BB0_24: + @%p22 bra BB0_26; + bra.uni BB0_25; + +BB0_26: + mov.f32 %f211, 0fBE2AAAA3; + fma.rn.f32 %f212, %f633, %f35, %f211; + mov.f32 %f213, 0f00000000; + fma.rn.f32 %f634, %f212, %f35, %f213; + bra.uni BB0_27; + +BB0_25: + mov.f32 %f208, 0f3D2AAAA5; + fma.rn.f32 %f209, %f633, %f35, %f208; + mov.f32 %f210, 0fBF000000; + fma.rn.f32 %f634, %f209, %f35, %f210; + +BB0_27: + fma.rn.f32 %f635, %f634, %f632, %f632; + @%p22 bra BB0_29; + + mov.f32 %f214, 0f3F800000; + fma.rn.f32 %f635, %f634, %f35, %f214; + +BB0_29: + and.b32 %r177, %r48, 2; + setp.eq.s32 %p25, %r177, 0; + @%p25 bra BB0_31; + + mov.f32 %f215, 0f00000000; + mov.f32 %f216, 0fBF800000; + fma.rn.f32 %f635, %f635, %f216, %f215; + +BB0_31: + @%p13 bra BB0_33; + + mov.f32 %f217, 0f00000000; + mul.rn.f32 %f637, %f637, %f217; + +BB0_33: + mul.f32 %f218, %f637, 0f3F22F983; + cvt.rni.s32.f32 %r319, %f218; + cvt.rn.f32.s32 %f219, %r319; + neg.f32 %f220, %f219; + fma.rn.f32 %f222, %f220, %f198, %f637; + fma.rn.f32 %f224, %f220, %f200, %f222; + fma.rn.f32 %f638, %f220, %f202, %f224; + abs.f32 %f226, %f637; + setp.leu.f32 %p27, %f226, 0f47CE4780; + @%p27 bra BB0_44; + + add.u64 %rd53, %SP, 0; + cvta.to.local.u64 %rd9, %rd53; + mov.b32 %r51, %f637; + shr.u32 %r52, %r51, 23; + shl.b32 %r180, %r51, 8; + or.b32 %r53, %r180, -2147483648; + mov.u32 %r310, 0; + mov.u64 %rd123, %rd9; + mov.u64 %rd124, %rd25; + mov.u32 %r311, %r310; + +BB0_35: + .pragma "nounroll"; + shl.b64 %rd54, %rd124, 2; + mov.u64 %rd55, __cudart_i2opi_f; + add.s64 %rd56, %rd55, %rd54; + ld.const.u32 %r183, [%rd56]; + // inline asm + { + mad.lo.cc.u32 %r181, %r183, %r53, %r311; + madc.hi.u32 %r311, %r183, %r53, 0; + } + // inline asm + st.local.u32 [%rd123], %r181; + add.s32 %r310, %r310, 1; + cvt.s64.s32 %rd124, %r310; + mul.wide.s32 %rd57, %r310, 4; + add.s64 %rd123, %rd9, %rd57; + setp.ne.s32 %p28, %r310, 6; + @%p28 bra BB0_35; + + and.b32 %r186, %r52, 255; + add.s32 %r187, %r186, -128; + shr.u32 %r188, %r187, 5; + and.b32 %r58, %r51, -2147483648; + cvta.to.local.u64 %rd59, %rd53; + st.local.u32 [%rd59+24], %r311; + mov.u32 %r189, 6; + sub.s32 %r190, %r189, %r188; + mul.wide.s32 %rd60, %r190, 4; + add.s64 %rd15, %rd59, %rd60; + ld.local.u32 %r312, [%rd15]; + ld.local.u32 %r313, [%rd15+-4]; + and.b32 %r61, %r52, 31; + setp.eq.s32 %p29, %r61, 0; + @%p29 bra BB0_38; + + mov.u32 %r191, 32; + sub.s32 %r192, %r191, %r61; + shr.u32 %r193, %r313, %r192; + shl.b32 %r194, %r312, %r61; + add.s32 %r312, %r193, %r194; + ld.local.u32 %r195, [%rd15+-8]; + shr.u32 %r196, %r195, %r192; + shl.b32 %r197, %r313, %r61; + add.s32 %r313, %r196, %r197; + +BB0_38: + shr.u32 %r198, %r313, 30; + shl.b32 %r199, %r312, 2; + add.s32 %r314, %r198, %r199; + shl.b32 %r67, %r313, 2; + shr.u32 %r200, %r314, 31; + shr.u32 %r201, %r312, 30; + add.s32 %r68, %r200, %r201; + setp.eq.s32 %p30, %r200, 0; + @%p30 bra BB0_39; + bra.uni BB0_40; + +BB0_39: + mov.u32 %r315, %r58; + mov.u32 %r316, %r67; + bra.uni BB0_41; + +BB0_40: + not.b32 %r202, %r314; + neg.s32 %r316, %r67; + setp.eq.s32 %p31, %r67, 0; + selp.u32 %r203, 1, 0, %p31; + add.s32 %r314, %r203, %r202; + xor.b32 %r315, %r58, -2147483648; + +BB0_41: + clz.b32 %r318, %r314; + setp.eq.s32 %p32, %r318, 0; + shl.b32 %r204, %r314, %r318; + mov.u32 %r205, 32; + sub.s32 %r206, %r205, %r318; + shr.u32 %r207, %r316, %r206; + add.s32 %r208, %r207, %r204; + selp.b32 %r76, %r314, %r208, %p32; + mov.u32 %r209, -921707870; + mul.hi.u32 %r317, %r76, %r209; + setp.eq.s32 %p33, %r58, 0; + neg.s32 %r210, %r68; + selp.b32 %r319, %r68, %r210, %p33; + setp.lt.s32 %p34, %r317, 1; + @%p34 bra BB0_43; + + mul.lo.s32 %r211, %r76, -921707870; + shr.u32 %r212, %r211, 31; + shl.b32 %r213, %r317, 1; + add.s32 %r317, %r212, %r213; + add.s32 %r318, %r318, 1; + +BB0_43: + mov.u32 %r214, 126; + sub.s32 %r215, %r214, %r318; + shl.b32 %r216, %r215, 23; + add.s32 %r217, %r317, 1; + shr.u32 %r218, %r217, 7; + add.s32 %r219, %r218, 1; + shr.u32 %r220, %r219, 1; + add.s32 %r221, %r220, %r216; + or.b32 %r222, %r221, %r315; + mov.b32 %f638, %r222; + +BB0_44: + mul.rn.f32 %f52, %f638, %f638; + and.b32 %r84, %r319, 1; + setp.eq.s32 %p35, %r84, 0; + @%p35 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f229, 0f3C08839E; + mov.f32 %f230, 0fB94CA1F9; + fma.rn.f32 %f639, %f230, %f52, %f229; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f227, 0fBAB6061A; + mov.f32 %f228, 0f37CCF5CE; + fma.rn.f32 %f639, %f228, %f52, %f227; + +BB0_47: + @%p35 bra BB0_49; + bra.uni BB0_48; + +BB0_49: + mov.f32 %f234, 0fBE2AAAA3; + fma.rn.f32 %f235, %f639, %f52, %f234; + mov.f32 %f236, 0f00000000; + fma.rn.f32 %f640, %f235, %f52, %f236; + bra.uni BB0_50; + +BB0_48: + mov.f32 %f231, 0f3D2AAAA5; + fma.rn.f32 %f232, %f639, %f52, %f231; + mov.f32 %f233, 0fBF000000; + fma.rn.f32 %f640, %f232, %f52, %f233; + +BB0_50: + fma.rn.f32 %f641, %f640, %f638, %f638; + @%p35 bra BB0_52; + + mov.f32 %f237, 0f3F800000; + fma.rn.f32 %f641, %f640, %f52, %f237; + +BB0_52: + and.b32 %r223, %r319, 2; + setp.eq.s32 %p38, %r223, 0; + @%p38 bra BB0_54; + + mov.f32 %f238, 0f00000000; + mov.f32 %f239, 0fBF800000; + fma.rn.f32 %f641, %f641, %f239, %f238; + +BB0_54: + mul.f32 %f240, %f27, %f635; + mul.f32 %f241, %f240, %f240; + mov.f32 %f242, 0f3F800000; + sub.f32 %f243, %f242, %f241; + mul.f32 %f244, %f27, %f641; + mul.f32 %f245, %f244, %f244; + sub.f32 %f246, %f243, %f245; + mov.f32 %f247, 0f00000000; + max.f32 %f248, %f247, %f246; + sqrt.rn.f32 %f249, %f248; + mul.f32 %f250, %f10, %f244; + mul.f32 %f251, %f11, %f244; + mul.f32 %f252, %f12, %f244; + fma.rn.f32 %f253, %f19, %f240, %f250; + fma.rn.f32 %f254, %f18, %f240, %f251; + fma.rn.f32 %f255, %f17, %f240, %f252; + fma.rn.f32 %f64, %f622, %f249, %f253; + fma.rn.f32 %f65, %f623, %f249, %f254; + fma.rn.f32 %f66, %f624, %f249, %f255; + setp.gt.f32 %p39, %f65, 0f00000000; + setp.eq.s32 %p40, %r4, 0; + or.pred %p41, %p40, %p39; + @!%p41 bra BB0_61; + bra.uni BB0_55; + +BB0_55: + max.f32 %f67, %f260, %f163; + abs.f32 %f68, %f66; + setp.eq.f32 %p42, %f68, 0f00000000; + abs.f32 %f69, %f64; + setp.eq.f32 %p43, %f69, 0f00000000; + and.pred %p44, %p42, %p43; + mov.b32 %r85, %f66; + mov.b32 %r224, %f64; + and.b32 %r86, %r224, -2147483648; + @%p44 bra BB0_59; + bra.uni BB0_56; + +BB0_59: + shr.s32 %r231, %r85, 31; + and.b32 %r232, %r231, 1078530011; + or.b32 %r233, %r232, %r86; + mov.b32 %f643, %r233; + bra.uni BB0_60; + +BB0_56: + setp.eq.f32 %p45, %f68, 0f7F800000; + setp.eq.f32 %p46, %f69, 0f7F800000; + and.pred %p47, %p45, %p46; + @%p47 bra BB0_58; + bra.uni BB0_57; + +BB0_58: + shr.s32 %r227, %r85, 31; + and.b32 %r228, %r227, 13483017; + add.s32 %r229, %r228, 1061752795; + or.b32 %r230, %r229, %r86; + mov.b32 %f643, %r230; + bra.uni BB0_60; + +BB0_57: + max.f32 %f262, %f69, %f68; + min.f32 %f263, %f69, %f68; + div.rn.f32 %f264, %f263, %f262; + mul.rn.f32 %f265, %f264, %f264; + mov.f32 %f266, 0fC0B59883; + mov.f32 %f267, 0fBF52C7EA; + fma.rn.f32 %f268, %f265, %f267, %f266; + mov.f32 %f269, 0fC0D21907; + fma.rn.f32 %f270, %f268, %f265, %f269; + mul.f32 %f271, %f265, %f270; + mul.f32 %f272, %f264, %f271; + add.f32 %f273, %f265, 0f41355DC0; + mov.f32 %f274, 0f41E6BD60; + fma.rn.f32 %f275, %f273, %f265, %f274; + mov.f32 %f276, 0f419D92C8; + fma.rn.f32 %f277, %f275, %f265, %f276; + rcp.rn.f32 %f278, %f277; + fma.rn.f32 %f279, %f272, %f278, %f264; + mov.f32 %f280, 0f3FC90FDB; + sub.f32 %f281, %f280, %f279; + setp.gt.f32 %p48, %f69, %f68; + selp.f32 %f282, %f281, %f279, %p48; + mov.f32 %f283, 0f40490FDB; + sub.f32 %f284, %f283, %f282; + setp.lt.s32 %p49, %r85, 0; + selp.f32 %f285, %f284, %f282, %p49; + mov.b32 %r225, %f285; + or.b32 %r226, %r225, %r86; + mov.b32 %f286, %r226; + add.f32 %f287, %f68, %f69; + setp.gtu.f32 %p50, %f287, 0f7F800000; + selp.f32 %f643, %f287, %f286, %p50; + +BB0_60: + add.u64 %rd61, %SP, 28; + cvta.to.local.u64 %rd62, %rd61; + add.f32 %f296, %f643, 0f40490FDB; + mul.f32 %f297, %f296, 0f3E22F983; + neg.f32 %f298, %f65; + abs.f32 %f299, %f298; + sub.f32 %f301, %f242, %f299; + mul.f32 %f302, %f301, 0f3F000000; + sqrt.rn.f32 %f303, %f302; + setp.gt.f32 %p51, %f299, 0f3F11EB85; + selp.f32 %f304, %f303, %f299, %p51; + mul.f32 %f305, %f304, %f304; + mov.f32 %f306, 0f3C94D2E9; + mov.f32 %f307, 0f3D53F941; + fma.rn.f32 %f308, %f307, %f305, %f306; + mov.f32 %f309, 0f3D3F841F; + fma.rn.f32 %f310, %f308, %f305, %f309; + mov.f32 %f311, 0f3D994929; + fma.rn.f32 %f312, %f310, %f305, %f311; + mov.f32 %f313, 0f3E2AAB94; + fma.rn.f32 %f314, %f312, %f305, %f313; + mul.f32 %f315, %f305, %f314; + fma.rn.f32 %f316, %f315, %f304, %f304; + mov.f32 %f317, 0f3FC90FDB; + sub.f32 %f318, %f317, %f316; + add.f32 %f319, %f316, %f316; + selp.f32 %f320, %f319, %f318, %p51; + mov.f32 %f321, 0f40490FDB; + sub.f32 %f322, %f321, %f320; + setp.gt.f32 %p52, %f65, 0f80000000; + selp.f32 %f323, %f322, %f320, %p52; + fma.rn.f32 %f324, %f323, 0fBEA2F983, 0f3F800000; + tex.2d.v4.f32.f32 {%f325, %f326, %f327, %f328}, [sky, {%f297, %f324}]; + st.local.f32 [%rd62], %f325; + st.local.f32 [%rd62+4], %f326; + st.local.f32 [%rd62+8], %f327; + ld.global.u32 %r234, [root]; + mov.u32 %r235, 1; + mov.f32 %f295, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r234, %f7, %f8, %f9, %f64, %f65, %f66, %r235, %f67, %f295, %rd61, %r116); + // inline asm + ld.local.f32 %f329, [%rd62]; + add.f32 %f644, %f644, %f329; + ld.local.f32 %f330, [%rd62+4]; + add.f32 %f645, %f645, %f330; + ld.local.f32 %f331, [%rd62+8]; + add.f32 %f646, %f646, %f331; + ld.global.u32 %r320, [samples]; + +BB0_61: + add.s32 %r298, %r298, 1; + setp.lt.s32 %p53, %r298, %r320; + @%p53 bra BB0_8; + +BB0_62: + add.s32 %r295, %r295, 1; + setp.lt.s32 %p54, %r295, %r320; + @%p54 bra BB0_6; + bra.uni BB0_63; + +BB0_4: + mov.f32 %f645, %f646; + mov.f32 %f644, %f646; + +BB0_63: + mul.lo.s32 %r237, %r320, %r320; + cvt.rn.f32.s32 %f332, %r237; + rcp.rn.f32 %f333, %f332; + mul.f32 %f334, %f644, %f333; + mul.f32 %f335, %f645, %f333; + mul.f32 %f336, %f646, %f333; + ld.global.f32 %f337, [skyColor]; + mul.f32 %f86, %f334, %f337; + ld.global.f32 %f338, [skyColor+4]; + mul.f32 %f87, %f335, %f338; + ld.global.f32 %f339, [skyColor+8]; + mul.f32 %f88, %f336, %f339; + ld.global.u32 %r324, [imageEnabled]; + and.b32 %r238, %r324, 1; + setp.eq.b32 %p55, %r238, 1; + @!%p55 bra BB0_98; + bra.uni BB0_64; + +BB0_64: + mov.f32 %f342, 0f3E666666; + cvt.rzi.f32.f32 %f343, %f342; + fma.rn.f32 %f344, %f343, 0fC0000000, 0f3EE66666; + abs.f32 %f89, %f344; + abs.f32 %f90, %f86; + setp.lt.f32 %p56, %f90, 0f00800000; + mul.f32 %f345, %f90, 0f4B800000; + selp.f32 %f346, 0fC3170000, 0fC2FE0000, %p56; + selp.f32 %f347, %f345, %f90, %p56; + mov.b32 %r239, %f347; + and.b32 %r240, %r239, 8388607; + or.b32 %r241, %r240, 1065353216; + mov.b32 %f348, %r241; + shr.u32 %r242, %r239, 23; + cvt.rn.f32.u32 %f349, %r242; + add.f32 %f350, %f346, %f349; + setp.gt.f32 %p57, %f348, 0f3FB504F3; + mul.f32 %f351, %f348, 0f3F000000; + add.f32 %f352, %f350, 0f3F800000; + selp.f32 %f353, %f351, %f348, %p57; + selp.f32 %f354, %f352, %f350, %p57; + add.f32 %f355, %f353, 0fBF800000; + add.f32 %f341, %f353, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f340,%f341; + // inline asm + add.f32 %f356, %f355, %f355; + mul.f32 %f357, %f340, %f356; + mul.f32 %f358, %f357, %f357; + mov.f32 %f359, 0f3C4CAF63; + mov.f32 %f360, 0f3B18F0FE; + fma.rn.f32 %f361, %f360, %f358, %f359; + mov.f32 %f362, 0f3DAAAABD; + fma.rn.f32 %f363, %f361, %f358, %f362; + mul.rn.f32 %f364, %f363, %f358; + mul.rn.f32 %f365, %f364, %f357; + sub.f32 %f366, %f355, %f357; + neg.f32 %f367, %f357; + add.f32 %f368, %f366, %f366; + fma.rn.f32 %f369, %f367, %f355, %f368; + mul.rn.f32 %f370, %f340, %f369; + add.f32 %f371, %f365, %f357; + sub.f32 %f372, %f357, %f371; + add.f32 %f373, %f365, %f372; + add.f32 %f374, %f370, %f373; + add.f32 %f375, %f371, %f374; + sub.f32 %f376, %f371, %f375; + add.f32 %f377, %f374, %f376; + mov.f32 %f378, 0f3F317200; + mul.rn.f32 %f379, %f354, %f378; + mov.f32 %f380, 0f35BFBE8E; + mul.rn.f32 %f381, %f354, %f380; + add.f32 %f382, %f379, %f375; + sub.f32 %f383, %f379, %f382; + add.f32 %f384, %f375, %f383; + add.f32 %f385, %f377, %f384; + add.f32 %f386, %f381, %f385; + add.f32 %f387, %f382, %f386; + sub.f32 %f388, %f382, %f387; + add.f32 %f389, %f386, %f388; + mov.f32 %f390, 0f3EE66666; + mul.rn.f32 %f391, %f390, %f387; + neg.f32 %f392, %f391; + fma.rn.f32 %f393, %f390, %f387, %f392; + fma.rn.f32 %f394, %f390, %f389, %f393; + mov.f32 %f395, 0f00000000; + fma.rn.f32 %f396, %f395, %f387, %f394; + add.rn.f32 %f397, %f391, %f396; + neg.f32 %f398, %f397; + add.rn.f32 %f399, %f391, %f398; + add.rn.f32 %f400, %f399, %f396; + mov.b32 %r243, %f397; + setp.eq.s32 %p58, %r243, 1118925336; + add.s32 %r244, %r243, -1; + mov.b32 %f401, %r244; + add.f32 %f402, %f400, 0f37000000; + selp.f32 %f403, %f401, %f397, %p58; + selp.f32 %f91, %f402, %f400, %p58; + mul.f32 %f404, %f403, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f405, %f404; + mov.f32 %f406, 0fBF317200; + fma.rn.f32 %f407, %f405, %f406, %f403; + mov.f32 %f408, 0fB5BFBE8E; + fma.rn.f32 %f409, %f405, %f408, %f407; + mul.f32 %f410, %f409, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f411, %f410; + add.f32 %f412, %f405, 0f00000000; + ex2.approx.f32 %f413, %f412; + mul.f32 %f414, %f411, %f413; + setp.lt.f32 %p59, %f403, 0fC2D20000; + selp.f32 %f415, 0f00000000, %f414, %p59; + setp.gt.f32 %p60, %f403, 0f42D20000; + selp.f32 %f653, 0f7F800000, %f415, %p60; + setp.eq.f32 %p61, %f653, 0f7F800000; + @%p61 bra BB0_66; + + fma.rn.f32 %f653, %f653, %f91, %f653; + +BB0_66: + setp.lt.f32 %p62, %f86, 0f00000000; + setp.eq.f32 %p63, %f89, 0f3F800000; + and.pred %p1, %p62, %p63; + mov.b32 %r245, %f653; + xor.b32 %r246, %r245, -2147483648; + mov.b32 %f416, %r246; + selp.f32 %f655, %f416, %f653, %p1; + setp.eq.f32 %p64, %f86, 0f00000000; + @%p64 bra BB0_69; + bra.uni BB0_67; + +BB0_69: + add.f32 %f419, %f86, %f86; + selp.f32 %f655, %f419, 0f00000000, %p63; + bra.uni BB0_70; + +BB0_107: + mov.u64 %rd117, image_HDR; + cvta.global.u64 %rd112, %rd117; + mov.u32 %r289, 8; + mov.u64 %rd116, 0; + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd112, %r100, %r289, %rd18, %rd19, %rd116, %rd116); + // inline asm + mov.f32 %f600, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs40, %f600;} + + // inline asm + mov.u16 %rs41, 0; + st.v4.u16 [%rd111], {%rs40, %rs40, %rs40, %rs41}; + bra.uni BB0_108; + +BB0_67: + setp.geu.f32 %p65, %f86, 0f00000000; + @%p65 bra BB0_70; + + mov.f32 %f621, 0f3EE66666; + cvt.rzi.f32.f32 %f418, %f621; + setp.neu.f32 %p66, %f418, 0f3EE66666; + selp.f32 %f655, 0f7FFFFFFF, %f655, %p66; + +BB0_70: + add.f32 %f420, %f90, 0f3EE66666; + mov.b32 %r247, %f420; + setp.lt.s32 %p68, %r247, 2139095040; + @%p68 bra BB0_75; + + setp.gtu.f32 %p69, %f90, 0f7F800000; + @%p69 bra BB0_74; + bra.uni BB0_72; + +BB0_74: + add.f32 %f655, %f86, 0f3EE66666; + bra.uni BB0_75; + +BB0_72: + setp.neu.f32 %p70, %f90, 0f7F800000; + @%p70 bra BB0_75; + + selp.f32 %f655, 0fFF800000, 0f7F800000, %p1; + +BB0_75: + mov.f32 %f609, 0fB5BFBE8E; + mov.f32 %f608, 0fBF317200; + mov.f32 %f607, 0f00000000; + mov.f32 %f606, 0f35BFBE8E; + mov.f32 %f605, 0f3F317200; + mov.f32 %f604, 0f3DAAAABD; + mov.f32 %f603, 0f3C4CAF63; + mov.f32 %f602, 0f3B18F0FE; + mov.f32 %f601, 0f3EE66666; + setp.eq.f32 %p71, %f86, 0f3F800000; + selp.f32 %f102, 0f3F800000, %f655, %p71; + abs.f32 %f103, %f87; + setp.lt.f32 %p72, %f103, 0f00800000; + mul.f32 %f423, %f103, 0f4B800000; + selp.f32 %f424, 0fC3170000, 0fC2FE0000, %p72; + selp.f32 %f425, %f423, %f103, %p72; + mov.b32 %r248, %f425; + and.b32 %r249, %r248, 8388607; + or.b32 %r250, %r249, 1065353216; + mov.b32 %f426, %r250; + shr.u32 %r251, %r248, 23; + cvt.rn.f32.u32 %f427, %r251; + add.f32 %f428, %f424, %f427; + setp.gt.f32 %p73, %f426, 0f3FB504F3; + mul.f32 %f429, %f426, 0f3F000000; + add.f32 %f430, %f428, 0f3F800000; + selp.f32 %f431, %f429, %f426, %p73; + selp.f32 %f432, %f430, %f428, %p73; + add.f32 %f433, %f431, 0fBF800000; + add.f32 %f422, %f431, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f421,%f422; + // inline asm + add.f32 %f434, %f433, %f433; + mul.f32 %f435, %f421, %f434; + mul.f32 %f436, %f435, %f435; + fma.rn.f32 %f439, %f602, %f436, %f603; + fma.rn.f32 %f441, %f439, %f436, %f604; + mul.rn.f32 %f442, %f441, %f436; + mul.rn.f32 %f443, %f442, %f435; + sub.f32 %f444, %f433, %f435; + neg.f32 %f445, %f435; + add.f32 %f446, %f444, %f444; + fma.rn.f32 %f447, %f445, %f433, %f446; + mul.rn.f32 %f448, %f421, %f447; + add.f32 %f449, %f443, %f435; + sub.f32 %f450, %f435, %f449; + add.f32 %f451, %f443, %f450; + add.f32 %f452, %f448, %f451; + add.f32 %f453, %f449, %f452; + sub.f32 %f454, %f449, %f453; + add.f32 %f455, %f452, %f454; + mul.rn.f32 %f457, %f432, %f605; + mul.rn.f32 %f459, %f432, %f606; + add.f32 %f460, %f457, %f453; + sub.f32 %f461, %f457, %f460; + add.f32 %f462, %f453, %f461; + add.f32 %f463, %f455, %f462; + add.f32 %f464, %f459, %f463; + add.f32 %f465, %f460, %f464; + sub.f32 %f466, %f460, %f465; + add.f32 %f467, %f464, %f466; + mul.rn.f32 %f469, %f601, %f465; + neg.f32 %f470, %f469; + fma.rn.f32 %f471, %f601, %f465, %f470; + fma.rn.f32 %f472, %f601, %f467, %f471; + fma.rn.f32 %f474, %f607, %f465, %f472; + add.rn.f32 %f475, %f469, %f474; + neg.f32 %f476, %f475; + add.rn.f32 %f477, %f469, %f476; + add.rn.f32 %f478, %f477, %f474; + mov.b32 %r252, %f475; + setp.eq.s32 %p74, %r252, 1118925336; + add.s32 %r253, %r252, -1; + mov.b32 %f479, %r253; + add.f32 %f480, %f478, 0f37000000; + selp.f32 %f481, %f479, %f475, %p74; + selp.f32 %f104, %f480, %f478, %p74; + mul.f32 %f482, %f481, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f483, %f482; + fma.rn.f32 %f485, %f483, %f608, %f481; + fma.rn.f32 %f487, %f483, %f609, %f485; + mul.f32 %f488, %f487, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f489, %f488; + add.f32 %f490, %f483, 0f00000000; + ex2.approx.f32 %f491, %f490; + mul.f32 %f492, %f489, %f491; + setp.lt.f32 %p75, %f481, 0fC2D20000; + selp.f32 %f493, 0f00000000, %f492, %p75; + setp.gt.f32 %p76, %f481, 0f42D20000; + selp.f32 %f656, 0f7F800000, %f493, %p76; + setp.eq.f32 %p77, %f656, 0f7F800000; + @%p77 bra BB0_77; + + fma.rn.f32 %f656, %f656, %f104, %f656; + +BB0_77: + setp.lt.f32 %p78, %f87, 0f00000000; + and.pred %p2, %p78, %p63; + mov.b32 %r254, %f656; + xor.b32 %r255, %r254, -2147483648; + mov.b32 %f494, %r255; + selp.f32 %f658, %f494, %f656, %p2; + setp.eq.f32 %p80, %f87, 0f00000000; + @%p80 bra BB0_80; + bra.uni BB0_78; + +BB0_80: + add.f32 %f497, %f87, %f87; + selp.f32 %f658, %f497, 0f00000000, %p63; + bra.uni BB0_81; + +BB0_78: + setp.geu.f32 %p81, %f87, 0f00000000; + @%p81 bra BB0_81; + + mov.f32 %f620, 0f3EE66666; + cvt.rzi.f32.f32 %f496, %f620; + setp.neu.f32 %p82, %f496, 0f3EE66666; + selp.f32 %f658, 0f7FFFFFFF, %f658, %p82; + +BB0_81: + add.f32 %f498, %f103, 0f3EE66666; + mov.b32 %r256, %f498; + setp.lt.s32 %p84, %r256, 2139095040; + @%p84 bra BB0_86; + + setp.gtu.f32 %p85, %f103, 0f7F800000; + @%p85 bra BB0_85; + bra.uni BB0_83; + +BB0_85: + add.f32 %f658, %f87, 0f3EE66666; + bra.uni BB0_86; + +BB0_83: + setp.neu.f32 %p86, %f103, 0f7F800000; + @%p86 bra BB0_86; + + selp.f32 %f658, 0fFF800000, 0f7F800000, %p2; + +BB0_86: + mov.f32 %f618, 0fB5BFBE8E; + mov.f32 %f617, 0fBF317200; + mov.f32 %f616, 0f00000000; + mov.f32 %f615, 0f35BFBE8E; + mov.f32 %f614, 0f3F317200; + mov.f32 %f613, 0f3DAAAABD; + mov.f32 %f612, 0f3C4CAF63; + mov.f32 %f611, 0f3B18F0FE; + mov.f32 %f610, 0f3EE66666; + setp.eq.f32 %p87, %f87, 0f3F800000; + selp.f32 %f115, 0f3F800000, %f658, %p87; + abs.f32 %f116, %f88; + setp.lt.f32 %p88, %f116, 0f00800000; + mul.f32 %f501, %f116, 0f4B800000; + selp.f32 %f502, 0fC3170000, 0fC2FE0000, %p88; + selp.f32 %f503, %f501, %f116, %p88; + mov.b32 %r257, %f503; + and.b32 %r258, %r257, 8388607; + or.b32 %r259, %r258, 1065353216; + mov.b32 %f504, %r259; + shr.u32 %r260, %r257, 23; + cvt.rn.f32.u32 %f505, %r260; + add.f32 %f506, %f502, %f505; + setp.gt.f32 %p89, %f504, 0f3FB504F3; + mul.f32 %f507, %f504, 0f3F000000; + add.f32 %f508, %f506, 0f3F800000; + selp.f32 %f509, %f507, %f504, %p89; + selp.f32 %f510, %f508, %f506, %p89; + add.f32 %f511, %f509, 0fBF800000; + add.f32 %f500, %f509, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f499,%f500; + // inline asm + add.f32 %f512, %f511, %f511; + mul.f32 %f513, %f499, %f512; + mul.f32 %f514, %f513, %f513; + fma.rn.f32 %f517, %f611, %f514, %f612; + fma.rn.f32 %f519, %f517, %f514, %f613; + mul.rn.f32 %f520, %f519, %f514; + mul.rn.f32 %f521, %f520, %f513; + sub.f32 %f522, %f511, %f513; + neg.f32 %f523, %f513; + add.f32 %f524, %f522, %f522; + fma.rn.f32 %f525, %f523, %f511, %f524; + mul.rn.f32 %f526, %f499, %f525; + add.f32 %f527, %f521, %f513; + sub.f32 %f528, %f513, %f527; + add.f32 %f529, %f521, %f528; + add.f32 %f530, %f526, %f529; + add.f32 %f531, %f527, %f530; + sub.f32 %f532, %f527, %f531; + add.f32 %f533, %f530, %f532; + mul.rn.f32 %f535, %f510, %f614; + mul.rn.f32 %f537, %f510, %f615; + add.f32 %f538, %f535, %f531; + sub.f32 %f539, %f535, %f538; + add.f32 %f540, %f531, %f539; + add.f32 %f541, %f533, %f540; + add.f32 %f542, %f537, %f541; + add.f32 %f543, %f538, %f542; + sub.f32 %f544, %f538, %f543; + add.f32 %f545, %f542, %f544; + mul.rn.f32 %f547, %f610, %f543; + neg.f32 %f548, %f547; + fma.rn.f32 %f549, %f610, %f543, %f548; + fma.rn.f32 %f550, %f610, %f545, %f549; + fma.rn.f32 %f552, %f616, %f543, %f550; + add.rn.f32 %f553, %f547, %f552; + neg.f32 %f554, %f553; + add.rn.f32 %f555, %f547, %f554; + add.rn.f32 %f556, %f555, %f552; + mov.b32 %r261, %f553; + setp.eq.s32 %p90, %r261, 1118925336; + add.s32 %r262, %r261, -1; + mov.b32 %f557, %r262; + add.f32 %f558, %f556, 0f37000000; + selp.f32 %f559, %f557, %f553, %p90; + selp.f32 %f117, %f558, %f556, %p90; + mul.f32 %f560, %f559, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f561, %f560; + fma.rn.f32 %f563, %f561, %f617, %f559; + fma.rn.f32 %f565, %f561, %f618, %f563; + mul.f32 %f566, %f565, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f567, %f566; + add.f32 %f568, %f561, 0f00000000; + ex2.approx.f32 %f569, %f568; + mul.f32 %f570, %f567, %f569; + setp.lt.f32 %p91, %f559, 0fC2D20000; + selp.f32 %f571, 0f00000000, %f570, %p91; + setp.gt.f32 %p92, %f559, 0f42D20000; + selp.f32 %f659, 0f7F800000, %f571, %p92; + setp.eq.f32 %p93, %f659, 0f7F800000; + @%p93 bra BB0_88; + + fma.rn.f32 %f659, %f659, %f117, %f659; + +BB0_88: + setp.lt.f32 %p94, %f88, 0f00000000; + and.pred %p3, %p94, %p63; + mov.b32 %r263, %f659; + xor.b32 %r264, %r263, -2147483648; + mov.b32 %f572, %r264; + selp.f32 %f661, %f572, %f659, %p3; + setp.eq.f32 %p96, %f88, 0f00000000; + @%p96 bra BB0_91; + bra.uni BB0_89; + +BB0_91: + add.f32 %f575, %f88, %f88; + selp.f32 %f661, %f575, 0f00000000, %p63; + bra.uni BB0_92; + +BB0_89: + setp.geu.f32 %p97, %f88, 0f00000000; + @%p97 bra BB0_92; + + mov.f32 %f619, 0f3EE66666; + cvt.rzi.f32.f32 %f574, %f619; + setp.neu.f32 %p98, %f574, 0f3EE66666; + selp.f32 %f661, 0f7FFFFFFF, %f661, %p98; + +BB0_92: + add.f32 %f576, %f116, 0f3EE66666; + mov.b32 %r265, %f576; + setp.lt.s32 %p100, %r265, 2139095040; + @%p100 bra BB0_97; + + setp.gtu.f32 %p101, %f116, 0f7F800000; + @%p101 bra BB0_96; + bra.uni BB0_94; + +BB0_96: + add.f32 %f661, %f88, 0f3EE66666; + bra.uni BB0_97; + +BB0_94: + setp.neu.f32 %p102, %f116, 0f7F800000; + @%p102 bra BB0_97; + + selp.f32 %f661, 0fFF800000, 0f7F800000, %p3; + +BB0_97: + mov.u32 %r291, 4; + mov.u64 %rd118, 0; + mov.u32 %r290, 2; + setp.eq.f32 %p103, %f88, 0f3F800000; + selp.f32 %f577, 0f3F800000, %f661, %p103; + cvt.u64.u32 %rd67, %r3; + cvt.u64.u32 %rd66, %r2; + mov.u64 %rd70, image; + cvta.global.u64 %rd65, %rd70; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd65, %r290, %r291, %rd66, %rd67, %rd118, %rd118); + // inline asm + cvt.sat.f32.f32 %f578, %f577; + mul.f32 %f579, %f578, 0f437FFD71; + cvt.rzi.u32.f32 %r268, %f579; + cvt.sat.f32.f32 %f580, %f115; + mul.f32 %f581, %f580, 0f437FFD71; + cvt.rzi.u32.f32 %r269, %f581; + cvt.sat.f32.f32 %f582, %f102; + mul.f32 %f583, %f582, 0f437FFD71; + cvt.rzi.u32.f32 %r270, %f583; + cvt.u16.u32 %rs10, %r268; + cvt.u16.u32 %rs11, %r270; + cvt.u16.u32 %rs12, %r269; + mov.u16 %rs13, 255; + st.v4.u8 [%rd64], {%rs10, %rs12, %rs11, %rs13}; + ld.global.u32 %r324, [imageEnabled]; + +BB0_98: + and.b32 %r271, %r324, 4; + setp.eq.s32 %p104, %r271, 0; + @%p104 bra BB0_108; + + ld.global.u32 %r272, [additive]; + setp.eq.s32 %p105, %r272, 0; + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + mov.f32 %f584, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs14, %f584;} + + // inline asm + @%p105 bra BB0_101; + + mov.u64 %rd119, 0; + mov.u32 %r292, 2; + mov.u64 %rd83, image_HDR; + cvta.global.u64 %rd72, %rd83; + mov.u32 %r276, 8; + // inline asm + call (%rd71), _rt_buffer_get_64, (%rd72, %r292, %r276, %rd16, %rd17, %rd119, %rd119); + // inline asm + ld.v4.u16 {%rs21, %rs22, %rs23, %rs24}, [%rd71]; + // inline asm + { cvt.f32.f16 %f585, %rs21;} + + // inline asm + // inline asm + { cvt.f32.f16 %f586, %rs22;} + + // inline asm + // inline asm + { cvt.f32.f16 %f587, %rs23;} + + // inline asm + // inline asm + call (%rd77), _rt_buffer_get_64, (%rd72, %r292, %r276, %rd16, %rd17, %rd119, %rd119); + // inline asm + add.f32 %f588, %f86, %f585; + add.f32 %f589, %f87, %f586; + add.f32 %f590, %f88, %f587; + // inline asm + { cvt.rn.f16.f32 %rs20, %f590;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs19, %f589;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs18, %f588;} + + // inline asm + st.v4.u16 [%rd77], {%rs18, %rs19, %rs20, %rs14}; + bra.uni BB0_108; + +BB0_101: + mov.u64 %rd120, 0; + mov.u32 %r293, 2; + mov.u64 %rd90, image_HDR; + cvta.global.u64 %rd85, %rd90; + mov.u32 %r278, 8; + // inline asm + call (%rd84), _rt_buffer_get_64, (%rd85, %r293, %r278, %rd16, %rd17, %rd120, %rd120); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f88;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f87;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f86;} + + // inline asm + st.v4.u16 [%rd84], {%rs25, %rs26, %rs27, %rs14}; + +BB0_108: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTex.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTex.ptx.meta new file mode 100644 index 00000000..59248b67 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSkyTex.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39bce8f7738731b429502ed36b911ffc +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx new file mode 100644 index 00000000..e10ae529 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx @@ -0,0 +1,1787 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 directDir[12]; +.global .align 4 .b8 directColor[12]; +.global .align 4 .f32 shadowSpread; +.global .align 4 .u32 samples; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9directDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11directColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12shadowSpreadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9directDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11directColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12shadowSpreadE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9directDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11directColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12shadowSpreadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9directDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11directColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12shadowSpreadE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9directDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11directColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12shadowSpreadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<129>; + .reg .b16 %rs<76>; + .reg .f32 %f<729>; + .reg .b32 %r<371>; + .reg .b64 %rd<187>; + + + mov.u64 %rd186, __local_depot0; + cvta.local.u64 %SP, %rd186; + ld.global.v2.u32 {%r106, %r107}, [pixelID]; + cvt.u64.u32 %rd24, %r106; + cvt.u64.u32 %rd25, %r107; + mov.u64 %rd28, uvnormal; + cvta.global.u64 %rd23, %rd28; + mov.u32 %r104, 2; + mov.u32 %r105, 4; + mov.u64 %rd27, 0; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r104, %r105, %rd24, %rd25, %rd27, %rd27); + // inline asm + ld.u32 %r1, [%rd22]; + shr.u32 %r110, %r1, 16; + cvt.u16.u32 %rs1, %r110; + and.b16 %rs4, %rs1, 255; + cvt.u16.u32 %rs5, %r1; + or.b16 %rs6, %rs5, %rs4; + setp.eq.s16 %p5, %rs6, 0; + mov.f32 %f697, 0f00000000; + mov.f32 %f698, %f697; + mov.f32 %f699, %f697; + @%p5 bra BB0_2; + + ld.u8 %rs7, [%rd22+1]; + and.b16 %rs9, %rs5, 255; + cvt.rn.f32.u16 %f128, %rs9; + div.rn.f32 %f129, %f128, 0f437F0000; + fma.rn.f32 %f130, %f129, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f131, %rs7; + div.rn.f32 %f132, %f131, 0f437F0000; + fma.rn.f32 %f133, %f132, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f134, %rs4; + div.rn.f32 %f135, %f134, 0f437F0000; + fma.rn.f32 %f136, %f135, 0f40000000, 0fBF800000; + mul.f32 %f137, %f133, %f133; + fma.rn.f32 %f138, %f130, %f130, %f137; + fma.rn.f32 %f139, %f136, %f136, %f138; + sqrt.rn.f32 %f140, %f139; + rcp.rn.f32 %f141, %f140; + mul.f32 %f697, %f130, %f141; + mul.f32 %f698, %f133, %f141; + mul.f32 %f699, %f136, %f141; + +BB0_2: + ld.global.v2.u32 {%r111, %r112}, [pixelID]; + ld.global.v2.u32 {%r114, %r115}, [tileInfo]; + add.s32 %r2, %r111, %r114; + add.s32 %r3, %r112, %r115; + setp.eq.f32 %p6, %f698, 0f00000000; + setp.eq.f32 %p7, %f697, 0f00000000; + and.pred %p8, %p7, %p6; + setp.eq.f32 %p9, %f699, 0f00000000; + and.pred %p10, %p8, %p9; + @%p10 bra BB0_122; + bra.uni BB0_3; + +BB0_122: + ld.global.u32 %r370, [imageEnabled]; + and.b32 %r314, %r370, 1; + setp.eq.b32 %p124, %r314, 1; + @!%p124 bra BB0_124; + bra.uni BB0_123; + +BB0_123: + cvt.u64.u32 %rd139, %r2; + cvt.u64.u32 %rd140, %r3; + mov.u64 %rd143, image; + cvta.global.u64 %rd138, %rd143; + // inline asm + call (%rd137), _rt_buffer_get_64, (%rd138, %r104, %r105, %rd139, %rd140, %rd27, %rd27); + // inline asm + mov.u16 %rs57, 0; + st.v4.u8 [%rd137], {%rs57, %rs57, %rs57, %rs57}; + ld.global.u32 %r370, [imageEnabled]; + +BB0_124: + and.b32 %r317, %r370, 8; + setp.eq.s32 %p125, %r317, 0; + @%p125 bra BB0_126; + + cvt.u64.u32 %rd146, %r2; + cvt.u64.u32 %rd147, %r3; + mov.u64 %rd150, image_Mask; + cvta.global.u64 %rd145, %rd150; + // inline asm + call (%rd144), _rt_buffer_get_64, (%rd145, %r104, %r104, %rd146, %rd147, %rd27, %rd27); + // inline asm + mov.f32 %f661, 0f00000000; + cvt.rzi.u32.f32 %r320, %f661; + cvt.u16.u32 %rs58, %r320; + mov.u16 %rs59, 0; + st.v2.u8 [%rd144], {%rs58, %rs59}; + ld.global.u32 %r370, [imageEnabled]; + +BB0_126: + and.b32 %r321, %r370, 4; + setp.eq.s32 %p126, %r321, 0; + @%p126 bra BB0_130; + + ld.global.u32 %r322, [additive]; + setp.eq.s32 %p127, %r322, 0; + cvt.u64.u32 %rd20, %r2; + cvt.u64.u32 %rd21, %r3; + @%p127 bra BB0_129; + + mov.u64 %rd163, image_HDR; + cvta.global.u64 %rd152, %rd163; + mov.u32 %r326, 8; + // inline asm + call (%rd151), _rt_buffer_get_64, (%rd152, %r104, %r326, %rd20, %rd21, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs66, %rs67, %rs68, %rs69}, [%rd151]; + // inline asm + { cvt.f32.f16 %f662, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f663, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f664, %rs68;} + + // inline asm + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd152, %r104, %r326, %rd20, %rd21, %rd27, %rd27); + // inline asm + add.f32 %f665, %f662, 0f00000000; + add.f32 %f666, %f663, 0f00000000; + add.f32 %f667, %f664, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs65, %f667;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f666;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f665;} + + // inline asm + mov.u16 %rs70, 0; + st.v4.u16 [%rd157], {%rs63, %rs64, %rs65, %rs70}; + bra.uni BB0_130; + +BB0_3: + ld.global.f32 %f9, [directDir+8]; + ld.global.f32 %f8, [directDir+4]; + ld.global.f32 %f7, [directDir]; + mul.f32 %f142, %f697, %f7; + mul.f32 %f143, %f698, %f8; + neg.f32 %f144, %f143; + sub.f32 %f145, %f144, %f142; + mul.f32 %f146, %f699, %f9; + sub.f32 %f10, %f145, %f146; + ld.global.u32 %r119, [ignoreNormal]; + setp.eq.s32 %p11, %r119, 0; + setp.le.f32 %p12, %f10, 0f00000000; + and.pred %p13, %p11, %p12; + ld.global.u32 %r368, [imageEnabled]; + and.b32 %r120, %r368, 32; + setp.eq.s32 %p14, %r120, 0; + and.pred %p15, %p13, %p14; + @%p15 bra BB0_112; + bra.uni BB0_4; + +BB0_112: + and.b32 %r297, %r368, 1; + setp.eq.b32 %p119, %r297, 1; + @!%p119 bra BB0_114; + bra.uni BB0_113; + +BB0_113: + cvt.u64.u32 %rd98, %r2; + cvt.u64.u32 %rd99, %r3; + mov.u64 %rd102, image; + cvta.global.u64 %rd97, %rd102; + // inline asm + call (%rd96), _rt_buffer_get_64, (%rd97, %r104, %r105, %rd98, %rd99, %rd27, %rd27); + // inline asm + mov.u16 %rs37, 255; + mov.u16 %rs38, 0; + st.v4.u8 [%rd96], {%rs38, %rs38, %rs38, %rs37}; + ld.global.u32 %r368, [imageEnabled]; + +BB0_114: + and.b32 %r300, %r368, 8; + setp.eq.s32 %p120, %r300, 0; + @%p120 bra BB0_116; + + cvt.u64.u32 %rd105, %r2; + cvt.u64.u32 %rd106, %r3; + mov.u64 %rd109, image_Mask; + cvta.global.u64 %rd104, %rd109; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd104, %r104, %r104, %rd105, %rd106, %rd27, %rd27); + // inline asm + mov.f32 %f650, 0f00000000; + cvt.rzi.u32.f32 %r303, %f650; + cvt.u16.u32 %rs39, %r303; + mov.u16 %rs40, 255; + st.v2.u8 [%rd103], {%rs39, %rs40}; + ld.global.u32 %r368, [imageEnabled]; + +BB0_116: + and.b32 %r304, %r368, 4; + setp.eq.s32 %p121, %r304, 0; + @%p121 bra BB0_120; + + ld.global.u32 %r305, [additive]; + setp.eq.s32 %p122, %r305, 0; + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + mov.f32 %f651, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs41, %f651;} + + // inline asm + @%p122 bra BB0_119; + + mov.u64 %rd122, image_HDR; + cvta.global.u64 %rd111, %rd122; + mov.u32 %r309, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r104, %r309, %rd18, %rd19, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs48, %rs49, %rs50, %rs51}, [%rd110]; + // inline asm + { cvt.f32.f16 %f652, %rs48;} + + // inline asm + // inline asm + { cvt.f32.f16 %f653, %rs49;} + + // inline asm + // inline asm + { cvt.f32.f16 %f654, %rs50;} + + // inline asm + // inline asm + call (%rd116), _rt_buffer_get_64, (%rd111, %r104, %r309, %rd18, %rd19, %rd27, %rd27); + // inline asm + add.f32 %f655, %f652, 0f00000000; + add.f32 %f656, %f653, 0f00000000; + add.f32 %f657, %f654, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs47, %f657;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f656;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f655;} + + // inline asm + st.v4.u16 [%rd116], {%rs45, %rs46, %rs47, %rs41}; + bra.uni BB0_120; + +BB0_4: + ld.global.v2.u32 {%r125, %r126}, [pixelID]; + cvt.u64.u32 %rd31, %r125; + cvt.u64.u32 %rd32, %r126; + mov.u64 %rd41, uvpos; + cvta.global.u64 %rd30, %rd41; + mov.u32 %r122, 12; + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd30, %r104, %r122, %rd31, %rd32, %rd27, %rd27); + // inline asm + ld.f32 %f148, [%rd29+8]; + ld.f32 %f149, [%rd29+4]; + ld.f32 %f150, [%rd29]; + mul.f32 %f151, %f150, 0f3456BF95; + mul.f32 %f152, %f149, 0f3456BF95; + mul.f32 %f153, %f148, 0f3456BF95; + abs.f32 %f154, %f697; + div.rn.f32 %f155, %f151, %f154; + abs.f32 %f156, %f698; + div.rn.f32 %f157, %f152, %f156; + abs.f32 %f158, %f699; + div.rn.f32 %f159, %f153, %f158; + abs.f32 %f160, %f155; + abs.f32 %f161, %f157; + abs.f32 %f162, %f159; + mov.f32 %f163, 0f38D1B717; + max.f32 %f164, %f160, %f163; + max.f32 %f165, %f161, %f163; + max.f32 %f166, %f162, %f163; + fma.rn.f32 %f11, %f697, %f164, %f150; + fma.rn.f32 %f12, %f698, %f165, %f149; + fma.rn.f32 %f13, %f699, %f166, %f148; + abs.f32 %f167, %f9; + abs.f32 %f168, %f7; + setp.gt.f32 %p16, %f168, %f167; + neg.f32 %f169, %f8; + selp.f32 %f170, %f169, 0f00000000, %p16; + neg.f32 %f171, %f9; + selp.f32 %f172, %f7, %f171, %p16; + selp.f32 %f173, 0f00000000, %f8, %p16; + mul.f32 %f174, %f172, %f172; + fma.rn.f32 %f175, %f170, %f170, %f174; + fma.rn.f32 %f176, %f173, %f173, %f175; + sqrt.rn.f32 %f177, %f176; + rcp.rn.f32 %f178, %f177; + mul.f32 %f14, %f170, %f178; + mul.f32 %f15, %f172, %f178; + mul.f32 %f16, %f173, %f178; + ld.global.v2.u32 {%r129, %r130}, [pixelID]; + cvt.u64.u32 %rd37, %r129; + cvt.u64.u32 %rd38, %r130; + mov.u64 %rd42, rnd_seeds; + cvta.global.u64 %rd36, %rd42; + // inline asm + call (%rd35), _rt_buffer_get_64, (%rd36, %r104, %r105, %rd37, %rd38, %rd27, %rd27); + // inline asm + ld.global.u32 %r337, [samples]; + mov.f32 %f714, 0f00000000; + setp.lt.s32 %p17, %r337, 1; + @%p17 bra BB0_56; + + cvt.rn.f32.s32 %f180, %r337; + rcp.rn.f32 %f17, %f180; + ld.u32 %r363, [%rd35]; + mul.f32 %f18, %f11, 0f3456BF95; + mul.f32 %f19, %f12, 0f3456BF95; + mul.f32 %f20, %f13, 0f3456BF95; + mul.f32 %f181, %f7, %f15; + mul.f32 %f182, %f8, %f14; + sub.f32 %f21, %f182, %f181; + mul.f32 %f183, %f9, %f14; + mul.f32 %f184, %f7, %f16; + sub.f32 %f22, %f184, %f183; + mul.f32 %f185, %f8, %f16; + mul.f32 %f186, %f9, %f15; + sub.f32 %f23, %f186, %f185; + mov.f32 %f714, 0f00000000; + mov.u32 %r338, 0; + abs.f32 %f187, %f19; + abs.f32 %f188, %f18; + max.f32 %f189, %f188, %f187; + abs.f32 %f190, %f20; + max.f32 %f191, %f189, %f190; + +BB0_6: + setp.lt.s32 %p18, %r337, 1; + @%p18 bra BB0_55; + + cvt.rn.f32.s32 %f25, %r338; + max.f32 %f26, %f191, %f163; + mov.u32 %r340, 0; + +BB0_8: + mad.lo.s32 %r135, %r363, 1664525, 1013904223; + and.b32 %r136, %r135, 16777215; + cvt.rn.f32.u32 %f193, %r136; + fma.rn.f32 %f194, %f193, 0f33800000, %f25; + mul.f32 %f195, %f17, %f194; + mad.lo.s32 %r363, %r135, 1664525, 1013904223; + and.b32 %r137, %r363, 16777215; + cvt.rn.f32.u32 %f196, %r137; + cvt.rn.f32.s32 %f197, %r340; + fma.rn.f32 %f198, %f196, 0f33800000, %f197; + mul.f32 %f199, %f17, %f198; + sqrt.rn.f32 %f28, %f195; + mul.f32 %f708, %f199, 0f40C90FDB; + abs.f32 %f30, %f708; + setp.neu.f32 %p19, %f30, 0f7F800000; + mov.f32 %f702, %f708; + @%p19 bra BB0_10; + + mov.f32 %f200, 0f00000000; + mul.rn.f32 %f702, %f708, %f200; + +BB0_10: + mul.f32 %f201, %f702, 0f3F22F983; + cvt.rni.s32.f32 %r351, %f201; + cvt.rn.f32.s32 %f202, %r351; + neg.f32 %f203, %f202; + mov.f32 %f204, 0f3FC90FDA; + fma.rn.f32 %f205, %f203, %f204, %f702; + mov.f32 %f206, 0f33A22168; + fma.rn.f32 %f207, %f203, %f206, %f205; + mov.f32 %f208, 0f27C234C5; + fma.rn.f32 %f703, %f203, %f208, %f207; + abs.f32 %f209, %f702; + setp.leu.f32 %p20, %f209, 0f47CE4780; + @%p20 bra BB0_21; + + mov.b32 %r14, %f702; + shr.u32 %r15, %r14, 23; + shl.b32 %r140, %r14, 8; + or.b32 %r16, %r140, -2147483648; + add.u64 %rd44, %SP, 0; + cvta.to.local.u64 %rd183, %rd44; + mov.u32 %r343, 0; + mov.u64 %rd182, __cudart_i2opi_f; + mov.u32 %r342, -6; + +BB0_12: + .pragma "nounroll"; + ld.const.u32 %r143, [%rd182]; + // inline asm + { + mad.lo.cc.u32 %r141, %r143, %r16, %r343; + madc.hi.u32 %r343, %r143, %r16, 0; + } + // inline asm + st.local.u32 [%rd183], %r141; + add.s64 %rd183, %rd183, 4; + add.s64 %rd182, %rd182, 4; + add.s32 %r342, %r342, 1; + setp.ne.s32 %p21, %r342, 0; + @%p21 bra BB0_12; + + and.b32 %r146, %r15, 255; + add.s32 %r147, %r146, -128; + shr.u32 %r148, %r147, 5; + and.b32 %r21, %r14, -2147483648; + cvta.to.local.u64 %rd46, %rd44; + st.local.u32 [%rd46+24], %r343; + mov.u32 %r149, 6; + sub.s32 %r150, %r149, %r148; + mul.wide.s32 %rd47, %r150, 4; + add.s64 %rd8, %rd46, %rd47; + ld.local.u32 %r344, [%rd8]; + ld.local.u32 %r345, [%rd8+-4]; + and.b32 %r24, %r15, 31; + setp.eq.s32 %p22, %r24, 0; + @%p22 bra BB0_15; + + mov.u32 %r151, 32; + sub.s32 %r152, %r151, %r24; + shr.u32 %r153, %r345, %r152; + shl.b32 %r154, %r344, %r24; + add.s32 %r344, %r153, %r154; + ld.local.u32 %r155, [%rd8+-8]; + shr.u32 %r156, %r155, %r152; + shl.b32 %r157, %r345, %r24; + add.s32 %r345, %r156, %r157; + +BB0_15: + shr.u32 %r158, %r345, 30; + shl.b32 %r159, %r344, 2; + add.s32 %r346, %r158, %r159; + shl.b32 %r30, %r345, 2; + shr.u32 %r160, %r346, 31; + shr.u32 %r161, %r344, 30; + add.s32 %r31, %r160, %r161; + setp.eq.s32 %p23, %r160, 0; + @%p23 bra BB0_16; + bra.uni BB0_17; + +BB0_16: + mov.u32 %r347, %r21; + mov.u32 %r348, %r30; + bra.uni BB0_18; + +BB0_17: + not.b32 %r162, %r346; + neg.s32 %r348, %r30; + setp.eq.s32 %p24, %r30, 0; + selp.u32 %r163, 1, 0, %p24; + add.s32 %r346, %r163, %r162; + xor.b32 %r347, %r21, -2147483648; + +BB0_18: + clz.b32 %r350, %r346; + setp.eq.s32 %p25, %r350, 0; + shl.b32 %r164, %r346, %r350; + mov.u32 %r165, 32; + sub.s32 %r166, %r165, %r350; + shr.u32 %r167, %r348, %r166; + add.s32 %r168, %r167, %r164; + selp.b32 %r39, %r346, %r168, %p25; + mov.u32 %r169, -921707870; + mul.hi.u32 %r349, %r39, %r169; + setp.eq.s32 %p26, %r21, 0; + neg.s32 %r170, %r31; + selp.b32 %r351, %r31, %r170, %p26; + setp.lt.s32 %p27, %r349, 1; + @%p27 bra BB0_20; + + mul.lo.s32 %r171, %r39, -921707870; + shr.u32 %r172, %r171, 31; + shl.b32 %r173, %r349, 1; + add.s32 %r349, %r172, %r173; + add.s32 %r350, %r350, 1; + +BB0_20: + mov.u32 %r174, 126; + sub.s32 %r175, %r174, %r350; + shl.b32 %r176, %r175, 23; + add.s32 %r177, %r349, 1; + shr.u32 %r178, %r177, 7; + add.s32 %r179, %r178, 1; + shr.u32 %r180, %r179, 1; + add.s32 %r181, %r180, %r176; + or.b32 %r182, %r181, %r347; + mov.b32 %f703, %r182; + +BB0_21: + mul.rn.f32 %f36, %f703, %f703; + add.s32 %r47, %r351, 1; + and.b32 %r48, %r47, 1; + setp.eq.s32 %p28, %r48, 0; + @%p28 bra BB0_23; + bra.uni BB0_22; + +BB0_23: + mov.f32 %f212, 0f3C08839E; + mov.f32 %f213, 0fB94CA1F9; + fma.rn.f32 %f704, %f213, %f36, %f212; + bra.uni BB0_24; + +BB0_22: + mov.f32 %f210, 0fBAB6061A; + mov.f32 %f211, 0f37CCF5CE; + fma.rn.f32 %f704, %f211, %f36, %f210; + +BB0_24: + @%p28 bra BB0_26; + bra.uni BB0_25; + +BB0_26: + mov.f32 %f217, 0fBE2AAAA3; + fma.rn.f32 %f218, %f704, %f36, %f217; + mov.f32 %f219, 0f00000000; + fma.rn.f32 %f705, %f218, %f36, %f219; + bra.uni BB0_27; + +BB0_25: + mov.f32 %f214, 0f3D2AAAA5; + fma.rn.f32 %f215, %f704, %f36, %f214; + mov.f32 %f216, 0fBF000000; + fma.rn.f32 %f705, %f215, %f36, %f216; + +BB0_27: + fma.rn.f32 %f706, %f705, %f703, %f703; + @%p28 bra BB0_29; + + mov.f32 %f220, 0f3F800000; + fma.rn.f32 %f706, %f705, %f36, %f220; + +BB0_29: + and.b32 %r183, %r47, 2; + setp.eq.s32 %p31, %r183, 0; + @%p31 bra BB0_31; + + mov.f32 %f221, 0f00000000; + mov.f32 %f222, 0fBF800000; + fma.rn.f32 %f706, %f706, %f222, %f221; + +BB0_31: + @%p19 bra BB0_33; + + mov.f32 %f223, 0f00000000; + mul.rn.f32 %f708, %f708, %f223; + +BB0_33: + mul.f32 %f224, %f708, 0f3F22F983; + cvt.rni.s32.f32 %r361, %f224; + cvt.rn.f32.s32 %f225, %r361; + neg.f32 %f226, %f225; + fma.rn.f32 %f228, %f226, %f204, %f708; + fma.rn.f32 %f230, %f226, %f206, %f228; + fma.rn.f32 %f709, %f226, %f208, %f230; + abs.f32 %f232, %f708; + setp.leu.f32 %p33, %f232, 0f47CE4780; + @%p33 bra BB0_44; + + mov.b32 %r50, %f708; + shr.u32 %r51, %r50, 23; + shl.b32 %r186, %r50, 8; + or.b32 %r52, %r186, -2147483648; + add.u64 %rd49, %SP, 0; + cvta.to.local.u64 %rd185, %rd49; + mov.u32 %r353, 0; + mov.u64 %rd184, __cudart_i2opi_f; + mov.u32 %r352, -6; + +BB0_35: + .pragma "nounroll"; + ld.const.u32 %r189, [%rd184]; + // inline asm + { + mad.lo.cc.u32 %r187, %r189, %r52, %r353; + madc.hi.u32 %r353, %r189, %r52, 0; + } + // inline asm + st.local.u32 [%rd185], %r187; + add.s64 %rd185, %rd185, 4; + add.s64 %rd184, %rd184, 4; + add.s32 %r352, %r352, 1; + setp.ne.s32 %p34, %r352, 0; + @%p34 bra BB0_35; + + and.b32 %r192, %r51, 255; + add.s32 %r193, %r192, -128; + shr.u32 %r194, %r193, 5; + and.b32 %r57, %r50, -2147483648; + cvta.to.local.u64 %rd51, %rd49; + st.local.u32 [%rd51+24], %r353; + mov.u32 %r195, 6; + sub.s32 %r196, %r195, %r194; + mul.wide.s32 %rd52, %r196, 4; + add.s64 %rd14, %rd51, %rd52; + ld.local.u32 %r354, [%rd14]; + ld.local.u32 %r355, [%rd14+-4]; + and.b32 %r60, %r51, 31; + setp.eq.s32 %p35, %r60, 0; + @%p35 bra BB0_38; + + mov.u32 %r197, 32; + sub.s32 %r198, %r197, %r60; + shr.u32 %r199, %r355, %r198; + shl.b32 %r200, %r354, %r60; + add.s32 %r354, %r199, %r200; + ld.local.u32 %r201, [%rd14+-8]; + shr.u32 %r202, %r201, %r198; + shl.b32 %r203, %r355, %r60; + add.s32 %r355, %r202, %r203; + +BB0_38: + shr.u32 %r204, %r355, 30; + shl.b32 %r205, %r354, 2; + add.s32 %r356, %r204, %r205; + shl.b32 %r66, %r355, 2; + shr.u32 %r206, %r356, 31; + shr.u32 %r207, %r354, 30; + add.s32 %r67, %r206, %r207; + setp.eq.s32 %p36, %r206, 0; + @%p36 bra BB0_39; + bra.uni BB0_40; + +BB0_39: + mov.u32 %r357, %r57; + mov.u32 %r358, %r66; + bra.uni BB0_41; + +BB0_40: + not.b32 %r208, %r356; + neg.s32 %r358, %r66; + setp.eq.s32 %p37, %r66, 0; + selp.u32 %r209, 1, 0, %p37; + add.s32 %r356, %r209, %r208; + xor.b32 %r357, %r57, -2147483648; + +BB0_41: + clz.b32 %r360, %r356; + setp.eq.s32 %p38, %r360, 0; + shl.b32 %r210, %r356, %r360; + mov.u32 %r211, 32; + sub.s32 %r212, %r211, %r360; + shr.u32 %r213, %r358, %r212; + add.s32 %r214, %r213, %r210; + selp.b32 %r75, %r356, %r214, %p38; + mov.u32 %r215, -921707870; + mul.hi.u32 %r359, %r75, %r215; + setp.eq.s32 %p39, %r57, 0; + neg.s32 %r216, %r67; + selp.b32 %r361, %r67, %r216, %p39; + setp.lt.s32 %p40, %r359, 1; + @%p40 bra BB0_43; + + mul.lo.s32 %r217, %r75, -921707870; + shr.u32 %r218, %r217, 31; + shl.b32 %r219, %r359, 1; + add.s32 %r359, %r218, %r219; + add.s32 %r360, %r360, 1; + +BB0_43: + mov.u32 %r220, 126; + sub.s32 %r221, %r220, %r360; + shl.b32 %r222, %r221, 23; + add.s32 %r223, %r359, 1; + shr.u32 %r224, %r223, 7; + add.s32 %r225, %r224, 1; + shr.u32 %r226, %r225, 1; + add.s32 %r227, %r226, %r222; + or.b32 %r228, %r227, %r357; + mov.b32 %f709, %r228; + +BB0_44: + mul.rn.f32 %f53, %f709, %f709; + and.b32 %r83, %r361, 1; + setp.eq.s32 %p41, %r83, 0; + @%p41 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f235, 0f3C08839E; + mov.f32 %f236, 0fB94CA1F9; + fma.rn.f32 %f710, %f236, %f53, %f235; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f233, 0fBAB6061A; + mov.f32 %f234, 0f37CCF5CE; + fma.rn.f32 %f710, %f234, %f53, %f233; + +BB0_47: + @%p41 bra BB0_49; + bra.uni BB0_48; + +BB0_49: + mov.f32 %f240, 0fBE2AAAA3; + fma.rn.f32 %f241, %f710, %f53, %f240; + mov.f32 %f242, 0f00000000; + fma.rn.f32 %f711, %f241, %f53, %f242; + bra.uni BB0_50; + +BB0_48: + mov.f32 %f237, 0f3D2AAAA5; + fma.rn.f32 %f238, %f710, %f53, %f237; + mov.f32 %f239, 0fBF000000; + fma.rn.f32 %f711, %f238, %f53, %f239; + +BB0_50: + fma.rn.f32 %f712, %f711, %f709, %f709; + @%p41 bra BB0_52; + + mov.f32 %f243, 0f3F800000; + fma.rn.f32 %f712, %f711, %f53, %f243; + +BB0_52: + and.b32 %r229, %r361, 2; + setp.eq.s32 %p44, %r229, 0; + @%p44 bra BB0_54; + + mov.f32 %f244, 0f00000000; + mov.f32 %f245, 0fBF800000; + fma.rn.f32 %f712, %f712, %f245, %f244; + +BB0_54: + mul.f32 %f254, %f28, %f706; + add.u64 %rd53, %SP, 28; + cvta.to.local.u64 %rd54, %rd53; + mul.f32 %f255, %f254, %f254; + mov.f32 %f256, 0f3F800000; + sub.f32 %f257, %f256, %f255; + mul.f32 %f258, %f28, %f712; + mul.f32 %f259, %f258, %f258; + sub.f32 %f260, %f257, %f259; + mov.f32 %f261, 0f00000000; + max.f32 %f262, %f261, %f260; + sqrt.rn.f32 %f263, %f262; + mul.f32 %f264, %f14, %f258; + mul.f32 %f265, %f15, %f258; + mul.f32 %f266, %f16, %f258; + fma.rn.f32 %f267, %f23, %f254, %f264; + fma.rn.f32 %f268, %f22, %f254, %f265; + fma.rn.f32 %f269, %f21, %f254, %f266; + fma.rn.f32 %f270, %f7, %f263, %f267; + fma.rn.f32 %f271, %f8, %f263, %f268; + fma.rn.f32 %f272, %f9, %f263, %f269; + add.f32 %f273, %f7, %f270; + add.f32 %f274, %f8, %f271; + add.f32 %f275, %f9, %f272; + ld.global.f32 %f276, [shadowSpread]; + mul.f32 %f277, %f276, %f273; + mul.f32 %f278, %f276, %f274; + mul.f32 %f279, %f276, %f275; + sub.f32 %f280, %f277, %f7; + sub.f32 %f281, %f278, %f8; + sub.f32 %f282, %f279, %f9; + mul.f32 %f283, %f281, %f281; + fma.rn.f32 %f284, %f280, %f280, %f283; + fma.rn.f32 %f285, %f282, %f282, %f284; + sqrt.rn.f32 %f286, %f285; + rcp.rn.f32 %f287, %f286; + mul.f32 %f249, %f287, %f280; + mul.f32 %f250, %f287, %f281; + mul.f32 %f251, %f287, %f282; + ld.global.u32 %r233, [imageEnabled]; + and.b32 %r234, %r233, 32; + setp.eq.s32 %p45, %r234, 0; + selp.f32 %f288, 0f3F800000, 0f41200000, %p45; + mul.f32 %f252, %f288, %f26; + mov.u32 %r235, 1065353216; + st.local.u32 [%rd54], %r235; + ld.global.u32 %r230, [root]; + mov.u32 %r231, 1; + mov.f32 %f253, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r230, %f11, %f12, %f13, %f249, %f250, %f251, %r231, %f252, %f253, %rd53, %r105); + // inline asm + ld.local.f32 %f289, [%rd54]; + add.f32 %f714, %f714, %f289; + ld.global.u32 %r337, [samples]; + add.s32 %r340, %r340, 1; + setp.lt.s32 %p46, %r340, %r337; + @%p46 bra BB0_8; + +BB0_55: + add.s32 %r338, %r338, 1; + setp.lt.s32 %p47, %r338, %r337; + @%p47 bra BB0_6; + +BB0_56: + setp.eq.s32 %p48, %r337, 0; + mov.f32 %f716, 0f3F800000; + @%p48 bra BB0_58; + + mul.lo.s32 %r236, %r337, %r337; + cvt.rn.f32.s32 %f291, %r236; + div.rn.f32 %f716, %f714, %f291; + +BB0_58: + ld.global.f32 %f292, [directColor]; + mul.f32 %f293, %f716, %f292; + ld.global.f32 %f294, [directColor+4]; + mul.f32 %f295, %f716, %f294; + ld.global.f32 %f296, [directColor+8]; + mul.f32 %f297, %f716, %f296; + cvt.sat.f32.f32 %f298, %f10; + mul.f32 %f299, %f293, %f298; + mul.f32 %f300, %f295, %f298; + mul.f32 %f301, %f297, %f298; + ld.global.u32 %r237, [ignoreNormal]; + setp.eq.s32 %p49, %r237, 0; + selp.f32 %f70, %f299, %f293, %p49; + selp.f32 %f71, %f300, %f295, %p49; + selp.f32 %f72, %f301, %f297, %p49; + ld.global.u32 %r366, [imageEnabled]; + and.b32 %r238, %r366, 8; + setp.eq.s32 %p50, %r238, 0; + @%p50 bra BB0_71; + + cvt.u64.u32 %rd57, %r2; + cvt.u64.u32 %rd58, %r3; + mov.u64 %rd61, image_Mask; + cvta.global.u64 %rd56, %rd61; + // inline asm + call (%rd55), _rt_buffer_get_64, (%rd56, %r104, %r104, %rd57, %rd58, %rd27, %rd27); + // inline asm + mov.f32 %f304, 0f3E68BA2E; + cvt.rzi.f32.f32 %f305, %f304; + fma.rn.f32 %f306, %f305, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f73, %f306; + abs.f32 %f74, %f716; + setp.lt.f32 %p51, %f74, 0f00800000; + mul.f32 %f307, %f74, 0f4B800000; + selp.f32 %f308, 0fC3170000, 0fC2FE0000, %p51; + selp.f32 %f309, %f307, %f74, %p51; + mov.b32 %r241, %f309; + and.b32 %r242, %r241, 8388607; + or.b32 %r243, %r242, 1065353216; + mov.b32 %f310, %r243; + shr.u32 %r244, %r241, 23; + cvt.rn.f32.u32 %f311, %r244; + add.f32 %f312, %f308, %f311; + setp.gt.f32 %p52, %f310, 0f3FB504F3; + mul.f32 %f313, %f310, 0f3F000000; + add.f32 %f314, %f312, 0f3F800000; + selp.f32 %f315, %f313, %f310, %p52; + selp.f32 %f316, %f314, %f312, %p52; + add.f32 %f317, %f315, 0fBF800000; + add.f32 %f303, %f315, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f302,%f303; + // inline asm + add.f32 %f318, %f317, %f317; + mul.f32 %f319, %f302, %f318; + mul.f32 %f320, %f319, %f319; + mov.f32 %f321, 0f3C4CAF63; + mov.f32 %f322, 0f3B18F0FE; + fma.rn.f32 %f323, %f322, %f320, %f321; + mov.f32 %f324, 0f3DAAAABD; + fma.rn.f32 %f325, %f323, %f320, %f324; + mul.rn.f32 %f326, %f325, %f320; + mul.rn.f32 %f327, %f326, %f319; + sub.f32 %f328, %f317, %f319; + neg.f32 %f329, %f319; + add.f32 %f330, %f328, %f328; + fma.rn.f32 %f331, %f329, %f317, %f330; + mul.rn.f32 %f332, %f302, %f331; + add.f32 %f333, %f327, %f319; + sub.f32 %f334, %f319, %f333; + add.f32 %f335, %f327, %f334; + add.f32 %f336, %f332, %f335; + add.f32 %f337, %f333, %f336; + sub.f32 %f338, %f333, %f337; + add.f32 %f339, %f336, %f338; + mov.f32 %f340, 0f3F317200; + mul.rn.f32 %f341, %f316, %f340; + mov.f32 %f342, 0f35BFBE8E; + mul.rn.f32 %f343, %f316, %f342; + add.f32 %f344, %f341, %f337; + sub.f32 %f345, %f341, %f344; + add.f32 %f346, %f337, %f345; + add.f32 %f347, %f339, %f346; + add.f32 %f348, %f343, %f347; + add.f32 %f349, %f344, %f348; + sub.f32 %f350, %f344, %f349; + add.f32 %f351, %f348, %f350; + mov.f32 %f352, 0f3EE8BA2E; + mul.rn.f32 %f353, %f352, %f349; + neg.f32 %f354, %f353; + fma.rn.f32 %f355, %f352, %f349, %f354; + fma.rn.f32 %f356, %f352, %f351, %f355; + mov.f32 %f357, 0f00000000; + fma.rn.f32 %f358, %f357, %f349, %f356; + add.rn.f32 %f359, %f353, %f358; + neg.f32 %f360, %f359; + add.rn.f32 %f361, %f353, %f360; + add.rn.f32 %f362, %f361, %f358; + mov.b32 %r245, %f359; + setp.eq.s32 %p53, %r245, 1118925336; + add.s32 %r246, %r245, -1; + mov.b32 %f363, %r246; + add.f32 %f364, %f362, 0f37000000; + selp.f32 %f365, %f363, %f359, %p53; + selp.f32 %f75, %f364, %f362, %p53; + mul.f32 %f366, %f365, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f367, %f366; + mov.f32 %f368, 0fBF317200; + fma.rn.f32 %f369, %f367, %f368, %f365; + mov.f32 %f370, 0fB5BFBE8E; + fma.rn.f32 %f371, %f367, %f370, %f369; + mul.f32 %f372, %f371, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f373, %f372; + add.f32 %f374, %f367, 0f00000000; + ex2.approx.f32 %f375, %f374; + mul.f32 %f376, %f373, %f375; + setp.lt.f32 %p54, %f365, 0fC2D20000; + selp.f32 %f377, 0f00000000, %f376, %p54; + setp.gt.f32 %p55, %f365, 0f42D20000; + selp.f32 %f717, 0f7F800000, %f377, %p55; + setp.eq.f32 %p56, %f717, 0f7F800000; + @%p56 bra BB0_61; + + fma.rn.f32 %f717, %f717, %f75, %f717; + +BB0_61: + setp.lt.f32 %p57, %f716, 0f00000000; + setp.eq.f32 %p58, %f73, 0f3F800000; + and.pred %p1, %p57, %p58; + mov.b32 %r247, %f717; + xor.b32 %r248, %r247, -2147483648; + mov.b32 %f378, %r248; + selp.f32 %f719, %f378, %f717, %p1; + setp.eq.f32 %p59, %f716, 0f00000000; + @%p59 bra BB0_64; + bra.uni BB0_62; + +BB0_64: + add.f32 %f381, %f716, %f716; + selp.f32 %f719, %f381, 0f00000000, %p58; + bra.uni BB0_65; + +BB0_129: + mov.u64 %rd170, image_HDR; + cvta.global.u64 %rd165, %rd170; + mov.u32 %r328, 8; + // inline asm + call (%rd164), _rt_buffer_get_64, (%rd165, %r104, %r328, %rd20, %rd21, %rd27, %rd27); + // inline asm + mov.f32 %f668, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs71, %f668;} + + // inline asm + mov.u16 %rs72, 0; + st.v4.u16 [%rd164], {%rs71, %rs71, %rs71, %rs72}; + +BB0_130: + ld.global.u8 %rs73, [imageEnabled]; + and.b16 %rs74, %rs73, 64; + setp.eq.s16 %p128, %rs74, 0; + @%p128 bra BB0_132; + + cvt.u64.u32 %rd173, %r2; + cvt.u64.u32 %rd174, %r3; + mov.u64 %rd177, image_Dir; + cvta.global.u64 %rd172, %rd177; + // inline asm + call (%rd171), _rt_buffer_get_64, (%rd172, %r104, %r105, %rd173, %rd174, %rd27, %rd27); + // inline asm + mov.u16 %rs75, 0; + st.v4.u8 [%rd171], {%rs75, %rs75, %rs75, %rs75}; + bra.uni BB0_132; + +BB0_119: + mov.u64 %rd129, image_HDR; + cvta.global.u64 %rd124, %rd129; + mov.u32 %r311, 8; + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd124, %r104, %r311, %rd18, %rd19, %rd27, %rd27); + // inline asm + mov.f32 %f658, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs52, %f658;} + + // inline asm + st.v4.u16 [%rd123], {%rs52, %rs52, %rs52, %rs41}; + +BB0_120: + ld.global.u8 %rs53, [imageEnabled]; + and.b16 %rs54, %rs53, 64; + setp.eq.s16 %p123, %rs54, 0; + @%p123 bra BB0_132; + + cvt.u64.u32 %rd132, %r2; + cvt.u64.u32 %rd133, %r3; + mov.u64 %rd136, image_Dir; + cvta.global.u64 %rd131, %rd136; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r104, %r105, %rd132, %rd133, %rd27, %rd27); + // inline asm + mov.u16 %rs55, 255; + mov.u16 %rs56, 0; + st.v4.u8 [%rd130], {%rs56, %rs56, %rs56, %rs55}; + bra.uni BB0_132; + +BB0_62: + setp.geu.f32 %p60, %f716, 0f00000000; + @%p60 bra BB0_65; + + cvt.rzi.f32.f32 %f380, %f352; + setp.neu.f32 %p61, %f380, 0f3EE8BA2E; + selp.f32 %f719, 0f7FFFFFFF, %f719, %p61; + +BB0_65: + add.f32 %f382, %f74, 0f3EE8BA2E; + mov.b32 %r249, %f382; + setp.lt.s32 %p63, %r249, 2139095040; + @%p63 bra BB0_70; + + setp.gtu.f32 %p64, %f74, 0f7F800000; + @%p64 bra BB0_69; + bra.uni BB0_67; + +BB0_69: + add.f32 %f719, %f716, 0f3EE8BA2E; + bra.uni BB0_70; + +BB0_67: + setp.neu.f32 %p65, %f74, 0f7F800000; + @%p65 bra BB0_70; + + selp.f32 %f719, 0fFF800000, 0f7F800000, %p1; + +BB0_70: + mul.f32 %f383, %f719, 0f437F0000; + setp.eq.f32 %p66, %f716, 0f3F800000; + selp.f32 %f384, 0f437F0000, %f383, %p66; + cvt.rzi.u32.f32 %r250, %f384; + cvt.u16.u32 %rs11, %r250; + mov.u16 %rs12, 255; + st.v2.u8 [%rd55], {%rs11, %rs12}; + ld.global.u32 %r366, [imageEnabled]; + +BB0_71: + and.b32 %r251, %r366, 1; + setp.eq.b32 %p67, %r251, 1; + @!%p67 bra BB0_106; + bra.uni BB0_72; + +BB0_72: + mov.f32 %f387, 0f3E666666; + cvt.rzi.f32.f32 %f388, %f387; + fma.rn.f32 %f389, %f388, 0fC0000000, 0f3EE66666; + abs.f32 %f86, %f389; + abs.f32 %f87, %f70; + setp.lt.f32 %p68, %f87, 0f00800000; + mul.f32 %f390, %f87, 0f4B800000; + selp.f32 %f391, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f392, %f390, %f87, %p68; + mov.b32 %r252, %f392; + and.b32 %r253, %r252, 8388607; + or.b32 %r254, %r253, 1065353216; + mov.b32 %f393, %r254; + shr.u32 %r255, %r252, 23; + cvt.rn.f32.u32 %f394, %r255; + add.f32 %f395, %f391, %f394; + setp.gt.f32 %p69, %f393, 0f3FB504F3; + mul.f32 %f396, %f393, 0f3F000000; + add.f32 %f397, %f395, 0f3F800000; + selp.f32 %f398, %f396, %f393, %p69; + selp.f32 %f399, %f397, %f395, %p69; + add.f32 %f400, %f398, 0fBF800000; + add.f32 %f386, %f398, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f385,%f386; + // inline asm + add.f32 %f401, %f400, %f400; + mul.f32 %f402, %f385, %f401; + mul.f32 %f403, %f402, %f402; + mov.f32 %f404, 0f3C4CAF63; + mov.f32 %f405, 0f3B18F0FE; + fma.rn.f32 %f406, %f405, %f403, %f404; + mov.f32 %f407, 0f3DAAAABD; + fma.rn.f32 %f408, %f406, %f403, %f407; + mul.rn.f32 %f409, %f408, %f403; + mul.rn.f32 %f410, %f409, %f402; + sub.f32 %f411, %f400, %f402; + neg.f32 %f412, %f402; + add.f32 %f413, %f411, %f411; + fma.rn.f32 %f414, %f412, %f400, %f413; + mul.rn.f32 %f415, %f385, %f414; + add.f32 %f416, %f410, %f402; + sub.f32 %f417, %f402, %f416; + add.f32 %f418, %f410, %f417; + add.f32 %f419, %f415, %f418; + add.f32 %f420, %f416, %f419; + sub.f32 %f421, %f416, %f420; + add.f32 %f422, %f419, %f421; + mov.f32 %f423, 0f3F317200; + mul.rn.f32 %f424, %f399, %f423; + mov.f32 %f425, 0f35BFBE8E; + mul.rn.f32 %f426, %f399, %f425; + add.f32 %f427, %f424, %f420; + sub.f32 %f428, %f424, %f427; + add.f32 %f429, %f420, %f428; + add.f32 %f430, %f422, %f429; + add.f32 %f431, %f426, %f430; + add.f32 %f432, %f427, %f431; + sub.f32 %f433, %f427, %f432; + add.f32 %f434, %f431, %f433; + mov.f32 %f435, 0f3EE66666; + mul.rn.f32 %f436, %f435, %f432; + neg.f32 %f437, %f436; + fma.rn.f32 %f438, %f435, %f432, %f437; + fma.rn.f32 %f439, %f435, %f434, %f438; + mov.f32 %f440, 0f00000000; + fma.rn.f32 %f441, %f440, %f432, %f439; + add.rn.f32 %f442, %f436, %f441; + neg.f32 %f443, %f442; + add.rn.f32 %f444, %f436, %f443; + add.rn.f32 %f445, %f444, %f441; + mov.b32 %r256, %f442; + setp.eq.s32 %p70, %r256, 1118925336; + add.s32 %r257, %r256, -1; + mov.b32 %f446, %r257; + add.f32 %f447, %f445, 0f37000000; + selp.f32 %f448, %f446, %f442, %p70; + selp.f32 %f88, %f447, %f445, %p70; + mul.f32 %f449, %f448, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f450, %f449; + mov.f32 %f451, 0fBF317200; + fma.rn.f32 %f452, %f450, %f451, %f448; + mov.f32 %f453, 0fB5BFBE8E; + fma.rn.f32 %f454, %f450, %f453, %f452; + mul.f32 %f455, %f454, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f456, %f455; + add.f32 %f457, %f450, 0f00000000; + ex2.approx.f32 %f458, %f457; + mul.f32 %f459, %f456, %f458; + setp.lt.f32 %p71, %f448, 0fC2D20000; + selp.f32 %f460, 0f00000000, %f459, %p71; + setp.gt.f32 %p72, %f448, 0f42D20000; + selp.f32 %f720, 0f7F800000, %f460, %p72; + setp.eq.f32 %p73, %f720, 0f7F800000; + @%p73 bra BB0_74; + + fma.rn.f32 %f720, %f720, %f88, %f720; + +BB0_74: + setp.lt.f32 %p74, %f70, 0f00000000; + setp.eq.f32 %p75, %f86, 0f3F800000; + and.pred %p2, %p74, %p75; + mov.b32 %r258, %f720; + xor.b32 %r259, %r258, -2147483648; + mov.b32 %f461, %r259; + selp.f32 %f722, %f461, %f720, %p2; + setp.eq.f32 %p76, %f70, 0f00000000; + @%p76 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f464, %f70, %f70; + selp.f32 %f722, %f464, 0f00000000, %p75; + bra.uni BB0_78; + +BB0_75: + setp.geu.f32 %p77, %f70, 0f00000000; + @%p77 bra BB0_78; + + cvt.rzi.f32.f32 %f463, %f435; + setp.neu.f32 %p78, %f463, 0f3EE66666; + selp.f32 %f722, 0f7FFFFFFF, %f722, %p78; + +BB0_78: + abs.f32 %f669, %f70; + add.f32 %f465, %f669, 0f3EE66666; + mov.b32 %r260, %f465; + setp.lt.s32 %p80, %r260, 2139095040; + @%p80 bra BB0_83; + + abs.f32 %f686, %f70; + setp.gtu.f32 %p81, %f686, 0f7F800000; + @%p81 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f722, %f70, 0f3EE66666; + bra.uni BB0_83; + +BB0_80: + abs.f32 %f687, %f70; + setp.neu.f32 %p82, %f687, 0f7F800000; + @%p82 bra BB0_83; + + selp.f32 %f722, 0fFF800000, 0f7F800000, %p2; + +BB0_83: + mov.f32 %f677, 0fB5BFBE8E; + mov.f32 %f676, 0fBF317200; + mov.f32 %f675, 0f00000000; + mov.f32 %f674, 0f35BFBE8E; + mov.f32 %f673, 0f3F317200; + mov.f32 %f672, 0f3DAAAABD; + mov.f32 %f671, 0f3C4CAF63; + mov.f32 %f670, 0f3B18F0FE; + setp.eq.f32 %p83, %f70, 0f3F800000; + selp.f32 %f99, 0f3F800000, %f722, %p83; + abs.f32 %f100, %f71; + setp.lt.f32 %p84, %f100, 0f00800000; + mul.f32 %f468, %f100, 0f4B800000; + selp.f32 %f469, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f470, %f468, %f100, %p84; + mov.b32 %r261, %f470; + and.b32 %r262, %r261, 8388607; + or.b32 %r263, %r262, 1065353216; + mov.b32 %f471, %r263; + shr.u32 %r264, %r261, 23; + cvt.rn.f32.u32 %f472, %r264; + add.f32 %f473, %f469, %f472; + setp.gt.f32 %p85, %f471, 0f3FB504F3; + mul.f32 %f474, %f471, 0f3F000000; + add.f32 %f475, %f473, 0f3F800000; + selp.f32 %f476, %f474, %f471, %p85; + selp.f32 %f477, %f475, %f473, %p85; + add.f32 %f478, %f476, 0fBF800000; + add.f32 %f467, %f476, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f466,%f467; + // inline asm + add.f32 %f479, %f478, %f478; + mul.f32 %f480, %f466, %f479; + mul.f32 %f481, %f480, %f480; + fma.rn.f32 %f484, %f670, %f481, %f671; + fma.rn.f32 %f486, %f484, %f481, %f672; + mul.rn.f32 %f487, %f486, %f481; + mul.rn.f32 %f488, %f487, %f480; + sub.f32 %f489, %f478, %f480; + neg.f32 %f490, %f480; + add.f32 %f491, %f489, %f489; + fma.rn.f32 %f492, %f490, %f478, %f491; + mul.rn.f32 %f493, %f466, %f492; + add.f32 %f494, %f488, %f480; + sub.f32 %f495, %f480, %f494; + add.f32 %f496, %f488, %f495; + add.f32 %f497, %f493, %f496; + add.f32 %f498, %f494, %f497; + sub.f32 %f499, %f494, %f498; + add.f32 %f500, %f497, %f499; + mul.rn.f32 %f502, %f477, %f673; + mul.rn.f32 %f504, %f477, %f674; + add.f32 %f505, %f502, %f498; + sub.f32 %f506, %f502, %f505; + add.f32 %f507, %f498, %f506; + add.f32 %f508, %f500, %f507; + add.f32 %f509, %f504, %f508; + add.f32 %f510, %f505, %f509; + sub.f32 %f511, %f505, %f510; + add.f32 %f512, %f509, %f511; + mul.rn.f32 %f514, %f435, %f510; + neg.f32 %f515, %f514; + fma.rn.f32 %f516, %f435, %f510, %f515; + fma.rn.f32 %f517, %f435, %f512, %f516; + fma.rn.f32 %f519, %f675, %f510, %f517; + add.rn.f32 %f520, %f514, %f519; + neg.f32 %f521, %f520; + add.rn.f32 %f522, %f514, %f521; + add.rn.f32 %f523, %f522, %f519; + mov.b32 %r265, %f520; + setp.eq.s32 %p86, %r265, 1118925336; + add.s32 %r266, %r265, -1; + mov.b32 %f524, %r266; + add.f32 %f525, %f523, 0f37000000; + selp.f32 %f526, %f524, %f520, %p86; + selp.f32 %f101, %f525, %f523, %p86; + mul.f32 %f527, %f526, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f528, %f527; + fma.rn.f32 %f530, %f528, %f676, %f526; + fma.rn.f32 %f532, %f528, %f677, %f530; + mul.f32 %f533, %f532, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f534, %f533; + add.f32 %f535, %f528, 0f00000000; + ex2.approx.f32 %f536, %f535; + mul.f32 %f537, %f534, %f536; + setp.lt.f32 %p87, %f526, 0fC2D20000; + selp.f32 %f538, 0f00000000, %f537, %p87; + setp.gt.f32 %p88, %f526, 0f42D20000; + selp.f32 %f723, 0f7F800000, %f538, %p88; + setp.eq.f32 %p89, %f723, 0f7F800000; + @%p89 bra BB0_85; + + fma.rn.f32 %f723, %f723, %f101, %f723; + +BB0_85: + setp.lt.f32 %p90, %f71, 0f00000000; + and.pred %p3, %p90, %p75; + mov.b32 %r267, %f723; + xor.b32 %r268, %r267, -2147483648; + mov.b32 %f539, %r268; + selp.f32 %f725, %f539, %f723, %p3; + setp.eq.f32 %p92, %f71, 0f00000000; + @%p92 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f542, %f71, %f71; + selp.f32 %f725, %f542, 0f00000000, %p75; + bra.uni BB0_89; + +BB0_86: + setp.geu.f32 %p93, %f71, 0f00000000; + @%p93 bra BB0_89; + + mov.f32 %f693, 0f3EE66666; + cvt.rzi.f32.f32 %f541, %f693; + setp.neu.f32 %p94, %f541, 0f3EE66666; + selp.f32 %f725, 0f7FFFFFFF, %f725, %p94; + +BB0_89: + abs.f32 %f688, %f71; + add.f32 %f543, %f688, 0f3EE66666; + mov.b32 %r269, %f543; + setp.lt.s32 %p96, %r269, 2139095040; + @%p96 bra BB0_94; + + abs.f32 %f691, %f71; + setp.gtu.f32 %p97, %f691, 0f7F800000; + @%p97 bra BB0_93; + bra.uni BB0_91; + +BB0_93: + add.f32 %f725, %f71, 0f3EE66666; + bra.uni BB0_94; + +BB0_91: + abs.f32 %f692, %f71; + setp.neu.f32 %p98, %f692, 0f7F800000; + @%p98 bra BB0_94; + + selp.f32 %f725, 0fFF800000, 0f7F800000, %p3; + +BB0_94: + mov.f32 %f689, 0f3EE66666; + mov.f32 %f685, 0fB5BFBE8E; + mov.f32 %f684, 0fBF317200; + mov.f32 %f683, 0f00000000; + mov.f32 %f682, 0f35BFBE8E; + mov.f32 %f681, 0f3F317200; + mov.f32 %f680, 0f3DAAAABD; + mov.f32 %f679, 0f3C4CAF63; + mov.f32 %f678, 0f3B18F0FE; + setp.eq.f32 %p99, %f71, 0f3F800000; + selp.f32 %f112, 0f3F800000, %f725, %p99; + abs.f32 %f113, %f72; + setp.lt.f32 %p100, %f113, 0f00800000; + mul.f32 %f546, %f113, 0f4B800000; + selp.f32 %f547, 0fC3170000, 0fC2FE0000, %p100; + selp.f32 %f548, %f546, %f113, %p100; + mov.b32 %r270, %f548; + and.b32 %r271, %r270, 8388607; + or.b32 %r272, %r271, 1065353216; + mov.b32 %f549, %r272; + shr.u32 %r273, %r270, 23; + cvt.rn.f32.u32 %f550, %r273; + add.f32 %f551, %f547, %f550; + setp.gt.f32 %p101, %f549, 0f3FB504F3; + mul.f32 %f552, %f549, 0f3F000000; + add.f32 %f553, %f551, 0f3F800000; + selp.f32 %f554, %f552, %f549, %p101; + selp.f32 %f555, %f553, %f551, %p101; + add.f32 %f556, %f554, 0fBF800000; + add.f32 %f545, %f554, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f544,%f545; + // inline asm + add.f32 %f557, %f556, %f556; + mul.f32 %f558, %f544, %f557; + mul.f32 %f559, %f558, %f558; + fma.rn.f32 %f562, %f678, %f559, %f679; + fma.rn.f32 %f564, %f562, %f559, %f680; + mul.rn.f32 %f565, %f564, %f559; + mul.rn.f32 %f566, %f565, %f558; + sub.f32 %f567, %f556, %f558; + neg.f32 %f568, %f558; + add.f32 %f569, %f567, %f567; + fma.rn.f32 %f570, %f568, %f556, %f569; + mul.rn.f32 %f571, %f544, %f570; + add.f32 %f572, %f566, %f558; + sub.f32 %f573, %f558, %f572; + add.f32 %f574, %f566, %f573; + add.f32 %f575, %f571, %f574; + add.f32 %f576, %f572, %f575; + sub.f32 %f577, %f572, %f576; + add.f32 %f578, %f575, %f577; + mul.rn.f32 %f580, %f555, %f681; + mul.rn.f32 %f582, %f555, %f682; + add.f32 %f583, %f580, %f576; + sub.f32 %f584, %f580, %f583; + add.f32 %f585, %f576, %f584; + add.f32 %f586, %f578, %f585; + add.f32 %f587, %f582, %f586; + add.f32 %f588, %f583, %f587; + sub.f32 %f589, %f583, %f588; + add.f32 %f590, %f587, %f589; + mul.rn.f32 %f592, %f689, %f588; + neg.f32 %f593, %f592; + fma.rn.f32 %f594, %f689, %f588, %f593; + fma.rn.f32 %f595, %f689, %f590, %f594; + fma.rn.f32 %f597, %f683, %f588, %f595; + add.rn.f32 %f598, %f592, %f597; + neg.f32 %f599, %f598; + add.rn.f32 %f600, %f592, %f599; + add.rn.f32 %f601, %f600, %f597; + mov.b32 %r274, %f598; + setp.eq.s32 %p102, %r274, 1118925336; + add.s32 %r275, %r274, -1; + mov.b32 %f602, %r275; + add.f32 %f603, %f601, 0f37000000; + selp.f32 %f604, %f602, %f598, %p102; + selp.f32 %f114, %f603, %f601, %p102; + mul.f32 %f605, %f604, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f606, %f605; + fma.rn.f32 %f608, %f606, %f684, %f604; + fma.rn.f32 %f610, %f606, %f685, %f608; + mul.f32 %f611, %f610, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f612, %f611; + add.f32 %f613, %f606, 0f00000000; + ex2.approx.f32 %f614, %f613; + mul.f32 %f615, %f612, %f614; + setp.lt.f32 %p103, %f604, 0fC2D20000; + selp.f32 %f616, 0f00000000, %f615, %p103; + setp.gt.f32 %p104, %f604, 0f42D20000; + selp.f32 %f726, 0f7F800000, %f616, %p104; + setp.eq.f32 %p105, %f726, 0f7F800000; + @%p105 bra BB0_96; + + fma.rn.f32 %f726, %f726, %f114, %f726; + +BB0_96: + setp.lt.f32 %p106, %f72, 0f00000000; + and.pred %p4, %p106, %p75; + mov.b32 %r276, %f726; + xor.b32 %r277, %r276, -2147483648; + mov.b32 %f617, %r277; + selp.f32 %f728, %f617, %f726, %p4; + setp.eq.f32 %p108, %f72, 0f00000000; + @%p108 bra BB0_99; + bra.uni BB0_97; + +BB0_99: + add.f32 %f620, %f72, %f72; + selp.f32 %f728, %f620, 0f00000000, %p75; + bra.uni BB0_100; + +BB0_97: + setp.geu.f32 %p109, %f72, 0f00000000; + @%p109 bra BB0_100; + + mov.f32 %f690, 0f3EE66666; + cvt.rzi.f32.f32 %f619, %f690; + setp.neu.f32 %p110, %f619, 0f3EE66666; + selp.f32 %f728, 0f7FFFFFFF, %f728, %p110; + +BB0_100: + abs.f32 %f694, %f72; + add.f32 %f621, %f694, 0f3EE66666; + mov.b32 %r278, %f621; + setp.lt.s32 %p112, %r278, 2139095040; + @%p112 bra BB0_105; + + abs.f32 %f695, %f72; + setp.gtu.f32 %p113, %f695, 0f7F800000; + @%p113 bra BB0_104; + bra.uni BB0_102; + +BB0_104: + add.f32 %f728, %f72, 0f3EE66666; + bra.uni BB0_105; + +BB0_102: + abs.f32 %f696, %f72; + setp.neu.f32 %p114, %f696, 0f7F800000; + @%p114 bra BB0_105; + + selp.f32 %f728, 0fFF800000, 0f7F800000, %p4; + +BB0_105: + mov.u32 %r332, 4; + mov.u64 %rd178, 0; + mov.u32 %r331, 2; + setp.eq.f32 %p115, %f72, 0f3F800000; + selp.f32 %f622, 0f3F800000, %f728, %p115; + cvt.u64.u32 %rd65, %r3; + cvt.u64.u32 %rd64, %r2; + mov.u64 %rd68, image; + cvta.global.u64 %rd63, %rd68; + // inline asm + call (%rd62), _rt_buffer_get_64, (%rd63, %r331, %r332, %rd64, %rd65, %rd178, %rd178); + // inline asm + cvt.sat.f32.f32 %f623, %f622; + mul.f32 %f624, %f623, 0f437FFD71; + cvt.rzi.u32.f32 %r281, %f624; + cvt.sat.f32.f32 %f625, %f112; + mul.f32 %f626, %f625, 0f437FFD71; + cvt.rzi.u32.f32 %r282, %f626; + cvt.sat.f32.f32 %f627, %f99; + mul.f32 %f628, %f627, 0f437FFD71; + cvt.rzi.u32.f32 %r283, %f628; + cvt.u16.u32 %rs13, %r281; + cvt.u16.u32 %rs14, %r283; + cvt.u16.u32 %rs15, %r282; + mov.u16 %rs16, 255; + st.v4.u8 [%rd62], {%rs13, %rs15, %rs14, %rs16}; + ld.global.u32 %r366, [imageEnabled]; + +BB0_106: + and.b32 %r284, %r366, 4; + setp.eq.s32 %p116, %r284, 0; + @%p116 bra BB0_110; + + ld.global.u32 %r285, [additive]; + setp.eq.s32 %p117, %r285, 0; + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + mov.f32 %f629, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs17, %f629;} + + // inline asm + @%p117 bra BB0_109; + + mov.u64 %rd179, 0; + mov.u32 %r333, 2; + mov.u64 %rd81, image_HDR; + cvta.global.u64 %rd70, %rd81; + mov.u32 %r289, 8; + // inline asm + call (%rd69), _rt_buffer_get_64, (%rd70, %r333, %r289, %rd16, %rd17, %rd179, %rd179); + // inline asm + ld.v4.u16 {%rs24, %rs25, %rs26, %rs27}, [%rd69]; + // inline asm + { cvt.f32.f16 %f630, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f631, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f632, %rs26;} + + // inline asm + // inline asm + call (%rd75), _rt_buffer_get_64, (%rd70, %r333, %r289, %rd16, %rd17, %rd179, %rd179); + // inline asm + add.f32 %f633, %f70, %f630; + add.f32 %f634, %f71, %f631; + add.f32 %f635, %f72, %f632; + // inline asm + { cvt.rn.f16.f32 %rs23, %f635;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f634;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f633;} + + // inline asm + st.v4.u16 [%rd75], {%rs21, %rs22, %rs23, %rs17}; + bra.uni BB0_110; + +BB0_109: + mov.u64 %rd180, 0; + mov.u32 %r334, 2; + mov.u64 %rd88, image_HDR; + cvta.global.u64 %rd83, %rd88; + mov.u32 %r291, 8; + // inline asm + call (%rd82), _rt_buffer_get_64, (%rd83, %r334, %r291, %rd16, %rd17, %rd180, %rd180); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f72;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f71;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f70;} + + // inline asm + st.v4.u16 [%rd82], {%rs28, %rs29, %rs30, %rs17}; + +BB0_110: + ld.global.u8 %rs31, [imageEnabled]; + and.b16 %rs32, %rs31, 64; + setp.eq.s16 %p118, %rs32, 0; + @%p118 bra BB0_132; + + mov.u32 %r336, 4; + mov.u64 %rd181, 0; + mov.u32 %r335, 2; + ld.global.f32 %f639, [directDir]; + ld.global.f32 %f640, [directDir+4]; + ld.global.f32 %f641, [directDir+8]; + cvt.u64.u32 %rd92, %r3; + cvt.u64.u32 %rd91, %r2; + mov.u64 %rd95, image_Dir; + cvta.global.u64 %rd90, %rd95; + // inline asm + call (%rd89), _rt_buffer_get_64, (%rd90, %r335, %r336, %rd91, %rd92, %rd181, %rd181); + // inline asm + fma.rn.f32 %f642, %f639, 0fBF000000, 0f3F000000; + mul.f32 %f643, %f642, 0f437F0000; + cvt.rzi.u32.f32 %r294, %f643; + fma.rn.f32 %f644, %f640, 0fBF000000, 0f3F000000; + mul.f32 %f645, %f644, 0f437F0000; + cvt.rzi.u32.f32 %r295, %f645; + fma.rn.f32 %f646, %f641, 0fBF000000, 0f3F000000; + mul.f32 %f647, %f646, 0f437F0000; + cvt.rzi.u32.f32 %r296, %f647; + cvt.u16.u32 %rs33, %r296; + cvt.u16.u32 %rs34, %r295; + cvt.u16.u32 %rs35, %r294; + mov.u16 %rs36, 255; + st.v4.u8 [%rd89], {%rs35, %rs34, %rs33, %rs36}; + +BB0_132: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx.meta new file mode 100644 index 00000000..1c965c79 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSun.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dcf09917846defb47b792613da34357e +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx new file mode 100644 index 00000000..87296a0c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx @@ -0,0 +1,1811 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 directDir[12]; +.global .align 4 .b8 directColor[12]; +.global .align 4 .f32 shadowSpread; +.global .align 4 .u32 samples; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCookie; +.global .align 16 .b8 lightTilingOffset[16]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9directDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11directColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12shadowSpreadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo17lightTilingOffsetE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9directDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11directColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12shadowSpreadE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename17lightTilingOffsetE[7] = {102, 108, 111, 97, 116, 52, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9directDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11directColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12shadowSpreadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum17lightTilingOffsetE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9directDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11directColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12shadowSpreadE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic17lightTilingOffsetE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9directDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11directColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12shadowSpreadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation17lightTilingOffsetE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<129>; + .reg .b16 %rs<76>; + .reg .f32 %f<751>; + .reg .b32 %r<373>; + .reg .b64 %rd<187>; + + + mov.u64 %rd186, __local_depot0; + cvta.local.u64 %SP, %rd186; + ld.global.v2.u32 {%r106, %r107}, [pixelID]; + cvt.u64.u32 %rd24, %r106; + cvt.u64.u32 %rd25, %r107; + mov.u64 %rd28, uvnormal; + cvta.global.u64 %rd23, %rd28; + mov.u32 %r104, 2; + mov.u32 %r105, 4; + mov.u64 %rd27, 0; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r104, %r105, %rd24, %rd25, %rd27, %rd27); + // inline asm + ld.u32 %r1, [%rd22]; + shr.u32 %r110, %r1, 16; + cvt.u16.u32 %rs1, %r110; + and.b16 %rs4, %rs1, 255; + cvt.u16.u32 %rs5, %r1; + or.b16 %rs6, %rs5, %rs4; + setp.eq.s16 %p5, %rs6, 0; + mov.f32 %f719, 0f00000000; + mov.f32 %f720, %f719; + mov.f32 %f721, %f719; + @%p5 bra BB0_2; + + ld.u8 %rs7, [%rd22+1]; + and.b16 %rs9, %rs5, 255; + cvt.rn.f32.u16 %f132, %rs9; + div.rn.f32 %f133, %f132, 0f437F0000; + fma.rn.f32 %f134, %f133, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f135, %rs7; + div.rn.f32 %f136, %f135, 0f437F0000; + fma.rn.f32 %f137, %f136, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f138, %rs4; + div.rn.f32 %f139, %f138, 0f437F0000; + fma.rn.f32 %f140, %f139, 0f40000000, 0fBF800000; + mul.f32 %f141, %f137, %f137; + fma.rn.f32 %f142, %f134, %f134, %f141; + fma.rn.f32 %f143, %f140, %f140, %f142; + sqrt.rn.f32 %f144, %f143; + rcp.rn.f32 %f145, %f144; + mul.f32 %f719, %f134, %f145; + mul.f32 %f720, %f137, %f145; + mul.f32 %f721, %f140, %f145; + +BB0_2: + ld.global.v2.u32 {%r111, %r112}, [pixelID]; + ld.global.v2.u32 {%r114, %r115}, [tileInfo]; + add.s32 %r2, %r111, %r114; + add.s32 %r3, %r112, %r115; + setp.eq.f32 %p6, %f720, 0f00000000; + setp.eq.f32 %p7, %f719, 0f00000000; + and.pred %p8, %p7, %p6; + setp.eq.f32 %p9, %f721, 0f00000000; + and.pred %p10, %p8, %p9; + @%p10 bra BB0_122; + bra.uni BB0_3; + +BB0_122: + ld.global.u32 %r372, [imageEnabled]; + and.b32 %r316, %r372, 1; + setp.eq.b32 %p124, %r316, 1; + @!%p124 bra BB0_124; + bra.uni BB0_123; + +BB0_123: + cvt.u64.u32 %rd139, %r2; + cvt.u64.u32 %rd140, %r3; + mov.u64 %rd143, image; + cvta.global.u64 %rd138, %rd143; + // inline asm + call (%rd137), _rt_buffer_get_64, (%rd138, %r104, %r105, %rd139, %rd140, %rd27, %rd27); + // inline asm + mov.u16 %rs57, 0; + st.v4.u8 [%rd137], {%rs57, %rs57, %rs57, %rs57}; + ld.global.u32 %r372, [imageEnabled]; + +BB0_124: + and.b32 %r319, %r372, 8; + setp.eq.s32 %p125, %r319, 0; + @%p125 bra BB0_126; + + cvt.u64.u32 %rd146, %r2; + cvt.u64.u32 %rd147, %r3; + mov.u64 %rd150, image_Mask; + cvta.global.u64 %rd145, %rd150; + // inline asm + call (%rd144), _rt_buffer_get_64, (%rd145, %r104, %r104, %rd146, %rd147, %rd27, %rd27); + // inline asm + mov.f32 %f684, 0f00000000; + cvt.rzi.u32.f32 %r322, %f684; + cvt.u16.u32 %rs58, %r322; + mov.u16 %rs59, 0; + st.v2.u8 [%rd144], {%rs58, %rs59}; + ld.global.u32 %r372, [imageEnabled]; + +BB0_126: + and.b32 %r323, %r372, 4; + setp.eq.s32 %p126, %r323, 0; + @%p126 bra BB0_130; + + ld.global.u32 %r324, [additive]; + setp.eq.s32 %p127, %r324, 0; + cvt.u64.u32 %rd20, %r2; + cvt.u64.u32 %rd21, %r3; + @%p127 bra BB0_129; + + mov.u64 %rd163, image_HDR; + cvta.global.u64 %rd152, %rd163; + mov.u32 %r328, 8; + // inline asm + call (%rd151), _rt_buffer_get_64, (%rd152, %r104, %r328, %rd20, %rd21, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs66, %rs67, %rs68, %rs69}, [%rd151]; + // inline asm + { cvt.f32.f16 %f685, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f686, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f687, %rs68;} + + // inline asm + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd152, %r104, %r328, %rd20, %rd21, %rd27, %rd27); + // inline asm + add.f32 %f688, %f685, 0f00000000; + add.f32 %f689, %f686, 0f00000000; + add.f32 %f690, %f687, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs65, %f690;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f689;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f688;} + + // inline asm + mov.u16 %rs70, 0; + st.v4.u16 [%rd157], {%rs63, %rs64, %rs65, %rs70}; + bra.uni BB0_130; + +BB0_3: + ld.global.f32 %f9, [directDir+8]; + ld.global.f32 %f8, [directDir+4]; + ld.global.f32 %f7, [directDir]; + mul.f32 %f146, %f719, %f7; + mul.f32 %f147, %f720, %f8; + neg.f32 %f148, %f147; + sub.f32 %f149, %f148, %f146; + mul.f32 %f150, %f721, %f9; + sub.f32 %f10, %f149, %f150; + ld.global.u32 %r119, [ignoreNormal]; + setp.eq.s32 %p11, %r119, 0; + setp.le.f32 %p12, %f10, 0f00000000; + and.pred %p13, %p11, %p12; + ld.global.u32 %r370, [imageEnabled]; + and.b32 %r120, %r370, 32; + setp.eq.s32 %p14, %r120, 0; + and.pred %p15, %p13, %p14; + @%p15 bra BB0_112; + bra.uni BB0_4; + +BB0_112: + and.b32 %r299, %r370, 1; + setp.eq.b32 %p119, %r299, 1; + @!%p119 bra BB0_114; + bra.uni BB0_113; + +BB0_113: + cvt.u64.u32 %rd98, %r2; + cvt.u64.u32 %rd99, %r3; + mov.u64 %rd102, image; + cvta.global.u64 %rd97, %rd102; + // inline asm + call (%rd96), _rt_buffer_get_64, (%rd97, %r104, %r105, %rd98, %rd99, %rd27, %rd27); + // inline asm + mov.u16 %rs37, 255; + mov.u16 %rs38, 0; + st.v4.u8 [%rd96], {%rs38, %rs38, %rs38, %rs37}; + ld.global.u32 %r370, [imageEnabled]; + +BB0_114: + and.b32 %r302, %r370, 8; + setp.eq.s32 %p120, %r302, 0; + @%p120 bra BB0_116; + + cvt.u64.u32 %rd105, %r2; + cvt.u64.u32 %rd106, %r3; + mov.u64 %rd109, image_Mask; + cvta.global.u64 %rd104, %rd109; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd104, %r104, %r104, %rd105, %rd106, %rd27, %rd27); + // inline asm + mov.f32 %f673, 0f00000000; + cvt.rzi.u32.f32 %r305, %f673; + cvt.u16.u32 %rs39, %r305; + mov.u16 %rs40, 255; + st.v2.u8 [%rd103], {%rs39, %rs40}; + ld.global.u32 %r370, [imageEnabled]; + +BB0_116: + and.b32 %r306, %r370, 4; + setp.eq.s32 %p121, %r306, 0; + @%p121 bra BB0_120; + + ld.global.u32 %r307, [additive]; + setp.eq.s32 %p122, %r307, 0; + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + mov.f32 %f674, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs41, %f674;} + + // inline asm + @%p122 bra BB0_119; + + mov.u64 %rd122, image_HDR; + cvta.global.u64 %rd111, %rd122; + mov.u32 %r311, 8; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd111, %r104, %r311, %rd18, %rd19, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs48, %rs49, %rs50, %rs51}, [%rd110]; + // inline asm + { cvt.f32.f16 %f675, %rs48;} + + // inline asm + // inline asm + { cvt.f32.f16 %f676, %rs49;} + + // inline asm + // inline asm + { cvt.f32.f16 %f677, %rs50;} + + // inline asm + // inline asm + call (%rd116), _rt_buffer_get_64, (%rd111, %r104, %r311, %rd18, %rd19, %rd27, %rd27); + // inline asm + add.f32 %f678, %f675, 0f00000000; + add.f32 %f679, %f676, 0f00000000; + add.f32 %f680, %f677, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs47, %f680;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f679;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f678;} + + // inline asm + st.v4.u16 [%rd116], {%rs45, %rs46, %rs47, %rs41}; + bra.uni BB0_120; + +BB0_4: + ld.global.v2.u32 {%r125, %r126}, [pixelID]; + cvt.u64.u32 %rd31, %r125; + cvt.u64.u32 %rd32, %r126; + mov.u64 %rd41, uvpos; + cvta.global.u64 %rd30, %rd41; + mov.u32 %r122, 12; + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd30, %r104, %r122, %rd31, %rd32, %rd27, %rd27); + // inline asm + ld.f32 %f13, [%rd29+8]; + ld.f32 %f12, [%rd29+4]; + ld.f32 %f11, [%rd29]; + mul.f32 %f152, %f11, 0f3456BF95; + mul.f32 %f153, %f12, 0f3456BF95; + mul.f32 %f154, %f13, 0f3456BF95; + abs.f32 %f155, %f719; + div.rn.f32 %f156, %f152, %f155; + abs.f32 %f157, %f720; + div.rn.f32 %f158, %f153, %f157; + abs.f32 %f159, %f721; + div.rn.f32 %f160, %f154, %f159; + abs.f32 %f161, %f156; + abs.f32 %f162, %f158; + abs.f32 %f163, %f160; + mov.f32 %f164, 0f38D1B717; + max.f32 %f165, %f161, %f164; + max.f32 %f166, %f162, %f164; + max.f32 %f167, %f163, %f164; + fma.rn.f32 %f14, %f719, %f165, %f11; + fma.rn.f32 %f15, %f720, %f166, %f12; + fma.rn.f32 %f16, %f721, %f167, %f13; + abs.f32 %f168, %f9; + abs.f32 %f169, %f7; + setp.gt.f32 %p16, %f169, %f168; + neg.f32 %f170, %f8; + selp.f32 %f171, %f170, 0f00000000, %p16; + neg.f32 %f172, %f9; + selp.f32 %f173, %f7, %f172, %p16; + selp.f32 %f174, 0f00000000, %f8, %p16; + mul.f32 %f175, %f173, %f173; + fma.rn.f32 %f176, %f171, %f171, %f175; + fma.rn.f32 %f177, %f174, %f174, %f176; + sqrt.rn.f32 %f178, %f177; + rcp.rn.f32 %f179, %f178; + mul.f32 %f17, %f171, %f179; + mul.f32 %f18, %f173, %f179; + mul.f32 %f19, %f174, %f179; + mul.f32 %f180, %f9, %f18; + mul.f32 %f181, %f8, %f19; + sub.f32 %f20, %f180, %f181; + mul.f32 %f182, %f7, %f19; + mul.f32 %f183, %f9, %f17; + sub.f32 %f21, %f182, %f183; + mul.f32 %f184, %f8, %f17; + mul.f32 %f185, %f7, %f18; + sub.f32 %f22, %f184, %f185; + ld.global.v2.u32 {%r129, %r130}, [pixelID]; + cvt.u64.u32 %rd37, %r129; + cvt.u64.u32 %rd38, %r130; + mov.u64 %rd42, rnd_seeds; + cvta.global.u64 %rd36, %rd42; + // inline asm + call (%rd35), _rt_buffer_get_64, (%rd36, %r104, %r105, %rd37, %rd38, %rd27, %rd27); + // inline asm + ld.global.u32 %r339, [samples]; + mov.f32 %f736, 0f00000000; + setp.lt.s32 %p17, %r339, 1; + @%p17 bra BB0_56; + + cvt.rn.f32.s32 %f187, %r339; + rcp.rn.f32 %f23, %f187; + ld.u32 %r365, [%rd35]; + mul.f32 %f24, %f14, 0f3456BF95; + mul.f32 %f25, %f15, 0f3456BF95; + mul.f32 %f26, %f16, 0f3456BF95; + mov.f32 %f736, 0f00000000; + mov.u32 %r340, 0; + abs.f32 %f188, %f25; + abs.f32 %f189, %f24; + max.f32 %f190, %f189, %f188; + abs.f32 %f191, %f26; + max.f32 %f192, %f190, %f191; + +BB0_6: + setp.lt.s32 %p18, %r339, 1; + @%p18 bra BB0_55; + + cvt.rn.f32.s32 %f28, %r340; + max.f32 %f29, %f192, %f164; + mov.u32 %r342, 0; + +BB0_8: + mad.lo.s32 %r135, %r365, 1664525, 1013904223; + and.b32 %r136, %r135, 16777215; + cvt.rn.f32.u32 %f194, %r136; + fma.rn.f32 %f195, %f194, 0f33800000, %f28; + mul.f32 %f196, %f23, %f195; + mad.lo.s32 %r365, %r135, 1664525, 1013904223; + and.b32 %r137, %r365, 16777215; + cvt.rn.f32.u32 %f197, %r137; + cvt.rn.f32.s32 %f198, %r342; + fma.rn.f32 %f199, %f197, 0f33800000, %f198; + mul.f32 %f200, %f23, %f199; + sqrt.rn.f32 %f31, %f196; + mul.f32 %f730, %f200, 0f40C90FDB; + abs.f32 %f33, %f730; + setp.neu.f32 %p19, %f33, 0f7F800000; + mov.f32 %f724, %f730; + @%p19 bra BB0_10; + + mov.f32 %f201, 0f00000000; + mul.rn.f32 %f724, %f730, %f201; + +BB0_10: + mul.f32 %f202, %f724, 0f3F22F983; + cvt.rni.s32.f32 %r353, %f202; + cvt.rn.f32.s32 %f203, %r353; + neg.f32 %f204, %f203; + mov.f32 %f205, 0f3FC90FDA; + fma.rn.f32 %f206, %f204, %f205, %f724; + mov.f32 %f207, 0f33A22168; + fma.rn.f32 %f208, %f204, %f207, %f206; + mov.f32 %f209, 0f27C234C5; + fma.rn.f32 %f725, %f204, %f209, %f208; + abs.f32 %f210, %f724; + setp.leu.f32 %p20, %f210, 0f47CE4780; + @%p20 bra BB0_21; + + mov.b32 %r14, %f724; + shr.u32 %r15, %r14, 23; + shl.b32 %r140, %r14, 8; + or.b32 %r16, %r140, -2147483648; + add.u64 %rd44, %SP, 0; + cvta.to.local.u64 %rd183, %rd44; + mov.u32 %r345, 0; + mov.u64 %rd182, __cudart_i2opi_f; + mov.u32 %r344, -6; + +BB0_12: + .pragma "nounroll"; + ld.const.u32 %r143, [%rd182]; + // inline asm + { + mad.lo.cc.u32 %r141, %r143, %r16, %r345; + madc.hi.u32 %r345, %r143, %r16, 0; + } + // inline asm + st.local.u32 [%rd183], %r141; + add.s64 %rd183, %rd183, 4; + add.s64 %rd182, %rd182, 4; + add.s32 %r344, %r344, 1; + setp.ne.s32 %p21, %r344, 0; + @%p21 bra BB0_12; + + and.b32 %r146, %r15, 255; + add.s32 %r147, %r146, -128; + shr.u32 %r148, %r147, 5; + and.b32 %r21, %r14, -2147483648; + cvta.to.local.u64 %rd46, %rd44; + st.local.u32 [%rd46+24], %r345; + mov.u32 %r149, 6; + sub.s32 %r150, %r149, %r148; + mul.wide.s32 %rd47, %r150, 4; + add.s64 %rd8, %rd46, %rd47; + ld.local.u32 %r346, [%rd8]; + ld.local.u32 %r347, [%rd8+-4]; + and.b32 %r24, %r15, 31; + setp.eq.s32 %p22, %r24, 0; + @%p22 bra BB0_15; + + mov.u32 %r151, 32; + sub.s32 %r152, %r151, %r24; + shr.u32 %r153, %r347, %r152; + shl.b32 %r154, %r346, %r24; + add.s32 %r346, %r153, %r154; + ld.local.u32 %r155, [%rd8+-8]; + shr.u32 %r156, %r155, %r152; + shl.b32 %r157, %r347, %r24; + add.s32 %r347, %r156, %r157; + +BB0_15: + shr.u32 %r158, %r347, 30; + shl.b32 %r159, %r346, 2; + add.s32 %r348, %r158, %r159; + shl.b32 %r30, %r347, 2; + shr.u32 %r160, %r348, 31; + shr.u32 %r161, %r346, 30; + add.s32 %r31, %r160, %r161; + setp.eq.s32 %p23, %r160, 0; + @%p23 bra BB0_16; + bra.uni BB0_17; + +BB0_16: + mov.u32 %r349, %r21; + mov.u32 %r350, %r30; + bra.uni BB0_18; + +BB0_17: + not.b32 %r162, %r348; + neg.s32 %r350, %r30; + setp.eq.s32 %p24, %r30, 0; + selp.u32 %r163, 1, 0, %p24; + add.s32 %r348, %r163, %r162; + xor.b32 %r349, %r21, -2147483648; + +BB0_18: + clz.b32 %r352, %r348; + setp.eq.s32 %p25, %r352, 0; + shl.b32 %r164, %r348, %r352; + mov.u32 %r165, 32; + sub.s32 %r166, %r165, %r352; + shr.u32 %r167, %r350, %r166; + add.s32 %r168, %r167, %r164; + selp.b32 %r39, %r348, %r168, %p25; + mov.u32 %r169, -921707870; + mul.hi.u32 %r351, %r39, %r169; + setp.eq.s32 %p26, %r21, 0; + neg.s32 %r170, %r31; + selp.b32 %r353, %r31, %r170, %p26; + setp.lt.s32 %p27, %r351, 1; + @%p27 bra BB0_20; + + mul.lo.s32 %r171, %r39, -921707870; + shr.u32 %r172, %r171, 31; + shl.b32 %r173, %r351, 1; + add.s32 %r351, %r172, %r173; + add.s32 %r352, %r352, 1; + +BB0_20: + mov.u32 %r174, 126; + sub.s32 %r175, %r174, %r352; + shl.b32 %r176, %r175, 23; + add.s32 %r177, %r351, 1; + shr.u32 %r178, %r177, 7; + add.s32 %r179, %r178, 1; + shr.u32 %r180, %r179, 1; + add.s32 %r181, %r180, %r176; + or.b32 %r182, %r181, %r349; + mov.b32 %f725, %r182; + +BB0_21: + mul.rn.f32 %f39, %f725, %f725; + add.s32 %r47, %r353, 1; + and.b32 %r48, %r47, 1; + setp.eq.s32 %p28, %r48, 0; + @%p28 bra BB0_23; + bra.uni BB0_22; + +BB0_23: + mov.f32 %f213, 0f3C08839E; + mov.f32 %f214, 0fB94CA1F9; + fma.rn.f32 %f726, %f214, %f39, %f213; + bra.uni BB0_24; + +BB0_22: + mov.f32 %f211, 0fBAB6061A; + mov.f32 %f212, 0f37CCF5CE; + fma.rn.f32 %f726, %f212, %f39, %f211; + +BB0_24: + @%p28 bra BB0_26; + bra.uni BB0_25; + +BB0_26: + mov.f32 %f218, 0fBE2AAAA3; + fma.rn.f32 %f219, %f726, %f39, %f218; + mov.f32 %f220, 0f00000000; + fma.rn.f32 %f727, %f219, %f39, %f220; + bra.uni BB0_27; + +BB0_25: + mov.f32 %f215, 0f3D2AAAA5; + fma.rn.f32 %f216, %f726, %f39, %f215; + mov.f32 %f217, 0fBF000000; + fma.rn.f32 %f727, %f216, %f39, %f217; + +BB0_27: + fma.rn.f32 %f728, %f727, %f725, %f725; + @%p28 bra BB0_29; + + mov.f32 %f221, 0f3F800000; + fma.rn.f32 %f728, %f727, %f39, %f221; + +BB0_29: + and.b32 %r183, %r47, 2; + setp.eq.s32 %p31, %r183, 0; + @%p31 bra BB0_31; + + mov.f32 %f222, 0f00000000; + mov.f32 %f223, 0fBF800000; + fma.rn.f32 %f728, %f728, %f223, %f222; + +BB0_31: + @%p19 bra BB0_33; + + mov.f32 %f224, 0f00000000; + mul.rn.f32 %f730, %f730, %f224; + +BB0_33: + mul.f32 %f225, %f730, 0f3F22F983; + cvt.rni.s32.f32 %r363, %f225; + cvt.rn.f32.s32 %f226, %r363; + neg.f32 %f227, %f226; + fma.rn.f32 %f229, %f227, %f205, %f730; + fma.rn.f32 %f231, %f227, %f207, %f229; + fma.rn.f32 %f731, %f227, %f209, %f231; + abs.f32 %f233, %f730; + setp.leu.f32 %p33, %f233, 0f47CE4780; + @%p33 bra BB0_44; + + mov.b32 %r50, %f730; + shr.u32 %r51, %r50, 23; + shl.b32 %r186, %r50, 8; + or.b32 %r52, %r186, -2147483648; + add.u64 %rd49, %SP, 0; + cvta.to.local.u64 %rd185, %rd49; + mov.u32 %r355, 0; + mov.u64 %rd184, __cudart_i2opi_f; + mov.u32 %r354, -6; + +BB0_35: + .pragma "nounroll"; + ld.const.u32 %r189, [%rd184]; + // inline asm + { + mad.lo.cc.u32 %r187, %r189, %r52, %r355; + madc.hi.u32 %r355, %r189, %r52, 0; + } + // inline asm + st.local.u32 [%rd185], %r187; + add.s64 %rd185, %rd185, 4; + add.s64 %rd184, %rd184, 4; + add.s32 %r354, %r354, 1; + setp.ne.s32 %p34, %r354, 0; + @%p34 bra BB0_35; + + and.b32 %r192, %r51, 255; + add.s32 %r193, %r192, -128; + shr.u32 %r194, %r193, 5; + and.b32 %r57, %r50, -2147483648; + cvta.to.local.u64 %rd51, %rd49; + st.local.u32 [%rd51+24], %r355; + mov.u32 %r195, 6; + sub.s32 %r196, %r195, %r194; + mul.wide.s32 %rd52, %r196, 4; + add.s64 %rd14, %rd51, %rd52; + ld.local.u32 %r356, [%rd14]; + ld.local.u32 %r357, [%rd14+-4]; + and.b32 %r60, %r51, 31; + setp.eq.s32 %p35, %r60, 0; + @%p35 bra BB0_38; + + mov.u32 %r197, 32; + sub.s32 %r198, %r197, %r60; + shr.u32 %r199, %r357, %r198; + shl.b32 %r200, %r356, %r60; + add.s32 %r356, %r199, %r200; + ld.local.u32 %r201, [%rd14+-8]; + shr.u32 %r202, %r201, %r198; + shl.b32 %r203, %r357, %r60; + add.s32 %r357, %r202, %r203; + +BB0_38: + shr.u32 %r204, %r357, 30; + shl.b32 %r205, %r356, 2; + add.s32 %r358, %r204, %r205; + shl.b32 %r66, %r357, 2; + shr.u32 %r206, %r358, 31; + shr.u32 %r207, %r356, 30; + add.s32 %r67, %r206, %r207; + setp.eq.s32 %p36, %r206, 0; + @%p36 bra BB0_39; + bra.uni BB0_40; + +BB0_39: + mov.u32 %r359, %r57; + mov.u32 %r360, %r66; + bra.uni BB0_41; + +BB0_40: + not.b32 %r208, %r358; + neg.s32 %r360, %r66; + setp.eq.s32 %p37, %r66, 0; + selp.u32 %r209, 1, 0, %p37; + add.s32 %r358, %r209, %r208; + xor.b32 %r359, %r57, -2147483648; + +BB0_41: + clz.b32 %r362, %r358; + setp.eq.s32 %p38, %r362, 0; + shl.b32 %r210, %r358, %r362; + mov.u32 %r211, 32; + sub.s32 %r212, %r211, %r362; + shr.u32 %r213, %r360, %r212; + add.s32 %r214, %r213, %r210; + selp.b32 %r75, %r358, %r214, %p38; + mov.u32 %r215, -921707870; + mul.hi.u32 %r361, %r75, %r215; + setp.eq.s32 %p39, %r57, 0; + neg.s32 %r216, %r67; + selp.b32 %r363, %r67, %r216, %p39; + setp.lt.s32 %p40, %r361, 1; + @%p40 bra BB0_43; + + mul.lo.s32 %r217, %r75, -921707870; + shr.u32 %r218, %r217, 31; + shl.b32 %r219, %r361, 1; + add.s32 %r361, %r218, %r219; + add.s32 %r362, %r362, 1; + +BB0_43: + mov.u32 %r220, 126; + sub.s32 %r221, %r220, %r362; + shl.b32 %r222, %r221, 23; + add.s32 %r223, %r361, 1; + shr.u32 %r224, %r223, 7; + add.s32 %r225, %r224, 1; + shr.u32 %r226, %r225, 1; + add.s32 %r227, %r226, %r222; + or.b32 %r228, %r227, %r359; + mov.b32 %f731, %r228; + +BB0_44: + mul.rn.f32 %f56, %f731, %f731; + and.b32 %r83, %r363, 1; + setp.eq.s32 %p41, %r83, 0; + @%p41 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f236, 0f3C08839E; + mov.f32 %f237, 0fB94CA1F9; + fma.rn.f32 %f732, %f237, %f56, %f236; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f234, 0fBAB6061A; + mov.f32 %f235, 0f37CCF5CE; + fma.rn.f32 %f732, %f235, %f56, %f234; + +BB0_47: + @%p41 bra BB0_49; + bra.uni BB0_48; + +BB0_49: + mov.f32 %f241, 0fBE2AAAA3; + fma.rn.f32 %f242, %f732, %f56, %f241; + mov.f32 %f243, 0f00000000; + fma.rn.f32 %f733, %f242, %f56, %f243; + bra.uni BB0_50; + +BB0_48: + mov.f32 %f238, 0f3D2AAAA5; + fma.rn.f32 %f239, %f732, %f56, %f238; + mov.f32 %f240, 0fBF000000; + fma.rn.f32 %f733, %f239, %f56, %f240; + +BB0_50: + fma.rn.f32 %f734, %f733, %f731, %f731; + @%p41 bra BB0_52; + + mov.f32 %f244, 0f3F800000; + fma.rn.f32 %f734, %f733, %f56, %f244; + +BB0_52: + and.b32 %r229, %r363, 2; + setp.eq.s32 %p44, %r229, 0; + @%p44 bra BB0_54; + + mov.f32 %f245, 0f00000000; + mov.f32 %f246, 0fBF800000; + fma.rn.f32 %f734, %f734, %f246, %f245; + +BB0_54: + mul.f32 %f255, %f31, %f728; + add.u64 %rd53, %SP, 28; + cvta.to.local.u64 %rd54, %rd53; + mul.f32 %f256, %f255, %f255; + mov.f32 %f257, 0f3F800000; + sub.f32 %f258, %f257, %f256; + mul.f32 %f259, %f31, %f734; + mul.f32 %f260, %f259, %f259; + sub.f32 %f261, %f258, %f260; + mov.f32 %f262, 0f00000000; + max.f32 %f263, %f262, %f261; + sqrt.rn.f32 %f264, %f263; + mul.f32 %f265, %f17, %f259; + mul.f32 %f266, %f18, %f259; + mul.f32 %f267, %f19, %f259; + fma.rn.f32 %f268, %f20, %f255, %f265; + fma.rn.f32 %f269, %f21, %f255, %f266; + fma.rn.f32 %f270, %f22, %f255, %f267; + fma.rn.f32 %f271, %f7, %f264, %f268; + fma.rn.f32 %f272, %f8, %f264, %f269; + fma.rn.f32 %f273, %f9, %f264, %f270; + add.f32 %f274, %f7, %f271; + add.f32 %f275, %f8, %f272; + add.f32 %f276, %f9, %f273; + ld.global.f32 %f277, [shadowSpread]; + mul.f32 %f278, %f277, %f274; + mul.f32 %f279, %f277, %f275; + mul.f32 %f280, %f277, %f276; + sub.f32 %f281, %f278, %f7; + sub.f32 %f282, %f279, %f8; + sub.f32 %f283, %f280, %f9; + mul.f32 %f284, %f282, %f282; + fma.rn.f32 %f285, %f281, %f281, %f284; + fma.rn.f32 %f286, %f283, %f283, %f285; + sqrt.rn.f32 %f287, %f286; + rcp.rn.f32 %f288, %f287; + mul.f32 %f250, %f288, %f281; + mul.f32 %f251, %f288, %f282; + mul.f32 %f252, %f288, %f283; + ld.global.u32 %r233, [imageEnabled]; + and.b32 %r234, %r233, 32; + setp.eq.s32 %p45, %r234, 0; + selp.f32 %f289, 0f3F800000, 0f41200000, %p45; + mul.f32 %f253, %f289, %f29; + mov.u32 %r235, 1065353216; + st.local.u32 [%rd54], %r235; + ld.global.u32 %r230, [root]; + mov.u32 %r231, 1; + mov.f32 %f254, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r230, %f14, %f15, %f16, %f250, %f251, %f252, %r231, %f253, %f254, %rd53, %r105); + // inline asm + ld.local.f32 %f290, [%rd54]; + add.f32 %f736, %f736, %f290; + ld.global.u32 %r339, [samples]; + add.s32 %r342, %r342, 1; + setp.lt.s32 %p46, %r342, %r339; + @%p46 bra BB0_8; + +BB0_55: + add.s32 %r340, %r340, 1; + setp.lt.s32 %p47, %r340, %r339; + @%p47 bra BB0_6; + +BB0_56: + setp.eq.s32 %p48, %r339, 0; + mov.f32 %f738, 0f3F800000; + @%p48 bra BB0_58; + + mul.lo.s32 %r236, %r339, %r339; + cvt.rn.f32.s32 %f292, %r236; + div.rn.f32 %f738, %f736, %f292; + +BB0_58: + mul.f32 %f301, %f12, %f21; + fma.rn.f32 %f302, %f11, %f20, %f301; + fma.rn.f32 %f303, %f13, %f22, %f302; + ld.global.v4.f32 {%f304, %f305, %f306, %f307}, [lightTilingOffset]; + fma.rn.f32 %f297, %f303, %f304, %f306; + mul.f32 %f310, %f12, %f18; + fma.rn.f32 %f311, %f11, %f17, %f310; + fma.rn.f32 %f312, %f13, %f19, %f311; + fma.rn.f32 %f298, %f312, %f305, %f307; + ld.global.u32 %r237, [lightCookie]; + mov.f32 %f300, 0f00000000; + // inline asm + call (%f293, %f294, %f295, %f296), _rt_texture_get_f_id, (%r237, %r104, %f297, %f298, %f300, %f300); + // inline asm + mul.f32 %f73, %f738, %f293; + ld.global.f32 %f315, [directColor]; + mul.f32 %f316, %f315, %f73; + ld.global.f32 %f317, [directColor+4]; + mul.f32 %f318, %f317, %f73; + ld.global.f32 %f319, [directColor+8]; + mul.f32 %f320, %f73, %f319; + cvt.sat.f32.f32 %f321, %f10; + mul.f32 %f322, %f316, %f321; + mul.f32 %f323, %f318, %f321; + mul.f32 %f324, %f320, %f321; + ld.global.u32 %r239, [ignoreNormal]; + setp.eq.s32 %p49, %r239, 0; + selp.f32 %f74, %f322, %f316, %p49; + selp.f32 %f75, %f323, %f318, %p49; + selp.f32 %f76, %f324, %f320, %p49; + ld.global.u32 %r368, [imageEnabled]; + and.b32 %r240, %r368, 8; + setp.eq.s32 %p50, %r240, 0; + @%p50 bra BB0_71; + + cvt.u64.u32 %rd57, %r2; + cvt.u64.u32 %rd58, %r3; + mov.u64 %rd61, image_Mask; + cvta.global.u64 %rd56, %rd61; + // inline asm + call (%rd55), _rt_buffer_get_64, (%rd56, %r104, %r104, %rd57, %rd58, %rd27, %rd27); + // inline asm + mov.f32 %f327, 0f3E68BA2E; + cvt.rzi.f32.f32 %f328, %f327; + fma.rn.f32 %f329, %f328, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f77, %f329; + abs.f32 %f78, %f73; + setp.lt.f32 %p51, %f78, 0f00800000; + mul.f32 %f330, %f78, 0f4B800000; + selp.f32 %f331, 0fC3170000, 0fC2FE0000, %p51; + selp.f32 %f332, %f330, %f78, %p51; + mov.b32 %r243, %f332; + and.b32 %r244, %r243, 8388607; + or.b32 %r245, %r244, 1065353216; + mov.b32 %f333, %r245; + shr.u32 %r246, %r243, 23; + cvt.rn.f32.u32 %f334, %r246; + add.f32 %f335, %f331, %f334; + setp.gt.f32 %p52, %f333, 0f3FB504F3; + mul.f32 %f336, %f333, 0f3F000000; + add.f32 %f337, %f335, 0f3F800000; + selp.f32 %f338, %f336, %f333, %p52; + selp.f32 %f339, %f337, %f335, %p52; + add.f32 %f340, %f338, 0fBF800000; + add.f32 %f326, %f338, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f325,%f326; + // inline asm + add.f32 %f341, %f340, %f340; + mul.f32 %f342, %f325, %f341; + mul.f32 %f343, %f342, %f342; + mov.f32 %f344, 0f3C4CAF63; + mov.f32 %f345, 0f3B18F0FE; + fma.rn.f32 %f346, %f345, %f343, %f344; + mov.f32 %f347, 0f3DAAAABD; + fma.rn.f32 %f348, %f346, %f343, %f347; + mul.rn.f32 %f349, %f348, %f343; + mul.rn.f32 %f350, %f349, %f342; + sub.f32 %f351, %f340, %f342; + neg.f32 %f352, %f342; + add.f32 %f353, %f351, %f351; + fma.rn.f32 %f354, %f352, %f340, %f353; + mul.rn.f32 %f355, %f325, %f354; + add.f32 %f356, %f350, %f342; + sub.f32 %f357, %f342, %f356; + add.f32 %f358, %f350, %f357; + add.f32 %f359, %f355, %f358; + add.f32 %f360, %f356, %f359; + sub.f32 %f361, %f356, %f360; + add.f32 %f362, %f359, %f361; + mov.f32 %f363, 0f3F317200; + mul.rn.f32 %f364, %f339, %f363; + mov.f32 %f365, 0f35BFBE8E; + mul.rn.f32 %f366, %f339, %f365; + add.f32 %f367, %f364, %f360; + sub.f32 %f368, %f364, %f367; + add.f32 %f369, %f360, %f368; + add.f32 %f370, %f362, %f369; + add.f32 %f371, %f366, %f370; + add.f32 %f372, %f367, %f371; + sub.f32 %f373, %f367, %f372; + add.f32 %f374, %f371, %f373; + mov.f32 %f375, 0f3EE8BA2E; + mul.rn.f32 %f376, %f375, %f372; + neg.f32 %f377, %f376; + fma.rn.f32 %f378, %f375, %f372, %f377; + fma.rn.f32 %f379, %f375, %f374, %f378; + fma.rn.f32 %f381, %f300, %f372, %f379; + add.rn.f32 %f382, %f376, %f381; + neg.f32 %f383, %f382; + add.rn.f32 %f384, %f376, %f383; + add.rn.f32 %f385, %f384, %f381; + mov.b32 %r247, %f382; + setp.eq.s32 %p53, %r247, 1118925336; + add.s32 %r248, %r247, -1; + mov.b32 %f386, %r248; + add.f32 %f387, %f385, 0f37000000; + selp.f32 %f388, %f386, %f382, %p53; + selp.f32 %f79, %f387, %f385, %p53; + mul.f32 %f389, %f388, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f390, %f389; + mov.f32 %f391, 0fBF317200; + fma.rn.f32 %f392, %f390, %f391, %f388; + mov.f32 %f393, 0fB5BFBE8E; + fma.rn.f32 %f394, %f390, %f393, %f392; + mul.f32 %f395, %f394, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f396, %f395; + add.f32 %f397, %f390, 0f00000000; + ex2.approx.f32 %f398, %f397; + mul.f32 %f399, %f396, %f398; + setp.lt.f32 %p54, %f388, 0fC2D20000; + selp.f32 %f400, 0f00000000, %f399, %p54; + setp.gt.f32 %p55, %f388, 0f42D20000; + selp.f32 %f739, 0f7F800000, %f400, %p55; + setp.eq.f32 %p56, %f739, 0f7F800000; + @%p56 bra BB0_61; + + fma.rn.f32 %f739, %f739, %f79, %f739; + +BB0_61: + setp.lt.f32 %p57, %f73, 0f00000000; + setp.eq.f32 %p58, %f77, 0f3F800000; + and.pred %p1, %p57, %p58; + mov.b32 %r249, %f739; + xor.b32 %r250, %r249, -2147483648; + mov.b32 %f401, %r250; + selp.f32 %f741, %f401, %f739, %p1; + setp.eq.f32 %p59, %f73, 0f00000000; + @%p59 bra BB0_64; + bra.uni BB0_62; + +BB0_64: + add.f32 %f404, %f73, %f73; + selp.f32 %f741, %f404, 0f00000000, %p58; + bra.uni BB0_65; + +BB0_129: + mov.u64 %rd170, image_HDR; + cvta.global.u64 %rd165, %rd170; + mov.u32 %r330, 8; + // inline asm + call (%rd164), _rt_buffer_get_64, (%rd165, %r104, %r330, %rd20, %rd21, %rd27, %rd27); + // inline asm + mov.f32 %f691, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs71, %f691;} + + // inline asm + mov.u16 %rs72, 0; + st.v4.u16 [%rd164], {%rs71, %rs71, %rs71, %rs72}; + +BB0_130: + ld.global.u8 %rs73, [imageEnabled]; + and.b16 %rs74, %rs73, 64; + setp.eq.s16 %p128, %rs74, 0; + @%p128 bra BB0_132; + + cvt.u64.u32 %rd173, %r2; + cvt.u64.u32 %rd174, %r3; + mov.u64 %rd177, image_Dir; + cvta.global.u64 %rd172, %rd177; + // inline asm + call (%rd171), _rt_buffer_get_64, (%rd172, %r104, %r105, %rd173, %rd174, %rd27, %rd27); + // inline asm + mov.u16 %rs75, 0; + st.v4.u8 [%rd171], {%rs75, %rs75, %rs75, %rs75}; + bra.uni BB0_132; + +BB0_119: + mov.u64 %rd129, image_HDR; + cvta.global.u64 %rd124, %rd129; + mov.u32 %r313, 8; + // inline asm + call (%rd123), _rt_buffer_get_64, (%rd124, %r104, %r313, %rd18, %rd19, %rd27, %rd27); + // inline asm + mov.f32 %f681, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs52, %f681;} + + // inline asm + st.v4.u16 [%rd123], {%rs52, %rs52, %rs52, %rs41}; + +BB0_120: + ld.global.u8 %rs53, [imageEnabled]; + and.b16 %rs54, %rs53, 64; + setp.eq.s16 %p123, %rs54, 0; + @%p123 bra BB0_132; + + cvt.u64.u32 %rd132, %r2; + cvt.u64.u32 %rd133, %r3; + mov.u64 %rd136, image_Dir; + cvta.global.u64 %rd131, %rd136; + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd131, %r104, %r105, %rd132, %rd133, %rd27, %rd27); + // inline asm + mov.u16 %rs55, 255; + mov.u16 %rs56, 0; + st.v4.u8 [%rd130], {%rs56, %rs56, %rs56, %rs55}; + bra.uni BB0_132; + +BB0_62: + setp.geu.f32 %p60, %f73, 0f00000000; + @%p60 bra BB0_65; + + mov.f32 %f718, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f403, %f718; + setp.neu.f32 %p61, %f403, 0f3EE8BA2E; + selp.f32 %f741, 0f7FFFFFFF, %f741, %p61; + +BB0_65: + add.f32 %f405, %f78, 0f3EE8BA2E; + mov.b32 %r251, %f405; + setp.lt.s32 %p63, %r251, 2139095040; + @%p63 bra BB0_70; + + setp.gtu.f32 %p64, %f78, 0f7F800000; + @%p64 bra BB0_69; + bra.uni BB0_67; + +BB0_69: + add.f32 %f741, %f73, 0f3EE8BA2E; + bra.uni BB0_70; + +BB0_67: + setp.neu.f32 %p65, %f78, 0f7F800000; + @%p65 bra BB0_70; + + selp.f32 %f741, 0fFF800000, 0f7F800000, %p1; + +BB0_70: + mul.f32 %f406, %f741, 0f437F0000; + setp.eq.f32 %p66, %f73, 0f3F800000; + selp.f32 %f407, 0f437F0000, %f406, %p66; + cvt.rzi.u32.f32 %r252, %f407; + cvt.u16.u32 %rs11, %r252; + mov.u16 %rs12, 255; + st.v2.u8 [%rd55], {%rs11, %rs12}; + ld.global.u32 %r368, [imageEnabled]; + +BB0_71: + and.b32 %r253, %r368, 1; + setp.eq.b32 %p67, %r253, 1; + @!%p67 bra BB0_106; + bra.uni BB0_72; + +BB0_72: + mov.f32 %f717, 0f00000000; + mov.f32 %f410, 0f3E666666; + cvt.rzi.f32.f32 %f411, %f410; + fma.rn.f32 %f412, %f411, 0fC0000000, 0f3EE66666; + abs.f32 %f90, %f412; + abs.f32 %f91, %f74; + setp.lt.f32 %p68, %f91, 0f00800000; + mul.f32 %f413, %f91, 0f4B800000; + selp.f32 %f414, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f415, %f413, %f91, %p68; + mov.b32 %r254, %f415; + and.b32 %r255, %r254, 8388607; + or.b32 %r256, %r255, 1065353216; + mov.b32 %f416, %r256; + shr.u32 %r257, %r254, 23; + cvt.rn.f32.u32 %f417, %r257; + add.f32 %f418, %f414, %f417; + setp.gt.f32 %p69, %f416, 0f3FB504F3; + mul.f32 %f419, %f416, 0f3F000000; + add.f32 %f420, %f418, 0f3F800000; + selp.f32 %f421, %f419, %f416, %p69; + selp.f32 %f422, %f420, %f418, %p69; + add.f32 %f423, %f421, 0fBF800000; + add.f32 %f409, %f421, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f408,%f409; + // inline asm + add.f32 %f424, %f423, %f423; + mul.f32 %f425, %f408, %f424; + mul.f32 %f426, %f425, %f425; + mov.f32 %f427, 0f3C4CAF63; + mov.f32 %f428, 0f3B18F0FE; + fma.rn.f32 %f429, %f428, %f426, %f427; + mov.f32 %f430, 0f3DAAAABD; + fma.rn.f32 %f431, %f429, %f426, %f430; + mul.rn.f32 %f432, %f431, %f426; + mul.rn.f32 %f433, %f432, %f425; + sub.f32 %f434, %f423, %f425; + neg.f32 %f435, %f425; + add.f32 %f436, %f434, %f434; + fma.rn.f32 %f437, %f435, %f423, %f436; + mul.rn.f32 %f438, %f408, %f437; + add.f32 %f439, %f433, %f425; + sub.f32 %f440, %f425, %f439; + add.f32 %f441, %f433, %f440; + add.f32 %f442, %f438, %f441; + add.f32 %f443, %f439, %f442; + sub.f32 %f444, %f439, %f443; + add.f32 %f445, %f442, %f444; + mov.f32 %f446, 0f3F317200; + mul.rn.f32 %f447, %f422, %f446; + mov.f32 %f448, 0f35BFBE8E; + mul.rn.f32 %f449, %f422, %f448; + add.f32 %f450, %f447, %f443; + sub.f32 %f451, %f447, %f450; + add.f32 %f452, %f443, %f451; + add.f32 %f453, %f445, %f452; + add.f32 %f454, %f449, %f453; + add.f32 %f455, %f450, %f454; + sub.f32 %f456, %f450, %f455; + add.f32 %f457, %f454, %f456; + mov.f32 %f458, 0f3EE66666; + mul.rn.f32 %f459, %f458, %f455; + neg.f32 %f460, %f459; + fma.rn.f32 %f461, %f458, %f455, %f460; + fma.rn.f32 %f462, %f458, %f457, %f461; + fma.rn.f32 %f464, %f717, %f455, %f462; + add.rn.f32 %f465, %f459, %f464; + neg.f32 %f466, %f465; + add.rn.f32 %f467, %f459, %f466; + add.rn.f32 %f468, %f467, %f464; + mov.b32 %r258, %f465; + setp.eq.s32 %p70, %r258, 1118925336; + add.s32 %r259, %r258, -1; + mov.b32 %f469, %r259; + add.f32 %f470, %f468, 0f37000000; + selp.f32 %f471, %f469, %f465, %p70; + selp.f32 %f92, %f470, %f468, %p70; + mul.f32 %f472, %f471, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f473, %f472; + mov.f32 %f474, 0fBF317200; + fma.rn.f32 %f475, %f473, %f474, %f471; + mov.f32 %f476, 0fB5BFBE8E; + fma.rn.f32 %f477, %f473, %f476, %f475; + mul.f32 %f478, %f477, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f479, %f478; + add.f32 %f480, %f473, 0f00000000; + ex2.approx.f32 %f481, %f480; + mul.f32 %f482, %f479, %f481; + setp.lt.f32 %p71, %f471, 0fC2D20000; + selp.f32 %f483, 0f00000000, %f482, %p71; + setp.gt.f32 %p72, %f471, 0f42D20000; + selp.f32 %f742, 0f7F800000, %f483, %p72; + setp.eq.f32 %p73, %f742, 0f7F800000; + @%p73 bra BB0_74; + + fma.rn.f32 %f742, %f742, %f92, %f742; + +BB0_74: + setp.lt.f32 %p74, %f74, 0f00000000; + setp.eq.f32 %p75, %f90, 0f3F800000; + and.pred %p2, %p74, %p75; + mov.b32 %r260, %f742; + xor.b32 %r261, %r260, -2147483648; + mov.b32 %f484, %r261; + selp.f32 %f744, %f484, %f742, %p2; + setp.eq.f32 %p76, %f74, 0f00000000; + @%p76 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f487, %f74, %f74; + selp.f32 %f744, %f487, 0f00000000, %p75; + bra.uni BB0_78; + +BB0_75: + setp.geu.f32 %p77, %f74, 0f00000000; + @%p77 bra BB0_78; + + cvt.rzi.f32.f32 %f486, %f458; + setp.neu.f32 %p78, %f486, 0f3EE66666; + selp.f32 %f744, 0f7FFFFFFF, %f744, %p78; + +BB0_78: + abs.f32 %f692, %f74; + add.f32 %f488, %f692, 0f3EE66666; + mov.b32 %r262, %f488; + setp.lt.s32 %p80, %r262, 2139095040; + @%p80 bra BB0_83; + + abs.f32 %f709, %f74; + setp.gtu.f32 %p81, %f709, 0f7F800000; + @%p81 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f744, %f74, 0f3EE66666; + bra.uni BB0_83; + +BB0_80: + abs.f32 %f710, %f74; + setp.neu.f32 %p82, %f710, 0f7F800000; + @%p82 bra BB0_83; + + selp.f32 %f744, 0fFF800000, 0f7F800000, %p2; + +BB0_83: + mov.f32 %f700, 0fB5BFBE8E; + mov.f32 %f699, 0fBF317200; + mov.f32 %f698, 0f35BFBE8E; + mov.f32 %f697, 0f3F317200; + mov.f32 %f696, 0f3DAAAABD; + mov.f32 %f695, 0f3C4CAF63; + mov.f32 %f694, 0f3B18F0FE; + mov.f32 %f693, 0f00000000; + setp.eq.f32 %p83, %f74, 0f3F800000; + selp.f32 %f103, 0f3F800000, %f744, %p83; + abs.f32 %f104, %f75; + setp.lt.f32 %p84, %f104, 0f00800000; + mul.f32 %f491, %f104, 0f4B800000; + selp.f32 %f492, 0fC3170000, 0fC2FE0000, %p84; + selp.f32 %f493, %f491, %f104, %p84; + mov.b32 %r263, %f493; + and.b32 %r264, %r263, 8388607; + or.b32 %r265, %r264, 1065353216; + mov.b32 %f494, %r265; + shr.u32 %r266, %r263, 23; + cvt.rn.f32.u32 %f495, %r266; + add.f32 %f496, %f492, %f495; + setp.gt.f32 %p85, %f494, 0f3FB504F3; + mul.f32 %f497, %f494, 0f3F000000; + add.f32 %f498, %f496, 0f3F800000; + selp.f32 %f499, %f497, %f494, %p85; + selp.f32 %f500, %f498, %f496, %p85; + add.f32 %f501, %f499, 0fBF800000; + add.f32 %f490, %f499, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f489,%f490; + // inline asm + add.f32 %f502, %f501, %f501; + mul.f32 %f503, %f489, %f502; + mul.f32 %f504, %f503, %f503; + fma.rn.f32 %f507, %f694, %f504, %f695; + fma.rn.f32 %f509, %f507, %f504, %f696; + mul.rn.f32 %f510, %f509, %f504; + mul.rn.f32 %f511, %f510, %f503; + sub.f32 %f512, %f501, %f503; + neg.f32 %f513, %f503; + add.f32 %f514, %f512, %f512; + fma.rn.f32 %f515, %f513, %f501, %f514; + mul.rn.f32 %f516, %f489, %f515; + add.f32 %f517, %f511, %f503; + sub.f32 %f518, %f503, %f517; + add.f32 %f519, %f511, %f518; + add.f32 %f520, %f516, %f519; + add.f32 %f521, %f517, %f520; + sub.f32 %f522, %f517, %f521; + add.f32 %f523, %f520, %f522; + mul.rn.f32 %f525, %f500, %f697; + mul.rn.f32 %f527, %f500, %f698; + add.f32 %f528, %f525, %f521; + sub.f32 %f529, %f525, %f528; + add.f32 %f530, %f521, %f529; + add.f32 %f531, %f523, %f530; + add.f32 %f532, %f527, %f531; + add.f32 %f533, %f528, %f532; + sub.f32 %f534, %f528, %f533; + add.f32 %f535, %f532, %f534; + mul.rn.f32 %f537, %f458, %f533; + neg.f32 %f538, %f537; + fma.rn.f32 %f539, %f458, %f533, %f538; + fma.rn.f32 %f540, %f458, %f535, %f539; + fma.rn.f32 %f542, %f693, %f533, %f540; + add.rn.f32 %f543, %f537, %f542; + neg.f32 %f544, %f543; + add.rn.f32 %f545, %f537, %f544; + add.rn.f32 %f546, %f545, %f542; + mov.b32 %r267, %f543; + setp.eq.s32 %p86, %r267, 1118925336; + add.s32 %r268, %r267, -1; + mov.b32 %f547, %r268; + add.f32 %f548, %f546, 0f37000000; + selp.f32 %f549, %f547, %f543, %p86; + selp.f32 %f105, %f548, %f546, %p86; + mul.f32 %f550, %f549, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f551, %f550; + fma.rn.f32 %f553, %f551, %f699, %f549; + fma.rn.f32 %f555, %f551, %f700, %f553; + mul.f32 %f556, %f555, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f557, %f556; + add.f32 %f558, %f551, 0f00000000; + ex2.approx.f32 %f559, %f558; + mul.f32 %f560, %f557, %f559; + setp.lt.f32 %p87, %f549, 0fC2D20000; + selp.f32 %f561, 0f00000000, %f560, %p87; + setp.gt.f32 %p88, %f549, 0f42D20000; + selp.f32 %f745, 0f7F800000, %f561, %p88; + setp.eq.f32 %p89, %f745, 0f7F800000; + @%p89 bra BB0_85; + + fma.rn.f32 %f745, %f745, %f105, %f745; + +BB0_85: + setp.lt.f32 %p90, %f75, 0f00000000; + and.pred %p3, %p90, %p75; + mov.b32 %r269, %f745; + xor.b32 %r270, %r269, -2147483648; + mov.b32 %f562, %r270; + selp.f32 %f747, %f562, %f745, %p3; + setp.eq.f32 %p92, %f75, 0f00000000; + @%p92 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f565, %f75, %f75; + selp.f32 %f747, %f565, 0f00000000, %p75; + bra.uni BB0_89; + +BB0_86: + setp.geu.f32 %p93, %f75, 0f00000000; + @%p93 bra BB0_89; + + mov.f32 %f716, 0f3EE66666; + cvt.rzi.f32.f32 %f564, %f716; + setp.neu.f32 %p94, %f564, 0f3EE66666; + selp.f32 %f747, 0f7FFFFFFF, %f747, %p94; + +BB0_89: + abs.f32 %f711, %f75; + add.f32 %f566, %f711, 0f3EE66666; + mov.b32 %r271, %f566; + setp.lt.s32 %p96, %r271, 2139095040; + @%p96 bra BB0_94; + + abs.f32 %f714, %f75; + setp.gtu.f32 %p97, %f714, 0f7F800000; + @%p97 bra BB0_93; + bra.uni BB0_91; + +BB0_93: + add.f32 %f747, %f75, 0f3EE66666; + bra.uni BB0_94; + +BB0_91: + abs.f32 %f715, %f75; + setp.neu.f32 %p98, %f715, 0f7F800000; + @%p98 bra BB0_94; + + selp.f32 %f747, 0fFF800000, 0f7F800000, %p3; + +BB0_94: + mov.f32 %f712, 0f3EE66666; + mov.f32 %f708, 0fB5BFBE8E; + mov.f32 %f707, 0fBF317200; + mov.f32 %f706, 0f35BFBE8E; + mov.f32 %f705, 0f3F317200; + mov.f32 %f704, 0f3DAAAABD; + mov.f32 %f703, 0f3C4CAF63; + mov.f32 %f702, 0f3B18F0FE; + mov.f32 %f701, 0f00000000; + setp.eq.f32 %p99, %f75, 0f3F800000; + selp.f32 %f116, 0f3F800000, %f747, %p99; + abs.f32 %f117, %f76; + setp.lt.f32 %p100, %f117, 0f00800000; + mul.f32 %f569, %f117, 0f4B800000; + selp.f32 %f570, 0fC3170000, 0fC2FE0000, %p100; + selp.f32 %f571, %f569, %f117, %p100; + mov.b32 %r272, %f571; + and.b32 %r273, %r272, 8388607; + or.b32 %r274, %r273, 1065353216; + mov.b32 %f572, %r274; + shr.u32 %r275, %r272, 23; + cvt.rn.f32.u32 %f573, %r275; + add.f32 %f574, %f570, %f573; + setp.gt.f32 %p101, %f572, 0f3FB504F3; + mul.f32 %f575, %f572, 0f3F000000; + add.f32 %f576, %f574, 0f3F800000; + selp.f32 %f577, %f575, %f572, %p101; + selp.f32 %f578, %f576, %f574, %p101; + add.f32 %f579, %f577, 0fBF800000; + add.f32 %f568, %f577, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f567,%f568; + // inline asm + add.f32 %f580, %f579, %f579; + mul.f32 %f581, %f567, %f580; + mul.f32 %f582, %f581, %f581; + fma.rn.f32 %f585, %f702, %f582, %f703; + fma.rn.f32 %f587, %f585, %f582, %f704; + mul.rn.f32 %f588, %f587, %f582; + mul.rn.f32 %f589, %f588, %f581; + sub.f32 %f590, %f579, %f581; + neg.f32 %f591, %f581; + add.f32 %f592, %f590, %f590; + fma.rn.f32 %f593, %f591, %f579, %f592; + mul.rn.f32 %f594, %f567, %f593; + add.f32 %f595, %f589, %f581; + sub.f32 %f596, %f581, %f595; + add.f32 %f597, %f589, %f596; + add.f32 %f598, %f594, %f597; + add.f32 %f599, %f595, %f598; + sub.f32 %f600, %f595, %f599; + add.f32 %f601, %f598, %f600; + mul.rn.f32 %f603, %f578, %f705; + mul.rn.f32 %f605, %f578, %f706; + add.f32 %f606, %f603, %f599; + sub.f32 %f607, %f603, %f606; + add.f32 %f608, %f599, %f607; + add.f32 %f609, %f601, %f608; + add.f32 %f610, %f605, %f609; + add.f32 %f611, %f606, %f610; + sub.f32 %f612, %f606, %f611; + add.f32 %f613, %f610, %f612; + mul.rn.f32 %f615, %f712, %f611; + neg.f32 %f616, %f615; + fma.rn.f32 %f617, %f712, %f611, %f616; + fma.rn.f32 %f618, %f712, %f613, %f617; + fma.rn.f32 %f620, %f701, %f611, %f618; + add.rn.f32 %f621, %f615, %f620; + neg.f32 %f622, %f621; + add.rn.f32 %f623, %f615, %f622; + add.rn.f32 %f624, %f623, %f620; + mov.b32 %r276, %f621; + setp.eq.s32 %p102, %r276, 1118925336; + add.s32 %r277, %r276, -1; + mov.b32 %f625, %r277; + add.f32 %f626, %f624, 0f37000000; + selp.f32 %f627, %f625, %f621, %p102; + selp.f32 %f118, %f626, %f624, %p102; + mul.f32 %f628, %f627, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f629, %f628; + fma.rn.f32 %f631, %f629, %f707, %f627; + fma.rn.f32 %f633, %f629, %f708, %f631; + mul.f32 %f634, %f633, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f635, %f634; + add.f32 %f636, %f629, 0f00000000; + ex2.approx.f32 %f637, %f636; + mul.f32 %f638, %f635, %f637; + setp.lt.f32 %p103, %f627, 0fC2D20000; + selp.f32 %f639, 0f00000000, %f638, %p103; + setp.gt.f32 %p104, %f627, 0f42D20000; + selp.f32 %f748, 0f7F800000, %f639, %p104; + setp.eq.f32 %p105, %f748, 0f7F800000; + @%p105 bra BB0_96; + + fma.rn.f32 %f748, %f748, %f118, %f748; + +BB0_96: + setp.lt.f32 %p106, %f76, 0f00000000; + and.pred %p4, %p106, %p75; + mov.b32 %r278, %f748; + xor.b32 %r279, %r278, -2147483648; + mov.b32 %f640, %r279; + selp.f32 %f750, %f640, %f748, %p4; + setp.eq.f32 %p108, %f76, 0f00000000; + @%p108 bra BB0_99; + bra.uni BB0_97; + +BB0_99: + add.f32 %f643, %f76, %f76; + selp.f32 %f750, %f643, 0f00000000, %p75; + bra.uni BB0_100; + +BB0_97: + setp.geu.f32 %p109, %f76, 0f00000000; + @%p109 bra BB0_100; + + mov.f32 %f713, 0f3EE66666; + cvt.rzi.f32.f32 %f642, %f713; + setp.neu.f32 %p110, %f642, 0f3EE66666; + selp.f32 %f750, 0f7FFFFFFF, %f750, %p110; + +BB0_100: + add.f32 %f644, %f117, 0f3EE66666; + mov.b32 %r280, %f644; + setp.lt.s32 %p112, %r280, 2139095040; + @%p112 bra BB0_105; + + setp.gtu.f32 %p113, %f117, 0f7F800000; + @%p113 bra BB0_104; + bra.uni BB0_102; + +BB0_104: + add.f32 %f750, %f76, 0f3EE66666; + bra.uni BB0_105; + +BB0_102: + setp.neu.f32 %p114, %f117, 0f7F800000; + @%p114 bra BB0_105; + + selp.f32 %f750, 0fFF800000, 0f7F800000, %p4; + +BB0_105: + mov.u32 %r334, 4; + mov.u64 %rd178, 0; + mov.u32 %r333, 2; + setp.eq.f32 %p115, %f76, 0f3F800000; + selp.f32 %f645, 0f3F800000, %f750, %p115; + cvt.u64.u32 %rd65, %r3; + cvt.u64.u32 %rd64, %r2; + mov.u64 %rd68, image; + cvta.global.u64 %rd63, %rd68; + // inline asm + call (%rd62), _rt_buffer_get_64, (%rd63, %r333, %r334, %rd64, %rd65, %rd178, %rd178); + // inline asm + cvt.sat.f32.f32 %f646, %f645; + mul.f32 %f647, %f646, 0f437FFD71; + cvt.rzi.u32.f32 %r283, %f647; + cvt.sat.f32.f32 %f648, %f116; + mul.f32 %f649, %f648, 0f437FFD71; + cvt.rzi.u32.f32 %r284, %f649; + cvt.sat.f32.f32 %f650, %f103; + mul.f32 %f651, %f650, 0f437FFD71; + cvt.rzi.u32.f32 %r285, %f651; + cvt.u16.u32 %rs13, %r283; + cvt.u16.u32 %rs14, %r285; + cvt.u16.u32 %rs15, %r284; + mov.u16 %rs16, 255; + st.v4.u8 [%rd62], {%rs13, %rs15, %rs14, %rs16}; + ld.global.u32 %r368, [imageEnabled]; + +BB0_106: + and.b32 %r286, %r368, 4; + setp.eq.s32 %p116, %r286, 0; + @%p116 bra BB0_110; + + ld.global.u32 %r287, [additive]; + setp.eq.s32 %p117, %r287, 0; + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + mov.f32 %f652, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs17, %f652;} + + // inline asm + @%p117 bra BB0_109; + + mov.u64 %rd179, 0; + mov.u32 %r335, 2; + mov.u64 %rd81, image_HDR; + cvta.global.u64 %rd70, %rd81; + mov.u32 %r291, 8; + // inline asm + call (%rd69), _rt_buffer_get_64, (%rd70, %r335, %r291, %rd16, %rd17, %rd179, %rd179); + // inline asm + ld.v4.u16 {%rs24, %rs25, %rs26, %rs27}, [%rd69]; + // inline asm + { cvt.f32.f16 %f653, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f654, %rs25;} + + // inline asm + // inline asm + { cvt.f32.f16 %f655, %rs26;} + + // inline asm + // inline asm + call (%rd75), _rt_buffer_get_64, (%rd70, %r335, %r291, %rd16, %rd17, %rd179, %rd179); + // inline asm + add.f32 %f656, %f74, %f653; + add.f32 %f657, %f75, %f654; + add.f32 %f658, %f76, %f655; + // inline asm + { cvt.rn.f16.f32 %rs23, %f658;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f657;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f656;} + + // inline asm + st.v4.u16 [%rd75], {%rs21, %rs22, %rs23, %rs17}; + bra.uni BB0_110; + +BB0_109: + mov.u64 %rd180, 0; + mov.u32 %r336, 2; + mov.u64 %rd88, image_HDR; + cvta.global.u64 %rd83, %rd88; + mov.u32 %r293, 8; + // inline asm + call (%rd82), _rt_buffer_get_64, (%rd83, %r336, %r293, %rd16, %rd17, %rd180, %rd180); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f76;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f75;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f74;} + + // inline asm + st.v4.u16 [%rd82], {%rs28, %rs29, %rs30, %rs17}; + +BB0_110: + ld.global.u8 %rs31, [imageEnabled]; + and.b16 %rs32, %rs31, 64; + setp.eq.s16 %p118, %rs32, 0; + @%p118 bra BB0_132; + + mov.u32 %r338, 4; + mov.u64 %rd181, 0; + mov.u32 %r337, 2; + ld.global.f32 %f662, [directDir]; + ld.global.f32 %f663, [directDir+4]; + ld.global.f32 %f664, [directDir+8]; + cvt.u64.u32 %rd92, %r3; + cvt.u64.u32 %rd91, %r2; + mov.u64 %rd95, image_Dir; + cvta.global.u64 %rd90, %rd95; + // inline asm + call (%rd89), _rt_buffer_get_64, (%rd90, %r337, %r338, %rd91, %rd92, %rd181, %rd181); + // inline asm + fma.rn.f32 %f665, %f662, 0fBF000000, 0f3F000000; + mul.f32 %f666, %f665, 0f437F0000; + cvt.rzi.u32.f32 %r296, %f666; + fma.rn.f32 %f667, %f663, 0fBF000000, 0f3F000000; + mul.f32 %f668, %f667, 0f437F0000; + cvt.rzi.u32.f32 %r297, %f668; + fma.rn.f32 %f669, %f664, 0fBF000000, 0f3F000000; + mul.f32 %f670, %f669, 0f437F0000; + cvt.rzi.u32.f32 %r298, %f670; + cvt.u16.u32 %rs33, %r298; + cvt.u16.u32 %rs34, %r297; + cvt.u16.u32 %rs35, %r296; + mov.u16 %rs36, 255; + st.v4.u8 [%rd89], {%rs35, %rs34, %rs33, %rs36}; + +BB0_132: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx.meta new file mode 100644 index 00000000..2b994b15 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadow.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 22a23f40220350645b1ad4b887eeebc1 +timeCreated: 1581075098 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx new file mode 100644 index 00000000..0d302f81 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx @@ -0,0 +1,2133 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 directDir[12]; +.global .align 4 .b8 directColor[12]; +.global .align 4 .f32 shadowSpread; +.global .align 4 .u32 samples; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCookie; +.global .align 16 .b8 lightTilingOffset[16]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9directDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11directColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12shadowSpreadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo17lightTilingOffsetE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9directDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11directColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12shadowSpreadE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename17lightTilingOffsetE[7] = {102, 108, 111, 97, 116, 52, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9directDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11directColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12shadowSpreadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum17lightTilingOffsetE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9directDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11directColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12shadowSpreadE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic17lightTilingOffsetE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9directDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11directColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12shadowSpreadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation17lightTilingOffsetE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<124>; + .reg .b16 %rs<152>; + .reg .f32 %f<815>; + .reg .b32 %r<390>; + .reg .b64 %rd<286>; + + + mov.u64 %rd285, __local_depot0; + cvta.local.u64 %SP, %rd285; + ld.global.v2.u32 {%r101, %r102}, [pixelID]; + cvt.u64.u32 %rd22, %r101; + cvt.u64.u32 %rd23, %r102; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r99, 2; + mov.u32 %r100, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r99, %r100, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r1, [%rd20]; + shr.u32 %r105, %r1, 16; + cvt.u16.u32 %rs1, %r105; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r1; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p5, %rs9, 0; + mov.f32 %f783, 0f00000000; + mov.f32 %f784, %f783; + mov.f32 %f785, %f783; + @%p5 bra BB0_2; + + ld.u8 %rs10, [%rd20+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f138, %rs12; + div.rn.f32 %f139, %f138, 0f437F0000; + fma.rn.f32 %f140, %f139, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f141, %rs10; + div.rn.f32 %f142, %f141, 0f437F0000; + fma.rn.f32 %f143, %f142, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f144, %rs7; + div.rn.f32 %f145, %f144, 0f437F0000; + fma.rn.f32 %f146, %f145, 0f40000000, 0fBF800000; + mul.f32 %f147, %f143, %f143; + fma.rn.f32 %f148, %f140, %f140, %f147; + fma.rn.f32 %f149, %f146, %f146, %f148; + sqrt.rn.f32 %f150, %f149; + rcp.rn.f32 %f151, %f150; + mul.f32 %f783, %f140, %f151; + mul.f32 %f784, %f143, %f151; + mul.f32 %f785, %f146, %f151; + +BB0_2: + ld.global.v2.u32 {%r106, %r107}, [pixelID]; + ld.global.v2.u32 {%r109, %r110}, [tileInfo]; + add.s32 %r2, %r106, %r109; + add.s32 %r3, %r107, %r110; + setp.eq.f32 %p6, %f784, 0f00000000; + setp.eq.f32 %p7, %f783, 0f00000000; + and.pred %p8, %p7, %p6; + setp.eq.f32 %p9, %f785, 0f00000000; + and.pred %p10, %p8, %p9; + @%p10 bra BB0_121; + bra.uni BB0_3; + +BB0_121: + ld.global.u32 %r389, [imageEnabled]; + and.b32 %r314, %r389, 1; + setp.eq.b32 %p116, %r314, 1; + @!%p116 bra BB0_123; + bra.uni BB0_122; + +BB0_122: + cvt.u64.u32 %rd169, %r2; + cvt.u64.u32 %rd170, %r3; + mov.u64 %rd173, image; + cvta.global.u64 %rd168, %rd173; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r99, %r100, %rd169, %rd170, %rd25, %rd25); + // inline asm + mov.u16 %rs84, 0; + st.v4.u8 [%rd167], {%rs84, %rs84, %rs84, %rs84}; + ld.global.u32 %r389, [imageEnabled]; + +BB0_123: + and.b32 %r317, %r389, 8; + setp.eq.s32 %p117, %r317, 0; + @%p117 bra BB0_125; + + cvt.u64.u32 %rd177, %r3; + cvt.u64.u32 %rd176, %r2; + mov.u64 %rd180, image_Mask; + cvta.global.u64 %rd175, %rd180; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r99, %r99, %rd176, %rd177, %rd25, %rd25); + // inline asm + mov.f32 %f704, 0f00000000; + cvt.rzi.u32.f32 %r320, %f704; + cvt.u16.u32 %rs85, %r320; + mov.u16 %rs86, 0; + st.v2.u8 [%rd174], {%rs85, %rs86}; + ld.global.u32 %r389, [imageEnabled]; + +BB0_125: + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + and.b32 %r321, %r389, 4; + setp.eq.s32 %p118, %r321, 0; + @%p118 bra BB0_129; + + ld.global.u32 %r322, [additive]; + setp.eq.s32 %p119, %r322, 0; + @%p119 bra BB0_128; + + mov.u64 %rd193, image_HDR; + cvta.global.u64 %rd182, %rd193; + mov.u32 %r326, 8; + // inline asm + call (%rd181), _rt_buffer_get_64, (%rd182, %r99, %r326, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd181]; + // inline asm + { cvt.f32.f16 %f705, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f706, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f707, %rs95;} + + // inline asm + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd182, %r99, %r326, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f708, %f705, 0f00000000; + add.f32 %f709, %f706, 0f00000000; + add.f32 %f710, %f707, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs92, %f710;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f709;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f708;} + + // inline asm + mov.u16 %rs97, 0; + st.v4.u16 [%rd187], {%rs90, %rs91, %rs92, %rs97}; + bra.uni BB0_129; + +BB0_3: + ld.global.f32 %f9, [directDir+8]; + ld.global.f32 %f8, [directDir+4]; + ld.global.f32 %f7, [directDir]; + mul.f32 %f153, %f783, %f7; + mul.f32 %f154, %f784, %f8; + neg.f32 %f155, %f154; + sub.f32 %f156, %f155, %f153; + mul.f32 %f157, %f785, %f9; + sub.f32 %f10, %f156, %f157; + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd29, %r118; + cvt.u64.u32 %rd30, %r119; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r115, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r99, %r115, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f13, [%rd27+8]; + ld.f32 %f12, [%rd27+4]; + ld.f32 %f11, [%rd27]; + mul.f32 %f158, %f11, 0f3456BF95; + mul.f32 %f159, %f12, 0f3456BF95; + mul.f32 %f160, %f13, 0f3456BF95; + abs.f32 %f161, %f783; + div.rn.f32 %f162, %f158, %f161; + abs.f32 %f163, %f784; + div.rn.f32 %f164, %f159, %f163; + abs.f32 %f165, %f785; + div.rn.f32 %f166, %f160, %f165; + abs.f32 %f167, %f162; + abs.f32 %f168, %f164; + abs.f32 %f169, %f166; + mov.f32 %f170, 0f38D1B717; + max.f32 %f171, %f167, %f170; + max.f32 %f172, %f168, %f170; + max.f32 %f173, %f169, %f170; + fma.rn.f32 %f14, %f783, %f171, %f11; + fma.rn.f32 %f15, %f784, %f172, %f12; + fma.rn.f32 %f16, %f785, %f173, %f13; + abs.f32 %f174, %f7; + abs.f32 %f175, %f9; + setp.gt.f32 %p11, %f174, %f175; + neg.f32 %f176, %f8; + neg.f32 %f177, %f9; + selp.f32 %f178, %f176, 0f00000000, %p11; + selp.f32 %f179, %f7, %f177, %p11; + selp.f32 %f180, 0f00000000, %f8, %p11; + mul.f32 %f181, %f179, %f179; + fma.rn.f32 %f182, %f178, %f178, %f181; + fma.rn.f32 %f183, %f180, %f180, %f182; + sqrt.rn.f32 %f184, %f183; + rcp.rn.f32 %f185, %f184; + mul.f32 %f17, %f178, %f185; + mul.f32 %f18, %f179, %f185; + mul.f32 %f19, %f180, %f185; + mul.f32 %f186, %f9, %f18; + mul.f32 %f187, %f8, %f19; + sub.f32 %f20, %f186, %f187; + mul.f32 %f188, %f7, %f19; + mul.f32 %f189, %f9, %f17; + sub.f32 %f21, %f188, %f189; + mul.f32 %f190, %f8, %f17; + mul.f32 %f191, %f7, %f18; + sub.f32 %f22, %f190, %f191; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd35, %r122; + cvt.u64.u32 %rd36, %r123; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r99, %r100, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.global.u32 %r358, [samples]; + mov.f32 %f800, 0f00000000; + setp.lt.s32 %p12, %r358, 1; + @%p12 bra BB0_55; + + cvt.rn.f32.s32 %f193, %r358; + rcp.rn.f32 %f23, %f193; + ld.u32 %r384, [%rd33]; + mul.f32 %f24, %f14, 0f3456BF95; + mul.f32 %f25, %f15, 0f3456BF95; + mul.f32 %f26, %f16, 0f3456BF95; + mov.f32 %f800, 0f00000000; + mov.u32 %r359, 0; + abs.f32 %f194, %f25; + abs.f32 %f195, %f24; + max.f32 %f196, %f195, %f194; + abs.f32 %f197, %f26; + max.f32 %f198, %f196, %f197; + +BB0_5: + setp.lt.s32 %p13, %r358, 1; + @%p13 bra BB0_54; + + cvt.rn.f32.s32 %f28, %r359; + max.f32 %f29, %f198, %f170; + mov.u32 %r361, 0; + +BB0_7: + mad.lo.s32 %r128, %r384, 1664525, 1013904223; + and.b32 %r129, %r128, 16777215; + cvt.rn.f32.u32 %f200, %r129; + fma.rn.f32 %f201, %f200, 0f33800000, %f28; + mul.f32 %f202, %f23, %f201; + mad.lo.s32 %r384, %r128, 1664525, 1013904223; + and.b32 %r130, %r384, 16777215; + cvt.rn.f32.u32 %f203, %r130; + cvt.rn.f32.s32 %f204, %r361; + fma.rn.f32 %f205, %f203, 0f33800000, %f204; + mul.f32 %f206, %f23, %f205; + sqrt.rn.f32 %f31, %f202; + mul.f32 %f794, %f206, 0f40C90FDB; + abs.f32 %f33, %f794; + setp.neu.f32 %p14, %f33, 0f7F800000; + mov.f32 %f788, %f794; + @%p14 bra BB0_9; + + mov.f32 %f207, 0f00000000; + mul.rn.f32 %f788, %f794, %f207; + +BB0_9: + mul.f32 %f208, %f788, 0f3F22F983; + cvt.rni.s32.f32 %r372, %f208; + cvt.rn.f32.s32 %f209, %r372; + neg.f32 %f210, %f209; + mov.f32 %f211, 0f3FC90FDA; + fma.rn.f32 %f212, %f210, %f211, %f788; + mov.f32 %f213, 0f33A22168; + fma.rn.f32 %f214, %f210, %f213, %f212; + mov.f32 %f215, 0f27C234C5; + fma.rn.f32 %f789, %f210, %f215, %f214; + abs.f32 %f216, %f788; + setp.leu.f32 %p15, %f216, 0f47CE4780; + @%p15 bra BB0_20; + + mov.b32 %r13, %f788; + shr.u32 %r14, %r13, 23; + shl.b32 %r133, %r13, 8; + or.b32 %r15, %r133, -2147483648; + add.u64 %rd42, %SP, 4; + cvta.to.local.u64 %rd282, %rd42; + mov.u32 %r364, 0; + mov.u64 %rd281, __cudart_i2opi_f; + mov.u32 %r363, -6; + +BB0_11: + .pragma "nounroll"; + ld.const.u32 %r136, [%rd281]; + // inline asm + { + mad.lo.cc.u32 %r134, %r136, %r15, %r364; + madc.hi.u32 %r364, %r136, %r15, 0; + } + // inline asm + st.local.u32 [%rd282], %r134; + add.s64 %rd282, %rd282, 4; + add.s64 %rd281, %rd281, 4; + add.s32 %r363, %r363, 1; + setp.ne.s32 %p16, %r363, 0; + @%p16 bra BB0_11; + + and.b32 %r139, %r14, 255; + add.s32 %r140, %r139, -128; + shr.u32 %r141, %r140, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd44, %rd42; + st.local.u32 [%rd44+24], %r364; + mov.u32 %r142, 6; + sub.s32 %r143, %r142, %r141; + mul.wide.s32 %rd45, %r143, 4; + add.s64 %rd8, %rd44, %rd45; + ld.local.u32 %r365, [%rd8]; + ld.local.u32 %r366, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p17, %r23, 0; + @%p17 bra BB0_14; + + mov.u32 %r144, 32; + sub.s32 %r145, %r144, %r23; + shr.u32 %r146, %r366, %r145; + shl.b32 %r147, %r365, %r23; + add.s32 %r365, %r146, %r147; + ld.local.u32 %r148, [%rd8+-8]; + shr.u32 %r149, %r148, %r145; + shl.b32 %r150, %r366, %r23; + add.s32 %r366, %r149, %r150; + +BB0_14: + shr.u32 %r151, %r366, 30; + shl.b32 %r152, %r365, 2; + add.s32 %r367, %r151, %r152; + shl.b32 %r29, %r366, 2; + shr.u32 %r153, %r367, 31; + shr.u32 %r154, %r365, 30; + add.s32 %r30, %r153, %r154; + setp.eq.s32 %p18, %r153, 0; + @%p18 bra BB0_15; + bra.uni BB0_16; + +BB0_15: + mov.u32 %r368, %r20; + mov.u32 %r369, %r29; + bra.uni BB0_17; + +BB0_16: + not.b32 %r155, %r367; + neg.s32 %r369, %r29; + setp.eq.s32 %p19, %r29, 0; + selp.u32 %r156, 1, 0, %p19; + add.s32 %r367, %r156, %r155; + xor.b32 %r368, %r20, -2147483648; + +BB0_17: + clz.b32 %r371, %r367; + setp.eq.s32 %p20, %r371, 0; + shl.b32 %r157, %r367, %r371; + mov.u32 %r158, 32; + sub.s32 %r159, %r158, %r371; + shr.u32 %r160, %r369, %r159; + add.s32 %r161, %r160, %r157; + selp.b32 %r38, %r367, %r161, %p20; + mov.u32 %r162, -921707870; + mul.hi.u32 %r370, %r38, %r162; + setp.eq.s32 %p21, %r20, 0; + neg.s32 %r163, %r30; + selp.b32 %r372, %r30, %r163, %p21; + setp.lt.s32 %p22, %r370, 1; + @%p22 bra BB0_19; + + mul.lo.s32 %r164, %r38, -921707870; + shr.u32 %r165, %r164, 31; + shl.b32 %r166, %r370, 1; + add.s32 %r370, %r165, %r166; + add.s32 %r371, %r371, 1; + +BB0_19: + mov.u32 %r167, 126; + sub.s32 %r168, %r167, %r371; + shl.b32 %r169, %r168, 23; + add.s32 %r170, %r370, 1; + shr.u32 %r171, %r170, 7; + add.s32 %r172, %r171, 1; + shr.u32 %r173, %r172, 1; + add.s32 %r174, %r173, %r169; + or.b32 %r175, %r174, %r368; + mov.b32 %f789, %r175; + +BB0_20: + mul.rn.f32 %f39, %f789, %f789; + add.s32 %r46, %r372, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p23, %r47, 0; + @%p23 bra BB0_22; + bra.uni BB0_21; + +BB0_22: + mov.f32 %f219, 0f3C08839E; + mov.f32 %f220, 0fB94CA1F9; + fma.rn.f32 %f790, %f220, %f39, %f219; + bra.uni BB0_23; + +BB0_21: + mov.f32 %f217, 0fBAB6061A; + mov.f32 %f218, 0f37CCF5CE; + fma.rn.f32 %f790, %f218, %f39, %f217; + +BB0_23: + @%p23 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f224, 0fBE2AAAA3; + fma.rn.f32 %f225, %f790, %f39, %f224; + mov.f32 %f226, 0f00000000; + fma.rn.f32 %f791, %f225, %f39, %f226; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f221, 0f3D2AAAA5; + fma.rn.f32 %f222, %f790, %f39, %f221; + mov.f32 %f223, 0fBF000000; + fma.rn.f32 %f791, %f222, %f39, %f223; + +BB0_26: + fma.rn.f32 %f792, %f791, %f789, %f789; + @%p23 bra BB0_28; + + mov.f32 %f227, 0f3F800000; + fma.rn.f32 %f792, %f791, %f39, %f227; + +BB0_28: + and.b32 %r176, %r46, 2; + setp.eq.s32 %p26, %r176, 0; + @%p26 bra BB0_30; + + mov.f32 %f228, 0f00000000; + mov.f32 %f229, 0fBF800000; + fma.rn.f32 %f792, %f792, %f229, %f228; + +BB0_30: + @%p14 bra BB0_32; + + mov.f32 %f230, 0f00000000; + mul.rn.f32 %f794, %f794, %f230; + +BB0_32: + mul.f32 %f231, %f794, 0f3F22F983; + cvt.rni.s32.f32 %r382, %f231; + cvt.rn.f32.s32 %f232, %r382; + neg.f32 %f233, %f232; + fma.rn.f32 %f235, %f233, %f211, %f794; + fma.rn.f32 %f237, %f233, %f213, %f235; + fma.rn.f32 %f795, %f233, %f215, %f237; + abs.f32 %f239, %f794; + setp.leu.f32 %p28, %f239, 0f47CE4780; + @%p28 bra BB0_43; + + mov.b32 %r49, %f794; + shr.u32 %r50, %r49, 23; + shl.b32 %r179, %r49, 8; + or.b32 %r51, %r179, -2147483648; + add.u64 %rd47, %SP, 4; + cvta.to.local.u64 %rd284, %rd47; + mov.u32 %r374, 0; + mov.u64 %rd283, __cudart_i2opi_f; + mov.u32 %r373, -6; + +BB0_34: + .pragma "nounroll"; + ld.const.u32 %r182, [%rd283]; + // inline asm + { + mad.lo.cc.u32 %r180, %r182, %r51, %r374; + madc.hi.u32 %r374, %r182, %r51, 0; + } + // inline asm + st.local.u32 [%rd284], %r180; + add.s64 %rd284, %rd284, 4; + add.s64 %rd283, %rd283, 4; + add.s32 %r373, %r373, 1; + setp.ne.s32 %p29, %r373, 0; + @%p29 bra BB0_34; + + and.b32 %r185, %r50, 255; + add.s32 %r186, %r185, -128; + shr.u32 %r187, %r186, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd49, %rd47; + st.local.u32 [%rd49+24], %r374; + mov.u32 %r188, 6; + sub.s32 %r189, %r188, %r187; + mul.wide.s32 %rd50, %r189, 4; + add.s64 %rd14, %rd49, %rd50; + ld.local.u32 %r375, [%rd14]; + ld.local.u32 %r376, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p30, %r59, 0; + @%p30 bra BB0_37; + + mov.u32 %r190, 32; + sub.s32 %r191, %r190, %r59; + shr.u32 %r192, %r376, %r191; + shl.b32 %r193, %r375, %r59; + add.s32 %r375, %r192, %r193; + ld.local.u32 %r194, [%rd14+-8]; + shr.u32 %r195, %r194, %r191; + shl.b32 %r196, %r376, %r59; + add.s32 %r376, %r195, %r196; + +BB0_37: + shr.u32 %r197, %r376, 30; + shl.b32 %r198, %r375, 2; + add.s32 %r377, %r197, %r198; + shl.b32 %r65, %r376, 2; + shr.u32 %r199, %r377, 31; + shr.u32 %r200, %r375, 30; + add.s32 %r66, %r199, %r200; + setp.eq.s32 %p31, %r199, 0; + @%p31 bra BB0_38; + bra.uni BB0_39; + +BB0_38: + mov.u32 %r378, %r56; + mov.u32 %r379, %r65; + bra.uni BB0_40; + +BB0_39: + not.b32 %r201, %r377; + neg.s32 %r379, %r65; + setp.eq.s32 %p32, %r65, 0; + selp.u32 %r202, 1, 0, %p32; + add.s32 %r377, %r202, %r201; + xor.b32 %r378, %r56, -2147483648; + +BB0_40: + clz.b32 %r381, %r377; + setp.eq.s32 %p33, %r381, 0; + shl.b32 %r203, %r377, %r381; + mov.u32 %r204, 32; + sub.s32 %r205, %r204, %r381; + shr.u32 %r206, %r379, %r205; + add.s32 %r207, %r206, %r203; + selp.b32 %r74, %r377, %r207, %p33; + mov.u32 %r208, -921707870; + mul.hi.u32 %r380, %r74, %r208; + setp.eq.s32 %p34, %r56, 0; + neg.s32 %r209, %r66; + selp.b32 %r382, %r66, %r209, %p34; + setp.lt.s32 %p35, %r380, 1; + @%p35 bra BB0_42; + + mul.lo.s32 %r210, %r74, -921707870; + shr.u32 %r211, %r210, 31; + shl.b32 %r212, %r380, 1; + add.s32 %r380, %r211, %r212; + add.s32 %r381, %r381, 1; + +BB0_42: + mov.u32 %r213, 126; + sub.s32 %r214, %r213, %r381; + shl.b32 %r215, %r214, 23; + add.s32 %r216, %r380, 1; + shr.u32 %r217, %r216, 7; + add.s32 %r218, %r217, 1; + shr.u32 %r219, %r218, 1; + add.s32 %r220, %r219, %r215; + or.b32 %r221, %r220, %r378; + mov.b32 %f795, %r221; + +BB0_43: + mul.rn.f32 %f56, %f795, %f795; + and.b32 %r82, %r382, 1; + setp.eq.s32 %p36, %r82, 0; + @%p36 bra BB0_45; + bra.uni BB0_44; + +BB0_45: + mov.f32 %f242, 0f3C08839E; + mov.f32 %f243, 0fB94CA1F9; + fma.rn.f32 %f796, %f243, %f56, %f242; + bra.uni BB0_46; + +BB0_44: + mov.f32 %f240, 0fBAB6061A; + mov.f32 %f241, 0f37CCF5CE; + fma.rn.f32 %f796, %f241, %f56, %f240; + +BB0_46: + @%p36 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f247, 0fBE2AAAA3; + fma.rn.f32 %f248, %f796, %f56, %f247; + mov.f32 %f249, 0f00000000; + fma.rn.f32 %f797, %f248, %f56, %f249; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f244, 0f3D2AAAA5; + fma.rn.f32 %f245, %f796, %f56, %f244; + mov.f32 %f246, 0fBF000000; + fma.rn.f32 %f797, %f245, %f56, %f246; + +BB0_49: + fma.rn.f32 %f798, %f797, %f795, %f795; + @%p36 bra BB0_51; + + mov.f32 %f250, 0f3F800000; + fma.rn.f32 %f798, %f797, %f56, %f250; + +BB0_51: + and.b32 %r222, %r382, 2; + setp.eq.s32 %p39, %r222, 0; + @%p39 bra BB0_53; + + mov.f32 %f251, 0f00000000; + mov.f32 %f252, 0fBF800000; + fma.rn.f32 %f798, %f798, %f252, %f251; + +BB0_53: + mul.f32 %f261, %f31, %f792; + add.u64 %rd51, %SP, 0; + cvta.to.local.u64 %rd52, %rd51; + mul.f32 %f262, %f261, %f261; + mov.f32 %f263, 0f3F800000; + sub.f32 %f264, %f263, %f262; + mul.f32 %f265, %f31, %f798; + mul.f32 %f266, %f265, %f265; + sub.f32 %f267, %f264, %f266; + mov.f32 %f268, 0f00000000; + max.f32 %f269, %f268, %f267; + sqrt.rn.f32 %f270, %f269; + mul.f32 %f271, %f17, %f265; + mul.f32 %f272, %f18, %f265; + mul.f32 %f273, %f19, %f265; + fma.rn.f32 %f274, %f20, %f261, %f271; + fma.rn.f32 %f275, %f21, %f261, %f272; + fma.rn.f32 %f276, %f22, %f261, %f273; + fma.rn.f32 %f277, %f7, %f270, %f274; + fma.rn.f32 %f278, %f8, %f270, %f275; + fma.rn.f32 %f279, %f9, %f270, %f276; + add.f32 %f280, %f7, %f277; + add.f32 %f281, %f8, %f278; + add.f32 %f282, %f9, %f279; + ld.global.f32 %f283, [shadowSpread]; + mul.f32 %f284, %f283, %f280; + mul.f32 %f285, %f283, %f281; + mul.f32 %f286, %f283, %f282; + sub.f32 %f287, %f284, %f7; + sub.f32 %f288, %f285, %f8; + sub.f32 %f289, %f286, %f9; + mul.f32 %f290, %f288, %f288; + fma.rn.f32 %f291, %f287, %f287, %f290; + fma.rn.f32 %f292, %f289, %f289, %f291; + sqrt.rn.f32 %f293, %f292; + rcp.rn.f32 %f294, %f293; + mul.f32 %f256, %f294, %f287; + mul.f32 %f257, %f294, %f288; + mul.f32 %f258, %f294, %f289; + ld.global.u32 %r226, [imageEnabled]; + and.b32 %r227, %r226, 32; + setp.eq.s32 %p40, %r227, 0; + selp.f32 %f295, 0f3F800000, 0f41200000, %p40; + mul.f32 %f259, %f295, %f29; + mov.u32 %r228, 1065353216; + st.local.u32 [%rd52], %r228; + ld.global.u32 %r223, [root]; + mov.u32 %r224, 1; + mov.f32 %f260, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r223, %f14, %f15, %f16, %f256, %f257, %f258, %r224, %f259, %f260, %rd51, %r100); + // inline asm + ld.local.f32 %f296, [%rd52]; + add.f32 %f800, %f800, %f296; + ld.global.u32 %r358, [samples]; + add.s32 %r361, %r361, 1; + setp.lt.s32 %p41, %r361, %r358; + @%p41 bra BB0_7; + +BB0_54: + add.s32 %r359, %r359, 1; + setp.lt.s32 %p42, %r359, %r358; + @%p42 bra BB0_5; + +BB0_55: + setp.eq.s32 %p43, %r358, 0; + mov.f32 %f802, 0f3F800000; + @%p43 bra BB0_57; + + mul.lo.s32 %r229, %r358, %r358; + cvt.rn.f32.s32 %f298, %r229; + div.rn.f32 %f802, %f800, %f298; + +BB0_57: + mul.f32 %f307, %f12, %f21; + fma.rn.f32 %f308, %f11, %f20, %f307; + fma.rn.f32 %f309, %f13, %f22, %f308; + ld.global.v4.f32 {%f310, %f311, %f312, %f313}, [lightTilingOffset]; + fma.rn.f32 %f303, %f309, %f310, %f312; + mul.f32 %f316, %f12, %f18; + fma.rn.f32 %f317, %f11, %f17, %f316; + fma.rn.f32 %f318, %f13, %f19, %f317; + fma.rn.f32 %f304, %f318, %f311, %f313; + ld.global.u32 %r230, [lightCookie]; + mov.f32 %f306, 0f00000000; + // inline asm + call (%f299, %f300, %f301, %f302), _rt_texture_get_f_id, (%r230, %r99, %f303, %f304, %f306, %f306); + // inline asm + mul.f32 %f73, %f802, %f299; + ld.global.f32 %f321, [directColor]; + mul.f32 %f322, %f321, %f73; + ld.global.f32 %f323, [directColor+4]; + mul.f32 %f324, %f323, %f73; + ld.global.f32 %f325, [directColor+8]; + mul.f32 %f326, %f73, %f325; + cvt.sat.f32.f32 %f327, %f10; + mul.f32 %f74, %f322, %f327; + mul.f32 %f75, %f324, %f327; + mul.f32 %f76, %f326, %f327; + mul.f32 %f77, %f322, 0f3E800000; + mul.f32 %f78, %f324, 0f3E800000; + mul.f32 %f79, %f326, 0f3E800000; + ld.global.u32 %r387, [imageEnabled]; + and.b32 %r232, %r387, 8; + setp.eq.s32 %p44, %r232, 0; + @%p44 bra BB0_70; + + cvt.u64.u32 %rd55, %r2; + cvt.u64.u32 %rd56, %r3; + mov.u64 %rd59, image_Mask; + cvta.global.u64 %rd54, %rd59; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r99, %r99, %rd55, %rd56, %rd25, %rd25); + // inline asm + abs.f32 %f81, %f73; + setp.lt.f32 %p45, %f81, 0f00800000; + mul.f32 %f333, %f81, 0f4B800000; + selp.f32 %f334, 0fC3170000, 0fC2FE0000, %p45; + selp.f32 %f335, %f333, %f81, %p45; + mov.b32 %r235, %f335; + and.b32 %r236, %r235, 8388607; + or.b32 %r237, %r236, 1065353216; + mov.b32 %f336, %r237; + shr.u32 %r238, %r235, 23; + cvt.rn.f32.u32 %f337, %r238; + add.f32 %f338, %f334, %f337; + setp.gt.f32 %p46, %f336, 0f3FB504F3; + mul.f32 %f339, %f336, 0f3F000000; + add.f32 %f340, %f338, 0f3F800000; + selp.f32 %f341, %f339, %f336, %p46; + selp.f32 %f342, %f340, %f338, %p46; + add.f32 %f343, %f341, 0fBF800000; + add.f32 %f329, %f341, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f328,%f329; + // inline asm + add.f32 %f344, %f343, %f343; + mul.f32 %f345, %f328, %f344; + mul.f32 %f346, %f345, %f345; + mov.f32 %f347, 0f3C4CAF63; + mov.f32 %f348, 0f3B18F0FE; + fma.rn.f32 %f349, %f348, %f346, %f347; + mov.f32 %f350, 0f3DAAAABD; + fma.rn.f32 %f351, %f349, %f346, %f350; + mul.rn.f32 %f352, %f351, %f346; + mul.rn.f32 %f353, %f352, %f345; + sub.f32 %f354, %f343, %f345; + neg.f32 %f355, %f345; + add.f32 %f356, %f354, %f354; + fma.rn.f32 %f357, %f355, %f343, %f356; + mul.rn.f32 %f358, %f328, %f357; + add.f32 %f359, %f353, %f345; + sub.f32 %f360, %f345, %f359; + add.f32 %f361, %f353, %f360; + add.f32 %f362, %f358, %f361; + add.f32 %f363, %f359, %f362; + sub.f32 %f364, %f359, %f363; + add.f32 %f365, %f362, %f364; + mov.f32 %f366, 0f3F317200; + mul.rn.f32 %f367, %f342, %f366; + mov.f32 %f368, 0f35BFBE8E; + mul.rn.f32 %f369, %f342, %f368; + add.f32 %f370, %f367, %f363; + sub.f32 %f371, %f367, %f370; + add.f32 %f372, %f363, %f371; + add.f32 %f373, %f365, %f372; + add.f32 %f374, %f369, %f373; + add.f32 %f375, %f370, %f374; + sub.f32 %f376, %f370, %f375; + add.f32 %f377, %f374, %f376; + mov.f32 %f378, 0f3EE8BA2E; + mul.rn.f32 %f379, %f378, %f375; + neg.f32 %f380, %f379; + fma.rn.f32 %f381, %f378, %f375, %f380; + fma.rn.f32 %f382, %f378, %f377, %f381; + fma.rn.f32 %f384, %f306, %f375, %f382; + add.rn.f32 %f385, %f379, %f384; + neg.f32 %f386, %f385; + add.rn.f32 %f387, %f379, %f386; + add.rn.f32 %f388, %f387, %f384; + mov.b32 %r239, %f385; + setp.eq.s32 %p47, %r239, 1118925336; + add.s32 %r240, %r239, -1; + mov.b32 %f389, %r240; + add.f32 %f390, %f388, 0f37000000; + selp.f32 %f391, %f389, %f385, %p47; + selp.f32 %f82, %f390, %f388, %p47; + mul.f32 %f392, %f391, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f393, %f392; + mov.f32 %f394, 0fBF317200; + fma.rn.f32 %f395, %f393, %f394, %f391; + mov.f32 %f396, 0fB5BFBE8E; + fma.rn.f32 %f397, %f393, %f396, %f395; + mul.f32 %f398, %f397, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f399, %f398; + add.f32 %f400, %f393, 0f00000000; + ex2.approx.f32 %f401, %f400; + mul.f32 %f402, %f399, %f401; + setp.lt.f32 %p48, %f391, 0fC2D20000; + selp.f32 %f403, 0f00000000, %f402, %p48; + setp.gt.f32 %p49, %f391, 0f42D20000; + selp.f32 %f803, 0f7F800000, %f403, %p49; + setp.eq.f32 %p50, %f803, 0f7F800000; + @%p50 bra BB0_60; + + fma.rn.f32 %f803, %f803, %f82, %f803; + +BB0_60: + mov.f32 %f774, 0f3E68BA2E; + cvt.rzi.f32.f32 %f773, %f774; + fma.rn.f32 %f772, %f773, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f771, %f772; + setp.lt.f32 %p51, %f73, 0f00000000; + setp.eq.f32 %p52, %f771, 0f3F800000; + and.pred %p1, %p51, %p52; + mov.b32 %r241, %f803; + xor.b32 %r242, %r241, -2147483648; + mov.b32 %f404, %r242; + selp.f32 %f805, %f404, %f803, %p1; + setp.eq.f32 %p53, %f73, 0f00000000; + @%p53 bra BB0_63; + bra.uni BB0_61; + +BB0_63: + add.f32 %f407, %f73, %f73; + selp.f32 %f805, %f407, 0f00000000, %p52; + bra.uni BB0_64; + +BB0_128: + mov.u64 %rd200, image_HDR; + cvta.global.u64 %rd195, %rd200; + mov.u32 %r328, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r99, %r328, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f711, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f711;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd194], {%rs98, %rs98, %rs98, %rs99}; + +BB0_129: + ld.global.u32 %r329, [additive]; + setp.eq.s32 %p120, %r329, 0; + @%p120 bra BB0_131; + + mov.u64 %rd213, image_RNM0; + cvta.global.u64 %rd202, %rd213; + mov.u32 %r333, 8; + // inline asm + call (%rd201), _rt_buffer_get_64, (%rd202, %r99, %r333, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs106, %rs107, %rs108, %rs109}, [%rd201]; + // inline asm + { cvt.f32.f16 %f712, %rs106;} + + // inline asm + // inline asm + { cvt.f32.f16 %f713, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f714, %rs108;} + + // inline asm + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd202, %r99, %r333, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f715, %f712, 0f00000000; + add.f32 %f716, %f713, 0f00000000; + add.f32 %f717, %f714, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f717;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f716;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f715;} + + // inline asm + mov.u16 %rs110, 0; + st.v4.u16 [%rd207], {%rs103, %rs104, %rs105, %rs110}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd220, image_RNM0; + cvta.global.u64 %rd215, %rd220; + mov.u32 %r335, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r99, %r335, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f718, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f718;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd214], {%rs111, %rs111, %rs111, %rs112}; + +BB0_132: + ld.global.u32 %r336, [additive]; + setp.eq.s32 %p121, %r336, 0; + @%p121 bra BB0_134; + + mov.u64 %rd233, image_RNM1; + cvta.global.u64 %rd222, %rd233; + mov.u32 %r340, 8; + // inline asm + call (%rd221), _rt_buffer_get_64, (%rd222, %r99, %r340, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs119, %rs120, %rs121, %rs122}, [%rd221]; + // inline asm + { cvt.f32.f16 %f719, %rs119;} + + // inline asm + // inline asm + { cvt.f32.f16 %f720, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f721, %rs121;} + + // inline asm + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd222, %r99, %r340, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f722, %f719, 0f00000000; + add.f32 %f723, %f720, 0f00000000; + add.f32 %f724, %f721, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs118, %f724;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f723;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs116, %f722;} + + // inline asm + mov.u16 %rs123, 0; + st.v4.u16 [%rd227], {%rs116, %rs117, %rs118, %rs123}; + bra.uni BB0_135; + +BB0_134: + mov.u64 %rd240, image_RNM1; + cvta.global.u64 %rd235, %rd240; + mov.u32 %r342, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r99, %r342, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f725, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f725;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd234], {%rs124, %rs124, %rs124, %rs125}; + +BB0_135: + ld.global.u32 %r343, [additive]; + setp.eq.s32 %p122, %r343, 0; + @%p122 bra BB0_137; + + mov.u64 %rd253, image_RNM2; + cvta.global.u64 %rd242, %rd253; + mov.u32 %r347, 8; + // inline asm + call (%rd241), _rt_buffer_get_64, (%rd242, %r99, %r347, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs132, %rs133, %rs134, %rs135}, [%rd241]; + // inline asm + { cvt.f32.f16 %f726, %rs132;} + + // inline asm + // inline asm + { cvt.f32.f16 %f727, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f728, %rs134;} + + // inline asm + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd242, %r99, %r347, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f729, %f726, 0f00000000; + add.f32 %f730, %f727, 0f00000000; + add.f32 %f731, %f728, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs131, %f731;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f730;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs129, %f729;} + + // inline asm + mov.u16 %rs136, 0; + st.v4.u16 [%rd247], {%rs129, %rs130, %rs131, %rs136}; + bra.uni BB0_138; + +BB0_137: + mov.u64 %rd260, image_RNM2; + cvta.global.u64 %rd255, %rd260; + mov.u32 %r349, 8; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r99, %r349, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f732, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f732;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd254], {%rs137, %rs137, %rs137, %rs138}; + +BB0_138: + ld.global.u32 %r350, [additive]; + setp.eq.s32 %p123, %r350, 0; + @%p123 bra BB0_140; + + mov.u64 %rd273, image_RNM3; + cvta.global.u64 %rd262, %rd273; + mov.u32 %r354, 8; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r99, %r354, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs145, %rs146, %rs147, %rs148}, [%rd261]; + // inline asm + { cvt.f32.f16 %f733, %rs145;} + + // inline asm + // inline asm + { cvt.f32.f16 %f734, %rs146;} + + // inline asm + // inline asm + { cvt.f32.f16 %f735, %rs147;} + + // inline asm + // inline asm + call (%rd267), _rt_buffer_get_64, (%rd262, %r99, %r354, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f736, %f733, 0f00000000; + add.f32 %f737, %f734, 0f00000000; + add.f32 %f738, %f735, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs144, %f738;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs143, %f737;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs142, %f736;} + + // inline asm + mov.u16 %rs149, 0; + st.v4.u16 [%rd267], {%rs142, %rs143, %rs144, %rs149}; + bra.uni BB0_141; + +BB0_140: + mov.u64 %rd280, image_RNM3; + cvta.global.u64 %rd275, %rd280; + mov.u32 %r356, 8; + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd275, %r99, %r356, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f739, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f739;} + + // inline asm + mov.u16 %rs151, 0; + st.v4.u16 [%rd274], {%rs150, %rs150, %rs150, %rs151}; + bra.uni BB0_141; + +BB0_61: + setp.geu.f32 %p54, %f73, 0f00000000; + @%p54 bra BB0_64; + + mov.f32 %f779, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f406, %f779; + setp.neu.f32 %p55, %f406, 0f3EE8BA2E; + selp.f32 %f805, 0f7FFFFFFF, %f805, %p55; + +BB0_64: + abs.f32 %f775, %f73; + add.f32 %f408, %f775, 0f3EE8BA2E; + mov.b32 %r243, %f408; + setp.lt.s32 %p57, %r243, 2139095040; + @%p57 bra BB0_69; + + abs.f32 %f777, %f73; + setp.gtu.f32 %p58, %f777, 0f7F800000; + @%p58 bra BB0_68; + bra.uni BB0_66; + +BB0_68: + add.f32 %f805, %f73, 0f3EE8BA2E; + bra.uni BB0_69; + +BB0_66: + abs.f32 %f778, %f73; + setp.neu.f32 %p59, %f778, 0f7F800000; + @%p59 bra BB0_69; + + selp.f32 %f805, 0fFF800000, 0f7F800000, %p1; + +BB0_69: + mul.f32 %f409, %f805, 0f437F0000; + setp.eq.f32 %p60, %f73, 0f3F800000; + selp.f32 %f410, 0f437F0000, %f409, %p60; + cvt.rzi.u32.f32 %r244, %f410; + cvt.u16.u32 %rs14, %r244; + mov.u16 %rs15, 255; + st.v2.u8 [%rd53], {%rs14, %rs15}; + ld.global.u32 %r387, [imageEnabled]; + +BB0_70: + and.b32 %r245, %r387, 1; + setp.eq.b32 %p61, %r245, 1; + @!%p61 bra BB0_105; + bra.uni BB0_71; + +BB0_71: + mov.f32 %f776, 0f00000000; + abs.f32 %f94, %f74; + setp.lt.f32 %p62, %f94, 0f00800000; + mul.f32 %f416, %f94, 0f4B800000; + selp.f32 %f417, 0fC3170000, 0fC2FE0000, %p62; + selp.f32 %f418, %f416, %f94, %p62; + mov.b32 %r246, %f418; + and.b32 %r247, %r246, 8388607; + or.b32 %r248, %r247, 1065353216; + mov.b32 %f419, %r248; + shr.u32 %r249, %r246, 23; + cvt.rn.f32.u32 %f420, %r249; + add.f32 %f421, %f417, %f420; + setp.gt.f32 %p63, %f419, 0f3FB504F3; + mul.f32 %f422, %f419, 0f3F000000; + add.f32 %f423, %f421, 0f3F800000; + selp.f32 %f424, %f422, %f419, %p63; + selp.f32 %f425, %f423, %f421, %p63; + add.f32 %f426, %f424, 0fBF800000; + add.f32 %f412, %f424, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f411,%f412; + // inline asm + add.f32 %f427, %f426, %f426; + mul.f32 %f428, %f411, %f427; + mul.f32 %f429, %f428, %f428; + mov.f32 %f430, 0f3C4CAF63; + mov.f32 %f431, 0f3B18F0FE; + fma.rn.f32 %f432, %f431, %f429, %f430; + mov.f32 %f433, 0f3DAAAABD; + fma.rn.f32 %f434, %f432, %f429, %f433; + mul.rn.f32 %f435, %f434, %f429; + mul.rn.f32 %f436, %f435, %f428; + sub.f32 %f437, %f426, %f428; + neg.f32 %f438, %f428; + add.f32 %f439, %f437, %f437; + fma.rn.f32 %f440, %f438, %f426, %f439; + mul.rn.f32 %f441, %f411, %f440; + add.f32 %f442, %f436, %f428; + sub.f32 %f443, %f428, %f442; + add.f32 %f444, %f436, %f443; + add.f32 %f445, %f441, %f444; + add.f32 %f446, %f442, %f445; + sub.f32 %f447, %f442, %f446; + add.f32 %f448, %f445, %f447; + mov.f32 %f449, 0f3F317200; + mul.rn.f32 %f450, %f425, %f449; + mov.f32 %f451, 0f35BFBE8E; + mul.rn.f32 %f452, %f425, %f451; + add.f32 %f453, %f450, %f446; + sub.f32 %f454, %f450, %f453; + add.f32 %f455, %f446, %f454; + add.f32 %f456, %f448, %f455; + add.f32 %f457, %f452, %f456; + add.f32 %f458, %f453, %f457; + sub.f32 %f459, %f453, %f458; + add.f32 %f460, %f457, %f459; + mov.f32 %f461, 0f3EE66666; + mul.rn.f32 %f462, %f461, %f458; + neg.f32 %f463, %f462; + fma.rn.f32 %f464, %f461, %f458, %f463; + fma.rn.f32 %f465, %f461, %f460, %f464; + fma.rn.f32 %f467, %f776, %f458, %f465; + add.rn.f32 %f468, %f462, %f467; + neg.f32 %f469, %f468; + add.rn.f32 %f470, %f462, %f469; + add.rn.f32 %f471, %f470, %f467; + mov.b32 %r250, %f468; + setp.eq.s32 %p64, %r250, 1118925336; + add.s32 %r251, %r250, -1; + mov.b32 %f472, %r251; + add.f32 %f473, %f471, 0f37000000; + selp.f32 %f474, %f472, %f468, %p64; + selp.f32 %f95, %f473, %f471, %p64; + mul.f32 %f475, %f474, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f476, %f475; + mov.f32 %f477, 0fBF317200; + fma.rn.f32 %f478, %f476, %f477, %f474; + mov.f32 %f479, 0fB5BFBE8E; + fma.rn.f32 %f480, %f476, %f479, %f478; + mul.f32 %f481, %f480, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f482, %f481; + add.f32 %f483, %f476, 0f00000000; + ex2.approx.f32 %f484, %f483; + mul.f32 %f485, %f482, %f484; + setp.lt.f32 %p65, %f474, 0fC2D20000; + selp.f32 %f486, 0f00000000, %f485, %p65; + setp.gt.f32 %p66, %f474, 0f42D20000; + selp.f32 %f806, 0f7F800000, %f486, %p66; + setp.eq.f32 %p67, %f806, 0f7F800000; + @%p67 bra BB0_73; + + fma.rn.f32 %f806, %f806, %f95, %f806; + +BB0_73: + mov.f32 %f743, 0f3E666666; + cvt.rzi.f32.f32 %f742, %f743; + fma.rn.f32 %f741, %f742, 0fC0000000, 0f3EE66666; + abs.f32 %f740, %f741; + setp.lt.f32 %p68, %f74, 0f00000000; + setp.eq.f32 %p69, %f740, 0f3F800000; + and.pred %p2, %p68, %p69; + mov.b32 %r252, %f806; + xor.b32 %r253, %r252, -2147483648; + mov.b32 %f487, %r253; + selp.f32 %f808, %f487, %f806, %p2; + setp.eq.f32 %p70, %f74, 0f00000000; + @%p70 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f490, %f74, %f74; + selp.f32 %f808, %f490, 0f00000000, %p69; + bra.uni BB0_77; + +BB0_74: + setp.geu.f32 %p71, %f74, 0f00000000; + @%p71 bra BB0_77; + + mov.f32 %f767, 0f3EE66666; + cvt.rzi.f32.f32 %f489, %f767; + setp.neu.f32 %p72, %f489, 0f3EE66666; + selp.f32 %f808, 0f7FFFFFFF, %f808, %p72; + +BB0_77: + abs.f32 %f744, %f74; + add.f32 %f491, %f744, 0f3EE66666; + mov.b32 %r254, %f491; + setp.lt.s32 %p74, %r254, 2139095040; + @%p74 bra BB0_82; + + abs.f32 %f765, %f74; + setp.gtu.f32 %p75, %f765, 0f7F800000; + @%p75 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f808, %f74, 0f3EE66666; + bra.uni BB0_82; + +BB0_79: + abs.f32 %f766, %f74; + setp.neu.f32 %p76, %f766, 0f7F800000; + @%p76 bra BB0_82; + + selp.f32 %f808, 0fFF800000, 0f7F800000, %p2; + +BB0_82: + mov.f32 %f753, 0fB5BFBE8E; + mov.f32 %f752, 0fBF317200; + mov.f32 %f751, 0f35BFBE8E; + mov.f32 %f750, 0f3F317200; + mov.f32 %f749, 0f3DAAAABD; + mov.f32 %f748, 0f3C4CAF63; + mov.f32 %f747, 0f3B18F0FE; + mov.f32 %f746, 0f3EE66666; + mov.f32 %f745, 0f00000000; + setp.eq.f32 %p77, %f74, 0f3F800000; + selp.f32 %f106, 0f3F800000, %f808, %p77; + abs.f32 %f107, %f75; + setp.lt.f32 %p78, %f107, 0f00800000; + mul.f32 %f494, %f107, 0f4B800000; + selp.f32 %f495, 0fC3170000, 0fC2FE0000, %p78; + selp.f32 %f496, %f494, %f107, %p78; + mov.b32 %r255, %f496; + and.b32 %r256, %r255, 8388607; + or.b32 %r257, %r256, 1065353216; + mov.b32 %f497, %r257; + shr.u32 %r258, %r255, 23; + cvt.rn.f32.u32 %f498, %r258; + add.f32 %f499, %f495, %f498; + setp.gt.f32 %p79, %f497, 0f3FB504F3; + mul.f32 %f500, %f497, 0f3F000000; + add.f32 %f501, %f499, 0f3F800000; + selp.f32 %f502, %f500, %f497, %p79; + selp.f32 %f503, %f501, %f499, %p79; + add.f32 %f504, %f502, 0fBF800000; + add.f32 %f493, %f502, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f492,%f493; + // inline asm + add.f32 %f505, %f504, %f504; + mul.f32 %f506, %f492, %f505; + mul.f32 %f507, %f506, %f506; + fma.rn.f32 %f510, %f747, %f507, %f748; + fma.rn.f32 %f512, %f510, %f507, %f749; + mul.rn.f32 %f513, %f512, %f507; + mul.rn.f32 %f514, %f513, %f506; + sub.f32 %f515, %f504, %f506; + neg.f32 %f516, %f506; + add.f32 %f517, %f515, %f515; + fma.rn.f32 %f518, %f516, %f504, %f517; + mul.rn.f32 %f519, %f492, %f518; + add.f32 %f520, %f514, %f506; + sub.f32 %f521, %f506, %f520; + add.f32 %f522, %f514, %f521; + add.f32 %f523, %f519, %f522; + add.f32 %f524, %f520, %f523; + sub.f32 %f525, %f520, %f524; + add.f32 %f526, %f523, %f525; + mul.rn.f32 %f528, %f503, %f750; + mul.rn.f32 %f530, %f503, %f751; + add.f32 %f531, %f528, %f524; + sub.f32 %f532, %f528, %f531; + add.f32 %f533, %f524, %f532; + add.f32 %f534, %f526, %f533; + add.f32 %f535, %f530, %f534; + add.f32 %f536, %f531, %f535; + sub.f32 %f537, %f531, %f536; + add.f32 %f538, %f535, %f537; + mul.rn.f32 %f540, %f746, %f536; + neg.f32 %f541, %f540; + fma.rn.f32 %f542, %f746, %f536, %f541; + fma.rn.f32 %f543, %f746, %f538, %f542; + fma.rn.f32 %f545, %f745, %f536, %f543; + add.rn.f32 %f546, %f540, %f545; + neg.f32 %f547, %f546; + add.rn.f32 %f548, %f540, %f547; + add.rn.f32 %f549, %f548, %f545; + mov.b32 %r259, %f546; + setp.eq.s32 %p80, %r259, 1118925336; + add.s32 %r260, %r259, -1; + mov.b32 %f550, %r260; + add.f32 %f551, %f549, 0f37000000; + selp.f32 %f552, %f550, %f546, %p80; + selp.f32 %f108, %f551, %f549, %p80; + mul.f32 %f553, %f552, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f554, %f553; + fma.rn.f32 %f556, %f554, %f752, %f552; + fma.rn.f32 %f558, %f554, %f753, %f556; + mul.f32 %f559, %f558, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f560, %f559; + add.f32 %f561, %f554, 0f00000000; + ex2.approx.f32 %f562, %f561; + mul.f32 %f563, %f560, %f562; + setp.lt.f32 %p81, %f552, 0fC2D20000; + selp.f32 %f564, 0f00000000, %f563, %p81; + setp.gt.f32 %p82, %f552, 0f42D20000; + selp.f32 %f809, 0f7F800000, %f564, %p82; + setp.eq.f32 %p83, %f809, 0f7F800000; + @%p83 bra BB0_84; + + fma.rn.f32 %f809, %f809, %f108, %f809; + +BB0_84: + setp.lt.f32 %p84, %f75, 0f00000000; + and.pred %p3, %p84, %p69; + mov.b32 %r261, %f809; + xor.b32 %r262, %r261, -2147483648; + mov.b32 %f565, %r262; + selp.f32 %f811, %f565, %f809, %p3; + setp.eq.f32 %p86, %f75, 0f00000000; + @%p86 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f568, %f75, %f75; + selp.f32 %f811, %f568, 0f00000000, %p69; + bra.uni BB0_88; + +BB0_85: + setp.geu.f32 %p87, %f75, 0f00000000; + @%p87 bra BB0_88; + + mov.f32 %f764, 0f3EE66666; + cvt.rzi.f32.f32 %f567, %f764; + setp.neu.f32 %p88, %f567, 0f3EE66666; + selp.f32 %f811, 0f7FFFFFFF, %f811, %p88; + +BB0_88: + abs.f32 %f768, %f75; + add.f32 %f569, %f768, 0f3EE66666; + mov.b32 %r263, %f569; + setp.lt.s32 %p90, %r263, 2139095040; + @%p90 bra BB0_93; + + abs.f32 %f769, %f75; + setp.gtu.f32 %p91, %f769, 0f7F800000; + @%p91 bra BB0_92; + bra.uni BB0_90; + +BB0_92: + add.f32 %f811, %f75, 0f3EE66666; + bra.uni BB0_93; + +BB0_90: + abs.f32 %f770, %f75; + setp.neu.f32 %p92, %f770, 0f7F800000; + @%p92 bra BB0_93; + + selp.f32 %f811, 0fFF800000, 0f7F800000, %p3; + +BB0_93: + mov.f32 %f762, 0fB5BFBE8E; + mov.f32 %f761, 0fBF317200; + mov.f32 %f760, 0f35BFBE8E; + mov.f32 %f759, 0f3F317200; + mov.f32 %f758, 0f3DAAAABD; + mov.f32 %f757, 0f3C4CAF63; + mov.f32 %f756, 0f3B18F0FE; + mov.f32 %f755, 0f3EE66666; + mov.f32 %f754, 0f00000000; + setp.eq.f32 %p93, %f75, 0f3F800000; + selp.f32 %f119, 0f3F800000, %f811, %p93; + abs.f32 %f120, %f76; + setp.lt.f32 %p94, %f120, 0f00800000; + mul.f32 %f572, %f120, 0f4B800000; + selp.f32 %f573, 0fC3170000, 0fC2FE0000, %p94; + selp.f32 %f574, %f572, %f120, %p94; + mov.b32 %r264, %f574; + and.b32 %r265, %r264, 8388607; + or.b32 %r266, %r265, 1065353216; + mov.b32 %f575, %r266; + shr.u32 %r267, %r264, 23; + cvt.rn.f32.u32 %f576, %r267; + add.f32 %f577, %f573, %f576; + setp.gt.f32 %p95, %f575, 0f3FB504F3; + mul.f32 %f578, %f575, 0f3F000000; + add.f32 %f579, %f577, 0f3F800000; + selp.f32 %f580, %f578, %f575, %p95; + selp.f32 %f581, %f579, %f577, %p95; + add.f32 %f582, %f580, 0fBF800000; + add.f32 %f571, %f580, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f570,%f571; + // inline asm + add.f32 %f583, %f582, %f582; + mul.f32 %f584, %f570, %f583; + mul.f32 %f585, %f584, %f584; + fma.rn.f32 %f588, %f756, %f585, %f757; + fma.rn.f32 %f590, %f588, %f585, %f758; + mul.rn.f32 %f591, %f590, %f585; + mul.rn.f32 %f592, %f591, %f584; + sub.f32 %f593, %f582, %f584; + neg.f32 %f594, %f584; + add.f32 %f595, %f593, %f593; + fma.rn.f32 %f596, %f594, %f582, %f595; + mul.rn.f32 %f597, %f570, %f596; + add.f32 %f598, %f592, %f584; + sub.f32 %f599, %f584, %f598; + add.f32 %f600, %f592, %f599; + add.f32 %f601, %f597, %f600; + add.f32 %f602, %f598, %f601; + sub.f32 %f603, %f598, %f602; + add.f32 %f604, %f601, %f603; + mul.rn.f32 %f606, %f581, %f759; + mul.rn.f32 %f608, %f581, %f760; + add.f32 %f609, %f606, %f602; + sub.f32 %f610, %f606, %f609; + add.f32 %f611, %f602, %f610; + add.f32 %f612, %f604, %f611; + add.f32 %f613, %f608, %f612; + add.f32 %f614, %f609, %f613; + sub.f32 %f615, %f609, %f614; + add.f32 %f616, %f613, %f615; + mul.rn.f32 %f618, %f755, %f614; + neg.f32 %f619, %f618; + fma.rn.f32 %f620, %f755, %f614, %f619; + fma.rn.f32 %f621, %f755, %f616, %f620; + fma.rn.f32 %f623, %f754, %f614, %f621; + add.rn.f32 %f624, %f618, %f623; + neg.f32 %f625, %f624; + add.rn.f32 %f626, %f618, %f625; + add.rn.f32 %f627, %f626, %f623; + mov.b32 %r268, %f624; + setp.eq.s32 %p96, %r268, 1118925336; + add.s32 %r269, %r268, -1; + mov.b32 %f628, %r269; + add.f32 %f629, %f627, 0f37000000; + selp.f32 %f630, %f628, %f624, %p96; + selp.f32 %f121, %f629, %f627, %p96; + mul.f32 %f631, %f630, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f632, %f631; + fma.rn.f32 %f634, %f632, %f761, %f630; + fma.rn.f32 %f636, %f632, %f762, %f634; + mul.f32 %f637, %f636, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f638, %f637; + add.f32 %f639, %f632, 0f00000000; + ex2.approx.f32 %f640, %f639; + mul.f32 %f641, %f638, %f640; + setp.lt.f32 %p97, %f630, 0fC2D20000; + selp.f32 %f642, 0f00000000, %f641, %p97; + setp.gt.f32 %p98, %f630, 0f42D20000; + selp.f32 %f812, 0f7F800000, %f642, %p98; + setp.eq.f32 %p99, %f812, 0f7F800000; + @%p99 bra BB0_95; + + fma.rn.f32 %f812, %f812, %f121, %f812; + +BB0_95: + setp.lt.f32 %p100, %f76, 0f00000000; + and.pred %p4, %p100, %p69; + mov.b32 %r270, %f812; + xor.b32 %r271, %r270, -2147483648; + mov.b32 %f643, %r271; + selp.f32 %f814, %f643, %f812, %p4; + setp.eq.f32 %p102, %f76, 0f00000000; + @%p102 bra BB0_98; + bra.uni BB0_96; + +BB0_98: + add.f32 %f646, %f76, %f76; + selp.f32 %f814, %f646, 0f00000000, %p69; + bra.uni BB0_99; + +BB0_96: + setp.geu.f32 %p103, %f76, 0f00000000; + @%p103 bra BB0_99; + + mov.f32 %f763, 0f3EE66666; + cvt.rzi.f32.f32 %f645, %f763; + setp.neu.f32 %p104, %f645, 0f3EE66666; + selp.f32 %f814, 0f7FFFFFFF, %f814, %p104; + +BB0_99: + abs.f32 %f780, %f76; + add.f32 %f647, %f780, 0f3EE66666; + mov.b32 %r272, %f647; + setp.lt.s32 %p106, %r272, 2139095040; + @%p106 bra BB0_104; + + abs.f32 %f781, %f76; + setp.gtu.f32 %p107, %f781, 0f7F800000; + @%p107 bra BB0_103; + bra.uni BB0_101; + +BB0_103: + add.f32 %f814, %f76, 0f3EE66666; + bra.uni BB0_104; + +BB0_101: + abs.f32 %f782, %f76; + setp.neu.f32 %p108, %f782, 0f7F800000; + @%p108 bra BB0_104; + + selp.f32 %f814, 0fFF800000, 0f7F800000, %p4; + +BB0_104: + mov.u32 %r357, 4; + setp.eq.f32 %p109, %f76, 0f3F800000; + selp.f32 %f648, 0f3F800000, %f814, %p109; + cvt.u64.u32 %rd63, %r3; + cvt.u64.u32 %rd62, %r2; + mov.u64 %rd66, image; + cvta.global.u64 %rd61, %rd66; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r99, %r357, %rd62, %rd63, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f649, %f648; + mul.f32 %f650, %f649, 0f437FFD71; + cvt.rzi.u32.f32 %r275, %f650; + cvt.sat.f32.f32 %f651, %f119; + mul.f32 %f652, %f651, 0f437FFD71; + cvt.rzi.u32.f32 %r276, %f652; + cvt.sat.f32.f32 %f653, %f106; + mul.f32 %f654, %f653, 0f437FFD71; + cvt.rzi.u32.f32 %r277, %f654; + cvt.u16.u32 %rs16, %r275; + cvt.u16.u32 %rs17, %r277; + cvt.u16.u32 %rs18, %r276; + mov.u16 %rs19, 255; + st.v4.u8 [%rd60], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r387, [imageEnabled]; + +BB0_105: + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + and.b32 %r278, %r387, 4; + setp.eq.s32 %p110, %r278, 0; + @%p110 bra BB0_109; + + ld.global.u32 %r279, [additive]; + setp.eq.s32 %p111, %r279, 0; + mov.f32 %f655, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs20, %f655;} + + // inline asm + @%p111 bra BB0_108; + + mov.u64 %rd79, image_HDR; + cvta.global.u64 %rd68, %rd79; + mov.u32 %r283, 8; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r99, %r283, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd67]; + // inline asm + { cvt.f32.f16 %f656, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f657, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f658, %rs29;} + + // inline asm + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd68, %r99, %r283, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f659, %f74, %f656; + add.f32 %f660, %f75, %f657; + add.f32 %f661, %f76, %f658; + // inline asm + { cvt.rn.f16.f32 %rs26, %f661;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f660;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f659;} + + // inline asm + st.v4.u16 [%rd73], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_109; + +BB0_108: + mov.u64 %rd86, image_HDR; + cvta.global.u64 %rd81, %rd86; + mov.u32 %r285, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r99, %r285, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f76;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f75;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f74;} + + // inline asm + st.v4.u16 [%rd80], {%rs31, %rs32, %rs33, %rs20}; + +BB0_109: + ld.global.u32 %r286, [additive]; + setp.eq.s32 %p112, %r286, 0; + mov.f32 %f665, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f665;} + + // inline asm + @%p112 bra BB0_111; + + mov.u64 %rd99, image_RNM0; + cvta.global.u64 %rd88, %rd99; + mov.u32 %r290, 8; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r99, %r290, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd87]; + // inline asm + { cvt.f32.f16 %f666, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f667, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f668, %rs43;} + + // inline asm + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd88, %r99, %r290, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f669, %f77, %f666; + add.f32 %f670, %f78, %f667; + add.f32 %f671, %f79, %f668; + // inline asm + { cvt.rn.f16.f32 %rs40, %f671;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f670;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f669;} + + // inline asm + st.v4.u16 [%rd93], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_112; + +BB0_111: + mov.u64 %rd106, image_RNM0; + cvta.global.u64 %rd101, %rd106; + mov.u32 %r292, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r99, %r292, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f79;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f78;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f77;} + + // inline asm + st.v4.u16 [%rd100], {%rs45, %rs46, %rs47, %rs34}; + +BB0_112: + ld.global.f32 %f676, [directDir]; + fma.rn.f32 %f132, %f676, 0fBF000000, 0f3F000000; + ld.global.f32 %f677, [directDir+4]; + fma.rn.f32 %f133, %f677, 0fBF000000, 0f3F000000; + ld.global.f32 %f678, [directDir+8]; + fma.rn.f32 %f134, %f678, 0fBF000000, 0f3F000000; + ld.global.u32 %r293, [additive]; + setp.eq.s32 %p113, %r293, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f665;} + + // inline asm + @%p113 bra BB0_114; + + mov.u64 %rd119, image_RNM1; + cvta.global.u64 %rd108, %rd119; + mov.u32 %r297, 8; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r99, %r297, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd107]; + // inline asm + { cvt.f32.f16 %f679, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f680, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f681, %rs57;} + + // inline asm + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd108, %r99, %r297, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f682, %f132, %f679; + add.f32 %f683, %f132, %f680; + add.f32 %f684, %f132, %f681; + // inline asm + { cvt.rn.f16.f32 %rs54, %f684;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f683;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f682;} + + // inline asm + st.v4.u16 [%rd113], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd126, image_RNM1; + cvta.global.u64 %rd121, %rd126; + mov.u32 %r299, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r99, %r299, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f132;} + + // inline asm + st.v4.u16 [%rd120], {%rs59, %rs59, %rs59, %rs48}; + +BB0_115: + ld.global.u32 %r300, [additive]; + setp.eq.s32 %p114, %r300, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f665;} + + // inline asm + @%p114 bra BB0_117; + + mov.u64 %rd139, image_RNM2; + cvta.global.u64 %rd128, %rd139; + mov.u32 %r304, 8; + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd128, %r99, %r304, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd127]; + // inline asm + { cvt.f32.f16 %f687, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f688, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f689, %rs69;} + + // inline asm + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd128, %r99, %r304, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f690, %f133, %f687; + add.f32 %f691, %f133, %f688; + add.f32 %f692, %f133, %f689; + // inline asm + { cvt.rn.f16.f32 %rs66, %f692;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f691;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f690;} + + // inline asm + st.v4.u16 [%rd133], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd146, image_RNM2; + cvta.global.u64 %rd141, %rd146; + mov.u32 %r306, 8; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r99, %r306, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f133;} + + // inline asm + st.v4.u16 [%rd140], {%rs71, %rs71, %rs71, %rs60}; + +BB0_118: + ld.global.u32 %r307, [additive]; + setp.eq.s32 %p115, %r307, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f665;} + + // inline asm + @%p115 bra BB0_120; + + mov.u64 %rd159, image_RNM3; + cvta.global.u64 %rd148, %rd159; + mov.u32 %r311, 8; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r99, %r311, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd147]; + // inline asm + { cvt.f32.f16 %f695, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f696, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f697, %rs81;} + + // inline asm + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd148, %r99, %r311, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f698, %f134, %f695; + add.f32 %f699, %f134, %f696; + add.f32 %f700, %f134, %f697; + // inline asm + { cvt.rn.f16.f32 %rs78, %f700;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f699;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f698;} + + // inline asm + st.v4.u16 [%rd153], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_141; + +BB0_120: + mov.u64 %rd166, image_RNM3; + cvta.global.u64 %rd161, %rd166; + mov.u32 %r313, 8; + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd161, %r99, %r313, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f134;} + + // inline asm + st.v4.u16 [%rd160], {%rs83, %rs83, %rs83, %rs72}; + +BB0_141: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx.meta new file mode 100644 index 00000000..e1f18a7a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d0641dd9dcc34fd4ca2b410209dfc22d +timeCreated: 1581075098 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowRNM.ptx new file mode 100644 index 00000000..5b672018 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowRNM.ptx @@ -0,0 +1,2449 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 directDir[12]; +.global .align 4 .b8 directColor[12]; +.global .align 4 .f32 shadowSpread; +.global .align 4 .u32 samples; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCookie; +.global .align 16 .b8 lightTilingOffset[16]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9directDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11directColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12shadowSpreadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo17lightTilingOffsetE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9directDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11directColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12shadowSpreadE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename17lightTilingOffsetE[7] = {102, 108, 111, 97, 116, 52, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9directDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11directColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12shadowSpreadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum17lightTilingOffsetE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9directDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11directColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12shadowSpreadE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic17lightTilingOffsetE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9directDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11directColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12shadowSpreadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation17lightTilingOffsetE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<148>; + .reg .b16 %rs<157>; + .reg .f32 %f<1129>; + .reg .b32 %r<412>; + .reg .b64 %rd<283>; + + + mov.u64 %rd282, __local_depot0; + cvta.local.u64 %SP, %rd282; + ld.global.v2.u32 {%r107, %r108}, [pixelID]; + cvt.u64.u32 %rd28, %r107; + cvt.u64.u32 %rd29, %r108; + mov.u64 %rd32, uvnormal; + cvta.global.u64 %rd27, %rd32; + mov.u32 %r105, 2; + mov.u32 %r106, 4; + mov.u64 %rd31, 0; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r105, %r106, %rd28, %rd29, %rd31, %rd31); + // inline asm + ld.u32 %r1, [%rd26]; + shr.u32 %r111, %r1, 16; + cvt.u16.u32 %rs1, %r111; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r1; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p6, %rs8, 0; + mov.f32 %f1085, 0f00000000; + mov.f32 %f1086, %f1085; + mov.f32 %f1087, %f1085; + @%p6 bra BB0_2; + + ld.u8 %rs9, [%rd26+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f188, %rs11; + div.rn.f32 %f189, %f188, 0f437F0000; + fma.rn.f32 %f190, %f189, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f191, %rs9; + div.rn.f32 %f192, %f191, 0f437F0000; + fma.rn.f32 %f193, %f192, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f194, %rs6; + div.rn.f32 %f195, %f194, 0f437F0000; + fma.rn.f32 %f196, %f195, 0f40000000, 0fBF800000; + mul.f32 %f197, %f193, %f193; + fma.rn.f32 %f198, %f190, %f190, %f197; + fma.rn.f32 %f199, %f196, %f196, %f198; + sqrt.rn.f32 %f200, %f199; + rcp.rn.f32 %f201, %f200; + mul.f32 %f1085, %f190, %f201; + mul.f32 %f1086, %f193, %f201; + mul.f32 %f1087, %f196, %f201; + +BB0_2: + ld.global.v2.u32 {%r112, %r113}, [pixelID]; + ld.global.v2.u32 {%r115, %r116}, [tileInfo]; + add.s32 %r2, %r112, %r115; + add.s32 %r3, %r113, %r116; + setp.eq.f32 %p7, %f1086, 0f00000000; + setp.eq.f32 %p8, %f1085, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f1087, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_135; + bra.uni BB0_3; + +BB0_135: + ld.global.u32 %r411, [imageEnabled]; + and.b32 %r340, %r411, 1; + setp.eq.b32 %p141, %r340, 1; + @!%p141 bra BB0_137; + bra.uni BB0_136; + +BB0_136: + cvt.u64.u32 %rd186, %r2; + cvt.u64.u32 %rd187, %r3; + mov.u64 %rd190, image; + cvta.global.u64 %rd185, %rd190; + mov.u64 %rd189, 0; + // inline asm + call (%rd184), _rt_buffer_get_64, (%rd185, %r105, %r106, %rd186, %rd187, %rd189, %rd189); + // inline asm + mov.u16 %rs102, 0; + st.v4.u8 [%rd184], {%rs102, %rs102, %rs102, %rs102}; + ld.global.u32 %r411, [imageEnabled]; + +BB0_137: + and.b32 %r343, %r411, 8; + setp.eq.s32 %p142, %r343, 0; + @%p142 bra BB0_139; + + cvt.u64.u32 %rd194, %r3; + cvt.u64.u32 %rd193, %r2; + mov.u64 %rd197, image_Mask; + cvta.global.u64 %rd192, %rd197; + mov.u64 %rd196, 0; + // inline asm + call (%rd191), _rt_buffer_get_64, (%rd192, %r105, %r105, %rd193, %rd194, %rd196, %rd196); + // inline asm + mov.f32 %f988, 0f00000000; + cvt.rzi.u32.f32 %r346, %f988; + cvt.u16.u32 %rs103, %r346; + mov.u16 %rs104, 0; + st.v2.u8 [%rd191], {%rs103, %rs104}; + ld.global.u32 %r411, [imageEnabled]; + +BB0_139: + cvt.u64.u32 %rd24, %r2; + cvt.u64.u32 %rd25, %r3; + and.b32 %r347, %r411, 4; + setp.eq.s32 %p143, %r347, 0; + @%p143 bra BB0_143; + + ld.global.u32 %r348, [additive]; + setp.eq.s32 %p144, %r348, 0; + @%p144 bra BB0_142; + + mov.u64 %rd210, image_HDR; + cvta.global.u64 %rd199, %rd210; + mov.u32 %r352, 8; + mov.u64 %rd209, 0; + // inline asm + call (%rd198), _rt_buffer_get_64, (%rd199, %r105, %r352, %rd24, %rd25, %rd209, %rd209); + // inline asm + ld.v4.u16 {%rs111, %rs112, %rs113, %rs114}, [%rd198]; + // inline asm + { cvt.f32.f16 %f989, %rs111;} + + // inline asm + // inline asm + { cvt.f32.f16 %f990, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f991, %rs113;} + + // inline asm + // inline asm + call (%rd204), _rt_buffer_get_64, (%rd199, %r105, %r352, %rd24, %rd25, %rd209, %rd209); + // inline asm + add.f32 %f992, %f989, 0f00000000; + add.f32 %f993, %f990, 0f00000000; + add.f32 %f994, %f991, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f994;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f993;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs108, %f992;} + + // inline asm + mov.u16 %rs115, 0; + st.v4.u16 [%rd204], {%rs108, %rs109, %rs110, %rs115}; + bra.uni BB0_143; + +BB0_3: + ld.global.f32 %f8, [directDir+4]; + ld.global.f32 %f9, [directDir+8]; + ld.global.f32 %f7, [directDir]; + ld.global.v2.u32 {%r124, %r125}, [pixelID]; + cvt.u64.u32 %rd35, %r124; + cvt.u64.u32 %rd36, %r125; + mov.u64 %rd45, uvpos; + cvta.global.u64 %rd34, %rd45; + mov.u32 %r121, 12; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r105, %r121, %rd35, %rd36, %rd31, %rd31); + // inline asm + ld.f32 %f12, [%rd33+8]; + ld.f32 %f11, [%rd33+4]; + ld.f32 %f10, [%rd33]; + mul.f32 %f203, %f10, 0f3456BF95; + mul.f32 %f204, %f11, 0f3456BF95; + mul.f32 %f205, %f12, 0f3456BF95; + abs.f32 %f206, %f1085; + div.rn.f32 %f207, %f203, %f206; + abs.f32 %f208, %f1086; + div.rn.f32 %f209, %f204, %f208; + abs.f32 %f210, %f1087; + div.rn.f32 %f211, %f205, %f210; + abs.f32 %f212, %f207; + abs.f32 %f213, %f209; + abs.f32 %f214, %f211; + mov.f32 %f215, 0f38D1B717; + max.f32 %f216, %f212, %f215; + max.f32 %f217, %f213, %f215; + max.f32 %f218, %f214, %f215; + fma.rn.f32 %f13, %f1085, %f216, %f10; + fma.rn.f32 %f14, %f1086, %f217, %f11; + fma.rn.f32 %f15, %f1087, %f218, %f12; + abs.f32 %f219, %f7; + abs.f32 %f220, %f9; + setp.gt.f32 %p12, %f219, %f220; + neg.f32 %f221, %f8; + neg.f32 %f222, %f9; + selp.f32 %f223, %f221, 0f00000000, %p12; + selp.f32 %f224, %f7, %f222, %p12; + selp.f32 %f225, 0f00000000, %f8, %p12; + mul.f32 %f226, %f224, %f224; + fma.rn.f32 %f227, %f223, %f223, %f226; + fma.rn.f32 %f228, %f225, %f225, %f227; + sqrt.rn.f32 %f229, %f228; + rcp.rn.f32 %f230, %f229; + mul.f32 %f16, %f223, %f230; + mul.f32 %f17, %f224, %f230; + mul.f32 %f18, %f225, %f230; + mul.f32 %f231, %f9, %f17; + mul.f32 %f232, %f8, %f18; + sub.f32 %f19, %f231, %f232; + mul.f32 %f233, %f7, %f18; + mul.f32 %f234, %f9, %f16; + sub.f32 %f20, %f233, %f234; + mul.f32 %f235, %f8, %f16; + mul.f32 %f236, %f7, %f17; + sub.f32 %f21, %f235, %f236; + ld.global.v2.u32 {%r128, %r129}, [pixelID]; + cvt.u64.u32 %rd41, %r128; + cvt.u64.u32 %rd42, %r129; + mov.u64 %rd46, rnd_seeds; + cvta.global.u64 %rd40, %rd46; + // inline asm + call (%rd39), _rt_buffer_get_64, (%rd40, %r105, %r106, %rd41, %rd42, %rd31, %rd31); + // inline asm + ld.global.u32 %r380, [samples]; + mov.f32 %f1102, 0f00000000; + setp.lt.s32 %p13, %r380, 1; + @%p13 bra BB0_55; + + cvt.rn.f32.s32 %f238, %r380; + rcp.rn.f32 %f22, %f238; + ld.u32 %r406, [%rd39]; + mul.f32 %f23, %f13, 0f3456BF95; + mul.f32 %f24, %f14, 0f3456BF95; + mul.f32 %f25, %f15, 0f3456BF95; + mov.f32 %f1102, 0f00000000; + mov.u32 %r381, 0; + abs.f32 %f239, %f24; + abs.f32 %f240, %f23; + max.f32 %f241, %f240, %f239; + abs.f32 %f242, %f25; + max.f32 %f243, %f241, %f242; + +BB0_5: + setp.lt.s32 %p14, %r380, 1; + @%p14 bra BB0_54; + + cvt.rn.f32.s32 %f27, %r381; + max.f32 %f28, %f243, %f215; + mov.u32 %r383, 0; + +BB0_7: + mad.lo.s32 %r134, %r406, 1664525, 1013904223; + and.b32 %r135, %r134, 16777215; + cvt.rn.f32.u32 %f245, %r135; + fma.rn.f32 %f246, %f245, 0f33800000, %f27; + mul.f32 %f247, %f22, %f246; + mad.lo.s32 %r406, %r134, 1664525, 1013904223; + and.b32 %r136, %r406, 16777215; + cvt.rn.f32.u32 %f248, %r136; + cvt.rn.f32.s32 %f249, %r383; + fma.rn.f32 %f250, %f248, 0f33800000, %f249; + mul.f32 %f251, %f22, %f250; + sqrt.rn.f32 %f30, %f247; + mul.f32 %f1096, %f251, 0f40C90FDB; + abs.f32 %f32, %f1096; + setp.neu.f32 %p15, %f32, 0f7F800000; + mov.f32 %f1090, %f1096; + @%p15 bra BB0_9; + + mov.f32 %f252, 0f00000000; + mul.rn.f32 %f1090, %f1096, %f252; + +BB0_9: + mul.f32 %f253, %f1090, 0f3F22F983; + cvt.rni.s32.f32 %r394, %f253; + cvt.rn.f32.s32 %f254, %r394; + neg.f32 %f255, %f254; + mov.f32 %f256, 0f3FC90FDA; + fma.rn.f32 %f257, %f255, %f256, %f1090; + mov.f32 %f258, 0f33A22168; + fma.rn.f32 %f259, %f255, %f258, %f257; + mov.f32 %f260, 0f27C234C5; + fma.rn.f32 %f1091, %f255, %f260, %f259; + abs.f32 %f261, %f1090; + setp.leu.f32 %p16, %f261, 0f47CE4780; + @%p16 bra BB0_20; + + add.u64 %rd48, %SP, 4; + cvta.to.local.u64 %rd3, %rd48; + mov.b32 %r13, %f1090; + shr.u32 %r14, %r13, 23; + shl.b32 %r139, %r13, 8; + or.b32 %r15, %r139, -2147483648; + mov.u32 %r385, 0; + mov.u64 %rd279, 0; + mov.u64 %rd278, %rd3; + mov.u32 %r386, %r385; + +BB0_11: + .pragma "nounroll"; + shl.b64 %rd49, %rd279, 2; + mov.u64 %rd50, __cudart_i2opi_f; + add.s64 %rd51, %rd50, %rd49; + ld.const.u32 %r142, [%rd51]; + // inline asm + { + mad.lo.cc.u32 %r140, %r142, %r15, %r386; + madc.hi.u32 %r386, %r142, %r15, 0; + } + // inline asm + st.local.u32 [%rd278], %r140; + add.s32 %r385, %r385, 1; + cvt.s64.s32 %rd279, %r385; + mul.wide.s32 %rd54, %r385, 4; + add.s64 %rd278, %rd3, %rd54; + setp.ne.s32 %p17, %r385, 6; + @%p17 bra BB0_11; + + and.b32 %r145, %r14, 255; + add.s32 %r146, %r145, -128; + shr.u32 %r147, %r146, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd56, %rd48; + st.local.u32 [%rd56+24], %r386; + mov.u32 %r148, 6; + sub.s32 %r149, %r148, %r147; + mul.wide.s32 %rd57, %r149, 4; + add.s64 %rd8, %rd56, %rd57; + ld.local.u32 %r387, [%rd8]; + ld.local.u32 %r388, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p18, %r23, 0; + @%p18 bra BB0_14; + + mov.u32 %r150, 32; + sub.s32 %r151, %r150, %r23; + shr.u32 %r152, %r388, %r151; + shl.b32 %r153, %r387, %r23; + add.s32 %r387, %r152, %r153; + ld.local.u32 %r154, [%rd8+-8]; + shr.u32 %r155, %r154, %r151; + shl.b32 %r156, %r388, %r23; + add.s32 %r388, %r155, %r156; + +BB0_14: + shr.u32 %r157, %r388, 30; + shl.b32 %r158, %r387, 2; + add.s32 %r389, %r157, %r158; + shl.b32 %r29, %r388, 2; + shr.u32 %r159, %r389, 31; + shr.u32 %r160, %r387, 30; + add.s32 %r30, %r159, %r160; + setp.eq.s32 %p19, %r159, 0; + @%p19 bra BB0_15; + bra.uni BB0_16; + +BB0_15: + mov.u32 %r390, %r20; + mov.u32 %r391, %r29; + bra.uni BB0_17; + +BB0_16: + not.b32 %r161, %r389; + neg.s32 %r391, %r29; + setp.eq.s32 %p20, %r29, 0; + selp.u32 %r162, 1, 0, %p20; + add.s32 %r389, %r162, %r161; + xor.b32 %r390, %r20, -2147483648; + +BB0_17: + clz.b32 %r393, %r389; + setp.eq.s32 %p21, %r393, 0; + shl.b32 %r163, %r389, %r393; + mov.u32 %r164, 32; + sub.s32 %r165, %r164, %r393; + shr.u32 %r166, %r391, %r165; + add.s32 %r167, %r166, %r163; + selp.b32 %r38, %r389, %r167, %p21; + mov.u32 %r168, -921707870; + mul.hi.u32 %r392, %r38, %r168; + setp.eq.s32 %p22, %r20, 0; + neg.s32 %r169, %r30; + selp.b32 %r394, %r30, %r169, %p22; + setp.lt.s32 %p23, %r392, 1; + @%p23 bra BB0_19; + + mul.lo.s32 %r170, %r38, -921707870; + shr.u32 %r171, %r170, 31; + shl.b32 %r172, %r392, 1; + add.s32 %r392, %r171, %r172; + add.s32 %r393, %r393, 1; + +BB0_19: + mov.u32 %r173, 126; + sub.s32 %r174, %r173, %r393; + shl.b32 %r175, %r174, 23; + add.s32 %r176, %r392, 1; + shr.u32 %r177, %r176, 7; + add.s32 %r178, %r177, 1; + shr.u32 %r179, %r178, 1; + add.s32 %r180, %r179, %r175; + or.b32 %r181, %r180, %r390; + mov.b32 %f1091, %r181; + +BB0_20: + mul.rn.f32 %f38, %f1091, %f1091; + add.s32 %r46, %r394, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p24, %r47, 0; + @%p24 bra BB0_22; + bra.uni BB0_21; + +BB0_22: + mov.f32 %f264, 0f3C08839E; + mov.f32 %f265, 0fB94CA1F9; + fma.rn.f32 %f1092, %f265, %f38, %f264; + bra.uni BB0_23; + +BB0_21: + mov.f32 %f262, 0fBAB6061A; + mov.f32 %f263, 0f37CCF5CE; + fma.rn.f32 %f1092, %f263, %f38, %f262; + +BB0_23: + @%p24 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f269, 0fBE2AAAA3; + fma.rn.f32 %f270, %f1092, %f38, %f269; + mov.f32 %f271, 0f00000000; + fma.rn.f32 %f1093, %f270, %f38, %f271; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f266, 0f3D2AAAA5; + fma.rn.f32 %f267, %f1092, %f38, %f266; + mov.f32 %f268, 0fBF000000; + fma.rn.f32 %f1093, %f267, %f38, %f268; + +BB0_26: + fma.rn.f32 %f1094, %f1093, %f1091, %f1091; + @%p24 bra BB0_28; + + mov.f32 %f272, 0f3F800000; + fma.rn.f32 %f1094, %f1093, %f38, %f272; + +BB0_28: + and.b32 %r182, %r46, 2; + setp.eq.s32 %p27, %r182, 0; + @%p27 bra BB0_30; + + mov.f32 %f273, 0f00000000; + mov.f32 %f274, 0fBF800000; + fma.rn.f32 %f1094, %f1094, %f274, %f273; + +BB0_30: + @%p15 bra BB0_32; + + mov.f32 %f275, 0f00000000; + mul.rn.f32 %f1096, %f1096, %f275; + +BB0_32: + mul.f32 %f276, %f1096, 0f3F22F983; + cvt.rni.s32.f32 %r404, %f276; + cvt.rn.f32.s32 %f277, %r404; + neg.f32 %f278, %f277; + fma.rn.f32 %f280, %f278, %f256, %f1096; + fma.rn.f32 %f282, %f278, %f258, %f280; + fma.rn.f32 %f1097, %f278, %f260, %f282; + abs.f32 %f284, %f1096; + setp.leu.f32 %p29, %f284, 0f47CE4780; + @%p29 bra BB0_43; + + add.u64 %rd59, %SP, 4; + cvta.to.local.u64 %rd9, %rd59; + mov.b32 %r49, %f1096; + shr.u32 %r50, %r49, 23; + shl.b32 %r185, %r49, 8; + or.b32 %r51, %r185, -2147483648; + mov.u32 %r395, 0; + mov.u64 %rd280, %rd9; + mov.u64 %rd281, %rd31; + mov.u32 %r396, %r395; + +BB0_34: + .pragma "nounroll"; + shl.b64 %rd60, %rd281, 2; + mov.u64 %rd61, __cudart_i2opi_f; + add.s64 %rd62, %rd61, %rd60; + ld.const.u32 %r188, [%rd62]; + // inline asm + { + mad.lo.cc.u32 %r186, %r188, %r51, %r396; + madc.hi.u32 %r396, %r188, %r51, 0; + } + // inline asm + st.local.u32 [%rd280], %r186; + add.s32 %r395, %r395, 1; + cvt.s64.s32 %rd281, %r395; + mul.wide.s32 %rd63, %r395, 4; + add.s64 %rd280, %rd9, %rd63; + setp.ne.s32 %p30, %r395, 6; + @%p30 bra BB0_34; + + and.b32 %r191, %r50, 255; + add.s32 %r192, %r191, -128; + shr.u32 %r193, %r192, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd65, %rd59; + st.local.u32 [%rd65+24], %r396; + mov.u32 %r194, 6; + sub.s32 %r195, %r194, %r193; + mul.wide.s32 %rd66, %r195, 4; + add.s64 %rd15, %rd65, %rd66; + ld.local.u32 %r397, [%rd15]; + ld.local.u32 %r398, [%rd15+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p31, %r59, 0; + @%p31 bra BB0_37; + + mov.u32 %r196, 32; + sub.s32 %r197, %r196, %r59; + shr.u32 %r198, %r398, %r197; + shl.b32 %r199, %r397, %r59; + add.s32 %r397, %r198, %r199; + ld.local.u32 %r200, [%rd15+-8]; + shr.u32 %r201, %r200, %r197; + shl.b32 %r202, %r398, %r59; + add.s32 %r398, %r201, %r202; + +BB0_37: + shr.u32 %r203, %r398, 30; + shl.b32 %r204, %r397, 2; + add.s32 %r399, %r203, %r204; + shl.b32 %r65, %r398, 2; + shr.u32 %r205, %r399, 31; + shr.u32 %r206, %r397, 30; + add.s32 %r66, %r205, %r206; + setp.eq.s32 %p32, %r205, 0; + @%p32 bra BB0_38; + bra.uni BB0_39; + +BB0_38: + mov.u32 %r400, %r56; + mov.u32 %r401, %r65; + bra.uni BB0_40; + +BB0_39: + not.b32 %r207, %r399; + neg.s32 %r401, %r65; + setp.eq.s32 %p33, %r65, 0; + selp.u32 %r208, 1, 0, %p33; + add.s32 %r399, %r208, %r207; + xor.b32 %r400, %r56, -2147483648; + +BB0_40: + clz.b32 %r403, %r399; + setp.eq.s32 %p34, %r403, 0; + shl.b32 %r209, %r399, %r403; + mov.u32 %r210, 32; + sub.s32 %r211, %r210, %r403; + shr.u32 %r212, %r401, %r211; + add.s32 %r213, %r212, %r209; + selp.b32 %r74, %r399, %r213, %p34; + mov.u32 %r214, -921707870; + mul.hi.u32 %r402, %r74, %r214; + setp.eq.s32 %p35, %r56, 0; + neg.s32 %r215, %r66; + selp.b32 %r404, %r66, %r215, %p35; + setp.lt.s32 %p36, %r402, 1; + @%p36 bra BB0_42; + + mul.lo.s32 %r216, %r74, -921707870; + shr.u32 %r217, %r216, 31; + shl.b32 %r218, %r402, 1; + add.s32 %r402, %r217, %r218; + add.s32 %r403, %r403, 1; + +BB0_42: + mov.u32 %r219, 126; + sub.s32 %r220, %r219, %r403; + shl.b32 %r221, %r220, 23; + add.s32 %r222, %r402, 1; + shr.u32 %r223, %r222, 7; + add.s32 %r224, %r223, 1; + shr.u32 %r225, %r224, 1; + add.s32 %r226, %r225, %r221; + or.b32 %r227, %r226, %r400; + mov.b32 %f1097, %r227; + +BB0_43: + mul.rn.f32 %f55, %f1097, %f1097; + and.b32 %r82, %r404, 1; + setp.eq.s32 %p37, %r82, 0; + @%p37 bra BB0_45; + bra.uni BB0_44; + +BB0_45: + mov.f32 %f287, 0f3C08839E; + mov.f32 %f288, 0fB94CA1F9; + fma.rn.f32 %f1098, %f288, %f55, %f287; + bra.uni BB0_46; + +BB0_44: + mov.f32 %f285, 0fBAB6061A; + mov.f32 %f286, 0f37CCF5CE; + fma.rn.f32 %f1098, %f286, %f55, %f285; + +BB0_46: + @%p37 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f292, 0fBE2AAAA3; + fma.rn.f32 %f293, %f1098, %f55, %f292; + mov.f32 %f294, 0f00000000; + fma.rn.f32 %f1099, %f293, %f55, %f294; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f289, 0f3D2AAAA5; + fma.rn.f32 %f290, %f1098, %f55, %f289; + mov.f32 %f291, 0fBF000000; + fma.rn.f32 %f1099, %f290, %f55, %f291; + +BB0_49: + fma.rn.f32 %f1100, %f1099, %f1097, %f1097; + @%p37 bra BB0_51; + + mov.f32 %f295, 0f3F800000; + fma.rn.f32 %f1100, %f1099, %f55, %f295; + +BB0_51: + and.b32 %r228, %r404, 2; + setp.eq.s32 %p40, %r228, 0; + @%p40 bra BB0_53; + + mov.f32 %f296, 0f00000000; + mov.f32 %f297, 0fBF800000; + fma.rn.f32 %f1100, %f1100, %f297, %f296; + +BB0_53: + mul.f32 %f306, %f30, %f1094; + add.u64 %rd67, %SP, 0; + cvta.to.local.u64 %rd68, %rd67; + mul.f32 %f307, %f306, %f306; + mov.f32 %f308, 0f3F800000; + sub.f32 %f309, %f308, %f307; + mul.f32 %f310, %f30, %f1100; + mul.f32 %f311, %f310, %f310; + sub.f32 %f312, %f309, %f311; + mov.f32 %f313, 0f00000000; + max.f32 %f314, %f313, %f312; + sqrt.rn.f32 %f315, %f314; + mul.f32 %f316, %f16, %f310; + mul.f32 %f317, %f17, %f310; + mul.f32 %f318, %f18, %f310; + fma.rn.f32 %f319, %f19, %f306, %f316; + fma.rn.f32 %f320, %f20, %f306, %f317; + fma.rn.f32 %f321, %f21, %f306, %f318; + fma.rn.f32 %f322, %f7, %f315, %f319; + fma.rn.f32 %f323, %f8, %f315, %f320; + fma.rn.f32 %f324, %f9, %f315, %f321; + add.f32 %f325, %f7, %f322; + add.f32 %f326, %f8, %f323; + add.f32 %f327, %f9, %f324; + ld.global.f32 %f328, [shadowSpread]; + mul.f32 %f329, %f328, %f325; + mul.f32 %f330, %f328, %f326; + mul.f32 %f331, %f328, %f327; + sub.f32 %f332, %f329, %f7; + sub.f32 %f333, %f330, %f8; + sub.f32 %f334, %f331, %f9; + mul.f32 %f335, %f333, %f333; + fma.rn.f32 %f336, %f332, %f332, %f335; + fma.rn.f32 %f337, %f334, %f334, %f336; + sqrt.rn.f32 %f338, %f337; + rcp.rn.f32 %f339, %f338; + mul.f32 %f301, %f339, %f332; + mul.f32 %f302, %f339, %f333; + mul.f32 %f303, %f339, %f334; + ld.global.u32 %r232, [imageEnabled]; + and.b32 %r233, %r232, 32; + setp.eq.s32 %p41, %r233, 0; + selp.f32 %f340, 0f3F800000, 0f41200000, %p41; + mul.f32 %f304, %f340, %f28; + mov.u32 %r234, 1065353216; + st.local.u32 [%rd68], %r234; + ld.global.u32 %r229, [root]; + mov.u32 %r230, 1; + mov.f32 %f305, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r229, %f13, %f14, %f15, %f301, %f302, %f303, %r230, %f304, %f305, %rd67, %r106); + // inline asm + ld.local.f32 %f341, [%rd68]; + add.f32 %f1102, %f1102, %f341; + ld.global.u32 %r380, [samples]; + add.s32 %r383, %r383, 1; + setp.lt.s32 %p42, %r383, %r380; + @%p42 bra BB0_7; + +BB0_54: + add.s32 %r381, %r381, 1; + setp.lt.s32 %p43, %r381, %r380; + @%p43 bra BB0_5; + +BB0_55: + mul.f32 %f343, %f1087, %f9; + mul.f32 %f344, %f1086, %f8; + neg.f32 %f345, %f344; + mul.f32 %f346, %f1085, %f7; + sub.f32 %f347, %f345, %f346; + sub.f32 %f70, %f347, %f343; + setp.eq.s32 %p44, %r380, 0; + mov.f32 %f1104, 0f3F800000; + @%p44 bra BB0_57; + + mul.lo.s32 %r235, %r380, %r380; + cvt.rn.f32.s32 %f348, %r235; + div.rn.f32 %f1104, %f1102, %f348; + +BB0_57: + mul.f32 %f359, %f11, %f20; + fma.rn.f32 %f360, %f10, %f19, %f359; + fma.rn.f32 %f361, %f12, %f21, %f360; + ld.global.v4.f32 {%f362, %f363, %f364, %f365}, [lightTilingOffset]; + fma.rn.f32 %f353, %f361, %f362, %f364; + mul.f32 %f368, %f11, %f17; + fma.rn.f32 %f369, %f10, %f16, %f368; + fma.rn.f32 %f370, %f12, %f18, %f369; + fma.rn.f32 %f354, %f370, %f363, %f365; + ld.global.u32 %r236, [lightCookie]; + mov.f32 %f356, 0f00000000; + // inline asm + call (%f349, %f350, %f351, %f352), _rt_texture_get_f_id, (%r236, %r105, %f353, %f354, %f356, %f356); + // inline asm + mul.f32 %f73, %f1104, %f349; + ld.global.f32 %f373, [directColor]; + mul.f32 %f74, %f373, %f73; + ld.global.f32 %f374, [directColor+4]; + mul.f32 %f75, %f374, %f73; + ld.global.f32 %f375, [directColor+8]; + mul.f32 %f76, %f73, %f375; + cvt.sat.f32.f32 %f376, %f70; + mul.f32 %f77, %f74, %f376; + mul.f32 %f78, %f75, %f376; + mul.f32 %f79, %f76, %f376; + fma.rn.f32 %f377, %f70, 0f3F000000, 0f3F000000; + cvt.sat.f32.f32 %f378, %f377; + add.f32 %f80, %f378, %f378; + mov.f32 %f382, 0f41A00000; + abs.f32 %f82, %f80; + setp.lt.f32 %p45, %f82, 0f00800000; + mul.f32 %f384, %f82, 0f4B800000; + selp.f32 %f385, 0fC3170000, 0fC2FE0000, %p45; + selp.f32 %f386, %f384, %f82, %p45; + mov.b32 %r238, %f386; + and.b32 %r239, %r238, 8388607; + or.b32 %r240, %r239, 1065353216; + mov.b32 %f387, %r240; + shr.u32 %r241, %r238, 23; + cvt.rn.f32.u32 %f388, %r241; + add.f32 %f389, %f385, %f388; + setp.gt.f32 %p46, %f387, 0f3FB504F3; + mul.f32 %f390, %f387, 0f3F000000; + add.f32 %f391, %f389, 0f3F800000; + selp.f32 %f392, %f390, %f387, %p46; + selp.f32 %f393, %f391, %f389, %p46; + add.f32 %f394, %f392, 0fBF800000; + add.f32 %f358, %f392, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f357,%f358; + // inline asm + add.f32 %f395, %f394, %f394; + mul.f32 %f396, %f357, %f395; + mul.f32 %f397, %f396, %f396; + mov.f32 %f398, 0f3C4CAF63; + mov.f32 %f399, 0f3B18F0FE; + fma.rn.f32 %f400, %f399, %f397, %f398; + mov.f32 %f401, 0f3DAAAABD; + fma.rn.f32 %f402, %f400, %f397, %f401; + mul.rn.f32 %f403, %f402, %f397; + mul.rn.f32 %f404, %f403, %f396; + sub.f32 %f405, %f394, %f396; + neg.f32 %f406, %f396; + add.f32 %f407, %f405, %f405; + fma.rn.f32 %f408, %f406, %f394, %f407; + mul.rn.f32 %f409, %f357, %f408; + add.f32 %f410, %f404, %f396; + sub.f32 %f411, %f396, %f410; + add.f32 %f412, %f404, %f411; + add.f32 %f413, %f409, %f412; + add.f32 %f414, %f410, %f413; + sub.f32 %f415, %f410, %f414; + add.f32 %f416, %f413, %f415; + mov.f32 %f417, 0f3F317200; + mul.rn.f32 %f418, %f393, %f417; + mov.f32 %f419, 0f35BFBE8E; + mul.rn.f32 %f420, %f393, %f419; + add.f32 %f421, %f418, %f414; + sub.f32 %f422, %f418, %f421; + add.f32 %f423, %f414, %f422; + add.f32 %f424, %f416, %f423; + add.f32 %f425, %f420, %f424; + add.f32 %f426, %f421, %f425; + sub.f32 %f427, %f421, %f426; + add.f32 %f428, %f425, %f427; + mul.rn.f32 %f429, %f382, %f426; + neg.f32 %f430, %f429; + fma.rn.f32 %f431, %f382, %f426, %f430; + fma.rn.f32 %f432, %f382, %f428, %f431; + fma.rn.f32 %f433, %f356, %f426, %f432; + add.rn.f32 %f434, %f429, %f433; + neg.f32 %f435, %f434; + add.rn.f32 %f436, %f429, %f435; + add.rn.f32 %f437, %f436, %f433; + mov.b32 %r242, %f434; + setp.eq.s32 %p47, %r242, 1118925336; + add.s32 %r243, %r242, -1; + mov.b32 %f438, %r243; + add.f32 %f439, %f437, 0f37000000; + selp.f32 %f440, %f438, %f434, %p47; + selp.f32 %f83, %f439, %f437, %p47; + mul.f32 %f441, %f440, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f442, %f441; + mov.f32 %f443, 0fBF317200; + fma.rn.f32 %f444, %f442, %f443, %f440; + mov.f32 %f445, 0fB5BFBE8E; + fma.rn.f32 %f446, %f442, %f445, %f444; + mul.f32 %f447, %f446, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f448, %f447; + add.f32 %f449, %f442, 0f00000000; + ex2.approx.f32 %f450, %f449; + mul.f32 %f451, %f448, %f450; + setp.lt.f32 %p48, %f440, 0fC2D20000; + selp.f32 %f452, 0f00000000, %f451, %p48; + setp.gt.f32 %p49, %f440, 0f42D20000; + selp.f32 %f1105, 0f7F800000, %f452, %p49; + setp.eq.f32 %p50, %f1105, 0f7F800000; + @%p50 bra BB0_59; + + fma.rn.f32 %f1105, %f1105, %f83, %f1105; + +BB0_59: + mov.f32 %f1022, 0f41200000; + cvt.rzi.f32.f32 %f1021, %f1022; + add.f32 %f1020, %f1021, %f1021; + mov.f32 %f1019, 0f41A00000; + sub.f32 %f1018, %f1019, %f1020; + abs.f32 %f1017, %f1018; + setp.lt.f32 %p51, %f80, 0f00000000; + setp.eq.f32 %p52, %f1017, 0f3F800000; + and.pred %p1, %p51, %p52; + mov.b32 %r244, %f1105; + xor.b32 %r245, %r244, -2147483648; + mov.b32 %f453, %r245; + selp.f32 %f1107, %f453, %f1105, %p1; + setp.eq.f32 %p53, %f80, 0f00000000; + @%p53 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f456, %f80, %f80; + selp.f32 %f1107, %f456, 0f00000000, %p52; + bra.uni BB0_63; + +BB0_60: + setp.geu.f32 %p54, %f80, 0f00000000; + @%p54 bra BB0_63; + + mov.f32 %f1058, 0f41A00000; + cvt.rzi.f32.f32 %f455, %f1058; + setp.neu.f32 %p55, %f455, 0f41A00000; + selp.f32 %f1107, 0f7FFFFFFF, %f1107, %p55; + +BB0_63: + add.f32 %f457, %f82, 0f41A00000; + mov.b32 %r246, %f457; + setp.lt.s32 %p57, %r246, 2139095040; + @%p57 bra BB0_68; + + setp.gtu.f32 %p58, %f82, 0f7F800000; + @%p58 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f1107, %f80, 0f41A00000; + bra.uni BB0_68; + +BB0_65: + setp.neu.f32 %p59, %f82, 0f7F800000; + @%p59 bra BB0_68; + + selp.f32 %f1107, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + setp.eq.f32 %p60, %f80, 0f3F800000; + selp.f32 %f458, 0f3F800000, %f1107, %p60; + cvt.sat.f32.f32 %f459, %f458; + mul.f32 %f94, %f74, %f459; + mul.f32 %f95, %f75, %f459; + mul.f32 %f96, %f76, %f459; + ld.global.u32 %r409, [imageEnabled]; + and.b32 %r247, %r409, 8; + setp.eq.s32 %p61, %r247, 0; + @%p61 bra BB0_81; + + mov.f32 %f1030, 0fB5BFBE8E; + mov.f32 %f1029, 0fBF317200; + mov.f32 %f1028, 0f00000000; + mov.f32 %f1027, 0f35BFBE8E; + mov.f32 %f1026, 0f3F317200; + mov.f32 %f1025, 0f3DAAAABD; + mov.f32 %f1024, 0f3C4CAF63; + mov.f32 %f1023, 0f3B18F0FE; + cvt.u64.u32 %rd71, %r2; + cvt.u64.u32 %rd72, %r3; + mov.u64 %rd75, image_Mask; + cvta.global.u64 %rd70, %rd75; + // inline asm + call (%rd69), _rt_buffer_get_64, (%rd70, %r105, %r105, %rd71, %rd72, %rd31, %rd31); + // inline asm + abs.f32 %f98, %f73; + setp.lt.f32 %p62, %f98, 0f00800000; + mul.f32 %f465, %f98, 0f4B800000; + selp.f32 %f466, 0fC3170000, 0fC2FE0000, %p62; + selp.f32 %f467, %f465, %f98, %p62; + mov.b32 %r250, %f467; + and.b32 %r251, %r250, 8388607; + or.b32 %r252, %r251, 1065353216; + mov.b32 %f468, %r252; + shr.u32 %r253, %r250, 23; + cvt.rn.f32.u32 %f469, %r253; + add.f32 %f470, %f466, %f469; + setp.gt.f32 %p63, %f468, 0f3FB504F3; + mul.f32 %f471, %f468, 0f3F000000; + add.f32 %f472, %f470, 0f3F800000; + selp.f32 %f473, %f471, %f468, %p63; + selp.f32 %f474, %f472, %f470, %p63; + add.f32 %f475, %f473, 0fBF800000; + add.f32 %f461, %f473, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f460,%f461; + // inline asm + add.f32 %f476, %f475, %f475; + mul.f32 %f477, %f460, %f476; + mul.f32 %f478, %f477, %f477; + fma.rn.f32 %f481, %f1023, %f478, %f1024; + fma.rn.f32 %f483, %f481, %f478, %f1025; + mul.rn.f32 %f484, %f483, %f478; + mul.rn.f32 %f485, %f484, %f477; + sub.f32 %f486, %f475, %f477; + neg.f32 %f487, %f477; + add.f32 %f488, %f486, %f486; + fma.rn.f32 %f489, %f487, %f475, %f488; + mul.rn.f32 %f490, %f460, %f489; + add.f32 %f491, %f485, %f477; + sub.f32 %f492, %f477, %f491; + add.f32 %f493, %f485, %f492; + add.f32 %f494, %f490, %f493; + add.f32 %f495, %f491, %f494; + sub.f32 %f496, %f491, %f495; + add.f32 %f497, %f494, %f496; + mul.rn.f32 %f499, %f474, %f1026; + mul.rn.f32 %f501, %f474, %f1027; + add.f32 %f502, %f499, %f495; + sub.f32 %f503, %f499, %f502; + add.f32 %f504, %f495, %f503; + add.f32 %f505, %f497, %f504; + add.f32 %f506, %f501, %f505; + add.f32 %f507, %f502, %f506; + sub.f32 %f508, %f502, %f507; + add.f32 %f509, %f506, %f508; + mov.f32 %f510, 0f3EE8BA2E; + mul.rn.f32 %f511, %f510, %f507; + neg.f32 %f512, %f511; + fma.rn.f32 %f513, %f510, %f507, %f512; + fma.rn.f32 %f514, %f510, %f509, %f513; + fma.rn.f32 %f516, %f1028, %f507, %f514; + add.rn.f32 %f517, %f511, %f516; + neg.f32 %f518, %f517; + add.rn.f32 %f519, %f511, %f518; + add.rn.f32 %f520, %f519, %f516; + mov.b32 %r254, %f517; + setp.eq.s32 %p64, %r254, 1118925336; + add.s32 %r255, %r254, -1; + mov.b32 %f521, %r255; + add.f32 %f522, %f520, 0f37000000; + selp.f32 %f523, %f521, %f517, %p64; + selp.f32 %f99, %f522, %f520, %p64; + mul.f32 %f524, %f523, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f525, %f524; + fma.rn.f32 %f527, %f525, %f1029, %f523; + fma.rn.f32 %f529, %f525, %f1030, %f527; + mul.f32 %f530, %f529, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f531, %f530; + add.f32 %f532, %f525, 0f00000000; + ex2.approx.f32 %f533, %f532; + mul.f32 %f534, %f531, %f533; + setp.lt.f32 %p65, %f523, 0fC2D20000; + selp.f32 %f535, 0f00000000, %f534, %p65; + setp.gt.f32 %p66, %f523, 0f42D20000; + selp.f32 %f1108, 0f7F800000, %f535, %p66; + setp.eq.f32 %p67, %f1108, 0f7F800000; + @%p67 bra BB0_71; + + fma.rn.f32 %f1108, %f1108, %f99, %f1108; + +BB0_71: + mov.f32 %f1062, 0f3E68BA2E; + cvt.rzi.f32.f32 %f1061, %f1062; + fma.rn.f32 %f1060, %f1061, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f1059, %f1060; + setp.lt.f32 %p68, %f73, 0f00000000; + setp.eq.f32 %p69, %f1059, 0f3F800000; + and.pred %p2, %p68, %p69; + mov.b32 %r256, %f1108; + xor.b32 %r257, %r256, -2147483648; + mov.b32 %f536, %r257; + selp.f32 %f1110, %f536, %f1108, %p2; + setp.eq.f32 %p70, %f73, 0f00000000; + @%p70 bra BB0_74; + bra.uni BB0_72; + +BB0_74: + add.f32 %f539, %f73, %f73; + selp.f32 %f1110, %f539, 0f00000000, %p69; + bra.uni BB0_75; + +BB0_142: + mov.u64 %rd217, image_HDR; + cvta.global.u64 %rd212, %rd217; + mov.u32 %r354, 8; + mov.u64 %rd216, 0; + // inline asm + call (%rd211), _rt_buffer_get_64, (%rd212, %r105, %r354, %rd24, %rd25, %rd216, %rd216); + // inline asm + mov.f32 %f995, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f995;} + + // inline asm + mov.u16 %rs117, 0; + st.v4.u16 [%rd211], {%rs116, %rs116, %rs116, %rs117}; + +BB0_143: + ld.global.u32 %r355, [additive]; + setp.eq.s32 %p145, %r355, 0; + @%p145 bra BB0_145; + + mov.u64 %rd230, image_RNM0; + cvta.global.u64 %rd219, %rd230; + mov.u32 %r359, 8; + mov.u64 %rd229, 0; + // inline asm + call (%rd218), _rt_buffer_get_64, (%rd219, %r105, %r359, %rd24, %rd25, %rd229, %rd229); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd218]; + // inline asm + { cvt.f32.f16 %f996, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f997, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f998, %rs126;} + + // inline asm + // inline asm + call (%rd224), _rt_buffer_get_64, (%rd219, %r105, %r359, %rd24, %rd25, %rd229, %rd229); + // inline asm + add.f32 %f999, %f996, 0f00000000; + add.f32 %f1000, %f997, 0f00000000; + add.f32 %f1001, %f998, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f1001;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f1000;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f999;} + + // inline asm + mov.u16 %rs128, 0; + st.v4.u16 [%rd224], {%rs121, %rs122, %rs123, %rs128}; + bra.uni BB0_146; + +BB0_145: + mov.u64 %rd237, image_RNM0; + cvta.global.u64 %rd232, %rd237; + mov.u32 %r361, 8; + mov.u64 %rd236, 0; + // inline asm + call (%rd231), _rt_buffer_get_64, (%rd232, %r105, %r361, %rd24, %rd25, %rd236, %rd236); + // inline asm + mov.f32 %f1002, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs129, %f1002;} + + // inline asm + mov.u16 %rs130, 0; + st.v4.u16 [%rd231], {%rs129, %rs129, %rs129, %rs130}; + +BB0_146: + ld.global.u32 %r362, [additive]; + setp.eq.s32 %p146, %r362, 0; + @%p146 bra BB0_148; + + mov.u64 %rd250, image_RNM1; + cvta.global.u64 %rd239, %rd250; + mov.u32 %r366, 8; + mov.u64 %rd249, 0; + // inline asm + call (%rd238), _rt_buffer_get_64, (%rd239, %r105, %r366, %rd24, %rd25, %rd249, %rd249); + // inline asm + ld.v4.u16 {%rs137, %rs138, %rs139, %rs140}, [%rd238]; + // inline asm + { cvt.f32.f16 %f1003, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1004, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1005, %rs139;} + + // inline asm + // inline asm + call (%rd244), _rt_buffer_get_64, (%rd239, %r105, %r366, %rd24, %rd25, %rd249, %rd249); + // inline asm + add.f32 %f1006, %f1003, 0f00000000; + add.f32 %f1007, %f1004, 0f00000000; + add.f32 %f1008, %f1005, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs136, %f1008;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f1007;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f1006;} + + // inline asm + mov.u16 %rs141, 0; + st.v4.u16 [%rd244], {%rs134, %rs135, %rs136, %rs141}; + bra.uni BB0_149; + +BB0_148: + mov.u64 %rd257, image_RNM1; + cvta.global.u64 %rd252, %rd257; + mov.u32 %r368, 8; + mov.u64 %rd256, 0; + // inline asm + call (%rd251), _rt_buffer_get_64, (%rd252, %r105, %r368, %rd24, %rd25, %rd256, %rd256); + // inline asm + mov.f32 %f1009, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs142, %f1009;} + + // inline asm + mov.u16 %rs143, 0; + st.v4.u16 [%rd251], {%rs142, %rs142, %rs142, %rs143}; + +BB0_149: + ld.global.u32 %r369, [additive]; + setp.eq.s32 %p147, %r369, 0; + @%p147 bra BB0_151; + + mov.u64 %rd270, image_RNM2; + cvta.global.u64 %rd259, %rd270; + mov.u32 %r373, 8; + mov.u64 %rd269, 0; + // inline asm + call (%rd258), _rt_buffer_get_64, (%rd259, %r105, %r373, %rd24, %rd25, %rd269, %rd269); + // inline asm + ld.v4.u16 {%rs150, %rs151, %rs152, %rs153}, [%rd258]; + // inline asm + { cvt.f32.f16 %f1010, %rs150;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1011, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1012, %rs152;} + + // inline asm + // inline asm + call (%rd264), _rt_buffer_get_64, (%rd259, %r105, %r373, %rd24, %rd25, %rd269, %rd269); + // inline asm + add.f32 %f1013, %f1010, 0f00000000; + add.f32 %f1014, %f1011, 0f00000000; + add.f32 %f1015, %f1012, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs149, %f1015;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f1014;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs147, %f1013;} + + // inline asm + mov.u16 %rs154, 0; + st.v4.u16 [%rd264], {%rs147, %rs148, %rs149, %rs154}; + bra.uni BB0_152; + +BB0_151: + mov.u64 %rd277, image_RNM2; + cvta.global.u64 %rd272, %rd277; + mov.u32 %r375, 8; + mov.u64 %rd276, 0; + // inline asm + call (%rd271), _rt_buffer_get_64, (%rd272, %r105, %r375, %rd24, %rd25, %rd276, %rd276); + // inline asm + mov.f32 %f1016, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs155, %f1016;} + + // inline asm + mov.u16 %rs156, 0; + st.v4.u16 [%rd271], {%rs155, %rs155, %rs155, %rs156}; + bra.uni BB0_152; + +BB0_72: + setp.geu.f32 %p71, %f73, 0f00000000; + @%p71 bra BB0_75; + + mov.f32 %f1066, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f538, %f1066; + setp.neu.f32 %p72, %f538, 0f3EE8BA2E; + selp.f32 %f1110, 0f7FFFFFFF, %f1110, %p72; + +BB0_75: + abs.f32 %f1063, %f73; + add.f32 %f540, %f1063, 0f3EE8BA2E; + mov.b32 %r258, %f540; + setp.lt.s32 %p74, %r258, 2139095040; + @%p74 bra BB0_80; + + abs.f32 %f1064, %f73; + setp.gtu.f32 %p75, %f1064, 0f7F800000; + @%p75 bra BB0_79; + bra.uni BB0_77; + +BB0_79: + add.f32 %f1110, %f73, 0f3EE8BA2E; + bra.uni BB0_80; + +BB0_77: + abs.f32 %f1065, %f73; + setp.neu.f32 %p76, %f1065, 0f7F800000; + @%p76 bra BB0_80; + + selp.f32 %f1110, 0fFF800000, 0f7F800000, %p2; + +BB0_80: + mul.f32 %f541, %f1110, 0f437F0000; + setp.eq.f32 %p77, %f73, 0f3F800000; + selp.f32 %f542, 0f437F0000, %f541, %p77; + cvt.rzi.u32.f32 %r259, %f542; + cvt.u16.u32 %rs13, %r259; + mov.u16 %rs14, 255; + st.v2.u8 [%rd69], {%rs13, %rs14}; + ld.global.u32 %r409, [imageEnabled]; + +BB0_81: + and.b32 %r260, %r409, 1; + setp.eq.b32 %p78, %r260, 1; + @!%p78 bra BB0_116; + bra.uni BB0_82; + +BB0_82: + mov.f32 %f1038, 0fB5BFBE8E; + mov.f32 %f1037, 0fBF317200; + mov.f32 %f1036, 0f00000000; + mov.f32 %f1035, 0f35BFBE8E; + mov.f32 %f1034, 0f3F317200; + mov.f32 %f1033, 0f3DAAAABD; + mov.f32 %f1032, 0f3C4CAF63; + mov.f32 %f1031, 0f3B18F0FE; + abs.f32 %f111, %f77; + setp.lt.f32 %p79, %f111, 0f00800000; + mul.f32 %f548, %f111, 0f4B800000; + selp.f32 %f549, 0fC3170000, 0fC2FE0000, %p79; + selp.f32 %f550, %f548, %f111, %p79; + mov.b32 %r261, %f550; + and.b32 %r262, %r261, 8388607; + or.b32 %r263, %r262, 1065353216; + mov.b32 %f551, %r263; + shr.u32 %r264, %r261, 23; + cvt.rn.f32.u32 %f552, %r264; + add.f32 %f553, %f549, %f552; + setp.gt.f32 %p80, %f551, 0f3FB504F3; + mul.f32 %f554, %f551, 0f3F000000; + add.f32 %f555, %f553, 0f3F800000; + selp.f32 %f556, %f554, %f551, %p80; + selp.f32 %f557, %f555, %f553, %p80; + add.f32 %f558, %f556, 0fBF800000; + add.f32 %f544, %f556, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f543,%f544; + // inline asm + add.f32 %f559, %f558, %f558; + mul.f32 %f560, %f543, %f559; + mul.f32 %f561, %f560, %f560; + fma.rn.f32 %f564, %f1031, %f561, %f1032; + fma.rn.f32 %f566, %f564, %f561, %f1033; + mul.rn.f32 %f567, %f566, %f561; + mul.rn.f32 %f568, %f567, %f560; + sub.f32 %f569, %f558, %f560; + neg.f32 %f570, %f560; + add.f32 %f571, %f569, %f569; + fma.rn.f32 %f572, %f570, %f558, %f571; + mul.rn.f32 %f573, %f543, %f572; + add.f32 %f574, %f568, %f560; + sub.f32 %f575, %f560, %f574; + add.f32 %f576, %f568, %f575; + add.f32 %f577, %f573, %f576; + add.f32 %f578, %f574, %f577; + sub.f32 %f579, %f574, %f578; + add.f32 %f580, %f577, %f579; + mul.rn.f32 %f582, %f557, %f1034; + mul.rn.f32 %f584, %f557, %f1035; + add.f32 %f585, %f582, %f578; + sub.f32 %f586, %f582, %f585; + add.f32 %f587, %f578, %f586; + add.f32 %f588, %f580, %f587; + add.f32 %f589, %f584, %f588; + add.f32 %f590, %f585, %f589; + sub.f32 %f591, %f585, %f590; + add.f32 %f592, %f589, %f591; + mov.f32 %f593, 0f3EE66666; + mul.rn.f32 %f594, %f593, %f590; + neg.f32 %f595, %f594; + fma.rn.f32 %f596, %f593, %f590, %f595; + fma.rn.f32 %f597, %f593, %f592, %f596; + fma.rn.f32 %f599, %f1036, %f590, %f597; + add.rn.f32 %f600, %f594, %f599; + neg.f32 %f601, %f600; + add.rn.f32 %f602, %f594, %f601; + add.rn.f32 %f603, %f602, %f599; + mov.b32 %r265, %f600; + setp.eq.s32 %p81, %r265, 1118925336; + add.s32 %r266, %r265, -1; + mov.b32 %f604, %r266; + add.f32 %f605, %f603, 0f37000000; + selp.f32 %f606, %f604, %f600, %p81; + selp.f32 %f112, %f605, %f603, %p81; + mul.f32 %f607, %f606, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f608, %f607; + fma.rn.f32 %f610, %f608, %f1037, %f606; + fma.rn.f32 %f612, %f608, %f1038, %f610; + mul.f32 %f613, %f612, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f614, %f613; + add.f32 %f615, %f608, 0f00000000; + ex2.approx.f32 %f616, %f615; + mul.f32 %f617, %f614, %f616; + setp.lt.f32 %p82, %f606, 0fC2D20000; + selp.f32 %f618, 0f00000000, %f617, %p82; + setp.gt.f32 %p83, %f606, 0f42D20000; + selp.f32 %f1111, 0f7F800000, %f618, %p83; + setp.eq.f32 %p84, %f1111, 0f7F800000; + @%p84 bra BB0_84; + + fma.rn.f32 %f1111, %f1111, %f112, %f1111; + +BB0_84: + mov.f32 %f1070, 0f3E666666; + cvt.rzi.f32.f32 %f1069, %f1070; + fma.rn.f32 %f1068, %f1069, 0fC0000000, 0f3EE66666; + abs.f32 %f1067, %f1068; + setp.lt.f32 %p85, %f77, 0f00000000; + setp.eq.f32 %p86, %f1067, 0f3F800000; + and.pred %p3, %p85, %p86; + mov.b32 %r267, %f1111; + xor.b32 %r268, %r267, -2147483648; + mov.b32 %f619, %r268; + selp.f32 %f1113, %f619, %f1111, %p3; + setp.eq.f32 %p87, %f77, 0f00000000; + @%p87 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f622, %f77, %f77; + selp.f32 %f1113, %f622, 0f00000000, %p86; + bra.uni BB0_88; + +BB0_85: + setp.geu.f32 %p88, %f77, 0f00000000; + @%p88 bra BB0_88; + + mov.f32 %f1078, 0f3EE66666; + cvt.rzi.f32.f32 %f621, %f1078; + setp.neu.f32 %p89, %f621, 0f3EE66666; + selp.f32 %f1113, 0f7FFFFFFF, %f1113, %p89; + +BB0_88: + abs.f32 %f1071, %f77; + add.f32 %f623, %f1071, 0f3EE66666; + mov.b32 %r269, %f623; + setp.lt.s32 %p91, %r269, 2139095040; + @%p91 bra BB0_93; + + abs.f32 %f1076, %f77; + setp.gtu.f32 %p92, %f1076, 0f7F800000; + @%p92 bra BB0_92; + bra.uni BB0_90; + +BB0_92: + add.f32 %f1113, %f77, 0f3EE66666; + bra.uni BB0_93; + +BB0_90: + abs.f32 %f1077, %f77; + setp.neu.f32 %p93, %f1077, 0f7F800000; + @%p93 bra BB0_93; + + selp.f32 %f1113, 0fFF800000, 0f7F800000, %p3; + +BB0_93: + mov.f32 %f1072, 0f3EE66666; + mov.f32 %f1046, 0fB5BFBE8E; + mov.f32 %f1045, 0fBF317200; + mov.f32 %f1044, 0f00000000; + mov.f32 %f1043, 0f35BFBE8E; + mov.f32 %f1042, 0f3F317200; + mov.f32 %f1041, 0f3DAAAABD; + mov.f32 %f1040, 0f3C4CAF63; + mov.f32 %f1039, 0f3B18F0FE; + setp.eq.f32 %p94, %f77, 0f3F800000; + selp.f32 %f123, 0f3F800000, %f1113, %p94; + abs.f32 %f124, %f78; + setp.lt.f32 %p95, %f124, 0f00800000; + mul.f32 %f626, %f124, 0f4B800000; + selp.f32 %f627, 0fC3170000, 0fC2FE0000, %p95; + selp.f32 %f628, %f626, %f124, %p95; + mov.b32 %r270, %f628; + and.b32 %r271, %r270, 8388607; + or.b32 %r272, %r271, 1065353216; + mov.b32 %f629, %r272; + shr.u32 %r273, %r270, 23; + cvt.rn.f32.u32 %f630, %r273; + add.f32 %f631, %f627, %f630; + setp.gt.f32 %p96, %f629, 0f3FB504F3; + mul.f32 %f632, %f629, 0f3F000000; + add.f32 %f633, %f631, 0f3F800000; + selp.f32 %f634, %f632, %f629, %p96; + selp.f32 %f635, %f633, %f631, %p96; + add.f32 %f636, %f634, 0fBF800000; + add.f32 %f625, %f634, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f624,%f625; + // inline asm + add.f32 %f637, %f636, %f636; + mul.f32 %f638, %f624, %f637; + mul.f32 %f639, %f638, %f638; + fma.rn.f32 %f642, %f1039, %f639, %f1040; + fma.rn.f32 %f644, %f642, %f639, %f1041; + mul.rn.f32 %f645, %f644, %f639; + mul.rn.f32 %f646, %f645, %f638; + sub.f32 %f647, %f636, %f638; + neg.f32 %f648, %f638; + add.f32 %f649, %f647, %f647; + fma.rn.f32 %f650, %f648, %f636, %f649; + mul.rn.f32 %f651, %f624, %f650; + add.f32 %f652, %f646, %f638; + sub.f32 %f653, %f638, %f652; + add.f32 %f654, %f646, %f653; + add.f32 %f655, %f651, %f654; + add.f32 %f656, %f652, %f655; + sub.f32 %f657, %f652, %f656; + add.f32 %f658, %f655, %f657; + mul.rn.f32 %f660, %f635, %f1042; + mul.rn.f32 %f662, %f635, %f1043; + add.f32 %f663, %f660, %f656; + sub.f32 %f664, %f660, %f663; + add.f32 %f665, %f656, %f664; + add.f32 %f666, %f658, %f665; + add.f32 %f667, %f662, %f666; + add.f32 %f668, %f663, %f667; + sub.f32 %f669, %f663, %f668; + add.f32 %f670, %f667, %f669; + mul.rn.f32 %f672, %f1072, %f668; + neg.f32 %f673, %f672; + fma.rn.f32 %f674, %f1072, %f668, %f673; + fma.rn.f32 %f675, %f1072, %f670, %f674; + fma.rn.f32 %f677, %f1044, %f668, %f675; + add.rn.f32 %f678, %f672, %f677; + neg.f32 %f679, %f678; + add.rn.f32 %f680, %f672, %f679; + add.rn.f32 %f681, %f680, %f677; + mov.b32 %r274, %f678; + setp.eq.s32 %p97, %r274, 1118925336; + add.s32 %r275, %r274, -1; + mov.b32 %f682, %r275; + add.f32 %f683, %f681, 0f37000000; + selp.f32 %f684, %f682, %f678, %p97; + selp.f32 %f125, %f683, %f681, %p97; + mul.f32 %f685, %f684, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f686, %f685; + fma.rn.f32 %f688, %f686, %f1045, %f684; + fma.rn.f32 %f690, %f686, %f1046, %f688; + mul.f32 %f691, %f690, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f692, %f691; + add.f32 %f693, %f686, 0f00000000; + ex2.approx.f32 %f694, %f693; + mul.f32 %f695, %f692, %f694; + setp.lt.f32 %p98, %f684, 0fC2D20000; + selp.f32 %f696, 0f00000000, %f695, %p98; + setp.gt.f32 %p99, %f684, 0f42D20000; + selp.f32 %f1114, 0f7F800000, %f696, %p99; + setp.eq.f32 %p100, %f1114, 0f7F800000; + @%p100 bra BB0_95; + + fma.rn.f32 %f1114, %f1114, %f125, %f1114; + +BB0_95: + setp.lt.f32 %p101, %f78, 0f00000000; + and.pred %p4, %p101, %p86; + mov.b32 %r276, %f1114; + xor.b32 %r277, %r276, -2147483648; + mov.b32 %f697, %r277; + selp.f32 %f1116, %f697, %f1114, %p4; + setp.eq.f32 %p103, %f78, 0f00000000; + @%p103 bra BB0_98; + bra.uni BB0_96; + +BB0_98: + add.f32 %f700, %f78, %f78; + selp.f32 %f1116, %f700, 0f00000000, %p86; + bra.uni BB0_99; + +BB0_96: + setp.geu.f32 %p104, %f78, 0f00000000; + @%p104 bra BB0_99; + + mov.f32 %f1075, 0f3EE66666; + cvt.rzi.f32.f32 %f699, %f1075; + setp.neu.f32 %p105, %f699, 0f3EE66666; + selp.f32 %f1116, 0f7FFFFFFF, %f1116, %p105; + +BB0_99: + abs.f32 %f1079, %f78; + add.f32 %f701, %f1079, 0f3EE66666; + mov.b32 %r278, %f701; + setp.lt.s32 %p107, %r278, 2139095040; + @%p107 bra BB0_104; + + abs.f32 %f1080, %f78; + setp.gtu.f32 %p108, %f1080, 0f7F800000; + @%p108 bra BB0_103; + bra.uni BB0_101; + +BB0_103: + add.f32 %f1116, %f78, 0f3EE66666; + bra.uni BB0_104; + +BB0_101: + abs.f32 %f1081, %f78; + setp.neu.f32 %p109, %f1081, 0f7F800000; + @%p109 bra BB0_104; + + selp.f32 %f1116, 0fFF800000, 0f7F800000, %p4; + +BB0_104: + mov.f32 %f1073, 0f3EE66666; + mov.f32 %f1054, 0fB5BFBE8E; + mov.f32 %f1053, 0fBF317200; + mov.f32 %f1052, 0f00000000; + mov.f32 %f1051, 0f35BFBE8E; + mov.f32 %f1050, 0f3F317200; + mov.f32 %f1049, 0f3DAAAABD; + mov.f32 %f1048, 0f3C4CAF63; + mov.f32 %f1047, 0f3B18F0FE; + setp.eq.f32 %p110, %f78, 0f3F800000; + selp.f32 %f136, 0f3F800000, %f1116, %p110; + abs.f32 %f137, %f79; + setp.lt.f32 %p111, %f137, 0f00800000; + mul.f32 %f704, %f137, 0f4B800000; + selp.f32 %f705, 0fC3170000, 0fC2FE0000, %p111; + selp.f32 %f706, %f704, %f137, %p111; + mov.b32 %r279, %f706; + and.b32 %r280, %r279, 8388607; + or.b32 %r281, %r280, 1065353216; + mov.b32 %f707, %r281; + shr.u32 %r282, %r279, 23; + cvt.rn.f32.u32 %f708, %r282; + add.f32 %f709, %f705, %f708; + setp.gt.f32 %p112, %f707, 0f3FB504F3; + mul.f32 %f710, %f707, 0f3F000000; + add.f32 %f711, %f709, 0f3F800000; + selp.f32 %f712, %f710, %f707, %p112; + selp.f32 %f713, %f711, %f709, %p112; + add.f32 %f714, %f712, 0fBF800000; + add.f32 %f703, %f712, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f702,%f703; + // inline asm + add.f32 %f715, %f714, %f714; + mul.f32 %f716, %f702, %f715; + mul.f32 %f717, %f716, %f716; + fma.rn.f32 %f720, %f1047, %f717, %f1048; + fma.rn.f32 %f722, %f720, %f717, %f1049; + mul.rn.f32 %f723, %f722, %f717; + mul.rn.f32 %f724, %f723, %f716; + sub.f32 %f725, %f714, %f716; + neg.f32 %f726, %f716; + add.f32 %f727, %f725, %f725; + fma.rn.f32 %f728, %f726, %f714, %f727; + mul.rn.f32 %f729, %f702, %f728; + add.f32 %f730, %f724, %f716; + sub.f32 %f731, %f716, %f730; + add.f32 %f732, %f724, %f731; + add.f32 %f733, %f729, %f732; + add.f32 %f734, %f730, %f733; + sub.f32 %f735, %f730, %f734; + add.f32 %f736, %f733, %f735; + mul.rn.f32 %f738, %f713, %f1050; + mul.rn.f32 %f740, %f713, %f1051; + add.f32 %f741, %f738, %f734; + sub.f32 %f742, %f738, %f741; + add.f32 %f743, %f734, %f742; + add.f32 %f744, %f736, %f743; + add.f32 %f745, %f740, %f744; + add.f32 %f746, %f741, %f745; + sub.f32 %f747, %f741, %f746; + add.f32 %f748, %f745, %f747; + mul.rn.f32 %f750, %f1073, %f746; + neg.f32 %f751, %f750; + fma.rn.f32 %f752, %f1073, %f746, %f751; + fma.rn.f32 %f753, %f1073, %f748, %f752; + fma.rn.f32 %f755, %f1052, %f746, %f753; + add.rn.f32 %f756, %f750, %f755; + neg.f32 %f757, %f756; + add.rn.f32 %f758, %f750, %f757; + add.rn.f32 %f759, %f758, %f755; + mov.b32 %r283, %f756; + setp.eq.s32 %p113, %r283, 1118925336; + add.s32 %r284, %r283, -1; + mov.b32 %f760, %r284; + add.f32 %f761, %f759, 0f37000000; + selp.f32 %f762, %f760, %f756, %p113; + selp.f32 %f138, %f761, %f759, %p113; + mul.f32 %f763, %f762, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f764, %f763; + fma.rn.f32 %f766, %f764, %f1053, %f762; + fma.rn.f32 %f768, %f764, %f1054, %f766; + mul.f32 %f769, %f768, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f770, %f769; + add.f32 %f771, %f764, 0f00000000; + ex2.approx.f32 %f772, %f771; + mul.f32 %f773, %f770, %f772; + setp.lt.f32 %p114, %f762, 0fC2D20000; + selp.f32 %f774, 0f00000000, %f773, %p114; + setp.gt.f32 %p115, %f762, 0f42D20000; + selp.f32 %f1117, 0f7F800000, %f774, %p115; + setp.eq.f32 %p116, %f1117, 0f7F800000; + @%p116 bra BB0_106; + + fma.rn.f32 %f1117, %f1117, %f138, %f1117; + +BB0_106: + setp.lt.f32 %p117, %f79, 0f00000000; + and.pred %p5, %p117, %p86; + mov.b32 %r285, %f1117; + xor.b32 %r286, %r285, -2147483648; + mov.b32 %f775, %r286; + selp.f32 %f1119, %f775, %f1117, %p5; + setp.eq.f32 %p119, %f79, 0f00000000; + @%p119 bra BB0_109; + bra.uni BB0_107; + +BB0_109: + add.f32 %f778, %f79, %f79; + selp.f32 %f1119, %f778, 0f00000000, %p86; + bra.uni BB0_110; + +BB0_107: + setp.geu.f32 %p120, %f79, 0f00000000; + @%p120 bra BB0_110; + + mov.f32 %f1074, 0f3EE66666; + cvt.rzi.f32.f32 %f777, %f1074; + setp.neu.f32 %p121, %f777, 0f3EE66666; + selp.f32 %f1119, 0f7FFFFFFF, %f1119, %p121; + +BB0_110: + abs.f32 %f1082, %f79; + add.f32 %f779, %f1082, 0f3EE66666; + mov.b32 %r287, %f779; + setp.lt.s32 %p123, %r287, 2139095040; + @%p123 bra BB0_115; + + abs.f32 %f1083, %f79; + setp.gtu.f32 %p124, %f1083, 0f7F800000; + @%p124 bra BB0_114; + bra.uni BB0_112; + +BB0_114: + add.f32 %f1119, %f79, 0f3EE66666; + bra.uni BB0_115; + +BB0_112: + abs.f32 %f1084, %f79; + setp.neu.f32 %p125, %f1084, 0f7F800000; + @%p125 bra BB0_115; + + selp.f32 %f1119, 0fFF800000, 0f7F800000, %p5; + +BB0_115: + mov.u32 %r376, 4; + setp.eq.f32 %p126, %f79, 0f3F800000; + selp.f32 %f780, 0f3F800000, %f1119, %p126; + cvt.u64.u32 %rd79, %r3; + cvt.u64.u32 %rd78, %r2; + mov.u64 %rd82, image; + cvta.global.u64 %rd77, %rd82; + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd77, %r105, %r376, %rd78, %rd79, %rd31, %rd31); + // inline asm + cvt.sat.f32.f32 %f781, %f780; + mul.f32 %f782, %f781, 0f437FFD71; + cvt.rzi.u32.f32 %r290, %f782; + cvt.sat.f32.f32 %f783, %f136; + mul.f32 %f784, %f783, 0f437FFD71; + cvt.rzi.u32.f32 %r291, %f784; + cvt.sat.f32.f32 %f785, %f123; + mul.f32 %f786, %f785, 0f437FFD71; + cvt.rzi.u32.f32 %r292, %f786; + cvt.u16.u32 %rs15, %r290; + cvt.u16.u32 %rs16, %r292; + cvt.u16.u32 %rs17, %r291; + mov.u16 %rs18, 255; + st.v4.u8 [%rd76], {%rs15, %rs17, %rs16, %rs18}; + ld.global.u32 %r409, [imageEnabled]; + +BB0_116: + and.b32 %r293, %r409, 4; + setp.eq.s32 %p127, %r293, 0; + @%p127 bra BB0_120; + + ld.global.u32 %r294, [additive]; + setp.eq.s32 %p128, %r294, 0; + cvt.u64.u32 %rd17, %r2; + cvt.u64.u32 %rd18, %r3; + mov.f32 %f787, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs19, %f787;} + + // inline asm + @%p128 bra BB0_119; + + mov.u64 %rd95, image_HDR; + cvta.global.u64 %rd84, %rd95; + mov.u32 %r298, 8; + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd84, %r105, %r298, %rd17, %rd18, %rd31, %rd31); + // inline asm + ld.v4.u16 {%rs26, %rs27, %rs28, %rs29}, [%rd83]; + // inline asm + { cvt.f32.f16 %f788, %rs26;} + + // inline asm + // inline asm + { cvt.f32.f16 %f789, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f790, %rs28;} + + // inline asm + // inline asm + call (%rd89), _rt_buffer_get_64, (%rd84, %r105, %r298, %rd17, %rd18, %rd31, %rd31); + // inline asm + add.f32 %f791, %f77, %f788; + add.f32 %f792, %f78, %f789; + add.f32 %f793, %f79, %f790; + // inline asm + { cvt.rn.f16.f32 %rs25, %f793;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f792;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs23, %f791;} + + // inline asm + st.v4.u16 [%rd89], {%rs23, %rs24, %rs25, %rs19}; + bra.uni BB0_120; + +BB0_119: + mov.u64 %rd102, image_HDR; + cvta.global.u64 %rd97, %rd102; + mov.u32 %r300, 8; + // inline asm + call (%rd96), _rt_buffer_get_64, (%rd97, %r105, %r300, %rd17, %rd18, %rd31, %rd31); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f79;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f78;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f77;} + + // inline asm + st.v4.u16 [%rd96], {%rs30, %rs31, %rs32, %rs19}; + +BB0_120: + mov.f32 %f1120, 0f00000000; + mov.u32 %r377, 4; + ld.global.v2.u32 {%r303, %r304}, [pixelID]; + cvt.u64.u32 %rd105, %r303; + cvt.u64.u32 %rd106, %r304; + mov.u64 %rd109, uvtangent; + cvta.global.u64 %rd104, %rd109; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd104, %r105, %r377, %rd105, %rd106, %rd31, %rd31); + // inline asm + ld.u32 %r94, [%rd103]; + shr.u32 %r95, %r94, 16; + cvt.u16.u32 %rs33, %r95; + and.b16 %rs34, %rs33, 255; + cvt.u16.u32 %rs35, %r94; + or.b16 %rs36, %rs35, %rs34; + setp.eq.s16 %p129, %rs36, 0; + mov.f32 %f1121, %f1120; + mov.f32 %f1122, %f1120; + @%p129 bra BB0_122; + + ld.u8 %rs37, [%rd103+1]; + and.b16 %rs39, %rs35, 255; + cvt.rn.f32.u16 %f800, %rs39; + div.rn.f32 %f801, %f800, 0f437F0000; + fma.rn.f32 %f802, %f801, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f803, %rs37; + div.rn.f32 %f804, %f803, 0f437F0000; + fma.rn.f32 %f805, %f804, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f806, %rs34; + div.rn.f32 %f807, %f806, 0f437F0000; + fma.rn.f32 %f808, %f807, 0f40000000, 0fBF800000; + mul.f32 %f809, %f805, %f805; + fma.rn.f32 %f810, %f802, %f802, %f809; + fma.rn.f32 %f811, %f808, %f808, %f810; + sqrt.rn.f32 %f812, %f811; + rcp.rn.f32 %f813, %f812; + mul.f32 %f1120, %f802, %f813; + mul.f32 %f1121, %f805, %f813; + mul.f32 %f1122, %f808, %f813; + +BB0_122: + mov.f32 %f1123, 0f00000000; + mov.u32 %r378, 4; + mul.f32 %f817, %f1087, %f1121; + mul.f32 %f818, %f1086, %f1122; + sub.f32 %f819, %f818, %f817; + mul.f32 %f820, %f1085, %f1122; + mul.f32 %f821, %f1087, %f1120; + sub.f32 %f822, %f821, %f820; + mul.f32 %f823, %f1086, %f1120; + mul.f32 %f824, %f1085, %f1121; + sub.f32 %f825, %f824, %f823; + setp.lt.u32 %p130, %r94, 16777216; + selp.f32 %f826, 0fBF800000, 0f3F800000, %p130; + mul.f32 %f827, %f819, %f826; + mul.f32 %f828, %f822, %f826; + mul.f32 %f829, %f825, %f826; + mul.f32 %f830, %f827, 0f00000000; + mul.f32 %f831, %f828, 0f00000000; + mul.f32 %f832, %f829, 0f00000000; + fma.rn.f32 %f833, %f1120, 0f3F5105EC, %f830; + fma.rn.f32 %f834, %f1121, 0f3F5105EC, %f831; + fma.rn.f32 %f835, %f1122, 0f3F5105EC, %f832; + mul.f32 %f155, %f1085, 0f3F13CD3A; + add.f32 %f156, %f155, %f833; + mul.f32 %f157, %f1086, 0f3F13CD3A; + add.f32 %f158, %f157, %f834; + mul.f32 %f159, %f1087, 0f3F13CD3A; + add.f32 %f160, %f159, %f835; + ld.global.v2.u32 {%r309, %r310}, [pixelID]; + cvt.u64.u32 %rd112, %r309; + cvt.u64.u32 %rd113, %r310; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd104, %r105, %r378, %rd112, %rd113, %rd31, %rd31); + // inline asm + ld.u32 %r96, [%rd110]; + shr.u32 %r97, %r96, 16; + cvt.u16.u32 %rs42, %r97; + and.b16 %rs43, %rs42, 255; + cvt.u16.u32 %rs44, %r96; + or.b16 %rs45, %rs44, %rs43; + setp.eq.s16 %p131, %rs45, 0; + mov.f32 %f1124, %f1123; + mov.f32 %f1125, %f1123; + @%p131 bra BB0_124; + + ld.u8 %rs46, [%rd110+1]; + and.b16 %rs48, %rs44, 255; + cvt.rn.f32.u16 %f836, %rs48; + div.rn.f32 %f837, %f836, 0f437F0000; + fma.rn.f32 %f838, %f837, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f839, %rs46; + div.rn.f32 %f840, %f839, 0f437F0000; + fma.rn.f32 %f841, %f840, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f842, %rs43; + div.rn.f32 %f843, %f842, 0f437F0000; + fma.rn.f32 %f844, %f843, 0f40000000, 0fBF800000; + mul.f32 %f845, %f841, %f841; + fma.rn.f32 %f846, %f838, %f838, %f845; + fma.rn.f32 %f847, %f844, %f844, %f846; + sqrt.rn.f32 %f848, %f847; + rcp.rn.f32 %f849, %f848; + mul.f32 %f1123, %f838, %f849; + mul.f32 %f1124, %f841, %f849; + mul.f32 %f1125, %f844, %f849; + +BB0_124: + mov.f32 %f1126, 0f00000000; + mov.u32 %r379, 4; + mul.f32 %f853, %f1087, %f1124; + mul.f32 %f854, %f1086, %f1125; + sub.f32 %f855, %f854, %f853; + mul.f32 %f856, %f1085, %f1125; + mul.f32 %f857, %f1087, %f1123; + sub.f32 %f858, %f857, %f856; + mul.f32 %f859, %f1086, %f1123; + mul.f32 %f860, %f1085, %f1124; + sub.f32 %f861, %f860, %f859; + setp.lt.u32 %p132, %r96, 16777216; + selp.f32 %f862, 0fBF800000, 0f3F800000, %p132; + mul.f32 %f863, %f855, %f862; + mul.f32 %f864, %f858, %f862; + mul.f32 %f865, %f861, %f862; + mul.f32 %f866, %f863, 0f3F3504F3; + mul.f32 %f867, %f864, 0f3F3504F3; + mul.f32 %f868, %f865, 0f3F3504F3; + fma.rn.f32 %f869, %f1123, 0fBED105EC, %f866; + fma.rn.f32 %f870, %f1124, 0fBED105EC, %f867; + fma.rn.f32 %f871, %f1125, 0fBED105EC, %f868; + add.f32 %f167, %f155, %f869; + add.f32 %f168, %f157, %f870; + add.f32 %f169, %f159, %f871; + ld.global.v2.u32 {%r315, %r316}, [pixelID]; + cvt.u64.u32 %rd119, %r315; + cvt.u64.u32 %rd120, %r316; + // inline asm + call (%rd117), _rt_buffer_get_64, (%rd104, %r105, %r379, %rd119, %rd120, %rd31, %rd31); + // inline asm + ld.u32 %r98, [%rd117]; + shr.u32 %r99, %r98, 16; + cvt.u16.u32 %rs51, %r99; + and.b16 %rs52, %rs51, 255; + cvt.u16.u32 %rs53, %r98; + or.b16 %rs54, %rs53, %rs52; + setp.eq.s16 %p133, %rs54, 0; + mov.f32 %f1127, %f1126; + mov.f32 %f1128, %f1126; + @%p133 bra BB0_126; + + ld.u8 %rs55, [%rd117+1]; + and.b16 %rs57, %rs53, 255; + cvt.rn.f32.u16 %f872, %rs57; + div.rn.f32 %f873, %f872, 0f437F0000; + fma.rn.f32 %f874, %f873, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f875, %rs55; + div.rn.f32 %f876, %f875, 0f437F0000; + fma.rn.f32 %f877, %f876, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f878, %rs52; + div.rn.f32 %f879, %f878, 0f437F0000; + fma.rn.f32 %f880, %f879, 0f40000000, 0fBF800000; + mul.f32 %f881, %f877, %f877; + fma.rn.f32 %f882, %f874, %f874, %f881; + fma.rn.f32 %f883, %f880, %f880, %f882; + sqrt.rn.f32 %f884, %f883; + rcp.rn.f32 %f885, %f884; + mul.f32 %f1126, %f874, %f885; + mul.f32 %f1127, %f877, %f885; + mul.f32 %f1128, %f880, %f885; + +BB0_126: + mul.f32 %f887, %f1087, %f1127; + mul.f32 %f888, %f1086, %f1128; + sub.f32 %f889, %f888, %f887; + mul.f32 %f890, %f1085, %f1128; + mul.f32 %f891, %f1087, %f1126; + sub.f32 %f892, %f891, %f890; + mul.f32 %f893, %f1086, %f1126; + mul.f32 %f894, %f1085, %f1127; + sub.f32 %f895, %f894, %f893; + setp.lt.u32 %p134, %r98, 16777216; + selp.f32 %f896, 0fBF800000, 0f3F800000, %p134; + mul.f32 %f897, %f889, %f896; + mul.f32 %f898, %f892, %f896; + mul.f32 %f899, %f895, %f896; + mul.f32 %f900, %f897, 0fBF3504F3; + mul.f32 %f901, %f898, 0fBF3504F3; + mul.f32 %f902, %f899, 0fBF3504F3; + fma.rn.f32 %f903, %f1126, 0fBED105EC, %f900; + fma.rn.f32 %f904, %f1127, 0fBED105EC, %f901; + fma.rn.f32 %f905, %f1128, 0fBED105EC, %f902; + add.f32 %f906, %f155, %f903; + add.f32 %f907, %f157, %f904; + add.f32 %f908, %f159, %f905; + ld.global.f32 %f909, [directDir]; + mul.f32 %f910, %f156, %f909; + ld.global.f32 %f911, [directDir+4]; + mul.f32 %f912, %f158, %f911; + neg.f32 %f913, %f912; + sub.f32 %f914, %f913, %f910; + ld.global.f32 %f915, [directDir+8]; + mul.f32 %f916, %f160, %f915; + sub.f32 %f917, %f914, %f916; + cvt.sat.f32.f32 %f918, %f917; + mul.f32 %f919, %f94, %f918; + mul.f32 %f920, %f95, %f918; + mul.f32 %f921, %f96, %f918; + mul.f32 %f922, %f167, %f909; + mul.f32 %f923, %f168, %f911; + neg.f32 %f924, %f923; + sub.f32 %f925, %f924, %f922; + mul.f32 %f926, %f169, %f915; + sub.f32 %f927, %f925, %f926; + cvt.sat.f32.f32 %f928, %f927; + mul.f32 %f929, %f94, %f928; + mul.f32 %f930, %f95, %f928; + mul.f32 %f931, %f96, %f928; + mul.f32 %f932, %f906, %f909; + mul.f32 %f933, %f907, %f911; + neg.f32 %f934, %f933; + sub.f32 %f935, %f934, %f932; + mul.f32 %f936, %f908, %f915; + sub.f32 %f937, %f935, %f936; + cvt.sat.f32.f32 %f938, %f937; + mul.f32 %f939, %f94, %f938; + mul.f32 %f940, %f95, %f938; + mul.f32 %f941, %f96, %f938; + add.f32 %f942, %f919, %f929; + add.f32 %f943, %f920, %f930; + add.f32 %f944, %f921, %f931; + add.f32 %f945, %f942, %f939; + add.f32 %f946, %f943, %f940; + add.f32 %f947, %f944, %f941; + mul.f32 %f948, %f945, 0f3F13CD3A; + mul.f32 %f949, %f946, 0f3F13CD3A; + mul.f32 %f950, %f947, 0f3F13CD3A; + div.rn.f32 %f951, %f77, %f948; + div.rn.f32 %f952, %f78, %f949; + div.rn.f32 %f953, %f79, %f950; + setp.eq.f32 %p135, %f77, 0f00000000; + selp.f32 %f954, 0f00000000, %f951, %p135; + setp.eq.f32 %p136, %f78, 0f00000000; + selp.f32 %f955, 0f00000000, %f952, %p136; + setp.eq.f32 %p137, %f79, 0f00000000; + selp.f32 %f956, 0f00000000, %f953, %p137; + mul.f32 %f176, %f919, %f954; + mul.f32 %f177, %f920, %f955; + mul.f32 %f178, %f921, %f956; + mul.f32 %f179, %f929, %f954; + mul.f32 %f180, %f930, %f955; + mul.f32 %f181, %f931, %f956; + mul.f32 %f182, %f939, %f954; + mul.f32 %f183, %f940, %f955; + mul.f32 %f184, %f941, %f956; + ld.global.u32 %r319, [additive]; + setp.eq.s32 %p138, %r319, 0; + cvt.u64.u32 %rd22, %r2; + cvt.u64.u32 %rd23, %r3; + mov.f32 %f886, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs60, %f886;} + + // inline asm + @%p138 bra BB0_128; + + mov.u64 %rd136, image_RNM0; + cvta.global.u64 %rd125, %rd136; + mov.u32 %r323, 8; + // inline asm + call (%rd124), _rt_buffer_get_64, (%rd125, %r105, %r323, %rd22, %rd23, %rd31, %rd31); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd124]; + // inline asm + { cvt.f32.f16 %f957, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f958, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f959, %rs69;} + + // inline asm + // inline asm + call (%rd130), _rt_buffer_get_64, (%rd125, %r105, %r323, %rd22, %rd23, %rd31, %rd31); + // inline asm + add.f32 %f960, %f176, %f957; + add.f32 %f961, %f177, %f958; + add.f32 %f962, %f178, %f959; + // inline asm + { cvt.rn.f16.f32 %rs66, %f962;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f961;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f960;} + + // inline asm + st.v4.u16 [%rd130], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_129; + +BB0_128: + mov.u64 %rd143, image_RNM0; + cvta.global.u64 %rd138, %rd143; + mov.u32 %r325, 8; + // inline asm + call (%rd137), _rt_buffer_get_64, (%rd138, %r105, %r325, %rd22, %rd23, %rd31, %rd31); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f178;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f177;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f176;} + + // inline asm + st.v4.u16 [%rd137], {%rs71, %rs72, %rs73, %rs60}; + +BB0_129: + ld.global.u32 %r326, [additive]; + setp.eq.s32 %p139, %r326, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f886;} + + // inline asm + @%p139 bra BB0_131; + + mov.u64 %rd156, image_RNM1; + cvta.global.u64 %rd145, %rd156; + mov.u32 %r330, 8; + // inline asm + call (%rd144), _rt_buffer_get_64, (%rd145, %r105, %r330, %rd22, %rd23, %rd31, %rd31); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd144]; + // inline asm + { cvt.f32.f16 %f967, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f968, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f969, %rs83;} + + // inline asm + // inline asm + call (%rd150), _rt_buffer_get_64, (%rd145, %r105, %r330, %rd22, %rd23, %rd31, %rd31); + // inline asm + add.f32 %f970, %f179, %f967; + add.f32 %f971, %f180, %f968; + add.f32 %f972, %f181, %f969; + // inline asm + { cvt.rn.f16.f32 %rs80, %f972;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f971;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f970;} + + // inline asm + st.v4.u16 [%rd150], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd163, image_RNM1; + cvta.global.u64 %rd158, %rd163; + mov.u32 %r332, 8; + // inline asm + call (%rd157), _rt_buffer_get_64, (%rd158, %r105, %r332, %rd22, %rd23, %rd31, %rd31); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f181;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f180;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f179;} + + // inline asm + st.v4.u16 [%rd157], {%rs85, %rs86, %rs87, %rs74}; + +BB0_132: + ld.global.u32 %r333, [additive]; + setp.eq.s32 %p140, %r333, 0; + // inline asm + { cvt.rn.f16.f32 %rs88, %f886;} + + // inline asm + @%p140 bra BB0_134; + + mov.u64 %rd176, image_RNM2; + cvta.global.u64 %rd165, %rd176; + mov.u32 %r337, 8; + // inline asm + call (%rd164), _rt_buffer_get_64, (%rd165, %r105, %r337, %rd22, %rd23, %rd31, %rd31); + // inline asm + ld.v4.u16 {%rs95, %rs96, %rs97, %rs98}, [%rd164]; + // inline asm + { cvt.f32.f16 %f977, %rs95;} + + // inline asm + // inline asm + { cvt.f32.f16 %f978, %rs96;} + + // inline asm + // inline asm + { cvt.f32.f16 %f979, %rs97;} + + // inline asm + // inline asm + call (%rd170), _rt_buffer_get_64, (%rd165, %r105, %r337, %rd22, %rd23, %rd31, %rd31); + // inline asm + add.f32 %f980, %f182, %f977; + add.f32 %f981, %f183, %f978; + add.f32 %f982, %f184, %f979; + // inline asm + { cvt.rn.f16.f32 %rs94, %f982;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs93, %f981;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs92, %f980;} + + // inline asm + st.v4.u16 [%rd170], {%rs92, %rs93, %rs94, %rs88}; + bra.uni BB0_152; + +BB0_134: + mov.u64 %rd183, image_RNM2; + cvta.global.u64 %rd178, %rd183; + mov.u32 %r339, 8; + // inline asm + call (%rd177), _rt_buffer_get_64, (%rd178, %r105, %r339, %rd22, %rd23, %rd31, %rd31); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs101, %f184;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs100, %f183;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f182;} + + // inline asm + st.v4.u16 [%rd177], {%rs99, %rs100, %rs101, %rs88}; + +BB0_152: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowRNM.ptx.meta new file mode 100644 index 00000000..7533c7ba --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 71b964c28dcad6445bfd6bb5ac39b20e +timeCreated: 1581075098 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowSH.ptx new file mode 100644 index 00000000..1e5f2f12 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowSH.ptx @@ -0,0 +1,2138 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 directDir[12]; +.global .align 4 .b8 directColor[12]; +.global .align 4 .f32 shadowSpread; +.global .align 4 .u32 samples; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .u32 lightCookie; +.global .align 16 .b8 lightTilingOffset[16]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9directDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11directColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12shadowSpreadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11lightCookieE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo17lightTilingOffsetE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9directDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11directColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12shadowSpreadE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11lightCookieE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename17lightTilingOffsetE[7] = {102, 108, 111, 97, 116, 52, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9directDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11directColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12shadowSpreadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11lightCookieE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum17lightTilingOffsetE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9directDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11directColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12shadowSpreadE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11lightCookieE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic17lightTilingOffsetE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9directDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11directColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12shadowSpreadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11lightCookieE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation17lightTilingOffsetE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<124>; + .reg .b16 %rs<152>; + .reg .f32 %f<820>; + .reg .b32 %r<390>; + .reg .b64 %rd<286>; + + + mov.u64 %rd285, __local_depot0; + cvta.local.u64 %SP, %rd285; + ld.global.v2.u32 {%r101, %r102}, [pixelID]; + cvt.u64.u32 %rd22, %r101; + cvt.u64.u32 %rd23, %r102; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r99, 2; + mov.u32 %r100, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r99, %r100, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r1, [%rd20]; + shr.u32 %r105, %r1, 16; + cvt.u16.u32 %rs1, %r105; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r1; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p5, %rs9, 0; + mov.f32 %f788, 0f00000000; + mov.f32 %f789, %f788; + mov.f32 %f790, %f788; + @%p5 bra BB0_2; + + ld.u8 %rs10, [%rd20+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f138, %rs12; + div.rn.f32 %f139, %f138, 0f437F0000; + fma.rn.f32 %f140, %f139, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f141, %rs10; + div.rn.f32 %f142, %f141, 0f437F0000; + fma.rn.f32 %f143, %f142, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f144, %rs7; + div.rn.f32 %f145, %f144, 0f437F0000; + fma.rn.f32 %f146, %f145, 0f40000000, 0fBF800000; + mul.f32 %f147, %f143, %f143; + fma.rn.f32 %f148, %f140, %f140, %f147; + fma.rn.f32 %f149, %f146, %f146, %f148; + sqrt.rn.f32 %f150, %f149; + rcp.rn.f32 %f151, %f150; + mul.f32 %f788, %f140, %f151; + mul.f32 %f789, %f143, %f151; + mul.f32 %f790, %f146, %f151; + +BB0_2: + ld.global.v2.u32 {%r106, %r107}, [pixelID]; + ld.global.v2.u32 {%r109, %r110}, [tileInfo]; + add.s32 %r2, %r106, %r109; + add.s32 %r3, %r107, %r110; + setp.eq.f32 %p6, %f789, 0f00000000; + setp.eq.f32 %p7, %f788, 0f00000000; + and.pred %p8, %p7, %p6; + setp.eq.f32 %p9, %f790, 0f00000000; + and.pred %p10, %p8, %p9; + @%p10 bra BB0_121; + bra.uni BB0_3; + +BB0_121: + ld.global.u32 %r389, [imageEnabled]; + and.b32 %r314, %r389, 1; + setp.eq.b32 %p116, %r314, 1; + @!%p116 bra BB0_123; + bra.uni BB0_122; + +BB0_122: + cvt.u64.u32 %rd169, %r2; + cvt.u64.u32 %rd170, %r3; + mov.u64 %rd173, image; + cvta.global.u64 %rd168, %rd173; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r99, %r100, %rd169, %rd170, %rd25, %rd25); + // inline asm + mov.u16 %rs84, 0; + st.v4.u8 [%rd167], {%rs84, %rs84, %rs84, %rs84}; + ld.global.u32 %r389, [imageEnabled]; + +BB0_123: + and.b32 %r317, %r389, 8; + setp.eq.s32 %p117, %r317, 0; + @%p117 bra BB0_125; + + cvt.u64.u32 %rd177, %r3; + cvt.u64.u32 %rd176, %r2; + mov.u64 %rd180, image_Mask; + cvta.global.u64 %rd175, %rd180; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r99, %r99, %rd176, %rd177, %rd25, %rd25); + // inline asm + mov.f32 %f709, 0f00000000; + cvt.rzi.u32.f32 %r320, %f709; + cvt.u16.u32 %rs85, %r320; + mov.u16 %rs86, 0; + st.v2.u8 [%rd174], {%rs85, %rs86}; + ld.global.u32 %r389, [imageEnabled]; + +BB0_125: + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + and.b32 %r321, %r389, 4; + setp.eq.s32 %p118, %r321, 0; + @%p118 bra BB0_129; + + ld.global.u32 %r322, [additive]; + setp.eq.s32 %p119, %r322, 0; + @%p119 bra BB0_128; + + mov.u64 %rd193, image_HDR; + cvta.global.u64 %rd182, %rd193; + mov.u32 %r326, 8; + // inline asm + call (%rd181), _rt_buffer_get_64, (%rd182, %r99, %r326, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd181]; + // inline asm + { cvt.f32.f16 %f710, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f711, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f712, %rs95;} + + // inline asm + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd182, %r99, %r326, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f713, %f710, 0f00000000; + add.f32 %f714, %f711, 0f00000000; + add.f32 %f715, %f712, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs92, %f715;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f714;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f713;} + + // inline asm + mov.u16 %rs97, 0; + st.v4.u16 [%rd187], {%rs90, %rs91, %rs92, %rs97}; + bra.uni BB0_129; + +BB0_3: + ld.global.f32 %f9, [directDir+8]; + ld.global.f32 %f8, [directDir+4]; + ld.global.f32 %f7, [directDir]; + mul.f32 %f153, %f788, %f7; + mul.f32 %f154, %f789, %f8; + neg.f32 %f155, %f154; + sub.f32 %f156, %f155, %f153; + mul.f32 %f157, %f790, %f9; + sub.f32 %f10, %f156, %f157; + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd29, %r118; + cvt.u64.u32 %rd30, %r119; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r115, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r99, %r115, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f13, [%rd27+8]; + ld.f32 %f12, [%rd27+4]; + ld.f32 %f11, [%rd27]; + mul.f32 %f158, %f11, 0f3456BF95; + mul.f32 %f159, %f12, 0f3456BF95; + mul.f32 %f160, %f13, 0f3456BF95; + abs.f32 %f161, %f788; + div.rn.f32 %f162, %f158, %f161; + abs.f32 %f163, %f789; + div.rn.f32 %f164, %f159, %f163; + abs.f32 %f165, %f790; + div.rn.f32 %f166, %f160, %f165; + abs.f32 %f167, %f162; + abs.f32 %f168, %f164; + abs.f32 %f169, %f166; + mov.f32 %f170, 0f38D1B717; + max.f32 %f171, %f167, %f170; + max.f32 %f172, %f168, %f170; + max.f32 %f173, %f169, %f170; + fma.rn.f32 %f14, %f788, %f171, %f11; + fma.rn.f32 %f15, %f789, %f172, %f12; + fma.rn.f32 %f16, %f790, %f173, %f13; + abs.f32 %f174, %f7; + abs.f32 %f175, %f9; + setp.gt.f32 %p11, %f174, %f175; + neg.f32 %f176, %f8; + neg.f32 %f177, %f9; + selp.f32 %f178, %f176, 0f00000000, %p11; + selp.f32 %f179, %f7, %f177, %p11; + selp.f32 %f180, 0f00000000, %f8, %p11; + mul.f32 %f181, %f179, %f179; + fma.rn.f32 %f182, %f178, %f178, %f181; + fma.rn.f32 %f183, %f180, %f180, %f182; + sqrt.rn.f32 %f184, %f183; + rcp.rn.f32 %f185, %f184; + mul.f32 %f17, %f178, %f185; + mul.f32 %f18, %f179, %f185; + mul.f32 %f19, %f180, %f185; + mul.f32 %f186, %f9, %f18; + mul.f32 %f187, %f8, %f19; + sub.f32 %f20, %f186, %f187; + mul.f32 %f188, %f7, %f19; + mul.f32 %f189, %f9, %f17; + sub.f32 %f21, %f188, %f189; + mul.f32 %f190, %f8, %f17; + mul.f32 %f191, %f7, %f18; + sub.f32 %f22, %f190, %f191; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd35, %r122; + cvt.u64.u32 %rd36, %r123; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r99, %r100, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.global.u32 %r358, [samples]; + mov.f32 %f805, 0f00000000; + setp.lt.s32 %p12, %r358, 1; + @%p12 bra BB0_55; + + cvt.rn.f32.s32 %f193, %r358; + rcp.rn.f32 %f23, %f193; + ld.u32 %r384, [%rd33]; + mul.f32 %f24, %f14, 0f3456BF95; + mul.f32 %f25, %f15, 0f3456BF95; + mul.f32 %f26, %f16, 0f3456BF95; + mov.f32 %f805, 0f00000000; + mov.u32 %r359, 0; + abs.f32 %f194, %f25; + abs.f32 %f195, %f24; + max.f32 %f196, %f195, %f194; + abs.f32 %f197, %f26; + max.f32 %f198, %f196, %f197; + +BB0_5: + setp.lt.s32 %p13, %r358, 1; + @%p13 bra BB0_54; + + cvt.rn.f32.s32 %f28, %r359; + max.f32 %f29, %f198, %f170; + mov.u32 %r361, 0; + +BB0_7: + mad.lo.s32 %r128, %r384, 1664525, 1013904223; + and.b32 %r129, %r128, 16777215; + cvt.rn.f32.u32 %f200, %r129; + fma.rn.f32 %f201, %f200, 0f33800000, %f28; + mul.f32 %f202, %f23, %f201; + mad.lo.s32 %r384, %r128, 1664525, 1013904223; + and.b32 %r130, %r384, 16777215; + cvt.rn.f32.u32 %f203, %r130; + cvt.rn.f32.s32 %f204, %r361; + fma.rn.f32 %f205, %f203, 0f33800000, %f204; + mul.f32 %f206, %f23, %f205; + sqrt.rn.f32 %f31, %f202; + mul.f32 %f799, %f206, 0f40C90FDB; + abs.f32 %f33, %f799; + setp.neu.f32 %p14, %f33, 0f7F800000; + mov.f32 %f793, %f799; + @%p14 bra BB0_9; + + mov.f32 %f207, 0f00000000; + mul.rn.f32 %f793, %f799, %f207; + +BB0_9: + mul.f32 %f208, %f793, 0f3F22F983; + cvt.rni.s32.f32 %r372, %f208; + cvt.rn.f32.s32 %f209, %r372; + neg.f32 %f210, %f209; + mov.f32 %f211, 0f3FC90FDA; + fma.rn.f32 %f212, %f210, %f211, %f793; + mov.f32 %f213, 0f33A22168; + fma.rn.f32 %f214, %f210, %f213, %f212; + mov.f32 %f215, 0f27C234C5; + fma.rn.f32 %f794, %f210, %f215, %f214; + abs.f32 %f216, %f793; + setp.leu.f32 %p15, %f216, 0f47CE4780; + @%p15 bra BB0_20; + + mov.b32 %r13, %f793; + shr.u32 %r14, %r13, 23; + shl.b32 %r133, %r13, 8; + or.b32 %r15, %r133, -2147483648; + add.u64 %rd42, %SP, 4; + cvta.to.local.u64 %rd282, %rd42; + mov.u32 %r364, 0; + mov.u64 %rd281, __cudart_i2opi_f; + mov.u32 %r363, -6; + +BB0_11: + .pragma "nounroll"; + ld.const.u32 %r136, [%rd281]; + // inline asm + { + mad.lo.cc.u32 %r134, %r136, %r15, %r364; + madc.hi.u32 %r364, %r136, %r15, 0; + } + // inline asm + st.local.u32 [%rd282], %r134; + add.s64 %rd282, %rd282, 4; + add.s64 %rd281, %rd281, 4; + add.s32 %r363, %r363, 1; + setp.ne.s32 %p16, %r363, 0; + @%p16 bra BB0_11; + + and.b32 %r139, %r14, 255; + add.s32 %r140, %r139, -128; + shr.u32 %r141, %r140, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd44, %rd42; + st.local.u32 [%rd44+24], %r364; + mov.u32 %r142, 6; + sub.s32 %r143, %r142, %r141; + mul.wide.s32 %rd45, %r143, 4; + add.s64 %rd8, %rd44, %rd45; + ld.local.u32 %r365, [%rd8]; + ld.local.u32 %r366, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p17, %r23, 0; + @%p17 bra BB0_14; + + mov.u32 %r144, 32; + sub.s32 %r145, %r144, %r23; + shr.u32 %r146, %r366, %r145; + shl.b32 %r147, %r365, %r23; + add.s32 %r365, %r146, %r147; + ld.local.u32 %r148, [%rd8+-8]; + shr.u32 %r149, %r148, %r145; + shl.b32 %r150, %r366, %r23; + add.s32 %r366, %r149, %r150; + +BB0_14: + shr.u32 %r151, %r366, 30; + shl.b32 %r152, %r365, 2; + add.s32 %r367, %r151, %r152; + shl.b32 %r29, %r366, 2; + shr.u32 %r153, %r367, 31; + shr.u32 %r154, %r365, 30; + add.s32 %r30, %r153, %r154; + setp.eq.s32 %p18, %r153, 0; + @%p18 bra BB0_15; + bra.uni BB0_16; + +BB0_15: + mov.u32 %r368, %r20; + mov.u32 %r369, %r29; + bra.uni BB0_17; + +BB0_16: + not.b32 %r155, %r367; + neg.s32 %r369, %r29; + setp.eq.s32 %p19, %r29, 0; + selp.u32 %r156, 1, 0, %p19; + add.s32 %r367, %r156, %r155; + xor.b32 %r368, %r20, -2147483648; + +BB0_17: + clz.b32 %r371, %r367; + setp.eq.s32 %p20, %r371, 0; + shl.b32 %r157, %r367, %r371; + mov.u32 %r158, 32; + sub.s32 %r159, %r158, %r371; + shr.u32 %r160, %r369, %r159; + add.s32 %r161, %r160, %r157; + selp.b32 %r38, %r367, %r161, %p20; + mov.u32 %r162, -921707870; + mul.hi.u32 %r370, %r38, %r162; + setp.eq.s32 %p21, %r20, 0; + neg.s32 %r163, %r30; + selp.b32 %r372, %r30, %r163, %p21; + setp.lt.s32 %p22, %r370, 1; + @%p22 bra BB0_19; + + mul.lo.s32 %r164, %r38, -921707870; + shr.u32 %r165, %r164, 31; + shl.b32 %r166, %r370, 1; + add.s32 %r370, %r165, %r166; + add.s32 %r371, %r371, 1; + +BB0_19: + mov.u32 %r167, 126; + sub.s32 %r168, %r167, %r371; + shl.b32 %r169, %r168, 23; + add.s32 %r170, %r370, 1; + shr.u32 %r171, %r170, 7; + add.s32 %r172, %r171, 1; + shr.u32 %r173, %r172, 1; + add.s32 %r174, %r173, %r169; + or.b32 %r175, %r174, %r368; + mov.b32 %f794, %r175; + +BB0_20: + mul.rn.f32 %f39, %f794, %f794; + add.s32 %r46, %r372, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p23, %r47, 0; + @%p23 bra BB0_22; + bra.uni BB0_21; + +BB0_22: + mov.f32 %f219, 0f3C08839E; + mov.f32 %f220, 0fB94CA1F9; + fma.rn.f32 %f795, %f220, %f39, %f219; + bra.uni BB0_23; + +BB0_21: + mov.f32 %f217, 0fBAB6061A; + mov.f32 %f218, 0f37CCF5CE; + fma.rn.f32 %f795, %f218, %f39, %f217; + +BB0_23: + @%p23 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f224, 0fBE2AAAA3; + fma.rn.f32 %f225, %f795, %f39, %f224; + mov.f32 %f226, 0f00000000; + fma.rn.f32 %f796, %f225, %f39, %f226; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f221, 0f3D2AAAA5; + fma.rn.f32 %f222, %f795, %f39, %f221; + mov.f32 %f223, 0fBF000000; + fma.rn.f32 %f796, %f222, %f39, %f223; + +BB0_26: + fma.rn.f32 %f797, %f796, %f794, %f794; + @%p23 bra BB0_28; + + mov.f32 %f227, 0f3F800000; + fma.rn.f32 %f797, %f796, %f39, %f227; + +BB0_28: + and.b32 %r176, %r46, 2; + setp.eq.s32 %p26, %r176, 0; + @%p26 bra BB0_30; + + mov.f32 %f228, 0f00000000; + mov.f32 %f229, 0fBF800000; + fma.rn.f32 %f797, %f797, %f229, %f228; + +BB0_30: + @%p14 bra BB0_32; + + mov.f32 %f230, 0f00000000; + mul.rn.f32 %f799, %f799, %f230; + +BB0_32: + mul.f32 %f231, %f799, 0f3F22F983; + cvt.rni.s32.f32 %r382, %f231; + cvt.rn.f32.s32 %f232, %r382; + neg.f32 %f233, %f232; + fma.rn.f32 %f235, %f233, %f211, %f799; + fma.rn.f32 %f237, %f233, %f213, %f235; + fma.rn.f32 %f800, %f233, %f215, %f237; + abs.f32 %f239, %f799; + setp.leu.f32 %p28, %f239, 0f47CE4780; + @%p28 bra BB0_43; + + mov.b32 %r49, %f799; + shr.u32 %r50, %r49, 23; + shl.b32 %r179, %r49, 8; + or.b32 %r51, %r179, -2147483648; + add.u64 %rd47, %SP, 4; + cvta.to.local.u64 %rd284, %rd47; + mov.u32 %r374, 0; + mov.u64 %rd283, __cudart_i2opi_f; + mov.u32 %r373, -6; + +BB0_34: + .pragma "nounroll"; + ld.const.u32 %r182, [%rd283]; + // inline asm + { + mad.lo.cc.u32 %r180, %r182, %r51, %r374; + madc.hi.u32 %r374, %r182, %r51, 0; + } + // inline asm + st.local.u32 [%rd284], %r180; + add.s64 %rd284, %rd284, 4; + add.s64 %rd283, %rd283, 4; + add.s32 %r373, %r373, 1; + setp.ne.s32 %p29, %r373, 0; + @%p29 bra BB0_34; + + and.b32 %r185, %r50, 255; + add.s32 %r186, %r185, -128; + shr.u32 %r187, %r186, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd49, %rd47; + st.local.u32 [%rd49+24], %r374; + mov.u32 %r188, 6; + sub.s32 %r189, %r188, %r187; + mul.wide.s32 %rd50, %r189, 4; + add.s64 %rd14, %rd49, %rd50; + ld.local.u32 %r375, [%rd14]; + ld.local.u32 %r376, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p30, %r59, 0; + @%p30 bra BB0_37; + + mov.u32 %r190, 32; + sub.s32 %r191, %r190, %r59; + shr.u32 %r192, %r376, %r191; + shl.b32 %r193, %r375, %r59; + add.s32 %r375, %r192, %r193; + ld.local.u32 %r194, [%rd14+-8]; + shr.u32 %r195, %r194, %r191; + shl.b32 %r196, %r376, %r59; + add.s32 %r376, %r195, %r196; + +BB0_37: + shr.u32 %r197, %r376, 30; + shl.b32 %r198, %r375, 2; + add.s32 %r377, %r197, %r198; + shl.b32 %r65, %r376, 2; + shr.u32 %r199, %r377, 31; + shr.u32 %r200, %r375, 30; + add.s32 %r66, %r199, %r200; + setp.eq.s32 %p31, %r199, 0; + @%p31 bra BB0_38; + bra.uni BB0_39; + +BB0_38: + mov.u32 %r378, %r56; + mov.u32 %r379, %r65; + bra.uni BB0_40; + +BB0_39: + not.b32 %r201, %r377; + neg.s32 %r379, %r65; + setp.eq.s32 %p32, %r65, 0; + selp.u32 %r202, 1, 0, %p32; + add.s32 %r377, %r202, %r201; + xor.b32 %r378, %r56, -2147483648; + +BB0_40: + clz.b32 %r381, %r377; + setp.eq.s32 %p33, %r381, 0; + shl.b32 %r203, %r377, %r381; + mov.u32 %r204, 32; + sub.s32 %r205, %r204, %r381; + shr.u32 %r206, %r379, %r205; + add.s32 %r207, %r206, %r203; + selp.b32 %r74, %r377, %r207, %p33; + mov.u32 %r208, -921707870; + mul.hi.u32 %r380, %r74, %r208; + setp.eq.s32 %p34, %r56, 0; + neg.s32 %r209, %r66; + selp.b32 %r382, %r66, %r209, %p34; + setp.lt.s32 %p35, %r380, 1; + @%p35 bra BB0_42; + + mul.lo.s32 %r210, %r74, -921707870; + shr.u32 %r211, %r210, 31; + shl.b32 %r212, %r380, 1; + add.s32 %r380, %r211, %r212; + add.s32 %r381, %r381, 1; + +BB0_42: + mov.u32 %r213, 126; + sub.s32 %r214, %r213, %r381; + shl.b32 %r215, %r214, 23; + add.s32 %r216, %r380, 1; + shr.u32 %r217, %r216, 7; + add.s32 %r218, %r217, 1; + shr.u32 %r219, %r218, 1; + add.s32 %r220, %r219, %r215; + or.b32 %r221, %r220, %r378; + mov.b32 %f800, %r221; + +BB0_43: + mul.rn.f32 %f56, %f800, %f800; + and.b32 %r82, %r382, 1; + setp.eq.s32 %p36, %r82, 0; + @%p36 bra BB0_45; + bra.uni BB0_44; + +BB0_45: + mov.f32 %f242, 0f3C08839E; + mov.f32 %f243, 0fB94CA1F9; + fma.rn.f32 %f801, %f243, %f56, %f242; + bra.uni BB0_46; + +BB0_44: + mov.f32 %f240, 0fBAB6061A; + mov.f32 %f241, 0f37CCF5CE; + fma.rn.f32 %f801, %f241, %f56, %f240; + +BB0_46: + @%p36 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f247, 0fBE2AAAA3; + fma.rn.f32 %f248, %f801, %f56, %f247; + mov.f32 %f249, 0f00000000; + fma.rn.f32 %f802, %f248, %f56, %f249; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f244, 0f3D2AAAA5; + fma.rn.f32 %f245, %f801, %f56, %f244; + mov.f32 %f246, 0fBF000000; + fma.rn.f32 %f802, %f245, %f56, %f246; + +BB0_49: + fma.rn.f32 %f803, %f802, %f800, %f800; + @%p36 bra BB0_51; + + mov.f32 %f250, 0f3F800000; + fma.rn.f32 %f803, %f802, %f56, %f250; + +BB0_51: + and.b32 %r222, %r382, 2; + setp.eq.s32 %p39, %r222, 0; + @%p39 bra BB0_53; + + mov.f32 %f251, 0f00000000; + mov.f32 %f252, 0fBF800000; + fma.rn.f32 %f803, %f803, %f252, %f251; + +BB0_53: + mul.f32 %f261, %f31, %f797; + add.u64 %rd51, %SP, 0; + cvta.to.local.u64 %rd52, %rd51; + mul.f32 %f262, %f261, %f261; + mov.f32 %f263, 0f3F800000; + sub.f32 %f264, %f263, %f262; + mul.f32 %f265, %f31, %f803; + mul.f32 %f266, %f265, %f265; + sub.f32 %f267, %f264, %f266; + mov.f32 %f268, 0f00000000; + max.f32 %f269, %f268, %f267; + sqrt.rn.f32 %f270, %f269; + mul.f32 %f271, %f17, %f265; + mul.f32 %f272, %f18, %f265; + mul.f32 %f273, %f19, %f265; + fma.rn.f32 %f274, %f20, %f261, %f271; + fma.rn.f32 %f275, %f21, %f261, %f272; + fma.rn.f32 %f276, %f22, %f261, %f273; + fma.rn.f32 %f277, %f7, %f270, %f274; + fma.rn.f32 %f278, %f8, %f270, %f275; + fma.rn.f32 %f279, %f9, %f270, %f276; + add.f32 %f280, %f7, %f277; + add.f32 %f281, %f8, %f278; + add.f32 %f282, %f9, %f279; + ld.global.f32 %f283, [shadowSpread]; + mul.f32 %f284, %f283, %f280; + mul.f32 %f285, %f283, %f281; + mul.f32 %f286, %f283, %f282; + sub.f32 %f287, %f284, %f7; + sub.f32 %f288, %f285, %f8; + sub.f32 %f289, %f286, %f9; + mul.f32 %f290, %f288, %f288; + fma.rn.f32 %f291, %f287, %f287, %f290; + fma.rn.f32 %f292, %f289, %f289, %f291; + sqrt.rn.f32 %f293, %f292; + rcp.rn.f32 %f294, %f293; + mul.f32 %f256, %f294, %f287; + mul.f32 %f257, %f294, %f288; + mul.f32 %f258, %f294, %f289; + ld.global.u32 %r226, [imageEnabled]; + and.b32 %r227, %r226, 32; + setp.eq.s32 %p40, %r227, 0; + selp.f32 %f295, 0f3F800000, 0f41200000, %p40; + mul.f32 %f259, %f295, %f29; + mov.u32 %r228, 1065353216; + st.local.u32 [%rd52], %r228; + ld.global.u32 %r223, [root]; + mov.u32 %r224, 1; + mov.f32 %f260, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r223, %f14, %f15, %f16, %f256, %f257, %f258, %r224, %f259, %f260, %rd51, %r100); + // inline asm + ld.local.f32 %f296, [%rd52]; + add.f32 %f805, %f805, %f296; + ld.global.u32 %r358, [samples]; + add.s32 %r361, %r361, 1; + setp.lt.s32 %p41, %r361, %r358; + @%p41 bra BB0_7; + +BB0_54: + add.s32 %r359, %r359, 1; + setp.lt.s32 %p42, %r359, %r358; + @%p42 bra BB0_5; + +BB0_55: + setp.eq.s32 %p43, %r358, 0; + mov.f32 %f807, 0f3F800000; + @%p43 bra BB0_57; + + mul.lo.s32 %r229, %r358, %r358; + cvt.rn.f32.s32 %f298, %r229; + div.rn.f32 %f807, %f805, %f298; + +BB0_57: + mul.f32 %f307, %f12, %f21; + fma.rn.f32 %f308, %f11, %f20, %f307; + fma.rn.f32 %f309, %f13, %f22, %f308; + ld.global.v4.f32 {%f310, %f311, %f312, %f313}, [lightTilingOffset]; + fma.rn.f32 %f303, %f309, %f310, %f312; + mul.f32 %f316, %f12, %f18; + fma.rn.f32 %f317, %f11, %f17, %f316; + fma.rn.f32 %f318, %f13, %f19, %f317; + fma.rn.f32 %f304, %f318, %f311, %f313; + ld.global.u32 %r230, [lightCookie]; + mov.f32 %f306, 0f00000000; + // inline asm + call (%f299, %f300, %f301, %f302), _rt_texture_get_f_id, (%r230, %r99, %f303, %f304, %f306, %f306); + // inline asm + mul.f32 %f73, %f807, %f299; + ld.global.f32 %f321, [directColor]; + mul.f32 %f322, %f321, %f73; + ld.global.f32 %f323, [directColor+4]; + mul.f32 %f324, %f323, %f73; + ld.global.f32 %f325, [directColor+8]; + mul.f32 %f326, %f73, %f325; + cvt.sat.f32.f32 %f327, %f10; + mul.f32 %f74, %f322, %f327; + mul.f32 %f75, %f324, %f327; + mul.f32 %f76, %f326, %f327; + mul.f32 %f328, %f10, 0f40800000; + cvt.sat.f32.f32 %f329, %f328; + mul.f32 %f330, %f322, %f329; + mul.f32 %f331, %f324, %f329; + mul.f32 %f332, %f326, %f329; + mul.f32 %f77, %f330, 0f3E800000; + mul.f32 %f78, %f331, 0f3E800000; + mul.f32 %f79, %f332, 0f3E800000; + ld.global.u32 %r387, [imageEnabled]; + and.b32 %r232, %r387, 8; + setp.eq.s32 %p44, %r232, 0; + @%p44 bra BB0_70; + + cvt.u64.u32 %rd55, %r2; + cvt.u64.u32 %rd56, %r3; + mov.u64 %rd59, image_Mask; + cvta.global.u64 %rd54, %rd59; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r99, %r99, %rd55, %rd56, %rd25, %rd25); + // inline asm + abs.f32 %f81, %f73; + setp.lt.f32 %p45, %f81, 0f00800000; + mul.f32 %f338, %f81, 0f4B800000; + selp.f32 %f339, 0fC3170000, 0fC2FE0000, %p45; + selp.f32 %f340, %f338, %f81, %p45; + mov.b32 %r235, %f340; + and.b32 %r236, %r235, 8388607; + or.b32 %r237, %r236, 1065353216; + mov.b32 %f341, %r237; + shr.u32 %r238, %r235, 23; + cvt.rn.f32.u32 %f342, %r238; + add.f32 %f343, %f339, %f342; + setp.gt.f32 %p46, %f341, 0f3FB504F3; + mul.f32 %f344, %f341, 0f3F000000; + add.f32 %f345, %f343, 0f3F800000; + selp.f32 %f346, %f344, %f341, %p46; + selp.f32 %f347, %f345, %f343, %p46; + add.f32 %f348, %f346, 0fBF800000; + add.f32 %f334, %f346, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f333,%f334; + // inline asm + add.f32 %f349, %f348, %f348; + mul.f32 %f350, %f333, %f349; + mul.f32 %f351, %f350, %f350; + mov.f32 %f352, 0f3C4CAF63; + mov.f32 %f353, 0f3B18F0FE; + fma.rn.f32 %f354, %f353, %f351, %f352; + mov.f32 %f355, 0f3DAAAABD; + fma.rn.f32 %f356, %f354, %f351, %f355; + mul.rn.f32 %f357, %f356, %f351; + mul.rn.f32 %f358, %f357, %f350; + sub.f32 %f359, %f348, %f350; + neg.f32 %f360, %f350; + add.f32 %f361, %f359, %f359; + fma.rn.f32 %f362, %f360, %f348, %f361; + mul.rn.f32 %f363, %f333, %f362; + add.f32 %f364, %f358, %f350; + sub.f32 %f365, %f350, %f364; + add.f32 %f366, %f358, %f365; + add.f32 %f367, %f363, %f366; + add.f32 %f368, %f364, %f367; + sub.f32 %f369, %f364, %f368; + add.f32 %f370, %f367, %f369; + mov.f32 %f371, 0f3F317200; + mul.rn.f32 %f372, %f347, %f371; + mov.f32 %f373, 0f35BFBE8E; + mul.rn.f32 %f374, %f347, %f373; + add.f32 %f375, %f372, %f368; + sub.f32 %f376, %f372, %f375; + add.f32 %f377, %f368, %f376; + add.f32 %f378, %f370, %f377; + add.f32 %f379, %f374, %f378; + add.f32 %f380, %f375, %f379; + sub.f32 %f381, %f375, %f380; + add.f32 %f382, %f379, %f381; + mov.f32 %f383, 0f3EE8BA2E; + mul.rn.f32 %f384, %f383, %f380; + neg.f32 %f385, %f384; + fma.rn.f32 %f386, %f383, %f380, %f385; + fma.rn.f32 %f387, %f383, %f382, %f386; + fma.rn.f32 %f389, %f306, %f380, %f387; + add.rn.f32 %f390, %f384, %f389; + neg.f32 %f391, %f390; + add.rn.f32 %f392, %f384, %f391; + add.rn.f32 %f393, %f392, %f389; + mov.b32 %r239, %f390; + setp.eq.s32 %p47, %r239, 1118925336; + add.s32 %r240, %r239, -1; + mov.b32 %f394, %r240; + add.f32 %f395, %f393, 0f37000000; + selp.f32 %f396, %f394, %f390, %p47; + selp.f32 %f82, %f395, %f393, %p47; + mul.f32 %f397, %f396, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f398, %f397; + mov.f32 %f399, 0fBF317200; + fma.rn.f32 %f400, %f398, %f399, %f396; + mov.f32 %f401, 0fB5BFBE8E; + fma.rn.f32 %f402, %f398, %f401, %f400; + mul.f32 %f403, %f402, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f404, %f403; + add.f32 %f405, %f398, 0f00000000; + ex2.approx.f32 %f406, %f405; + mul.f32 %f407, %f404, %f406; + setp.lt.f32 %p48, %f396, 0fC2D20000; + selp.f32 %f408, 0f00000000, %f407, %p48; + setp.gt.f32 %p49, %f396, 0f42D20000; + selp.f32 %f808, 0f7F800000, %f408, %p49; + setp.eq.f32 %p50, %f808, 0f7F800000; + @%p50 bra BB0_60; + + fma.rn.f32 %f808, %f808, %f82, %f808; + +BB0_60: + mov.f32 %f779, 0f3E68BA2E; + cvt.rzi.f32.f32 %f778, %f779; + fma.rn.f32 %f777, %f778, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f776, %f777; + setp.lt.f32 %p51, %f73, 0f00000000; + setp.eq.f32 %p52, %f776, 0f3F800000; + and.pred %p1, %p51, %p52; + mov.b32 %r241, %f808; + xor.b32 %r242, %r241, -2147483648; + mov.b32 %f409, %r242; + selp.f32 %f810, %f409, %f808, %p1; + setp.eq.f32 %p53, %f73, 0f00000000; + @%p53 bra BB0_63; + bra.uni BB0_61; + +BB0_63: + add.f32 %f412, %f73, %f73; + selp.f32 %f810, %f412, 0f00000000, %p52; + bra.uni BB0_64; + +BB0_128: + mov.u64 %rd200, image_HDR; + cvta.global.u64 %rd195, %rd200; + mov.u32 %r328, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r99, %r328, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f716, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f716;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd194], {%rs98, %rs98, %rs98, %rs99}; + +BB0_129: + ld.global.u32 %r329, [additive]; + setp.eq.s32 %p120, %r329, 0; + @%p120 bra BB0_131; + + mov.u64 %rd213, image_RNM0; + cvta.global.u64 %rd202, %rd213; + mov.u32 %r333, 8; + // inline asm + call (%rd201), _rt_buffer_get_64, (%rd202, %r99, %r333, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs106, %rs107, %rs108, %rs109}, [%rd201]; + // inline asm + { cvt.f32.f16 %f717, %rs106;} + + // inline asm + // inline asm + { cvt.f32.f16 %f718, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f719, %rs108;} + + // inline asm + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd202, %r99, %r333, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f720, %f717, 0f00000000; + add.f32 %f721, %f718, 0f00000000; + add.f32 %f722, %f719, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f722;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f721;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f720;} + + // inline asm + mov.u16 %rs110, 0; + st.v4.u16 [%rd207], {%rs103, %rs104, %rs105, %rs110}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd220, image_RNM0; + cvta.global.u64 %rd215, %rd220; + mov.u32 %r335, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r99, %r335, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f723, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f723;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd214], {%rs111, %rs111, %rs111, %rs112}; + +BB0_132: + ld.global.u32 %r336, [additive]; + setp.eq.s32 %p121, %r336, 0; + @%p121 bra BB0_134; + + mov.u64 %rd233, image_RNM1; + cvta.global.u64 %rd222, %rd233; + mov.u32 %r340, 8; + // inline asm + call (%rd221), _rt_buffer_get_64, (%rd222, %r99, %r340, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs119, %rs120, %rs121, %rs122}, [%rd221]; + // inline asm + { cvt.f32.f16 %f724, %rs119;} + + // inline asm + // inline asm + { cvt.f32.f16 %f725, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f726, %rs121;} + + // inline asm + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd222, %r99, %r340, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f727, %f724, 0f00000000; + add.f32 %f728, %f725, 0f00000000; + add.f32 %f729, %f726, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs118, %f729;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f728;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs116, %f727;} + + // inline asm + mov.u16 %rs123, 0; + st.v4.u16 [%rd227], {%rs116, %rs117, %rs118, %rs123}; + bra.uni BB0_135; + +BB0_134: + mov.u64 %rd240, image_RNM1; + cvta.global.u64 %rd235, %rd240; + mov.u32 %r342, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r99, %r342, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f730, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f730;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd234], {%rs124, %rs124, %rs124, %rs125}; + +BB0_135: + ld.global.u32 %r343, [additive]; + setp.eq.s32 %p122, %r343, 0; + @%p122 bra BB0_137; + + mov.u64 %rd253, image_RNM2; + cvta.global.u64 %rd242, %rd253; + mov.u32 %r347, 8; + // inline asm + call (%rd241), _rt_buffer_get_64, (%rd242, %r99, %r347, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs132, %rs133, %rs134, %rs135}, [%rd241]; + // inline asm + { cvt.f32.f16 %f731, %rs132;} + + // inline asm + // inline asm + { cvt.f32.f16 %f732, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f733, %rs134;} + + // inline asm + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd242, %r99, %r347, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f734, %f731, 0f00000000; + add.f32 %f735, %f732, 0f00000000; + add.f32 %f736, %f733, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs131, %f736;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f735;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs129, %f734;} + + // inline asm + mov.u16 %rs136, 0; + st.v4.u16 [%rd247], {%rs129, %rs130, %rs131, %rs136}; + bra.uni BB0_138; + +BB0_137: + mov.u64 %rd260, image_RNM2; + cvta.global.u64 %rd255, %rd260; + mov.u32 %r349, 8; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r99, %r349, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f737, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f737;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd254], {%rs137, %rs137, %rs137, %rs138}; + +BB0_138: + ld.global.u32 %r350, [additive]; + setp.eq.s32 %p123, %r350, 0; + @%p123 bra BB0_140; + + mov.u64 %rd273, image_RNM3; + cvta.global.u64 %rd262, %rd273; + mov.u32 %r354, 8; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r99, %r354, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs145, %rs146, %rs147, %rs148}, [%rd261]; + // inline asm + { cvt.f32.f16 %f738, %rs145;} + + // inline asm + // inline asm + { cvt.f32.f16 %f739, %rs146;} + + // inline asm + // inline asm + { cvt.f32.f16 %f740, %rs147;} + + // inline asm + // inline asm + call (%rd267), _rt_buffer_get_64, (%rd262, %r99, %r354, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f741, %f738, 0f00000000; + add.f32 %f742, %f739, 0f00000000; + add.f32 %f743, %f740, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs144, %f743;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs143, %f742;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs142, %f741;} + + // inline asm + mov.u16 %rs149, 0; + st.v4.u16 [%rd267], {%rs142, %rs143, %rs144, %rs149}; + bra.uni BB0_141; + +BB0_140: + mov.u64 %rd280, image_RNM3; + cvta.global.u64 %rd275, %rd280; + mov.u32 %r356, 8; + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd275, %r99, %r356, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f744, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f744;} + + // inline asm + mov.u16 %rs151, 0; + st.v4.u16 [%rd274], {%rs150, %rs150, %rs150, %rs151}; + bra.uni BB0_141; + +BB0_61: + setp.geu.f32 %p54, %f73, 0f00000000; + @%p54 bra BB0_64; + + mov.f32 %f784, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f411, %f784; + setp.neu.f32 %p55, %f411, 0f3EE8BA2E; + selp.f32 %f810, 0f7FFFFFFF, %f810, %p55; + +BB0_64: + abs.f32 %f780, %f73; + add.f32 %f413, %f780, 0f3EE8BA2E; + mov.b32 %r243, %f413; + setp.lt.s32 %p57, %r243, 2139095040; + @%p57 bra BB0_69; + + abs.f32 %f782, %f73; + setp.gtu.f32 %p58, %f782, 0f7F800000; + @%p58 bra BB0_68; + bra.uni BB0_66; + +BB0_68: + add.f32 %f810, %f73, 0f3EE8BA2E; + bra.uni BB0_69; + +BB0_66: + abs.f32 %f783, %f73; + setp.neu.f32 %p59, %f783, 0f7F800000; + @%p59 bra BB0_69; + + selp.f32 %f810, 0fFF800000, 0f7F800000, %p1; + +BB0_69: + mul.f32 %f414, %f810, 0f437F0000; + setp.eq.f32 %p60, %f73, 0f3F800000; + selp.f32 %f415, 0f437F0000, %f414, %p60; + cvt.rzi.u32.f32 %r244, %f415; + cvt.u16.u32 %rs14, %r244; + mov.u16 %rs15, 255; + st.v2.u8 [%rd53], {%rs14, %rs15}; + ld.global.u32 %r387, [imageEnabled]; + +BB0_70: + and.b32 %r245, %r387, 1; + setp.eq.b32 %p61, %r245, 1; + @!%p61 bra BB0_105; + bra.uni BB0_71; + +BB0_71: + mov.f32 %f781, 0f00000000; + abs.f32 %f94, %f74; + setp.lt.f32 %p62, %f94, 0f00800000; + mul.f32 %f421, %f94, 0f4B800000; + selp.f32 %f422, 0fC3170000, 0fC2FE0000, %p62; + selp.f32 %f423, %f421, %f94, %p62; + mov.b32 %r246, %f423; + and.b32 %r247, %r246, 8388607; + or.b32 %r248, %r247, 1065353216; + mov.b32 %f424, %r248; + shr.u32 %r249, %r246, 23; + cvt.rn.f32.u32 %f425, %r249; + add.f32 %f426, %f422, %f425; + setp.gt.f32 %p63, %f424, 0f3FB504F3; + mul.f32 %f427, %f424, 0f3F000000; + add.f32 %f428, %f426, 0f3F800000; + selp.f32 %f429, %f427, %f424, %p63; + selp.f32 %f430, %f428, %f426, %p63; + add.f32 %f431, %f429, 0fBF800000; + add.f32 %f417, %f429, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f416,%f417; + // inline asm + add.f32 %f432, %f431, %f431; + mul.f32 %f433, %f416, %f432; + mul.f32 %f434, %f433, %f433; + mov.f32 %f435, 0f3C4CAF63; + mov.f32 %f436, 0f3B18F0FE; + fma.rn.f32 %f437, %f436, %f434, %f435; + mov.f32 %f438, 0f3DAAAABD; + fma.rn.f32 %f439, %f437, %f434, %f438; + mul.rn.f32 %f440, %f439, %f434; + mul.rn.f32 %f441, %f440, %f433; + sub.f32 %f442, %f431, %f433; + neg.f32 %f443, %f433; + add.f32 %f444, %f442, %f442; + fma.rn.f32 %f445, %f443, %f431, %f444; + mul.rn.f32 %f446, %f416, %f445; + add.f32 %f447, %f441, %f433; + sub.f32 %f448, %f433, %f447; + add.f32 %f449, %f441, %f448; + add.f32 %f450, %f446, %f449; + add.f32 %f451, %f447, %f450; + sub.f32 %f452, %f447, %f451; + add.f32 %f453, %f450, %f452; + mov.f32 %f454, 0f3F317200; + mul.rn.f32 %f455, %f430, %f454; + mov.f32 %f456, 0f35BFBE8E; + mul.rn.f32 %f457, %f430, %f456; + add.f32 %f458, %f455, %f451; + sub.f32 %f459, %f455, %f458; + add.f32 %f460, %f451, %f459; + add.f32 %f461, %f453, %f460; + add.f32 %f462, %f457, %f461; + add.f32 %f463, %f458, %f462; + sub.f32 %f464, %f458, %f463; + add.f32 %f465, %f462, %f464; + mov.f32 %f466, 0f3EE66666; + mul.rn.f32 %f467, %f466, %f463; + neg.f32 %f468, %f467; + fma.rn.f32 %f469, %f466, %f463, %f468; + fma.rn.f32 %f470, %f466, %f465, %f469; + fma.rn.f32 %f472, %f781, %f463, %f470; + add.rn.f32 %f473, %f467, %f472; + neg.f32 %f474, %f473; + add.rn.f32 %f475, %f467, %f474; + add.rn.f32 %f476, %f475, %f472; + mov.b32 %r250, %f473; + setp.eq.s32 %p64, %r250, 1118925336; + add.s32 %r251, %r250, -1; + mov.b32 %f477, %r251; + add.f32 %f478, %f476, 0f37000000; + selp.f32 %f479, %f477, %f473, %p64; + selp.f32 %f95, %f478, %f476, %p64; + mul.f32 %f480, %f479, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f481, %f480; + mov.f32 %f482, 0fBF317200; + fma.rn.f32 %f483, %f481, %f482, %f479; + mov.f32 %f484, 0fB5BFBE8E; + fma.rn.f32 %f485, %f481, %f484, %f483; + mul.f32 %f486, %f485, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f487, %f486; + add.f32 %f488, %f481, 0f00000000; + ex2.approx.f32 %f489, %f488; + mul.f32 %f490, %f487, %f489; + setp.lt.f32 %p65, %f479, 0fC2D20000; + selp.f32 %f491, 0f00000000, %f490, %p65; + setp.gt.f32 %p66, %f479, 0f42D20000; + selp.f32 %f811, 0f7F800000, %f491, %p66; + setp.eq.f32 %p67, %f811, 0f7F800000; + @%p67 bra BB0_73; + + fma.rn.f32 %f811, %f811, %f95, %f811; + +BB0_73: + mov.f32 %f748, 0f3E666666; + cvt.rzi.f32.f32 %f747, %f748; + fma.rn.f32 %f746, %f747, 0fC0000000, 0f3EE66666; + abs.f32 %f745, %f746; + setp.lt.f32 %p68, %f74, 0f00000000; + setp.eq.f32 %p69, %f745, 0f3F800000; + and.pred %p2, %p68, %p69; + mov.b32 %r252, %f811; + xor.b32 %r253, %r252, -2147483648; + mov.b32 %f492, %r253; + selp.f32 %f813, %f492, %f811, %p2; + setp.eq.f32 %p70, %f74, 0f00000000; + @%p70 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f495, %f74, %f74; + selp.f32 %f813, %f495, 0f00000000, %p69; + bra.uni BB0_77; + +BB0_74: + setp.geu.f32 %p71, %f74, 0f00000000; + @%p71 bra BB0_77; + + mov.f32 %f772, 0f3EE66666; + cvt.rzi.f32.f32 %f494, %f772; + setp.neu.f32 %p72, %f494, 0f3EE66666; + selp.f32 %f813, 0f7FFFFFFF, %f813, %p72; + +BB0_77: + abs.f32 %f749, %f74; + add.f32 %f496, %f749, 0f3EE66666; + mov.b32 %r254, %f496; + setp.lt.s32 %p74, %r254, 2139095040; + @%p74 bra BB0_82; + + abs.f32 %f770, %f74; + setp.gtu.f32 %p75, %f770, 0f7F800000; + @%p75 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f813, %f74, 0f3EE66666; + bra.uni BB0_82; + +BB0_79: + abs.f32 %f771, %f74; + setp.neu.f32 %p76, %f771, 0f7F800000; + @%p76 bra BB0_82; + + selp.f32 %f813, 0fFF800000, 0f7F800000, %p2; + +BB0_82: + mov.f32 %f758, 0fB5BFBE8E; + mov.f32 %f757, 0fBF317200; + mov.f32 %f756, 0f35BFBE8E; + mov.f32 %f755, 0f3F317200; + mov.f32 %f754, 0f3DAAAABD; + mov.f32 %f753, 0f3C4CAF63; + mov.f32 %f752, 0f3B18F0FE; + mov.f32 %f751, 0f3EE66666; + mov.f32 %f750, 0f00000000; + setp.eq.f32 %p77, %f74, 0f3F800000; + selp.f32 %f106, 0f3F800000, %f813, %p77; + abs.f32 %f107, %f75; + setp.lt.f32 %p78, %f107, 0f00800000; + mul.f32 %f499, %f107, 0f4B800000; + selp.f32 %f500, 0fC3170000, 0fC2FE0000, %p78; + selp.f32 %f501, %f499, %f107, %p78; + mov.b32 %r255, %f501; + and.b32 %r256, %r255, 8388607; + or.b32 %r257, %r256, 1065353216; + mov.b32 %f502, %r257; + shr.u32 %r258, %r255, 23; + cvt.rn.f32.u32 %f503, %r258; + add.f32 %f504, %f500, %f503; + setp.gt.f32 %p79, %f502, 0f3FB504F3; + mul.f32 %f505, %f502, 0f3F000000; + add.f32 %f506, %f504, 0f3F800000; + selp.f32 %f507, %f505, %f502, %p79; + selp.f32 %f508, %f506, %f504, %p79; + add.f32 %f509, %f507, 0fBF800000; + add.f32 %f498, %f507, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f497,%f498; + // inline asm + add.f32 %f510, %f509, %f509; + mul.f32 %f511, %f497, %f510; + mul.f32 %f512, %f511, %f511; + fma.rn.f32 %f515, %f752, %f512, %f753; + fma.rn.f32 %f517, %f515, %f512, %f754; + mul.rn.f32 %f518, %f517, %f512; + mul.rn.f32 %f519, %f518, %f511; + sub.f32 %f520, %f509, %f511; + neg.f32 %f521, %f511; + add.f32 %f522, %f520, %f520; + fma.rn.f32 %f523, %f521, %f509, %f522; + mul.rn.f32 %f524, %f497, %f523; + add.f32 %f525, %f519, %f511; + sub.f32 %f526, %f511, %f525; + add.f32 %f527, %f519, %f526; + add.f32 %f528, %f524, %f527; + add.f32 %f529, %f525, %f528; + sub.f32 %f530, %f525, %f529; + add.f32 %f531, %f528, %f530; + mul.rn.f32 %f533, %f508, %f755; + mul.rn.f32 %f535, %f508, %f756; + add.f32 %f536, %f533, %f529; + sub.f32 %f537, %f533, %f536; + add.f32 %f538, %f529, %f537; + add.f32 %f539, %f531, %f538; + add.f32 %f540, %f535, %f539; + add.f32 %f541, %f536, %f540; + sub.f32 %f542, %f536, %f541; + add.f32 %f543, %f540, %f542; + mul.rn.f32 %f545, %f751, %f541; + neg.f32 %f546, %f545; + fma.rn.f32 %f547, %f751, %f541, %f546; + fma.rn.f32 %f548, %f751, %f543, %f547; + fma.rn.f32 %f550, %f750, %f541, %f548; + add.rn.f32 %f551, %f545, %f550; + neg.f32 %f552, %f551; + add.rn.f32 %f553, %f545, %f552; + add.rn.f32 %f554, %f553, %f550; + mov.b32 %r259, %f551; + setp.eq.s32 %p80, %r259, 1118925336; + add.s32 %r260, %r259, -1; + mov.b32 %f555, %r260; + add.f32 %f556, %f554, 0f37000000; + selp.f32 %f557, %f555, %f551, %p80; + selp.f32 %f108, %f556, %f554, %p80; + mul.f32 %f558, %f557, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f559, %f558; + fma.rn.f32 %f561, %f559, %f757, %f557; + fma.rn.f32 %f563, %f559, %f758, %f561; + mul.f32 %f564, %f563, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f565, %f564; + add.f32 %f566, %f559, 0f00000000; + ex2.approx.f32 %f567, %f566; + mul.f32 %f568, %f565, %f567; + setp.lt.f32 %p81, %f557, 0fC2D20000; + selp.f32 %f569, 0f00000000, %f568, %p81; + setp.gt.f32 %p82, %f557, 0f42D20000; + selp.f32 %f814, 0f7F800000, %f569, %p82; + setp.eq.f32 %p83, %f814, 0f7F800000; + @%p83 bra BB0_84; + + fma.rn.f32 %f814, %f814, %f108, %f814; + +BB0_84: + setp.lt.f32 %p84, %f75, 0f00000000; + and.pred %p3, %p84, %p69; + mov.b32 %r261, %f814; + xor.b32 %r262, %r261, -2147483648; + mov.b32 %f570, %r262; + selp.f32 %f816, %f570, %f814, %p3; + setp.eq.f32 %p86, %f75, 0f00000000; + @%p86 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f573, %f75, %f75; + selp.f32 %f816, %f573, 0f00000000, %p69; + bra.uni BB0_88; + +BB0_85: + setp.geu.f32 %p87, %f75, 0f00000000; + @%p87 bra BB0_88; + + mov.f32 %f769, 0f3EE66666; + cvt.rzi.f32.f32 %f572, %f769; + setp.neu.f32 %p88, %f572, 0f3EE66666; + selp.f32 %f816, 0f7FFFFFFF, %f816, %p88; + +BB0_88: + abs.f32 %f773, %f75; + add.f32 %f574, %f773, 0f3EE66666; + mov.b32 %r263, %f574; + setp.lt.s32 %p90, %r263, 2139095040; + @%p90 bra BB0_93; + + abs.f32 %f774, %f75; + setp.gtu.f32 %p91, %f774, 0f7F800000; + @%p91 bra BB0_92; + bra.uni BB0_90; + +BB0_92: + add.f32 %f816, %f75, 0f3EE66666; + bra.uni BB0_93; + +BB0_90: + abs.f32 %f775, %f75; + setp.neu.f32 %p92, %f775, 0f7F800000; + @%p92 bra BB0_93; + + selp.f32 %f816, 0fFF800000, 0f7F800000, %p3; + +BB0_93: + mov.f32 %f767, 0fB5BFBE8E; + mov.f32 %f766, 0fBF317200; + mov.f32 %f765, 0f35BFBE8E; + mov.f32 %f764, 0f3F317200; + mov.f32 %f763, 0f3DAAAABD; + mov.f32 %f762, 0f3C4CAF63; + mov.f32 %f761, 0f3B18F0FE; + mov.f32 %f760, 0f3EE66666; + mov.f32 %f759, 0f00000000; + setp.eq.f32 %p93, %f75, 0f3F800000; + selp.f32 %f119, 0f3F800000, %f816, %p93; + abs.f32 %f120, %f76; + setp.lt.f32 %p94, %f120, 0f00800000; + mul.f32 %f577, %f120, 0f4B800000; + selp.f32 %f578, 0fC3170000, 0fC2FE0000, %p94; + selp.f32 %f579, %f577, %f120, %p94; + mov.b32 %r264, %f579; + and.b32 %r265, %r264, 8388607; + or.b32 %r266, %r265, 1065353216; + mov.b32 %f580, %r266; + shr.u32 %r267, %r264, 23; + cvt.rn.f32.u32 %f581, %r267; + add.f32 %f582, %f578, %f581; + setp.gt.f32 %p95, %f580, 0f3FB504F3; + mul.f32 %f583, %f580, 0f3F000000; + add.f32 %f584, %f582, 0f3F800000; + selp.f32 %f585, %f583, %f580, %p95; + selp.f32 %f586, %f584, %f582, %p95; + add.f32 %f587, %f585, 0fBF800000; + add.f32 %f576, %f585, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f575,%f576; + // inline asm + add.f32 %f588, %f587, %f587; + mul.f32 %f589, %f575, %f588; + mul.f32 %f590, %f589, %f589; + fma.rn.f32 %f593, %f761, %f590, %f762; + fma.rn.f32 %f595, %f593, %f590, %f763; + mul.rn.f32 %f596, %f595, %f590; + mul.rn.f32 %f597, %f596, %f589; + sub.f32 %f598, %f587, %f589; + neg.f32 %f599, %f589; + add.f32 %f600, %f598, %f598; + fma.rn.f32 %f601, %f599, %f587, %f600; + mul.rn.f32 %f602, %f575, %f601; + add.f32 %f603, %f597, %f589; + sub.f32 %f604, %f589, %f603; + add.f32 %f605, %f597, %f604; + add.f32 %f606, %f602, %f605; + add.f32 %f607, %f603, %f606; + sub.f32 %f608, %f603, %f607; + add.f32 %f609, %f606, %f608; + mul.rn.f32 %f611, %f586, %f764; + mul.rn.f32 %f613, %f586, %f765; + add.f32 %f614, %f611, %f607; + sub.f32 %f615, %f611, %f614; + add.f32 %f616, %f607, %f615; + add.f32 %f617, %f609, %f616; + add.f32 %f618, %f613, %f617; + add.f32 %f619, %f614, %f618; + sub.f32 %f620, %f614, %f619; + add.f32 %f621, %f618, %f620; + mul.rn.f32 %f623, %f760, %f619; + neg.f32 %f624, %f623; + fma.rn.f32 %f625, %f760, %f619, %f624; + fma.rn.f32 %f626, %f760, %f621, %f625; + fma.rn.f32 %f628, %f759, %f619, %f626; + add.rn.f32 %f629, %f623, %f628; + neg.f32 %f630, %f629; + add.rn.f32 %f631, %f623, %f630; + add.rn.f32 %f632, %f631, %f628; + mov.b32 %r268, %f629; + setp.eq.s32 %p96, %r268, 1118925336; + add.s32 %r269, %r268, -1; + mov.b32 %f633, %r269; + add.f32 %f634, %f632, 0f37000000; + selp.f32 %f635, %f633, %f629, %p96; + selp.f32 %f121, %f634, %f632, %p96; + mul.f32 %f636, %f635, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f637, %f636; + fma.rn.f32 %f639, %f637, %f766, %f635; + fma.rn.f32 %f641, %f637, %f767, %f639; + mul.f32 %f642, %f641, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f643, %f642; + add.f32 %f644, %f637, 0f00000000; + ex2.approx.f32 %f645, %f644; + mul.f32 %f646, %f643, %f645; + setp.lt.f32 %p97, %f635, 0fC2D20000; + selp.f32 %f647, 0f00000000, %f646, %p97; + setp.gt.f32 %p98, %f635, 0f42D20000; + selp.f32 %f817, 0f7F800000, %f647, %p98; + setp.eq.f32 %p99, %f817, 0f7F800000; + @%p99 bra BB0_95; + + fma.rn.f32 %f817, %f817, %f121, %f817; + +BB0_95: + setp.lt.f32 %p100, %f76, 0f00000000; + and.pred %p4, %p100, %p69; + mov.b32 %r270, %f817; + xor.b32 %r271, %r270, -2147483648; + mov.b32 %f648, %r271; + selp.f32 %f819, %f648, %f817, %p4; + setp.eq.f32 %p102, %f76, 0f00000000; + @%p102 bra BB0_98; + bra.uni BB0_96; + +BB0_98: + add.f32 %f651, %f76, %f76; + selp.f32 %f819, %f651, 0f00000000, %p69; + bra.uni BB0_99; + +BB0_96: + setp.geu.f32 %p103, %f76, 0f00000000; + @%p103 bra BB0_99; + + mov.f32 %f768, 0f3EE66666; + cvt.rzi.f32.f32 %f650, %f768; + setp.neu.f32 %p104, %f650, 0f3EE66666; + selp.f32 %f819, 0f7FFFFFFF, %f819, %p104; + +BB0_99: + abs.f32 %f785, %f76; + add.f32 %f652, %f785, 0f3EE66666; + mov.b32 %r272, %f652; + setp.lt.s32 %p106, %r272, 2139095040; + @%p106 bra BB0_104; + + abs.f32 %f786, %f76; + setp.gtu.f32 %p107, %f786, 0f7F800000; + @%p107 bra BB0_103; + bra.uni BB0_101; + +BB0_103: + add.f32 %f819, %f76, 0f3EE66666; + bra.uni BB0_104; + +BB0_101: + abs.f32 %f787, %f76; + setp.neu.f32 %p108, %f787, 0f7F800000; + @%p108 bra BB0_104; + + selp.f32 %f819, 0fFF800000, 0f7F800000, %p4; + +BB0_104: + mov.u32 %r357, 4; + setp.eq.f32 %p109, %f76, 0f3F800000; + selp.f32 %f653, 0f3F800000, %f819, %p109; + cvt.u64.u32 %rd63, %r3; + cvt.u64.u32 %rd62, %r2; + mov.u64 %rd66, image; + cvta.global.u64 %rd61, %rd66; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r99, %r357, %rd62, %rd63, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f654, %f653; + mul.f32 %f655, %f654, 0f437FFD71; + cvt.rzi.u32.f32 %r275, %f655; + cvt.sat.f32.f32 %f656, %f119; + mul.f32 %f657, %f656, 0f437FFD71; + cvt.rzi.u32.f32 %r276, %f657; + cvt.sat.f32.f32 %f658, %f106; + mul.f32 %f659, %f658, 0f437FFD71; + cvt.rzi.u32.f32 %r277, %f659; + cvt.u16.u32 %rs16, %r275; + cvt.u16.u32 %rs17, %r277; + cvt.u16.u32 %rs18, %r276; + mov.u16 %rs19, 255; + st.v4.u8 [%rd60], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r387, [imageEnabled]; + +BB0_105: + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + and.b32 %r278, %r387, 4; + setp.eq.s32 %p110, %r278, 0; + @%p110 bra BB0_109; + + ld.global.u32 %r279, [additive]; + setp.eq.s32 %p111, %r279, 0; + mov.f32 %f660, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs20, %f660;} + + // inline asm + @%p111 bra BB0_108; + + mov.u64 %rd79, image_HDR; + cvta.global.u64 %rd68, %rd79; + mov.u32 %r283, 8; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r99, %r283, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd67]; + // inline asm + { cvt.f32.f16 %f661, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f662, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f663, %rs29;} + + // inline asm + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd68, %r99, %r283, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f664, %f74, %f661; + add.f32 %f665, %f75, %f662; + add.f32 %f666, %f76, %f663; + // inline asm + { cvt.rn.f16.f32 %rs26, %f666;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f665;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f664;} + + // inline asm + st.v4.u16 [%rd73], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_109; + +BB0_108: + mov.u64 %rd86, image_HDR; + cvta.global.u64 %rd81, %rd86; + mov.u32 %r285, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r99, %r285, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f76;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f75;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f74;} + + // inline asm + st.v4.u16 [%rd80], {%rs31, %rs32, %rs33, %rs20}; + +BB0_109: + ld.global.u32 %r286, [additive]; + setp.eq.s32 %p112, %r286, 0; + mov.f32 %f670, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f670;} + + // inline asm + @%p112 bra BB0_111; + + mov.u64 %rd99, image_RNM0; + cvta.global.u64 %rd88, %rd99; + mov.u32 %r290, 8; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r99, %r290, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd87]; + // inline asm + { cvt.f32.f16 %f671, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f672, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f673, %rs43;} + + // inline asm + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd88, %r99, %r290, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f674, %f77, %f671; + add.f32 %f675, %f78, %f672; + add.f32 %f676, %f79, %f673; + // inline asm + { cvt.rn.f16.f32 %rs40, %f676;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f675;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f674;} + + // inline asm + st.v4.u16 [%rd93], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_112; + +BB0_111: + mov.u64 %rd106, image_RNM0; + cvta.global.u64 %rd101, %rd106; + mov.u32 %r292, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r99, %r292, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f79;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f78;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f77;} + + // inline asm + st.v4.u16 [%rd100], {%rs45, %rs46, %rs47, %rs34}; + +BB0_112: + ld.global.f32 %f681, [directDir]; + fma.rn.f32 %f132, %f681, 0fBF000000, 0f3F000000; + ld.global.f32 %f682, [directDir+4]; + fma.rn.f32 %f133, %f682, 0fBF000000, 0f3F000000; + ld.global.f32 %f683, [directDir+8]; + fma.rn.f32 %f134, %f683, 0fBF000000, 0f3F000000; + ld.global.u32 %r293, [additive]; + setp.eq.s32 %p113, %r293, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f670;} + + // inline asm + @%p113 bra BB0_114; + + mov.u64 %rd119, image_RNM1; + cvta.global.u64 %rd108, %rd119; + mov.u32 %r297, 8; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r99, %r297, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd107]; + // inline asm + { cvt.f32.f16 %f684, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f685, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f686, %rs57;} + + // inline asm + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd108, %r99, %r297, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f687, %f132, %f684; + add.f32 %f688, %f132, %f685; + add.f32 %f689, %f132, %f686; + // inline asm + { cvt.rn.f16.f32 %rs54, %f689;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f688;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f687;} + + // inline asm + st.v4.u16 [%rd113], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd126, image_RNM1; + cvta.global.u64 %rd121, %rd126; + mov.u32 %r299, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r99, %r299, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f132;} + + // inline asm + st.v4.u16 [%rd120], {%rs59, %rs59, %rs59, %rs48}; + +BB0_115: + ld.global.u32 %r300, [additive]; + setp.eq.s32 %p114, %r300, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f670;} + + // inline asm + @%p114 bra BB0_117; + + mov.u64 %rd139, image_RNM2; + cvta.global.u64 %rd128, %rd139; + mov.u32 %r304, 8; + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd128, %r99, %r304, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd127]; + // inline asm + { cvt.f32.f16 %f692, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f693, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f694, %rs69;} + + // inline asm + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd128, %r99, %r304, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f695, %f133, %f692; + add.f32 %f696, %f133, %f693; + add.f32 %f697, %f133, %f694; + // inline asm + { cvt.rn.f16.f32 %rs66, %f697;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f696;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f695;} + + // inline asm + st.v4.u16 [%rd133], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd146, image_RNM2; + cvta.global.u64 %rd141, %rd146; + mov.u32 %r306, 8; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r99, %r306, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f133;} + + // inline asm + st.v4.u16 [%rd140], {%rs71, %rs71, %rs71, %rs60}; + +BB0_118: + ld.global.u32 %r307, [additive]; + setp.eq.s32 %p115, %r307, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f670;} + + // inline asm + @%p115 bra BB0_120; + + mov.u64 %rd159, image_RNM3; + cvta.global.u64 %rd148, %rd159; + mov.u32 %r311, 8; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r99, %r311, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd147]; + // inline asm + { cvt.f32.f16 %f700, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f701, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f702, %rs81;} + + // inline asm + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd148, %r99, %r311, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f703, %f134, %f700; + add.f32 %f704, %f134, %f701; + add.f32 %f705, %f134, %f702; + // inline asm + { cvt.rn.f16.f32 %rs78, %f705;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f704;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f703;} + + // inline asm + st.v4.u16 [%rd153], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_141; + +BB0_120: + mov.u64 %rd166, image_RNM3; + cvta.global.u64 %rd161, %rd166; + mov.u32 %r313, 8; + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd161, %r99, %r313, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f134;} + + // inline asm + st.v4.u16 [%rd160], {%rs83, %rs83, %rs83, %rs72}; + +BB0_141: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowSH.ptx.meta new file mode 100644 index 00000000..0c5373d9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunCloudShadowSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e4243e3a90749dd4ca096a3e65dea571 +timeCreated: 1581075098 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunProbeSH.ptx new file mode 100644 index 00000000..1096163d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunProbeSH.ptx @@ -0,0 +1,2107 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 directDir[12]; +.global .align 4 .b8 directColor[12]; +.global .align 4 .f32 shadowSpread; +.global .align 4 .u32 samples; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9directDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11directColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12shadowSpreadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9directDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11directColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12shadowSpreadE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9directDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11directColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12shadowSpreadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9directDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11directColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12shadowSpreadE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9directDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11directColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12shadowSpreadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<124>; + .reg .b16 %rs<152>; + .reg .f32 %f<791>; + .reg .b32 %r<388>; + .reg .b64 %rd<286>; + + + mov.u64 %rd285, __local_depot0; + cvta.local.u64 %SP, %rd285; + ld.global.v2.u32 {%r101, %r102}, [pixelID]; + cvt.u64.u32 %rd22, %r101; + cvt.u64.u32 %rd23, %r102; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r99, 2; + mov.u32 %r100, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r99, %r100, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r1, [%rd20]; + shr.u32 %r105, %r1, 16; + cvt.u16.u32 %rs1, %r105; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r1; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p5, %rs9, 0; + mov.f32 %f759, 0f00000000; + mov.f32 %f760, %f759; + mov.f32 %f761, %f759; + @%p5 bra BB0_2; + + ld.u8 %rs10, [%rd20+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f134, %rs12; + div.rn.f32 %f135, %f134, 0f437F0000; + fma.rn.f32 %f136, %f135, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f137, %rs10; + div.rn.f32 %f138, %f137, 0f437F0000; + fma.rn.f32 %f139, %f138, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f140, %rs7; + div.rn.f32 %f141, %f140, 0f437F0000; + fma.rn.f32 %f142, %f141, 0f40000000, 0fBF800000; + mul.f32 %f143, %f139, %f139; + fma.rn.f32 %f144, %f136, %f136, %f143; + fma.rn.f32 %f145, %f142, %f142, %f144; + sqrt.rn.f32 %f146, %f145; + rcp.rn.f32 %f147, %f146; + mul.f32 %f759, %f136, %f147; + mul.f32 %f760, %f139, %f147; + mul.f32 %f761, %f142, %f147; + +BB0_2: + ld.global.v2.u32 {%r106, %r107}, [pixelID]; + ld.global.v2.u32 {%r109, %r110}, [tileInfo]; + add.s32 %r2, %r106, %r109; + add.s32 %r3, %r107, %r110; + setp.eq.f32 %p6, %f760, 0f00000000; + setp.eq.f32 %p7, %f759, 0f00000000; + and.pred %p8, %p7, %p6; + setp.eq.f32 %p9, %f761, 0f00000000; + and.pred %p10, %p8, %p9; + @%p10 bra BB0_121; + bra.uni BB0_3; + +BB0_121: + ld.global.u32 %r387, [imageEnabled]; + and.b32 %r312, %r387, 1; + setp.eq.b32 %p116, %r312, 1; + @!%p116 bra BB0_123; + bra.uni BB0_122; + +BB0_122: + cvt.u64.u32 %rd169, %r2; + cvt.u64.u32 %rd170, %r3; + mov.u64 %rd173, image; + cvta.global.u64 %rd168, %rd173; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r99, %r100, %rd169, %rd170, %rd25, %rd25); + // inline asm + mov.u16 %rs84, 0; + st.v4.u8 [%rd167], {%rs84, %rs84, %rs84, %rs84}; + ld.global.u32 %r387, [imageEnabled]; + +BB0_123: + and.b32 %r315, %r387, 8; + setp.eq.s32 %p117, %r315, 0; + @%p117 bra BB0_125; + + cvt.u64.u32 %rd177, %r3; + cvt.u64.u32 %rd176, %r2; + mov.u64 %rd180, image_Mask; + cvta.global.u64 %rd175, %rd180; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r99, %r99, %rd176, %rd177, %rd25, %rd25); + // inline asm + mov.f32 %f681, 0f00000000; + cvt.rzi.u32.f32 %r318, %f681; + cvt.u16.u32 %rs85, %r318; + mov.u16 %rs86, 0; + st.v2.u8 [%rd174], {%rs85, %rs86}; + ld.global.u32 %r387, [imageEnabled]; + +BB0_125: + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + and.b32 %r319, %r387, 4; + setp.eq.s32 %p118, %r319, 0; + @%p118 bra BB0_129; + + ld.global.u32 %r320, [additive]; + setp.eq.s32 %p119, %r320, 0; + @%p119 bra BB0_128; + + mov.u64 %rd193, image_HDR; + cvta.global.u64 %rd182, %rd193; + mov.u32 %r324, 8; + // inline asm + call (%rd181), _rt_buffer_get_64, (%rd182, %r99, %r324, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd181]; + // inline asm + { cvt.f32.f16 %f682, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f683, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f684, %rs95;} + + // inline asm + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd182, %r99, %r324, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f685, %f682, 0f00000000; + add.f32 %f686, %f683, 0f00000000; + add.f32 %f687, %f684, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs92, %f687;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f686;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f685;} + + // inline asm + mov.u16 %rs97, 0; + st.v4.u16 [%rd187], {%rs90, %rs91, %rs92, %rs97}; + bra.uni BB0_129; + +BB0_3: + ld.global.f32 %f9, [directDir+8]; + ld.global.f32 %f8, [directDir+4]; + ld.global.f32 %f7, [directDir]; + mul.f32 %f149, %f759, %f7; + mul.f32 %f150, %f760, %f8; + neg.f32 %f151, %f150; + sub.f32 %f152, %f151, %f149; + mul.f32 %f153, %f761, %f9; + sub.f32 %f10, %f152, %f153; + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd29, %r118; + cvt.u64.u32 %rd30, %r119; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r115, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r99, %r115, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f154, [%rd27+8]; + ld.f32 %f155, [%rd27+4]; + ld.f32 %f156, [%rd27]; + mul.f32 %f157, %f156, 0f3456BF95; + mul.f32 %f158, %f155, 0f3456BF95; + mul.f32 %f159, %f154, 0f3456BF95; + abs.f32 %f160, %f759; + div.rn.f32 %f161, %f157, %f160; + abs.f32 %f162, %f760; + div.rn.f32 %f163, %f158, %f162; + abs.f32 %f164, %f761; + div.rn.f32 %f165, %f159, %f164; + abs.f32 %f166, %f161; + abs.f32 %f167, %f163; + abs.f32 %f168, %f165; + mov.f32 %f169, 0f38D1B717; + max.f32 %f170, %f166, %f169; + max.f32 %f171, %f167, %f169; + max.f32 %f172, %f168, %f169; + fma.rn.f32 %f11, %f759, %f170, %f156; + fma.rn.f32 %f12, %f760, %f171, %f155; + fma.rn.f32 %f13, %f761, %f172, %f154; + abs.f32 %f173, %f7; + abs.f32 %f174, %f9; + setp.gt.f32 %p11, %f173, %f174; + neg.f32 %f175, %f8; + neg.f32 %f176, %f9; + selp.f32 %f177, %f175, 0f00000000, %p11; + selp.f32 %f178, %f7, %f176, %p11; + selp.f32 %f179, 0f00000000, %f8, %p11; + mul.f32 %f180, %f178, %f178; + fma.rn.f32 %f181, %f177, %f177, %f180; + fma.rn.f32 %f182, %f179, %f179, %f181; + sqrt.rn.f32 %f183, %f182; + rcp.rn.f32 %f184, %f183; + mul.f32 %f14, %f177, %f184; + mul.f32 %f15, %f178, %f184; + mul.f32 %f16, %f179, %f184; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd35, %r122; + cvt.u64.u32 %rd36, %r123; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r99, %r100, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.global.u32 %r356, [samples]; + mov.f32 %f776, 0f00000000; + setp.lt.s32 %p12, %r356, 1; + @%p12 bra BB0_55; + + cvt.rn.f32.s32 %f186, %r356; + rcp.rn.f32 %f17, %f186; + ld.u32 %r382, [%rd33]; + mul.f32 %f18, %f11, 0f3456BF95; + mul.f32 %f19, %f12, 0f3456BF95; + mul.f32 %f20, %f13, 0f3456BF95; + mul.f32 %f187, %f7, %f15; + mul.f32 %f188, %f8, %f14; + sub.f32 %f21, %f188, %f187; + mul.f32 %f189, %f9, %f14; + mul.f32 %f190, %f7, %f16; + sub.f32 %f22, %f190, %f189; + mul.f32 %f191, %f8, %f16; + mul.f32 %f192, %f9, %f15; + sub.f32 %f23, %f192, %f191; + mov.f32 %f776, 0f00000000; + mov.u32 %r357, 0; + abs.f32 %f193, %f19; + abs.f32 %f194, %f18; + max.f32 %f195, %f194, %f193; + abs.f32 %f196, %f20; + max.f32 %f197, %f195, %f196; + +BB0_5: + setp.lt.s32 %p13, %r356, 1; + @%p13 bra BB0_54; + + cvt.rn.f32.s32 %f25, %r357; + max.f32 %f26, %f197, %f169; + mov.u32 %r359, 0; + +BB0_7: + mad.lo.s32 %r128, %r382, 1664525, 1013904223; + and.b32 %r129, %r128, 16777215; + cvt.rn.f32.u32 %f199, %r129; + fma.rn.f32 %f200, %f199, 0f33800000, %f25; + mul.f32 %f201, %f17, %f200; + mad.lo.s32 %r382, %r128, 1664525, 1013904223; + and.b32 %r130, %r382, 16777215; + cvt.rn.f32.u32 %f202, %r130; + cvt.rn.f32.s32 %f203, %r359; + fma.rn.f32 %f204, %f202, 0f33800000, %f203; + mul.f32 %f205, %f17, %f204; + sqrt.rn.f32 %f28, %f201; + mul.f32 %f770, %f205, 0f40C90FDB; + abs.f32 %f30, %f770; + setp.neu.f32 %p14, %f30, 0f7F800000; + mov.f32 %f764, %f770; + @%p14 bra BB0_9; + + mov.f32 %f206, 0f00000000; + mul.rn.f32 %f764, %f770, %f206; + +BB0_9: + mul.f32 %f207, %f764, 0f3F22F983; + cvt.rni.s32.f32 %r370, %f207; + cvt.rn.f32.s32 %f208, %r370; + neg.f32 %f209, %f208; + mov.f32 %f210, 0f3FC90FDA; + fma.rn.f32 %f211, %f209, %f210, %f764; + mov.f32 %f212, 0f33A22168; + fma.rn.f32 %f213, %f209, %f212, %f211; + mov.f32 %f214, 0f27C234C5; + fma.rn.f32 %f765, %f209, %f214, %f213; + abs.f32 %f215, %f764; + setp.leu.f32 %p15, %f215, 0f47CE4780; + @%p15 bra BB0_20; + + mov.b32 %r13, %f764; + shr.u32 %r14, %r13, 23; + shl.b32 %r133, %r13, 8; + or.b32 %r15, %r133, -2147483648; + add.u64 %rd42, %SP, 4; + cvta.to.local.u64 %rd282, %rd42; + mov.u32 %r362, 0; + mov.u64 %rd281, __cudart_i2opi_f; + mov.u32 %r361, -6; + +BB0_11: + .pragma "nounroll"; + ld.const.u32 %r136, [%rd281]; + // inline asm + { + mad.lo.cc.u32 %r134, %r136, %r15, %r362; + madc.hi.u32 %r362, %r136, %r15, 0; + } + // inline asm + st.local.u32 [%rd282], %r134; + add.s64 %rd282, %rd282, 4; + add.s64 %rd281, %rd281, 4; + add.s32 %r361, %r361, 1; + setp.ne.s32 %p16, %r361, 0; + @%p16 bra BB0_11; + + and.b32 %r139, %r14, 255; + add.s32 %r140, %r139, -128; + shr.u32 %r141, %r140, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd44, %rd42; + st.local.u32 [%rd44+24], %r362; + mov.u32 %r142, 6; + sub.s32 %r143, %r142, %r141; + mul.wide.s32 %rd45, %r143, 4; + add.s64 %rd8, %rd44, %rd45; + ld.local.u32 %r363, [%rd8]; + ld.local.u32 %r364, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p17, %r23, 0; + @%p17 bra BB0_14; + + mov.u32 %r144, 32; + sub.s32 %r145, %r144, %r23; + shr.u32 %r146, %r364, %r145; + shl.b32 %r147, %r363, %r23; + add.s32 %r363, %r146, %r147; + ld.local.u32 %r148, [%rd8+-8]; + shr.u32 %r149, %r148, %r145; + shl.b32 %r150, %r364, %r23; + add.s32 %r364, %r149, %r150; + +BB0_14: + shr.u32 %r151, %r364, 30; + shl.b32 %r152, %r363, 2; + add.s32 %r365, %r151, %r152; + shl.b32 %r29, %r364, 2; + shr.u32 %r153, %r365, 31; + shr.u32 %r154, %r363, 30; + add.s32 %r30, %r153, %r154; + setp.eq.s32 %p18, %r153, 0; + @%p18 bra BB0_15; + bra.uni BB0_16; + +BB0_15: + mov.u32 %r366, %r20; + mov.u32 %r367, %r29; + bra.uni BB0_17; + +BB0_16: + not.b32 %r155, %r365; + neg.s32 %r367, %r29; + setp.eq.s32 %p19, %r29, 0; + selp.u32 %r156, 1, 0, %p19; + add.s32 %r365, %r156, %r155; + xor.b32 %r366, %r20, -2147483648; + +BB0_17: + clz.b32 %r369, %r365; + setp.eq.s32 %p20, %r369, 0; + shl.b32 %r157, %r365, %r369; + mov.u32 %r158, 32; + sub.s32 %r159, %r158, %r369; + shr.u32 %r160, %r367, %r159; + add.s32 %r161, %r160, %r157; + selp.b32 %r38, %r365, %r161, %p20; + mov.u32 %r162, -921707870; + mul.hi.u32 %r368, %r38, %r162; + setp.eq.s32 %p21, %r20, 0; + neg.s32 %r163, %r30; + selp.b32 %r370, %r30, %r163, %p21; + setp.lt.s32 %p22, %r368, 1; + @%p22 bra BB0_19; + + mul.lo.s32 %r164, %r38, -921707870; + shr.u32 %r165, %r164, 31; + shl.b32 %r166, %r368, 1; + add.s32 %r368, %r165, %r166; + add.s32 %r369, %r369, 1; + +BB0_19: + mov.u32 %r167, 126; + sub.s32 %r168, %r167, %r369; + shl.b32 %r169, %r168, 23; + add.s32 %r170, %r368, 1; + shr.u32 %r171, %r170, 7; + add.s32 %r172, %r171, 1; + shr.u32 %r173, %r172, 1; + add.s32 %r174, %r173, %r169; + or.b32 %r175, %r174, %r366; + mov.b32 %f765, %r175; + +BB0_20: + mul.rn.f32 %f36, %f765, %f765; + add.s32 %r46, %r370, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p23, %r47, 0; + @%p23 bra BB0_22; + bra.uni BB0_21; + +BB0_22: + mov.f32 %f218, 0f3C08839E; + mov.f32 %f219, 0fB94CA1F9; + fma.rn.f32 %f766, %f219, %f36, %f218; + bra.uni BB0_23; + +BB0_21: + mov.f32 %f216, 0fBAB6061A; + mov.f32 %f217, 0f37CCF5CE; + fma.rn.f32 %f766, %f217, %f36, %f216; + +BB0_23: + @%p23 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f223, 0fBE2AAAA3; + fma.rn.f32 %f224, %f766, %f36, %f223; + mov.f32 %f225, 0f00000000; + fma.rn.f32 %f767, %f224, %f36, %f225; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f220, 0f3D2AAAA5; + fma.rn.f32 %f221, %f766, %f36, %f220; + mov.f32 %f222, 0fBF000000; + fma.rn.f32 %f767, %f221, %f36, %f222; + +BB0_26: + fma.rn.f32 %f768, %f767, %f765, %f765; + @%p23 bra BB0_28; + + mov.f32 %f226, 0f3F800000; + fma.rn.f32 %f768, %f767, %f36, %f226; + +BB0_28: + and.b32 %r176, %r46, 2; + setp.eq.s32 %p26, %r176, 0; + @%p26 bra BB0_30; + + mov.f32 %f227, 0f00000000; + mov.f32 %f228, 0fBF800000; + fma.rn.f32 %f768, %f768, %f228, %f227; + +BB0_30: + @%p14 bra BB0_32; + + mov.f32 %f229, 0f00000000; + mul.rn.f32 %f770, %f770, %f229; + +BB0_32: + mul.f32 %f230, %f770, 0f3F22F983; + cvt.rni.s32.f32 %r380, %f230; + cvt.rn.f32.s32 %f231, %r380; + neg.f32 %f232, %f231; + fma.rn.f32 %f234, %f232, %f210, %f770; + fma.rn.f32 %f236, %f232, %f212, %f234; + fma.rn.f32 %f771, %f232, %f214, %f236; + abs.f32 %f238, %f770; + setp.leu.f32 %p28, %f238, 0f47CE4780; + @%p28 bra BB0_43; + + mov.b32 %r49, %f770; + shr.u32 %r50, %r49, 23; + shl.b32 %r179, %r49, 8; + or.b32 %r51, %r179, -2147483648; + add.u64 %rd47, %SP, 4; + cvta.to.local.u64 %rd284, %rd47; + mov.u32 %r372, 0; + mov.u64 %rd283, __cudart_i2opi_f; + mov.u32 %r371, -6; + +BB0_34: + .pragma "nounroll"; + ld.const.u32 %r182, [%rd283]; + // inline asm + { + mad.lo.cc.u32 %r180, %r182, %r51, %r372; + madc.hi.u32 %r372, %r182, %r51, 0; + } + // inline asm + st.local.u32 [%rd284], %r180; + add.s64 %rd284, %rd284, 4; + add.s64 %rd283, %rd283, 4; + add.s32 %r371, %r371, 1; + setp.ne.s32 %p29, %r371, 0; + @%p29 bra BB0_34; + + and.b32 %r185, %r50, 255; + add.s32 %r186, %r185, -128; + shr.u32 %r187, %r186, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd49, %rd47; + st.local.u32 [%rd49+24], %r372; + mov.u32 %r188, 6; + sub.s32 %r189, %r188, %r187; + mul.wide.s32 %rd50, %r189, 4; + add.s64 %rd14, %rd49, %rd50; + ld.local.u32 %r373, [%rd14]; + ld.local.u32 %r374, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p30, %r59, 0; + @%p30 bra BB0_37; + + mov.u32 %r190, 32; + sub.s32 %r191, %r190, %r59; + shr.u32 %r192, %r374, %r191; + shl.b32 %r193, %r373, %r59; + add.s32 %r373, %r192, %r193; + ld.local.u32 %r194, [%rd14+-8]; + shr.u32 %r195, %r194, %r191; + shl.b32 %r196, %r374, %r59; + add.s32 %r374, %r195, %r196; + +BB0_37: + shr.u32 %r197, %r374, 30; + shl.b32 %r198, %r373, 2; + add.s32 %r375, %r197, %r198; + shl.b32 %r65, %r374, 2; + shr.u32 %r199, %r375, 31; + shr.u32 %r200, %r373, 30; + add.s32 %r66, %r199, %r200; + setp.eq.s32 %p31, %r199, 0; + @%p31 bra BB0_38; + bra.uni BB0_39; + +BB0_38: + mov.u32 %r376, %r56; + mov.u32 %r377, %r65; + bra.uni BB0_40; + +BB0_39: + not.b32 %r201, %r375; + neg.s32 %r377, %r65; + setp.eq.s32 %p32, %r65, 0; + selp.u32 %r202, 1, 0, %p32; + add.s32 %r375, %r202, %r201; + xor.b32 %r376, %r56, -2147483648; + +BB0_40: + clz.b32 %r379, %r375; + setp.eq.s32 %p33, %r379, 0; + shl.b32 %r203, %r375, %r379; + mov.u32 %r204, 32; + sub.s32 %r205, %r204, %r379; + shr.u32 %r206, %r377, %r205; + add.s32 %r207, %r206, %r203; + selp.b32 %r74, %r375, %r207, %p33; + mov.u32 %r208, -921707870; + mul.hi.u32 %r378, %r74, %r208; + setp.eq.s32 %p34, %r56, 0; + neg.s32 %r209, %r66; + selp.b32 %r380, %r66, %r209, %p34; + setp.lt.s32 %p35, %r378, 1; + @%p35 bra BB0_42; + + mul.lo.s32 %r210, %r74, -921707870; + shr.u32 %r211, %r210, 31; + shl.b32 %r212, %r378, 1; + add.s32 %r378, %r211, %r212; + add.s32 %r379, %r379, 1; + +BB0_42: + mov.u32 %r213, 126; + sub.s32 %r214, %r213, %r379; + shl.b32 %r215, %r214, 23; + add.s32 %r216, %r378, 1; + shr.u32 %r217, %r216, 7; + add.s32 %r218, %r217, 1; + shr.u32 %r219, %r218, 1; + add.s32 %r220, %r219, %r215; + or.b32 %r221, %r220, %r376; + mov.b32 %f771, %r221; + +BB0_43: + mul.rn.f32 %f53, %f771, %f771; + and.b32 %r82, %r380, 1; + setp.eq.s32 %p36, %r82, 0; + @%p36 bra BB0_45; + bra.uni BB0_44; + +BB0_45: + mov.f32 %f241, 0f3C08839E; + mov.f32 %f242, 0fB94CA1F9; + fma.rn.f32 %f772, %f242, %f53, %f241; + bra.uni BB0_46; + +BB0_44: + mov.f32 %f239, 0fBAB6061A; + mov.f32 %f240, 0f37CCF5CE; + fma.rn.f32 %f772, %f240, %f53, %f239; + +BB0_46: + @%p36 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f246, 0fBE2AAAA3; + fma.rn.f32 %f247, %f772, %f53, %f246; + mov.f32 %f248, 0f00000000; + fma.rn.f32 %f773, %f247, %f53, %f248; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f243, 0f3D2AAAA5; + fma.rn.f32 %f244, %f772, %f53, %f243; + mov.f32 %f245, 0fBF000000; + fma.rn.f32 %f773, %f244, %f53, %f245; + +BB0_49: + fma.rn.f32 %f774, %f773, %f771, %f771; + @%p36 bra BB0_51; + + mov.f32 %f249, 0f3F800000; + fma.rn.f32 %f774, %f773, %f53, %f249; + +BB0_51: + and.b32 %r222, %r380, 2; + setp.eq.s32 %p39, %r222, 0; + @%p39 bra BB0_53; + + mov.f32 %f250, 0f00000000; + mov.f32 %f251, 0fBF800000; + fma.rn.f32 %f774, %f774, %f251, %f250; + +BB0_53: + mul.f32 %f260, %f28, %f768; + add.u64 %rd51, %SP, 0; + cvta.to.local.u64 %rd52, %rd51; + mul.f32 %f261, %f260, %f260; + mov.f32 %f262, 0f3F800000; + sub.f32 %f263, %f262, %f261; + mul.f32 %f264, %f28, %f774; + mul.f32 %f265, %f264, %f264; + sub.f32 %f266, %f263, %f265; + mov.f32 %f267, 0f00000000; + max.f32 %f268, %f267, %f266; + sqrt.rn.f32 %f269, %f268; + mul.f32 %f270, %f14, %f264; + mul.f32 %f271, %f15, %f264; + mul.f32 %f272, %f16, %f264; + fma.rn.f32 %f273, %f23, %f260, %f270; + fma.rn.f32 %f274, %f22, %f260, %f271; + fma.rn.f32 %f275, %f21, %f260, %f272; + fma.rn.f32 %f276, %f7, %f269, %f273; + fma.rn.f32 %f277, %f8, %f269, %f274; + fma.rn.f32 %f278, %f9, %f269, %f275; + add.f32 %f279, %f7, %f276; + add.f32 %f280, %f8, %f277; + add.f32 %f281, %f9, %f278; + ld.global.f32 %f282, [shadowSpread]; + mul.f32 %f283, %f282, %f279; + mul.f32 %f284, %f282, %f280; + mul.f32 %f285, %f282, %f281; + sub.f32 %f286, %f283, %f7; + sub.f32 %f287, %f284, %f8; + sub.f32 %f288, %f285, %f9; + mul.f32 %f289, %f287, %f287; + fma.rn.f32 %f290, %f286, %f286, %f289; + fma.rn.f32 %f291, %f288, %f288, %f290; + sqrt.rn.f32 %f292, %f291; + rcp.rn.f32 %f293, %f292; + mul.f32 %f255, %f293, %f286; + mul.f32 %f256, %f293, %f287; + mul.f32 %f257, %f293, %f288; + ld.global.u32 %r226, [imageEnabled]; + and.b32 %r227, %r226, 32; + setp.eq.s32 %p40, %r227, 0; + selp.f32 %f294, 0f3F800000, 0f41200000, %p40; + mul.f32 %f258, %f294, %f26; + mov.u32 %r228, 1065353216; + st.local.u32 [%rd52], %r228; + ld.global.u32 %r223, [root]; + mov.u32 %r224, 1; + mov.f32 %f259, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r223, %f11, %f12, %f13, %f255, %f256, %f257, %r224, %f258, %f259, %rd51, %r100); + // inline asm + ld.local.f32 %f295, [%rd52]; + add.f32 %f776, %f776, %f295; + ld.global.u32 %r356, [samples]; + add.s32 %r359, %r359, 1; + setp.lt.s32 %p41, %r359, %r356; + @%p41 bra BB0_7; + +BB0_54: + add.s32 %r357, %r357, 1; + setp.lt.s32 %p42, %r357, %r356; + @%p42 bra BB0_5; + +BB0_55: + setp.eq.s32 %p43, %r356, 0; + mov.f32 %f778, 0f3F800000; + @%p43 bra BB0_57; + + mul.lo.s32 %r229, %r356, %r356; + cvt.rn.f32.s32 %f297, %r229; + div.rn.f32 %f778, %f776, %f297; + +BB0_57: + ld.global.f32 %f298, [directColor]; + mul.f32 %f299, %f778, %f298; + ld.global.f32 %f300, [directColor+4]; + mul.f32 %f301, %f778, %f300; + ld.global.f32 %f302, [directColor+8]; + mul.f32 %f303, %f778, %f302; + cvt.sat.f32.f32 %f304, %f10; + mul.f32 %f70, %f299, %f304; + mul.f32 %f71, %f301, %f304; + mul.f32 %f72, %f303, %f304; + mul.f32 %f73, %f299, 0f3E800000; + mul.f32 %f74, %f301, 0f3E800000; + mul.f32 %f75, %f303, 0f3E800000; + ld.global.u32 %r385, [imageEnabled]; + and.b32 %r230, %r385, 8; + setp.eq.s32 %p44, %r230, 0; + @%p44 bra BB0_70; + + cvt.u64.u32 %rd55, %r2; + cvt.u64.u32 %rd56, %r3; + mov.u64 %rd59, image_Mask; + cvta.global.u64 %rd54, %rd59; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r99, %r99, %rd55, %rd56, %rd25, %rd25); + // inline asm + abs.f32 %f77, %f778; + setp.lt.f32 %p45, %f77, 0f00800000; + mul.f32 %f310, %f77, 0f4B800000; + selp.f32 %f311, 0fC3170000, 0fC2FE0000, %p45; + selp.f32 %f312, %f310, %f77, %p45; + mov.b32 %r233, %f312; + and.b32 %r234, %r233, 8388607; + or.b32 %r235, %r234, 1065353216; + mov.b32 %f313, %r235; + shr.u32 %r236, %r233, 23; + cvt.rn.f32.u32 %f314, %r236; + add.f32 %f315, %f311, %f314; + setp.gt.f32 %p46, %f313, 0f3FB504F3; + mul.f32 %f316, %f313, 0f3F000000; + add.f32 %f317, %f315, 0f3F800000; + selp.f32 %f318, %f316, %f313, %p46; + selp.f32 %f319, %f317, %f315, %p46; + add.f32 %f320, %f318, 0fBF800000; + add.f32 %f306, %f318, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f305,%f306; + // inline asm + add.f32 %f321, %f320, %f320; + mul.f32 %f322, %f305, %f321; + mul.f32 %f323, %f322, %f322; + mov.f32 %f324, 0f3C4CAF63; + mov.f32 %f325, 0f3B18F0FE; + fma.rn.f32 %f326, %f325, %f323, %f324; + mov.f32 %f327, 0f3DAAAABD; + fma.rn.f32 %f328, %f326, %f323, %f327; + mul.rn.f32 %f329, %f328, %f323; + mul.rn.f32 %f330, %f329, %f322; + sub.f32 %f331, %f320, %f322; + neg.f32 %f332, %f322; + add.f32 %f333, %f331, %f331; + fma.rn.f32 %f334, %f332, %f320, %f333; + mul.rn.f32 %f335, %f305, %f334; + add.f32 %f336, %f330, %f322; + sub.f32 %f337, %f322, %f336; + add.f32 %f338, %f330, %f337; + add.f32 %f339, %f335, %f338; + add.f32 %f340, %f336, %f339; + sub.f32 %f341, %f336, %f340; + add.f32 %f342, %f339, %f341; + mov.f32 %f343, 0f3F317200; + mul.rn.f32 %f344, %f319, %f343; + mov.f32 %f345, 0f35BFBE8E; + mul.rn.f32 %f346, %f319, %f345; + add.f32 %f347, %f344, %f340; + sub.f32 %f348, %f344, %f347; + add.f32 %f349, %f340, %f348; + add.f32 %f350, %f342, %f349; + add.f32 %f351, %f346, %f350; + add.f32 %f352, %f347, %f351; + sub.f32 %f353, %f347, %f352; + add.f32 %f354, %f351, %f353; + mov.f32 %f355, 0f3EE8BA2E; + mul.rn.f32 %f356, %f355, %f352; + neg.f32 %f357, %f356; + fma.rn.f32 %f358, %f355, %f352, %f357; + fma.rn.f32 %f359, %f355, %f354, %f358; + mov.f32 %f360, 0f00000000; + fma.rn.f32 %f361, %f360, %f352, %f359; + add.rn.f32 %f362, %f356, %f361; + neg.f32 %f363, %f362; + add.rn.f32 %f364, %f356, %f363; + add.rn.f32 %f365, %f364, %f361; + mov.b32 %r237, %f362; + setp.eq.s32 %p47, %r237, 1118925336; + add.s32 %r238, %r237, -1; + mov.b32 %f366, %r238; + add.f32 %f367, %f365, 0f37000000; + selp.f32 %f368, %f366, %f362, %p47; + selp.f32 %f78, %f367, %f365, %p47; + mul.f32 %f369, %f368, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f370, %f369; + mov.f32 %f371, 0fBF317200; + fma.rn.f32 %f372, %f370, %f371, %f368; + mov.f32 %f373, 0fB5BFBE8E; + fma.rn.f32 %f374, %f370, %f373, %f372; + mul.f32 %f375, %f374, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f376, %f375; + add.f32 %f377, %f370, 0f00000000; + ex2.approx.f32 %f378, %f377; + mul.f32 %f379, %f376, %f378; + setp.lt.f32 %p48, %f368, 0fC2D20000; + selp.f32 %f380, 0f00000000, %f379, %p48; + setp.gt.f32 %p49, %f368, 0f42D20000; + selp.f32 %f779, 0f7F800000, %f380, %p49; + setp.eq.f32 %p50, %f779, 0f7F800000; + @%p50 bra BB0_60; + + fma.rn.f32 %f779, %f779, %f78, %f779; + +BB0_60: + mov.f32 %f751, 0f3E68BA2E; + cvt.rzi.f32.f32 %f750, %f751; + fma.rn.f32 %f749, %f750, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f748, %f749; + setp.lt.f32 %p51, %f778, 0f00000000; + setp.eq.f32 %p52, %f748, 0f3F800000; + and.pred %p1, %p51, %p52; + mov.b32 %r239, %f779; + xor.b32 %r240, %r239, -2147483648; + mov.b32 %f381, %r240; + selp.f32 %f781, %f381, %f779, %p1; + setp.eq.f32 %p53, %f778, 0f00000000; + @%p53 bra BB0_63; + bra.uni BB0_61; + +BB0_63: + add.f32 %f384, %f778, %f778; + selp.f32 %f781, %f384, 0f00000000, %p52; + bra.uni BB0_64; + +BB0_128: + mov.u64 %rd200, image_HDR; + cvta.global.u64 %rd195, %rd200; + mov.u32 %r326, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r99, %r326, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f688, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f688;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd194], {%rs98, %rs98, %rs98, %rs99}; + +BB0_129: + ld.global.u32 %r327, [additive]; + setp.eq.s32 %p120, %r327, 0; + @%p120 bra BB0_131; + + mov.u64 %rd213, image_RNM0; + cvta.global.u64 %rd202, %rd213; + mov.u32 %r331, 8; + // inline asm + call (%rd201), _rt_buffer_get_64, (%rd202, %r99, %r331, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs106, %rs107, %rs108, %rs109}, [%rd201]; + // inline asm + { cvt.f32.f16 %f689, %rs106;} + + // inline asm + // inline asm + { cvt.f32.f16 %f690, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f691, %rs108;} + + // inline asm + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd202, %r99, %r331, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f692, %f689, 0f00000000; + add.f32 %f693, %f690, 0f00000000; + add.f32 %f694, %f691, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f694;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f693;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f692;} + + // inline asm + mov.u16 %rs110, 0; + st.v4.u16 [%rd207], {%rs103, %rs104, %rs105, %rs110}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd220, image_RNM0; + cvta.global.u64 %rd215, %rd220; + mov.u32 %r333, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r99, %r333, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f695, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f695;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd214], {%rs111, %rs111, %rs111, %rs112}; + +BB0_132: + ld.global.u32 %r334, [additive]; + setp.eq.s32 %p121, %r334, 0; + @%p121 bra BB0_134; + + mov.u64 %rd233, image_RNM1; + cvta.global.u64 %rd222, %rd233; + mov.u32 %r338, 8; + // inline asm + call (%rd221), _rt_buffer_get_64, (%rd222, %r99, %r338, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs119, %rs120, %rs121, %rs122}, [%rd221]; + // inline asm + { cvt.f32.f16 %f696, %rs119;} + + // inline asm + // inline asm + { cvt.f32.f16 %f697, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f698, %rs121;} + + // inline asm + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd222, %r99, %r338, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f699, %f696, 0f00000000; + add.f32 %f700, %f697, 0f00000000; + add.f32 %f701, %f698, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs118, %f701;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f700;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs116, %f699;} + + // inline asm + mov.u16 %rs123, 0; + st.v4.u16 [%rd227], {%rs116, %rs117, %rs118, %rs123}; + bra.uni BB0_135; + +BB0_134: + mov.u64 %rd240, image_RNM1; + cvta.global.u64 %rd235, %rd240; + mov.u32 %r340, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r99, %r340, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f702, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f702;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd234], {%rs124, %rs124, %rs124, %rs125}; + +BB0_135: + ld.global.u32 %r341, [additive]; + setp.eq.s32 %p122, %r341, 0; + @%p122 bra BB0_137; + + mov.u64 %rd253, image_RNM2; + cvta.global.u64 %rd242, %rd253; + mov.u32 %r345, 8; + // inline asm + call (%rd241), _rt_buffer_get_64, (%rd242, %r99, %r345, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs132, %rs133, %rs134, %rs135}, [%rd241]; + // inline asm + { cvt.f32.f16 %f703, %rs132;} + + // inline asm + // inline asm + { cvt.f32.f16 %f704, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f705, %rs134;} + + // inline asm + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd242, %r99, %r345, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f706, %f703, 0f00000000; + add.f32 %f707, %f704, 0f00000000; + add.f32 %f708, %f705, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs131, %f708;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f707;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs129, %f706;} + + // inline asm + mov.u16 %rs136, 0; + st.v4.u16 [%rd247], {%rs129, %rs130, %rs131, %rs136}; + bra.uni BB0_138; + +BB0_137: + mov.u64 %rd260, image_RNM2; + cvta.global.u64 %rd255, %rd260; + mov.u32 %r347, 8; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r99, %r347, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f709, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f709;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd254], {%rs137, %rs137, %rs137, %rs138}; + +BB0_138: + ld.global.u32 %r348, [additive]; + setp.eq.s32 %p123, %r348, 0; + @%p123 bra BB0_140; + + mov.u64 %rd273, image_RNM3; + cvta.global.u64 %rd262, %rd273; + mov.u32 %r352, 8; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r99, %r352, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs145, %rs146, %rs147, %rs148}, [%rd261]; + // inline asm + { cvt.f32.f16 %f710, %rs145;} + + // inline asm + // inline asm + { cvt.f32.f16 %f711, %rs146;} + + // inline asm + // inline asm + { cvt.f32.f16 %f712, %rs147;} + + // inline asm + // inline asm + call (%rd267), _rt_buffer_get_64, (%rd262, %r99, %r352, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f713, %f710, 0f00000000; + add.f32 %f714, %f711, 0f00000000; + add.f32 %f715, %f712, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs144, %f715;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs143, %f714;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs142, %f713;} + + // inline asm + mov.u16 %rs149, 0; + st.v4.u16 [%rd267], {%rs142, %rs143, %rs144, %rs149}; + bra.uni BB0_141; + +BB0_140: + mov.u64 %rd280, image_RNM3; + cvta.global.u64 %rd275, %rd280; + mov.u32 %r354, 8; + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd275, %r99, %r354, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f716, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f716;} + + // inline asm + mov.u16 %rs151, 0; + st.v4.u16 [%rd274], {%rs150, %rs150, %rs150, %rs151}; + bra.uni BB0_141; + +BB0_61: + setp.geu.f32 %p54, %f778, 0f00000000; + @%p54 bra BB0_64; + + mov.f32 %f755, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f383, %f755; + setp.neu.f32 %p55, %f383, 0f3EE8BA2E; + selp.f32 %f781, 0f7FFFFFFF, %f781, %p55; + +BB0_64: + abs.f32 %f752, %f778; + add.f32 %f385, %f752, 0f3EE8BA2E; + mov.b32 %r241, %f385; + setp.lt.s32 %p57, %r241, 2139095040; + @%p57 bra BB0_69; + + abs.f32 %f753, %f778; + setp.gtu.f32 %p58, %f753, 0f7F800000; + @%p58 bra BB0_68; + bra.uni BB0_66; + +BB0_68: + add.f32 %f781, %f778, 0f3EE8BA2E; + bra.uni BB0_69; + +BB0_66: + abs.f32 %f754, %f778; + setp.neu.f32 %p59, %f754, 0f7F800000; + @%p59 bra BB0_69; + + selp.f32 %f781, 0fFF800000, 0f7F800000, %p1; + +BB0_69: + mul.f32 %f386, %f781, 0f437F0000; + setp.eq.f32 %p60, %f778, 0f3F800000; + selp.f32 %f387, 0f437F0000, %f386, %p60; + cvt.rzi.u32.f32 %r242, %f387; + cvt.u16.u32 %rs14, %r242; + mov.u16 %rs15, 255; + st.v2.u8 [%rd53], {%rs14, %rs15}; + ld.global.u32 %r385, [imageEnabled]; + +BB0_70: + and.b32 %r243, %r385, 1; + setp.eq.b32 %p61, %r243, 1; + @!%p61 bra BB0_105; + bra.uni BB0_71; + +BB0_71: + abs.f32 %f90, %f70; + setp.lt.f32 %p62, %f90, 0f00800000; + mul.f32 %f393, %f90, 0f4B800000; + selp.f32 %f394, 0fC3170000, 0fC2FE0000, %p62; + selp.f32 %f395, %f393, %f90, %p62; + mov.b32 %r244, %f395; + and.b32 %r245, %r244, 8388607; + or.b32 %r246, %r245, 1065353216; + mov.b32 %f396, %r246; + shr.u32 %r247, %r244, 23; + cvt.rn.f32.u32 %f397, %r247; + add.f32 %f398, %f394, %f397; + setp.gt.f32 %p63, %f396, 0f3FB504F3; + mul.f32 %f399, %f396, 0f3F000000; + add.f32 %f400, %f398, 0f3F800000; + selp.f32 %f401, %f399, %f396, %p63; + selp.f32 %f402, %f400, %f398, %p63; + add.f32 %f403, %f401, 0fBF800000; + add.f32 %f389, %f401, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f388,%f389; + // inline asm + add.f32 %f404, %f403, %f403; + mul.f32 %f405, %f388, %f404; + mul.f32 %f406, %f405, %f405; + mov.f32 %f407, 0f3C4CAF63; + mov.f32 %f408, 0f3B18F0FE; + fma.rn.f32 %f409, %f408, %f406, %f407; + mov.f32 %f410, 0f3DAAAABD; + fma.rn.f32 %f411, %f409, %f406, %f410; + mul.rn.f32 %f412, %f411, %f406; + mul.rn.f32 %f413, %f412, %f405; + sub.f32 %f414, %f403, %f405; + neg.f32 %f415, %f405; + add.f32 %f416, %f414, %f414; + fma.rn.f32 %f417, %f415, %f403, %f416; + mul.rn.f32 %f418, %f388, %f417; + add.f32 %f419, %f413, %f405; + sub.f32 %f420, %f405, %f419; + add.f32 %f421, %f413, %f420; + add.f32 %f422, %f418, %f421; + add.f32 %f423, %f419, %f422; + sub.f32 %f424, %f419, %f423; + add.f32 %f425, %f422, %f424; + mov.f32 %f426, 0f3F317200; + mul.rn.f32 %f427, %f402, %f426; + mov.f32 %f428, 0f35BFBE8E; + mul.rn.f32 %f429, %f402, %f428; + add.f32 %f430, %f427, %f423; + sub.f32 %f431, %f427, %f430; + add.f32 %f432, %f423, %f431; + add.f32 %f433, %f425, %f432; + add.f32 %f434, %f429, %f433; + add.f32 %f435, %f430, %f434; + sub.f32 %f436, %f430, %f435; + add.f32 %f437, %f434, %f436; + mov.f32 %f438, 0f3EE66666; + mul.rn.f32 %f439, %f438, %f435; + neg.f32 %f440, %f439; + fma.rn.f32 %f441, %f438, %f435, %f440; + fma.rn.f32 %f442, %f438, %f437, %f441; + mov.f32 %f443, 0f00000000; + fma.rn.f32 %f444, %f443, %f435, %f442; + add.rn.f32 %f445, %f439, %f444; + neg.f32 %f446, %f445; + add.rn.f32 %f447, %f439, %f446; + add.rn.f32 %f448, %f447, %f444; + mov.b32 %r248, %f445; + setp.eq.s32 %p64, %r248, 1118925336; + add.s32 %r249, %r248, -1; + mov.b32 %f449, %r249; + add.f32 %f450, %f448, 0f37000000; + selp.f32 %f451, %f449, %f445, %p64; + selp.f32 %f91, %f450, %f448, %p64; + mul.f32 %f452, %f451, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f453, %f452; + mov.f32 %f454, 0fBF317200; + fma.rn.f32 %f455, %f453, %f454, %f451; + mov.f32 %f456, 0fB5BFBE8E; + fma.rn.f32 %f457, %f453, %f456, %f455; + mul.f32 %f458, %f457, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f459, %f458; + add.f32 %f460, %f453, 0f00000000; + ex2.approx.f32 %f461, %f460; + mul.f32 %f462, %f459, %f461; + setp.lt.f32 %p65, %f451, 0fC2D20000; + selp.f32 %f463, 0f00000000, %f462, %p65; + setp.gt.f32 %p66, %f451, 0f42D20000; + selp.f32 %f782, 0f7F800000, %f463, %p66; + setp.eq.f32 %p67, %f782, 0f7F800000; + @%p67 bra BB0_73; + + fma.rn.f32 %f782, %f782, %f91, %f782; + +BB0_73: + mov.f32 %f720, 0f3E666666; + cvt.rzi.f32.f32 %f719, %f720; + fma.rn.f32 %f718, %f719, 0fC0000000, 0f3EE66666; + abs.f32 %f717, %f718; + setp.lt.f32 %p68, %f70, 0f00000000; + setp.eq.f32 %p69, %f717, 0f3F800000; + and.pred %p2, %p68, %p69; + mov.b32 %r250, %f782; + xor.b32 %r251, %r250, -2147483648; + mov.b32 %f464, %r251; + selp.f32 %f784, %f464, %f782, %p2; + setp.eq.f32 %p70, %f70, 0f00000000; + @%p70 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f467, %f70, %f70; + selp.f32 %f784, %f467, 0f00000000, %p69; + bra.uni BB0_77; + +BB0_74: + setp.geu.f32 %p71, %f70, 0f00000000; + @%p71 bra BB0_77; + + mov.f32 %f744, 0f3EE66666; + cvt.rzi.f32.f32 %f466, %f744; + setp.neu.f32 %p72, %f466, 0f3EE66666; + selp.f32 %f784, 0f7FFFFFFF, %f784, %p72; + +BB0_77: + abs.f32 %f721, %f70; + add.f32 %f468, %f721, 0f3EE66666; + mov.b32 %r252, %f468; + setp.lt.s32 %p74, %r252, 2139095040; + @%p74 bra BB0_82; + + abs.f32 %f742, %f70; + setp.gtu.f32 %p75, %f742, 0f7F800000; + @%p75 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f784, %f70, 0f3EE66666; + bra.uni BB0_82; + +BB0_79: + abs.f32 %f743, %f70; + setp.neu.f32 %p76, %f743, 0f7F800000; + @%p76 bra BB0_82; + + selp.f32 %f784, 0fFF800000, 0f7F800000, %p2; + +BB0_82: + mov.f32 %f730, 0fB5BFBE8E; + mov.f32 %f729, 0fBF317200; + mov.f32 %f728, 0f00000000; + mov.f32 %f727, 0f35BFBE8E; + mov.f32 %f726, 0f3F317200; + mov.f32 %f725, 0f3DAAAABD; + mov.f32 %f724, 0f3C4CAF63; + mov.f32 %f723, 0f3B18F0FE; + mov.f32 %f722, 0f3EE66666; + setp.eq.f32 %p77, %f70, 0f3F800000; + selp.f32 %f102, 0f3F800000, %f784, %p77; + abs.f32 %f103, %f71; + setp.lt.f32 %p78, %f103, 0f00800000; + mul.f32 %f471, %f103, 0f4B800000; + selp.f32 %f472, 0fC3170000, 0fC2FE0000, %p78; + selp.f32 %f473, %f471, %f103, %p78; + mov.b32 %r253, %f473; + and.b32 %r254, %r253, 8388607; + or.b32 %r255, %r254, 1065353216; + mov.b32 %f474, %r255; + shr.u32 %r256, %r253, 23; + cvt.rn.f32.u32 %f475, %r256; + add.f32 %f476, %f472, %f475; + setp.gt.f32 %p79, %f474, 0f3FB504F3; + mul.f32 %f477, %f474, 0f3F000000; + add.f32 %f478, %f476, 0f3F800000; + selp.f32 %f479, %f477, %f474, %p79; + selp.f32 %f480, %f478, %f476, %p79; + add.f32 %f481, %f479, 0fBF800000; + add.f32 %f470, %f479, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f469,%f470; + // inline asm + add.f32 %f482, %f481, %f481; + mul.f32 %f483, %f469, %f482; + mul.f32 %f484, %f483, %f483; + fma.rn.f32 %f487, %f723, %f484, %f724; + fma.rn.f32 %f489, %f487, %f484, %f725; + mul.rn.f32 %f490, %f489, %f484; + mul.rn.f32 %f491, %f490, %f483; + sub.f32 %f492, %f481, %f483; + neg.f32 %f493, %f483; + add.f32 %f494, %f492, %f492; + fma.rn.f32 %f495, %f493, %f481, %f494; + mul.rn.f32 %f496, %f469, %f495; + add.f32 %f497, %f491, %f483; + sub.f32 %f498, %f483, %f497; + add.f32 %f499, %f491, %f498; + add.f32 %f500, %f496, %f499; + add.f32 %f501, %f497, %f500; + sub.f32 %f502, %f497, %f501; + add.f32 %f503, %f500, %f502; + mul.rn.f32 %f505, %f480, %f726; + mul.rn.f32 %f507, %f480, %f727; + add.f32 %f508, %f505, %f501; + sub.f32 %f509, %f505, %f508; + add.f32 %f510, %f501, %f509; + add.f32 %f511, %f503, %f510; + add.f32 %f512, %f507, %f511; + add.f32 %f513, %f508, %f512; + sub.f32 %f514, %f508, %f513; + add.f32 %f515, %f512, %f514; + mul.rn.f32 %f517, %f722, %f513; + neg.f32 %f518, %f517; + fma.rn.f32 %f519, %f722, %f513, %f518; + fma.rn.f32 %f520, %f722, %f515, %f519; + fma.rn.f32 %f522, %f728, %f513, %f520; + add.rn.f32 %f523, %f517, %f522; + neg.f32 %f524, %f523; + add.rn.f32 %f525, %f517, %f524; + add.rn.f32 %f526, %f525, %f522; + mov.b32 %r257, %f523; + setp.eq.s32 %p80, %r257, 1118925336; + add.s32 %r258, %r257, -1; + mov.b32 %f527, %r258; + add.f32 %f528, %f526, 0f37000000; + selp.f32 %f529, %f527, %f523, %p80; + selp.f32 %f104, %f528, %f526, %p80; + mul.f32 %f530, %f529, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f531, %f530; + fma.rn.f32 %f533, %f531, %f729, %f529; + fma.rn.f32 %f535, %f531, %f730, %f533; + mul.f32 %f536, %f535, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f537, %f536; + add.f32 %f538, %f531, 0f00000000; + ex2.approx.f32 %f539, %f538; + mul.f32 %f540, %f537, %f539; + setp.lt.f32 %p81, %f529, 0fC2D20000; + selp.f32 %f541, 0f00000000, %f540, %p81; + setp.gt.f32 %p82, %f529, 0f42D20000; + selp.f32 %f785, 0f7F800000, %f541, %p82; + setp.eq.f32 %p83, %f785, 0f7F800000; + @%p83 bra BB0_84; + + fma.rn.f32 %f785, %f785, %f104, %f785; + +BB0_84: + setp.lt.f32 %p84, %f71, 0f00000000; + and.pred %p3, %p84, %p69; + mov.b32 %r259, %f785; + xor.b32 %r260, %r259, -2147483648; + mov.b32 %f542, %r260; + selp.f32 %f787, %f542, %f785, %p3; + setp.eq.f32 %p86, %f71, 0f00000000; + @%p86 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f545, %f71, %f71; + selp.f32 %f787, %f545, 0f00000000, %p69; + bra.uni BB0_88; + +BB0_85: + setp.geu.f32 %p87, %f71, 0f00000000; + @%p87 bra BB0_88; + + mov.f32 %f741, 0f3EE66666; + cvt.rzi.f32.f32 %f544, %f741; + setp.neu.f32 %p88, %f544, 0f3EE66666; + selp.f32 %f787, 0f7FFFFFFF, %f787, %p88; + +BB0_88: + abs.f32 %f745, %f71; + add.f32 %f546, %f745, 0f3EE66666; + mov.b32 %r261, %f546; + setp.lt.s32 %p90, %r261, 2139095040; + @%p90 bra BB0_93; + + abs.f32 %f746, %f71; + setp.gtu.f32 %p91, %f746, 0f7F800000; + @%p91 bra BB0_92; + bra.uni BB0_90; + +BB0_92: + add.f32 %f787, %f71, 0f3EE66666; + bra.uni BB0_93; + +BB0_90: + abs.f32 %f747, %f71; + setp.neu.f32 %p92, %f747, 0f7F800000; + @%p92 bra BB0_93; + + selp.f32 %f787, 0fFF800000, 0f7F800000, %p3; + +BB0_93: + mov.f32 %f739, 0fB5BFBE8E; + mov.f32 %f738, 0fBF317200; + mov.f32 %f737, 0f00000000; + mov.f32 %f736, 0f35BFBE8E; + mov.f32 %f735, 0f3F317200; + mov.f32 %f734, 0f3DAAAABD; + mov.f32 %f733, 0f3C4CAF63; + mov.f32 %f732, 0f3B18F0FE; + mov.f32 %f731, 0f3EE66666; + setp.eq.f32 %p93, %f71, 0f3F800000; + selp.f32 %f115, 0f3F800000, %f787, %p93; + abs.f32 %f116, %f72; + setp.lt.f32 %p94, %f116, 0f00800000; + mul.f32 %f549, %f116, 0f4B800000; + selp.f32 %f550, 0fC3170000, 0fC2FE0000, %p94; + selp.f32 %f551, %f549, %f116, %p94; + mov.b32 %r262, %f551; + and.b32 %r263, %r262, 8388607; + or.b32 %r264, %r263, 1065353216; + mov.b32 %f552, %r264; + shr.u32 %r265, %r262, 23; + cvt.rn.f32.u32 %f553, %r265; + add.f32 %f554, %f550, %f553; + setp.gt.f32 %p95, %f552, 0f3FB504F3; + mul.f32 %f555, %f552, 0f3F000000; + add.f32 %f556, %f554, 0f3F800000; + selp.f32 %f557, %f555, %f552, %p95; + selp.f32 %f558, %f556, %f554, %p95; + add.f32 %f559, %f557, 0fBF800000; + add.f32 %f548, %f557, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f547,%f548; + // inline asm + add.f32 %f560, %f559, %f559; + mul.f32 %f561, %f547, %f560; + mul.f32 %f562, %f561, %f561; + fma.rn.f32 %f565, %f732, %f562, %f733; + fma.rn.f32 %f567, %f565, %f562, %f734; + mul.rn.f32 %f568, %f567, %f562; + mul.rn.f32 %f569, %f568, %f561; + sub.f32 %f570, %f559, %f561; + neg.f32 %f571, %f561; + add.f32 %f572, %f570, %f570; + fma.rn.f32 %f573, %f571, %f559, %f572; + mul.rn.f32 %f574, %f547, %f573; + add.f32 %f575, %f569, %f561; + sub.f32 %f576, %f561, %f575; + add.f32 %f577, %f569, %f576; + add.f32 %f578, %f574, %f577; + add.f32 %f579, %f575, %f578; + sub.f32 %f580, %f575, %f579; + add.f32 %f581, %f578, %f580; + mul.rn.f32 %f583, %f558, %f735; + mul.rn.f32 %f585, %f558, %f736; + add.f32 %f586, %f583, %f579; + sub.f32 %f587, %f583, %f586; + add.f32 %f588, %f579, %f587; + add.f32 %f589, %f581, %f588; + add.f32 %f590, %f585, %f589; + add.f32 %f591, %f586, %f590; + sub.f32 %f592, %f586, %f591; + add.f32 %f593, %f590, %f592; + mul.rn.f32 %f595, %f731, %f591; + neg.f32 %f596, %f595; + fma.rn.f32 %f597, %f731, %f591, %f596; + fma.rn.f32 %f598, %f731, %f593, %f597; + fma.rn.f32 %f600, %f737, %f591, %f598; + add.rn.f32 %f601, %f595, %f600; + neg.f32 %f602, %f601; + add.rn.f32 %f603, %f595, %f602; + add.rn.f32 %f604, %f603, %f600; + mov.b32 %r266, %f601; + setp.eq.s32 %p96, %r266, 1118925336; + add.s32 %r267, %r266, -1; + mov.b32 %f605, %r267; + add.f32 %f606, %f604, 0f37000000; + selp.f32 %f607, %f605, %f601, %p96; + selp.f32 %f117, %f606, %f604, %p96; + mul.f32 %f608, %f607, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f609, %f608; + fma.rn.f32 %f611, %f609, %f738, %f607; + fma.rn.f32 %f613, %f609, %f739, %f611; + mul.f32 %f614, %f613, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f615, %f614; + add.f32 %f616, %f609, 0f00000000; + ex2.approx.f32 %f617, %f616; + mul.f32 %f618, %f615, %f617; + setp.lt.f32 %p97, %f607, 0fC2D20000; + selp.f32 %f619, 0f00000000, %f618, %p97; + setp.gt.f32 %p98, %f607, 0f42D20000; + selp.f32 %f788, 0f7F800000, %f619, %p98; + setp.eq.f32 %p99, %f788, 0f7F800000; + @%p99 bra BB0_95; + + fma.rn.f32 %f788, %f788, %f117, %f788; + +BB0_95: + setp.lt.f32 %p100, %f72, 0f00000000; + and.pred %p4, %p100, %p69; + mov.b32 %r268, %f788; + xor.b32 %r269, %r268, -2147483648; + mov.b32 %f620, %r269; + selp.f32 %f790, %f620, %f788, %p4; + setp.eq.f32 %p102, %f72, 0f00000000; + @%p102 bra BB0_98; + bra.uni BB0_96; + +BB0_98: + add.f32 %f623, %f72, %f72; + selp.f32 %f790, %f623, 0f00000000, %p69; + bra.uni BB0_99; + +BB0_96: + setp.geu.f32 %p103, %f72, 0f00000000; + @%p103 bra BB0_99; + + mov.f32 %f740, 0f3EE66666; + cvt.rzi.f32.f32 %f622, %f740; + setp.neu.f32 %p104, %f622, 0f3EE66666; + selp.f32 %f790, 0f7FFFFFFF, %f790, %p104; + +BB0_99: + abs.f32 %f756, %f72; + add.f32 %f624, %f756, 0f3EE66666; + mov.b32 %r270, %f624; + setp.lt.s32 %p106, %r270, 2139095040; + @%p106 bra BB0_104; + + abs.f32 %f757, %f72; + setp.gtu.f32 %p107, %f757, 0f7F800000; + @%p107 bra BB0_103; + bra.uni BB0_101; + +BB0_103: + add.f32 %f790, %f72, 0f3EE66666; + bra.uni BB0_104; + +BB0_101: + abs.f32 %f758, %f72; + setp.neu.f32 %p108, %f758, 0f7F800000; + @%p108 bra BB0_104; + + selp.f32 %f790, 0fFF800000, 0f7F800000, %p4; + +BB0_104: + mov.u32 %r355, 4; + setp.eq.f32 %p109, %f72, 0f3F800000; + selp.f32 %f625, 0f3F800000, %f790, %p109; + cvt.u64.u32 %rd63, %r3; + cvt.u64.u32 %rd62, %r2; + mov.u64 %rd66, image; + cvta.global.u64 %rd61, %rd66; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r99, %r355, %rd62, %rd63, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f626, %f625; + mul.f32 %f627, %f626, 0f437FFD71; + cvt.rzi.u32.f32 %r273, %f627; + cvt.sat.f32.f32 %f628, %f115; + mul.f32 %f629, %f628, 0f437FFD71; + cvt.rzi.u32.f32 %r274, %f629; + cvt.sat.f32.f32 %f630, %f102; + mul.f32 %f631, %f630, 0f437FFD71; + cvt.rzi.u32.f32 %r275, %f631; + cvt.u16.u32 %rs16, %r273; + cvt.u16.u32 %rs17, %r275; + cvt.u16.u32 %rs18, %r274; + mov.u16 %rs19, 255; + st.v4.u8 [%rd60], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r385, [imageEnabled]; + +BB0_105: + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + and.b32 %r276, %r385, 4; + setp.eq.s32 %p110, %r276, 0; + @%p110 bra BB0_109; + + ld.global.u32 %r277, [additive]; + setp.eq.s32 %p111, %r277, 0; + mov.f32 %f632, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs20, %f632;} + + // inline asm + @%p111 bra BB0_108; + + mov.u64 %rd79, image_HDR; + cvta.global.u64 %rd68, %rd79; + mov.u32 %r281, 8; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r99, %r281, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd67]; + // inline asm + { cvt.f32.f16 %f633, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f634, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f635, %rs29;} + + // inline asm + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd68, %r99, %r281, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f636, %f70, %f633; + add.f32 %f637, %f71, %f634; + add.f32 %f638, %f72, %f635; + // inline asm + { cvt.rn.f16.f32 %rs26, %f638;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f637;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f636;} + + // inline asm + st.v4.u16 [%rd73], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_109; + +BB0_108: + mov.u64 %rd86, image_HDR; + cvta.global.u64 %rd81, %rd86; + mov.u32 %r283, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r99, %r283, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f72;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f71;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f70;} + + // inline asm + st.v4.u16 [%rd80], {%rs31, %rs32, %rs33, %rs20}; + +BB0_109: + ld.global.u32 %r284, [additive]; + setp.eq.s32 %p112, %r284, 0; + mov.f32 %f642, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f642;} + + // inline asm + @%p112 bra BB0_111; + + mov.u64 %rd99, image_RNM0; + cvta.global.u64 %rd88, %rd99; + mov.u32 %r288, 8; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r99, %r288, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd87]; + // inline asm + { cvt.f32.f16 %f643, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f644, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f645, %rs43;} + + // inline asm + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd88, %r99, %r288, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f646, %f73, %f643; + add.f32 %f647, %f74, %f644; + add.f32 %f648, %f75, %f645; + // inline asm + { cvt.rn.f16.f32 %rs40, %f648;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f647;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f646;} + + // inline asm + st.v4.u16 [%rd93], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_112; + +BB0_111: + mov.u64 %rd106, image_RNM0; + cvta.global.u64 %rd101, %rd106; + mov.u32 %r290, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r99, %r290, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f75;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f74;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f73;} + + // inline asm + st.v4.u16 [%rd100], {%rs45, %rs46, %rs47, %rs34}; + +BB0_112: + ld.global.f32 %f653, [directDir]; + fma.rn.f32 %f128, %f653, 0fBF000000, 0f3F000000; + ld.global.f32 %f654, [directDir+4]; + fma.rn.f32 %f129, %f654, 0fBF000000, 0f3F000000; + ld.global.f32 %f655, [directDir+8]; + fma.rn.f32 %f130, %f655, 0fBF000000, 0f3F000000; + ld.global.u32 %r291, [additive]; + setp.eq.s32 %p113, %r291, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f642;} + + // inline asm + @%p113 bra BB0_114; + + mov.u64 %rd119, image_RNM1; + cvta.global.u64 %rd108, %rd119; + mov.u32 %r295, 8; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r99, %r295, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd107]; + // inline asm + { cvt.f32.f16 %f656, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f657, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f658, %rs57;} + + // inline asm + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd108, %r99, %r295, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f659, %f128, %f656; + add.f32 %f660, %f128, %f657; + add.f32 %f661, %f128, %f658; + // inline asm + { cvt.rn.f16.f32 %rs54, %f661;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f660;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f659;} + + // inline asm + st.v4.u16 [%rd113], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd126, image_RNM1; + cvta.global.u64 %rd121, %rd126; + mov.u32 %r297, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r99, %r297, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f128;} + + // inline asm + st.v4.u16 [%rd120], {%rs59, %rs59, %rs59, %rs48}; + +BB0_115: + ld.global.u32 %r298, [additive]; + setp.eq.s32 %p114, %r298, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f642;} + + // inline asm + @%p114 bra BB0_117; + + mov.u64 %rd139, image_RNM2; + cvta.global.u64 %rd128, %rd139; + mov.u32 %r302, 8; + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd128, %r99, %r302, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd127]; + // inline asm + { cvt.f32.f16 %f664, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f665, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f666, %rs69;} + + // inline asm + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd128, %r99, %r302, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f667, %f129, %f664; + add.f32 %f668, %f129, %f665; + add.f32 %f669, %f129, %f666; + // inline asm + { cvt.rn.f16.f32 %rs66, %f669;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f668;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f667;} + + // inline asm + st.v4.u16 [%rd133], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd146, image_RNM2; + cvta.global.u64 %rd141, %rd146; + mov.u32 %r304, 8; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r99, %r304, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f129;} + + // inline asm + st.v4.u16 [%rd140], {%rs71, %rs71, %rs71, %rs60}; + +BB0_118: + ld.global.u32 %r305, [additive]; + setp.eq.s32 %p115, %r305, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f642;} + + // inline asm + @%p115 bra BB0_120; + + mov.u64 %rd159, image_RNM3; + cvta.global.u64 %rd148, %rd159; + mov.u32 %r309, 8; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r99, %r309, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd147]; + // inline asm + { cvt.f32.f16 %f672, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f673, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f674, %rs81;} + + // inline asm + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd148, %r99, %r309, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f675, %f130, %f672; + add.f32 %f676, %f130, %f673; + add.f32 %f677, %f130, %f674; + // inline asm + { cvt.rn.f16.f32 %rs78, %f677;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f676;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f675;} + + // inline asm + st.v4.u16 [%rd153], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_141; + +BB0_120: + mov.u64 %rd166, image_RNM3; + cvta.global.u64 %rd161, %rd166; + mov.u32 %r311, 8; + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd161, %r99, %r311, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f130;} + + // inline asm + st.v4.u16 [%rd160], {%rs83, %rs83, %rs83, %rs72}; + +BB0_141: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunProbeSH.ptx.meta new file mode 100644 index 00000000..e0bd43ad --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 496b3cb37b8872b44b1992f6f675b390 +timeCreated: 1551472442 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunRNM.ptx new file mode 100644 index 00000000..c3c59af8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunRNM.ptx @@ -0,0 +1,2403 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 directDir[12]; +.global .align 4 .b8 directColor[12]; +.global .align 4 .f32 shadowSpread; +.global .align 4 .u32 samples; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9directDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11directColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12shadowSpreadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9directDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11directColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12shadowSpreadE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9directDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11directColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12shadowSpreadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9directDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11directColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12shadowSpreadE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9directDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11directColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12shadowSpreadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<148>; + .reg .b16 %rs<157>; + .reg .f32 %f<1107>; + .reg .b32 %r<410>; + .reg .b64 %rd<272>; + + + mov.u64 %rd271, __local_depot0; + cvta.local.u64 %SP, %rd271; + ld.global.v2.u32 {%r107, %r108}, [pixelID]; + cvt.u64.u32 %rd27, %r107; + cvt.u64.u32 %rd28, %r108; + mov.u64 %rd31, uvnormal; + cvta.global.u64 %rd26, %rd31; + mov.u32 %r105, 2; + mov.u32 %r106, 4; + mov.u64 %rd30, 0; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd26, %r105, %r106, %rd27, %rd28, %rd30, %rd30); + // inline asm + ld.u32 %r1, [%rd25]; + shr.u32 %r111, %r1, 16; + cvt.u16.u32 %rs1, %r111; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r1; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p6, %rs8, 0; + mov.f32 %f1063, 0f00000000; + mov.f32 %f1064, %f1063; + mov.f32 %f1065, %f1063; + @%p6 bra BB0_2; + + ld.u8 %rs9, [%rd25+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f184, %rs11; + div.rn.f32 %f185, %f184, 0f437F0000; + fma.rn.f32 %f186, %f185, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f187, %rs9; + div.rn.f32 %f188, %f187, 0f437F0000; + fma.rn.f32 %f189, %f188, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f190, %rs6; + div.rn.f32 %f191, %f190, 0f437F0000; + fma.rn.f32 %f192, %f191, 0f40000000, 0fBF800000; + mul.f32 %f193, %f189, %f189; + fma.rn.f32 %f194, %f186, %f186, %f193; + fma.rn.f32 %f195, %f192, %f192, %f194; + sqrt.rn.f32 %f196, %f195; + rcp.rn.f32 %f197, %f196; + mul.f32 %f1063, %f186, %f197; + mul.f32 %f1064, %f189, %f197; + mul.f32 %f1065, %f192, %f197; + +BB0_2: + ld.global.v2.u32 {%r112, %r113}, [pixelID]; + ld.global.v2.u32 {%r115, %r116}, [tileInfo]; + add.s32 %r2, %r112, %r115; + add.s32 %r3, %r113, %r116; + setp.eq.f32 %p7, %f1064, 0f00000000; + setp.eq.f32 %p8, %f1063, 0f00000000; + and.pred %p9, %p8, %p7; + setp.eq.f32 %p10, %f1065, 0f00000000; + and.pred %p11, %p9, %p10; + @%p11 bra BB0_135; + bra.uni BB0_3; + +BB0_135: + ld.global.u32 %r409, [imageEnabled]; + and.b32 %r338, %r409, 1; + setp.eq.b32 %p141, %r338, 1; + @!%p141 bra BB0_137; + bra.uni BB0_136; + +BB0_136: + cvt.u64.u32 %rd175, %r2; + cvt.u64.u32 %rd176, %r3; + mov.u64 %rd179, image; + cvta.global.u64 %rd174, %rd179; + // inline asm + call (%rd173), _rt_buffer_get_64, (%rd174, %r105, %r106, %rd175, %rd176, %rd30, %rd30); + // inline asm + mov.u16 %rs102, 0; + st.v4.u8 [%rd173], {%rs102, %rs102, %rs102, %rs102}; + ld.global.u32 %r409, [imageEnabled]; + +BB0_137: + and.b32 %r341, %r409, 8; + setp.eq.s32 %p142, %r341, 0; + @%p142 bra BB0_139; + + cvt.u64.u32 %rd183, %r3; + cvt.u64.u32 %rd182, %r2; + mov.u64 %rd186, image_Mask; + cvta.global.u64 %rd181, %rd186; + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd181, %r105, %r105, %rd182, %rd183, %rd30, %rd30); + // inline asm + mov.f32 %f966, 0f00000000; + cvt.rzi.u32.f32 %r344, %f966; + cvt.u16.u32 %rs103, %r344; + mov.u16 %rs104, 0; + st.v2.u8 [%rd180], {%rs103, %rs104}; + ld.global.u32 %r409, [imageEnabled]; + +BB0_139: + cvt.u64.u32 %rd23, %r2; + cvt.u64.u32 %rd24, %r3; + and.b32 %r345, %r409, 4; + setp.eq.s32 %p143, %r345, 0; + @%p143 bra BB0_143; + + ld.global.u32 %r346, [additive]; + setp.eq.s32 %p144, %r346, 0; + @%p144 bra BB0_142; + + mov.u64 %rd199, image_HDR; + cvta.global.u64 %rd188, %rd199; + mov.u32 %r350, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r105, %r350, %rd23, %rd24, %rd30, %rd30); + // inline asm + ld.v4.u16 {%rs111, %rs112, %rs113, %rs114}, [%rd187]; + // inline asm + { cvt.f32.f16 %f967, %rs111;} + + // inline asm + // inline asm + { cvt.f32.f16 %f968, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f969, %rs113;} + + // inline asm + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd188, %r105, %r350, %rd23, %rd24, %rd30, %rd30); + // inline asm + add.f32 %f970, %f967, 0f00000000; + add.f32 %f971, %f968, 0f00000000; + add.f32 %f972, %f969, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f972;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f971;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs108, %f970;} + + // inline asm + mov.u16 %rs115, 0; + st.v4.u16 [%rd193], {%rs108, %rs109, %rs110, %rs115}; + bra.uni BB0_143; + +BB0_3: + ld.global.f32 %f8, [directDir+4]; + ld.global.f32 %f9, [directDir+8]; + ld.global.f32 %f7, [directDir]; + ld.global.v2.u32 {%r124, %r125}, [pixelID]; + cvt.u64.u32 %rd34, %r124; + cvt.u64.u32 %rd35, %r125; + mov.u64 %rd44, uvpos; + cvta.global.u64 %rd33, %rd44; + mov.u32 %r121, 12; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r105, %r121, %rd34, %rd35, %rd30, %rd30); + // inline asm + ld.f32 %f199, [%rd32+8]; + ld.f32 %f200, [%rd32+4]; + ld.f32 %f201, [%rd32]; + mul.f32 %f202, %f201, 0f3456BF95; + mul.f32 %f203, %f200, 0f3456BF95; + mul.f32 %f204, %f199, 0f3456BF95; + abs.f32 %f205, %f1063; + div.rn.f32 %f206, %f202, %f205; + abs.f32 %f207, %f1064; + div.rn.f32 %f208, %f203, %f207; + abs.f32 %f209, %f1065; + div.rn.f32 %f210, %f204, %f209; + abs.f32 %f211, %f206; + abs.f32 %f212, %f208; + abs.f32 %f213, %f210; + mov.f32 %f214, 0f38D1B717; + max.f32 %f215, %f211, %f214; + max.f32 %f216, %f212, %f214; + max.f32 %f217, %f213, %f214; + fma.rn.f32 %f10, %f1063, %f215, %f201; + fma.rn.f32 %f11, %f1064, %f216, %f200; + fma.rn.f32 %f12, %f1065, %f217, %f199; + abs.f32 %f218, %f7; + abs.f32 %f219, %f9; + setp.gt.f32 %p12, %f218, %f219; + neg.f32 %f220, %f8; + neg.f32 %f221, %f9; + selp.f32 %f222, %f220, 0f00000000, %p12; + selp.f32 %f223, %f7, %f221, %p12; + selp.f32 %f224, 0f00000000, %f8, %p12; + mul.f32 %f225, %f223, %f223; + fma.rn.f32 %f226, %f222, %f222, %f225; + fma.rn.f32 %f227, %f224, %f224, %f226; + sqrt.rn.f32 %f228, %f227; + rcp.rn.f32 %f229, %f228; + mul.f32 %f13, %f222, %f229; + mul.f32 %f14, %f223, %f229; + mul.f32 %f15, %f224, %f229; + ld.global.v2.u32 {%r128, %r129}, [pixelID]; + cvt.u64.u32 %rd40, %r128; + cvt.u64.u32 %rd41, %r129; + mov.u64 %rd45, rnd_seeds; + cvta.global.u64 %rd39, %rd45; + // inline asm + call (%rd38), _rt_buffer_get_64, (%rd39, %r105, %r106, %rd40, %rd41, %rd30, %rd30); + // inline asm + ld.global.u32 %r378, [samples]; + mov.f32 %f1080, 0f00000000; + setp.lt.s32 %p13, %r378, 1; + @%p13 bra BB0_55; + + cvt.rn.f32.s32 %f231, %r378; + rcp.rn.f32 %f16, %f231; + ld.u32 %r404, [%rd38]; + mul.f32 %f17, %f10, 0f3456BF95; + mul.f32 %f18, %f11, 0f3456BF95; + mul.f32 %f19, %f12, 0f3456BF95; + mul.f32 %f232, %f7, %f14; + mul.f32 %f233, %f8, %f13; + sub.f32 %f20, %f233, %f232; + mul.f32 %f234, %f9, %f13; + mul.f32 %f235, %f7, %f15; + sub.f32 %f21, %f235, %f234; + mul.f32 %f236, %f8, %f15; + mul.f32 %f237, %f9, %f14; + sub.f32 %f22, %f237, %f236; + mov.f32 %f1080, 0f00000000; + mov.u32 %r379, 0; + abs.f32 %f238, %f18; + abs.f32 %f239, %f17; + max.f32 %f240, %f239, %f238; + abs.f32 %f241, %f19; + max.f32 %f242, %f240, %f241; + +BB0_5: + setp.lt.s32 %p14, %r378, 1; + @%p14 bra BB0_54; + + cvt.rn.f32.s32 %f24, %r379; + max.f32 %f25, %f242, %f214; + mov.u32 %r381, 0; + +BB0_7: + mad.lo.s32 %r134, %r404, 1664525, 1013904223; + and.b32 %r135, %r134, 16777215; + cvt.rn.f32.u32 %f244, %r135; + fma.rn.f32 %f245, %f244, 0f33800000, %f24; + mul.f32 %f246, %f16, %f245; + mad.lo.s32 %r404, %r134, 1664525, 1013904223; + and.b32 %r136, %r404, 16777215; + cvt.rn.f32.u32 %f247, %r136; + cvt.rn.f32.s32 %f248, %r381; + fma.rn.f32 %f249, %f247, 0f33800000, %f248; + mul.f32 %f250, %f16, %f249; + sqrt.rn.f32 %f27, %f246; + mul.f32 %f1074, %f250, 0f40C90FDB; + abs.f32 %f29, %f1074; + setp.neu.f32 %p15, %f29, 0f7F800000; + mov.f32 %f1068, %f1074; + @%p15 bra BB0_9; + + mov.f32 %f251, 0f00000000; + mul.rn.f32 %f1068, %f1074, %f251; + +BB0_9: + mul.f32 %f252, %f1068, 0f3F22F983; + cvt.rni.s32.f32 %r392, %f252; + cvt.rn.f32.s32 %f253, %r392; + neg.f32 %f254, %f253; + mov.f32 %f255, 0f3FC90FDA; + fma.rn.f32 %f256, %f254, %f255, %f1068; + mov.f32 %f257, 0f33A22168; + fma.rn.f32 %f258, %f254, %f257, %f256; + mov.f32 %f259, 0f27C234C5; + fma.rn.f32 %f1069, %f254, %f259, %f258; + abs.f32 %f260, %f1068; + setp.leu.f32 %p16, %f260, 0f47CE4780; + @%p16 bra BB0_20; + + mov.b32 %r13, %f1068; + shr.u32 %r14, %r13, 23; + shl.b32 %r139, %r13, 8; + or.b32 %r15, %r139, -2147483648; + add.u64 %rd47, %SP, 4; + cvta.to.local.u64 %rd268, %rd47; + mov.u32 %r384, 0; + mov.u64 %rd267, __cudart_i2opi_f; + mov.u32 %r383, -6; + +BB0_11: + .pragma "nounroll"; + ld.const.u32 %r142, [%rd267]; + // inline asm + { + mad.lo.cc.u32 %r140, %r142, %r15, %r384; + madc.hi.u32 %r384, %r142, %r15, 0; + } + // inline asm + st.local.u32 [%rd268], %r140; + add.s64 %rd268, %rd268, 4; + add.s64 %rd267, %rd267, 4; + add.s32 %r383, %r383, 1; + setp.ne.s32 %p17, %r383, 0; + @%p17 bra BB0_11; + + and.b32 %r145, %r14, 255; + add.s32 %r146, %r145, -128; + shr.u32 %r147, %r146, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd49, %rd47; + st.local.u32 [%rd49+24], %r384; + mov.u32 %r148, 6; + sub.s32 %r149, %r148, %r147; + mul.wide.s32 %rd50, %r149, 4; + add.s64 %rd8, %rd49, %rd50; + ld.local.u32 %r385, [%rd8]; + ld.local.u32 %r386, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p18, %r23, 0; + @%p18 bra BB0_14; + + mov.u32 %r150, 32; + sub.s32 %r151, %r150, %r23; + shr.u32 %r152, %r386, %r151; + shl.b32 %r153, %r385, %r23; + add.s32 %r385, %r152, %r153; + ld.local.u32 %r154, [%rd8+-8]; + shr.u32 %r155, %r154, %r151; + shl.b32 %r156, %r386, %r23; + add.s32 %r386, %r155, %r156; + +BB0_14: + shr.u32 %r157, %r386, 30; + shl.b32 %r158, %r385, 2; + add.s32 %r387, %r157, %r158; + shl.b32 %r29, %r386, 2; + shr.u32 %r159, %r387, 31; + shr.u32 %r160, %r385, 30; + add.s32 %r30, %r159, %r160; + setp.eq.s32 %p19, %r159, 0; + @%p19 bra BB0_15; + bra.uni BB0_16; + +BB0_15: + mov.u32 %r388, %r20; + mov.u32 %r389, %r29; + bra.uni BB0_17; + +BB0_16: + not.b32 %r161, %r387; + neg.s32 %r389, %r29; + setp.eq.s32 %p20, %r29, 0; + selp.u32 %r162, 1, 0, %p20; + add.s32 %r387, %r162, %r161; + xor.b32 %r388, %r20, -2147483648; + +BB0_17: + clz.b32 %r391, %r387; + setp.eq.s32 %p21, %r391, 0; + shl.b32 %r163, %r387, %r391; + mov.u32 %r164, 32; + sub.s32 %r165, %r164, %r391; + shr.u32 %r166, %r389, %r165; + add.s32 %r167, %r166, %r163; + selp.b32 %r38, %r387, %r167, %p21; + mov.u32 %r168, -921707870; + mul.hi.u32 %r390, %r38, %r168; + setp.eq.s32 %p22, %r20, 0; + neg.s32 %r169, %r30; + selp.b32 %r392, %r30, %r169, %p22; + setp.lt.s32 %p23, %r390, 1; + @%p23 bra BB0_19; + + mul.lo.s32 %r170, %r38, -921707870; + shr.u32 %r171, %r170, 31; + shl.b32 %r172, %r390, 1; + add.s32 %r390, %r171, %r172; + add.s32 %r391, %r391, 1; + +BB0_19: + mov.u32 %r173, 126; + sub.s32 %r174, %r173, %r391; + shl.b32 %r175, %r174, 23; + add.s32 %r176, %r390, 1; + shr.u32 %r177, %r176, 7; + add.s32 %r178, %r177, 1; + shr.u32 %r179, %r178, 1; + add.s32 %r180, %r179, %r175; + or.b32 %r181, %r180, %r388; + mov.b32 %f1069, %r181; + +BB0_20: + mul.rn.f32 %f35, %f1069, %f1069; + add.s32 %r46, %r392, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p24, %r47, 0; + @%p24 bra BB0_22; + bra.uni BB0_21; + +BB0_22: + mov.f32 %f263, 0f3C08839E; + mov.f32 %f264, 0fB94CA1F9; + fma.rn.f32 %f1070, %f264, %f35, %f263; + bra.uni BB0_23; + +BB0_21: + mov.f32 %f261, 0fBAB6061A; + mov.f32 %f262, 0f37CCF5CE; + fma.rn.f32 %f1070, %f262, %f35, %f261; + +BB0_23: + @%p24 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f268, 0fBE2AAAA3; + fma.rn.f32 %f269, %f1070, %f35, %f268; + mov.f32 %f270, 0f00000000; + fma.rn.f32 %f1071, %f269, %f35, %f270; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f265, 0f3D2AAAA5; + fma.rn.f32 %f266, %f1070, %f35, %f265; + mov.f32 %f267, 0fBF000000; + fma.rn.f32 %f1071, %f266, %f35, %f267; + +BB0_26: + fma.rn.f32 %f1072, %f1071, %f1069, %f1069; + @%p24 bra BB0_28; + + mov.f32 %f271, 0f3F800000; + fma.rn.f32 %f1072, %f1071, %f35, %f271; + +BB0_28: + and.b32 %r182, %r46, 2; + setp.eq.s32 %p27, %r182, 0; + @%p27 bra BB0_30; + + mov.f32 %f272, 0f00000000; + mov.f32 %f273, 0fBF800000; + fma.rn.f32 %f1072, %f1072, %f273, %f272; + +BB0_30: + @%p15 bra BB0_32; + + mov.f32 %f274, 0f00000000; + mul.rn.f32 %f1074, %f1074, %f274; + +BB0_32: + mul.f32 %f275, %f1074, 0f3F22F983; + cvt.rni.s32.f32 %r402, %f275; + cvt.rn.f32.s32 %f276, %r402; + neg.f32 %f277, %f276; + fma.rn.f32 %f279, %f277, %f255, %f1074; + fma.rn.f32 %f281, %f277, %f257, %f279; + fma.rn.f32 %f1075, %f277, %f259, %f281; + abs.f32 %f283, %f1074; + setp.leu.f32 %p29, %f283, 0f47CE4780; + @%p29 bra BB0_43; + + mov.b32 %r49, %f1074; + shr.u32 %r50, %r49, 23; + shl.b32 %r185, %r49, 8; + or.b32 %r51, %r185, -2147483648; + add.u64 %rd52, %SP, 4; + cvta.to.local.u64 %rd270, %rd52; + mov.u32 %r394, 0; + mov.u64 %rd269, __cudart_i2opi_f; + mov.u32 %r393, -6; + +BB0_34: + .pragma "nounroll"; + ld.const.u32 %r188, [%rd269]; + // inline asm + { + mad.lo.cc.u32 %r186, %r188, %r51, %r394; + madc.hi.u32 %r394, %r188, %r51, 0; + } + // inline asm + st.local.u32 [%rd270], %r186; + add.s64 %rd270, %rd270, 4; + add.s64 %rd269, %rd269, 4; + add.s32 %r393, %r393, 1; + setp.ne.s32 %p30, %r393, 0; + @%p30 bra BB0_34; + + and.b32 %r191, %r50, 255; + add.s32 %r192, %r191, -128; + shr.u32 %r193, %r192, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd54, %rd52; + st.local.u32 [%rd54+24], %r394; + mov.u32 %r194, 6; + sub.s32 %r195, %r194, %r193; + mul.wide.s32 %rd55, %r195, 4; + add.s64 %rd14, %rd54, %rd55; + ld.local.u32 %r395, [%rd14]; + ld.local.u32 %r396, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p31, %r59, 0; + @%p31 bra BB0_37; + + mov.u32 %r196, 32; + sub.s32 %r197, %r196, %r59; + shr.u32 %r198, %r396, %r197; + shl.b32 %r199, %r395, %r59; + add.s32 %r395, %r198, %r199; + ld.local.u32 %r200, [%rd14+-8]; + shr.u32 %r201, %r200, %r197; + shl.b32 %r202, %r396, %r59; + add.s32 %r396, %r201, %r202; + +BB0_37: + shr.u32 %r203, %r396, 30; + shl.b32 %r204, %r395, 2; + add.s32 %r397, %r203, %r204; + shl.b32 %r65, %r396, 2; + shr.u32 %r205, %r397, 31; + shr.u32 %r206, %r395, 30; + add.s32 %r66, %r205, %r206; + setp.eq.s32 %p32, %r205, 0; + @%p32 bra BB0_38; + bra.uni BB0_39; + +BB0_38: + mov.u32 %r398, %r56; + mov.u32 %r399, %r65; + bra.uni BB0_40; + +BB0_39: + not.b32 %r207, %r397; + neg.s32 %r399, %r65; + setp.eq.s32 %p33, %r65, 0; + selp.u32 %r208, 1, 0, %p33; + add.s32 %r397, %r208, %r207; + xor.b32 %r398, %r56, -2147483648; + +BB0_40: + clz.b32 %r401, %r397; + setp.eq.s32 %p34, %r401, 0; + shl.b32 %r209, %r397, %r401; + mov.u32 %r210, 32; + sub.s32 %r211, %r210, %r401; + shr.u32 %r212, %r399, %r211; + add.s32 %r213, %r212, %r209; + selp.b32 %r74, %r397, %r213, %p34; + mov.u32 %r214, -921707870; + mul.hi.u32 %r400, %r74, %r214; + setp.eq.s32 %p35, %r56, 0; + neg.s32 %r215, %r66; + selp.b32 %r402, %r66, %r215, %p35; + setp.lt.s32 %p36, %r400, 1; + @%p36 bra BB0_42; + + mul.lo.s32 %r216, %r74, -921707870; + shr.u32 %r217, %r216, 31; + shl.b32 %r218, %r400, 1; + add.s32 %r400, %r217, %r218; + add.s32 %r401, %r401, 1; + +BB0_42: + mov.u32 %r219, 126; + sub.s32 %r220, %r219, %r401; + shl.b32 %r221, %r220, 23; + add.s32 %r222, %r400, 1; + shr.u32 %r223, %r222, 7; + add.s32 %r224, %r223, 1; + shr.u32 %r225, %r224, 1; + add.s32 %r226, %r225, %r221; + or.b32 %r227, %r226, %r398; + mov.b32 %f1075, %r227; + +BB0_43: + mul.rn.f32 %f52, %f1075, %f1075; + and.b32 %r82, %r402, 1; + setp.eq.s32 %p37, %r82, 0; + @%p37 bra BB0_45; + bra.uni BB0_44; + +BB0_45: + mov.f32 %f286, 0f3C08839E; + mov.f32 %f287, 0fB94CA1F9; + fma.rn.f32 %f1076, %f287, %f52, %f286; + bra.uni BB0_46; + +BB0_44: + mov.f32 %f284, 0fBAB6061A; + mov.f32 %f285, 0f37CCF5CE; + fma.rn.f32 %f1076, %f285, %f52, %f284; + +BB0_46: + @%p37 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f291, 0fBE2AAAA3; + fma.rn.f32 %f292, %f1076, %f52, %f291; + mov.f32 %f293, 0f00000000; + fma.rn.f32 %f1077, %f292, %f52, %f293; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f288, 0f3D2AAAA5; + fma.rn.f32 %f289, %f1076, %f52, %f288; + mov.f32 %f290, 0fBF000000; + fma.rn.f32 %f1077, %f289, %f52, %f290; + +BB0_49: + fma.rn.f32 %f1078, %f1077, %f1075, %f1075; + @%p37 bra BB0_51; + + mov.f32 %f294, 0f3F800000; + fma.rn.f32 %f1078, %f1077, %f52, %f294; + +BB0_51: + and.b32 %r228, %r402, 2; + setp.eq.s32 %p40, %r228, 0; + @%p40 bra BB0_53; + + mov.f32 %f295, 0f00000000; + mov.f32 %f296, 0fBF800000; + fma.rn.f32 %f1078, %f1078, %f296, %f295; + +BB0_53: + mul.f32 %f305, %f27, %f1072; + add.u64 %rd56, %SP, 0; + cvta.to.local.u64 %rd57, %rd56; + mul.f32 %f306, %f305, %f305; + mov.f32 %f307, 0f3F800000; + sub.f32 %f308, %f307, %f306; + mul.f32 %f309, %f27, %f1078; + mul.f32 %f310, %f309, %f309; + sub.f32 %f311, %f308, %f310; + mov.f32 %f312, 0f00000000; + max.f32 %f313, %f312, %f311; + sqrt.rn.f32 %f314, %f313; + mul.f32 %f315, %f13, %f309; + mul.f32 %f316, %f14, %f309; + mul.f32 %f317, %f15, %f309; + fma.rn.f32 %f318, %f22, %f305, %f315; + fma.rn.f32 %f319, %f21, %f305, %f316; + fma.rn.f32 %f320, %f20, %f305, %f317; + fma.rn.f32 %f321, %f7, %f314, %f318; + fma.rn.f32 %f322, %f8, %f314, %f319; + fma.rn.f32 %f323, %f9, %f314, %f320; + add.f32 %f324, %f7, %f321; + add.f32 %f325, %f8, %f322; + add.f32 %f326, %f9, %f323; + ld.global.f32 %f327, [shadowSpread]; + mul.f32 %f328, %f327, %f324; + mul.f32 %f329, %f327, %f325; + mul.f32 %f330, %f327, %f326; + sub.f32 %f331, %f328, %f7; + sub.f32 %f332, %f329, %f8; + sub.f32 %f333, %f330, %f9; + mul.f32 %f334, %f332, %f332; + fma.rn.f32 %f335, %f331, %f331, %f334; + fma.rn.f32 %f336, %f333, %f333, %f335; + sqrt.rn.f32 %f337, %f336; + rcp.rn.f32 %f338, %f337; + mul.f32 %f300, %f338, %f331; + mul.f32 %f301, %f338, %f332; + mul.f32 %f302, %f338, %f333; + ld.global.u32 %r232, [imageEnabled]; + and.b32 %r233, %r232, 32; + setp.eq.s32 %p41, %r233, 0; + selp.f32 %f339, 0f3F800000, 0f41200000, %p41; + mul.f32 %f303, %f339, %f25; + mov.u32 %r234, 1065353216; + st.local.u32 [%rd57], %r234; + ld.global.u32 %r229, [root]; + mov.u32 %r230, 1; + mov.f32 %f304, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r229, %f10, %f11, %f12, %f300, %f301, %f302, %r230, %f303, %f304, %rd56, %r106); + // inline asm + ld.local.f32 %f340, [%rd57]; + add.f32 %f1080, %f1080, %f340; + ld.global.u32 %r378, [samples]; + add.s32 %r381, %r381, 1; + setp.lt.s32 %p42, %r381, %r378; + @%p42 bra BB0_7; + +BB0_54: + add.s32 %r379, %r379, 1; + setp.lt.s32 %p43, %r379, %r378; + @%p43 bra BB0_5; + +BB0_55: + mul.f32 %f342, %f1065, %f9; + mul.f32 %f343, %f1064, %f8; + neg.f32 %f344, %f343; + mul.f32 %f345, %f1063, %f7; + sub.f32 %f346, %f344, %f345; + sub.f32 %f67, %f346, %f342; + setp.eq.s32 %p44, %r378, 0; + mov.f32 %f1082, 0f3F800000; + @%p44 bra BB0_57; + + mul.lo.s32 %r235, %r378, %r378; + cvt.rn.f32.s32 %f347, %r235; + div.rn.f32 %f1082, %f1080, %f347; + +BB0_57: + ld.global.f32 %f350, [directColor]; + mul.f32 %f70, %f1082, %f350; + ld.global.f32 %f351, [directColor+4]; + mul.f32 %f71, %f1082, %f351; + ld.global.f32 %f352, [directColor+8]; + mul.f32 %f72, %f1082, %f352; + cvt.sat.f32.f32 %f353, %f67; + mul.f32 %f73, %f70, %f353; + mul.f32 %f74, %f71, %f353; + mul.f32 %f75, %f72, %f353; + fma.rn.f32 %f354, %f67, 0f3F000000, 0f3F000000; + cvt.sat.f32.f32 %f355, %f354; + add.f32 %f76, %f355, %f355; + mov.f32 %f359, 0f41A00000; + abs.f32 %f78, %f76; + setp.lt.f32 %p45, %f78, 0f00800000; + mul.f32 %f361, %f78, 0f4B800000; + selp.f32 %f362, 0fC3170000, 0fC2FE0000, %p45; + selp.f32 %f363, %f361, %f78, %p45; + mov.b32 %r236, %f363; + and.b32 %r237, %r236, 8388607; + or.b32 %r238, %r237, 1065353216; + mov.b32 %f364, %r238; + shr.u32 %r239, %r236, 23; + cvt.rn.f32.u32 %f365, %r239; + add.f32 %f366, %f362, %f365; + setp.gt.f32 %p46, %f364, 0f3FB504F3; + mul.f32 %f367, %f364, 0f3F000000; + add.f32 %f368, %f366, 0f3F800000; + selp.f32 %f369, %f367, %f364, %p46; + selp.f32 %f370, %f368, %f366, %p46; + add.f32 %f371, %f369, 0fBF800000; + add.f32 %f349, %f369, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f348,%f349; + // inline asm + add.f32 %f372, %f371, %f371; + mul.f32 %f373, %f348, %f372; + mul.f32 %f374, %f373, %f373; + mov.f32 %f375, 0f3C4CAF63; + mov.f32 %f376, 0f3B18F0FE; + fma.rn.f32 %f377, %f376, %f374, %f375; + mov.f32 %f378, 0f3DAAAABD; + fma.rn.f32 %f379, %f377, %f374, %f378; + mul.rn.f32 %f380, %f379, %f374; + mul.rn.f32 %f381, %f380, %f373; + sub.f32 %f382, %f371, %f373; + neg.f32 %f383, %f373; + add.f32 %f384, %f382, %f382; + fma.rn.f32 %f385, %f383, %f371, %f384; + mul.rn.f32 %f386, %f348, %f385; + add.f32 %f387, %f381, %f373; + sub.f32 %f388, %f373, %f387; + add.f32 %f389, %f381, %f388; + add.f32 %f390, %f386, %f389; + add.f32 %f391, %f387, %f390; + sub.f32 %f392, %f387, %f391; + add.f32 %f393, %f390, %f392; + mov.f32 %f394, 0f3F317200; + mul.rn.f32 %f395, %f370, %f394; + mov.f32 %f396, 0f35BFBE8E; + mul.rn.f32 %f397, %f370, %f396; + add.f32 %f398, %f395, %f391; + sub.f32 %f399, %f395, %f398; + add.f32 %f400, %f391, %f399; + add.f32 %f401, %f393, %f400; + add.f32 %f402, %f397, %f401; + add.f32 %f403, %f398, %f402; + sub.f32 %f404, %f398, %f403; + add.f32 %f405, %f402, %f404; + mul.rn.f32 %f406, %f359, %f403; + neg.f32 %f407, %f406; + fma.rn.f32 %f408, %f359, %f403, %f407; + fma.rn.f32 %f409, %f359, %f405, %f408; + mov.f32 %f410, 0f00000000; + fma.rn.f32 %f411, %f410, %f403, %f409; + add.rn.f32 %f412, %f406, %f411; + neg.f32 %f413, %f412; + add.rn.f32 %f414, %f406, %f413; + add.rn.f32 %f415, %f414, %f411; + mov.b32 %r240, %f412; + setp.eq.s32 %p47, %r240, 1118925336; + add.s32 %r241, %r240, -1; + mov.b32 %f416, %r241; + add.f32 %f417, %f415, 0f37000000; + selp.f32 %f418, %f416, %f412, %p47; + selp.f32 %f79, %f417, %f415, %p47; + mul.f32 %f419, %f418, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f420, %f419; + mov.f32 %f421, 0fBF317200; + fma.rn.f32 %f422, %f420, %f421, %f418; + mov.f32 %f423, 0fB5BFBE8E; + fma.rn.f32 %f424, %f420, %f423, %f422; + mul.f32 %f425, %f424, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f426, %f425; + add.f32 %f427, %f420, 0f00000000; + ex2.approx.f32 %f428, %f427; + mul.f32 %f429, %f426, %f428; + setp.lt.f32 %p48, %f418, 0fC2D20000; + selp.f32 %f430, 0f00000000, %f429, %p48; + setp.gt.f32 %p49, %f418, 0f42D20000; + selp.f32 %f1083, 0f7F800000, %f430, %p49; + setp.eq.f32 %p50, %f1083, 0f7F800000; + @%p50 bra BB0_59; + + fma.rn.f32 %f1083, %f1083, %f79, %f1083; + +BB0_59: + mov.f32 %f1000, 0f41200000; + cvt.rzi.f32.f32 %f999, %f1000; + add.f32 %f998, %f999, %f999; + mov.f32 %f997, 0f41A00000; + sub.f32 %f996, %f997, %f998; + abs.f32 %f995, %f996; + setp.lt.f32 %p51, %f76, 0f00000000; + setp.eq.f32 %p52, %f995, 0f3F800000; + and.pred %p1, %p51, %p52; + mov.b32 %r242, %f1083; + xor.b32 %r243, %r242, -2147483648; + mov.b32 %f431, %r243; + selp.f32 %f1085, %f431, %f1083, %p1; + setp.eq.f32 %p53, %f76, 0f00000000; + @%p53 bra BB0_62; + bra.uni BB0_60; + +BB0_62: + add.f32 %f434, %f76, %f76; + selp.f32 %f1085, %f434, 0f00000000, %p52; + bra.uni BB0_63; + +BB0_60: + setp.geu.f32 %p54, %f76, 0f00000000; + @%p54 bra BB0_63; + + mov.f32 %f1036, 0f41A00000; + cvt.rzi.f32.f32 %f433, %f1036; + setp.neu.f32 %p55, %f433, 0f41A00000; + selp.f32 %f1085, 0f7FFFFFFF, %f1085, %p55; + +BB0_63: + add.f32 %f435, %f78, 0f41A00000; + mov.b32 %r244, %f435; + setp.lt.s32 %p57, %r244, 2139095040; + @%p57 bra BB0_68; + + setp.gtu.f32 %p58, %f78, 0f7F800000; + @%p58 bra BB0_67; + bra.uni BB0_65; + +BB0_67: + add.f32 %f1085, %f76, 0f41A00000; + bra.uni BB0_68; + +BB0_65: + setp.neu.f32 %p59, %f78, 0f7F800000; + @%p59 bra BB0_68; + + selp.f32 %f1085, 0fFF800000, 0f7F800000, %p1; + +BB0_68: + setp.eq.f32 %p60, %f76, 0f3F800000; + selp.f32 %f436, 0f3F800000, %f1085, %p60; + cvt.sat.f32.f32 %f437, %f436; + mul.f32 %f90, %f70, %f437; + mul.f32 %f91, %f71, %f437; + mul.f32 %f92, %f72, %f437; + ld.global.u32 %r407, [imageEnabled]; + and.b32 %r245, %r407, 8; + setp.eq.s32 %p61, %r245, 0; + @%p61 bra BB0_81; + + mov.f32 %f1008, 0fB5BFBE8E; + mov.f32 %f1007, 0fBF317200; + mov.f32 %f1006, 0f00000000; + mov.f32 %f1005, 0f35BFBE8E; + mov.f32 %f1004, 0f3F317200; + mov.f32 %f1003, 0f3DAAAABD; + mov.f32 %f1002, 0f3C4CAF63; + mov.f32 %f1001, 0f3B18F0FE; + cvt.u64.u32 %rd60, %r2; + cvt.u64.u32 %rd61, %r3; + mov.u64 %rd64, image_Mask; + cvta.global.u64 %rd59, %rd64; + // inline asm + call (%rd58), _rt_buffer_get_64, (%rd59, %r105, %r105, %rd60, %rd61, %rd30, %rd30); + // inline asm + abs.f32 %f94, %f1082; + setp.lt.f32 %p62, %f94, 0f00800000; + mul.f32 %f443, %f94, 0f4B800000; + selp.f32 %f444, 0fC3170000, 0fC2FE0000, %p62; + selp.f32 %f445, %f443, %f94, %p62; + mov.b32 %r248, %f445; + and.b32 %r249, %r248, 8388607; + or.b32 %r250, %r249, 1065353216; + mov.b32 %f446, %r250; + shr.u32 %r251, %r248, 23; + cvt.rn.f32.u32 %f447, %r251; + add.f32 %f448, %f444, %f447; + setp.gt.f32 %p63, %f446, 0f3FB504F3; + mul.f32 %f449, %f446, 0f3F000000; + add.f32 %f450, %f448, 0f3F800000; + selp.f32 %f451, %f449, %f446, %p63; + selp.f32 %f452, %f450, %f448, %p63; + add.f32 %f453, %f451, 0fBF800000; + add.f32 %f439, %f451, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f438,%f439; + // inline asm + add.f32 %f454, %f453, %f453; + mul.f32 %f455, %f438, %f454; + mul.f32 %f456, %f455, %f455; + fma.rn.f32 %f459, %f1001, %f456, %f1002; + fma.rn.f32 %f461, %f459, %f456, %f1003; + mul.rn.f32 %f462, %f461, %f456; + mul.rn.f32 %f463, %f462, %f455; + sub.f32 %f464, %f453, %f455; + neg.f32 %f465, %f455; + add.f32 %f466, %f464, %f464; + fma.rn.f32 %f467, %f465, %f453, %f466; + mul.rn.f32 %f468, %f438, %f467; + add.f32 %f469, %f463, %f455; + sub.f32 %f470, %f455, %f469; + add.f32 %f471, %f463, %f470; + add.f32 %f472, %f468, %f471; + add.f32 %f473, %f469, %f472; + sub.f32 %f474, %f469, %f473; + add.f32 %f475, %f472, %f474; + mul.rn.f32 %f477, %f452, %f1004; + mul.rn.f32 %f479, %f452, %f1005; + add.f32 %f480, %f477, %f473; + sub.f32 %f481, %f477, %f480; + add.f32 %f482, %f473, %f481; + add.f32 %f483, %f475, %f482; + add.f32 %f484, %f479, %f483; + add.f32 %f485, %f480, %f484; + sub.f32 %f486, %f480, %f485; + add.f32 %f487, %f484, %f486; + mov.f32 %f488, 0f3EE8BA2E; + mul.rn.f32 %f489, %f488, %f485; + neg.f32 %f490, %f489; + fma.rn.f32 %f491, %f488, %f485, %f490; + fma.rn.f32 %f492, %f488, %f487, %f491; + fma.rn.f32 %f494, %f1006, %f485, %f492; + add.rn.f32 %f495, %f489, %f494; + neg.f32 %f496, %f495; + add.rn.f32 %f497, %f489, %f496; + add.rn.f32 %f498, %f497, %f494; + mov.b32 %r252, %f495; + setp.eq.s32 %p64, %r252, 1118925336; + add.s32 %r253, %r252, -1; + mov.b32 %f499, %r253; + add.f32 %f500, %f498, 0f37000000; + selp.f32 %f501, %f499, %f495, %p64; + selp.f32 %f95, %f500, %f498, %p64; + mul.f32 %f502, %f501, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f503, %f502; + fma.rn.f32 %f505, %f503, %f1007, %f501; + fma.rn.f32 %f507, %f503, %f1008, %f505; + mul.f32 %f508, %f507, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f509, %f508; + add.f32 %f510, %f503, 0f00000000; + ex2.approx.f32 %f511, %f510; + mul.f32 %f512, %f509, %f511; + setp.lt.f32 %p65, %f501, 0fC2D20000; + selp.f32 %f513, 0f00000000, %f512, %p65; + setp.gt.f32 %p66, %f501, 0f42D20000; + selp.f32 %f1086, 0f7F800000, %f513, %p66; + setp.eq.f32 %p67, %f1086, 0f7F800000; + @%p67 bra BB0_71; + + fma.rn.f32 %f1086, %f1086, %f95, %f1086; + +BB0_71: + mov.f32 %f1040, 0f3E68BA2E; + cvt.rzi.f32.f32 %f1039, %f1040; + fma.rn.f32 %f1038, %f1039, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f1037, %f1038; + setp.lt.f32 %p68, %f1082, 0f00000000; + setp.eq.f32 %p69, %f1037, 0f3F800000; + and.pred %p2, %p68, %p69; + mov.b32 %r254, %f1086; + xor.b32 %r255, %r254, -2147483648; + mov.b32 %f514, %r255; + selp.f32 %f1088, %f514, %f1086, %p2; + setp.eq.f32 %p70, %f1082, 0f00000000; + @%p70 bra BB0_74; + bra.uni BB0_72; + +BB0_74: + add.f32 %f517, %f1082, %f1082; + selp.f32 %f1088, %f517, 0f00000000, %p69; + bra.uni BB0_75; + +BB0_142: + mov.u64 %rd206, image_HDR; + cvta.global.u64 %rd201, %rd206; + mov.u32 %r352, 8; + // inline asm + call (%rd200), _rt_buffer_get_64, (%rd201, %r105, %r352, %rd23, %rd24, %rd30, %rd30); + // inline asm + mov.f32 %f973, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f973;} + + // inline asm + mov.u16 %rs117, 0; + st.v4.u16 [%rd200], {%rs116, %rs116, %rs116, %rs117}; + +BB0_143: + ld.global.u32 %r353, [additive]; + setp.eq.s32 %p145, %r353, 0; + @%p145 bra BB0_145; + + mov.u64 %rd219, image_RNM0; + cvta.global.u64 %rd208, %rd219; + mov.u32 %r357, 8; + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd208, %r105, %r357, %rd23, %rd24, %rd30, %rd30); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd207]; + // inline asm + { cvt.f32.f16 %f974, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f975, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f976, %rs126;} + + // inline asm + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd208, %r105, %r357, %rd23, %rd24, %rd30, %rd30); + // inline asm + add.f32 %f977, %f974, 0f00000000; + add.f32 %f978, %f975, 0f00000000; + add.f32 %f979, %f976, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f979;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f978;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f977;} + + // inline asm + mov.u16 %rs128, 0; + st.v4.u16 [%rd213], {%rs121, %rs122, %rs123, %rs128}; + bra.uni BB0_146; + +BB0_145: + mov.u64 %rd226, image_RNM0; + cvta.global.u64 %rd221, %rd226; + mov.u32 %r359, 8; + // inline asm + call (%rd220), _rt_buffer_get_64, (%rd221, %r105, %r359, %rd23, %rd24, %rd30, %rd30); + // inline asm + mov.f32 %f980, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs129, %f980;} + + // inline asm + mov.u16 %rs130, 0; + st.v4.u16 [%rd220], {%rs129, %rs129, %rs129, %rs130}; + +BB0_146: + ld.global.u32 %r360, [additive]; + setp.eq.s32 %p146, %r360, 0; + @%p146 bra BB0_148; + + mov.u64 %rd239, image_RNM1; + cvta.global.u64 %rd228, %rd239; + mov.u32 %r364, 8; + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd228, %r105, %r364, %rd23, %rd24, %rd30, %rd30); + // inline asm + ld.v4.u16 {%rs137, %rs138, %rs139, %rs140}, [%rd227]; + // inline asm + { cvt.f32.f16 %f981, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f982, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f983, %rs139;} + + // inline asm + // inline asm + call (%rd233), _rt_buffer_get_64, (%rd228, %r105, %r364, %rd23, %rd24, %rd30, %rd30); + // inline asm + add.f32 %f984, %f981, 0f00000000; + add.f32 %f985, %f982, 0f00000000; + add.f32 %f986, %f983, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs136, %f986;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f985;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f984;} + + // inline asm + mov.u16 %rs141, 0; + st.v4.u16 [%rd233], {%rs134, %rs135, %rs136, %rs141}; + bra.uni BB0_149; + +BB0_148: + mov.u64 %rd246, image_RNM1; + cvta.global.u64 %rd241, %rd246; + mov.u32 %r366, 8; + // inline asm + call (%rd240), _rt_buffer_get_64, (%rd241, %r105, %r366, %rd23, %rd24, %rd30, %rd30); + // inline asm + mov.f32 %f987, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs142, %f987;} + + // inline asm + mov.u16 %rs143, 0; + st.v4.u16 [%rd240], {%rs142, %rs142, %rs142, %rs143}; + +BB0_149: + ld.global.u32 %r367, [additive]; + setp.eq.s32 %p147, %r367, 0; + @%p147 bra BB0_151; + + mov.u64 %rd259, image_RNM2; + cvta.global.u64 %rd248, %rd259; + mov.u32 %r371, 8; + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd248, %r105, %r371, %rd23, %rd24, %rd30, %rd30); + // inline asm + ld.v4.u16 {%rs150, %rs151, %rs152, %rs153}, [%rd247]; + // inline asm + { cvt.f32.f16 %f988, %rs150;} + + // inline asm + // inline asm + { cvt.f32.f16 %f989, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f990, %rs152;} + + // inline asm + // inline asm + call (%rd253), _rt_buffer_get_64, (%rd248, %r105, %r371, %rd23, %rd24, %rd30, %rd30); + // inline asm + add.f32 %f991, %f988, 0f00000000; + add.f32 %f992, %f989, 0f00000000; + add.f32 %f993, %f990, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs149, %f993;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f992;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs147, %f991;} + + // inline asm + mov.u16 %rs154, 0; + st.v4.u16 [%rd253], {%rs147, %rs148, %rs149, %rs154}; + bra.uni BB0_152; + +BB0_151: + mov.u64 %rd266, image_RNM2; + cvta.global.u64 %rd261, %rd266; + mov.u32 %r373, 8; + // inline asm + call (%rd260), _rt_buffer_get_64, (%rd261, %r105, %r373, %rd23, %rd24, %rd30, %rd30); + // inline asm + mov.f32 %f994, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs155, %f994;} + + // inline asm + mov.u16 %rs156, 0; + st.v4.u16 [%rd260], {%rs155, %rs155, %rs155, %rs156}; + bra.uni BB0_152; + +BB0_72: + setp.geu.f32 %p71, %f1082, 0f00000000; + @%p71 bra BB0_75; + + mov.f32 %f1044, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f516, %f1044; + setp.neu.f32 %p72, %f516, 0f3EE8BA2E; + selp.f32 %f1088, 0f7FFFFFFF, %f1088, %p72; + +BB0_75: + abs.f32 %f1041, %f1082; + add.f32 %f518, %f1041, 0f3EE8BA2E; + mov.b32 %r256, %f518; + setp.lt.s32 %p74, %r256, 2139095040; + @%p74 bra BB0_80; + + abs.f32 %f1042, %f1082; + setp.gtu.f32 %p75, %f1042, 0f7F800000; + @%p75 bra BB0_79; + bra.uni BB0_77; + +BB0_79: + add.f32 %f1088, %f1082, 0f3EE8BA2E; + bra.uni BB0_80; + +BB0_77: + abs.f32 %f1043, %f1082; + setp.neu.f32 %p76, %f1043, 0f7F800000; + @%p76 bra BB0_80; + + selp.f32 %f1088, 0fFF800000, 0f7F800000, %p2; + +BB0_80: + mul.f32 %f519, %f1088, 0f437F0000; + setp.eq.f32 %p77, %f1082, 0f3F800000; + selp.f32 %f520, 0f437F0000, %f519, %p77; + cvt.rzi.u32.f32 %r257, %f520; + cvt.u16.u32 %rs13, %r257; + mov.u16 %rs14, 255; + st.v2.u8 [%rd58], {%rs13, %rs14}; + ld.global.u32 %r407, [imageEnabled]; + +BB0_81: + and.b32 %r258, %r407, 1; + setp.eq.b32 %p78, %r258, 1; + @!%p78 bra BB0_116; + bra.uni BB0_82; + +BB0_82: + mov.f32 %f1016, 0fB5BFBE8E; + mov.f32 %f1015, 0fBF317200; + mov.f32 %f1014, 0f00000000; + mov.f32 %f1013, 0f35BFBE8E; + mov.f32 %f1012, 0f3F317200; + mov.f32 %f1011, 0f3DAAAABD; + mov.f32 %f1010, 0f3C4CAF63; + mov.f32 %f1009, 0f3B18F0FE; + abs.f32 %f107, %f73; + setp.lt.f32 %p79, %f107, 0f00800000; + mul.f32 %f526, %f107, 0f4B800000; + selp.f32 %f527, 0fC3170000, 0fC2FE0000, %p79; + selp.f32 %f528, %f526, %f107, %p79; + mov.b32 %r259, %f528; + and.b32 %r260, %r259, 8388607; + or.b32 %r261, %r260, 1065353216; + mov.b32 %f529, %r261; + shr.u32 %r262, %r259, 23; + cvt.rn.f32.u32 %f530, %r262; + add.f32 %f531, %f527, %f530; + setp.gt.f32 %p80, %f529, 0f3FB504F3; + mul.f32 %f532, %f529, 0f3F000000; + add.f32 %f533, %f531, 0f3F800000; + selp.f32 %f534, %f532, %f529, %p80; + selp.f32 %f535, %f533, %f531, %p80; + add.f32 %f536, %f534, 0fBF800000; + add.f32 %f522, %f534, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f521,%f522; + // inline asm + add.f32 %f537, %f536, %f536; + mul.f32 %f538, %f521, %f537; + mul.f32 %f539, %f538, %f538; + fma.rn.f32 %f542, %f1009, %f539, %f1010; + fma.rn.f32 %f544, %f542, %f539, %f1011; + mul.rn.f32 %f545, %f544, %f539; + mul.rn.f32 %f546, %f545, %f538; + sub.f32 %f547, %f536, %f538; + neg.f32 %f548, %f538; + add.f32 %f549, %f547, %f547; + fma.rn.f32 %f550, %f548, %f536, %f549; + mul.rn.f32 %f551, %f521, %f550; + add.f32 %f552, %f546, %f538; + sub.f32 %f553, %f538, %f552; + add.f32 %f554, %f546, %f553; + add.f32 %f555, %f551, %f554; + add.f32 %f556, %f552, %f555; + sub.f32 %f557, %f552, %f556; + add.f32 %f558, %f555, %f557; + mul.rn.f32 %f560, %f535, %f1012; + mul.rn.f32 %f562, %f535, %f1013; + add.f32 %f563, %f560, %f556; + sub.f32 %f564, %f560, %f563; + add.f32 %f565, %f556, %f564; + add.f32 %f566, %f558, %f565; + add.f32 %f567, %f562, %f566; + add.f32 %f568, %f563, %f567; + sub.f32 %f569, %f563, %f568; + add.f32 %f570, %f567, %f569; + mov.f32 %f571, 0f3EE66666; + mul.rn.f32 %f572, %f571, %f568; + neg.f32 %f573, %f572; + fma.rn.f32 %f574, %f571, %f568, %f573; + fma.rn.f32 %f575, %f571, %f570, %f574; + fma.rn.f32 %f577, %f1014, %f568, %f575; + add.rn.f32 %f578, %f572, %f577; + neg.f32 %f579, %f578; + add.rn.f32 %f580, %f572, %f579; + add.rn.f32 %f581, %f580, %f577; + mov.b32 %r263, %f578; + setp.eq.s32 %p81, %r263, 1118925336; + add.s32 %r264, %r263, -1; + mov.b32 %f582, %r264; + add.f32 %f583, %f581, 0f37000000; + selp.f32 %f584, %f582, %f578, %p81; + selp.f32 %f108, %f583, %f581, %p81; + mul.f32 %f585, %f584, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f586, %f585; + fma.rn.f32 %f588, %f586, %f1015, %f584; + fma.rn.f32 %f590, %f586, %f1016, %f588; + mul.f32 %f591, %f590, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f592, %f591; + add.f32 %f593, %f586, 0f00000000; + ex2.approx.f32 %f594, %f593; + mul.f32 %f595, %f592, %f594; + setp.lt.f32 %p82, %f584, 0fC2D20000; + selp.f32 %f596, 0f00000000, %f595, %p82; + setp.gt.f32 %p83, %f584, 0f42D20000; + selp.f32 %f1089, 0f7F800000, %f596, %p83; + setp.eq.f32 %p84, %f1089, 0f7F800000; + @%p84 bra BB0_84; + + fma.rn.f32 %f1089, %f1089, %f108, %f1089; + +BB0_84: + mov.f32 %f1048, 0f3E666666; + cvt.rzi.f32.f32 %f1047, %f1048; + fma.rn.f32 %f1046, %f1047, 0fC0000000, 0f3EE66666; + abs.f32 %f1045, %f1046; + setp.lt.f32 %p85, %f73, 0f00000000; + setp.eq.f32 %p86, %f1045, 0f3F800000; + and.pred %p3, %p85, %p86; + mov.b32 %r265, %f1089; + xor.b32 %r266, %r265, -2147483648; + mov.b32 %f597, %r266; + selp.f32 %f1091, %f597, %f1089, %p3; + setp.eq.f32 %p87, %f73, 0f00000000; + @%p87 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f600, %f73, %f73; + selp.f32 %f1091, %f600, 0f00000000, %p86; + bra.uni BB0_88; + +BB0_85: + setp.geu.f32 %p88, %f73, 0f00000000; + @%p88 bra BB0_88; + + mov.f32 %f1056, 0f3EE66666; + cvt.rzi.f32.f32 %f599, %f1056; + setp.neu.f32 %p89, %f599, 0f3EE66666; + selp.f32 %f1091, 0f7FFFFFFF, %f1091, %p89; + +BB0_88: + abs.f32 %f1049, %f73; + add.f32 %f601, %f1049, 0f3EE66666; + mov.b32 %r267, %f601; + setp.lt.s32 %p91, %r267, 2139095040; + @%p91 bra BB0_93; + + abs.f32 %f1054, %f73; + setp.gtu.f32 %p92, %f1054, 0f7F800000; + @%p92 bra BB0_92; + bra.uni BB0_90; + +BB0_92: + add.f32 %f1091, %f73, 0f3EE66666; + bra.uni BB0_93; + +BB0_90: + abs.f32 %f1055, %f73; + setp.neu.f32 %p93, %f1055, 0f7F800000; + @%p93 bra BB0_93; + + selp.f32 %f1091, 0fFF800000, 0f7F800000, %p3; + +BB0_93: + mov.f32 %f1050, 0f3EE66666; + mov.f32 %f1024, 0fB5BFBE8E; + mov.f32 %f1023, 0fBF317200; + mov.f32 %f1022, 0f00000000; + mov.f32 %f1021, 0f35BFBE8E; + mov.f32 %f1020, 0f3F317200; + mov.f32 %f1019, 0f3DAAAABD; + mov.f32 %f1018, 0f3C4CAF63; + mov.f32 %f1017, 0f3B18F0FE; + setp.eq.f32 %p94, %f73, 0f3F800000; + selp.f32 %f119, 0f3F800000, %f1091, %p94; + abs.f32 %f120, %f74; + setp.lt.f32 %p95, %f120, 0f00800000; + mul.f32 %f604, %f120, 0f4B800000; + selp.f32 %f605, 0fC3170000, 0fC2FE0000, %p95; + selp.f32 %f606, %f604, %f120, %p95; + mov.b32 %r268, %f606; + and.b32 %r269, %r268, 8388607; + or.b32 %r270, %r269, 1065353216; + mov.b32 %f607, %r270; + shr.u32 %r271, %r268, 23; + cvt.rn.f32.u32 %f608, %r271; + add.f32 %f609, %f605, %f608; + setp.gt.f32 %p96, %f607, 0f3FB504F3; + mul.f32 %f610, %f607, 0f3F000000; + add.f32 %f611, %f609, 0f3F800000; + selp.f32 %f612, %f610, %f607, %p96; + selp.f32 %f613, %f611, %f609, %p96; + add.f32 %f614, %f612, 0fBF800000; + add.f32 %f603, %f612, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f602,%f603; + // inline asm + add.f32 %f615, %f614, %f614; + mul.f32 %f616, %f602, %f615; + mul.f32 %f617, %f616, %f616; + fma.rn.f32 %f620, %f1017, %f617, %f1018; + fma.rn.f32 %f622, %f620, %f617, %f1019; + mul.rn.f32 %f623, %f622, %f617; + mul.rn.f32 %f624, %f623, %f616; + sub.f32 %f625, %f614, %f616; + neg.f32 %f626, %f616; + add.f32 %f627, %f625, %f625; + fma.rn.f32 %f628, %f626, %f614, %f627; + mul.rn.f32 %f629, %f602, %f628; + add.f32 %f630, %f624, %f616; + sub.f32 %f631, %f616, %f630; + add.f32 %f632, %f624, %f631; + add.f32 %f633, %f629, %f632; + add.f32 %f634, %f630, %f633; + sub.f32 %f635, %f630, %f634; + add.f32 %f636, %f633, %f635; + mul.rn.f32 %f638, %f613, %f1020; + mul.rn.f32 %f640, %f613, %f1021; + add.f32 %f641, %f638, %f634; + sub.f32 %f642, %f638, %f641; + add.f32 %f643, %f634, %f642; + add.f32 %f644, %f636, %f643; + add.f32 %f645, %f640, %f644; + add.f32 %f646, %f641, %f645; + sub.f32 %f647, %f641, %f646; + add.f32 %f648, %f645, %f647; + mul.rn.f32 %f650, %f1050, %f646; + neg.f32 %f651, %f650; + fma.rn.f32 %f652, %f1050, %f646, %f651; + fma.rn.f32 %f653, %f1050, %f648, %f652; + fma.rn.f32 %f655, %f1022, %f646, %f653; + add.rn.f32 %f656, %f650, %f655; + neg.f32 %f657, %f656; + add.rn.f32 %f658, %f650, %f657; + add.rn.f32 %f659, %f658, %f655; + mov.b32 %r272, %f656; + setp.eq.s32 %p97, %r272, 1118925336; + add.s32 %r273, %r272, -1; + mov.b32 %f660, %r273; + add.f32 %f661, %f659, 0f37000000; + selp.f32 %f662, %f660, %f656, %p97; + selp.f32 %f121, %f661, %f659, %p97; + mul.f32 %f663, %f662, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f664, %f663; + fma.rn.f32 %f666, %f664, %f1023, %f662; + fma.rn.f32 %f668, %f664, %f1024, %f666; + mul.f32 %f669, %f668, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f670, %f669; + add.f32 %f671, %f664, 0f00000000; + ex2.approx.f32 %f672, %f671; + mul.f32 %f673, %f670, %f672; + setp.lt.f32 %p98, %f662, 0fC2D20000; + selp.f32 %f674, 0f00000000, %f673, %p98; + setp.gt.f32 %p99, %f662, 0f42D20000; + selp.f32 %f1092, 0f7F800000, %f674, %p99; + setp.eq.f32 %p100, %f1092, 0f7F800000; + @%p100 bra BB0_95; + + fma.rn.f32 %f1092, %f1092, %f121, %f1092; + +BB0_95: + setp.lt.f32 %p101, %f74, 0f00000000; + and.pred %p4, %p101, %p86; + mov.b32 %r274, %f1092; + xor.b32 %r275, %r274, -2147483648; + mov.b32 %f675, %r275; + selp.f32 %f1094, %f675, %f1092, %p4; + setp.eq.f32 %p103, %f74, 0f00000000; + @%p103 bra BB0_98; + bra.uni BB0_96; + +BB0_98: + add.f32 %f678, %f74, %f74; + selp.f32 %f1094, %f678, 0f00000000, %p86; + bra.uni BB0_99; + +BB0_96: + setp.geu.f32 %p104, %f74, 0f00000000; + @%p104 bra BB0_99; + + mov.f32 %f1053, 0f3EE66666; + cvt.rzi.f32.f32 %f677, %f1053; + setp.neu.f32 %p105, %f677, 0f3EE66666; + selp.f32 %f1094, 0f7FFFFFFF, %f1094, %p105; + +BB0_99: + abs.f32 %f1057, %f74; + add.f32 %f679, %f1057, 0f3EE66666; + mov.b32 %r276, %f679; + setp.lt.s32 %p107, %r276, 2139095040; + @%p107 bra BB0_104; + + abs.f32 %f1058, %f74; + setp.gtu.f32 %p108, %f1058, 0f7F800000; + @%p108 bra BB0_103; + bra.uni BB0_101; + +BB0_103: + add.f32 %f1094, %f74, 0f3EE66666; + bra.uni BB0_104; + +BB0_101: + abs.f32 %f1059, %f74; + setp.neu.f32 %p109, %f1059, 0f7F800000; + @%p109 bra BB0_104; + + selp.f32 %f1094, 0fFF800000, 0f7F800000, %p4; + +BB0_104: + mov.f32 %f1051, 0f3EE66666; + mov.f32 %f1032, 0fB5BFBE8E; + mov.f32 %f1031, 0fBF317200; + mov.f32 %f1030, 0f00000000; + mov.f32 %f1029, 0f35BFBE8E; + mov.f32 %f1028, 0f3F317200; + mov.f32 %f1027, 0f3DAAAABD; + mov.f32 %f1026, 0f3C4CAF63; + mov.f32 %f1025, 0f3B18F0FE; + setp.eq.f32 %p110, %f74, 0f3F800000; + selp.f32 %f132, 0f3F800000, %f1094, %p110; + abs.f32 %f133, %f75; + setp.lt.f32 %p111, %f133, 0f00800000; + mul.f32 %f682, %f133, 0f4B800000; + selp.f32 %f683, 0fC3170000, 0fC2FE0000, %p111; + selp.f32 %f684, %f682, %f133, %p111; + mov.b32 %r277, %f684; + and.b32 %r278, %r277, 8388607; + or.b32 %r279, %r278, 1065353216; + mov.b32 %f685, %r279; + shr.u32 %r280, %r277, 23; + cvt.rn.f32.u32 %f686, %r280; + add.f32 %f687, %f683, %f686; + setp.gt.f32 %p112, %f685, 0f3FB504F3; + mul.f32 %f688, %f685, 0f3F000000; + add.f32 %f689, %f687, 0f3F800000; + selp.f32 %f690, %f688, %f685, %p112; + selp.f32 %f691, %f689, %f687, %p112; + add.f32 %f692, %f690, 0fBF800000; + add.f32 %f681, %f690, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f680,%f681; + // inline asm + add.f32 %f693, %f692, %f692; + mul.f32 %f694, %f680, %f693; + mul.f32 %f695, %f694, %f694; + fma.rn.f32 %f698, %f1025, %f695, %f1026; + fma.rn.f32 %f700, %f698, %f695, %f1027; + mul.rn.f32 %f701, %f700, %f695; + mul.rn.f32 %f702, %f701, %f694; + sub.f32 %f703, %f692, %f694; + neg.f32 %f704, %f694; + add.f32 %f705, %f703, %f703; + fma.rn.f32 %f706, %f704, %f692, %f705; + mul.rn.f32 %f707, %f680, %f706; + add.f32 %f708, %f702, %f694; + sub.f32 %f709, %f694, %f708; + add.f32 %f710, %f702, %f709; + add.f32 %f711, %f707, %f710; + add.f32 %f712, %f708, %f711; + sub.f32 %f713, %f708, %f712; + add.f32 %f714, %f711, %f713; + mul.rn.f32 %f716, %f691, %f1028; + mul.rn.f32 %f718, %f691, %f1029; + add.f32 %f719, %f716, %f712; + sub.f32 %f720, %f716, %f719; + add.f32 %f721, %f712, %f720; + add.f32 %f722, %f714, %f721; + add.f32 %f723, %f718, %f722; + add.f32 %f724, %f719, %f723; + sub.f32 %f725, %f719, %f724; + add.f32 %f726, %f723, %f725; + mul.rn.f32 %f728, %f1051, %f724; + neg.f32 %f729, %f728; + fma.rn.f32 %f730, %f1051, %f724, %f729; + fma.rn.f32 %f731, %f1051, %f726, %f730; + fma.rn.f32 %f733, %f1030, %f724, %f731; + add.rn.f32 %f734, %f728, %f733; + neg.f32 %f735, %f734; + add.rn.f32 %f736, %f728, %f735; + add.rn.f32 %f737, %f736, %f733; + mov.b32 %r281, %f734; + setp.eq.s32 %p113, %r281, 1118925336; + add.s32 %r282, %r281, -1; + mov.b32 %f738, %r282; + add.f32 %f739, %f737, 0f37000000; + selp.f32 %f740, %f738, %f734, %p113; + selp.f32 %f134, %f739, %f737, %p113; + mul.f32 %f741, %f740, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f742, %f741; + fma.rn.f32 %f744, %f742, %f1031, %f740; + fma.rn.f32 %f746, %f742, %f1032, %f744; + mul.f32 %f747, %f746, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f748, %f747; + add.f32 %f749, %f742, 0f00000000; + ex2.approx.f32 %f750, %f749; + mul.f32 %f751, %f748, %f750; + setp.lt.f32 %p114, %f740, 0fC2D20000; + selp.f32 %f752, 0f00000000, %f751, %p114; + setp.gt.f32 %p115, %f740, 0f42D20000; + selp.f32 %f1095, 0f7F800000, %f752, %p115; + setp.eq.f32 %p116, %f1095, 0f7F800000; + @%p116 bra BB0_106; + + fma.rn.f32 %f1095, %f1095, %f134, %f1095; + +BB0_106: + setp.lt.f32 %p117, %f75, 0f00000000; + and.pred %p5, %p117, %p86; + mov.b32 %r283, %f1095; + xor.b32 %r284, %r283, -2147483648; + mov.b32 %f753, %r284; + selp.f32 %f1097, %f753, %f1095, %p5; + setp.eq.f32 %p119, %f75, 0f00000000; + @%p119 bra BB0_109; + bra.uni BB0_107; + +BB0_109: + add.f32 %f756, %f75, %f75; + selp.f32 %f1097, %f756, 0f00000000, %p86; + bra.uni BB0_110; + +BB0_107: + setp.geu.f32 %p120, %f75, 0f00000000; + @%p120 bra BB0_110; + + mov.f32 %f1052, 0f3EE66666; + cvt.rzi.f32.f32 %f755, %f1052; + setp.neu.f32 %p121, %f755, 0f3EE66666; + selp.f32 %f1097, 0f7FFFFFFF, %f1097, %p121; + +BB0_110: + abs.f32 %f1060, %f75; + add.f32 %f757, %f1060, 0f3EE66666; + mov.b32 %r285, %f757; + setp.lt.s32 %p123, %r285, 2139095040; + @%p123 bra BB0_115; + + abs.f32 %f1061, %f75; + setp.gtu.f32 %p124, %f1061, 0f7F800000; + @%p124 bra BB0_114; + bra.uni BB0_112; + +BB0_114: + add.f32 %f1097, %f75, 0f3EE66666; + bra.uni BB0_115; + +BB0_112: + abs.f32 %f1062, %f75; + setp.neu.f32 %p125, %f1062, 0f7F800000; + @%p125 bra BB0_115; + + selp.f32 %f1097, 0fFF800000, 0f7F800000, %p5; + +BB0_115: + mov.u32 %r374, 4; + setp.eq.f32 %p126, %f75, 0f3F800000; + selp.f32 %f758, 0f3F800000, %f1097, %p126; + cvt.u64.u32 %rd68, %r3; + cvt.u64.u32 %rd67, %r2; + mov.u64 %rd71, image; + cvta.global.u64 %rd66, %rd71; + // inline asm + call (%rd65), _rt_buffer_get_64, (%rd66, %r105, %r374, %rd67, %rd68, %rd30, %rd30); + // inline asm + cvt.sat.f32.f32 %f759, %f758; + mul.f32 %f760, %f759, 0f437FFD71; + cvt.rzi.u32.f32 %r288, %f760; + cvt.sat.f32.f32 %f761, %f132; + mul.f32 %f762, %f761, 0f437FFD71; + cvt.rzi.u32.f32 %r289, %f762; + cvt.sat.f32.f32 %f763, %f119; + mul.f32 %f764, %f763, 0f437FFD71; + cvt.rzi.u32.f32 %r290, %f764; + cvt.u16.u32 %rs15, %r288; + cvt.u16.u32 %rs16, %r290; + cvt.u16.u32 %rs17, %r289; + mov.u16 %rs18, 255; + st.v4.u8 [%rd65], {%rs15, %rs17, %rs16, %rs18}; + ld.global.u32 %r407, [imageEnabled]; + +BB0_116: + and.b32 %r291, %r407, 4; + setp.eq.s32 %p127, %r291, 0; + @%p127 bra BB0_120; + + ld.global.u32 %r292, [additive]; + setp.eq.s32 %p128, %r292, 0; + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + mov.f32 %f765, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs19, %f765;} + + // inline asm + @%p128 bra BB0_119; + + mov.u64 %rd84, image_HDR; + cvta.global.u64 %rd73, %rd84; + mov.u32 %r296, 8; + // inline asm + call (%rd72), _rt_buffer_get_64, (%rd73, %r105, %r296, %rd16, %rd17, %rd30, %rd30); + // inline asm + ld.v4.u16 {%rs26, %rs27, %rs28, %rs29}, [%rd72]; + // inline asm + { cvt.f32.f16 %f766, %rs26;} + + // inline asm + // inline asm + { cvt.f32.f16 %f767, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f768, %rs28;} + + // inline asm + // inline asm + call (%rd78), _rt_buffer_get_64, (%rd73, %r105, %r296, %rd16, %rd17, %rd30, %rd30); + // inline asm + add.f32 %f769, %f73, %f766; + add.f32 %f770, %f74, %f767; + add.f32 %f771, %f75, %f768; + // inline asm + { cvt.rn.f16.f32 %rs25, %f771;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f770;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs23, %f769;} + + // inline asm + st.v4.u16 [%rd78], {%rs23, %rs24, %rs25, %rs19}; + bra.uni BB0_120; + +BB0_119: + mov.u64 %rd91, image_HDR; + cvta.global.u64 %rd86, %rd91; + mov.u32 %r298, 8; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd86, %r105, %r298, %rd16, %rd17, %rd30, %rd30); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f75;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f74;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f73;} + + // inline asm + st.v4.u16 [%rd85], {%rs30, %rs31, %rs32, %rs19}; + +BB0_120: + mov.f32 %f1098, 0f00000000; + mov.u32 %r375, 4; + ld.global.v2.u32 {%r301, %r302}, [pixelID]; + cvt.u64.u32 %rd94, %r301; + cvt.u64.u32 %rd95, %r302; + mov.u64 %rd98, uvtangent; + cvta.global.u64 %rd93, %rd98; + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd93, %r105, %r375, %rd94, %rd95, %rd30, %rd30); + // inline asm + ld.u32 %r94, [%rd92]; + shr.u32 %r95, %r94, 16; + cvt.u16.u32 %rs33, %r95; + and.b16 %rs34, %rs33, 255; + cvt.u16.u32 %rs35, %r94; + or.b16 %rs36, %rs35, %rs34; + setp.eq.s16 %p129, %rs36, 0; + mov.f32 %f1099, %f1098; + mov.f32 %f1100, %f1098; + @%p129 bra BB0_122; + + ld.u8 %rs37, [%rd92+1]; + and.b16 %rs39, %rs35, 255; + cvt.rn.f32.u16 %f778, %rs39; + div.rn.f32 %f779, %f778, 0f437F0000; + fma.rn.f32 %f780, %f779, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f781, %rs37; + div.rn.f32 %f782, %f781, 0f437F0000; + fma.rn.f32 %f783, %f782, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f784, %rs34; + div.rn.f32 %f785, %f784, 0f437F0000; + fma.rn.f32 %f786, %f785, 0f40000000, 0fBF800000; + mul.f32 %f787, %f783, %f783; + fma.rn.f32 %f788, %f780, %f780, %f787; + fma.rn.f32 %f789, %f786, %f786, %f788; + sqrt.rn.f32 %f790, %f789; + rcp.rn.f32 %f791, %f790; + mul.f32 %f1098, %f780, %f791; + mul.f32 %f1099, %f783, %f791; + mul.f32 %f1100, %f786, %f791; + +BB0_122: + mov.f32 %f1101, 0f00000000; + mov.u32 %r376, 4; + mul.f32 %f795, %f1065, %f1099; + mul.f32 %f796, %f1064, %f1100; + sub.f32 %f797, %f796, %f795; + mul.f32 %f798, %f1063, %f1100; + mul.f32 %f799, %f1065, %f1098; + sub.f32 %f800, %f799, %f798; + mul.f32 %f801, %f1064, %f1098; + mul.f32 %f802, %f1063, %f1099; + sub.f32 %f803, %f802, %f801; + setp.lt.u32 %p130, %r94, 16777216; + selp.f32 %f804, 0fBF800000, 0f3F800000, %p130; + mul.f32 %f805, %f797, %f804; + mul.f32 %f806, %f800, %f804; + mul.f32 %f807, %f803, %f804; + mul.f32 %f808, %f805, 0f00000000; + mul.f32 %f809, %f806, 0f00000000; + mul.f32 %f810, %f807, 0f00000000; + fma.rn.f32 %f811, %f1098, 0f3F5105EC, %f808; + fma.rn.f32 %f812, %f1099, 0f3F5105EC, %f809; + fma.rn.f32 %f813, %f1100, 0f3F5105EC, %f810; + mul.f32 %f151, %f1063, 0f3F13CD3A; + add.f32 %f152, %f151, %f811; + mul.f32 %f153, %f1064, 0f3F13CD3A; + add.f32 %f154, %f153, %f812; + mul.f32 %f155, %f1065, 0f3F13CD3A; + add.f32 %f156, %f155, %f813; + ld.global.v2.u32 {%r307, %r308}, [pixelID]; + cvt.u64.u32 %rd101, %r307; + cvt.u64.u32 %rd102, %r308; + // inline asm + call (%rd99), _rt_buffer_get_64, (%rd93, %r105, %r376, %rd101, %rd102, %rd30, %rd30); + // inline asm + ld.u32 %r96, [%rd99]; + shr.u32 %r97, %r96, 16; + cvt.u16.u32 %rs42, %r97; + and.b16 %rs43, %rs42, 255; + cvt.u16.u32 %rs44, %r96; + or.b16 %rs45, %rs44, %rs43; + setp.eq.s16 %p131, %rs45, 0; + mov.f32 %f1102, %f1101; + mov.f32 %f1103, %f1101; + @%p131 bra BB0_124; + + ld.u8 %rs46, [%rd99+1]; + and.b16 %rs48, %rs44, 255; + cvt.rn.f32.u16 %f814, %rs48; + div.rn.f32 %f815, %f814, 0f437F0000; + fma.rn.f32 %f816, %f815, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f817, %rs46; + div.rn.f32 %f818, %f817, 0f437F0000; + fma.rn.f32 %f819, %f818, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f820, %rs43; + div.rn.f32 %f821, %f820, 0f437F0000; + fma.rn.f32 %f822, %f821, 0f40000000, 0fBF800000; + mul.f32 %f823, %f819, %f819; + fma.rn.f32 %f824, %f816, %f816, %f823; + fma.rn.f32 %f825, %f822, %f822, %f824; + sqrt.rn.f32 %f826, %f825; + rcp.rn.f32 %f827, %f826; + mul.f32 %f1101, %f816, %f827; + mul.f32 %f1102, %f819, %f827; + mul.f32 %f1103, %f822, %f827; + +BB0_124: + mov.f32 %f1104, 0f00000000; + mov.u32 %r377, 4; + mul.f32 %f831, %f1065, %f1102; + mul.f32 %f832, %f1064, %f1103; + sub.f32 %f833, %f832, %f831; + mul.f32 %f834, %f1063, %f1103; + mul.f32 %f835, %f1065, %f1101; + sub.f32 %f836, %f835, %f834; + mul.f32 %f837, %f1064, %f1101; + mul.f32 %f838, %f1063, %f1102; + sub.f32 %f839, %f838, %f837; + setp.lt.u32 %p132, %r96, 16777216; + selp.f32 %f840, 0fBF800000, 0f3F800000, %p132; + mul.f32 %f841, %f833, %f840; + mul.f32 %f842, %f836, %f840; + mul.f32 %f843, %f839, %f840; + mul.f32 %f844, %f841, 0f3F3504F3; + mul.f32 %f845, %f842, 0f3F3504F3; + mul.f32 %f846, %f843, 0f3F3504F3; + fma.rn.f32 %f847, %f1101, 0fBED105EC, %f844; + fma.rn.f32 %f848, %f1102, 0fBED105EC, %f845; + fma.rn.f32 %f849, %f1103, 0fBED105EC, %f846; + add.f32 %f163, %f151, %f847; + add.f32 %f164, %f153, %f848; + add.f32 %f165, %f155, %f849; + ld.global.v2.u32 {%r313, %r314}, [pixelID]; + cvt.u64.u32 %rd108, %r313; + cvt.u64.u32 %rd109, %r314; + // inline asm + call (%rd106), _rt_buffer_get_64, (%rd93, %r105, %r377, %rd108, %rd109, %rd30, %rd30); + // inline asm + ld.u32 %r98, [%rd106]; + shr.u32 %r99, %r98, 16; + cvt.u16.u32 %rs51, %r99; + and.b16 %rs52, %rs51, 255; + cvt.u16.u32 %rs53, %r98; + or.b16 %rs54, %rs53, %rs52; + setp.eq.s16 %p133, %rs54, 0; + mov.f32 %f1105, %f1104; + mov.f32 %f1106, %f1104; + @%p133 bra BB0_126; + + ld.u8 %rs55, [%rd106+1]; + and.b16 %rs57, %rs53, 255; + cvt.rn.f32.u16 %f850, %rs57; + div.rn.f32 %f851, %f850, 0f437F0000; + fma.rn.f32 %f852, %f851, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f853, %rs55; + div.rn.f32 %f854, %f853, 0f437F0000; + fma.rn.f32 %f855, %f854, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f856, %rs52; + div.rn.f32 %f857, %f856, 0f437F0000; + fma.rn.f32 %f858, %f857, 0f40000000, 0fBF800000; + mul.f32 %f859, %f855, %f855; + fma.rn.f32 %f860, %f852, %f852, %f859; + fma.rn.f32 %f861, %f858, %f858, %f860; + sqrt.rn.f32 %f862, %f861; + rcp.rn.f32 %f863, %f862; + mul.f32 %f1104, %f852, %f863; + mul.f32 %f1105, %f855, %f863; + mul.f32 %f1106, %f858, %f863; + +BB0_126: + mul.f32 %f865, %f1065, %f1105; + mul.f32 %f866, %f1064, %f1106; + sub.f32 %f867, %f866, %f865; + mul.f32 %f868, %f1063, %f1106; + mul.f32 %f869, %f1065, %f1104; + sub.f32 %f870, %f869, %f868; + mul.f32 %f871, %f1064, %f1104; + mul.f32 %f872, %f1063, %f1105; + sub.f32 %f873, %f872, %f871; + setp.lt.u32 %p134, %r98, 16777216; + selp.f32 %f874, 0fBF800000, 0f3F800000, %p134; + mul.f32 %f875, %f867, %f874; + mul.f32 %f876, %f870, %f874; + mul.f32 %f877, %f873, %f874; + mul.f32 %f878, %f875, 0fBF3504F3; + mul.f32 %f879, %f876, 0fBF3504F3; + mul.f32 %f880, %f877, 0fBF3504F3; + fma.rn.f32 %f881, %f1104, 0fBED105EC, %f878; + fma.rn.f32 %f882, %f1105, 0fBED105EC, %f879; + fma.rn.f32 %f883, %f1106, 0fBED105EC, %f880; + add.f32 %f884, %f151, %f881; + add.f32 %f885, %f153, %f882; + add.f32 %f886, %f155, %f883; + ld.global.f32 %f887, [directDir]; + mul.f32 %f888, %f152, %f887; + ld.global.f32 %f889, [directDir+4]; + mul.f32 %f890, %f154, %f889; + neg.f32 %f891, %f890; + sub.f32 %f892, %f891, %f888; + ld.global.f32 %f893, [directDir+8]; + mul.f32 %f894, %f156, %f893; + sub.f32 %f895, %f892, %f894; + cvt.sat.f32.f32 %f896, %f895; + mul.f32 %f897, %f90, %f896; + mul.f32 %f898, %f91, %f896; + mul.f32 %f899, %f92, %f896; + mul.f32 %f900, %f163, %f887; + mul.f32 %f901, %f164, %f889; + neg.f32 %f902, %f901; + sub.f32 %f903, %f902, %f900; + mul.f32 %f904, %f165, %f893; + sub.f32 %f905, %f903, %f904; + cvt.sat.f32.f32 %f906, %f905; + mul.f32 %f907, %f90, %f906; + mul.f32 %f908, %f91, %f906; + mul.f32 %f909, %f92, %f906; + mul.f32 %f910, %f884, %f887; + mul.f32 %f911, %f885, %f889; + neg.f32 %f912, %f911; + sub.f32 %f913, %f912, %f910; + mul.f32 %f914, %f886, %f893; + sub.f32 %f915, %f913, %f914; + cvt.sat.f32.f32 %f916, %f915; + mul.f32 %f917, %f90, %f916; + mul.f32 %f918, %f91, %f916; + mul.f32 %f919, %f92, %f916; + add.f32 %f920, %f897, %f907; + add.f32 %f921, %f898, %f908; + add.f32 %f922, %f899, %f909; + add.f32 %f923, %f920, %f917; + add.f32 %f924, %f921, %f918; + add.f32 %f925, %f922, %f919; + mul.f32 %f926, %f923, 0f3F13CD3A; + mul.f32 %f927, %f924, 0f3F13CD3A; + mul.f32 %f928, %f925, 0f3F13CD3A; + div.rn.f32 %f929, %f73, %f926; + div.rn.f32 %f930, %f74, %f927; + div.rn.f32 %f931, %f75, %f928; + setp.eq.f32 %p135, %f73, 0f00000000; + selp.f32 %f932, 0f00000000, %f929, %p135; + setp.eq.f32 %p136, %f74, 0f00000000; + selp.f32 %f933, 0f00000000, %f930, %p136; + setp.eq.f32 %p137, %f75, 0f00000000; + selp.f32 %f934, 0f00000000, %f931, %p137; + mul.f32 %f172, %f897, %f932; + mul.f32 %f173, %f898, %f933; + mul.f32 %f174, %f899, %f934; + mul.f32 %f175, %f907, %f932; + mul.f32 %f176, %f908, %f933; + mul.f32 %f177, %f909, %f934; + mul.f32 %f178, %f917, %f932; + mul.f32 %f179, %f918, %f933; + mul.f32 %f180, %f919, %f934; + ld.global.u32 %r317, [additive]; + setp.eq.s32 %p138, %r317, 0; + cvt.u64.u32 %rd21, %r2; + cvt.u64.u32 %rd22, %r3; + mov.f32 %f864, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs60, %f864;} + + // inline asm + @%p138 bra BB0_128; + + mov.u64 %rd125, image_RNM0; + cvta.global.u64 %rd114, %rd125; + mov.u32 %r321, 8; + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd114, %r105, %r321, %rd21, %rd22, %rd30, %rd30); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd113]; + // inline asm + { cvt.f32.f16 %f935, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f936, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f937, %rs69;} + + // inline asm + // inline asm + call (%rd119), _rt_buffer_get_64, (%rd114, %r105, %r321, %rd21, %rd22, %rd30, %rd30); + // inline asm + add.f32 %f938, %f172, %f935; + add.f32 %f939, %f173, %f936; + add.f32 %f940, %f174, %f937; + // inline asm + { cvt.rn.f16.f32 %rs66, %f940;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f939;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f938;} + + // inline asm + st.v4.u16 [%rd119], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_129; + +BB0_128: + mov.u64 %rd132, image_RNM0; + cvta.global.u64 %rd127, %rd132; + mov.u32 %r323, 8; + // inline asm + call (%rd126), _rt_buffer_get_64, (%rd127, %r105, %r323, %rd21, %rd22, %rd30, %rd30); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f174;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f173;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f172;} + + // inline asm + st.v4.u16 [%rd126], {%rs71, %rs72, %rs73, %rs60}; + +BB0_129: + ld.global.u32 %r324, [additive]; + setp.eq.s32 %p139, %r324, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f864;} + + // inline asm + @%p139 bra BB0_131; + + mov.u64 %rd145, image_RNM1; + cvta.global.u64 %rd134, %rd145; + mov.u32 %r328, 8; + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd134, %r105, %r328, %rd21, %rd22, %rd30, %rd30); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd133]; + // inline asm + { cvt.f32.f16 %f945, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f946, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f947, %rs83;} + + // inline asm + // inline asm + call (%rd139), _rt_buffer_get_64, (%rd134, %r105, %r328, %rd21, %rd22, %rd30, %rd30); + // inline asm + add.f32 %f948, %f175, %f945; + add.f32 %f949, %f176, %f946; + add.f32 %f950, %f177, %f947; + // inline asm + { cvt.rn.f16.f32 %rs80, %f950;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f949;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f948;} + + // inline asm + st.v4.u16 [%rd139], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd152, image_RNM1; + cvta.global.u64 %rd147, %rd152; + mov.u32 %r330, 8; + // inline asm + call (%rd146), _rt_buffer_get_64, (%rd147, %r105, %r330, %rd21, %rd22, %rd30, %rd30); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f177;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f176;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f175;} + + // inline asm + st.v4.u16 [%rd146], {%rs85, %rs86, %rs87, %rs74}; + +BB0_132: + ld.global.u32 %r331, [additive]; + setp.eq.s32 %p140, %r331, 0; + // inline asm + { cvt.rn.f16.f32 %rs88, %f864;} + + // inline asm + @%p140 bra BB0_134; + + mov.u64 %rd165, image_RNM2; + cvta.global.u64 %rd154, %rd165; + mov.u32 %r335, 8; + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd154, %r105, %r335, %rd21, %rd22, %rd30, %rd30); + // inline asm + ld.v4.u16 {%rs95, %rs96, %rs97, %rs98}, [%rd153]; + // inline asm + { cvt.f32.f16 %f955, %rs95;} + + // inline asm + // inline asm + { cvt.f32.f16 %f956, %rs96;} + + // inline asm + // inline asm + { cvt.f32.f16 %f957, %rs97;} + + // inline asm + // inline asm + call (%rd159), _rt_buffer_get_64, (%rd154, %r105, %r335, %rd21, %rd22, %rd30, %rd30); + // inline asm + add.f32 %f958, %f178, %f955; + add.f32 %f959, %f179, %f956; + add.f32 %f960, %f180, %f957; + // inline asm + { cvt.rn.f16.f32 %rs94, %f960;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs93, %f959;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs92, %f958;} + + // inline asm + st.v4.u16 [%rd159], {%rs92, %rs93, %rs94, %rs88}; + bra.uni BB0_152; + +BB0_134: + mov.u64 %rd172, image_RNM2; + cvta.global.u64 %rd167, %rd172; + mov.u32 %r337, 8; + // inline asm + call (%rd166), _rt_buffer_get_64, (%rd167, %r105, %r337, %rd21, %rd22, %rd30, %rd30); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs101, %f180;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs100, %f179;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f178;} + + // inline asm + st.v4.u16 [%rd166], {%rs99, %rs100, %rs101, %rs88}; + +BB0_152: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunRNM.ptx.meta new file mode 100644 index 00000000..8b363fe5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ce74b43a64b692f4299df8ca55af6821 +timeCreated: 1537477670 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx new file mode 100644 index 00000000..78397089 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx @@ -0,0 +1,2112 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .b8 directDir[12]; +.global .align 4 .b8 directColor[12]; +.global .align 4 .f32 shadowSpread; +.global .align 4 .u32 samples; +.global .align 4 .u32 ignoreNormal; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9directDirE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11directColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12shadowSpreadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12ignoreNormalE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9directDirE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename11directColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename12shadowSpreadE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12ignoreNormalE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9directDirE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11directColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12shadowSpreadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12ignoreNormalE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic9directDirE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11directColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12shadowSpreadE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12ignoreNormalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9directDirE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11directColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12shadowSpreadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12ignoreNormalE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[32]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<124>; + .reg .b16 %rs<152>; + .reg .f32 %f<796>; + .reg .b32 %r<388>; + .reg .b64 %rd<286>; + + + mov.u64 %rd285, __local_depot0; + cvta.local.u64 %SP, %rd285; + ld.global.v2.u32 {%r101, %r102}, [pixelID]; + cvt.u64.u32 %rd22, %r101; + cvt.u64.u32 %rd23, %r102; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r99, 2; + mov.u32 %r100, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r99, %r100, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r1, [%rd20]; + shr.u32 %r105, %r1, 16; + cvt.u16.u32 %rs1, %r105; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r1; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p5, %rs9, 0; + mov.f32 %f764, 0f00000000; + mov.f32 %f765, %f764; + mov.f32 %f766, %f764; + @%p5 bra BB0_2; + + ld.u8 %rs10, [%rd20+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f134, %rs12; + div.rn.f32 %f135, %f134, 0f437F0000; + fma.rn.f32 %f136, %f135, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f137, %rs10; + div.rn.f32 %f138, %f137, 0f437F0000; + fma.rn.f32 %f139, %f138, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f140, %rs7; + div.rn.f32 %f141, %f140, 0f437F0000; + fma.rn.f32 %f142, %f141, 0f40000000, 0fBF800000; + mul.f32 %f143, %f139, %f139; + fma.rn.f32 %f144, %f136, %f136, %f143; + fma.rn.f32 %f145, %f142, %f142, %f144; + sqrt.rn.f32 %f146, %f145; + rcp.rn.f32 %f147, %f146; + mul.f32 %f764, %f136, %f147; + mul.f32 %f765, %f139, %f147; + mul.f32 %f766, %f142, %f147; + +BB0_2: + ld.global.v2.u32 {%r106, %r107}, [pixelID]; + ld.global.v2.u32 {%r109, %r110}, [tileInfo]; + add.s32 %r2, %r106, %r109; + add.s32 %r3, %r107, %r110; + setp.eq.f32 %p6, %f765, 0f00000000; + setp.eq.f32 %p7, %f764, 0f00000000; + and.pred %p8, %p7, %p6; + setp.eq.f32 %p9, %f766, 0f00000000; + and.pred %p10, %p8, %p9; + @%p10 bra BB0_121; + bra.uni BB0_3; + +BB0_121: + ld.global.u32 %r387, [imageEnabled]; + and.b32 %r312, %r387, 1; + setp.eq.b32 %p116, %r312, 1; + @!%p116 bra BB0_123; + bra.uni BB0_122; + +BB0_122: + cvt.u64.u32 %rd169, %r2; + cvt.u64.u32 %rd170, %r3; + mov.u64 %rd173, image; + cvta.global.u64 %rd168, %rd173; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r99, %r100, %rd169, %rd170, %rd25, %rd25); + // inline asm + mov.u16 %rs84, 0; + st.v4.u8 [%rd167], {%rs84, %rs84, %rs84, %rs84}; + ld.global.u32 %r387, [imageEnabled]; + +BB0_123: + and.b32 %r315, %r387, 8; + setp.eq.s32 %p117, %r315, 0; + @%p117 bra BB0_125; + + cvt.u64.u32 %rd177, %r3; + cvt.u64.u32 %rd176, %r2; + mov.u64 %rd180, image_Mask; + cvta.global.u64 %rd175, %rd180; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r99, %r99, %rd176, %rd177, %rd25, %rd25); + // inline asm + mov.f32 %f686, 0f00000000; + cvt.rzi.u32.f32 %r318, %f686; + cvt.u16.u32 %rs85, %r318; + mov.u16 %rs86, 0; + st.v2.u8 [%rd174], {%rs85, %rs86}; + ld.global.u32 %r387, [imageEnabled]; + +BB0_125: + cvt.u64.u32 %rd18, %r2; + cvt.u64.u32 %rd19, %r3; + and.b32 %r319, %r387, 4; + setp.eq.s32 %p118, %r319, 0; + @%p118 bra BB0_129; + + ld.global.u32 %r320, [additive]; + setp.eq.s32 %p119, %r320, 0; + @%p119 bra BB0_128; + + mov.u64 %rd193, image_HDR; + cvta.global.u64 %rd182, %rd193; + mov.u32 %r324, 8; + // inline asm + call (%rd181), _rt_buffer_get_64, (%rd182, %r99, %r324, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd181]; + // inline asm + { cvt.f32.f16 %f687, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f688, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f689, %rs95;} + + // inline asm + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd182, %r99, %r324, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f690, %f687, 0f00000000; + add.f32 %f691, %f688, 0f00000000; + add.f32 %f692, %f689, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs92, %f692;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f691;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f690;} + + // inline asm + mov.u16 %rs97, 0; + st.v4.u16 [%rd187], {%rs90, %rs91, %rs92, %rs97}; + bra.uni BB0_129; + +BB0_3: + ld.global.f32 %f9, [directDir+8]; + ld.global.f32 %f8, [directDir+4]; + ld.global.f32 %f7, [directDir]; + mul.f32 %f149, %f764, %f7; + mul.f32 %f150, %f765, %f8; + neg.f32 %f151, %f150; + sub.f32 %f152, %f151, %f149; + mul.f32 %f153, %f766, %f9; + sub.f32 %f10, %f152, %f153; + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd29, %r118; + cvt.u64.u32 %rd30, %r119; + mov.u64 %rd39, uvpos; + cvta.global.u64 %rd28, %rd39; + mov.u32 %r115, 12; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r99, %r115, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.f32 %f154, [%rd27+8]; + ld.f32 %f155, [%rd27+4]; + ld.f32 %f156, [%rd27]; + mul.f32 %f157, %f156, 0f3456BF95; + mul.f32 %f158, %f155, 0f3456BF95; + mul.f32 %f159, %f154, 0f3456BF95; + abs.f32 %f160, %f764; + div.rn.f32 %f161, %f157, %f160; + abs.f32 %f162, %f765; + div.rn.f32 %f163, %f158, %f162; + abs.f32 %f164, %f766; + div.rn.f32 %f165, %f159, %f164; + abs.f32 %f166, %f161; + abs.f32 %f167, %f163; + abs.f32 %f168, %f165; + mov.f32 %f169, 0f38D1B717; + max.f32 %f170, %f166, %f169; + max.f32 %f171, %f167, %f169; + max.f32 %f172, %f168, %f169; + fma.rn.f32 %f11, %f764, %f170, %f156; + fma.rn.f32 %f12, %f765, %f171, %f155; + fma.rn.f32 %f13, %f766, %f172, %f154; + abs.f32 %f173, %f7; + abs.f32 %f174, %f9; + setp.gt.f32 %p11, %f173, %f174; + neg.f32 %f175, %f8; + neg.f32 %f176, %f9; + selp.f32 %f177, %f175, 0f00000000, %p11; + selp.f32 %f178, %f7, %f176, %p11; + selp.f32 %f179, 0f00000000, %f8, %p11; + mul.f32 %f180, %f178, %f178; + fma.rn.f32 %f181, %f177, %f177, %f180; + fma.rn.f32 %f182, %f179, %f179, %f181; + sqrt.rn.f32 %f183, %f182; + rcp.rn.f32 %f184, %f183; + mul.f32 %f14, %f177, %f184; + mul.f32 %f15, %f178, %f184; + mul.f32 %f16, %f179, %f184; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd35, %r122; + cvt.u64.u32 %rd36, %r123; + mov.u64 %rd40, rnd_seeds; + cvta.global.u64 %rd34, %rd40; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r99, %r100, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.global.u32 %r356, [samples]; + mov.f32 %f781, 0f00000000; + setp.lt.s32 %p12, %r356, 1; + @%p12 bra BB0_55; + + cvt.rn.f32.s32 %f186, %r356; + rcp.rn.f32 %f17, %f186; + ld.u32 %r382, [%rd33]; + mul.f32 %f18, %f11, 0f3456BF95; + mul.f32 %f19, %f12, 0f3456BF95; + mul.f32 %f20, %f13, 0f3456BF95; + mul.f32 %f187, %f7, %f15; + mul.f32 %f188, %f8, %f14; + sub.f32 %f21, %f188, %f187; + mul.f32 %f189, %f9, %f14; + mul.f32 %f190, %f7, %f16; + sub.f32 %f22, %f190, %f189; + mul.f32 %f191, %f8, %f16; + mul.f32 %f192, %f9, %f15; + sub.f32 %f23, %f192, %f191; + mov.f32 %f781, 0f00000000; + mov.u32 %r357, 0; + abs.f32 %f193, %f19; + abs.f32 %f194, %f18; + max.f32 %f195, %f194, %f193; + abs.f32 %f196, %f20; + max.f32 %f197, %f195, %f196; + +BB0_5: + setp.lt.s32 %p13, %r356, 1; + @%p13 bra BB0_54; + + cvt.rn.f32.s32 %f25, %r357; + max.f32 %f26, %f197, %f169; + mov.u32 %r359, 0; + +BB0_7: + mad.lo.s32 %r128, %r382, 1664525, 1013904223; + and.b32 %r129, %r128, 16777215; + cvt.rn.f32.u32 %f199, %r129; + fma.rn.f32 %f200, %f199, 0f33800000, %f25; + mul.f32 %f201, %f17, %f200; + mad.lo.s32 %r382, %r128, 1664525, 1013904223; + and.b32 %r130, %r382, 16777215; + cvt.rn.f32.u32 %f202, %r130; + cvt.rn.f32.s32 %f203, %r359; + fma.rn.f32 %f204, %f202, 0f33800000, %f203; + mul.f32 %f205, %f17, %f204; + sqrt.rn.f32 %f28, %f201; + mul.f32 %f775, %f205, 0f40C90FDB; + abs.f32 %f30, %f775; + setp.neu.f32 %p14, %f30, 0f7F800000; + mov.f32 %f769, %f775; + @%p14 bra BB0_9; + + mov.f32 %f206, 0f00000000; + mul.rn.f32 %f769, %f775, %f206; + +BB0_9: + mul.f32 %f207, %f769, 0f3F22F983; + cvt.rni.s32.f32 %r370, %f207; + cvt.rn.f32.s32 %f208, %r370; + neg.f32 %f209, %f208; + mov.f32 %f210, 0f3FC90FDA; + fma.rn.f32 %f211, %f209, %f210, %f769; + mov.f32 %f212, 0f33A22168; + fma.rn.f32 %f213, %f209, %f212, %f211; + mov.f32 %f214, 0f27C234C5; + fma.rn.f32 %f770, %f209, %f214, %f213; + abs.f32 %f215, %f769; + setp.leu.f32 %p15, %f215, 0f47CE4780; + @%p15 bra BB0_20; + + mov.b32 %r13, %f769; + shr.u32 %r14, %r13, 23; + shl.b32 %r133, %r13, 8; + or.b32 %r15, %r133, -2147483648; + add.u64 %rd42, %SP, 4; + cvta.to.local.u64 %rd282, %rd42; + mov.u32 %r362, 0; + mov.u64 %rd281, __cudart_i2opi_f; + mov.u32 %r361, -6; + +BB0_11: + .pragma "nounroll"; + ld.const.u32 %r136, [%rd281]; + // inline asm + { + mad.lo.cc.u32 %r134, %r136, %r15, %r362; + madc.hi.u32 %r362, %r136, %r15, 0; + } + // inline asm + st.local.u32 [%rd282], %r134; + add.s64 %rd282, %rd282, 4; + add.s64 %rd281, %rd281, 4; + add.s32 %r361, %r361, 1; + setp.ne.s32 %p16, %r361, 0; + @%p16 bra BB0_11; + + and.b32 %r139, %r14, 255; + add.s32 %r140, %r139, -128; + shr.u32 %r141, %r140, 5; + and.b32 %r20, %r13, -2147483648; + cvta.to.local.u64 %rd44, %rd42; + st.local.u32 [%rd44+24], %r362; + mov.u32 %r142, 6; + sub.s32 %r143, %r142, %r141; + mul.wide.s32 %rd45, %r143, 4; + add.s64 %rd8, %rd44, %rd45; + ld.local.u32 %r363, [%rd8]; + ld.local.u32 %r364, [%rd8+-4]; + and.b32 %r23, %r14, 31; + setp.eq.s32 %p17, %r23, 0; + @%p17 bra BB0_14; + + mov.u32 %r144, 32; + sub.s32 %r145, %r144, %r23; + shr.u32 %r146, %r364, %r145; + shl.b32 %r147, %r363, %r23; + add.s32 %r363, %r146, %r147; + ld.local.u32 %r148, [%rd8+-8]; + shr.u32 %r149, %r148, %r145; + shl.b32 %r150, %r364, %r23; + add.s32 %r364, %r149, %r150; + +BB0_14: + shr.u32 %r151, %r364, 30; + shl.b32 %r152, %r363, 2; + add.s32 %r365, %r151, %r152; + shl.b32 %r29, %r364, 2; + shr.u32 %r153, %r365, 31; + shr.u32 %r154, %r363, 30; + add.s32 %r30, %r153, %r154; + setp.eq.s32 %p18, %r153, 0; + @%p18 bra BB0_15; + bra.uni BB0_16; + +BB0_15: + mov.u32 %r366, %r20; + mov.u32 %r367, %r29; + bra.uni BB0_17; + +BB0_16: + not.b32 %r155, %r365; + neg.s32 %r367, %r29; + setp.eq.s32 %p19, %r29, 0; + selp.u32 %r156, 1, 0, %p19; + add.s32 %r365, %r156, %r155; + xor.b32 %r366, %r20, -2147483648; + +BB0_17: + clz.b32 %r369, %r365; + setp.eq.s32 %p20, %r369, 0; + shl.b32 %r157, %r365, %r369; + mov.u32 %r158, 32; + sub.s32 %r159, %r158, %r369; + shr.u32 %r160, %r367, %r159; + add.s32 %r161, %r160, %r157; + selp.b32 %r38, %r365, %r161, %p20; + mov.u32 %r162, -921707870; + mul.hi.u32 %r368, %r38, %r162; + setp.eq.s32 %p21, %r20, 0; + neg.s32 %r163, %r30; + selp.b32 %r370, %r30, %r163, %p21; + setp.lt.s32 %p22, %r368, 1; + @%p22 bra BB0_19; + + mul.lo.s32 %r164, %r38, -921707870; + shr.u32 %r165, %r164, 31; + shl.b32 %r166, %r368, 1; + add.s32 %r368, %r165, %r166; + add.s32 %r369, %r369, 1; + +BB0_19: + mov.u32 %r167, 126; + sub.s32 %r168, %r167, %r369; + shl.b32 %r169, %r168, 23; + add.s32 %r170, %r368, 1; + shr.u32 %r171, %r170, 7; + add.s32 %r172, %r171, 1; + shr.u32 %r173, %r172, 1; + add.s32 %r174, %r173, %r169; + or.b32 %r175, %r174, %r366; + mov.b32 %f770, %r175; + +BB0_20: + mul.rn.f32 %f36, %f770, %f770; + add.s32 %r46, %r370, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p23, %r47, 0; + @%p23 bra BB0_22; + bra.uni BB0_21; + +BB0_22: + mov.f32 %f218, 0f3C08839E; + mov.f32 %f219, 0fB94CA1F9; + fma.rn.f32 %f771, %f219, %f36, %f218; + bra.uni BB0_23; + +BB0_21: + mov.f32 %f216, 0fBAB6061A; + mov.f32 %f217, 0f37CCF5CE; + fma.rn.f32 %f771, %f217, %f36, %f216; + +BB0_23: + @%p23 bra BB0_25; + bra.uni BB0_24; + +BB0_25: + mov.f32 %f223, 0fBE2AAAA3; + fma.rn.f32 %f224, %f771, %f36, %f223; + mov.f32 %f225, 0f00000000; + fma.rn.f32 %f772, %f224, %f36, %f225; + bra.uni BB0_26; + +BB0_24: + mov.f32 %f220, 0f3D2AAAA5; + fma.rn.f32 %f221, %f771, %f36, %f220; + mov.f32 %f222, 0fBF000000; + fma.rn.f32 %f772, %f221, %f36, %f222; + +BB0_26: + fma.rn.f32 %f773, %f772, %f770, %f770; + @%p23 bra BB0_28; + + mov.f32 %f226, 0f3F800000; + fma.rn.f32 %f773, %f772, %f36, %f226; + +BB0_28: + and.b32 %r176, %r46, 2; + setp.eq.s32 %p26, %r176, 0; + @%p26 bra BB0_30; + + mov.f32 %f227, 0f00000000; + mov.f32 %f228, 0fBF800000; + fma.rn.f32 %f773, %f773, %f228, %f227; + +BB0_30: + @%p14 bra BB0_32; + + mov.f32 %f229, 0f00000000; + mul.rn.f32 %f775, %f775, %f229; + +BB0_32: + mul.f32 %f230, %f775, 0f3F22F983; + cvt.rni.s32.f32 %r380, %f230; + cvt.rn.f32.s32 %f231, %r380; + neg.f32 %f232, %f231; + fma.rn.f32 %f234, %f232, %f210, %f775; + fma.rn.f32 %f236, %f232, %f212, %f234; + fma.rn.f32 %f776, %f232, %f214, %f236; + abs.f32 %f238, %f775; + setp.leu.f32 %p28, %f238, 0f47CE4780; + @%p28 bra BB0_43; + + mov.b32 %r49, %f775; + shr.u32 %r50, %r49, 23; + shl.b32 %r179, %r49, 8; + or.b32 %r51, %r179, -2147483648; + add.u64 %rd47, %SP, 4; + cvta.to.local.u64 %rd284, %rd47; + mov.u32 %r372, 0; + mov.u64 %rd283, __cudart_i2opi_f; + mov.u32 %r371, -6; + +BB0_34: + .pragma "nounroll"; + ld.const.u32 %r182, [%rd283]; + // inline asm + { + mad.lo.cc.u32 %r180, %r182, %r51, %r372; + madc.hi.u32 %r372, %r182, %r51, 0; + } + // inline asm + st.local.u32 [%rd284], %r180; + add.s64 %rd284, %rd284, 4; + add.s64 %rd283, %rd283, 4; + add.s32 %r371, %r371, 1; + setp.ne.s32 %p29, %r371, 0; + @%p29 bra BB0_34; + + and.b32 %r185, %r50, 255; + add.s32 %r186, %r185, -128; + shr.u32 %r187, %r186, 5; + and.b32 %r56, %r49, -2147483648; + cvta.to.local.u64 %rd49, %rd47; + st.local.u32 [%rd49+24], %r372; + mov.u32 %r188, 6; + sub.s32 %r189, %r188, %r187; + mul.wide.s32 %rd50, %r189, 4; + add.s64 %rd14, %rd49, %rd50; + ld.local.u32 %r373, [%rd14]; + ld.local.u32 %r374, [%rd14+-4]; + and.b32 %r59, %r50, 31; + setp.eq.s32 %p30, %r59, 0; + @%p30 bra BB0_37; + + mov.u32 %r190, 32; + sub.s32 %r191, %r190, %r59; + shr.u32 %r192, %r374, %r191; + shl.b32 %r193, %r373, %r59; + add.s32 %r373, %r192, %r193; + ld.local.u32 %r194, [%rd14+-8]; + shr.u32 %r195, %r194, %r191; + shl.b32 %r196, %r374, %r59; + add.s32 %r374, %r195, %r196; + +BB0_37: + shr.u32 %r197, %r374, 30; + shl.b32 %r198, %r373, 2; + add.s32 %r375, %r197, %r198; + shl.b32 %r65, %r374, 2; + shr.u32 %r199, %r375, 31; + shr.u32 %r200, %r373, 30; + add.s32 %r66, %r199, %r200; + setp.eq.s32 %p31, %r199, 0; + @%p31 bra BB0_38; + bra.uni BB0_39; + +BB0_38: + mov.u32 %r376, %r56; + mov.u32 %r377, %r65; + bra.uni BB0_40; + +BB0_39: + not.b32 %r201, %r375; + neg.s32 %r377, %r65; + setp.eq.s32 %p32, %r65, 0; + selp.u32 %r202, 1, 0, %p32; + add.s32 %r375, %r202, %r201; + xor.b32 %r376, %r56, -2147483648; + +BB0_40: + clz.b32 %r379, %r375; + setp.eq.s32 %p33, %r379, 0; + shl.b32 %r203, %r375, %r379; + mov.u32 %r204, 32; + sub.s32 %r205, %r204, %r379; + shr.u32 %r206, %r377, %r205; + add.s32 %r207, %r206, %r203; + selp.b32 %r74, %r375, %r207, %p33; + mov.u32 %r208, -921707870; + mul.hi.u32 %r378, %r74, %r208; + setp.eq.s32 %p34, %r56, 0; + neg.s32 %r209, %r66; + selp.b32 %r380, %r66, %r209, %p34; + setp.lt.s32 %p35, %r378, 1; + @%p35 bra BB0_42; + + mul.lo.s32 %r210, %r74, -921707870; + shr.u32 %r211, %r210, 31; + shl.b32 %r212, %r378, 1; + add.s32 %r378, %r211, %r212; + add.s32 %r379, %r379, 1; + +BB0_42: + mov.u32 %r213, 126; + sub.s32 %r214, %r213, %r379; + shl.b32 %r215, %r214, 23; + add.s32 %r216, %r378, 1; + shr.u32 %r217, %r216, 7; + add.s32 %r218, %r217, 1; + shr.u32 %r219, %r218, 1; + add.s32 %r220, %r219, %r215; + or.b32 %r221, %r220, %r376; + mov.b32 %f776, %r221; + +BB0_43: + mul.rn.f32 %f53, %f776, %f776; + and.b32 %r82, %r380, 1; + setp.eq.s32 %p36, %r82, 0; + @%p36 bra BB0_45; + bra.uni BB0_44; + +BB0_45: + mov.f32 %f241, 0f3C08839E; + mov.f32 %f242, 0fB94CA1F9; + fma.rn.f32 %f777, %f242, %f53, %f241; + bra.uni BB0_46; + +BB0_44: + mov.f32 %f239, 0fBAB6061A; + mov.f32 %f240, 0f37CCF5CE; + fma.rn.f32 %f777, %f240, %f53, %f239; + +BB0_46: + @%p36 bra BB0_48; + bra.uni BB0_47; + +BB0_48: + mov.f32 %f246, 0fBE2AAAA3; + fma.rn.f32 %f247, %f777, %f53, %f246; + mov.f32 %f248, 0f00000000; + fma.rn.f32 %f778, %f247, %f53, %f248; + bra.uni BB0_49; + +BB0_47: + mov.f32 %f243, 0f3D2AAAA5; + fma.rn.f32 %f244, %f777, %f53, %f243; + mov.f32 %f245, 0fBF000000; + fma.rn.f32 %f778, %f244, %f53, %f245; + +BB0_49: + fma.rn.f32 %f779, %f778, %f776, %f776; + @%p36 bra BB0_51; + + mov.f32 %f249, 0f3F800000; + fma.rn.f32 %f779, %f778, %f53, %f249; + +BB0_51: + and.b32 %r222, %r380, 2; + setp.eq.s32 %p39, %r222, 0; + @%p39 bra BB0_53; + + mov.f32 %f250, 0f00000000; + mov.f32 %f251, 0fBF800000; + fma.rn.f32 %f779, %f779, %f251, %f250; + +BB0_53: + mul.f32 %f260, %f28, %f773; + add.u64 %rd51, %SP, 0; + cvta.to.local.u64 %rd52, %rd51; + mul.f32 %f261, %f260, %f260; + mov.f32 %f262, 0f3F800000; + sub.f32 %f263, %f262, %f261; + mul.f32 %f264, %f28, %f779; + mul.f32 %f265, %f264, %f264; + sub.f32 %f266, %f263, %f265; + mov.f32 %f267, 0f00000000; + max.f32 %f268, %f267, %f266; + sqrt.rn.f32 %f269, %f268; + mul.f32 %f270, %f14, %f264; + mul.f32 %f271, %f15, %f264; + mul.f32 %f272, %f16, %f264; + fma.rn.f32 %f273, %f23, %f260, %f270; + fma.rn.f32 %f274, %f22, %f260, %f271; + fma.rn.f32 %f275, %f21, %f260, %f272; + fma.rn.f32 %f276, %f7, %f269, %f273; + fma.rn.f32 %f277, %f8, %f269, %f274; + fma.rn.f32 %f278, %f9, %f269, %f275; + add.f32 %f279, %f7, %f276; + add.f32 %f280, %f8, %f277; + add.f32 %f281, %f9, %f278; + ld.global.f32 %f282, [shadowSpread]; + mul.f32 %f283, %f282, %f279; + mul.f32 %f284, %f282, %f280; + mul.f32 %f285, %f282, %f281; + sub.f32 %f286, %f283, %f7; + sub.f32 %f287, %f284, %f8; + sub.f32 %f288, %f285, %f9; + mul.f32 %f289, %f287, %f287; + fma.rn.f32 %f290, %f286, %f286, %f289; + fma.rn.f32 %f291, %f288, %f288, %f290; + sqrt.rn.f32 %f292, %f291; + rcp.rn.f32 %f293, %f292; + mul.f32 %f255, %f293, %f286; + mul.f32 %f256, %f293, %f287; + mul.f32 %f257, %f293, %f288; + ld.global.u32 %r226, [imageEnabled]; + and.b32 %r227, %r226, 32; + setp.eq.s32 %p40, %r227, 0; + selp.f32 %f294, 0f3F800000, 0f41200000, %p40; + mul.f32 %f258, %f294, %f26; + mov.u32 %r228, 1065353216; + st.local.u32 [%rd52], %r228; + ld.global.u32 %r223, [root]; + mov.u32 %r224, 1; + mov.f32 %f259, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r223, %f11, %f12, %f13, %f255, %f256, %f257, %r224, %f258, %f259, %rd51, %r100); + // inline asm + ld.local.f32 %f295, [%rd52]; + add.f32 %f781, %f781, %f295; + ld.global.u32 %r356, [samples]; + add.s32 %r359, %r359, 1; + setp.lt.s32 %p41, %r359, %r356; + @%p41 bra BB0_7; + +BB0_54: + add.s32 %r357, %r357, 1; + setp.lt.s32 %p42, %r357, %r356; + @%p42 bra BB0_5; + +BB0_55: + setp.eq.s32 %p43, %r356, 0; + mov.f32 %f783, 0f3F800000; + @%p43 bra BB0_57; + + mul.lo.s32 %r229, %r356, %r356; + cvt.rn.f32.s32 %f297, %r229; + div.rn.f32 %f783, %f781, %f297; + +BB0_57: + ld.global.f32 %f298, [directColor]; + mul.f32 %f299, %f783, %f298; + ld.global.f32 %f300, [directColor+4]; + mul.f32 %f301, %f783, %f300; + ld.global.f32 %f302, [directColor+8]; + mul.f32 %f303, %f783, %f302; + cvt.sat.f32.f32 %f304, %f10; + mul.f32 %f70, %f299, %f304; + mul.f32 %f71, %f301, %f304; + mul.f32 %f72, %f303, %f304; + mul.f32 %f305, %f10, 0f40800000; + cvt.sat.f32.f32 %f306, %f305; + mul.f32 %f307, %f299, %f306; + mul.f32 %f308, %f301, %f306; + mul.f32 %f309, %f303, %f306; + mul.f32 %f73, %f307, 0f3E800000; + mul.f32 %f74, %f308, 0f3E800000; + mul.f32 %f75, %f309, 0f3E800000; + ld.global.u32 %r385, [imageEnabled]; + and.b32 %r230, %r385, 8; + setp.eq.s32 %p44, %r230, 0; + @%p44 bra BB0_70; + + cvt.u64.u32 %rd55, %r2; + cvt.u64.u32 %rd56, %r3; + mov.u64 %rd59, image_Mask; + cvta.global.u64 %rd54, %rd59; + // inline asm + call (%rd53), _rt_buffer_get_64, (%rd54, %r99, %r99, %rd55, %rd56, %rd25, %rd25); + // inline asm + abs.f32 %f77, %f783; + setp.lt.f32 %p45, %f77, 0f00800000; + mul.f32 %f315, %f77, 0f4B800000; + selp.f32 %f316, 0fC3170000, 0fC2FE0000, %p45; + selp.f32 %f317, %f315, %f77, %p45; + mov.b32 %r233, %f317; + and.b32 %r234, %r233, 8388607; + or.b32 %r235, %r234, 1065353216; + mov.b32 %f318, %r235; + shr.u32 %r236, %r233, 23; + cvt.rn.f32.u32 %f319, %r236; + add.f32 %f320, %f316, %f319; + setp.gt.f32 %p46, %f318, 0f3FB504F3; + mul.f32 %f321, %f318, 0f3F000000; + add.f32 %f322, %f320, 0f3F800000; + selp.f32 %f323, %f321, %f318, %p46; + selp.f32 %f324, %f322, %f320, %p46; + add.f32 %f325, %f323, 0fBF800000; + add.f32 %f311, %f323, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f310,%f311; + // inline asm + add.f32 %f326, %f325, %f325; + mul.f32 %f327, %f310, %f326; + mul.f32 %f328, %f327, %f327; + mov.f32 %f329, 0f3C4CAF63; + mov.f32 %f330, 0f3B18F0FE; + fma.rn.f32 %f331, %f330, %f328, %f329; + mov.f32 %f332, 0f3DAAAABD; + fma.rn.f32 %f333, %f331, %f328, %f332; + mul.rn.f32 %f334, %f333, %f328; + mul.rn.f32 %f335, %f334, %f327; + sub.f32 %f336, %f325, %f327; + neg.f32 %f337, %f327; + add.f32 %f338, %f336, %f336; + fma.rn.f32 %f339, %f337, %f325, %f338; + mul.rn.f32 %f340, %f310, %f339; + add.f32 %f341, %f335, %f327; + sub.f32 %f342, %f327, %f341; + add.f32 %f343, %f335, %f342; + add.f32 %f344, %f340, %f343; + add.f32 %f345, %f341, %f344; + sub.f32 %f346, %f341, %f345; + add.f32 %f347, %f344, %f346; + mov.f32 %f348, 0f3F317200; + mul.rn.f32 %f349, %f324, %f348; + mov.f32 %f350, 0f35BFBE8E; + mul.rn.f32 %f351, %f324, %f350; + add.f32 %f352, %f349, %f345; + sub.f32 %f353, %f349, %f352; + add.f32 %f354, %f345, %f353; + add.f32 %f355, %f347, %f354; + add.f32 %f356, %f351, %f355; + add.f32 %f357, %f352, %f356; + sub.f32 %f358, %f352, %f357; + add.f32 %f359, %f356, %f358; + mov.f32 %f360, 0f3EE8BA2E; + mul.rn.f32 %f361, %f360, %f357; + neg.f32 %f362, %f361; + fma.rn.f32 %f363, %f360, %f357, %f362; + fma.rn.f32 %f364, %f360, %f359, %f363; + mov.f32 %f365, 0f00000000; + fma.rn.f32 %f366, %f365, %f357, %f364; + add.rn.f32 %f367, %f361, %f366; + neg.f32 %f368, %f367; + add.rn.f32 %f369, %f361, %f368; + add.rn.f32 %f370, %f369, %f366; + mov.b32 %r237, %f367; + setp.eq.s32 %p47, %r237, 1118925336; + add.s32 %r238, %r237, -1; + mov.b32 %f371, %r238; + add.f32 %f372, %f370, 0f37000000; + selp.f32 %f373, %f371, %f367, %p47; + selp.f32 %f78, %f372, %f370, %p47; + mul.f32 %f374, %f373, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f375, %f374; + mov.f32 %f376, 0fBF317200; + fma.rn.f32 %f377, %f375, %f376, %f373; + mov.f32 %f378, 0fB5BFBE8E; + fma.rn.f32 %f379, %f375, %f378, %f377; + mul.f32 %f380, %f379, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f381, %f380; + add.f32 %f382, %f375, 0f00000000; + ex2.approx.f32 %f383, %f382; + mul.f32 %f384, %f381, %f383; + setp.lt.f32 %p48, %f373, 0fC2D20000; + selp.f32 %f385, 0f00000000, %f384, %p48; + setp.gt.f32 %p49, %f373, 0f42D20000; + selp.f32 %f784, 0f7F800000, %f385, %p49; + setp.eq.f32 %p50, %f784, 0f7F800000; + @%p50 bra BB0_60; + + fma.rn.f32 %f784, %f784, %f78, %f784; + +BB0_60: + mov.f32 %f756, 0f3E68BA2E; + cvt.rzi.f32.f32 %f755, %f756; + fma.rn.f32 %f754, %f755, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f753, %f754; + setp.lt.f32 %p51, %f783, 0f00000000; + setp.eq.f32 %p52, %f753, 0f3F800000; + and.pred %p1, %p51, %p52; + mov.b32 %r239, %f784; + xor.b32 %r240, %r239, -2147483648; + mov.b32 %f386, %r240; + selp.f32 %f786, %f386, %f784, %p1; + setp.eq.f32 %p53, %f783, 0f00000000; + @%p53 bra BB0_63; + bra.uni BB0_61; + +BB0_63: + add.f32 %f389, %f783, %f783; + selp.f32 %f786, %f389, 0f00000000, %p52; + bra.uni BB0_64; + +BB0_128: + mov.u64 %rd200, image_HDR; + cvta.global.u64 %rd195, %rd200; + mov.u32 %r326, 8; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r99, %r326, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f693, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f693;} + + // inline asm + mov.u16 %rs99, 0; + st.v4.u16 [%rd194], {%rs98, %rs98, %rs98, %rs99}; + +BB0_129: + ld.global.u32 %r327, [additive]; + setp.eq.s32 %p120, %r327, 0; + @%p120 bra BB0_131; + + mov.u64 %rd213, image_RNM0; + cvta.global.u64 %rd202, %rd213; + mov.u32 %r331, 8; + // inline asm + call (%rd201), _rt_buffer_get_64, (%rd202, %r99, %r331, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs106, %rs107, %rs108, %rs109}, [%rd201]; + // inline asm + { cvt.f32.f16 %f694, %rs106;} + + // inline asm + // inline asm + { cvt.f32.f16 %f695, %rs107;} + + // inline asm + // inline asm + { cvt.f32.f16 %f696, %rs108;} + + // inline asm + // inline asm + call (%rd207), _rt_buffer_get_64, (%rd202, %r99, %r331, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f697, %f694, 0f00000000; + add.f32 %f698, %f695, 0f00000000; + add.f32 %f699, %f696, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs105, %f699;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs104, %f698;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs103, %f697;} + + // inline asm + mov.u16 %rs110, 0; + st.v4.u16 [%rd207], {%rs103, %rs104, %rs105, %rs110}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd220, image_RNM0; + cvta.global.u64 %rd215, %rd220; + mov.u32 %r333, 8; + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd215, %r99, %r333, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f700, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f700;} + + // inline asm + mov.u16 %rs112, 0; + st.v4.u16 [%rd214], {%rs111, %rs111, %rs111, %rs112}; + +BB0_132: + ld.global.u32 %r334, [additive]; + setp.eq.s32 %p121, %r334, 0; + @%p121 bra BB0_134; + + mov.u64 %rd233, image_RNM1; + cvta.global.u64 %rd222, %rd233; + mov.u32 %r338, 8; + // inline asm + call (%rd221), _rt_buffer_get_64, (%rd222, %r99, %r338, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs119, %rs120, %rs121, %rs122}, [%rd221]; + // inline asm + { cvt.f32.f16 %f701, %rs119;} + + // inline asm + // inline asm + { cvt.f32.f16 %f702, %rs120;} + + // inline asm + // inline asm + { cvt.f32.f16 %f703, %rs121;} + + // inline asm + // inline asm + call (%rd227), _rt_buffer_get_64, (%rd222, %r99, %r338, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f704, %f701, 0f00000000; + add.f32 %f705, %f702, 0f00000000; + add.f32 %f706, %f703, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs118, %f706;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs117, %f705;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs116, %f704;} + + // inline asm + mov.u16 %rs123, 0; + st.v4.u16 [%rd227], {%rs116, %rs117, %rs118, %rs123}; + bra.uni BB0_135; + +BB0_134: + mov.u64 %rd240, image_RNM1; + cvta.global.u64 %rd235, %rd240; + mov.u32 %r340, 8; + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd235, %r99, %r340, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f707, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f707;} + + // inline asm + mov.u16 %rs125, 0; + st.v4.u16 [%rd234], {%rs124, %rs124, %rs124, %rs125}; + +BB0_135: + ld.global.u32 %r341, [additive]; + setp.eq.s32 %p122, %r341, 0; + @%p122 bra BB0_137; + + mov.u64 %rd253, image_RNM2; + cvta.global.u64 %rd242, %rd253; + mov.u32 %r345, 8; + // inline asm + call (%rd241), _rt_buffer_get_64, (%rd242, %r99, %r345, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs132, %rs133, %rs134, %rs135}, [%rd241]; + // inline asm + { cvt.f32.f16 %f708, %rs132;} + + // inline asm + // inline asm + { cvt.f32.f16 %f709, %rs133;} + + // inline asm + // inline asm + { cvt.f32.f16 %f710, %rs134;} + + // inline asm + // inline asm + call (%rd247), _rt_buffer_get_64, (%rd242, %r99, %r345, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f711, %f708, 0f00000000; + add.f32 %f712, %f709, 0f00000000; + add.f32 %f713, %f710, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs131, %f713;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs130, %f712;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs129, %f711;} + + // inline asm + mov.u16 %rs136, 0; + st.v4.u16 [%rd247], {%rs129, %rs130, %rs131, %rs136}; + bra.uni BB0_138; + +BB0_137: + mov.u64 %rd260, image_RNM2; + cvta.global.u64 %rd255, %rd260; + mov.u32 %r347, 8; + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd255, %r99, %r347, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f714, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f714;} + + // inline asm + mov.u16 %rs138, 0; + st.v4.u16 [%rd254], {%rs137, %rs137, %rs137, %rs138}; + +BB0_138: + ld.global.u32 %r348, [additive]; + setp.eq.s32 %p123, %r348, 0; + @%p123 bra BB0_140; + + mov.u64 %rd273, image_RNM3; + cvta.global.u64 %rd262, %rd273; + mov.u32 %r352, 8; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r99, %r352, %rd18, %rd19, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs145, %rs146, %rs147, %rs148}, [%rd261]; + // inline asm + { cvt.f32.f16 %f715, %rs145;} + + // inline asm + // inline asm + { cvt.f32.f16 %f716, %rs146;} + + // inline asm + // inline asm + { cvt.f32.f16 %f717, %rs147;} + + // inline asm + // inline asm + call (%rd267), _rt_buffer_get_64, (%rd262, %r99, %r352, %rd18, %rd19, %rd25, %rd25); + // inline asm + add.f32 %f718, %f715, 0f00000000; + add.f32 %f719, %f716, 0f00000000; + add.f32 %f720, %f717, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs144, %f720;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs143, %f719;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs142, %f718;} + + // inline asm + mov.u16 %rs149, 0; + st.v4.u16 [%rd267], {%rs142, %rs143, %rs144, %rs149}; + bra.uni BB0_141; + +BB0_140: + mov.u64 %rd280, image_RNM3; + cvta.global.u64 %rd275, %rd280; + mov.u32 %r354, 8; + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd275, %r99, %r354, %rd18, %rd19, %rd25, %rd25); + // inline asm + mov.f32 %f721, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f721;} + + // inline asm + mov.u16 %rs151, 0; + st.v4.u16 [%rd274], {%rs150, %rs150, %rs150, %rs151}; + bra.uni BB0_141; + +BB0_61: + setp.geu.f32 %p54, %f783, 0f00000000; + @%p54 bra BB0_64; + + mov.f32 %f760, 0f3EE8BA2E; + cvt.rzi.f32.f32 %f388, %f760; + setp.neu.f32 %p55, %f388, 0f3EE8BA2E; + selp.f32 %f786, 0f7FFFFFFF, %f786, %p55; + +BB0_64: + abs.f32 %f757, %f783; + add.f32 %f390, %f757, 0f3EE8BA2E; + mov.b32 %r241, %f390; + setp.lt.s32 %p57, %r241, 2139095040; + @%p57 bra BB0_69; + + abs.f32 %f758, %f783; + setp.gtu.f32 %p58, %f758, 0f7F800000; + @%p58 bra BB0_68; + bra.uni BB0_66; + +BB0_68: + add.f32 %f786, %f783, 0f3EE8BA2E; + bra.uni BB0_69; + +BB0_66: + abs.f32 %f759, %f783; + setp.neu.f32 %p59, %f759, 0f7F800000; + @%p59 bra BB0_69; + + selp.f32 %f786, 0fFF800000, 0f7F800000, %p1; + +BB0_69: + mul.f32 %f391, %f786, 0f437F0000; + setp.eq.f32 %p60, %f783, 0f3F800000; + selp.f32 %f392, 0f437F0000, %f391, %p60; + cvt.rzi.u32.f32 %r242, %f392; + cvt.u16.u32 %rs14, %r242; + mov.u16 %rs15, 255; + st.v2.u8 [%rd53], {%rs14, %rs15}; + ld.global.u32 %r385, [imageEnabled]; + +BB0_70: + and.b32 %r243, %r385, 1; + setp.eq.b32 %p61, %r243, 1; + @!%p61 bra BB0_105; + bra.uni BB0_71; + +BB0_71: + abs.f32 %f90, %f70; + setp.lt.f32 %p62, %f90, 0f00800000; + mul.f32 %f398, %f90, 0f4B800000; + selp.f32 %f399, 0fC3170000, 0fC2FE0000, %p62; + selp.f32 %f400, %f398, %f90, %p62; + mov.b32 %r244, %f400; + and.b32 %r245, %r244, 8388607; + or.b32 %r246, %r245, 1065353216; + mov.b32 %f401, %r246; + shr.u32 %r247, %r244, 23; + cvt.rn.f32.u32 %f402, %r247; + add.f32 %f403, %f399, %f402; + setp.gt.f32 %p63, %f401, 0f3FB504F3; + mul.f32 %f404, %f401, 0f3F000000; + add.f32 %f405, %f403, 0f3F800000; + selp.f32 %f406, %f404, %f401, %p63; + selp.f32 %f407, %f405, %f403, %p63; + add.f32 %f408, %f406, 0fBF800000; + add.f32 %f394, %f406, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f393,%f394; + // inline asm + add.f32 %f409, %f408, %f408; + mul.f32 %f410, %f393, %f409; + mul.f32 %f411, %f410, %f410; + mov.f32 %f412, 0f3C4CAF63; + mov.f32 %f413, 0f3B18F0FE; + fma.rn.f32 %f414, %f413, %f411, %f412; + mov.f32 %f415, 0f3DAAAABD; + fma.rn.f32 %f416, %f414, %f411, %f415; + mul.rn.f32 %f417, %f416, %f411; + mul.rn.f32 %f418, %f417, %f410; + sub.f32 %f419, %f408, %f410; + neg.f32 %f420, %f410; + add.f32 %f421, %f419, %f419; + fma.rn.f32 %f422, %f420, %f408, %f421; + mul.rn.f32 %f423, %f393, %f422; + add.f32 %f424, %f418, %f410; + sub.f32 %f425, %f410, %f424; + add.f32 %f426, %f418, %f425; + add.f32 %f427, %f423, %f426; + add.f32 %f428, %f424, %f427; + sub.f32 %f429, %f424, %f428; + add.f32 %f430, %f427, %f429; + mov.f32 %f431, 0f3F317200; + mul.rn.f32 %f432, %f407, %f431; + mov.f32 %f433, 0f35BFBE8E; + mul.rn.f32 %f434, %f407, %f433; + add.f32 %f435, %f432, %f428; + sub.f32 %f436, %f432, %f435; + add.f32 %f437, %f428, %f436; + add.f32 %f438, %f430, %f437; + add.f32 %f439, %f434, %f438; + add.f32 %f440, %f435, %f439; + sub.f32 %f441, %f435, %f440; + add.f32 %f442, %f439, %f441; + mov.f32 %f443, 0f3EE66666; + mul.rn.f32 %f444, %f443, %f440; + neg.f32 %f445, %f444; + fma.rn.f32 %f446, %f443, %f440, %f445; + fma.rn.f32 %f447, %f443, %f442, %f446; + mov.f32 %f448, 0f00000000; + fma.rn.f32 %f449, %f448, %f440, %f447; + add.rn.f32 %f450, %f444, %f449; + neg.f32 %f451, %f450; + add.rn.f32 %f452, %f444, %f451; + add.rn.f32 %f453, %f452, %f449; + mov.b32 %r248, %f450; + setp.eq.s32 %p64, %r248, 1118925336; + add.s32 %r249, %r248, -1; + mov.b32 %f454, %r249; + add.f32 %f455, %f453, 0f37000000; + selp.f32 %f456, %f454, %f450, %p64; + selp.f32 %f91, %f455, %f453, %p64; + mul.f32 %f457, %f456, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f458, %f457; + mov.f32 %f459, 0fBF317200; + fma.rn.f32 %f460, %f458, %f459, %f456; + mov.f32 %f461, 0fB5BFBE8E; + fma.rn.f32 %f462, %f458, %f461, %f460; + mul.f32 %f463, %f462, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f464, %f463; + add.f32 %f465, %f458, 0f00000000; + ex2.approx.f32 %f466, %f465; + mul.f32 %f467, %f464, %f466; + setp.lt.f32 %p65, %f456, 0fC2D20000; + selp.f32 %f468, 0f00000000, %f467, %p65; + setp.gt.f32 %p66, %f456, 0f42D20000; + selp.f32 %f787, 0f7F800000, %f468, %p66; + setp.eq.f32 %p67, %f787, 0f7F800000; + @%p67 bra BB0_73; + + fma.rn.f32 %f787, %f787, %f91, %f787; + +BB0_73: + mov.f32 %f725, 0f3E666666; + cvt.rzi.f32.f32 %f724, %f725; + fma.rn.f32 %f723, %f724, 0fC0000000, 0f3EE66666; + abs.f32 %f722, %f723; + setp.lt.f32 %p68, %f70, 0f00000000; + setp.eq.f32 %p69, %f722, 0f3F800000; + and.pred %p2, %p68, %p69; + mov.b32 %r250, %f787; + xor.b32 %r251, %r250, -2147483648; + mov.b32 %f469, %r251; + selp.f32 %f789, %f469, %f787, %p2; + setp.eq.f32 %p70, %f70, 0f00000000; + @%p70 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f472, %f70, %f70; + selp.f32 %f789, %f472, 0f00000000, %p69; + bra.uni BB0_77; + +BB0_74: + setp.geu.f32 %p71, %f70, 0f00000000; + @%p71 bra BB0_77; + + mov.f32 %f749, 0f3EE66666; + cvt.rzi.f32.f32 %f471, %f749; + setp.neu.f32 %p72, %f471, 0f3EE66666; + selp.f32 %f789, 0f7FFFFFFF, %f789, %p72; + +BB0_77: + abs.f32 %f726, %f70; + add.f32 %f473, %f726, 0f3EE66666; + mov.b32 %r252, %f473; + setp.lt.s32 %p74, %r252, 2139095040; + @%p74 bra BB0_82; + + abs.f32 %f747, %f70; + setp.gtu.f32 %p75, %f747, 0f7F800000; + @%p75 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f789, %f70, 0f3EE66666; + bra.uni BB0_82; + +BB0_79: + abs.f32 %f748, %f70; + setp.neu.f32 %p76, %f748, 0f7F800000; + @%p76 bra BB0_82; + + selp.f32 %f789, 0fFF800000, 0f7F800000, %p2; + +BB0_82: + mov.f32 %f735, 0fB5BFBE8E; + mov.f32 %f734, 0fBF317200; + mov.f32 %f733, 0f00000000; + mov.f32 %f732, 0f35BFBE8E; + mov.f32 %f731, 0f3F317200; + mov.f32 %f730, 0f3DAAAABD; + mov.f32 %f729, 0f3C4CAF63; + mov.f32 %f728, 0f3B18F0FE; + mov.f32 %f727, 0f3EE66666; + setp.eq.f32 %p77, %f70, 0f3F800000; + selp.f32 %f102, 0f3F800000, %f789, %p77; + abs.f32 %f103, %f71; + setp.lt.f32 %p78, %f103, 0f00800000; + mul.f32 %f476, %f103, 0f4B800000; + selp.f32 %f477, 0fC3170000, 0fC2FE0000, %p78; + selp.f32 %f478, %f476, %f103, %p78; + mov.b32 %r253, %f478; + and.b32 %r254, %r253, 8388607; + or.b32 %r255, %r254, 1065353216; + mov.b32 %f479, %r255; + shr.u32 %r256, %r253, 23; + cvt.rn.f32.u32 %f480, %r256; + add.f32 %f481, %f477, %f480; + setp.gt.f32 %p79, %f479, 0f3FB504F3; + mul.f32 %f482, %f479, 0f3F000000; + add.f32 %f483, %f481, 0f3F800000; + selp.f32 %f484, %f482, %f479, %p79; + selp.f32 %f485, %f483, %f481, %p79; + add.f32 %f486, %f484, 0fBF800000; + add.f32 %f475, %f484, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f474,%f475; + // inline asm + add.f32 %f487, %f486, %f486; + mul.f32 %f488, %f474, %f487; + mul.f32 %f489, %f488, %f488; + fma.rn.f32 %f492, %f728, %f489, %f729; + fma.rn.f32 %f494, %f492, %f489, %f730; + mul.rn.f32 %f495, %f494, %f489; + mul.rn.f32 %f496, %f495, %f488; + sub.f32 %f497, %f486, %f488; + neg.f32 %f498, %f488; + add.f32 %f499, %f497, %f497; + fma.rn.f32 %f500, %f498, %f486, %f499; + mul.rn.f32 %f501, %f474, %f500; + add.f32 %f502, %f496, %f488; + sub.f32 %f503, %f488, %f502; + add.f32 %f504, %f496, %f503; + add.f32 %f505, %f501, %f504; + add.f32 %f506, %f502, %f505; + sub.f32 %f507, %f502, %f506; + add.f32 %f508, %f505, %f507; + mul.rn.f32 %f510, %f485, %f731; + mul.rn.f32 %f512, %f485, %f732; + add.f32 %f513, %f510, %f506; + sub.f32 %f514, %f510, %f513; + add.f32 %f515, %f506, %f514; + add.f32 %f516, %f508, %f515; + add.f32 %f517, %f512, %f516; + add.f32 %f518, %f513, %f517; + sub.f32 %f519, %f513, %f518; + add.f32 %f520, %f517, %f519; + mul.rn.f32 %f522, %f727, %f518; + neg.f32 %f523, %f522; + fma.rn.f32 %f524, %f727, %f518, %f523; + fma.rn.f32 %f525, %f727, %f520, %f524; + fma.rn.f32 %f527, %f733, %f518, %f525; + add.rn.f32 %f528, %f522, %f527; + neg.f32 %f529, %f528; + add.rn.f32 %f530, %f522, %f529; + add.rn.f32 %f531, %f530, %f527; + mov.b32 %r257, %f528; + setp.eq.s32 %p80, %r257, 1118925336; + add.s32 %r258, %r257, -1; + mov.b32 %f532, %r258; + add.f32 %f533, %f531, 0f37000000; + selp.f32 %f534, %f532, %f528, %p80; + selp.f32 %f104, %f533, %f531, %p80; + mul.f32 %f535, %f534, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f536, %f535; + fma.rn.f32 %f538, %f536, %f734, %f534; + fma.rn.f32 %f540, %f536, %f735, %f538; + mul.f32 %f541, %f540, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f542, %f541; + add.f32 %f543, %f536, 0f00000000; + ex2.approx.f32 %f544, %f543; + mul.f32 %f545, %f542, %f544; + setp.lt.f32 %p81, %f534, 0fC2D20000; + selp.f32 %f546, 0f00000000, %f545, %p81; + setp.gt.f32 %p82, %f534, 0f42D20000; + selp.f32 %f790, 0f7F800000, %f546, %p82; + setp.eq.f32 %p83, %f790, 0f7F800000; + @%p83 bra BB0_84; + + fma.rn.f32 %f790, %f790, %f104, %f790; + +BB0_84: + setp.lt.f32 %p84, %f71, 0f00000000; + and.pred %p3, %p84, %p69; + mov.b32 %r259, %f790; + xor.b32 %r260, %r259, -2147483648; + mov.b32 %f547, %r260; + selp.f32 %f792, %f547, %f790, %p3; + setp.eq.f32 %p86, %f71, 0f00000000; + @%p86 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f550, %f71, %f71; + selp.f32 %f792, %f550, 0f00000000, %p69; + bra.uni BB0_88; + +BB0_85: + setp.geu.f32 %p87, %f71, 0f00000000; + @%p87 bra BB0_88; + + mov.f32 %f746, 0f3EE66666; + cvt.rzi.f32.f32 %f549, %f746; + setp.neu.f32 %p88, %f549, 0f3EE66666; + selp.f32 %f792, 0f7FFFFFFF, %f792, %p88; + +BB0_88: + abs.f32 %f750, %f71; + add.f32 %f551, %f750, 0f3EE66666; + mov.b32 %r261, %f551; + setp.lt.s32 %p90, %r261, 2139095040; + @%p90 bra BB0_93; + + abs.f32 %f751, %f71; + setp.gtu.f32 %p91, %f751, 0f7F800000; + @%p91 bra BB0_92; + bra.uni BB0_90; + +BB0_92: + add.f32 %f792, %f71, 0f3EE66666; + bra.uni BB0_93; + +BB0_90: + abs.f32 %f752, %f71; + setp.neu.f32 %p92, %f752, 0f7F800000; + @%p92 bra BB0_93; + + selp.f32 %f792, 0fFF800000, 0f7F800000, %p3; + +BB0_93: + mov.f32 %f744, 0fB5BFBE8E; + mov.f32 %f743, 0fBF317200; + mov.f32 %f742, 0f00000000; + mov.f32 %f741, 0f35BFBE8E; + mov.f32 %f740, 0f3F317200; + mov.f32 %f739, 0f3DAAAABD; + mov.f32 %f738, 0f3C4CAF63; + mov.f32 %f737, 0f3B18F0FE; + mov.f32 %f736, 0f3EE66666; + setp.eq.f32 %p93, %f71, 0f3F800000; + selp.f32 %f115, 0f3F800000, %f792, %p93; + abs.f32 %f116, %f72; + setp.lt.f32 %p94, %f116, 0f00800000; + mul.f32 %f554, %f116, 0f4B800000; + selp.f32 %f555, 0fC3170000, 0fC2FE0000, %p94; + selp.f32 %f556, %f554, %f116, %p94; + mov.b32 %r262, %f556; + and.b32 %r263, %r262, 8388607; + or.b32 %r264, %r263, 1065353216; + mov.b32 %f557, %r264; + shr.u32 %r265, %r262, 23; + cvt.rn.f32.u32 %f558, %r265; + add.f32 %f559, %f555, %f558; + setp.gt.f32 %p95, %f557, 0f3FB504F3; + mul.f32 %f560, %f557, 0f3F000000; + add.f32 %f561, %f559, 0f3F800000; + selp.f32 %f562, %f560, %f557, %p95; + selp.f32 %f563, %f561, %f559, %p95; + add.f32 %f564, %f562, 0fBF800000; + add.f32 %f553, %f562, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f552,%f553; + // inline asm + add.f32 %f565, %f564, %f564; + mul.f32 %f566, %f552, %f565; + mul.f32 %f567, %f566, %f566; + fma.rn.f32 %f570, %f737, %f567, %f738; + fma.rn.f32 %f572, %f570, %f567, %f739; + mul.rn.f32 %f573, %f572, %f567; + mul.rn.f32 %f574, %f573, %f566; + sub.f32 %f575, %f564, %f566; + neg.f32 %f576, %f566; + add.f32 %f577, %f575, %f575; + fma.rn.f32 %f578, %f576, %f564, %f577; + mul.rn.f32 %f579, %f552, %f578; + add.f32 %f580, %f574, %f566; + sub.f32 %f581, %f566, %f580; + add.f32 %f582, %f574, %f581; + add.f32 %f583, %f579, %f582; + add.f32 %f584, %f580, %f583; + sub.f32 %f585, %f580, %f584; + add.f32 %f586, %f583, %f585; + mul.rn.f32 %f588, %f563, %f740; + mul.rn.f32 %f590, %f563, %f741; + add.f32 %f591, %f588, %f584; + sub.f32 %f592, %f588, %f591; + add.f32 %f593, %f584, %f592; + add.f32 %f594, %f586, %f593; + add.f32 %f595, %f590, %f594; + add.f32 %f596, %f591, %f595; + sub.f32 %f597, %f591, %f596; + add.f32 %f598, %f595, %f597; + mul.rn.f32 %f600, %f736, %f596; + neg.f32 %f601, %f600; + fma.rn.f32 %f602, %f736, %f596, %f601; + fma.rn.f32 %f603, %f736, %f598, %f602; + fma.rn.f32 %f605, %f742, %f596, %f603; + add.rn.f32 %f606, %f600, %f605; + neg.f32 %f607, %f606; + add.rn.f32 %f608, %f600, %f607; + add.rn.f32 %f609, %f608, %f605; + mov.b32 %r266, %f606; + setp.eq.s32 %p96, %r266, 1118925336; + add.s32 %r267, %r266, -1; + mov.b32 %f610, %r267; + add.f32 %f611, %f609, 0f37000000; + selp.f32 %f612, %f610, %f606, %p96; + selp.f32 %f117, %f611, %f609, %p96; + mul.f32 %f613, %f612, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f614, %f613; + fma.rn.f32 %f616, %f614, %f743, %f612; + fma.rn.f32 %f618, %f614, %f744, %f616; + mul.f32 %f619, %f618, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f620, %f619; + add.f32 %f621, %f614, 0f00000000; + ex2.approx.f32 %f622, %f621; + mul.f32 %f623, %f620, %f622; + setp.lt.f32 %p97, %f612, 0fC2D20000; + selp.f32 %f624, 0f00000000, %f623, %p97; + setp.gt.f32 %p98, %f612, 0f42D20000; + selp.f32 %f793, 0f7F800000, %f624, %p98; + setp.eq.f32 %p99, %f793, 0f7F800000; + @%p99 bra BB0_95; + + fma.rn.f32 %f793, %f793, %f117, %f793; + +BB0_95: + setp.lt.f32 %p100, %f72, 0f00000000; + and.pred %p4, %p100, %p69; + mov.b32 %r268, %f793; + xor.b32 %r269, %r268, -2147483648; + mov.b32 %f625, %r269; + selp.f32 %f795, %f625, %f793, %p4; + setp.eq.f32 %p102, %f72, 0f00000000; + @%p102 bra BB0_98; + bra.uni BB0_96; + +BB0_98: + add.f32 %f628, %f72, %f72; + selp.f32 %f795, %f628, 0f00000000, %p69; + bra.uni BB0_99; + +BB0_96: + setp.geu.f32 %p103, %f72, 0f00000000; + @%p103 bra BB0_99; + + mov.f32 %f745, 0f3EE66666; + cvt.rzi.f32.f32 %f627, %f745; + setp.neu.f32 %p104, %f627, 0f3EE66666; + selp.f32 %f795, 0f7FFFFFFF, %f795, %p104; + +BB0_99: + abs.f32 %f761, %f72; + add.f32 %f629, %f761, 0f3EE66666; + mov.b32 %r270, %f629; + setp.lt.s32 %p106, %r270, 2139095040; + @%p106 bra BB0_104; + + abs.f32 %f762, %f72; + setp.gtu.f32 %p107, %f762, 0f7F800000; + @%p107 bra BB0_103; + bra.uni BB0_101; + +BB0_103: + add.f32 %f795, %f72, 0f3EE66666; + bra.uni BB0_104; + +BB0_101: + abs.f32 %f763, %f72; + setp.neu.f32 %p108, %f763, 0f7F800000; + @%p108 bra BB0_104; + + selp.f32 %f795, 0fFF800000, 0f7F800000, %p4; + +BB0_104: + mov.u32 %r355, 4; + setp.eq.f32 %p109, %f72, 0f3F800000; + selp.f32 %f630, 0f3F800000, %f795, %p109; + cvt.u64.u32 %rd63, %r3; + cvt.u64.u32 %rd62, %r2; + mov.u64 %rd66, image; + cvta.global.u64 %rd61, %rd66; + // inline asm + call (%rd60), _rt_buffer_get_64, (%rd61, %r99, %r355, %rd62, %rd63, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f631, %f630; + mul.f32 %f632, %f631, 0f437FFD71; + cvt.rzi.u32.f32 %r273, %f632; + cvt.sat.f32.f32 %f633, %f115; + mul.f32 %f634, %f633, 0f437FFD71; + cvt.rzi.u32.f32 %r274, %f634; + cvt.sat.f32.f32 %f635, %f102; + mul.f32 %f636, %f635, 0f437FFD71; + cvt.rzi.u32.f32 %r275, %f636; + cvt.u16.u32 %rs16, %r273; + cvt.u16.u32 %rs17, %r275; + cvt.u16.u32 %rs18, %r274; + mov.u16 %rs19, 255; + st.v4.u8 [%rd60], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r385, [imageEnabled]; + +BB0_105: + cvt.u64.u32 %rd16, %r2; + cvt.u64.u32 %rd17, %r3; + and.b32 %r276, %r385, 4; + setp.eq.s32 %p110, %r276, 0; + @%p110 bra BB0_109; + + ld.global.u32 %r277, [additive]; + setp.eq.s32 %p111, %r277, 0; + mov.f32 %f637, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs20, %f637;} + + // inline asm + @%p111 bra BB0_108; + + mov.u64 %rd79, image_HDR; + cvta.global.u64 %rd68, %rd79; + mov.u32 %r281, 8; + // inline asm + call (%rd67), _rt_buffer_get_64, (%rd68, %r99, %r281, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd67]; + // inline asm + { cvt.f32.f16 %f638, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f639, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f640, %rs29;} + + // inline asm + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd68, %r99, %r281, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f641, %f70, %f638; + add.f32 %f642, %f71, %f639; + add.f32 %f643, %f72, %f640; + // inline asm + { cvt.rn.f16.f32 %rs26, %f643;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f642;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f641;} + + // inline asm + st.v4.u16 [%rd73], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_109; + +BB0_108: + mov.u64 %rd86, image_HDR; + cvta.global.u64 %rd81, %rd86; + mov.u32 %r283, 8; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r99, %r283, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f72;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f71;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f70;} + + // inline asm + st.v4.u16 [%rd80], {%rs31, %rs32, %rs33, %rs20}; + +BB0_109: + ld.global.u32 %r284, [additive]; + setp.eq.s32 %p112, %r284, 0; + mov.f32 %f647, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs34, %f647;} + + // inline asm + @%p112 bra BB0_111; + + mov.u64 %rd99, image_RNM0; + cvta.global.u64 %rd88, %rd99; + mov.u32 %r288, 8; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r99, %r288, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd87]; + // inline asm + { cvt.f32.f16 %f648, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f649, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f650, %rs43;} + + // inline asm + // inline asm + call (%rd93), _rt_buffer_get_64, (%rd88, %r99, %r288, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f651, %f73, %f648; + add.f32 %f652, %f74, %f649; + add.f32 %f653, %f75, %f650; + // inline asm + { cvt.rn.f16.f32 %rs40, %f653;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f652;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f651;} + + // inline asm + st.v4.u16 [%rd93], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_112; + +BB0_111: + mov.u64 %rd106, image_RNM0; + cvta.global.u64 %rd101, %rd106; + mov.u32 %r290, 8; + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd101, %r99, %r290, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f75;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f74;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f73;} + + // inline asm + st.v4.u16 [%rd100], {%rs45, %rs46, %rs47, %rs34}; + +BB0_112: + ld.global.f32 %f658, [directDir]; + fma.rn.f32 %f128, %f658, 0fBF000000, 0f3F000000; + ld.global.f32 %f659, [directDir+4]; + fma.rn.f32 %f129, %f659, 0fBF000000, 0f3F000000; + ld.global.f32 %f660, [directDir+8]; + fma.rn.f32 %f130, %f660, 0fBF000000, 0f3F000000; + ld.global.u32 %r291, [additive]; + setp.eq.s32 %p113, %r291, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f647;} + + // inline asm + @%p113 bra BB0_114; + + mov.u64 %rd119, image_RNM1; + cvta.global.u64 %rd108, %rd119; + mov.u32 %r295, 8; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r99, %r295, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd107]; + // inline asm + { cvt.f32.f16 %f661, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f662, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f663, %rs57;} + + // inline asm + // inline asm + call (%rd113), _rt_buffer_get_64, (%rd108, %r99, %r295, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f664, %f128, %f661; + add.f32 %f665, %f128, %f662; + add.f32 %f666, %f128, %f663; + // inline asm + { cvt.rn.f16.f32 %rs54, %f666;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f665;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f664;} + + // inline asm + st.v4.u16 [%rd113], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_115; + +BB0_114: + mov.u64 %rd126, image_RNM1; + cvta.global.u64 %rd121, %rd126; + mov.u32 %r297, 8; + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd121, %r99, %r297, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f128;} + + // inline asm + st.v4.u16 [%rd120], {%rs59, %rs59, %rs59, %rs48}; + +BB0_115: + ld.global.u32 %r298, [additive]; + setp.eq.s32 %p114, %r298, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f647;} + + // inline asm + @%p114 bra BB0_117; + + mov.u64 %rd139, image_RNM2; + cvta.global.u64 %rd128, %rd139; + mov.u32 %r302, 8; + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd128, %r99, %r302, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd127]; + // inline asm + { cvt.f32.f16 %f669, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f670, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f671, %rs69;} + + // inline asm + // inline asm + call (%rd133), _rt_buffer_get_64, (%rd128, %r99, %r302, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f672, %f129, %f669; + add.f32 %f673, %f129, %f670; + add.f32 %f674, %f129, %f671; + // inline asm + { cvt.rn.f16.f32 %rs66, %f674;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f673;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f672;} + + // inline asm + st.v4.u16 [%rd133], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_118; + +BB0_117: + mov.u64 %rd146, image_RNM2; + cvta.global.u64 %rd141, %rd146; + mov.u32 %r304, 8; + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd141, %r99, %r304, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f129;} + + // inline asm + st.v4.u16 [%rd140], {%rs71, %rs71, %rs71, %rs60}; + +BB0_118: + ld.global.u32 %r305, [additive]; + setp.eq.s32 %p115, %r305, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f647;} + + // inline asm + @%p115 bra BB0_120; + + mov.u64 %rd159, image_RNM3; + cvta.global.u64 %rd148, %rd159; + mov.u32 %r309, 8; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r99, %r309, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd147]; + // inline asm + { cvt.f32.f16 %f677, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f678, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f679, %rs81;} + + // inline asm + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd148, %r99, %r309, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f680, %f130, %f677; + add.f32 %f681, %f130, %f678; + add.f32 %f682, %f130, %f679; + // inline asm + { cvt.rn.f16.f32 %rs78, %f682;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f681;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f680;} + + // inline asm + st.v4.u16 [%rd153], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_141; + +BB0_120: + mov.u64 %rd166, image_RNM3; + cvta.global.u64 %rd161, %rd166; + mov.u32 %r311, 8; + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd161, %r99, %r311, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f130;} + + // inline asm + st.v4.u16 [%rd160], {%rs83, %rs83, %rs83, %rs72}; + +BB0_141: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx.meta new file mode 100644 index 00000000..2729b116 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmSunSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 434f62bfd528b994d926b341c7747cf1 +timeCreated: 1537559880 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLight.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLight.ptx new file mode 100644 index 00000000..bb6f45f9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLight.ptx @@ -0,0 +1,1843 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[44]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<142>; + .reg .b16 %rs<46>; + .reg .f32 %f<906>; + .reg .b32 %r<367>; + .reg .b64 %rd<147>; + + + mov.u64 %rd146, __local_depot0; + cvta.local.u64 %SP, %rd146; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r103, %r104}, [pixelID]; + cvt.u64.u32 %rd21, %r103; + cvt.u64.u32 %rd22, %r104; + mov.u64 %rd25, uvnormal; + cvta.global.u64 %rd20, %rd25; + mov.u32 %r101, 2; + mov.u32 %r102, 4; + mov.u64 %rd24, 0; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r101, %r102, %rd21, %rd22, %rd24, %rd24); + // inline asm + ld.u32 %r2, [%rd19]; + shr.u32 %r107, %r2, 16; + cvt.u16.u32 %rs1, %r107; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r2; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p7, %rs5, 0; + mov.f32 %f847, 0f00000000; + mov.f32 %f848, %f847; + mov.f32 %f849, %f847; + @%p7 bra BB0_2; + + ld.u8 %rs6, [%rd19+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f193, %rs8; + div.rn.f32 %f194, %f193, 0f437F0000; + fma.rn.f32 %f195, %f194, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f196, %rs6; + div.rn.f32 %f197, %f196, 0f437F0000; + fma.rn.f32 %f198, %f197, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f199, %rs3; + div.rn.f32 %f200, %f199, 0f437F0000; + fma.rn.f32 %f201, %f200, 0f40000000, 0fBF800000; + mul.f32 %f202, %f198, %f198; + fma.rn.f32 %f203, %f195, %f195, %f202; + fma.rn.f32 %f204, %f201, %f201, %f203; + sqrt.rn.f32 %f205, %f204; + rcp.rn.f32 %f206, %f205; + mul.f32 %f847, %f195, %f206; + mul.f32 %f848, %f198, %f206; + mul.f32 %f849, %f201, %f206; + +BB0_2: + ld.global.v2.u32 {%r108, %r109}, [pixelID]; + ld.global.v2.u32 {%r111, %r112}, [tileInfo]; + add.s32 %r3, %r108, %r111; + add.s32 %r4, %r109, %r112; + setp.eq.f32 %p8, %f848, 0f00000000; + setp.eq.f32 %p9, %f847, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f849, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_129; + bra.uni BB0_3; + +BB0_129: + ld.global.u32 %r366, [imageEnabled]; + and.b32 %r311, %r366, 1; + setp.eq.b32 %p137, %r311, 1; + @!%p137 bra BB0_131; + bra.uni BB0_130; + +BB0_130: + cvt.u64.u32 %rd106, %r3; + cvt.u64.u32 %rd107, %r4; + mov.u64 %rd110, image; + cvta.global.u64 %rd105, %rd110; + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd105, %r101, %r102, %rd106, %rd107, %rd24, %rd24); + // inline asm + mov.u16 %rs30, 0; + st.v4.u8 [%rd104], {%rs30, %rs30, %rs30, %rs30}; + ld.global.u32 %r366, [imageEnabled]; + +BB0_131: + and.b32 %r314, %r366, 8; + setp.eq.s32 %p138, %r314, 0; + @%p138 bra BB0_133; + + cvt.u64.u32 %rd113, %r3; + cvt.u64.u32 %rd114, %r4; + mov.u64 %rd117, image_Mask; + cvta.global.u64 %rd112, %rd117; + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd112, %r101, %r101, %rd113, %rd114, %rd24, %rd24); + // inline asm + mov.f32 %f830, 0f00000000; + cvt.rzi.u32.f32 %r317, %f830; + cvt.u16.u32 %rs31, %r317; + mov.u16 %rs32, 0; + st.v2.u8 [%rd111], {%rs31, %rs32}; + ld.global.u32 %r366, [imageEnabled]; + +BB0_133: + and.b32 %r318, %r366, 4; + setp.eq.s32 %p139, %r318, 0; + @%p139 bra BB0_137; + + ld.global.u32 %r319, [additive]; + setp.eq.s32 %p140, %r319, 0; + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + @%p140 bra BB0_136; + + mov.u64 %rd130, image_HDR; + cvta.global.u64 %rd119, %rd130; + mov.u32 %r323, 8; + // inline asm + call (%rd118), _rt_buffer_get_64, (%rd119, %r101, %r323, %rd17, %rd18, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs39, %rs40, %rs41, %rs42}, [%rd118]; + // inline asm + { cvt.f32.f16 %f831, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f832, %rs40;} + + // inline asm + // inline asm + { cvt.f32.f16 %f833, %rs41;} + + // inline asm + // inline asm + call (%rd124), _rt_buffer_get_64, (%rd119, %r101, %r323, %rd17, %rd18, %rd24, %rd24); + // inline asm + add.f32 %f834, %f831, 0f00000000; + add.f32 %f835, %f832, 0f00000000; + add.f32 %f836, %f833, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs38, %f836;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f835;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f834;} + + // inline asm + mov.u16 %rs43, 0; + st.v4.u16 [%rd124], {%rs36, %rs37, %rs38, %rs43}; + bra.uni BB0_137; + +BB0_3: + ld.global.v2.u32 {%r121, %r122}, [pixelID]; + cvt.u64.u32 %rd28, %r121; + cvt.u64.u32 %rd29, %r122; + mov.u64 %rd38, uvpos; + cvta.global.u64 %rd27, %rd38; + mov.u32 %r117, 12; + // inline asm + call (%rd26), _rt_buffer_get_64, (%rd27, %r101, %r117, %rd28, %rd29, %rd24, %rd24); + // inline asm + ld.f32 %f9, [%rd26+8]; + ld.f32 %f8, [%rd26+4]; + ld.f32 %f7, [%rd26]; + mul.f32 %f211, %f7, 0f3456BF95; + mul.f32 %f212, %f8, 0f3456BF95; + mul.f32 %f213, %f9, 0f3456BF95; + abs.f32 %f10, %f847; + div.rn.f32 %f214, %f211, %f10; + abs.f32 %f215, %f848; + div.rn.f32 %f216, %f212, %f215; + abs.f32 %f11, %f849; + div.rn.f32 %f217, %f213, %f11; + abs.f32 %f218, %f214; + abs.f32 %f219, %f216; + abs.f32 %f220, %f217; + mov.f32 %f221, 0f38D1B717; + max.f32 %f222, %f218, %f221; + max.f32 %f223, %f219, %f221; + max.f32 %f224, %f220, %f221; + fma.rn.f32 %f12, %f847, %f222, %f7; + fma.rn.f32 %f13, %f848, %f223, %f8; + fma.rn.f32 %f14, %f849, %f224, %f9; + ld.global.v2.u32 {%r125, %r126}, [pixelID]; + cvt.u64.u32 %rd34, %r125; + cvt.u64.u32 %rd35, %r126; + mov.u64 %rd39, rnd_seeds; + cvta.global.u64 %rd33, %rd39; + // inline asm + call (%rd32), _rt_buffer_get_64, (%rd33, %r101, %r102, %rd34, %rd35, %rd24, %rd24); + // inline asm + ld.u32 %r129, [%rd32]; + mad.lo.s32 %r5, %r129, 1664525, 1013904223; + ld.global.u32 %r130, [lightMeshBufferSize]; + setp.eq.s32 %p14, %r130, 0; + mov.pred %p13, 0; + mov.f32 %f20, 0f00000000; + mov.u32 %r7, 0; + @%p14 bra BB0_4; + + ld.global.f32 %f15, [lightPointSize]; + mul.f32 %f16, %f12, 0f3456BF95; + mul.f32 %f17, %f13, 0f3456BF95; + mul.f32 %f18, %f14, 0f3456BF95; + and.b32 %r133, %r5, 16777215; + cvt.rn.f32.u32 %f229, %r133; + mul.f32 %f230, %f229, 0fB3800000; + fma.rn.f32 %f19, %f230, 0f3F333333, 0f3F800000; + mov.f32 %f20, 0f00000000; + mov.u32 %r335, 0; + abs.f32 %f353, %f17; + abs.f32 %f354, %f16; + max.f32 %f355, %f354, %f353; + abs.f32 %f356, %f18; + max.f32 %f357, %f355, %f356; + mov.u32 %r7, %r335; + mov.f32 %f21, %f20; + mov.f32 %f22, %f20; + mov.f32 %f23, %f20; + +BB0_6: + mul.lo.s32 %r8, %r335, 3; + cvt.s64.s32 %rd42, %r8; + mov.u64 %rd46, lightMeshBuffer; + cvta.global.u64 %rd41, %rd46; + mov.u32 %r134, 1; + // inline asm + call (%rd40), _rt_buffer_get_64, (%rd41, %r134, %r117, %rd42, %rd24, %rd24, %rd24); + // inline asm + ld.f32 %f231, [%rd40]; + sub.f32 %f232, %f231, %f7; + ld.f32 %f233, [%rd40+4]; + sub.f32 %f234, %f233, %f8; + ld.f32 %f235, [%rd40+8]; + sub.f32 %f236, %f235, %f9; + mul.f32 %f237, %f234, %f234; + fma.rn.f32 %f238, %f232, %f232, %f237; + fma.rn.f32 %f239, %f236, %f236, %f238; + sqrt.rn.f32 %f24, %f239; + rcp.rn.f32 %f240, %f24; + mul.f32 %f25, %f232, %f240; + mul.f32 %f26, %f234, %f240; + mul.f32 %f27, %f236, %f240; + mul.f32 %f241, %f848, %f26; + fma.rn.f32 %f242, %f847, %f25, %f241; + fma.rn.f32 %f28, %f849, %f27, %f242; + setp.leu.f32 %p15, %f28, 0f00000000; + @%p15 bra BB0_22; + + setp.ne.s32 %p17, %r1, 0; + mul.f32 %f243, %f24, %f24; + mul.f32 %f244, %f243, 0f40C90FDB; + div.rn.f32 %f245, %f15, %f244; + add.f32 %f29, %f245, %f245; + setp.gt.f32 %p18, %f29, %f19; + and.pred %p19, %p17, %p18; + mov.pred %p141, -1; + @%p19 bra BB0_24; + + ld.global.f32 %f248, [lightInvCutoff]; + mul.f32 %f30, %f24, %f248; + mov.f32 %f252, 0f40800000; + abs.f32 %f32, %f30; + setp.lt.f32 %p20, %f32, 0f00800000; + mul.f32 %f254, %f32, 0f4B800000; + selp.f32 %f255, 0fC3170000, 0fC2FE0000, %p20; + selp.f32 %f256, %f254, %f32, %p20; + mov.b32 %r136, %f256; + and.b32 %r137, %r136, 8388607; + or.b32 %r138, %r137, 1065353216; + mov.b32 %f257, %r138; + shr.u32 %r139, %r136, 23; + cvt.rn.f32.u32 %f258, %r139; + add.f32 %f259, %f255, %f258; + setp.gt.f32 %p21, %f257, 0f3FB504F3; + mul.f32 %f260, %f257, 0f3F000000; + add.f32 %f261, %f259, 0f3F800000; + selp.f32 %f262, %f260, %f257, %p21; + selp.f32 %f263, %f261, %f259, %p21; + add.f32 %f264, %f262, 0fBF800000; + add.f32 %f247, %f262, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f246,%f247; + // inline asm + add.f32 %f265, %f264, %f264; + mul.f32 %f266, %f246, %f265; + mul.f32 %f267, %f266, %f266; + mov.f32 %f268, 0f3C4CAF63; + mov.f32 %f269, 0f3B18F0FE; + fma.rn.f32 %f270, %f269, %f267, %f268; + mov.f32 %f271, 0f3DAAAABD; + fma.rn.f32 %f272, %f270, %f267, %f271; + mul.rn.f32 %f273, %f272, %f267; + mul.rn.f32 %f274, %f273, %f266; + sub.f32 %f275, %f264, %f266; + neg.f32 %f276, %f266; + add.f32 %f277, %f275, %f275; + fma.rn.f32 %f278, %f276, %f264, %f277; + mul.rn.f32 %f279, %f246, %f278; + add.f32 %f280, %f274, %f266; + sub.f32 %f281, %f266, %f280; + add.f32 %f282, %f274, %f281; + add.f32 %f283, %f279, %f282; + add.f32 %f284, %f280, %f283; + sub.f32 %f285, %f280, %f284; + add.f32 %f286, %f283, %f285; + mov.f32 %f287, 0f3F317200; + mul.rn.f32 %f288, %f263, %f287; + mov.f32 %f289, 0f35BFBE8E; + mul.rn.f32 %f290, %f263, %f289; + add.f32 %f291, %f288, %f284; + sub.f32 %f292, %f288, %f291; + add.f32 %f293, %f284, %f292; + add.f32 %f294, %f286, %f293; + add.f32 %f295, %f290, %f294; + add.f32 %f296, %f291, %f295; + sub.f32 %f297, %f291, %f296; + add.f32 %f298, %f295, %f297; + mul.rn.f32 %f299, %f252, %f296; + neg.f32 %f300, %f299; + fma.rn.f32 %f301, %f252, %f296, %f300; + fma.rn.f32 %f302, %f252, %f298, %f301; + mov.f32 %f303, 0f00000000; + fma.rn.f32 %f304, %f303, %f296, %f302; + add.rn.f32 %f305, %f299, %f304; + neg.f32 %f306, %f305; + add.rn.f32 %f307, %f299, %f306; + add.rn.f32 %f308, %f307, %f304; + mov.b32 %r140, %f305; + setp.eq.s32 %p22, %r140, 1118925336; + add.s32 %r141, %r140, -1; + mov.b32 %f309, %r141; + add.f32 %f310, %f308, 0f37000000; + selp.f32 %f311, %f309, %f305, %p22; + selp.f32 %f33, %f310, %f308, %p22; + mul.f32 %f312, %f311, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f313, %f312; + mov.f32 %f314, 0fBF317200; + fma.rn.f32 %f315, %f313, %f314, %f311; + mov.f32 %f316, 0fB5BFBE8E; + fma.rn.f32 %f317, %f313, %f316, %f315; + mul.f32 %f318, %f317, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f319, %f318; + add.f32 %f320, %f313, 0f00000000; + ex2.approx.f32 %f321, %f320; + mul.f32 %f322, %f319, %f321; + setp.lt.f32 %p23, %f311, 0fC2D20000; + selp.f32 %f323, 0f00000000, %f322, %p23; + setp.gt.f32 %p24, %f311, 0f42D20000; + selp.f32 %f854, 0f7F800000, %f323, %p24; + setp.eq.f32 %p25, %f854, 0f7F800000; + @%p25 bra BB0_10; + + fma.rn.f32 %f854, %f854, %f33, %f854; + +BB0_10: + mov.f32 %f843, 0f40000000; + cvt.rzi.f32.f32 %f842, %f843; + add.f32 %f841, %f842, %f842; + mov.f32 %f840, 0f40800000; + sub.f32 %f839, %f840, %f841; + abs.f32 %f838, %f839; + setp.lt.f32 %p26, %f30, 0f00000000; + setp.eq.f32 %p27, %f838, 0f3F800000; + and.pred %p1, %p26, %p27; + mov.b32 %r142, %f854; + xor.b32 %r143, %r142, -2147483648; + mov.b32 %f324, %r143; + selp.f32 %f856, %f324, %f854, %p1; + setp.eq.f32 %p28, %f30, 0f00000000; + @%p28 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f327, %f30, %f30; + selp.f32 %f856, %f327, 0f00000000, %p27; + bra.uni BB0_14; + +BB0_11: + setp.geu.f32 %p29, %f30, 0f00000000; + @%p29 bra BB0_14; + + mov.f32 %f846, 0f40800000; + cvt.rzi.f32.f32 %f326, %f846; + setp.neu.f32 %p30, %f326, 0f40800000; + selp.f32 %f856, 0f7FFFFFFF, %f856, %p30; + +BB0_14: + add.f32 %f328, %f32, 0f40800000; + mov.b32 %r144, %f328; + setp.lt.s32 %p32, %r144, 2139095040; + @%p32 bra BB0_19; + + setp.gtu.f32 %p33, %f32, 0f7F800000; + @%p33 bra BB0_18; + bra.uni BB0_16; + +BB0_18: + add.f32 %f856, %f30, 0f40800000; + bra.uni BB0_19; + +BB0_16: + setp.neu.f32 %p34, %f32, 0f7F800000; + @%p34 bra BB0_19; + + selp.f32 %f856, 0fFF800000, 0f7F800000, %p1; + +BB0_19: + mov.u32 %r327, 1; + mov.u64 %rd139, lightMeshBuffer; + cvta.global.u64 %rd138, %rd139; + mul.lo.s32 %r326, %r335, 3; + mov.f32 %f329, 0f3F800000; + sub.f32 %f330, %f329, %f856; + setp.eq.f32 %p35, %f30, 0f3F800000; + selp.f32 %f331, 0f00000000, %f330, %p35; + cvt.sat.f32.f32 %f332, %f331; + mul.f32 %f333, %f29, %f332; + add.s32 %r147, %r326, 1; + cvt.s64.s32 %rd49, %r147; + // inline asm + call (%rd47), _rt_buffer_get_64, (%rd138, %r327, %r117, %rd49, %rd24, %rd24, %rd24); + // inline asm + ld.f32 %f334, [%rd47]; + mul.f32 %f335, %f25, %f334; + ld.f32 %f336, [%rd47+4]; + mul.f32 %f337, %f26, %f336; + neg.f32 %f338, %f337; + sub.f32 %f339, %f338, %f335; + ld.f32 %f340, [%rd47+8]; + mul.f32 %f341, %f27, %f340; + sub.f32 %f342, %f339, %f341; + cvt.sat.f32.f32 %f343, %f342; + mul.f32 %f44, %f333, %f343; + cvt.sat.f32.f32 %f45, %f28; + mul.f32 %f344, %f44, %f45; + setp.leu.f32 %p36, %f344, 0f3727C5AC; + @%p36 bra BB0_21; + + mov.u32 %r334, 1; + mov.u64 %rd141, lightMeshBuffer; + cvta.global.u64 %rd140, %rd141; + mul.lo.s32 %r333, %r335, 3; + add.u64 %rd54, %SP, 28; + cvta.to.local.u64 %rd61, %rd54; + max.f32 %f351, %f357, %f221; + sub.f32 %f352, %f24, %f351; + mov.u32 %r153, 1065353216; + st.local.u32 [%rd61], %r153; + ld.global.u32 %r148, [root]; + // inline asm + call _rt_trace_64, (%r148, %f12, %f13, %f14, %f25, %f26, %f27, %r334, %f351, %f352, %rd54, %r102); + // inline asm + add.s32 %r154, %r333, 2; + cvt.s64.s32 %rd57, %r154; + // inline asm + call (%rd55), _rt_buffer_get_64, (%rd140, %r334, %r117, %rd57, %rd24, %rd24, %rd24); + // inline asm + ld.f32 %f359, [%rd55]; + ld.local.f32 %f360, [%rd61]; + mul.f32 %f361, %f360, %f359; + ld.f32 %f362, [%rd55+4]; + mul.f32 %f363, %f360, %f362; + ld.f32 %f364, [%rd55+8]; + mul.f32 %f365, %f360, %f364; + mul.f32 %f366, %f44, %f361; + mul.f32 %f367, %f44, %f363; + mul.f32 %f368, %f44, %f365; + fma.rn.f32 %f23, %f45, %f366, %f23; + fma.rn.f32 %f22, %f45, %f367, %f22; + fma.rn.f32 %f21, %f45, %f368, %f21; + add.f32 %f20, %f20, %f360; + +BB0_21: + add.s32 %r7, %r7, 1; + +BB0_22: + ld.global.u32 %r155, [lightMeshBufferSize]; + add.s32 %r335, %r335, 1; + setp.lt.u32 %p38, %r335, %r155; + @%p38 bra BB0_6; + bra.uni BB0_23; + +BB0_4: + mov.f32 %f21, %f20; + mov.f32 %f22, %f20; + mov.f32 %f23, %f20; + +BB0_23: + mov.pred %p141, %p13; + +BB0_24: + cvt.rn.f32.s32 %f369, %r7; + mov.f32 %f370, 0f3F800000; + max.f32 %f371, %f369, %f370; + rcp.rn.f32 %f372, %f371; + mul.f32 %f890, %f23, %f372; + mul.f32 %f891, %f22, %f372; + mul.f32 %f892, %f21, %f372; + div.rn.f32 %f893, %f20, %f371; + @!%p141 bra BB0_77; + bra.uni BB0_25; + +BB0_25: + abs.f32 %f845, %f849; + abs.f32 %f844, %f847; + setp.gt.f32 %p39, %f844, %f845; + neg.f32 %f376, %f848; + selp.f32 %f377, %f376, 0f00000000, %p39; + neg.f32 %f378, %f849; + selp.f32 %f379, %f847, %f378, %p39; + selp.f32 %f380, 0f00000000, %f848, %p39; + mul.f32 %f381, %f379, %f379; + fma.rn.f32 %f382, %f377, %f377, %f381; + fma.rn.f32 %f383, %f380, %f380, %f382; + sqrt.rn.f32 %f384, %f383; + rcp.rn.f32 %f385, %f384; + mul.f32 %f66, %f377, %f385; + mul.f32 %f67, %f379, %f385; + mul.f32 %f68, %f380, %f385; + mov.f32 %f375, 0f00000000; + setp.lt.s32 %p40, %r1, 1; + mov.f32 %f872, %f375; + mov.f32 %f873, %f375; + mov.f32 %f874, %f375; + @%p40 bra BB0_76; + + mad.lo.s32 %r342, %r129, 1664525, 1013904223; + cvt.rn.f32.s32 %f389, %r1; + rcp.rn.f32 %f69, %f389; + add.u64 %rd63, %SP, 0; + cvta.to.local.u64 %rd2, %rd63; + mul.f32 %f70, %f12, 0f3456BF95; + mul.f32 %f71, %f13, 0f3456BF95; + mul.f32 %f72, %f14, 0f3456BF95; + add.u64 %rd64, %SP, 32; + cvta.to.local.u64 %rd3, %rd64; + mul.f32 %f390, %f847, %f67; + mul.f32 %f391, %f848, %f66; + sub.f32 %f73, %f391, %f390; + mul.f32 %f392, %f849, %f66; + mul.f32 %f393, %f847, %f68; + sub.f32 %f74, %f393, %f392; + mul.f32 %f394, %f848, %f68; + mul.f32 %f395, %f849, %f67; + sub.f32 %f75, %f395, %f394; + mov.f32 %f872, 0f00000000; + mov.u32 %r156, 0; + abs.f32 %f396, %f71; + abs.f32 %f397, %f70; + max.f32 %f398, %f397, %f396; + abs.f32 %f399, %f72; + max.f32 %f400, %f398, %f399; + mov.u32 %r339, %r156; + mov.f32 %f873, %f872; + mov.f32 %f874, %f872; + +BB0_27: + cvt.rn.f32.s32 %f79, %r339; + max.f32 %f80, %f400, %f221; + mov.u32 %r341, %r156; + +BB0_28: + mad.lo.s32 %r158, %r342, 1664525, 1013904223; + and.b32 %r159, %r158, 16777215; + cvt.rn.f32.u32 %f402, %r159; + fma.rn.f32 %f403, %f402, 0f33800000, %f79; + mul.f32 %f404, %f69, %f403; + mad.lo.s32 %r342, %r158, 1664525, 1013904223; + and.b32 %r160, %r342, 16777215; + cvt.rn.f32.u32 %f405, %r160; + cvt.rn.f32.s32 %f406, %r341; + fma.rn.f32 %f407, %f405, 0f33800000, %f406; + mul.f32 %f408, %f69, %f407; + sqrt.rn.f32 %f84, %f404; + mul.f32 %f881, %f408, 0f40C90FDB; + abs.f32 %f86, %f881; + setp.neu.f32 %p41, %f86, 0f7F800000; + mov.f32 %f875, %f881; + @%p41 bra BB0_30; + + mov.f32 %f409, 0f00000000; + mul.rn.f32 %f875, %f881, %f409; + +BB0_30: + mul.f32 %f410, %f875, 0f3F22F983; + cvt.rni.s32.f32 %r352, %f410; + cvt.rn.f32.s32 %f411, %r352; + neg.f32 %f412, %f411; + mov.f32 %f413, 0f3FC90FDA; + fma.rn.f32 %f414, %f412, %f413, %f875; + mov.f32 %f415, 0f33A22168; + fma.rn.f32 %f416, %f412, %f415, %f414; + mov.f32 %f417, 0f27C234C5; + fma.rn.f32 %f876, %f412, %f417, %f416; + abs.f32 %f418, %f875; + setp.leu.f32 %p42, %f418, 0f47CE4780; + @%p42 bra BB0_41; + + mov.b32 %r19, %f875; + shr.u32 %r20, %r19, 23; + shl.b32 %r163, %r19, 8; + or.b32 %r21, %r163, -2147483648; + mov.u32 %r344, 0; + mov.u64 %rd142, __cudart_i2opi_f; + mov.u32 %r343, -6; + mov.u64 %rd143, %rd2; + +BB0_32: + .pragma "nounroll"; + ld.const.u32 %r166, [%rd142]; + // inline asm + { + mad.lo.cc.u32 %r164, %r166, %r21, %r344; + madc.hi.u32 %r344, %r166, %r21, 0; + } + // inline asm + st.local.u32 [%rd143], %r164; + add.s64 %rd143, %rd143, 4; + add.s64 %rd142, %rd142, 4; + add.s32 %r343, %r343, 1; + setp.ne.s32 %p43, %r343, 0; + @%p43 bra BB0_32; + + and.b32 %r169, %r20, 255; + add.s32 %r170, %r169, -128; + shr.u32 %r171, %r170, 5; + and.b32 %r26, %r19, -2147483648; + st.local.u32 [%rd2+24], %r344; + mov.u32 %r172, 6; + sub.s32 %r173, %r172, %r171; + mul.wide.s32 %rd66, %r173, 4; + add.s64 %rd8, %rd2, %rd66; + ld.local.u32 %r345, [%rd8]; + ld.local.u32 %r346, [%rd8+-4]; + and.b32 %r29, %r20, 31; + setp.eq.s32 %p44, %r29, 0; + @%p44 bra BB0_35; + + mov.u32 %r174, 32; + sub.s32 %r175, %r174, %r29; + shr.u32 %r176, %r346, %r175; + shl.b32 %r177, %r345, %r29; + add.s32 %r345, %r176, %r177; + ld.local.u32 %r178, [%rd8+-8]; + shr.u32 %r179, %r178, %r175; + shl.b32 %r180, %r346, %r29; + add.s32 %r346, %r179, %r180; + +BB0_35: + shr.u32 %r181, %r346, 30; + shl.b32 %r182, %r345, 2; + add.s32 %r347, %r181, %r182; + shl.b32 %r35, %r346, 2; + shr.u32 %r183, %r347, 31; + shr.u32 %r184, %r345, 30; + add.s32 %r36, %r183, %r184; + setp.eq.s32 %p45, %r183, 0; + @%p45 bra BB0_36; + bra.uni BB0_37; + +BB0_36: + mov.u32 %r348, %r26; + mov.u32 %r349, %r35; + bra.uni BB0_38; + +BB0_37: + not.b32 %r185, %r347; + neg.s32 %r349, %r35; + setp.eq.s32 %p46, %r35, 0; + selp.u32 %r186, 1, 0, %p46; + add.s32 %r347, %r186, %r185; + xor.b32 %r348, %r26, -2147483648; + +BB0_38: + clz.b32 %r351, %r347; + setp.eq.s32 %p47, %r351, 0; + shl.b32 %r187, %r347, %r351; + mov.u32 %r188, 32; + sub.s32 %r189, %r188, %r351; + shr.u32 %r190, %r349, %r189; + add.s32 %r191, %r190, %r187; + selp.b32 %r44, %r347, %r191, %p47; + mov.u32 %r192, -921707870; + mul.hi.u32 %r350, %r44, %r192; + setp.eq.s32 %p48, %r26, 0; + neg.s32 %r193, %r36; + selp.b32 %r352, %r36, %r193, %p48; + setp.lt.s32 %p49, %r350, 1; + @%p49 bra BB0_40; + + mul.lo.s32 %r194, %r44, -921707870; + shr.u32 %r195, %r194, 31; + shl.b32 %r196, %r350, 1; + add.s32 %r350, %r195, %r196; + add.s32 %r351, %r351, 1; + +BB0_40: + mov.u32 %r197, 126; + sub.s32 %r198, %r197, %r351; + shl.b32 %r199, %r198, 23; + add.s32 %r200, %r350, 1; + shr.u32 %r201, %r200, 7; + add.s32 %r202, %r201, 1; + shr.u32 %r203, %r202, 1; + add.s32 %r204, %r203, %r199; + or.b32 %r205, %r204, %r348; + mov.b32 %f876, %r205; + +BB0_41: + mul.rn.f32 %f92, %f876, %f876; + add.s32 %r52, %r352, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p50, %r53, 0; + @%p50 bra BB0_43; + bra.uni BB0_42; + +BB0_43: + mov.f32 %f421, 0f3C08839E; + mov.f32 %f422, 0fB94CA1F9; + fma.rn.f32 %f877, %f422, %f92, %f421; + bra.uni BB0_44; + +BB0_42: + mov.f32 %f419, 0fBAB6061A; + mov.f32 %f420, 0f37CCF5CE; + fma.rn.f32 %f877, %f420, %f92, %f419; + +BB0_44: + @%p50 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f426, 0fBE2AAAA3; + fma.rn.f32 %f427, %f877, %f92, %f426; + mov.f32 %f428, 0f00000000; + fma.rn.f32 %f878, %f427, %f92, %f428; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f423, 0f3D2AAAA5; + fma.rn.f32 %f424, %f877, %f92, %f423; + mov.f32 %f425, 0fBF000000; + fma.rn.f32 %f878, %f424, %f92, %f425; + +BB0_47: + fma.rn.f32 %f879, %f878, %f876, %f876; + @%p50 bra BB0_49; + + fma.rn.f32 %f879, %f878, %f92, %f370; + +BB0_49: + and.b32 %r206, %r52, 2; + setp.eq.s32 %p53, %r206, 0; + @%p53 bra BB0_51; + + mov.f32 %f430, 0f00000000; + mov.f32 %f431, 0fBF800000; + fma.rn.f32 %f879, %f879, %f431, %f430; + +BB0_51: + @%p41 bra BB0_53; + + mov.f32 %f432, 0f00000000; + mul.rn.f32 %f881, %f881, %f432; + +BB0_53: + mul.f32 %f433, %f881, 0f3F22F983; + cvt.rni.s32.f32 %r362, %f433; + cvt.rn.f32.s32 %f434, %r362; + neg.f32 %f435, %f434; + fma.rn.f32 %f437, %f435, %f413, %f881; + fma.rn.f32 %f439, %f435, %f415, %f437; + fma.rn.f32 %f882, %f435, %f417, %f439; + abs.f32 %f441, %f881; + setp.leu.f32 %p55, %f441, 0f47CE4780; + @%p55 bra BB0_64; + + mov.b32 %r55, %f881; + shr.u32 %r56, %r55, 23; + shl.b32 %r209, %r55, 8; + or.b32 %r57, %r209, -2147483648; + mov.u32 %r354, 0; + mov.u64 %rd144, __cudart_i2opi_f; + mov.u32 %r353, -6; + mov.u64 %rd145, %rd2; + +BB0_55: + .pragma "nounroll"; + ld.const.u32 %r212, [%rd144]; + // inline asm + { + mad.lo.cc.u32 %r210, %r212, %r57, %r354; + madc.hi.u32 %r354, %r212, %r57, 0; + } + // inline asm + st.local.u32 [%rd145], %r210; + add.s64 %rd145, %rd145, 4; + add.s64 %rd144, %rd144, 4; + add.s32 %r353, %r353, 1; + setp.ne.s32 %p56, %r353, 0; + @%p56 bra BB0_55; + + and.b32 %r215, %r56, 255; + add.s32 %r216, %r215, -128; + shr.u32 %r217, %r216, 5; + and.b32 %r62, %r55, -2147483648; + st.local.u32 [%rd2+24], %r354; + mov.u32 %r218, 6; + sub.s32 %r219, %r218, %r217; + mul.wide.s32 %rd68, %r219, 4; + add.s64 %rd13, %rd2, %rd68; + ld.local.u32 %r355, [%rd13]; + ld.local.u32 %r356, [%rd13+-4]; + and.b32 %r65, %r56, 31; + setp.eq.s32 %p57, %r65, 0; + @%p57 bra BB0_58; + + mov.u32 %r220, 32; + sub.s32 %r221, %r220, %r65; + shr.u32 %r222, %r356, %r221; + shl.b32 %r223, %r355, %r65; + add.s32 %r355, %r222, %r223; + ld.local.u32 %r224, [%rd13+-8]; + shr.u32 %r225, %r224, %r221; + shl.b32 %r226, %r356, %r65; + add.s32 %r356, %r225, %r226; + +BB0_58: + shr.u32 %r227, %r356, 30; + shl.b32 %r228, %r355, 2; + add.s32 %r357, %r227, %r228; + shl.b32 %r71, %r356, 2; + shr.u32 %r229, %r357, 31; + shr.u32 %r230, %r355, 30; + add.s32 %r72, %r229, %r230; + setp.eq.s32 %p58, %r229, 0; + @%p58 bra BB0_59; + bra.uni BB0_60; + +BB0_59: + mov.u32 %r358, %r62; + mov.u32 %r359, %r71; + bra.uni BB0_61; + +BB0_60: + not.b32 %r231, %r357; + neg.s32 %r359, %r71; + setp.eq.s32 %p59, %r71, 0; + selp.u32 %r232, 1, 0, %p59; + add.s32 %r357, %r232, %r231; + xor.b32 %r358, %r62, -2147483648; + +BB0_61: + clz.b32 %r361, %r357; + setp.eq.s32 %p60, %r361, 0; + shl.b32 %r233, %r357, %r361; + mov.u32 %r234, 32; + sub.s32 %r235, %r234, %r361; + shr.u32 %r236, %r359, %r235; + add.s32 %r237, %r236, %r233; + selp.b32 %r80, %r357, %r237, %p60; + mov.u32 %r238, -921707870; + mul.hi.u32 %r360, %r80, %r238; + setp.eq.s32 %p61, %r62, 0; + neg.s32 %r239, %r72; + selp.b32 %r362, %r72, %r239, %p61; + setp.lt.s32 %p62, %r360, 1; + @%p62 bra BB0_63; + + mul.lo.s32 %r240, %r80, -921707870; + shr.u32 %r241, %r240, 31; + shl.b32 %r242, %r360, 1; + add.s32 %r360, %r241, %r242; + add.s32 %r361, %r361, 1; + +BB0_63: + mov.u32 %r243, 126; + sub.s32 %r244, %r243, %r361; + shl.b32 %r245, %r244, 23; + add.s32 %r246, %r360, 1; + shr.u32 %r247, %r246, 7; + add.s32 %r248, %r247, 1; + shr.u32 %r249, %r248, 1; + add.s32 %r250, %r249, %r245; + or.b32 %r251, %r250, %r358; + mov.b32 %f882, %r251; + +BB0_64: + mul.rn.f32 %f109, %f882, %f882; + and.b32 %r88, %r362, 1; + setp.eq.s32 %p63, %r88, 0; + @%p63 bra BB0_66; + bra.uni BB0_65; + +BB0_66: + mov.f32 %f444, 0f3C08839E; + mov.f32 %f445, 0fB94CA1F9; + fma.rn.f32 %f883, %f445, %f109, %f444; + bra.uni BB0_67; + +BB0_65: + mov.f32 %f442, 0fBAB6061A; + mov.f32 %f443, 0f37CCF5CE; + fma.rn.f32 %f883, %f443, %f109, %f442; + +BB0_67: + @%p63 bra BB0_69; + bra.uni BB0_68; + +BB0_69: + mov.f32 %f449, 0fBE2AAAA3; + fma.rn.f32 %f450, %f883, %f109, %f449; + mov.f32 %f451, 0f00000000; + fma.rn.f32 %f884, %f450, %f109, %f451; + bra.uni BB0_70; + +BB0_68: + mov.f32 %f446, 0f3D2AAAA5; + fma.rn.f32 %f447, %f883, %f109, %f446; + mov.f32 %f448, 0fBF000000; + fma.rn.f32 %f884, %f447, %f109, %f448; + +BB0_70: + fma.rn.f32 %f885, %f884, %f882, %f882; + @%p63 bra BB0_72; + + fma.rn.f32 %f885, %f884, %f109, %f370; + +BB0_72: + and.b32 %r252, %r362, 2; + setp.eq.s32 %p66, %r252, 0; + @%p66 bra BB0_74; + + mov.f32 %f453, 0f00000000; + mov.f32 %f454, 0fBF800000; + fma.rn.f32 %f885, %f885, %f454, %f453; + +BB0_74: + mul.f32 %f463, %f84, %f879; + mul.f32 %f464, %f463, %f463; + sub.f32 %f466, %f370, %f464; + mul.f32 %f467, %f84, %f885; + mul.f32 %f468, %f467, %f467; + sub.f32 %f469, %f466, %f468; + mov.f32 %f470, 0f00000000; + max.f32 %f471, %f470, %f469; + sqrt.rn.f32 %f472, %f471; + mul.f32 %f473, %f66, %f467; + mul.f32 %f474, %f67, %f467; + mul.f32 %f475, %f68, %f467; + fma.rn.f32 %f476, %f75, %f463, %f473; + fma.rn.f32 %f477, %f74, %f463, %f474; + fma.rn.f32 %f478, %f73, %f463, %f475; + fma.rn.f32 %f458, %f847, %f472, %f476; + fma.rn.f32 %f459, %f848, %f472, %f477; + fma.rn.f32 %f460, %f849, %f472, %f478; + mov.u32 %r254, 0; + st.local.u32 [%rd3+8], %r254; + st.local.u32 [%rd3+4], %r254; + st.local.u32 [%rd3], %r254; + ld.global.u32 %r253, [root]; + mov.f32 %f462, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r253, %f12, %f13, %f14, %f458, %f459, %f460, %r254, %f80, %f462, %rd64, %r117); + // inline asm + ld.local.f32 %f479, [%rd3]; + max.f32 %f480, %f479, %f470; + ld.local.f32 %f481, [%rd3+4]; + max.f32 %f482, %f481, %f470; + ld.local.f32 %f483, [%rd3+8]; + max.f32 %f484, %f483, %f470; + add.f32 %f874, %f874, %f480; + add.f32 %f873, %f873, %f482; + add.f32 %f872, %f872, %f484; + add.s32 %r341, %r341, 1; + setp.lt.s32 %p67, %r341, %r1; + @%p67 bra BB0_28; + + add.s32 %r339, %r339, 1; + setp.lt.s32 %p68, %r339, %r1; + @%p68 bra BB0_27; + +BB0_76: + mul.lo.s32 %r256, %r1, %r1; + cvt.rn.f32.s32 %f485, %r256; + rcp.rn.f32 %f486, %f485; + mul.f32 %f890, %f874, %f486; + mul.f32 %f891, %f873, %f486; + mul.f32 %f892, %f872, %f486; + div.rn.f32 %f893, %f375, %f485; + +BB0_77: + ld.global.u32 %r364, [imageEnabled]; + and.b32 %r257, %r364, 8; + setp.eq.s32 %p69, %r257, 0; + @%p69 bra BB0_90; + + mov.u32 %r328, 2; + cvt.u64.u32 %rd72, %r3; + cvt.u64.u32 %rd73, %r4; + mov.u64 %rd76, image_Mask; + cvta.global.u64 %rd71, %rd76; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r328, %r328, %rd72, %rd73, %rd24, %rd24); + // inline asm + mov.f32 %f490, 0f3E68BA2E; + cvt.rzi.f32.f32 %f491, %f490; + fma.rn.f32 %f492, %f491, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f135, %f492; + abs.f32 %f136, %f893; + setp.lt.f32 %p70, %f136, 0f00800000; + mul.f32 %f493, %f136, 0f4B800000; + selp.f32 %f494, 0fC3170000, 0fC2FE0000, %p70; + selp.f32 %f495, %f493, %f136, %p70; + mov.b32 %r260, %f495; + and.b32 %r261, %r260, 8388607; + or.b32 %r262, %r261, 1065353216; + mov.b32 %f496, %r262; + shr.u32 %r263, %r260, 23; + cvt.rn.f32.u32 %f497, %r263; + add.f32 %f498, %f494, %f497; + setp.gt.f32 %p71, %f496, 0f3FB504F3; + mul.f32 %f499, %f496, 0f3F000000; + add.f32 %f500, %f498, 0f3F800000; + selp.f32 %f501, %f499, %f496, %p71; + selp.f32 %f502, %f500, %f498, %p71; + add.f32 %f503, %f501, 0fBF800000; + add.f32 %f489, %f501, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f488,%f489; + // inline asm + add.f32 %f504, %f503, %f503; + mul.f32 %f505, %f488, %f504; + mul.f32 %f506, %f505, %f505; + mov.f32 %f507, 0f3C4CAF63; + mov.f32 %f508, 0f3B18F0FE; + fma.rn.f32 %f509, %f508, %f506, %f507; + mov.f32 %f510, 0f3DAAAABD; + fma.rn.f32 %f511, %f509, %f506, %f510; + mul.rn.f32 %f512, %f511, %f506; + mul.rn.f32 %f513, %f512, %f505; + sub.f32 %f514, %f503, %f505; + neg.f32 %f515, %f505; + add.f32 %f516, %f514, %f514; + fma.rn.f32 %f517, %f515, %f503, %f516; + mul.rn.f32 %f518, %f488, %f517; + add.f32 %f519, %f513, %f505; + sub.f32 %f520, %f505, %f519; + add.f32 %f521, %f513, %f520; + add.f32 %f522, %f518, %f521; + add.f32 %f523, %f519, %f522; + sub.f32 %f524, %f519, %f523; + add.f32 %f525, %f522, %f524; + mov.f32 %f526, 0f3F317200; + mul.rn.f32 %f527, %f502, %f526; + mov.f32 %f528, 0f35BFBE8E; + mul.rn.f32 %f529, %f502, %f528; + add.f32 %f530, %f527, %f523; + sub.f32 %f531, %f527, %f530; + add.f32 %f532, %f523, %f531; + add.f32 %f533, %f525, %f532; + add.f32 %f534, %f529, %f533; + add.f32 %f535, %f530, %f534; + sub.f32 %f536, %f530, %f535; + add.f32 %f537, %f534, %f536; + mov.f32 %f538, 0f3EE8BA2E; + mul.rn.f32 %f539, %f538, %f535; + neg.f32 %f540, %f539; + fma.rn.f32 %f541, %f538, %f535, %f540; + fma.rn.f32 %f542, %f538, %f537, %f541; + mov.f32 %f543, 0f00000000; + fma.rn.f32 %f544, %f543, %f535, %f542; + add.rn.f32 %f545, %f539, %f544; + neg.f32 %f546, %f545; + add.rn.f32 %f547, %f539, %f546; + add.rn.f32 %f548, %f547, %f544; + mov.b32 %r264, %f545; + setp.eq.s32 %p72, %r264, 1118925336; + add.s32 %r265, %r264, -1; + mov.b32 %f549, %r265; + add.f32 %f550, %f548, 0f37000000; + selp.f32 %f551, %f549, %f545, %p72; + selp.f32 %f137, %f550, %f548, %p72; + mul.f32 %f552, %f551, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f553, %f552; + mov.f32 %f554, 0fBF317200; + fma.rn.f32 %f555, %f553, %f554, %f551; + mov.f32 %f556, 0fB5BFBE8E; + fma.rn.f32 %f557, %f553, %f556, %f555; + mul.f32 %f558, %f557, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f559, %f558; + add.f32 %f560, %f553, 0f00000000; + ex2.approx.f32 %f561, %f560; + mul.f32 %f562, %f559, %f561; + setp.lt.f32 %p73, %f551, 0fC2D20000; + selp.f32 %f563, 0f00000000, %f562, %p73; + setp.gt.f32 %p74, %f551, 0f42D20000; + selp.f32 %f894, 0f7F800000, %f563, %p74; + setp.eq.f32 %p75, %f894, 0f7F800000; + @%p75 bra BB0_80; + + fma.rn.f32 %f894, %f894, %f137, %f894; + +BB0_80: + setp.lt.f32 %p76, %f893, 0f00000000; + setp.eq.f32 %p77, %f135, 0f3F800000; + and.pred %p3, %p76, %p77; + mov.b32 %r266, %f894; + xor.b32 %r267, %r266, -2147483648; + mov.b32 %f564, %r267; + selp.f32 %f896, %f564, %f894, %p3; + setp.eq.f32 %p78, %f893, 0f00000000; + @%p78 bra BB0_83; + bra.uni BB0_81; + +BB0_83: + add.f32 %f567, %f893, %f893; + selp.f32 %f896, %f567, 0f00000000, %p77; + bra.uni BB0_84; + +BB0_136: + mov.u64 %rd137, image_HDR; + cvta.global.u64 %rd132, %rd137; + mov.u32 %r325, 8; + // inline asm + call (%rd131), _rt_buffer_get_64, (%rd132, %r101, %r325, %rd17, %rd18, %rd24, %rd24); + // inline asm + mov.f32 %f837, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs44, %f837;} + + // inline asm + mov.u16 %rs45, 0; + st.v4.u16 [%rd131], {%rs44, %rs44, %rs44, %rs45}; + bra.uni BB0_137; + +BB0_81: + setp.geu.f32 %p79, %f893, 0f00000000; + @%p79 bra BB0_84; + + cvt.rzi.f32.f32 %f566, %f538; + setp.neu.f32 %p80, %f566, 0f3EE8BA2E; + selp.f32 %f896, 0f7FFFFFFF, %f896, %p80; + +BB0_84: + add.f32 %f568, %f136, 0f3EE8BA2E; + mov.b32 %r268, %f568; + setp.lt.s32 %p82, %r268, 2139095040; + @%p82 bra BB0_89; + + setp.gtu.f32 %p83, %f136, 0f7F800000; + @%p83 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f896, %f893, 0f3EE8BA2E; + bra.uni BB0_89; + +BB0_86: + setp.neu.f32 %p84, %f136, 0f7F800000; + @%p84 bra BB0_89; + + selp.f32 %f896, 0fFF800000, 0f7F800000, %p3; + +BB0_89: + mul.f32 %f569, %f896, 0f437F0000; + setp.eq.f32 %p85, %f893, 0f3F800000; + selp.f32 %f570, 0f437F0000, %f569, %p85; + cvt.rzi.u32.f32 %r269, %f570; + cvt.u16.u32 %rs10, %r269; + mov.u16 %rs11, 255; + st.v2.u8 [%rd70], {%rs10, %rs11}; + ld.global.u32 %r364, [imageEnabled]; + +BB0_90: + ld.global.f32 %f571, [lightColor]; + mul.f32 %f148, %f890, %f571; + ld.global.f32 %f572, [lightColor+4]; + mul.f32 %f149, %f891, %f572; + ld.global.f32 %f573, [lightColor+8]; + mul.f32 %f150, %f892, %f573; + and.b32 %r270, %r364, 1; + setp.eq.b32 %p86, %r270, 1; + @!%p86 bra BB0_125; + bra.uni BB0_91; + +BB0_91: + mov.f32 %f576, 0f3E666666; + cvt.rzi.f32.f32 %f577, %f576; + fma.rn.f32 %f578, %f577, 0fC0000000, 0f3EE66666; + abs.f32 %f151, %f578; + abs.f32 %f152, %f148; + setp.lt.f32 %p87, %f152, 0f00800000; + mul.f32 %f579, %f152, 0f4B800000; + selp.f32 %f580, 0fC3170000, 0fC2FE0000, %p87; + selp.f32 %f581, %f579, %f152, %p87; + mov.b32 %r271, %f581; + and.b32 %r272, %r271, 8388607; + or.b32 %r273, %r272, 1065353216; + mov.b32 %f582, %r273; + shr.u32 %r274, %r271, 23; + cvt.rn.f32.u32 %f583, %r274; + add.f32 %f584, %f580, %f583; + setp.gt.f32 %p88, %f582, 0f3FB504F3; + mul.f32 %f585, %f582, 0f3F000000; + add.f32 %f586, %f584, 0f3F800000; + selp.f32 %f587, %f585, %f582, %p88; + selp.f32 %f588, %f586, %f584, %p88; + add.f32 %f589, %f587, 0fBF800000; + add.f32 %f575, %f587, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f574,%f575; + // inline asm + add.f32 %f590, %f589, %f589; + mul.f32 %f591, %f574, %f590; + mul.f32 %f592, %f591, %f591; + mov.f32 %f593, 0f3C4CAF63; + mov.f32 %f594, 0f3B18F0FE; + fma.rn.f32 %f595, %f594, %f592, %f593; + mov.f32 %f596, 0f3DAAAABD; + fma.rn.f32 %f597, %f595, %f592, %f596; + mul.rn.f32 %f598, %f597, %f592; + mul.rn.f32 %f599, %f598, %f591; + sub.f32 %f600, %f589, %f591; + neg.f32 %f601, %f591; + add.f32 %f602, %f600, %f600; + fma.rn.f32 %f603, %f601, %f589, %f602; + mul.rn.f32 %f604, %f574, %f603; + add.f32 %f605, %f599, %f591; + sub.f32 %f606, %f591, %f605; + add.f32 %f607, %f599, %f606; + add.f32 %f608, %f604, %f607; + add.f32 %f609, %f605, %f608; + sub.f32 %f610, %f605, %f609; + add.f32 %f611, %f608, %f610; + mov.f32 %f612, 0f3F317200; + mul.rn.f32 %f613, %f588, %f612; + mov.f32 %f614, 0f35BFBE8E; + mul.rn.f32 %f615, %f588, %f614; + add.f32 %f616, %f613, %f609; + sub.f32 %f617, %f613, %f616; + add.f32 %f618, %f609, %f617; + add.f32 %f619, %f611, %f618; + add.f32 %f620, %f615, %f619; + add.f32 %f621, %f616, %f620; + sub.f32 %f622, %f616, %f621; + add.f32 %f623, %f620, %f622; + mov.f32 %f624, 0f3EE66666; + mul.rn.f32 %f625, %f624, %f621; + neg.f32 %f626, %f625; + fma.rn.f32 %f627, %f624, %f621, %f626; + fma.rn.f32 %f628, %f624, %f623, %f627; + mov.f32 %f629, 0f00000000; + fma.rn.f32 %f630, %f629, %f621, %f628; + add.rn.f32 %f631, %f625, %f630; + neg.f32 %f632, %f631; + add.rn.f32 %f633, %f625, %f632; + add.rn.f32 %f634, %f633, %f630; + mov.b32 %r275, %f631; + setp.eq.s32 %p89, %r275, 1118925336; + add.s32 %r276, %r275, -1; + mov.b32 %f635, %r276; + add.f32 %f636, %f634, 0f37000000; + selp.f32 %f637, %f635, %f631, %p89; + selp.f32 %f153, %f636, %f634, %p89; + mul.f32 %f638, %f637, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f639, %f638; + mov.f32 %f640, 0fBF317200; + fma.rn.f32 %f641, %f639, %f640, %f637; + mov.f32 %f642, 0fB5BFBE8E; + fma.rn.f32 %f643, %f639, %f642, %f641; + mul.f32 %f644, %f643, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f645, %f644; + add.f32 %f646, %f639, 0f00000000; + ex2.approx.f32 %f647, %f646; + mul.f32 %f648, %f645, %f647; + setp.lt.f32 %p90, %f637, 0fC2D20000; + selp.f32 %f649, 0f00000000, %f648, %p90; + setp.gt.f32 %p91, %f637, 0f42D20000; + selp.f32 %f897, 0f7F800000, %f649, %p91; + setp.eq.f32 %p92, %f897, 0f7F800000; + @%p92 bra BB0_93; + + fma.rn.f32 %f897, %f897, %f153, %f897; + +BB0_93: + setp.lt.f32 %p93, %f148, 0f00000000; + setp.eq.f32 %p94, %f151, 0f3F800000; + and.pred %p4, %p93, %p94; + mov.b32 %r277, %f897; + xor.b32 %r278, %r277, -2147483648; + mov.b32 %f650, %r278; + selp.f32 %f899, %f650, %f897, %p4; + setp.eq.f32 %p95, %f148, 0f00000000; + @%p95 bra BB0_96; + bra.uni BB0_94; + +BB0_96: + add.f32 %f653, %f148, %f148; + selp.f32 %f899, %f653, 0f00000000, %p94; + bra.uni BB0_97; + +BB0_94: + setp.geu.f32 %p96, %f148, 0f00000000; + @%p96 bra BB0_97; + + cvt.rzi.f32.f32 %f652, %f624; + setp.neu.f32 %p97, %f652, 0f3EE66666; + selp.f32 %f899, 0f7FFFFFFF, %f899, %p97; + +BB0_97: + add.f32 %f654, %f152, 0f3EE66666; + mov.b32 %r279, %f654; + setp.lt.s32 %p99, %r279, 2139095040; + @%p99 bra BB0_102; + + setp.gtu.f32 %p100, %f152, 0f7F800000; + @%p100 bra BB0_101; + bra.uni BB0_99; + +BB0_101: + add.f32 %f899, %f148, 0f3EE66666; + bra.uni BB0_102; + +BB0_99: + setp.neu.f32 %p101, %f152, 0f7F800000; + @%p101 bra BB0_102; + + selp.f32 %f899, 0fFF800000, 0f7F800000, %p4; + +BB0_102: + setp.eq.f32 %p102, %f148, 0f3F800000; + selp.f32 %f164, 0f3F800000, %f899, %p102; + abs.f32 %f165, %f149; + setp.lt.f32 %p103, %f165, 0f00800000; + mul.f32 %f657, %f165, 0f4B800000; + selp.f32 %f658, 0fC3170000, 0fC2FE0000, %p103; + selp.f32 %f659, %f657, %f165, %p103; + mov.b32 %r280, %f659; + and.b32 %r281, %r280, 8388607; + or.b32 %r282, %r281, 1065353216; + mov.b32 %f660, %r282; + shr.u32 %r283, %r280, 23; + cvt.rn.f32.u32 %f661, %r283; + add.f32 %f662, %f658, %f661; + setp.gt.f32 %p104, %f660, 0f3FB504F3; + mul.f32 %f663, %f660, 0f3F000000; + add.f32 %f664, %f662, 0f3F800000; + selp.f32 %f665, %f663, %f660, %p104; + selp.f32 %f666, %f664, %f662, %p104; + add.f32 %f667, %f665, 0fBF800000; + add.f32 %f656, %f665, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f655,%f656; + // inline asm + add.f32 %f668, %f667, %f667; + mul.f32 %f669, %f655, %f668; + mul.f32 %f670, %f669, %f669; + fma.rn.f32 %f673, %f594, %f670, %f593; + fma.rn.f32 %f675, %f673, %f670, %f596; + mul.rn.f32 %f676, %f675, %f670; + mul.rn.f32 %f677, %f676, %f669; + sub.f32 %f678, %f667, %f669; + neg.f32 %f679, %f669; + add.f32 %f680, %f678, %f678; + fma.rn.f32 %f681, %f679, %f667, %f680; + mul.rn.f32 %f682, %f655, %f681; + add.f32 %f683, %f677, %f669; + sub.f32 %f684, %f669, %f683; + add.f32 %f685, %f677, %f684; + add.f32 %f686, %f682, %f685; + add.f32 %f687, %f683, %f686; + sub.f32 %f688, %f683, %f687; + add.f32 %f689, %f686, %f688; + mul.rn.f32 %f691, %f666, %f612; + mul.rn.f32 %f693, %f666, %f614; + add.f32 %f694, %f691, %f687; + sub.f32 %f695, %f691, %f694; + add.f32 %f696, %f687, %f695; + add.f32 %f697, %f689, %f696; + add.f32 %f698, %f693, %f697; + add.f32 %f699, %f694, %f698; + sub.f32 %f700, %f694, %f699; + add.f32 %f701, %f698, %f700; + mul.rn.f32 %f703, %f624, %f699; + neg.f32 %f704, %f703; + fma.rn.f32 %f705, %f624, %f699, %f704; + fma.rn.f32 %f706, %f624, %f701, %f705; + fma.rn.f32 %f708, %f629, %f699, %f706; + add.rn.f32 %f709, %f703, %f708; + neg.f32 %f710, %f709; + add.rn.f32 %f711, %f703, %f710; + add.rn.f32 %f712, %f711, %f708; + mov.b32 %r284, %f709; + setp.eq.s32 %p105, %r284, 1118925336; + add.s32 %r285, %r284, -1; + mov.b32 %f713, %r285; + add.f32 %f714, %f712, 0f37000000; + selp.f32 %f715, %f713, %f709, %p105; + selp.f32 %f166, %f714, %f712, %p105; + mul.f32 %f716, %f715, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f717, %f716; + fma.rn.f32 %f719, %f717, %f640, %f715; + fma.rn.f32 %f721, %f717, %f642, %f719; + mul.f32 %f722, %f721, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f723, %f722; + add.f32 %f724, %f717, 0f00000000; + ex2.approx.f32 %f725, %f724; + mul.f32 %f726, %f723, %f725; + setp.lt.f32 %p106, %f715, 0fC2D20000; + selp.f32 %f727, 0f00000000, %f726, %p106; + setp.gt.f32 %p107, %f715, 0f42D20000; + selp.f32 %f900, 0f7F800000, %f727, %p107; + setp.eq.f32 %p108, %f900, 0f7F800000; + @%p108 bra BB0_104; + + fma.rn.f32 %f900, %f900, %f166, %f900; + +BB0_104: + setp.lt.f32 %p109, %f149, 0f00000000; + and.pred %p5, %p109, %p94; + mov.b32 %r286, %f900; + xor.b32 %r287, %r286, -2147483648; + mov.b32 %f728, %r287; + selp.f32 %f902, %f728, %f900, %p5; + setp.eq.f32 %p111, %f149, 0f00000000; + @%p111 bra BB0_107; + bra.uni BB0_105; + +BB0_107: + add.f32 %f731, %f149, %f149; + selp.f32 %f902, %f731, 0f00000000, %p94; + bra.uni BB0_108; + +BB0_105: + setp.geu.f32 %p112, %f149, 0f00000000; + @%p112 bra BB0_108; + + cvt.rzi.f32.f32 %f730, %f624; + setp.neu.f32 %p113, %f730, 0f3EE66666; + selp.f32 %f902, 0f7FFFFFFF, %f902, %p113; + +BB0_108: + add.f32 %f732, %f165, 0f3EE66666; + mov.b32 %r288, %f732; + setp.lt.s32 %p115, %r288, 2139095040; + @%p115 bra BB0_113; + + setp.gtu.f32 %p116, %f165, 0f7F800000; + @%p116 bra BB0_112; + bra.uni BB0_110; + +BB0_112: + add.f32 %f902, %f149, 0f3EE66666; + bra.uni BB0_113; + +BB0_110: + setp.neu.f32 %p117, %f165, 0f7F800000; + @%p117 bra BB0_113; + + selp.f32 %f902, 0fFF800000, 0f7F800000, %p5; + +BB0_113: + setp.eq.f32 %p118, %f149, 0f3F800000; + selp.f32 %f177, 0f3F800000, %f902, %p118; + abs.f32 %f178, %f150; + setp.lt.f32 %p119, %f178, 0f00800000; + mul.f32 %f735, %f178, 0f4B800000; + selp.f32 %f736, 0fC3170000, 0fC2FE0000, %p119; + selp.f32 %f737, %f735, %f178, %p119; + mov.b32 %r289, %f737; + and.b32 %r290, %r289, 8388607; + or.b32 %r291, %r290, 1065353216; + mov.b32 %f738, %r291; + shr.u32 %r292, %r289, 23; + cvt.rn.f32.u32 %f739, %r292; + add.f32 %f740, %f736, %f739; + setp.gt.f32 %p120, %f738, 0f3FB504F3; + mul.f32 %f741, %f738, 0f3F000000; + add.f32 %f742, %f740, 0f3F800000; + selp.f32 %f743, %f741, %f738, %p120; + selp.f32 %f744, %f742, %f740, %p120; + add.f32 %f745, %f743, 0fBF800000; + add.f32 %f734, %f743, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f733,%f734; + // inline asm + add.f32 %f746, %f745, %f745; + mul.f32 %f747, %f733, %f746; + mul.f32 %f748, %f747, %f747; + fma.rn.f32 %f751, %f594, %f748, %f593; + fma.rn.f32 %f753, %f751, %f748, %f596; + mul.rn.f32 %f754, %f753, %f748; + mul.rn.f32 %f755, %f754, %f747; + sub.f32 %f756, %f745, %f747; + neg.f32 %f757, %f747; + add.f32 %f758, %f756, %f756; + fma.rn.f32 %f759, %f757, %f745, %f758; + mul.rn.f32 %f760, %f733, %f759; + add.f32 %f761, %f755, %f747; + sub.f32 %f762, %f747, %f761; + add.f32 %f763, %f755, %f762; + add.f32 %f764, %f760, %f763; + add.f32 %f765, %f761, %f764; + sub.f32 %f766, %f761, %f765; + add.f32 %f767, %f764, %f766; + mul.rn.f32 %f769, %f744, %f612; + mul.rn.f32 %f771, %f744, %f614; + add.f32 %f772, %f769, %f765; + sub.f32 %f773, %f769, %f772; + add.f32 %f774, %f765, %f773; + add.f32 %f775, %f767, %f774; + add.f32 %f776, %f771, %f775; + add.f32 %f777, %f772, %f776; + sub.f32 %f778, %f772, %f777; + add.f32 %f779, %f776, %f778; + mul.rn.f32 %f781, %f624, %f777; + neg.f32 %f782, %f781; + fma.rn.f32 %f783, %f624, %f777, %f782; + fma.rn.f32 %f784, %f624, %f779, %f783; + fma.rn.f32 %f786, %f629, %f777, %f784; + add.rn.f32 %f787, %f781, %f786; + neg.f32 %f788, %f787; + add.rn.f32 %f789, %f781, %f788; + add.rn.f32 %f790, %f789, %f786; + mov.b32 %r293, %f787; + setp.eq.s32 %p121, %r293, 1118925336; + add.s32 %r294, %r293, -1; + mov.b32 %f791, %r294; + add.f32 %f792, %f790, 0f37000000; + selp.f32 %f793, %f791, %f787, %p121; + selp.f32 %f179, %f792, %f790, %p121; + mul.f32 %f794, %f793, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f795, %f794; + fma.rn.f32 %f797, %f795, %f640, %f793; + fma.rn.f32 %f799, %f795, %f642, %f797; + mul.f32 %f800, %f799, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f801, %f800; + add.f32 %f802, %f795, 0f00000000; + ex2.approx.f32 %f803, %f802; + mul.f32 %f804, %f801, %f803; + setp.lt.f32 %p122, %f793, 0fC2D20000; + selp.f32 %f805, 0f00000000, %f804, %p122; + setp.gt.f32 %p123, %f793, 0f42D20000; + selp.f32 %f903, 0f7F800000, %f805, %p123; + setp.eq.f32 %p124, %f903, 0f7F800000; + @%p124 bra BB0_115; + + fma.rn.f32 %f903, %f903, %f179, %f903; + +BB0_115: + setp.lt.f32 %p125, %f150, 0f00000000; + and.pred %p6, %p125, %p94; + mov.b32 %r295, %f903; + xor.b32 %r296, %r295, -2147483648; + mov.b32 %f806, %r296; + selp.f32 %f905, %f806, %f903, %p6; + setp.eq.f32 %p127, %f150, 0f00000000; + @%p127 bra BB0_118; + bra.uni BB0_116; + +BB0_118: + add.f32 %f809, %f150, %f150; + selp.f32 %f905, %f809, 0f00000000, %p94; + bra.uni BB0_119; + +BB0_116: + setp.geu.f32 %p128, %f150, 0f00000000; + @%p128 bra BB0_119; + + cvt.rzi.f32.f32 %f808, %f624; + setp.neu.f32 %p129, %f808, 0f3EE66666; + selp.f32 %f905, 0f7FFFFFFF, %f905, %p129; + +BB0_119: + add.f32 %f810, %f178, 0f3EE66666; + mov.b32 %r297, %f810; + setp.lt.s32 %p131, %r297, 2139095040; + @%p131 bra BB0_124; + + setp.gtu.f32 %p132, %f178, 0f7F800000; + @%p132 bra BB0_123; + bra.uni BB0_121; + +BB0_123: + add.f32 %f905, %f150, 0f3EE66666; + bra.uni BB0_124; + +BB0_121: + setp.neu.f32 %p133, %f178, 0f7F800000; + @%p133 bra BB0_124; + + selp.f32 %f905, 0fFF800000, 0f7F800000, %p6; + +BB0_124: + mov.u32 %r329, 2; + setp.eq.f32 %p134, %f150, 0f3F800000; + selp.f32 %f811, 0f3F800000, %f905, %p134; + cvt.u64.u32 %rd80, %r4; + cvt.u64.u32 %rd79, %r3; + mov.u64 %rd83, image; + cvta.global.u64 %rd78, %rd83; + // inline asm + call (%rd77), _rt_buffer_get_64, (%rd78, %r329, %r102, %rd79, %rd80, %rd24, %rd24); + // inline asm + cvt.sat.f32.f32 %f812, %f811; + mul.f32 %f813, %f812, 0f437FFD71; + cvt.rzi.u32.f32 %r300, %f813; + cvt.sat.f32.f32 %f814, %f177; + mul.f32 %f815, %f814, 0f437FFD71; + cvt.rzi.u32.f32 %r301, %f815; + cvt.sat.f32.f32 %f816, %f164; + mul.f32 %f817, %f816, 0f437FFD71; + cvt.rzi.u32.f32 %r302, %f817; + cvt.u16.u32 %rs12, %r300; + cvt.u16.u32 %rs13, %r302; + cvt.u16.u32 %rs14, %r301; + mov.u16 %rs15, 255; + st.v4.u8 [%rd77], {%rs12, %rs14, %rs13, %rs15}; + ld.global.u32 %r364, [imageEnabled]; + +BB0_125: + and.b32 %r303, %r364, 4; + setp.eq.s32 %p135, %r303, 0; + @%p135 bra BB0_137; + + ld.global.u32 %r304, [additive]; + setp.eq.s32 %p136, %r304, 0; + cvt.u64.u32 %rd15, %r3; + cvt.u64.u32 %rd16, %r4; + // inline asm + { cvt.rn.f16.f32 %rs16, %f370;} + + // inline asm + @%p136 bra BB0_128; + + mov.u32 %r330, 2; + mov.u64 %rd96, image_HDR; + cvta.global.u64 %rd85, %rd96; + mov.u32 %r308, 8; + // inline asm + call (%rd84), _rt_buffer_get_64, (%rd85, %r330, %r308, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.v4.u16 {%rs23, %rs24, %rs25, %rs26}, [%rd84]; + // inline asm + { cvt.f32.f16 %f819, %rs23;} + + // inline asm + // inline asm + { cvt.f32.f16 %f820, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f821, %rs25;} + + // inline asm + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd85, %r330, %r308, %rd15, %rd16, %rd24, %rd24); + // inline asm + add.f32 %f822, %f148, %f819; + add.f32 %f823, %f149, %f820; + add.f32 %f824, %f150, %f821; + // inline asm + { cvt.rn.f16.f32 %rs22, %f824;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f823;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs20, %f822;} + + // inline asm + st.v4.u16 [%rd90], {%rs20, %rs21, %rs22, %rs16}; + bra.uni BB0_137; + +BB0_128: + mov.u32 %r331, 2; + mov.u64 %rd103, image_HDR; + cvta.global.u64 %rd98, %rd103; + mov.u32 %r310, 8; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd98, %r331, %r310, %rd15, %rd16, %rd24, %rd24); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f150;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f149;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f148;} + + // inline asm + st.v4.u16 [%rd97], {%rs27, %rs28, %rs29, %rs16}; + +BB0_137: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLight.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLight.ptx.meta new file mode 100644 index 00000000..503d1460 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLight.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c32087eed323e484b8dc40fd9441fd2e +timeCreated: 1528379369 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx new file mode 100644 index 00000000..ce9e88ac --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx @@ -0,0 +1,1928 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[44]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<145>; + .reg .b16 %rs<55>; + .reg .f32 %f<992>; + .reg .b32 %r<375>; + .reg .b64 %rd<171>; + + + mov.u64 %rd170, __local_depot0; + cvta.local.u64 %SP, %rd170; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r103, %r104}, [pixelID]; + cvt.u64.u32 %rd23, %r103; + cvt.u64.u32 %rd24, %r104; + mov.u64 %rd27, uvnormal; + cvta.global.u64 %rd22, %rd27; + mov.u32 %r101, 2; + mov.u32 %r102, 4; + mov.u64 %rd26, 0; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd22, %r101, %r102, %rd23, %rd24, %rd26, %rd26); + // inline asm + ld.u32 %r2, [%rd21]; + shr.u32 %r107, %r2, 16; + cvt.u16.u32 %rs1, %r107; + and.b16 %rs3, %rs1, 255; + cvt.u16.u32 %rs4, %r2; + or.b16 %rs5, %rs4, %rs3; + setp.eq.s16 %p7, %rs5, 0; + mov.f32 %f909, 0f00000000; + mov.f32 %f910, %f909; + mov.f32 %f911, %f909; + @%p7 bra BB0_2; + + ld.u8 %rs6, [%rd21+1]; + and.b16 %rs8, %rs4, 255; + cvt.rn.f32.u16 %f224, %rs8; + div.rn.f32 %f225, %f224, 0f437F0000; + fma.rn.f32 %f226, %f225, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f227, %rs6; + div.rn.f32 %f228, %f227, 0f437F0000; + fma.rn.f32 %f229, %f228, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f230, %rs3; + div.rn.f32 %f231, %f230, 0f437F0000; + fma.rn.f32 %f232, %f231, 0f40000000, 0fBF800000; + mul.f32 %f233, %f229, %f229; + fma.rn.f32 %f234, %f226, %f226, %f233; + fma.rn.f32 %f235, %f232, %f232, %f234; + sqrt.rn.f32 %f236, %f235; + rcp.rn.f32 %f237, %f236; + mul.f32 %f909, %f226, %f237; + mul.f32 %f910, %f229, %f237; + mul.f32 %f911, %f232, %f237; + +BB0_2: + ld.global.v2.u32 {%r108, %r109}, [pixelID]; + ld.global.v2.u32 {%r111, %r112}, [tileInfo]; + add.s32 %r3, %r108, %r111; + add.s32 %r4, %r109, %r112; + setp.eq.f32 %p8, %f910, 0f00000000; + setp.eq.f32 %p9, %f909, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f911, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_131; + bra.uni BB0_3; + +BB0_131: + ld.global.u32 %r374, [imageEnabled]; + and.b32 %r316, %r374, 1; + setp.eq.b32 %p139, %r316, 1; + @!%p139 bra BB0_133; + bra.uni BB0_132; + +BB0_132: + cvt.u64.u32 %rd123, %r3; + cvt.u64.u32 %rd124, %r4; + mov.u64 %rd127, image; + cvta.global.u64 %rd122, %rd127; + mov.u64 %rd126, 0; + // inline asm + call (%rd121), _rt_buffer_get_64, (%rd122, %r101, %r102, %rd123, %rd124, %rd126, %rd126); + // inline asm + mov.u16 %rs36, 0; + st.v4.u8 [%rd121], {%rs36, %rs36, %rs36, %rs36}; + ld.global.u32 %r374, [imageEnabled]; + +BB0_133: + and.b32 %r319, %r374, 8; + setp.eq.s32 %p140, %r319, 0; + @%p140 bra BB0_135; + + cvt.u64.u32 %rd130, %r3; + cvt.u64.u32 %rd131, %r4; + mov.u64 %rd134, image_Mask; + cvta.global.u64 %rd129, %rd134; + mov.u64 %rd133, 0; + // inline asm + call (%rd128), _rt_buffer_get_64, (%rd129, %r101, %r101, %rd130, %rd131, %rd133, %rd133); + // inline asm + mov.f32 %f892, 0f00000000; + cvt.rzi.u32.f32 %r322, %f892; + cvt.u16.u32 %rs37, %r322; + mov.u16 %rs38, 0; + st.v2.u8 [%rd128], {%rs37, %rs38}; + ld.global.u32 %r374, [imageEnabled]; + +BB0_135: + and.b32 %r323, %r374, 4; + setp.eq.s32 %p141, %r323, 0; + @%p141 bra BB0_139; + + ld.global.u32 %r324, [additive]; + setp.eq.s32 %p142, %r324, 0; + cvt.u64.u32 %rd19, %r3; + cvt.u64.u32 %rd20, %r4; + @%p142 bra BB0_138; + + mov.u64 %rd147, image_HDR; + cvta.global.u64 %rd136, %rd147; + mov.u32 %r328, 8; + mov.u64 %rd146, 0; + // inline asm + call (%rd135), _rt_buffer_get_64, (%rd136, %r101, %r328, %rd19, %rd20, %rd146, %rd146); + // inline asm + ld.v4.u16 {%rs45, %rs46, %rs47, %rs48}, [%rd135]; + // inline asm + { cvt.f32.f16 %f893, %rs45;} + + // inline asm + // inline asm + { cvt.f32.f16 %f894, %rs46;} + + // inline asm + // inline asm + { cvt.f32.f16 %f895, %rs47;} + + // inline asm + // inline asm + call (%rd141), _rt_buffer_get_64, (%rd136, %r101, %r328, %rd19, %rd20, %rd146, %rd146); + // inline asm + add.f32 %f896, %f893, 0f00000000; + add.f32 %f897, %f894, 0f00000000; + add.f32 %f898, %f895, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs44, %f898;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f897;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs42, %f896;} + + // inline asm + mov.u16 %rs49, 0; + st.v4.u16 [%rd141], {%rs42, %rs43, %rs44, %rs49}; + bra.uni BB0_139; + +BB0_3: + ld.global.v2.u32 {%r121, %r122}, [pixelID]; + cvt.u64.u32 %rd30, %r121; + cvt.u64.u32 %rd31, %r122; + mov.u64 %rd40, uvpos; + cvta.global.u64 %rd29, %rd40; + mov.u32 %r117, 12; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd29, %r101, %r117, %rd30, %rd31, %rd26, %rd26); + // inline asm + ld.f32 %f9, [%rd28+8]; + ld.f32 %f8, [%rd28+4]; + ld.f32 %f7, [%rd28]; + mul.f32 %f245, %f7, 0f3456BF95; + mul.f32 %f246, %f8, 0f3456BF95; + mul.f32 %f247, %f9, 0f3456BF95; + abs.f32 %f10, %f909; + div.rn.f32 %f248, %f245, %f10; + abs.f32 %f249, %f910; + div.rn.f32 %f250, %f246, %f249; + abs.f32 %f11, %f911; + div.rn.f32 %f251, %f247, %f11; + abs.f32 %f252, %f248; + abs.f32 %f253, %f250; + abs.f32 %f254, %f251; + mov.f32 %f255, 0f38D1B717; + max.f32 %f256, %f252, %f255; + max.f32 %f257, %f253, %f255; + max.f32 %f258, %f254, %f255; + fma.rn.f32 %f12, %f909, %f256, %f7; + fma.rn.f32 %f13, %f910, %f257, %f8; + fma.rn.f32 %f14, %f911, %f258, %f9; + ld.global.v2.u32 {%r125, %r126}, [pixelID]; + cvt.u64.u32 %rd36, %r125; + cvt.u64.u32 %rd37, %r126; + mov.u64 %rd41, rnd_seeds; + cvta.global.u64 %rd35, %rd41; + // inline asm + call (%rd34), _rt_buffer_get_64, (%rd35, %r101, %r102, %rd36, %rd37, %rd26, %rd26); + // inline asm + ld.u32 %r129, [%rd34]; + mad.lo.s32 %r5, %r129, 1664525, 1013904223; + ld.global.u32 %r130, [lightMeshBufferSize]; + setp.eq.s32 %p14, %r130, 0; + mov.pred %p13, 0; + mov.f32 %f20, 0f00000000; + mov.u32 %r7, 0; + @%p14 bra BB0_4; + + ld.global.f32 %f15, [lightPointSize]; + mul.f32 %f16, %f12, 0f3456BF95; + mul.f32 %f17, %f13, 0f3456BF95; + mul.f32 %f18, %f14, 0f3456BF95; + and.b32 %r133, %r5, 16777215; + cvt.rn.f32.u32 %f266, %r133; + mul.f32 %f267, %f266, 0fB3800000; + fma.rn.f32 %f19, %f267, 0f3F333333, 0f3F800000; + mov.f32 %f20, 0f00000000; + mov.u32 %r343, 0; + abs.f32 %f390, %f17; + abs.f32 %f391, %f16; + max.f32 %f392, %f391, %f390; + abs.f32 %f393, %f18; + max.f32 %f394, %f392, %f393; + mov.u32 %r7, %r343; + mov.f32 %f21, %f20; + mov.f32 %f22, %f20; + mov.f32 %f23, %f20; + mov.f32 %f940, %f20; + mov.f32 %f941, %f20; + mov.f32 %f942, %f20; + +BB0_6: + mul.lo.s32 %r8, %r343, 3; + cvt.s64.s32 %rd44, %r8; + mov.u64 %rd48, lightMeshBuffer; + cvta.global.u64 %rd43, %rd48; + mov.u32 %r134, 1; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd43, %r134, %r117, %rd44, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f268, [%rd42]; + sub.f32 %f269, %f268, %f7; + ld.f32 %f270, [%rd42+4]; + sub.f32 %f271, %f270, %f8; + ld.f32 %f272, [%rd42+8]; + sub.f32 %f273, %f272, %f9; + mul.f32 %f274, %f271, %f271; + fma.rn.f32 %f275, %f269, %f269, %f274; + fma.rn.f32 %f276, %f273, %f273, %f275; + sqrt.rn.f32 %f27, %f276; + rcp.rn.f32 %f277, %f27; + mul.f32 %f28, %f269, %f277; + mul.f32 %f29, %f271, %f277; + mul.f32 %f30, %f273, %f277; + mul.f32 %f278, %f910, %f29; + fma.rn.f32 %f279, %f909, %f28, %f278; + fma.rn.f32 %f31, %f911, %f30, %f279; + setp.leu.f32 %p15, %f31, 0f00000000; + @%p15 bra BB0_22; + + setp.ne.s32 %p17, %r1, 0; + mul.f32 %f280, %f27, %f27; + mul.f32 %f281, %f280, 0f40C90FDB; + div.rn.f32 %f282, %f15, %f281; + add.f32 %f32, %f282, %f282; + setp.gt.f32 %p18, %f32, %f19; + and.pred %p19, %p17, %p18; + mov.pred %p144, -1; + @%p19 bra BB0_24; + + ld.global.f32 %f285, [lightInvCutoff]; + mul.f32 %f33, %f27, %f285; + mov.f32 %f289, 0f40800000; + abs.f32 %f35, %f33; + setp.lt.f32 %p20, %f35, 0f00800000; + mul.f32 %f291, %f35, 0f4B800000; + selp.f32 %f292, 0fC3170000, 0fC2FE0000, %p20; + selp.f32 %f293, %f291, %f35, %p20; + mov.b32 %r136, %f293; + and.b32 %r137, %r136, 8388607; + or.b32 %r138, %r137, 1065353216; + mov.b32 %f294, %r138; + shr.u32 %r139, %r136, 23; + cvt.rn.f32.u32 %f295, %r139; + add.f32 %f296, %f292, %f295; + setp.gt.f32 %p21, %f294, 0f3FB504F3; + mul.f32 %f297, %f294, 0f3F000000; + add.f32 %f298, %f296, 0f3F800000; + selp.f32 %f299, %f297, %f294, %p21; + selp.f32 %f300, %f298, %f296, %p21; + add.f32 %f301, %f299, 0fBF800000; + add.f32 %f284, %f299, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f283,%f284; + // inline asm + add.f32 %f302, %f301, %f301; + mul.f32 %f303, %f283, %f302; + mul.f32 %f304, %f303, %f303; + mov.f32 %f305, 0f3C4CAF63; + mov.f32 %f306, 0f3B18F0FE; + fma.rn.f32 %f307, %f306, %f304, %f305; + mov.f32 %f308, 0f3DAAAABD; + fma.rn.f32 %f309, %f307, %f304, %f308; + mul.rn.f32 %f310, %f309, %f304; + mul.rn.f32 %f311, %f310, %f303; + sub.f32 %f312, %f301, %f303; + neg.f32 %f313, %f303; + add.f32 %f314, %f312, %f312; + fma.rn.f32 %f315, %f313, %f301, %f314; + mul.rn.f32 %f316, %f283, %f315; + add.f32 %f317, %f311, %f303; + sub.f32 %f318, %f303, %f317; + add.f32 %f319, %f311, %f318; + add.f32 %f320, %f316, %f319; + add.f32 %f321, %f317, %f320; + sub.f32 %f322, %f317, %f321; + add.f32 %f323, %f320, %f322; + mov.f32 %f324, 0f3F317200; + mul.rn.f32 %f325, %f300, %f324; + mov.f32 %f326, 0f35BFBE8E; + mul.rn.f32 %f327, %f300, %f326; + add.f32 %f328, %f325, %f321; + sub.f32 %f329, %f325, %f328; + add.f32 %f330, %f321, %f329; + add.f32 %f331, %f323, %f330; + add.f32 %f332, %f327, %f331; + add.f32 %f333, %f328, %f332; + sub.f32 %f334, %f328, %f333; + add.f32 %f335, %f332, %f334; + mul.rn.f32 %f336, %f289, %f333; + neg.f32 %f337, %f336; + fma.rn.f32 %f338, %f289, %f333, %f337; + fma.rn.f32 %f339, %f289, %f335, %f338; + mov.f32 %f340, 0f00000000; + fma.rn.f32 %f341, %f340, %f333, %f339; + add.rn.f32 %f342, %f336, %f341; + neg.f32 %f343, %f342; + add.rn.f32 %f344, %f336, %f343; + add.rn.f32 %f345, %f344, %f341; + mov.b32 %r140, %f342; + setp.eq.s32 %p22, %r140, 1118925336; + add.s32 %r141, %r140, -1; + mov.b32 %f346, %r141; + add.f32 %f347, %f345, 0f37000000; + selp.f32 %f348, %f346, %f342, %p22; + selp.f32 %f36, %f347, %f345, %p22; + mul.f32 %f349, %f348, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f350, %f349; + mov.f32 %f351, 0fBF317200; + fma.rn.f32 %f352, %f350, %f351, %f348; + mov.f32 %f353, 0fB5BFBE8E; + fma.rn.f32 %f354, %f350, %f353, %f352; + mul.f32 %f355, %f354, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f356, %f355; + add.f32 %f357, %f350, 0f00000000; + ex2.approx.f32 %f358, %f357; + mul.f32 %f359, %f356, %f358; + setp.lt.f32 %p23, %f348, 0fC2D20000; + selp.f32 %f360, 0f00000000, %f359, %p23; + setp.gt.f32 %p24, %f348, 0f42D20000; + selp.f32 %f919, 0f7F800000, %f360, %p24; + setp.eq.f32 %p25, %f919, 0f7F800000; + @%p25 bra BB0_10; + + fma.rn.f32 %f919, %f919, %f36, %f919; + +BB0_10: + mov.f32 %f905, 0f40000000; + cvt.rzi.f32.f32 %f904, %f905; + add.f32 %f903, %f904, %f904; + mov.f32 %f902, 0f40800000; + sub.f32 %f901, %f902, %f903; + abs.f32 %f900, %f901; + setp.lt.f32 %p26, %f33, 0f00000000; + setp.eq.f32 %p27, %f900, 0f3F800000; + and.pred %p1, %p26, %p27; + mov.b32 %r142, %f919; + xor.b32 %r143, %r142, -2147483648; + mov.b32 %f361, %r143; + selp.f32 %f921, %f361, %f919, %p1; + setp.eq.f32 %p28, %f33, 0f00000000; + @%p28 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f364, %f33, %f33; + selp.f32 %f921, %f364, 0f00000000, %p27; + bra.uni BB0_14; + +BB0_11: + setp.geu.f32 %p29, %f33, 0f00000000; + @%p29 bra BB0_14; + + mov.f32 %f908, 0f40800000; + cvt.rzi.f32.f32 %f363, %f908; + setp.neu.f32 %p30, %f363, 0f40800000; + selp.f32 %f921, 0f7FFFFFFF, %f921, %p30; + +BB0_14: + add.f32 %f365, %f35, 0f40800000; + mov.b32 %r144, %f365; + setp.lt.s32 %p32, %r144, 2139095040; + @%p32 bra BB0_19; + + setp.gtu.f32 %p33, %f35, 0f7F800000; + @%p33 bra BB0_18; + bra.uni BB0_16; + +BB0_18: + add.f32 %f921, %f33, 0f40800000; + bra.uni BB0_19; + +BB0_16: + setp.neu.f32 %p34, %f35, 0f7F800000; + @%p34 bra BB0_19; + + selp.f32 %f921, 0fFF800000, 0f7F800000, %p1; + +BB0_19: + mov.u32 %r334, 1; + mov.u64 %rd163, lightMeshBuffer; + cvta.global.u64 %rd162, %rd163; + mul.lo.s32 %r333, %r343, 3; + mov.f32 %f366, 0f3F800000; + sub.f32 %f367, %f366, %f921; + setp.eq.f32 %p35, %f33, 0f3F800000; + selp.f32 %f368, 0f00000000, %f367, %p35; + cvt.sat.f32.f32 %f369, %f368; + mul.f32 %f370, %f32, %f369; + add.s32 %r147, %r333, 1; + cvt.s64.s32 %rd51, %r147; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd162, %r334, %r117, %rd51, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f371, [%rd49]; + mul.f32 %f372, %f28, %f371; + ld.f32 %f373, [%rd49+4]; + mul.f32 %f374, %f29, %f373; + neg.f32 %f375, %f374; + sub.f32 %f376, %f375, %f372; + ld.f32 %f377, [%rd49+8]; + mul.f32 %f378, %f30, %f377; + sub.f32 %f379, %f376, %f378; + cvt.sat.f32.f32 %f380, %f379; + mul.f32 %f47, %f370, %f380; + cvt.sat.f32.f32 %f48, %f31; + mul.f32 %f381, %f47, %f48; + setp.leu.f32 %p36, %f381, 0f3727C5AC; + @%p36 bra BB0_21; + + mov.u32 %r342, 1; + mov.u64 %rd165, lightMeshBuffer; + cvta.global.u64 %rd164, %rd165; + mul.lo.s32 %r341, %r343, 3; + add.u64 %rd56, %SP, 28; + cvta.to.local.u64 %rd63, %rd56; + max.f32 %f388, %f394, %f255; + sub.f32 %f389, %f27, %f388; + mov.u32 %r153, 1065353216; + st.local.u32 [%rd63], %r153; + ld.global.u32 %r148, [root]; + // inline asm + call _rt_trace_64, (%r148, %f12, %f13, %f14, %f28, %f29, %f30, %r342, %f388, %f389, %rd56, %r102); + // inline asm + add.s32 %r154, %r341, 2; + cvt.s64.s32 %rd59, %r154; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd164, %r342, %r117, %rd59, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f396, [%rd57]; + ld.local.f32 %f397, [%rd63]; + mul.f32 %f398, %f397, %f396; + ld.f32 %f399, [%rd57+4]; + mul.f32 %f400, %f397, %f399; + ld.f32 %f401, [%rd57+8]; + mul.f32 %f402, %f397, %f401; + mul.f32 %f403, %f47, %f398; + mul.f32 %f404, %f47, %f400; + mul.f32 %f405, %f47, %f402; + fma.rn.f32 %f23, %f48, %f403, %f23; + fma.rn.f32 %f22, %f48, %f404, %f22; + fma.rn.f32 %f21, %f48, %f405, %f21; + add.f32 %f20, %f20, %f397; + fma.rn.f32 %f942, %f28, %f397, %f942; + fma.rn.f32 %f941, %f29, %f397, %f941; + fma.rn.f32 %f940, %f30, %f397, %f940; + +BB0_21: + add.s32 %r7, %r7, 1; + +BB0_22: + ld.global.u32 %r155, [lightMeshBufferSize]; + add.s32 %r343, %r343, 1; + setp.lt.u32 %p38, %r343, %r155; + @%p38 bra BB0_6; + bra.uni BB0_23; + +BB0_4: + mov.f32 %f21, %f20; + mov.f32 %f22, %f20; + mov.f32 %f23, %f20; + mov.f32 %f940, %f20; + mov.f32 %f941, %f20; + mov.f32 %f942, %f20; + +BB0_23: + mov.pred %p144, %p13; + +BB0_24: + cvt.rn.f32.s32 %f406, %r7; + mov.f32 %f407, 0f3F800000; + max.f32 %f408, %f406, %f407; + rcp.rn.f32 %f409, %f408; + mul.f32 %f976, %f23, %f409; + mul.f32 %f977, %f22, %f409; + mul.f32 %f978, %f21, %f409; + div.rn.f32 %f979, %f20, %f408; + @!%p144 bra BB0_77; + bra.uni BB0_25; + +BB0_25: + abs.f32 %f907, %f911; + abs.f32 %f906, %f909; + setp.gt.f32 %p39, %f906, %f907; + neg.f32 %f416, %f910; + selp.f32 %f417, %f416, 0f00000000, %p39; + neg.f32 %f418, %f911; + selp.f32 %f419, %f909, %f418, %p39; + selp.f32 %f420, 0f00000000, %f910, %p39; + mul.f32 %f421, %f419, %f419; + fma.rn.f32 %f422, %f417, %f417, %f421; + fma.rn.f32 %f423, %f420, %f420, %f422; + sqrt.rn.f32 %f424, %f423; + rcp.rn.f32 %f425, %f424; + mul.f32 %f81, %f417, %f425; + mul.f32 %f82, %f419, %f425; + mul.f32 %f83, %f420, %f425; + mov.f32 %f415, 0f00000000; + setp.lt.s32 %p40, %r1, 1; + mov.f32 %f949, %f415; + mov.f32 %f950, %f415; + mov.f32 %f951, %f415; + mov.f32 %f940, %f415; + mov.f32 %f941, %f415; + mov.f32 %f942, %f415; + @%p40 bra BB0_76; + + mad.lo.s32 %r350, %r129, 1664525, 1013904223; + cvt.rn.f32.s32 %f432, %r1; + rcp.rn.f32 %f84, %f432; + add.u64 %rd65, %SP, 0; + cvta.to.local.u64 %rd2, %rd65; + mul.f32 %f85, %f12, 0f3456BF95; + mul.f32 %f86, %f13, 0f3456BF95; + mul.f32 %f87, %f14, 0f3456BF95; + add.u64 %rd66, %SP, 32; + cvta.to.local.u64 %rd3, %rd66; + mul.f32 %f433, %f909, %f82; + mul.f32 %f434, %f910, %f81; + sub.f32 %f88, %f434, %f433; + mul.f32 %f435, %f911, %f81; + mul.f32 %f436, %f909, %f83; + sub.f32 %f89, %f436, %f435; + mul.f32 %f437, %f910, %f83; + mul.f32 %f438, %f911, %f82; + sub.f32 %f90, %f438, %f437; + mov.f32 %f949, 0f00000000; + mov.u32 %r156, 0; + abs.f32 %f439, %f86; + abs.f32 %f440, %f85; + max.f32 %f441, %f440, %f439; + abs.f32 %f442, %f87; + max.f32 %f443, %f441, %f442; + mov.u32 %r347, %r156; + mov.f32 %f950, %f949; + mov.f32 %f951, %f949; + mov.f32 %f940, %f949; + mov.f32 %f941, %f949; + mov.f32 %f942, %f949; + +BB0_27: + cvt.rn.f32.s32 %f97, %r347; + max.f32 %f98, %f443, %f255; + mov.u32 %r349, %r156; + +BB0_28: + mad.lo.s32 %r158, %r350, 1664525, 1013904223; + and.b32 %r159, %r158, 16777215; + cvt.rn.f32.u32 %f445, %r159; + fma.rn.f32 %f446, %f445, 0f33800000, %f97; + mul.f32 %f105, %f84, %f446; + mad.lo.s32 %r350, %r158, 1664525, 1013904223; + and.b32 %r160, %r350, 16777215; + cvt.rn.f32.u32 %f447, %r160; + cvt.rn.f32.s32 %f448, %r349; + fma.rn.f32 %f449, %f447, 0f33800000, %f448; + mul.f32 %f450, %f84, %f449; + mul.f32 %f451, %f105, %f105; + sub.f32 %f453, %f407, %f451; + mov.f32 %f454, 0f00000000; + max.f32 %f455, %f454, %f453; + sqrt.rn.f32 %f106, %f455; + mul.f32 %f961, %f450, 0f40C90FDB; + abs.f32 %f108, %f961; + setp.neu.f32 %p41, %f108, 0f7F800000; + mov.f32 %f955, %f961; + @%p41 bra BB0_30; + + mul.rn.f32 %f955, %f961, %f454; + +BB0_30: + mul.f32 %f457, %f955, 0f3F22F983; + cvt.rni.s32.f32 %r360, %f457; + cvt.rn.f32.s32 %f458, %r360; + neg.f32 %f459, %f458; + mov.f32 %f460, 0f3FC90FDA; + fma.rn.f32 %f461, %f459, %f460, %f955; + mov.f32 %f462, 0f33A22168; + fma.rn.f32 %f463, %f459, %f462, %f461; + mov.f32 %f464, 0f27C234C5; + fma.rn.f32 %f956, %f459, %f464, %f463; + abs.f32 %f465, %f955; + setp.leu.f32 %p42, %f465, 0f47CE4780; + @%p42 bra BB0_41; + + mov.b32 %r19, %f955; + shr.u32 %r20, %r19, 23; + shl.b32 %r163, %r19, 8; + or.b32 %r21, %r163, -2147483648; + mov.u32 %r351, 0; + mov.u64 %rd167, 0; + mov.u64 %rd166, %rd2; + mov.u32 %r352, %r351; + +BB0_32: + .pragma "nounroll"; + shl.b64 %rd68, %rd167, 2; + mov.u64 %rd69, __cudart_i2opi_f; + add.s64 %rd70, %rd69, %rd68; + ld.const.u32 %r166, [%rd70]; + // inline asm + { + mad.lo.cc.u32 %r164, %r166, %r21, %r352; + madc.hi.u32 %r352, %r166, %r21, 0; + } + // inline asm + st.local.u32 [%rd166], %r164; + add.s32 %r351, %r351, 1; + cvt.s64.s32 %rd167, %r351; + mul.wide.s32 %rd71, %r351, 4; + add.s64 %rd166, %rd2, %rd71; + setp.ne.s32 %p43, %r351, 6; + @%p43 bra BB0_32; + + and.b32 %r169, %r20, 255; + add.s32 %r170, %r169, -128; + shr.u32 %r171, %r170, 5; + and.b32 %r26, %r19, -2147483648; + st.local.u32 [%rd2+24], %r352; + mov.u32 %r172, 6; + sub.s32 %r173, %r172, %r171; + mul.wide.s32 %rd72, %r173, 4; + add.s64 %rd9, %rd2, %rd72; + ld.local.u32 %r353, [%rd9]; + ld.local.u32 %r354, [%rd9+-4]; + and.b32 %r29, %r20, 31; + setp.eq.s32 %p44, %r29, 0; + @%p44 bra BB0_35; + + mov.u32 %r174, 32; + sub.s32 %r175, %r174, %r29; + shr.u32 %r176, %r354, %r175; + shl.b32 %r177, %r353, %r29; + add.s32 %r353, %r176, %r177; + ld.local.u32 %r178, [%rd9+-8]; + shr.u32 %r179, %r178, %r175; + shl.b32 %r180, %r354, %r29; + add.s32 %r354, %r179, %r180; + +BB0_35: + shr.u32 %r181, %r354, 30; + shl.b32 %r182, %r353, 2; + add.s32 %r355, %r181, %r182; + shl.b32 %r35, %r354, 2; + shr.u32 %r183, %r355, 31; + shr.u32 %r184, %r353, 30; + add.s32 %r36, %r183, %r184; + setp.eq.s32 %p45, %r183, 0; + @%p45 bra BB0_36; + bra.uni BB0_37; + +BB0_36: + mov.u32 %r356, %r26; + mov.u32 %r357, %r35; + bra.uni BB0_38; + +BB0_37: + not.b32 %r185, %r355; + neg.s32 %r357, %r35; + setp.eq.s32 %p46, %r35, 0; + selp.u32 %r186, 1, 0, %p46; + add.s32 %r355, %r186, %r185; + xor.b32 %r356, %r26, -2147483648; + +BB0_38: + clz.b32 %r359, %r355; + setp.eq.s32 %p47, %r359, 0; + shl.b32 %r187, %r355, %r359; + mov.u32 %r188, 32; + sub.s32 %r189, %r188, %r359; + shr.u32 %r190, %r357, %r189; + add.s32 %r191, %r190, %r187; + selp.b32 %r44, %r355, %r191, %p47; + mov.u32 %r192, -921707870; + mul.hi.u32 %r358, %r44, %r192; + setp.eq.s32 %p48, %r26, 0; + neg.s32 %r193, %r36; + selp.b32 %r360, %r36, %r193, %p48; + setp.lt.s32 %p49, %r358, 1; + @%p49 bra BB0_40; + + mul.lo.s32 %r194, %r44, -921707870; + shr.u32 %r195, %r194, 31; + shl.b32 %r196, %r358, 1; + add.s32 %r358, %r195, %r196; + add.s32 %r359, %r359, 1; + +BB0_40: + mov.u32 %r197, 126; + sub.s32 %r198, %r197, %r359; + shl.b32 %r199, %r198, 23; + add.s32 %r200, %r358, 1; + shr.u32 %r201, %r200, 7; + add.s32 %r202, %r201, 1; + shr.u32 %r203, %r202, 1; + add.s32 %r204, %r203, %r199; + or.b32 %r205, %r204, %r356; + mov.b32 %f956, %r205; + +BB0_41: + mul.rn.f32 %f114, %f956, %f956; + add.s32 %r52, %r360, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p50, %r53, 0; + @%p50 bra BB0_43; + bra.uni BB0_42; + +BB0_43: + mov.f32 %f468, 0f3C08839E; + mov.f32 %f469, 0fB94CA1F9; + fma.rn.f32 %f957, %f469, %f114, %f468; + bra.uni BB0_44; + +BB0_42: + mov.f32 %f466, 0fBAB6061A; + mov.f32 %f467, 0f37CCF5CE; + fma.rn.f32 %f957, %f467, %f114, %f466; + +BB0_44: + @%p50 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f473, 0fBE2AAAA3; + fma.rn.f32 %f474, %f957, %f114, %f473; + fma.rn.f32 %f958, %f474, %f114, %f454; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f470, 0f3D2AAAA5; + fma.rn.f32 %f471, %f957, %f114, %f470; + mov.f32 %f472, 0fBF000000; + fma.rn.f32 %f958, %f471, %f114, %f472; + +BB0_47: + fma.rn.f32 %f959, %f958, %f956, %f956; + @%p50 bra BB0_49; + + fma.rn.f32 %f959, %f958, %f114, %f407; + +BB0_49: + and.b32 %r206, %r52, 2; + setp.eq.s32 %p53, %r206, 0; + @%p53 bra BB0_51; + + mov.f32 %f478, 0fBF800000; + fma.rn.f32 %f959, %f959, %f478, %f454; + +BB0_51: + @%p41 bra BB0_53; + + mul.rn.f32 %f961, %f961, %f454; + +BB0_53: + mul.f32 %f480, %f961, 0f3F22F983; + cvt.rni.s32.f32 %r370, %f480; + cvt.rn.f32.s32 %f481, %r370; + neg.f32 %f482, %f481; + fma.rn.f32 %f484, %f482, %f460, %f961; + fma.rn.f32 %f486, %f482, %f462, %f484; + fma.rn.f32 %f962, %f482, %f464, %f486; + abs.f32 %f488, %f961; + setp.leu.f32 %p55, %f488, 0f47CE4780; + @%p55 bra BB0_64; + + mov.b32 %r55, %f961; + shr.u32 %r56, %r55, 23; + shl.b32 %r209, %r55, 8; + or.b32 %r57, %r209, -2147483648; + mov.u32 %r361, 0; + mov.u64 %rd168, %rd2; + mov.u64 %rd169, %rd26; + mov.u32 %r362, %r361; + +BB0_55: + .pragma "nounroll"; + shl.b64 %rd74, %rd169, 2; + mov.u64 %rd75, __cudart_i2opi_f; + add.s64 %rd76, %rd75, %rd74; + ld.const.u32 %r212, [%rd76]; + // inline asm + { + mad.lo.cc.u32 %r210, %r212, %r57, %r362; + madc.hi.u32 %r362, %r212, %r57, 0; + } + // inline asm + st.local.u32 [%rd168], %r210; + add.s32 %r361, %r361, 1; + cvt.s64.s32 %rd169, %r361; + mul.wide.s32 %rd77, %r361, 4; + add.s64 %rd168, %rd2, %rd77; + setp.ne.s32 %p56, %r361, 6; + @%p56 bra BB0_55; + + and.b32 %r215, %r56, 255; + add.s32 %r216, %r215, -128; + shr.u32 %r217, %r216, 5; + and.b32 %r62, %r55, -2147483648; + st.local.u32 [%rd2+24], %r362; + mov.u32 %r218, 6; + sub.s32 %r219, %r218, %r217; + mul.wide.s32 %rd78, %r219, 4; + add.s64 %rd15, %rd2, %rd78; + ld.local.u32 %r363, [%rd15]; + ld.local.u32 %r364, [%rd15+-4]; + and.b32 %r65, %r56, 31; + setp.eq.s32 %p57, %r65, 0; + @%p57 bra BB0_58; + + mov.u32 %r220, 32; + sub.s32 %r221, %r220, %r65; + shr.u32 %r222, %r364, %r221; + shl.b32 %r223, %r363, %r65; + add.s32 %r363, %r222, %r223; + ld.local.u32 %r224, [%rd15+-8]; + shr.u32 %r225, %r224, %r221; + shl.b32 %r226, %r364, %r65; + add.s32 %r364, %r225, %r226; + +BB0_58: + shr.u32 %r227, %r364, 30; + shl.b32 %r228, %r363, 2; + add.s32 %r365, %r227, %r228; + shl.b32 %r71, %r364, 2; + shr.u32 %r229, %r365, 31; + shr.u32 %r230, %r363, 30; + add.s32 %r72, %r229, %r230; + setp.eq.s32 %p58, %r229, 0; + @%p58 bra BB0_59; + bra.uni BB0_60; + +BB0_59: + mov.u32 %r366, %r62; + mov.u32 %r367, %r71; + bra.uni BB0_61; + +BB0_60: + not.b32 %r231, %r365; + neg.s32 %r367, %r71; + setp.eq.s32 %p59, %r71, 0; + selp.u32 %r232, 1, 0, %p59; + add.s32 %r365, %r232, %r231; + xor.b32 %r366, %r62, -2147483648; + +BB0_61: + clz.b32 %r369, %r365; + setp.eq.s32 %p60, %r369, 0; + shl.b32 %r233, %r365, %r369; + mov.u32 %r234, 32; + sub.s32 %r235, %r234, %r369; + shr.u32 %r236, %r367, %r235; + add.s32 %r237, %r236, %r233; + selp.b32 %r80, %r365, %r237, %p60; + mov.u32 %r238, -921707870; + mul.hi.u32 %r368, %r80, %r238; + setp.eq.s32 %p61, %r62, 0; + neg.s32 %r239, %r72; + selp.b32 %r370, %r72, %r239, %p61; + setp.lt.s32 %p62, %r368, 1; + @%p62 bra BB0_63; + + mul.lo.s32 %r240, %r80, -921707870; + shr.u32 %r241, %r240, 31; + shl.b32 %r242, %r368, 1; + add.s32 %r368, %r241, %r242; + add.s32 %r369, %r369, 1; + +BB0_63: + mov.u32 %r243, 126; + sub.s32 %r244, %r243, %r369; + shl.b32 %r245, %r244, 23; + add.s32 %r246, %r368, 1; + shr.u32 %r247, %r246, 7; + add.s32 %r248, %r247, 1; + shr.u32 %r249, %r248, 1; + add.s32 %r250, %r249, %r245; + or.b32 %r251, %r250, %r366; + mov.b32 %f962, %r251; + +BB0_64: + mul.rn.f32 %f131, %f962, %f962; + and.b32 %r88, %r370, 1; + setp.eq.s32 %p63, %r88, 0; + @%p63 bra BB0_66; + bra.uni BB0_65; + +BB0_66: + mov.f32 %f491, 0f3C08839E; + mov.f32 %f492, 0fB94CA1F9; + fma.rn.f32 %f963, %f492, %f131, %f491; + bra.uni BB0_67; + +BB0_65: + mov.f32 %f489, 0fBAB6061A; + mov.f32 %f490, 0f37CCF5CE; + fma.rn.f32 %f963, %f490, %f131, %f489; + +BB0_67: + @%p63 bra BB0_69; + bra.uni BB0_68; + +BB0_69: + mov.f32 %f496, 0fBE2AAAA3; + fma.rn.f32 %f497, %f963, %f131, %f496; + fma.rn.f32 %f964, %f497, %f131, %f454; + bra.uni BB0_70; + +BB0_68: + mov.f32 %f493, 0f3D2AAAA5; + fma.rn.f32 %f494, %f963, %f131, %f493; + mov.f32 %f495, 0fBF000000; + fma.rn.f32 %f964, %f494, %f131, %f495; + +BB0_70: + fma.rn.f32 %f965, %f964, %f962, %f962; + @%p63 bra BB0_72; + + fma.rn.f32 %f965, %f964, %f131, %f407; + +BB0_72: + and.b32 %r252, %r370, 2; + setp.eq.s32 %p66, %r252, 0; + @%p66 bra BB0_74; + + mov.f32 %f501, 0fBF800000; + fma.rn.f32 %f965, %f965, %f501, %f454; + +BB0_74: + mul.f32 %f510, %f106, %f959; + mul.f32 %f511, %f106, %f965; + mul.f32 %f512, %f81, %f511; + mul.f32 %f513, %f82, %f511; + mul.f32 %f514, %f83, %f511; + fma.rn.f32 %f515, %f90, %f510, %f512; + fma.rn.f32 %f516, %f89, %f510, %f513; + fma.rn.f32 %f517, %f88, %f510, %f514; + fma.rn.f32 %f505, %f909, %f105, %f515; + fma.rn.f32 %f506, %f910, %f105, %f516; + fma.rn.f32 %f507, %f911, %f105, %f517; + mov.u32 %r254, 0; + st.local.u32 [%rd3+8], %r254; + st.local.u32 [%rd3+4], %r254; + st.local.u32 [%rd3], %r254; + ld.global.u32 %r253, [root]; + mov.f32 %f509, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r253, %f12, %f13, %f14, %f505, %f506, %f507, %r254, %f98, %f509, %rd66, %r117); + // inline asm + ld.local.f32 %f518, [%rd3]; + max.f32 %f520, %f518, %f454; + ld.local.f32 %f521, [%rd3+4]; + max.f32 %f522, %f521, %f454; + ld.local.f32 %f523, [%rd3+8]; + max.f32 %f524, %f523, %f454; + setp.lt.f32 %p67, %f518, 0f00000000; + selp.f32 %f525, 0f00000000, 0f3F800000, %p67; + fma.rn.f32 %f942, %f505, %f525, %f942; + fma.rn.f32 %f941, %f506, %f525, %f941; + fma.rn.f32 %f940, %f507, %f525, %f940; + mul.f32 %f526, %f910, %f506; + fma.rn.f32 %f527, %f909, %f505, %f526; + fma.rn.f32 %f528, %f911, %f507, %f527; + cvt.sat.f32.f32 %f529, %f528; + fma.rn.f32 %f951, %f520, %f529, %f951; + fma.rn.f32 %f950, %f522, %f529, %f950; + fma.rn.f32 %f949, %f524, %f529, %f949; + add.s32 %r349, %r349, 1; + setp.lt.s32 %p68, %r349, %r1; + @%p68 bra BB0_28; + + add.s32 %r347, %r347, 1; + setp.lt.s32 %p69, %r347, %r1; + @%p69 bra BB0_27; + +BB0_76: + mul.lo.s32 %r256, %r1, %r1; + cvt.rn.f32.s32 %f530, %r256; + rcp.rn.f32 %f531, %f530; + mul.f32 %f532, %f951, %f531; + mul.f32 %f533, %f950, %f531; + mul.f32 %f534, %f949, %f531; + div.rn.f32 %f979, %f415, %f530; + fma.rn.f32 %f976, %f951, %f531, %f532; + fma.rn.f32 %f977, %f950, %f531, %f533; + fma.rn.f32 %f978, %f949, %f531, %f534; + +BB0_77: + ld.global.u32 %r372, [imageEnabled]; + and.b32 %r257, %r372, 8; + setp.eq.s32 %p70, %r257, 0; + @%p70 bra BB0_90; + + mov.u32 %r335, 2; + cvt.u64.u32 %rd82, %r3; + cvt.u64.u32 %rd83, %r4; + mov.u64 %rd86, image_Mask; + cvta.global.u64 %rd81, %rd86; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r335, %r335, %rd82, %rd83, %rd26, %rd26); + // inline asm + mov.f32 %f538, 0f3E68BA2E; + cvt.rzi.f32.f32 %f539, %f538; + fma.rn.f32 %f540, %f539, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f166, %f540; + abs.f32 %f167, %f979; + setp.lt.f32 %p71, %f167, 0f00800000; + mul.f32 %f541, %f167, 0f4B800000; + selp.f32 %f542, 0fC3170000, 0fC2FE0000, %p71; + selp.f32 %f543, %f541, %f167, %p71; + mov.b32 %r260, %f543; + and.b32 %r261, %r260, 8388607; + or.b32 %r262, %r261, 1065353216; + mov.b32 %f544, %r262; + shr.u32 %r263, %r260, 23; + cvt.rn.f32.u32 %f545, %r263; + add.f32 %f546, %f542, %f545; + setp.gt.f32 %p72, %f544, 0f3FB504F3; + mul.f32 %f547, %f544, 0f3F000000; + add.f32 %f548, %f546, 0f3F800000; + selp.f32 %f549, %f547, %f544, %p72; + selp.f32 %f550, %f548, %f546, %p72; + add.f32 %f551, %f549, 0fBF800000; + add.f32 %f537, %f549, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f536,%f537; + // inline asm + add.f32 %f552, %f551, %f551; + mul.f32 %f553, %f536, %f552; + mul.f32 %f554, %f553, %f553; + mov.f32 %f555, 0f3C4CAF63; + mov.f32 %f556, 0f3B18F0FE; + fma.rn.f32 %f557, %f556, %f554, %f555; + mov.f32 %f558, 0f3DAAAABD; + fma.rn.f32 %f559, %f557, %f554, %f558; + mul.rn.f32 %f560, %f559, %f554; + mul.rn.f32 %f561, %f560, %f553; + sub.f32 %f562, %f551, %f553; + neg.f32 %f563, %f553; + add.f32 %f564, %f562, %f562; + fma.rn.f32 %f565, %f563, %f551, %f564; + mul.rn.f32 %f566, %f536, %f565; + add.f32 %f567, %f561, %f553; + sub.f32 %f568, %f553, %f567; + add.f32 %f569, %f561, %f568; + add.f32 %f570, %f566, %f569; + add.f32 %f571, %f567, %f570; + sub.f32 %f572, %f567, %f571; + add.f32 %f573, %f570, %f572; + mov.f32 %f574, 0f3F317200; + mul.rn.f32 %f575, %f550, %f574; + mov.f32 %f576, 0f35BFBE8E; + mul.rn.f32 %f577, %f550, %f576; + add.f32 %f578, %f575, %f571; + sub.f32 %f579, %f575, %f578; + add.f32 %f580, %f571, %f579; + add.f32 %f581, %f573, %f580; + add.f32 %f582, %f577, %f581; + add.f32 %f583, %f578, %f582; + sub.f32 %f584, %f578, %f583; + add.f32 %f585, %f582, %f584; + mov.f32 %f586, 0f3EE8BA2E; + mul.rn.f32 %f587, %f586, %f583; + neg.f32 %f588, %f587; + fma.rn.f32 %f589, %f586, %f583, %f588; + fma.rn.f32 %f590, %f586, %f585, %f589; + mov.f32 %f591, 0f00000000; + fma.rn.f32 %f592, %f591, %f583, %f590; + add.rn.f32 %f593, %f587, %f592; + neg.f32 %f594, %f593; + add.rn.f32 %f595, %f587, %f594; + add.rn.f32 %f596, %f595, %f592; + mov.b32 %r264, %f593; + setp.eq.s32 %p73, %r264, 1118925336; + add.s32 %r265, %r264, -1; + mov.b32 %f597, %r265; + add.f32 %f598, %f596, 0f37000000; + selp.f32 %f599, %f597, %f593, %p73; + selp.f32 %f168, %f598, %f596, %p73; + mul.f32 %f600, %f599, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f601, %f600; + mov.f32 %f602, 0fBF317200; + fma.rn.f32 %f603, %f601, %f602, %f599; + mov.f32 %f604, 0fB5BFBE8E; + fma.rn.f32 %f605, %f601, %f604, %f603; + mul.f32 %f606, %f605, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f607, %f606; + add.f32 %f608, %f601, 0f00000000; + ex2.approx.f32 %f609, %f608; + mul.f32 %f610, %f607, %f609; + setp.lt.f32 %p74, %f599, 0fC2D20000; + selp.f32 %f611, 0f00000000, %f610, %p74; + setp.gt.f32 %p75, %f599, 0f42D20000; + selp.f32 %f980, 0f7F800000, %f611, %p75; + setp.eq.f32 %p76, %f980, 0f7F800000; + @%p76 bra BB0_80; + + fma.rn.f32 %f980, %f980, %f168, %f980; + +BB0_80: + setp.lt.f32 %p77, %f979, 0f00000000; + setp.eq.f32 %p78, %f166, 0f3F800000; + and.pred %p3, %p77, %p78; + mov.b32 %r266, %f980; + xor.b32 %r267, %r266, -2147483648; + mov.b32 %f612, %r267; + selp.f32 %f982, %f612, %f980, %p3; + setp.eq.f32 %p79, %f979, 0f00000000; + @%p79 bra BB0_83; + bra.uni BB0_81; + +BB0_83: + add.f32 %f615, %f979, %f979; + selp.f32 %f982, %f615, 0f00000000, %p78; + bra.uni BB0_84; + +BB0_138: + mov.u64 %rd154, image_HDR; + cvta.global.u64 %rd149, %rd154; + mov.u32 %r330, 8; + mov.u64 %rd153, 0; + // inline asm + call (%rd148), _rt_buffer_get_64, (%rd149, %r101, %r330, %rd19, %rd20, %rd153, %rd153); + // inline asm + mov.f32 %f899, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs50, %f899;} + + // inline asm + mov.u16 %rs51, 0; + st.v4.u16 [%rd148], {%rs50, %rs50, %rs50, %rs51}; + +BB0_139: + ld.global.u8 %rs52, [imageEnabled]; + and.b16 %rs53, %rs52, 64; + setp.eq.s16 %p143, %rs53, 0; + @%p143 bra BB0_141; + + cvt.u64.u32 %rd157, %r3; + cvt.u64.u32 %rd158, %r4; + mov.u64 %rd161, image_Dir; + cvta.global.u64 %rd156, %rd161; + mov.u64 %rd160, 0; + // inline asm + call (%rd155), _rt_buffer_get_64, (%rd156, %r101, %r102, %rd157, %rd158, %rd160, %rd160); + // inline asm + mov.u16 %rs54, 0; + st.v4.u8 [%rd155], {%rs54, %rs54, %rs54, %rs54}; + bra.uni BB0_141; + +BB0_81: + setp.geu.f32 %p80, %f979, 0f00000000; + @%p80 bra BB0_84; + + cvt.rzi.f32.f32 %f614, %f586; + setp.neu.f32 %p81, %f614, 0f3EE8BA2E; + selp.f32 %f982, 0f7FFFFFFF, %f982, %p81; + +BB0_84: + add.f32 %f616, %f167, 0f3EE8BA2E; + mov.b32 %r268, %f616; + setp.lt.s32 %p83, %r268, 2139095040; + @%p83 bra BB0_89; + + setp.gtu.f32 %p84, %f167, 0f7F800000; + @%p84 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f982, %f979, 0f3EE8BA2E; + bra.uni BB0_89; + +BB0_86: + setp.neu.f32 %p85, %f167, 0f7F800000; + @%p85 bra BB0_89; + + selp.f32 %f982, 0fFF800000, 0f7F800000, %p3; + +BB0_89: + mul.f32 %f617, %f982, 0f437F0000; + setp.eq.f32 %p86, %f979, 0f3F800000; + selp.f32 %f618, 0f437F0000, %f617, %p86; + cvt.rzi.u32.f32 %r269, %f618; + cvt.u16.u32 %rs10, %r269; + mov.u16 %rs11, 255; + st.v2.u8 [%rd80], {%rs10, %rs11}; + ld.global.u32 %r372, [imageEnabled]; + +BB0_90: + ld.global.f32 %f619, [lightColor]; + mul.f32 %f179, %f976, %f619; + ld.global.f32 %f620, [lightColor+4]; + mul.f32 %f180, %f977, %f620; + ld.global.f32 %f621, [lightColor+8]; + mul.f32 %f181, %f978, %f621; + and.b32 %r270, %r372, 1; + setp.eq.b32 %p87, %r270, 1; + @!%p87 bra BB0_125; + bra.uni BB0_91; + +BB0_91: + mov.f32 %f624, 0f3E666666; + cvt.rzi.f32.f32 %f625, %f624; + fma.rn.f32 %f626, %f625, 0fC0000000, 0f3EE66666; + abs.f32 %f182, %f626; + abs.f32 %f183, %f179; + setp.lt.f32 %p88, %f183, 0f00800000; + mul.f32 %f627, %f183, 0f4B800000; + selp.f32 %f628, 0fC3170000, 0fC2FE0000, %p88; + selp.f32 %f629, %f627, %f183, %p88; + mov.b32 %r271, %f629; + and.b32 %r272, %r271, 8388607; + or.b32 %r273, %r272, 1065353216; + mov.b32 %f630, %r273; + shr.u32 %r274, %r271, 23; + cvt.rn.f32.u32 %f631, %r274; + add.f32 %f632, %f628, %f631; + setp.gt.f32 %p89, %f630, 0f3FB504F3; + mul.f32 %f633, %f630, 0f3F000000; + add.f32 %f634, %f632, 0f3F800000; + selp.f32 %f635, %f633, %f630, %p89; + selp.f32 %f636, %f634, %f632, %p89; + add.f32 %f637, %f635, 0fBF800000; + add.f32 %f623, %f635, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f622,%f623; + // inline asm + add.f32 %f638, %f637, %f637; + mul.f32 %f639, %f622, %f638; + mul.f32 %f640, %f639, %f639; + mov.f32 %f641, 0f3C4CAF63; + mov.f32 %f642, 0f3B18F0FE; + fma.rn.f32 %f643, %f642, %f640, %f641; + mov.f32 %f644, 0f3DAAAABD; + fma.rn.f32 %f645, %f643, %f640, %f644; + mul.rn.f32 %f646, %f645, %f640; + mul.rn.f32 %f647, %f646, %f639; + sub.f32 %f648, %f637, %f639; + neg.f32 %f649, %f639; + add.f32 %f650, %f648, %f648; + fma.rn.f32 %f651, %f649, %f637, %f650; + mul.rn.f32 %f652, %f622, %f651; + add.f32 %f653, %f647, %f639; + sub.f32 %f654, %f639, %f653; + add.f32 %f655, %f647, %f654; + add.f32 %f656, %f652, %f655; + add.f32 %f657, %f653, %f656; + sub.f32 %f658, %f653, %f657; + add.f32 %f659, %f656, %f658; + mov.f32 %f660, 0f3F317200; + mul.rn.f32 %f661, %f636, %f660; + mov.f32 %f662, 0f35BFBE8E; + mul.rn.f32 %f663, %f636, %f662; + add.f32 %f664, %f661, %f657; + sub.f32 %f665, %f661, %f664; + add.f32 %f666, %f657, %f665; + add.f32 %f667, %f659, %f666; + add.f32 %f668, %f663, %f667; + add.f32 %f669, %f664, %f668; + sub.f32 %f670, %f664, %f669; + add.f32 %f671, %f668, %f670; + mov.f32 %f672, 0f3EE66666; + mul.rn.f32 %f673, %f672, %f669; + neg.f32 %f674, %f673; + fma.rn.f32 %f675, %f672, %f669, %f674; + fma.rn.f32 %f676, %f672, %f671, %f675; + mov.f32 %f677, 0f00000000; + fma.rn.f32 %f678, %f677, %f669, %f676; + add.rn.f32 %f679, %f673, %f678; + neg.f32 %f680, %f679; + add.rn.f32 %f681, %f673, %f680; + add.rn.f32 %f682, %f681, %f678; + mov.b32 %r275, %f679; + setp.eq.s32 %p90, %r275, 1118925336; + add.s32 %r276, %r275, -1; + mov.b32 %f683, %r276; + add.f32 %f684, %f682, 0f37000000; + selp.f32 %f685, %f683, %f679, %p90; + selp.f32 %f184, %f684, %f682, %p90; + mul.f32 %f686, %f685, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f687, %f686; + mov.f32 %f688, 0fBF317200; + fma.rn.f32 %f689, %f687, %f688, %f685; + mov.f32 %f690, 0fB5BFBE8E; + fma.rn.f32 %f691, %f687, %f690, %f689; + mul.f32 %f692, %f691, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f693, %f692; + add.f32 %f694, %f687, 0f00000000; + ex2.approx.f32 %f695, %f694; + mul.f32 %f696, %f693, %f695; + setp.lt.f32 %p91, %f685, 0fC2D20000; + selp.f32 %f697, 0f00000000, %f696, %p91; + setp.gt.f32 %p92, %f685, 0f42D20000; + selp.f32 %f983, 0f7F800000, %f697, %p92; + setp.eq.f32 %p93, %f983, 0f7F800000; + @%p93 bra BB0_93; + + fma.rn.f32 %f983, %f983, %f184, %f983; + +BB0_93: + setp.lt.f32 %p94, %f179, 0f00000000; + setp.eq.f32 %p95, %f182, 0f3F800000; + and.pred %p4, %p94, %p95; + mov.b32 %r277, %f983; + xor.b32 %r278, %r277, -2147483648; + mov.b32 %f698, %r278; + selp.f32 %f985, %f698, %f983, %p4; + setp.eq.f32 %p96, %f179, 0f00000000; + @%p96 bra BB0_96; + bra.uni BB0_94; + +BB0_96: + add.f32 %f701, %f179, %f179; + selp.f32 %f985, %f701, 0f00000000, %p95; + bra.uni BB0_97; + +BB0_94: + setp.geu.f32 %p97, %f179, 0f00000000; + @%p97 bra BB0_97; + + cvt.rzi.f32.f32 %f700, %f672; + setp.neu.f32 %p98, %f700, 0f3EE66666; + selp.f32 %f985, 0f7FFFFFFF, %f985, %p98; + +BB0_97: + add.f32 %f702, %f183, 0f3EE66666; + mov.b32 %r279, %f702; + setp.lt.s32 %p100, %r279, 2139095040; + @%p100 bra BB0_102; + + setp.gtu.f32 %p101, %f183, 0f7F800000; + @%p101 bra BB0_101; + bra.uni BB0_99; + +BB0_101: + add.f32 %f985, %f179, 0f3EE66666; + bra.uni BB0_102; + +BB0_99: + setp.neu.f32 %p102, %f183, 0f7F800000; + @%p102 bra BB0_102; + + selp.f32 %f985, 0fFF800000, 0f7F800000, %p4; + +BB0_102: + setp.eq.f32 %p103, %f179, 0f3F800000; + selp.f32 %f195, 0f3F800000, %f985, %p103; + abs.f32 %f196, %f180; + setp.lt.f32 %p104, %f196, 0f00800000; + mul.f32 %f705, %f196, 0f4B800000; + selp.f32 %f706, 0fC3170000, 0fC2FE0000, %p104; + selp.f32 %f707, %f705, %f196, %p104; + mov.b32 %r280, %f707; + and.b32 %r281, %r280, 8388607; + or.b32 %r282, %r281, 1065353216; + mov.b32 %f708, %r282; + shr.u32 %r283, %r280, 23; + cvt.rn.f32.u32 %f709, %r283; + add.f32 %f710, %f706, %f709; + setp.gt.f32 %p105, %f708, 0f3FB504F3; + mul.f32 %f711, %f708, 0f3F000000; + add.f32 %f712, %f710, 0f3F800000; + selp.f32 %f713, %f711, %f708, %p105; + selp.f32 %f714, %f712, %f710, %p105; + add.f32 %f715, %f713, 0fBF800000; + add.f32 %f704, %f713, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f703,%f704; + // inline asm + add.f32 %f716, %f715, %f715; + mul.f32 %f717, %f703, %f716; + mul.f32 %f718, %f717, %f717; + fma.rn.f32 %f721, %f642, %f718, %f641; + fma.rn.f32 %f723, %f721, %f718, %f644; + mul.rn.f32 %f724, %f723, %f718; + mul.rn.f32 %f725, %f724, %f717; + sub.f32 %f726, %f715, %f717; + neg.f32 %f727, %f717; + add.f32 %f728, %f726, %f726; + fma.rn.f32 %f729, %f727, %f715, %f728; + mul.rn.f32 %f730, %f703, %f729; + add.f32 %f731, %f725, %f717; + sub.f32 %f732, %f717, %f731; + add.f32 %f733, %f725, %f732; + add.f32 %f734, %f730, %f733; + add.f32 %f735, %f731, %f734; + sub.f32 %f736, %f731, %f735; + add.f32 %f737, %f734, %f736; + mul.rn.f32 %f739, %f714, %f660; + mul.rn.f32 %f741, %f714, %f662; + add.f32 %f742, %f739, %f735; + sub.f32 %f743, %f739, %f742; + add.f32 %f744, %f735, %f743; + add.f32 %f745, %f737, %f744; + add.f32 %f746, %f741, %f745; + add.f32 %f747, %f742, %f746; + sub.f32 %f748, %f742, %f747; + add.f32 %f749, %f746, %f748; + mul.rn.f32 %f751, %f672, %f747; + neg.f32 %f752, %f751; + fma.rn.f32 %f753, %f672, %f747, %f752; + fma.rn.f32 %f754, %f672, %f749, %f753; + fma.rn.f32 %f756, %f677, %f747, %f754; + add.rn.f32 %f757, %f751, %f756; + neg.f32 %f758, %f757; + add.rn.f32 %f759, %f751, %f758; + add.rn.f32 %f760, %f759, %f756; + mov.b32 %r284, %f757; + setp.eq.s32 %p106, %r284, 1118925336; + add.s32 %r285, %r284, -1; + mov.b32 %f761, %r285; + add.f32 %f762, %f760, 0f37000000; + selp.f32 %f763, %f761, %f757, %p106; + selp.f32 %f197, %f762, %f760, %p106; + mul.f32 %f764, %f763, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f765, %f764; + fma.rn.f32 %f767, %f765, %f688, %f763; + fma.rn.f32 %f769, %f765, %f690, %f767; + mul.f32 %f770, %f769, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f771, %f770; + add.f32 %f772, %f765, 0f00000000; + ex2.approx.f32 %f773, %f772; + mul.f32 %f774, %f771, %f773; + setp.lt.f32 %p107, %f763, 0fC2D20000; + selp.f32 %f775, 0f00000000, %f774, %p107; + setp.gt.f32 %p108, %f763, 0f42D20000; + selp.f32 %f986, 0f7F800000, %f775, %p108; + setp.eq.f32 %p109, %f986, 0f7F800000; + @%p109 bra BB0_104; + + fma.rn.f32 %f986, %f986, %f197, %f986; + +BB0_104: + setp.lt.f32 %p110, %f180, 0f00000000; + and.pred %p5, %p110, %p95; + mov.b32 %r286, %f986; + xor.b32 %r287, %r286, -2147483648; + mov.b32 %f776, %r287; + selp.f32 %f988, %f776, %f986, %p5; + setp.eq.f32 %p112, %f180, 0f00000000; + @%p112 bra BB0_107; + bra.uni BB0_105; + +BB0_107: + add.f32 %f779, %f180, %f180; + selp.f32 %f988, %f779, 0f00000000, %p95; + bra.uni BB0_108; + +BB0_105: + setp.geu.f32 %p113, %f180, 0f00000000; + @%p113 bra BB0_108; + + cvt.rzi.f32.f32 %f778, %f672; + setp.neu.f32 %p114, %f778, 0f3EE66666; + selp.f32 %f988, 0f7FFFFFFF, %f988, %p114; + +BB0_108: + add.f32 %f780, %f196, 0f3EE66666; + mov.b32 %r288, %f780; + setp.lt.s32 %p116, %r288, 2139095040; + @%p116 bra BB0_113; + + setp.gtu.f32 %p117, %f196, 0f7F800000; + @%p117 bra BB0_112; + bra.uni BB0_110; + +BB0_112: + add.f32 %f988, %f180, 0f3EE66666; + bra.uni BB0_113; + +BB0_110: + setp.neu.f32 %p118, %f196, 0f7F800000; + @%p118 bra BB0_113; + + selp.f32 %f988, 0fFF800000, 0f7F800000, %p5; + +BB0_113: + setp.eq.f32 %p119, %f180, 0f3F800000; + selp.f32 %f208, 0f3F800000, %f988, %p119; + abs.f32 %f209, %f181; + setp.lt.f32 %p120, %f209, 0f00800000; + mul.f32 %f783, %f209, 0f4B800000; + selp.f32 %f784, 0fC3170000, 0fC2FE0000, %p120; + selp.f32 %f785, %f783, %f209, %p120; + mov.b32 %r289, %f785; + and.b32 %r290, %r289, 8388607; + or.b32 %r291, %r290, 1065353216; + mov.b32 %f786, %r291; + shr.u32 %r292, %r289, 23; + cvt.rn.f32.u32 %f787, %r292; + add.f32 %f788, %f784, %f787; + setp.gt.f32 %p121, %f786, 0f3FB504F3; + mul.f32 %f789, %f786, 0f3F000000; + add.f32 %f790, %f788, 0f3F800000; + selp.f32 %f791, %f789, %f786, %p121; + selp.f32 %f792, %f790, %f788, %p121; + add.f32 %f793, %f791, 0fBF800000; + add.f32 %f782, %f791, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f781,%f782; + // inline asm + add.f32 %f794, %f793, %f793; + mul.f32 %f795, %f781, %f794; + mul.f32 %f796, %f795, %f795; + fma.rn.f32 %f799, %f642, %f796, %f641; + fma.rn.f32 %f801, %f799, %f796, %f644; + mul.rn.f32 %f802, %f801, %f796; + mul.rn.f32 %f803, %f802, %f795; + sub.f32 %f804, %f793, %f795; + neg.f32 %f805, %f795; + add.f32 %f806, %f804, %f804; + fma.rn.f32 %f807, %f805, %f793, %f806; + mul.rn.f32 %f808, %f781, %f807; + add.f32 %f809, %f803, %f795; + sub.f32 %f810, %f795, %f809; + add.f32 %f811, %f803, %f810; + add.f32 %f812, %f808, %f811; + add.f32 %f813, %f809, %f812; + sub.f32 %f814, %f809, %f813; + add.f32 %f815, %f812, %f814; + mul.rn.f32 %f817, %f792, %f660; + mul.rn.f32 %f819, %f792, %f662; + add.f32 %f820, %f817, %f813; + sub.f32 %f821, %f817, %f820; + add.f32 %f822, %f813, %f821; + add.f32 %f823, %f815, %f822; + add.f32 %f824, %f819, %f823; + add.f32 %f825, %f820, %f824; + sub.f32 %f826, %f820, %f825; + add.f32 %f827, %f824, %f826; + mul.rn.f32 %f829, %f672, %f825; + neg.f32 %f830, %f829; + fma.rn.f32 %f831, %f672, %f825, %f830; + fma.rn.f32 %f832, %f672, %f827, %f831; + fma.rn.f32 %f834, %f677, %f825, %f832; + add.rn.f32 %f835, %f829, %f834; + neg.f32 %f836, %f835; + add.rn.f32 %f837, %f829, %f836; + add.rn.f32 %f838, %f837, %f834; + mov.b32 %r293, %f835; + setp.eq.s32 %p122, %r293, 1118925336; + add.s32 %r294, %r293, -1; + mov.b32 %f839, %r294; + add.f32 %f840, %f838, 0f37000000; + selp.f32 %f841, %f839, %f835, %p122; + selp.f32 %f210, %f840, %f838, %p122; + mul.f32 %f842, %f841, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f843, %f842; + fma.rn.f32 %f845, %f843, %f688, %f841; + fma.rn.f32 %f847, %f843, %f690, %f845; + mul.f32 %f848, %f847, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f849, %f848; + add.f32 %f850, %f843, 0f00000000; + ex2.approx.f32 %f851, %f850; + mul.f32 %f852, %f849, %f851; + setp.lt.f32 %p123, %f841, 0fC2D20000; + selp.f32 %f853, 0f00000000, %f852, %p123; + setp.gt.f32 %p124, %f841, 0f42D20000; + selp.f32 %f989, 0f7F800000, %f853, %p124; + setp.eq.f32 %p125, %f989, 0f7F800000; + @%p125 bra BB0_115; + + fma.rn.f32 %f989, %f989, %f210, %f989; + +BB0_115: + setp.lt.f32 %p126, %f181, 0f00000000; + and.pred %p6, %p126, %p95; + mov.b32 %r295, %f989; + xor.b32 %r296, %r295, -2147483648; + mov.b32 %f854, %r296; + selp.f32 %f991, %f854, %f989, %p6; + setp.eq.f32 %p128, %f181, 0f00000000; + @%p128 bra BB0_118; + bra.uni BB0_116; + +BB0_118: + add.f32 %f857, %f181, %f181; + selp.f32 %f991, %f857, 0f00000000, %p95; + bra.uni BB0_119; + +BB0_116: + setp.geu.f32 %p129, %f181, 0f00000000; + @%p129 bra BB0_119; + + cvt.rzi.f32.f32 %f856, %f672; + setp.neu.f32 %p130, %f856, 0f3EE66666; + selp.f32 %f991, 0f7FFFFFFF, %f991, %p130; + +BB0_119: + add.f32 %f858, %f209, 0f3EE66666; + mov.b32 %r297, %f858; + setp.lt.s32 %p132, %r297, 2139095040; + @%p132 bra BB0_124; + + setp.gtu.f32 %p133, %f209, 0f7F800000; + @%p133 bra BB0_123; + bra.uni BB0_121; + +BB0_123: + add.f32 %f991, %f181, 0f3EE66666; + bra.uni BB0_124; + +BB0_121: + setp.neu.f32 %p134, %f209, 0f7F800000; + @%p134 bra BB0_124; + + selp.f32 %f991, 0fFF800000, 0f7F800000, %p6; + +BB0_124: + mov.u32 %r336, 2; + setp.eq.f32 %p135, %f181, 0f3F800000; + selp.f32 %f859, 0f3F800000, %f991, %p135; + cvt.u64.u32 %rd90, %r4; + cvt.u64.u32 %rd89, %r3; + mov.u64 %rd93, image; + cvta.global.u64 %rd88, %rd93; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r336, %r102, %rd89, %rd90, %rd26, %rd26); + // inline asm + cvt.sat.f32.f32 %f860, %f859; + mul.f32 %f861, %f860, 0f437FFD71; + cvt.rzi.u32.f32 %r300, %f861; + cvt.sat.f32.f32 %f862, %f208; + mul.f32 %f863, %f862, 0f437FFD71; + cvt.rzi.u32.f32 %r301, %f863; + cvt.sat.f32.f32 %f864, %f195; + mul.f32 %f865, %f864, 0f437FFD71; + cvt.rzi.u32.f32 %r302, %f865; + cvt.u16.u32 %rs12, %r300; + cvt.u16.u32 %rs13, %r302; + cvt.u16.u32 %rs14, %r301; + mov.u16 %rs15, 255; + st.v4.u8 [%rd87], {%rs12, %rs14, %rs13, %rs15}; + ld.global.u32 %r372, [imageEnabled]; + +BB0_125: + and.b32 %r303, %r372, 4; + setp.eq.s32 %p136, %r303, 0; + @%p136 bra BB0_129; + + ld.global.u32 %r304, [additive]; + setp.eq.s32 %p137, %r304, 0; + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + // inline asm + { cvt.rn.f16.f32 %rs16, %f407;} + + // inline asm + @%p137 bra BB0_128; + + mov.u32 %r337, 2; + mov.u64 %rd106, image_HDR; + cvta.global.u64 %rd95, %rd106; + mov.u32 %r308, 8; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r337, %r308, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs23, %rs24, %rs25, %rs26}, [%rd94]; + // inline asm + { cvt.f32.f16 %f867, %rs23;} + + // inline asm + // inline asm + { cvt.f32.f16 %f868, %rs24;} + + // inline asm + // inline asm + { cvt.f32.f16 %f869, %rs25;} + + // inline asm + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd95, %r337, %r308, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f870, %f179, %f867; + add.f32 %f871, %f180, %f868; + add.f32 %f872, %f181, %f869; + // inline asm + { cvt.rn.f16.f32 %rs22, %f872;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f871;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs20, %f870;} + + // inline asm + st.v4.u16 [%rd100], {%rs20, %rs21, %rs22, %rs16}; + bra.uni BB0_129; + +BB0_128: + mov.u32 %r338, 2; + mov.u64 %rd113, image_HDR; + cvta.global.u64 %rd108, %rd113; + mov.u32 %r310, 8; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r338, %r310, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f181;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f180;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs27, %f179;} + + // inline asm + st.v4.u16 [%rd107], {%rs27, %rs28, %rs29, %rs16}; + +BB0_129: + ld.global.u8 %rs30, [imageEnabled]; + and.b16 %rs31, %rs30, 64; + setp.eq.s16 %p138, %rs31, 0; + @%p138 bra BB0_141; + + mov.u32 %r339, 2; + mul.f32 %f876, %f941, %f941; + fma.rn.f32 %f877, %f942, %f942, %f876; + fma.rn.f32 %f878, %f940, %f940, %f877; + sqrt.rn.f32 %f879, %f878; + rcp.rn.f32 %f880, %f879; + mul.f32 %f881, %f942, %f880; + mul.f32 %f882, %f941, %f880; + mul.f32 %f883, %f940, %f880; + cvt.u64.u32 %rd117, %r4; + cvt.u64.u32 %rd116, %r3; + mov.u64 %rd120, image_Dir; + cvta.global.u64 %rd115, %rd120; + // inline asm + call (%rd114), _rt_buffer_get_64, (%rd115, %r339, %r102, %rd116, %rd117, %rd26, %rd26); + // inline asm + fma.rn.f32 %f884, %f881, 0f3F000000, 0f3F000000; + mul.f32 %f885, %f884, 0f437F0000; + cvt.rzi.u32.f32 %r313, %f885; + fma.rn.f32 %f886, %f882, 0f3F000000, 0f3F000000; + mul.f32 %f887, %f886, 0f437F0000; + cvt.rzi.u32.f32 %r314, %f887; + fma.rn.f32 %f888, %f883, 0f3F000000, 0f3F000000; + mul.f32 %f889, %f888, 0f437F0000; + cvt.rzi.u32.f32 %r315, %f889; + cvt.u16.u32 %rs32, %r315; + cvt.u16.u32 %rs33, %r314; + cvt.u16.u32 %rs34, %r313; + mov.u16 %rs35, 255; + st.v4.u8 [%rd114], {%rs34, %rs33, %rs32, %rs35}; + +BB0_141: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx.meta new file mode 100644 index 00000000..640518fe --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightDir.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a18a77cec24adf4ea23e9e5a7850ef3 +timeCreated: 1537467071 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx new file mode 100644 index 00000000..120df982 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx @@ -0,0 +1,2489 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[44]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<148>; + .reg .b16 %rs<158>; + .reg .f32 %f<1253>; + .reg .b32 %r<412>; + .reg .b64 %rd<317>; + + + mov.u64 %rd316, __local_depot0; + cvta.local.u64 %SP, %rd316; + ld.global.u32 %r1, [samples]; + shl.b32 %r2, %r1, 1; + ld.global.v2.u32 {%r100, %r101}, [pixelID]; + cvt.u64.u32 %rd23, %r100; + cvt.u64.u32 %rd24, %r101; + mov.u64 %rd27, uvnormal; + cvta.global.u64 %rd22, %rd27; + mov.u32 %r98, 2; + mov.u32 %r99, 4; + mov.u64 %rd26, 0; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd22, %r98, %r99, %rd23, %rd24, %rd26, %rd26); + // inline asm + ld.u32 %r3, [%rd21]; + shr.u32 %r104, %r3, 16; + cvt.u16.u32 %rs1, %r104; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r3; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p7, %rs9, 0; + mov.f32 %f1114, 0f00000000; + mov.f32 %f1115, %f1114; + mov.f32 %f1116, %f1114; + @%p7 bra BB0_2; + + ld.u8 %rs10, [%rd21+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f334, %rs12; + div.rn.f32 %f335, %f334, 0f437F0000; + fma.rn.f32 %f336, %f335, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f337, %rs10; + div.rn.f32 %f338, %f337, 0f437F0000; + fma.rn.f32 %f339, %f338, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f340, %rs7; + div.rn.f32 %f341, %f340, 0f437F0000; + fma.rn.f32 %f342, %f341, 0f40000000, 0fBF800000; + mul.f32 %f343, %f339, %f339; + fma.rn.f32 %f344, %f336, %f336, %f343; + fma.rn.f32 %f345, %f342, %f342, %f344; + sqrt.rn.f32 %f346, %f345; + rcp.rn.f32 %f347, %f346; + mul.f32 %f1114, %f336, %f347; + mul.f32 %f1115, %f339, %f347; + mul.f32 %f1116, %f342, %f347; + +BB0_2: + ld.global.v2.u32 {%r105, %r106}, [pixelID]; + ld.global.v2.u32 {%r108, %r109}, [tileInfo]; + add.s32 %r4, %r105, %r108; + add.s32 %r5, %r106, %r109; + setp.eq.f32 %p8, %f1115, 0f00000000; + setp.eq.f32 %p9, %f1114, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f1116, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_139; + bra.uni BB0_3; + +BB0_139: + ld.global.u32 %r411, [imageEnabled]; + and.b32 %r336, %r411, 1; + setp.eq.b32 %p139, %r336, 1; + @!%p139 bra BB0_141; + bra.uni BB0_140; + +BB0_140: + cvt.u64.u32 %rd196, %r4; + cvt.u64.u32 %rd197, %r5; + mov.u64 %rd200, image; + cvta.global.u64 %rd195, %rd200; + mov.u64 %rd199, 0; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r98, %r99, %rd196, %rd197, %rd199, %rd199); + // inline asm + mov.u16 %rs90, 0; + st.v4.u8 [%rd194], {%rs90, %rs90, %rs90, %rs90}; + ld.global.u32 %r411, [imageEnabled]; + +BB0_141: + and.b32 %r339, %r411, 8; + setp.eq.s32 %p140, %r339, 0; + @%p140 bra BB0_143; + + cvt.u64.u32 %rd204, %r5; + cvt.u64.u32 %rd203, %r4; + mov.u64 %rd207, image_Mask; + cvta.global.u64 %rd202, %rd207; + mov.u64 %rd206, 0; + // inline asm + call (%rd201), _rt_buffer_get_64, (%rd202, %r98, %r98, %rd203, %rd204, %rd206, %rd206); + // inline asm + mov.f32 %f1071, 0f00000000; + cvt.rzi.u32.f32 %r342, %f1071; + cvt.u16.u32 %rs91, %r342; + mov.u16 %rs92, 0; + st.v2.u8 [%rd201], {%rs91, %rs92}; + ld.global.u32 %r411, [imageEnabled]; + +BB0_143: + cvt.u64.u32 %rd19, %r4; + cvt.u64.u32 %rd20, %r5; + and.b32 %r343, %r411, 4; + setp.eq.s32 %p141, %r343, 0; + @%p141 bra BB0_147; + + ld.global.u32 %r344, [additive]; + setp.eq.s32 %p142, %r344, 0; + @%p142 bra BB0_146; + + mov.u64 %rd220, image_HDR; + cvta.global.u64 %rd209, %rd220; + mov.u32 %r348, 8; + mov.u64 %rd219, 0; + // inline asm + call (%rd208), _rt_buffer_get_64, (%rd209, %r98, %r348, %rd19, %rd20, %rd219, %rd219); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd208]; + // inline asm + { cvt.f32.f16 %f1072, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1073, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1074, %rs101;} + + // inline asm + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd209, %r98, %r348, %rd19, %rd20, %rd219, %rd219); + // inline asm + add.f32 %f1075, %f1072, 0f00000000; + add.f32 %f1076, %f1073, 0f00000000; + add.f32 %f1077, %f1074, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f1077;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f1076;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f1075;} + + // inline asm + mov.u16 %rs103, 0; + st.v4.u16 [%rd214], {%rs96, %rs97, %rs98, %rs103}; + bra.uni BB0_147; + +BB0_3: + ld.global.v2.u32 {%r118, %r119}, [pixelID]; + cvt.u64.u32 %rd30, %r118; + cvt.u64.u32 %rd31, %r119; + mov.u64 %rd40, uvpos; + cvta.global.u64 %rd29, %rd40; + mov.u32 %r114, 12; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd29, %r98, %r114, %rd30, %rd31, %rd26, %rd26); + // inline asm + ld.f32 %f9, [%rd28+8]; + ld.f32 %f8, [%rd28+4]; + ld.f32 %f7, [%rd28]; + mul.f32 %f364, %f7, 0f3456BF95; + mul.f32 %f365, %f8, 0f3456BF95; + mul.f32 %f366, %f9, 0f3456BF95; + abs.f32 %f367, %f1114; + div.rn.f32 %f368, %f364, %f367; + abs.f32 %f369, %f1115; + div.rn.f32 %f370, %f365, %f369; + abs.f32 %f371, %f1116; + div.rn.f32 %f372, %f366, %f371; + abs.f32 %f373, %f368; + abs.f32 %f374, %f370; + abs.f32 %f375, %f372; + mov.f32 %f376, 0f38D1B717; + max.f32 %f377, %f373, %f376; + max.f32 %f378, %f374, %f376; + max.f32 %f379, %f375, %f376; + fma.rn.f32 %f10, %f1114, %f377, %f7; + fma.rn.f32 %f11, %f1115, %f378, %f8; + fma.rn.f32 %f12, %f1116, %f379, %f9; + ld.global.v2.u32 {%r122, %r123}, [pixelID]; + cvt.u64.u32 %rd36, %r122; + cvt.u64.u32 %rd37, %r123; + mov.u64 %rd41, rnd_seeds; + cvta.global.u64 %rd35, %rd41; + // inline asm + call (%rd34), _rt_buffer_get_64, (%rd35, %r98, %r99, %rd36, %rd37, %rd26, %rd26); + // inline asm + ld.u32 %r126, [%rd34]; + mad.lo.s32 %r6, %r126, 1664525, 1013904223; + ld.global.u32 %r127, [lightMeshBufferSize]; + setp.eq.s32 %p14, %r127, 0; + mov.pred %p13, 0; + mov.f32 %f18, 0f00000000; + mov.u32 %r383, 0; + @%p14 bra BB0_4; + + ld.global.f32 %f13, [lightPointSize]; + mul.f32 %f14, %f10, 0f3456BF95; + mul.f32 %f15, %f11, 0f3456BF95; + mul.f32 %f16, %f12, 0f3456BF95; + and.b32 %r129, %r6, 16777215; + cvt.rn.f32.u32 %f396, %r129; + mul.f32 %f397, %f396, 0fB3800000; + fma.rn.f32 %f17, %f397, 0f3F333333, 0f3F800000; + mov.f32 %f18, 0f00000000; + mov.u32 %r383, 0; + abs.f32 %f520, %f15; + abs.f32 %f521, %f14; + max.f32 %f522, %f521, %f520; + abs.f32 %f523, %f16; + max.f32 %f524, %f522, %f523; + mov.f32 %f19, %f18; + mov.f32 %f20, %f18; + mov.f32 %f21, %f18; + mov.f32 %f22, %f18; + mov.f32 %f23, %f18; + mov.f32 %f24, %f18; + mov.f32 %f25, %f18; + mov.f32 %f26, %f18; + mov.f32 %f27, %f18; + mov.f32 %f28, %f18; + mov.f32 %f29, %f18; + mov.f32 %f30, %f18; + mov.f32 %f31, %f18; + mov.f32 %f32, %f18; + mov.f32 %f33, %f18; + +BB0_6: + mul.lo.s32 %r132, %r383, 3; + cvt.s64.s32 %rd44, %r132; + mov.u64 %rd48, lightMeshBuffer; + cvta.global.u64 %rd43, %rd48; + mov.u32 %r130, 1; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd43, %r130, %r114, %rd44, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f398, [%rd42]; + sub.f32 %f399, %f398, %f7; + ld.f32 %f400, [%rd42+4]; + sub.f32 %f401, %f400, %f8; + ld.f32 %f402, [%rd42+8]; + sub.f32 %f403, %f402, %f9; + mul.f32 %f404, %f401, %f401; + fma.rn.f32 %f405, %f399, %f399, %f404; + fma.rn.f32 %f406, %f403, %f403, %f405; + sqrt.rn.f32 %f34, %f406; + rcp.rn.f32 %f407, %f34; + mul.f32 %f35, %f399, %f407; + mul.f32 %f36, %f401, %f407; + mul.f32 %f37, %f403, %f407; + mul.f32 %f408, %f34, %f34; + mul.f32 %f409, %f408, 0f40C90FDB; + div.rn.f32 %f410, %f13, %f409; + add.f32 %f38, %f410, %f410; + setp.gt.f32 %p16, %f38, %f17; + setp.ne.s32 %p17, %r1, 0; + and.pred %p18, %p17, %p16; + mov.pred %p147, -1; + @%p18 bra BB0_22; + + ld.global.f32 %f413, [lightInvCutoff]; + mul.f32 %f39, %f34, %f413; + mov.f32 %f417, 0f40800000; + abs.f32 %f41, %f39; + setp.lt.f32 %p19, %f41, 0f00800000; + mul.f32 %f419, %f41, 0f4B800000; + selp.f32 %f420, 0fC3170000, 0fC2FE0000, %p19; + selp.f32 %f421, %f419, %f41, %p19; + mov.b32 %r133, %f421; + and.b32 %r134, %r133, 8388607; + or.b32 %r135, %r134, 1065353216; + mov.b32 %f422, %r135; + shr.u32 %r136, %r133, 23; + cvt.rn.f32.u32 %f423, %r136; + add.f32 %f424, %f420, %f423; + setp.gt.f32 %p20, %f422, 0f3FB504F3; + mul.f32 %f425, %f422, 0f3F000000; + add.f32 %f426, %f424, 0f3F800000; + selp.f32 %f427, %f425, %f422, %p20; + selp.f32 %f428, %f426, %f424, %p20; + add.f32 %f429, %f427, 0fBF800000; + add.f32 %f412, %f427, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f411,%f412; + // inline asm + add.f32 %f430, %f429, %f429; + mul.f32 %f431, %f411, %f430; + mul.f32 %f432, %f431, %f431; + mov.f32 %f433, 0f3C4CAF63; + mov.f32 %f434, 0f3B18F0FE; + fma.rn.f32 %f435, %f434, %f432, %f433; + mov.f32 %f436, 0f3DAAAABD; + fma.rn.f32 %f437, %f435, %f432, %f436; + mul.rn.f32 %f438, %f437, %f432; + mul.rn.f32 %f439, %f438, %f431; + sub.f32 %f440, %f429, %f431; + neg.f32 %f441, %f431; + add.f32 %f442, %f440, %f440; + fma.rn.f32 %f443, %f441, %f429, %f442; + mul.rn.f32 %f444, %f411, %f443; + add.f32 %f445, %f439, %f431; + sub.f32 %f446, %f431, %f445; + add.f32 %f447, %f439, %f446; + add.f32 %f448, %f444, %f447; + add.f32 %f449, %f445, %f448; + sub.f32 %f450, %f445, %f449; + add.f32 %f451, %f448, %f450; + mov.f32 %f452, 0f3F317200; + mul.rn.f32 %f453, %f428, %f452; + mov.f32 %f454, 0f35BFBE8E; + mul.rn.f32 %f455, %f428, %f454; + add.f32 %f456, %f453, %f449; + sub.f32 %f457, %f453, %f456; + add.f32 %f458, %f449, %f457; + add.f32 %f459, %f451, %f458; + add.f32 %f460, %f455, %f459; + add.f32 %f461, %f456, %f460; + sub.f32 %f462, %f456, %f461; + add.f32 %f463, %f460, %f462; + mul.rn.f32 %f464, %f417, %f461; + neg.f32 %f465, %f464; + fma.rn.f32 %f466, %f417, %f461, %f465; + fma.rn.f32 %f467, %f417, %f463, %f466; + mov.f32 %f468, 0f00000000; + fma.rn.f32 %f469, %f468, %f461, %f467; + add.rn.f32 %f470, %f464, %f469; + neg.f32 %f471, %f470; + add.rn.f32 %f472, %f464, %f471; + add.rn.f32 %f473, %f472, %f469; + mov.b32 %r137, %f470; + setp.eq.s32 %p21, %r137, 1118925336; + add.s32 %r138, %r137, -1; + mov.b32 %f474, %r138; + add.f32 %f475, %f473, 0f37000000; + selp.f32 %f476, %f474, %f470, %p21; + selp.f32 %f42, %f475, %f473, %p21; + mul.f32 %f477, %f476, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f478, %f477; + mov.f32 %f479, 0fBF317200; + fma.rn.f32 %f480, %f478, %f479, %f476; + mov.f32 %f481, 0fB5BFBE8E; + fma.rn.f32 %f482, %f478, %f481, %f480; + mul.f32 %f483, %f482, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f484, %f483; + add.f32 %f485, %f478, 0f00000000; + ex2.approx.f32 %f486, %f485; + mul.f32 %f487, %f484, %f486; + setp.lt.f32 %p22, %f476, 0fC2D20000; + selp.f32 %f488, 0f00000000, %f487, %p22; + setp.gt.f32 %p23, %f476, 0f42D20000; + selp.f32 %f1133, 0f7F800000, %f488, %p23; + setp.eq.f32 %p24, %f1133, 0f7F800000; + @%p24 bra BB0_9; + + fma.rn.f32 %f1133, %f1133, %f42, %f1133; + +BB0_9: + mov.f32 %f1112, 0f40000000; + cvt.rzi.f32.f32 %f1111, %f1112; + add.f32 %f1110, %f1111, %f1111; + mov.f32 %f1109, 0f40800000; + sub.f32 %f1108, %f1109, %f1110; + abs.f32 %f1107, %f1108; + setp.lt.f32 %p25, %f39, 0f00000000; + setp.eq.f32 %p26, %f1107, 0f3F800000; + and.pred %p1, %p25, %p26; + mov.b32 %r139, %f1133; + xor.b32 %r140, %r139, -2147483648; + mov.b32 %f489, %r140; + selp.f32 %f1135, %f489, %f1133, %p1; + setp.eq.f32 %p27, %f39, 0f00000000; + @%p27 bra BB0_12; + bra.uni BB0_10; + +BB0_12: + add.f32 %f492, %f39, %f39; + selp.f32 %f1135, %f492, 0f00000000, %p26; + bra.uni BB0_13; + +BB0_10: + setp.geu.f32 %p28, %f39, 0f00000000; + @%p28 bra BB0_13; + + mov.f32 %f1113, 0f40800000; + cvt.rzi.f32.f32 %f491, %f1113; + setp.neu.f32 %p29, %f491, 0f40800000; + selp.f32 %f1135, 0f7FFFFFFF, %f1135, %p29; + +BB0_13: + add.f32 %f493, %f41, 0f40800000; + mov.b32 %r141, %f493; + setp.lt.s32 %p31, %r141, 2139095040; + @%p31 bra BB0_18; + + setp.gtu.f32 %p32, %f41, 0f7F800000; + @%p32 bra BB0_17; + bra.uni BB0_15; + +BB0_17: + add.f32 %f1135, %f39, 0f40800000; + bra.uni BB0_18; + +BB0_15: + setp.neu.f32 %p33, %f41, 0f7F800000; + @%p33 bra BB0_18; + + selp.f32 %f1135, 0fFF800000, 0f7F800000, %p1; + +BB0_18: + mov.u32 %r379, 1; + mov.u64 %rd309, lightMeshBuffer; + cvta.global.u64 %rd308, %rd309; + mov.f32 %f494, 0f3F800000; + sub.f32 %f495, %f494, %f1135; + setp.eq.f32 %p34, %f39, 0f3F800000; + selp.f32 %f496, 0f00000000, %f495, %p34; + cvt.sat.f32.f32 %f497, %f496; + mul.f32 %f498, %f38, %f497; + mad.lo.s32 %r144, %r383, 3, 1; + cvt.s64.s32 %rd51, %r144; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd308, %r379, %r114, %rd51, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f499, [%rd49]; + mul.f32 %f500, %f35, %f499; + ld.f32 %f501, [%rd49+4]; + mul.f32 %f502, %f36, %f501; + neg.f32 %f503, %f502; + sub.f32 %f504, %f503, %f500; + ld.f32 %f505, [%rd49+8]; + mul.f32 %f506, %f37, %f505; + sub.f32 %f507, %f504, %f506; + cvt.sat.f32.f32 %f508, %f507; + mul.f32 %f53, %f498, %f508; + mul.f32 %f509, %f1115, %f36; + fma.rn.f32 %f510, %f1114, %f35, %f509; + fma.rn.f32 %f54, %f1116, %f37, %f510; + setp.leu.f32 %p35, %f53, 0f3727C5AC; + @%p35 bra BB0_20; + + mov.u32 %r381, 1; + mov.u64 %rd311, lightMeshBuffer; + cvta.global.u64 %rd310, %rd311; + cvt.sat.f32.f32 %f519, %f54; + add.u64 %rd56, %SP, 12; + cvta.to.local.u64 %rd63, %rd56; + max.f32 %f517, %f524, %f376; + sub.f32 %f518, %f34, %f517; + mov.u32 %r150, 1065353216; + st.local.u32 [%rd63], %r150; + ld.global.u32 %r145, [root]; + // inline asm + call _rt_trace_64, (%r145, %f10, %f11, %f12, %f35, %f36, %f37, %r381, %f517, %f518, %rd56, %r99); + // inline asm + mad.lo.s32 %r151, %r383, 3, 2; + cvt.s64.s32 %rd59, %r151; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd310, %r381, %r114, %rd59, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f526, [%rd57]; + ld.local.f32 %f527, [%rd63]; + mul.f32 %f528, %f527, %f526; + ld.f32 %f529, [%rd57+4]; + mul.f32 %f530, %f527, %f529; + ld.f32 %f531, [%rd57+8]; + mul.f32 %f532, %f527, %f531; + mul.f32 %f533, %f53, %f528; + mul.f32 %f534, %f53, %f530; + mul.f32 %f535, %f53, %f532; + fma.rn.f32 %f21, %f519, %f533, %f21; + fma.rn.f32 %f20, %f519, %f534, %f20; + fma.rn.f32 %f19, %f519, %f535, %f19; + fma.rn.f32 %f27, %f35, %f533, %f27; + fma.rn.f32 %f26, %f35, %f534, %f26; + fma.rn.f32 %f25, %f35, %f535, %f25; + fma.rn.f32 %f30, %f36, %f533, %f30; + fma.rn.f32 %f29, %f36, %f534, %f29; + fma.rn.f32 %f28, %f36, %f535, %f28; + fma.rn.f32 %f33, %f37, %f533, %f33; + fma.rn.f32 %f32, %f37, %f534, %f32; + fma.rn.f32 %f31, %f37, %f535, %f31; + add.f32 %f24, %f24, %f533; + add.f32 %f23, %f23, %f534; + add.f32 %f22, %f22, %f535; + add.f32 %f18, %f18, %f527; + +BB0_20: + ld.global.u32 %r152, [lightMeshBufferSize]; + add.s32 %r383, %r383, 1; + setp.lt.u32 %p37, %r383, %r152; + @%p37 bra BB0_6; + bra.uni BB0_21; + +BB0_4: + mov.f32 %f19, %f18; + mov.f32 %f20, %f18; + mov.f32 %f21, %f18; + mov.f32 %f22, %f18; + mov.f32 %f23, %f18; + mov.f32 %f24, %f18; + mov.f32 %f25, %f18; + mov.f32 %f26, %f18; + mov.f32 %f27, %f18; + mov.f32 %f28, %f18; + mov.f32 %f29, %f18; + mov.f32 %f30, %f18; + mov.f32 %f31, %f18; + mov.f32 %f32, %f18; + mov.f32 %f33, %f18; + +BB0_21: + mov.pred %p147, %p13; + +BB0_22: + cvt.rn.f32.s32 %f536, %r383; + mov.f32 %f537, 0f3F800000; + max.f32 %f538, %f536, %f537; + rcp.rn.f32 %f539, %f538; + mul.f32 %f1237, %f21, %f539; + mul.f32 %f1238, %f20, %f539; + mul.f32 %f1239, %f19, %f539; + div.rn.f32 %f1240, %f18, %f538; + mul.f32 %f1234, %f24, %f539; + mul.f32 %f1235, %f23, %f539; + mul.f32 %f1236, %f22, %f539; + mul.f32 %f1231, %f27, %f539; + mul.f32 %f1232, %f26, %f539; + mul.f32 %f1233, %f25, %f539; + mul.f32 %f1228, %f30, %f539; + mul.f32 %f1229, %f29, %f539; + mul.f32 %f1230, %f28, %f539; + mul.f32 %f1225, %f33, %f539; + mul.f32 %f1226, %f32, %f539; + mul.f32 %f1227, %f31, %f539; + @!%p147 bra BB0_75; + bra.uni BB0_23; + +BB0_23: + mov.f32 %f554, 0f00000000; + setp.lt.s32 %p38, %r1, 1; + mov.f32 %f1183, %f554; + mov.f32 %f1184, %f554; + mov.f32 %f1185, %f554; + mov.f32 %f1186, %f554; + mov.f32 %f1187, %f554; + mov.f32 %f1188, %f554; + mov.f32 %f1189, %f554; + mov.f32 %f1190, %f554; + mov.f32 %f1191, %f554; + mov.f32 %f1192, %f554; + mov.f32 %f1193, %f554; + mov.f32 %f1194, %f554; + mov.f32 %f1195, %f554; + mov.f32 %f1196, %f554; + mov.f32 %f1197, %f554; + @%p38 bra BB0_74; + + mad.lo.s32 %r387, %r126, 1664525, 1013904223; + cvt.rn.f32.s32 %f570, %r2; + rcp.rn.f32 %f119, %f570; + add.u64 %rd65, %SP, 16; + cvta.to.local.u64 %rd2, %rd65; + mul.f32 %f120, %f10, 0f3456BF95; + mul.f32 %f121, %f11, 0f3456BF95; + mul.f32 %f122, %f12, 0f3456BF95; + add.u64 %rd66, %SP, 0; + cvta.to.local.u64 %rd3, %rd66; + mov.f32 %f1183, 0f00000000; + mov.u32 %r153, 0; + abs.f32 %f571, %f121; + abs.f32 %f572, %f120; + max.f32 %f573, %f572, %f571; + abs.f32 %f574, %f122; + max.f32 %f575, %f573, %f574; + mov.u32 %r384, %r153; + mov.f32 %f1184, %f1183; + mov.f32 %f1185, %f1183; + mov.f32 %f1186, %f1183; + mov.f32 %f1187, %f1183; + mov.f32 %f1188, %f1183; + mov.f32 %f1189, %f1183; + mov.f32 %f1190, %f1183; + mov.f32 %f1191, %f1183; + mov.f32 %f1192, %f1183; + mov.f32 %f1193, %f1183; + mov.f32 %f1194, %f1183; + mov.f32 %f1195, %f1183; + mov.f32 %f1196, %f1183; + mov.f32 %f1197, %f1183; + +BB0_25: + cvt.rn.f32.s32 %f138, %r384; + max.f32 %f139, %f575, %f376; + mov.u32 %r386, %r153; + +BB0_26: + mad.lo.s32 %r155, %r387, 1664525, 1013904223; + and.b32 %r156, %r155, 16777215; + cvt.rn.f32.u32 %f577, %r156; + fma.rn.f32 %f578, %f577, 0f33800000, %f138; + mul.f32 %f579, %f119, %f578; + mad.lo.s32 %r387, %r155, 1664525, 1013904223; + and.b32 %r157, %r387, 16777215; + cvt.rn.f32.u32 %f580, %r157; + cvt.rn.f32.s32 %f581, %r386; + fma.rn.f32 %f582, %f580, 0f33800000, %f581; + mul.f32 %f583, %f119, %f582; + fma.rn.f32 %f155, %f579, 0fC0000000, 0f3F800000; + mul.f32 %f584, %f155, %f155; + sub.f32 %f586, %f537, %f584; + mov.f32 %f587, 0f00000000; + max.f32 %f588, %f587, %f586; + sqrt.rn.f32 %f156, %f588; + mul.f32 %f1204, %f583, 0f40C90FDB; + abs.f32 %f158, %f1204; + setp.neu.f32 %p39, %f158, 0f7F800000; + mov.f32 %f1198, %f1204; + @%p39 bra BB0_28; + + mul.rn.f32 %f1198, %f1204, %f587; + +BB0_28: + mul.f32 %f590, %f1198, 0f3F22F983; + cvt.rni.s32.f32 %r397, %f590; + cvt.rn.f32.s32 %f591, %r397; + neg.f32 %f592, %f591; + mov.f32 %f593, 0f3FC90FDA; + fma.rn.f32 %f594, %f592, %f593, %f1198; + mov.f32 %f595, 0f33A22168; + fma.rn.f32 %f596, %f592, %f595, %f594; + mov.f32 %f597, 0f27C234C5; + fma.rn.f32 %f1199, %f592, %f597, %f596; + abs.f32 %f598, %f1198; + setp.leu.f32 %p40, %f598, 0f47CE4780; + @%p40 bra BB0_39; + + mov.b32 %r16, %f1198; + shr.u32 %r17, %r16, 23; + shl.b32 %r160, %r16, 8; + or.b32 %r18, %r160, -2147483648; + mov.u32 %r388, 0; + mov.u64 %rd313, 0; + mov.u64 %rd312, %rd2; + mov.u32 %r389, %r388; + +BB0_30: + .pragma "nounroll"; + shl.b64 %rd68, %rd313, 2; + mov.u64 %rd69, __cudart_i2opi_f; + add.s64 %rd70, %rd69, %rd68; + ld.const.u32 %r163, [%rd70]; + // inline asm + { + mad.lo.cc.u32 %r161, %r163, %r18, %r389; + madc.hi.u32 %r389, %r163, %r18, 0; + } + // inline asm + st.local.u32 [%rd312], %r161; + add.s32 %r388, %r388, 1; + cvt.s64.s32 %rd313, %r388; + mul.wide.s32 %rd71, %r388, 4; + add.s64 %rd312, %rd2, %rd71; + setp.ne.s32 %p41, %r388, 6; + @%p41 bra BB0_30; + + and.b32 %r166, %r17, 255; + add.s32 %r167, %r166, -128; + shr.u32 %r168, %r167, 5; + and.b32 %r23, %r16, -2147483648; + st.local.u32 [%rd2+24], %r389; + mov.u32 %r169, 6; + sub.s32 %r170, %r169, %r168; + mul.wide.s32 %rd72, %r170, 4; + add.s64 %rd9, %rd2, %rd72; + ld.local.u32 %r390, [%rd9]; + ld.local.u32 %r391, [%rd9+-4]; + and.b32 %r26, %r17, 31; + setp.eq.s32 %p42, %r26, 0; + @%p42 bra BB0_33; + + mov.u32 %r171, 32; + sub.s32 %r172, %r171, %r26; + shr.u32 %r173, %r391, %r172; + shl.b32 %r174, %r390, %r26; + add.s32 %r390, %r173, %r174; + ld.local.u32 %r175, [%rd9+-8]; + shr.u32 %r176, %r175, %r172; + shl.b32 %r177, %r391, %r26; + add.s32 %r391, %r176, %r177; + +BB0_33: + shr.u32 %r178, %r391, 30; + shl.b32 %r179, %r390, 2; + add.s32 %r392, %r178, %r179; + shl.b32 %r32, %r391, 2; + shr.u32 %r180, %r392, 31; + shr.u32 %r181, %r390, 30; + add.s32 %r33, %r180, %r181; + setp.eq.s32 %p43, %r180, 0; + @%p43 bra BB0_34; + bra.uni BB0_35; + +BB0_34: + mov.u32 %r393, %r23; + mov.u32 %r394, %r32; + bra.uni BB0_36; + +BB0_35: + not.b32 %r182, %r392; + neg.s32 %r394, %r32; + setp.eq.s32 %p44, %r32, 0; + selp.u32 %r183, 1, 0, %p44; + add.s32 %r392, %r183, %r182; + xor.b32 %r393, %r23, -2147483648; + +BB0_36: + clz.b32 %r396, %r392; + setp.eq.s32 %p45, %r396, 0; + shl.b32 %r184, %r392, %r396; + mov.u32 %r185, 32; + sub.s32 %r186, %r185, %r396; + shr.u32 %r187, %r394, %r186; + add.s32 %r188, %r187, %r184; + selp.b32 %r41, %r392, %r188, %p45; + mov.u32 %r189, -921707870; + mul.hi.u32 %r395, %r41, %r189; + setp.eq.s32 %p46, %r23, 0; + neg.s32 %r190, %r33; + selp.b32 %r397, %r33, %r190, %p46; + setp.lt.s32 %p47, %r395, 1; + @%p47 bra BB0_38; + + mul.lo.s32 %r191, %r41, -921707870; + shr.u32 %r192, %r191, 31; + shl.b32 %r193, %r395, 1; + add.s32 %r395, %r192, %r193; + add.s32 %r396, %r396, 1; + +BB0_38: + mov.u32 %r194, 126; + sub.s32 %r195, %r194, %r396; + shl.b32 %r196, %r195, 23; + add.s32 %r197, %r395, 1; + shr.u32 %r198, %r197, 7; + add.s32 %r199, %r198, 1; + shr.u32 %r200, %r199, 1; + add.s32 %r201, %r200, %r196; + or.b32 %r202, %r201, %r393; + mov.b32 %f1199, %r202; + +BB0_39: + mul.rn.f32 %f164, %f1199, %f1199; + add.s32 %r49, %r397, 1; + and.b32 %r50, %r49, 1; + setp.eq.s32 %p48, %r50, 0; + @%p48 bra BB0_41; + bra.uni BB0_40; + +BB0_41: + mov.f32 %f601, 0f3C08839E; + mov.f32 %f602, 0fB94CA1F9; + fma.rn.f32 %f1200, %f602, %f164, %f601; + bra.uni BB0_42; + +BB0_40: + mov.f32 %f599, 0fBAB6061A; + mov.f32 %f600, 0f37CCF5CE; + fma.rn.f32 %f1200, %f600, %f164, %f599; + +BB0_42: + @%p48 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f606, 0fBE2AAAA3; + fma.rn.f32 %f607, %f1200, %f164, %f606; + fma.rn.f32 %f1201, %f607, %f164, %f587; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f603, 0f3D2AAAA5; + fma.rn.f32 %f604, %f1200, %f164, %f603; + mov.f32 %f605, 0fBF000000; + fma.rn.f32 %f1201, %f604, %f164, %f605; + +BB0_45: + fma.rn.f32 %f1202, %f1201, %f1199, %f1199; + @%p48 bra BB0_47; + + fma.rn.f32 %f1202, %f1201, %f164, %f537; + +BB0_47: + and.b32 %r203, %r49, 2; + setp.eq.s32 %p51, %r203, 0; + @%p51 bra BB0_49; + + mov.f32 %f611, 0fBF800000; + fma.rn.f32 %f1202, %f1202, %f611, %f587; + +BB0_49: + @%p39 bra BB0_51; + + mul.rn.f32 %f1204, %f1204, %f587; + +BB0_51: + mul.f32 %f613, %f1204, 0f3F22F983; + cvt.rni.s32.f32 %r407, %f613; + cvt.rn.f32.s32 %f614, %r407; + neg.f32 %f615, %f614; + fma.rn.f32 %f617, %f615, %f593, %f1204; + fma.rn.f32 %f619, %f615, %f595, %f617; + fma.rn.f32 %f1205, %f615, %f597, %f619; + abs.f32 %f621, %f1204; + setp.leu.f32 %p53, %f621, 0f47CE4780; + @%p53 bra BB0_62; + + mov.b32 %r52, %f1204; + shr.u32 %r53, %r52, 23; + shl.b32 %r206, %r52, 8; + or.b32 %r54, %r206, -2147483648; + mov.u32 %r398, 0; + mov.u64 %rd314, %rd2; + mov.u64 %rd315, %rd26; + mov.u32 %r399, %r398; + +BB0_53: + .pragma "nounroll"; + shl.b64 %rd74, %rd315, 2; + mov.u64 %rd75, __cudart_i2opi_f; + add.s64 %rd76, %rd75, %rd74; + ld.const.u32 %r209, [%rd76]; + // inline asm + { + mad.lo.cc.u32 %r207, %r209, %r54, %r399; + madc.hi.u32 %r399, %r209, %r54, 0; + } + // inline asm + st.local.u32 [%rd314], %r207; + add.s32 %r398, %r398, 1; + cvt.s64.s32 %rd315, %r398; + mul.wide.s32 %rd77, %r398, 4; + add.s64 %rd314, %rd2, %rd77; + setp.ne.s32 %p54, %r398, 6; + @%p54 bra BB0_53; + + and.b32 %r212, %r53, 255; + add.s32 %r213, %r212, -128; + shr.u32 %r214, %r213, 5; + and.b32 %r59, %r52, -2147483648; + st.local.u32 [%rd2+24], %r399; + mov.u32 %r215, 6; + sub.s32 %r216, %r215, %r214; + mul.wide.s32 %rd78, %r216, 4; + add.s64 %rd15, %rd2, %rd78; + ld.local.u32 %r400, [%rd15]; + ld.local.u32 %r401, [%rd15+-4]; + and.b32 %r62, %r53, 31; + setp.eq.s32 %p55, %r62, 0; + @%p55 bra BB0_56; + + mov.u32 %r217, 32; + sub.s32 %r218, %r217, %r62; + shr.u32 %r219, %r401, %r218; + shl.b32 %r220, %r400, %r62; + add.s32 %r400, %r219, %r220; + ld.local.u32 %r221, [%rd15+-8]; + shr.u32 %r222, %r221, %r218; + shl.b32 %r223, %r401, %r62; + add.s32 %r401, %r222, %r223; + +BB0_56: + shr.u32 %r224, %r401, 30; + shl.b32 %r225, %r400, 2; + add.s32 %r402, %r224, %r225; + shl.b32 %r68, %r401, 2; + shr.u32 %r226, %r402, 31; + shr.u32 %r227, %r400, 30; + add.s32 %r69, %r226, %r227; + setp.eq.s32 %p56, %r226, 0; + @%p56 bra BB0_57; + bra.uni BB0_58; + +BB0_57: + mov.u32 %r403, %r59; + mov.u32 %r404, %r68; + bra.uni BB0_59; + +BB0_58: + not.b32 %r228, %r402; + neg.s32 %r404, %r68; + setp.eq.s32 %p57, %r68, 0; + selp.u32 %r229, 1, 0, %p57; + add.s32 %r402, %r229, %r228; + xor.b32 %r403, %r59, -2147483648; + +BB0_59: + clz.b32 %r406, %r402; + setp.eq.s32 %p58, %r406, 0; + shl.b32 %r230, %r402, %r406; + mov.u32 %r231, 32; + sub.s32 %r232, %r231, %r406; + shr.u32 %r233, %r404, %r232; + add.s32 %r234, %r233, %r230; + selp.b32 %r77, %r402, %r234, %p58; + mov.u32 %r235, -921707870; + mul.hi.u32 %r405, %r77, %r235; + setp.eq.s32 %p59, %r59, 0; + neg.s32 %r236, %r69; + selp.b32 %r407, %r69, %r236, %p59; + setp.lt.s32 %p60, %r405, 1; + @%p60 bra BB0_61; + + mul.lo.s32 %r237, %r77, -921707870; + shr.u32 %r238, %r237, 31; + shl.b32 %r239, %r405, 1; + add.s32 %r405, %r238, %r239; + add.s32 %r406, %r406, 1; + +BB0_61: + mov.u32 %r240, 126; + sub.s32 %r241, %r240, %r406; + shl.b32 %r242, %r241, 23; + add.s32 %r243, %r405, 1; + shr.u32 %r244, %r243, 7; + add.s32 %r245, %r244, 1; + shr.u32 %r246, %r245, 1; + add.s32 %r247, %r246, %r242; + or.b32 %r248, %r247, %r403; + mov.b32 %f1205, %r248; + +BB0_62: + mul.rn.f32 %f181, %f1205, %f1205; + and.b32 %r85, %r407, 1; + setp.eq.s32 %p61, %r85, 0; + @%p61 bra BB0_64; + bra.uni BB0_63; + +BB0_64: + mov.f32 %f624, 0f3C08839E; + mov.f32 %f625, 0fB94CA1F9; + fma.rn.f32 %f1206, %f625, %f181, %f624; + bra.uni BB0_65; + +BB0_63: + mov.f32 %f622, 0fBAB6061A; + mov.f32 %f623, 0f37CCF5CE; + fma.rn.f32 %f1206, %f623, %f181, %f622; + +BB0_65: + @%p61 bra BB0_67; + bra.uni BB0_66; + +BB0_67: + mov.f32 %f629, 0fBE2AAAA3; + fma.rn.f32 %f630, %f1206, %f181, %f629; + fma.rn.f32 %f1207, %f630, %f181, %f587; + bra.uni BB0_68; + +BB0_66: + mov.f32 %f626, 0f3D2AAAA5; + fma.rn.f32 %f627, %f1206, %f181, %f626; + mov.f32 %f628, 0fBF000000; + fma.rn.f32 %f1207, %f627, %f181, %f628; + +BB0_68: + fma.rn.f32 %f1208, %f1207, %f1205, %f1205; + @%p61 bra BB0_70; + + fma.rn.f32 %f1208, %f1207, %f181, %f537; + +BB0_70: + and.b32 %r249, %r407, 2; + setp.eq.s32 %p64, %r249, 0; + @%p64 bra BB0_72; + + mov.f32 %f634, 0fBF800000; + fma.rn.f32 %f1208, %f1208, %f634, %f587; + +BB0_72: + mul.f32 %f638, %f156, %f1202; + mov.u32 %r251, 0; + st.local.u32 [%rd3+8], %r251; + st.local.u32 [%rd3+4], %r251; + st.local.u32 [%rd3], %r251; + ld.global.u32 %r250, [root]; + mul.f32 %f639, %f156, %f1208; + mov.f32 %f642, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r250, %f10, %f11, %f12, %f638, %f639, %f155, %r251, %f139, %f642, %rd66, %r114); + // inline asm + ld.local.f32 %f643, [%rd3]; + max.f32 %f645, %f643, %f587; + ld.local.f32 %f646, [%rd3+4]; + max.f32 %f647, %f646, %f587; + ld.local.f32 %f648, [%rd3+8]; + max.f32 %f649, %f648, %f587; + fma.rn.f32 %f1191, %f638, %f645, %f1191; + fma.rn.f32 %f1190, %f638, %f647, %f1190; + fma.rn.f32 %f1189, %f638, %f649, %f1189; + fma.rn.f32 %f1194, %f639, %f645, %f1194; + fma.rn.f32 %f1193, %f639, %f647, %f1193; + fma.rn.f32 %f1192, %f639, %f649, %f1192; + fma.rn.f32 %f1197, %f155, %f645, %f1197; + fma.rn.f32 %f1196, %f155, %f647, %f1196; + fma.rn.f32 %f1195, %f155, %f649, %f1195; + add.f32 %f1188, %f1188, %f645; + add.f32 %f1187, %f1187, %f647; + add.f32 %f1186, %f1186, %f649; + mul.f32 %f650, %f1115, %f639; + fma.rn.f32 %f651, %f1114, %f638, %f650; + fma.rn.f32 %f652, %f1116, %f155, %f651; + cvt.sat.f32.f32 %f653, %f652; + fma.rn.f32 %f1185, %f645, %f653, %f1185; + fma.rn.f32 %f1184, %f647, %f653, %f1184; + fma.rn.f32 %f1183, %f649, %f653, %f1183; + add.s32 %r386, %r386, 1; + setp.lt.s32 %p65, %r386, %r2; + @%p65 bra BB0_26; + + add.s32 %r384, %r384, 1; + setp.lt.s32 %p66, %r384, %r2; + @%p66 bra BB0_25; + +BB0_74: + mul.lo.s32 %r253, %r2, %r2; + cvt.rn.f32.s32 %f654, %r253; + rcp.rn.f32 %f655, %f654; + mul.f32 %f656, %f1185, %f655; + mul.f32 %f657, %f1184, %f655; + mul.f32 %f658, %f1183, %f655; + div.rn.f32 %f1240, %f554, %f654; + mul.f32 %f1234, %f1188, %f655; + mul.f32 %f1235, %f1187, %f655; + mul.f32 %f1236, %f1186, %f655; + mul.f32 %f1231, %f1191, %f655; + mul.f32 %f1232, %f1190, %f655; + mul.f32 %f1233, %f1189, %f655; + mul.f32 %f1228, %f1194, %f655; + mul.f32 %f1229, %f1193, %f655; + mul.f32 %f1230, %f1192, %f655; + mul.f32 %f1225, %f1197, %f655; + mul.f32 %f1226, %f1196, %f655; + mul.f32 %f1227, %f1195, %f655; + fma.rn.f32 %f1237, %f1185, %f655, %f656; + fma.rn.f32 %f1238, %f1184, %f655, %f657; + fma.rn.f32 %f1239, %f1183, %f655, %f658; + +BB0_75: + ld.global.u32 %r409, [imageEnabled]; + and.b32 %r254, %r409, 8; + setp.eq.s32 %p67, %r254, 0; + @%p67 bra BB0_88; + + cvt.u64.u32 %rd82, %r4; + cvt.u64.u32 %rd83, %r5; + mov.u64 %rd86, image_Mask; + cvta.global.u64 %rd81, %rd86; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r98, %r98, %rd82, %rd83, %rd26, %rd26); + // inline asm + mov.f32 %f662, 0f3E68BA2E; + cvt.rzi.f32.f32 %f663, %f662; + fma.rn.f32 %f664, %f663, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f255, %f664; + abs.f32 %f256, %f1240; + setp.lt.f32 %p68, %f256, 0f00800000; + mul.f32 %f665, %f256, 0f4B800000; + selp.f32 %f666, 0fC3170000, 0fC2FE0000, %p68; + selp.f32 %f667, %f665, %f256, %p68; + mov.b32 %r257, %f667; + and.b32 %r258, %r257, 8388607; + or.b32 %r259, %r258, 1065353216; + mov.b32 %f668, %r259; + shr.u32 %r260, %r257, 23; + cvt.rn.f32.u32 %f669, %r260; + add.f32 %f670, %f666, %f669; + setp.gt.f32 %p69, %f668, 0f3FB504F3; + mul.f32 %f671, %f668, 0f3F000000; + add.f32 %f672, %f670, 0f3F800000; + selp.f32 %f673, %f671, %f668, %p69; + selp.f32 %f674, %f672, %f670, %p69; + add.f32 %f675, %f673, 0fBF800000; + add.f32 %f661, %f673, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f660,%f661; + // inline asm + add.f32 %f676, %f675, %f675; + mul.f32 %f677, %f660, %f676; + mul.f32 %f678, %f677, %f677; + mov.f32 %f679, 0f3C4CAF63; + mov.f32 %f680, 0f3B18F0FE; + fma.rn.f32 %f681, %f680, %f678, %f679; + mov.f32 %f682, 0f3DAAAABD; + fma.rn.f32 %f683, %f681, %f678, %f682; + mul.rn.f32 %f684, %f683, %f678; + mul.rn.f32 %f685, %f684, %f677; + sub.f32 %f686, %f675, %f677; + neg.f32 %f687, %f677; + add.f32 %f688, %f686, %f686; + fma.rn.f32 %f689, %f687, %f675, %f688; + mul.rn.f32 %f690, %f660, %f689; + add.f32 %f691, %f685, %f677; + sub.f32 %f692, %f677, %f691; + add.f32 %f693, %f685, %f692; + add.f32 %f694, %f690, %f693; + add.f32 %f695, %f691, %f694; + sub.f32 %f696, %f691, %f695; + add.f32 %f697, %f694, %f696; + mov.f32 %f698, 0f3F317200; + mul.rn.f32 %f699, %f674, %f698; + mov.f32 %f700, 0f35BFBE8E; + mul.rn.f32 %f701, %f674, %f700; + add.f32 %f702, %f699, %f695; + sub.f32 %f703, %f699, %f702; + add.f32 %f704, %f695, %f703; + add.f32 %f705, %f697, %f704; + add.f32 %f706, %f701, %f705; + add.f32 %f707, %f702, %f706; + sub.f32 %f708, %f702, %f707; + add.f32 %f709, %f706, %f708; + mov.f32 %f710, 0f3EE8BA2E; + mul.rn.f32 %f711, %f710, %f707; + neg.f32 %f712, %f711; + fma.rn.f32 %f713, %f710, %f707, %f712; + fma.rn.f32 %f714, %f710, %f709, %f713; + mov.f32 %f715, 0f00000000; + fma.rn.f32 %f716, %f715, %f707, %f714; + add.rn.f32 %f717, %f711, %f716; + neg.f32 %f718, %f717; + add.rn.f32 %f719, %f711, %f718; + add.rn.f32 %f720, %f719, %f716; + mov.b32 %r261, %f717; + setp.eq.s32 %p70, %r261, 1118925336; + add.s32 %r262, %r261, -1; + mov.b32 %f721, %r262; + add.f32 %f722, %f720, 0f37000000; + selp.f32 %f723, %f721, %f717, %p70; + selp.f32 %f257, %f722, %f720, %p70; + mul.f32 %f724, %f723, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f725, %f724; + mov.f32 %f726, 0fBF317200; + fma.rn.f32 %f727, %f725, %f726, %f723; + mov.f32 %f728, 0fB5BFBE8E; + fma.rn.f32 %f729, %f725, %f728, %f727; + mul.f32 %f730, %f729, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f731, %f730; + add.f32 %f732, %f725, 0f00000000; + ex2.approx.f32 %f733, %f732; + mul.f32 %f734, %f731, %f733; + setp.lt.f32 %p71, %f723, 0fC2D20000; + selp.f32 %f735, 0f00000000, %f734, %p71; + setp.gt.f32 %p72, %f723, 0f42D20000; + selp.f32 %f1241, 0f7F800000, %f735, %p72; + setp.eq.f32 %p73, %f1241, 0f7F800000; + @%p73 bra BB0_78; + + fma.rn.f32 %f1241, %f1241, %f257, %f1241; + +BB0_78: + setp.lt.f32 %p74, %f1240, 0f00000000; + setp.eq.f32 %p75, %f255, 0f3F800000; + and.pred %p3, %p74, %p75; + mov.b32 %r263, %f1241; + xor.b32 %r264, %r263, -2147483648; + mov.b32 %f736, %r264; + selp.f32 %f1243, %f736, %f1241, %p3; + setp.eq.f32 %p76, %f1240, 0f00000000; + @%p76 bra BB0_81; + bra.uni BB0_79; + +BB0_81: + add.f32 %f739, %f1240, %f1240; + selp.f32 %f1243, %f739, 0f00000000, %p75; + bra.uni BB0_82; + +BB0_146: + mov.u64 %rd227, image_HDR; + cvta.global.u64 %rd222, %rd227; + mov.u32 %r350, 8; + mov.u64 %rd226, 0; + // inline asm + call (%rd221), _rt_buffer_get_64, (%rd222, %r98, %r350, %rd19, %rd20, %rd226, %rd226); + // inline asm + mov.f32 %f1078, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f1078;} + + // inline asm + mov.u16 %rs105, 0; + st.v4.u16 [%rd221], {%rs104, %rs104, %rs104, %rs105}; + +BB0_147: + ld.global.u32 %r351, [additive]; + setp.eq.s32 %p143, %r351, 0; + @%p143 bra BB0_149; + + mov.u64 %rd240, image_RNM0; + cvta.global.u64 %rd229, %rd240; + mov.u32 %r355, 8; + mov.u64 %rd239, 0; + // inline asm + call (%rd228), _rt_buffer_get_64, (%rd229, %r98, %r355, %rd19, %rd20, %rd239, %rd239); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd228]; + // inline asm + { cvt.f32.f16 %f1079, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1080, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1081, %rs114;} + + // inline asm + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd229, %r98, %r355, %rd19, %rd20, %rd239, %rd239); + // inline asm + add.f32 %f1082, %f1079, 0f00000000; + add.f32 %f1083, %f1080, 0f00000000; + add.f32 %f1084, %f1081, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f1084;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f1083;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f1082;} + + // inline asm + mov.u16 %rs116, 0; + st.v4.u16 [%rd234], {%rs109, %rs110, %rs111, %rs116}; + bra.uni BB0_150; + +BB0_149: + mov.u64 %rd247, image_RNM0; + cvta.global.u64 %rd242, %rd247; + mov.u32 %r357, 8; + mov.u64 %rd246, 0; + // inline asm + call (%rd241), _rt_buffer_get_64, (%rd242, %r98, %r357, %rd19, %rd20, %rd246, %rd246); + // inline asm + mov.f32 %f1085, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs117, %f1085;} + + // inline asm + mov.u16 %rs118, 0; + st.v4.u16 [%rd241], {%rs117, %rs117, %rs117, %rs118}; + +BB0_150: + ld.global.u32 %r358, [additive]; + setp.eq.s32 %p144, %r358, 0; + @%p144 bra BB0_152; + + mov.u64 %rd260, image_RNM1; + cvta.global.u64 %rd249, %rd260; + mov.u32 %r362, 8; + mov.u64 %rd259, 0; + // inline asm + call (%rd248), _rt_buffer_get_64, (%rd249, %r98, %r362, %rd19, %rd20, %rd259, %rd259); + // inline asm + ld.v4.u16 {%rs125, %rs126, %rs127, %rs128}, [%rd248]; + // inline asm + { cvt.f32.f16 %f1086, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1087, %rs126;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1088, %rs127;} + + // inline asm + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd249, %r98, %r362, %rd19, %rd20, %rd259, %rd259); + // inline asm + add.f32 %f1089, %f1086, 0f00000000; + add.f32 %f1090, %f1087, 0f00000000; + add.f32 %f1091, %f1088, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f1091;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs123, %f1090;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f1089;} + + // inline asm + mov.u16 %rs129, 0; + st.v4.u16 [%rd254], {%rs122, %rs123, %rs124, %rs129}; + bra.uni BB0_153; + +BB0_152: + mov.u64 %rd267, image_RNM1; + cvta.global.u64 %rd262, %rd267; + mov.u32 %r364, 8; + mov.u64 %rd266, 0; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r98, %r364, %rd19, %rd20, %rd266, %rd266); + // inline asm + mov.f32 %f1092, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs130, %f1092;} + + // inline asm + mov.u16 %rs131, 0; + st.v4.u16 [%rd261], {%rs130, %rs130, %rs130, %rs131}; + +BB0_153: + ld.global.u32 %r365, [additive]; + setp.eq.s32 %p145, %r365, 0; + @%p145 bra BB0_155; + + mov.u64 %rd280, image_RNM2; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r369, 8; + mov.u64 %rd279, 0; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r98, %r369, %rd19, %rd20, %rd279, %rd279); + // inline asm + ld.v4.u16 {%rs138, %rs139, %rs140, %rs141}, [%rd268]; + // inline asm + { cvt.f32.f16 %f1093, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1094, %rs139;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1095, %rs140;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r98, %r369, %rd19, %rd20, %rd279, %rd279); + // inline asm + add.f32 %f1096, %f1093, 0f00000000; + add.f32 %f1097, %f1094, 0f00000000; + add.f32 %f1098, %f1095, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f1098;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs136, %f1097;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f1096;} + + // inline asm + mov.u16 %rs142, 0; + st.v4.u16 [%rd274], {%rs135, %rs136, %rs137, %rs142}; + bra.uni BB0_156; + +BB0_155: + mov.u64 %rd287, image_RNM2; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r371, 8; + mov.u64 %rd286, 0; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r98, %r371, %rd19, %rd20, %rd286, %rd286); + // inline asm + mov.f32 %f1099, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs143, %f1099;} + + // inline asm + mov.u16 %rs144, 0; + st.v4.u16 [%rd281], {%rs143, %rs143, %rs143, %rs144}; + +BB0_156: + ld.global.u32 %r372, [additive]; + setp.eq.s32 %p146, %r372, 0; + @%p146 bra BB0_158; + + mov.u64 %rd300, image_RNM3; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r376, 8; + mov.u64 %rd299, 0; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r98, %r376, %rd19, %rd20, %rd299, %rd299); + // inline asm + ld.v4.u16 {%rs151, %rs152, %rs153, %rs154}, [%rd288]; + // inline asm + { cvt.f32.f16 %f1100, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1101, %rs152;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1102, %rs153;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r98, %r376, %rd19, %rd20, %rd299, %rd299); + // inline asm + add.f32 %f1103, %f1100, 0f00000000; + add.f32 %f1104, %f1101, 0f00000000; + add.f32 %f1105, %f1102, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f1105;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs149, %f1104;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f1103;} + + // inline asm + mov.u16 %rs155, 0; + st.v4.u16 [%rd294], {%rs148, %rs149, %rs150, %rs155}; + bra.uni BB0_159; + +BB0_158: + mov.u64 %rd307, image_RNM3; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r378, 8; + mov.u64 %rd306, 0; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r98, %r378, %rd19, %rd20, %rd306, %rd306); + // inline asm + mov.f32 %f1106, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs156, %f1106;} + + // inline asm + mov.u16 %rs157, 0; + st.v4.u16 [%rd301], {%rs156, %rs156, %rs156, %rs157}; + bra.uni BB0_159; + +BB0_79: + setp.geu.f32 %p77, %f1240, 0f00000000; + @%p77 bra BB0_82; + + cvt.rzi.f32.f32 %f738, %f710; + setp.neu.f32 %p78, %f738, 0f3EE8BA2E; + selp.f32 %f1243, 0f7FFFFFFF, %f1243, %p78; + +BB0_82: + add.f32 %f740, %f256, 0f3EE8BA2E; + mov.b32 %r265, %f740; + setp.lt.s32 %p80, %r265, 2139095040; + @%p80 bra BB0_87; + + setp.gtu.f32 %p81, %f256, 0f7F800000; + @%p81 bra BB0_86; + bra.uni BB0_84; + +BB0_86: + add.f32 %f1243, %f1240, 0f3EE8BA2E; + bra.uni BB0_87; + +BB0_84: + setp.neu.f32 %p82, %f256, 0f7F800000; + @%p82 bra BB0_87; + + selp.f32 %f1243, 0fFF800000, 0f7F800000, %p3; + +BB0_87: + mul.f32 %f741, %f1243, 0f437F0000; + setp.eq.f32 %p83, %f1240, 0f3F800000; + selp.f32 %f742, 0f437F0000, %f741, %p83; + cvt.rzi.u32.f32 %r266, %f742; + cvt.u16.u32 %rs14, %r266; + mov.u16 %rs15, 255; + st.v2.u8 [%rd80], {%rs14, %rs15}; + ld.global.u32 %r409, [imageEnabled]; + +BB0_88: + ld.global.f32 %f743, [lightColor]; + mul.f32 %f268, %f1237, %f743; + ld.global.f32 %f744, [lightColor+4]; + mul.f32 %f269, %f1238, %f744; + ld.global.f32 %f745, [lightColor+8]; + mul.f32 %f270, %f1239, %f745; + and.b32 %r267, %r409, 1; + setp.eq.b32 %p84, %r267, 1; + @!%p84 bra BB0_123; + bra.uni BB0_89; + +BB0_89: + mov.f32 %f748, 0f3E666666; + cvt.rzi.f32.f32 %f749, %f748; + fma.rn.f32 %f750, %f749, 0fC0000000, 0f3EE66666; + abs.f32 %f271, %f750; + abs.f32 %f272, %f268; + setp.lt.f32 %p85, %f272, 0f00800000; + mul.f32 %f751, %f272, 0f4B800000; + selp.f32 %f752, 0fC3170000, 0fC2FE0000, %p85; + selp.f32 %f753, %f751, %f272, %p85; + mov.b32 %r268, %f753; + and.b32 %r269, %r268, 8388607; + or.b32 %r270, %r269, 1065353216; + mov.b32 %f754, %r270; + shr.u32 %r271, %r268, 23; + cvt.rn.f32.u32 %f755, %r271; + add.f32 %f756, %f752, %f755; + setp.gt.f32 %p86, %f754, 0f3FB504F3; + mul.f32 %f757, %f754, 0f3F000000; + add.f32 %f758, %f756, 0f3F800000; + selp.f32 %f759, %f757, %f754, %p86; + selp.f32 %f760, %f758, %f756, %p86; + add.f32 %f761, %f759, 0fBF800000; + add.f32 %f747, %f759, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f746,%f747; + // inline asm + add.f32 %f762, %f761, %f761; + mul.f32 %f763, %f746, %f762; + mul.f32 %f764, %f763, %f763; + mov.f32 %f765, 0f3C4CAF63; + mov.f32 %f766, 0f3B18F0FE; + fma.rn.f32 %f767, %f766, %f764, %f765; + mov.f32 %f768, 0f3DAAAABD; + fma.rn.f32 %f769, %f767, %f764, %f768; + mul.rn.f32 %f770, %f769, %f764; + mul.rn.f32 %f771, %f770, %f763; + sub.f32 %f772, %f761, %f763; + neg.f32 %f773, %f763; + add.f32 %f774, %f772, %f772; + fma.rn.f32 %f775, %f773, %f761, %f774; + mul.rn.f32 %f776, %f746, %f775; + add.f32 %f777, %f771, %f763; + sub.f32 %f778, %f763, %f777; + add.f32 %f779, %f771, %f778; + add.f32 %f780, %f776, %f779; + add.f32 %f781, %f777, %f780; + sub.f32 %f782, %f777, %f781; + add.f32 %f783, %f780, %f782; + mov.f32 %f784, 0f3F317200; + mul.rn.f32 %f785, %f760, %f784; + mov.f32 %f786, 0f35BFBE8E; + mul.rn.f32 %f787, %f760, %f786; + add.f32 %f788, %f785, %f781; + sub.f32 %f789, %f785, %f788; + add.f32 %f790, %f781, %f789; + add.f32 %f791, %f783, %f790; + add.f32 %f792, %f787, %f791; + add.f32 %f793, %f788, %f792; + sub.f32 %f794, %f788, %f793; + add.f32 %f795, %f792, %f794; + mov.f32 %f796, 0f3EE66666; + mul.rn.f32 %f797, %f796, %f793; + neg.f32 %f798, %f797; + fma.rn.f32 %f799, %f796, %f793, %f798; + fma.rn.f32 %f800, %f796, %f795, %f799; + mov.f32 %f801, 0f00000000; + fma.rn.f32 %f802, %f801, %f793, %f800; + add.rn.f32 %f803, %f797, %f802; + neg.f32 %f804, %f803; + add.rn.f32 %f805, %f797, %f804; + add.rn.f32 %f806, %f805, %f802; + mov.b32 %r272, %f803; + setp.eq.s32 %p87, %r272, 1118925336; + add.s32 %r273, %r272, -1; + mov.b32 %f807, %r273; + add.f32 %f808, %f806, 0f37000000; + selp.f32 %f809, %f807, %f803, %p87; + selp.f32 %f273, %f808, %f806, %p87; + mul.f32 %f810, %f809, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f811, %f810; + mov.f32 %f812, 0fBF317200; + fma.rn.f32 %f813, %f811, %f812, %f809; + mov.f32 %f814, 0fB5BFBE8E; + fma.rn.f32 %f815, %f811, %f814, %f813; + mul.f32 %f816, %f815, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f817, %f816; + add.f32 %f818, %f811, 0f00000000; + ex2.approx.f32 %f819, %f818; + mul.f32 %f820, %f817, %f819; + setp.lt.f32 %p88, %f809, 0fC2D20000; + selp.f32 %f821, 0f00000000, %f820, %p88; + setp.gt.f32 %p89, %f809, 0f42D20000; + selp.f32 %f1244, 0f7F800000, %f821, %p89; + setp.eq.f32 %p90, %f1244, 0f7F800000; + @%p90 bra BB0_91; + + fma.rn.f32 %f1244, %f1244, %f273, %f1244; + +BB0_91: + setp.lt.f32 %p91, %f268, 0f00000000; + setp.eq.f32 %p92, %f271, 0f3F800000; + and.pred %p4, %p91, %p92; + mov.b32 %r274, %f1244; + xor.b32 %r275, %r274, -2147483648; + mov.b32 %f822, %r275; + selp.f32 %f1246, %f822, %f1244, %p4; + setp.eq.f32 %p93, %f268, 0f00000000; + @%p93 bra BB0_94; + bra.uni BB0_92; + +BB0_94: + add.f32 %f825, %f268, %f268; + selp.f32 %f1246, %f825, 0f00000000, %p92; + bra.uni BB0_95; + +BB0_92: + setp.geu.f32 %p94, %f268, 0f00000000; + @%p94 bra BB0_95; + + cvt.rzi.f32.f32 %f824, %f796; + setp.neu.f32 %p95, %f824, 0f3EE66666; + selp.f32 %f1246, 0f7FFFFFFF, %f1246, %p95; + +BB0_95: + add.f32 %f826, %f272, 0f3EE66666; + mov.b32 %r276, %f826; + setp.lt.s32 %p97, %r276, 2139095040; + @%p97 bra BB0_100; + + setp.gtu.f32 %p98, %f272, 0f7F800000; + @%p98 bra BB0_99; + bra.uni BB0_97; + +BB0_99: + add.f32 %f1246, %f268, 0f3EE66666; + bra.uni BB0_100; + +BB0_97: + setp.neu.f32 %p99, %f272, 0f7F800000; + @%p99 bra BB0_100; + + selp.f32 %f1246, 0fFF800000, 0f7F800000, %p4; + +BB0_100: + setp.eq.f32 %p100, %f268, 0f3F800000; + selp.f32 %f284, 0f3F800000, %f1246, %p100; + abs.f32 %f285, %f269; + setp.lt.f32 %p101, %f285, 0f00800000; + mul.f32 %f829, %f285, 0f4B800000; + selp.f32 %f830, 0fC3170000, 0fC2FE0000, %p101; + selp.f32 %f831, %f829, %f285, %p101; + mov.b32 %r277, %f831; + and.b32 %r278, %r277, 8388607; + or.b32 %r279, %r278, 1065353216; + mov.b32 %f832, %r279; + shr.u32 %r280, %r277, 23; + cvt.rn.f32.u32 %f833, %r280; + add.f32 %f834, %f830, %f833; + setp.gt.f32 %p102, %f832, 0f3FB504F3; + mul.f32 %f835, %f832, 0f3F000000; + add.f32 %f836, %f834, 0f3F800000; + selp.f32 %f837, %f835, %f832, %p102; + selp.f32 %f838, %f836, %f834, %p102; + add.f32 %f839, %f837, 0fBF800000; + add.f32 %f828, %f837, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f827,%f828; + // inline asm + add.f32 %f840, %f839, %f839; + mul.f32 %f841, %f827, %f840; + mul.f32 %f842, %f841, %f841; + fma.rn.f32 %f845, %f766, %f842, %f765; + fma.rn.f32 %f847, %f845, %f842, %f768; + mul.rn.f32 %f848, %f847, %f842; + mul.rn.f32 %f849, %f848, %f841; + sub.f32 %f850, %f839, %f841; + neg.f32 %f851, %f841; + add.f32 %f852, %f850, %f850; + fma.rn.f32 %f853, %f851, %f839, %f852; + mul.rn.f32 %f854, %f827, %f853; + add.f32 %f855, %f849, %f841; + sub.f32 %f856, %f841, %f855; + add.f32 %f857, %f849, %f856; + add.f32 %f858, %f854, %f857; + add.f32 %f859, %f855, %f858; + sub.f32 %f860, %f855, %f859; + add.f32 %f861, %f858, %f860; + mul.rn.f32 %f863, %f838, %f784; + mul.rn.f32 %f865, %f838, %f786; + add.f32 %f866, %f863, %f859; + sub.f32 %f867, %f863, %f866; + add.f32 %f868, %f859, %f867; + add.f32 %f869, %f861, %f868; + add.f32 %f870, %f865, %f869; + add.f32 %f871, %f866, %f870; + sub.f32 %f872, %f866, %f871; + add.f32 %f873, %f870, %f872; + mul.rn.f32 %f875, %f796, %f871; + neg.f32 %f876, %f875; + fma.rn.f32 %f877, %f796, %f871, %f876; + fma.rn.f32 %f878, %f796, %f873, %f877; + fma.rn.f32 %f880, %f801, %f871, %f878; + add.rn.f32 %f881, %f875, %f880; + neg.f32 %f882, %f881; + add.rn.f32 %f883, %f875, %f882; + add.rn.f32 %f884, %f883, %f880; + mov.b32 %r281, %f881; + setp.eq.s32 %p103, %r281, 1118925336; + add.s32 %r282, %r281, -1; + mov.b32 %f885, %r282; + add.f32 %f886, %f884, 0f37000000; + selp.f32 %f887, %f885, %f881, %p103; + selp.f32 %f286, %f886, %f884, %p103; + mul.f32 %f888, %f887, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f889, %f888; + fma.rn.f32 %f891, %f889, %f812, %f887; + fma.rn.f32 %f893, %f889, %f814, %f891; + mul.f32 %f894, %f893, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f895, %f894; + add.f32 %f896, %f889, 0f00000000; + ex2.approx.f32 %f897, %f896; + mul.f32 %f898, %f895, %f897; + setp.lt.f32 %p104, %f887, 0fC2D20000; + selp.f32 %f899, 0f00000000, %f898, %p104; + setp.gt.f32 %p105, %f887, 0f42D20000; + selp.f32 %f1247, 0f7F800000, %f899, %p105; + setp.eq.f32 %p106, %f1247, 0f7F800000; + @%p106 bra BB0_102; + + fma.rn.f32 %f1247, %f1247, %f286, %f1247; + +BB0_102: + setp.lt.f32 %p107, %f269, 0f00000000; + and.pred %p5, %p107, %p92; + mov.b32 %r283, %f1247; + xor.b32 %r284, %r283, -2147483648; + mov.b32 %f900, %r284; + selp.f32 %f1249, %f900, %f1247, %p5; + setp.eq.f32 %p109, %f269, 0f00000000; + @%p109 bra BB0_105; + bra.uni BB0_103; + +BB0_105: + add.f32 %f903, %f269, %f269; + selp.f32 %f1249, %f903, 0f00000000, %p92; + bra.uni BB0_106; + +BB0_103: + setp.geu.f32 %p110, %f269, 0f00000000; + @%p110 bra BB0_106; + + cvt.rzi.f32.f32 %f902, %f796; + setp.neu.f32 %p111, %f902, 0f3EE66666; + selp.f32 %f1249, 0f7FFFFFFF, %f1249, %p111; + +BB0_106: + add.f32 %f904, %f285, 0f3EE66666; + mov.b32 %r285, %f904; + setp.lt.s32 %p113, %r285, 2139095040; + @%p113 bra BB0_111; + + setp.gtu.f32 %p114, %f285, 0f7F800000; + @%p114 bra BB0_110; + bra.uni BB0_108; + +BB0_110: + add.f32 %f1249, %f269, 0f3EE66666; + bra.uni BB0_111; + +BB0_108: + setp.neu.f32 %p115, %f285, 0f7F800000; + @%p115 bra BB0_111; + + selp.f32 %f1249, 0fFF800000, 0f7F800000, %p5; + +BB0_111: + setp.eq.f32 %p116, %f269, 0f3F800000; + selp.f32 %f297, 0f3F800000, %f1249, %p116; + abs.f32 %f298, %f270; + setp.lt.f32 %p117, %f298, 0f00800000; + mul.f32 %f907, %f298, 0f4B800000; + selp.f32 %f908, 0fC3170000, 0fC2FE0000, %p117; + selp.f32 %f909, %f907, %f298, %p117; + mov.b32 %r286, %f909; + and.b32 %r287, %r286, 8388607; + or.b32 %r288, %r287, 1065353216; + mov.b32 %f910, %r288; + shr.u32 %r289, %r286, 23; + cvt.rn.f32.u32 %f911, %r289; + add.f32 %f912, %f908, %f911; + setp.gt.f32 %p118, %f910, 0f3FB504F3; + mul.f32 %f913, %f910, 0f3F000000; + add.f32 %f914, %f912, 0f3F800000; + selp.f32 %f915, %f913, %f910, %p118; + selp.f32 %f916, %f914, %f912, %p118; + add.f32 %f917, %f915, 0fBF800000; + add.f32 %f906, %f915, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f905,%f906; + // inline asm + add.f32 %f918, %f917, %f917; + mul.f32 %f919, %f905, %f918; + mul.f32 %f920, %f919, %f919; + fma.rn.f32 %f923, %f766, %f920, %f765; + fma.rn.f32 %f925, %f923, %f920, %f768; + mul.rn.f32 %f926, %f925, %f920; + mul.rn.f32 %f927, %f926, %f919; + sub.f32 %f928, %f917, %f919; + neg.f32 %f929, %f919; + add.f32 %f930, %f928, %f928; + fma.rn.f32 %f931, %f929, %f917, %f930; + mul.rn.f32 %f932, %f905, %f931; + add.f32 %f933, %f927, %f919; + sub.f32 %f934, %f919, %f933; + add.f32 %f935, %f927, %f934; + add.f32 %f936, %f932, %f935; + add.f32 %f937, %f933, %f936; + sub.f32 %f938, %f933, %f937; + add.f32 %f939, %f936, %f938; + mul.rn.f32 %f941, %f916, %f784; + mul.rn.f32 %f943, %f916, %f786; + add.f32 %f944, %f941, %f937; + sub.f32 %f945, %f941, %f944; + add.f32 %f946, %f937, %f945; + add.f32 %f947, %f939, %f946; + add.f32 %f948, %f943, %f947; + add.f32 %f949, %f944, %f948; + sub.f32 %f950, %f944, %f949; + add.f32 %f951, %f948, %f950; + mul.rn.f32 %f953, %f796, %f949; + neg.f32 %f954, %f953; + fma.rn.f32 %f955, %f796, %f949, %f954; + fma.rn.f32 %f956, %f796, %f951, %f955; + fma.rn.f32 %f958, %f801, %f949, %f956; + add.rn.f32 %f959, %f953, %f958; + neg.f32 %f960, %f959; + add.rn.f32 %f961, %f953, %f960; + add.rn.f32 %f962, %f961, %f958; + mov.b32 %r290, %f959; + setp.eq.s32 %p119, %r290, 1118925336; + add.s32 %r291, %r290, -1; + mov.b32 %f963, %r291; + add.f32 %f964, %f962, 0f37000000; + selp.f32 %f965, %f963, %f959, %p119; + selp.f32 %f299, %f964, %f962, %p119; + mul.f32 %f966, %f965, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f967, %f966; + fma.rn.f32 %f969, %f967, %f812, %f965; + fma.rn.f32 %f971, %f967, %f814, %f969; + mul.f32 %f972, %f971, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f973, %f972; + add.f32 %f974, %f967, 0f00000000; + ex2.approx.f32 %f975, %f974; + mul.f32 %f976, %f973, %f975; + setp.lt.f32 %p120, %f965, 0fC2D20000; + selp.f32 %f977, 0f00000000, %f976, %p120; + setp.gt.f32 %p121, %f965, 0f42D20000; + selp.f32 %f1250, 0f7F800000, %f977, %p121; + setp.eq.f32 %p122, %f1250, 0f7F800000; + @%p122 bra BB0_113; + + fma.rn.f32 %f1250, %f1250, %f299, %f1250; + +BB0_113: + setp.lt.f32 %p123, %f270, 0f00000000; + and.pred %p6, %p123, %p92; + mov.b32 %r292, %f1250; + xor.b32 %r293, %r292, -2147483648; + mov.b32 %f978, %r293; + selp.f32 %f1252, %f978, %f1250, %p6; + setp.eq.f32 %p125, %f270, 0f00000000; + @%p125 bra BB0_116; + bra.uni BB0_114; + +BB0_116: + add.f32 %f981, %f270, %f270; + selp.f32 %f1252, %f981, 0f00000000, %p92; + bra.uni BB0_117; + +BB0_114: + setp.geu.f32 %p126, %f270, 0f00000000; + @%p126 bra BB0_117; + + cvt.rzi.f32.f32 %f980, %f796; + setp.neu.f32 %p127, %f980, 0f3EE66666; + selp.f32 %f1252, 0f7FFFFFFF, %f1252, %p127; + +BB0_117: + add.f32 %f982, %f298, 0f3EE66666; + mov.b32 %r294, %f982; + setp.lt.s32 %p129, %r294, 2139095040; + @%p129 bra BB0_122; + + setp.gtu.f32 %p130, %f298, 0f7F800000; + @%p130 bra BB0_121; + bra.uni BB0_119; + +BB0_121: + add.f32 %f1252, %f270, 0f3EE66666; + bra.uni BB0_122; + +BB0_119: + setp.neu.f32 %p131, %f298, 0f7F800000; + @%p131 bra BB0_122; + + selp.f32 %f1252, 0fFF800000, 0f7F800000, %p6; + +BB0_122: + setp.eq.f32 %p132, %f270, 0f3F800000; + selp.f32 %f983, 0f3F800000, %f1252, %p132; + cvt.u64.u32 %rd90, %r5; + cvt.u64.u32 %rd89, %r4; + mov.u64 %rd93, image; + cvta.global.u64 %rd88, %rd93; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r98, %r99, %rd89, %rd90, %rd26, %rd26); + // inline asm + cvt.sat.f32.f32 %f984, %f983; + mul.f32 %f985, %f984, 0f437FFD71; + cvt.rzi.u32.f32 %r297, %f985; + cvt.sat.f32.f32 %f986, %f297; + mul.f32 %f987, %f986, 0f437FFD71; + cvt.rzi.u32.f32 %r298, %f987; + cvt.sat.f32.f32 %f988, %f284; + mul.f32 %f989, %f988, 0f437FFD71; + cvt.rzi.u32.f32 %r299, %f989; + cvt.u16.u32 %rs16, %r297; + cvt.u16.u32 %rs17, %r299; + cvt.u16.u32 %rs18, %r298; + mov.u16 %rs19, 255; + st.v4.u8 [%rd87], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r409, [imageEnabled]; + +BB0_123: + cvt.u64.u32 %rd17, %r4; + cvt.u64.u32 %rd18, %r5; + and.b32 %r300, %r409, 4; + setp.eq.s32 %p133, %r300, 0; + @%p133 bra BB0_127; + + ld.global.u32 %r301, [additive]; + setp.eq.s32 %p134, %r301, 0; + // inline asm + { cvt.rn.f16.f32 %rs20, %f537;} + + // inline asm + @%p134 bra BB0_126; + + mov.u64 %rd106, image_HDR; + cvta.global.u64 %rd95, %rd106; + mov.u32 %r305, 8; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r98, %r305, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd94]; + // inline asm + { cvt.f32.f16 %f991, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f992, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f993, %rs29;} + + // inline asm + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd95, %r98, %r305, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f994, %f268, %f991; + add.f32 %f995, %f269, %f992; + add.f32 %f996, %f270, %f993; + // inline asm + { cvt.rn.f16.f32 %rs26, %f996;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f995;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f994;} + + // inline asm + st.v4.u16 [%rd100], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_127; + +BB0_126: + mov.u64 %rd113, image_HDR; + cvta.global.u64 %rd108, %rd113; + mov.u32 %r307, 8; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r98, %r307, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f270;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f269;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f268;} + + // inline asm + st.v4.u16 [%rd107], {%rs31, %rs32, %rs33, %rs20}; + +BB0_127: + selp.f32 %f1001, 0f3F800000, 0f3E800000, %p147; + mul.f32 %f1002, %f1001, %f1234; + mul.f32 %f1003, %f1001, %f1235; + mul.f32 %f1004, %f1001, %f1236; + mul.f32 %f1005, %f1001, %f1231; + mul.f32 %f1006, %f1001, %f1232; + mul.f32 %f1007, %f1001, %f1233; + mul.f32 %f1008, %f1001, %f1228; + mul.f32 %f1009, %f1001, %f1229; + mul.f32 %f1010, %f1001, %f1230; + mul.f32 %f1011, %f1001, %f1225; + mul.f32 %f1012, %f1001, %f1226; + mul.f32 %f1013, %f1001, %f1227; + ld.global.f32 %f1014, [lightColor]; + mul.f32 %f310, %f1002, %f1014; + ld.global.f32 %f1015, [lightColor+4]; + mul.f32 %f311, %f1003, %f1015; + ld.global.f32 %f1016, [lightColor+8]; + mul.f32 %f312, %f1004, %f1016; + mul.f32 %f313, %f1005, %f1014; + mul.f32 %f314, %f1006, %f1015; + mul.f32 %f315, %f1007, %f1016; + mul.f32 %f316, %f1008, %f1014; + mul.f32 %f317, %f1009, %f1015; + mul.f32 %f318, %f1010, %f1016; + mul.f32 %f319, %f1011, %f1014; + mul.f32 %f320, %f1012, %f1015; + mul.f32 %f321, %f1013, %f1016; + ld.global.u32 %r308, [additive]; + setp.eq.s32 %p135, %r308, 0; + // inline asm + { cvt.rn.f16.f32 %rs34, %f537;} + + // inline asm + @%p135 bra BB0_129; + + mov.u64 %rd126, image_RNM0; + cvta.global.u64 %rd115, %rd126; + mov.u32 %r312, 8; + // inline asm + call (%rd114), _rt_buffer_get_64, (%rd115, %r98, %r312, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd114]; + // inline asm + { cvt.f32.f16 %f1017, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1018, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1019, %rs43;} + + // inline asm + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd115, %r98, %r312, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1020, %f310, %f1017; + add.f32 %f1021, %f311, %f1018; + add.f32 %f1022, %f312, %f1019; + // inline asm + { cvt.rn.f16.f32 %rs40, %f1022;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f1021;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f1020;} + + // inline asm + st.v4.u16 [%rd120], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_130; + +BB0_129: + mov.u64 %rd133, image_RNM0; + cvta.global.u64 %rd128, %rd133; + mov.u32 %r314, 8; + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd128, %r98, %r314, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f312;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f311;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f310;} + + // inline asm + st.v4.u16 [%rd127], {%rs45, %rs46, %rs47, %rs34}; + +BB0_130: + mov.f32 %f1027, 0f34000000; + max.f32 %f1028, %f310, %f1027; + div.rn.f32 %f1029, %f313, %f1028; + max.f32 %f1030, %f311, %f1027; + div.rn.f32 %f1031, %f314, %f1030; + max.f32 %f1032, %f312, %f1027; + div.rn.f32 %f1033, %f315, %f1032; + fma.rn.f32 %f322, %f1029, 0f3F000000, 0f3F000000; + fma.rn.f32 %f323, %f1031, 0f3F000000, 0f3F000000; + fma.rn.f32 %f324, %f1033, 0f3F000000, 0f3F000000; + div.rn.f32 %f1034, %f316, %f1028; + div.rn.f32 %f1035, %f317, %f1030; + div.rn.f32 %f1036, %f318, %f1032; + fma.rn.f32 %f325, %f1034, 0f3F000000, 0f3F000000; + fma.rn.f32 %f326, %f1035, 0f3F000000, 0f3F000000; + fma.rn.f32 %f327, %f1036, 0f3F000000, 0f3F000000; + div.rn.f32 %f1037, %f319, %f1028; + div.rn.f32 %f1038, %f320, %f1030; + div.rn.f32 %f1039, %f321, %f1032; + fma.rn.f32 %f328, %f1037, 0f3F000000, 0f3F000000; + fma.rn.f32 %f329, %f1038, 0f3F000000, 0f3F000000; + fma.rn.f32 %f330, %f1039, 0f3F000000, 0f3F000000; + ld.global.u32 %r315, [additive]; + setp.eq.s32 %p136, %r315, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f537;} + + // inline asm + @%p136 bra BB0_132; + + mov.u64 %rd146, image_RNM1; + cvta.global.u64 %rd135, %rd146; + mov.u32 %r319, 8; + // inline asm + call (%rd134), _rt_buffer_get_64, (%rd135, %r98, %r319, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd134]; + // inline asm + { cvt.f32.f16 %f1040, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1041, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1042, %rs57;} + + // inline asm + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd135, %r98, %r319, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1043, %f322, %f1040; + add.f32 %f1044, %f323, %f1041; + add.f32 %f1045, %f324, %f1042; + // inline asm + { cvt.rn.f16.f32 %rs54, %f1045;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f1044;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f1043;} + + // inline asm + st.v4.u16 [%rd140], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_133; + +BB0_132: + mov.u64 %rd153, image_RNM1; + cvta.global.u64 %rd148, %rd153; + mov.u32 %r321, 8; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r98, %r321, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs61, %f324;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs60, %f323;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f322;} + + // inline asm + st.v4.u16 [%rd147], {%rs59, %rs60, %rs61, %rs48}; + +BB0_133: + ld.global.u32 %r322, [additive]; + setp.eq.s32 %p137, %r322, 0; + // inline asm + { cvt.rn.f16.f32 %rs62, %f537;} + + // inline asm + @%p137 bra BB0_135; + + mov.u64 %rd166, image_RNM2; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r326, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r98, %r326, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs69, %rs70, %rs71, %rs72}, [%rd154]; + // inline asm + { cvt.f32.f16 %f1050, %rs69;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1051, %rs70;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1052, %rs71;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r98, %r326, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1053, %f325, %f1050; + add.f32 %f1054, %f326, %f1051; + add.f32 %f1055, %f327, %f1052; + // inline asm + { cvt.rn.f16.f32 %rs68, %f1055;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs67, %f1054;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs66, %f1053;} + + // inline asm + st.v4.u16 [%rd160], {%rs66, %rs67, %rs68, %rs62}; + bra.uni BB0_136; + +BB0_135: + mov.u64 %rd173, image_RNM2; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r328, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r98, %r328, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f327;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs74, %f326;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f325;} + + // inline asm + st.v4.u16 [%rd167], {%rs73, %rs74, %rs75, %rs62}; + +BB0_136: + ld.global.u32 %r329, [additive]; + setp.eq.s32 %p138, %r329, 0; + // inline asm + { cvt.rn.f16.f32 %rs76, %f537;} + + // inline asm + @%p138 bra BB0_138; + + mov.u64 %rd186, image_RNM3; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r333, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r98, %r333, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs83, %rs84, %rs85, %rs86}, [%rd174]; + // inline asm + { cvt.f32.f16 %f1060, %rs83;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1061, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1062, %rs85;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r98, %r333, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1063, %f328, %f1060; + add.f32 %f1064, %f329, %f1061; + add.f32 %f1065, %f330, %f1062; + // inline asm + { cvt.rn.f16.f32 %rs82, %f1065;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f1064;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs80, %f1063;} + + // inline asm + st.v4.u16 [%rd180], {%rs80, %rs81, %rs82, %rs76}; + bra.uni BB0_159; + +BB0_138: + mov.u64 %rd193, image_RNM3; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r335, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r98, %r335, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f330;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f329;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f328;} + + // inline asm + st.v4.u16 [%rd187], {%rs87, %rs88, %rs89, %rs76}; + +BB0_159: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx.meta new file mode 100644 index 00000000..a04d8c76 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ec188f20f5499f14ca412579106b1919 +timeCreated: 1551460554 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx new file mode 100644 index 00000000..8889a81c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx @@ -0,0 +1,2587 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[44]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<157>; + .reg .b16 %rs<157>; + .reg .f32 %f<1384>; + .reg .b32 %r<439>; + .reg .b64 %rd<301>; + + + mov.u64 %rd300, __local_depot0; + cvta.local.u64 %SP, %rd300; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r109, %r110}, [pixelID]; + cvt.u64.u32 %rd26, %r109; + cvt.u64.u32 %rd27, %r110; + mov.u64 %rd30, uvnormal; + cvta.global.u64 %rd25, %rd30; + mov.u32 %r107, 2; + mov.u32 %r108, 4; + mov.u64 %rd29, 0; + // inline asm + call (%rd24), _rt_buffer_get_64, (%rd25, %r107, %r108, %rd26, %rd27, %rd29, %rd29); + // inline asm + ld.u32 %r2, [%rd24]; + shr.u32 %r113, %r2, 16; + cvt.u16.u32 %rs1, %r113; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r2; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p7, %rs8, 0; + mov.f32 %f1244, 0f00000000; + mov.f32 %f1245, %f1244; + mov.f32 %f1246, %f1244; + @%p7 bra BB0_2; + + ld.u8 %rs9, [%rd24+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f340, %rs11; + div.rn.f32 %f341, %f340, 0f437F0000; + fma.rn.f32 %f342, %f341, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f343, %rs9; + div.rn.f32 %f344, %f343, 0f437F0000; + fma.rn.f32 %f345, %f344, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f346, %rs6; + div.rn.f32 %f347, %f346, 0f437F0000; + fma.rn.f32 %f348, %f347, 0f40000000, 0fBF800000; + mul.f32 %f349, %f345, %f345; + fma.rn.f32 %f350, %f342, %f342, %f349; + fma.rn.f32 %f351, %f348, %f348, %f350; + sqrt.rn.f32 %f352, %f351; + rcp.rn.f32 %f353, %f352; + mul.f32 %f1244, %f342, %f353; + mul.f32 %f1245, %f345, %f353; + mul.f32 %f1246, %f348, %f353; + +BB0_2: + ld.global.v2.u32 {%r114, %r115}, [pixelID]; + ld.global.v2.u32 {%r117, %r118}, [tileInfo]; + add.s32 %r3, %r114, %r117; + add.s32 %r4, %r115, %r118; + setp.eq.f32 %p8, %f1245, 0f00000000; + setp.eq.f32 %p9, %f1244, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f1246, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_144; + bra.uni BB0_3; + +BB0_144: + ld.global.u32 %r438, [imageEnabled]; + and.b32 %r356, %r438, 1; + setp.eq.b32 %p149, %r356, 1; + @!%p149 bra BB0_146; + bra.uni BB0_145; + +BB0_145: + cvt.u64.u32 %rd200, %r3; + cvt.u64.u32 %rd201, %r4; + mov.u64 %rd204, image; + cvta.global.u64 %rd199, %rd204; + mov.u64 %rd203, 0; + // inline asm + call (%rd198), _rt_buffer_get_64, (%rd199, %r107, %r108, %rd200, %rd201, %rd203, %rd203); + // inline asm + mov.u16 %rs102, 0; + st.v4.u8 [%rd198], {%rs102, %rs102, %rs102, %rs102}; + ld.global.u32 %r438, [imageEnabled]; + +BB0_146: + and.b32 %r359, %r438, 8; + setp.eq.s32 %p150, %r359, 0; + @%p150 bra BB0_148; + + cvt.u64.u32 %rd208, %r4; + cvt.u64.u32 %rd207, %r3; + mov.u64 %rd211, image_Mask; + cvta.global.u64 %rd206, %rd211; + mov.u64 %rd210, 0; + // inline asm + call (%rd205), _rt_buffer_get_64, (%rd206, %r107, %r107, %rd207, %rd208, %rd210, %rd210); + // inline asm + mov.f32 %f1206, 0f00000000; + cvt.rzi.u32.f32 %r362, %f1206; + cvt.u16.u32 %rs103, %r362; + mov.u16 %rs104, 0; + st.v2.u8 [%rd205], {%rs103, %rs104}; + ld.global.u32 %r438, [imageEnabled]; + +BB0_148: + cvt.u64.u32 %rd22, %r3; + cvt.u64.u32 %rd23, %r4; + and.b32 %r363, %r438, 4; + setp.eq.s32 %p151, %r363, 0; + @%p151 bra BB0_152; + + ld.global.u32 %r364, [additive]; + setp.eq.s32 %p152, %r364, 0; + @%p152 bra BB0_151; + + mov.u64 %rd224, image_HDR; + cvta.global.u64 %rd213, %rd224; + mov.u32 %r368, 8; + mov.u64 %rd223, 0; + // inline asm + call (%rd212), _rt_buffer_get_64, (%rd213, %r107, %r368, %rd22, %rd23, %rd223, %rd223); + // inline asm + ld.v4.u16 {%rs111, %rs112, %rs113, %rs114}, [%rd212]; + // inline asm + { cvt.f32.f16 %f1207, %rs111;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1208, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1209, %rs113;} + + // inline asm + // inline asm + call (%rd218), _rt_buffer_get_64, (%rd213, %r107, %r368, %rd22, %rd23, %rd223, %rd223); + // inline asm + add.f32 %f1210, %f1207, 0f00000000; + add.f32 %f1211, %f1208, 0f00000000; + add.f32 %f1212, %f1209, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f1212;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f1211;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs108, %f1210;} + + // inline asm + mov.u16 %rs115, 0; + st.v4.u16 [%rd218], {%rs108, %rs109, %rs110, %rs115}; + bra.uni BB0_152; + +BB0_3: + ld.global.v2.u32 {%r126, %r127}, [pixelID]; + cvt.u64.u32 %rd33, %r126; + cvt.u64.u32 %rd34, %r127; + mov.u64 %rd43, uvpos; + cvta.global.u64 %rd32, %rd43; + mov.u32 %r123, 12; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd32, %r107, %r123, %rd33, %rd34, %rd29, %rd29); + // inline asm + ld.f32 %f9, [%rd31+8]; + ld.f32 %f8, [%rd31+4]; + ld.f32 %f7, [%rd31]; + mul.f32 %f357, %f7, 0f3456BF95; + mul.f32 %f358, %f8, 0f3456BF95; + mul.f32 %f359, %f9, 0f3456BF95; + abs.f32 %f10, %f1244; + div.rn.f32 %f360, %f357, %f10; + abs.f32 %f361, %f1245; + div.rn.f32 %f362, %f358, %f361; + abs.f32 %f11, %f1246; + div.rn.f32 %f363, %f359, %f11; + abs.f32 %f364, %f360; + abs.f32 %f365, %f362; + abs.f32 %f366, %f363; + mov.f32 %f367, 0f38D1B717; + max.f32 %f368, %f364, %f367; + max.f32 %f369, %f365, %f367; + max.f32 %f370, %f366, %f367; + fma.rn.f32 %f12, %f1244, %f368, %f7; + fma.rn.f32 %f13, %f1245, %f369, %f8; + fma.rn.f32 %f14, %f1246, %f370, %f9; + ld.global.v2.u32 {%r130, %r131}, [pixelID]; + cvt.u64.u32 %rd39, %r130; + cvt.u64.u32 %rd40, %r131; + mov.u64 %rd44, uvtangent; + cvta.global.u64 %rd38, %rd44; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd38, %r107, %r108, %rd39, %rd40, %rd29, %rd29); + // inline asm + ld.u32 %r5, [%rd37]; + shr.u32 %r6, %r5, 16; + cvt.u16.u32 %rs13, %r6; + and.b16 %rs14, %rs13, 255; + cvt.u16.u32 %rs15, %r5; + or.b16 %rs16, %rs15, %rs14; + setp.eq.s16 %p13, %rs16, 0; + mov.f32 %f50, 0f00000000; + mov.f32 %f1247, %f50; + mov.f32 %f1248, %f50; + mov.f32 %f1249, %f50; + @%p13 bra BB0_5; + + ld.u8 %rs17, [%rd37+1]; + and.b16 %rs19, %rs15, 255; + cvt.rn.f32.u16 %f371, %rs19; + div.rn.f32 %f372, %f371, 0f437F0000; + fma.rn.f32 %f373, %f372, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f374, %rs17; + div.rn.f32 %f375, %f374, 0f437F0000; + fma.rn.f32 %f376, %f375, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f377, %rs14; + div.rn.f32 %f378, %f377, 0f437F0000; + fma.rn.f32 %f379, %f378, 0f40000000, 0fBF800000; + mul.f32 %f380, %f376, %f376; + fma.rn.f32 %f381, %f373, %f373, %f380; + fma.rn.f32 %f382, %f379, %f379, %f381; + sqrt.rn.f32 %f383, %f382; + rcp.rn.f32 %f384, %f383; + mul.f32 %f1247, %f373, %f384; + mul.f32 %f1248, %f376, %f384; + mul.f32 %f1249, %f379, %f384; + +BB0_5: + mul.f32 %f388, %f1246, %f1248; + mul.f32 %f389, %f1245, %f1249; + sub.f32 %f390, %f389, %f388; + mul.f32 %f391, %f1244, %f1249; + mul.f32 %f392, %f1246, %f1247; + sub.f32 %f393, %f392, %f391; + mul.f32 %f394, %f1245, %f1247; + mul.f32 %f395, %f1244, %f1248; + sub.f32 %f396, %f395, %f394; + setp.lt.u32 %p14, %r5, 16777216; + selp.f32 %f397, 0fBF800000, 0f3F800000, %p14; + mul.f32 %f398, %f390, %f397; + mul.f32 %f399, %f393, %f397; + mul.f32 %f400, %f396, %f397; + mul.f32 %f401, %f398, 0f00000000; + mul.f32 %f402, %f399, 0f00000000; + mul.f32 %f403, %f400, 0f00000000; + fma.rn.f32 %f404, %f1247, 0f3F5105EC, %f401; + fma.rn.f32 %f405, %f1248, 0f3F5105EC, %f402; + fma.rn.f32 %f406, %f1249, 0f3F5105EC, %f403; + mul.f32 %f21, %f1244, 0f3F13CD3A; + add.f32 %f22, %f21, %f404; + mul.f32 %f23, %f1245, 0f3F13CD3A; + add.f32 %f24, %f23, %f405; + mul.f32 %f25, %f1246, 0f3F13CD3A; + add.f32 %f26, %f25, %f406; + ld.global.v2.u32 {%r136, %r137}, [pixelID]; + cvt.u64.u32 %rd47, %r136; + cvt.u64.u32 %rd48, %r137; + // inline asm + call (%rd45), _rt_buffer_get_64, (%rd38, %r107, %r108, %rd47, %rd48, %rd29, %rd29); + // inline asm + ld.u32 %r7, [%rd45]; + shr.u32 %r8, %r7, 16; + cvt.u16.u32 %rs22, %r8; + and.b16 %rs23, %rs22, 255; + cvt.u16.u32 %rs24, %r7; + or.b16 %rs25, %rs24, %rs23; + setp.eq.s16 %p15, %rs25, 0; + mov.f32 %f1250, %f50; + mov.f32 %f1251, %f50; + mov.f32 %f1252, %f50; + @%p15 bra BB0_7; + + ld.u8 %rs26, [%rd45+1]; + and.b16 %rs28, %rs24, 255; + cvt.rn.f32.u16 %f407, %rs28; + div.rn.f32 %f408, %f407, 0f437F0000; + fma.rn.f32 %f409, %f408, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f410, %rs26; + div.rn.f32 %f411, %f410, 0f437F0000; + fma.rn.f32 %f412, %f411, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f413, %rs23; + div.rn.f32 %f414, %f413, 0f437F0000; + fma.rn.f32 %f415, %f414, 0f40000000, 0fBF800000; + mul.f32 %f416, %f412, %f412; + fma.rn.f32 %f417, %f409, %f409, %f416; + fma.rn.f32 %f418, %f415, %f415, %f417; + sqrt.rn.f32 %f419, %f418; + rcp.rn.f32 %f420, %f419; + mul.f32 %f1250, %f409, %f420; + mul.f32 %f1251, %f412, %f420; + mul.f32 %f1252, %f415, %f420; + +BB0_7: + mul.f32 %f424, %f1246, %f1251; + mul.f32 %f425, %f1245, %f1252; + sub.f32 %f426, %f425, %f424; + mul.f32 %f427, %f1244, %f1252; + mul.f32 %f428, %f1246, %f1250; + sub.f32 %f429, %f428, %f427; + mul.f32 %f430, %f1245, %f1250; + mul.f32 %f431, %f1244, %f1251; + sub.f32 %f432, %f431, %f430; + setp.lt.u32 %p16, %r7, 16777216; + selp.f32 %f433, 0fBF800000, 0f3F800000, %p16; + mul.f32 %f434, %f426, %f433; + mul.f32 %f435, %f429, %f433; + mul.f32 %f436, %f432, %f433; + mul.f32 %f437, %f434, 0f3F3504F3; + mul.f32 %f438, %f435, 0f3F3504F3; + mul.f32 %f439, %f436, 0f3F3504F3; + fma.rn.f32 %f440, %f1250, 0fBED105EC, %f437; + fma.rn.f32 %f441, %f1251, 0fBED105EC, %f438; + fma.rn.f32 %f442, %f1252, 0fBED105EC, %f439; + add.f32 %f33, %f21, %f440; + add.f32 %f34, %f23, %f441; + add.f32 %f35, %f25, %f442; + ld.global.v2.u32 {%r142, %r143}, [pixelID]; + cvt.u64.u32 %rd54, %r142; + cvt.u64.u32 %rd55, %r143; + // inline asm + call (%rd52), _rt_buffer_get_64, (%rd38, %r107, %r108, %rd54, %rd55, %rd29, %rd29); + // inline asm + ld.u32 %r9, [%rd52]; + shr.u32 %r10, %r9, 16; + cvt.u16.u32 %rs31, %r10; + and.b16 %rs32, %rs31, 255; + cvt.u16.u32 %rs33, %r9; + or.b16 %rs34, %rs33, %rs32; + setp.eq.s16 %p17, %rs34, 0; + mov.f32 %f1253, %f50; + mov.f32 %f1254, %f50; + mov.f32 %f1255, %f50; + @%p17 bra BB0_9; + + ld.u8 %rs35, [%rd52+1]; + and.b16 %rs37, %rs33, 255; + cvt.rn.f32.u16 %f443, %rs37; + div.rn.f32 %f444, %f443, 0f437F0000; + fma.rn.f32 %f445, %f444, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f446, %rs35; + div.rn.f32 %f447, %f446, 0f437F0000; + fma.rn.f32 %f448, %f447, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f449, %rs32; + div.rn.f32 %f450, %f449, 0f437F0000; + fma.rn.f32 %f451, %f450, 0f40000000, 0fBF800000; + mul.f32 %f452, %f448, %f448; + fma.rn.f32 %f453, %f445, %f445, %f452; + fma.rn.f32 %f454, %f451, %f451, %f453; + sqrt.rn.f32 %f455, %f454; + rcp.rn.f32 %f456, %f455; + mul.f32 %f1253, %f445, %f456; + mul.f32 %f1254, %f448, %f456; + mul.f32 %f1255, %f451, %f456; + +BB0_9: + mul.f32 %f470, %f1246, %f1254; + mul.f32 %f471, %f1245, %f1255; + sub.f32 %f472, %f471, %f470; + mul.f32 %f473, %f1244, %f1255; + mul.f32 %f474, %f1246, %f1253; + sub.f32 %f475, %f474, %f473; + mul.f32 %f476, %f1245, %f1253; + mul.f32 %f477, %f1244, %f1254; + sub.f32 %f478, %f477, %f476; + setp.lt.u32 %p19, %r9, 16777216; + selp.f32 %f479, 0fBF800000, 0f3F800000, %p19; + mul.f32 %f480, %f472, %f479; + mul.f32 %f481, %f475, %f479; + mul.f32 %f482, %f478, %f479; + mul.f32 %f483, %f480, 0fBF3504F3; + mul.f32 %f484, %f481, 0fBF3504F3; + mul.f32 %f485, %f482, 0fBF3504F3; + fma.rn.f32 %f486, %f1253, 0fBED105EC, %f483; + fma.rn.f32 %f487, %f1254, 0fBED105EC, %f484; + fma.rn.f32 %f488, %f1255, 0fBED105EC, %f485; + add.f32 %f42, %f21, %f486; + add.f32 %f43, %f23, %f487; + add.f32 %f44, %f25, %f488; + ld.global.v2.u32 {%r149, %r150}, [pixelID]; + cvt.u64.u32 %rd61, %r149; + cvt.u64.u32 %rd62, %r150; + mov.u64 %rd65, rnd_seeds; + cvta.global.u64 %rd60, %rd65; + // inline asm + call (%rd59), _rt_buffer_get_64, (%rd60, %r107, %r108, %rd61, %rd62, %rd29, %rd29); + // inline asm + ld.u32 %r153, [%rd59]; + mad.lo.s32 %r11, %r153, 1664525, 1013904223; + ld.global.u32 %r154, [lightMeshBufferSize]; + setp.eq.s32 %p20, %r154, 0; + mov.pred %p18, 0; + mov.u32 %r13, 0; + @%p20 bra BB0_10; + + ld.global.f32 %f45, [lightPointSize]; + mul.f32 %f46, %f12, 0f3456BF95; + mul.f32 %f47, %f13, 0f3456BF95; + mul.f32 %f48, %f14, 0f3456BF95; + and.b32 %r157, %r11, 16777215; + cvt.rn.f32.u32 %f502, %r157; + mul.f32 %f503, %f502, 0fB3800000; + fma.rn.f32 %f49, %f503, 0f3F333333, 0f3F800000; + mov.f32 %f50, 0f00000000; + mov.u32 %r407, 0; + abs.f32 %f626, %f47; + abs.f32 %f627, %f46; + max.f32 %f628, %f627, %f626; + abs.f32 %f629, %f48; + max.f32 %f630, %f628, %f629; + mov.u32 %r13, %r407; + mov.f32 %f51, %f50; + mov.f32 %f52, %f50; + mov.f32 %f53, %f50; + mov.f32 %f54, %f50; + mov.f32 %f55, %f50; + mov.f32 %f56, %f50; + mov.f32 %f57, %f50; + mov.f32 %f58, %f50; + mov.f32 %f59, %f50; + mov.f32 %f60, %f50; + mov.f32 %f61, %f50; + mov.f32 %f62, %f50; + +BB0_12: + mul.lo.s32 %r14, %r407, 3; + cvt.s64.s32 %rd68, %r14; + mov.u64 %rd72, lightMeshBuffer; + cvta.global.u64 %rd67, %rd72; + mov.u32 %r158, 1; + // inline asm + call (%rd66), _rt_buffer_get_64, (%rd67, %r158, %r123, %rd68, %rd29, %rd29, %rd29); + // inline asm + ld.f32 %f504, [%rd66]; + sub.f32 %f505, %f504, %f7; + ld.f32 %f506, [%rd66+4]; + sub.f32 %f507, %f506, %f8; + ld.f32 %f508, [%rd66+8]; + sub.f32 %f509, %f508, %f9; + mul.f32 %f510, %f507, %f507; + fma.rn.f32 %f511, %f505, %f505, %f510; + fma.rn.f32 %f512, %f509, %f509, %f511; + sqrt.rn.f32 %f63, %f512; + rcp.rn.f32 %f513, %f63; + mul.f32 %f64, %f505, %f513; + mul.f32 %f65, %f507, %f513; + mul.f32 %f66, %f509, %f513; + mul.f32 %f514, %f1245, %f65; + fma.rn.f32 %f515, %f1244, %f64, %f514; + fma.rn.f32 %f67, %f1246, %f66, %f515; + setp.leu.f32 %p21, %f67, 0f00000000; + @%p21 bra BB0_28; + + setp.ne.s32 %p23, %r1, 0; + mul.f32 %f516, %f63, %f63; + mul.f32 %f517, %f516, 0f40C90FDB; + div.rn.f32 %f518, %f45, %f517; + add.f32 %f68, %f518, %f518; + setp.gt.f32 %p24, %f68, %f49; + and.pred %p25, %p23, %p24; + mov.pred %p156, -1; + @%p25 bra BB0_30; + + ld.global.f32 %f521, [lightInvCutoff]; + mul.f32 %f69, %f63, %f521; + mov.f32 %f525, 0f40800000; + abs.f32 %f71, %f69; + setp.lt.f32 %p26, %f71, 0f00800000; + mul.f32 %f527, %f71, 0f4B800000; + selp.f32 %f528, 0fC3170000, 0fC2FE0000, %p26; + selp.f32 %f529, %f527, %f71, %p26; + mov.b32 %r160, %f529; + and.b32 %r161, %r160, 8388607; + or.b32 %r162, %r161, 1065353216; + mov.b32 %f530, %r162; + shr.u32 %r163, %r160, 23; + cvt.rn.f32.u32 %f531, %r163; + add.f32 %f532, %f528, %f531; + setp.gt.f32 %p27, %f530, 0f3FB504F3; + mul.f32 %f533, %f530, 0f3F000000; + add.f32 %f534, %f532, 0f3F800000; + selp.f32 %f535, %f533, %f530, %p27; + selp.f32 %f536, %f534, %f532, %p27; + add.f32 %f537, %f535, 0fBF800000; + add.f32 %f520, %f535, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f519,%f520; + // inline asm + add.f32 %f538, %f537, %f537; + mul.f32 %f539, %f519, %f538; + mul.f32 %f540, %f539, %f539; + mov.f32 %f541, 0f3C4CAF63; + mov.f32 %f542, 0f3B18F0FE; + fma.rn.f32 %f543, %f542, %f540, %f541; + mov.f32 %f544, 0f3DAAAABD; + fma.rn.f32 %f545, %f543, %f540, %f544; + mul.rn.f32 %f546, %f545, %f540; + mul.rn.f32 %f547, %f546, %f539; + sub.f32 %f548, %f537, %f539; + neg.f32 %f549, %f539; + add.f32 %f550, %f548, %f548; + fma.rn.f32 %f551, %f549, %f537, %f550; + mul.rn.f32 %f552, %f519, %f551; + add.f32 %f553, %f547, %f539; + sub.f32 %f554, %f539, %f553; + add.f32 %f555, %f547, %f554; + add.f32 %f556, %f552, %f555; + add.f32 %f557, %f553, %f556; + sub.f32 %f558, %f553, %f557; + add.f32 %f559, %f556, %f558; + mov.f32 %f560, 0f3F317200; + mul.rn.f32 %f561, %f536, %f560; + mov.f32 %f562, 0f35BFBE8E; + mul.rn.f32 %f563, %f536, %f562; + add.f32 %f564, %f561, %f557; + sub.f32 %f565, %f561, %f564; + add.f32 %f566, %f557, %f565; + add.f32 %f567, %f559, %f566; + add.f32 %f568, %f563, %f567; + add.f32 %f569, %f564, %f568; + sub.f32 %f570, %f564, %f569; + add.f32 %f571, %f568, %f570; + mul.rn.f32 %f572, %f525, %f569; + neg.f32 %f573, %f572; + fma.rn.f32 %f574, %f525, %f569, %f573; + fma.rn.f32 %f575, %f525, %f571, %f574; + mov.f32 %f576, 0f00000000; + fma.rn.f32 %f577, %f576, %f569, %f575; + add.rn.f32 %f578, %f572, %f577; + neg.f32 %f579, %f578; + add.rn.f32 %f580, %f572, %f579; + add.rn.f32 %f581, %f580, %f577; + mov.b32 %r164, %f578; + setp.eq.s32 %p28, %r164, 1118925336; + add.s32 %r165, %r164, -1; + mov.b32 %f582, %r165; + add.f32 %f583, %f581, 0f37000000; + selp.f32 %f584, %f582, %f578, %p28; + selp.f32 %f72, %f583, %f581, %p28; + mul.f32 %f585, %f584, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f586, %f585; + mov.f32 %f587, 0fBF317200; + fma.rn.f32 %f588, %f586, %f587, %f584; + mov.f32 %f589, 0fB5BFBE8E; + fma.rn.f32 %f590, %f586, %f589, %f588; + mul.f32 %f591, %f590, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f592, %f591; + add.f32 %f593, %f586, 0f00000000; + ex2.approx.f32 %f594, %f593; + mul.f32 %f595, %f592, %f594; + setp.lt.f32 %p29, %f584, 0fC2D20000; + selp.f32 %f596, 0f00000000, %f595, %p29; + setp.gt.f32 %p30, %f584, 0f42D20000; + selp.f32 %f1269, 0f7F800000, %f596, %p30; + setp.eq.f32 %p31, %f1269, 0f7F800000; + @%p31 bra BB0_16; + + fma.rn.f32 %f1269, %f1269, %f72, %f1269; + +BB0_16: + mov.f32 %f1240, 0f40000000; + cvt.rzi.f32.f32 %f1239, %f1240; + add.f32 %f1238, %f1239, %f1239; + mov.f32 %f1237, 0f40800000; + sub.f32 %f1236, %f1237, %f1238; + abs.f32 %f1235, %f1236; + setp.lt.f32 %p32, %f69, 0f00000000; + setp.eq.f32 %p33, %f1235, 0f3F800000; + and.pred %p1, %p32, %p33; + mov.b32 %r166, %f1269; + xor.b32 %r167, %r166, -2147483648; + mov.b32 %f597, %r167; + selp.f32 %f1271, %f597, %f1269, %p1; + setp.eq.f32 %p34, %f69, 0f00000000; + @%p34 bra BB0_19; + bra.uni BB0_17; + +BB0_19: + add.f32 %f600, %f69, %f69; + selp.f32 %f1271, %f600, 0f00000000, %p33; + bra.uni BB0_20; + +BB0_17: + setp.geu.f32 %p35, %f69, 0f00000000; + @%p35 bra BB0_20; + + mov.f32 %f1243, 0f40800000; + cvt.rzi.f32.f32 %f599, %f1243; + setp.neu.f32 %p36, %f599, 0f40800000; + selp.f32 %f1271, 0f7FFFFFFF, %f1271, %p36; + +BB0_20: + add.f32 %f601, %f71, 0f40800000; + mov.b32 %r168, %f601; + setp.lt.s32 %p38, %r168, 2139095040; + @%p38 bra BB0_25; + + setp.gtu.f32 %p39, %f71, 0f7F800000; + @%p39 bra BB0_24; + bra.uni BB0_22; + +BB0_24: + add.f32 %f1271, %f69, 0f40800000; + bra.uni BB0_25; + +BB0_22: + setp.neu.f32 %p40, %f71, 0f7F800000; + @%p40 bra BB0_25; + + selp.f32 %f1271, 0fFF800000, 0f7F800000, %p1; + +BB0_25: + mov.u32 %r393, 1; + mov.u64 %rd293, lightMeshBuffer; + cvta.global.u64 %rd292, %rd293; + mul.lo.s32 %r392, %r407, 3; + mov.f32 %f602, 0f3F800000; + sub.f32 %f603, %f602, %f1271; + setp.eq.f32 %p41, %f69, 0f3F800000; + selp.f32 %f604, 0f00000000, %f603, %p41; + cvt.sat.f32.f32 %f605, %f604; + mul.f32 %f606, %f68, %f605; + add.s32 %r171, %r392, 1; + cvt.s64.s32 %rd75, %r171; + // inline asm + call (%rd73), _rt_buffer_get_64, (%rd292, %r393, %r123, %rd75, %rd29, %rd29, %rd29); + // inline asm + ld.f32 %f607, [%rd73]; + mul.f32 %f608, %f64, %f607; + ld.f32 %f609, [%rd73+4]; + mul.f32 %f610, %f65, %f609; + neg.f32 %f611, %f610; + sub.f32 %f612, %f611, %f608; + ld.f32 %f613, [%rd73+8]; + mul.f32 %f614, %f66, %f613; + sub.f32 %f615, %f612, %f614; + cvt.sat.f32.f32 %f616, %f615; + mul.f32 %f83, %f606, %f616; + setp.leu.f32 %p42, %f83, 0f3727C5AC; + @%p42 bra BB0_27; + + mov.u32 %r406, 1; + mov.u64 %rd295, lightMeshBuffer; + cvta.global.u64 %rd294, %rd295; + mul.lo.s32 %r405, %r407, 3; + cvt.sat.f32.f32 %f625, %f67; + add.u64 %rd80, %SP, 12; + cvta.to.local.u64 %rd87, %rd80; + max.f32 %f623, %f630, %f367; + sub.f32 %f624, %f63, %f623; + mov.u32 %r177, 1065353216; + st.local.u32 [%rd87], %r177; + ld.global.u32 %r172, [root]; + // inline asm + call _rt_trace_64, (%r172, %f12, %f13, %f14, %f64, %f65, %f66, %r406, %f623, %f624, %rd80, %r108); + // inline asm + add.s32 %r178, %r405, 2; + cvt.s64.s32 %rd83, %r178; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd294, %r406, %r123, %rd83, %rd29, %rd29, %rd29); + // inline asm + ld.f32 %f632, [%rd81]; + ld.local.f32 %f633, [%rd87]; + mul.f32 %f634, %f633, %f632; + ld.f32 %f635, [%rd81+4]; + mul.f32 %f636, %f633, %f635; + ld.f32 %f637, [%rd81+8]; + mul.f32 %f638, %f633, %f637; + mul.f32 %f639, %f83, %f634; + mul.f32 %f640, %f83, %f636; + mul.f32 %f641, %f83, %f638; + fma.rn.f32 %f53, %f625, %f639, %f53; + fma.rn.f32 %f52, %f625, %f640, %f52; + fma.rn.f32 %f51, %f625, %f641, %f51; + mul.f32 %f642, %f24, %f65; + fma.rn.f32 %f643, %f22, %f64, %f642; + fma.rn.f32 %f644, %f26, %f66, %f643; + cvt.sat.f32.f32 %f645, %f644; + fma.rn.f32 %f56, %f639, %f645, %f56; + fma.rn.f32 %f55, %f640, %f645, %f55; + fma.rn.f32 %f54, %f645, %f641, %f54; + mul.f32 %f646, %f34, %f65; + fma.rn.f32 %f647, %f33, %f64, %f646; + fma.rn.f32 %f648, %f35, %f66, %f647; + cvt.sat.f32.f32 %f649, %f648; + fma.rn.f32 %f59, %f639, %f649, %f59; + fma.rn.f32 %f58, %f640, %f649, %f58; + fma.rn.f32 %f57, %f641, %f649, %f57; + mul.f32 %f650, %f43, %f65; + fma.rn.f32 %f651, %f42, %f64, %f650; + fma.rn.f32 %f652, %f44, %f66, %f651; + cvt.sat.f32.f32 %f653, %f652; + fma.rn.f32 %f62, %f639, %f653, %f62; + fma.rn.f32 %f61, %f640, %f653, %f61; + fma.rn.f32 %f60, %f641, %f653, %f60; + add.f32 %f50, %f50, %f633; + +BB0_27: + add.s32 %r13, %r13, 1; + +BB0_28: + ld.global.u32 %r179, [lightMeshBufferSize]; + add.s32 %r407, %r407, 1; + setp.lt.u32 %p44, %r407, %r179; + @%p44 bra BB0_12; + bra.uni BB0_29; + +BB0_10: + mov.f32 %f51, %f50; + mov.f32 %f52, %f50; + mov.f32 %f53, %f50; + mov.f32 %f54, %f50; + mov.f32 %f55, %f50; + mov.f32 %f56, %f50; + mov.f32 %f57, %f50; + mov.f32 %f58, %f50; + mov.f32 %f59, %f50; + mov.f32 %f60, %f50; + mov.f32 %f61, %f50; + mov.f32 %f62, %f50; + +BB0_29: + mov.pred %p156, %p18; + +BB0_30: + cvt.rn.f32.s32 %f654, %r13; + mov.f32 %f655, 0f3F800000; + max.f32 %f656, %f654, %f655; + rcp.rn.f32 %f657, %f656; + mul.f32 %f1368, %f53, %f657; + mul.f32 %f1369, %f52, %f657; + mul.f32 %f1370, %f51, %f657; + div.rn.f32 %f1371, %f50, %f656; + mul.f32 %f1365, %f56, %f657; + mul.f32 %f1366, %f55, %f657; + mul.f32 %f1367, %f54, %f657; + mul.f32 %f1362, %f59, %f657; + mul.f32 %f1363, %f58, %f657; + mul.f32 %f1364, %f57, %f657; + mul.f32 %f1359, %f62, %f657; + mul.f32 %f1360, %f61, %f657; + mul.f32 %f1361, %f60, %f657; + @!%p156 bra BB0_83; + bra.uni BB0_31; + +BB0_31: + abs.f32 %f1242, %f1246; + abs.f32 %f1241, %f1244; + setp.gt.f32 %p45, %f1241, %f1242; + neg.f32 %f670, %f1245; + selp.f32 %f671, %f670, 0f00000000, %p45; + neg.f32 %f672, %f1246; + selp.f32 %f673, %f1244, %f672, %p45; + selp.f32 %f674, 0f00000000, %f1245, %p45; + mul.f32 %f675, %f673, %f673; + fma.rn.f32 %f676, %f671, %f671, %f675; + fma.rn.f32 %f677, %f674, %f674, %f676; + sqrt.rn.f32 %f678, %f677; + rcp.rn.f32 %f679, %f678; + mul.f32 %f149, %f671, %f679; + mul.f32 %f150, %f673, %f679; + mul.f32 %f151, %f674, %f679; + mov.f32 %f669, 0f00000000; + setp.lt.s32 %p46, %r1, 1; + mov.f32 %f1323, %f669; + mov.f32 %f1324, %f669; + mov.f32 %f1325, %f669; + mov.f32 %f1326, %f669; + mov.f32 %f1327, %f669; + mov.f32 %f1328, %f669; + mov.f32 %f1329, %f669; + mov.f32 %f1330, %f669; + mov.f32 %f1331, %f669; + mov.f32 %f1332, %f669; + mov.f32 %f1333, %f669; + mov.f32 %f1334, %f669; + @%p46 bra BB0_82; + + mad.lo.s32 %r414, %r153, 1664525, 1013904223; + cvt.rn.f32.s32 %f692, %r1; + rcp.rn.f32 %f152, %f692; + add.u64 %rd89, %SP, 16; + cvta.to.local.u64 %rd5, %rd89; + mul.f32 %f153, %f12, 0f3456BF95; + mul.f32 %f154, %f13, 0f3456BF95; + mul.f32 %f155, %f14, 0f3456BF95; + add.u64 %rd90, %SP, 0; + cvta.to.local.u64 %rd6, %rd90; + mul.f32 %f693, %f1244, %f150; + mul.f32 %f694, %f1245, %f149; + sub.f32 %f156, %f694, %f693; + mul.f32 %f695, %f1246, %f149; + mul.f32 %f696, %f1244, %f151; + sub.f32 %f157, %f696, %f695; + mul.f32 %f697, %f1245, %f151; + mul.f32 %f698, %f1246, %f150; + sub.f32 %f158, %f698, %f697; + mov.f32 %f1323, 0f00000000; + mov.u32 %r180, 0; + abs.f32 %f699, %f154; + abs.f32 %f700, %f153; + max.f32 %f701, %f700, %f699; + abs.f32 %f702, %f155; + max.f32 %f703, %f701, %f702; + mov.u32 %r411, %r180; + mov.f32 %f1324, %f1323; + mov.f32 %f1325, %f1323; + mov.f32 %f1326, %f1323; + mov.f32 %f1327, %f1323; + mov.f32 %f1328, %f1323; + mov.f32 %f1329, %f1323; + mov.f32 %f1330, %f1323; + mov.f32 %f1331, %f1323; + mov.f32 %f1332, %f1323; + mov.f32 %f1333, %f1323; + mov.f32 %f1334, %f1323; + +BB0_33: + cvt.rn.f32.s32 %f171, %r411; + max.f32 %f172, %f703, %f367; + mov.u32 %r413, %r180; + +BB0_34: + mad.lo.s32 %r182, %r414, 1664525, 1013904223; + and.b32 %r183, %r182, 16777215; + cvt.rn.f32.u32 %f705, %r183; + fma.rn.f32 %f706, %f705, 0f33800000, %f171; + mul.f32 %f185, %f152, %f706; + mad.lo.s32 %r414, %r182, 1664525, 1013904223; + and.b32 %r184, %r414, 16777215; + cvt.rn.f32.u32 %f707, %r184; + cvt.rn.f32.s32 %f708, %r413; + fma.rn.f32 %f709, %f707, 0f33800000, %f708; + mul.f32 %f710, %f152, %f709; + mul.f32 %f711, %f185, %f185; + sub.f32 %f713, %f655, %f711; + mov.f32 %f714, 0f00000000; + max.f32 %f715, %f714, %f713; + sqrt.rn.f32 %f186, %f715; + mul.f32 %f1341, %f710, 0f40C90FDB; + abs.f32 %f188, %f1341; + setp.neu.f32 %p47, %f188, 0f7F800000; + mov.f32 %f1335, %f1341; + @%p47 bra BB0_36; + + mul.rn.f32 %f1335, %f1341, %f714; + +BB0_36: + mul.f32 %f717, %f1335, 0f3F22F983; + cvt.rni.s32.f32 %r424, %f717; + cvt.rn.f32.s32 %f718, %r424; + neg.f32 %f719, %f718; + mov.f32 %f720, 0f3FC90FDA; + fma.rn.f32 %f721, %f719, %f720, %f1335; + mov.f32 %f722, 0f33A22168; + fma.rn.f32 %f723, %f719, %f722, %f721; + mov.f32 %f724, 0f27C234C5; + fma.rn.f32 %f1336, %f719, %f724, %f723; + abs.f32 %f725, %f1335; + setp.leu.f32 %p48, %f725, 0f47CE4780; + @%p48 bra BB0_47; + + mov.b32 %r25, %f1335; + shr.u32 %r26, %r25, 23; + shl.b32 %r187, %r25, 8; + or.b32 %r27, %r187, -2147483648; + mov.u32 %r415, 0; + mov.u64 %rd297, 0; + mov.u64 %rd296, %rd5; + mov.u32 %r416, %r415; + +BB0_38: + .pragma "nounroll"; + shl.b64 %rd92, %rd297, 2; + mov.u64 %rd93, __cudart_i2opi_f; + add.s64 %rd94, %rd93, %rd92; + ld.const.u32 %r190, [%rd94]; + // inline asm + { + mad.lo.cc.u32 %r188, %r190, %r27, %r416; + madc.hi.u32 %r416, %r190, %r27, 0; + } + // inline asm + st.local.u32 [%rd296], %r188; + add.s32 %r415, %r415, 1; + cvt.s64.s32 %rd297, %r415; + mul.wide.s32 %rd95, %r415, 4; + add.s64 %rd296, %rd5, %rd95; + setp.ne.s32 %p49, %r415, 6; + @%p49 bra BB0_38; + + and.b32 %r193, %r26, 255; + add.s32 %r194, %r193, -128; + shr.u32 %r195, %r194, 5; + and.b32 %r32, %r25, -2147483648; + st.local.u32 [%rd5+24], %r416; + mov.u32 %r196, 6; + sub.s32 %r197, %r196, %r195; + mul.wide.s32 %rd96, %r197, 4; + add.s64 %rd12, %rd5, %rd96; + ld.local.u32 %r417, [%rd12]; + ld.local.u32 %r418, [%rd12+-4]; + and.b32 %r35, %r26, 31; + setp.eq.s32 %p50, %r35, 0; + @%p50 bra BB0_41; + + mov.u32 %r198, 32; + sub.s32 %r199, %r198, %r35; + shr.u32 %r200, %r418, %r199; + shl.b32 %r201, %r417, %r35; + add.s32 %r417, %r200, %r201; + ld.local.u32 %r202, [%rd12+-8]; + shr.u32 %r203, %r202, %r199; + shl.b32 %r204, %r418, %r35; + add.s32 %r418, %r203, %r204; + +BB0_41: + shr.u32 %r205, %r418, 30; + shl.b32 %r206, %r417, 2; + add.s32 %r419, %r205, %r206; + shl.b32 %r41, %r418, 2; + shr.u32 %r207, %r419, 31; + shr.u32 %r208, %r417, 30; + add.s32 %r42, %r207, %r208; + setp.eq.s32 %p51, %r207, 0; + @%p51 bra BB0_42; + bra.uni BB0_43; + +BB0_42: + mov.u32 %r420, %r32; + mov.u32 %r421, %r41; + bra.uni BB0_44; + +BB0_43: + not.b32 %r209, %r419; + neg.s32 %r421, %r41; + setp.eq.s32 %p52, %r41, 0; + selp.u32 %r210, 1, 0, %p52; + add.s32 %r419, %r210, %r209; + xor.b32 %r420, %r32, -2147483648; + +BB0_44: + clz.b32 %r423, %r419; + setp.eq.s32 %p53, %r423, 0; + shl.b32 %r211, %r419, %r423; + mov.u32 %r212, 32; + sub.s32 %r213, %r212, %r423; + shr.u32 %r214, %r421, %r213; + add.s32 %r215, %r214, %r211; + selp.b32 %r50, %r419, %r215, %p53; + mov.u32 %r216, -921707870; + mul.hi.u32 %r422, %r50, %r216; + setp.eq.s32 %p54, %r32, 0; + neg.s32 %r217, %r42; + selp.b32 %r424, %r42, %r217, %p54; + setp.lt.s32 %p55, %r422, 1; + @%p55 bra BB0_46; + + mul.lo.s32 %r218, %r50, -921707870; + shr.u32 %r219, %r218, 31; + shl.b32 %r220, %r422, 1; + add.s32 %r422, %r219, %r220; + add.s32 %r423, %r423, 1; + +BB0_46: + mov.u32 %r221, 126; + sub.s32 %r222, %r221, %r423; + shl.b32 %r223, %r222, 23; + add.s32 %r224, %r422, 1; + shr.u32 %r225, %r224, 7; + add.s32 %r226, %r225, 1; + shr.u32 %r227, %r226, 1; + add.s32 %r228, %r227, %r223; + or.b32 %r229, %r228, %r420; + mov.b32 %f1336, %r229; + +BB0_47: + mul.rn.f32 %f194, %f1336, %f1336; + add.s32 %r58, %r424, 1; + and.b32 %r59, %r58, 1; + setp.eq.s32 %p56, %r59, 0; + @%p56 bra BB0_49; + bra.uni BB0_48; + +BB0_49: + mov.f32 %f728, 0f3C08839E; + mov.f32 %f729, 0fB94CA1F9; + fma.rn.f32 %f1337, %f729, %f194, %f728; + bra.uni BB0_50; + +BB0_48: + mov.f32 %f726, 0fBAB6061A; + mov.f32 %f727, 0f37CCF5CE; + fma.rn.f32 %f1337, %f727, %f194, %f726; + +BB0_50: + @%p56 bra BB0_52; + bra.uni BB0_51; + +BB0_52: + mov.f32 %f733, 0fBE2AAAA3; + fma.rn.f32 %f734, %f1337, %f194, %f733; + fma.rn.f32 %f1338, %f734, %f194, %f714; + bra.uni BB0_53; + +BB0_51: + mov.f32 %f730, 0f3D2AAAA5; + fma.rn.f32 %f731, %f1337, %f194, %f730; + mov.f32 %f732, 0fBF000000; + fma.rn.f32 %f1338, %f731, %f194, %f732; + +BB0_53: + fma.rn.f32 %f1339, %f1338, %f1336, %f1336; + @%p56 bra BB0_55; + + fma.rn.f32 %f1339, %f1338, %f194, %f655; + +BB0_55: + and.b32 %r230, %r58, 2; + setp.eq.s32 %p59, %r230, 0; + @%p59 bra BB0_57; + + mov.f32 %f738, 0fBF800000; + fma.rn.f32 %f1339, %f1339, %f738, %f714; + +BB0_57: + @%p47 bra BB0_59; + + mul.rn.f32 %f1341, %f1341, %f714; + +BB0_59: + mul.f32 %f740, %f1341, 0f3F22F983; + cvt.rni.s32.f32 %r434, %f740; + cvt.rn.f32.s32 %f741, %r434; + neg.f32 %f742, %f741; + fma.rn.f32 %f744, %f742, %f720, %f1341; + fma.rn.f32 %f746, %f742, %f722, %f744; + fma.rn.f32 %f1342, %f742, %f724, %f746; + abs.f32 %f748, %f1341; + setp.leu.f32 %p61, %f748, 0f47CE4780; + @%p61 bra BB0_70; + + mov.b32 %r61, %f1341; + shr.u32 %r62, %r61, 23; + shl.b32 %r233, %r61, 8; + or.b32 %r63, %r233, -2147483648; + mov.u32 %r425, 0; + mov.u64 %rd298, %rd5; + mov.u64 %rd299, %rd29; + mov.u32 %r426, %r425; + +BB0_61: + .pragma "nounroll"; + shl.b64 %rd98, %rd299, 2; + mov.u64 %rd99, __cudart_i2opi_f; + add.s64 %rd100, %rd99, %rd98; + ld.const.u32 %r236, [%rd100]; + // inline asm + { + mad.lo.cc.u32 %r234, %r236, %r63, %r426; + madc.hi.u32 %r426, %r236, %r63, 0; + } + // inline asm + st.local.u32 [%rd298], %r234; + add.s32 %r425, %r425, 1; + cvt.s64.s32 %rd299, %r425; + mul.wide.s32 %rd101, %r425, 4; + add.s64 %rd298, %rd5, %rd101; + setp.ne.s32 %p62, %r425, 6; + @%p62 bra BB0_61; + + and.b32 %r239, %r62, 255; + add.s32 %r240, %r239, -128; + shr.u32 %r241, %r240, 5; + and.b32 %r68, %r61, -2147483648; + st.local.u32 [%rd5+24], %r426; + mov.u32 %r242, 6; + sub.s32 %r243, %r242, %r241; + mul.wide.s32 %rd102, %r243, 4; + add.s64 %rd18, %rd5, %rd102; + ld.local.u32 %r427, [%rd18]; + ld.local.u32 %r428, [%rd18+-4]; + and.b32 %r71, %r62, 31; + setp.eq.s32 %p63, %r71, 0; + @%p63 bra BB0_64; + + mov.u32 %r244, 32; + sub.s32 %r245, %r244, %r71; + shr.u32 %r246, %r428, %r245; + shl.b32 %r247, %r427, %r71; + add.s32 %r427, %r246, %r247; + ld.local.u32 %r248, [%rd18+-8]; + shr.u32 %r249, %r248, %r245; + shl.b32 %r250, %r428, %r71; + add.s32 %r428, %r249, %r250; + +BB0_64: + shr.u32 %r251, %r428, 30; + shl.b32 %r252, %r427, 2; + add.s32 %r429, %r251, %r252; + shl.b32 %r77, %r428, 2; + shr.u32 %r253, %r429, 31; + shr.u32 %r254, %r427, 30; + add.s32 %r78, %r253, %r254; + setp.eq.s32 %p64, %r253, 0; + @%p64 bra BB0_65; + bra.uni BB0_66; + +BB0_65: + mov.u32 %r430, %r68; + mov.u32 %r431, %r77; + bra.uni BB0_67; + +BB0_66: + not.b32 %r255, %r429; + neg.s32 %r431, %r77; + setp.eq.s32 %p65, %r77, 0; + selp.u32 %r256, 1, 0, %p65; + add.s32 %r429, %r256, %r255; + xor.b32 %r430, %r68, -2147483648; + +BB0_67: + clz.b32 %r433, %r429; + setp.eq.s32 %p66, %r433, 0; + shl.b32 %r257, %r429, %r433; + mov.u32 %r258, 32; + sub.s32 %r259, %r258, %r433; + shr.u32 %r260, %r431, %r259; + add.s32 %r261, %r260, %r257; + selp.b32 %r86, %r429, %r261, %p66; + mov.u32 %r262, -921707870; + mul.hi.u32 %r432, %r86, %r262; + setp.eq.s32 %p67, %r68, 0; + neg.s32 %r263, %r78; + selp.b32 %r434, %r78, %r263, %p67; + setp.lt.s32 %p68, %r432, 1; + @%p68 bra BB0_69; + + mul.lo.s32 %r264, %r86, -921707870; + shr.u32 %r265, %r264, 31; + shl.b32 %r266, %r432, 1; + add.s32 %r432, %r265, %r266; + add.s32 %r433, %r433, 1; + +BB0_69: + mov.u32 %r267, 126; + sub.s32 %r268, %r267, %r433; + shl.b32 %r269, %r268, 23; + add.s32 %r270, %r432, 1; + shr.u32 %r271, %r270, 7; + add.s32 %r272, %r271, 1; + shr.u32 %r273, %r272, 1; + add.s32 %r274, %r273, %r269; + or.b32 %r275, %r274, %r430; + mov.b32 %f1342, %r275; + +BB0_70: + mul.rn.f32 %f211, %f1342, %f1342; + and.b32 %r94, %r434, 1; + setp.eq.s32 %p69, %r94, 0; + @%p69 bra BB0_72; + bra.uni BB0_71; + +BB0_72: + mov.f32 %f751, 0f3C08839E; + mov.f32 %f752, 0fB94CA1F9; + fma.rn.f32 %f1343, %f752, %f211, %f751; + bra.uni BB0_73; + +BB0_71: + mov.f32 %f749, 0fBAB6061A; + mov.f32 %f750, 0f37CCF5CE; + fma.rn.f32 %f1343, %f750, %f211, %f749; + +BB0_73: + @%p69 bra BB0_75; + bra.uni BB0_74; + +BB0_75: + mov.f32 %f756, 0fBE2AAAA3; + fma.rn.f32 %f757, %f1343, %f211, %f756; + fma.rn.f32 %f1344, %f757, %f211, %f714; + bra.uni BB0_76; + +BB0_74: + mov.f32 %f753, 0f3D2AAAA5; + fma.rn.f32 %f754, %f1343, %f211, %f753; + mov.f32 %f755, 0fBF000000; + fma.rn.f32 %f1344, %f754, %f211, %f755; + +BB0_76: + fma.rn.f32 %f1345, %f1344, %f1342, %f1342; + @%p69 bra BB0_78; + + fma.rn.f32 %f1345, %f1344, %f211, %f655; + +BB0_78: + and.b32 %r276, %r434, 2; + setp.eq.s32 %p72, %r276, 0; + @%p72 bra BB0_80; + + mov.f32 %f761, 0fBF800000; + fma.rn.f32 %f1345, %f1345, %f761, %f714; + +BB0_80: + mul.f32 %f770, %f186, %f1339; + mul.f32 %f771, %f186, %f1345; + mul.f32 %f772, %f149, %f771; + mul.f32 %f773, %f150, %f771; + mul.f32 %f774, %f151, %f771; + fma.rn.f32 %f775, %f158, %f770, %f772; + fma.rn.f32 %f776, %f157, %f770, %f773; + fma.rn.f32 %f777, %f156, %f770, %f774; + fma.rn.f32 %f765, %f1244, %f185, %f775; + fma.rn.f32 %f766, %f1245, %f185, %f776; + fma.rn.f32 %f767, %f1246, %f185, %f777; + mov.u32 %r278, 0; + st.local.u32 [%rd6+8], %r278; + st.local.u32 [%rd6+4], %r278; + st.local.u32 [%rd6], %r278; + ld.global.u32 %r277, [root]; + mov.f32 %f769, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r277, %f12, %f13, %f14, %f765, %f766, %f767, %r278, %f172, %f769, %rd90, %r123); + // inline asm + ld.local.f32 %f778, [%rd6]; + max.f32 %f780, %f778, %f714; + ld.local.f32 %f781, [%rd6+4]; + max.f32 %f782, %f781, %f714; + ld.local.f32 %f783, [%rd6+8]; + max.f32 %f784, %f783, %f714; + mul.f32 %f785, %f24, %f766; + fma.rn.f32 %f786, %f22, %f765, %f785; + fma.rn.f32 %f787, %f26, %f767, %f786; + cvt.sat.f32.f32 %f788, %f787; + fma.rn.f32 %f1328, %f780, %f788, %f1328; + fma.rn.f32 %f1327, %f782, %f788, %f1327; + fma.rn.f32 %f1326, %f784, %f788, %f1326; + mul.f32 %f789, %f34, %f766; + fma.rn.f32 %f790, %f33, %f765, %f789; + fma.rn.f32 %f791, %f35, %f767, %f790; + cvt.sat.f32.f32 %f792, %f791; + fma.rn.f32 %f1331, %f780, %f792, %f1331; + fma.rn.f32 %f1330, %f782, %f792, %f1330; + fma.rn.f32 %f1329, %f784, %f792, %f1329; + mul.f32 %f793, %f43, %f766; + fma.rn.f32 %f794, %f42, %f765, %f793; + fma.rn.f32 %f795, %f44, %f767, %f794; + cvt.sat.f32.f32 %f796, %f795; + fma.rn.f32 %f1334, %f780, %f796, %f1334; + fma.rn.f32 %f1333, %f782, %f796, %f1333; + fma.rn.f32 %f1332, %f784, %f796, %f1332; + mul.f32 %f797, %f1245, %f766; + fma.rn.f32 %f798, %f1244, %f765, %f797; + fma.rn.f32 %f799, %f1246, %f767, %f798; + cvt.sat.f32.f32 %f800, %f799; + fma.rn.f32 %f1325, %f780, %f800, %f1325; + fma.rn.f32 %f1324, %f782, %f800, %f1324; + fma.rn.f32 %f1323, %f784, %f800, %f1323; + add.s32 %r413, %r413, 1; + setp.lt.s32 %p73, %r413, %r1; + @%p73 bra BB0_34; + + add.s32 %r411, %r411, 1; + setp.lt.s32 %p74, %r411, %r1; + @%p74 bra BB0_33; + +BB0_82: + mul.lo.s32 %r280, %r1, %r1; + cvt.rn.f32.s32 %f801, %r280; + rcp.rn.f32 %f802, %f801; + mul.f32 %f803, %f1325, %f802; + mul.f32 %f804, %f1324, %f802; + mul.f32 %f805, %f1323, %f802; + div.rn.f32 %f1371, %f669, %f801; + mul.f32 %f1365, %f1328, %f802; + mul.f32 %f1366, %f1327, %f802; + mul.f32 %f1367, %f1326, %f802; + mul.f32 %f1362, %f1331, %f802; + mul.f32 %f1363, %f1330, %f802; + mul.f32 %f1364, %f1329, %f802; + mul.f32 %f1359, %f1334, %f802; + mul.f32 %f1360, %f1333, %f802; + mul.f32 %f1361, %f1332, %f802; + fma.rn.f32 %f1368, %f1325, %f802, %f803; + fma.rn.f32 %f1369, %f1324, %f802, %f804; + fma.rn.f32 %f1370, %f1323, %f802, %f805; + +BB0_83: + ld.global.u32 %r436, [imageEnabled]; + and.b32 %r281, %r436, 8; + setp.eq.s32 %p75, %r281, 0; + @%p75 bra BB0_96; + + mov.u32 %r394, 2; + cvt.u64.u32 %rd106, %r3; + cvt.u64.u32 %rd107, %r4; + mov.u64 %rd110, image_Mask; + cvta.global.u64 %rd105, %rd110; + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd105, %r394, %r394, %rd106, %rd107, %rd29, %rd29); + // inline asm + mov.f32 %f809, 0f3E68BA2E; + cvt.rzi.f32.f32 %f810, %f809; + fma.rn.f32 %f811, %f810, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f273, %f811; + abs.f32 %f274, %f1371; + setp.lt.f32 %p76, %f274, 0f00800000; + mul.f32 %f812, %f274, 0f4B800000; + selp.f32 %f813, 0fC3170000, 0fC2FE0000, %p76; + selp.f32 %f814, %f812, %f274, %p76; + mov.b32 %r284, %f814; + and.b32 %r285, %r284, 8388607; + or.b32 %r286, %r285, 1065353216; + mov.b32 %f815, %r286; + shr.u32 %r287, %r284, 23; + cvt.rn.f32.u32 %f816, %r287; + add.f32 %f817, %f813, %f816; + setp.gt.f32 %p77, %f815, 0f3FB504F3; + mul.f32 %f818, %f815, 0f3F000000; + add.f32 %f819, %f817, 0f3F800000; + selp.f32 %f820, %f818, %f815, %p77; + selp.f32 %f821, %f819, %f817, %p77; + add.f32 %f822, %f820, 0fBF800000; + add.f32 %f808, %f820, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f807,%f808; + // inline asm + add.f32 %f823, %f822, %f822; + mul.f32 %f824, %f807, %f823; + mul.f32 %f825, %f824, %f824; + mov.f32 %f826, 0f3C4CAF63; + mov.f32 %f827, 0f3B18F0FE; + fma.rn.f32 %f828, %f827, %f825, %f826; + mov.f32 %f829, 0f3DAAAABD; + fma.rn.f32 %f830, %f828, %f825, %f829; + mul.rn.f32 %f831, %f830, %f825; + mul.rn.f32 %f832, %f831, %f824; + sub.f32 %f833, %f822, %f824; + neg.f32 %f834, %f824; + add.f32 %f835, %f833, %f833; + fma.rn.f32 %f836, %f834, %f822, %f835; + mul.rn.f32 %f837, %f807, %f836; + add.f32 %f838, %f832, %f824; + sub.f32 %f839, %f824, %f838; + add.f32 %f840, %f832, %f839; + add.f32 %f841, %f837, %f840; + add.f32 %f842, %f838, %f841; + sub.f32 %f843, %f838, %f842; + add.f32 %f844, %f841, %f843; + mov.f32 %f845, 0f3F317200; + mul.rn.f32 %f846, %f821, %f845; + mov.f32 %f847, 0f35BFBE8E; + mul.rn.f32 %f848, %f821, %f847; + add.f32 %f849, %f846, %f842; + sub.f32 %f850, %f846, %f849; + add.f32 %f851, %f842, %f850; + add.f32 %f852, %f844, %f851; + add.f32 %f853, %f848, %f852; + add.f32 %f854, %f849, %f853; + sub.f32 %f855, %f849, %f854; + add.f32 %f856, %f853, %f855; + mov.f32 %f857, 0f3EE8BA2E; + mul.rn.f32 %f858, %f857, %f854; + neg.f32 %f859, %f858; + fma.rn.f32 %f860, %f857, %f854, %f859; + fma.rn.f32 %f861, %f857, %f856, %f860; + mov.f32 %f862, 0f00000000; + fma.rn.f32 %f863, %f862, %f854, %f861; + add.rn.f32 %f864, %f858, %f863; + neg.f32 %f865, %f864; + add.rn.f32 %f866, %f858, %f865; + add.rn.f32 %f867, %f866, %f863; + mov.b32 %r288, %f864; + setp.eq.s32 %p78, %r288, 1118925336; + add.s32 %r289, %r288, -1; + mov.b32 %f868, %r289; + add.f32 %f869, %f867, 0f37000000; + selp.f32 %f870, %f868, %f864, %p78; + selp.f32 %f275, %f869, %f867, %p78; + mul.f32 %f871, %f870, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f872, %f871; + mov.f32 %f873, 0fBF317200; + fma.rn.f32 %f874, %f872, %f873, %f870; + mov.f32 %f875, 0fB5BFBE8E; + fma.rn.f32 %f876, %f872, %f875, %f874; + mul.f32 %f877, %f876, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f878, %f877; + add.f32 %f879, %f872, 0f00000000; + ex2.approx.f32 %f880, %f879; + mul.f32 %f881, %f878, %f880; + setp.lt.f32 %p79, %f870, 0fC2D20000; + selp.f32 %f882, 0f00000000, %f881, %p79; + setp.gt.f32 %p80, %f870, 0f42D20000; + selp.f32 %f1372, 0f7F800000, %f882, %p80; + setp.eq.f32 %p81, %f1372, 0f7F800000; + @%p81 bra BB0_86; + + fma.rn.f32 %f1372, %f1372, %f275, %f1372; + +BB0_86: + setp.lt.f32 %p82, %f1371, 0f00000000; + setp.eq.f32 %p83, %f273, 0f3F800000; + and.pred %p3, %p82, %p83; + mov.b32 %r290, %f1372; + xor.b32 %r291, %r290, -2147483648; + mov.b32 %f883, %r291; + selp.f32 %f1374, %f883, %f1372, %p3; + setp.eq.f32 %p84, %f1371, 0f00000000; + @%p84 bra BB0_89; + bra.uni BB0_87; + +BB0_89: + add.f32 %f886, %f1371, %f1371; + selp.f32 %f1374, %f886, 0f00000000, %p83; + bra.uni BB0_90; + +BB0_151: + mov.u64 %rd231, image_HDR; + cvta.global.u64 %rd226, %rd231; + mov.u32 %r370, 8; + mov.u64 %rd230, 0; + // inline asm + call (%rd225), _rt_buffer_get_64, (%rd226, %r107, %r370, %rd22, %rd23, %rd230, %rd230); + // inline asm + mov.f32 %f1213, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f1213;} + + // inline asm + mov.u16 %rs117, 0; + st.v4.u16 [%rd225], {%rs116, %rs116, %rs116, %rs117}; + +BB0_152: + ld.global.u32 %r371, [additive]; + setp.eq.s32 %p153, %r371, 0; + @%p153 bra BB0_154; + + mov.u64 %rd244, image_RNM0; + cvta.global.u64 %rd233, %rd244; + mov.u32 %r375, 8; + mov.u64 %rd243, 0; + // inline asm + call (%rd232), _rt_buffer_get_64, (%rd233, %r107, %r375, %rd22, %rd23, %rd243, %rd243); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd232]; + // inline asm + { cvt.f32.f16 %f1214, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1215, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1216, %rs126;} + + // inline asm + // inline asm + call (%rd238), _rt_buffer_get_64, (%rd233, %r107, %r375, %rd22, %rd23, %rd243, %rd243); + // inline asm + add.f32 %f1217, %f1214, 0f00000000; + add.f32 %f1218, %f1215, 0f00000000; + add.f32 %f1219, %f1216, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f1219;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f1218;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f1217;} + + // inline asm + mov.u16 %rs128, 0; + st.v4.u16 [%rd238], {%rs121, %rs122, %rs123, %rs128}; + bra.uni BB0_155; + +BB0_154: + mov.u64 %rd251, image_RNM0; + cvta.global.u64 %rd246, %rd251; + mov.u32 %r377, 8; + mov.u64 %rd250, 0; + // inline asm + call (%rd245), _rt_buffer_get_64, (%rd246, %r107, %r377, %rd22, %rd23, %rd250, %rd250); + // inline asm + mov.f32 %f1220, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs129, %f1220;} + + // inline asm + mov.u16 %rs130, 0; + st.v4.u16 [%rd245], {%rs129, %rs129, %rs129, %rs130}; + +BB0_155: + ld.global.u32 %r378, [additive]; + setp.eq.s32 %p154, %r378, 0; + @%p154 bra BB0_157; + + mov.u64 %rd264, image_RNM1; + cvta.global.u64 %rd253, %rd264; + mov.u32 %r382, 8; + mov.u64 %rd263, 0; + // inline asm + call (%rd252), _rt_buffer_get_64, (%rd253, %r107, %r382, %rd22, %rd23, %rd263, %rd263); + // inline asm + ld.v4.u16 {%rs137, %rs138, %rs139, %rs140}, [%rd252]; + // inline asm + { cvt.f32.f16 %f1221, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1222, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1223, %rs139;} + + // inline asm + // inline asm + call (%rd258), _rt_buffer_get_64, (%rd253, %r107, %r382, %rd22, %rd23, %rd263, %rd263); + // inline asm + add.f32 %f1224, %f1221, 0f00000000; + add.f32 %f1225, %f1222, 0f00000000; + add.f32 %f1226, %f1223, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs136, %f1226;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f1225;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f1224;} + + // inline asm + mov.u16 %rs141, 0; + st.v4.u16 [%rd258], {%rs134, %rs135, %rs136, %rs141}; + bra.uni BB0_158; + +BB0_157: + mov.u64 %rd271, image_RNM1; + cvta.global.u64 %rd266, %rd271; + mov.u32 %r384, 8; + mov.u64 %rd270, 0; + // inline asm + call (%rd265), _rt_buffer_get_64, (%rd266, %r107, %r384, %rd22, %rd23, %rd270, %rd270); + // inline asm + mov.f32 %f1227, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs142, %f1227;} + + // inline asm + mov.u16 %rs143, 0; + st.v4.u16 [%rd265], {%rs142, %rs142, %rs142, %rs143}; + +BB0_158: + ld.global.u32 %r385, [additive]; + setp.eq.s32 %p155, %r385, 0; + @%p155 bra BB0_160; + + mov.u64 %rd284, image_RNM2; + cvta.global.u64 %rd273, %rd284; + mov.u32 %r389, 8; + mov.u64 %rd283, 0; + // inline asm + call (%rd272), _rt_buffer_get_64, (%rd273, %r107, %r389, %rd22, %rd23, %rd283, %rd283); + // inline asm + ld.v4.u16 {%rs150, %rs151, %rs152, %rs153}, [%rd272]; + // inline asm + { cvt.f32.f16 %f1228, %rs150;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1229, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1230, %rs152;} + + // inline asm + // inline asm + call (%rd278), _rt_buffer_get_64, (%rd273, %r107, %r389, %rd22, %rd23, %rd283, %rd283); + // inline asm + add.f32 %f1231, %f1228, 0f00000000; + add.f32 %f1232, %f1229, 0f00000000; + add.f32 %f1233, %f1230, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs149, %f1233;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f1232;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs147, %f1231;} + + // inline asm + mov.u16 %rs154, 0; + st.v4.u16 [%rd278], {%rs147, %rs148, %rs149, %rs154}; + bra.uni BB0_161; + +BB0_160: + mov.u64 %rd291, image_RNM2; + cvta.global.u64 %rd286, %rd291; + mov.u32 %r391, 8; + mov.u64 %rd290, 0; + // inline asm + call (%rd285), _rt_buffer_get_64, (%rd286, %r107, %r391, %rd22, %rd23, %rd290, %rd290); + // inline asm + mov.f32 %f1234, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs155, %f1234;} + + // inline asm + mov.u16 %rs156, 0; + st.v4.u16 [%rd285], {%rs155, %rs155, %rs155, %rs156}; + bra.uni BB0_161; + +BB0_87: + setp.geu.f32 %p85, %f1371, 0f00000000; + @%p85 bra BB0_90; + + cvt.rzi.f32.f32 %f885, %f857; + setp.neu.f32 %p86, %f885, 0f3EE8BA2E; + selp.f32 %f1374, 0f7FFFFFFF, %f1374, %p86; + +BB0_90: + add.f32 %f887, %f274, 0f3EE8BA2E; + mov.b32 %r292, %f887; + setp.lt.s32 %p88, %r292, 2139095040; + @%p88 bra BB0_95; + + setp.gtu.f32 %p89, %f274, 0f7F800000; + @%p89 bra BB0_94; + bra.uni BB0_92; + +BB0_94: + add.f32 %f1374, %f1371, 0f3EE8BA2E; + bra.uni BB0_95; + +BB0_92: + setp.neu.f32 %p90, %f274, 0f7F800000; + @%p90 bra BB0_95; + + selp.f32 %f1374, 0fFF800000, 0f7F800000, %p3; + +BB0_95: + mul.f32 %f888, %f1374, 0f437F0000; + setp.eq.f32 %p91, %f1371, 0f3F800000; + selp.f32 %f889, 0f437F0000, %f888, %p91; + cvt.rzi.u32.f32 %r293, %f889; + cvt.u16.u32 %rs40, %r293; + mov.u16 %rs41, 255; + st.v2.u8 [%rd104], {%rs40, %rs41}; + ld.global.u32 %r436, [imageEnabled]; + +BB0_96: + ld.global.f32 %f890, [lightColor]; + mul.f32 %f286, %f1368, %f890; + ld.global.f32 %f891, [lightColor+4]; + mul.f32 %f287, %f1369, %f891; + ld.global.f32 %f892, [lightColor+8]; + mul.f32 %f288, %f1370, %f892; + and.b32 %r294, %r436, 1; + setp.eq.b32 %p92, %r294, 1; + @!%p92 bra BB0_131; + bra.uni BB0_97; + +BB0_97: + mov.f32 %f895, 0f3E666666; + cvt.rzi.f32.f32 %f896, %f895; + fma.rn.f32 %f897, %f896, 0fC0000000, 0f3EE66666; + abs.f32 %f289, %f897; + abs.f32 %f290, %f286; + setp.lt.f32 %p93, %f290, 0f00800000; + mul.f32 %f898, %f290, 0f4B800000; + selp.f32 %f899, 0fC3170000, 0fC2FE0000, %p93; + selp.f32 %f900, %f898, %f290, %p93; + mov.b32 %r295, %f900; + and.b32 %r296, %r295, 8388607; + or.b32 %r297, %r296, 1065353216; + mov.b32 %f901, %r297; + shr.u32 %r298, %r295, 23; + cvt.rn.f32.u32 %f902, %r298; + add.f32 %f903, %f899, %f902; + setp.gt.f32 %p94, %f901, 0f3FB504F3; + mul.f32 %f904, %f901, 0f3F000000; + add.f32 %f905, %f903, 0f3F800000; + selp.f32 %f906, %f904, %f901, %p94; + selp.f32 %f907, %f905, %f903, %p94; + add.f32 %f908, %f906, 0fBF800000; + add.f32 %f894, %f906, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f893,%f894; + // inline asm + add.f32 %f909, %f908, %f908; + mul.f32 %f910, %f893, %f909; + mul.f32 %f911, %f910, %f910; + mov.f32 %f912, 0f3C4CAF63; + mov.f32 %f913, 0f3B18F0FE; + fma.rn.f32 %f914, %f913, %f911, %f912; + mov.f32 %f915, 0f3DAAAABD; + fma.rn.f32 %f916, %f914, %f911, %f915; + mul.rn.f32 %f917, %f916, %f911; + mul.rn.f32 %f918, %f917, %f910; + sub.f32 %f919, %f908, %f910; + neg.f32 %f920, %f910; + add.f32 %f921, %f919, %f919; + fma.rn.f32 %f922, %f920, %f908, %f921; + mul.rn.f32 %f923, %f893, %f922; + add.f32 %f924, %f918, %f910; + sub.f32 %f925, %f910, %f924; + add.f32 %f926, %f918, %f925; + add.f32 %f927, %f923, %f926; + add.f32 %f928, %f924, %f927; + sub.f32 %f929, %f924, %f928; + add.f32 %f930, %f927, %f929; + mov.f32 %f931, 0f3F317200; + mul.rn.f32 %f932, %f907, %f931; + mov.f32 %f933, 0f35BFBE8E; + mul.rn.f32 %f934, %f907, %f933; + add.f32 %f935, %f932, %f928; + sub.f32 %f936, %f932, %f935; + add.f32 %f937, %f928, %f936; + add.f32 %f938, %f930, %f937; + add.f32 %f939, %f934, %f938; + add.f32 %f940, %f935, %f939; + sub.f32 %f941, %f935, %f940; + add.f32 %f942, %f939, %f941; + mov.f32 %f943, 0f3EE66666; + mul.rn.f32 %f944, %f943, %f940; + neg.f32 %f945, %f944; + fma.rn.f32 %f946, %f943, %f940, %f945; + fma.rn.f32 %f947, %f943, %f942, %f946; + mov.f32 %f948, 0f00000000; + fma.rn.f32 %f949, %f948, %f940, %f947; + add.rn.f32 %f950, %f944, %f949; + neg.f32 %f951, %f950; + add.rn.f32 %f952, %f944, %f951; + add.rn.f32 %f953, %f952, %f949; + mov.b32 %r299, %f950; + setp.eq.s32 %p95, %r299, 1118925336; + add.s32 %r300, %r299, -1; + mov.b32 %f954, %r300; + add.f32 %f955, %f953, 0f37000000; + selp.f32 %f956, %f954, %f950, %p95; + selp.f32 %f291, %f955, %f953, %p95; + mul.f32 %f957, %f956, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f958, %f957; + mov.f32 %f959, 0fBF317200; + fma.rn.f32 %f960, %f958, %f959, %f956; + mov.f32 %f961, 0fB5BFBE8E; + fma.rn.f32 %f962, %f958, %f961, %f960; + mul.f32 %f963, %f962, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f964, %f963; + add.f32 %f965, %f958, 0f00000000; + ex2.approx.f32 %f966, %f965; + mul.f32 %f967, %f964, %f966; + setp.lt.f32 %p96, %f956, 0fC2D20000; + selp.f32 %f968, 0f00000000, %f967, %p96; + setp.gt.f32 %p97, %f956, 0f42D20000; + selp.f32 %f1375, 0f7F800000, %f968, %p97; + setp.eq.f32 %p98, %f1375, 0f7F800000; + @%p98 bra BB0_99; + + fma.rn.f32 %f1375, %f1375, %f291, %f1375; + +BB0_99: + setp.lt.f32 %p99, %f286, 0f00000000; + setp.eq.f32 %p100, %f289, 0f3F800000; + and.pred %p4, %p99, %p100; + mov.b32 %r301, %f1375; + xor.b32 %r302, %r301, -2147483648; + mov.b32 %f969, %r302; + selp.f32 %f1377, %f969, %f1375, %p4; + setp.eq.f32 %p101, %f286, 0f00000000; + @%p101 bra BB0_102; + bra.uni BB0_100; + +BB0_102: + add.f32 %f972, %f286, %f286; + selp.f32 %f1377, %f972, 0f00000000, %p100; + bra.uni BB0_103; + +BB0_100: + setp.geu.f32 %p102, %f286, 0f00000000; + @%p102 bra BB0_103; + + cvt.rzi.f32.f32 %f971, %f943; + setp.neu.f32 %p103, %f971, 0f3EE66666; + selp.f32 %f1377, 0f7FFFFFFF, %f1377, %p103; + +BB0_103: + add.f32 %f973, %f290, 0f3EE66666; + mov.b32 %r303, %f973; + setp.lt.s32 %p105, %r303, 2139095040; + @%p105 bra BB0_108; + + setp.gtu.f32 %p106, %f290, 0f7F800000; + @%p106 bra BB0_107; + bra.uni BB0_105; + +BB0_107: + add.f32 %f1377, %f286, 0f3EE66666; + bra.uni BB0_108; + +BB0_105: + setp.neu.f32 %p107, %f290, 0f7F800000; + @%p107 bra BB0_108; + + selp.f32 %f1377, 0fFF800000, 0f7F800000, %p4; + +BB0_108: + setp.eq.f32 %p108, %f286, 0f3F800000; + selp.f32 %f302, 0f3F800000, %f1377, %p108; + abs.f32 %f303, %f287; + setp.lt.f32 %p109, %f303, 0f00800000; + mul.f32 %f976, %f303, 0f4B800000; + selp.f32 %f977, 0fC3170000, 0fC2FE0000, %p109; + selp.f32 %f978, %f976, %f303, %p109; + mov.b32 %r304, %f978; + and.b32 %r305, %r304, 8388607; + or.b32 %r306, %r305, 1065353216; + mov.b32 %f979, %r306; + shr.u32 %r307, %r304, 23; + cvt.rn.f32.u32 %f980, %r307; + add.f32 %f981, %f977, %f980; + setp.gt.f32 %p110, %f979, 0f3FB504F3; + mul.f32 %f982, %f979, 0f3F000000; + add.f32 %f983, %f981, 0f3F800000; + selp.f32 %f984, %f982, %f979, %p110; + selp.f32 %f985, %f983, %f981, %p110; + add.f32 %f986, %f984, 0fBF800000; + add.f32 %f975, %f984, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f974,%f975; + // inline asm + add.f32 %f987, %f986, %f986; + mul.f32 %f988, %f974, %f987; + mul.f32 %f989, %f988, %f988; + fma.rn.f32 %f992, %f913, %f989, %f912; + fma.rn.f32 %f994, %f992, %f989, %f915; + mul.rn.f32 %f995, %f994, %f989; + mul.rn.f32 %f996, %f995, %f988; + sub.f32 %f997, %f986, %f988; + neg.f32 %f998, %f988; + add.f32 %f999, %f997, %f997; + fma.rn.f32 %f1000, %f998, %f986, %f999; + mul.rn.f32 %f1001, %f974, %f1000; + add.f32 %f1002, %f996, %f988; + sub.f32 %f1003, %f988, %f1002; + add.f32 %f1004, %f996, %f1003; + add.f32 %f1005, %f1001, %f1004; + add.f32 %f1006, %f1002, %f1005; + sub.f32 %f1007, %f1002, %f1006; + add.f32 %f1008, %f1005, %f1007; + mul.rn.f32 %f1010, %f985, %f931; + mul.rn.f32 %f1012, %f985, %f933; + add.f32 %f1013, %f1010, %f1006; + sub.f32 %f1014, %f1010, %f1013; + add.f32 %f1015, %f1006, %f1014; + add.f32 %f1016, %f1008, %f1015; + add.f32 %f1017, %f1012, %f1016; + add.f32 %f1018, %f1013, %f1017; + sub.f32 %f1019, %f1013, %f1018; + add.f32 %f1020, %f1017, %f1019; + mul.rn.f32 %f1022, %f943, %f1018; + neg.f32 %f1023, %f1022; + fma.rn.f32 %f1024, %f943, %f1018, %f1023; + fma.rn.f32 %f1025, %f943, %f1020, %f1024; + fma.rn.f32 %f1027, %f948, %f1018, %f1025; + add.rn.f32 %f1028, %f1022, %f1027; + neg.f32 %f1029, %f1028; + add.rn.f32 %f1030, %f1022, %f1029; + add.rn.f32 %f1031, %f1030, %f1027; + mov.b32 %r308, %f1028; + setp.eq.s32 %p111, %r308, 1118925336; + add.s32 %r309, %r308, -1; + mov.b32 %f1032, %r309; + add.f32 %f1033, %f1031, 0f37000000; + selp.f32 %f1034, %f1032, %f1028, %p111; + selp.f32 %f304, %f1033, %f1031, %p111; + mul.f32 %f1035, %f1034, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1036, %f1035; + fma.rn.f32 %f1038, %f1036, %f959, %f1034; + fma.rn.f32 %f1040, %f1036, %f961, %f1038; + mul.f32 %f1041, %f1040, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1042, %f1041; + add.f32 %f1043, %f1036, 0f00000000; + ex2.approx.f32 %f1044, %f1043; + mul.f32 %f1045, %f1042, %f1044; + setp.lt.f32 %p112, %f1034, 0fC2D20000; + selp.f32 %f1046, 0f00000000, %f1045, %p112; + setp.gt.f32 %p113, %f1034, 0f42D20000; + selp.f32 %f1378, 0f7F800000, %f1046, %p113; + setp.eq.f32 %p114, %f1378, 0f7F800000; + @%p114 bra BB0_110; + + fma.rn.f32 %f1378, %f1378, %f304, %f1378; + +BB0_110: + setp.lt.f32 %p115, %f287, 0f00000000; + and.pred %p5, %p115, %p100; + mov.b32 %r310, %f1378; + xor.b32 %r311, %r310, -2147483648; + mov.b32 %f1047, %r311; + selp.f32 %f1380, %f1047, %f1378, %p5; + setp.eq.f32 %p117, %f287, 0f00000000; + @%p117 bra BB0_113; + bra.uni BB0_111; + +BB0_113: + add.f32 %f1050, %f287, %f287; + selp.f32 %f1380, %f1050, 0f00000000, %p100; + bra.uni BB0_114; + +BB0_111: + setp.geu.f32 %p118, %f287, 0f00000000; + @%p118 bra BB0_114; + + cvt.rzi.f32.f32 %f1049, %f943; + setp.neu.f32 %p119, %f1049, 0f3EE66666; + selp.f32 %f1380, 0f7FFFFFFF, %f1380, %p119; + +BB0_114: + add.f32 %f1051, %f303, 0f3EE66666; + mov.b32 %r312, %f1051; + setp.lt.s32 %p121, %r312, 2139095040; + @%p121 bra BB0_119; + + setp.gtu.f32 %p122, %f303, 0f7F800000; + @%p122 bra BB0_118; + bra.uni BB0_116; + +BB0_118: + add.f32 %f1380, %f287, 0f3EE66666; + bra.uni BB0_119; + +BB0_116: + setp.neu.f32 %p123, %f303, 0f7F800000; + @%p123 bra BB0_119; + + selp.f32 %f1380, 0fFF800000, 0f7F800000, %p5; + +BB0_119: + setp.eq.f32 %p124, %f287, 0f3F800000; + selp.f32 %f315, 0f3F800000, %f1380, %p124; + abs.f32 %f316, %f288; + setp.lt.f32 %p125, %f316, 0f00800000; + mul.f32 %f1054, %f316, 0f4B800000; + selp.f32 %f1055, 0fC3170000, 0fC2FE0000, %p125; + selp.f32 %f1056, %f1054, %f316, %p125; + mov.b32 %r313, %f1056; + and.b32 %r314, %r313, 8388607; + or.b32 %r315, %r314, 1065353216; + mov.b32 %f1057, %r315; + shr.u32 %r316, %r313, 23; + cvt.rn.f32.u32 %f1058, %r316; + add.f32 %f1059, %f1055, %f1058; + setp.gt.f32 %p126, %f1057, 0f3FB504F3; + mul.f32 %f1060, %f1057, 0f3F000000; + add.f32 %f1061, %f1059, 0f3F800000; + selp.f32 %f1062, %f1060, %f1057, %p126; + selp.f32 %f1063, %f1061, %f1059, %p126; + add.f32 %f1064, %f1062, 0fBF800000; + add.f32 %f1053, %f1062, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f1052,%f1053; + // inline asm + add.f32 %f1065, %f1064, %f1064; + mul.f32 %f1066, %f1052, %f1065; + mul.f32 %f1067, %f1066, %f1066; + fma.rn.f32 %f1070, %f913, %f1067, %f912; + fma.rn.f32 %f1072, %f1070, %f1067, %f915; + mul.rn.f32 %f1073, %f1072, %f1067; + mul.rn.f32 %f1074, %f1073, %f1066; + sub.f32 %f1075, %f1064, %f1066; + neg.f32 %f1076, %f1066; + add.f32 %f1077, %f1075, %f1075; + fma.rn.f32 %f1078, %f1076, %f1064, %f1077; + mul.rn.f32 %f1079, %f1052, %f1078; + add.f32 %f1080, %f1074, %f1066; + sub.f32 %f1081, %f1066, %f1080; + add.f32 %f1082, %f1074, %f1081; + add.f32 %f1083, %f1079, %f1082; + add.f32 %f1084, %f1080, %f1083; + sub.f32 %f1085, %f1080, %f1084; + add.f32 %f1086, %f1083, %f1085; + mul.rn.f32 %f1088, %f1063, %f931; + mul.rn.f32 %f1090, %f1063, %f933; + add.f32 %f1091, %f1088, %f1084; + sub.f32 %f1092, %f1088, %f1091; + add.f32 %f1093, %f1084, %f1092; + add.f32 %f1094, %f1086, %f1093; + add.f32 %f1095, %f1090, %f1094; + add.f32 %f1096, %f1091, %f1095; + sub.f32 %f1097, %f1091, %f1096; + add.f32 %f1098, %f1095, %f1097; + mul.rn.f32 %f1100, %f943, %f1096; + neg.f32 %f1101, %f1100; + fma.rn.f32 %f1102, %f943, %f1096, %f1101; + fma.rn.f32 %f1103, %f943, %f1098, %f1102; + fma.rn.f32 %f1105, %f948, %f1096, %f1103; + add.rn.f32 %f1106, %f1100, %f1105; + neg.f32 %f1107, %f1106; + add.rn.f32 %f1108, %f1100, %f1107; + add.rn.f32 %f1109, %f1108, %f1105; + mov.b32 %r317, %f1106; + setp.eq.s32 %p127, %r317, 1118925336; + add.s32 %r318, %r317, -1; + mov.b32 %f1110, %r318; + add.f32 %f1111, %f1109, 0f37000000; + selp.f32 %f1112, %f1110, %f1106, %p127; + selp.f32 %f317, %f1111, %f1109, %p127; + mul.f32 %f1113, %f1112, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1114, %f1113; + fma.rn.f32 %f1116, %f1114, %f959, %f1112; + fma.rn.f32 %f1118, %f1114, %f961, %f1116; + mul.f32 %f1119, %f1118, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1120, %f1119; + add.f32 %f1121, %f1114, 0f00000000; + ex2.approx.f32 %f1122, %f1121; + mul.f32 %f1123, %f1120, %f1122; + setp.lt.f32 %p128, %f1112, 0fC2D20000; + selp.f32 %f1124, 0f00000000, %f1123, %p128; + setp.gt.f32 %p129, %f1112, 0f42D20000; + selp.f32 %f1381, 0f7F800000, %f1124, %p129; + setp.eq.f32 %p130, %f1381, 0f7F800000; + @%p130 bra BB0_121; + + fma.rn.f32 %f1381, %f1381, %f317, %f1381; + +BB0_121: + setp.lt.f32 %p131, %f288, 0f00000000; + and.pred %p6, %p131, %p100; + mov.b32 %r319, %f1381; + xor.b32 %r320, %r319, -2147483648; + mov.b32 %f1125, %r320; + selp.f32 %f1383, %f1125, %f1381, %p6; + setp.eq.f32 %p133, %f288, 0f00000000; + @%p133 bra BB0_124; + bra.uni BB0_122; + +BB0_124: + add.f32 %f1128, %f288, %f288; + selp.f32 %f1383, %f1128, 0f00000000, %p100; + bra.uni BB0_125; + +BB0_122: + setp.geu.f32 %p134, %f288, 0f00000000; + @%p134 bra BB0_125; + + cvt.rzi.f32.f32 %f1127, %f943; + setp.neu.f32 %p135, %f1127, 0f3EE66666; + selp.f32 %f1383, 0f7FFFFFFF, %f1383, %p135; + +BB0_125: + add.f32 %f1129, %f316, 0f3EE66666; + mov.b32 %r321, %f1129; + setp.lt.s32 %p137, %r321, 2139095040; + @%p137 bra BB0_130; + + setp.gtu.f32 %p138, %f316, 0f7F800000; + @%p138 bra BB0_129; + bra.uni BB0_127; + +BB0_129: + add.f32 %f1383, %f288, 0f3EE66666; + bra.uni BB0_130; + +BB0_127: + setp.neu.f32 %p139, %f316, 0f7F800000; + @%p139 bra BB0_130; + + selp.f32 %f1383, 0fFF800000, 0f7F800000, %p6; + +BB0_130: + mov.u32 %r395, 2; + setp.eq.f32 %p140, %f288, 0f3F800000; + selp.f32 %f1130, 0f3F800000, %f1383, %p140; + cvt.u64.u32 %rd114, %r4; + cvt.u64.u32 %rd113, %r3; + mov.u64 %rd117, image; + cvta.global.u64 %rd112, %rd117; + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd112, %r395, %r108, %rd113, %rd114, %rd29, %rd29); + // inline asm + cvt.sat.f32.f32 %f1131, %f1130; + mul.f32 %f1132, %f1131, 0f437FFD71; + cvt.rzi.u32.f32 %r324, %f1132; + cvt.sat.f32.f32 %f1133, %f315; + mul.f32 %f1134, %f1133, 0f437FFD71; + cvt.rzi.u32.f32 %r325, %f1134; + cvt.sat.f32.f32 %f1135, %f302; + mul.f32 %f1136, %f1135, 0f437FFD71; + cvt.rzi.u32.f32 %r326, %f1136; + cvt.u16.u32 %rs42, %r324; + cvt.u16.u32 %rs43, %r326; + cvt.u16.u32 %rs44, %r325; + mov.u16 %rs45, 255; + st.v4.u8 [%rd111], {%rs42, %rs44, %rs43, %rs45}; + ld.global.u32 %r436, [imageEnabled]; + +BB0_131: + cvt.u64.u32 %rd20, %r3; + cvt.u64.u32 %rd21, %r4; + and.b32 %r327, %r436, 4; + setp.eq.s32 %p141, %r327, 0; + @%p141 bra BB0_135; + + ld.global.u32 %r328, [additive]; + setp.eq.s32 %p142, %r328, 0; + // inline asm + { cvt.rn.f16.f32 %rs46, %f655;} + + // inline asm + @%p142 bra BB0_134; + + mov.u32 %r396, 2; + mov.u64 %rd130, image_HDR; + cvta.global.u64 %rd119, %rd130; + mov.u32 %r332, 8; + // inline asm + call (%rd118), _rt_buffer_get_64, (%rd119, %r396, %r332, %rd20, %rd21, %rd29, %rd29); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd118]; + // inline asm + { cvt.f32.f16 %f1138, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1139, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1140, %rs55;} + + // inline asm + // inline asm + call (%rd124), _rt_buffer_get_64, (%rd119, %r396, %r332, %rd20, %rd21, %rd29, %rd29); + // inline asm + add.f32 %f1141, %f286, %f1138; + add.f32 %f1142, %f287, %f1139; + add.f32 %f1143, %f288, %f1140; + // inline asm + { cvt.rn.f16.f32 %rs52, %f1143;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f1142;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f1141;} + + // inline asm + st.v4.u16 [%rd124], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_135; + +BB0_134: + mov.u32 %r397, 2; + mov.u64 %rd137, image_HDR; + cvta.global.u64 %rd132, %rd137; + mov.u32 %r334, 8; + // inline asm + call (%rd131), _rt_buffer_get_64, (%rd132, %r397, %r334, %rd20, %rd21, %rd29, %rd29); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f288;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f287;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f286;} + + // inline asm + st.v4.u16 [%rd131], {%rs57, %rs58, %rs59, %rs46}; + +BB0_135: + ld.global.f32 %f1148, [lightColor]; + mul.f32 %f1149, %f1365, %f1148; + ld.global.f32 %f1150, [lightColor+4]; + mul.f32 %f1151, %f1366, %f1150; + ld.global.f32 %f1152, [lightColor+8]; + mul.f32 %f1153, %f1367, %f1152; + mul.f32 %f1154, %f1362, %f1148; + mul.f32 %f1155, %f1363, %f1150; + mul.f32 %f1156, %f1364, %f1152; + mul.f32 %f1157, %f1359, %f1148; + mul.f32 %f1158, %f1360, %f1150; + mul.f32 %f1159, %f1361, %f1152; + add.f32 %f1160, %f1149, %f1154; + add.f32 %f1161, %f1151, %f1155; + add.f32 %f1162, %f1153, %f1156; + add.f32 %f1163, %f1160, %f1157; + add.f32 %f1164, %f1161, %f1158; + add.f32 %f1165, %f1162, %f1159; + mul.f32 %f1166, %f1163, 0f3F13CD3A; + mul.f32 %f1167, %f1164, 0f3F13CD3A; + mul.f32 %f1168, %f1165, 0f3F13CD3A; + div.rn.f32 %f1169, %f286, %f1166; + div.rn.f32 %f1170, %f287, %f1167; + div.rn.f32 %f1171, %f288, %f1168; + setp.eq.f32 %p143, %f286, 0f00000000; + selp.f32 %f1172, 0f00000000, %f1169, %p143; + setp.eq.f32 %p144, %f287, 0f00000000; + selp.f32 %f1173, 0f00000000, %f1170, %p144; + setp.eq.f32 %p145, %f288, 0f00000000; + selp.f32 %f1174, 0f00000000, %f1171, %p145; + mul.f32 %f328, %f1149, %f1172; + mul.f32 %f329, %f1151, %f1173; + mul.f32 %f330, %f1153, %f1174; + mul.f32 %f331, %f1154, %f1172; + mul.f32 %f332, %f1155, %f1173; + mul.f32 %f333, %f1156, %f1174; + mul.f32 %f334, %f1157, %f1172; + mul.f32 %f335, %f1158, %f1173; + mul.f32 %f336, %f1159, %f1174; + ld.global.u32 %r335, [additive]; + setp.eq.s32 %p146, %r335, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f655;} + + // inline asm + @%p146 bra BB0_137; + + mov.u32 %r398, 2; + mov.u64 %rd150, image_RNM0; + cvta.global.u64 %rd139, %rd150; + mov.u32 %r339, 8; + // inline asm + call (%rd138), _rt_buffer_get_64, (%rd139, %r398, %r339, %rd20, %rd21, %rd29, %rd29); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd138]; + // inline asm + { cvt.f32.f16 %f1175, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1176, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1177, %rs69;} + + // inline asm + // inline asm + call (%rd144), _rt_buffer_get_64, (%rd139, %r398, %r339, %rd20, %rd21, %rd29, %rd29); + // inline asm + add.f32 %f1178, %f328, %f1175; + add.f32 %f1179, %f329, %f1176; + add.f32 %f1180, %f330, %f1177; + // inline asm + { cvt.rn.f16.f32 %rs66, %f1180;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f1179;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f1178;} + + // inline asm + st.v4.u16 [%rd144], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_138; + +BB0_137: + mov.u32 %r403, 2; + mov.u64 %rd157, image_RNM0; + cvta.global.u64 %rd152, %rd157; + mov.u32 %r341, 8; + // inline asm + call (%rd151), _rt_buffer_get_64, (%rd152, %r403, %r341, %rd20, %rd21, %rd29, %rd29); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f330;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f329;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f328;} + + // inline asm + st.v4.u16 [%rd151], {%rs71, %rs72, %rs73, %rs60}; + +BB0_138: + ld.global.u32 %r342, [additive]; + setp.eq.s32 %p147, %r342, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f655;} + + // inline asm + @%p147 bra BB0_140; + + mov.u32 %r399, 2; + mov.u64 %rd170, image_RNM1; + cvta.global.u64 %rd159, %rd170; + mov.u32 %r346, 8; + // inline asm + call (%rd158), _rt_buffer_get_64, (%rd159, %r399, %r346, %rd20, %rd21, %rd29, %rd29); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd158]; + // inline asm + { cvt.f32.f16 %f1185, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1186, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1187, %rs83;} + + // inline asm + // inline asm + call (%rd164), _rt_buffer_get_64, (%rd159, %r399, %r346, %rd20, %rd21, %rd29, %rd29); + // inline asm + add.f32 %f1188, %f331, %f1185; + add.f32 %f1189, %f332, %f1186; + add.f32 %f1190, %f333, %f1187; + // inline asm + { cvt.rn.f16.f32 %rs80, %f1190;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f1189;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f1188;} + + // inline asm + st.v4.u16 [%rd164], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_141; + +BB0_140: + mov.u32 %r402, 2; + mov.u64 %rd177, image_RNM1; + cvta.global.u64 %rd172, %rd177; + mov.u32 %r348, 8; + // inline asm + call (%rd171), _rt_buffer_get_64, (%rd172, %r402, %r348, %rd20, %rd21, %rd29, %rd29); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f333;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f332;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f331;} + + // inline asm + st.v4.u16 [%rd171], {%rs85, %rs86, %rs87, %rs74}; + +BB0_141: + ld.global.u32 %r349, [additive]; + setp.eq.s32 %p148, %r349, 0; + // inline asm + { cvt.rn.f16.f32 %rs88, %f655;} + + // inline asm + @%p148 bra BB0_143; + + mov.u32 %r400, 2; + mov.u64 %rd190, image_RNM2; + cvta.global.u64 %rd179, %rd190; + mov.u32 %r353, 8; + // inline asm + call (%rd178), _rt_buffer_get_64, (%rd179, %r400, %r353, %rd20, %rd21, %rd29, %rd29); + // inline asm + ld.v4.u16 {%rs95, %rs96, %rs97, %rs98}, [%rd178]; + // inline asm + { cvt.f32.f16 %f1195, %rs95;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1196, %rs96;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1197, %rs97;} + + // inline asm + // inline asm + call (%rd184), _rt_buffer_get_64, (%rd179, %r400, %r353, %rd20, %rd21, %rd29, %rd29); + // inline asm + add.f32 %f1198, %f334, %f1195; + add.f32 %f1199, %f335, %f1196; + add.f32 %f1200, %f336, %f1197; + // inline asm + { cvt.rn.f16.f32 %rs94, %f1200;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs93, %f1199;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs92, %f1198;} + + // inline asm + st.v4.u16 [%rd184], {%rs92, %rs93, %rs94, %rs88}; + bra.uni BB0_161; + +BB0_143: + mov.u32 %r401, 2; + mov.u64 %rd197, image_RNM2; + cvta.global.u64 %rd192, %rd197; + mov.u32 %r355, 8; + // inline asm + call (%rd191), _rt_buffer_get_64, (%rd192, %r401, %r355, %rd20, %rd21, %rd29, %rd29); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs101, %f336;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs100, %f335;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f334;} + + // inline asm + st.v4.u16 [%rd191], {%rs99, %rs100, %rs101, %rs88}; + +BB0_161: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx.meta new file mode 100644 index 00000000..e5712304 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03c9f175f319b3146ac59add615feea0 +timeCreated: 1537530465 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx new file mode 100644 index 00000000..e51b7c9a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx @@ -0,0 +1,2535 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Mask[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 lightMeshBuffer[1]; +.global .align 4 .u32 lightMeshBufferSize; +.global .align 4 .f32 lightInvCutoff; +.global .align 4 .f32 lightPointSize; +.global .align 4 .b8 lightColor[12]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo19lightMeshBufferSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightInvCutoffE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo14lightPointSizeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10lightColorE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename19lightMeshBufferSizeE[13] = {117, 110, 115, 105, 103, 110, 101, 100, 32, 105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightInvCutoffE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename14lightPointSizeE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10lightColorE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum19lightMeshBufferSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightInvCutoffE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum14lightPointSizeE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10lightColorE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic14lightPointSizeE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic10lightColorE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation19lightMeshBufferSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightInvCutoffE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation14lightPointSizeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10lightColorE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[44]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<150>; + .reg .b16 %rs<158>; + .reg .f32 %f<1321>; + .reg .b32 %r<419>; + .reg .b64 %rd<317>; + + + mov.u64 %rd316, __local_depot0; + cvta.local.u64 %SP, %rd316; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r103, %r104}, [pixelID]; + cvt.u64.u32 %rd23, %r103; + cvt.u64.u32 %rd24, %r104; + mov.u64 %rd27, uvnormal; + cvta.global.u64 %rd22, %rd27; + mov.u32 %r101, 2; + mov.u32 %r102, 4; + mov.u64 %rd26, 0; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd22, %r101, %r102, %rd23, %rd24, %rd26, %rd26); + // inline asm + ld.u32 %r2, [%rd21]; + shr.u32 %r107, %r2, 16; + cvt.u16.u32 %rs1, %r107; + and.b16 %rs7, %rs1, 255; + cvt.u16.u32 %rs8, %r2; + or.b16 %rs9, %rs8, %rs7; + setp.eq.s16 %p7, %rs9, 0; + mov.f32 %f1166, 0f00000000; + mov.f32 %f1167, %f1166; + mov.f32 %f1168, %f1166; + @%p7 bra BB0_2; + + ld.u8 %rs10, [%rd21+1]; + and.b16 %rs12, %rs8, 255; + cvt.rn.f32.u16 %f358, %rs12; + div.rn.f32 %f359, %f358, 0f437F0000; + fma.rn.f32 %f360, %f359, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f361, %rs10; + div.rn.f32 %f362, %f361, 0f437F0000; + fma.rn.f32 %f363, %f362, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f364, %rs7; + div.rn.f32 %f365, %f364, 0f437F0000; + fma.rn.f32 %f366, %f365, 0f40000000, 0fBF800000; + mul.f32 %f367, %f363, %f363; + fma.rn.f32 %f368, %f360, %f360, %f367; + fma.rn.f32 %f369, %f366, %f366, %f368; + sqrt.rn.f32 %f370, %f369; + rcp.rn.f32 %f371, %f370; + mul.f32 %f1166, %f360, %f371; + mul.f32 %f1167, %f363, %f371; + mul.f32 %f1168, %f366, %f371; + +BB0_2: + ld.global.v2.u32 {%r108, %r109}, [pixelID]; + ld.global.v2.u32 {%r111, %r112}, [tileInfo]; + add.s32 %r3, %r108, %r111; + add.s32 %r4, %r109, %r112; + setp.eq.f32 %p8, %f1167, 0f00000000; + setp.eq.f32 %p9, %f1166, 0f00000000; + and.pred %p10, %p9, %p8; + setp.eq.f32 %p11, %f1168, 0f00000000; + and.pred %p12, %p10, %p11; + @%p12 bra BB0_141; + bra.uni BB0_3; + +BB0_141: + ld.global.u32 %r418, [imageEnabled]; + and.b32 %r339, %r418, 1; + setp.eq.b32 %p141, %r339, 1; + @!%p141 bra BB0_143; + bra.uni BB0_142; + +BB0_142: + cvt.u64.u32 %rd196, %r3; + cvt.u64.u32 %rd197, %r4; + mov.u64 %rd200, image; + cvta.global.u64 %rd195, %rd200; + mov.u64 %rd199, 0; + // inline asm + call (%rd194), _rt_buffer_get_64, (%rd195, %r101, %r102, %rd196, %rd197, %rd199, %rd199); + // inline asm + mov.u16 %rs90, 0; + st.v4.u8 [%rd194], {%rs90, %rs90, %rs90, %rs90}; + ld.global.u32 %r418, [imageEnabled]; + +BB0_143: + and.b32 %r342, %r418, 8; + setp.eq.s32 %p142, %r342, 0; + @%p142 bra BB0_145; + + cvt.u64.u32 %rd204, %r4; + cvt.u64.u32 %rd203, %r3; + mov.u64 %rd207, image_Mask; + cvta.global.u64 %rd202, %rd207; + mov.u64 %rd206, 0; + // inline asm + call (%rd201), _rt_buffer_get_64, (%rd202, %r101, %r101, %rd203, %rd204, %rd206, %rd206); + // inline asm + mov.f32 %f1121, 0f00000000; + cvt.rzi.u32.f32 %r345, %f1121; + cvt.u16.u32 %rs91, %r345; + mov.u16 %rs92, 0; + st.v2.u8 [%rd201], {%rs91, %rs92}; + ld.global.u32 %r418, [imageEnabled]; + +BB0_145: + cvt.u64.u32 %rd19, %r3; + cvt.u64.u32 %rd20, %r4; + and.b32 %r346, %r418, 4; + setp.eq.s32 %p143, %r346, 0; + @%p143 bra BB0_149; + + ld.global.u32 %r347, [additive]; + setp.eq.s32 %p144, %r347, 0; + @%p144 bra BB0_148; + + mov.u64 %rd220, image_HDR; + cvta.global.u64 %rd209, %rd220; + mov.u32 %r351, 8; + mov.u64 %rd219, 0; + // inline asm + call (%rd208), _rt_buffer_get_64, (%rd209, %r101, %r351, %rd19, %rd20, %rd219, %rd219); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd208]; + // inline asm + { cvt.f32.f16 %f1122, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1123, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1124, %rs101;} + + // inline asm + // inline asm + call (%rd214), _rt_buffer_get_64, (%rd209, %r101, %r351, %rd19, %rd20, %rd219, %rd219); + // inline asm + add.f32 %f1125, %f1122, 0f00000000; + add.f32 %f1126, %f1123, 0f00000000; + add.f32 %f1127, %f1124, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f1127;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f1126;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f1125;} + + // inline asm + mov.u16 %rs103, 0; + st.v4.u16 [%rd214], {%rs96, %rs97, %rs98, %rs103}; + bra.uni BB0_149; + +BB0_3: + ld.global.v2.u32 {%r121, %r122}, [pixelID]; + cvt.u64.u32 %rd30, %r121; + cvt.u64.u32 %rd31, %r122; + mov.u64 %rd40, uvpos; + cvta.global.u64 %rd29, %rd40; + mov.u32 %r117, 12; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd29, %r101, %r117, %rd30, %rd31, %rd26, %rd26); + // inline asm + ld.f32 %f9, [%rd28+8]; + ld.f32 %f8, [%rd28+4]; + ld.f32 %f7, [%rd28]; + mul.f32 %f388, %f7, 0f3456BF95; + mul.f32 %f389, %f8, 0f3456BF95; + mul.f32 %f390, %f9, 0f3456BF95; + abs.f32 %f10, %f1166; + div.rn.f32 %f391, %f388, %f10; + abs.f32 %f392, %f1167; + div.rn.f32 %f393, %f389, %f392; + abs.f32 %f11, %f1168; + div.rn.f32 %f394, %f390, %f11; + abs.f32 %f395, %f391; + abs.f32 %f396, %f393; + abs.f32 %f397, %f394; + mov.f32 %f398, 0f38D1B717; + max.f32 %f399, %f395, %f398; + max.f32 %f400, %f396, %f398; + max.f32 %f401, %f397, %f398; + fma.rn.f32 %f12, %f1166, %f399, %f7; + fma.rn.f32 %f13, %f1167, %f400, %f8; + fma.rn.f32 %f14, %f1168, %f401, %f9; + ld.global.v2.u32 {%r125, %r126}, [pixelID]; + cvt.u64.u32 %rd36, %r125; + cvt.u64.u32 %rd37, %r126; + mov.u64 %rd41, rnd_seeds; + cvta.global.u64 %rd35, %rd41; + // inline asm + call (%rd34), _rt_buffer_get_64, (%rd35, %r101, %r102, %rd36, %rd37, %rd26, %rd26); + // inline asm + ld.u32 %r129, [%rd34]; + mad.lo.s32 %r5, %r129, 1664525, 1013904223; + ld.global.u32 %r130, [lightMeshBufferSize]; + setp.eq.s32 %p14, %r130, 0; + mov.pred %p13, 0; + mov.f32 %f20, 0f00000000; + mov.u32 %r7, 0; + @%p14 bra BB0_4; + + ld.global.f32 %f15, [lightPointSize]; + mul.f32 %f16, %f12, 0f3456BF95; + mul.f32 %f17, %f13, 0f3456BF95; + mul.f32 %f18, %f14, 0f3456BF95; + and.b32 %r133, %r5, 16777215; + cvt.rn.f32.u32 %f418, %r133; + mul.f32 %f419, %f418, 0fB3800000; + fma.rn.f32 %f19, %f419, 0f3F333333, 0f3F800000; + mov.f32 %f20, 0f00000000; + mov.u32 %r387, 0; + abs.f32 %f542, %f17; + abs.f32 %f543, %f16; + max.f32 %f544, %f543, %f542; + abs.f32 %f545, %f18; + max.f32 %f546, %f544, %f545; + mov.u32 %r7, %r387; + mov.f32 %f21, %f20; + mov.f32 %f22, %f20; + mov.f32 %f23, %f20; + mov.f32 %f24, %f20; + mov.f32 %f25, %f20; + mov.f32 %f26, %f20; + mov.f32 %f27, %f20; + mov.f32 %f28, %f20; + mov.f32 %f29, %f20; + mov.f32 %f30, %f20; + mov.f32 %f31, %f20; + mov.f32 %f32, %f20; + mov.f32 %f33, %f20; + mov.f32 %f34, %f20; + mov.f32 %f35, %f20; + +BB0_6: + mul.lo.s32 %r8, %r387, 3; + cvt.s64.s32 %rd44, %r8; + mov.u64 %rd48, lightMeshBuffer; + cvta.global.u64 %rd43, %rd48; + mov.u32 %r134, 1; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd43, %r134, %r117, %rd44, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f420, [%rd42]; + sub.f32 %f421, %f420, %f7; + ld.f32 %f422, [%rd42+4]; + sub.f32 %f423, %f422, %f8; + ld.f32 %f424, [%rd42+8]; + sub.f32 %f425, %f424, %f9; + mul.f32 %f426, %f423, %f423; + fma.rn.f32 %f427, %f421, %f421, %f426; + fma.rn.f32 %f428, %f425, %f425, %f427; + sqrt.rn.f32 %f36, %f428; + rcp.rn.f32 %f429, %f36; + mul.f32 %f37, %f421, %f429; + mul.f32 %f38, %f423, %f429; + mul.f32 %f39, %f425, %f429; + mul.f32 %f430, %f1167, %f38; + fma.rn.f32 %f431, %f1166, %f37, %f430; + fma.rn.f32 %f40, %f1168, %f39, %f431; + setp.leu.f32 %p15, %f40, 0f00000000; + @%p15 bra BB0_22; + + setp.ne.s32 %p17, %r1, 0; + mul.f32 %f432, %f36, %f36; + mul.f32 %f433, %f432, 0f40C90FDB; + div.rn.f32 %f434, %f15, %f433; + add.f32 %f41, %f434, %f434; + setp.gt.f32 %p18, %f41, %f19; + and.pred %p19, %p17, %p18; + mov.pred %p149, -1; + @%p19 bra BB0_24; + + ld.global.f32 %f437, [lightInvCutoff]; + mul.f32 %f42, %f36, %f437; + mov.f32 %f441, 0f40800000; + abs.f32 %f44, %f42; + setp.lt.f32 %p20, %f44, 0f00800000; + mul.f32 %f443, %f44, 0f4B800000; + selp.f32 %f444, 0fC3170000, 0fC2FE0000, %p20; + selp.f32 %f445, %f443, %f44, %p20; + mov.b32 %r136, %f445; + and.b32 %r137, %r136, 8388607; + or.b32 %r138, %r137, 1065353216; + mov.b32 %f446, %r138; + shr.u32 %r139, %r136, 23; + cvt.rn.f32.u32 %f447, %r139; + add.f32 %f448, %f444, %f447; + setp.gt.f32 %p21, %f446, 0f3FB504F3; + mul.f32 %f449, %f446, 0f3F000000; + add.f32 %f450, %f448, 0f3F800000; + selp.f32 %f451, %f449, %f446, %p21; + selp.f32 %f452, %f450, %f448, %p21; + add.f32 %f453, %f451, 0fBF800000; + add.f32 %f436, %f451, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f435,%f436; + // inline asm + add.f32 %f454, %f453, %f453; + mul.f32 %f455, %f435, %f454; + mul.f32 %f456, %f455, %f455; + mov.f32 %f457, 0f3C4CAF63; + mov.f32 %f458, 0f3B18F0FE; + fma.rn.f32 %f459, %f458, %f456, %f457; + mov.f32 %f460, 0f3DAAAABD; + fma.rn.f32 %f461, %f459, %f456, %f460; + mul.rn.f32 %f462, %f461, %f456; + mul.rn.f32 %f463, %f462, %f455; + sub.f32 %f464, %f453, %f455; + neg.f32 %f465, %f455; + add.f32 %f466, %f464, %f464; + fma.rn.f32 %f467, %f465, %f453, %f466; + mul.rn.f32 %f468, %f435, %f467; + add.f32 %f469, %f463, %f455; + sub.f32 %f470, %f455, %f469; + add.f32 %f471, %f463, %f470; + add.f32 %f472, %f468, %f471; + add.f32 %f473, %f469, %f472; + sub.f32 %f474, %f469, %f473; + add.f32 %f475, %f472, %f474; + mov.f32 %f476, 0f3F317200; + mul.rn.f32 %f477, %f452, %f476; + mov.f32 %f478, 0f35BFBE8E; + mul.rn.f32 %f479, %f452, %f478; + add.f32 %f480, %f477, %f473; + sub.f32 %f481, %f477, %f480; + add.f32 %f482, %f473, %f481; + add.f32 %f483, %f475, %f482; + add.f32 %f484, %f479, %f483; + add.f32 %f485, %f480, %f484; + sub.f32 %f486, %f480, %f485; + add.f32 %f487, %f484, %f486; + mul.rn.f32 %f488, %f441, %f485; + neg.f32 %f489, %f488; + fma.rn.f32 %f490, %f441, %f485, %f489; + fma.rn.f32 %f491, %f441, %f487, %f490; + mov.f32 %f492, 0f00000000; + fma.rn.f32 %f493, %f492, %f485, %f491; + add.rn.f32 %f494, %f488, %f493; + neg.f32 %f495, %f494; + add.rn.f32 %f496, %f488, %f495; + add.rn.f32 %f497, %f496, %f493; + mov.b32 %r140, %f494; + setp.eq.s32 %p22, %r140, 1118925336; + add.s32 %r141, %r140, -1; + mov.b32 %f498, %r141; + add.f32 %f499, %f497, 0f37000000; + selp.f32 %f500, %f498, %f494, %p22; + selp.f32 %f45, %f499, %f497, %p22; + mul.f32 %f501, %f500, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f502, %f501; + mov.f32 %f503, 0fBF317200; + fma.rn.f32 %f504, %f502, %f503, %f500; + mov.f32 %f505, 0fB5BFBE8E; + fma.rn.f32 %f506, %f502, %f505, %f504; + mul.f32 %f507, %f506, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f508, %f507; + add.f32 %f509, %f502, 0f00000000; + ex2.approx.f32 %f510, %f509; + mul.f32 %f511, %f508, %f510; + setp.lt.f32 %p23, %f500, 0fC2D20000; + selp.f32 %f512, 0f00000000, %f511, %p23; + setp.gt.f32 %p24, %f500, 0f42D20000; + selp.f32 %f1185, 0f7F800000, %f512, %p24; + setp.eq.f32 %p25, %f1185, 0f7F800000; + @%p25 bra BB0_10; + + fma.rn.f32 %f1185, %f1185, %f45, %f1185; + +BB0_10: + mov.f32 %f1162, 0f40000000; + cvt.rzi.f32.f32 %f1161, %f1162; + add.f32 %f1160, %f1161, %f1161; + mov.f32 %f1159, 0f40800000; + sub.f32 %f1158, %f1159, %f1160; + abs.f32 %f1157, %f1158; + setp.lt.f32 %p26, %f42, 0f00000000; + setp.eq.f32 %p27, %f1157, 0f3F800000; + and.pred %p1, %p26, %p27; + mov.b32 %r142, %f1185; + xor.b32 %r143, %r142, -2147483648; + mov.b32 %f513, %r143; + selp.f32 %f1187, %f513, %f1185, %p1; + setp.eq.f32 %p28, %f42, 0f00000000; + @%p28 bra BB0_13; + bra.uni BB0_11; + +BB0_13: + add.f32 %f516, %f42, %f42; + selp.f32 %f1187, %f516, 0f00000000, %p27; + bra.uni BB0_14; + +BB0_11: + setp.geu.f32 %p29, %f42, 0f00000000; + @%p29 bra BB0_14; + + mov.f32 %f1165, 0f40800000; + cvt.rzi.f32.f32 %f515, %f1165; + setp.neu.f32 %p30, %f515, 0f40800000; + selp.f32 %f1187, 0f7FFFFFFF, %f1187, %p30; + +BB0_14: + add.f32 %f517, %f44, 0f40800000; + mov.b32 %r144, %f517; + setp.lt.s32 %p32, %r144, 2139095040; + @%p32 bra BB0_19; + + setp.gtu.f32 %p33, %f44, 0f7F800000; + @%p33 bra BB0_18; + bra.uni BB0_16; + +BB0_18: + add.f32 %f1187, %f42, 0f40800000; + bra.uni BB0_19; + +BB0_16: + setp.neu.f32 %p34, %f44, 0f7F800000; + @%p34 bra BB0_19; + + selp.f32 %f1187, 0fFF800000, 0f7F800000, %p1; + +BB0_19: + mov.u32 %r383, 1; + mov.u64 %rd309, lightMeshBuffer; + cvta.global.u64 %rd308, %rd309; + mul.lo.s32 %r382, %r387, 3; + mov.f32 %f518, 0f3F800000; + sub.f32 %f519, %f518, %f1187; + setp.eq.f32 %p35, %f42, 0f3F800000; + selp.f32 %f520, 0f00000000, %f519, %p35; + cvt.sat.f32.f32 %f521, %f520; + mul.f32 %f522, %f41, %f521; + add.s32 %r147, %r382, 1; + cvt.s64.s32 %rd51, %r147; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd308, %r383, %r117, %rd51, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f523, [%rd49]; + mul.f32 %f524, %f37, %f523; + ld.f32 %f525, [%rd49+4]; + mul.f32 %f526, %f38, %f525; + neg.f32 %f527, %f526; + sub.f32 %f528, %f527, %f524; + ld.f32 %f529, [%rd49+8]; + mul.f32 %f530, %f39, %f529; + sub.f32 %f531, %f528, %f530; + cvt.sat.f32.f32 %f532, %f531; + mul.f32 %f56, %f522, %f532; + setp.leu.f32 %p36, %f56, 0f3727C5AC; + @%p36 bra BB0_21; + + mov.u32 %r386, 1; + mov.u64 %rd311, lightMeshBuffer; + cvta.global.u64 %rd310, %rd311; + mul.lo.s32 %r385, %r387, 3; + cvt.sat.f32.f32 %f541, %f40; + add.u64 %rd56, %SP, 12; + cvta.to.local.u64 %rd63, %rd56; + max.f32 %f539, %f546, %f398; + sub.f32 %f540, %f36, %f539; + mov.u32 %r153, 1065353216; + st.local.u32 [%rd63], %r153; + ld.global.u32 %r148, [root]; + // inline asm + call _rt_trace_64, (%r148, %f12, %f13, %f14, %f37, %f38, %f39, %r386, %f539, %f540, %rd56, %r102); + // inline asm + add.s32 %r154, %r385, 2; + cvt.s64.s32 %rd59, %r154; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd310, %r386, %r117, %rd59, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f548, [%rd57]; + ld.local.f32 %f549, [%rd63]; + mul.f32 %f550, %f549, %f548; + ld.f32 %f551, [%rd57+4]; + mul.f32 %f552, %f549, %f551; + ld.f32 %f553, [%rd57+8]; + mul.f32 %f554, %f549, %f553; + mul.f32 %f555, %f56, %f550; + mul.f32 %f556, %f56, %f552; + mul.f32 %f557, %f56, %f554; + fma.rn.f32 %f23, %f541, %f555, %f23; + fma.rn.f32 %f22, %f541, %f556, %f22; + fma.rn.f32 %f21, %f541, %f557, %f21; + mul.f32 %f558, %f40, 0f40800000; + cvt.sat.f32.f32 %f559, %f558; + mul.f32 %f560, %f555, %f559; + mul.f32 %f561, %f556, %f559; + mul.f32 %f562, %f559, %f557; + fma.rn.f32 %f29, %f37, %f560, %f29; + fma.rn.f32 %f28, %f37, %f561, %f28; + fma.rn.f32 %f27, %f37, %f562, %f27; + fma.rn.f32 %f32, %f38, %f560, %f32; + fma.rn.f32 %f31, %f38, %f561, %f31; + fma.rn.f32 %f30, %f38, %f562, %f30; + fma.rn.f32 %f35, %f39, %f560, %f35; + fma.rn.f32 %f34, %f39, %f561, %f34; + fma.rn.f32 %f33, %f39, %f562, %f33; + add.f32 %f26, %f26, %f560; + add.f32 %f25, %f25, %f561; + add.f32 %f24, %f24, %f562; + add.f32 %f20, %f20, %f549; + +BB0_21: + add.s32 %r7, %r7, 1; + +BB0_22: + ld.global.u32 %r155, [lightMeshBufferSize]; + add.s32 %r387, %r387, 1; + setp.lt.u32 %p38, %r387, %r155; + @%p38 bra BB0_6; + bra.uni BB0_23; + +BB0_4: + mov.f32 %f21, %f20; + mov.f32 %f22, %f20; + mov.f32 %f23, %f20; + mov.f32 %f24, %f20; + mov.f32 %f25, %f20; + mov.f32 %f26, %f20; + mov.f32 %f27, %f20; + mov.f32 %f28, %f20; + mov.f32 %f29, %f20; + mov.f32 %f30, %f20; + mov.f32 %f31, %f20; + mov.f32 %f32, %f20; + mov.f32 %f33, %f20; + mov.f32 %f34, %f20; + mov.f32 %f35, %f20; + +BB0_23: + mov.pred %p149, %p13; + +BB0_24: + cvt.rn.f32.s32 %f563, %r7; + mov.f32 %f564, 0f3F800000; + max.f32 %f565, %f563, %f564; + rcp.rn.f32 %f566, %f565; + mul.f32 %f1305, %f23, %f566; + mul.f32 %f1306, %f22, %f566; + mul.f32 %f1307, %f21, %f566; + div.rn.f32 %f1308, %f20, %f565; + mul.f32 %f1302, %f26, %f566; + mul.f32 %f1303, %f25, %f566; + mul.f32 %f1304, %f24, %f566; + mul.f32 %f1299, %f29, %f566; + mul.f32 %f1300, %f28, %f566; + mul.f32 %f1301, %f27, %f566; + mul.f32 %f1296, %f32, %f566; + mul.f32 %f1297, %f31, %f566; + mul.f32 %f1298, %f30, %f566; + mul.f32 %f1293, %f35, %f566; + mul.f32 %f1294, %f34, %f566; + mul.f32 %f1295, %f33, %f566; + @!%p149 bra BB0_77; + bra.uni BB0_25; + +BB0_25: + abs.f32 %f1164, %f1168; + abs.f32 %f1163, %f1166; + setp.gt.f32 %p39, %f1163, %f1164; + neg.f32 %f582, %f1167; + selp.f32 %f583, %f582, 0f00000000, %p39; + neg.f32 %f584, %f1168; + selp.f32 %f585, %f1166, %f584, %p39; + selp.f32 %f586, 0f00000000, %f1167, %p39; + mul.f32 %f587, %f585, %f585; + fma.rn.f32 %f588, %f583, %f583, %f587; + fma.rn.f32 %f589, %f586, %f586, %f588; + sqrt.rn.f32 %f590, %f589; + rcp.rn.f32 %f591, %f590; + mul.f32 %f137, %f583, %f591; + mul.f32 %f138, %f585, %f591; + mul.f32 %f139, %f586, %f591; + mov.f32 %f581, 0f00000000; + setp.lt.s32 %p40, %r1, 1; + mov.f32 %f1251, %f581; + mov.f32 %f1252, %f581; + mov.f32 %f1253, %f581; + mov.f32 %f1254, %f581; + mov.f32 %f1255, %f581; + mov.f32 %f1256, %f581; + mov.f32 %f1257, %f581; + mov.f32 %f1258, %f581; + mov.f32 %f1259, %f581; + mov.f32 %f1260, %f581; + mov.f32 %f1261, %f581; + mov.f32 %f1262, %f581; + mov.f32 %f1263, %f581; + mov.f32 %f1264, %f581; + mov.f32 %f1265, %f581; + @%p40 bra BB0_76; + + mad.lo.s32 %r394, %r129, 1664525, 1013904223; + cvt.rn.f32.s32 %f607, %r1; + rcp.rn.f32 %f140, %f607; + add.u64 %rd65, %SP, 16; + cvta.to.local.u64 %rd2, %rd65; + mul.f32 %f141, %f12, 0f3456BF95; + mul.f32 %f142, %f13, 0f3456BF95; + mul.f32 %f143, %f14, 0f3456BF95; + add.u64 %rd66, %SP, 0; + cvta.to.local.u64 %rd3, %rd66; + mul.f32 %f608, %f1166, %f138; + mul.f32 %f609, %f1167, %f137; + sub.f32 %f144, %f609, %f608; + mul.f32 %f610, %f1168, %f137; + mul.f32 %f611, %f1166, %f139; + sub.f32 %f145, %f611, %f610; + mul.f32 %f612, %f1167, %f139; + mul.f32 %f613, %f1168, %f138; + sub.f32 %f146, %f613, %f612; + mov.f32 %f1251, 0f00000000; + mov.u32 %r156, 0; + abs.f32 %f614, %f142; + abs.f32 %f615, %f141; + max.f32 %f616, %f615, %f614; + abs.f32 %f617, %f143; + max.f32 %f618, %f616, %f617; + mov.u32 %r391, %r156; + mov.f32 %f1252, %f1251; + mov.f32 %f1253, %f1251; + mov.f32 %f1254, %f1251; + mov.f32 %f1255, %f1251; + mov.f32 %f1256, %f1251; + mov.f32 %f1257, %f1251; + mov.f32 %f1258, %f1251; + mov.f32 %f1259, %f1251; + mov.f32 %f1260, %f1251; + mov.f32 %f1261, %f1251; + mov.f32 %f1262, %f1251; + mov.f32 %f1263, %f1251; + mov.f32 %f1264, %f1251; + mov.f32 %f1265, %f1251; + +BB0_27: + cvt.rn.f32.s32 %f162, %r391; + max.f32 %f163, %f618, %f398; + mov.u32 %r393, %r156; + +BB0_28: + mad.lo.s32 %r158, %r394, 1664525, 1013904223; + and.b32 %r159, %r158, 16777215; + cvt.rn.f32.u32 %f620, %r159; + fma.rn.f32 %f621, %f620, 0f33800000, %f162; + mul.f32 %f179, %f140, %f621; + mad.lo.s32 %r394, %r158, 1664525, 1013904223; + and.b32 %r160, %r394, 16777215; + cvt.rn.f32.u32 %f622, %r160; + cvt.rn.f32.s32 %f623, %r393; + fma.rn.f32 %f624, %f622, 0f33800000, %f623; + mul.f32 %f625, %f140, %f624; + mul.f32 %f626, %f179, %f179; + sub.f32 %f628, %f564, %f626; + mov.f32 %f629, 0f00000000; + max.f32 %f630, %f629, %f628; + sqrt.rn.f32 %f180, %f630; + mul.f32 %f1272, %f625, 0f40C90FDB; + abs.f32 %f182, %f1272; + setp.neu.f32 %p41, %f182, 0f7F800000; + mov.f32 %f1266, %f1272; + @%p41 bra BB0_30; + + mul.rn.f32 %f1266, %f1272, %f629; + +BB0_30: + mul.f32 %f632, %f1266, 0f3F22F983; + cvt.rni.s32.f32 %r404, %f632; + cvt.rn.f32.s32 %f633, %r404; + neg.f32 %f634, %f633; + mov.f32 %f635, 0f3FC90FDA; + fma.rn.f32 %f636, %f634, %f635, %f1266; + mov.f32 %f637, 0f33A22168; + fma.rn.f32 %f638, %f634, %f637, %f636; + mov.f32 %f639, 0f27C234C5; + fma.rn.f32 %f1267, %f634, %f639, %f638; + abs.f32 %f640, %f1266; + setp.leu.f32 %p42, %f640, 0f47CE4780; + @%p42 bra BB0_41; + + mov.b32 %r19, %f1266; + shr.u32 %r20, %r19, 23; + shl.b32 %r163, %r19, 8; + or.b32 %r21, %r163, -2147483648; + mov.u32 %r395, 0; + mov.u64 %rd313, 0; + mov.u64 %rd312, %rd2; + mov.u32 %r396, %r395; + +BB0_32: + .pragma "nounroll"; + shl.b64 %rd68, %rd313, 2; + mov.u64 %rd69, __cudart_i2opi_f; + add.s64 %rd70, %rd69, %rd68; + ld.const.u32 %r166, [%rd70]; + // inline asm + { + mad.lo.cc.u32 %r164, %r166, %r21, %r396; + madc.hi.u32 %r396, %r166, %r21, 0; + } + // inline asm + st.local.u32 [%rd312], %r164; + add.s32 %r395, %r395, 1; + cvt.s64.s32 %rd313, %r395; + mul.wide.s32 %rd71, %r395, 4; + add.s64 %rd312, %rd2, %rd71; + setp.ne.s32 %p43, %r395, 6; + @%p43 bra BB0_32; + + and.b32 %r169, %r20, 255; + add.s32 %r170, %r169, -128; + shr.u32 %r171, %r170, 5; + and.b32 %r26, %r19, -2147483648; + st.local.u32 [%rd2+24], %r396; + mov.u32 %r172, 6; + sub.s32 %r173, %r172, %r171; + mul.wide.s32 %rd72, %r173, 4; + add.s64 %rd9, %rd2, %rd72; + ld.local.u32 %r397, [%rd9]; + ld.local.u32 %r398, [%rd9+-4]; + and.b32 %r29, %r20, 31; + setp.eq.s32 %p44, %r29, 0; + @%p44 bra BB0_35; + + mov.u32 %r174, 32; + sub.s32 %r175, %r174, %r29; + shr.u32 %r176, %r398, %r175; + shl.b32 %r177, %r397, %r29; + add.s32 %r397, %r176, %r177; + ld.local.u32 %r178, [%rd9+-8]; + shr.u32 %r179, %r178, %r175; + shl.b32 %r180, %r398, %r29; + add.s32 %r398, %r179, %r180; + +BB0_35: + shr.u32 %r181, %r398, 30; + shl.b32 %r182, %r397, 2; + add.s32 %r399, %r181, %r182; + shl.b32 %r35, %r398, 2; + shr.u32 %r183, %r399, 31; + shr.u32 %r184, %r397, 30; + add.s32 %r36, %r183, %r184; + setp.eq.s32 %p45, %r183, 0; + @%p45 bra BB0_36; + bra.uni BB0_37; + +BB0_36: + mov.u32 %r400, %r26; + mov.u32 %r401, %r35; + bra.uni BB0_38; + +BB0_37: + not.b32 %r185, %r399; + neg.s32 %r401, %r35; + setp.eq.s32 %p46, %r35, 0; + selp.u32 %r186, 1, 0, %p46; + add.s32 %r399, %r186, %r185; + xor.b32 %r400, %r26, -2147483648; + +BB0_38: + clz.b32 %r403, %r399; + setp.eq.s32 %p47, %r403, 0; + shl.b32 %r187, %r399, %r403; + mov.u32 %r188, 32; + sub.s32 %r189, %r188, %r403; + shr.u32 %r190, %r401, %r189; + add.s32 %r191, %r190, %r187; + selp.b32 %r44, %r399, %r191, %p47; + mov.u32 %r192, -921707870; + mul.hi.u32 %r402, %r44, %r192; + setp.eq.s32 %p48, %r26, 0; + neg.s32 %r193, %r36; + selp.b32 %r404, %r36, %r193, %p48; + setp.lt.s32 %p49, %r402, 1; + @%p49 bra BB0_40; + + mul.lo.s32 %r194, %r44, -921707870; + shr.u32 %r195, %r194, 31; + shl.b32 %r196, %r402, 1; + add.s32 %r402, %r195, %r196; + add.s32 %r403, %r403, 1; + +BB0_40: + mov.u32 %r197, 126; + sub.s32 %r198, %r197, %r403; + shl.b32 %r199, %r198, 23; + add.s32 %r200, %r402, 1; + shr.u32 %r201, %r200, 7; + add.s32 %r202, %r201, 1; + shr.u32 %r203, %r202, 1; + add.s32 %r204, %r203, %r199; + or.b32 %r205, %r204, %r400; + mov.b32 %f1267, %r205; + +BB0_41: + mul.rn.f32 %f188, %f1267, %f1267; + add.s32 %r52, %r404, 1; + and.b32 %r53, %r52, 1; + setp.eq.s32 %p50, %r53, 0; + @%p50 bra BB0_43; + bra.uni BB0_42; + +BB0_43: + mov.f32 %f643, 0f3C08839E; + mov.f32 %f644, 0fB94CA1F9; + fma.rn.f32 %f1268, %f644, %f188, %f643; + bra.uni BB0_44; + +BB0_42: + mov.f32 %f641, 0fBAB6061A; + mov.f32 %f642, 0f37CCF5CE; + fma.rn.f32 %f1268, %f642, %f188, %f641; + +BB0_44: + @%p50 bra BB0_46; + bra.uni BB0_45; + +BB0_46: + mov.f32 %f648, 0fBE2AAAA3; + fma.rn.f32 %f649, %f1268, %f188, %f648; + fma.rn.f32 %f1269, %f649, %f188, %f629; + bra.uni BB0_47; + +BB0_45: + mov.f32 %f645, 0f3D2AAAA5; + fma.rn.f32 %f646, %f1268, %f188, %f645; + mov.f32 %f647, 0fBF000000; + fma.rn.f32 %f1269, %f646, %f188, %f647; + +BB0_47: + fma.rn.f32 %f1270, %f1269, %f1267, %f1267; + @%p50 bra BB0_49; + + fma.rn.f32 %f1270, %f1269, %f188, %f564; + +BB0_49: + and.b32 %r206, %r52, 2; + setp.eq.s32 %p53, %r206, 0; + @%p53 bra BB0_51; + + mov.f32 %f653, 0fBF800000; + fma.rn.f32 %f1270, %f1270, %f653, %f629; + +BB0_51: + @%p41 bra BB0_53; + + mul.rn.f32 %f1272, %f1272, %f629; + +BB0_53: + mul.f32 %f655, %f1272, 0f3F22F983; + cvt.rni.s32.f32 %r414, %f655; + cvt.rn.f32.s32 %f656, %r414; + neg.f32 %f657, %f656; + fma.rn.f32 %f659, %f657, %f635, %f1272; + fma.rn.f32 %f661, %f657, %f637, %f659; + fma.rn.f32 %f1273, %f657, %f639, %f661; + abs.f32 %f663, %f1272; + setp.leu.f32 %p55, %f663, 0f47CE4780; + @%p55 bra BB0_64; + + mov.b32 %r55, %f1272; + shr.u32 %r56, %r55, 23; + shl.b32 %r209, %r55, 8; + or.b32 %r57, %r209, -2147483648; + mov.u32 %r405, 0; + mov.u64 %rd314, %rd2; + mov.u64 %rd315, %rd26; + mov.u32 %r406, %r405; + +BB0_55: + .pragma "nounroll"; + shl.b64 %rd74, %rd315, 2; + mov.u64 %rd75, __cudart_i2opi_f; + add.s64 %rd76, %rd75, %rd74; + ld.const.u32 %r212, [%rd76]; + // inline asm + { + mad.lo.cc.u32 %r210, %r212, %r57, %r406; + madc.hi.u32 %r406, %r212, %r57, 0; + } + // inline asm + st.local.u32 [%rd314], %r210; + add.s32 %r405, %r405, 1; + cvt.s64.s32 %rd315, %r405; + mul.wide.s32 %rd77, %r405, 4; + add.s64 %rd314, %rd2, %rd77; + setp.ne.s32 %p56, %r405, 6; + @%p56 bra BB0_55; + + and.b32 %r215, %r56, 255; + add.s32 %r216, %r215, -128; + shr.u32 %r217, %r216, 5; + and.b32 %r62, %r55, -2147483648; + st.local.u32 [%rd2+24], %r406; + mov.u32 %r218, 6; + sub.s32 %r219, %r218, %r217; + mul.wide.s32 %rd78, %r219, 4; + add.s64 %rd15, %rd2, %rd78; + ld.local.u32 %r407, [%rd15]; + ld.local.u32 %r408, [%rd15+-4]; + and.b32 %r65, %r56, 31; + setp.eq.s32 %p57, %r65, 0; + @%p57 bra BB0_58; + + mov.u32 %r220, 32; + sub.s32 %r221, %r220, %r65; + shr.u32 %r222, %r408, %r221; + shl.b32 %r223, %r407, %r65; + add.s32 %r407, %r222, %r223; + ld.local.u32 %r224, [%rd15+-8]; + shr.u32 %r225, %r224, %r221; + shl.b32 %r226, %r408, %r65; + add.s32 %r408, %r225, %r226; + +BB0_58: + shr.u32 %r227, %r408, 30; + shl.b32 %r228, %r407, 2; + add.s32 %r409, %r227, %r228; + shl.b32 %r71, %r408, 2; + shr.u32 %r229, %r409, 31; + shr.u32 %r230, %r407, 30; + add.s32 %r72, %r229, %r230; + setp.eq.s32 %p58, %r229, 0; + @%p58 bra BB0_59; + bra.uni BB0_60; + +BB0_59: + mov.u32 %r410, %r62; + mov.u32 %r411, %r71; + bra.uni BB0_61; + +BB0_60: + not.b32 %r231, %r409; + neg.s32 %r411, %r71; + setp.eq.s32 %p59, %r71, 0; + selp.u32 %r232, 1, 0, %p59; + add.s32 %r409, %r232, %r231; + xor.b32 %r410, %r62, -2147483648; + +BB0_61: + clz.b32 %r413, %r409; + setp.eq.s32 %p60, %r413, 0; + shl.b32 %r233, %r409, %r413; + mov.u32 %r234, 32; + sub.s32 %r235, %r234, %r413; + shr.u32 %r236, %r411, %r235; + add.s32 %r237, %r236, %r233; + selp.b32 %r80, %r409, %r237, %p60; + mov.u32 %r238, -921707870; + mul.hi.u32 %r412, %r80, %r238; + setp.eq.s32 %p61, %r62, 0; + neg.s32 %r239, %r72; + selp.b32 %r414, %r72, %r239, %p61; + setp.lt.s32 %p62, %r412, 1; + @%p62 bra BB0_63; + + mul.lo.s32 %r240, %r80, -921707870; + shr.u32 %r241, %r240, 31; + shl.b32 %r242, %r412, 1; + add.s32 %r412, %r241, %r242; + add.s32 %r413, %r413, 1; + +BB0_63: + mov.u32 %r243, 126; + sub.s32 %r244, %r243, %r413; + shl.b32 %r245, %r244, 23; + add.s32 %r246, %r412, 1; + shr.u32 %r247, %r246, 7; + add.s32 %r248, %r247, 1; + shr.u32 %r249, %r248, 1; + add.s32 %r250, %r249, %r245; + or.b32 %r251, %r250, %r410; + mov.b32 %f1273, %r251; + +BB0_64: + mul.rn.f32 %f205, %f1273, %f1273; + and.b32 %r88, %r414, 1; + setp.eq.s32 %p63, %r88, 0; + @%p63 bra BB0_66; + bra.uni BB0_65; + +BB0_66: + mov.f32 %f666, 0f3C08839E; + mov.f32 %f667, 0fB94CA1F9; + fma.rn.f32 %f1274, %f667, %f205, %f666; + bra.uni BB0_67; + +BB0_65: + mov.f32 %f664, 0fBAB6061A; + mov.f32 %f665, 0f37CCF5CE; + fma.rn.f32 %f1274, %f665, %f205, %f664; + +BB0_67: + @%p63 bra BB0_69; + bra.uni BB0_68; + +BB0_69: + mov.f32 %f671, 0fBE2AAAA3; + fma.rn.f32 %f672, %f1274, %f205, %f671; + fma.rn.f32 %f1275, %f672, %f205, %f629; + bra.uni BB0_70; + +BB0_68: + mov.f32 %f668, 0f3D2AAAA5; + fma.rn.f32 %f669, %f1274, %f205, %f668; + mov.f32 %f670, 0fBF000000; + fma.rn.f32 %f1275, %f669, %f205, %f670; + +BB0_70: + fma.rn.f32 %f1276, %f1275, %f1273, %f1273; + @%p63 bra BB0_72; + + fma.rn.f32 %f1276, %f1275, %f205, %f564; + +BB0_72: + and.b32 %r252, %r414, 2; + setp.eq.s32 %p66, %r252, 0; + @%p66 bra BB0_74; + + mov.f32 %f676, 0fBF800000; + fma.rn.f32 %f1276, %f1276, %f676, %f629; + +BB0_74: + mul.f32 %f685, %f180, %f1270; + mul.f32 %f686, %f180, %f1276; + mul.f32 %f687, %f137, %f686; + mul.f32 %f688, %f138, %f686; + mul.f32 %f689, %f139, %f686; + fma.rn.f32 %f690, %f146, %f685, %f687; + fma.rn.f32 %f691, %f145, %f685, %f688; + fma.rn.f32 %f692, %f144, %f685, %f689; + fma.rn.f32 %f680, %f1166, %f179, %f690; + fma.rn.f32 %f681, %f1167, %f179, %f691; + fma.rn.f32 %f682, %f1168, %f179, %f692; + mov.u32 %r254, 0; + st.local.u32 [%rd3+8], %r254; + st.local.u32 [%rd3+4], %r254; + st.local.u32 [%rd3], %r254; + ld.global.u32 %r253, [root]; + mov.f32 %f684, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r253, %f12, %f13, %f14, %f680, %f681, %f682, %r254, %f163, %f684, %rd66, %r117); + // inline asm + ld.local.f32 %f693, [%rd3]; + max.f32 %f695, %f693, %f629; + ld.local.f32 %f696, [%rd3+4]; + max.f32 %f697, %f696, %f629; + ld.local.f32 %f698, [%rd3+8]; + max.f32 %f699, %f698, %f629; + fma.rn.f32 %f1259, %f680, %f695, %f1259; + fma.rn.f32 %f1258, %f680, %f697, %f1258; + fma.rn.f32 %f1257, %f680, %f699, %f1257; + fma.rn.f32 %f1262, %f681, %f695, %f1262; + fma.rn.f32 %f1261, %f681, %f697, %f1261; + fma.rn.f32 %f1260, %f681, %f699, %f1260; + fma.rn.f32 %f1265, %f682, %f695, %f1265; + fma.rn.f32 %f1264, %f682, %f697, %f1264; + fma.rn.f32 %f1263, %f682, %f699, %f1263; + add.f32 %f1256, %f1256, %f695; + add.f32 %f1255, %f1255, %f697; + add.f32 %f1254, %f1254, %f699; + mul.f32 %f700, %f1167, %f681; + fma.rn.f32 %f701, %f1166, %f680, %f700; + fma.rn.f32 %f702, %f1168, %f682, %f701; + cvt.sat.f32.f32 %f703, %f702; + fma.rn.f32 %f1253, %f695, %f703, %f1253; + fma.rn.f32 %f1252, %f697, %f703, %f1252; + fma.rn.f32 %f1251, %f699, %f703, %f1251; + add.s32 %r393, %r393, 1; + setp.lt.s32 %p67, %r393, %r1; + @%p67 bra BB0_28; + + add.s32 %r391, %r391, 1; + setp.lt.s32 %p68, %r391, %r1; + @%p68 bra BB0_27; + +BB0_76: + mul.lo.s32 %r256, %r1, %r1; + cvt.rn.f32.s32 %f704, %r256; + rcp.rn.f32 %f705, %f704; + mul.f32 %f706, %f1253, %f705; + mul.f32 %f707, %f1252, %f705; + mul.f32 %f708, %f1251, %f705; + div.rn.f32 %f1308, %f581, %f704; + mul.f32 %f1302, %f1256, %f705; + mul.f32 %f1303, %f1255, %f705; + mul.f32 %f1304, %f1254, %f705; + mul.f32 %f1299, %f1259, %f705; + mul.f32 %f1300, %f1258, %f705; + mul.f32 %f1301, %f1257, %f705; + mul.f32 %f1296, %f1262, %f705; + mul.f32 %f1297, %f1261, %f705; + mul.f32 %f1298, %f1260, %f705; + mul.f32 %f1293, %f1265, %f705; + mul.f32 %f1294, %f1264, %f705; + mul.f32 %f1295, %f1263, %f705; + fma.rn.f32 %f1305, %f1253, %f705, %f706; + fma.rn.f32 %f1306, %f1252, %f705, %f707; + fma.rn.f32 %f1307, %f1251, %f705, %f708; + +BB0_77: + ld.global.u32 %r416, [imageEnabled]; + and.b32 %r257, %r416, 8; + setp.eq.s32 %p69, %r257, 0; + @%p69 bra BB0_90; + + cvt.u64.u32 %rd82, %r3; + cvt.u64.u32 %rd83, %r4; + mov.u64 %rd86, image_Mask; + cvta.global.u64 %rd81, %rd86; + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd81, %r101, %r101, %rd82, %rd83, %rd26, %rd26); + // inline asm + mov.f32 %f712, 0f3E68BA2E; + cvt.rzi.f32.f32 %f713, %f712; + fma.rn.f32 %f714, %f713, 0fC0000000, 0f3EE8BA2E; + abs.f32 %f279, %f714; + abs.f32 %f280, %f1308; + setp.lt.f32 %p70, %f280, 0f00800000; + mul.f32 %f715, %f280, 0f4B800000; + selp.f32 %f716, 0fC3170000, 0fC2FE0000, %p70; + selp.f32 %f717, %f715, %f280, %p70; + mov.b32 %r260, %f717; + and.b32 %r261, %r260, 8388607; + or.b32 %r262, %r261, 1065353216; + mov.b32 %f718, %r262; + shr.u32 %r263, %r260, 23; + cvt.rn.f32.u32 %f719, %r263; + add.f32 %f720, %f716, %f719; + setp.gt.f32 %p71, %f718, 0f3FB504F3; + mul.f32 %f721, %f718, 0f3F000000; + add.f32 %f722, %f720, 0f3F800000; + selp.f32 %f723, %f721, %f718, %p71; + selp.f32 %f724, %f722, %f720, %p71; + add.f32 %f725, %f723, 0fBF800000; + add.f32 %f711, %f723, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f710,%f711; + // inline asm + add.f32 %f726, %f725, %f725; + mul.f32 %f727, %f710, %f726; + mul.f32 %f728, %f727, %f727; + mov.f32 %f729, 0f3C4CAF63; + mov.f32 %f730, 0f3B18F0FE; + fma.rn.f32 %f731, %f730, %f728, %f729; + mov.f32 %f732, 0f3DAAAABD; + fma.rn.f32 %f733, %f731, %f728, %f732; + mul.rn.f32 %f734, %f733, %f728; + mul.rn.f32 %f735, %f734, %f727; + sub.f32 %f736, %f725, %f727; + neg.f32 %f737, %f727; + add.f32 %f738, %f736, %f736; + fma.rn.f32 %f739, %f737, %f725, %f738; + mul.rn.f32 %f740, %f710, %f739; + add.f32 %f741, %f735, %f727; + sub.f32 %f742, %f727, %f741; + add.f32 %f743, %f735, %f742; + add.f32 %f744, %f740, %f743; + add.f32 %f745, %f741, %f744; + sub.f32 %f746, %f741, %f745; + add.f32 %f747, %f744, %f746; + mov.f32 %f748, 0f3F317200; + mul.rn.f32 %f749, %f724, %f748; + mov.f32 %f750, 0f35BFBE8E; + mul.rn.f32 %f751, %f724, %f750; + add.f32 %f752, %f749, %f745; + sub.f32 %f753, %f749, %f752; + add.f32 %f754, %f745, %f753; + add.f32 %f755, %f747, %f754; + add.f32 %f756, %f751, %f755; + add.f32 %f757, %f752, %f756; + sub.f32 %f758, %f752, %f757; + add.f32 %f759, %f756, %f758; + mov.f32 %f760, 0f3EE8BA2E; + mul.rn.f32 %f761, %f760, %f757; + neg.f32 %f762, %f761; + fma.rn.f32 %f763, %f760, %f757, %f762; + fma.rn.f32 %f764, %f760, %f759, %f763; + mov.f32 %f765, 0f00000000; + fma.rn.f32 %f766, %f765, %f757, %f764; + add.rn.f32 %f767, %f761, %f766; + neg.f32 %f768, %f767; + add.rn.f32 %f769, %f761, %f768; + add.rn.f32 %f770, %f769, %f766; + mov.b32 %r264, %f767; + setp.eq.s32 %p72, %r264, 1118925336; + add.s32 %r265, %r264, -1; + mov.b32 %f771, %r265; + add.f32 %f772, %f770, 0f37000000; + selp.f32 %f773, %f771, %f767, %p72; + selp.f32 %f281, %f772, %f770, %p72; + mul.f32 %f774, %f773, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f775, %f774; + mov.f32 %f776, 0fBF317200; + fma.rn.f32 %f777, %f775, %f776, %f773; + mov.f32 %f778, 0fB5BFBE8E; + fma.rn.f32 %f779, %f775, %f778, %f777; + mul.f32 %f780, %f779, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f781, %f780; + add.f32 %f782, %f775, 0f00000000; + ex2.approx.f32 %f783, %f782; + mul.f32 %f784, %f781, %f783; + setp.lt.f32 %p73, %f773, 0fC2D20000; + selp.f32 %f785, 0f00000000, %f784, %p73; + setp.gt.f32 %p74, %f773, 0f42D20000; + selp.f32 %f1309, 0f7F800000, %f785, %p74; + setp.eq.f32 %p75, %f1309, 0f7F800000; + @%p75 bra BB0_80; + + fma.rn.f32 %f1309, %f1309, %f281, %f1309; + +BB0_80: + setp.lt.f32 %p76, %f1308, 0f00000000; + setp.eq.f32 %p77, %f279, 0f3F800000; + and.pred %p3, %p76, %p77; + mov.b32 %r266, %f1309; + xor.b32 %r267, %r266, -2147483648; + mov.b32 %f786, %r267; + selp.f32 %f1311, %f786, %f1309, %p3; + setp.eq.f32 %p78, %f1308, 0f00000000; + @%p78 bra BB0_83; + bra.uni BB0_81; + +BB0_83: + add.f32 %f789, %f1308, %f1308; + selp.f32 %f1311, %f789, 0f00000000, %p77; + bra.uni BB0_84; + +BB0_148: + mov.u64 %rd227, image_HDR; + cvta.global.u64 %rd222, %rd227; + mov.u32 %r353, 8; + mov.u64 %rd226, 0; + // inline asm + call (%rd221), _rt_buffer_get_64, (%rd222, %r101, %r353, %rd19, %rd20, %rd226, %rd226); + // inline asm + mov.f32 %f1128, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f1128;} + + // inline asm + mov.u16 %rs105, 0; + st.v4.u16 [%rd221], {%rs104, %rs104, %rs104, %rs105}; + +BB0_149: + ld.global.u32 %r354, [additive]; + setp.eq.s32 %p145, %r354, 0; + @%p145 bra BB0_151; + + mov.u64 %rd240, image_RNM0; + cvta.global.u64 %rd229, %rd240; + mov.u32 %r358, 8; + mov.u64 %rd239, 0; + // inline asm + call (%rd228), _rt_buffer_get_64, (%rd229, %r101, %r358, %rd19, %rd20, %rd239, %rd239); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd228]; + // inline asm + { cvt.f32.f16 %f1129, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1130, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1131, %rs114;} + + // inline asm + // inline asm + call (%rd234), _rt_buffer_get_64, (%rd229, %r101, %r358, %rd19, %rd20, %rd239, %rd239); + // inline asm + add.f32 %f1132, %f1129, 0f00000000; + add.f32 %f1133, %f1130, 0f00000000; + add.f32 %f1134, %f1131, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f1134;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f1133;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f1132;} + + // inline asm + mov.u16 %rs116, 0; + st.v4.u16 [%rd234], {%rs109, %rs110, %rs111, %rs116}; + bra.uni BB0_152; + +BB0_151: + mov.u64 %rd247, image_RNM0; + cvta.global.u64 %rd242, %rd247; + mov.u32 %r360, 8; + mov.u64 %rd246, 0; + // inline asm + call (%rd241), _rt_buffer_get_64, (%rd242, %r101, %r360, %rd19, %rd20, %rd246, %rd246); + // inline asm + mov.f32 %f1135, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs117, %f1135;} + + // inline asm + mov.u16 %rs118, 0; + st.v4.u16 [%rd241], {%rs117, %rs117, %rs117, %rs118}; + +BB0_152: + ld.global.u32 %r361, [additive]; + setp.eq.s32 %p146, %r361, 0; + @%p146 bra BB0_154; + + mov.u64 %rd260, image_RNM1; + cvta.global.u64 %rd249, %rd260; + mov.u32 %r365, 8; + mov.u64 %rd259, 0; + // inline asm + call (%rd248), _rt_buffer_get_64, (%rd249, %r101, %r365, %rd19, %rd20, %rd259, %rd259); + // inline asm + ld.v4.u16 {%rs125, %rs126, %rs127, %rs128}, [%rd248]; + // inline asm + { cvt.f32.f16 %f1136, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1137, %rs126;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1138, %rs127;} + + // inline asm + // inline asm + call (%rd254), _rt_buffer_get_64, (%rd249, %r101, %r365, %rd19, %rd20, %rd259, %rd259); + // inline asm + add.f32 %f1139, %f1136, 0f00000000; + add.f32 %f1140, %f1137, 0f00000000; + add.f32 %f1141, %f1138, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f1141;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs123, %f1140;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f1139;} + + // inline asm + mov.u16 %rs129, 0; + st.v4.u16 [%rd254], {%rs122, %rs123, %rs124, %rs129}; + bra.uni BB0_155; + +BB0_154: + mov.u64 %rd267, image_RNM1; + cvta.global.u64 %rd262, %rd267; + mov.u32 %r367, 8; + mov.u64 %rd266, 0; + // inline asm + call (%rd261), _rt_buffer_get_64, (%rd262, %r101, %r367, %rd19, %rd20, %rd266, %rd266); + // inline asm + mov.f32 %f1142, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs130, %f1142;} + + // inline asm + mov.u16 %rs131, 0; + st.v4.u16 [%rd261], {%rs130, %rs130, %rs130, %rs131}; + +BB0_155: + ld.global.u32 %r368, [additive]; + setp.eq.s32 %p147, %r368, 0; + @%p147 bra BB0_157; + + mov.u64 %rd280, image_RNM2; + cvta.global.u64 %rd269, %rd280; + mov.u32 %r372, 8; + mov.u64 %rd279, 0; + // inline asm + call (%rd268), _rt_buffer_get_64, (%rd269, %r101, %r372, %rd19, %rd20, %rd279, %rd279); + // inline asm + ld.v4.u16 {%rs138, %rs139, %rs140, %rs141}, [%rd268]; + // inline asm + { cvt.f32.f16 %f1143, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1144, %rs139;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1145, %rs140;} + + // inline asm + // inline asm + call (%rd274), _rt_buffer_get_64, (%rd269, %r101, %r372, %rd19, %rd20, %rd279, %rd279); + // inline asm + add.f32 %f1146, %f1143, 0f00000000; + add.f32 %f1147, %f1144, 0f00000000; + add.f32 %f1148, %f1145, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f1148;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs136, %f1147;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f1146;} + + // inline asm + mov.u16 %rs142, 0; + st.v4.u16 [%rd274], {%rs135, %rs136, %rs137, %rs142}; + bra.uni BB0_158; + +BB0_157: + mov.u64 %rd287, image_RNM2; + cvta.global.u64 %rd282, %rd287; + mov.u32 %r374, 8; + mov.u64 %rd286, 0; + // inline asm + call (%rd281), _rt_buffer_get_64, (%rd282, %r101, %r374, %rd19, %rd20, %rd286, %rd286); + // inline asm + mov.f32 %f1149, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs143, %f1149;} + + // inline asm + mov.u16 %rs144, 0; + st.v4.u16 [%rd281], {%rs143, %rs143, %rs143, %rs144}; + +BB0_158: + ld.global.u32 %r375, [additive]; + setp.eq.s32 %p148, %r375, 0; + @%p148 bra BB0_160; + + mov.u64 %rd300, image_RNM3; + cvta.global.u64 %rd289, %rd300; + mov.u32 %r379, 8; + mov.u64 %rd299, 0; + // inline asm + call (%rd288), _rt_buffer_get_64, (%rd289, %r101, %r379, %rd19, %rd20, %rd299, %rd299); + // inline asm + ld.v4.u16 {%rs151, %rs152, %rs153, %rs154}, [%rd288]; + // inline asm + { cvt.f32.f16 %f1150, %rs151;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1151, %rs152;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1152, %rs153;} + + // inline asm + // inline asm + call (%rd294), _rt_buffer_get_64, (%rd289, %r101, %r379, %rd19, %rd20, %rd299, %rd299); + // inline asm + add.f32 %f1153, %f1150, 0f00000000; + add.f32 %f1154, %f1151, 0f00000000; + add.f32 %f1155, %f1152, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs150, %f1155;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs149, %f1154;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs148, %f1153;} + + // inline asm + mov.u16 %rs155, 0; + st.v4.u16 [%rd294], {%rs148, %rs149, %rs150, %rs155}; + bra.uni BB0_161; + +BB0_160: + mov.u64 %rd307, image_RNM3; + cvta.global.u64 %rd302, %rd307; + mov.u32 %r381, 8; + mov.u64 %rd306, 0; + // inline asm + call (%rd301), _rt_buffer_get_64, (%rd302, %r101, %r381, %rd19, %rd20, %rd306, %rd306); + // inline asm + mov.f32 %f1156, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs156, %f1156;} + + // inline asm + mov.u16 %rs157, 0; + st.v4.u16 [%rd301], {%rs156, %rs156, %rs156, %rs157}; + bra.uni BB0_161; + +BB0_81: + setp.geu.f32 %p79, %f1308, 0f00000000; + @%p79 bra BB0_84; + + cvt.rzi.f32.f32 %f788, %f760; + setp.neu.f32 %p80, %f788, 0f3EE8BA2E; + selp.f32 %f1311, 0f7FFFFFFF, %f1311, %p80; + +BB0_84: + add.f32 %f790, %f280, 0f3EE8BA2E; + mov.b32 %r268, %f790; + setp.lt.s32 %p82, %r268, 2139095040; + @%p82 bra BB0_89; + + setp.gtu.f32 %p83, %f280, 0f7F800000; + @%p83 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f1311, %f1308, 0f3EE8BA2E; + bra.uni BB0_89; + +BB0_86: + setp.neu.f32 %p84, %f280, 0f7F800000; + @%p84 bra BB0_89; + + selp.f32 %f1311, 0fFF800000, 0f7F800000, %p3; + +BB0_89: + mul.f32 %f791, %f1311, 0f437F0000; + setp.eq.f32 %p85, %f1308, 0f3F800000; + selp.f32 %f792, 0f437F0000, %f791, %p85; + cvt.rzi.u32.f32 %r269, %f792; + cvt.u16.u32 %rs14, %r269; + mov.u16 %rs15, 255; + st.v2.u8 [%rd80], {%rs14, %rs15}; + ld.global.u32 %r416, [imageEnabled]; + +BB0_90: + ld.global.f32 %f793, [lightColor]; + mul.f32 %f292, %f1305, %f793; + ld.global.f32 %f794, [lightColor+4]; + mul.f32 %f293, %f1306, %f794; + ld.global.f32 %f795, [lightColor+8]; + mul.f32 %f294, %f1307, %f795; + and.b32 %r270, %r416, 1; + setp.eq.b32 %p86, %r270, 1; + @!%p86 bra BB0_125; + bra.uni BB0_91; + +BB0_91: + mov.f32 %f798, 0f3E666666; + cvt.rzi.f32.f32 %f799, %f798; + fma.rn.f32 %f800, %f799, 0fC0000000, 0f3EE66666; + abs.f32 %f295, %f800; + abs.f32 %f296, %f292; + setp.lt.f32 %p87, %f296, 0f00800000; + mul.f32 %f801, %f296, 0f4B800000; + selp.f32 %f802, 0fC3170000, 0fC2FE0000, %p87; + selp.f32 %f803, %f801, %f296, %p87; + mov.b32 %r271, %f803; + and.b32 %r272, %r271, 8388607; + or.b32 %r273, %r272, 1065353216; + mov.b32 %f804, %r273; + shr.u32 %r274, %r271, 23; + cvt.rn.f32.u32 %f805, %r274; + add.f32 %f806, %f802, %f805; + setp.gt.f32 %p88, %f804, 0f3FB504F3; + mul.f32 %f807, %f804, 0f3F000000; + add.f32 %f808, %f806, 0f3F800000; + selp.f32 %f809, %f807, %f804, %p88; + selp.f32 %f810, %f808, %f806, %p88; + add.f32 %f811, %f809, 0fBF800000; + add.f32 %f797, %f809, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f796,%f797; + // inline asm + add.f32 %f812, %f811, %f811; + mul.f32 %f813, %f796, %f812; + mul.f32 %f814, %f813, %f813; + mov.f32 %f815, 0f3C4CAF63; + mov.f32 %f816, 0f3B18F0FE; + fma.rn.f32 %f817, %f816, %f814, %f815; + mov.f32 %f818, 0f3DAAAABD; + fma.rn.f32 %f819, %f817, %f814, %f818; + mul.rn.f32 %f820, %f819, %f814; + mul.rn.f32 %f821, %f820, %f813; + sub.f32 %f822, %f811, %f813; + neg.f32 %f823, %f813; + add.f32 %f824, %f822, %f822; + fma.rn.f32 %f825, %f823, %f811, %f824; + mul.rn.f32 %f826, %f796, %f825; + add.f32 %f827, %f821, %f813; + sub.f32 %f828, %f813, %f827; + add.f32 %f829, %f821, %f828; + add.f32 %f830, %f826, %f829; + add.f32 %f831, %f827, %f830; + sub.f32 %f832, %f827, %f831; + add.f32 %f833, %f830, %f832; + mov.f32 %f834, 0f3F317200; + mul.rn.f32 %f835, %f810, %f834; + mov.f32 %f836, 0f35BFBE8E; + mul.rn.f32 %f837, %f810, %f836; + add.f32 %f838, %f835, %f831; + sub.f32 %f839, %f835, %f838; + add.f32 %f840, %f831, %f839; + add.f32 %f841, %f833, %f840; + add.f32 %f842, %f837, %f841; + add.f32 %f843, %f838, %f842; + sub.f32 %f844, %f838, %f843; + add.f32 %f845, %f842, %f844; + mov.f32 %f846, 0f3EE66666; + mul.rn.f32 %f847, %f846, %f843; + neg.f32 %f848, %f847; + fma.rn.f32 %f849, %f846, %f843, %f848; + fma.rn.f32 %f850, %f846, %f845, %f849; + mov.f32 %f851, 0f00000000; + fma.rn.f32 %f852, %f851, %f843, %f850; + add.rn.f32 %f853, %f847, %f852; + neg.f32 %f854, %f853; + add.rn.f32 %f855, %f847, %f854; + add.rn.f32 %f856, %f855, %f852; + mov.b32 %r275, %f853; + setp.eq.s32 %p89, %r275, 1118925336; + add.s32 %r276, %r275, -1; + mov.b32 %f857, %r276; + add.f32 %f858, %f856, 0f37000000; + selp.f32 %f859, %f857, %f853, %p89; + selp.f32 %f297, %f858, %f856, %p89; + mul.f32 %f860, %f859, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f861, %f860; + mov.f32 %f862, 0fBF317200; + fma.rn.f32 %f863, %f861, %f862, %f859; + mov.f32 %f864, 0fB5BFBE8E; + fma.rn.f32 %f865, %f861, %f864, %f863; + mul.f32 %f866, %f865, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f867, %f866; + add.f32 %f868, %f861, 0f00000000; + ex2.approx.f32 %f869, %f868; + mul.f32 %f870, %f867, %f869; + setp.lt.f32 %p90, %f859, 0fC2D20000; + selp.f32 %f871, 0f00000000, %f870, %p90; + setp.gt.f32 %p91, %f859, 0f42D20000; + selp.f32 %f1312, 0f7F800000, %f871, %p91; + setp.eq.f32 %p92, %f1312, 0f7F800000; + @%p92 bra BB0_93; + + fma.rn.f32 %f1312, %f1312, %f297, %f1312; + +BB0_93: + setp.lt.f32 %p93, %f292, 0f00000000; + setp.eq.f32 %p94, %f295, 0f3F800000; + and.pred %p4, %p93, %p94; + mov.b32 %r277, %f1312; + xor.b32 %r278, %r277, -2147483648; + mov.b32 %f872, %r278; + selp.f32 %f1314, %f872, %f1312, %p4; + setp.eq.f32 %p95, %f292, 0f00000000; + @%p95 bra BB0_96; + bra.uni BB0_94; + +BB0_96: + add.f32 %f875, %f292, %f292; + selp.f32 %f1314, %f875, 0f00000000, %p94; + bra.uni BB0_97; + +BB0_94: + setp.geu.f32 %p96, %f292, 0f00000000; + @%p96 bra BB0_97; + + cvt.rzi.f32.f32 %f874, %f846; + setp.neu.f32 %p97, %f874, 0f3EE66666; + selp.f32 %f1314, 0f7FFFFFFF, %f1314, %p97; + +BB0_97: + add.f32 %f876, %f296, 0f3EE66666; + mov.b32 %r279, %f876; + setp.lt.s32 %p99, %r279, 2139095040; + @%p99 bra BB0_102; + + setp.gtu.f32 %p100, %f296, 0f7F800000; + @%p100 bra BB0_101; + bra.uni BB0_99; + +BB0_101: + add.f32 %f1314, %f292, 0f3EE66666; + bra.uni BB0_102; + +BB0_99: + setp.neu.f32 %p101, %f296, 0f7F800000; + @%p101 bra BB0_102; + + selp.f32 %f1314, 0fFF800000, 0f7F800000, %p4; + +BB0_102: + setp.eq.f32 %p102, %f292, 0f3F800000; + selp.f32 %f308, 0f3F800000, %f1314, %p102; + abs.f32 %f309, %f293; + setp.lt.f32 %p103, %f309, 0f00800000; + mul.f32 %f879, %f309, 0f4B800000; + selp.f32 %f880, 0fC3170000, 0fC2FE0000, %p103; + selp.f32 %f881, %f879, %f309, %p103; + mov.b32 %r280, %f881; + and.b32 %r281, %r280, 8388607; + or.b32 %r282, %r281, 1065353216; + mov.b32 %f882, %r282; + shr.u32 %r283, %r280, 23; + cvt.rn.f32.u32 %f883, %r283; + add.f32 %f884, %f880, %f883; + setp.gt.f32 %p104, %f882, 0f3FB504F3; + mul.f32 %f885, %f882, 0f3F000000; + add.f32 %f886, %f884, 0f3F800000; + selp.f32 %f887, %f885, %f882, %p104; + selp.f32 %f888, %f886, %f884, %p104; + add.f32 %f889, %f887, 0fBF800000; + add.f32 %f878, %f887, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f877,%f878; + // inline asm + add.f32 %f890, %f889, %f889; + mul.f32 %f891, %f877, %f890; + mul.f32 %f892, %f891, %f891; + fma.rn.f32 %f895, %f816, %f892, %f815; + fma.rn.f32 %f897, %f895, %f892, %f818; + mul.rn.f32 %f898, %f897, %f892; + mul.rn.f32 %f899, %f898, %f891; + sub.f32 %f900, %f889, %f891; + neg.f32 %f901, %f891; + add.f32 %f902, %f900, %f900; + fma.rn.f32 %f903, %f901, %f889, %f902; + mul.rn.f32 %f904, %f877, %f903; + add.f32 %f905, %f899, %f891; + sub.f32 %f906, %f891, %f905; + add.f32 %f907, %f899, %f906; + add.f32 %f908, %f904, %f907; + add.f32 %f909, %f905, %f908; + sub.f32 %f910, %f905, %f909; + add.f32 %f911, %f908, %f910; + mul.rn.f32 %f913, %f888, %f834; + mul.rn.f32 %f915, %f888, %f836; + add.f32 %f916, %f913, %f909; + sub.f32 %f917, %f913, %f916; + add.f32 %f918, %f909, %f917; + add.f32 %f919, %f911, %f918; + add.f32 %f920, %f915, %f919; + add.f32 %f921, %f916, %f920; + sub.f32 %f922, %f916, %f921; + add.f32 %f923, %f920, %f922; + mul.rn.f32 %f925, %f846, %f921; + neg.f32 %f926, %f925; + fma.rn.f32 %f927, %f846, %f921, %f926; + fma.rn.f32 %f928, %f846, %f923, %f927; + fma.rn.f32 %f930, %f851, %f921, %f928; + add.rn.f32 %f931, %f925, %f930; + neg.f32 %f932, %f931; + add.rn.f32 %f933, %f925, %f932; + add.rn.f32 %f934, %f933, %f930; + mov.b32 %r284, %f931; + setp.eq.s32 %p105, %r284, 1118925336; + add.s32 %r285, %r284, -1; + mov.b32 %f935, %r285; + add.f32 %f936, %f934, 0f37000000; + selp.f32 %f937, %f935, %f931, %p105; + selp.f32 %f310, %f936, %f934, %p105; + mul.f32 %f938, %f937, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f939, %f938; + fma.rn.f32 %f941, %f939, %f862, %f937; + fma.rn.f32 %f943, %f939, %f864, %f941; + mul.f32 %f944, %f943, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f945, %f944; + add.f32 %f946, %f939, 0f00000000; + ex2.approx.f32 %f947, %f946; + mul.f32 %f948, %f945, %f947; + setp.lt.f32 %p106, %f937, 0fC2D20000; + selp.f32 %f949, 0f00000000, %f948, %p106; + setp.gt.f32 %p107, %f937, 0f42D20000; + selp.f32 %f1315, 0f7F800000, %f949, %p107; + setp.eq.f32 %p108, %f1315, 0f7F800000; + @%p108 bra BB0_104; + + fma.rn.f32 %f1315, %f1315, %f310, %f1315; + +BB0_104: + setp.lt.f32 %p109, %f293, 0f00000000; + and.pred %p5, %p109, %p94; + mov.b32 %r286, %f1315; + xor.b32 %r287, %r286, -2147483648; + mov.b32 %f950, %r287; + selp.f32 %f1317, %f950, %f1315, %p5; + setp.eq.f32 %p111, %f293, 0f00000000; + @%p111 bra BB0_107; + bra.uni BB0_105; + +BB0_107: + add.f32 %f953, %f293, %f293; + selp.f32 %f1317, %f953, 0f00000000, %p94; + bra.uni BB0_108; + +BB0_105: + setp.geu.f32 %p112, %f293, 0f00000000; + @%p112 bra BB0_108; + + cvt.rzi.f32.f32 %f952, %f846; + setp.neu.f32 %p113, %f952, 0f3EE66666; + selp.f32 %f1317, 0f7FFFFFFF, %f1317, %p113; + +BB0_108: + add.f32 %f954, %f309, 0f3EE66666; + mov.b32 %r288, %f954; + setp.lt.s32 %p115, %r288, 2139095040; + @%p115 bra BB0_113; + + setp.gtu.f32 %p116, %f309, 0f7F800000; + @%p116 bra BB0_112; + bra.uni BB0_110; + +BB0_112: + add.f32 %f1317, %f293, 0f3EE66666; + bra.uni BB0_113; + +BB0_110: + setp.neu.f32 %p117, %f309, 0f7F800000; + @%p117 bra BB0_113; + + selp.f32 %f1317, 0fFF800000, 0f7F800000, %p5; + +BB0_113: + setp.eq.f32 %p118, %f293, 0f3F800000; + selp.f32 %f321, 0f3F800000, %f1317, %p118; + abs.f32 %f322, %f294; + setp.lt.f32 %p119, %f322, 0f00800000; + mul.f32 %f957, %f322, 0f4B800000; + selp.f32 %f958, 0fC3170000, 0fC2FE0000, %p119; + selp.f32 %f959, %f957, %f322, %p119; + mov.b32 %r289, %f959; + and.b32 %r290, %r289, 8388607; + or.b32 %r291, %r290, 1065353216; + mov.b32 %f960, %r291; + shr.u32 %r292, %r289, 23; + cvt.rn.f32.u32 %f961, %r292; + add.f32 %f962, %f958, %f961; + setp.gt.f32 %p120, %f960, 0f3FB504F3; + mul.f32 %f963, %f960, 0f3F000000; + add.f32 %f964, %f962, 0f3F800000; + selp.f32 %f965, %f963, %f960, %p120; + selp.f32 %f966, %f964, %f962, %p120; + add.f32 %f967, %f965, 0fBF800000; + add.f32 %f956, %f965, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f955,%f956; + // inline asm + add.f32 %f968, %f967, %f967; + mul.f32 %f969, %f955, %f968; + mul.f32 %f970, %f969, %f969; + fma.rn.f32 %f973, %f816, %f970, %f815; + fma.rn.f32 %f975, %f973, %f970, %f818; + mul.rn.f32 %f976, %f975, %f970; + mul.rn.f32 %f977, %f976, %f969; + sub.f32 %f978, %f967, %f969; + neg.f32 %f979, %f969; + add.f32 %f980, %f978, %f978; + fma.rn.f32 %f981, %f979, %f967, %f980; + mul.rn.f32 %f982, %f955, %f981; + add.f32 %f983, %f977, %f969; + sub.f32 %f984, %f969, %f983; + add.f32 %f985, %f977, %f984; + add.f32 %f986, %f982, %f985; + add.f32 %f987, %f983, %f986; + sub.f32 %f988, %f983, %f987; + add.f32 %f989, %f986, %f988; + mul.rn.f32 %f991, %f966, %f834; + mul.rn.f32 %f993, %f966, %f836; + add.f32 %f994, %f991, %f987; + sub.f32 %f995, %f991, %f994; + add.f32 %f996, %f987, %f995; + add.f32 %f997, %f989, %f996; + add.f32 %f998, %f993, %f997; + add.f32 %f999, %f994, %f998; + sub.f32 %f1000, %f994, %f999; + add.f32 %f1001, %f998, %f1000; + mul.rn.f32 %f1003, %f846, %f999; + neg.f32 %f1004, %f1003; + fma.rn.f32 %f1005, %f846, %f999, %f1004; + fma.rn.f32 %f1006, %f846, %f1001, %f1005; + fma.rn.f32 %f1008, %f851, %f999, %f1006; + add.rn.f32 %f1009, %f1003, %f1008; + neg.f32 %f1010, %f1009; + add.rn.f32 %f1011, %f1003, %f1010; + add.rn.f32 %f1012, %f1011, %f1008; + mov.b32 %r293, %f1009; + setp.eq.s32 %p121, %r293, 1118925336; + add.s32 %r294, %r293, -1; + mov.b32 %f1013, %r294; + add.f32 %f1014, %f1012, 0f37000000; + selp.f32 %f1015, %f1013, %f1009, %p121; + selp.f32 %f323, %f1014, %f1012, %p121; + mul.f32 %f1016, %f1015, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f1017, %f1016; + fma.rn.f32 %f1019, %f1017, %f862, %f1015; + fma.rn.f32 %f1021, %f1017, %f864, %f1019; + mul.f32 %f1022, %f1021, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f1023, %f1022; + add.f32 %f1024, %f1017, 0f00000000; + ex2.approx.f32 %f1025, %f1024; + mul.f32 %f1026, %f1023, %f1025; + setp.lt.f32 %p122, %f1015, 0fC2D20000; + selp.f32 %f1027, 0f00000000, %f1026, %p122; + setp.gt.f32 %p123, %f1015, 0f42D20000; + selp.f32 %f1318, 0f7F800000, %f1027, %p123; + setp.eq.f32 %p124, %f1318, 0f7F800000; + @%p124 bra BB0_115; + + fma.rn.f32 %f1318, %f1318, %f323, %f1318; + +BB0_115: + setp.lt.f32 %p125, %f294, 0f00000000; + and.pred %p6, %p125, %p94; + mov.b32 %r295, %f1318; + xor.b32 %r296, %r295, -2147483648; + mov.b32 %f1028, %r296; + selp.f32 %f1320, %f1028, %f1318, %p6; + setp.eq.f32 %p127, %f294, 0f00000000; + @%p127 bra BB0_118; + bra.uni BB0_116; + +BB0_118: + add.f32 %f1031, %f294, %f294; + selp.f32 %f1320, %f1031, 0f00000000, %p94; + bra.uni BB0_119; + +BB0_116: + setp.geu.f32 %p128, %f294, 0f00000000; + @%p128 bra BB0_119; + + cvt.rzi.f32.f32 %f1030, %f846; + setp.neu.f32 %p129, %f1030, 0f3EE66666; + selp.f32 %f1320, 0f7FFFFFFF, %f1320, %p129; + +BB0_119: + add.f32 %f1032, %f322, 0f3EE66666; + mov.b32 %r297, %f1032; + setp.lt.s32 %p131, %r297, 2139095040; + @%p131 bra BB0_124; + + setp.gtu.f32 %p132, %f322, 0f7F800000; + @%p132 bra BB0_123; + bra.uni BB0_121; + +BB0_123: + add.f32 %f1320, %f294, 0f3EE66666; + bra.uni BB0_124; + +BB0_121: + setp.neu.f32 %p133, %f322, 0f7F800000; + @%p133 bra BB0_124; + + selp.f32 %f1320, 0fFF800000, 0f7F800000, %p6; + +BB0_124: + setp.eq.f32 %p134, %f294, 0f3F800000; + selp.f32 %f1033, 0f3F800000, %f1320, %p134; + cvt.u64.u32 %rd90, %r4; + cvt.u64.u32 %rd89, %r3; + mov.u64 %rd93, image; + cvta.global.u64 %rd88, %rd93; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd88, %r101, %r102, %rd89, %rd90, %rd26, %rd26); + // inline asm + cvt.sat.f32.f32 %f1034, %f1033; + mul.f32 %f1035, %f1034, 0f437FFD71; + cvt.rzi.u32.f32 %r300, %f1035; + cvt.sat.f32.f32 %f1036, %f321; + mul.f32 %f1037, %f1036, 0f437FFD71; + cvt.rzi.u32.f32 %r301, %f1037; + cvt.sat.f32.f32 %f1038, %f308; + mul.f32 %f1039, %f1038, 0f437FFD71; + cvt.rzi.u32.f32 %r302, %f1039; + cvt.u16.u32 %rs16, %r300; + cvt.u16.u32 %rs17, %r302; + cvt.u16.u32 %rs18, %r301; + mov.u16 %rs19, 255; + st.v4.u8 [%rd87], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r416, [imageEnabled]; + +BB0_125: + cvt.u64.u32 %rd17, %r3; + cvt.u64.u32 %rd18, %r4; + and.b32 %r303, %r416, 4; + setp.eq.s32 %p135, %r303, 0; + @%p135 bra BB0_129; + + ld.global.u32 %r304, [additive]; + setp.eq.s32 %p136, %r304, 0; + // inline asm + { cvt.rn.f16.f32 %rs20, %f564;} + + // inline asm + @%p136 bra BB0_128; + + mov.u64 %rd106, image_HDR; + cvta.global.u64 %rd95, %rd106; + mov.u32 %r308, 8; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r101, %r308, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs27, %rs28, %rs29, %rs30}, [%rd94]; + // inline asm + { cvt.f32.f16 %f1041, %rs27;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1042, %rs28;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1043, %rs29;} + + // inline asm + // inline asm + call (%rd100), _rt_buffer_get_64, (%rd95, %r101, %r308, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1044, %f292, %f1041; + add.f32 %f1045, %f293, %f1042; + add.f32 %f1046, %f294, %f1043; + // inline asm + { cvt.rn.f16.f32 %rs26, %f1046;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f1045;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f1044;} + + // inline asm + st.v4.u16 [%rd100], {%rs24, %rs25, %rs26, %rs20}; + bra.uni BB0_129; + +BB0_128: + mov.u64 %rd113, image_HDR; + cvta.global.u64 %rd108, %rd113; + mov.u32 %r310, 8; + // inline asm + call (%rd107), _rt_buffer_get_64, (%rd108, %r101, %r310, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs33, %f294;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs32, %f293;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs31, %f292;} + + // inline asm + st.v4.u16 [%rd107], {%rs31, %rs32, %rs33, %rs20}; + +BB0_129: + selp.f32 %f1051, 0f3F000000, 0f3E800000, %p149; + mul.f32 %f1052, %f1051, %f1302; + mul.f32 %f1053, %f1051, %f1303; + mul.f32 %f1054, %f1051, %f1304; + mul.f32 %f1055, %f1051, %f1299; + mul.f32 %f1056, %f1051, %f1300; + mul.f32 %f1057, %f1051, %f1301; + mul.f32 %f1058, %f1051, %f1296; + mul.f32 %f1059, %f1051, %f1297; + mul.f32 %f1060, %f1051, %f1298; + mul.f32 %f1061, %f1051, %f1293; + mul.f32 %f1062, %f1051, %f1294; + mul.f32 %f1063, %f1051, %f1295; + ld.global.f32 %f1064, [lightColor]; + mul.f32 %f334, %f1052, %f1064; + ld.global.f32 %f1065, [lightColor+4]; + mul.f32 %f335, %f1053, %f1065; + ld.global.f32 %f1066, [lightColor+8]; + mul.f32 %f336, %f1054, %f1066; + mul.f32 %f337, %f1055, %f1064; + mul.f32 %f338, %f1056, %f1065; + mul.f32 %f339, %f1057, %f1066; + mul.f32 %f340, %f1058, %f1064; + mul.f32 %f341, %f1059, %f1065; + mul.f32 %f342, %f1060, %f1066; + mul.f32 %f343, %f1061, %f1064; + mul.f32 %f344, %f1062, %f1065; + mul.f32 %f345, %f1063, %f1066; + ld.global.u32 %r311, [additive]; + setp.eq.s32 %p137, %r311, 0; + // inline asm + { cvt.rn.f16.f32 %rs34, %f564;} + + // inline asm + @%p137 bra BB0_131; + + mov.u64 %rd126, image_RNM0; + cvta.global.u64 %rd115, %rd126; + mov.u32 %r315, 8; + // inline asm + call (%rd114), _rt_buffer_get_64, (%rd115, %r101, %r315, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs41, %rs42, %rs43, %rs44}, [%rd114]; + // inline asm + { cvt.f32.f16 %f1067, %rs41;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1068, %rs42;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1069, %rs43;} + + // inline asm + // inline asm + call (%rd120), _rt_buffer_get_64, (%rd115, %r101, %r315, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1070, %f334, %f1067; + add.f32 %f1071, %f335, %f1068; + add.f32 %f1072, %f336, %f1069; + // inline asm + { cvt.rn.f16.f32 %rs40, %f1072;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs39, %f1071;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs38, %f1070;} + + // inline asm + st.v4.u16 [%rd120], {%rs38, %rs39, %rs40, %rs34}; + bra.uni BB0_132; + +BB0_131: + mov.u64 %rd133, image_RNM0; + cvta.global.u64 %rd128, %rd133; + mov.u32 %r317, 8; + // inline asm + call (%rd127), _rt_buffer_get_64, (%rd128, %r101, %r317, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs47, %f336;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs46, %f335;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f334;} + + // inline asm + st.v4.u16 [%rd127], {%rs45, %rs46, %rs47, %rs34}; + +BB0_132: + mov.f32 %f1077, 0f34000000; + max.f32 %f1078, %f334, %f1077; + div.rn.f32 %f1079, %f337, %f1078; + max.f32 %f1080, %f335, %f1077; + div.rn.f32 %f1081, %f338, %f1080; + max.f32 %f1082, %f336, %f1077; + div.rn.f32 %f1083, %f339, %f1082; + fma.rn.f32 %f346, %f1079, 0f3F000000, 0f3F000000; + fma.rn.f32 %f347, %f1081, 0f3F000000, 0f3F000000; + fma.rn.f32 %f348, %f1083, 0f3F000000, 0f3F000000; + div.rn.f32 %f1084, %f340, %f1078; + div.rn.f32 %f1085, %f341, %f1080; + div.rn.f32 %f1086, %f342, %f1082; + fma.rn.f32 %f349, %f1084, 0f3F000000, 0f3F000000; + fma.rn.f32 %f350, %f1085, 0f3F000000, 0f3F000000; + fma.rn.f32 %f351, %f1086, 0f3F000000, 0f3F000000; + div.rn.f32 %f1087, %f343, %f1078; + div.rn.f32 %f1088, %f344, %f1080; + div.rn.f32 %f1089, %f345, %f1082; + fma.rn.f32 %f352, %f1087, 0f3F000000, 0f3F000000; + fma.rn.f32 %f353, %f1088, 0f3F000000, 0f3F000000; + fma.rn.f32 %f354, %f1089, 0f3F000000, 0f3F000000; + ld.global.u32 %r318, [additive]; + setp.eq.s32 %p138, %r318, 0; + // inline asm + { cvt.rn.f16.f32 %rs48, %f564;} + + // inline asm + @%p138 bra BB0_134; + + mov.u64 %rd146, image_RNM1; + cvta.global.u64 %rd135, %rd146; + mov.u32 %r322, 8; + // inline asm + call (%rd134), _rt_buffer_get_64, (%rd135, %r101, %r322, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs55, %rs56, %rs57, %rs58}, [%rd134]; + // inline asm + { cvt.f32.f16 %f1090, %rs55;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1091, %rs56;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1092, %rs57;} + + // inline asm + // inline asm + call (%rd140), _rt_buffer_get_64, (%rd135, %r101, %r322, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1093, %f346, %f1090; + add.f32 %f1094, %f347, %f1091; + add.f32 %f1095, %f348, %f1092; + // inline asm + { cvt.rn.f16.f32 %rs54, %f1095;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs53, %f1094;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f1093;} + + // inline asm + st.v4.u16 [%rd140], {%rs52, %rs53, %rs54, %rs48}; + bra.uni BB0_135; + +BB0_134: + mov.u64 %rd153, image_RNM1; + cvta.global.u64 %rd148, %rd153; + mov.u32 %r324, 8; + // inline asm + call (%rd147), _rt_buffer_get_64, (%rd148, %r101, %r324, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs61, %f348;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs60, %f347;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f346;} + + // inline asm + st.v4.u16 [%rd147], {%rs59, %rs60, %rs61, %rs48}; + +BB0_135: + ld.global.u32 %r325, [additive]; + setp.eq.s32 %p139, %r325, 0; + // inline asm + { cvt.rn.f16.f32 %rs62, %f564;} + + // inline asm + @%p139 bra BB0_137; + + mov.u64 %rd166, image_RNM2; + cvta.global.u64 %rd155, %rd166; + mov.u32 %r329, 8; + // inline asm + call (%rd154), _rt_buffer_get_64, (%rd155, %r101, %r329, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs69, %rs70, %rs71, %rs72}, [%rd154]; + // inline asm + { cvt.f32.f16 %f1100, %rs69;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1101, %rs70;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1102, %rs71;} + + // inline asm + // inline asm + call (%rd160), _rt_buffer_get_64, (%rd155, %r101, %r329, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1103, %f349, %f1100; + add.f32 %f1104, %f350, %f1101; + add.f32 %f1105, %f351, %f1102; + // inline asm + { cvt.rn.f16.f32 %rs68, %f1105;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs67, %f1104;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs66, %f1103;} + + // inline asm + st.v4.u16 [%rd160], {%rs66, %rs67, %rs68, %rs62}; + bra.uni BB0_138; + +BB0_137: + mov.u64 %rd173, image_RNM2; + cvta.global.u64 %rd168, %rd173; + mov.u32 %r331, 8; + // inline asm + call (%rd167), _rt_buffer_get_64, (%rd168, %r101, %r331, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs75, %f351;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs74, %f350;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f349;} + + // inline asm + st.v4.u16 [%rd167], {%rs73, %rs74, %rs75, %rs62}; + +BB0_138: + ld.global.u32 %r332, [additive]; + setp.eq.s32 %p140, %r332, 0; + // inline asm + { cvt.rn.f16.f32 %rs76, %f564;} + + // inline asm + @%p140 bra BB0_140; + + mov.u64 %rd186, image_RNM3; + cvta.global.u64 %rd175, %rd186; + mov.u32 %r336, 8; + // inline asm + call (%rd174), _rt_buffer_get_64, (%rd175, %r101, %r336, %rd17, %rd18, %rd26, %rd26); + // inline asm + ld.v4.u16 {%rs83, %rs84, %rs85, %rs86}, [%rd174]; + // inline asm + { cvt.f32.f16 %f1110, %rs83;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1111, %rs84;} + + // inline asm + // inline asm + { cvt.f32.f16 %f1112, %rs85;} + + // inline asm + // inline asm + call (%rd180), _rt_buffer_get_64, (%rd175, %r101, %r336, %rd17, %rd18, %rd26, %rd26); + // inline asm + add.f32 %f1113, %f352, %f1110; + add.f32 %f1114, %f353, %f1111; + add.f32 %f1115, %f354, %f1112; + // inline asm + { cvt.rn.f16.f32 %rs82, %f1115;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs81, %f1114;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs80, %f1113;} + + // inline asm + st.v4.u16 [%rd180], {%rs80, %rs81, %rs82, %rs76}; + bra.uni BB0_161; + +BB0_140: + mov.u64 %rd193, image_RNM3; + cvta.global.u64 %rd188, %rd193; + mov.u32 %r338, 8; + // inline asm + call (%rd187), _rt_buffer_get_64, (%rd188, %r101, %r338, %rd17, %rd18, %rd26, %rd26); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs89, %f354;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs88, %f353;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f352;} + + // inline asm + st.v4.u16 [%rd187], {%rs87, %rs88, %rs89, %rs76}; + +BB0_161: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx.meta new file mode 100644 index 00000000..879d935b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexAreaLightSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4cf8d5d79f6aaf7498b3b5a187abb322 +timeCreated: 1537818498 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx new file mode 100644 index 00000000..7da66c37 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx @@ -0,0 +1,1347 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 1 .b8 lightmapDirect[1]; +.global .texref albedoTex; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<94>; + .reg .b16 %rs<33>; + .reg .f32 %f<595>; + .reg .b32 %r<310>; + .reg .b64 %rd<106>; + + + mov.u64 %rd105, __local_depot0; + cvta.local.u64 %SP, %rd105; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r96, %r97}, [pixelID]; + cvt.u64.u32 %rd17, %r96; + cvt.u64.u32 %rd18, %r97; + mov.u64 %rd21, uvnormal; + cvta.global.u64 %rd16, %rd21; + mov.u32 %r94, 2; + mov.u32 %r95, 4; + mov.u64 %rd20, 0; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd16, %r94, %r95, %rd17, %rd18, %rd20, %rd20); + // inline asm + ld.u32 %r2, [%rd15]; + shr.u32 %r100, %r2, 16; + cvt.u16.u32 %rs1, %r100; + and.b16 %rs2, %rs1, 255; + cvt.u16.u32 %rs3, %r2; + or.b16 %rs4, %rs3, %rs2; + setp.eq.s16 %p4, %rs4, 0; + mov.f32 %f562, 0f00000000; + mov.f32 %f563, %f562; + mov.f32 %f564, %f562; + @%p4 bra BB0_2; + + ld.u8 %rs5, [%rd15+1]; + and.b16 %rs7, %rs3, 255; + cvt.rn.f32.u16 %f122, %rs7; + div.rn.f32 %f123, %f122, 0f437F0000; + fma.rn.f32 %f124, %f123, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f125, %rs5; + div.rn.f32 %f126, %f125, 0f437F0000; + fma.rn.f32 %f127, %f126, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f128, %rs2; + div.rn.f32 %f129, %f128, 0f437F0000; + fma.rn.f32 %f130, %f129, 0f40000000, 0fBF800000; + mul.f32 %f131, %f127, %f127; + fma.rn.f32 %f132, %f124, %f124, %f131; + fma.rn.f32 %f133, %f130, %f130, %f132; + sqrt.rn.f32 %f134, %f133; + rcp.rn.f32 %f135, %f134; + mul.f32 %f562, %f124, %f135; + mul.f32 %f563, %f127, %f135; + mul.f32 %f564, %f130, %f135; + +BB0_2: + ld.global.v2.u32 {%r101, %r102}, [pixelID]; + ld.global.v2.u32 {%r104, %r105}, [tileInfo]; + add.s32 %r3, %r101, %r104; + add.s32 %r4, %r102, %r105; + setp.eq.f32 %p5, %f563, 0f00000000; + setp.eq.f32 %p6, %f562, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f564, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_93; + bra.uni BB0_3; + +BB0_93: + ld.global.u32 %r309, [imageEnabled]; + and.b32 %r267, %r309, 1; + setp.eq.b32 %p91, %r267, 1; + @!%p91 bra BB0_95; + bra.uni BB0_94; + +BB0_94: + cvt.u64.u32 %rd79, %r3; + cvt.u64.u32 %rd80, %r4; + mov.u64 %rd83, image; + cvta.global.u64 %rd78, %rd83; + // inline asm + call (%rd77), _rt_buffer_get_64, (%rd78, %r94, %r95, %rd79, %rd80, %rd20, %rd20); + // inline asm + mov.u16 %rs28, 0; + st.v4.u8 [%rd77], {%rs28, %rs28, %rs28, %rs28}; + ld.global.u32 %r309, [imageEnabled]; + +BB0_95: + and.b32 %r270, %r309, 4; + setp.eq.s32 %p92, %r270, 0; + @%p92 bra BB0_97; + + cvt.u64.u32 %rd86, %r3; + cvt.u64.u32 %rd87, %r4; + mov.u64 %rd90, image_HDR; + cvta.global.u64 %rd85, %rd90; + mov.u32 %r272, 8; + // inline asm + call (%rd84), _rt_buffer_get_64, (%rd85, %r94, %r272, %rd86, %rd87, %rd20, %rd20); + // inline asm + mov.f32 %f530, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs29, %f530;} + + // inline asm + mov.u16 %rs30, 0; + st.v4.u16 [%rd84], {%rs29, %rs29, %rs29, %rs30}; + ld.global.u32 %r309, [imageEnabled]; + +BB0_97: + and.b32 %r273, %r309, 16; + setp.eq.s32 %p93, %r273, 0; + @%p93 bra BB0_99; + + cvt.u64.u32 %rd93, %r3; + cvt.u64.u32 %rd94, %r4; + mov.u64 %rd97, image_HDR2; + cvta.global.u64 %rd92, %rd97; + mov.u32 %r275, 8; + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd92, %r94, %r275, %rd93, %rd94, %rd20, %rd20); + // inline asm + mov.f32 %f531, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs31, %f531;} + + // inline asm + mov.u16 %rs32, 0; + st.v4.u16 [%rd91], {%rs31, %rs31, %rs31, %rs32}; + bra.uni BB0_99; + +BB0_3: + ld.global.v2.u32 {%r115, %r116}, [pixelID]; + cvt.u64.u32 %rd24, %r115; + cvt.u64.u32 %rd25, %r116; + mov.u64 %rd40, lightmapDirect; + cvta.global.u64 %rd23, %rd40; + mov.u32 %r110, 8; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r94, %r110, %rd24, %rd25, %rd20, %rd20); + // inline asm + ld.v4.u16 {%rs12, %rs13, %rs14, %rs15}, [%rd22]; + // inline asm + { cvt.f32.f16 %f136, %rs12;} + + // inline asm + // inline asm + { cvt.f32.f16 %f137, %rs13;} + + // inline asm + // inline asm + { cvt.f32.f16 %f138, %rs14;} + + // inline asm + ld.global.v2.u32 {%r119, %r120}, [pixelID]; + cvt.u64.u32 %rd30, %r119; + cvt.u64.u32 %rd31, %r120; + mov.u64 %rd41, uvpos; + cvta.global.u64 %rd29, %rd41; + mov.u32 %r112, 12; + // inline asm + call (%rd28), _rt_buffer_get_64, (%rd29, %r94, %r112, %rd30, %rd31, %rd20, %rd20); + // inline asm + ld.f32 %f142, [%rd28+8]; + ld.f32 %f143, [%rd28+4]; + ld.f32 %f144, [%rd28]; + mul.f32 %f145, %f144, 0f3456BF95; + mul.f32 %f146, %f143, 0f3456BF95; + mul.f32 %f147, %f142, 0f3456BF95; + abs.f32 %f148, %f562; + div.rn.f32 %f149, %f145, %f148; + abs.f32 %f150, %f563; + div.rn.f32 %f151, %f146, %f150; + abs.f32 %f152, %f564; + div.rn.f32 %f153, %f147, %f152; + abs.f32 %f154, %f149; + abs.f32 %f155, %f151; + abs.f32 %f156, %f153; + mov.f32 %f157, 0f38D1B717; + max.f32 %f158, %f154, %f157; + max.f32 %f159, %f155, %f157; + max.f32 %f160, %f156, %f157; + fma.rn.f32 %f10, %f562, %f158, %f144; + fma.rn.f32 %f11, %f563, %f159, %f143; + fma.rn.f32 %f12, %f564, %f160, %f142; + setp.gt.f32 %p10, %f148, %f152; + neg.f32 %f161, %f563; + selp.f32 %f162, %f161, 0f00000000, %p10; + neg.f32 %f163, %f564; + selp.f32 %f164, %f562, %f163, %p10; + selp.f32 %f165, 0f00000000, %f563, %p10; + mul.f32 %f166, %f164, %f164; + fma.rn.f32 %f167, %f162, %f162, %f166; + fma.rn.f32 %f168, %f165, %f165, %f167; + sqrt.rn.f32 %f169, %f168; + rcp.rn.f32 %f170, %f169; + mul.f32 %f13, %f162, %f170; + mul.f32 %f14, %f164, %f170; + mul.f32 %f15, %f165, %f170; + ld.global.v2.u32 {%r123, %r124}, [pixelID]; + cvt.u64.u32 %rd36, %r123; + cvt.u64.u32 %rd37, %r124; + mov.u64 %rd42, rnd_seeds; + cvta.global.u64 %rd35, %rd42; + // inline asm + call (%rd34), _rt_buffer_get_64, (%rd35, %r94, %r95, %rd36, %rd37, %rd20, %rd20); + // inline asm + mov.f32 %f568, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f569, %f568; + mov.f32 %f570, %f568; + @%p11 bra BB0_54; + + cvt.rn.f32.s32 %f174, %r1; + rcp.rn.f32 %f16, %f174; + ld.u32 %r285, [%rd34]; + mul.f32 %f17, %f10, 0f3456BF95; + mul.f32 %f18, %f11, 0f3456BF95; + mul.f32 %f19, %f12, 0f3456BF95; + mul.f32 %f175, %f562, %f14; + mul.f32 %f176, %f563, %f13; + sub.f32 %f20, %f176, %f175; + mul.f32 %f177, %f564, %f13; + mul.f32 %f178, %f562, %f15; + sub.f32 %f21, %f178, %f177; + mul.f32 %f179, %f563, %f15; + mul.f32 %f180, %f564, %f14; + sub.f32 %f22, %f180, %f179; + mov.f32 %f568, 0f00000000; + mov.u32 %r127, 0; + abs.f32 %f181, %f18; + abs.f32 %f182, %f17; + max.f32 %f183, %f182, %f181; + abs.f32 %f184, %f19; + max.f32 %f185, %f183, %f184; + mov.u32 %r282, %r127; + mov.f32 %f569, %f568; + mov.f32 %f570, %f568; + +BB0_5: + cvt.rn.f32.s32 %f26, %r282; + max.f32 %f27, %f185, %f157; + mov.u32 %r284, %r127; + +BB0_6: + mad.lo.s32 %r129, %r285, 1664525, 1013904223; + and.b32 %r130, %r129, 16777215; + cvt.rn.f32.u32 %f187, %r130; + fma.rn.f32 %f188, %f187, 0f33800000, %f26; + mul.f32 %f189, %f16, %f188; + mad.lo.s32 %r285, %r129, 1664525, 1013904223; + and.b32 %r131, %r285, 16777215; + cvt.rn.f32.u32 %f190, %r131; + cvt.rn.f32.s32 %f191, %r284; + fma.rn.f32 %f192, %f190, 0f33800000, %f191; + mul.f32 %f193, %f16, %f192; + sqrt.rn.f32 %f31, %f189; + mul.f32 %f577, %f193, 0f40C90FDB; + abs.f32 %f33, %f577; + setp.neu.f32 %p12, %f33, 0f7F800000; + mov.f32 %f571, %f577; + @%p12 bra BB0_8; + + mov.f32 %f194, 0f00000000; + mul.rn.f32 %f571, %f577, %f194; + +BB0_8: + mul.f32 %f195, %f571, 0f3F22F983; + cvt.rni.s32.f32 %r295, %f195; + cvt.rn.f32.s32 %f196, %r295; + neg.f32 %f197, %f196; + mov.f32 %f198, 0f3FC90FDA; + fma.rn.f32 %f199, %f197, %f198, %f571; + mov.f32 %f200, 0f33A22168; + fma.rn.f32 %f201, %f197, %f200, %f199; + mov.f32 %f202, 0f27C234C5; + fma.rn.f32 %f572, %f197, %f202, %f201; + abs.f32 %f203, %f571; + setp.leu.f32 %p13, %f203, 0f47CE4780; + @%p13 bra BB0_19; + + mov.b32 %r12, %f571; + shr.u32 %r13, %r12, 23; + shl.b32 %r134, %r12, 8; + or.b32 %r14, %r134, -2147483648; + add.u64 %rd44, %SP, 12; + cvta.to.local.u64 %rd102, %rd44; + mov.u32 %r287, 0; + mov.u64 %rd101, __cudart_i2opi_f; + mov.u32 %r286, -6; + +BB0_10: + .pragma "nounroll"; + ld.const.u32 %r137, [%rd101]; + // inline asm + { + mad.lo.cc.u32 %r135, %r137, %r14, %r287; + madc.hi.u32 %r287, %r137, %r14, 0; + } + // inline asm + st.local.u32 [%rd102], %r135; + add.s64 %rd102, %rd102, 4; + add.s64 %rd101, %rd101, 4; + add.s32 %r286, %r286, 1; + setp.ne.s32 %p14, %r286, 0; + @%p14 bra BB0_10; + + and.b32 %r140, %r13, 255; + add.s32 %r141, %r140, -128; + shr.u32 %r142, %r141, 5; + and.b32 %r19, %r12, -2147483648; + cvta.to.local.u64 %rd46, %rd44; + st.local.u32 [%rd46+24], %r287; + mov.u32 %r143, 6; + sub.s32 %r144, %r143, %r142; + mul.wide.s32 %rd47, %r144, 4; + add.s64 %rd8, %rd46, %rd47; + ld.local.u32 %r288, [%rd8]; + ld.local.u32 %r289, [%rd8+-4]; + and.b32 %r22, %r13, 31; + setp.eq.s32 %p15, %r22, 0; + @%p15 bra BB0_13; + + mov.u32 %r145, 32; + sub.s32 %r146, %r145, %r22; + shr.u32 %r147, %r289, %r146; + shl.b32 %r148, %r288, %r22; + add.s32 %r288, %r147, %r148; + ld.local.u32 %r149, [%rd8+-8]; + shr.u32 %r150, %r149, %r146; + shl.b32 %r151, %r289, %r22; + add.s32 %r289, %r150, %r151; + +BB0_13: + shr.u32 %r152, %r289, 30; + shl.b32 %r153, %r288, 2; + add.s32 %r290, %r152, %r153; + shl.b32 %r28, %r289, 2; + shr.u32 %r154, %r290, 31; + shr.u32 %r155, %r288, 30; + add.s32 %r29, %r154, %r155; + setp.eq.s32 %p16, %r154, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r291, %r19; + mov.u32 %r292, %r28; + bra.uni BB0_16; + +BB0_15: + not.b32 %r156, %r290; + neg.s32 %r292, %r28; + setp.eq.s32 %p17, %r28, 0; + selp.u32 %r157, 1, 0, %p17; + add.s32 %r290, %r157, %r156; + xor.b32 %r291, %r19, -2147483648; + +BB0_16: + clz.b32 %r294, %r290; + setp.eq.s32 %p18, %r294, 0; + shl.b32 %r158, %r290, %r294; + mov.u32 %r159, 32; + sub.s32 %r160, %r159, %r294; + shr.u32 %r161, %r292, %r160; + add.s32 %r162, %r161, %r158; + selp.b32 %r37, %r290, %r162, %p18; + mov.u32 %r163, -921707870; + mul.hi.u32 %r293, %r37, %r163; + setp.eq.s32 %p19, %r19, 0; + neg.s32 %r164, %r29; + selp.b32 %r295, %r29, %r164, %p19; + setp.lt.s32 %p20, %r293, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r165, %r37, -921707870; + shr.u32 %r166, %r165, 31; + shl.b32 %r167, %r293, 1; + add.s32 %r293, %r166, %r167; + add.s32 %r294, %r294, 1; + +BB0_18: + mov.u32 %r168, 126; + sub.s32 %r169, %r168, %r294; + shl.b32 %r170, %r169, 23; + add.s32 %r171, %r293, 1; + shr.u32 %r172, %r171, 7; + add.s32 %r173, %r172, 1; + shr.u32 %r174, %r173, 1; + add.s32 %r175, %r174, %r170; + or.b32 %r176, %r175, %r291; + mov.b32 %f572, %r176; + +BB0_19: + mul.rn.f32 %f39, %f572, %f572; + add.s32 %r45, %r295, 1; + and.b32 %r46, %r45, 1; + setp.eq.s32 %p21, %r46, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mov.f32 %f206, 0f3C08839E; + mov.f32 %f207, 0fB94CA1F9; + fma.rn.f32 %f573, %f207, %f39, %f206; + bra.uni BB0_22; + +BB0_20: + mov.f32 %f204, 0fBAB6061A; + mov.f32 %f205, 0f37CCF5CE; + fma.rn.f32 %f573, %f205, %f39, %f204; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mov.f32 %f211, 0fBE2AAAA3; + fma.rn.f32 %f212, %f573, %f39, %f211; + mov.f32 %f213, 0f00000000; + fma.rn.f32 %f574, %f212, %f39, %f213; + bra.uni BB0_25; + +BB0_23: + mov.f32 %f208, 0f3D2AAAA5; + fma.rn.f32 %f209, %f573, %f39, %f208; + mov.f32 %f210, 0fBF000000; + fma.rn.f32 %f574, %f209, %f39, %f210; + +BB0_25: + fma.rn.f32 %f575, %f574, %f572, %f572; + @%p21 bra BB0_27; + + mov.f32 %f214, 0f3F800000; + fma.rn.f32 %f575, %f574, %f39, %f214; + +BB0_27: + and.b32 %r177, %r45, 2; + setp.eq.s32 %p24, %r177, 0; + @%p24 bra BB0_29; + + mov.f32 %f215, 0f00000000; + mov.f32 %f216, 0fBF800000; + fma.rn.f32 %f575, %f575, %f216, %f215; + +BB0_29: + @%p12 bra BB0_31; + + mov.f32 %f217, 0f00000000; + mul.rn.f32 %f577, %f577, %f217; + +BB0_31: + mul.f32 %f218, %f577, 0f3F22F983; + cvt.rni.s32.f32 %r305, %f218; + cvt.rn.f32.s32 %f219, %r305; + neg.f32 %f220, %f219; + fma.rn.f32 %f222, %f220, %f198, %f577; + fma.rn.f32 %f224, %f220, %f200, %f222; + fma.rn.f32 %f578, %f220, %f202, %f224; + abs.f32 %f226, %f577; + setp.leu.f32 %p26, %f226, 0f47CE4780; + @%p26 bra BB0_42; + + mov.b32 %r48, %f577; + shr.u32 %r49, %r48, 23; + shl.b32 %r180, %r48, 8; + or.b32 %r50, %r180, -2147483648; + add.u64 %rd49, %SP, 12; + cvta.to.local.u64 %rd104, %rd49; + mov.u32 %r297, 0; + mov.u64 %rd103, __cudart_i2opi_f; + mov.u32 %r296, -6; + +BB0_33: + .pragma "nounroll"; + ld.const.u32 %r183, [%rd103]; + // inline asm + { + mad.lo.cc.u32 %r181, %r183, %r50, %r297; + madc.hi.u32 %r297, %r183, %r50, 0; + } + // inline asm + st.local.u32 [%rd104], %r181; + add.s64 %rd104, %rd104, 4; + add.s64 %rd103, %rd103, 4; + add.s32 %r296, %r296, 1; + setp.ne.s32 %p27, %r296, 0; + @%p27 bra BB0_33; + + and.b32 %r186, %r49, 255; + add.s32 %r187, %r186, -128; + shr.u32 %r188, %r187, 5; + and.b32 %r55, %r48, -2147483648; + cvta.to.local.u64 %rd51, %rd49; + st.local.u32 [%rd51+24], %r297; + mov.u32 %r189, 6; + sub.s32 %r190, %r189, %r188; + mul.wide.s32 %rd52, %r190, 4; + add.s64 %rd14, %rd51, %rd52; + ld.local.u32 %r298, [%rd14]; + ld.local.u32 %r299, [%rd14+-4]; + and.b32 %r58, %r49, 31; + setp.eq.s32 %p28, %r58, 0; + @%p28 bra BB0_36; + + mov.u32 %r191, 32; + sub.s32 %r192, %r191, %r58; + shr.u32 %r193, %r299, %r192; + shl.b32 %r194, %r298, %r58; + add.s32 %r298, %r193, %r194; + ld.local.u32 %r195, [%rd14+-8]; + shr.u32 %r196, %r195, %r192; + shl.b32 %r197, %r299, %r58; + add.s32 %r299, %r196, %r197; + +BB0_36: + shr.u32 %r198, %r299, 30; + shl.b32 %r199, %r298, 2; + add.s32 %r300, %r198, %r199; + shl.b32 %r64, %r299, 2; + shr.u32 %r200, %r300, 31; + shr.u32 %r201, %r298, 30; + add.s32 %r65, %r200, %r201; + setp.eq.s32 %p29, %r200, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r301, %r55; + mov.u32 %r302, %r64; + bra.uni BB0_39; + +BB0_38: + not.b32 %r202, %r300; + neg.s32 %r302, %r64; + setp.eq.s32 %p30, %r64, 0; + selp.u32 %r203, 1, 0, %p30; + add.s32 %r300, %r203, %r202; + xor.b32 %r301, %r55, -2147483648; + +BB0_39: + clz.b32 %r304, %r300; + setp.eq.s32 %p31, %r304, 0; + shl.b32 %r204, %r300, %r304; + mov.u32 %r205, 32; + sub.s32 %r206, %r205, %r304; + shr.u32 %r207, %r302, %r206; + add.s32 %r208, %r207, %r204; + selp.b32 %r73, %r300, %r208, %p31; + mov.u32 %r209, -921707870; + mul.hi.u32 %r303, %r73, %r209; + setp.eq.s32 %p32, %r55, 0; + neg.s32 %r210, %r65; + selp.b32 %r305, %r65, %r210, %p32; + setp.lt.s32 %p33, %r303, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r211, %r73, -921707870; + shr.u32 %r212, %r211, 31; + shl.b32 %r213, %r303, 1; + add.s32 %r303, %r212, %r213; + add.s32 %r304, %r304, 1; + +BB0_41: + mov.u32 %r214, 126; + sub.s32 %r215, %r214, %r304; + shl.b32 %r216, %r215, 23; + add.s32 %r217, %r303, 1; + shr.u32 %r218, %r217, 7; + add.s32 %r219, %r218, 1; + shr.u32 %r220, %r219, 1; + add.s32 %r221, %r220, %r216; + or.b32 %r222, %r221, %r301; + mov.b32 %f578, %r222; + +BB0_42: + mul.rn.f32 %f56, %f578, %f578; + and.b32 %r81, %r305, 1; + setp.eq.s32 %p34, %r81, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f229, 0f3C08839E; + mov.f32 %f230, 0fB94CA1F9; + fma.rn.f32 %f579, %f230, %f56, %f229; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f227, 0fBAB6061A; + mov.f32 %f228, 0f37CCF5CE; + fma.rn.f32 %f579, %f228, %f56, %f227; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mov.f32 %f234, 0fBE2AAAA3; + fma.rn.f32 %f235, %f579, %f56, %f234; + mov.f32 %f236, 0f00000000; + fma.rn.f32 %f580, %f235, %f56, %f236; + bra.uni BB0_48; + +BB0_46: + mov.f32 %f231, 0f3D2AAAA5; + fma.rn.f32 %f232, %f579, %f56, %f231; + mov.f32 %f233, 0fBF000000; + fma.rn.f32 %f580, %f232, %f56, %f233; + +BB0_48: + fma.rn.f32 %f581, %f580, %f578, %f578; + @%p34 bra BB0_50; + + mov.f32 %f237, 0f3F800000; + fma.rn.f32 %f581, %f580, %f56, %f237; + +BB0_50: + and.b32 %r223, %r305, 2; + setp.eq.s32 %p37, %r223, 0; + @%p37 bra BB0_52; + + mov.f32 %f238, 0f00000000; + mov.f32 %f239, 0fBF800000; + fma.rn.f32 %f581, %f581, %f239, %f238; + +BB0_52: + mul.f32 %f248, %f31, %f575; + add.u64 %rd53, %SP, 0; + cvta.to.local.u64 %rd54, %rd53; + mul.f32 %f249, %f248, %f248; + mov.f32 %f250, 0f3F800000; + sub.f32 %f251, %f250, %f249; + mul.f32 %f252, %f31, %f581; + mul.f32 %f253, %f252, %f252; + sub.f32 %f254, %f251, %f253; + mov.f32 %f255, 0f00000000; + max.f32 %f256, %f255, %f254; + sqrt.rn.f32 %f257, %f256; + mul.f32 %f258, %f13, %f252; + mul.f32 %f259, %f14, %f252; + mul.f32 %f260, %f15, %f252; + fma.rn.f32 %f261, %f22, %f248, %f258; + fma.rn.f32 %f262, %f21, %f248, %f259; + fma.rn.f32 %f263, %f20, %f248, %f260; + fma.rn.f32 %f243, %f562, %f257, %f261; + fma.rn.f32 %f244, %f563, %f257, %f262; + fma.rn.f32 %f245, %f564, %f257, %f263; + mov.u32 %r225, 0; + st.local.u32 [%rd54+8], %r225; + st.local.u32 [%rd54+4], %r225; + st.local.u32 [%rd54], %r225; + ld.global.u32 %r224, [root]; + mov.f32 %f247, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r224, %f10, %f11, %f12, %f243, %f244, %f245, %r225, %f27, %f247, %rd53, %r112); + // inline asm + ld.local.f32 %f264, [%rd54]; + add.f32 %f570, %f570, %f264; + ld.local.f32 %f265, [%rd54+4]; + add.f32 %f569, %f569, %f265; + ld.local.f32 %f266, [%rd54+8]; + add.f32 %f568, %f568, %f266; + add.s32 %r284, %r284, 1; + setp.lt.s32 %p38, %r284, %r1; + @%p38 bra BB0_6; + + add.s32 %r282, %r282, 1; + setp.lt.s32 %p39, %r282, %r1; + @%p39 bra BB0_5; + +BB0_54: + cvt.rn.f32.u32 %f267, %r4; + cvt.rn.f32.u32 %f268, %r3; + tex.2d.v4.f32.f32 {%f269, %f270, %f271, %f272}, [albedoTex, {%f268, %f267}]; + mul.lo.s32 %r227, %r1, %r1; + cvt.rn.f32.s32 %f273, %r227; + rcp.rn.f32 %f274, %f273; + mul.f32 %f275, %f570, %f274; + mul.f32 %f276, %f569, %f274; + mul.f32 %f277, %f568, %f274; + mul.f32 %f74, %f275, %f269; + mul.f32 %f75, %f276, %f270; + mul.f32 %f76, %f277, %f271; + add.f32 %f77, %f136, %f74; + add.f32 %f78, %f137, %f75; + add.f32 %f79, %f138, %f76; + ld.global.u32 %r307, [imageEnabled]; + and.b32 %r228, %r307, 1; + setp.eq.b32 %p40, %r228, 1; + @!%p40 bra BB0_89; + bra.uni BB0_55; + +BB0_55: + mov.f32 %f280, 0f3E666666; + cvt.rzi.f32.f32 %f281, %f280; + fma.rn.f32 %f282, %f281, 0fC0000000, 0f3EE66666; + abs.f32 %f80, %f282; + abs.f32 %f81, %f77; + setp.lt.f32 %p41, %f81, 0f00800000; + mul.f32 %f283, %f81, 0f4B800000; + selp.f32 %f284, 0fC3170000, 0fC2FE0000, %p41; + selp.f32 %f285, %f283, %f81, %p41; + mov.b32 %r229, %f285; + and.b32 %r230, %r229, 8388607; + or.b32 %r231, %r230, 1065353216; + mov.b32 %f286, %r231; + shr.u32 %r232, %r229, 23; + cvt.rn.f32.u32 %f287, %r232; + add.f32 %f288, %f284, %f287; + setp.gt.f32 %p42, %f286, 0f3FB504F3; + mul.f32 %f289, %f286, 0f3F000000; + add.f32 %f290, %f288, 0f3F800000; + selp.f32 %f291, %f289, %f286, %p42; + selp.f32 %f292, %f290, %f288, %p42; + add.f32 %f293, %f291, 0fBF800000; + add.f32 %f279, %f291, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f278,%f279; + // inline asm + add.f32 %f294, %f293, %f293; + mul.f32 %f295, %f278, %f294; + mul.f32 %f296, %f295, %f295; + mov.f32 %f297, 0f3C4CAF63; + mov.f32 %f298, 0f3B18F0FE; + fma.rn.f32 %f299, %f298, %f296, %f297; + mov.f32 %f300, 0f3DAAAABD; + fma.rn.f32 %f301, %f299, %f296, %f300; + mul.rn.f32 %f302, %f301, %f296; + mul.rn.f32 %f303, %f302, %f295; + sub.f32 %f304, %f293, %f295; + neg.f32 %f305, %f295; + add.f32 %f306, %f304, %f304; + fma.rn.f32 %f307, %f305, %f293, %f306; + mul.rn.f32 %f308, %f278, %f307; + add.f32 %f309, %f303, %f295; + sub.f32 %f310, %f295, %f309; + add.f32 %f311, %f303, %f310; + add.f32 %f312, %f308, %f311; + add.f32 %f313, %f309, %f312; + sub.f32 %f314, %f309, %f313; + add.f32 %f315, %f312, %f314; + mov.f32 %f316, 0f3F317200; + mul.rn.f32 %f317, %f292, %f316; + mov.f32 %f318, 0f35BFBE8E; + mul.rn.f32 %f319, %f292, %f318; + add.f32 %f320, %f317, %f313; + sub.f32 %f321, %f317, %f320; + add.f32 %f322, %f313, %f321; + add.f32 %f323, %f315, %f322; + add.f32 %f324, %f319, %f323; + add.f32 %f325, %f320, %f324; + sub.f32 %f326, %f320, %f325; + add.f32 %f327, %f324, %f326; + mov.f32 %f328, 0f3EE66666; + mul.rn.f32 %f329, %f328, %f325; + neg.f32 %f330, %f329; + fma.rn.f32 %f331, %f328, %f325, %f330; + fma.rn.f32 %f332, %f328, %f327, %f331; + mov.f32 %f333, 0f00000000; + fma.rn.f32 %f334, %f333, %f325, %f332; + add.rn.f32 %f335, %f329, %f334; + neg.f32 %f336, %f335; + add.rn.f32 %f337, %f329, %f336; + add.rn.f32 %f338, %f337, %f334; + mov.b32 %r233, %f335; + setp.eq.s32 %p43, %r233, 1118925336; + add.s32 %r234, %r233, -1; + mov.b32 %f339, %r234; + add.f32 %f340, %f338, 0f37000000; + selp.f32 %f341, %f339, %f335, %p43; + selp.f32 %f82, %f340, %f338, %p43; + mul.f32 %f342, %f341, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f343, %f342; + mov.f32 %f344, 0fBF317200; + fma.rn.f32 %f345, %f343, %f344, %f341; + mov.f32 %f346, 0fB5BFBE8E; + fma.rn.f32 %f347, %f343, %f346, %f345; + mul.f32 %f348, %f347, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f349, %f348; + add.f32 %f350, %f343, 0f00000000; + ex2.approx.f32 %f351, %f350; + mul.f32 %f352, %f349, %f351; + setp.lt.f32 %p44, %f341, 0fC2D20000; + selp.f32 %f353, 0f00000000, %f352, %p44; + setp.gt.f32 %p45, %f341, 0f42D20000; + selp.f32 %f586, 0f7F800000, %f353, %p45; + setp.eq.f32 %p46, %f586, 0f7F800000; + @%p46 bra BB0_57; + + fma.rn.f32 %f586, %f586, %f82, %f586; + +BB0_57: + setp.lt.f32 %p47, %f77, 0f00000000; + setp.eq.f32 %p48, %f80, 0f3F800000; + and.pred %p1, %p47, %p48; + mov.b32 %r235, %f586; + xor.b32 %r236, %r235, -2147483648; + mov.b32 %f354, %r236; + selp.f32 %f588, %f354, %f586, %p1; + setp.eq.f32 %p49, %f77, 0f00000000; + @%p49 bra BB0_60; + bra.uni BB0_58; + +BB0_60: + add.f32 %f357, %f77, %f77; + selp.f32 %f588, %f357, 0f00000000, %p48; + bra.uni BB0_61; + +BB0_58: + setp.geu.f32 %p50, %f77, 0f00000000; + @%p50 bra BB0_61; + + mov.f32 %f555, 0f3EE66666; + cvt.rzi.f32.f32 %f356, %f555; + setp.neu.f32 %p51, %f356, 0f3EE66666; + selp.f32 %f588, 0f7FFFFFFF, %f588, %p51; + +BB0_61: + abs.f32 %f532, %f77; + add.f32 %f358, %f532, 0f3EE66666; + mov.b32 %r237, %f358; + setp.lt.s32 %p53, %r237, 2139095040; + @%p53 bra BB0_66; + + abs.f32 %f553, %f77; + setp.gtu.f32 %p54, %f553, 0f7F800000; + @%p54 bra BB0_65; + bra.uni BB0_63; + +BB0_65: + add.f32 %f588, %f77, 0f3EE66666; + bra.uni BB0_66; + +BB0_63: + abs.f32 %f554, %f77; + setp.neu.f32 %p55, %f554, 0f7F800000; + @%p55 bra BB0_66; + + selp.f32 %f588, 0fFF800000, 0f7F800000, %p1; + +BB0_66: + mov.f32 %f541, 0fB5BFBE8E; + mov.f32 %f540, 0fBF317200; + mov.f32 %f539, 0f00000000; + mov.f32 %f538, 0f35BFBE8E; + mov.f32 %f537, 0f3F317200; + mov.f32 %f536, 0f3DAAAABD; + mov.f32 %f535, 0f3C4CAF63; + mov.f32 %f534, 0f3B18F0FE; + mov.f32 %f533, 0f3EE66666; + setp.eq.f32 %p56, %f77, 0f3F800000; + selp.f32 %f93, 0f3F800000, %f588, %p56; + abs.f32 %f94, %f78; + setp.lt.f32 %p57, %f94, 0f00800000; + mul.f32 %f361, %f94, 0f4B800000; + selp.f32 %f362, 0fC3170000, 0fC2FE0000, %p57; + selp.f32 %f363, %f361, %f94, %p57; + mov.b32 %r238, %f363; + and.b32 %r239, %r238, 8388607; + or.b32 %r240, %r239, 1065353216; + mov.b32 %f364, %r240; + shr.u32 %r241, %r238, 23; + cvt.rn.f32.u32 %f365, %r241; + add.f32 %f366, %f362, %f365; + setp.gt.f32 %p58, %f364, 0f3FB504F3; + mul.f32 %f367, %f364, 0f3F000000; + add.f32 %f368, %f366, 0f3F800000; + selp.f32 %f369, %f367, %f364, %p58; + selp.f32 %f370, %f368, %f366, %p58; + add.f32 %f371, %f369, 0fBF800000; + add.f32 %f360, %f369, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f359,%f360; + // inline asm + add.f32 %f372, %f371, %f371; + mul.f32 %f373, %f359, %f372; + mul.f32 %f374, %f373, %f373; + fma.rn.f32 %f377, %f534, %f374, %f535; + fma.rn.f32 %f379, %f377, %f374, %f536; + mul.rn.f32 %f380, %f379, %f374; + mul.rn.f32 %f381, %f380, %f373; + sub.f32 %f382, %f371, %f373; + neg.f32 %f383, %f373; + add.f32 %f384, %f382, %f382; + fma.rn.f32 %f385, %f383, %f371, %f384; + mul.rn.f32 %f386, %f359, %f385; + add.f32 %f387, %f381, %f373; + sub.f32 %f388, %f373, %f387; + add.f32 %f389, %f381, %f388; + add.f32 %f390, %f386, %f389; + add.f32 %f391, %f387, %f390; + sub.f32 %f392, %f387, %f391; + add.f32 %f393, %f390, %f392; + mul.rn.f32 %f395, %f370, %f537; + mul.rn.f32 %f397, %f370, %f538; + add.f32 %f398, %f395, %f391; + sub.f32 %f399, %f395, %f398; + add.f32 %f400, %f391, %f399; + add.f32 %f401, %f393, %f400; + add.f32 %f402, %f397, %f401; + add.f32 %f403, %f398, %f402; + sub.f32 %f404, %f398, %f403; + add.f32 %f405, %f402, %f404; + mul.rn.f32 %f407, %f533, %f403; + neg.f32 %f408, %f407; + fma.rn.f32 %f409, %f533, %f403, %f408; + fma.rn.f32 %f410, %f533, %f405, %f409; + fma.rn.f32 %f412, %f539, %f403, %f410; + add.rn.f32 %f413, %f407, %f412; + neg.f32 %f414, %f413; + add.rn.f32 %f415, %f407, %f414; + add.rn.f32 %f416, %f415, %f412; + mov.b32 %r242, %f413; + setp.eq.s32 %p59, %r242, 1118925336; + add.s32 %r243, %r242, -1; + mov.b32 %f417, %r243; + add.f32 %f418, %f416, 0f37000000; + selp.f32 %f419, %f417, %f413, %p59; + selp.f32 %f95, %f418, %f416, %p59; + mul.f32 %f420, %f419, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f421, %f420; + fma.rn.f32 %f423, %f421, %f540, %f419; + fma.rn.f32 %f425, %f421, %f541, %f423; + mul.f32 %f426, %f425, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f427, %f426; + add.f32 %f428, %f421, 0f00000000; + ex2.approx.f32 %f429, %f428; + mul.f32 %f430, %f427, %f429; + setp.lt.f32 %p60, %f419, 0fC2D20000; + selp.f32 %f431, 0f00000000, %f430, %p60; + setp.gt.f32 %p61, %f419, 0f42D20000; + selp.f32 %f589, 0f7F800000, %f431, %p61; + setp.eq.f32 %p62, %f589, 0f7F800000; + @%p62 bra BB0_68; + + fma.rn.f32 %f589, %f589, %f95, %f589; + +BB0_68: + setp.lt.f32 %p63, %f78, 0f00000000; + and.pred %p2, %p63, %p48; + mov.b32 %r244, %f589; + xor.b32 %r245, %r244, -2147483648; + mov.b32 %f432, %r245; + selp.f32 %f591, %f432, %f589, %p2; + setp.eq.f32 %p65, %f78, 0f00000000; + @%p65 bra BB0_71; + bra.uni BB0_69; + +BB0_71: + add.f32 %f435, %f78, %f78; + selp.f32 %f591, %f435, 0f00000000, %p48; + bra.uni BB0_72; + +BB0_69: + setp.geu.f32 %p66, %f78, 0f00000000; + @%p66 bra BB0_72; + + mov.f32 %f552, 0f3EE66666; + cvt.rzi.f32.f32 %f434, %f552; + setp.neu.f32 %p67, %f434, 0f3EE66666; + selp.f32 %f591, 0f7FFFFFFF, %f591, %p67; + +BB0_72: + abs.f32 %f556, %f78; + add.f32 %f436, %f556, 0f3EE66666; + mov.b32 %r246, %f436; + setp.lt.s32 %p69, %r246, 2139095040; + @%p69 bra BB0_77; + + abs.f32 %f557, %f78; + setp.gtu.f32 %p70, %f557, 0f7F800000; + @%p70 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f591, %f78, 0f3EE66666; + bra.uni BB0_77; + +BB0_74: + abs.f32 %f558, %f78; + setp.neu.f32 %p71, %f558, 0f7F800000; + @%p71 bra BB0_77; + + selp.f32 %f591, 0fFF800000, 0f7F800000, %p2; + +BB0_77: + mov.f32 %f550, 0fB5BFBE8E; + mov.f32 %f549, 0fBF317200; + mov.f32 %f548, 0f00000000; + mov.f32 %f547, 0f35BFBE8E; + mov.f32 %f546, 0f3F317200; + mov.f32 %f545, 0f3DAAAABD; + mov.f32 %f544, 0f3C4CAF63; + mov.f32 %f543, 0f3B18F0FE; + mov.f32 %f542, 0f3EE66666; + setp.eq.f32 %p72, %f78, 0f3F800000; + selp.f32 %f106, 0f3F800000, %f591, %p72; + abs.f32 %f107, %f79; + setp.lt.f32 %p73, %f107, 0f00800000; + mul.f32 %f439, %f107, 0f4B800000; + selp.f32 %f440, 0fC3170000, 0fC2FE0000, %p73; + selp.f32 %f441, %f439, %f107, %p73; + mov.b32 %r247, %f441; + and.b32 %r248, %r247, 8388607; + or.b32 %r249, %r248, 1065353216; + mov.b32 %f442, %r249; + shr.u32 %r250, %r247, 23; + cvt.rn.f32.u32 %f443, %r250; + add.f32 %f444, %f440, %f443; + setp.gt.f32 %p74, %f442, 0f3FB504F3; + mul.f32 %f445, %f442, 0f3F000000; + add.f32 %f446, %f444, 0f3F800000; + selp.f32 %f447, %f445, %f442, %p74; + selp.f32 %f448, %f446, %f444, %p74; + add.f32 %f449, %f447, 0fBF800000; + add.f32 %f438, %f447, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f437,%f438; + // inline asm + add.f32 %f450, %f449, %f449; + mul.f32 %f451, %f437, %f450; + mul.f32 %f452, %f451, %f451; + fma.rn.f32 %f455, %f543, %f452, %f544; + fma.rn.f32 %f457, %f455, %f452, %f545; + mul.rn.f32 %f458, %f457, %f452; + mul.rn.f32 %f459, %f458, %f451; + sub.f32 %f460, %f449, %f451; + neg.f32 %f461, %f451; + add.f32 %f462, %f460, %f460; + fma.rn.f32 %f463, %f461, %f449, %f462; + mul.rn.f32 %f464, %f437, %f463; + add.f32 %f465, %f459, %f451; + sub.f32 %f466, %f451, %f465; + add.f32 %f467, %f459, %f466; + add.f32 %f468, %f464, %f467; + add.f32 %f469, %f465, %f468; + sub.f32 %f470, %f465, %f469; + add.f32 %f471, %f468, %f470; + mul.rn.f32 %f473, %f448, %f546; + mul.rn.f32 %f475, %f448, %f547; + add.f32 %f476, %f473, %f469; + sub.f32 %f477, %f473, %f476; + add.f32 %f478, %f469, %f477; + add.f32 %f479, %f471, %f478; + add.f32 %f480, %f475, %f479; + add.f32 %f481, %f476, %f480; + sub.f32 %f482, %f476, %f481; + add.f32 %f483, %f480, %f482; + mul.rn.f32 %f485, %f542, %f481; + neg.f32 %f486, %f485; + fma.rn.f32 %f487, %f542, %f481, %f486; + fma.rn.f32 %f488, %f542, %f483, %f487; + fma.rn.f32 %f490, %f548, %f481, %f488; + add.rn.f32 %f491, %f485, %f490; + neg.f32 %f492, %f491; + add.rn.f32 %f493, %f485, %f492; + add.rn.f32 %f494, %f493, %f490; + mov.b32 %r251, %f491; + setp.eq.s32 %p75, %r251, 1118925336; + add.s32 %r252, %r251, -1; + mov.b32 %f495, %r252; + add.f32 %f496, %f494, 0f37000000; + selp.f32 %f497, %f495, %f491, %p75; + selp.f32 %f108, %f496, %f494, %p75; + mul.f32 %f498, %f497, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f499, %f498; + fma.rn.f32 %f501, %f499, %f549, %f497; + fma.rn.f32 %f503, %f499, %f550, %f501; + mul.f32 %f504, %f503, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f505, %f504; + add.f32 %f506, %f499, 0f00000000; + ex2.approx.f32 %f507, %f506; + mul.f32 %f508, %f505, %f507; + setp.lt.f32 %p76, %f497, 0fC2D20000; + selp.f32 %f509, 0f00000000, %f508, %p76; + setp.gt.f32 %p77, %f497, 0f42D20000; + selp.f32 %f592, 0f7F800000, %f509, %p77; + setp.eq.f32 %p78, %f592, 0f7F800000; + @%p78 bra BB0_79; + + fma.rn.f32 %f592, %f592, %f108, %f592; + +BB0_79: + setp.lt.f32 %p79, %f79, 0f00000000; + and.pred %p3, %p79, %p48; + mov.b32 %r253, %f592; + xor.b32 %r254, %r253, -2147483648; + mov.b32 %f510, %r254; + selp.f32 %f594, %f510, %f592, %p3; + setp.eq.f32 %p81, %f79, 0f00000000; + @%p81 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f513, %f79, %f79; + selp.f32 %f594, %f513, 0f00000000, %p48; + bra.uni BB0_83; + +BB0_80: + setp.geu.f32 %p82, %f79, 0f00000000; + @%p82 bra BB0_83; + + mov.f32 %f551, 0f3EE66666; + cvt.rzi.f32.f32 %f512, %f551; + setp.neu.f32 %p83, %f512, 0f3EE66666; + selp.f32 %f594, 0f7FFFFFFF, %f594, %p83; + +BB0_83: + abs.f32 %f559, %f79; + add.f32 %f514, %f559, 0f3EE66666; + mov.b32 %r255, %f514; + setp.lt.s32 %p85, %r255, 2139095040; + @%p85 bra BB0_88; + + abs.f32 %f560, %f79; + setp.gtu.f32 %p86, %f560, 0f7F800000; + @%p86 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f594, %f79, 0f3EE66666; + bra.uni BB0_88; + +BB0_85: + abs.f32 %f561, %f79; + setp.neu.f32 %p87, %f561, 0f7F800000; + @%p87 bra BB0_88; + + selp.f32 %f594, 0fFF800000, 0f7F800000, %p3; + +BB0_88: + mov.u32 %r277, 4; + mov.u64 %rd98, 0; + mov.u32 %r276, 2; + setp.eq.f32 %p88, %f79, 0f3F800000; + selp.f32 %f515, 0f3F800000, %f594, %p88; + cvt.u64.u32 %rd59, %r4; + cvt.u64.u32 %rd58, %r3; + mov.u64 %rd62, image; + cvta.global.u64 %rd57, %rd62; + // inline asm + call (%rd56), _rt_buffer_get_64, (%rd57, %r276, %r277, %rd58, %rd59, %rd98, %rd98); + // inline asm + cvt.sat.f32.f32 %f516, %f515; + mul.f32 %f517, %f516, 0f437FFD71; + cvt.rzi.u32.f32 %r258, %f517; + cvt.sat.f32.f32 %f518, %f106; + mul.f32 %f519, %f518, 0f437FFD71; + cvt.rzi.u32.f32 %r259, %f519; + cvt.sat.f32.f32 %f520, %f93; + mul.f32 %f521, %f520, 0f437FFD71; + cvt.rzi.u32.f32 %r260, %f521; + cvt.u16.u32 %rs16, %r258; + cvt.u16.u32 %rs17, %r260; + cvt.u16.u32 %rs18, %r259; + mov.u16 %rs19, 255; + st.v4.u8 [%rd56], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r307, [imageEnabled]; + +BB0_89: + and.b32 %r261, %r307, 4; + setp.eq.s32 %p89, %r261, 0; + @%p89 bra BB0_91; + + mov.u32 %r279, 8; + mov.u64 %rd99, 0; + mov.u32 %r278, 2; + cvt.u64.u32 %rd65, %r3; + cvt.u64.u32 %rd66, %r4; + mov.u64 %rd69, image_HDR; + cvta.global.u64 %rd64, %rd69; + // inline asm + call (%rd63), _rt_buffer_get_64, (%rd64, %r278, %r279, %rd65, %rd66, %rd99, %rd99); + // inline asm + mov.f32 %f525, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs23, %f525;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f79;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f78;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs20, %f77;} + + // inline asm + st.v4.u16 [%rd63], {%rs20, %rs21, %rs22, %rs23}; + ld.global.u32 %r307, [imageEnabled]; + +BB0_91: + and.b32 %r264, %r307, 16; + setp.eq.s32 %p90, %r264, 0; + @%p90 bra BB0_99; + + mov.u32 %r281, 8; + mov.u64 %rd100, 0; + mov.u32 %r280, 2; + cvt.u64.u32 %rd72, %r3; + cvt.u64.u32 %rd73, %r4; + mov.u64 %rd76, image_HDR2; + cvta.global.u64 %rd71, %rd76; + // inline asm + call (%rd70), _rt_buffer_get_64, (%rd71, %r280, %r281, %rd72, %rd73, %rd100, %rd100); + // inline asm + mov.f32 %f529, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs27, %f529;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f76;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f75;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f74;} + + // inline asm + st.v4.u16 [%rd70], {%rs24, %rs25, %rs26, %rs27}; + +BB0_99: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx.meta new file mode 100644 index 00000000..84c24315 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGI.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b6f1240c52e9eb45af48301d0c56ef7 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx new file mode 100644 index 00000000..80448490 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx @@ -0,0 +1,2016 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 1 .b8 lightmapDirect[1]; +.global .texref albedoTex; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<103>; + .reg .b16 %rs<145>; + .reg .f32 %f<850>; + .reg .b32 %r<398>; + .reg .b64 %rd<284>; + + + mov.u64 %rd283, __local_depot0; + cvta.local.u64 %SP, %rd283; + ld.global.u32 %r1, [samples]; + shl.b32 %r2, %r1, 1; + ld.global.v2.u32 {%r97, %r98}, [pixelID]; + cvt.u64.u32 %rd22, %r97; + cvt.u64.u32 %rd23, %r98; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r95, 2; + mov.u32 %r96, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r95, %r96, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r3, [%rd20]; + shr.u32 %r101, %r3, 16; + cvt.u16.u32 %rs1, %r101; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r3; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p4, %rs8, 0; + mov.f32 %f781, 0f00000000; + mov.f32 %f782, %f781; + mov.f32 %f783, %f781; + @%p4 bra BB0_2; + + ld.u8 %rs9, [%rd20+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f195, %rs11; + div.rn.f32 %f196, %f195, 0f437F0000; + fma.rn.f32 %f197, %f196, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f198, %rs9; + div.rn.f32 %f199, %f198, 0f437F0000; + fma.rn.f32 %f200, %f199, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f201, %rs6; + div.rn.f32 %f202, %f201, 0f437F0000; + fma.rn.f32 %f203, %f202, 0f40000000, 0fBF800000; + mul.f32 %f204, %f200, %f200; + fma.rn.f32 %f205, %f197, %f197, %f204; + fma.rn.f32 %f206, %f203, %f203, %f205; + sqrt.rn.f32 %f207, %f206; + rcp.rn.f32 %f208, %f207; + mul.f32 %f781, %f197, %f208; + mul.f32 %f782, %f200, %f208; + mul.f32 %f783, %f203, %f208; + +BB0_2: + ld.global.v2.u32 {%r102, %r103}, [pixelID]; + ld.global.v2.u32 {%r105, %r106}, [tileInfo]; + add.s32 %r4, %r102, %r105; + add.s32 %r5, %r103, %r106; + setp.eq.f32 %p5, %f782, 0f00000000; + setp.eq.f32 %p6, %f781, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f783, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_105; + bra.uni BB0_3; + +BB0_105: + ld.global.u32 %r397, [imageEnabled]; + and.b32 %r296, %r397, 1; + setp.eq.b32 %p95, %r296, 1; + @!%p95 bra BB0_107; + bra.uni BB0_106; + +BB0_106: + cvt.u64.u32 %rd174, %r4; + cvt.u64.u32 %rd175, %r5; + mov.u64 %rd178, image; + cvta.global.u64 %rd173, %rd178; + mov.u64 %rd177, 0; + // inline asm + call (%rd172), _rt_buffer_get_64, (%rd173, %r95, %r96, %rd174, %rd175, %rd177, %rd177); + // inline asm + mov.u16 %rs88, 0; + st.v4.u8 [%rd172], {%rs88, %rs88, %rs88, %rs88}; + ld.global.u32 %r397, [imageEnabled]; + +BB0_107: + and.b32 %r299, %r397, 4; + setp.eq.s32 %p96, %r299, 0; + @%p96 bra BB0_109; + + cvt.u64.u32 %rd181, %r4; + cvt.u64.u32 %rd182, %r5; + mov.u64 %rd185, image_HDR; + cvta.global.u64 %rd180, %rd185; + mov.u32 %r301, 8; + mov.u64 %rd184, 0; + // inline asm + call (%rd179), _rt_buffer_get_64, (%rd180, %r95, %r301, %rd181, %rd182, %rd184, %rd184); + // inline asm + mov.f32 %f693, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs89, %f693;} + + // inline asm + mov.u16 %rs90, 0; + st.v4.u16 [%rd179], {%rs89, %rs89, %rs89, %rs90}; + ld.global.u32 %r397, [imageEnabled]; + +BB0_109: + and.b32 %r302, %r397, 16; + setp.eq.s32 %p97, %r302, 0; + @%p97 bra BB0_111; + + cvt.u64.u32 %rd189, %r5; + cvt.u64.u32 %rd188, %r4; + mov.u64 %rd192, image_HDR2; + cvta.global.u64 %rd187, %rd192; + mov.u32 %r304, 8; + mov.u64 %rd191, 0; + // inline asm + call (%rd186), _rt_buffer_get_64, (%rd187, %r95, %r304, %rd188, %rd189, %rd191, %rd191); + // inline asm + mov.f32 %f694, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs91, %f694;} + + // inline asm + mov.u16 %rs92, 0; + st.v4.u16 [%rd186], {%rs91, %rs91, %rs91, %rs92}; + +BB0_111: + cvt.u64.u32 %rd18, %r4; + cvt.u64.u32 %rd19, %r5; + ld.global.u32 %r305, [additive]; + setp.eq.s32 %p98, %r305, 0; + @%p98 bra BB0_113; + + mov.u64 %rd205, image_RNM0; + cvta.global.u64 %rd194, %rd205; + mov.u32 %r309, 8; + mov.u64 %rd204, 0; + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd194, %r95, %r309, %rd18, %rd19, %rd204, %rd204); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd193]; + // inline asm + { cvt.f32.f16 %f695, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f696, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f697, %rs101;} + + // inline asm + // inline asm + call (%rd199), _rt_buffer_get_64, (%rd194, %r95, %r309, %rd18, %rd19, %rd204, %rd204); + // inline asm + add.f32 %f698, %f695, 0f00000000; + add.f32 %f699, %f696, 0f00000000; + add.f32 %f700, %f697, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f700;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f699;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f698;} + + // inline asm + mov.u16 %rs103, 0; + st.v4.u16 [%rd199], {%rs96, %rs97, %rs98, %rs103}; + bra.uni BB0_114; + +BB0_3: + ld.global.v2.u32 {%r116, %r117}, [pixelID]; + cvt.u64.u32 %rd29, %r116; + cvt.u64.u32 %rd30, %r117; + mov.u64 %rd45, lightmapDirect; + cvta.global.u64 %rd28, %rd45; + mov.u32 %r111, 8; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r95, %r111, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs16, %rs17, %rs18, %rs19}, [%rd27]; + // inline asm + { cvt.f32.f16 %f209, %rs16;} + + // inline asm + // inline asm + { cvt.f32.f16 %f210, %rs17;} + + // inline asm + // inline asm + { cvt.f32.f16 %f211, %rs18;} + + // inline asm + ld.global.v2.u32 {%r120, %r121}, [pixelID]; + cvt.u64.u32 %rd35, %r120; + cvt.u64.u32 %rd36, %r121; + mov.u64 %rd46, uvpos; + cvta.global.u64 %rd34, %rd46; + mov.u32 %r113, 12; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r95, %r113, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.f32 %f227, [%rd33+8]; + ld.f32 %f228, [%rd33+4]; + ld.f32 %f229, [%rd33]; + mul.f32 %f230, %f229, 0f3456BF95; + mul.f32 %f231, %f228, 0f3456BF95; + mul.f32 %f232, %f227, 0f3456BF95; + abs.f32 %f233, %f781; + div.rn.f32 %f234, %f230, %f233; + abs.f32 %f235, %f782; + div.rn.f32 %f236, %f231, %f235; + abs.f32 %f237, %f783; + div.rn.f32 %f238, %f232, %f237; + abs.f32 %f239, %f234; + abs.f32 %f240, %f236; + abs.f32 %f241, %f238; + mov.f32 %f242, 0f38D1B717; + max.f32 %f243, %f239, %f242; + max.f32 %f244, %f240, %f242; + max.f32 %f245, %f241, %f242; + fma.rn.f32 %f10, %f781, %f243, %f229; + fma.rn.f32 %f11, %f782, %f244, %f228; + fma.rn.f32 %f12, %f783, %f245, %f227; + setp.gt.f32 %p10, %f233, %f237; + neg.f32 %f246, %f782; + selp.f32 %f247, %f246, 0f00000000, %p10; + neg.f32 %f248, %f783; + selp.f32 %f249, %f781, %f248, %p10; + selp.f32 %f250, 0f00000000, %f782, %p10; + mul.f32 %f251, %f249, %f249; + fma.rn.f32 %f252, %f247, %f247, %f251; + fma.rn.f32 %f253, %f250, %f250, %f252; + sqrt.rn.f32 %f254, %f253; + rcp.rn.f32 %f255, %f254; + mul.f32 %f13, %f247, %f255; + mul.f32 %f14, %f249, %f255; + mul.f32 %f15, %f250, %f255; + ld.global.v2.u32 {%r124, %r125}, [pixelID]; + cvt.u64.u32 %rd41, %r124; + cvt.u64.u32 %rd42, %r125; + mov.u64 %rd47, rnd_seeds; + cvta.global.u64 %rd40, %rd47; + // inline asm + call (%rd39), _rt_buffer_get_64, (%rd40, %r95, %r96, %rd41, %rd42, %rd25, %rd25); + // inline asm + mov.f32 %f799, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f800, %f799; + mov.f32 %f801, %f799; + mov.f32 %f802, %f799; + mov.f32 %f803, %f799; + mov.f32 %f804, %f799; + mov.f32 %f805, %f799; + mov.f32 %f806, %f799; + mov.f32 %f807, %f799; + mov.f32 %f808, %f799; + mov.f32 %f809, %f799; + mov.f32 %f810, %f799; + mov.f32 %f811, %f799; + mov.f32 %f812, %f799; + mov.f32 %f813, %f799; + @%p11 bra BB0_54; + + cvt.rn.f32.s32 %f271, %r2; + rcp.rn.f32 %f16, %f271; + ld.u32 %r373, [%rd39]; + mul.f32 %f17, %f10, 0f3456BF95; + mul.f32 %f18, %f11, 0f3456BF95; + mul.f32 %f19, %f12, 0f3456BF95; + mul.f32 %f272, %f781, %f14; + mul.f32 %f273, %f782, %f13; + sub.f32 %f20, %f273, %f272; + mul.f32 %f274, %f783, %f13; + mul.f32 %f275, %f781, %f15; + sub.f32 %f21, %f275, %f274; + mul.f32 %f276, %f782, %f15; + mul.f32 %f277, %f783, %f14; + sub.f32 %f22, %f277, %f276; + mov.f32 %f799, 0f00000000; + mov.u32 %r128, 0; + abs.f32 %f278, %f18; + abs.f32 %f279, %f17; + max.f32 %f280, %f279, %f278; + abs.f32 %f281, %f19; + max.f32 %f282, %f280, %f281; + mov.u32 %r370, %r128; + mov.f32 %f800, %f799; + mov.f32 %f801, %f799; + mov.f32 %f802, %f799; + mov.f32 %f803, %f799; + mov.f32 %f804, %f799; + mov.f32 %f805, %f799; + mov.f32 %f806, %f799; + mov.f32 %f807, %f799; + mov.f32 %f808, %f799; + mov.f32 %f809, %f799; + mov.f32 %f810, %f799; + mov.f32 %f811, %f799; + mov.f32 %f812, %f799; + mov.f32 %f813, %f799; + +BB0_5: + mov.u32 %r372, %r128; + +BB0_6: + mov.u32 %r10, %r373; + cvt.rn.f32.s32 %f763, %r370; + mad.lo.s32 %r130, %r10, 1664525, 1013904223; + and.b32 %r131, %r130, 16777215; + cvt.rn.f32.u32 %f284, %r131; + fma.rn.f32 %f285, %f284, 0f33800000, %f763; + mul.f32 %f286, %f16, %f285; + mad.lo.s32 %r11, %r130, 1664525, 1013904223; + and.b32 %r132, %r11, 16777215; + cvt.rn.f32.u32 %f287, %r132; + cvt.rn.f32.s32 %f288, %r372; + fma.rn.f32 %f289, %f287, 0f33800000, %f288; + mul.f32 %f290, %f16, %f289; + fma.rn.f32 %f55, %f286, 0fC0000000, 0f3F800000; + mul.f32 %f291, %f55, %f55; + mov.f32 %f292, 0f3F800000; + sub.f32 %f293, %f292, %f291; + mov.f32 %f294, 0f00000000; + max.f32 %f295, %f294, %f293; + sqrt.rn.f32 %f56, %f295; + mul.f32 %f820, %f290, 0f40C90FDB; + abs.f32 %f58, %f820; + setp.neu.f32 %p12, %f58, 0f7F800000; + mov.f32 %f814, %f820; + @%p12 bra BB0_8; + + mov.f32 %f764, 0f00000000; + mul.rn.f32 %f814, %f820, %f764; + +BB0_8: + mul.f32 %f297, %f814, 0f3F22F983; + cvt.rni.s32.f32 %r383, %f297; + cvt.rn.f32.s32 %f298, %r383; + neg.f32 %f299, %f298; + mov.f32 %f300, 0f3FC90FDA; + fma.rn.f32 %f301, %f299, %f300, %f814; + mov.f32 %f302, 0f33A22168; + fma.rn.f32 %f303, %f299, %f302, %f301; + mov.f32 %f304, 0f27C234C5; + fma.rn.f32 %f815, %f299, %f304, %f303; + abs.f32 %f305, %f814; + setp.leu.f32 %p13, %f305, 0f47CE4780; + @%p13 bra BB0_19; + + add.u64 %rd49, %SP, 12; + cvta.to.local.u64 %rd279, %rd49; + mov.u32 %r374, 0; + mov.u64 %rd280, 0; + mov.u32 %r375, %r374; + +BB0_10: + .pragma "nounroll"; + mov.b32 %r350, %f814; + shl.b32 %r349, %r350, 8; + or.b32 %r348, %r349, -2147483648; + add.u64 %rd275, %SP, 12; + cvta.to.local.u64 %rd274, %rd275; + shl.b64 %rd50, %rd280, 2; + mov.u64 %rd51, __cudart_i2opi_f; + add.s64 %rd52, %rd51, %rd50; + ld.const.u32 %r138, [%rd52]; + // inline asm + { + mad.lo.cc.u32 %r136, %r138, %r348, %r375; + madc.hi.u32 %r375, %r138, %r348, 0; + } + // inline asm + st.local.u32 [%rd279], %r136; + add.s32 %r374, %r374, 1; + cvt.s64.s32 %rd280, %r374; + mul.wide.s32 %rd55, %r374, 4; + add.s64 %rd279, %rd274, %rd55; + setp.ne.s32 %p14, %r374, 6; + @%p14 bra BB0_10; + + mov.b32 %r352, %f814; + shr.u32 %r351, %r352, 23; + add.u64 %rd273, %SP, 12; + and.b32 %r141, %r351, 255; + add.s32 %r142, %r141, -128; + shr.u32 %r143, %r142, 5; + cvta.to.local.u64 %rd57, %rd273; + st.local.u32 [%rd57+24], %r375; + mov.u32 %r144, 6; + sub.s32 %r145, %r144, %r143; + mul.wide.s32 %rd58, %r145, 4; + add.s64 %rd8, %rd57, %rd58; + ld.local.u32 %r376, [%rd8]; + ld.local.u32 %r377, [%rd8+-4]; + and.b32 %r23, %r351, 31; + setp.eq.s32 %p15, %r23, 0; + @%p15 bra BB0_13; + + mov.u32 %r146, 32; + sub.s32 %r147, %r146, %r23; + shr.u32 %r148, %r377, %r147; + shl.b32 %r149, %r376, %r23; + add.s32 %r376, %r148, %r149; + ld.local.u32 %r150, [%rd8+-8]; + shr.u32 %r151, %r150, %r147; + shl.b32 %r152, %r377, %r23; + add.s32 %r377, %r151, %r152; + +BB0_13: + mov.b32 %r355, %f814; + and.b32 %r379, %r355, -2147483648; + shr.u32 %r153, %r377, 30; + shl.b32 %r154, %r376, 2; + add.s32 %r378, %r153, %r154; + shl.b32 %r29, %r377, 2; + shr.u32 %r155, %r378, 31; + shr.u32 %r156, %r376, 30; + add.s32 %r30, %r155, %r156; + setp.eq.s32 %p16, %r155, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r380, %r29; + bra.uni BB0_16; + +BB0_15: + mov.b32 %r357, %f814; + and.b32 %r356, %r357, -2147483648; + not.b32 %r157, %r378; + neg.s32 %r380, %r29; + setp.eq.s32 %p17, %r29, 0; + selp.u32 %r158, 1, 0, %p17; + add.s32 %r378, %r158, %r157; + xor.b32 %r379, %r356, -2147483648; + +BB0_16: + mov.b32 %r359, %f814; + and.b32 %r358, %r359, -2147483648; + clz.b32 %r382, %r378; + setp.eq.s32 %p18, %r382, 0; + shl.b32 %r159, %r378, %r382; + mov.u32 %r160, 32; + sub.s32 %r161, %r160, %r382; + shr.u32 %r162, %r380, %r161; + add.s32 %r163, %r162, %r159; + selp.b32 %r38, %r378, %r163, %p18; + mov.u32 %r164, -921707870; + mul.hi.u32 %r381, %r38, %r164; + setp.eq.s32 %p19, %r358, 0; + neg.s32 %r165, %r30; + selp.b32 %r383, %r30, %r165, %p19; + setp.lt.s32 %p20, %r381, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r166, %r38, -921707870; + shr.u32 %r167, %r166, 31; + shl.b32 %r168, %r381, 1; + add.s32 %r381, %r167, %r168; + add.s32 %r382, %r382, 1; + +BB0_18: + mov.u32 %r169, 126; + sub.s32 %r170, %r169, %r382; + shl.b32 %r171, %r170, 23; + add.s32 %r172, %r381, 1; + shr.u32 %r173, %r172, 7; + add.s32 %r174, %r173, 1; + shr.u32 %r175, %r174, 1; + add.s32 %r176, %r175, %r171; + or.b32 %r177, %r176, %r379; + mov.b32 %f815, %r177; + +BB0_19: + add.s32 %r46, %r383, 1; + and.b32 %r47, %r46, 1; + setp.eq.s32 %p21, %r47, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mul.rn.f32 %f772, %f815, %f815; + mov.f32 %f308, 0f3C08839E; + mov.f32 %f309, 0fB94CA1F9; + fma.rn.f32 %f816, %f309, %f772, %f308; + bra.uni BB0_22; + +BB0_20: + mul.rn.f32 %f768, %f815, %f815; + mov.f32 %f306, 0fBAB6061A; + mov.f32 %f307, 0f37CCF5CE; + fma.rn.f32 %f816, %f307, %f768, %f306; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mul.rn.f32 %f771, %f815, %f815; + mov.f32 %f767, 0f00000000; + mov.f32 %f313, 0fBE2AAAA3; + fma.rn.f32 %f314, %f816, %f771, %f313; + fma.rn.f32 %f817, %f314, %f771, %f767; + bra.uni BB0_25; + +BB0_23: + mul.rn.f32 %f769, %f815, %f815; + mov.f32 %f310, 0f3D2AAAA5; + fma.rn.f32 %f311, %f816, %f769, %f310; + mov.f32 %f312, 0fBF000000; + fma.rn.f32 %f817, %f311, %f769, %f312; + +BB0_25: + fma.rn.f32 %f818, %f817, %f815, %f815; + @%p21 bra BB0_27; + + mul.rn.f32 %f770, %f815, %f815; + mov.f32 %f754, 0f3F800000; + fma.rn.f32 %f818, %f817, %f770, %f754; + +BB0_27: + add.s32 %r360, %r383, 1; + and.b32 %r178, %r360, 2; + setp.eq.s32 %p24, %r178, 0; + @%p24 bra BB0_29; + + mov.f32 %f755, 0f00000000; + mov.f32 %f318, 0fBF800000; + fma.rn.f32 %f818, %f818, %f318, %f755; + +BB0_29: + abs.f32 %f756, %f820; + setp.neu.f32 %p102, %f756, 0f7F800000; + @%p102 bra BB0_31; + + mov.f32 %f766, 0f00000000; + mul.rn.f32 %f820, %f820, %f766; + +BB0_31: + mov.f32 %f759, 0f27C234C5; + mov.f32 %f758, 0f33A22168; + mov.f32 %f757, 0f3FC90FDA; + mul.f32 %f320, %f820, 0f3F22F983; + cvt.rni.s32.f32 %r393, %f320; + cvt.rn.f32.s32 %f321, %r393; + neg.f32 %f322, %f321; + fma.rn.f32 %f324, %f322, %f757, %f820; + fma.rn.f32 %f326, %f322, %f758, %f324; + fma.rn.f32 %f821, %f322, %f759, %f326; + abs.f32 %f328, %f820; + setp.leu.f32 %p26, %f328, 0f47CE4780; + @%p26 bra BB0_42; + + add.u64 %rd60, %SP, 12; + cvta.to.local.u64 %rd281, %rd60; + mov.b32 %r49, %f820; + shl.b32 %r181, %r49, 8; + or.b32 %r51, %r181, -2147483648; + mov.u32 %r384, 0; + mov.u64 %rd282, %rd25; + mov.u32 %r385, %r384; + +BB0_33: + .pragma "nounroll"; + add.u64 %rd277, %SP, 12; + cvta.to.local.u64 %rd276, %rd277; + shl.b64 %rd61, %rd282, 2; + mov.u64 %rd62, __cudart_i2opi_f; + add.s64 %rd63, %rd62, %rd61; + ld.const.u32 %r184, [%rd63]; + // inline asm + { + mad.lo.cc.u32 %r182, %r184, %r51, %r385; + madc.hi.u32 %r385, %r184, %r51, 0; + } + // inline asm + st.local.u32 [%rd281], %r182; + add.s32 %r384, %r384, 1; + cvt.s64.s32 %rd282, %r384; + mul.wide.s32 %rd64, %r384, 4; + add.s64 %rd281, %rd276, %rd64; + setp.ne.s32 %p27, %r384, 6; + @%p27 bra BB0_33; + + mov.b32 %r362, %f820; + shr.u32 %r361, %r362, 23; + add.u64 %rd278, %SP, 12; + and.b32 %r187, %r361, 255; + add.s32 %r188, %r187, -128; + shr.u32 %r189, %r188, 5; + cvta.to.local.u64 %rd66, %rd278; + st.local.u32 [%rd66+24], %r385; + mov.u32 %r190, 6; + sub.s32 %r191, %r190, %r189; + mul.wide.s32 %rd67, %r191, 4; + add.s64 %rd15, %rd66, %rd67; + ld.local.u32 %r386, [%rd15]; + ld.local.u32 %r387, [%rd15+-4]; + and.b32 %r59, %r361, 31; + setp.eq.s32 %p28, %r59, 0; + @%p28 bra BB0_36; + + mov.u32 %r192, 32; + sub.s32 %r193, %r192, %r59; + shr.u32 %r194, %r387, %r193; + shl.b32 %r195, %r386, %r59; + add.s32 %r386, %r194, %r195; + ld.local.u32 %r196, [%rd15+-8]; + shr.u32 %r197, %r196, %r193; + shl.b32 %r198, %r387, %r59; + add.s32 %r387, %r197, %r198; + +BB0_36: + mov.b32 %r365, %f820; + and.b32 %r389, %r365, -2147483648; + shr.u32 %r199, %r387, 30; + shl.b32 %r200, %r386, 2; + add.s32 %r388, %r199, %r200; + shl.b32 %r65, %r387, 2; + shr.u32 %r201, %r388, 31; + shr.u32 %r202, %r386, 30; + add.s32 %r66, %r201, %r202; + setp.eq.s32 %p29, %r201, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r390, %r65; + bra.uni BB0_39; + +BB0_38: + mov.b32 %r367, %f820; + and.b32 %r366, %r367, -2147483648; + not.b32 %r203, %r388; + neg.s32 %r390, %r65; + setp.eq.s32 %p30, %r65, 0; + selp.u32 %r204, 1, 0, %p30; + add.s32 %r388, %r204, %r203; + xor.b32 %r389, %r366, -2147483648; + +BB0_39: + mov.b32 %r369, %f820; + and.b32 %r368, %r369, -2147483648; + clz.b32 %r392, %r388; + setp.eq.s32 %p31, %r392, 0; + shl.b32 %r205, %r388, %r392; + mov.u32 %r206, 32; + sub.s32 %r207, %r206, %r392; + shr.u32 %r208, %r390, %r207; + add.s32 %r209, %r208, %r205; + selp.b32 %r74, %r388, %r209, %p31; + mov.u32 %r210, -921707870; + mul.hi.u32 %r391, %r74, %r210; + setp.eq.s32 %p32, %r368, 0; + neg.s32 %r211, %r66; + selp.b32 %r393, %r66, %r211, %p32; + setp.lt.s32 %p33, %r391, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r212, %r74, -921707870; + shr.u32 %r213, %r212, 31; + shl.b32 %r214, %r391, 1; + add.s32 %r391, %r213, %r214; + add.s32 %r392, %r392, 1; + +BB0_41: + mov.u32 %r215, 126; + sub.s32 %r216, %r215, %r392; + shl.b32 %r217, %r216, 23; + add.s32 %r218, %r391, 1; + shr.u32 %r219, %r218, 7; + add.s32 %r220, %r219, 1; + shr.u32 %r221, %r220, 1; + add.s32 %r222, %r221, %r217; + or.b32 %r223, %r222, %r389; + mov.b32 %f821, %r223; + +BB0_42: + and.b32 %r82, %r393, 1; + setp.eq.s32 %p34, %r82, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mul.rn.f32 %f780, %f821, %f821; + mov.f32 %f331, 0f3C08839E; + mov.f32 %f332, 0fB94CA1F9; + fma.rn.f32 %f822, %f332, %f780, %f331; + bra.uni BB0_45; + +BB0_43: + mul.rn.f32 %f776, %f821, %f821; + mov.f32 %f329, 0fBAB6061A; + mov.f32 %f330, 0f37CCF5CE; + fma.rn.f32 %f822, %f330, %f776, %f329; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mul.rn.f32 %f779, %f821, %f821; + mov.f32 %f765, 0f00000000; + mov.f32 %f336, 0fBE2AAAA3; + fma.rn.f32 %f337, %f822, %f779, %f336; + fma.rn.f32 %f823, %f337, %f779, %f765; + bra.uni BB0_48; + +BB0_46: + mul.rn.f32 %f777, %f821, %f821; + mov.f32 %f333, 0f3D2AAAA5; + fma.rn.f32 %f334, %f822, %f777, %f333; + mov.f32 %f335, 0fBF000000; + fma.rn.f32 %f823, %f334, %f777, %f335; + +BB0_48: + fma.rn.f32 %f824, %f823, %f821, %f821; + @%p34 bra BB0_50; + + mul.rn.f32 %f778, %f821, %f821; + mov.f32 %f760, 0f3F800000; + fma.rn.f32 %f824, %f823, %f778, %f760; + +BB0_50: + and.b32 %r224, %r393, 2; + setp.eq.s32 %p37, %r224, 0; + @%p37 bra BB0_52; + + mov.f32 %f761, 0f00000000; + mov.f32 %f341, 0fBF800000; + fma.rn.f32 %f824, %f824, %f341, %f761; + +BB0_52: + mad.lo.s32 %r345, %r10, 1664525, 1013904223; + mad.lo.s32 %r373, %r345, 1664525, 1013904223; + max.f32 %f762, %f282, %f242; + mul.f32 %f350, %f56, %f818; + add.u64 %rd68, %SP, 0; + cvta.to.local.u64 %rd69, %rd68; + mul.f32 %f351, %f56, %f824; + mul.f32 %f352, %f13, %f351; + mul.f32 %f353, %f14, %f351; + mul.f32 %f354, %f15, %f351; + fma.rn.f32 %f355, %f22, %f350, %f352; + fma.rn.f32 %f356, %f21, %f350, %f353; + fma.rn.f32 %f357, %f20, %f350, %f354; + fma.rn.f32 %f345, %f781, %f55, %f355; + fma.rn.f32 %f346, %f782, %f55, %f356; + fma.rn.f32 %f347, %f783, %f55, %f357; + mov.u32 %r226, 0; + st.local.u32 [%rd69+8], %r226; + st.local.u32 [%rd69+4], %r226; + st.local.u32 [%rd69], %r226; + ld.global.u32 %r225, [root]; + mov.f32 %f349, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r225, %f10, %f11, %f12, %f345, %f346, %f347, %r226, %f762, %f349, %rd68, %r113); + // inline asm + mul.f32 %f358, %f782, %f346; + fma.rn.f32 %f359, %f781, %f345, %f358; + fma.rn.f32 %f360, %f783, %f347, %f359; + ld.local.f32 %f361, [%rd69+8]; + ld.local.f32 %f362, [%rd69+4]; + ld.local.f32 %f363, [%rd69]; + fma.rn.f32 %f807, %f345, %f363, %f807; + fma.rn.f32 %f806, %f345, %f362, %f806; + fma.rn.f32 %f805, %f345, %f361, %f805; + fma.rn.f32 %f810, %f346, %f363, %f810; + fma.rn.f32 %f809, %f346, %f362, %f809; + fma.rn.f32 %f808, %f346, %f361, %f808; + fma.rn.f32 %f813, %f347, %f363, %f813; + fma.rn.f32 %f812, %f347, %f362, %f812; + fma.rn.f32 %f811, %f347, %f361, %f811; + add.f32 %f804, %f804, %f363; + add.f32 %f803, %f803, %f362; + add.f32 %f802, %f802, %f361; + cvt.sat.f32.f32 %f364, %f360; + fma.rn.f32 %f801, %f364, %f363, %f801; + fma.rn.f32 %f800, %f364, %f362, %f800; + fma.rn.f32 %f799, %f364, %f361, %f799; + add.s32 %r372, %r372, 1; + setp.lt.s32 %p38, %r372, %r2; + @%p38 bra BB0_6; + + mad.lo.s32 %r347, %r10, 1664525, 1013904223; + mad.lo.s32 %r373, %r347, 1664525, 1013904223; + add.s32 %r370, %r370, 1; + setp.lt.s32 %p39, %r370, %r2; + @%p39 bra BB0_5; + +BB0_54: + mul.lo.s32 %r228, %r2, %r2; + cvt.rn.f32.s32 %f365, %r228; + rcp.rn.f32 %f366, %f365; + cvt.rn.f32.u32 %f367, %r5; + cvt.rn.f32.u32 %f368, %r4; + tex.2d.v4.f32.f32 {%f369, %f370, %f371, %f372}, [albedoTex, {%f368, %f367}]; + mul.f32 %f123, %f804, %f366; + mul.f32 %f124, %f803, %f366; + mul.f32 %f125, %f802, %f366; + mul.f32 %f126, %f807, %f366; + mul.f32 %f127, %f806, %f366; + mul.f32 %f128, %f805, %f366; + mul.f32 %f129, %f810, %f366; + mul.f32 %f130, %f809, %f366; + mul.f32 %f131, %f808, %f366; + mul.f32 %f132, %f813, %f366; + mul.f32 %f133, %f812, %f366; + mul.f32 %f134, %f811, %f366; + mul.f32 %f373, %f801, %f366; + mul.f32 %f374, %f800, %f366; + mul.f32 %f375, %f799, %f366; + fma.rn.f32 %f376, %f801, %f366, %f373; + fma.rn.f32 %f377, %f800, %f366, %f374; + fma.rn.f32 %f378, %f799, %f366, %f375; + mul.f32 %f135, %f376, %f369; + mul.f32 %f136, %f377, %f370; + mul.f32 %f137, %f378, %f371; + add.f32 %f138, %f209, %f135; + add.f32 %f139, %f210, %f136; + add.f32 %f140, %f211, %f137; + ld.global.u32 %r395, [imageEnabled]; + and.b32 %r229, %r395, 1; + setp.eq.b32 %p40, %r229, 1; + @!%p40 bra BB0_89; + bra.uni BB0_55; + +BB0_55: + abs.f32 %f142, %f138; + setp.lt.f32 %p41, %f142, 0f00800000; + mul.f32 %f384, %f142, 0f4B800000; + selp.f32 %f385, 0fC3170000, 0fC2FE0000, %p41; + selp.f32 %f386, %f384, %f142, %p41; + mov.b32 %r230, %f386; + and.b32 %r231, %r230, 8388607; + or.b32 %r232, %r231, 1065353216; + mov.b32 %f387, %r232; + shr.u32 %r233, %r230, 23; + cvt.rn.f32.u32 %f388, %r233; + add.f32 %f389, %f385, %f388; + setp.gt.f32 %p42, %f387, 0f3FB504F3; + mul.f32 %f390, %f387, 0f3F000000; + add.f32 %f391, %f389, 0f3F800000; + selp.f32 %f392, %f390, %f387, %p42; + selp.f32 %f393, %f391, %f389, %p42; + add.f32 %f394, %f392, 0fBF800000; + add.f32 %f380, %f392, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f379,%f380; + // inline asm + add.f32 %f395, %f394, %f394; + mul.f32 %f396, %f379, %f395; + mul.f32 %f397, %f396, %f396; + mov.f32 %f398, 0f3C4CAF63; + mov.f32 %f399, 0f3B18F0FE; + fma.rn.f32 %f400, %f399, %f397, %f398; + mov.f32 %f401, 0f3DAAAABD; + fma.rn.f32 %f402, %f400, %f397, %f401; + mul.rn.f32 %f403, %f402, %f397; + mul.rn.f32 %f404, %f403, %f396; + sub.f32 %f405, %f394, %f396; + neg.f32 %f406, %f396; + add.f32 %f407, %f405, %f405; + fma.rn.f32 %f408, %f406, %f394, %f407; + mul.rn.f32 %f409, %f379, %f408; + add.f32 %f410, %f404, %f396; + sub.f32 %f411, %f396, %f410; + add.f32 %f412, %f404, %f411; + add.f32 %f413, %f409, %f412; + add.f32 %f414, %f410, %f413; + sub.f32 %f415, %f410, %f414; + add.f32 %f416, %f413, %f415; + mov.f32 %f417, 0f3F317200; + mul.rn.f32 %f418, %f393, %f417; + mov.f32 %f419, 0f35BFBE8E; + mul.rn.f32 %f420, %f393, %f419; + add.f32 %f421, %f418, %f414; + sub.f32 %f422, %f418, %f421; + add.f32 %f423, %f414, %f422; + add.f32 %f424, %f416, %f423; + add.f32 %f425, %f420, %f424; + add.f32 %f426, %f421, %f425; + sub.f32 %f427, %f421, %f426; + add.f32 %f428, %f425, %f427; + mov.f32 %f429, 0f3EE66666; + mul.rn.f32 %f430, %f429, %f426; + neg.f32 %f431, %f430; + fma.rn.f32 %f432, %f429, %f426, %f431; + fma.rn.f32 %f433, %f429, %f428, %f432; + mov.f32 %f434, 0f00000000; + fma.rn.f32 %f435, %f434, %f426, %f433; + add.rn.f32 %f436, %f430, %f435; + neg.f32 %f437, %f436; + add.rn.f32 %f438, %f430, %f437; + add.rn.f32 %f439, %f438, %f435; + mov.b32 %r234, %f436; + setp.eq.s32 %p43, %r234, 1118925336; + add.s32 %r235, %r234, -1; + mov.b32 %f440, %r235; + add.f32 %f441, %f439, 0f37000000; + selp.f32 %f442, %f440, %f436, %p43; + selp.f32 %f143, %f441, %f439, %p43; + mul.f32 %f443, %f442, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f444, %f443; + mov.f32 %f445, 0fBF317200; + fma.rn.f32 %f446, %f444, %f445, %f442; + mov.f32 %f447, 0fB5BFBE8E; + fma.rn.f32 %f448, %f444, %f447, %f446; + mul.f32 %f449, %f448, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f450, %f449; + add.f32 %f451, %f444, 0f00000000; + ex2.approx.f32 %f452, %f451; + mul.f32 %f453, %f450, %f452; + setp.lt.f32 %p44, %f442, 0fC2D20000; + selp.f32 %f454, 0f00000000, %f453, %p44; + setp.gt.f32 %p45, %f442, 0f42D20000; + selp.f32 %f841, 0f7F800000, %f454, %p45; + setp.eq.f32 %p46, %f841, 0f7F800000; + @%p46 bra BB0_57; + + fma.rn.f32 %f841, %f841, %f143, %f841; + +BB0_57: + mov.f32 %f726, 0f3E666666; + cvt.rzi.f32.f32 %f725, %f726; + fma.rn.f32 %f724, %f725, 0fC0000000, 0f3EE66666; + abs.f32 %f723, %f724; + setp.lt.f32 %p47, %f138, 0f00000000; + setp.eq.f32 %p48, %f723, 0f3F800000; + and.pred %p1, %p47, %p48; + mov.b32 %r236, %f841; + xor.b32 %r237, %r236, -2147483648; + mov.b32 %f455, %r237; + selp.f32 %f843, %f455, %f841, %p1; + setp.eq.f32 %p49, %f138, 0f00000000; + @%p49 bra BB0_60; + bra.uni BB0_58; + +BB0_60: + add.f32 %f458, %f138, %f138; + selp.f32 %f843, %f458, 0f00000000, %p48; + bra.uni BB0_61; + +BB0_113: + mov.u64 %rd212, image_RNM0; + cvta.global.u64 %rd207, %rd212; + mov.u32 %r311, 8; + mov.u64 %rd211, 0; + // inline asm + call (%rd206), _rt_buffer_get_64, (%rd207, %r95, %r311, %rd18, %rd19, %rd211, %rd211); + // inline asm + mov.f32 %f701, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f701;} + + // inline asm + mov.u16 %rs105, 0; + st.v4.u16 [%rd206], {%rs104, %rs104, %rs104, %rs105}; + +BB0_114: + ld.global.u32 %r312, [additive]; + setp.eq.s32 %p99, %r312, 0; + @%p99 bra BB0_116; + + mov.u64 %rd225, image_RNM1; + cvta.global.u64 %rd214, %rd225; + mov.u32 %r316, 8; + mov.u64 %rd224, 0; + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd214, %r95, %r316, %rd18, %rd19, %rd224, %rd224); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd213]; + // inline asm + { cvt.f32.f16 %f702, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f703, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f704, %rs114;} + + // inline asm + // inline asm + call (%rd219), _rt_buffer_get_64, (%rd214, %r95, %r316, %rd18, %rd19, %rd224, %rd224); + // inline asm + add.f32 %f705, %f702, 0f00000000; + add.f32 %f706, %f703, 0f00000000; + add.f32 %f707, %f704, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f707;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f706;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f705;} + + // inline asm + mov.u16 %rs116, 0; + st.v4.u16 [%rd219], {%rs109, %rs110, %rs111, %rs116}; + bra.uni BB0_117; + +BB0_116: + mov.u64 %rd232, image_RNM1; + cvta.global.u64 %rd227, %rd232; + mov.u32 %r318, 8; + mov.u64 %rd231, 0; + // inline asm + call (%rd226), _rt_buffer_get_64, (%rd227, %r95, %r318, %rd18, %rd19, %rd231, %rd231); + // inline asm + mov.f32 %f708, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs117, %f708;} + + // inline asm + mov.u16 %rs118, 0; + st.v4.u16 [%rd226], {%rs117, %rs117, %rs117, %rs118}; + +BB0_117: + ld.global.u32 %r319, [additive]; + setp.eq.s32 %p100, %r319, 0; + @%p100 bra BB0_119; + + mov.u64 %rd245, image_RNM2; + cvta.global.u64 %rd234, %rd245; + mov.u32 %r323, 8; + mov.u64 %rd244, 0; + // inline asm + call (%rd233), _rt_buffer_get_64, (%rd234, %r95, %r323, %rd18, %rd19, %rd244, %rd244); + // inline asm + ld.v4.u16 {%rs125, %rs126, %rs127, %rs128}, [%rd233]; + // inline asm + { cvt.f32.f16 %f709, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f710, %rs126;} + + // inline asm + // inline asm + { cvt.f32.f16 %f711, %rs127;} + + // inline asm + // inline asm + call (%rd239), _rt_buffer_get_64, (%rd234, %r95, %r323, %rd18, %rd19, %rd244, %rd244); + // inline asm + add.f32 %f712, %f709, 0f00000000; + add.f32 %f713, %f710, 0f00000000; + add.f32 %f714, %f711, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f714;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs123, %f713;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f712;} + + // inline asm + mov.u16 %rs129, 0; + st.v4.u16 [%rd239], {%rs122, %rs123, %rs124, %rs129}; + bra.uni BB0_120; + +BB0_119: + mov.u64 %rd252, image_RNM2; + cvta.global.u64 %rd247, %rd252; + mov.u32 %r325, 8; + mov.u64 %rd251, 0; + // inline asm + call (%rd246), _rt_buffer_get_64, (%rd247, %r95, %r325, %rd18, %rd19, %rd251, %rd251); + // inline asm + mov.f32 %f715, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs130, %f715;} + + // inline asm + mov.u16 %rs131, 0; + st.v4.u16 [%rd246], {%rs130, %rs130, %rs130, %rs131}; + +BB0_120: + ld.global.u32 %r326, [additive]; + setp.eq.s32 %p101, %r326, 0; + @%p101 bra BB0_122; + + mov.u64 %rd265, image_RNM3; + cvta.global.u64 %rd254, %rd265; + mov.u32 %r330, 8; + mov.u64 %rd264, 0; + // inline asm + call (%rd253), _rt_buffer_get_64, (%rd254, %r95, %r330, %rd18, %rd19, %rd264, %rd264); + // inline asm + ld.v4.u16 {%rs138, %rs139, %rs140, %rs141}, [%rd253]; + // inline asm + { cvt.f32.f16 %f716, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f717, %rs139;} + + // inline asm + // inline asm + { cvt.f32.f16 %f718, %rs140;} + + // inline asm + // inline asm + call (%rd259), _rt_buffer_get_64, (%rd254, %r95, %r330, %rd18, %rd19, %rd264, %rd264); + // inline asm + add.f32 %f719, %f716, 0f00000000; + add.f32 %f720, %f717, 0f00000000; + add.f32 %f721, %f718, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f721;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs136, %f720;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f719;} + + // inline asm + mov.u16 %rs142, 0; + st.v4.u16 [%rd259], {%rs135, %rs136, %rs137, %rs142}; + bra.uni BB0_123; + +BB0_122: + mov.u64 %rd272, image_RNM3; + cvta.global.u64 %rd267, %rd272; + mov.u32 %r332, 8; + mov.u64 %rd271, 0; + // inline asm + call (%rd266), _rt_buffer_get_64, (%rd267, %r95, %r332, %rd18, %rd19, %rd271, %rd271); + // inline asm + mov.f32 %f722, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs143, %f722;} + + // inline asm + mov.u16 %rs144, 0; + st.v4.u16 [%rd266], {%rs143, %rs143, %rs143, %rs144}; + bra.uni BB0_123; + +BB0_58: + setp.geu.f32 %p50, %f138, 0f00000000; + @%p50 bra BB0_61; + + mov.f32 %f750, 0f3EE66666; + cvt.rzi.f32.f32 %f457, %f750; + setp.neu.f32 %p51, %f457, 0f3EE66666; + selp.f32 %f843, 0f7FFFFFFF, %f843, %p51; + +BB0_61: + abs.f32 %f727, %f138; + add.f32 %f459, %f727, 0f3EE66666; + mov.b32 %r238, %f459; + setp.lt.s32 %p53, %r238, 2139095040; + @%p53 bra BB0_66; + + abs.f32 %f748, %f138; + setp.gtu.f32 %p54, %f748, 0f7F800000; + @%p54 bra BB0_65; + bra.uni BB0_63; + +BB0_65: + add.f32 %f843, %f138, 0f3EE66666; + bra.uni BB0_66; + +BB0_63: + abs.f32 %f749, %f138; + setp.neu.f32 %p55, %f749, 0f7F800000; + @%p55 bra BB0_66; + + selp.f32 %f843, 0fFF800000, 0f7F800000, %p1; + +BB0_66: + mov.f32 %f736, 0fB5BFBE8E; + mov.f32 %f735, 0fBF317200; + mov.f32 %f734, 0f00000000; + mov.f32 %f733, 0f35BFBE8E; + mov.f32 %f732, 0f3F317200; + mov.f32 %f731, 0f3DAAAABD; + mov.f32 %f730, 0f3C4CAF63; + mov.f32 %f729, 0f3B18F0FE; + mov.f32 %f728, 0f3EE66666; + setp.eq.f32 %p56, %f138, 0f3F800000; + selp.f32 %f154, 0f3F800000, %f843, %p56; + abs.f32 %f155, %f139; + setp.lt.f32 %p57, %f155, 0f00800000; + mul.f32 %f462, %f155, 0f4B800000; + selp.f32 %f463, 0fC3170000, 0fC2FE0000, %p57; + selp.f32 %f464, %f462, %f155, %p57; + mov.b32 %r239, %f464; + and.b32 %r240, %r239, 8388607; + or.b32 %r241, %r240, 1065353216; + mov.b32 %f465, %r241; + shr.u32 %r242, %r239, 23; + cvt.rn.f32.u32 %f466, %r242; + add.f32 %f467, %f463, %f466; + setp.gt.f32 %p58, %f465, 0f3FB504F3; + mul.f32 %f468, %f465, 0f3F000000; + add.f32 %f469, %f467, 0f3F800000; + selp.f32 %f470, %f468, %f465, %p58; + selp.f32 %f471, %f469, %f467, %p58; + add.f32 %f472, %f470, 0fBF800000; + add.f32 %f461, %f470, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f460,%f461; + // inline asm + add.f32 %f473, %f472, %f472; + mul.f32 %f474, %f460, %f473; + mul.f32 %f475, %f474, %f474; + fma.rn.f32 %f478, %f729, %f475, %f730; + fma.rn.f32 %f480, %f478, %f475, %f731; + mul.rn.f32 %f481, %f480, %f475; + mul.rn.f32 %f482, %f481, %f474; + sub.f32 %f483, %f472, %f474; + neg.f32 %f484, %f474; + add.f32 %f485, %f483, %f483; + fma.rn.f32 %f486, %f484, %f472, %f485; + mul.rn.f32 %f487, %f460, %f486; + add.f32 %f488, %f482, %f474; + sub.f32 %f489, %f474, %f488; + add.f32 %f490, %f482, %f489; + add.f32 %f491, %f487, %f490; + add.f32 %f492, %f488, %f491; + sub.f32 %f493, %f488, %f492; + add.f32 %f494, %f491, %f493; + mul.rn.f32 %f496, %f471, %f732; + mul.rn.f32 %f498, %f471, %f733; + add.f32 %f499, %f496, %f492; + sub.f32 %f500, %f496, %f499; + add.f32 %f501, %f492, %f500; + add.f32 %f502, %f494, %f501; + add.f32 %f503, %f498, %f502; + add.f32 %f504, %f499, %f503; + sub.f32 %f505, %f499, %f504; + add.f32 %f506, %f503, %f505; + mul.rn.f32 %f508, %f728, %f504; + neg.f32 %f509, %f508; + fma.rn.f32 %f510, %f728, %f504, %f509; + fma.rn.f32 %f511, %f728, %f506, %f510; + fma.rn.f32 %f513, %f734, %f504, %f511; + add.rn.f32 %f514, %f508, %f513; + neg.f32 %f515, %f514; + add.rn.f32 %f516, %f508, %f515; + add.rn.f32 %f517, %f516, %f513; + mov.b32 %r243, %f514; + setp.eq.s32 %p59, %r243, 1118925336; + add.s32 %r244, %r243, -1; + mov.b32 %f518, %r244; + add.f32 %f519, %f517, 0f37000000; + selp.f32 %f520, %f518, %f514, %p59; + selp.f32 %f156, %f519, %f517, %p59; + mul.f32 %f521, %f520, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f522, %f521; + fma.rn.f32 %f524, %f522, %f735, %f520; + fma.rn.f32 %f526, %f522, %f736, %f524; + mul.f32 %f527, %f526, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f528, %f527; + add.f32 %f529, %f522, 0f00000000; + ex2.approx.f32 %f530, %f529; + mul.f32 %f531, %f528, %f530; + setp.lt.f32 %p60, %f520, 0fC2D20000; + selp.f32 %f532, 0f00000000, %f531, %p60; + setp.gt.f32 %p61, %f520, 0f42D20000; + selp.f32 %f844, 0f7F800000, %f532, %p61; + setp.eq.f32 %p62, %f844, 0f7F800000; + @%p62 bra BB0_68; + + fma.rn.f32 %f844, %f844, %f156, %f844; + +BB0_68: + setp.lt.f32 %p63, %f139, 0f00000000; + and.pred %p2, %p63, %p48; + mov.b32 %r245, %f844; + xor.b32 %r246, %r245, -2147483648; + mov.b32 %f533, %r246; + selp.f32 %f846, %f533, %f844, %p2; + setp.eq.f32 %p65, %f139, 0f00000000; + @%p65 bra BB0_71; + bra.uni BB0_69; + +BB0_71: + add.f32 %f536, %f139, %f139; + selp.f32 %f846, %f536, 0f00000000, %p48; + bra.uni BB0_72; + +BB0_69: + setp.geu.f32 %p66, %f139, 0f00000000; + @%p66 bra BB0_72; + + mov.f32 %f747, 0f3EE66666; + cvt.rzi.f32.f32 %f535, %f747; + setp.neu.f32 %p67, %f535, 0f3EE66666; + selp.f32 %f846, 0f7FFFFFFF, %f846, %p67; + +BB0_72: + abs.f32 %f751, %f139; + add.f32 %f537, %f751, 0f3EE66666; + mov.b32 %r247, %f537; + setp.lt.s32 %p69, %r247, 2139095040; + @%p69 bra BB0_77; + + abs.f32 %f752, %f139; + setp.gtu.f32 %p70, %f752, 0f7F800000; + @%p70 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f846, %f139, 0f3EE66666; + bra.uni BB0_77; + +BB0_74: + abs.f32 %f753, %f139; + setp.neu.f32 %p71, %f753, 0f7F800000; + @%p71 bra BB0_77; + + selp.f32 %f846, 0fFF800000, 0f7F800000, %p2; + +BB0_77: + mov.f32 %f745, 0fB5BFBE8E; + mov.f32 %f744, 0fBF317200; + mov.f32 %f743, 0f00000000; + mov.f32 %f742, 0f35BFBE8E; + mov.f32 %f741, 0f3F317200; + mov.f32 %f740, 0f3DAAAABD; + mov.f32 %f739, 0f3C4CAF63; + mov.f32 %f738, 0f3B18F0FE; + mov.f32 %f737, 0f3EE66666; + setp.eq.f32 %p72, %f139, 0f3F800000; + selp.f32 %f167, 0f3F800000, %f846, %p72; + abs.f32 %f168, %f140; + setp.lt.f32 %p73, %f168, 0f00800000; + mul.f32 %f540, %f168, 0f4B800000; + selp.f32 %f541, 0fC3170000, 0fC2FE0000, %p73; + selp.f32 %f542, %f540, %f168, %p73; + mov.b32 %r248, %f542; + and.b32 %r249, %r248, 8388607; + or.b32 %r250, %r249, 1065353216; + mov.b32 %f543, %r250; + shr.u32 %r251, %r248, 23; + cvt.rn.f32.u32 %f544, %r251; + add.f32 %f545, %f541, %f544; + setp.gt.f32 %p74, %f543, 0f3FB504F3; + mul.f32 %f546, %f543, 0f3F000000; + add.f32 %f547, %f545, 0f3F800000; + selp.f32 %f548, %f546, %f543, %p74; + selp.f32 %f549, %f547, %f545, %p74; + add.f32 %f550, %f548, 0fBF800000; + add.f32 %f539, %f548, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f538,%f539; + // inline asm + add.f32 %f551, %f550, %f550; + mul.f32 %f552, %f538, %f551; + mul.f32 %f553, %f552, %f552; + fma.rn.f32 %f556, %f738, %f553, %f739; + fma.rn.f32 %f558, %f556, %f553, %f740; + mul.rn.f32 %f559, %f558, %f553; + mul.rn.f32 %f560, %f559, %f552; + sub.f32 %f561, %f550, %f552; + neg.f32 %f562, %f552; + add.f32 %f563, %f561, %f561; + fma.rn.f32 %f564, %f562, %f550, %f563; + mul.rn.f32 %f565, %f538, %f564; + add.f32 %f566, %f560, %f552; + sub.f32 %f567, %f552, %f566; + add.f32 %f568, %f560, %f567; + add.f32 %f569, %f565, %f568; + add.f32 %f570, %f566, %f569; + sub.f32 %f571, %f566, %f570; + add.f32 %f572, %f569, %f571; + mul.rn.f32 %f574, %f549, %f741; + mul.rn.f32 %f576, %f549, %f742; + add.f32 %f577, %f574, %f570; + sub.f32 %f578, %f574, %f577; + add.f32 %f579, %f570, %f578; + add.f32 %f580, %f572, %f579; + add.f32 %f581, %f576, %f580; + add.f32 %f582, %f577, %f581; + sub.f32 %f583, %f577, %f582; + add.f32 %f584, %f581, %f583; + mul.rn.f32 %f586, %f737, %f582; + neg.f32 %f587, %f586; + fma.rn.f32 %f588, %f737, %f582, %f587; + fma.rn.f32 %f589, %f737, %f584, %f588; + fma.rn.f32 %f591, %f743, %f582, %f589; + add.rn.f32 %f592, %f586, %f591; + neg.f32 %f593, %f592; + add.rn.f32 %f594, %f586, %f593; + add.rn.f32 %f595, %f594, %f591; + mov.b32 %r252, %f592; + setp.eq.s32 %p75, %r252, 1118925336; + add.s32 %r253, %r252, -1; + mov.b32 %f596, %r253; + add.f32 %f597, %f595, 0f37000000; + selp.f32 %f598, %f596, %f592, %p75; + selp.f32 %f169, %f597, %f595, %p75; + mul.f32 %f599, %f598, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f600, %f599; + fma.rn.f32 %f602, %f600, %f744, %f598; + fma.rn.f32 %f604, %f600, %f745, %f602; + mul.f32 %f605, %f604, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f606, %f605; + add.f32 %f607, %f600, 0f00000000; + ex2.approx.f32 %f608, %f607; + mul.f32 %f609, %f606, %f608; + setp.lt.f32 %p76, %f598, 0fC2D20000; + selp.f32 %f610, 0f00000000, %f609, %p76; + setp.gt.f32 %p77, %f598, 0f42D20000; + selp.f32 %f847, 0f7F800000, %f610, %p77; + setp.eq.f32 %p78, %f847, 0f7F800000; + @%p78 bra BB0_79; + + fma.rn.f32 %f847, %f847, %f169, %f847; + +BB0_79: + setp.lt.f32 %p79, %f140, 0f00000000; + and.pred %p3, %p79, %p48; + mov.b32 %r254, %f847; + xor.b32 %r255, %r254, -2147483648; + mov.b32 %f611, %r255; + selp.f32 %f849, %f611, %f847, %p3; + setp.eq.f32 %p81, %f140, 0f00000000; + @%p81 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f614, %f140, %f140; + selp.f32 %f849, %f614, 0f00000000, %p48; + bra.uni BB0_83; + +BB0_80: + setp.geu.f32 %p82, %f140, 0f00000000; + @%p82 bra BB0_83; + + mov.f32 %f746, 0f3EE66666; + cvt.rzi.f32.f32 %f613, %f746; + setp.neu.f32 %p83, %f613, 0f3EE66666; + selp.f32 %f849, 0f7FFFFFFF, %f849, %p83; + +BB0_83: + abs.f32 %f773, %f140; + add.f32 %f615, %f773, 0f3EE66666; + mov.b32 %r256, %f615; + setp.lt.s32 %p85, %r256, 2139095040; + @%p85 bra BB0_88; + + abs.f32 %f774, %f140; + setp.gtu.f32 %p86, %f774, 0f7F800000; + @%p86 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f849, %f140, 0f3EE66666; + bra.uni BB0_88; + +BB0_85: + abs.f32 %f775, %f140; + setp.neu.f32 %p87, %f775, 0f7F800000; + @%p87 bra BB0_88; + + selp.f32 %f849, 0fFF800000, 0f7F800000, %p3; + +BB0_88: + mov.u32 %r333, 4; + setp.eq.f32 %p88, %f140, 0f3F800000; + selp.f32 %f616, 0f3F800000, %f849, %p88; + cvt.u64.u32 %rd74, %r5; + cvt.u64.u32 %rd73, %r4; + mov.u64 %rd77, image; + cvta.global.u64 %rd72, %rd77; + // inline asm + call (%rd71), _rt_buffer_get_64, (%rd72, %r95, %r333, %rd73, %rd74, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f617, %f616; + mul.f32 %f618, %f617, 0f437FFD71; + cvt.rzi.u32.f32 %r259, %f618; + cvt.sat.f32.f32 %f619, %f167; + mul.f32 %f620, %f619, 0f437FFD71; + cvt.rzi.u32.f32 %r260, %f620; + cvt.sat.f32.f32 %f621, %f154; + mul.f32 %f622, %f621, 0f437FFD71; + cvt.rzi.u32.f32 %r261, %f622; + cvt.u16.u32 %rs20, %r259; + cvt.u16.u32 %rs21, %r261; + cvt.u16.u32 %rs22, %r260; + mov.u16 %rs23, 255; + st.v4.u8 [%rd71], {%rs20, %rs22, %rs21, %rs23}; + ld.global.u32 %r395, [imageEnabled]; + +BB0_89: + and.b32 %r262, %r395, 4; + setp.eq.s32 %p89, %r262, 0; + @%p89 bra BB0_91; + + mov.u32 %r334, 8; + cvt.u64.u32 %rd80, %r4; + cvt.u64.u32 %rd81, %r5; + mov.u64 %rd84, image_HDR; + cvta.global.u64 %rd79, %rd84; + // inline asm + call (%rd78), _rt_buffer_get_64, (%rd79, %r95, %r334, %rd80, %rd81, %rd25, %rd25); + // inline asm + mov.f32 %f626, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs27, %f626;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f140;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f139;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f138;} + + // inline asm + st.v4.u16 [%rd78], {%rs24, %rs25, %rs26, %rs27}; + ld.global.u32 %r395, [imageEnabled]; + +BB0_91: + and.b32 %r265, %r395, 16; + setp.eq.s32 %p90, %r265, 0; + @%p90 bra BB0_93; + + mov.u32 %r335, 8; + cvt.u64.u32 %rd88, %r5; + cvt.u64.u32 %rd87, %r4; + mov.u64 %rd91, image_HDR2; + cvta.global.u64 %rd86, %rd91; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd86, %r95, %r335, %rd87, %rd88, %rd25, %rd25); + // inline asm + mov.f32 %f630, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs31, %f630;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f137;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f136;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f135;} + + // inline asm + st.v4.u16 [%rd85], {%rs28, %rs29, %rs30, %rs31}; + +BB0_93: + cvt.u64.u32 %rd16, %r4; + cvt.u64.u32 %rd17, %r5; + mul.f32 %f180, %f123, 0f3F000000; + mul.f32 %f181, %f124, 0f3F000000; + mul.f32 %f182, %f125, 0f3F000000; + ld.global.u32 %r268, [additive]; + setp.eq.s32 %p91, %r268, 0; + mov.f32 %f631, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs32, %f631;} + + // inline asm + @%p91 bra BB0_95; + + mov.u32 %r336, 8; + mov.u64 %rd104, image_RNM0; + cvta.global.u64 %rd93, %rd104; + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd93, %r95, %r336, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs39, %rs40, %rs41, %rs42}, [%rd92]; + // inline asm + { cvt.f32.f16 %f632, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f633, %rs40;} + + // inline asm + // inline asm + { cvt.f32.f16 %f634, %rs41;} + + // inline asm + // inline asm + call (%rd98), _rt_buffer_get_64, (%rd93, %r95, %r336, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f635, %f180, %f632; + add.f32 %f636, %f181, %f633; + add.f32 %f637, %f182, %f634; + // inline asm + { cvt.rn.f16.f32 %rs38, %f637;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f636;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f635;} + + // inline asm + st.v4.u16 [%rd98], {%rs36, %rs37, %rs38, %rs32}; + bra.uni BB0_96; + +BB0_95: + mov.u32 %r343, 8; + mov.u64 %rd111, image_RNM0; + cvta.global.u64 %rd106, %rd111; + // inline asm + call (%rd105), _rt_buffer_get_64, (%rd106, %r95, %r343, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f182;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f181;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f180;} + + // inline asm + st.v4.u16 [%rd105], {%rs43, %rs44, %rs45, %rs32}; + +BB0_96: + mov.f32 %f642, 0f34000000; + max.f32 %f643, %f180, %f642; + mul.f32 %f644, %f126, 0f3F000000; + div.rn.f32 %f645, %f644, %f643; + max.f32 %f646, %f181, %f642; + mul.f32 %f647, %f127, 0f3F000000; + div.rn.f32 %f648, %f647, %f646; + max.f32 %f649, %f182, %f642; + mul.f32 %f650, %f128, 0f3F000000; + div.rn.f32 %f651, %f650, %f649; + fma.rn.f32 %f183, %f645, 0f3F000000, 0f3F000000; + fma.rn.f32 %f184, %f648, 0f3F000000, 0f3F000000; + fma.rn.f32 %f185, %f651, 0f3F000000, 0f3F000000; + mul.f32 %f652, %f129, 0f3F000000; + div.rn.f32 %f653, %f652, %f643; + mul.f32 %f654, %f130, 0f3F000000; + div.rn.f32 %f655, %f654, %f646; + mul.f32 %f656, %f131, 0f3F000000; + div.rn.f32 %f657, %f656, %f649; + fma.rn.f32 %f186, %f653, 0f3F000000, 0f3F000000; + fma.rn.f32 %f187, %f655, 0f3F000000, 0f3F000000; + fma.rn.f32 %f188, %f657, 0f3F000000, 0f3F000000; + mul.f32 %f658, %f132, 0f3F000000; + div.rn.f32 %f659, %f658, %f643; + mul.f32 %f660, %f133, 0f3F000000; + div.rn.f32 %f661, %f660, %f646; + mul.f32 %f662, %f134, 0f3F000000; + div.rn.f32 %f663, %f662, %f649; + fma.rn.f32 %f189, %f659, 0f3F000000, 0f3F000000; + fma.rn.f32 %f190, %f661, 0f3F000000, 0f3F000000; + fma.rn.f32 %f191, %f663, 0f3F000000, 0f3F000000; + ld.global.u32 %r275, [additive]; + setp.eq.s32 %p92, %r275, 0; + // inline asm + { cvt.rn.f16.f32 %rs46, %f631;} + + // inline asm + @%p92 bra BB0_98; + + mov.u32 %r337, 8; + mov.u64 %rd124, image_RNM1; + cvta.global.u64 %rd113, %rd124; + // inline asm + call (%rd112), _rt_buffer_get_64, (%rd113, %r95, %r337, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd112]; + // inline asm + { cvt.f32.f16 %f664, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f665, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f666, %rs55;} + + // inline asm + // inline asm + call (%rd118), _rt_buffer_get_64, (%rd113, %r95, %r337, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f667, %f183, %f664; + add.f32 %f668, %f184, %f665; + add.f32 %f669, %f185, %f666; + // inline asm + { cvt.rn.f16.f32 %rs52, %f669;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f668;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f667;} + + // inline asm + st.v4.u16 [%rd118], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_99; + +BB0_98: + mov.u32 %r342, 8; + mov.u64 %rd131, image_RNM1; + cvta.global.u64 %rd126, %rd131; + // inline asm + call (%rd125), _rt_buffer_get_64, (%rd126, %r95, %r342, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f185;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f184;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f183;} + + // inline asm + st.v4.u16 [%rd125], {%rs57, %rs58, %rs59, %rs46}; + +BB0_99: + ld.global.u32 %r282, [additive]; + setp.eq.s32 %p93, %r282, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f631;} + + // inline asm + @%p93 bra BB0_101; + + mov.u32 %r338, 8; + mov.u64 %rd144, image_RNM2; + cvta.global.u64 %rd133, %rd144; + // inline asm + call (%rd132), _rt_buffer_get_64, (%rd133, %r95, %r338, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd132]; + // inline asm + { cvt.f32.f16 %f674, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f675, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f676, %rs69;} + + // inline asm + // inline asm + call (%rd138), _rt_buffer_get_64, (%rd133, %r95, %r338, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f677, %f186, %f674; + add.f32 %f678, %f187, %f675; + add.f32 %f679, %f188, %f676; + // inline asm + { cvt.rn.f16.f32 %rs66, %f679;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f678;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f677;} + + // inline asm + st.v4.u16 [%rd138], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_102; + +BB0_101: + mov.u32 %r341, 8; + mov.u64 %rd151, image_RNM2; + cvta.global.u64 %rd146, %rd151; + // inline asm + call (%rd145), _rt_buffer_get_64, (%rd146, %r95, %r341, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f188;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f187;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f186;} + + // inline asm + st.v4.u16 [%rd145], {%rs71, %rs72, %rs73, %rs60}; + +BB0_102: + ld.global.u32 %r289, [additive]; + setp.eq.s32 %p94, %r289, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f631;} + + // inline asm + @%p94 bra BB0_104; + + mov.u32 %r339, 8; + mov.u64 %rd164, image_RNM3; + cvta.global.u64 %rd153, %rd164; + // inline asm + call (%rd152), _rt_buffer_get_64, (%rd153, %r95, %r339, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd152]; + // inline asm + { cvt.f32.f16 %f684, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f685, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f686, %rs83;} + + // inline asm + // inline asm + call (%rd158), _rt_buffer_get_64, (%rd153, %r95, %r339, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f687, %f189, %f684; + add.f32 %f688, %f190, %f685; + add.f32 %f689, %f191, %f686; + // inline asm + { cvt.rn.f16.f32 %rs80, %f689;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f688;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f687;} + + // inline asm + st.v4.u16 [%rd158], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_123; + +BB0_104: + mov.u32 %r340, 8; + mov.u64 %rd171, image_RNM3; + cvta.global.u64 %rd166, %rd171; + // inline asm + call (%rd165), _rt_buffer_get_64, (%rd166, %r95, %r340, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f191;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f190;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f189;} + + // inline asm + st.v4.u16 [%rd165], {%rs85, %rs86, %rs87, %rs74}; + +BB0_123: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx.meta new file mode 100644 index 00000000..73e84e0f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIProbeSH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e693de86f9494154fa7c323b3888e9af +timeCreated: 1551461328 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIRNM.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIRNM.ptx new file mode 100644 index 00000000..65e05d9c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIRNM.ptx @@ -0,0 +1,2088 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 uvtangent[1]; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 1 .b8 lightmapDirect[1]; +.global .texref albedoTex; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<110>; + .reg .b16 %rs<144>; + .reg .f32 %f<955>; + .reg .b32 %r<413>; + .reg .b64 %rd<278>; + + + mov.u64 %rd277, __local_depot0; + cvta.local.u64 %SP, %rd277; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r102, %r103}, [pixelID]; + cvt.u64.u32 %rd24, %r102; + cvt.u64.u32 %rd25, %r103; + mov.u64 %rd28, uvnormal; + cvta.global.u64 %rd23, %rd28; + mov.u32 %r100, 2; + mov.u32 %r101, 4; + mov.u64 %rd27, 0; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd23, %r100, %r101, %rd24, %rd25, %rd27, %rd27); + // inline asm + ld.u32 %r2, [%rd22]; + shr.u32 %r106, %r2, 16; + cvt.u16.u32 %rs1, %r106; + and.b16 %rs5, %rs1, 255; + cvt.u16.u32 %rs6, %r2; + or.b16 %rs7, %rs6, %rs5; + setp.eq.s16 %p4, %rs7, 0; + mov.f32 %f886, 0f00000000; + mov.f32 %f887, %f886; + mov.f32 %f888, %f886; + @%p4 bra BB0_2; + + ld.u8 %rs8, [%rd22+1]; + and.b16 %rs10, %rs6, 255; + cvt.rn.f32.u16 %f210, %rs10; + div.rn.f32 %f211, %f210, 0f437F0000; + fma.rn.f32 %f212, %f211, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f213, %rs8; + div.rn.f32 %f214, %f213, 0f437F0000; + fma.rn.f32 %f215, %f214, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f216, %rs5; + div.rn.f32 %f217, %f216, 0f437F0000; + fma.rn.f32 %f218, %f217, 0f40000000, 0fBF800000; + mul.f32 %f219, %f215, %f215; + fma.rn.f32 %f220, %f212, %f212, %f219; + fma.rn.f32 %f221, %f218, %f218, %f220; + sqrt.rn.f32 %f222, %f221; + rcp.rn.f32 %f223, %f222; + mul.f32 %f886, %f212, %f223; + mul.f32 %f887, %f215, %f223; + mul.f32 %f888, %f218, %f223; + +BB0_2: + ld.global.v2.u32 {%r107, %r108}, [pixelID]; + ld.global.v2.u32 {%r110, %r111}, [tileInfo]; + add.s32 %r3, %r107, %r110; + add.s32 %r4, %r108, %r111; + setp.eq.f32 %p5, %f887, 0f00000000; + setp.eq.f32 %p6, %f886, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f888, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_108; + bra.uni BB0_3; + +BB0_108: + ld.global.u32 %r412, [imageEnabled]; + and.b32 %r312, %r412, 1; + setp.eq.b32 %p103, %r312, 1; + @!%p103 bra BB0_110; + bra.uni BB0_109; + +BB0_109: + cvt.u64.u32 %rd177, %r3; + cvt.u64.u32 %rd178, %r4; + mov.u64 %rd181, image; + cvta.global.u64 %rd176, %rd181; + mov.u64 %rd180, 0; + // inline asm + call (%rd175), _rt_buffer_get_64, (%rd176, %r100, %r101, %rd177, %rd178, %rd180, %rd180); + // inline asm + mov.u16 %rs100, 0; + st.v4.u8 [%rd175], {%rs100, %rs100, %rs100, %rs100}; + ld.global.u32 %r412, [imageEnabled]; + +BB0_110: + and.b32 %r315, %r412, 4; + setp.eq.s32 %p104, %r315, 0; + @%p104 bra BB0_112; + + cvt.u64.u32 %rd184, %r3; + cvt.u64.u32 %rd185, %r4; + mov.u64 %rd188, image_HDR; + cvta.global.u64 %rd183, %rd188; + mov.u32 %r317, 8; + mov.u64 %rd187, 0; + // inline asm + call (%rd182), _rt_buffer_get_64, (%rd183, %r100, %r317, %rd184, %rd185, %rd187, %rd187); + // inline asm + mov.f32 %f801, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs101, %f801;} + + // inline asm + mov.u16 %rs102, 0; + st.v4.u16 [%rd182], {%rs101, %rs101, %rs101, %rs102}; + ld.global.u32 %r412, [imageEnabled]; + +BB0_112: + and.b32 %r318, %r412, 16; + setp.eq.s32 %p105, %r318, 0; + @%p105 bra BB0_114; + + cvt.u64.u32 %rd192, %r4; + cvt.u64.u32 %rd191, %r3; + mov.u64 %rd195, image_HDR2; + cvta.global.u64 %rd190, %rd195; + mov.u32 %r320, 8; + mov.u64 %rd194, 0; + // inline asm + call (%rd189), _rt_buffer_get_64, (%rd190, %r100, %r320, %rd191, %rd192, %rd194, %rd194); + // inline asm + mov.f32 %f802, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs103, %f802;} + + // inline asm + mov.u16 %rs104, 0; + st.v4.u16 [%rd189], {%rs103, %rs103, %rs103, %rs104}; + +BB0_114: + cvt.u64.u32 %rd20, %r3; + cvt.u64.u32 %rd21, %r4; + ld.global.u32 %r321, [additive]; + setp.eq.s32 %p106, %r321, 0; + @%p106 bra BB0_116; + + mov.u64 %rd208, image_RNM0; + cvta.global.u64 %rd197, %rd208; + mov.u32 %r325, 8; + mov.u64 %rd207, 0; + // inline asm + call (%rd196), _rt_buffer_get_64, (%rd197, %r100, %r325, %rd20, %rd21, %rd207, %rd207); + // inline asm + ld.v4.u16 {%rs111, %rs112, %rs113, %rs114}, [%rd196]; + // inline asm + { cvt.f32.f16 %f803, %rs111;} + + // inline asm + // inline asm + { cvt.f32.f16 %f804, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f805, %rs113;} + + // inline asm + // inline asm + call (%rd202), _rt_buffer_get_64, (%rd197, %r100, %r325, %rd20, %rd21, %rd207, %rd207); + // inline asm + add.f32 %f806, %f803, 0f00000000; + add.f32 %f807, %f804, 0f00000000; + add.f32 %f808, %f805, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs110, %f808;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f807;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs108, %f806;} + + // inline asm + mov.u16 %rs115, 0; + st.v4.u16 [%rd202], {%rs108, %rs109, %rs110, %rs115}; + bra.uni BB0_117; + +BB0_3: + ld.global.v2.u32 {%r123, %r124}, [pixelID]; + cvt.u64.u32 %rd31, %r123; + cvt.u64.u32 %rd32, %r124; + mov.u64 %rd53, lightmapDirect; + cvta.global.u64 %rd30, %rd53; + mov.u32 %r116, 8; + // inline asm + call (%rd29), _rt_buffer_get_64, (%rd30, %r100, %r116, %rd31, %rd32, %rd27, %rd27); + // inline asm + ld.v4.u16 {%rs15, %rs16, %rs17, %rs18}, [%rd29]; + // inline asm + { cvt.f32.f16 %f224, %rs15;} + + // inline asm + // inline asm + { cvt.f32.f16 %f225, %rs16;} + + // inline asm + // inline asm + { cvt.f32.f16 %f226, %rs17;} + + // inline asm + ld.global.v2.u32 {%r127, %r128}, [pixelID]; + cvt.u64.u32 %rd37, %r127; + cvt.u64.u32 %rd38, %r128; + mov.u64 %rd54, uvpos; + cvta.global.u64 %rd36, %rd54; + mov.u32 %r118, 12; + // inline asm + call (%rd35), _rt_buffer_get_64, (%rd36, %r100, %r118, %rd37, %rd38, %rd27, %rd27); + // inline asm + ld.f32 %f230, [%rd35+8]; + ld.f32 %f231, [%rd35+4]; + ld.f32 %f232, [%rd35]; + mul.f32 %f233, %f232, 0f3456BF95; + mul.f32 %f234, %f231, 0f3456BF95; + mul.f32 %f235, %f230, 0f3456BF95; + abs.f32 %f236, %f886; + div.rn.f32 %f237, %f233, %f236; + abs.f32 %f238, %f887; + div.rn.f32 %f239, %f234, %f238; + abs.f32 %f240, %f888; + div.rn.f32 %f241, %f235, %f240; + abs.f32 %f242, %f237; + abs.f32 %f243, %f239; + abs.f32 %f244, %f241; + mov.f32 %f245, 0f38D1B717; + max.f32 %f246, %f242, %f245; + max.f32 %f247, %f243, %f245; + max.f32 %f248, %f244, %f245; + fma.rn.f32 %f10, %f886, %f246, %f232; + fma.rn.f32 %f11, %f887, %f247, %f231; + fma.rn.f32 %f12, %f888, %f248, %f230; + setp.gt.f32 %p10, %f236, %f240; + neg.f32 %f249, %f887; + selp.f32 %f250, %f249, 0f00000000, %p10; + neg.f32 %f251, %f888; + selp.f32 %f252, %f886, %f251, %p10; + selp.f32 %f253, 0f00000000, %f887, %p10; + mul.f32 %f254, %f252, %f252; + fma.rn.f32 %f255, %f250, %f250, %f254; + fma.rn.f32 %f256, %f253, %f253, %f255; + sqrt.rn.f32 %f257, %f256; + rcp.rn.f32 %f258, %f257; + mul.f32 %f13, %f250, %f258; + mul.f32 %f14, %f252, %f258; + mul.f32 %f15, %f253, %f258; + ld.global.v2.u32 {%r131, %r132}, [pixelID]; + cvt.u64.u32 %rd43, %r131; + cvt.u64.u32 %rd44, %r132; + mov.u64 %rd55, rnd_seeds; + cvta.global.u64 %rd42, %rd55; + // inline asm + call (%rd41), _rt_buffer_get_64, (%rd42, %r100, %r101, %rd43, %rd44, %rd27, %rd27); + // inline asm + ld.u32 %r388, [%rd41]; + ld.global.v2.u32 {%r135, %r136}, [pixelID]; + cvt.u64.u32 %rd49, %r135; + cvt.u64.u32 %rd50, %r136; + mov.u64 %rd56, uvtangent; + cvta.global.u64 %rd48, %rd56; + // inline asm + call (%rd47), _rt_buffer_get_64, (%rd48, %r100, %r101, %rd49, %rd50, %rd27, %rd27); + // inline asm + ld.u32 %r6, [%rd47]; + shr.u32 %r7, %r6, 16; + cvt.u16.u32 %rs19, %r7; + and.b16 %rs20, %rs19, 255; + cvt.u16.u32 %rs21, %r6; + or.b16 %rs22, %rs21, %rs20; + setp.eq.s16 %p11, %rs22, 0; + mov.f32 %f892, 0f00000000; + mov.f32 %f889, %f892; + mov.f32 %f890, %f892; + mov.f32 %f891, %f892; + @%p11 bra BB0_5; + + ld.u8 %rs23, [%rd47+1]; + and.b16 %rs25, %rs21, 255; + cvt.rn.f32.u16 %f259, %rs25; + div.rn.f32 %f260, %f259, 0f437F0000; + fma.rn.f32 %f261, %f260, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f262, %rs23; + div.rn.f32 %f263, %f262, 0f437F0000; + fma.rn.f32 %f264, %f263, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f265, %rs20; + div.rn.f32 %f266, %f265, 0f437F0000; + fma.rn.f32 %f267, %f266, 0f40000000, 0fBF800000; + mul.f32 %f268, %f264, %f264; + fma.rn.f32 %f269, %f261, %f261, %f268; + fma.rn.f32 %f270, %f267, %f267, %f269; + sqrt.rn.f32 %f271, %f270; + rcp.rn.f32 %f272, %f271; + mul.f32 %f889, %f261, %f272; + mul.f32 %f890, %f264, %f272; + mul.f32 %f891, %f267, %f272; + +BB0_5: + mul.f32 %f276, %f888, %f890; + mul.f32 %f277, %f887, %f891; + sub.f32 %f278, %f277, %f276; + mul.f32 %f279, %f886, %f891; + mul.f32 %f280, %f888, %f889; + sub.f32 %f281, %f280, %f279; + mul.f32 %f282, %f887, %f889; + mul.f32 %f283, %f886, %f890; + sub.f32 %f284, %f283, %f282; + setp.lt.u32 %p12, %r6, 16777216; + selp.f32 %f285, 0fBF800000, 0f3F800000, %p12; + mul.f32 %f286, %f278, %f285; + mul.f32 %f287, %f281, %f285; + mul.f32 %f288, %f284, %f285; + mul.f32 %f289, %f286, 0f00000000; + mul.f32 %f290, %f287, 0f00000000; + mul.f32 %f291, %f288, 0f00000000; + fma.rn.f32 %f292, %f889, 0f3F5105EC, %f289; + fma.rn.f32 %f293, %f890, 0f3F5105EC, %f290; + fma.rn.f32 %f294, %f891, 0f3F5105EC, %f291; + mul.f32 %f22, %f886, 0f3F13CD3A; + add.f32 %f23, %f22, %f292; + mul.f32 %f24, %f887, 0f3F13CD3A; + add.f32 %f25, %f24, %f293; + mul.f32 %f26, %f888, 0f3F13CD3A; + add.f32 %f27, %f26, %f294; + ld.global.v2.u32 {%r141, %r142}, [pixelID]; + cvt.u64.u32 %rd59, %r141; + cvt.u64.u32 %rd60, %r142; + // inline asm + call (%rd57), _rt_buffer_get_64, (%rd48, %r100, %r101, %rd59, %rd60, %rd27, %rd27); + // inline asm + ld.u32 %r8, [%rd57]; + shr.u32 %r9, %r8, 16; + cvt.u16.u32 %rs28, %r9; + and.b16 %rs29, %rs28, 255; + cvt.u16.u32 %rs30, %r8; + or.b16 %rs31, %rs30, %rs29; + setp.eq.s16 %p13, %rs31, 0; + mov.f32 %f893, %f892; + mov.f32 %f894, %f892; + @%p13 bra BB0_7; + + ld.u8 %rs32, [%rd57+1]; + and.b16 %rs34, %rs30, 255; + cvt.rn.f32.u16 %f295, %rs34; + div.rn.f32 %f296, %f295, 0f437F0000; + fma.rn.f32 %f297, %f296, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f298, %rs32; + div.rn.f32 %f299, %f298, 0f437F0000; + fma.rn.f32 %f300, %f299, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f301, %rs29; + div.rn.f32 %f302, %f301, 0f437F0000; + fma.rn.f32 %f303, %f302, 0f40000000, 0fBF800000; + mul.f32 %f304, %f300, %f300; + fma.rn.f32 %f305, %f297, %f297, %f304; + fma.rn.f32 %f306, %f303, %f303, %f305; + sqrt.rn.f32 %f307, %f306; + rcp.rn.f32 %f308, %f307; + mul.f32 %f892, %f297, %f308; + mul.f32 %f893, %f300, %f308; + mul.f32 %f894, %f303, %f308; + +BB0_7: + mov.f32 %f895, 0f00000000; + mov.u32 %r384, 4; + mov.u64 %rd272, 0; + mov.u32 %r383, 2; + mul.f32 %f312, %f888, %f893; + mul.f32 %f313, %f887, %f894; + sub.f32 %f314, %f313, %f312; + mul.f32 %f315, %f886, %f894; + mul.f32 %f316, %f888, %f892; + sub.f32 %f317, %f316, %f315; + mul.f32 %f318, %f887, %f892; + mul.f32 %f319, %f886, %f893; + sub.f32 %f320, %f319, %f318; + setp.lt.u32 %p14, %r8, 16777216; + selp.f32 %f321, 0fBF800000, 0f3F800000, %p14; + mul.f32 %f322, %f314, %f321; + mul.f32 %f323, %f317, %f321; + mul.f32 %f324, %f320, %f321; + mul.f32 %f325, %f322, 0f3F3504F3; + mul.f32 %f326, %f323, 0f3F3504F3; + mul.f32 %f327, %f324, 0f3F3504F3; + fma.rn.f32 %f328, %f892, 0fBED105EC, %f325; + fma.rn.f32 %f329, %f893, 0fBED105EC, %f326; + fma.rn.f32 %f330, %f894, 0fBED105EC, %f327; + add.f32 %f34, %f22, %f328; + add.f32 %f35, %f24, %f329; + add.f32 %f36, %f26, %f330; + ld.global.v2.u32 {%r147, %r148}, [pixelID]; + cvt.u64.u32 %rd66, %r147; + cvt.u64.u32 %rd67, %r148; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd48, %r383, %r384, %rd66, %rd67, %rd272, %rd272); + // inline asm + ld.u32 %r10, [%rd64]; + shr.u32 %r11, %r10, 16; + cvt.u16.u32 %rs37, %r11; + and.b16 %rs38, %rs37, 255; + cvt.u16.u32 %rs39, %r10; + or.b16 %rs40, %rs39, %rs38; + setp.eq.s16 %p15, %rs40, 0; + mov.f32 %f896, %f895; + mov.f32 %f897, %f895; + @%p15 bra BB0_9; + + ld.u8 %rs41, [%rd64+1]; + and.b16 %rs43, %rs39, 255; + cvt.rn.f32.u16 %f331, %rs43; + div.rn.f32 %f332, %f331, 0f437F0000; + fma.rn.f32 %f333, %f332, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f334, %rs41; + div.rn.f32 %f335, %f334, 0f437F0000; + fma.rn.f32 %f336, %f335, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f337, %rs38; + div.rn.f32 %f338, %f337, 0f437F0000; + fma.rn.f32 %f339, %f338, 0f40000000, 0fBF800000; + mul.f32 %f340, %f336, %f336; + fma.rn.f32 %f341, %f333, %f333, %f340; + fma.rn.f32 %f342, %f339, %f339, %f341; + sqrt.rn.f32 %f343, %f342; + rcp.rn.f32 %f344, %f343; + mul.f32 %f895, %f333, %f344; + mul.f32 %f896, %f336, %f344; + mul.f32 %f897, %f339, %f344; + +BB0_9: + mul.f32 %f881, %f887, 0f3F13CD3A; + mul.f32 %f880, %f886, 0f3F13CD3A; + mov.f32 %f910, 0f00000000; + mul.f32 %f357, %f888, %f896; + mul.f32 %f358, %f887, %f897; + sub.f32 %f359, %f358, %f357; + mul.f32 %f360, %f886, %f897; + mul.f32 %f361, %f888, %f895; + sub.f32 %f362, %f361, %f360; + mul.f32 %f363, %f887, %f895; + mul.f32 %f364, %f886, %f896; + sub.f32 %f365, %f364, %f363; + setp.lt.u32 %p16, %r10, 16777216; + selp.f32 %f366, 0fBF800000, 0f3F800000, %p16; + mul.f32 %f367, %f359, %f366; + mul.f32 %f368, %f362, %f366; + mul.f32 %f369, %f365, %f366; + mul.f32 %f370, %f367, 0fBF3504F3; + mul.f32 %f371, %f368, 0fBF3504F3; + mul.f32 %f372, %f369, 0fBF3504F3; + fma.rn.f32 %f373, %f895, 0fBED105EC, %f370; + fma.rn.f32 %f374, %f896, 0fBED105EC, %f371; + fma.rn.f32 %f375, %f897, 0fBED105EC, %f372; + add.f32 %f43, %f880, %f373; + add.f32 %f44, %f881, %f374; + add.f32 %f45, %f26, %f375; + setp.lt.s32 %p17, %r1, 1; + mov.f32 %f911, %f910; + mov.f32 %f912, %f910; + mov.f32 %f913, %f910; + mov.f32 %f914, %f910; + mov.f32 %f915, %f910; + mov.f32 %f916, %f910; + mov.f32 %f917, %f910; + mov.f32 %f918, %f910; + mov.f32 %f919, %f910; + mov.f32 %f920, %f910; + mov.f32 %f921, %f910; + @%p17 bra BB0_60; + + cvt.rn.f32.s32 %f388, %r1; + rcp.rn.f32 %f46, %f388; + mul.f32 %f47, %f10, 0f3456BF95; + mul.f32 %f48, %f11, 0f3456BF95; + mul.f32 %f49, %f12, 0f3456BF95; + mul.f32 %f389, %f888, %f14; + mul.f32 %f390, %f887, %f15; + sub.f32 %f50, %f389, %f390; + mul.f32 %f391, %f886, %f15; + mul.f32 %f392, %f888, %f13; + sub.f32 %f51, %f391, %f392; + mul.f32 %f393, %f887, %f13; + mul.f32 %f394, %f886, %f14; + sub.f32 %f52, %f393, %f394; + mov.f32 %f910, 0f00000000; + mov.u32 %r151, 0; + abs.f32 %f395, %f48; + abs.f32 %f396, %f47; + max.f32 %f397, %f396, %f395; + abs.f32 %f398, %f49; + max.f32 %f399, %f397, %f398; + mov.u32 %r385, %r151; + mov.f32 %f911, %f910; + mov.f32 %f912, %f910; + mov.f32 %f913, %f910; + mov.f32 %f914, %f910; + mov.f32 %f915, %f910; + mov.f32 %f916, %f910; + mov.f32 %f917, %f910; + mov.f32 %f918, %f910; + mov.f32 %f919, %f910; + mov.f32 %f920, %f910; + mov.f32 %f921, %f910; + +BB0_11: + mov.u32 %r387, %r151; + +BB0_12: + mov.u32 %r15, %r388; + cvt.rn.f32.s32 %f864, %r385; + mad.lo.s32 %r153, %r15, 1664525, 1013904223; + and.b32 %r154, %r153, 16777215; + cvt.rn.f32.u32 %f401, %r154; + fma.rn.f32 %f402, %f401, 0f33800000, %f864; + mul.f32 %f79, %f46, %f402; + mad.lo.s32 %r16, %r153, 1664525, 1013904223; + and.b32 %r155, %r16, 16777215; + cvt.rn.f32.u32 %f403, %r155; + cvt.rn.f32.s32 %f404, %r387; + fma.rn.f32 %f405, %f403, 0f33800000, %f404; + mul.f32 %f406, %f46, %f405; + mul.f32 %f407, %f79, %f79; + mov.f32 %f408, 0f3F800000; + sub.f32 %f409, %f408, %f407; + mov.f32 %f410, 0f00000000; + max.f32 %f411, %f410, %f409; + sqrt.rn.f32 %f80, %f411; + mul.f32 %f928, %f406, 0f40C90FDB; + abs.f32 %f82, %f928; + setp.neu.f32 %p18, %f82, 0f7F800000; + mov.f32 %f922, %f928; + @%p18 bra BB0_14; + + mov.f32 %f865, 0f00000000; + mul.rn.f32 %f922, %f928, %f865; + +BB0_14: + mul.f32 %f413, %f922, 0f3F22F983; + cvt.rni.s32.f32 %r398, %f413; + cvt.rn.f32.s32 %f414, %r398; + neg.f32 %f415, %f414; + mov.f32 %f416, 0f3FC90FDA; + fma.rn.f32 %f417, %f415, %f416, %f922; + mov.f32 %f418, 0f33A22168; + fma.rn.f32 %f419, %f415, %f418, %f417; + mov.f32 %f420, 0f27C234C5; + fma.rn.f32 %f923, %f415, %f420, %f419; + abs.f32 %f421, %f922; + setp.leu.f32 %p19, %f421, 0f47CE4780; + @%p19 bra BB0_25; + + add.u64 %rd72, %SP, 12; + cvta.to.local.u64 %rd273, %rd72; + mov.b32 %r18, %f922; + shl.b32 %r158, %r18, 8; + or.b32 %r20, %r158, -2147483648; + mov.u32 %r389, 0; + mov.u64 %rd274, 0; + mov.u32 %r390, %r389; + +BB0_16: + .pragma "nounroll"; + add.u64 %rd267, %SP, 12; + cvta.to.local.u64 %rd266, %rd267; + shl.b64 %rd73, %rd274, 2; + mov.u64 %rd74, __cudart_i2opi_f; + add.s64 %rd75, %rd74, %rd73; + ld.const.u32 %r161, [%rd75]; + // inline asm + { + mad.lo.cc.u32 %r159, %r161, %r20, %r390; + madc.hi.u32 %r390, %r161, %r20, 0; + } + // inline asm + st.local.u32 [%rd273], %r159; + add.s32 %r389, %r389, 1; + cvt.s64.s32 %rd274, %r389; + mul.wide.s32 %rd78, %r389, 4; + add.s64 %rd273, %rd266, %rd78; + setp.ne.s32 %p20, %r389, 6; + @%p20 bra BB0_16; + + mov.b32 %r365, %f922; + shr.u32 %r364, %r365, 23; + add.u64 %rd268, %SP, 12; + and.b32 %r164, %r364, 255; + add.s32 %r165, %r164, -128; + shr.u32 %r166, %r165, 5; + cvta.to.local.u64 %rd80, %rd268; + st.local.u32 [%rd80+24], %r390; + mov.u32 %r167, 6; + sub.s32 %r168, %r167, %r166; + mul.wide.s32 %rd81, %r168, 4; + add.s64 %rd10, %rd80, %rd81; + ld.local.u32 %r391, [%rd10]; + ld.local.u32 %r392, [%rd10+-4]; + and.b32 %r28, %r364, 31; + setp.eq.s32 %p21, %r28, 0; + @%p21 bra BB0_19; + + mov.u32 %r169, 32; + sub.s32 %r170, %r169, %r28; + shr.u32 %r171, %r392, %r170; + shl.b32 %r172, %r391, %r28; + add.s32 %r391, %r171, %r172; + ld.local.u32 %r173, [%rd10+-8]; + shr.u32 %r174, %r173, %r170; + shl.b32 %r175, %r392, %r28; + add.s32 %r392, %r174, %r175; + +BB0_19: + mov.b32 %r368, %f922; + and.b32 %r394, %r368, -2147483648; + shr.u32 %r176, %r392, 30; + shl.b32 %r177, %r391, 2; + add.s32 %r393, %r176, %r177; + shl.b32 %r34, %r392, 2; + shr.u32 %r178, %r393, 31; + shr.u32 %r179, %r391, 30; + add.s32 %r35, %r178, %r179; + setp.eq.s32 %p22, %r178, 0; + @%p22 bra BB0_20; + bra.uni BB0_21; + +BB0_20: + mov.u32 %r395, %r34; + bra.uni BB0_22; + +BB0_21: + mov.b32 %r370, %f922; + and.b32 %r369, %r370, -2147483648; + not.b32 %r180, %r393; + neg.s32 %r395, %r34; + setp.eq.s32 %p23, %r34, 0; + selp.u32 %r181, 1, 0, %p23; + add.s32 %r393, %r181, %r180; + xor.b32 %r394, %r369, -2147483648; + +BB0_22: + mov.b32 %r372, %f922; + and.b32 %r371, %r372, -2147483648; + clz.b32 %r397, %r393; + setp.eq.s32 %p24, %r397, 0; + shl.b32 %r182, %r393, %r397; + mov.u32 %r183, 32; + sub.s32 %r184, %r183, %r397; + shr.u32 %r185, %r395, %r184; + add.s32 %r186, %r185, %r182; + selp.b32 %r43, %r393, %r186, %p24; + mov.u32 %r187, -921707870; + mul.hi.u32 %r396, %r43, %r187; + setp.eq.s32 %p25, %r371, 0; + neg.s32 %r188, %r35; + selp.b32 %r398, %r35, %r188, %p25; + setp.lt.s32 %p26, %r396, 1; + @%p26 bra BB0_24; + + mul.lo.s32 %r189, %r43, -921707870; + shr.u32 %r190, %r189, 31; + shl.b32 %r191, %r396, 1; + add.s32 %r396, %r190, %r191; + add.s32 %r397, %r397, 1; + +BB0_24: + mov.u32 %r192, 126; + sub.s32 %r193, %r192, %r397; + shl.b32 %r194, %r193, 23; + add.s32 %r195, %r396, 1; + shr.u32 %r196, %r195, 7; + add.s32 %r197, %r196, 1; + shr.u32 %r198, %r197, 1; + add.s32 %r199, %r198, %r194; + or.b32 %r200, %r199, %r394; + mov.b32 %f923, %r200; + +BB0_25: + add.s32 %r51, %r398, 1; + and.b32 %r52, %r51, 1; + setp.eq.s32 %p27, %r52, 0; + @%p27 bra BB0_27; + bra.uni BB0_26; + +BB0_27: + mul.rn.f32 %f873, %f923, %f923; + mov.f32 %f424, 0f3C08839E; + mov.f32 %f425, 0fB94CA1F9; + fma.rn.f32 %f924, %f425, %f873, %f424; + bra.uni BB0_28; + +BB0_26: + mul.rn.f32 %f869, %f923, %f923; + mov.f32 %f422, 0fBAB6061A; + mov.f32 %f423, 0f37CCF5CE; + fma.rn.f32 %f924, %f423, %f869, %f422; + +BB0_28: + @%p27 bra BB0_30; + bra.uni BB0_29; + +BB0_30: + mul.rn.f32 %f872, %f923, %f923; + mov.f32 %f868, 0f00000000; + mov.f32 %f429, 0fBE2AAAA3; + fma.rn.f32 %f430, %f924, %f872, %f429; + fma.rn.f32 %f925, %f430, %f872, %f868; + bra.uni BB0_31; + +BB0_29: + mul.rn.f32 %f870, %f923, %f923; + mov.f32 %f426, 0f3D2AAAA5; + fma.rn.f32 %f427, %f924, %f870, %f426; + mov.f32 %f428, 0fBF000000; + fma.rn.f32 %f925, %f427, %f870, %f428; + +BB0_31: + fma.rn.f32 %f926, %f925, %f923, %f923; + @%p27 bra BB0_33; + + mul.rn.f32 %f871, %f923, %f923; + mov.f32 %f855, 0f3F800000; + fma.rn.f32 %f926, %f925, %f871, %f855; + +BB0_33: + add.s32 %r373, %r398, 1; + and.b32 %r201, %r373, 2; + setp.eq.s32 %p30, %r201, 0; + @%p30 bra BB0_35; + + mov.f32 %f856, 0f00000000; + mov.f32 %f434, 0fBF800000; + fma.rn.f32 %f926, %f926, %f434, %f856; + +BB0_35: + abs.f32 %f857, %f928; + setp.neu.f32 %p109, %f857, 0f7F800000; + @%p109 bra BB0_37; + + mov.f32 %f867, 0f00000000; + mul.rn.f32 %f928, %f928, %f867; + +BB0_37: + mov.f32 %f860, 0f27C234C5; + mov.f32 %f859, 0f33A22168; + mov.f32 %f858, 0f3FC90FDA; + mul.f32 %f436, %f928, 0f3F22F983; + cvt.rni.s32.f32 %r408, %f436; + cvt.rn.f32.s32 %f437, %r408; + neg.f32 %f438, %f437; + fma.rn.f32 %f440, %f438, %f858, %f928; + fma.rn.f32 %f442, %f438, %f859, %f440; + fma.rn.f32 %f929, %f438, %f860, %f442; + abs.f32 %f444, %f928; + setp.leu.f32 %p32, %f444, 0f47CE4780; + @%p32 bra BB0_48; + + mov.u64 %rd276, 0; + add.u64 %rd83, %SP, 12; + cvta.to.local.u64 %rd275, %rd83; + mov.b32 %r54, %f928; + shl.b32 %r204, %r54, 8; + or.b32 %r56, %r204, -2147483648; + mov.u32 %r399, 0; + mov.u32 %r400, %r399; + +BB0_39: + .pragma "nounroll"; + add.u64 %rd270, %SP, 12; + cvta.to.local.u64 %rd269, %rd270; + shl.b64 %rd84, %rd276, 2; + mov.u64 %rd85, __cudart_i2opi_f; + add.s64 %rd86, %rd85, %rd84; + ld.const.u32 %r207, [%rd86]; + // inline asm + { + mad.lo.cc.u32 %r205, %r207, %r56, %r400; + madc.hi.u32 %r400, %r207, %r56, 0; + } + // inline asm + st.local.u32 [%rd275], %r205; + add.s32 %r399, %r399, 1; + cvt.s64.s32 %rd276, %r399; + mul.wide.s32 %rd87, %r399, 4; + add.s64 %rd275, %rd269, %rd87; + setp.ne.s32 %p33, %r399, 6; + @%p33 bra BB0_39; + + mov.b32 %r375, %f928; + shr.u32 %r374, %r375, 23; + add.u64 %rd271, %SP, 12; + and.b32 %r210, %r374, 255; + add.s32 %r211, %r210, -128; + shr.u32 %r212, %r211, 5; + cvta.to.local.u64 %rd89, %rd271; + st.local.u32 [%rd89+24], %r400; + mov.u32 %r213, 6; + sub.s32 %r214, %r213, %r212; + mul.wide.s32 %rd90, %r214, 4; + add.s64 %rd17, %rd89, %rd90; + ld.local.u32 %r401, [%rd17]; + ld.local.u32 %r402, [%rd17+-4]; + and.b32 %r64, %r374, 31; + setp.eq.s32 %p34, %r64, 0; + @%p34 bra BB0_42; + + mov.u32 %r215, 32; + sub.s32 %r216, %r215, %r64; + shr.u32 %r217, %r402, %r216; + shl.b32 %r218, %r401, %r64; + add.s32 %r401, %r217, %r218; + ld.local.u32 %r219, [%rd17+-8]; + shr.u32 %r220, %r219, %r216; + shl.b32 %r221, %r402, %r64; + add.s32 %r402, %r220, %r221; + +BB0_42: + mov.b32 %r378, %f928; + and.b32 %r404, %r378, -2147483648; + shr.u32 %r222, %r402, 30; + shl.b32 %r223, %r401, 2; + add.s32 %r403, %r222, %r223; + shl.b32 %r70, %r402, 2; + shr.u32 %r224, %r403, 31; + shr.u32 %r225, %r401, 30; + add.s32 %r71, %r224, %r225; + setp.eq.s32 %p35, %r224, 0; + @%p35 bra BB0_43; + bra.uni BB0_44; + +BB0_43: + mov.u32 %r405, %r70; + bra.uni BB0_45; + +BB0_44: + mov.b32 %r380, %f928; + and.b32 %r379, %r380, -2147483648; + not.b32 %r226, %r403; + neg.s32 %r405, %r70; + setp.eq.s32 %p36, %r70, 0; + selp.u32 %r227, 1, 0, %p36; + add.s32 %r403, %r227, %r226; + xor.b32 %r404, %r379, -2147483648; + +BB0_45: + mov.b32 %r382, %f928; + and.b32 %r381, %r382, -2147483648; + clz.b32 %r407, %r403; + setp.eq.s32 %p37, %r407, 0; + shl.b32 %r228, %r403, %r407; + mov.u32 %r229, 32; + sub.s32 %r230, %r229, %r407; + shr.u32 %r231, %r405, %r230; + add.s32 %r232, %r231, %r228; + selp.b32 %r79, %r403, %r232, %p37; + mov.u32 %r233, -921707870; + mul.hi.u32 %r406, %r79, %r233; + setp.eq.s32 %p38, %r381, 0; + neg.s32 %r234, %r71; + selp.b32 %r408, %r71, %r234, %p38; + setp.lt.s32 %p39, %r406, 1; + @%p39 bra BB0_47; + + mul.lo.s32 %r235, %r79, -921707870; + shr.u32 %r236, %r235, 31; + shl.b32 %r237, %r406, 1; + add.s32 %r406, %r236, %r237; + add.s32 %r407, %r407, 1; + +BB0_47: + mov.u32 %r238, 126; + sub.s32 %r239, %r238, %r407; + shl.b32 %r240, %r239, 23; + add.s32 %r241, %r406, 1; + shr.u32 %r242, %r241, 7; + add.s32 %r243, %r242, 1; + shr.u32 %r244, %r243, 1; + add.s32 %r245, %r244, %r240; + or.b32 %r246, %r245, %r404; + mov.b32 %f929, %r246; + +BB0_48: + and.b32 %r87, %r408, 1; + setp.eq.s32 %p40, %r87, 0; + @%p40 bra BB0_50; + bra.uni BB0_49; + +BB0_50: + mul.rn.f32 %f885, %f929, %f929; + mov.f32 %f447, 0f3C08839E; + mov.f32 %f448, 0fB94CA1F9; + fma.rn.f32 %f930, %f448, %f885, %f447; + bra.uni BB0_51; + +BB0_49: + mul.rn.f32 %f882, %f929, %f929; + mov.f32 %f445, 0fBAB6061A; + mov.f32 %f446, 0f37CCF5CE; + fma.rn.f32 %f930, %f446, %f882, %f445; + +BB0_51: + @%p40 bra BB0_53; + bra.uni BB0_52; + +BB0_53: + mul.rn.f32 %f884, %f929, %f929; + mov.f32 %f866, 0f00000000; + mov.f32 %f452, 0fBE2AAAA3; + fma.rn.f32 %f453, %f930, %f884, %f452; + fma.rn.f32 %f931, %f453, %f884, %f866; + bra.uni BB0_54; + +BB0_52: + mul.rn.f32 %f883, %f929, %f929; + mov.f32 %f449, 0f3D2AAAA5; + fma.rn.f32 %f450, %f930, %f883, %f449; + mov.f32 %f451, 0fBF000000; + fma.rn.f32 %f931, %f450, %f883, %f451; + +BB0_54: + fma.rn.f32 %f932, %f931, %f929, %f929; + @%p40 bra BB0_56; + + mul.rn.f32 %f874, %f929, %f929; + mov.f32 %f861, 0f3F800000; + fma.rn.f32 %f932, %f931, %f874, %f861; + +BB0_56: + and.b32 %r247, %r408, 2; + setp.eq.s32 %p43, %r247, 0; + @%p43 bra BB0_58; + + mov.f32 %f862, 0f00000000; + mov.f32 %f457, 0fBF800000; + fma.rn.f32 %f932, %f932, %f457, %f862; + +BB0_58: + mad.lo.s32 %r361, %r15, 1664525, 1013904223; + mad.lo.s32 %r388, %r361, 1664525, 1013904223; + max.f32 %f863, %f399, %f245; + mul.f32 %f466, %f80, %f926; + add.u64 %rd91, %SP, 0; + cvta.to.local.u64 %rd92, %rd91; + mul.f32 %f467, %f80, %f932; + mul.f32 %f468, %f13, %f467; + mul.f32 %f469, %f14, %f467; + mul.f32 %f470, %f15, %f467; + fma.rn.f32 %f471, %f50, %f466, %f468; + fma.rn.f32 %f472, %f51, %f466, %f469; + fma.rn.f32 %f473, %f52, %f466, %f470; + fma.rn.f32 %f461, %f886, %f79, %f471; + fma.rn.f32 %f462, %f887, %f79, %f472; + fma.rn.f32 %f463, %f888, %f79, %f473; + mov.u32 %r249, 0; + st.local.u32 [%rd92+8], %r249; + st.local.u32 [%rd92+4], %r249; + st.local.u32 [%rd92], %r249; + ld.global.u32 %r248, [root]; + mov.f32 %f465, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r248, %f10, %f11, %f12, %f461, %f462, %f463, %r249, %f863, %f465, %rd91, %r118); + // inline asm + mul.f32 %f474, %f25, %f462; + fma.rn.f32 %f475, %f23, %f461, %f474; + fma.rn.f32 %f476, %f27, %f463, %f475; + cvt.sat.f32.f32 %f477, %f476; + ld.local.f32 %f478, [%rd92]; + ld.local.f32 %f479, [%rd92+4]; + ld.local.f32 %f480, [%rd92+8]; + fma.rn.f32 %f915, %f477, %f478, %f915; + fma.rn.f32 %f914, %f477, %f479, %f914; + fma.rn.f32 %f913, %f477, %f480, %f913; + mul.f32 %f481, %f35, %f462; + fma.rn.f32 %f482, %f34, %f461, %f481; + fma.rn.f32 %f483, %f36, %f463, %f482; + cvt.sat.f32.f32 %f484, %f483; + fma.rn.f32 %f918, %f484, %f478, %f918; + fma.rn.f32 %f917, %f484, %f479, %f917; + fma.rn.f32 %f916, %f484, %f480, %f916; + mul.f32 %f485, %f44, %f462; + fma.rn.f32 %f486, %f43, %f461, %f485; + fma.rn.f32 %f487, %f45, %f463, %f486; + cvt.sat.f32.f32 %f488, %f487; + fma.rn.f32 %f921, %f488, %f478, %f921; + fma.rn.f32 %f920, %f488, %f479, %f920; + fma.rn.f32 %f919, %f488, %f480, %f919; + mul.f32 %f489, %f887, %f462; + fma.rn.f32 %f490, %f886, %f461, %f489; + fma.rn.f32 %f491, %f888, %f463, %f490; + cvt.sat.f32.f32 %f492, %f491; + fma.rn.f32 %f912, %f492, %f478, %f912; + fma.rn.f32 %f911, %f492, %f479, %f911; + fma.rn.f32 %f910, %f492, %f480, %f910; + add.s32 %r387, %r387, 1; + setp.lt.s32 %p44, %r387, %r1; + @%p44 bra BB0_12; + + mad.lo.s32 %r363, %r15, 1664525, 1013904223; + mad.lo.s32 %r388, %r363, 1664525, 1013904223; + add.s32 %r385, %r385, 1; + setp.lt.s32 %p45, %r385, %r1; + @%p45 bra BB0_11; + +BB0_60: + mul.lo.s32 %r251, %r1, %r1; + cvt.rn.f32.s32 %f493, %r251; + rcp.rn.f32 %f494, %f493; + cvt.rn.f32.u32 %f495, %r4; + cvt.rn.f32.u32 %f496, %r3; + tex.2d.v4.f32.f32 {%f497, %f498, %f499, %f500}, [albedoTex, {%f496, %f495}]; + mul.f32 %f141, %f915, %f494; + mul.f32 %f142, %f914, %f494; + mul.f32 %f143, %f913, %f494; + mul.f32 %f144, %f918, %f494; + mul.f32 %f145, %f917, %f494; + mul.f32 %f146, %f916, %f494; + mul.f32 %f147, %f921, %f494; + mul.f32 %f148, %f920, %f494; + mul.f32 %f149, %f919, %f494; + mul.f32 %f501, %f912, %f494; + mul.f32 %f502, %f911, %f494; + mul.f32 %f503, %f910, %f494; + fma.rn.f32 %f150, %f912, %f494, %f501; + fma.rn.f32 %f151, %f911, %f494, %f502; + fma.rn.f32 %f152, %f910, %f494, %f503; + mul.f32 %f153, %f150, %f497; + mul.f32 %f154, %f151, %f498; + mul.f32 %f155, %f152, %f499; + add.f32 %f156, %f224, %f153; + add.f32 %f157, %f225, %f154; + add.f32 %f158, %f226, %f155; + ld.global.u32 %r410, [imageEnabled]; + and.b32 %r252, %r410, 1; + setp.eq.b32 %p46, %r252, 1; + @!%p46 bra BB0_95; + bra.uni BB0_61; + +BB0_61: + abs.f32 %f160, %f156; + setp.lt.f32 %p47, %f160, 0f00800000; + mul.f32 %f509, %f160, 0f4B800000; + selp.f32 %f510, 0fC3170000, 0fC2FE0000, %p47; + selp.f32 %f511, %f509, %f160, %p47; + mov.b32 %r253, %f511; + and.b32 %r254, %r253, 8388607; + or.b32 %r255, %r254, 1065353216; + mov.b32 %f512, %r255; + shr.u32 %r256, %r253, 23; + cvt.rn.f32.u32 %f513, %r256; + add.f32 %f514, %f510, %f513; + setp.gt.f32 %p48, %f512, 0f3FB504F3; + mul.f32 %f515, %f512, 0f3F000000; + add.f32 %f516, %f514, 0f3F800000; + selp.f32 %f517, %f515, %f512, %p48; + selp.f32 %f518, %f516, %f514, %p48; + add.f32 %f519, %f517, 0fBF800000; + add.f32 %f505, %f517, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f504,%f505; + // inline asm + add.f32 %f520, %f519, %f519; + mul.f32 %f521, %f504, %f520; + mul.f32 %f522, %f521, %f521; + mov.f32 %f523, 0f3C4CAF63; + mov.f32 %f524, 0f3B18F0FE; + fma.rn.f32 %f525, %f524, %f522, %f523; + mov.f32 %f526, 0f3DAAAABD; + fma.rn.f32 %f527, %f525, %f522, %f526; + mul.rn.f32 %f528, %f527, %f522; + mul.rn.f32 %f529, %f528, %f521; + sub.f32 %f530, %f519, %f521; + neg.f32 %f531, %f521; + add.f32 %f532, %f530, %f530; + fma.rn.f32 %f533, %f531, %f519, %f532; + mul.rn.f32 %f534, %f504, %f533; + add.f32 %f535, %f529, %f521; + sub.f32 %f536, %f521, %f535; + add.f32 %f537, %f529, %f536; + add.f32 %f538, %f534, %f537; + add.f32 %f539, %f535, %f538; + sub.f32 %f540, %f535, %f539; + add.f32 %f541, %f538, %f540; + mov.f32 %f542, 0f3F317200; + mul.rn.f32 %f543, %f518, %f542; + mov.f32 %f544, 0f35BFBE8E; + mul.rn.f32 %f545, %f518, %f544; + add.f32 %f546, %f543, %f539; + sub.f32 %f547, %f543, %f546; + add.f32 %f548, %f539, %f547; + add.f32 %f549, %f541, %f548; + add.f32 %f550, %f545, %f549; + add.f32 %f551, %f546, %f550; + sub.f32 %f552, %f546, %f551; + add.f32 %f553, %f550, %f552; + mov.f32 %f554, 0f3EE66666; + mul.rn.f32 %f555, %f554, %f551; + neg.f32 %f556, %f555; + fma.rn.f32 %f557, %f554, %f551, %f556; + fma.rn.f32 %f558, %f554, %f553, %f557; + mov.f32 %f559, 0f00000000; + fma.rn.f32 %f560, %f559, %f551, %f558; + add.rn.f32 %f561, %f555, %f560; + neg.f32 %f562, %f561; + add.rn.f32 %f563, %f555, %f562; + add.rn.f32 %f564, %f563, %f560; + mov.b32 %r257, %f561; + setp.eq.s32 %p49, %r257, 1118925336; + add.s32 %r258, %r257, -1; + mov.b32 %f565, %r258; + add.f32 %f566, %f564, 0f37000000; + selp.f32 %f567, %f565, %f561, %p49; + selp.f32 %f161, %f566, %f564, %p49; + mul.f32 %f568, %f567, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f569, %f568; + mov.f32 %f570, 0fBF317200; + fma.rn.f32 %f571, %f569, %f570, %f567; + mov.f32 %f572, 0fB5BFBE8E; + fma.rn.f32 %f573, %f569, %f572, %f571; + mul.f32 %f574, %f573, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f575, %f574; + add.f32 %f576, %f569, 0f00000000; + ex2.approx.f32 %f577, %f576; + mul.f32 %f578, %f575, %f577; + setp.lt.f32 %p50, %f567, 0fC2D20000; + selp.f32 %f579, 0f00000000, %f578, %p50; + setp.gt.f32 %p51, %f567, 0f42D20000; + selp.f32 %f946, 0f7F800000, %f579, %p51; + setp.eq.f32 %p52, %f946, 0f7F800000; + @%p52 bra BB0_63; + + fma.rn.f32 %f946, %f946, %f161, %f946; + +BB0_63: + mov.f32 %f827, 0f3E666666; + cvt.rzi.f32.f32 %f826, %f827; + fma.rn.f32 %f825, %f826, 0fC0000000, 0f3EE66666; + abs.f32 %f824, %f825; + setp.lt.f32 %p53, %f156, 0f00000000; + setp.eq.f32 %p54, %f824, 0f3F800000; + and.pred %p1, %p53, %p54; + mov.b32 %r259, %f946; + xor.b32 %r260, %r259, -2147483648; + mov.b32 %f580, %r260; + selp.f32 %f948, %f580, %f946, %p1; + setp.eq.f32 %p55, %f156, 0f00000000; + @%p55 bra BB0_66; + bra.uni BB0_64; + +BB0_66: + add.f32 %f583, %f156, %f156; + selp.f32 %f948, %f583, 0f00000000, %p54; + bra.uni BB0_67; + +BB0_116: + mov.u64 %rd215, image_RNM0; + cvta.global.u64 %rd210, %rd215; + mov.u32 %r327, 8; + mov.u64 %rd214, 0; + // inline asm + call (%rd209), _rt_buffer_get_64, (%rd210, %r100, %r327, %rd20, %rd21, %rd214, %rd214); + // inline asm + mov.f32 %f809, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs116, %f809;} + + // inline asm + mov.u16 %rs117, 0; + st.v4.u16 [%rd209], {%rs116, %rs116, %rs116, %rs117}; + +BB0_117: + ld.global.u32 %r328, [additive]; + setp.eq.s32 %p107, %r328, 0; + @%p107 bra BB0_119; + + mov.u64 %rd228, image_RNM1; + cvta.global.u64 %rd217, %rd228; + mov.u32 %r332, 8; + mov.u64 %rd227, 0; + // inline asm + call (%rd216), _rt_buffer_get_64, (%rd217, %r100, %r332, %rd20, %rd21, %rd227, %rd227); + // inline asm + ld.v4.u16 {%rs124, %rs125, %rs126, %rs127}, [%rd216]; + // inline asm + { cvt.f32.f16 %f810, %rs124;} + + // inline asm + // inline asm + { cvt.f32.f16 %f811, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f812, %rs126;} + + // inline asm + // inline asm + call (%rd222), _rt_buffer_get_64, (%rd217, %r100, %r332, %rd20, %rd21, %rd227, %rd227); + // inline asm + add.f32 %f813, %f810, 0f00000000; + add.f32 %f814, %f811, 0f00000000; + add.f32 %f815, %f812, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs123, %f815;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f814;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs121, %f813;} + + // inline asm + mov.u16 %rs128, 0; + st.v4.u16 [%rd222], {%rs121, %rs122, %rs123, %rs128}; + bra.uni BB0_120; + +BB0_119: + mov.u64 %rd235, image_RNM1; + cvta.global.u64 %rd230, %rd235; + mov.u32 %r334, 8; + mov.u64 %rd234, 0; + // inline asm + call (%rd229), _rt_buffer_get_64, (%rd230, %r100, %r334, %rd20, %rd21, %rd234, %rd234); + // inline asm + mov.f32 %f816, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs129, %f816;} + + // inline asm + mov.u16 %rs130, 0; + st.v4.u16 [%rd229], {%rs129, %rs129, %rs129, %rs130}; + +BB0_120: + ld.global.u32 %r335, [additive]; + setp.eq.s32 %p108, %r335, 0; + @%p108 bra BB0_122; + + mov.u64 %rd248, image_RNM2; + cvta.global.u64 %rd237, %rd248; + mov.u32 %r339, 8; + mov.u64 %rd247, 0; + // inline asm + call (%rd236), _rt_buffer_get_64, (%rd237, %r100, %r339, %rd20, %rd21, %rd247, %rd247); + // inline asm + ld.v4.u16 {%rs137, %rs138, %rs139, %rs140}, [%rd236]; + // inline asm + { cvt.f32.f16 %f817, %rs137;} + + // inline asm + // inline asm + { cvt.f32.f16 %f818, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f819, %rs139;} + + // inline asm + // inline asm + call (%rd242), _rt_buffer_get_64, (%rd237, %r100, %r339, %rd20, %rd21, %rd247, %rd247); + // inline asm + add.f32 %f820, %f817, 0f00000000; + add.f32 %f821, %f818, 0f00000000; + add.f32 %f822, %f819, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs136, %f822;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f821;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs134, %f820;} + + // inline asm + mov.u16 %rs141, 0; + st.v4.u16 [%rd242], {%rs134, %rs135, %rs136, %rs141}; + bra.uni BB0_123; + +BB0_122: + mov.u64 %rd255, image_RNM2; + cvta.global.u64 %rd250, %rd255; + mov.u32 %r341, 8; + mov.u64 %rd254, 0; + // inline asm + call (%rd249), _rt_buffer_get_64, (%rd250, %r100, %r341, %rd20, %rd21, %rd254, %rd254); + // inline asm + mov.f32 %f823, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs142, %f823;} + + // inline asm + mov.u16 %rs143, 0; + st.v4.u16 [%rd249], {%rs142, %rs142, %rs142, %rs143}; + bra.uni BB0_123; + +BB0_64: + setp.geu.f32 %p56, %f156, 0f00000000; + @%p56 bra BB0_67; + + mov.f32 %f851, 0f3EE66666; + cvt.rzi.f32.f32 %f582, %f851; + setp.neu.f32 %p57, %f582, 0f3EE66666; + selp.f32 %f948, 0f7FFFFFFF, %f948, %p57; + +BB0_67: + abs.f32 %f828, %f156; + add.f32 %f584, %f828, 0f3EE66666; + mov.b32 %r261, %f584; + setp.lt.s32 %p59, %r261, 2139095040; + @%p59 bra BB0_72; + + abs.f32 %f849, %f156; + setp.gtu.f32 %p60, %f849, 0f7F800000; + @%p60 bra BB0_71; + bra.uni BB0_69; + +BB0_71: + add.f32 %f948, %f156, 0f3EE66666; + bra.uni BB0_72; + +BB0_69: + abs.f32 %f850, %f156; + setp.neu.f32 %p61, %f850, 0f7F800000; + @%p61 bra BB0_72; + + selp.f32 %f948, 0fFF800000, 0f7F800000, %p1; + +BB0_72: + mov.f32 %f837, 0fB5BFBE8E; + mov.f32 %f836, 0fBF317200; + mov.f32 %f835, 0f00000000; + mov.f32 %f834, 0f35BFBE8E; + mov.f32 %f833, 0f3F317200; + mov.f32 %f832, 0f3DAAAABD; + mov.f32 %f831, 0f3C4CAF63; + mov.f32 %f830, 0f3B18F0FE; + mov.f32 %f829, 0f3EE66666; + setp.eq.f32 %p62, %f156, 0f3F800000; + selp.f32 %f172, 0f3F800000, %f948, %p62; + abs.f32 %f173, %f157; + setp.lt.f32 %p63, %f173, 0f00800000; + mul.f32 %f587, %f173, 0f4B800000; + selp.f32 %f588, 0fC3170000, 0fC2FE0000, %p63; + selp.f32 %f589, %f587, %f173, %p63; + mov.b32 %r262, %f589; + and.b32 %r263, %r262, 8388607; + or.b32 %r264, %r263, 1065353216; + mov.b32 %f590, %r264; + shr.u32 %r265, %r262, 23; + cvt.rn.f32.u32 %f591, %r265; + add.f32 %f592, %f588, %f591; + setp.gt.f32 %p64, %f590, 0f3FB504F3; + mul.f32 %f593, %f590, 0f3F000000; + add.f32 %f594, %f592, 0f3F800000; + selp.f32 %f595, %f593, %f590, %p64; + selp.f32 %f596, %f594, %f592, %p64; + add.f32 %f597, %f595, 0fBF800000; + add.f32 %f586, %f595, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f585,%f586; + // inline asm + add.f32 %f598, %f597, %f597; + mul.f32 %f599, %f585, %f598; + mul.f32 %f600, %f599, %f599; + fma.rn.f32 %f603, %f830, %f600, %f831; + fma.rn.f32 %f605, %f603, %f600, %f832; + mul.rn.f32 %f606, %f605, %f600; + mul.rn.f32 %f607, %f606, %f599; + sub.f32 %f608, %f597, %f599; + neg.f32 %f609, %f599; + add.f32 %f610, %f608, %f608; + fma.rn.f32 %f611, %f609, %f597, %f610; + mul.rn.f32 %f612, %f585, %f611; + add.f32 %f613, %f607, %f599; + sub.f32 %f614, %f599, %f613; + add.f32 %f615, %f607, %f614; + add.f32 %f616, %f612, %f615; + add.f32 %f617, %f613, %f616; + sub.f32 %f618, %f613, %f617; + add.f32 %f619, %f616, %f618; + mul.rn.f32 %f621, %f596, %f833; + mul.rn.f32 %f623, %f596, %f834; + add.f32 %f624, %f621, %f617; + sub.f32 %f625, %f621, %f624; + add.f32 %f626, %f617, %f625; + add.f32 %f627, %f619, %f626; + add.f32 %f628, %f623, %f627; + add.f32 %f629, %f624, %f628; + sub.f32 %f630, %f624, %f629; + add.f32 %f631, %f628, %f630; + mul.rn.f32 %f633, %f829, %f629; + neg.f32 %f634, %f633; + fma.rn.f32 %f635, %f829, %f629, %f634; + fma.rn.f32 %f636, %f829, %f631, %f635; + fma.rn.f32 %f638, %f835, %f629, %f636; + add.rn.f32 %f639, %f633, %f638; + neg.f32 %f640, %f639; + add.rn.f32 %f641, %f633, %f640; + add.rn.f32 %f642, %f641, %f638; + mov.b32 %r266, %f639; + setp.eq.s32 %p65, %r266, 1118925336; + add.s32 %r267, %r266, -1; + mov.b32 %f643, %r267; + add.f32 %f644, %f642, 0f37000000; + selp.f32 %f645, %f643, %f639, %p65; + selp.f32 %f174, %f644, %f642, %p65; + mul.f32 %f646, %f645, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f647, %f646; + fma.rn.f32 %f649, %f647, %f836, %f645; + fma.rn.f32 %f651, %f647, %f837, %f649; + mul.f32 %f652, %f651, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f653, %f652; + add.f32 %f654, %f647, 0f00000000; + ex2.approx.f32 %f655, %f654; + mul.f32 %f656, %f653, %f655; + setp.lt.f32 %p66, %f645, 0fC2D20000; + selp.f32 %f657, 0f00000000, %f656, %p66; + setp.gt.f32 %p67, %f645, 0f42D20000; + selp.f32 %f949, 0f7F800000, %f657, %p67; + setp.eq.f32 %p68, %f949, 0f7F800000; + @%p68 bra BB0_74; + + fma.rn.f32 %f949, %f949, %f174, %f949; + +BB0_74: + setp.lt.f32 %p69, %f157, 0f00000000; + and.pred %p2, %p69, %p54; + mov.b32 %r268, %f949; + xor.b32 %r269, %r268, -2147483648; + mov.b32 %f658, %r269; + selp.f32 %f951, %f658, %f949, %p2; + setp.eq.f32 %p71, %f157, 0f00000000; + @%p71 bra BB0_77; + bra.uni BB0_75; + +BB0_77: + add.f32 %f661, %f157, %f157; + selp.f32 %f951, %f661, 0f00000000, %p54; + bra.uni BB0_78; + +BB0_75: + setp.geu.f32 %p72, %f157, 0f00000000; + @%p72 bra BB0_78; + + mov.f32 %f848, 0f3EE66666; + cvt.rzi.f32.f32 %f660, %f848; + setp.neu.f32 %p73, %f660, 0f3EE66666; + selp.f32 %f951, 0f7FFFFFFF, %f951, %p73; + +BB0_78: + abs.f32 %f852, %f157; + add.f32 %f662, %f852, 0f3EE66666; + mov.b32 %r270, %f662; + setp.lt.s32 %p75, %r270, 2139095040; + @%p75 bra BB0_83; + + abs.f32 %f853, %f157; + setp.gtu.f32 %p76, %f853, 0f7F800000; + @%p76 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f951, %f157, 0f3EE66666; + bra.uni BB0_83; + +BB0_80: + abs.f32 %f854, %f157; + setp.neu.f32 %p77, %f854, 0f7F800000; + @%p77 bra BB0_83; + + selp.f32 %f951, 0fFF800000, 0f7F800000, %p2; + +BB0_83: + mov.f32 %f846, 0fB5BFBE8E; + mov.f32 %f845, 0fBF317200; + mov.f32 %f844, 0f00000000; + mov.f32 %f843, 0f35BFBE8E; + mov.f32 %f842, 0f3F317200; + mov.f32 %f841, 0f3DAAAABD; + mov.f32 %f840, 0f3C4CAF63; + mov.f32 %f839, 0f3B18F0FE; + mov.f32 %f838, 0f3EE66666; + setp.eq.f32 %p78, %f157, 0f3F800000; + selp.f32 %f185, 0f3F800000, %f951, %p78; + abs.f32 %f186, %f158; + setp.lt.f32 %p79, %f186, 0f00800000; + mul.f32 %f665, %f186, 0f4B800000; + selp.f32 %f666, 0fC3170000, 0fC2FE0000, %p79; + selp.f32 %f667, %f665, %f186, %p79; + mov.b32 %r271, %f667; + and.b32 %r272, %r271, 8388607; + or.b32 %r273, %r272, 1065353216; + mov.b32 %f668, %r273; + shr.u32 %r274, %r271, 23; + cvt.rn.f32.u32 %f669, %r274; + add.f32 %f670, %f666, %f669; + setp.gt.f32 %p80, %f668, 0f3FB504F3; + mul.f32 %f671, %f668, 0f3F000000; + add.f32 %f672, %f670, 0f3F800000; + selp.f32 %f673, %f671, %f668, %p80; + selp.f32 %f674, %f672, %f670, %p80; + add.f32 %f675, %f673, 0fBF800000; + add.f32 %f664, %f673, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f663,%f664; + // inline asm + add.f32 %f676, %f675, %f675; + mul.f32 %f677, %f663, %f676; + mul.f32 %f678, %f677, %f677; + fma.rn.f32 %f681, %f839, %f678, %f840; + fma.rn.f32 %f683, %f681, %f678, %f841; + mul.rn.f32 %f684, %f683, %f678; + mul.rn.f32 %f685, %f684, %f677; + sub.f32 %f686, %f675, %f677; + neg.f32 %f687, %f677; + add.f32 %f688, %f686, %f686; + fma.rn.f32 %f689, %f687, %f675, %f688; + mul.rn.f32 %f690, %f663, %f689; + add.f32 %f691, %f685, %f677; + sub.f32 %f692, %f677, %f691; + add.f32 %f693, %f685, %f692; + add.f32 %f694, %f690, %f693; + add.f32 %f695, %f691, %f694; + sub.f32 %f696, %f691, %f695; + add.f32 %f697, %f694, %f696; + mul.rn.f32 %f699, %f674, %f842; + mul.rn.f32 %f701, %f674, %f843; + add.f32 %f702, %f699, %f695; + sub.f32 %f703, %f699, %f702; + add.f32 %f704, %f695, %f703; + add.f32 %f705, %f697, %f704; + add.f32 %f706, %f701, %f705; + add.f32 %f707, %f702, %f706; + sub.f32 %f708, %f702, %f707; + add.f32 %f709, %f706, %f708; + mul.rn.f32 %f711, %f838, %f707; + neg.f32 %f712, %f711; + fma.rn.f32 %f713, %f838, %f707, %f712; + fma.rn.f32 %f714, %f838, %f709, %f713; + fma.rn.f32 %f716, %f844, %f707, %f714; + add.rn.f32 %f717, %f711, %f716; + neg.f32 %f718, %f717; + add.rn.f32 %f719, %f711, %f718; + add.rn.f32 %f720, %f719, %f716; + mov.b32 %r275, %f717; + setp.eq.s32 %p81, %r275, 1118925336; + add.s32 %r276, %r275, -1; + mov.b32 %f721, %r276; + add.f32 %f722, %f720, 0f37000000; + selp.f32 %f723, %f721, %f717, %p81; + selp.f32 %f187, %f722, %f720, %p81; + mul.f32 %f724, %f723, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f725, %f724; + fma.rn.f32 %f727, %f725, %f845, %f723; + fma.rn.f32 %f729, %f725, %f846, %f727; + mul.f32 %f730, %f729, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f731, %f730; + add.f32 %f732, %f725, 0f00000000; + ex2.approx.f32 %f733, %f732; + mul.f32 %f734, %f731, %f733; + setp.lt.f32 %p82, %f723, 0fC2D20000; + selp.f32 %f735, 0f00000000, %f734, %p82; + setp.gt.f32 %p83, %f723, 0f42D20000; + selp.f32 %f952, 0f7F800000, %f735, %p83; + setp.eq.f32 %p84, %f952, 0f7F800000; + @%p84 bra BB0_85; + + fma.rn.f32 %f952, %f952, %f187, %f952; + +BB0_85: + setp.lt.f32 %p85, %f158, 0f00000000; + and.pred %p3, %p85, %p54; + mov.b32 %r277, %f952; + xor.b32 %r278, %r277, -2147483648; + mov.b32 %f736, %r278; + selp.f32 %f954, %f736, %f952, %p3; + setp.eq.f32 %p87, %f158, 0f00000000; + @%p87 bra BB0_88; + bra.uni BB0_86; + +BB0_88: + add.f32 %f739, %f158, %f158; + selp.f32 %f954, %f739, 0f00000000, %p54; + bra.uni BB0_89; + +BB0_86: + setp.geu.f32 %p88, %f158, 0f00000000; + @%p88 bra BB0_89; + + mov.f32 %f847, 0f3EE66666; + cvt.rzi.f32.f32 %f738, %f847; + setp.neu.f32 %p89, %f738, 0f3EE66666; + selp.f32 %f954, 0f7FFFFFFF, %f954, %p89; + +BB0_89: + abs.f32 %f875, %f158; + add.f32 %f740, %f875, 0f3EE66666; + mov.b32 %r279, %f740; + setp.lt.s32 %p91, %r279, 2139095040; + @%p91 bra BB0_94; + + abs.f32 %f876, %f158; + setp.gtu.f32 %p92, %f876, 0f7F800000; + @%p92 bra BB0_93; + bra.uni BB0_91; + +BB0_93: + add.f32 %f954, %f158, 0f3EE66666; + bra.uni BB0_94; + +BB0_91: + abs.f32 %f877, %f158; + setp.neu.f32 %p93, %f877, 0f7F800000; + @%p93 bra BB0_94; + + selp.f32 %f954, 0fFF800000, 0f7F800000, %p3; + +BB0_94: + mov.u32 %r351, 2; + mov.u32 %r342, 4; + mov.u64 %rd256, 0; + setp.eq.f32 %p94, %f158, 0f3F800000; + selp.f32 %f741, 0f3F800000, %f954, %p94; + cvt.u64.u32 %rd97, %r4; + cvt.u64.u32 %rd96, %r3; + mov.u64 %rd100, image; + cvta.global.u64 %rd95, %rd100; + // inline asm + call (%rd94), _rt_buffer_get_64, (%rd95, %r351, %r342, %rd96, %rd97, %rd256, %rd256); + // inline asm + cvt.sat.f32.f32 %f742, %f741; + mul.f32 %f743, %f742, 0f437FFD71; + cvt.rzi.u32.f32 %r282, %f743; + cvt.sat.f32.f32 %f744, %f185; + mul.f32 %f745, %f744, 0f437FFD71; + cvt.rzi.u32.f32 %r283, %f745; + cvt.sat.f32.f32 %f746, %f172; + mul.f32 %f747, %f746, 0f437FFD71; + cvt.rzi.u32.f32 %r284, %f747; + cvt.u16.u32 %rs46, %r282; + cvt.u16.u32 %rs47, %r284; + cvt.u16.u32 %rs48, %r283; + mov.u16 %rs49, 255; + st.v4.u8 [%rd94], {%rs46, %rs48, %rs47, %rs49}; + ld.global.u32 %r410, [imageEnabled]; + +BB0_95: + and.b32 %r285, %r410, 4; + setp.eq.s32 %p95, %r285, 0; + @%p95 bra BB0_97; + + mov.u32 %r352, 2; + mov.u32 %r343, 8; + mov.u64 %rd257, 0; + cvt.u64.u32 %rd103, %r3; + cvt.u64.u32 %rd104, %r4; + mov.u64 %rd107, image_HDR; + cvta.global.u64 %rd102, %rd107; + // inline asm + call (%rd101), _rt_buffer_get_64, (%rd102, %r352, %r343, %rd103, %rd104, %rd257, %rd257); + // inline asm + mov.f32 %f751, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs53, %f751;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs52, %f158;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f157;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f156;} + + // inline asm + st.v4.u16 [%rd101], {%rs50, %rs51, %rs52, %rs53}; + ld.global.u32 %r410, [imageEnabled]; + +BB0_97: + and.b32 %r288, %r410, 16; + setp.eq.s32 %p96, %r288, 0; + @%p96 bra BB0_99; + + mov.u32 %r353, 2; + mov.u32 %r344, 8; + mov.u64 %rd258, 0; + cvt.u64.u32 %rd111, %r4; + cvt.u64.u32 %rd110, %r3; + mov.u64 %rd114, image_HDR2; + cvta.global.u64 %rd109, %rd114; + // inline asm + call (%rd108), _rt_buffer_get_64, (%rd109, %r353, %r344, %rd110, %rd111, %rd258, %rd258); + // inline asm + mov.f32 %f755, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs57, %f755;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs56, %f155;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs55, %f154;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs54, %f153;} + + // inline asm + st.v4.u16 [%rd108], {%rs54, %rs55, %rs56, %rs57}; + +BB0_99: + cvt.u64.u32 %rd18, %r3; + cvt.u64.u32 %rd19, %r4; + add.f32 %f757, %f141, %f144; + add.f32 %f758, %f147, %f757; + add.f32 %f759, %f142, %f145; + add.f32 %f760, %f148, %f759; + add.f32 %f761, %f143, %f146; + add.f32 %f762, %f149, %f761; + mul.f32 %f763, %f758, 0f3F13CD3A; + mul.f32 %f764, %f760, 0f3F13CD3A; + mul.f32 %f765, %f762, 0f3F13CD3A; + div.rn.f32 %f766, %f150, %f763; + div.rn.f32 %f767, %f151, %f764; + div.rn.f32 %f768, %f152, %f765; + setp.eq.f32 %p97, %f150, 0f00000000; + selp.f32 %f769, 0f00000000, %f766, %p97; + setp.eq.f32 %p98, %f151, 0f00000000; + selp.f32 %f770, 0f00000000, %f767, %p98; + setp.eq.f32 %p99, %f152, 0f00000000; + selp.f32 %f771, 0f00000000, %f768, %p99; + mul.f32 %f198, %f141, %f769; + mul.f32 %f199, %f142, %f770; + mul.f32 %f200, %f143, %f771; + mul.f32 %f201, %f144, %f769; + mul.f32 %f202, %f145, %f770; + mul.f32 %f203, %f146, %f771; + mul.f32 %f204, %f147, %f769; + mul.f32 %f205, %f148, %f770; + mul.f32 %f206, %f149, %f771; + ld.global.u32 %r291, [additive]; + setp.eq.s32 %p100, %r291, 0; + mov.f32 %f756, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs58, %f756;} + + // inline asm + @%p100 bra BB0_101; + + mov.u32 %r354, 2; + mov.u32 %r345, 8; + mov.u64 %rd259, 0; + mov.u64 %rd127, image_RNM0; + cvta.global.u64 %rd116, %rd127; + // inline asm + call (%rd115), _rt_buffer_get_64, (%rd116, %r354, %r345, %rd18, %rd19, %rd259, %rd259); + // inline asm + ld.v4.u16 {%rs65, %rs66, %rs67, %rs68}, [%rd115]; + // inline asm + { cvt.f32.f16 %f772, %rs65;} + + // inline asm + // inline asm + { cvt.f32.f16 %f773, %rs66;} + + // inline asm + // inline asm + { cvt.f32.f16 %f774, %rs67;} + + // inline asm + // inline asm + call (%rd121), _rt_buffer_get_64, (%rd116, %r354, %r345, %rd18, %rd19, %rd259, %rd259); + // inline asm + add.f32 %f775, %f198, %f772; + add.f32 %f776, %f199, %f773; + add.f32 %f777, %f200, %f774; + // inline asm + { cvt.rn.f16.f32 %rs64, %f777;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs63, %f776;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs62, %f775;} + + // inline asm + st.v4.u16 [%rd121], {%rs62, %rs63, %rs64, %rs58}; + bra.uni BB0_102; + +BB0_101: + mov.u32 %r359, 2; + mov.u32 %r350, 8; + mov.u64 %rd264, 0; + mov.u64 %rd134, image_RNM0; + cvta.global.u64 %rd129, %rd134; + // inline asm + call (%rd128), _rt_buffer_get_64, (%rd129, %r359, %r350, %rd18, %rd19, %rd264, %rd264); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f200;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs70, %f199;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs69, %f198;} + + // inline asm + st.v4.u16 [%rd128], {%rs69, %rs70, %rs71, %rs58}; + +BB0_102: + ld.global.u32 %r298, [additive]; + setp.eq.s32 %p101, %r298, 0; + // inline asm + { cvt.rn.f16.f32 %rs72, %f756;} + + // inline asm + @%p101 bra BB0_104; + + mov.u32 %r355, 2; + mov.u32 %r346, 8; + mov.u64 %rd260, 0; + mov.u64 %rd147, image_RNM1; + cvta.global.u64 %rd136, %rd147; + // inline asm + call (%rd135), _rt_buffer_get_64, (%rd136, %r355, %r346, %rd18, %rd19, %rd260, %rd260); + // inline asm + ld.v4.u16 {%rs79, %rs80, %rs81, %rs82}, [%rd135]; + // inline asm + { cvt.f32.f16 %f782, %rs79;} + + // inline asm + // inline asm + { cvt.f32.f16 %f783, %rs80;} + + // inline asm + // inline asm + { cvt.f32.f16 %f784, %rs81;} + + // inline asm + // inline asm + call (%rd141), _rt_buffer_get_64, (%rd136, %r355, %r346, %rd18, %rd19, %rd260, %rd260); + // inline asm + add.f32 %f785, %f201, %f782; + add.f32 %f786, %f202, %f783; + add.f32 %f787, %f203, %f784; + // inline asm + { cvt.rn.f16.f32 %rs78, %f787;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs77, %f786;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs76, %f785;} + + // inline asm + st.v4.u16 [%rd141], {%rs76, %rs77, %rs78, %rs72}; + bra.uni BB0_105; + +BB0_104: + mov.u32 %r358, 2; + mov.u32 %r349, 8; + mov.u64 %rd263, 0; + mov.u64 %rd154, image_RNM1; + cvta.global.u64 %rd149, %rd154; + // inline asm + call (%rd148), _rt_buffer_get_64, (%rd149, %r358, %r349, %rd18, %rd19, %rd263, %rd263); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f203;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs84, %f202;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs83, %f201;} + + // inline asm + st.v4.u16 [%rd148], {%rs83, %rs84, %rs85, %rs72}; + +BB0_105: + ld.global.u32 %r305, [additive]; + setp.eq.s32 %p102, %r305, 0; + // inline asm + { cvt.rn.f16.f32 %rs86, %f756;} + + // inline asm + @%p102 bra BB0_107; + + mov.u32 %r356, 2; + mov.u32 %r347, 8; + mov.u64 %rd261, 0; + mov.u64 %rd167, image_RNM2; + cvta.global.u64 %rd156, %rd167; + // inline asm + call (%rd155), _rt_buffer_get_64, (%rd156, %r356, %r347, %rd18, %rd19, %rd261, %rd261); + // inline asm + ld.v4.u16 {%rs93, %rs94, %rs95, %rs96}, [%rd155]; + // inline asm + { cvt.f32.f16 %f792, %rs93;} + + // inline asm + // inline asm + { cvt.f32.f16 %f793, %rs94;} + + // inline asm + // inline asm + { cvt.f32.f16 %f794, %rs95;} + + // inline asm + // inline asm + call (%rd161), _rt_buffer_get_64, (%rd156, %r356, %r347, %rd18, %rd19, %rd261, %rd261); + // inline asm + add.f32 %f795, %f204, %f792; + add.f32 %f796, %f205, %f793; + add.f32 %f797, %f206, %f794; + // inline asm + { cvt.rn.f16.f32 %rs92, %f797;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs91, %f796;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs90, %f795;} + + // inline asm + st.v4.u16 [%rd161], {%rs90, %rs91, %rs92, %rs86}; + bra.uni BB0_123; + +BB0_107: + mov.u32 %r357, 2; + mov.u32 %r348, 8; + mov.u64 %rd262, 0; + mov.u64 %rd174, image_RNM2; + cvta.global.u64 %rd169, %rd174; + // inline asm + call (%rd168), _rt_buffer_get_64, (%rd169, %r357, %r348, %rd18, %rd19, %rd262, %rd262); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs99, %f206;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs98, %f205;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f204;} + + // inline asm + st.v4.u16 [%rd168], {%rs97, %rs98, %rs99, %rs86}; + +BB0_123: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIRNM.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIRNM.ptx.meta new file mode 100644 index 00000000..2726860b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIRNM.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4d3c71a84172b604794c477e7eff48c3 +timeCreated: 1537535653 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGISH.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGISH.ptx new file mode 100644 index 00000000..37e79797 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGISH.ptx @@ -0,0 +1,2019 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_RNM0[1]; +.global .align 1 .b8 image_RNM1[1]; +.global .align 1 .b8 image_RNM2[1]; +.global .align 1 .b8 image_RNM3[1]; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 1 .b8 lightmapDirect[1]; +.global .texref albedoTex; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<103>; + .reg .b16 %rs<145>; + .reg .f32 %f<854>; + .reg .b32 %r<397>; + .reg .b64 %rd<284>; + + + mov.u64 %rd283, __local_depot0; + cvta.local.u64 %SP, %rd283; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r96, %r97}, [pixelID]; + cvt.u64.u32 %rd22, %r96; + cvt.u64.u32 %rd23, %r97; + mov.u64 %rd26, uvnormal; + cvta.global.u64 %rd21, %rd26; + mov.u32 %r94, 2; + mov.u32 %r95, 4; + mov.u64 %rd25, 0; + // inline asm + call (%rd20), _rt_buffer_get_64, (%rd21, %r94, %r95, %rd22, %rd23, %rd25, %rd25); + // inline asm + ld.u32 %r2, [%rd20]; + shr.u32 %r100, %r2, 16; + cvt.u16.u32 %rs1, %r100; + and.b16 %rs6, %rs1, 255; + cvt.u16.u32 %rs7, %r2; + or.b16 %rs8, %rs7, %rs6; + setp.eq.s16 %p4, %rs8, 0; + mov.f32 %f785, 0f00000000; + mov.f32 %f786, %f785; + mov.f32 %f787, %f785; + @%p4 bra BB0_2; + + ld.u8 %rs9, [%rd20+1]; + and.b16 %rs11, %rs7, 255; + cvt.rn.f32.u16 %f195, %rs11; + div.rn.f32 %f196, %f195, 0f437F0000; + fma.rn.f32 %f197, %f196, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f198, %rs9; + div.rn.f32 %f199, %f198, 0f437F0000; + fma.rn.f32 %f200, %f199, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f201, %rs6; + div.rn.f32 %f202, %f201, 0f437F0000; + fma.rn.f32 %f203, %f202, 0f40000000, 0fBF800000; + mul.f32 %f204, %f200, %f200; + fma.rn.f32 %f205, %f197, %f197, %f204; + fma.rn.f32 %f206, %f203, %f203, %f205; + sqrt.rn.f32 %f207, %f206; + rcp.rn.f32 %f208, %f207; + mul.f32 %f785, %f197, %f208; + mul.f32 %f786, %f200, %f208; + mul.f32 %f787, %f203, %f208; + +BB0_2: + ld.global.v2.u32 {%r101, %r102}, [pixelID]; + ld.global.v2.u32 {%r104, %r105}, [tileInfo]; + add.s32 %r3, %r101, %r104; + add.s32 %r4, %r102, %r105; + setp.eq.f32 %p5, %f786, 0f00000000; + setp.eq.f32 %p6, %f785, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f787, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_105; + bra.uni BB0_3; + +BB0_105: + ld.global.u32 %r396, [imageEnabled]; + and.b32 %r295, %r396, 1; + setp.eq.b32 %p95, %r295, 1; + @!%p95 bra BB0_107; + bra.uni BB0_106; + +BB0_106: + cvt.u64.u32 %rd174, %r3; + cvt.u64.u32 %rd175, %r4; + mov.u64 %rd178, image; + cvta.global.u64 %rd173, %rd178; + mov.u64 %rd177, 0; + // inline asm + call (%rd172), _rt_buffer_get_64, (%rd173, %r94, %r95, %rd174, %rd175, %rd177, %rd177); + // inline asm + mov.u16 %rs88, 0; + st.v4.u8 [%rd172], {%rs88, %rs88, %rs88, %rs88}; + ld.global.u32 %r396, [imageEnabled]; + +BB0_107: + and.b32 %r298, %r396, 4; + setp.eq.s32 %p96, %r298, 0; + @%p96 bra BB0_109; + + cvt.u64.u32 %rd181, %r3; + cvt.u64.u32 %rd182, %r4; + mov.u64 %rd185, image_HDR; + cvta.global.u64 %rd180, %rd185; + mov.u32 %r300, 8; + mov.u64 %rd184, 0; + // inline asm + call (%rd179), _rt_buffer_get_64, (%rd180, %r94, %r300, %rd181, %rd182, %rd184, %rd184); + // inline asm + mov.f32 %f697, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs89, %f697;} + + // inline asm + mov.u16 %rs90, 0; + st.v4.u16 [%rd179], {%rs89, %rs89, %rs89, %rs90}; + ld.global.u32 %r396, [imageEnabled]; + +BB0_109: + and.b32 %r301, %r396, 16; + setp.eq.s32 %p97, %r301, 0; + @%p97 bra BB0_111; + + cvt.u64.u32 %rd189, %r4; + cvt.u64.u32 %rd188, %r3; + mov.u64 %rd192, image_HDR2; + cvta.global.u64 %rd187, %rd192; + mov.u32 %r303, 8; + mov.u64 %rd191, 0; + // inline asm + call (%rd186), _rt_buffer_get_64, (%rd187, %r94, %r303, %rd188, %rd189, %rd191, %rd191); + // inline asm + mov.f32 %f698, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs91, %f698;} + + // inline asm + mov.u16 %rs92, 0; + st.v4.u16 [%rd186], {%rs91, %rs91, %rs91, %rs92}; + +BB0_111: + cvt.u64.u32 %rd18, %r3; + cvt.u64.u32 %rd19, %r4; + ld.global.u32 %r304, [additive]; + setp.eq.s32 %p98, %r304, 0; + @%p98 bra BB0_113; + + mov.u64 %rd205, image_RNM0; + cvta.global.u64 %rd194, %rd205; + mov.u32 %r308, 8; + mov.u64 %rd204, 0; + // inline asm + call (%rd193), _rt_buffer_get_64, (%rd194, %r94, %r308, %rd18, %rd19, %rd204, %rd204); + // inline asm + ld.v4.u16 {%rs99, %rs100, %rs101, %rs102}, [%rd193]; + // inline asm + { cvt.f32.f16 %f699, %rs99;} + + // inline asm + // inline asm + { cvt.f32.f16 %f700, %rs100;} + + // inline asm + // inline asm + { cvt.f32.f16 %f701, %rs101;} + + // inline asm + // inline asm + call (%rd199), _rt_buffer_get_64, (%rd194, %r94, %r308, %rd18, %rd19, %rd204, %rd204); + // inline asm + add.f32 %f702, %f699, 0f00000000; + add.f32 %f703, %f700, 0f00000000; + add.f32 %f704, %f701, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs98, %f704;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs97, %f703;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs96, %f702;} + + // inline asm + mov.u16 %rs103, 0; + st.v4.u16 [%rd199], {%rs96, %rs97, %rs98, %rs103}; + bra.uni BB0_114; + +BB0_3: + ld.global.v2.u32 {%r115, %r116}, [pixelID]; + cvt.u64.u32 %rd29, %r115; + cvt.u64.u32 %rd30, %r116; + mov.u64 %rd45, lightmapDirect; + cvta.global.u64 %rd28, %rd45; + mov.u32 %r110, 8; + // inline asm + call (%rd27), _rt_buffer_get_64, (%rd28, %r94, %r110, %rd29, %rd30, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs16, %rs17, %rs18, %rs19}, [%rd27]; + // inline asm + { cvt.f32.f16 %f209, %rs16;} + + // inline asm + // inline asm + { cvt.f32.f16 %f210, %rs17;} + + // inline asm + // inline asm + { cvt.f32.f16 %f211, %rs18;} + + // inline asm + ld.global.v2.u32 {%r119, %r120}, [pixelID]; + cvt.u64.u32 %rd35, %r119; + cvt.u64.u32 %rd36, %r120; + mov.u64 %rd46, uvpos; + cvta.global.u64 %rd34, %rd46; + mov.u32 %r112, 12; + // inline asm + call (%rd33), _rt_buffer_get_64, (%rd34, %r94, %r112, %rd35, %rd36, %rd25, %rd25); + // inline asm + ld.f32 %f227, [%rd33+8]; + ld.f32 %f228, [%rd33+4]; + ld.f32 %f229, [%rd33]; + mul.f32 %f230, %f229, 0f3456BF95; + mul.f32 %f231, %f228, 0f3456BF95; + mul.f32 %f232, %f227, 0f3456BF95; + abs.f32 %f233, %f785; + div.rn.f32 %f234, %f230, %f233; + abs.f32 %f235, %f786; + div.rn.f32 %f236, %f231, %f235; + abs.f32 %f237, %f787; + div.rn.f32 %f238, %f232, %f237; + abs.f32 %f239, %f234; + abs.f32 %f240, %f236; + abs.f32 %f241, %f238; + mov.f32 %f242, 0f38D1B717; + max.f32 %f243, %f239, %f242; + max.f32 %f244, %f240, %f242; + max.f32 %f245, %f241, %f242; + fma.rn.f32 %f10, %f785, %f243, %f229; + fma.rn.f32 %f11, %f786, %f244, %f228; + fma.rn.f32 %f12, %f787, %f245, %f227; + setp.gt.f32 %p10, %f233, %f237; + neg.f32 %f246, %f786; + selp.f32 %f247, %f246, 0f00000000, %p10; + neg.f32 %f248, %f787; + selp.f32 %f249, %f785, %f248, %p10; + selp.f32 %f250, 0f00000000, %f786, %p10; + mul.f32 %f251, %f249, %f249; + fma.rn.f32 %f252, %f247, %f247, %f251; + fma.rn.f32 %f253, %f250, %f250, %f252; + sqrt.rn.f32 %f254, %f253; + rcp.rn.f32 %f255, %f254; + mul.f32 %f13, %f247, %f255; + mul.f32 %f14, %f249, %f255; + mul.f32 %f15, %f250, %f255; + ld.global.v2.u32 {%r123, %r124}, [pixelID]; + cvt.u64.u32 %rd41, %r123; + cvt.u64.u32 %rd42, %r124; + mov.u64 %rd47, rnd_seeds; + cvta.global.u64 %rd40, %rd47; + // inline asm + call (%rd39), _rt_buffer_get_64, (%rd40, %r94, %r95, %rd41, %rd42, %rd25, %rd25); + // inline asm + mov.f32 %f803, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f804, %f803; + mov.f32 %f805, %f803; + mov.f32 %f806, %f803; + mov.f32 %f807, %f803; + mov.f32 %f808, %f803; + mov.f32 %f809, %f803; + mov.f32 %f810, %f803; + mov.f32 %f811, %f803; + mov.f32 %f812, %f803; + mov.f32 %f813, %f803; + mov.f32 %f814, %f803; + mov.f32 %f815, %f803; + mov.f32 %f816, %f803; + mov.f32 %f817, %f803; + @%p11 bra BB0_54; + + cvt.rn.f32.s32 %f271, %r1; + rcp.rn.f32 %f16, %f271; + ld.u32 %r372, [%rd39]; + mul.f32 %f17, %f10, 0f3456BF95; + mul.f32 %f18, %f11, 0f3456BF95; + mul.f32 %f19, %f12, 0f3456BF95; + mul.f32 %f272, %f785, %f14; + mul.f32 %f273, %f786, %f13; + sub.f32 %f20, %f273, %f272; + mul.f32 %f274, %f787, %f13; + mul.f32 %f275, %f785, %f15; + sub.f32 %f21, %f275, %f274; + mul.f32 %f276, %f786, %f15; + mul.f32 %f277, %f787, %f14; + sub.f32 %f22, %f277, %f276; + mov.f32 %f803, 0f00000000; + mov.u32 %r127, 0; + abs.f32 %f278, %f18; + abs.f32 %f279, %f17; + max.f32 %f280, %f279, %f278; + abs.f32 %f281, %f19; + max.f32 %f282, %f280, %f281; + mov.u32 %r369, %r127; + mov.f32 %f804, %f803; + mov.f32 %f805, %f803; + mov.f32 %f806, %f803; + mov.f32 %f807, %f803; + mov.f32 %f808, %f803; + mov.f32 %f809, %f803; + mov.f32 %f810, %f803; + mov.f32 %f811, %f803; + mov.f32 %f812, %f803; + mov.f32 %f813, %f803; + mov.f32 %f814, %f803; + mov.f32 %f815, %f803; + mov.f32 %f816, %f803; + mov.f32 %f817, %f803; + +BB0_5: + mov.u32 %r371, %r127; + +BB0_6: + mov.u32 %r9, %r372; + cvt.rn.f32.s32 %f767, %r369; + mad.lo.s32 %r129, %r9, 1664525, 1013904223; + and.b32 %r130, %r129, 16777215; + cvt.rn.f32.u32 %f284, %r130; + fma.rn.f32 %f285, %f284, 0f33800000, %f767; + mul.f32 %f55, %f16, %f285; + mad.lo.s32 %r10, %r129, 1664525, 1013904223; + and.b32 %r131, %r10, 16777215; + cvt.rn.f32.u32 %f286, %r131; + cvt.rn.f32.s32 %f287, %r371; + fma.rn.f32 %f288, %f286, 0f33800000, %f287; + mul.f32 %f289, %f16, %f288; + mul.f32 %f290, %f55, %f55; + mov.f32 %f291, 0f3F800000; + sub.f32 %f292, %f291, %f290; + mov.f32 %f293, 0f00000000; + max.f32 %f294, %f293, %f292; + sqrt.rn.f32 %f56, %f294; + mul.f32 %f824, %f289, 0f40C90FDB; + abs.f32 %f58, %f824; + setp.neu.f32 %p12, %f58, 0f7F800000; + mov.f32 %f818, %f824; + @%p12 bra BB0_8; + + mov.f32 %f768, 0f00000000; + mul.rn.f32 %f818, %f824, %f768; + +BB0_8: + mul.f32 %f296, %f818, 0f3F22F983; + cvt.rni.s32.f32 %r382, %f296; + cvt.rn.f32.s32 %f297, %r382; + neg.f32 %f298, %f297; + mov.f32 %f299, 0f3FC90FDA; + fma.rn.f32 %f300, %f298, %f299, %f818; + mov.f32 %f301, 0f33A22168; + fma.rn.f32 %f302, %f298, %f301, %f300; + mov.f32 %f303, 0f27C234C5; + fma.rn.f32 %f819, %f298, %f303, %f302; + abs.f32 %f304, %f818; + setp.leu.f32 %p13, %f304, 0f47CE4780; + @%p13 bra BB0_19; + + add.u64 %rd49, %SP, 12; + cvta.to.local.u64 %rd279, %rd49; + mov.u32 %r373, 0; + mov.u64 %rd280, 0; + mov.u32 %r374, %r373; + +BB0_10: + .pragma "nounroll"; + mov.b32 %r349, %f818; + shl.b32 %r348, %r349, 8; + or.b32 %r347, %r348, -2147483648; + add.u64 %rd275, %SP, 12; + cvta.to.local.u64 %rd274, %rd275; + shl.b64 %rd50, %rd280, 2; + mov.u64 %rd51, __cudart_i2opi_f; + add.s64 %rd52, %rd51, %rd50; + ld.const.u32 %r137, [%rd52]; + // inline asm + { + mad.lo.cc.u32 %r135, %r137, %r347, %r374; + madc.hi.u32 %r374, %r137, %r347, 0; + } + // inline asm + st.local.u32 [%rd279], %r135; + add.s32 %r373, %r373, 1; + cvt.s64.s32 %rd280, %r373; + mul.wide.s32 %rd55, %r373, 4; + add.s64 %rd279, %rd274, %rd55; + setp.ne.s32 %p14, %r373, 6; + @%p14 bra BB0_10; + + mov.b32 %r351, %f818; + shr.u32 %r350, %r351, 23; + add.u64 %rd273, %SP, 12; + and.b32 %r140, %r350, 255; + add.s32 %r141, %r140, -128; + shr.u32 %r142, %r141, 5; + cvta.to.local.u64 %rd57, %rd273; + st.local.u32 [%rd57+24], %r374; + mov.u32 %r143, 6; + sub.s32 %r144, %r143, %r142; + mul.wide.s32 %rd58, %r144, 4; + add.s64 %rd8, %rd57, %rd58; + ld.local.u32 %r375, [%rd8]; + ld.local.u32 %r376, [%rd8+-4]; + and.b32 %r22, %r350, 31; + setp.eq.s32 %p15, %r22, 0; + @%p15 bra BB0_13; + + mov.u32 %r145, 32; + sub.s32 %r146, %r145, %r22; + shr.u32 %r147, %r376, %r146; + shl.b32 %r148, %r375, %r22; + add.s32 %r375, %r147, %r148; + ld.local.u32 %r149, [%rd8+-8]; + shr.u32 %r150, %r149, %r146; + shl.b32 %r151, %r376, %r22; + add.s32 %r376, %r150, %r151; + +BB0_13: + mov.b32 %r354, %f818; + and.b32 %r378, %r354, -2147483648; + shr.u32 %r152, %r376, 30; + shl.b32 %r153, %r375, 2; + add.s32 %r377, %r152, %r153; + shl.b32 %r28, %r376, 2; + shr.u32 %r154, %r377, 31; + shr.u32 %r155, %r375, 30; + add.s32 %r29, %r154, %r155; + setp.eq.s32 %p16, %r154, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r379, %r28; + bra.uni BB0_16; + +BB0_15: + mov.b32 %r356, %f818; + and.b32 %r355, %r356, -2147483648; + not.b32 %r156, %r377; + neg.s32 %r379, %r28; + setp.eq.s32 %p17, %r28, 0; + selp.u32 %r157, 1, 0, %p17; + add.s32 %r377, %r157, %r156; + xor.b32 %r378, %r355, -2147483648; + +BB0_16: + mov.b32 %r358, %f818; + and.b32 %r357, %r358, -2147483648; + clz.b32 %r381, %r377; + setp.eq.s32 %p18, %r381, 0; + shl.b32 %r158, %r377, %r381; + mov.u32 %r159, 32; + sub.s32 %r160, %r159, %r381; + shr.u32 %r161, %r379, %r160; + add.s32 %r162, %r161, %r158; + selp.b32 %r37, %r377, %r162, %p18; + mov.u32 %r163, -921707870; + mul.hi.u32 %r380, %r37, %r163; + setp.eq.s32 %p19, %r357, 0; + neg.s32 %r164, %r29; + selp.b32 %r382, %r29, %r164, %p19; + setp.lt.s32 %p20, %r380, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r165, %r37, -921707870; + shr.u32 %r166, %r165, 31; + shl.b32 %r167, %r380, 1; + add.s32 %r380, %r166, %r167; + add.s32 %r381, %r381, 1; + +BB0_18: + mov.u32 %r168, 126; + sub.s32 %r169, %r168, %r381; + shl.b32 %r170, %r169, 23; + add.s32 %r171, %r380, 1; + shr.u32 %r172, %r171, 7; + add.s32 %r173, %r172, 1; + shr.u32 %r174, %r173, 1; + add.s32 %r175, %r174, %r170; + or.b32 %r176, %r175, %r378; + mov.b32 %f819, %r176; + +BB0_19: + add.s32 %r45, %r382, 1; + and.b32 %r46, %r45, 1; + setp.eq.s32 %p21, %r46, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mul.rn.f32 %f776, %f819, %f819; + mov.f32 %f307, 0f3C08839E; + mov.f32 %f308, 0fB94CA1F9; + fma.rn.f32 %f820, %f308, %f776, %f307; + bra.uni BB0_22; + +BB0_20: + mul.rn.f32 %f772, %f819, %f819; + mov.f32 %f305, 0fBAB6061A; + mov.f32 %f306, 0f37CCF5CE; + fma.rn.f32 %f820, %f306, %f772, %f305; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mul.rn.f32 %f775, %f819, %f819; + mov.f32 %f771, 0f00000000; + mov.f32 %f312, 0fBE2AAAA3; + fma.rn.f32 %f313, %f820, %f775, %f312; + fma.rn.f32 %f821, %f313, %f775, %f771; + bra.uni BB0_25; + +BB0_23: + mul.rn.f32 %f773, %f819, %f819; + mov.f32 %f309, 0f3D2AAAA5; + fma.rn.f32 %f310, %f820, %f773, %f309; + mov.f32 %f311, 0fBF000000; + fma.rn.f32 %f821, %f310, %f773, %f311; + +BB0_25: + fma.rn.f32 %f822, %f821, %f819, %f819; + @%p21 bra BB0_27; + + mul.rn.f32 %f774, %f819, %f819; + mov.f32 %f758, 0f3F800000; + fma.rn.f32 %f822, %f821, %f774, %f758; + +BB0_27: + add.s32 %r359, %r382, 1; + and.b32 %r177, %r359, 2; + setp.eq.s32 %p24, %r177, 0; + @%p24 bra BB0_29; + + mov.f32 %f759, 0f00000000; + mov.f32 %f317, 0fBF800000; + fma.rn.f32 %f822, %f822, %f317, %f759; + +BB0_29: + abs.f32 %f760, %f824; + setp.neu.f32 %p102, %f760, 0f7F800000; + @%p102 bra BB0_31; + + mov.f32 %f770, 0f00000000; + mul.rn.f32 %f824, %f824, %f770; + +BB0_31: + mov.f32 %f763, 0f27C234C5; + mov.f32 %f762, 0f33A22168; + mov.f32 %f761, 0f3FC90FDA; + mul.f32 %f319, %f824, 0f3F22F983; + cvt.rni.s32.f32 %r392, %f319; + cvt.rn.f32.s32 %f320, %r392; + neg.f32 %f321, %f320; + fma.rn.f32 %f323, %f321, %f761, %f824; + fma.rn.f32 %f325, %f321, %f762, %f323; + fma.rn.f32 %f825, %f321, %f763, %f325; + abs.f32 %f327, %f824; + setp.leu.f32 %p26, %f327, 0f47CE4780; + @%p26 bra BB0_42; + + add.u64 %rd60, %SP, 12; + cvta.to.local.u64 %rd281, %rd60; + mov.b32 %r48, %f824; + shl.b32 %r180, %r48, 8; + or.b32 %r50, %r180, -2147483648; + mov.u32 %r383, 0; + mov.u64 %rd282, %rd25; + mov.u32 %r384, %r383; + +BB0_33: + .pragma "nounroll"; + add.u64 %rd277, %SP, 12; + cvta.to.local.u64 %rd276, %rd277; + shl.b64 %rd61, %rd282, 2; + mov.u64 %rd62, __cudart_i2opi_f; + add.s64 %rd63, %rd62, %rd61; + ld.const.u32 %r183, [%rd63]; + // inline asm + { + mad.lo.cc.u32 %r181, %r183, %r50, %r384; + madc.hi.u32 %r384, %r183, %r50, 0; + } + // inline asm + st.local.u32 [%rd281], %r181; + add.s32 %r383, %r383, 1; + cvt.s64.s32 %rd282, %r383; + mul.wide.s32 %rd64, %r383, 4; + add.s64 %rd281, %rd276, %rd64; + setp.ne.s32 %p27, %r383, 6; + @%p27 bra BB0_33; + + mov.b32 %r361, %f824; + shr.u32 %r360, %r361, 23; + add.u64 %rd278, %SP, 12; + and.b32 %r186, %r360, 255; + add.s32 %r187, %r186, -128; + shr.u32 %r188, %r187, 5; + cvta.to.local.u64 %rd66, %rd278; + st.local.u32 [%rd66+24], %r384; + mov.u32 %r189, 6; + sub.s32 %r190, %r189, %r188; + mul.wide.s32 %rd67, %r190, 4; + add.s64 %rd15, %rd66, %rd67; + ld.local.u32 %r385, [%rd15]; + ld.local.u32 %r386, [%rd15+-4]; + and.b32 %r58, %r360, 31; + setp.eq.s32 %p28, %r58, 0; + @%p28 bra BB0_36; + + mov.u32 %r191, 32; + sub.s32 %r192, %r191, %r58; + shr.u32 %r193, %r386, %r192; + shl.b32 %r194, %r385, %r58; + add.s32 %r385, %r193, %r194; + ld.local.u32 %r195, [%rd15+-8]; + shr.u32 %r196, %r195, %r192; + shl.b32 %r197, %r386, %r58; + add.s32 %r386, %r196, %r197; + +BB0_36: + mov.b32 %r364, %f824; + and.b32 %r388, %r364, -2147483648; + shr.u32 %r198, %r386, 30; + shl.b32 %r199, %r385, 2; + add.s32 %r387, %r198, %r199; + shl.b32 %r64, %r386, 2; + shr.u32 %r200, %r387, 31; + shr.u32 %r201, %r385, 30; + add.s32 %r65, %r200, %r201; + setp.eq.s32 %p29, %r200, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r389, %r64; + bra.uni BB0_39; + +BB0_38: + mov.b32 %r366, %f824; + and.b32 %r365, %r366, -2147483648; + not.b32 %r202, %r387; + neg.s32 %r389, %r64; + setp.eq.s32 %p30, %r64, 0; + selp.u32 %r203, 1, 0, %p30; + add.s32 %r387, %r203, %r202; + xor.b32 %r388, %r365, -2147483648; + +BB0_39: + mov.b32 %r368, %f824; + and.b32 %r367, %r368, -2147483648; + clz.b32 %r391, %r387; + setp.eq.s32 %p31, %r391, 0; + shl.b32 %r204, %r387, %r391; + mov.u32 %r205, 32; + sub.s32 %r206, %r205, %r391; + shr.u32 %r207, %r389, %r206; + add.s32 %r208, %r207, %r204; + selp.b32 %r73, %r387, %r208, %p31; + mov.u32 %r209, -921707870; + mul.hi.u32 %r390, %r73, %r209; + setp.eq.s32 %p32, %r367, 0; + neg.s32 %r210, %r65; + selp.b32 %r392, %r65, %r210, %p32; + setp.lt.s32 %p33, %r390, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r211, %r73, -921707870; + shr.u32 %r212, %r211, 31; + shl.b32 %r213, %r390, 1; + add.s32 %r390, %r212, %r213; + add.s32 %r391, %r391, 1; + +BB0_41: + mov.u32 %r214, 126; + sub.s32 %r215, %r214, %r391; + shl.b32 %r216, %r215, 23; + add.s32 %r217, %r390, 1; + shr.u32 %r218, %r217, 7; + add.s32 %r219, %r218, 1; + shr.u32 %r220, %r219, 1; + add.s32 %r221, %r220, %r216; + or.b32 %r222, %r221, %r388; + mov.b32 %f825, %r222; + +BB0_42: + and.b32 %r81, %r392, 1; + setp.eq.s32 %p34, %r81, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mul.rn.f32 %f784, %f825, %f825; + mov.f32 %f330, 0f3C08839E; + mov.f32 %f331, 0fB94CA1F9; + fma.rn.f32 %f826, %f331, %f784, %f330; + bra.uni BB0_45; + +BB0_43: + mul.rn.f32 %f780, %f825, %f825; + mov.f32 %f328, 0fBAB6061A; + mov.f32 %f329, 0f37CCF5CE; + fma.rn.f32 %f826, %f329, %f780, %f328; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mul.rn.f32 %f783, %f825, %f825; + mov.f32 %f769, 0f00000000; + mov.f32 %f335, 0fBE2AAAA3; + fma.rn.f32 %f336, %f826, %f783, %f335; + fma.rn.f32 %f827, %f336, %f783, %f769; + bra.uni BB0_48; + +BB0_46: + mul.rn.f32 %f781, %f825, %f825; + mov.f32 %f332, 0f3D2AAAA5; + fma.rn.f32 %f333, %f826, %f781, %f332; + mov.f32 %f334, 0fBF000000; + fma.rn.f32 %f827, %f333, %f781, %f334; + +BB0_48: + fma.rn.f32 %f828, %f827, %f825, %f825; + @%p34 bra BB0_50; + + mul.rn.f32 %f782, %f825, %f825; + mov.f32 %f764, 0f3F800000; + fma.rn.f32 %f828, %f827, %f782, %f764; + +BB0_50: + and.b32 %r223, %r392, 2; + setp.eq.s32 %p37, %r223, 0; + @%p37 bra BB0_52; + + mov.f32 %f765, 0f00000000; + mov.f32 %f340, 0fBF800000; + fma.rn.f32 %f828, %f828, %f340, %f765; + +BB0_52: + mad.lo.s32 %r344, %r9, 1664525, 1013904223; + mad.lo.s32 %r372, %r344, 1664525, 1013904223; + max.f32 %f766, %f282, %f242; + mul.f32 %f349, %f56, %f822; + add.u64 %rd68, %SP, 0; + cvta.to.local.u64 %rd69, %rd68; + mul.f32 %f350, %f56, %f828; + mul.f32 %f351, %f13, %f350; + mul.f32 %f352, %f14, %f350; + mul.f32 %f353, %f15, %f350; + fma.rn.f32 %f354, %f22, %f349, %f351; + fma.rn.f32 %f355, %f21, %f349, %f352; + fma.rn.f32 %f356, %f20, %f349, %f353; + fma.rn.f32 %f344, %f785, %f55, %f354; + fma.rn.f32 %f345, %f786, %f55, %f355; + fma.rn.f32 %f346, %f787, %f55, %f356; + mov.u32 %r225, 0; + st.local.u32 [%rd69+8], %r225; + st.local.u32 [%rd69+4], %r225; + st.local.u32 [%rd69], %r225; + ld.global.u32 %r224, [root]; + mov.f32 %f348, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r224, %f10, %f11, %f12, %f344, %f345, %f346, %r225, %f766, %f348, %rd68, %r112); + // inline asm + mul.f32 %f357, %f786, %f345; + fma.rn.f32 %f358, %f785, %f344, %f357; + fma.rn.f32 %f359, %f787, %f346, %f358; + mul.f32 %f360, %f359, 0f40800000; + cvt.sat.f32.f32 %f361, %f360; + ld.local.f32 %f362, [%rd69]; + mul.f32 %f363, %f361, %f362; + ld.local.f32 %f364, [%rd69+4]; + mul.f32 %f365, %f361, %f364; + ld.local.f32 %f366, [%rd69+8]; + mul.f32 %f367, %f361, %f366; + fma.rn.f32 %f811, %f344, %f363, %f811; + fma.rn.f32 %f810, %f344, %f365, %f810; + fma.rn.f32 %f809, %f344, %f367, %f809; + fma.rn.f32 %f814, %f345, %f363, %f814; + fma.rn.f32 %f813, %f345, %f365, %f813; + fma.rn.f32 %f812, %f345, %f367, %f812; + fma.rn.f32 %f817, %f346, %f363, %f817; + fma.rn.f32 %f816, %f346, %f365, %f816; + fma.rn.f32 %f815, %f346, %f367, %f815; + add.f32 %f808, %f808, %f363; + add.f32 %f807, %f807, %f365; + add.f32 %f806, %f806, %f367; + cvt.sat.f32.f32 %f368, %f359; + fma.rn.f32 %f805, %f368, %f362, %f805; + fma.rn.f32 %f804, %f368, %f364, %f804; + fma.rn.f32 %f803, %f368, %f366, %f803; + add.s32 %r371, %r371, 1; + setp.lt.s32 %p38, %r371, %r1; + @%p38 bra BB0_6; + + mad.lo.s32 %r346, %r9, 1664525, 1013904223; + mad.lo.s32 %r372, %r346, 1664525, 1013904223; + add.s32 %r369, %r369, 1; + setp.lt.s32 %p39, %r369, %r1; + @%p39 bra BB0_5; + +BB0_54: + mul.lo.s32 %r227, %r1, %r1; + cvt.rn.f32.s32 %f369, %r227; + rcp.rn.f32 %f370, %f369; + cvt.rn.f32.u32 %f371, %r4; + cvt.rn.f32.u32 %f372, %r3; + tex.2d.v4.f32.f32 {%f373, %f374, %f375, %f376}, [albedoTex, {%f372, %f371}]; + mul.f32 %f123, %f808, %f370; + mul.f32 %f124, %f807, %f370; + mul.f32 %f125, %f806, %f370; + mul.f32 %f126, %f811, %f370; + mul.f32 %f127, %f810, %f370; + mul.f32 %f128, %f809, %f370; + mul.f32 %f129, %f814, %f370; + mul.f32 %f130, %f813, %f370; + mul.f32 %f131, %f812, %f370; + mul.f32 %f132, %f817, %f370; + mul.f32 %f133, %f816, %f370; + mul.f32 %f134, %f815, %f370; + mul.f32 %f377, %f805, %f370; + mul.f32 %f378, %f804, %f370; + mul.f32 %f379, %f803, %f370; + fma.rn.f32 %f380, %f805, %f370, %f377; + fma.rn.f32 %f381, %f804, %f370, %f378; + fma.rn.f32 %f382, %f803, %f370, %f379; + mul.f32 %f135, %f380, %f373; + mul.f32 %f136, %f381, %f374; + mul.f32 %f137, %f382, %f375; + add.f32 %f138, %f209, %f135; + add.f32 %f139, %f210, %f136; + add.f32 %f140, %f211, %f137; + ld.global.u32 %r394, [imageEnabled]; + and.b32 %r228, %r394, 1; + setp.eq.b32 %p40, %r228, 1; + @!%p40 bra BB0_89; + bra.uni BB0_55; + +BB0_55: + abs.f32 %f142, %f138; + setp.lt.f32 %p41, %f142, 0f00800000; + mul.f32 %f388, %f142, 0f4B800000; + selp.f32 %f389, 0fC3170000, 0fC2FE0000, %p41; + selp.f32 %f390, %f388, %f142, %p41; + mov.b32 %r229, %f390; + and.b32 %r230, %r229, 8388607; + or.b32 %r231, %r230, 1065353216; + mov.b32 %f391, %r231; + shr.u32 %r232, %r229, 23; + cvt.rn.f32.u32 %f392, %r232; + add.f32 %f393, %f389, %f392; + setp.gt.f32 %p42, %f391, 0f3FB504F3; + mul.f32 %f394, %f391, 0f3F000000; + add.f32 %f395, %f393, 0f3F800000; + selp.f32 %f396, %f394, %f391, %p42; + selp.f32 %f397, %f395, %f393, %p42; + add.f32 %f398, %f396, 0fBF800000; + add.f32 %f384, %f396, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f383,%f384; + // inline asm + add.f32 %f399, %f398, %f398; + mul.f32 %f400, %f383, %f399; + mul.f32 %f401, %f400, %f400; + mov.f32 %f402, 0f3C4CAF63; + mov.f32 %f403, 0f3B18F0FE; + fma.rn.f32 %f404, %f403, %f401, %f402; + mov.f32 %f405, 0f3DAAAABD; + fma.rn.f32 %f406, %f404, %f401, %f405; + mul.rn.f32 %f407, %f406, %f401; + mul.rn.f32 %f408, %f407, %f400; + sub.f32 %f409, %f398, %f400; + neg.f32 %f410, %f400; + add.f32 %f411, %f409, %f409; + fma.rn.f32 %f412, %f410, %f398, %f411; + mul.rn.f32 %f413, %f383, %f412; + add.f32 %f414, %f408, %f400; + sub.f32 %f415, %f400, %f414; + add.f32 %f416, %f408, %f415; + add.f32 %f417, %f413, %f416; + add.f32 %f418, %f414, %f417; + sub.f32 %f419, %f414, %f418; + add.f32 %f420, %f417, %f419; + mov.f32 %f421, 0f3F317200; + mul.rn.f32 %f422, %f397, %f421; + mov.f32 %f423, 0f35BFBE8E; + mul.rn.f32 %f424, %f397, %f423; + add.f32 %f425, %f422, %f418; + sub.f32 %f426, %f422, %f425; + add.f32 %f427, %f418, %f426; + add.f32 %f428, %f420, %f427; + add.f32 %f429, %f424, %f428; + add.f32 %f430, %f425, %f429; + sub.f32 %f431, %f425, %f430; + add.f32 %f432, %f429, %f431; + mov.f32 %f433, 0f3EE66666; + mul.rn.f32 %f434, %f433, %f430; + neg.f32 %f435, %f434; + fma.rn.f32 %f436, %f433, %f430, %f435; + fma.rn.f32 %f437, %f433, %f432, %f436; + mov.f32 %f438, 0f00000000; + fma.rn.f32 %f439, %f438, %f430, %f437; + add.rn.f32 %f440, %f434, %f439; + neg.f32 %f441, %f440; + add.rn.f32 %f442, %f434, %f441; + add.rn.f32 %f443, %f442, %f439; + mov.b32 %r233, %f440; + setp.eq.s32 %p43, %r233, 1118925336; + add.s32 %r234, %r233, -1; + mov.b32 %f444, %r234; + add.f32 %f445, %f443, 0f37000000; + selp.f32 %f446, %f444, %f440, %p43; + selp.f32 %f143, %f445, %f443, %p43; + mul.f32 %f447, %f446, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f448, %f447; + mov.f32 %f449, 0fBF317200; + fma.rn.f32 %f450, %f448, %f449, %f446; + mov.f32 %f451, 0fB5BFBE8E; + fma.rn.f32 %f452, %f448, %f451, %f450; + mul.f32 %f453, %f452, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f454, %f453; + add.f32 %f455, %f448, 0f00000000; + ex2.approx.f32 %f456, %f455; + mul.f32 %f457, %f454, %f456; + setp.lt.f32 %p44, %f446, 0fC2D20000; + selp.f32 %f458, 0f00000000, %f457, %p44; + setp.gt.f32 %p45, %f446, 0f42D20000; + selp.f32 %f845, 0f7F800000, %f458, %p45; + setp.eq.f32 %p46, %f845, 0f7F800000; + @%p46 bra BB0_57; + + fma.rn.f32 %f845, %f845, %f143, %f845; + +BB0_57: + mov.f32 %f730, 0f3E666666; + cvt.rzi.f32.f32 %f729, %f730; + fma.rn.f32 %f728, %f729, 0fC0000000, 0f3EE66666; + abs.f32 %f727, %f728; + setp.lt.f32 %p47, %f138, 0f00000000; + setp.eq.f32 %p48, %f727, 0f3F800000; + and.pred %p1, %p47, %p48; + mov.b32 %r235, %f845; + xor.b32 %r236, %r235, -2147483648; + mov.b32 %f459, %r236; + selp.f32 %f847, %f459, %f845, %p1; + setp.eq.f32 %p49, %f138, 0f00000000; + @%p49 bra BB0_60; + bra.uni BB0_58; + +BB0_60: + add.f32 %f462, %f138, %f138; + selp.f32 %f847, %f462, 0f00000000, %p48; + bra.uni BB0_61; + +BB0_113: + mov.u64 %rd212, image_RNM0; + cvta.global.u64 %rd207, %rd212; + mov.u32 %r310, 8; + mov.u64 %rd211, 0; + // inline asm + call (%rd206), _rt_buffer_get_64, (%rd207, %r94, %r310, %rd18, %rd19, %rd211, %rd211); + // inline asm + mov.f32 %f705, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs104, %f705;} + + // inline asm + mov.u16 %rs105, 0; + st.v4.u16 [%rd206], {%rs104, %rs104, %rs104, %rs105}; + +BB0_114: + ld.global.u32 %r311, [additive]; + setp.eq.s32 %p99, %r311, 0; + @%p99 bra BB0_116; + + mov.u64 %rd225, image_RNM1; + cvta.global.u64 %rd214, %rd225; + mov.u32 %r315, 8; + mov.u64 %rd224, 0; + // inline asm + call (%rd213), _rt_buffer_get_64, (%rd214, %r94, %r315, %rd18, %rd19, %rd224, %rd224); + // inline asm + ld.v4.u16 {%rs112, %rs113, %rs114, %rs115}, [%rd213]; + // inline asm + { cvt.f32.f16 %f706, %rs112;} + + // inline asm + // inline asm + { cvt.f32.f16 %f707, %rs113;} + + // inline asm + // inline asm + { cvt.f32.f16 %f708, %rs114;} + + // inline asm + // inline asm + call (%rd219), _rt_buffer_get_64, (%rd214, %r94, %r315, %rd18, %rd19, %rd224, %rd224); + // inline asm + add.f32 %f709, %f706, 0f00000000; + add.f32 %f710, %f707, 0f00000000; + add.f32 %f711, %f708, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs111, %f711;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs110, %f710;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs109, %f709;} + + // inline asm + mov.u16 %rs116, 0; + st.v4.u16 [%rd219], {%rs109, %rs110, %rs111, %rs116}; + bra.uni BB0_117; + +BB0_116: + mov.u64 %rd232, image_RNM1; + cvta.global.u64 %rd227, %rd232; + mov.u32 %r317, 8; + mov.u64 %rd231, 0; + // inline asm + call (%rd226), _rt_buffer_get_64, (%rd227, %r94, %r317, %rd18, %rd19, %rd231, %rd231); + // inline asm + mov.f32 %f712, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs117, %f712;} + + // inline asm + mov.u16 %rs118, 0; + st.v4.u16 [%rd226], {%rs117, %rs117, %rs117, %rs118}; + +BB0_117: + ld.global.u32 %r318, [additive]; + setp.eq.s32 %p100, %r318, 0; + @%p100 bra BB0_119; + + mov.u64 %rd245, image_RNM2; + cvta.global.u64 %rd234, %rd245; + mov.u32 %r322, 8; + mov.u64 %rd244, 0; + // inline asm + call (%rd233), _rt_buffer_get_64, (%rd234, %r94, %r322, %rd18, %rd19, %rd244, %rd244); + // inline asm + ld.v4.u16 {%rs125, %rs126, %rs127, %rs128}, [%rd233]; + // inline asm + { cvt.f32.f16 %f713, %rs125;} + + // inline asm + // inline asm + { cvt.f32.f16 %f714, %rs126;} + + // inline asm + // inline asm + { cvt.f32.f16 %f715, %rs127;} + + // inline asm + // inline asm + call (%rd239), _rt_buffer_get_64, (%rd234, %r94, %r322, %rd18, %rd19, %rd244, %rd244); + // inline asm + add.f32 %f716, %f713, 0f00000000; + add.f32 %f717, %f714, 0f00000000; + add.f32 %f718, %f715, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs124, %f718;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs123, %f717;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs122, %f716;} + + // inline asm + mov.u16 %rs129, 0; + st.v4.u16 [%rd239], {%rs122, %rs123, %rs124, %rs129}; + bra.uni BB0_120; + +BB0_119: + mov.u64 %rd252, image_RNM2; + cvta.global.u64 %rd247, %rd252; + mov.u32 %r324, 8; + mov.u64 %rd251, 0; + // inline asm + call (%rd246), _rt_buffer_get_64, (%rd247, %r94, %r324, %rd18, %rd19, %rd251, %rd251); + // inline asm + mov.f32 %f719, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs130, %f719;} + + // inline asm + mov.u16 %rs131, 0; + st.v4.u16 [%rd246], {%rs130, %rs130, %rs130, %rs131}; + +BB0_120: + ld.global.u32 %r325, [additive]; + setp.eq.s32 %p101, %r325, 0; + @%p101 bra BB0_122; + + mov.u64 %rd265, image_RNM3; + cvta.global.u64 %rd254, %rd265; + mov.u32 %r329, 8; + mov.u64 %rd264, 0; + // inline asm + call (%rd253), _rt_buffer_get_64, (%rd254, %r94, %r329, %rd18, %rd19, %rd264, %rd264); + // inline asm + ld.v4.u16 {%rs138, %rs139, %rs140, %rs141}, [%rd253]; + // inline asm + { cvt.f32.f16 %f720, %rs138;} + + // inline asm + // inline asm + { cvt.f32.f16 %f721, %rs139;} + + // inline asm + // inline asm + { cvt.f32.f16 %f722, %rs140;} + + // inline asm + // inline asm + call (%rd259), _rt_buffer_get_64, (%rd254, %r94, %r329, %rd18, %rd19, %rd264, %rd264); + // inline asm + add.f32 %f723, %f720, 0f00000000; + add.f32 %f724, %f721, 0f00000000; + add.f32 %f725, %f722, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs137, %f725;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs136, %f724;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs135, %f723;} + + // inline asm + mov.u16 %rs142, 0; + st.v4.u16 [%rd259], {%rs135, %rs136, %rs137, %rs142}; + bra.uni BB0_123; + +BB0_122: + mov.u64 %rd272, image_RNM3; + cvta.global.u64 %rd267, %rd272; + mov.u32 %r331, 8; + mov.u64 %rd271, 0; + // inline asm + call (%rd266), _rt_buffer_get_64, (%rd267, %r94, %r331, %rd18, %rd19, %rd271, %rd271); + // inline asm + mov.f32 %f726, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs143, %f726;} + + // inline asm + mov.u16 %rs144, 0; + st.v4.u16 [%rd266], {%rs143, %rs143, %rs143, %rs144}; + bra.uni BB0_123; + +BB0_58: + setp.geu.f32 %p50, %f138, 0f00000000; + @%p50 bra BB0_61; + + mov.f32 %f754, 0f3EE66666; + cvt.rzi.f32.f32 %f461, %f754; + setp.neu.f32 %p51, %f461, 0f3EE66666; + selp.f32 %f847, 0f7FFFFFFF, %f847, %p51; + +BB0_61: + abs.f32 %f731, %f138; + add.f32 %f463, %f731, 0f3EE66666; + mov.b32 %r237, %f463; + setp.lt.s32 %p53, %r237, 2139095040; + @%p53 bra BB0_66; + + abs.f32 %f752, %f138; + setp.gtu.f32 %p54, %f752, 0f7F800000; + @%p54 bra BB0_65; + bra.uni BB0_63; + +BB0_65: + add.f32 %f847, %f138, 0f3EE66666; + bra.uni BB0_66; + +BB0_63: + abs.f32 %f753, %f138; + setp.neu.f32 %p55, %f753, 0f7F800000; + @%p55 bra BB0_66; + + selp.f32 %f847, 0fFF800000, 0f7F800000, %p1; + +BB0_66: + mov.f32 %f740, 0fB5BFBE8E; + mov.f32 %f739, 0fBF317200; + mov.f32 %f738, 0f00000000; + mov.f32 %f737, 0f35BFBE8E; + mov.f32 %f736, 0f3F317200; + mov.f32 %f735, 0f3DAAAABD; + mov.f32 %f734, 0f3C4CAF63; + mov.f32 %f733, 0f3B18F0FE; + mov.f32 %f732, 0f3EE66666; + setp.eq.f32 %p56, %f138, 0f3F800000; + selp.f32 %f154, 0f3F800000, %f847, %p56; + abs.f32 %f155, %f139; + setp.lt.f32 %p57, %f155, 0f00800000; + mul.f32 %f466, %f155, 0f4B800000; + selp.f32 %f467, 0fC3170000, 0fC2FE0000, %p57; + selp.f32 %f468, %f466, %f155, %p57; + mov.b32 %r238, %f468; + and.b32 %r239, %r238, 8388607; + or.b32 %r240, %r239, 1065353216; + mov.b32 %f469, %r240; + shr.u32 %r241, %r238, 23; + cvt.rn.f32.u32 %f470, %r241; + add.f32 %f471, %f467, %f470; + setp.gt.f32 %p58, %f469, 0f3FB504F3; + mul.f32 %f472, %f469, 0f3F000000; + add.f32 %f473, %f471, 0f3F800000; + selp.f32 %f474, %f472, %f469, %p58; + selp.f32 %f475, %f473, %f471, %p58; + add.f32 %f476, %f474, 0fBF800000; + add.f32 %f465, %f474, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f464,%f465; + // inline asm + add.f32 %f477, %f476, %f476; + mul.f32 %f478, %f464, %f477; + mul.f32 %f479, %f478, %f478; + fma.rn.f32 %f482, %f733, %f479, %f734; + fma.rn.f32 %f484, %f482, %f479, %f735; + mul.rn.f32 %f485, %f484, %f479; + mul.rn.f32 %f486, %f485, %f478; + sub.f32 %f487, %f476, %f478; + neg.f32 %f488, %f478; + add.f32 %f489, %f487, %f487; + fma.rn.f32 %f490, %f488, %f476, %f489; + mul.rn.f32 %f491, %f464, %f490; + add.f32 %f492, %f486, %f478; + sub.f32 %f493, %f478, %f492; + add.f32 %f494, %f486, %f493; + add.f32 %f495, %f491, %f494; + add.f32 %f496, %f492, %f495; + sub.f32 %f497, %f492, %f496; + add.f32 %f498, %f495, %f497; + mul.rn.f32 %f500, %f475, %f736; + mul.rn.f32 %f502, %f475, %f737; + add.f32 %f503, %f500, %f496; + sub.f32 %f504, %f500, %f503; + add.f32 %f505, %f496, %f504; + add.f32 %f506, %f498, %f505; + add.f32 %f507, %f502, %f506; + add.f32 %f508, %f503, %f507; + sub.f32 %f509, %f503, %f508; + add.f32 %f510, %f507, %f509; + mul.rn.f32 %f512, %f732, %f508; + neg.f32 %f513, %f512; + fma.rn.f32 %f514, %f732, %f508, %f513; + fma.rn.f32 %f515, %f732, %f510, %f514; + fma.rn.f32 %f517, %f738, %f508, %f515; + add.rn.f32 %f518, %f512, %f517; + neg.f32 %f519, %f518; + add.rn.f32 %f520, %f512, %f519; + add.rn.f32 %f521, %f520, %f517; + mov.b32 %r242, %f518; + setp.eq.s32 %p59, %r242, 1118925336; + add.s32 %r243, %r242, -1; + mov.b32 %f522, %r243; + add.f32 %f523, %f521, 0f37000000; + selp.f32 %f524, %f522, %f518, %p59; + selp.f32 %f156, %f523, %f521, %p59; + mul.f32 %f525, %f524, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f526, %f525; + fma.rn.f32 %f528, %f526, %f739, %f524; + fma.rn.f32 %f530, %f526, %f740, %f528; + mul.f32 %f531, %f530, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f532, %f531; + add.f32 %f533, %f526, 0f00000000; + ex2.approx.f32 %f534, %f533; + mul.f32 %f535, %f532, %f534; + setp.lt.f32 %p60, %f524, 0fC2D20000; + selp.f32 %f536, 0f00000000, %f535, %p60; + setp.gt.f32 %p61, %f524, 0f42D20000; + selp.f32 %f848, 0f7F800000, %f536, %p61; + setp.eq.f32 %p62, %f848, 0f7F800000; + @%p62 bra BB0_68; + + fma.rn.f32 %f848, %f848, %f156, %f848; + +BB0_68: + setp.lt.f32 %p63, %f139, 0f00000000; + and.pred %p2, %p63, %p48; + mov.b32 %r244, %f848; + xor.b32 %r245, %r244, -2147483648; + mov.b32 %f537, %r245; + selp.f32 %f850, %f537, %f848, %p2; + setp.eq.f32 %p65, %f139, 0f00000000; + @%p65 bra BB0_71; + bra.uni BB0_69; + +BB0_71: + add.f32 %f540, %f139, %f139; + selp.f32 %f850, %f540, 0f00000000, %p48; + bra.uni BB0_72; + +BB0_69: + setp.geu.f32 %p66, %f139, 0f00000000; + @%p66 bra BB0_72; + + mov.f32 %f751, 0f3EE66666; + cvt.rzi.f32.f32 %f539, %f751; + setp.neu.f32 %p67, %f539, 0f3EE66666; + selp.f32 %f850, 0f7FFFFFFF, %f850, %p67; + +BB0_72: + abs.f32 %f755, %f139; + add.f32 %f541, %f755, 0f3EE66666; + mov.b32 %r246, %f541; + setp.lt.s32 %p69, %r246, 2139095040; + @%p69 bra BB0_77; + + abs.f32 %f756, %f139; + setp.gtu.f32 %p70, %f756, 0f7F800000; + @%p70 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f850, %f139, 0f3EE66666; + bra.uni BB0_77; + +BB0_74: + abs.f32 %f757, %f139; + setp.neu.f32 %p71, %f757, 0f7F800000; + @%p71 bra BB0_77; + + selp.f32 %f850, 0fFF800000, 0f7F800000, %p2; + +BB0_77: + mov.f32 %f749, 0fB5BFBE8E; + mov.f32 %f748, 0fBF317200; + mov.f32 %f747, 0f00000000; + mov.f32 %f746, 0f35BFBE8E; + mov.f32 %f745, 0f3F317200; + mov.f32 %f744, 0f3DAAAABD; + mov.f32 %f743, 0f3C4CAF63; + mov.f32 %f742, 0f3B18F0FE; + mov.f32 %f741, 0f3EE66666; + setp.eq.f32 %p72, %f139, 0f3F800000; + selp.f32 %f167, 0f3F800000, %f850, %p72; + abs.f32 %f168, %f140; + setp.lt.f32 %p73, %f168, 0f00800000; + mul.f32 %f544, %f168, 0f4B800000; + selp.f32 %f545, 0fC3170000, 0fC2FE0000, %p73; + selp.f32 %f546, %f544, %f168, %p73; + mov.b32 %r247, %f546; + and.b32 %r248, %r247, 8388607; + or.b32 %r249, %r248, 1065353216; + mov.b32 %f547, %r249; + shr.u32 %r250, %r247, 23; + cvt.rn.f32.u32 %f548, %r250; + add.f32 %f549, %f545, %f548; + setp.gt.f32 %p74, %f547, 0f3FB504F3; + mul.f32 %f550, %f547, 0f3F000000; + add.f32 %f551, %f549, 0f3F800000; + selp.f32 %f552, %f550, %f547, %p74; + selp.f32 %f553, %f551, %f549, %p74; + add.f32 %f554, %f552, 0fBF800000; + add.f32 %f543, %f552, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f542,%f543; + // inline asm + add.f32 %f555, %f554, %f554; + mul.f32 %f556, %f542, %f555; + mul.f32 %f557, %f556, %f556; + fma.rn.f32 %f560, %f742, %f557, %f743; + fma.rn.f32 %f562, %f560, %f557, %f744; + mul.rn.f32 %f563, %f562, %f557; + mul.rn.f32 %f564, %f563, %f556; + sub.f32 %f565, %f554, %f556; + neg.f32 %f566, %f556; + add.f32 %f567, %f565, %f565; + fma.rn.f32 %f568, %f566, %f554, %f567; + mul.rn.f32 %f569, %f542, %f568; + add.f32 %f570, %f564, %f556; + sub.f32 %f571, %f556, %f570; + add.f32 %f572, %f564, %f571; + add.f32 %f573, %f569, %f572; + add.f32 %f574, %f570, %f573; + sub.f32 %f575, %f570, %f574; + add.f32 %f576, %f573, %f575; + mul.rn.f32 %f578, %f553, %f745; + mul.rn.f32 %f580, %f553, %f746; + add.f32 %f581, %f578, %f574; + sub.f32 %f582, %f578, %f581; + add.f32 %f583, %f574, %f582; + add.f32 %f584, %f576, %f583; + add.f32 %f585, %f580, %f584; + add.f32 %f586, %f581, %f585; + sub.f32 %f587, %f581, %f586; + add.f32 %f588, %f585, %f587; + mul.rn.f32 %f590, %f741, %f586; + neg.f32 %f591, %f590; + fma.rn.f32 %f592, %f741, %f586, %f591; + fma.rn.f32 %f593, %f741, %f588, %f592; + fma.rn.f32 %f595, %f747, %f586, %f593; + add.rn.f32 %f596, %f590, %f595; + neg.f32 %f597, %f596; + add.rn.f32 %f598, %f590, %f597; + add.rn.f32 %f599, %f598, %f595; + mov.b32 %r251, %f596; + setp.eq.s32 %p75, %r251, 1118925336; + add.s32 %r252, %r251, -1; + mov.b32 %f600, %r252; + add.f32 %f601, %f599, 0f37000000; + selp.f32 %f602, %f600, %f596, %p75; + selp.f32 %f169, %f601, %f599, %p75; + mul.f32 %f603, %f602, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f604, %f603; + fma.rn.f32 %f606, %f604, %f748, %f602; + fma.rn.f32 %f608, %f604, %f749, %f606; + mul.f32 %f609, %f608, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f610, %f609; + add.f32 %f611, %f604, 0f00000000; + ex2.approx.f32 %f612, %f611; + mul.f32 %f613, %f610, %f612; + setp.lt.f32 %p76, %f602, 0fC2D20000; + selp.f32 %f614, 0f00000000, %f613, %p76; + setp.gt.f32 %p77, %f602, 0f42D20000; + selp.f32 %f851, 0f7F800000, %f614, %p77; + setp.eq.f32 %p78, %f851, 0f7F800000; + @%p78 bra BB0_79; + + fma.rn.f32 %f851, %f851, %f169, %f851; + +BB0_79: + setp.lt.f32 %p79, %f140, 0f00000000; + and.pred %p3, %p79, %p48; + mov.b32 %r253, %f851; + xor.b32 %r254, %r253, -2147483648; + mov.b32 %f615, %r254; + selp.f32 %f853, %f615, %f851, %p3; + setp.eq.f32 %p81, %f140, 0f00000000; + @%p81 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f618, %f140, %f140; + selp.f32 %f853, %f618, 0f00000000, %p48; + bra.uni BB0_83; + +BB0_80: + setp.geu.f32 %p82, %f140, 0f00000000; + @%p82 bra BB0_83; + + mov.f32 %f750, 0f3EE66666; + cvt.rzi.f32.f32 %f617, %f750; + setp.neu.f32 %p83, %f617, 0f3EE66666; + selp.f32 %f853, 0f7FFFFFFF, %f853, %p83; + +BB0_83: + abs.f32 %f777, %f140; + add.f32 %f619, %f777, 0f3EE66666; + mov.b32 %r255, %f619; + setp.lt.s32 %p85, %r255, 2139095040; + @%p85 bra BB0_88; + + abs.f32 %f778, %f140; + setp.gtu.f32 %p86, %f778, 0f7F800000; + @%p86 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f853, %f140, 0f3EE66666; + bra.uni BB0_88; + +BB0_85: + abs.f32 %f779, %f140; + setp.neu.f32 %p87, %f779, 0f7F800000; + @%p87 bra BB0_88; + + selp.f32 %f853, 0fFF800000, 0f7F800000, %p3; + +BB0_88: + mov.u32 %r332, 4; + setp.eq.f32 %p88, %f140, 0f3F800000; + selp.f32 %f620, 0f3F800000, %f853, %p88; + cvt.u64.u32 %rd74, %r4; + cvt.u64.u32 %rd73, %r3; + mov.u64 %rd77, image; + cvta.global.u64 %rd72, %rd77; + // inline asm + call (%rd71), _rt_buffer_get_64, (%rd72, %r94, %r332, %rd73, %rd74, %rd25, %rd25); + // inline asm + cvt.sat.f32.f32 %f621, %f620; + mul.f32 %f622, %f621, 0f437FFD71; + cvt.rzi.u32.f32 %r258, %f622; + cvt.sat.f32.f32 %f623, %f167; + mul.f32 %f624, %f623, 0f437FFD71; + cvt.rzi.u32.f32 %r259, %f624; + cvt.sat.f32.f32 %f625, %f154; + mul.f32 %f626, %f625, 0f437FFD71; + cvt.rzi.u32.f32 %r260, %f626; + cvt.u16.u32 %rs20, %r258; + cvt.u16.u32 %rs21, %r260; + cvt.u16.u32 %rs22, %r259; + mov.u16 %rs23, 255; + st.v4.u8 [%rd71], {%rs20, %rs22, %rs21, %rs23}; + ld.global.u32 %r394, [imageEnabled]; + +BB0_89: + and.b32 %r261, %r394, 4; + setp.eq.s32 %p89, %r261, 0; + @%p89 bra BB0_91; + + mov.u32 %r333, 8; + cvt.u64.u32 %rd80, %r3; + cvt.u64.u32 %rd81, %r4; + mov.u64 %rd84, image_HDR; + cvta.global.u64 %rd79, %rd84; + // inline asm + call (%rd78), _rt_buffer_get_64, (%rd79, %r94, %r333, %rd80, %rd81, %rd25, %rd25); + // inline asm + mov.f32 %f630, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs27, %f630;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f140;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f139;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f138;} + + // inline asm + st.v4.u16 [%rd78], {%rs24, %rs25, %rs26, %rs27}; + ld.global.u32 %r394, [imageEnabled]; + +BB0_91: + and.b32 %r264, %r394, 16; + setp.eq.s32 %p90, %r264, 0; + @%p90 bra BB0_93; + + mov.u32 %r334, 8; + cvt.u64.u32 %rd88, %r4; + cvt.u64.u32 %rd87, %r3; + mov.u64 %rd91, image_HDR2; + cvta.global.u64 %rd86, %rd91; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd86, %r94, %r334, %rd87, %rd88, %rd25, %rd25); + // inline asm + mov.f32 %f634, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs31, %f634;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs30, %f137;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs29, %f136;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs28, %f135;} + + // inline asm + st.v4.u16 [%rd85], {%rs28, %rs29, %rs30, %rs31}; + +BB0_93: + cvt.u64.u32 %rd16, %r3; + cvt.u64.u32 %rd17, %r4; + mul.f32 %f180, %f123, 0f3F000000; + mul.f32 %f181, %f124, 0f3F000000; + mul.f32 %f182, %f125, 0f3F000000; + ld.global.u32 %r267, [additive]; + setp.eq.s32 %p91, %r267, 0; + mov.f32 %f635, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs32, %f635;} + + // inline asm + @%p91 bra BB0_95; + + mov.u32 %r335, 8; + mov.u64 %rd104, image_RNM0; + cvta.global.u64 %rd93, %rd104; + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd93, %r94, %r335, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs39, %rs40, %rs41, %rs42}, [%rd92]; + // inline asm + { cvt.f32.f16 %f636, %rs39;} + + // inline asm + // inline asm + { cvt.f32.f16 %f637, %rs40;} + + // inline asm + // inline asm + { cvt.f32.f16 %f638, %rs41;} + + // inline asm + // inline asm + call (%rd98), _rt_buffer_get_64, (%rd93, %r94, %r335, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f639, %f180, %f636; + add.f32 %f640, %f181, %f637; + add.f32 %f641, %f182, %f638; + // inline asm + { cvt.rn.f16.f32 %rs38, %f641;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs37, %f640;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs36, %f639;} + + // inline asm + st.v4.u16 [%rd98], {%rs36, %rs37, %rs38, %rs32}; + bra.uni BB0_96; + +BB0_95: + mov.u32 %r342, 8; + mov.u64 %rd111, image_RNM0; + cvta.global.u64 %rd106, %rd111; + // inline asm + call (%rd105), _rt_buffer_get_64, (%rd106, %r94, %r342, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs45, %f182;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs44, %f181;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs43, %f180;} + + // inline asm + st.v4.u16 [%rd105], {%rs43, %rs44, %rs45, %rs32}; + +BB0_96: + mov.f32 %f646, 0f34000000; + max.f32 %f647, %f180, %f646; + mul.f32 %f648, %f126, 0f3F000000; + div.rn.f32 %f649, %f648, %f647; + max.f32 %f650, %f181, %f646; + mul.f32 %f651, %f127, 0f3F000000; + div.rn.f32 %f652, %f651, %f650; + max.f32 %f653, %f182, %f646; + mul.f32 %f654, %f128, 0f3F000000; + div.rn.f32 %f655, %f654, %f653; + fma.rn.f32 %f183, %f649, 0f3F000000, 0f3F000000; + fma.rn.f32 %f184, %f652, 0f3F000000, 0f3F000000; + fma.rn.f32 %f185, %f655, 0f3F000000, 0f3F000000; + mul.f32 %f656, %f129, 0f3F000000; + div.rn.f32 %f657, %f656, %f647; + mul.f32 %f658, %f130, 0f3F000000; + div.rn.f32 %f659, %f658, %f650; + mul.f32 %f660, %f131, 0f3F000000; + div.rn.f32 %f661, %f660, %f653; + fma.rn.f32 %f186, %f657, 0f3F000000, 0f3F000000; + fma.rn.f32 %f187, %f659, 0f3F000000, 0f3F000000; + fma.rn.f32 %f188, %f661, 0f3F000000, 0f3F000000; + mul.f32 %f662, %f132, 0f3F000000; + div.rn.f32 %f663, %f662, %f647; + mul.f32 %f664, %f133, 0f3F000000; + div.rn.f32 %f665, %f664, %f650; + mul.f32 %f666, %f134, 0f3F000000; + div.rn.f32 %f667, %f666, %f653; + fma.rn.f32 %f189, %f663, 0f3F000000, 0f3F000000; + fma.rn.f32 %f190, %f665, 0f3F000000, 0f3F000000; + fma.rn.f32 %f191, %f667, 0f3F000000, 0f3F000000; + ld.global.u32 %r274, [additive]; + setp.eq.s32 %p92, %r274, 0; + // inline asm + { cvt.rn.f16.f32 %rs46, %f635;} + + // inline asm + @%p92 bra BB0_98; + + mov.u32 %r336, 8; + mov.u64 %rd124, image_RNM1; + cvta.global.u64 %rd113, %rd124; + // inline asm + call (%rd112), _rt_buffer_get_64, (%rd113, %r94, %r336, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs53, %rs54, %rs55, %rs56}, [%rd112]; + // inline asm + { cvt.f32.f16 %f668, %rs53;} + + // inline asm + // inline asm + { cvt.f32.f16 %f669, %rs54;} + + // inline asm + // inline asm + { cvt.f32.f16 %f670, %rs55;} + + // inline asm + // inline asm + call (%rd118), _rt_buffer_get_64, (%rd113, %r94, %r336, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f671, %f183, %f668; + add.f32 %f672, %f184, %f669; + add.f32 %f673, %f185, %f670; + // inline asm + { cvt.rn.f16.f32 %rs52, %f673;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs51, %f672;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs50, %f671;} + + // inline asm + st.v4.u16 [%rd118], {%rs50, %rs51, %rs52, %rs46}; + bra.uni BB0_99; + +BB0_98: + mov.u32 %r341, 8; + mov.u64 %rd131, image_RNM1; + cvta.global.u64 %rd126, %rd131; + // inline asm + call (%rd125), _rt_buffer_get_64, (%rd126, %r94, %r341, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs59, %f185;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs58, %f184;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs57, %f183;} + + // inline asm + st.v4.u16 [%rd125], {%rs57, %rs58, %rs59, %rs46}; + +BB0_99: + ld.global.u32 %r281, [additive]; + setp.eq.s32 %p93, %r281, 0; + // inline asm + { cvt.rn.f16.f32 %rs60, %f635;} + + // inline asm + @%p93 bra BB0_101; + + mov.u32 %r337, 8; + mov.u64 %rd144, image_RNM2; + cvta.global.u64 %rd133, %rd144; + // inline asm + call (%rd132), _rt_buffer_get_64, (%rd133, %r94, %r337, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs67, %rs68, %rs69, %rs70}, [%rd132]; + // inline asm + { cvt.f32.f16 %f678, %rs67;} + + // inline asm + // inline asm + { cvt.f32.f16 %f679, %rs68;} + + // inline asm + // inline asm + { cvt.f32.f16 %f680, %rs69;} + + // inline asm + // inline asm + call (%rd138), _rt_buffer_get_64, (%rd133, %r94, %r337, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f681, %f186, %f678; + add.f32 %f682, %f187, %f679; + add.f32 %f683, %f188, %f680; + // inline asm + { cvt.rn.f16.f32 %rs66, %f683;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs65, %f682;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs64, %f681;} + + // inline asm + st.v4.u16 [%rd138], {%rs64, %rs65, %rs66, %rs60}; + bra.uni BB0_102; + +BB0_101: + mov.u32 %r340, 8; + mov.u64 %rd151, image_RNM2; + cvta.global.u64 %rd146, %rd151; + // inline asm + call (%rd145), _rt_buffer_get_64, (%rd146, %r94, %r340, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs73, %f188;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs72, %f187;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs71, %f186;} + + // inline asm + st.v4.u16 [%rd145], {%rs71, %rs72, %rs73, %rs60}; + +BB0_102: + ld.global.u32 %r288, [additive]; + setp.eq.s32 %p94, %r288, 0; + // inline asm + { cvt.rn.f16.f32 %rs74, %f635;} + + // inline asm + @%p94 bra BB0_104; + + mov.u32 %r338, 8; + mov.u64 %rd164, image_RNM3; + cvta.global.u64 %rd153, %rd164; + // inline asm + call (%rd152), _rt_buffer_get_64, (%rd153, %r94, %r338, %rd16, %rd17, %rd25, %rd25); + // inline asm + ld.v4.u16 {%rs81, %rs82, %rs83, %rs84}, [%rd152]; + // inline asm + { cvt.f32.f16 %f688, %rs81;} + + // inline asm + // inline asm + { cvt.f32.f16 %f689, %rs82;} + + // inline asm + // inline asm + { cvt.f32.f16 %f690, %rs83;} + + // inline asm + // inline asm + call (%rd158), _rt_buffer_get_64, (%rd153, %r94, %r338, %rd16, %rd17, %rd25, %rd25); + // inline asm + add.f32 %f691, %f189, %f688; + add.f32 %f692, %f190, %f689; + add.f32 %f693, %f191, %f690; + // inline asm + { cvt.rn.f16.f32 %rs80, %f693;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs79, %f692;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs78, %f691;} + + // inline asm + st.v4.u16 [%rd158], {%rs78, %rs79, %rs80, %rs74}; + bra.uni BB0_123; + +BB0_104: + mov.u32 %r339, 8; + mov.u64 %rd171, image_RNM3; + cvta.global.u64 %rd166, %rd171; + // inline asm + call (%rd165), _rt_buffer_get_64, (%rd166, %r94, %r339, %rd16, %rd17, %rd25, %rd25); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs87, %f191;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs86, %f190;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs85, %f189;} + + // inline asm + st.v4.u16 [%rd165], {%rs85, %rs86, %rs87, %rs74}; + +BB0_123: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGISH.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGISH.ptx.meta new file mode 100644 index 00000000..b4ff723a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGISH.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5384622bb51954d41929eed4d3c6c807 +timeCreated: 1537829407 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIdir.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIdir.ptx new file mode 100644 index 00000000..2d6bfae1 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIdir.ptx @@ -0,0 +1,1523 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 1 .b8 image_Dir[1]; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 1 .b8 lightmapDirect[1]; +.global .align 1 .b8 lightmapDirectDir[1]; +.global .texref albedoTex; +.global .align 4 .u32 samples; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7samplesE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename7samplesE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7samplesE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic7samplesE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7samplesE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<100>; + .reg .b16 %rs<44>; + .reg .f32 %f<715>; + .reg .b32 %r<332>; + .reg .b64 %rd<143>; + + + mov.u64 %rd142, __local_depot0; + cvta.local.u64 %SP, %rd142; + ld.global.u32 %r1, [samples]; + ld.global.v2.u32 {%r100, %r101}, [pixelID]; + cvt.u64.u32 %rd20, %r100; + cvt.u64.u32 %rd21, %r101; + mov.u64 %rd24, uvnormal; + cvta.global.u64 %rd19, %rd24; + mov.u32 %r98, 2; + mov.u32 %r99, 4; + mov.u64 %rd23, 0; + // inline asm + call (%rd18), _rt_buffer_get_64, (%rd19, %r98, %r99, %rd20, %rd21, %rd23, %rd23); + // inline asm + ld.u32 %r2, [%rd18]; + shr.u32 %r104, %r2, 16; + cvt.u16.u32 %rs1, %r104; + and.b16 %rs2, %rs1, 255; + cvt.u16.u32 %rs3, %r2; + or.b16 %rs4, %rs3, %rs2; + setp.eq.s16 %p4, %rs4, 0; + mov.f32 %f670, 0f00000000; + mov.f32 %f671, %f670; + mov.f32 %f672, %f670; + @%p4 bra BB0_2; + + ld.u8 %rs5, [%rd18+1]; + and.b16 %rs7, %rs3, 255; + cvt.rn.f32.u16 %f145, %rs7; + div.rn.f32 %f146, %f145, 0f437F0000; + fma.rn.f32 %f147, %f146, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f148, %rs5; + div.rn.f32 %f149, %f148, 0f437F0000; + fma.rn.f32 %f150, %f149, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f151, %rs2; + div.rn.f32 %f152, %f151, 0f437F0000; + fma.rn.f32 %f153, %f152, 0f40000000, 0fBF800000; + mul.f32 %f154, %f150, %f150; + fma.rn.f32 %f155, %f147, %f147, %f154; + fma.rn.f32 %f156, %f153, %f153, %f155; + sqrt.rn.f32 %f157, %f156; + rcp.rn.f32 %f158, %f157; + mul.f32 %f670, %f147, %f158; + mul.f32 %f671, %f150, %f158; + mul.f32 %f672, %f153, %f158; + +BB0_2: + ld.global.v2.u32 {%r105, %r106}, [pixelID]; + ld.global.v2.u32 {%r108, %r109}, [tileInfo]; + add.s32 %r3, %r105, %r108; + add.s32 %r4, %r106, %r109; + setp.eq.f32 %p5, %f671, 0f00000000; + setp.eq.f32 %p6, %f670, 0f00000000; + and.pred %p7, %p6, %p5; + setp.eq.f32 %p8, %f672, 0f00000000; + and.pred %p9, %p7, %p8; + @%p9 bra BB0_101; + bra.uni BB0_3; + +BB0_101: + ld.global.u32 %r330, [imageEnabled]; + and.b32 %r280, %r330, 1; + setp.eq.b32 %p96, %r280, 1; + @!%p96 bra BB0_103; + bra.uni BB0_102; + +BB0_102: + cvt.u64.u32 %rd106, %r3; + cvt.u64.u32 %rd107, %r4; + mov.u64 %rd110, image; + cvta.global.u64 %rd105, %rd110; + mov.u64 %rd109, 0; + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd105, %r98, %r99, %rd106, %rd107, %rd109, %rd109); + // inline asm + mov.u16 %rs38, 0; + st.v4.u8 [%rd104], {%rs38, %rs38, %rs38, %rs38}; + ld.global.u32 %r330, [imageEnabled]; + +BB0_103: + and.b32 %r283, %r330, 4; + setp.eq.s32 %p97, %r283, 0; + @%p97 bra BB0_105; + + cvt.u64.u32 %rd113, %r3; + cvt.u64.u32 %rd114, %r4; + mov.u64 %rd117, image_HDR; + cvta.global.u64 %rd112, %rd117; + mov.u32 %r285, 8; + mov.u64 %rd116, 0; + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd112, %r98, %r285, %rd113, %rd114, %rd116, %rd116); + // inline asm + mov.f32 %f619, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs39, %f619;} + + // inline asm + mov.u16 %rs40, 0; + st.v4.u16 [%rd111], {%rs39, %rs39, %rs39, %rs40}; + ld.global.u32 %r330, [imageEnabled]; + +BB0_105: + and.b32 %r286, %r330, 16; + setp.eq.s32 %p98, %r286, 0; + @%p98 bra BB0_107; + + cvt.u64.u32 %rd120, %r3; + cvt.u64.u32 %rd121, %r4; + mov.u64 %rd124, image_HDR2; + cvta.global.u64 %rd119, %rd124; + mov.u32 %r288, 8; + mov.u64 %rd123, 0; + // inline asm + call (%rd118), _rt_buffer_get_64, (%rd119, %r98, %r288, %rd120, %rd121, %rd123, %rd123); + // inline asm + mov.f32 %f620, 0f00000000; + // inline asm + { cvt.rn.f16.f32 %rs41, %f620;} + + // inline asm + mov.u16 %rs42, 0; + st.v4.u16 [%rd118], {%rs41, %rs41, %rs41, %rs42}; + ld.global.u32 %r330, [imageEnabled]; + +BB0_107: + and.b32 %r289, %r330, 64; + setp.eq.s32 %p99, %r289, 0; + @%p99 bra BB0_109; + + cvt.u64.u32 %rd127, %r3; + cvt.u64.u32 %rd128, %r4; + mov.u64 %rd131, image_Dir; + cvta.global.u64 %rd126, %rd131; + mov.u64 %rd130, 0; + // inline asm + call (%rd125), _rt_buffer_get_64, (%rd126, %r98, %r99, %rd127, %rd128, %rd130, %rd130); + // inline asm + mov.u16 %rs43, 0; + st.v4.u8 [%rd125], {%rs43, %rs43, %rs43, %rs43}; + bra.uni BB0_109; + +BB0_3: + ld.global.v2.u32 {%r119, %r120}, [pixelID]; + cvt.u64.u32 %rd27, %r119; + cvt.u64.u32 %rd28, %r120; + mov.u64 %rd43, lightmapDirect; + cvta.global.u64 %rd26, %rd43; + mov.u32 %r114, 8; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd26, %r98, %r114, %rd27, %rd28, %rd23, %rd23); + // inline asm + ld.v4.u16 {%rs12, %rs13, %rs14, %rs15}, [%rd25]; + // inline asm + { cvt.f32.f16 %f159, %rs12;} + + // inline asm + // inline asm + { cvt.f32.f16 %f160, %rs13;} + + // inline asm + // inline asm + { cvt.f32.f16 %f161, %rs14;} + + // inline asm + ld.global.v2.u32 {%r123, %r124}, [pixelID]; + cvt.u64.u32 %rd33, %r123; + cvt.u64.u32 %rd34, %r124; + mov.u64 %rd44, uvpos; + cvta.global.u64 %rd32, %rd44; + mov.u32 %r116, 12; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd32, %r98, %r116, %rd33, %rd34, %rd23, %rd23); + // inline asm + ld.f32 %f168, [%rd31+8]; + ld.f32 %f169, [%rd31+4]; + ld.f32 %f170, [%rd31]; + mul.f32 %f171, %f170, 0f3456BF95; + mul.f32 %f172, %f169, 0f3456BF95; + mul.f32 %f173, %f168, 0f3456BF95; + abs.f32 %f174, %f670; + div.rn.f32 %f175, %f171, %f174; + abs.f32 %f176, %f671; + div.rn.f32 %f177, %f172, %f176; + abs.f32 %f178, %f672; + div.rn.f32 %f179, %f173, %f178; + abs.f32 %f180, %f175; + abs.f32 %f181, %f177; + abs.f32 %f182, %f179; + mov.f32 %f183, 0f38D1B717; + max.f32 %f184, %f180, %f183; + max.f32 %f185, %f181, %f183; + max.f32 %f186, %f182, %f183; + fma.rn.f32 %f10, %f670, %f184, %f170; + fma.rn.f32 %f11, %f671, %f185, %f169; + fma.rn.f32 %f12, %f672, %f186, %f168; + setp.gt.f32 %p10, %f174, %f178; + neg.f32 %f187, %f671; + selp.f32 %f188, %f187, 0f00000000, %p10; + neg.f32 %f189, %f672; + selp.f32 %f190, %f670, %f189, %p10; + selp.f32 %f191, 0f00000000, %f671, %p10; + mul.f32 %f192, %f190, %f190; + fma.rn.f32 %f193, %f188, %f188, %f192; + fma.rn.f32 %f194, %f191, %f191, %f193; + sqrt.rn.f32 %f195, %f194; + rcp.rn.f32 %f196, %f195; + mul.f32 %f13, %f188, %f196; + mul.f32 %f14, %f190, %f196; + mul.f32 %f15, %f191, %f196; + ld.global.v2.u32 {%r127, %r128}, [pixelID]; + cvt.u64.u32 %rd39, %r127; + cvt.u64.u32 %rd40, %r128; + mov.u64 %rd45, rnd_seeds; + cvta.global.u64 %rd38, %rd45; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd38, %r98, %r99, %rd39, %rd40, %rd23, %rd23); + // inline asm + mov.f32 %f679, 0f00000000; + setp.lt.s32 %p11, %r1, 1; + mov.f32 %f680, %f679; + mov.f32 %f681, %f679; + mov.f32 %f682, %f679; + mov.f32 %f683, %f679; + mov.f32 %f684, %f679; + @%p11 bra BB0_54; + + cvt.rn.f32.s32 %f203, %r1; + rcp.rn.f32 %f16, %f203; + ld.u32 %r305, [%rd37]; + mul.f32 %f17, %f10, 0f3456BF95; + mul.f32 %f18, %f11, 0f3456BF95; + mul.f32 %f19, %f12, 0f3456BF95; + mul.f32 %f204, %f670, %f14; + mul.f32 %f205, %f671, %f13; + sub.f32 %f20, %f205, %f204; + mul.f32 %f206, %f672, %f13; + mul.f32 %f207, %f670, %f15; + sub.f32 %f21, %f207, %f206; + mul.f32 %f208, %f671, %f15; + mul.f32 %f209, %f672, %f14; + sub.f32 %f22, %f209, %f208; + mov.f32 %f679, 0f00000000; + mov.u32 %r131, 0; + abs.f32 %f210, %f18; + abs.f32 %f211, %f17; + max.f32 %f212, %f211, %f210; + abs.f32 %f213, %f19; + max.f32 %f214, %f212, %f213; + mov.u32 %r302, %r131; + mov.f32 %f680, %f679; + mov.f32 %f681, %f679; + mov.f32 %f682, %f679; + mov.f32 %f683, %f679; + mov.f32 %f684, %f679; + +BB0_5: + max.f32 %f30, %f214, %f183; + mov.u32 %r304, %r131; + +BB0_6: + cvt.rn.f32.s32 %f667, %r302; + mad.lo.s32 %r133, %r305, 1664525, 1013904223; + and.b32 %r134, %r133, 16777215; + cvt.rn.f32.u32 %f216, %r134; + fma.rn.f32 %f217, %f216, 0f33800000, %f667; + mul.f32 %f37, %f16, %f217; + mad.lo.s32 %r305, %r133, 1664525, 1013904223; + and.b32 %r135, %r305, 16777215; + cvt.rn.f32.u32 %f218, %r135; + cvt.rn.f32.s32 %f219, %r304; + fma.rn.f32 %f220, %f218, 0f33800000, %f219; + mul.f32 %f221, %f16, %f220; + mul.f32 %f222, %f37, %f37; + mov.f32 %f223, 0f3F800000; + sub.f32 %f224, %f223, %f222; + mov.f32 %f225, 0f00000000; + max.f32 %f226, %f225, %f224; + sqrt.rn.f32 %f38, %f226; + mul.f32 %f691, %f221, 0f40C90FDB; + abs.f32 %f40, %f691; + setp.neu.f32 %p12, %f40, 0f7F800000; + mov.f32 %f685, %f691; + @%p12 bra BB0_8; + + mul.rn.f32 %f685, %f691, %f225; + +BB0_8: + mul.f32 %f228, %f685, 0f3F22F983; + cvt.rni.s32.f32 %r315, %f228; + cvt.rn.f32.s32 %f229, %r315; + neg.f32 %f230, %f229; + mov.f32 %f231, 0f3FC90FDA; + fma.rn.f32 %f232, %f230, %f231, %f685; + mov.f32 %f233, 0f33A22168; + fma.rn.f32 %f234, %f230, %f233, %f232; + mov.f32 %f235, 0f27C234C5; + fma.rn.f32 %f686, %f230, %f235, %f234; + abs.f32 %f236, %f685; + setp.leu.f32 %p13, %f236, 0f47CE4780; + @%p13 bra BB0_19; + + add.u64 %rd47, %SP, 12; + cvta.to.local.u64 %rd3, %rd47; + mov.b32 %r12, %f685; + shr.u32 %r13, %r12, 23; + shl.b32 %r138, %r12, 8; + or.b32 %r14, %r138, -2147483648; + mov.u32 %r306, 0; + mov.u64 %rd139, 0; + mov.u64 %rd138, %rd3; + mov.u32 %r307, %r306; + +BB0_10: + .pragma "nounroll"; + shl.b64 %rd48, %rd139, 2; + mov.u64 %rd49, __cudart_i2opi_f; + add.s64 %rd50, %rd49, %rd48; + ld.const.u32 %r141, [%rd50]; + // inline asm + { + mad.lo.cc.u32 %r139, %r141, %r14, %r307; + madc.hi.u32 %r307, %r141, %r14, 0; + } + // inline asm + st.local.u32 [%rd138], %r139; + add.s32 %r306, %r306, 1; + cvt.s64.s32 %rd139, %r306; + mul.wide.s32 %rd53, %r306, 4; + add.s64 %rd138, %rd3, %rd53; + setp.ne.s32 %p14, %r306, 6; + @%p14 bra BB0_10; + + add.u64 %rd137, %SP, 12; + and.b32 %r144, %r13, 255; + add.s32 %r145, %r144, -128; + shr.u32 %r146, %r145, 5; + and.b32 %r19, %r12, -2147483648; + cvta.to.local.u64 %rd55, %rd137; + st.local.u32 [%rd55+24], %r307; + mov.u32 %r147, 6; + sub.s32 %r148, %r147, %r146; + mul.wide.s32 %rd56, %r148, 4; + add.s64 %rd8, %rd55, %rd56; + ld.local.u32 %r308, [%rd8]; + ld.local.u32 %r309, [%rd8+-4]; + and.b32 %r22, %r13, 31; + setp.eq.s32 %p15, %r22, 0; + @%p15 bra BB0_13; + + mov.u32 %r149, 32; + sub.s32 %r150, %r149, %r22; + shr.u32 %r151, %r309, %r150; + shl.b32 %r152, %r308, %r22; + add.s32 %r308, %r151, %r152; + ld.local.u32 %r153, [%rd8+-8]; + shr.u32 %r154, %r153, %r150; + shl.b32 %r155, %r309, %r22; + add.s32 %r309, %r154, %r155; + +BB0_13: + shr.u32 %r156, %r309, 30; + shl.b32 %r157, %r308, 2; + add.s32 %r310, %r156, %r157; + shl.b32 %r28, %r309, 2; + shr.u32 %r158, %r310, 31; + shr.u32 %r159, %r308, 30; + add.s32 %r29, %r158, %r159; + setp.eq.s32 %p16, %r158, 0; + @%p16 bra BB0_14; + bra.uni BB0_15; + +BB0_14: + mov.u32 %r311, %r19; + mov.u32 %r312, %r28; + bra.uni BB0_16; + +BB0_15: + not.b32 %r160, %r310; + neg.s32 %r312, %r28; + setp.eq.s32 %p17, %r28, 0; + selp.u32 %r161, 1, 0, %p17; + add.s32 %r310, %r161, %r160; + xor.b32 %r311, %r19, -2147483648; + +BB0_16: + clz.b32 %r314, %r310; + setp.eq.s32 %p18, %r314, 0; + shl.b32 %r162, %r310, %r314; + mov.u32 %r163, 32; + sub.s32 %r164, %r163, %r314; + shr.u32 %r165, %r312, %r164; + add.s32 %r166, %r165, %r162; + selp.b32 %r37, %r310, %r166, %p18; + mov.u32 %r167, -921707870; + mul.hi.u32 %r313, %r37, %r167; + setp.eq.s32 %p19, %r19, 0; + neg.s32 %r168, %r29; + selp.b32 %r315, %r29, %r168, %p19; + setp.lt.s32 %p20, %r313, 1; + @%p20 bra BB0_18; + + mul.lo.s32 %r169, %r37, -921707870; + shr.u32 %r170, %r169, 31; + shl.b32 %r171, %r313, 1; + add.s32 %r313, %r170, %r171; + add.s32 %r314, %r314, 1; + +BB0_18: + mov.u32 %r172, 126; + sub.s32 %r173, %r172, %r314; + shl.b32 %r174, %r173, 23; + add.s32 %r175, %r313, 1; + shr.u32 %r176, %r175, 7; + add.s32 %r177, %r176, 1; + shr.u32 %r178, %r177, 1; + add.s32 %r179, %r178, %r174; + or.b32 %r180, %r179, %r311; + mov.b32 %f686, %r180; + +BB0_19: + mul.rn.f32 %f46, %f686, %f686; + add.s32 %r45, %r315, 1; + and.b32 %r46, %r45, 1; + setp.eq.s32 %p21, %r46, 0; + @%p21 bra BB0_21; + bra.uni BB0_20; + +BB0_21: + mov.f32 %f239, 0f3C08839E; + mov.f32 %f240, 0fB94CA1F9; + fma.rn.f32 %f687, %f240, %f46, %f239; + bra.uni BB0_22; + +BB0_20: + mov.f32 %f237, 0fBAB6061A; + mov.f32 %f238, 0f37CCF5CE; + fma.rn.f32 %f687, %f238, %f46, %f237; + +BB0_22: + @%p21 bra BB0_24; + bra.uni BB0_23; + +BB0_24: + mov.f32 %f244, 0fBE2AAAA3; + fma.rn.f32 %f245, %f687, %f46, %f244; + fma.rn.f32 %f688, %f245, %f46, %f225; + bra.uni BB0_25; + +BB0_23: + mov.f32 %f241, 0f3D2AAAA5; + fma.rn.f32 %f242, %f687, %f46, %f241; + mov.f32 %f243, 0fBF000000; + fma.rn.f32 %f688, %f242, %f46, %f243; + +BB0_25: + fma.rn.f32 %f689, %f688, %f686, %f686; + @%p21 bra BB0_27; + + fma.rn.f32 %f689, %f688, %f46, %f223; + +BB0_27: + and.b32 %r181, %r45, 2; + setp.eq.s32 %p24, %r181, 0; + @%p24 bra BB0_29; + + mov.f32 %f249, 0fBF800000; + fma.rn.f32 %f689, %f689, %f249, %f225; + +BB0_29: + @%p12 bra BB0_31; + + mul.rn.f32 %f691, %f691, %f225; + +BB0_31: + mov.f32 %f669, 0f27C234C5; + mov.f32 %f668, 0f33A22168; + mov.f32 %f666, 0f3FC90FDA; + mul.f32 %f251, %f691, 0f3F22F983; + cvt.rni.s32.f32 %r325, %f251; + cvt.rn.f32.s32 %f252, %r325; + neg.f32 %f253, %f252; + fma.rn.f32 %f255, %f253, %f666, %f691; + fma.rn.f32 %f257, %f253, %f668, %f255; + fma.rn.f32 %f692, %f253, %f669, %f257; + abs.f32 %f259, %f691; + setp.leu.f32 %p26, %f259, 0f47CE4780; + @%p26 bra BB0_42; + + add.u64 %rd58, %SP, 12; + cvta.to.local.u64 %rd9, %rd58; + mov.b32 %r48, %f691; + shr.u32 %r49, %r48, 23; + shl.b32 %r184, %r48, 8; + or.b32 %r50, %r184, -2147483648; + mov.u32 %r316, 0; + mov.u64 %rd140, %rd9; + mov.u64 %rd141, %rd23; + mov.u32 %r317, %r316; + +BB0_33: + .pragma "nounroll"; + shl.b64 %rd59, %rd141, 2; + mov.u64 %rd60, __cudart_i2opi_f; + add.s64 %rd61, %rd60, %rd59; + ld.const.u32 %r187, [%rd61]; + // inline asm + { + mad.lo.cc.u32 %r185, %r187, %r50, %r317; + madc.hi.u32 %r317, %r187, %r50, 0; + } + // inline asm + st.local.u32 [%rd140], %r185; + add.s32 %r316, %r316, 1; + cvt.s64.s32 %rd141, %r316; + mul.wide.s32 %rd62, %r316, 4; + add.s64 %rd140, %rd9, %rd62; + setp.ne.s32 %p27, %r316, 6; + @%p27 bra BB0_33; + + and.b32 %r190, %r49, 255; + add.s32 %r191, %r190, -128; + shr.u32 %r192, %r191, 5; + and.b32 %r55, %r48, -2147483648; + cvta.to.local.u64 %rd64, %rd58; + st.local.u32 [%rd64+24], %r317; + mov.u32 %r193, 6; + sub.s32 %r194, %r193, %r192; + mul.wide.s32 %rd65, %r194, 4; + add.s64 %rd15, %rd64, %rd65; + ld.local.u32 %r318, [%rd15]; + ld.local.u32 %r319, [%rd15+-4]; + and.b32 %r58, %r49, 31; + setp.eq.s32 %p28, %r58, 0; + @%p28 bra BB0_36; + + mov.u32 %r195, 32; + sub.s32 %r196, %r195, %r58; + shr.u32 %r197, %r319, %r196; + shl.b32 %r198, %r318, %r58; + add.s32 %r318, %r197, %r198; + ld.local.u32 %r199, [%rd15+-8]; + shr.u32 %r200, %r199, %r196; + shl.b32 %r201, %r319, %r58; + add.s32 %r319, %r200, %r201; + +BB0_36: + shr.u32 %r202, %r319, 30; + shl.b32 %r203, %r318, 2; + add.s32 %r320, %r202, %r203; + shl.b32 %r64, %r319, 2; + shr.u32 %r204, %r320, 31; + shr.u32 %r205, %r318, 30; + add.s32 %r65, %r204, %r205; + setp.eq.s32 %p29, %r204, 0; + @%p29 bra BB0_37; + bra.uni BB0_38; + +BB0_37: + mov.u32 %r321, %r55; + mov.u32 %r322, %r64; + bra.uni BB0_39; + +BB0_38: + not.b32 %r206, %r320; + neg.s32 %r322, %r64; + setp.eq.s32 %p30, %r64, 0; + selp.u32 %r207, 1, 0, %p30; + add.s32 %r320, %r207, %r206; + xor.b32 %r321, %r55, -2147483648; + +BB0_39: + clz.b32 %r324, %r320; + setp.eq.s32 %p31, %r324, 0; + shl.b32 %r208, %r320, %r324; + mov.u32 %r209, 32; + sub.s32 %r210, %r209, %r324; + shr.u32 %r211, %r322, %r210; + add.s32 %r212, %r211, %r208; + selp.b32 %r73, %r320, %r212, %p31; + mov.u32 %r213, -921707870; + mul.hi.u32 %r323, %r73, %r213; + setp.eq.s32 %p32, %r55, 0; + neg.s32 %r214, %r65; + selp.b32 %r325, %r65, %r214, %p32; + setp.lt.s32 %p33, %r323, 1; + @%p33 bra BB0_41; + + mul.lo.s32 %r215, %r73, -921707870; + shr.u32 %r216, %r215, 31; + shl.b32 %r217, %r323, 1; + add.s32 %r323, %r216, %r217; + add.s32 %r324, %r324, 1; + +BB0_41: + mov.u32 %r218, 126; + sub.s32 %r219, %r218, %r324; + shl.b32 %r220, %r219, 23; + add.s32 %r221, %r323, 1; + shr.u32 %r222, %r221, 7; + add.s32 %r223, %r222, 1; + shr.u32 %r224, %r223, 1; + add.s32 %r225, %r224, %r220; + or.b32 %r226, %r225, %r321; + mov.b32 %f692, %r226; + +BB0_42: + mul.rn.f32 %f63, %f692, %f692; + and.b32 %r81, %r325, 1; + setp.eq.s32 %p34, %r81, 0; + @%p34 bra BB0_44; + bra.uni BB0_43; + +BB0_44: + mov.f32 %f262, 0f3C08839E; + mov.f32 %f263, 0fB94CA1F9; + fma.rn.f32 %f693, %f263, %f63, %f262; + bra.uni BB0_45; + +BB0_43: + mov.f32 %f260, 0fBAB6061A; + mov.f32 %f261, 0f37CCF5CE; + fma.rn.f32 %f693, %f261, %f63, %f260; + +BB0_45: + @%p34 bra BB0_47; + bra.uni BB0_46; + +BB0_47: + mov.f32 %f267, 0fBE2AAAA3; + fma.rn.f32 %f268, %f693, %f63, %f267; + fma.rn.f32 %f694, %f268, %f63, %f225; + bra.uni BB0_48; + +BB0_46: + mov.f32 %f264, 0f3D2AAAA5; + fma.rn.f32 %f265, %f693, %f63, %f264; + mov.f32 %f266, 0fBF000000; + fma.rn.f32 %f694, %f265, %f63, %f266; + +BB0_48: + fma.rn.f32 %f695, %f694, %f692, %f692; + @%p34 bra BB0_50; + + fma.rn.f32 %f695, %f694, %f63, %f223; + +BB0_50: + and.b32 %r227, %r325, 2; + setp.eq.s32 %p37, %r227, 0; + @%p37 bra BB0_52; + + mov.f32 %f272, 0fBF800000; + fma.rn.f32 %f695, %f695, %f272, %f225; + +BB0_52: + mul.f32 %f281, %f38, %f689; + add.u64 %rd66, %SP, 0; + cvta.to.local.u64 %rd67, %rd66; + mul.f32 %f282, %f38, %f695; + mul.f32 %f283, %f13, %f282; + mul.f32 %f284, %f14, %f282; + mul.f32 %f285, %f15, %f282; + fma.rn.f32 %f286, %f22, %f281, %f283; + fma.rn.f32 %f287, %f21, %f281, %f284; + fma.rn.f32 %f288, %f20, %f281, %f285; + fma.rn.f32 %f276, %f670, %f37, %f286; + fma.rn.f32 %f277, %f671, %f37, %f287; + fma.rn.f32 %f278, %f672, %f37, %f288; + mov.u32 %r229, 0; + st.local.u32 [%rd67+8], %r229; + st.local.u32 [%rd67+4], %r229; + st.local.u32 [%rd67], %r229; + ld.global.u32 %r228, [root]; + mov.f32 %f280, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r228, %f10, %f11, %f12, %f276, %f277, %f278, %r229, %f30, %f280, %rd66, %r116); + // inline asm + ld.local.f32 %f289, [%rd67]; + ld.local.f32 %f290, [%rd67+4]; + mul.f32 %f291, %f290, 0f3F372474; + fma.rn.f32 %f292, %f289, 0f3E59999A, %f291; + ld.local.f32 %f293, [%rd67+8]; + fma.rn.f32 %f294, %f293, 0f3D93A92A, %f292; + fma.rn.f32 %f684, %f276, %f294, %f684; + fma.rn.f32 %f683, %f277, %f294, %f683; + fma.rn.f32 %f682, %f278, %f294, %f682; + mul.f32 %f295, %f671, %f277; + fma.rn.f32 %f296, %f670, %f276, %f295; + fma.rn.f32 %f297, %f672, %f278, %f296; + cvt.sat.f32.f32 %f298, %f297; + fma.rn.f32 %f681, %f298, %f289, %f681; + fma.rn.f32 %f680, %f298, %f290, %f680; + fma.rn.f32 %f679, %f298, %f293, %f679; + add.s32 %r304, %r304, 1; + setp.lt.s32 %p38, %r304, %r1; + @%p38 bra BB0_6; + + add.s32 %r302, %r302, 1; + setp.lt.s32 %p39, %r302, %r1; + @%p39 bra BB0_5; + +BB0_54: + cvt.rn.f32.u32 %f299, %r4; + cvt.rn.f32.u32 %f300, %r3; + tex.2d.v4.f32.f32 {%f301, %f302, %f303, %f304}, [albedoTex, {%f300, %f299}]; + mul.lo.s32 %r231, %r1, %r1; + cvt.rn.f32.s32 %f305, %r231; + rcp.rn.f32 %f306, %f305; + mul.f32 %f307, %f681, %f306; + mul.f32 %f308, %f680, %f306; + mul.f32 %f309, %f679, %f306; + fma.rn.f32 %f310, %f681, %f306, %f307; + fma.rn.f32 %f311, %f680, %f306, %f308; + fma.rn.f32 %f312, %f679, %f306, %f309; + mul.f32 %f87, %f310, %f301; + mul.f32 %f88, %f311, %f302; + mul.f32 %f89, %f312, %f303; + add.f32 %f90, %f159, %f87; + add.f32 %f91, %f160, %f88; + add.f32 %f92, %f161, %f89; + ld.global.u32 %r327, [imageEnabled]; + and.b32 %r232, %r327, 1; + setp.eq.b32 %p40, %r232, 1; + @!%p40 bra BB0_89; + bra.uni BB0_55; + +BB0_55: + abs.f32 %f94, %f90; + setp.lt.f32 %p41, %f94, 0f00800000; + mul.f32 %f318, %f94, 0f4B800000; + selp.f32 %f319, 0fC3170000, 0fC2FE0000, %p41; + selp.f32 %f320, %f318, %f94, %p41; + mov.b32 %r233, %f320; + and.b32 %r234, %r233, 8388607; + or.b32 %r235, %r234, 1065353216; + mov.b32 %f321, %r235; + shr.u32 %r236, %r233, 23; + cvt.rn.f32.u32 %f322, %r236; + add.f32 %f323, %f319, %f322; + setp.gt.f32 %p42, %f321, 0f3FB504F3; + mul.f32 %f324, %f321, 0f3F000000; + add.f32 %f325, %f323, 0f3F800000; + selp.f32 %f326, %f324, %f321, %p42; + selp.f32 %f327, %f325, %f323, %p42; + add.f32 %f328, %f326, 0fBF800000; + add.f32 %f314, %f326, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f313,%f314; + // inline asm + add.f32 %f329, %f328, %f328; + mul.f32 %f330, %f313, %f329; + mul.f32 %f331, %f330, %f330; + mov.f32 %f332, 0f3C4CAF63; + mov.f32 %f333, 0f3B18F0FE; + fma.rn.f32 %f334, %f333, %f331, %f332; + mov.f32 %f335, 0f3DAAAABD; + fma.rn.f32 %f336, %f334, %f331, %f335; + mul.rn.f32 %f337, %f336, %f331; + mul.rn.f32 %f338, %f337, %f330; + sub.f32 %f339, %f328, %f330; + neg.f32 %f340, %f330; + add.f32 %f341, %f339, %f339; + fma.rn.f32 %f342, %f340, %f328, %f341; + mul.rn.f32 %f343, %f313, %f342; + add.f32 %f344, %f338, %f330; + sub.f32 %f345, %f330, %f344; + add.f32 %f346, %f338, %f345; + add.f32 %f347, %f343, %f346; + add.f32 %f348, %f344, %f347; + sub.f32 %f349, %f344, %f348; + add.f32 %f350, %f347, %f349; + mov.f32 %f351, 0f3F317200; + mul.rn.f32 %f352, %f327, %f351; + mov.f32 %f353, 0f35BFBE8E; + mul.rn.f32 %f354, %f327, %f353; + add.f32 %f355, %f352, %f348; + sub.f32 %f356, %f352, %f355; + add.f32 %f357, %f348, %f356; + add.f32 %f358, %f350, %f357; + add.f32 %f359, %f354, %f358; + add.f32 %f360, %f355, %f359; + sub.f32 %f361, %f355, %f360; + add.f32 %f362, %f359, %f361; + mov.f32 %f363, 0f3EE66666; + mul.rn.f32 %f364, %f363, %f360; + neg.f32 %f365, %f364; + fma.rn.f32 %f366, %f363, %f360, %f365; + fma.rn.f32 %f367, %f363, %f362, %f366; + mov.f32 %f368, 0f00000000; + fma.rn.f32 %f369, %f368, %f360, %f367; + add.rn.f32 %f370, %f364, %f369; + neg.f32 %f371, %f370; + add.rn.f32 %f372, %f364, %f371; + add.rn.f32 %f373, %f372, %f369; + mov.b32 %r237, %f370; + setp.eq.s32 %p43, %r237, 1118925336; + add.s32 %r238, %r237, -1; + mov.b32 %f374, %r238; + add.f32 %f375, %f373, 0f37000000; + selp.f32 %f376, %f374, %f370, %p43; + selp.f32 %f95, %f375, %f373, %p43; + mul.f32 %f377, %f376, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f378, %f377; + mov.f32 %f379, 0fBF317200; + fma.rn.f32 %f380, %f378, %f379, %f376; + mov.f32 %f381, 0fB5BFBE8E; + fma.rn.f32 %f382, %f378, %f381, %f380; + mul.f32 %f383, %f382, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f384, %f383; + add.f32 %f385, %f378, 0f00000000; + ex2.approx.f32 %f386, %f385; + mul.f32 %f387, %f384, %f386; + setp.lt.f32 %p44, %f376, 0fC2D20000; + selp.f32 %f388, 0f00000000, %f387, %p44; + setp.gt.f32 %p45, %f376, 0f42D20000; + selp.f32 %f703, 0f7F800000, %f388, %p45; + setp.eq.f32 %p46, %f703, 0f7F800000; + @%p46 bra BB0_57; + + fma.rn.f32 %f703, %f703, %f95, %f703; + +BB0_57: + mov.f32 %f624, 0f3E666666; + cvt.rzi.f32.f32 %f623, %f624; + fma.rn.f32 %f622, %f623, 0fC0000000, 0f3EE66666; + abs.f32 %f621, %f622; + setp.lt.f32 %p47, %f90, 0f00000000; + setp.eq.f32 %p48, %f621, 0f3F800000; + and.pred %p1, %p47, %p48; + mov.b32 %r239, %f703; + xor.b32 %r240, %r239, -2147483648; + mov.b32 %f389, %r240; + selp.f32 %f705, %f389, %f703, %p1; + setp.eq.f32 %p49, %f90, 0f00000000; + @%p49 bra BB0_60; + bra.uni BB0_58; + +BB0_60: + add.f32 %f392, %f90, %f90; + selp.f32 %f705, %f392, 0f00000000, %p48; + bra.uni BB0_61; + +BB0_58: + setp.geu.f32 %p50, %f90, 0f00000000; + @%p50 bra BB0_61; + + mov.f32 %f651, 0f3EE66666; + cvt.rzi.f32.f32 %f391, %f651; + setp.neu.f32 %p51, %f391, 0f3EE66666; + selp.f32 %f705, 0f7FFFFFFF, %f705, %p51; + +BB0_61: + add.f32 %f626, %f159, %f87; + abs.f32 %f625, %f626; + add.f32 %f393, %f625, 0f3EE66666; + mov.b32 %r241, %f393; + setp.lt.s32 %p53, %r241, 2139095040; + @%p53 bra BB0_66; + + add.f32 %f648, %f159, %f87; + abs.f32 %f647, %f648; + setp.gtu.f32 %p54, %f647, 0f7F800000; + @%p54 bra BB0_65; + bra.uni BB0_63; + +BB0_65: + add.f32 %f705, %f90, 0f3EE66666; + bra.uni BB0_66; + +BB0_63: + add.f32 %f650, %f159, %f87; + abs.f32 %f649, %f650; + setp.neu.f32 %p55, %f649, 0f7F800000; + @%p55 bra BB0_66; + + selp.f32 %f705, 0fFF800000, 0f7F800000, %p1; + +BB0_66: + mov.f32 %f635, 0fB5BFBE8E; + mov.f32 %f634, 0fBF317200; + mov.f32 %f633, 0f00000000; + mov.f32 %f632, 0f35BFBE8E; + mov.f32 %f631, 0f3F317200; + mov.f32 %f630, 0f3DAAAABD; + mov.f32 %f629, 0f3C4CAF63; + mov.f32 %f628, 0f3B18F0FE; + mov.f32 %f627, 0f3EE66666; + setp.eq.f32 %p56, %f90, 0f3F800000; + selp.f32 %f106, 0f3F800000, %f705, %p56; + abs.f32 %f107, %f91; + setp.lt.f32 %p57, %f107, 0f00800000; + mul.f32 %f396, %f107, 0f4B800000; + selp.f32 %f397, 0fC3170000, 0fC2FE0000, %p57; + selp.f32 %f398, %f396, %f107, %p57; + mov.b32 %r242, %f398; + and.b32 %r243, %r242, 8388607; + or.b32 %r244, %r243, 1065353216; + mov.b32 %f399, %r244; + shr.u32 %r245, %r242, 23; + cvt.rn.f32.u32 %f400, %r245; + add.f32 %f401, %f397, %f400; + setp.gt.f32 %p58, %f399, 0f3FB504F3; + mul.f32 %f402, %f399, 0f3F000000; + add.f32 %f403, %f401, 0f3F800000; + selp.f32 %f404, %f402, %f399, %p58; + selp.f32 %f405, %f403, %f401, %p58; + add.f32 %f406, %f404, 0fBF800000; + add.f32 %f395, %f404, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f394,%f395; + // inline asm + add.f32 %f407, %f406, %f406; + mul.f32 %f408, %f394, %f407; + mul.f32 %f409, %f408, %f408; + fma.rn.f32 %f412, %f628, %f409, %f629; + fma.rn.f32 %f414, %f412, %f409, %f630; + mul.rn.f32 %f415, %f414, %f409; + mul.rn.f32 %f416, %f415, %f408; + sub.f32 %f417, %f406, %f408; + neg.f32 %f418, %f408; + add.f32 %f419, %f417, %f417; + fma.rn.f32 %f420, %f418, %f406, %f419; + mul.rn.f32 %f421, %f394, %f420; + add.f32 %f422, %f416, %f408; + sub.f32 %f423, %f408, %f422; + add.f32 %f424, %f416, %f423; + add.f32 %f425, %f421, %f424; + add.f32 %f426, %f422, %f425; + sub.f32 %f427, %f422, %f426; + add.f32 %f428, %f425, %f427; + mul.rn.f32 %f430, %f405, %f631; + mul.rn.f32 %f432, %f405, %f632; + add.f32 %f433, %f430, %f426; + sub.f32 %f434, %f430, %f433; + add.f32 %f435, %f426, %f434; + add.f32 %f436, %f428, %f435; + add.f32 %f437, %f432, %f436; + add.f32 %f438, %f433, %f437; + sub.f32 %f439, %f433, %f438; + add.f32 %f440, %f437, %f439; + mul.rn.f32 %f442, %f627, %f438; + neg.f32 %f443, %f442; + fma.rn.f32 %f444, %f627, %f438, %f443; + fma.rn.f32 %f445, %f627, %f440, %f444; + fma.rn.f32 %f447, %f633, %f438, %f445; + add.rn.f32 %f448, %f442, %f447; + neg.f32 %f449, %f448; + add.rn.f32 %f450, %f442, %f449; + add.rn.f32 %f451, %f450, %f447; + mov.b32 %r246, %f448; + setp.eq.s32 %p59, %r246, 1118925336; + add.s32 %r247, %r246, -1; + mov.b32 %f452, %r247; + add.f32 %f453, %f451, 0f37000000; + selp.f32 %f454, %f452, %f448, %p59; + selp.f32 %f108, %f453, %f451, %p59; + mul.f32 %f455, %f454, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f456, %f455; + fma.rn.f32 %f458, %f456, %f634, %f454; + fma.rn.f32 %f460, %f456, %f635, %f458; + mul.f32 %f461, %f460, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f462, %f461; + add.f32 %f463, %f456, 0f00000000; + ex2.approx.f32 %f464, %f463; + mul.f32 %f465, %f462, %f464; + setp.lt.f32 %p60, %f454, 0fC2D20000; + selp.f32 %f466, 0f00000000, %f465, %p60; + setp.gt.f32 %p61, %f454, 0f42D20000; + selp.f32 %f706, 0f7F800000, %f466, %p61; + setp.eq.f32 %p62, %f706, 0f7F800000; + @%p62 bra BB0_68; + + fma.rn.f32 %f706, %f706, %f108, %f706; + +BB0_68: + setp.lt.f32 %p63, %f91, 0f00000000; + and.pred %p2, %p63, %p48; + mov.b32 %r248, %f706; + xor.b32 %r249, %r248, -2147483648; + mov.b32 %f467, %r249; + selp.f32 %f708, %f467, %f706, %p2; + setp.eq.f32 %p65, %f91, 0f00000000; + @%p65 bra BB0_71; + bra.uni BB0_69; + +BB0_71: + add.f32 %f470, %f91, %f91; + selp.f32 %f708, %f470, 0f00000000, %p48; + bra.uni BB0_72; + +BB0_69: + setp.geu.f32 %p66, %f91, 0f00000000; + @%p66 bra BB0_72; + + mov.f32 %f646, 0f3EE66666; + cvt.rzi.f32.f32 %f469, %f646; + setp.neu.f32 %p67, %f469, 0f3EE66666; + selp.f32 %f708, 0f7FFFFFFF, %f708, %p67; + +BB0_72: + add.f32 %f653, %f160, %f88; + abs.f32 %f652, %f653; + add.f32 %f471, %f652, 0f3EE66666; + mov.b32 %r250, %f471; + setp.lt.s32 %p69, %r250, 2139095040; + @%p69 bra BB0_77; + + add.f32 %f656, %f160, %f88; + abs.f32 %f655, %f656; + setp.gtu.f32 %p70, %f655, 0f7F800000; + @%p70 bra BB0_76; + bra.uni BB0_74; + +BB0_76: + add.f32 %f708, %f91, 0f3EE66666; + bra.uni BB0_77; + +BB0_74: + add.f32 %f658, %f160, %f88; + abs.f32 %f657, %f658; + setp.neu.f32 %p71, %f657, 0f7F800000; + @%p71 bra BB0_77; + + selp.f32 %f708, 0fFF800000, 0f7F800000, %p2; + +BB0_77: + mov.f32 %f644, 0fB5BFBE8E; + mov.f32 %f643, 0fBF317200; + mov.f32 %f642, 0f00000000; + mov.f32 %f641, 0f35BFBE8E; + mov.f32 %f640, 0f3F317200; + mov.f32 %f639, 0f3DAAAABD; + mov.f32 %f638, 0f3C4CAF63; + mov.f32 %f637, 0f3B18F0FE; + mov.f32 %f636, 0f3EE66666; + setp.eq.f32 %p72, %f91, 0f3F800000; + selp.f32 %f119, 0f3F800000, %f708, %p72; + abs.f32 %f120, %f92; + setp.lt.f32 %p73, %f120, 0f00800000; + mul.f32 %f474, %f120, 0f4B800000; + selp.f32 %f475, 0fC3170000, 0fC2FE0000, %p73; + selp.f32 %f476, %f474, %f120, %p73; + mov.b32 %r251, %f476; + and.b32 %r252, %r251, 8388607; + or.b32 %r253, %r252, 1065353216; + mov.b32 %f477, %r253; + shr.u32 %r254, %r251, 23; + cvt.rn.f32.u32 %f478, %r254; + add.f32 %f479, %f475, %f478; + setp.gt.f32 %p74, %f477, 0f3FB504F3; + mul.f32 %f480, %f477, 0f3F000000; + add.f32 %f481, %f479, 0f3F800000; + selp.f32 %f482, %f480, %f477, %p74; + selp.f32 %f483, %f481, %f479, %p74; + add.f32 %f484, %f482, 0fBF800000; + add.f32 %f473, %f482, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f472,%f473; + // inline asm + add.f32 %f485, %f484, %f484; + mul.f32 %f486, %f472, %f485; + mul.f32 %f487, %f486, %f486; + fma.rn.f32 %f490, %f637, %f487, %f638; + fma.rn.f32 %f492, %f490, %f487, %f639; + mul.rn.f32 %f493, %f492, %f487; + mul.rn.f32 %f494, %f493, %f486; + sub.f32 %f495, %f484, %f486; + neg.f32 %f496, %f486; + add.f32 %f497, %f495, %f495; + fma.rn.f32 %f498, %f496, %f484, %f497; + mul.rn.f32 %f499, %f472, %f498; + add.f32 %f500, %f494, %f486; + sub.f32 %f501, %f486, %f500; + add.f32 %f502, %f494, %f501; + add.f32 %f503, %f499, %f502; + add.f32 %f504, %f500, %f503; + sub.f32 %f505, %f500, %f504; + add.f32 %f506, %f503, %f505; + mul.rn.f32 %f508, %f483, %f640; + mul.rn.f32 %f510, %f483, %f641; + add.f32 %f511, %f508, %f504; + sub.f32 %f512, %f508, %f511; + add.f32 %f513, %f504, %f512; + add.f32 %f514, %f506, %f513; + add.f32 %f515, %f510, %f514; + add.f32 %f516, %f511, %f515; + sub.f32 %f517, %f511, %f516; + add.f32 %f518, %f515, %f517; + mul.rn.f32 %f520, %f636, %f516; + neg.f32 %f521, %f520; + fma.rn.f32 %f522, %f636, %f516, %f521; + fma.rn.f32 %f523, %f636, %f518, %f522; + fma.rn.f32 %f525, %f642, %f516, %f523; + add.rn.f32 %f526, %f520, %f525; + neg.f32 %f527, %f526; + add.rn.f32 %f528, %f520, %f527; + add.rn.f32 %f529, %f528, %f525; + mov.b32 %r255, %f526; + setp.eq.s32 %p75, %r255, 1118925336; + add.s32 %r256, %r255, -1; + mov.b32 %f530, %r256; + add.f32 %f531, %f529, 0f37000000; + selp.f32 %f532, %f530, %f526, %p75; + selp.f32 %f121, %f531, %f529, %p75; + mul.f32 %f533, %f532, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f534, %f533; + fma.rn.f32 %f536, %f534, %f643, %f532; + fma.rn.f32 %f538, %f534, %f644, %f536; + mul.f32 %f539, %f538, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f540, %f539; + add.f32 %f541, %f534, 0f00000000; + ex2.approx.f32 %f542, %f541; + mul.f32 %f543, %f540, %f542; + setp.lt.f32 %p76, %f532, 0fC2D20000; + selp.f32 %f544, 0f00000000, %f543, %p76; + setp.gt.f32 %p77, %f532, 0f42D20000; + selp.f32 %f709, 0f7F800000, %f544, %p77; + setp.eq.f32 %p78, %f709, 0f7F800000; + @%p78 bra BB0_79; + + fma.rn.f32 %f709, %f709, %f121, %f709; + +BB0_79: + setp.lt.f32 %p79, %f92, 0f00000000; + and.pred %p3, %p79, %p48; + mov.b32 %r257, %f709; + xor.b32 %r258, %r257, -2147483648; + mov.b32 %f545, %r258; + selp.f32 %f711, %f545, %f709, %p3; + setp.eq.f32 %p81, %f92, 0f00000000; + @%p81 bra BB0_82; + bra.uni BB0_80; + +BB0_82: + add.f32 %f548, %f92, %f92; + selp.f32 %f711, %f548, 0f00000000, %p48; + bra.uni BB0_83; + +BB0_80: + setp.geu.f32 %p82, %f92, 0f00000000; + @%p82 bra BB0_83; + + mov.f32 %f645, 0f3EE66666; + cvt.rzi.f32.f32 %f547, %f645; + setp.neu.f32 %p83, %f547, 0f3EE66666; + selp.f32 %f711, 0f7FFFFFFF, %f711, %p83; + +BB0_83: + add.f32 %f660, %f161, %f89; + abs.f32 %f659, %f660; + add.f32 %f549, %f659, 0f3EE66666; + mov.b32 %r259, %f549; + setp.lt.s32 %p85, %r259, 2139095040; + @%p85 bra BB0_88; + + add.f32 %f663, %f161, %f89; + abs.f32 %f662, %f663; + setp.gtu.f32 %p86, %f662, 0f7F800000; + @%p86 bra BB0_87; + bra.uni BB0_85; + +BB0_87: + add.f32 %f711, %f92, 0f3EE66666; + bra.uni BB0_88; + +BB0_85: + add.f32 %f665, %f161, %f89; + abs.f32 %f664, %f665; + setp.neu.f32 %p87, %f664, 0f7F800000; + @%p87 bra BB0_88; + + selp.f32 %f711, 0fFF800000, 0f7F800000, %p3; + +BB0_88: + mov.u32 %r293, 4; + mov.u64 %rd132, 0; + mov.u32 %r292, 2; + setp.eq.f32 %p88, %f92, 0f3F800000; + selp.f32 %f550, 0f3F800000, %f711, %p88; + cvt.u64.u32 %rd72, %r4; + cvt.u64.u32 %rd71, %r3; + mov.u64 %rd75, image; + cvta.global.u64 %rd70, %rd75; + // inline asm + call (%rd69), _rt_buffer_get_64, (%rd70, %r292, %r293, %rd71, %rd72, %rd132, %rd132); + // inline asm + cvt.sat.f32.f32 %f551, %f550; + mul.f32 %f552, %f551, 0f437FFD71; + cvt.rzi.u32.f32 %r262, %f552; + cvt.sat.f32.f32 %f553, %f119; + mul.f32 %f554, %f553, 0f437FFD71; + cvt.rzi.u32.f32 %r263, %f554; + cvt.sat.f32.f32 %f555, %f106; + mul.f32 %f556, %f555, 0f437FFD71; + cvt.rzi.u32.f32 %r264, %f556; + cvt.u16.u32 %rs16, %r262; + cvt.u16.u32 %rs17, %r264; + cvt.u16.u32 %rs18, %r263; + mov.u16 %rs19, 255; + st.v4.u8 [%rd69], {%rs16, %rs18, %rs17, %rs19}; + ld.global.u32 %r327, [imageEnabled]; + +BB0_89: + and.b32 %r265, %r327, 4; + setp.eq.s32 %p89, %r265, 0; + @%p89 bra BB0_91; + + add.f32 %f661, %f160, %f88; + add.f32 %f654, %f159, %f87; + mov.u32 %r295, 8; + mov.u64 %rd133, 0; + mov.u32 %r294, 2; + cvt.u64.u32 %rd78, %r3; + cvt.u64.u32 %rd79, %r4; + mov.u64 %rd82, image_HDR; + cvta.global.u64 %rd77, %rd82; + // inline asm + call (%rd76), _rt_buffer_get_64, (%rd77, %r294, %r295, %rd78, %rd79, %rd133, %rd133); + // inline asm + mov.f32 %f560, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs23, %f560;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs22, %f92;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs21, %f661;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs20, %f654;} + + // inline asm + st.v4.u16 [%rd76], {%rs20, %rs21, %rs22, %rs23}; + ld.global.u32 %r327, [imageEnabled]; + +BB0_91: + and.b32 %r268, %r327, 16; + setp.eq.s32 %p90, %r268, 0; + @%p90 bra BB0_93; + + mov.u32 %r297, 8; + mov.u64 %rd134, 0; + mov.u32 %r296, 2; + cvt.u64.u32 %rd85, %r3; + cvt.u64.u32 %rd86, %r4; + mov.u64 %rd89, image_HDR2; + cvta.global.u64 %rd84, %rd89; + // inline asm + call (%rd83), _rt_buffer_get_64, (%rd84, %r296, %r297, %rd85, %rd86, %rd134, %rd134); + // inline asm + mov.f32 %f564, 0f3F800000; + // inline asm + { cvt.rn.f16.f32 %rs27, %f564;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs26, %f89;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs25, %f88;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs24, %f87;} + + // inline asm + st.v4.u16 [%rd83], {%rs24, %rs25, %rs26, %rs27}; + ld.global.u32 %r327, [imageEnabled]; + +BB0_93: + and.b32 %r271, %r327, 64; + setp.eq.s32 %p91, %r271, 0; + @%p91 bra BB0_109; + + mov.u32 %r299, 4; + mov.u64 %rd135, 0; + mov.u32 %r298, 2; + mul.f32 %f565, %f160, 0f3F372474; + fma.rn.f32 %f566, %f159, 0f3E59999A, %f565; + fma.rn.f32 %f132, %f161, 0f3D93A92A, %f566; + cvt.u64.u32 %rd93, %r4; + cvt.u64.u32 %rd92, %r3; + mov.u64 %rd96, lightmapDirectDir; + cvta.global.u64 %rd91, %rd96; + // inline asm + call (%rd90), _rt_buffer_get_64, (%rd91, %r298, %r299, %rd92, %rd93, %rd135, %rd135); + // inline asm + ld.v4.u8 {%rs28, %rs29, %rs30, %rs31}, [%rd90]; + cvt.rn.f32.u16 %f567, %rs28; + div.rn.f32 %f568, %f567, 0f437F0000; + fma.rn.f32 %f569, %f568, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f570, %rs29; + div.rn.f32 %f571, %f570, 0f437F0000; + fma.rn.f32 %f572, %f571, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f573, %rs30; + div.rn.f32 %f574, %f573, 0f437F0000; + fma.rn.f32 %f575, %f574, 0f40000000, 0fBF800000; + mul.f32 %f576, %f572, %f572; + fma.rn.f32 %f577, %f569, %f569, %f576; + fma.rn.f32 %f578, %f575, %f575, %f577; + sqrt.rn.f32 %f579, %f578; + rcp.rn.f32 %f580, %f579; + mul.f32 %f712, %f569, %f580; + mul.f32 %f713, %f572, %f580; + mul.f32 %f714, %f575, %f580; + abs.f32 %f581, %f684; + setp.gt.f32 %p92, %f581, 0f00000000; + @%p92 bra BB0_97; + + abs.f32 %f582, %f683; + setp.gt.f32 %p93, %f582, 0f00000000; + @%p93 bra BB0_97; + + abs.f32 %f583, %f682; + setp.leu.f32 %p94, %f583, 0f00000000; + @%p94 bra BB0_100; + +BB0_97: + ld.global.u8 %rs32, [imageEnabled]; + and.b16 %rs33, %rs32, 16; + setp.ne.s16 %p95, %rs33, 0; + @%p95 bra BB0_98; + bra.uni BB0_99; + +BB0_98: + mov.f32 %f712, %f684; + mov.f32 %f713, %f683; + mov.f32 %f714, %f682; + bra.uni BB0_100; + +BB0_99: + mul.f32 %f584, %f683, %f683; + fma.rn.f32 %f585, %f684, %f684, %f584; + fma.rn.f32 %f586, %f682, %f682, %f585; + sqrt.rn.f32 %f587, %f586; + rcp.rn.f32 %f588, %f587; + mul.f32 %f589, %f684, %f588; + mul.f32 %f590, %f683, %f588; + mul.f32 %f591, %f682, %f588; + mul.f32 %f592, %f88, 0f3F372474; + fma.rn.f32 %f593, %f87, 0f3E59999A, %f592; + fma.rn.f32 %f594, %f89, 0f3D93A92A, %f593; + mul.f32 %f595, %f594, %f589; + mul.f32 %f596, %f594, %f590; + mul.f32 %f597, %f594, %f591; + fma.rn.f32 %f712, %f132, %f712, %f595; + fma.rn.f32 %f713, %f132, %f713, %f596; + fma.rn.f32 %f714, %f132, %f714, %f597; + +BB0_100: + mov.u32 %r301, 4; + mov.u64 %rd136, 0; + mov.u32 %r300, 2; + mul.f32 %f598, %f713, %f713; + fma.rn.f32 %f599, %f712, %f712, %f598; + fma.rn.f32 %f600, %f714, %f714, %f599; + sqrt.rn.f32 %f601, %f600; + rcp.rn.f32 %f602, %f601; + mul.f32 %f603, %f712, %f602; + mul.f32 %f604, %f713, %f602; + mul.f32 %f605, %f714, %f602; + mul.f32 %f606, %f671, %f604; + fma.rn.f32 %f607, %f670, %f603, %f606; + fma.rn.f32 %f608, %f672, %f605, %f607; + fma.rn.f32 %f609, %f608, 0f3F000000, 0f3F000000; + mov.f32 %f610, 0f3B808081; + max.f32 %f611, %f609, %f610; + mul.f32 %f612, %f611, 0f437F0000; + cvt.rzi.s32.f32 %r276, %f612; + mov.u64 %rd103, image_Dir; + cvta.global.u64 %rd98, %rd103; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd98, %r300, %r301, %rd92, %rd93, %rd136, %rd136); + // inline asm + fma.rn.f32 %f613, %f603, 0f3F000000, 0f3F000000; + mul.f32 %f614, %f613, 0f437F0000; + cvt.rzi.u32.f32 %r277, %f614; + fma.rn.f32 %f615, %f604, 0f3F000000, 0f3F000000; + mul.f32 %f616, %f615, 0f437F0000; + cvt.rzi.u32.f32 %r278, %f616; + fma.rn.f32 %f617, %f605, 0f3F000000, 0f3F000000; + mul.f32 %f618, %f617, 0f437F0000; + cvt.rzi.u32.f32 %r279, %f618; + cvt.u16.u32 %rs34, %r276; + cvt.u16.u32 %rs35, %r279; + cvt.u16.u32 %rs36, %r278; + cvt.u16.u32 %rs37, %r277; + st.v4.u8 [%rd97], {%rs37, %rs36, %rs35, %rs34}; + +BB0_109: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIdir.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIdir.ptx.meta new file mode 100644 index 00000000..dc219f1d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmTexGIdir.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc69dca9dca775c40af49664effbb86e +timeCreated: 1537445843 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso new file mode 100644 index 00000000..3e9fd074 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso.meta new file mode 100644 index 00000000..cd5b718e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67b662d933fb87b45a840a9dee387848 +timeCreated: 1530114290 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso new file mode 100644 index 00000000..425cf069 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso.meta new file mode 100644 index 00000000..70f119ca --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmr.vso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eb53400d0b37d494193ada17212e3266 +timeCreated: 1530089609 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmrebake.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmrebake.dll new file mode 100644 index 00000000..a7561868 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmrebake.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmrebake.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmrebake.dll.meta new file mode 100644 index 00000000..15bca0bc --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lmrebake.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 6bbf32c0d078be7489f8ddaf73bfb13c +timeCreated: 1530050406 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lodselect.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lodselect.ptx new file mode 100644 index 00000000..0c2cf561 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lodselect.ptx @@ -0,0 +1,1927 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image_HDR[1]; +.global .align 1 .b8 image_HDR2[1]; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 uvpos[1]; +.global .align 1 .b8 uvnormal[1]; +.global .align 1 .b8 rnd_seeds[1]; +.global .align 1 .b8 lmidLODs[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.const .align 4 .b8 __cudart_i2opi_f[24] = {65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162}; + +.visible .entry _Z6oxMainv( + +) +{ + .local .align 4 .b8 __local_depot0[40]; + .reg .b64 %SP; + .reg .b64 %SPL; + .reg .pred %p<120>; + .reg .b16 %rs<9>; + .reg .f32 %f<646>; + .reg .b32 %r<802>; + .reg .b64 %rd<183>; + + + mov.u64 %rd182, __local_depot0; + cvta.local.u64 %SP, %rd182; + ld.global.v2.u32 {%r295, %r296}, [pixelID]; + cvt.u64.u32 %rd53, %r295; + cvt.u64.u32 %rd54, %r296; + mov.u64 %rd57, uvnormal; + cvta.global.u64 %rd52, %rd57; + mov.u32 %r293, 2; + mov.u32 %r294, 4; + mov.u64 %rd56, 0; + // inline asm + call (%rd51), _rt_buffer_get_64, (%rd52, %r293, %r294, %rd53, %rd54, %rd56, %rd56); + // inline asm + ld.u32 %r1, [%rd51]; + shr.u32 %r299, %r1, 16; + cvt.u16.u32 %rs1, %r299; + and.b16 %rs2, %rs1, 255; + cvt.u16.u32 %rs3, %r1; + or.b16 %rs4, %rs3, %rs2; + setp.eq.s16 %p1, %rs4, 0; + mov.f32 %f595, 0f00000000; + mov.f32 %f596, %f595; + mov.f32 %f597, %f595; + @%p1 bra BB0_2; + + ld.u8 %rs5, [%rd51+1]; + and.b16 %rs7, %rs3, 255; + cvt.rn.f32.u16 %f170, %rs7; + div.rn.f32 %f171, %f170, 0f437F0000; + fma.rn.f32 %f172, %f171, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f173, %rs5; + div.rn.f32 %f174, %f173, 0f437F0000; + fma.rn.f32 %f175, %f174, 0f40000000, 0fBF800000; + cvt.rn.f32.u16 %f176, %rs2; + div.rn.f32 %f177, %f176, 0f437F0000; + fma.rn.f32 %f178, %f177, 0f40000000, 0fBF800000; + mul.f32 %f179, %f175, %f175; + fma.rn.f32 %f180, %f172, %f172, %f179; + fma.rn.f32 %f181, %f178, %f178, %f180; + sqrt.rn.f32 %f182, %f181; + rcp.rn.f32 %f183, %f182; + mul.f32 %f595, %f172, %f183; + mul.f32 %f596, %f175, %f183; + mul.f32 %f597, %f178, %f183; + +BB0_2: + setp.eq.f32 %p2, %f596, 0f00000000; + setp.eq.f32 %p3, %f595, 0f00000000; + and.pred %p4, %p3, %p2; + setp.eq.f32 %p5, %f597, 0f00000000; + and.pred %p6, %p4, %p5; + @%p6 bra BB0_199; + + ld.global.v2.u32 {%r304, %r305}, [pixelID]; + cvt.u64.u32 %rd60, %r304; + cvt.u64.u32 %rd61, %r305; + mov.u64 %rd70, uvpos; + cvta.global.u64 %rd59, %rd70; + mov.u32 %r301, 12; + // inline asm + call (%rd58), _rt_buffer_get_64, (%rd59, %r293, %r301, %rd60, %rd61, %rd56, %rd56); + // inline asm + ld.f32 %f184, [%rd58+8]; + ld.f32 %f185, [%rd58+4]; + ld.f32 %f186, [%rd58]; + mul.f32 %f187, %f186, 0f3456BF95; + mul.f32 %f188, %f185, 0f3456BF95; + mul.f32 %f189, %f184, 0f3456BF95; + abs.f32 %f190, %f595; + div.rn.f32 %f191, %f187, %f190; + abs.f32 %f192, %f596; + div.rn.f32 %f193, %f188, %f192; + abs.f32 %f194, %f597; + div.rn.f32 %f195, %f189, %f194; + abs.f32 %f196, %f191; + abs.f32 %f197, %f193; + abs.f32 %f198, %f195; + mov.f32 %f199, 0f38D1B717; + max.f32 %f200, %f196, %f199; + max.f32 %f201, %f197, %f199; + max.f32 %f202, %f198, %f199; + fma.rn.f32 %f7, %f595, %f200, %f186; + fma.rn.f32 %f8, %f596, %f201, %f185; + fma.rn.f32 %f9, %f597, %f202, %f184; + setp.gt.f32 %p7, %f190, %f194; + neg.f32 %f203, %f596; + selp.f32 %f204, %f203, 0f00000000, %p7; + neg.f32 %f205, %f597; + selp.f32 %f206, %f595, %f205, %p7; + selp.f32 %f207, 0f00000000, %f596, %p7; + mul.f32 %f208, %f206, %f206; + fma.rn.f32 %f209, %f204, %f204, %f208; + fma.rn.f32 %f210, %f207, %f207, %f209; + sqrt.rn.f32 %f211, %f210; + rcp.rn.f32 %f212, %f211; + mul.f32 %f10, %f204, %f212; + mul.f32 %f11, %f206, %f212; + mul.f32 %f12, %f207, %f212; + mul.f32 %f213, %f597, %f11; + mul.f32 %f214, %f596, %f12; + sub.f32 %f13, %f213, %f214; + mul.f32 %f215, %f595, %f12; + mul.f32 %f216, %f597, %f10; + sub.f32 %f14, %f215, %f216; + mul.f32 %f217, %f596, %f10; + mul.f32 %f218, %f595, %f11; + sub.f32 %f15, %f217, %f218; + ld.global.v2.u32 {%r308, %r309}, [pixelID]; + cvt.u64.u32 %rd66, %r308; + cvt.u64.u32 %rd67, %r309; + mov.u64 %rd71, rnd_seeds; + cvta.global.u64 %rd65, %rd71; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd65, %r293, %r294, %rd66, %rd67, %rd56, %rd56); + // inline asm + add.u64 %rd72, %SP, 0; + cvta.to.local.u64 %rd2, %rd72; + mul.f32 %f16, %f7, 0f3456BF95; + mul.f32 %f17, %f8, 0f3456BF95; + mul.f32 %f18, %f9, 0f3456BF95; + ld.u32 %r312, [%rd64]; + mad.lo.s32 %r313, %r312, 1664525, 1013904223; + and.b32 %r314, %r313, 16777215; + cvt.rn.f32.u32 %f219, %r314; + fma.rn.f32 %f220, %f219, 0f33800000, 0f00000000; + mul.f32 %f221, %f220, 0f3F000000; + mad.lo.s32 %r2, %r313, 1664525, 1013904223; + and.b32 %r315, %r2, 16777215; + cvt.rn.f32.u32 %f222, %r315; + fma.rn.f32 %f223, %f222, 0f33800000, 0f00000000; + mul.f32 %f224, %f223, 0f3F000000; + sqrt.rn.f32 %f19, %f221; + mul.f32 %f604, %f224, 0f40C90FDB; + abs.f32 %f21, %f604; + setp.neu.f32 %p8, %f21, 0f7F800000; + mov.f32 %f598, %f604; + @%p8 bra BB0_5; + + mov.f32 %f225, 0f00000000; + mul.rn.f32 %f598, %f604, %f225; + +BB0_5: + mul.f32 %f226, %f598, 0f3F22F983; + cvt.rni.s32.f32 %r731, %f226; + cvt.rn.f32.s32 %f227, %r731; + neg.f32 %f228, %f227; + mov.f32 %f229, 0f3FC90FDA; + fma.rn.f32 %f230, %f228, %f229, %f598; + mov.f32 %f231, 0f33A22168; + fma.rn.f32 %f232, %f228, %f231, %f230; + mov.f32 %f233, 0f27C234C5; + fma.rn.f32 %f599, %f228, %f233, %f232; + abs.f32 %f234, %f598; + setp.leu.f32 %p9, %f234, 0f47CE4780; + @%p9 bra BB0_16; + + mov.b32 %r4, %f598; + shr.u32 %r5, %r4, 23; + shl.b32 %r318, %r4, 8; + or.b32 %r6, %r318, -2147483648; + mov.u32 %r723, 0; + mov.u64 %rd166, __cudart_i2opi_f; + mov.u32 %r722, -6; + mov.u64 %rd167, %rd2; + +BB0_7: + .pragma "nounroll"; + ld.const.u32 %r321, [%rd166]; + // inline asm + { + mad.lo.cc.u32 %r319, %r321, %r6, %r723; + madc.hi.u32 %r723, %r321, %r6, 0; + } + // inline asm + st.local.u32 [%rd167], %r319; + add.s64 %rd167, %rd167, 4; + add.s64 %rd166, %rd166, 4; + add.s32 %r722, %r722, 1; + setp.ne.s32 %p10, %r722, 0; + @%p10 bra BB0_7; + + and.b32 %r324, %r5, 255; + add.s32 %r325, %r324, -128; + shr.u32 %r326, %r325, 5; + and.b32 %r11, %r4, -2147483648; + st.local.u32 [%rd2+24], %r723; + mov.u32 %r327, 6; + sub.s32 %r328, %r327, %r326; + mul.wide.s32 %rd74, %r328, 4; + add.s64 %rd7, %rd2, %rd74; + ld.local.u32 %r724, [%rd7]; + ld.local.u32 %r725, [%rd7+-4]; + and.b32 %r14, %r5, 31; + setp.eq.s32 %p11, %r14, 0; + @%p11 bra BB0_10; + + mov.u32 %r329, 32; + sub.s32 %r330, %r329, %r14; + shr.u32 %r331, %r725, %r330; + shl.b32 %r332, %r724, %r14; + add.s32 %r724, %r331, %r332; + ld.local.u32 %r333, [%rd7+-8]; + shr.u32 %r334, %r333, %r330; + shl.b32 %r335, %r725, %r14; + add.s32 %r725, %r334, %r335; + +BB0_10: + shr.u32 %r336, %r725, 30; + shl.b32 %r337, %r724, 2; + add.s32 %r726, %r336, %r337; + shl.b32 %r20, %r725, 2; + shr.u32 %r338, %r726, 31; + shr.u32 %r339, %r724, 30; + add.s32 %r21, %r338, %r339; + setp.eq.s32 %p12, %r338, 0; + @%p12 bra BB0_11; + + not.b32 %r340, %r726; + neg.s32 %r728, %r20; + setp.eq.s32 %p13, %r20, 0; + selp.u32 %r341, 1, 0, %p13; + add.s32 %r726, %r341, %r340; + xor.b32 %r727, %r11, -2147483648; + bra.uni BB0_13; + +BB0_11: + mov.u32 %r727, %r11; + mov.u32 %r728, %r20; + +BB0_13: + clz.b32 %r730, %r726; + setp.eq.s32 %p14, %r730, 0; + shl.b32 %r342, %r726, %r730; + mov.u32 %r343, 32; + sub.s32 %r344, %r343, %r730; + shr.u32 %r345, %r728, %r344; + add.s32 %r346, %r345, %r342; + selp.b32 %r29, %r726, %r346, %p14; + mov.u32 %r347, -921707870; + mul.hi.u32 %r729, %r29, %r347; + setp.eq.s32 %p15, %r11, 0; + neg.s32 %r348, %r21; + selp.b32 %r731, %r21, %r348, %p15; + setp.lt.s32 %p16, %r729, 1; + @%p16 bra BB0_15; + + mul.lo.s32 %r349, %r29, -921707870; + shr.u32 %r350, %r349, 31; + shl.b32 %r351, %r729, 1; + add.s32 %r729, %r350, %r351; + add.s32 %r730, %r730, 1; + +BB0_15: + mov.u32 %r352, 126; + sub.s32 %r353, %r352, %r730; + shl.b32 %r354, %r353, 23; + add.s32 %r355, %r729, 1; + shr.u32 %r356, %r355, 7; + add.s32 %r357, %r356, 1; + shr.u32 %r358, %r357, 1; + add.s32 %r359, %r358, %r354; + or.b32 %r360, %r359, %r727; + mov.b32 %f599, %r360; + +BB0_16: + mul.rn.f32 %f27, %f599, %f599; + add.s32 %r37, %r731, 1; + and.b32 %r38, %r37, 1; + setp.eq.s32 %p17, %r38, 0; + @%p17 bra BB0_18; + + mov.f32 %f235, 0fBAB6061A; + mov.f32 %f236, 0f37CCF5CE; + fma.rn.f32 %f600, %f236, %f27, %f235; + bra.uni BB0_19; + +BB0_18: + mov.f32 %f237, 0f3C08839E; + mov.f32 %f238, 0fB94CA1F9; + fma.rn.f32 %f600, %f238, %f27, %f237; + +BB0_19: + @%p17 bra BB0_21; + + mov.f32 %f239, 0f3D2AAAA5; + fma.rn.f32 %f240, %f600, %f27, %f239; + mov.f32 %f241, 0fBF000000; + fma.rn.f32 %f601, %f240, %f27, %f241; + bra.uni BB0_22; + +BB0_21: + mov.f32 %f242, 0fBE2AAAA3; + fma.rn.f32 %f243, %f600, %f27, %f242; + mov.f32 %f244, 0f00000000; + fma.rn.f32 %f601, %f243, %f27, %f244; + +BB0_22: + fma.rn.f32 %f602, %f601, %f599, %f599; + @%p17 bra BB0_24; + + mov.f32 %f245, 0f3F800000; + fma.rn.f32 %f602, %f601, %f27, %f245; + +BB0_24: + and.b32 %r361, %r37, 2; + setp.eq.s32 %p20, %r361, 0; + @%p20 bra BB0_26; + + mov.f32 %f246, 0f00000000; + mov.f32 %f247, 0fBF800000; + fma.rn.f32 %f602, %f602, %f247, %f246; + +BB0_26: + @%p8 bra BB0_28; + + mov.f32 %f248, 0f00000000; + mul.rn.f32 %f604, %f604, %f248; + +BB0_28: + mul.f32 %f249, %f604, 0f3F22F983; + cvt.rni.s32.f32 %r741, %f249; + cvt.rn.f32.s32 %f250, %r741; + neg.f32 %f251, %f250; + fma.rn.f32 %f253, %f251, %f229, %f604; + fma.rn.f32 %f255, %f251, %f231, %f253; + fma.rn.f32 %f605, %f251, %f233, %f255; + abs.f32 %f257, %f604; + setp.leu.f32 %p22, %f257, 0f47CE4780; + @%p22 bra BB0_39; + + mov.b32 %r40, %f604; + shr.u32 %r41, %r40, 23; + shl.b32 %r364, %r40, 8; + or.b32 %r42, %r364, -2147483648; + cvta.to.local.u64 %rd169, %rd72; + mov.u32 %r733, 0; + mov.u64 %rd168, __cudart_i2opi_f; + mov.u32 %r732, -6; + +BB0_30: + .pragma "nounroll"; + ld.const.u32 %r367, [%rd168]; + // inline asm + { + mad.lo.cc.u32 %r365, %r367, %r42, %r733; + madc.hi.u32 %r733, %r367, %r42, 0; + } + // inline asm + st.local.u32 [%rd169], %r365; + add.s64 %rd169, %rd169, 4; + add.s64 %rd168, %rd168, 4; + add.s32 %r732, %r732, 1; + setp.ne.s32 %p23, %r732, 0; + @%p23 bra BB0_30; + + and.b32 %r370, %r41, 255; + add.s32 %r371, %r370, -128; + shr.u32 %r372, %r371, 5; + and.b32 %r47, %r40, -2147483648; + cvta.to.local.u64 %rd78, %rd72; + st.local.u32 [%rd78+24], %r733; + mov.u32 %r373, 6; + sub.s32 %r374, %r373, %r372; + mul.wide.s32 %rd79, %r374, 4; + add.s64 %rd13, %rd78, %rd79; + ld.local.u32 %r734, [%rd13]; + ld.local.u32 %r735, [%rd13+-4]; + and.b32 %r50, %r41, 31; + setp.eq.s32 %p24, %r50, 0; + @%p24 bra BB0_33; + + mov.u32 %r375, 32; + sub.s32 %r376, %r375, %r50; + shr.u32 %r377, %r735, %r376; + shl.b32 %r378, %r734, %r50; + add.s32 %r734, %r377, %r378; + ld.local.u32 %r379, [%rd13+-8]; + shr.u32 %r380, %r379, %r376; + shl.b32 %r381, %r735, %r50; + add.s32 %r735, %r380, %r381; + +BB0_33: + shr.u32 %r382, %r735, 30; + shl.b32 %r383, %r734, 2; + add.s32 %r736, %r382, %r383; + shl.b32 %r56, %r735, 2; + shr.u32 %r384, %r736, 31; + shr.u32 %r385, %r734, 30; + add.s32 %r57, %r384, %r385; + setp.eq.s32 %p25, %r384, 0; + @%p25 bra BB0_34; + + not.b32 %r386, %r736; + neg.s32 %r738, %r56; + setp.eq.s32 %p26, %r56, 0; + selp.u32 %r387, 1, 0, %p26; + add.s32 %r736, %r387, %r386; + xor.b32 %r737, %r47, -2147483648; + bra.uni BB0_36; + +BB0_34: + mov.u32 %r737, %r47; + mov.u32 %r738, %r56; + +BB0_36: + clz.b32 %r740, %r736; + setp.eq.s32 %p27, %r740, 0; + shl.b32 %r388, %r736, %r740; + mov.u32 %r389, 32; + sub.s32 %r390, %r389, %r740; + shr.u32 %r391, %r738, %r390; + add.s32 %r392, %r391, %r388; + selp.b32 %r65, %r736, %r392, %p27; + mov.u32 %r393, -921707870; + mul.hi.u32 %r739, %r65, %r393; + setp.eq.s32 %p28, %r47, 0; + neg.s32 %r394, %r57; + selp.b32 %r741, %r57, %r394, %p28; + setp.lt.s32 %p29, %r739, 1; + @%p29 bra BB0_38; + + mul.lo.s32 %r395, %r65, -921707870; + shr.u32 %r396, %r395, 31; + shl.b32 %r397, %r739, 1; + add.s32 %r739, %r396, %r397; + add.s32 %r740, %r740, 1; + +BB0_38: + mov.u32 %r398, 126; + sub.s32 %r399, %r398, %r740; + shl.b32 %r400, %r399, 23; + add.s32 %r401, %r739, 1; + shr.u32 %r402, %r401, 7; + add.s32 %r403, %r402, 1; + shr.u32 %r404, %r403, 1; + add.s32 %r405, %r404, %r400; + or.b32 %r406, %r405, %r737; + mov.b32 %f605, %r406; + +BB0_39: + mul.rn.f32 %f44, %f605, %f605; + and.b32 %r73, %r741, 1; + setp.eq.s32 %p30, %r73, 0; + @%p30 bra BB0_41; + + mov.f32 %f258, 0fBAB6061A; + mov.f32 %f259, 0f37CCF5CE; + fma.rn.f32 %f606, %f259, %f44, %f258; + bra.uni BB0_42; + +BB0_41: + mov.f32 %f260, 0f3C08839E; + mov.f32 %f261, 0fB94CA1F9; + fma.rn.f32 %f606, %f261, %f44, %f260; + +BB0_42: + @%p30 bra BB0_44; + + mov.f32 %f262, 0f3D2AAAA5; + fma.rn.f32 %f263, %f606, %f44, %f262; + mov.f32 %f264, 0fBF000000; + fma.rn.f32 %f607, %f263, %f44, %f264; + bra.uni BB0_45; + +BB0_44: + mov.f32 %f265, 0fBE2AAAA3; + fma.rn.f32 %f266, %f606, %f44, %f265; + mov.f32 %f267, 0f00000000; + fma.rn.f32 %f607, %f266, %f44, %f267; + +BB0_45: + fma.rn.f32 %f608, %f607, %f605, %f605; + @%p30 bra BB0_47; + + mov.f32 %f268, 0f3F800000; + fma.rn.f32 %f608, %f607, %f44, %f268; + +BB0_47: + and.b32 %r407, %r741, 2; + setp.eq.s32 %p33, %r407, 0; + @%p33 bra BB0_49; + + mov.f32 %f269, 0f00000000; + mov.f32 %f270, 0fBF800000; + fma.rn.f32 %f608, %f608, %f270, %f269; + +BB0_49: + mul.f32 %f279, %f19, %f602; + add.u64 %rd80, %SP, 28; + cvta.to.local.u64 %rd14, %rd80; + mul.f32 %f280, %f279, %f279; + mov.f32 %f281, 0f3F800000; + sub.f32 %f282, %f281, %f280; + mul.f32 %f283, %f19, %f608; + mul.f32 %f284, %f283, %f283; + sub.f32 %f285, %f282, %f284; + mov.f32 %f286, 0f00000000; + max.f32 %f287, %f286, %f285; + sqrt.rn.f32 %f288, %f287; + mul.f32 %f289, %f10, %f283; + mul.f32 %f290, %f11, %f283; + mul.f32 %f291, %f12, %f283; + fma.rn.f32 %f292, %f13, %f279, %f289; + fma.rn.f32 %f293, %f14, %f279, %f290; + fma.rn.f32 %f294, %f15, %f279, %f291; + fma.rn.f32 %f274, %f595, %f288, %f292; + fma.rn.f32 %f275, %f596, %f288, %f293; + fma.rn.f32 %f276, %f597, %f288, %f294; + abs.f32 %f295, %f274; + abs.f32 %f296, %f275; + abs.f32 %f297, %f276; + div.rn.f32 %f298, %f16, %f295; + div.rn.f32 %f299, %f17, %f296; + div.rn.f32 %f300, %f18, %f297; + abs.f32 %f301, %f298; + abs.f32 %f302, %f299; + abs.f32 %f303, %f300; + max.f32 %f304, %f301, %f302; + max.f32 %f305, %f304, %f303; + max.f32 %f277, %f305, %f199; + mov.u32 %r409, 0; + st.local.u32 [%rd14+8], %r409; + st.local.u32 [%rd14+4], %r409; + st.local.u32 [%rd14], %r409; + ld.global.u32 %r408, [root]; + mov.f32 %f278, 0f6C4ECB8F; + // inline asm + call _rt_trace_64, (%r408, %f7, %f8, %f9, %f274, %f275, %f276, %r409, %f277, %f278, %rd80, %r301); + // inline asm + ld.local.f32 %f307, [%rd14+4]; + setp.leu.f32 %p34, %f307, 0f00000000; + @%p34 bra BB0_52; + + ld.local.f32 %f308, [%rd14]; + div.rn.f32 %f309, %f308, 0f41200000; + cvt.rzi.s32.f32 %r74, %f309; + setp.lt.s32 %p35, %r74, 0; + @%p35 bra BB0_52; + + cvt.s64.s32 %rd89, %r74; + mov.u64 %rd93, lmidLODs; + cvta.global.u64 %rd82, %rd93; + mov.u32 %r413, 1; + // inline asm + call (%rd81), _rt_buffer_get_64, (%rd82, %r413, %r294, %rd89, %rd56, %rd56, %rd56); + // inline asm + ld.local.f32 %f310, [%rd14+4]; + ld.f32 %f311, [%rd81]; + max.f32 %f312, %f311, %f310; + // inline asm + call (%rd87), _rt_buffer_get_64, (%rd82, %r413, %r294, %rd89, %rd56, %rd56, %rd56); + // inline asm + st.f32 [%rd87], %f312; + +BB0_52: + mad.lo.s32 %r415, %r2, 1664525, 1013904223; + and.b32 %r416, %r415, 16777215; + cvt.rn.f32.u32 %f313, %r416; + fma.rn.f32 %f314, %f313, 0f33800000, 0f00000000; + mul.f32 %f315, %f314, 0f3F000000; + mad.lo.s32 %r75, %r415, 1664525, 1013904223; + and.b32 %r417, %r75, 16777215; + cvt.rn.f32.u32 %f316, %r417; + fma.rn.f32 %f317, %f316, 0f33800000, 0f3F800000; + mul.f32 %f318, %f317, 0f3F000000; + sqrt.rn.f32 %f56, %f315; + mul.f32 %f616, %f318, 0f40C90FDB; + abs.f32 %f58, %f616; + setp.neu.f32 %p36, %f58, 0f7F800000; + mov.f32 %f610, %f616; + @%p36 bra BB0_54; + + mul.rn.f32 %f610, %f616, %f286; + +BB0_54: + mul.f32 %f320, %f610, 0f3F22F983; + cvt.rni.s32.f32 %r751, %f320; + cvt.rn.f32.s32 %f321, %r751; + neg.f32 %f322, %f321; + fma.rn.f32 %f324, %f322, %f229, %f610; + fma.rn.f32 %f326, %f322, %f231, %f324; + fma.rn.f32 %f611, %f322, %f233, %f326; + abs.f32 %f328, %f610; + setp.leu.f32 %p37, %f328, 0f47CE4780; + @%p37 bra BB0_65; + + mov.b32 %r77, %f610; + shr.u32 %r78, %r77, 23; + shl.b32 %r420, %r77, 8; + or.b32 %r79, %r420, -2147483648; + cvta.to.local.u64 %rd171, %rd72; + mov.u32 %r743, 0; + mov.u64 %rd170, __cudart_i2opi_f; + mov.u32 %r742, -6; + +BB0_56: + .pragma "nounroll"; + ld.const.u32 %r423, [%rd170]; + // inline asm + { + mad.lo.cc.u32 %r421, %r423, %r79, %r743; + madc.hi.u32 %r743, %r423, %r79, 0; + } + // inline asm + st.local.u32 [%rd171], %r421; + add.s64 %rd171, %rd171, 4; + add.s64 %rd170, %rd170, 4; + add.s32 %r742, %r742, 1; + setp.ne.s32 %p38, %r742, 0; + @%p38 bra BB0_56; + + and.b32 %r426, %r78, 255; + add.s32 %r427, %r426, -128; + shr.u32 %r428, %r427, 5; + and.b32 %r84, %r77, -2147483648; + cvta.to.local.u64 %rd97, %rd72; + st.local.u32 [%rd97+24], %r743; + mov.u32 %r429, 6; + sub.s32 %r430, %r429, %r428; + mul.wide.s32 %rd98, %r430, 4; + add.s64 %rd20, %rd97, %rd98; + ld.local.u32 %r744, [%rd20]; + ld.local.u32 %r745, [%rd20+-4]; + and.b32 %r87, %r78, 31; + setp.eq.s32 %p39, %r87, 0; + @%p39 bra BB0_59; + + mov.u32 %r431, 32; + sub.s32 %r432, %r431, %r87; + shr.u32 %r433, %r745, %r432; + shl.b32 %r434, %r744, %r87; + add.s32 %r744, %r433, %r434; + ld.local.u32 %r435, [%rd20+-8]; + shr.u32 %r436, %r435, %r432; + shl.b32 %r437, %r745, %r87; + add.s32 %r745, %r436, %r437; + +BB0_59: + shr.u32 %r438, %r745, 30; + shl.b32 %r439, %r744, 2; + add.s32 %r746, %r438, %r439; + shl.b32 %r93, %r745, 2; + shr.u32 %r440, %r746, 31; + shr.u32 %r441, %r744, 30; + add.s32 %r94, %r440, %r441; + setp.eq.s32 %p40, %r440, 0; + @%p40 bra BB0_60; + + not.b32 %r442, %r746; + neg.s32 %r748, %r93; + setp.eq.s32 %p41, %r93, 0; + selp.u32 %r443, 1, 0, %p41; + add.s32 %r746, %r443, %r442; + xor.b32 %r747, %r84, -2147483648; + bra.uni BB0_62; + +BB0_60: + mov.u32 %r747, %r84; + mov.u32 %r748, %r93; + +BB0_62: + clz.b32 %r750, %r746; + setp.eq.s32 %p42, %r750, 0; + shl.b32 %r444, %r746, %r750; + mov.u32 %r445, 32; + sub.s32 %r446, %r445, %r750; + shr.u32 %r447, %r748, %r446; + add.s32 %r448, %r447, %r444; + selp.b32 %r102, %r746, %r448, %p42; + mov.u32 %r449, -921707870; + mul.hi.u32 %r749, %r102, %r449; + setp.eq.s32 %p43, %r84, 0; + neg.s32 %r450, %r94; + selp.b32 %r751, %r94, %r450, %p43; + setp.lt.s32 %p44, %r749, 1; + @%p44 bra BB0_64; + + mul.lo.s32 %r451, %r102, -921707870; + shr.u32 %r452, %r451, 31; + shl.b32 %r453, %r749, 1; + add.s32 %r749, %r452, %r453; + add.s32 %r750, %r750, 1; + +BB0_64: + mov.u32 %r454, 126; + sub.s32 %r455, %r454, %r750; + shl.b32 %r456, %r455, 23; + add.s32 %r457, %r749, 1; + shr.u32 %r458, %r457, 7; + add.s32 %r459, %r458, 1; + shr.u32 %r460, %r459, 1; + add.s32 %r461, %r460, %r456; + or.b32 %r462, %r461, %r747; + mov.b32 %f611, %r462; + +BB0_65: + mul.rn.f32 %f64, %f611, %f611; + add.s32 %r110, %r751, 1; + and.b32 %r111, %r110, 1; + setp.eq.s32 %p45, %r111, 0; + @%p45 bra BB0_67; + + mov.f32 %f329, 0fBAB6061A; + mov.f32 %f330, 0f37CCF5CE; + fma.rn.f32 %f612, %f330, %f64, %f329; + bra.uni BB0_68; + +BB0_67: + mov.f32 %f331, 0f3C08839E; + mov.f32 %f332, 0fB94CA1F9; + fma.rn.f32 %f612, %f332, %f64, %f331; + +BB0_68: + @%p45 bra BB0_70; + + mov.f32 %f333, 0f3D2AAAA5; + fma.rn.f32 %f334, %f612, %f64, %f333; + mov.f32 %f335, 0fBF000000; + fma.rn.f32 %f613, %f334, %f64, %f335; + bra.uni BB0_71; + +BB0_70: + mov.f32 %f336, 0fBE2AAAA3; + fma.rn.f32 %f337, %f612, %f64, %f336; + fma.rn.f32 %f613, %f337, %f64, %f286; + +BB0_71: + fma.rn.f32 %f614, %f613, %f611, %f611; + @%p45 bra BB0_73; + + fma.rn.f32 %f614, %f613, %f64, %f281; + +BB0_73: + and.b32 %r463, %r110, 2; + setp.eq.s32 %p48, %r463, 0; + @%p48 bra BB0_75; + + mov.f32 %f341, 0fBF800000; + fma.rn.f32 %f614, %f614, %f341, %f286; + +BB0_75: + @%p36 bra BB0_77; + + mul.rn.f32 %f616, %f616, %f286; + +BB0_77: + mul.f32 %f343, %f616, 0f3F22F983; + cvt.rni.s32.f32 %r761, %f343; + cvt.rn.f32.s32 %f344, %r761; + neg.f32 %f345, %f344; + fma.rn.f32 %f347, %f345, %f229, %f616; + fma.rn.f32 %f349, %f345, %f231, %f347; + fma.rn.f32 %f617, %f345, %f233, %f349; + abs.f32 %f351, %f616; + setp.leu.f32 %p50, %f351, 0f47CE4780; + @%p50 bra BB0_88; + + mov.b32 %r113, %f616; + shr.u32 %r114, %r113, 23; + shl.b32 %r466, %r113, 8; + or.b32 %r115, %r466, -2147483648; + cvta.to.local.u64 %rd173, %rd72; + mov.u32 %r753, 0; + mov.u64 %rd172, __cudart_i2opi_f; + mov.u32 %r752, -6; + +BB0_79: + .pragma "nounroll"; + ld.const.u32 %r469, [%rd172]; + // inline asm + { + mad.lo.cc.u32 %r467, %r469, %r115, %r753; + madc.hi.u32 %r753, %r469, %r115, 0; + } + // inline asm + st.local.u32 [%rd173], %r467; + add.s64 %rd173, %rd173, 4; + add.s64 %rd172, %rd172, 4; + add.s32 %r752, %r752, 1; + setp.ne.s32 %p51, %r752, 0; + @%p51 bra BB0_79; + + and.b32 %r472, %r114, 255; + add.s32 %r473, %r472, -128; + shr.u32 %r474, %r473, 5; + and.b32 %r120, %r113, -2147483648; + cvta.to.local.u64 %rd102, %rd72; + st.local.u32 [%rd102+24], %r753; + mov.u32 %r475, 6; + sub.s32 %r476, %r475, %r474; + mul.wide.s32 %rd103, %r476, 4; + add.s64 %rd26, %rd102, %rd103; + ld.local.u32 %r754, [%rd26]; + ld.local.u32 %r755, [%rd26+-4]; + and.b32 %r123, %r114, 31; + setp.eq.s32 %p52, %r123, 0; + @%p52 bra BB0_82; + + mov.u32 %r477, 32; + sub.s32 %r478, %r477, %r123; + shr.u32 %r479, %r755, %r478; + shl.b32 %r480, %r754, %r123; + add.s32 %r754, %r479, %r480; + ld.local.u32 %r481, [%rd26+-8]; + shr.u32 %r482, %r481, %r478; + shl.b32 %r483, %r755, %r123; + add.s32 %r755, %r482, %r483; + +BB0_82: + shr.u32 %r484, %r755, 30; + shl.b32 %r485, %r754, 2; + add.s32 %r756, %r484, %r485; + shl.b32 %r129, %r755, 2; + shr.u32 %r486, %r756, 31; + shr.u32 %r487, %r754, 30; + add.s32 %r130, %r486, %r487; + setp.eq.s32 %p53, %r486, 0; + @%p53 bra BB0_83; + + not.b32 %r488, %r756; + neg.s32 %r758, %r129; + setp.eq.s32 %p54, %r129, 0; + selp.u32 %r489, 1, 0, %p54; + add.s32 %r756, %r489, %r488; + xor.b32 %r757, %r120, -2147483648; + bra.uni BB0_85; + +BB0_83: + mov.u32 %r757, %r120; + mov.u32 %r758, %r129; + +BB0_85: + clz.b32 %r760, %r756; + setp.eq.s32 %p55, %r760, 0; + shl.b32 %r490, %r756, %r760; + mov.u32 %r491, 32; + sub.s32 %r492, %r491, %r760; + shr.u32 %r493, %r758, %r492; + add.s32 %r494, %r493, %r490; + selp.b32 %r138, %r756, %r494, %p55; + mov.u32 %r495, -921707870; + mul.hi.u32 %r759, %r138, %r495; + setp.eq.s32 %p56, %r120, 0; + neg.s32 %r496, %r130; + selp.b32 %r761, %r130, %r496, %p56; + setp.lt.s32 %p57, %r759, 1; + @%p57 bra BB0_87; + + mul.lo.s32 %r497, %r138, -921707870; + shr.u32 %r498, %r497, 31; + shl.b32 %r499, %r759, 1; + add.s32 %r759, %r498, %r499; + add.s32 %r760, %r760, 1; + +BB0_87: + mov.u32 %r500, 126; + sub.s32 %r501, %r500, %r760; + shl.b32 %r502, %r501, 23; + add.s32 %r503, %r759, 1; + shr.u32 %r504, %r503, 7; + add.s32 %r505, %r504, 1; + shr.u32 %r506, %r505, 1; + add.s32 %r507, %r506, %r502; + or.b32 %r508, %r507, %r757; + mov.b32 %f617, %r508; + +BB0_88: + mul.rn.f32 %f81, %f617, %f617; + and.b32 %r146, %r761, 1; + setp.eq.s32 %p58, %r146, 0; + @%p58 bra BB0_90; + + mov.f32 %f352, 0fBAB6061A; + mov.f32 %f353, 0f37CCF5CE; + fma.rn.f32 %f618, %f353, %f81, %f352; + bra.uni BB0_91; + +BB0_90: + mov.f32 %f354, 0f3C08839E; + mov.f32 %f355, 0fB94CA1F9; + fma.rn.f32 %f618, %f355, %f81, %f354; + +BB0_91: + @%p58 bra BB0_93; + + mov.f32 %f356, 0f3D2AAAA5; + fma.rn.f32 %f357, %f618, %f81, %f356; + mov.f32 %f358, 0fBF000000; + fma.rn.f32 %f619, %f357, %f81, %f358; + bra.uni BB0_94; + +BB0_93: + mov.f32 %f359, 0fBE2AAAA3; + fma.rn.f32 %f360, %f618, %f81, %f359; + fma.rn.f32 %f619, %f360, %f81, %f286; + +BB0_94: + fma.rn.f32 %f620, %f619, %f617, %f617; + @%p58 bra BB0_96; + + fma.rn.f32 %f620, %f619, %f81, %f281; + +BB0_96: + and.b32 %r509, %r761, 2; + setp.eq.s32 %p61, %r509, 0; + @%p61 bra BB0_98; + + mov.f32 %f364, 0fBF800000; + fma.rn.f32 %f620, %f620, %f364, %f286; + +BB0_98: + mul.f32 %f373, %f56, %f614; + mul.f32 %f374, %f373, %f373; + sub.f32 %f376, %f281, %f374; + mul.f32 %f377, %f56, %f620; + mul.f32 %f378, %f377, %f377; + sub.f32 %f379, %f376, %f378; + max.f32 %f381, %f286, %f379; + sqrt.rn.f32 %f382, %f381; + mul.f32 %f383, %f10, %f377; + mul.f32 %f384, %f11, %f377; + mul.f32 %f385, %f12, %f377; + fma.rn.f32 %f386, %f13, %f373, %f383; + fma.rn.f32 %f387, %f14, %f373, %f384; + fma.rn.f32 %f388, %f15, %f373, %f385; + fma.rn.f32 %f368, %f595, %f382, %f386; + fma.rn.f32 %f369, %f596, %f382, %f387; + fma.rn.f32 %f370, %f597, %f382, %f388; + abs.f32 %f389, %f368; + abs.f32 %f390, %f369; + abs.f32 %f391, %f370; + div.rn.f32 %f392, %f16, %f389; + div.rn.f32 %f393, %f17, %f390; + div.rn.f32 %f394, %f18, %f391; + abs.f32 %f395, %f392; + abs.f32 %f396, %f393; + abs.f32 %f397, %f394; + max.f32 %f398, %f395, %f396; + max.f32 %f399, %f398, %f397; + max.f32 %f371, %f399, %f199; + st.local.u32 [%rd14+8], %r409; + st.local.u32 [%rd14+4], %r409; + st.local.u32 [%rd14], %r409; + ld.global.u32 %r510, [root]; + // inline asm + call _rt_trace_64, (%r510, %f7, %f8, %f9, %f368, %f369, %f370, %r409, %f371, %f278, %rd80, %r301); + // inline asm + ld.local.f32 %f401, [%rd14+4]; + setp.leu.f32 %p62, %f401, 0f00000000; + @%p62 bra BB0_101; + + ld.local.f32 %f402, [%rd14]; + div.rn.f32 %f403, %f402, 0f41200000; + cvt.rzi.s32.f32 %r147, %f403; + setp.lt.s32 %p63, %r147, 0; + @%p63 bra BB0_101; + + cvt.s64.s32 %rd113, %r147; + mov.u64 %rd117, lmidLODs; + cvta.global.u64 %rd106, %rd117; + mov.u32 %r515, 1; + // inline asm + call (%rd105), _rt_buffer_get_64, (%rd106, %r515, %r294, %rd113, %rd56, %rd56, %rd56); + // inline asm + ld.local.f32 %f404, [%rd14+4]; + ld.f32 %f405, [%rd105]; + max.f32 %f406, %f405, %f404; + // inline asm + call (%rd111), _rt_buffer_get_64, (%rd106, %r515, %r294, %rd113, %rd56, %rd56, %rd56); + // inline asm + st.f32 [%rd111], %f406; + +BB0_101: + mad.lo.s32 %r517, %r75, 1664525, 1013904223; + and.b32 %r518, %r517, 16777215; + cvt.rn.f32.u32 %f407, %r518; + fma.rn.f32 %f408, %f407, 0f33800000, 0f3F800000; + mul.f32 %f409, %f408, 0f3F000000; + mad.lo.s32 %r148, %r517, 1664525, 1013904223; + and.b32 %r519, %r148, 16777215; + cvt.rn.f32.u32 %f410, %r519; + fma.rn.f32 %f411, %f410, 0f33800000, 0f00000000; + mul.f32 %f412, %f411, 0f3F000000; + sqrt.rn.f32 %f93, %f409; + mul.f32 %f628, %f412, 0f40C90FDB; + abs.f32 %f95, %f628; + setp.neu.f32 %p64, %f95, 0f7F800000; + mov.f32 %f622, %f628; + @%p64 bra BB0_103; + + mul.rn.f32 %f622, %f628, %f286; + +BB0_103: + mul.f32 %f414, %f622, 0f3F22F983; + cvt.rni.s32.f32 %r771, %f414; + cvt.rn.f32.s32 %f415, %r771; + neg.f32 %f416, %f415; + fma.rn.f32 %f418, %f416, %f229, %f622; + fma.rn.f32 %f420, %f416, %f231, %f418; + fma.rn.f32 %f623, %f416, %f233, %f420; + abs.f32 %f422, %f622; + setp.leu.f32 %p65, %f422, 0f47CE4780; + @%p65 bra BB0_114; + + mov.b32 %r150, %f622; + shr.u32 %r151, %r150, 23; + shl.b32 %r522, %r150, 8; + or.b32 %r152, %r522, -2147483648; + cvta.to.local.u64 %rd175, %rd72; + mov.u32 %r763, 0; + mov.u64 %rd174, __cudart_i2opi_f; + mov.u32 %r762, -6; + +BB0_105: + .pragma "nounroll"; + ld.const.u32 %r525, [%rd174]; + // inline asm + { + mad.lo.cc.u32 %r523, %r525, %r152, %r763; + madc.hi.u32 %r763, %r525, %r152, 0; + } + // inline asm + st.local.u32 [%rd175], %r523; + add.s64 %rd175, %rd175, 4; + add.s64 %rd174, %rd174, 4; + add.s32 %r762, %r762, 1; + setp.ne.s32 %p66, %r762, 0; + @%p66 bra BB0_105; + + and.b32 %r528, %r151, 255; + add.s32 %r529, %r528, -128; + shr.u32 %r530, %r529, 5; + and.b32 %r157, %r150, -2147483648; + cvta.to.local.u64 %rd121, %rd72; + st.local.u32 [%rd121+24], %r763; + mov.u32 %r531, 6; + sub.s32 %r532, %r531, %r530; + mul.wide.s32 %rd122, %r532, 4; + add.s64 %rd32, %rd121, %rd122; + ld.local.u32 %r764, [%rd32]; + ld.local.u32 %r765, [%rd32+-4]; + and.b32 %r160, %r151, 31; + setp.eq.s32 %p67, %r160, 0; + @%p67 bra BB0_108; + + mov.u32 %r533, 32; + sub.s32 %r534, %r533, %r160; + shr.u32 %r535, %r765, %r534; + shl.b32 %r536, %r764, %r160; + add.s32 %r764, %r535, %r536; + ld.local.u32 %r537, [%rd32+-8]; + shr.u32 %r538, %r537, %r534; + shl.b32 %r539, %r765, %r160; + add.s32 %r765, %r538, %r539; + +BB0_108: + shr.u32 %r540, %r765, 30; + shl.b32 %r541, %r764, 2; + add.s32 %r766, %r540, %r541; + shl.b32 %r166, %r765, 2; + shr.u32 %r542, %r766, 31; + shr.u32 %r543, %r764, 30; + add.s32 %r167, %r542, %r543; + setp.eq.s32 %p68, %r542, 0; + @%p68 bra BB0_109; + + not.b32 %r544, %r766; + neg.s32 %r768, %r166; + setp.eq.s32 %p69, %r166, 0; + selp.u32 %r545, 1, 0, %p69; + add.s32 %r766, %r545, %r544; + xor.b32 %r767, %r157, -2147483648; + bra.uni BB0_111; + +BB0_109: + mov.u32 %r767, %r157; + mov.u32 %r768, %r166; + +BB0_111: + clz.b32 %r770, %r766; + setp.eq.s32 %p70, %r770, 0; + shl.b32 %r546, %r766, %r770; + mov.u32 %r547, 32; + sub.s32 %r548, %r547, %r770; + shr.u32 %r549, %r768, %r548; + add.s32 %r550, %r549, %r546; + selp.b32 %r175, %r766, %r550, %p70; + mov.u32 %r551, -921707870; + mul.hi.u32 %r769, %r175, %r551; + setp.eq.s32 %p71, %r157, 0; + neg.s32 %r552, %r167; + selp.b32 %r771, %r167, %r552, %p71; + setp.lt.s32 %p72, %r769, 1; + @%p72 bra BB0_113; + + mul.lo.s32 %r553, %r175, -921707870; + shr.u32 %r554, %r553, 31; + shl.b32 %r555, %r769, 1; + add.s32 %r769, %r554, %r555; + add.s32 %r770, %r770, 1; + +BB0_113: + mov.u32 %r556, 126; + sub.s32 %r557, %r556, %r770; + shl.b32 %r558, %r557, 23; + add.s32 %r559, %r769, 1; + shr.u32 %r560, %r559, 7; + add.s32 %r561, %r560, 1; + shr.u32 %r562, %r561, 1; + add.s32 %r563, %r562, %r558; + or.b32 %r564, %r563, %r767; + mov.b32 %f623, %r564; + +BB0_114: + mul.rn.f32 %f101, %f623, %f623; + add.s32 %r183, %r771, 1; + and.b32 %r184, %r183, 1; + setp.eq.s32 %p73, %r184, 0; + @%p73 bra BB0_116; + + mov.f32 %f423, 0fBAB6061A; + mov.f32 %f424, 0f37CCF5CE; + fma.rn.f32 %f624, %f424, %f101, %f423; + bra.uni BB0_117; + +BB0_116: + mov.f32 %f425, 0f3C08839E; + mov.f32 %f426, 0fB94CA1F9; + fma.rn.f32 %f624, %f426, %f101, %f425; + +BB0_117: + @%p73 bra BB0_119; + + mov.f32 %f427, 0f3D2AAAA5; + fma.rn.f32 %f428, %f624, %f101, %f427; + mov.f32 %f429, 0fBF000000; + fma.rn.f32 %f625, %f428, %f101, %f429; + bra.uni BB0_120; + +BB0_119: + mov.f32 %f430, 0fBE2AAAA3; + fma.rn.f32 %f431, %f624, %f101, %f430; + fma.rn.f32 %f625, %f431, %f101, %f286; + +BB0_120: + fma.rn.f32 %f626, %f625, %f623, %f623; + @%p73 bra BB0_122; + + fma.rn.f32 %f626, %f625, %f101, %f281; + +BB0_122: + and.b32 %r565, %r183, 2; + setp.eq.s32 %p76, %r565, 0; + @%p76 bra BB0_124; + + mov.f32 %f435, 0fBF800000; + fma.rn.f32 %f626, %f626, %f435, %f286; + +BB0_124: + @%p64 bra BB0_126; + + mul.rn.f32 %f628, %f628, %f286; + +BB0_126: + mul.f32 %f437, %f628, 0f3F22F983; + cvt.rni.s32.f32 %r781, %f437; + cvt.rn.f32.s32 %f438, %r781; + neg.f32 %f439, %f438; + fma.rn.f32 %f441, %f439, %f229, %f628; + fma.rn.f32 %f443, %f439, %f231, %f441; + fma.rn.f32 %f629, %f439, %f233, %f443; + abs.f32 %f445, %f628; + setp.leu.f32 %p78, %f445, 0f47CE4780; + @%p78 bra BB0_137; + + mov.b32 %r186, %f628; + shr.u32 %r187, %r186, 23; + shl.b32 %r568, %r186, 8; + or.b32 %r188, %r568, -2147483648; + cvta.to.local.u64 %rd177, %rd72; + mov.u32 %r773, 0; + mov.u64 %rd176, __cudart_i2opi_f; + mov.u32 %r772, -6; + +BB0_128: + .pragma "nounroll"; + ld.const.u32 %r571, [%rd176]; + // inline asm + { + mad.lo.cc.u32 %r569, %r571, %r188, %r773; + madc.hi.u32 %r773, %r571, %r188, 0; + } + // inline asm + st.local.u32 [%rd177], %r569; + add.s64 %rd177, %rd177, 4; + add.s64 %rd176, %rd176, 4; + add.s32 %r772, %r772, 1; + setp.ne.s32 %p79, %r772, 0; + @%p79 bra BB0_128; + + and.b32 %r574, %r187, 255; + add.s32 %r575, %r574, -128; + shr.u32 %r576, %r575, 5; + and.b32 %r193, %r186, -2147483648; + cvta.to.local.u64 %rd126, %rd72; + st.local.u32 [%rd126+24], %r773; + mov.u32 %r577, 6; + sub.s32 %r578, %r577, %r576; + mul.wide.s32 %rd127, %r578, 4; + add.s64 %rd38, %rd126, %rd127; + ld.local.u32 %r774, [%rd38]; + ld.local.u32 %r775, [%rd38+-4]; + and.b32 %r196, %r187, 31; + setp.eq.s32 %p80, %r196, 0; + @%p80 bra BB0_131; + + mov.u32 %r579, 32; + sub.s32 %r580, %r579, %r196; + shr.u32 %r581, %r775, %r580; + shl.b32 %r582, %r774, %r196; + add.s32 %r774, %r581, %r582; + ld.local.u32 %r583, [%rd38+-8]; + shr.u32 %r584, %r583, %r580; + shl.b32 %r585, %r775, %r196; + add.s32 %r775, %r584, %r585; + +BB0_131: + shr.u32 %r586, %r775, 30; + shl.b32 %r587, %r774, 2; + add.s32 %r776, %r586, %r587; + shl.b32 %r202, %r775, 2; + shr.u32 %r588, %r776, 31; + shr.u32 %r589, %r774, 30; + add.s32 %r203, %r588, %r589; + setp.eq.s32 %p81, %r588, 0; + @%p81 bra BB0_132; + + not.b32 %r590, %r776; + neg.s32 %r778, %r202; + setp.eq.s32 %p82, %r202, 0; + selp.u32 %r591, 1, 0, %p82; + add.s32 %r776, %r591, %r590; + xor.b32 %r777, %r193, -2147483648; + bra.uni BB0_134; + +BB0_132: + mov.u32 %r777, %r193; + mov.u32 %r778, %r202; + +BB0_134: + clz.b32 %r780, %r776; + setp.eq.s32 %p83, %r780, 0; + shl.b32 %r592, %r776, %r780; + mov.u32 %r593, 32; + sub.s32 %r594, %r593, %r780; + shr.u32 %r595, %r778, %r594; + add.s32 %r596, %r595, %r592; + selp.b32 %r211, %r776, %r596, %p83; + mov.u32 %r597, -921707870; + mul.hi.u32 %r779, %r211, %r597; + setp.eq.s32 %p84, %r193, 0; + neg.s32 %r598, %r203; + selp.b32 %r781, %r203, %r598, %p84; + setp.lt.s32 %p85, %r779, 1; + @%p85 bra BB0_136; + + mul.lo.s32 %r599, %r211, -921707870; + shr.u32 %r600, %r599, 31; + shl.b32 %r601, %r779, 1; + add.s32 %r779, %r600, %r601; + add.s32 %r780, %r780, 1; + +BB0_136: + mov.u32 %r602, 126; + sub.s32 %r603, %r602, %r780; + shl.b32 %r604, %r603, 23; + add.s32 %r605, %r779, 1; + shr.u32 %r606, %r605, 7; + add.s32 %r607, %r606, 1; + shr.u32 %r608, %r607, 1; + add.s32 %r609, %r608, %r604; + or.b32 %r610, %r609, %r777; + mov.b32 %f629, %r610; + +BB0_137: + mul.rn.f32 %f118, %f629, %f629; + and.b32 %r219, %r781, 1; + setp.eq.s32 %p86, %r219, 0; + @%p86 bra BB0_139; + + mov.f32 %f446, 0fBAB6061A; + mov.f32 %f447, 0f37CCF5CE; + fma.rn.f32 %f630, %f447, %f118, %f446; + bra.uni BB0_140; + +BB0_139: + mov.f32 %f448, 0f3C08839E; + mov.f32 %f449, 0fB94CA1F9; + fma.rn.f32 %f630, %f449, %f118, %f448; + +BB0_140: + @%p86 bra BB0_142; + + mov.f32 %f450, 0f3D2AAAA5; + fma.rn.f32 %f451, %f630, %f118, %f450; + mov.f32 %f452, 0fBF000000; + fma.rn.f32 %f631, %f451, %f118, %f452; + bra.uni BB0_143; + +BB0_142: + mov.f32 %f453, 0fBE2AAAA3; + fma.rn.f32 %f454, %f630, %f118, %f453; + fma.rn.f32 %f631, %f454, %f118, %f286; + +BB0_143: + fma.rn.f32 %f632, %f631, %f629, %f629; + @%p86 bra BB0_145; + + fma.rn.f32 %f632, %f631, %f118, %f281; + +BB0_145: + and.b32 %r611, %r781, 2; + setp.eq.s32 %p89, %r611, 0; + @%p89 bra BB0_147; + + mov.f32 %f458, 0fBF800000; + fma.rn.f32 %f632, %f632, %f458, %f286; + +BB0_147: + mul.f32 %f467, %f93, %f626; + mul.f32 %f468, %f467, %f467; + sub.f32 %f470, %f281, %f468; + mul.f32 %f471, %f93, %f632; + mul.f32 %f472, %f471, %f471; + sub.f32 %f473, %f470, %f472; + max.f32 %f475, %f286, %f473; + sqrt.rn.f32 %f476, %f475; + mul.f32 %f477, %f10, %f471; + mul.f32 %f478, %f11, %f471; + mul.f32 %f479, %f12, %f471; + fma.rn.f32 %f480, %f13, %f467, %f477; + fma.rn.f32 %f481, %f14, %f467, %f478; + fma.rn.f32 %f482, %f15, %f467, %f479; + fma.rn.f32 %f462, %f595, %f476, %f480; + fma.rn.f32 %f463, %f596, %f476, %f481; + fma.rn.f32 %f464, %f597, %f476, %f482; + abs.f32 %f483, %f462; + abs.f32 %f484, %f463; + abs.f32 %f485, %f464; + div.rn.f32 %f486, %f16, %f483; + div.rn.f32 %f487, %f17, %f484; + div.rn.f32 %f488, %f18, %f485; + abs.f32 %f489, %f486; + abs.f32 %f490, %f487; + abs.f32 %f491, %f488; + max.f32 %f492, %f489, %f490; + max.f32 %f493, %f492, %f491; + max.f32 %f465, %f493, %f199; + st.local.u32 [%rd14+8], %r409; + st.local.u32 [%rd14+4], %r409; + st.local.u32 [%rd14], %r409; + ld.global.u32 %r612, [root]; + // inline asm + call _rt_trace_64, (%r612, %f7, %f8, %f9, %f462, %f463, %f464, %r409, %f465, %f278, %rd80, %r301); + // inline asm + ld.local.f32 %f495, [%rd14+4]; + setp.leu.f32 %p90, %f495, 0f00000000; + @%p90 bra BB0_150; + + ld.local.f32 %f496, [%rd14]; + div.rn.f32 %f497, %f496, 0f41200000; + cvt.rzi.s32.f32 %r220, %f497; + setp.lt.s32 %p91, %r220, 0; + @%p91 bra BB0_150; + + cvt.s64.s32 %rd137, %r220; + mov.u64 %rd141, lmidLODs; + cvta.global.u64 %rd130, %rd141; + mov.u32 %r617, 1; + // inline asm + call (%rd129), _rt_buffer_get_64, (%rd130, %r617, %r294, %rd137, %rd56, %rd56, %rd56); + // inline asm + ld.local.f32 %f498, [%rd14+4]; + ld.f32 %f499, [%rd129]; + max.f32 %f500, %f499, %f498; + // inline asm + call (%rd135), _rt_buffer_get_64, (%rd130, %r617, %r294, %rd137, %rd56, %rd56, %rd56); + // inline asm + st.f32 [%rd135], %f500; + +BB0_150: + mad.lo.s32 %r619, %r148, 1664525, 1013904223; + and.b32 %r620, %r619, 16777215; + cvt.rn.f32.u32 %f501, %r620; + fma.rn.f32 %f502, %f501, 0f33800000, 0f3F800000; + mul.f32 %f503, %f502, 0f3F000000; + mad.lo.s32 %r621, %r619, 1664525, 7271263; + and.b32 %r622, %r621, 16777215; + cvt.rn.f32.u32 %f504, %r622; + fma.rn.f32 %f505, %f504, 0f33800000, 0f3F800000; + mul.f32 %f506, %f505, 0f3F000000; + sqrt.rn.f32 %f130, %f503; + mul.f32 %f640, %f506, 0f40C90FDB; + abs.f32 %f132, %f640; + setp.neu.f32 %p92, %f132, 0f7F800000; + mov.f32 %f634, %f640; + @%p92 bra BB0_152; + + mul.rn.f32 %f634, %f640, %f286; + +BB0_152: + mul.f32 %f508, %f634, 0f3F22F983; + cvt.rni.s32.f32 %r791, %f508; + cvt.rn.f32.s32 %f509, %r791; + neg.f32 %f510, %f509; + fma.rn.f32 %f512, %f510, %f229, %f634; + fma.rn.f32 %f514, %f510, %f231, %f512; + fma.rn.f32 %f635, %f510, %f233, %f514; + abs.f32 %f516, %f634; + setp.leu.f32 %p93, %f516, 0f47CE4780; + @%p93 bra BB0_163; + + mov.b32 %r222, %f634; + shr.u32 %r223, %r222, 23; + shl.b32 %r625, %r222, 8; + or.b32 %r224, %r625, -2147483648; + cvta.to.local.u64 %rd179, %rd72; + mov.u32 %r783, 0; + mov.u64 %rd178, __cudart_i2opi_f; + mov.u32 %r782, -6; + +BB0_154: + .pragma "nounroll"; + ld.const.u32 %r628, [%rd178]; + // inline asm + { + mad.lo.cc.u32 %r626, %r628, %r224, %r783; + madc.hi.u32 %r783, %r628, %r224, 0; + } + // inline asm + st.local.u32 [%rd179], %r626; + add.s64 %rd179, %rd179, 4; + add.s64 %rd178, %rd178, 4; + add.s32 %r782, %r782, 1; + setp.ne.s32 %p94, %r782, 0; + @%p94 bra BB0_154; + + and.b32 %r631, %r223, 255; + add.s32 %r632, %r631, -128; + shr.u32 %r633, %r632, 5; + and.b32 %r229, %r222, -2147483648; + cvta.to.local.u64 %rd145, %rd72; + st.local.u32 [%rd145+24], %r783; + mov.u32 %r634, 6; + sub.s32 %r635, %r634, %r633; + mul.wide.s32 %rd146, %r635, 4; + add.s64 %rd44, %rd145, %rd146; + ld.local.u32 %r784, [%rd44]; + ld.local.u32 %r785, [%rd44+-4]; + and.b32 %r232, %r223, 31; + setp.eq.s32 %p95, %r232, 0; + @%p95 bra BB0_157; + + mov.u32 %r636, 32; + sub.s32 %r637, %r636, %r232; + shr.u32 %r638, %r785, %r637; + shl.b32 %r639, %r784, %r232; + add.s32 %r784, %r638, %r639; + ld.local.u32 %r640, [%rd44+-8]; + shr.u32 %r641, %r640, %r637; + shl.b32 %r642, %r785, %r232; + add.s32 %r785, %r641, %r642; + +BB0_157: + shr.u32 %r643, %r785, 30; + shl.b32 %r644, %r784, 2; + add.s32 %r786, %r643, %r644; + shl.b32 %r238, %r785, 2; + shr.u32 %r645, %r786, 31; + shr.u32 %r646, %r784, 30; + add.s32 %r239, %r645, %r646; + setp.eq.s32 %p96, %r645, 0; + @%p96 bra BB0_158; + + not.b32 %r647, %r786; + neg.s32 %r788, %r238; + setp.eq.s32 %p97, %r238, 0; + selp.u32 %r648, 1, 0, %p97; + add.s32 %r786, %r648, %r647; + xor.b32 %r787, %r229, -2147483648; + bra.uni BB0_160; + +BB0_158: + mov.u32 %r787, %r229; + mov.u32 %r788, %r238; + +BB0_160: + clz.b32 %r790, %r786; + setp.eq.s32 %p98, %r790, 0; + shl.b32 %r649, %r786, %r790; + mov.u32 %r650, 32; + sub.s32 %r651, %r650, %r790; + shr.u32 %r652, %r788, %r651; + add.s32 %r653, %r652, %r649; + selp.b32 %r247, %r786, %r653, %p98; + mov.u32 %r654, -921707870; + mul.hi.u32 %r789, %r247, %r654; + setp.eq.s32 %p99, %r229, 0; + neg.s32 %r655, %r239; + selp.b32 %r791, %r239, %r655, %p99; + setp.lt.s32 %p100, %r789, 1; + @%p100 bra BB0_162; + + mul.lo.s32 %r656, %r247, -921707870; + shr.u32 %r657, %r656, 31; + shl.b32 %r658, %r789, 1; + add.s32 %r789, %r657, %r658; + add.s32 %r790, %r790, 1; + +BB0_162: + mov.u32 %r659, 126; + sub.s32 %r660, %r659, %r790; + shl.b32 %r661, %r660, 23; + add.s32 %r662, %r789, 1; + shr.u32 %r663, %r662, 7; + add.s32 %r664, %r663, 1; + shr.u32 %r665, %r664, 1; + add.s32 %r666, %r665, %r661; + or.b32 %r667, %r666, %r787; + mov.b32 %f635, %r667; + +BB0_163: + mul.rn.f32 %f138, %f635, %f635; + add.s32 %r255, %r791, 1; + and.b32 %r256, %r255, 1; + setp.eq.s32 %p101, %r256, 0; + @%p101 bra BB0_165; + + mov.f32 %f517, 0fBAB6061A; + mov.f32 %f518, 0f37CCF5CE; + fma.rn.f32 %f636, %f518, %f138, %f517; + bra.uni BB0_166; + +BB0_165: + mov.f32 %f519, 0f3C08839E; + mov.f32 %f520, 0fB94CA1F9; + fma.rn.f32 %f636, %f520, %f138, %f519; + +BB0_166: + @%p101 bra BB0_168; + + mov.f32 %f521, 0f3D2AAAA5; + fma.rn.f32 %f522, %f636, %f138, %f521; + mov.f32 %f523, 0fBF000000; + fma.rn.f32 %f637, %f522, %f138, %f523; + bra.uni BB0_169; + +BB0_168: + mov.f32 %f524, 0fBE2AAAA3; + fma.rn.f32 %f525, %f636, %f138, %f524; + fma.rn.f32 %f637, %f525, %f138, %f286; + +BB0_169: + fma.rn.f32 %f638, %f637, %f635, %f635; + @%p101 bra BB0_171; + + fma.rn.f32 %f638, %f637, %f138, %f281; + +BB0_171: + and.b32 %r668, %r255, 2; + setp.eq.s32 %p104, %r668, 0; + @%p104 bra BB0_173; + + mov.f32 %f529, 0fBF800000; + fma.rn.f32 %f638, %f638, %f529, %f286; + +BB0_173: + @%p92 bra BB0_175; + + mul.rn.f32 %f640, %f640, %f286; + +BB0_175: + mul.f32 %f531, %f640, 0f3F22F983; + cvt.rni.s32.f32 %r801, %f531; + cvt.rn.f32.s32 %f532, %r801; + neg.f32 %f533, %f532; + fma.rn.f32 %f535, %f533, %f229, %f640; + fma.rn.f32 %f537, %f533, %f231, %f535; + fma.rn.f32 %f641, %f533, %f233, %f537; + abs.f32 %f539, %f640; + setp.leu.f32 %p106, %f539, 0f47CE4780; + @%p106 bra BB0_186; + + mov.b32 %r258, %f640; + shr.u32 %r259, %r258, 23; + shl.b32 %r671, %r258, 8; + or.b32 %r260, %r671, -2147483648; + cvta.to.local.u64 %rd181, %rd72; + mov.u64 %rd180, __cudart_i2opi_f; + mov.u32 %r792, -6; + mov.u32 %r793, %r409; + +BB0_177: + .pragma "nounroll"; + ld.const.u32 %r674, [%rd180]; + // inline asm + { + mad.lo.cc.u32 %r672, %r674, %r260, %r793; + madc.hi.u32 %r793, %r674, %r260, 0; + } + // inline asm + st.local.u32 [%rd181], %r672; + add.s64 %rd181, %rd181, 4; + add.s64 %rd180, %rd180, 4; + add.s32 %r792, %r792, 1; + setp.ne.s32 %p107, %r792, 0; + @%p107 bra BB0_177; + + and.b32 %r677, %r259, 255; + add.s32 %r678, %r677, -128; + shr.u32 %r679, %r678, 5; + and.b32 %r265, %r258, -2147483648; + cvta.to.local.u64 %rd150, %rd72; + st.local.u32 [%rd150+24], %r793; + mov.u32 %r680, 6; + sub.s32 %r681, %r680, %r679; + mul.wide.s32 %rd151, %r681, 4; + add.s64 %rd50, %rd150, %rd151; + ld.local.u32 %r794, [%rd50]; + ld.local.u32 %r795, [%rd50+-4]; + and.b32 %r268, %r259, 31; + setp.eq.s32 %p108, %r268, 0; + @%p108 bra BB0_180; + + mov.u32 %r682, 32; + sub.s32 %r683, %r682, %r268; + shr.u32 %r684, %r795, %r683; + shl.b32 %r685, %r794, %r268; + add.s32 %r794, %r684, %r685; + ld.local.u32 %r686, [%rd50+-8]; + shr.u32 %r687, %r686, %r683; + shl.b32 %r688, %r795, %r268; + add.s32 %r795, %r687, %r688; + +BB0_180: + shr.u32 %r689, %r795, 30; + shl.b32 %r690, %r794, 2; + add.s32 %r796, %r689, %r690; + shl.b32 %r274, %r795, 2; + shr.u32 %r691, %r796, 31; + shr.u32 %r692, %r794, 30; + add.s32 %r275, %r691, %r692; + setp.eq.s32 %p109, %r691, 0; + @%p109 bra BB0_181; + + not.b32 %r693, %r796; + neg.s32 %r798, %r274; + setp.eq.s32 %p110, %r274, 0; + selp.u32 %r694, 1, 0, %p110; + add.s32 %r796, %r694, %r693; + xor.b32 %r797, %r265, -2147483648; + bra.uni BB0_183; + +BB0_181: + mov.u32 %r797, %r265; + mov.u32 %r798, %r274; + +BB0_183: + clz.b32 %r800, %r796; + setp.eq.s32 %p111, %r800, 0; + shl.b32 %r695, %r796, %r800; + mov.u32 %r696, 32; + sub.s32 %r697, %r696, %r800; + shr.u32 %r698, %r798, %r697; + add.s32 %r699, %r698, %r695; + selp.b32 %r283, %r796, %r699, %p111; + mov.u32 %r700, -921707870; + mul.hi.u32 %r799, %r283, %r700; + setp.eq.s32 %p112, %r265, 0; + neg.s32 %r701, %r275; + selp.b32 %r801, %r275, %r701, %p112; + setp.lt.s32 %p113, %r799, 1; + @%p113 bra BB0_185; + + mul.lo.s32 %r702, %r283, -921707870; + shr.u32 %r703, %r702, 31; + shl.b32 %r704, %r799, 1; + add.s32 %r799, %r703, %r704; + add.s32 %r800, %r800, 1; + +BB0_185: + mov.u32 %r705, 126; + sub.s32 %r706, %r705, %r800; + shl.b32 %r707, %r706, 23; + add.s32 %r708, %r799, 1; + shr.u32 %r709, %r708, 7; + add.s32 %r710, %r709, 1; + shr.u32 %r711, %r710, 1; + add.s32 %r712, %r711, %r707; + or.b32 %r713, %r712, %r797; + mov.b32 %f641, %r713; + +BB0_186: + mul.rn.f32 %f155, %f641, %f641; + and.b32 %r291, %r801, 1; + setp.eq.s32 %p114, %r291, 0; + @%p114 bra BB0_188; + + mov.f32 %f540, 0fBAB6061A; + mov.f32 %f541, 0f37CCF5CE; + fma.rn.f32 %f642, %f541, %f155, %f540; + bra.uni BB0_189; + +BB0_188: + mov.f32 %f542, 0f3C08839E; + mov.f32 %f543, 0fB94CA1F9; + fma.rn.f32 %f642, %f543, %f155, %f542; + +BB0_189: + @%p114 bra BB0_191; + + mov.f32 %f544, 0f3D2AAAA5; + fma.rn.f32 %f545, %f642, %f155, %f544; + mov.f32 %f546, 0fBF000000; + fma.rn.f32 %f643, %f545, %f155, %f546; + bra.uni BB0_192; + +BB0_191: + mov.f32 %f547, 0fBE2AAAA3; + fma.rn.f32 %f548, %f642, %f155, %f547; + fma.rn.f32 %f643, %f548, %f155, %f286; + +BB0_192: + fma.rn.f32 %f644, %f643, %f641, %f641; + @%p114 bra BB0_194; + + fma.rn.f32 %f644, %f643, %f155, %f281; + +BB0_194: + and.b32 %r714, %r801, 2; + setp.eq.s32 %p117, %r714, 0; + @%p117 bra BB0_196; + + mov.f32 %f552, 0fBF800000; + fma.rn.f32 %f644, %f644, %f552, %f286; + +BB0_196: + mul.f32 %f561, %f130, %f638; + mul.f32 %f562, %f561, %f561; + sub.f32 %f564, %f281, %f562; + mul.f32 %f565, %f130, %f644; + mul.f32 %f566, %f565, %f565; + sub.f32 %f567, %f564, %f566; + max.f32 %f569, %f286, %f567; + sqrt.rn.f32 %f570, %f569; + mul.f32 %f571, %f10, %f565; + mul.f32 %f572, %f11, %f565; + mul.f32 %f573, %f12, %f565; + fma.rn.f32 %f574, %f13, %f561, %f571; + fma.rn.f32 %f575, %f14, %f561, %f572; + fma.rn.f32 %f576, %f15, %f561, %f573; + fma.rn.f32 %f556, %f595, %f570, %f574; + fma.rn.f32 %f557, %f596, %f570, %f575; + fma.rn.f32 %f558, %f597, %f570, %f576; + abs.f32 %f577, %f556; + abs.f32 %f578, %f557; + abs.f32 %f579, %f558; + div.rn.f32 %f580, %f16, %f577; + div.rn.f32 %f581, %f17, %f578; + div.rn.f32 %f582, %f18, %f579; + abs.f32 %f583, %f580; + abs.f32 %f584, %f581; + abs.f32 %f585, %f582; + max.f32 %f586, %f583, %f584; + max.f32 %f587, %f586, %f585; + max.f32 %f559, %f587, %f199; + st.local.u32 [%rd14+8], %r409; + st.local.u32 [%rd14+4], %r409; + st.local.u32 [%rd14], %r409; + ld.global.u32 %r715, [root]; + // inline asm + call _rt_trace_64, (%r715, %f7, %f8, %f9, %f556, %f557, %f558, %r409, %f559, %f278, %rd80, %r301); + // inline asm + ld.local.f32 %f589, [%rd14+4]; + setp.leu.f32 %p118, %f589, 0f00000000; + @%p118 bra BB0_199; + + ld.local.f32 %f590, [%rd14]; + div.rn.f32 %f591, %f590, 0f41200000; + cvt.rzi.s32.f32 %r292, %f591; + setp.lt.s32 %p119, %r292, 0; + @%p119 bra BB0_199; + + cvt.s64.s32 %rd161, %r292; + mov.u64 %rd165, lmidLODs; + cvta.global.u64 %rd154, %rd165; + mov.u32 %r720, 1; + // inline asm + call (%rd153), _rt_buffer_get_64, (%rd154, %r720, %r294, %rd161, %rd56, %rd56, %rd56); + // inline asm + ld.local.f32 %f592, [%rd14+4]; + ld.f32 %f593, [%rd153]; + max.f32 %f594, %f593, %f592; + // inline asm + call (%rd159), _rt_buffer_get_64, (%rd154, %r720, %r294, %rd161, %rd56, %rd56, %rd56); + // inline asm + st.f32 [%rd159], %f594; + +BB0_199: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lodselect.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lodselect.ptx.meta new file mode 100644 index 00000000..133e0a6f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/lodselect.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 140d569d2348c164ea102e2533a4a218 +timeCreated: 1530260521 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx new file mode 100644 index 00000000..d38c600f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx @@ -0,0 +1,106 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 payload[4]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename7payloadE[8] = {82, 97, 121, 68, 97, 116, 97, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b32 %r<2>; + + + mov.u32 %r1, -1082130432; + st.global.u32 [payload], %r1; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx.meta new file mode 100644 index 00000000..d738dbbd --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/miss.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c53c1c79fd22950478ebe4c561e08083 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/mulHalfByte.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/mulHalfByte.ptx new file mode 100644 index 00000000..b1b2008d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/mulHalfByte.ptx @@ -0,0 +1,652 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image2[1]; +.global .align 1 .b8 image3[1]; +.global .align 4 .u32 composeMode; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo11composeModeE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename11composeModeE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum11composeModeE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic11composeModeE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation11composeModeE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<52>; + .reg .b16 %rs<12>; + .reg .f32 %f<334>; + .reg .b32 %r<79>; + .reg .b64 %rd<55>; + + + ld.global.v2.u32 {%r15, %r16}, [pixelID]; + cvt.u64.u32 %rd3, %r15; + cvt.u64.u32 %rd4, %r16; + mov.u64 %rd43, image2; + cvta.global.u64 %rd2, %rd43; + mov.u32 %r13, 2; + mov.u32 %r8, 8; + mov.u64 %rd42, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r13, %r8, %rd3, %rd4, %rd42, %rd42); + // inline asm + ld.u16 %rs4, [%rd1+6]; + cvt.rn.f32.u16 %f1, %rs4; + ld.global.v2.u32 {%r19, %r20}, [pixelID]; + cvt.u64.u32 %rd9, %r19; + cvt.u64.u32 %rd10, %r20; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd2, %r13, %r8, %rd9, %rd10, %rd42, %rd42); + // inline asm + ld.u16 %rs1, [%rd7]; + // inline asm + { cvt.f32.f16 %f47, %rs1;} + + // inline asm + ld.global.v2.u32 {%r23, %r24}, [pixelID]; + cvt.u64.u32 %rd15, %r23; + cvt.u64.u32 %rd16, %r24; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd2, %r13, %r8, %rd15, %rd16, %rd42, %rd42); + // inline asm + ld.u16 %rs2, [%rd13+2]; + // inline asm + { cvt.f32.f16 %f48, %rs2;} + + // inline asm + ld.global.v2.u32 {%r27, %r28}, [pixelID]; + cvt.u64.u32 %rd21, %r27; + cvt.u64.u32 %rd22, %r28; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd2, %r13, %r8, %rd21, %rd22, %rd42, %rd42); + // inline asm + ld.u16 %rs3, [%rd19+4]; + // inline asm + { cvt.f32.f16 %f49, %rs3;} + + // inline asm + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + cvt.u64.u32 %rd27, %r31; + cvt.u64.u32 %rd28, %r32; + mov.u64 %rd44, image3; + cvta.global.u64 %rd26, %rd44; + mov.u32 %r14, 4; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd26, %r13, %r14, %rd27, %rd28, %rd42, %rd42); + // inline asm + ld.u8 %rs5, [%rd25]; + cvt.rn.f32.u16 %f52, %rs5; + div.rn.f32 %f5, %f52, 0f437F0000; + ld.global.v2.u32 {%r35, %r36}, [pixelID]; + cvt.u64.u32 %rd33, %r35; + cvt.u64.u32 %rd34, %r36; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd26, %r13, %r14, %rd33, %rd34, %rd42, %rd42); + // inline asm + ld.u8 %rs6, [%rd31+1]; + cvt.rn.f32.u16 %f53, %rs6; + div.rn.f32 %f6, %f53, 0f437F0000; + ld.global.v2.u32 {%r39, %r40}, [pixelID]; + cvt.u64.u32 %rd39, %r39; + cvt.u64.u32 %rd40, %r40; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd26, %r13, %r14, %rd39, %rd40, %rd42, %rd42); + // inline asm + ld.u8 %rs7, [%rd37+2]; + cvt.rn.f32.u16 %f54, %rs7; + div.rn.f32 %f7, %f54, 0f437F0000; + abs.f32 %f9, %f5; + setp.lt.f32 %p4, %f9, 0f00800000; + mul.f32 %f58, %f9, 0f4B800000; + selp.f32 %f59, 0fC3170000, 0fC2FE0000, %p4; + selp.f32 %f60, %f58, %f9, %p4; + mov.b32 %r43, %f60; + and.b32 %r44, %r43, 8388607; + or.b32 %r45, %r44, 1065353216; + mov.b32 %f61, %r45; + shr.u32 %r46, %r43, 23; + cvt.rn.f32.u32 %f62, %r46; + add.f32 %f63, %f59, %f62; + setp.gt.f32 %p5, %f61, 0f3FB504F3; + mul.f32 %f64, %f61, 0f3F000000; + add.f32 %f65, %f63, 0f3F800000; + selp.f32 %f66, %f64, %f61, %p5; + selp.f32 %f67, %f65, %f63, %p5; + add.f32 %f68, %f66, 0fBF800000; + add.f32 %f51, %f66, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f50,%f51; + // inline asm + add.f32 %f69, %f68, %f68; + mul.f32 %f70, %f50, %f69; + mul.f32 %f71, %f70, %f70; + mov.f32 %f72, 0f3C4CAF63; + mov.f32 %f73, 0f3B18F0FE; + fma.rn.f32 %f74, %f73, %f71, %f72; + mov.f32 %f75, 0f3DAAAABD; + fma.rn.f32 %f76, %f74, %f71, %f75; + mul.rn.f32 %f77, %f76, %f71; + mul.rn.f32 %f78, %f77, %f70; + sub.f32 %f79, %f68, %f70; + neg.f32 %f80, %f70; + add.f32 %f81, %f79, %f79; + fma.rn.f32 %f82, %f80, %f68, %f81; + mul.rn.f32 %f83, %f50, %f82; + add.f32 %f84, %f78, %f70; + sub.f32 %f85, %f70, %f84; + add.f32 %f86, %f78, %f85; + add.f32 %f87, %f83, %f86; + add.f32 %f88, %f84, %f87; + sub.f32 %f89, %f84, %f88; + add.f32 %f90, %f87, %f89; + mov.f32 %f91, 0f3F317200; + mul.rn.f32 %f92, %f67, %f91; + mov.f32 %f93, 0f35BFBE8E; + mul.rn.f32 %f94, %f67, %f93; + add.f32 %f95, %f92, %f88; + sub.f32 %f96, %f92, %f95; + add.f32 %f97, %f88, %f96; + add.f32 %f98, %f90, %f97; + add.f32 %f99, %f94, %f98; + add.f32 %f100, %f95, %f99; + sub.f32 %f101, %f95, %f100; + add.f32 %f102, %f99, %f101; + mov.f32 %f103, 0f400CCCCD; + mul.rn.f32 %f104, %f103, %f100; + neg.f32 %f105, %f104; + fma.rn.f32 %f106, %f103, %f100, %f105; + fma.rn.f32 %f107, %f103, %f102, %f106; + mov.f32 %f108, 0f00000000; + fma.rn.f32 %f109, %f108, %f100, %f107; + add.rn.f32 %f110, %f104, %f109; + neg.f32 %f111, %f110; + add.rn.f32 %f112, %f104, %f111; + add.rn.f32 %f113, %f112, %f109; + mov.b32 %r47, %f110; + setp.eq.s32 %p6, %r47, 1118925336; + add.s32 %r48, %r47, -1; + mov.b32 %f114, %r48; + add.f32 %f115, %f113, 0f37000000; + selp.f32 %f116, %f114, %f110, %p6; + selp.f32 %f10, %f115, %f113, %p6; + mul.f32 %f117, %f116, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f118, %f117; + mov.f32 %f119, 0fBF317200; + fma.rn.f32 %f120, %f118, %f119, %f116; + mov.f32 %f121, 0fB5BFBE8E; + fma.rn.f32 %f122, %f118, %f121, %f120; + mul.f32 %f123, %f122, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f124, %f123; + add.f32 %f125, %f118, 0f00000000; + ex2.approx.f32 %f126, %f125; + mul.f32 %f127, %f124, %f126; + setp.lt.f32 %p7, %f116, 0fC2D20000; + selp.f32 %f128, 0f00000000, %f127, %p7; + setp.gt.f32 %p8, %f116, 0f42D20000; + selp.f32 %f325, 0f7F800000, %f128, %p8; + setp.eq.f32 %p9, %f325, 0f7F800000; + @%p9 bra BB0_2; + + fma.rn.f32 %f325, %f325, %f10, %f325; + +BB0_2: + mov.f32 %f322, 0f3F8CCCCD; + cvt.rzi.f32.f32 %f321, %f322; + fma.rn.f32 %f320, %f321, 0fC0000000, 0f400CCCCD; + abs.f32 %f319, %f320; + setp.lt.f32 %p10, %f5, 0f00000000; + setp.eq.f32 %p11, %f319, 0f3F800000; + and.pred %p1, %p10, %p11; + mov.b32 %r49, %f325; + xor.b32 %r50, %r49, -2147483648; + mov.b32 %f129, %r50; + selp.f32 %f327, %f129, %f325, %p1; + setp.eq.f32 %p12, %f5, 0f00000000; + @%p12 bra BB0_5; + bra.uni BB0_3; + +BB0_5: + add.f32 %f132, %f5, %f5; + selp.f32 %f327, %f132, 0f00000000, %p11; + bra.uni BB0_6; + +BB0_3: + setp.geu.f32 %p13, %f5, 0f00000000; + @%p13 bra BB0_6; + + mov.f32 %f324, 0f400CCCCD; + cvt.rzi.f32.f32 %f131, %f324; + setp.neu.f32 %p14, %f131, 0f400CCCCD; + selp.f32 %f327, 0f7FFFFFFF, %f327, %p14; + +BB0_6: + abs.f32 %f294, %f5; + add.f32 %f133, %f294, 0f400CCCCD; + mov.b32 %r51, %f133; + setp.lt.s32 %p16, %r51, 2139095040; + @%p16 bra BB0_11; + + abs.f32 %f311, %f5; + setp.gtu.f32 %p17, %f311, 0f7F800000; + @%p17 bra BB0_10; + bra.uni BB0_8; + +BB0_10: + add.f32 %f327, %f5, 0f400CCCCD; + bra.uni BB0_11; + +BB0_8: + abs.f32 %f312, %f5; + setp.neu.f32 %p18, %f312, 0f7F800000; + @%p18 bra BB0_11; + + selp.f32 %f327, 0fFF800000, 0f7F800000, %p1; + +BB0_11: + mov.f32 %f323, 0f400CCCCD; + mov.f32 %f302, 0fB5BFBE8E; + mov.f32 %f301, 0fBF317200; + mov.f32 %f300, 0f00000000; + mov.f32 %f299, 0f35BFBE8E; + mov.f32 %f298, 0f3F317200; + mov.f32 %f297, 0f3DAAAABD; + mov.f32 %f296, 0f3C4CAF63; + mov.f32 %f295, 0f3B18F0FE; + setp.eq.f32 %p19, %f5, 0f3F800000; + selp.f32 %f21, 0f3F800000, %f327, %p19; + abs.f32 %f22, %f6; + setp.lt.f32 %p20, %f22, 0f00800000; + mul.f32 %f136, %f22, 0f4B800000; + selp.f32 %f137, 0fC3170000, 0fC2FE0000, %p20; + selp.f32 %f138, %f136, %f22, %p20; + mov.b32 %r52, %f138; + and.b32 %r53, %r52, 8388607; + or.b32 %r54, %r53, 1065353216; + mov.b32 %f139, %r54; + shr.u32 %r55, %r52, 23; + cvt.rn.f32.u32 %f140, %r55; + add.f32 %f141, %f137, %f140; + setp.gt.f32 %p21, %f139, 0f3FB504F3; + mul.f32 %f142, %f139, 0f3F000000; + add.f32 %f143, %f141, 0f3F800000; + selp.f32 %f144, %f142, %f139, %p21; + selp.f32 %f145, %f143, %f141, %p21; + add.f32 %f146, %f144, 0fBF800000; + add.f32 %f135, %f144, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f134,%f135; + // inline asm + add.f32 %f147, %f146, %f146; + mul.f32 %f148, %f134, %f147; + mul.f32 %f149, %f148, %f148; + fma.rn.f32 %f152, %f295, %f149, %f296; + fma.rn.f32 %f154, %f152, %f149, %f297; + mul.rn.f32 %f155, %f154, %f149; + mul.rn.f32 %f156, %f155, %f148; + sub.f32 %f157, %f146, %f148; + neg.f32 %f158, %f148; + add.f32 %f159, %f157, %f157; + fma.rn.f32 %f160, %f158, %f146, %f159; + mul.rn.f32 %f161, %f134, %f160; + add.f32 %f162, %f156, %f148; + sub.f32 %f163, %f148, %f162; + add.f32 %f164, %f156, %f163; + add.f32 %f165, %f161, %f164; + add.f32 %f166, %f162, %f165; + sub.f32 %f167, %f162, %f166; + add.f32 %f168, %f165, %f167; + mul.rn.f32 %f170, %f145, %f298; + mul.rn.f32 %f172, %f145, %f299; + add.f32 %f173, %f170, %f166; + sub.f32 %f174, %f170, %f173; + add.f32 %f175, %f166, %f174; + add.f32 %f176, %f168, %f175; + add.f32 %f177, %f172, %f176; + add.f32 %f178, %f173, %f177; + sub.f32 %f179, %f173, %f178; + add.f32 %f180, %f177, %f179; + mul.rn.f32 %f182, %f323, %f178; + neg.f32 %f183, %f182; + fma.rn.f32 %f184, %f323, %f178, %f183; + fma.rn.f32 %f185, %f323, %f180, %f184; + fma.rn.f32 %f187, %f300, %f178, %f185; + add.rn.f32 %f188, %f182, %f187; + neg.f32 %f189, %f188; + add.rn.f32 %f190, %f182, %f189; + add.rn.f32 %f191, %f190, %f187; + mov.b32 %r56, %f188; + setp.eq.s32 %p22, %r56, 1118925336; + add.s32 %r57, %r56, -1; + mov.b32 %f192, %r57; + add.f32 %f193, %f191, 0f37000000; + selp.f32 %f194, %f192, %f188, %p22; + selp.f32 %f23, %f193, %f191, %p22; + mul.f32 %f195, %f194, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f196, %f195; + fma.rn.f32 %f198, %f196, %f301, %f194; + fma.rn.f32 %f200, %f196, %f302, %f198; + mul.f32 %f201, %f200, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f202, %f201; + add.f32 %f203, %f196, 0f00000000; + ex2.approx.f32 %f204, %f203; + mul.f32 %f205, %f202, %f204; + setp.lt.f32 %p23, %f194, 0fC2D20000; + selp.f32 %f206, 0f00000000, %f205, %p23; + setp.gt.f32 %p24, %f194, 0f42D20000; + selp.f32 %f328, 0f7F800000, %f206, %p24; + setp.eq.f32 %p25, %f328, 0f7F800000; + @%p25 bra BB0_13; + + fma.rn.f32 %f328, %f328, %f23, %f328; + +BB0_13: + setp.lt.f32 %p26, %f6, 0f00000000; + and.pred %p2, %p26, %p11; + mov.b32 %r58, %f328; + xor.b32 %r59, %r58, -2147483648; + mov.b32 %f207, %r59; + selp.f32 %f330, %f207, %f328, %p2; + setp.eq.f32 %p28, %f6, 0f00000000; + @%p28 bra BB0_16; + bra.uni BB0_14; + +BB0_16: + add.f32 %f210, %f6, %f6; + selp.f32 %f330, %f210, 0f00000000, %p11; + bra.uni BB0_17; + +BB0_14: + setp.geu.f32 %p29, %f6, 0f00000000; + @%p29 bra BB0_17; + + mov.f32 %f318, 0f400CCCCD; + cvt.rzi.f32.f32 %f209, %f318; + setp.neu.f32 %p30, %f209, 0f400CCCCD; + selp.f32 %f330, 0f7FFFFFFF, %f330, %p30; + +BB0_17: + abs.f32 %f313, %f6; + add.f32 %f211, %f313, 0f400CCCCD; + mov.b32 %r60, %f211; + setp.lt.s32 %p32, %r60, 2139095040; + @%p32 bra BB0_22; + + abs.f32 %f316, %f6; + setp.gtu.f32 %p33, %f316, 0f7F800000; + @%p33 bra BB0_21; + bra.uni BB0_19; + +BB0_21: + add.f32 %f330, %f6, 0f400CCCCD; + bra.uni BB0_22; + +BB0_19: + abs.f32 %f317, %f6; + setp.neu.f32 %p34, %f317, 0f7F800000; + @%p34 bra BB0_22; + + selp.f32 %f330, 0fFF800000, 0f7F800000, %p2; + +BB0_22: + mov.f32 %f314, 0f400CCCCD; + mov.f32 %f310, 0fB5BFBE8E; + mov.f32 %f309, 0fBF317200; + mov.f32 %f308, 0f00000000; + mov.f32 %f307, 0f35BFBE8E; + mov.f32 %f306, 0f3F317200; + mov.f32 %f305, 0f3DAAAABD; + mov.f32 %f304, 0f3C4CAF63; + mov.f32 %f303, 0f3B18F0FE; + setp.eq.f32 %p35, %f6, 0f3F800000; + selp.f32 %f34, 0f3F800000, %f330, %p35; + abs.f32 %f35, %f7; + setp.lt.f32 %p36, %f35, 0f00800000; + mul.f32 %f214, %f35, 0f4B800000; + selp.f32 %f215, 0fC3170000, 0fC2FE0000, %p36; + selp.f32 %f216, %f214, %f35, %p36; + mov.b32 %r61, %f216; + and.b32 %r62, %r61, 8388607; + or.b32 %r63, %r62, 1065353216; + mov.b32 %f217, %r63; + shr.u32 %r64, %r61, 23; + cvt.rn.f32.u32 %f218, %r64; + add.f32 %f219, %f215, %f218; + setp.gt.f32 %p37, %f217, 0f3FB504F3; + mul.f32 %f220, %f217, 0f3F000000; + add.f32 %f221, %f219, 0f3F800000; + selp.f32 %f222, %f220, %f217, %p37; + selp.f32 %f223, %f221, %f219, %p37; + add.f32 %f224, %f222, 0fBF800000; + add.f32 %f213, %f222, 0f3F800000; + // inline asm + rcp.approx.ftz.f32 %f212,%f213; + // inline asm + add.f32 %f225, %f224, %f224; + mul.f32 %f226, %f212, %f225; + mul.f32 %f227, %f226, %f226; + fma.rn.f32 %f230, %f303, %f227, %f304; + fma.rn.f32 %f232, %f230, %f227, %f305; + mul.rn.f32 %f233, %f232, %f227; + mul.rn.f32 %f234, %f233, %f226; + sub.f32 %f235, %f224, %f226; + neg.f32 %f236, %f226; + add.f32 %f237, %f235, %f235; + fma.rn.f32 %f238, %f236, %f224, %f237; + mul.rn.f32 %f239, %f212, %f238; + add.f32 %f240, %f234, %f226; + sub.f32 %f241, %f226, %f240; + add.f32 %f242, %f234, %f241; + add.f32 %f243, %f239, %f242; + add.f32 %f244, %f240, %f243; + sub.f32 %f245, %f240, %f244; + add.f32 %f246, %f243, %f245; + mul.rn.f32 %f248, %f223, %f306; + mul.rn.f32 %f250, %f223, %f307; + add.f32 %f251, %f248, %f244; + sub.f32 %f252, %f248, %f251; + add.f32 %f253, %f244, %f252; + add.f32 %f254, %f246, %f253; + add.f32 %f255, %f250, %f254; + add.f32 %f256, %f251, %f255; + sub.f32 %f257, %f251, %f256; + add.f32 %f258, %f255, %f257; + mul.rn.f32 %f260, %f314, %f256; + neg.f32 %f261, %f260; + fma.rn.f32 %f262, %f314, %f256, %f261; + fma.rn.f32 %f263, %f314, %f258, %f262; + fma.rn.f32 %f265, %f308, %f256, %f263; + add.rn.f32 %f266, %f260, %f265; + neg.f32 %f267, %f266; + add.rn.f32 %f268, %f260, %f267; + add.rn.f32 %f269, %f268, %f265; + mov.b32 %r65, %f266; + setp.eq.s32 %p38, %r65, 1118925336; + add.s32 %r66, %r65, -1; + mov.b32 %f270, %r66; + add.f32 %f271, %f269, 0f37000000; + selp.f32 %f272, %f270, %f266, %p38; + selp.f32 %f36, %f271, %f269, %p38; + mul.f32 %f273, %f272, 0f3FB8AA3B; + cvt.rzi.f32.f32 %f274, %f273; + fma.rn.f32 %f276, %f274, %f309, %f272; + fma.rn.f32 %f278, %f274, %f310, %f276; + mul.f32 %f279, %f278, 0f3FB8AA3B; + ex2.approx.ftz.f32 %f280, %f279; + add.f32 %f281, %f274, 0f00000000; + ex2.approx.f32 %f282, %f281; + mul.f32 %f283, %f280, %f282; + setp.lt.f32 %p39, %f272, 0fC2D20000; + selp.f32 %f284, 0f00000000, %f283, %p39; + setp.gt.f32 %p40, %f272, 0f42D20000; + selp.f32 %f331, 0f7F800000, %f284, %p40; + setp.eq.f32 %p41, %f331, 0f7F800000; + @%p41 bra BB0_24; + + fma.rn.f32 %f331, %f331, %f36, %f331; + +BB0_24: + setp.lt.f32 %p42, %f7, 0f00000000; + and.pred %p3, %p42, %p11; + mov.b32 %r67, %f331; + xor.b32 %r68, %r67, -2147483648; + mov.b32 %f285, %r68; + selp.f32 %f333, %f285, %f331, %p3; + setp.eq.f32 %p44, %f7, 0f00000000; + @%p44 bra BB0_27; + bra.uni BB0_25; + +BB0_27: + add.f32 %f288, %f7, %f7; + selp.f32 %f333, %f288, 0f00000000, %p11; + bra.uni BB0_28; + +BB0_25: + setp.geu.f32 %p45, %f7, 0f00000000; + @%p45 bra BB0_28; + + mov.f32 %f315, 0f400CCCCD; + cvt.rzi.f32.f32 %f287, %f315; + setp.neu.f32 %p46, %f287, 0f400CCCCD; + selp.f32 %f333, 0f7FFFFFFF, %f333, %p46; + +BB0_28: + add.f32 %f289, %f35, 0f400CCCCD; + mov.b32 %r69, %f289; + setp.lt.s32 %p48, %r69, 2139095040; + @%p48 bra BB0_33; + + setp.gtu.f32 %p49, %f35, 0f7F800000; + @%p49 bra BB0_32; + bra.uni BB0_30; + +BB0_32: + add.f32 %f333, %f7, 0f400CCCCD; + bra.uni BB0_33; + +BB0_30: + setp.neu.f32 %p50, %f35, 0f7F800000; + @%p50 bra BB0_33; + + selp.f32 %f333, 0fFF800000, 0f7F800000, %p3; + +BB0_33: + mov.u64 %rd54, 0; + mov.u32 %r78, 8; + mov.u32 %r77, 2; + mov.u64 %rd53, image2; + cvta.global.u64 %rd52, %rd53; + setp.eq.f32 %p51, %f7, 0f3F800000; + selp.f32 %f293, 0f3F800000, %f333, %p51; + mul.f32 %f292, %f49, %f293; + ld.global.v2.u32 {%r72, %r73}, [pixelID]; + cvt.u64.u32 %rd47, %r72; + cvt.u64.u32 %rd48, %r73; + // inline asm + call (%rd45), _rt_buffer_get_64, (%rd52, %r77, %r78, %rd47, %rd48, %rd54, %rd54); + // inline asm + mul.f32 %f290, %f47, %f21; + mul.f32 %f291, %f48, %f34; + cvt.rzi.u32.f32 %r76, %f1; + // inline asm + { cvt.rn.f16.f32 %rs10, %f292;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs9, %f291;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs8, %f290;} + + // inline asm + cvt.u16.u32 %rs11, %r76; + st.v4.u16 [%rd45], {%rs8, %rs9, %rs10, %rs11}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/mulHalfByte.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/mulHalfByte.ptx.meta new file mode 100644 index 00000000..df1e9316 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/mulHalfByte.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d83426084209bab47bfdba17f46666ba +timeCreated: 1529763005 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll new file mode 100644 index 00000000..e4967f60 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll.meta new file mode 100644 index 00000000..3fbecbea --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.1.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: c02dbbbfa50b4d24bb80c38630c51d64 +timeCreated: 1538860310 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.51.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.51.dll new file mode 100644 index 00000000..3a1af70a Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.51.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.51.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.51.dll.meta new file mode 100644 index 00000000..89e026e8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.51.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 69dd4159f541f8e43a25be4badf065a1 +timeCreated: 1540204891 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.6.0.0.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.6.0.0.dll new file mode 100644 index 00000000..d4df47fe Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.6.0.0.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.6.0.0.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.6.0.0.dll.meta new file mode 100644 index 00000000..ee01c1c9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix.6.0.0.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 3d18c0edb358677489f7fd4a6fae6f31 +timeCreated: 1549646857 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.51.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.51.dll new file mode 100644 index 00000000..f7e44cdb Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.51.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.51.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.51.dll.meta new file mode 100644 index 00000000..1c4ede31 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.51.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: bbb2d6b7ca7f3a748b1b1b13329bbf99 +timeCreated: 1540204891 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.6.0.0.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.6.0.0.dll new file mode 100644 index 00000000..41545d2b Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.6.0.0.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.6.0.0.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.6.0.0.dll.meta new file mode 100644 index 00000000..1c5ecff3 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/optix_denoiser.6.0.0.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 5bb70c44ee8310e468da42720600e2a9 +timeCreated: 1562931666 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso new file mode 100644 index 00000000..d1cd0ace Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso.meta new file mode 100644 index 00000000..9a34ca1b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/output.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fa6867e2d577d534ba9c77e525394941 +timeCreated: 1530270532 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha.pso new file mode 100644 index 00000000..96ebe4aa Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha.pso.meta new file mode 100644 index 00000000..cf060211 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8232c95120c18334da09ce9329de4963 +timeCreated: 1601292490 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha_noflip.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha_noflip.pso new file mode 100644 index 00000000..ac6ff6cd Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha_noflip.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha_noflip.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha_noflip.pso.meta new file mode 100644 index 00000000..d0964a1e --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/packalpha_noflip.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7a7add73022b31d43b7cb052aba65692 +timeCreated: 1601293843 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddDir.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddDir.ptx new file mode 100644 index 00000000..9e172923 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddDir.ptx @@ -0,0 +1,159 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image2[1]; +.global .align 1 .b8 imageN[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<3>; + .reg .b16 %rs<18>; + .reg .b32 %r<37>; + .reg .b64 %rd<28>; + + + ld.global.v2.u32 {%r9, %r10}, [pixelID]; + cvt.u64.u32 %rd3, %r9; + cvt.u64.u32 %rd4, %r10; + mov.u64 %rd25, image; + cvta.global.u64 %rd2, %rd25; + mov.u32 %r7, 2; + mov.u32 %r8, 4; + mov.u64 %rd24, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r7, %r8, %rd3, %rd4, %rd24, %rd24); + // inline asm + ld.v4.u8 {%rs1, %rs2, %rs3, %rs4}, [%rd1]; + ld.global.v2.u32 {%r13, %r14}, [pixelID]; + cvt.u64.u32 %rd9, %r13; + cvt.u64.u32 %rd10, %r14; + mov.u64 %rd26, image2; + cvta.global.u64 %rd8, %rd26; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd8, %r7, %r8, %rd9, %rd10, %rd24, %rd24); + // inline asm + ld.v4.u8 {%rs8, %rs9, %rs10, %rs11}, [%rd7]; + ld.global.v2.u32 {%r17, %r18}, [pixelID]; + cvt.u64.u32 %rd15, %r17; + cvt.u64.u32 %rd16, %r18; + mov.u64 %rd27, imageN; + cvta.global.u64 %rd14, %rd27; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd14, %r7, %r8, %rd15, %rd16, %rd24, %rd24); + // inline asm + ld.u8 %rs13, [%rd13+3]; + setp.eq.s16 %p1, %rs13, 0; + setp.gt.u16 %p2, %rs11, %rs13; + cvt.u32.u16 %r21, %rs10; + cvt.u32.u16 %r22, %rs9; + cvt.u32.u16 %r23, %rs8; + cvt.u32.u16 %r24, %rs1; + selp.b32 %r25, 0, %r24, %p1; + add.s32 %r26, %r25, %r23; + cvt.u32.u16 %r27, %rs2; + selp.b32 %r28, 0, %r27, %p1; + add.s32 %r29, %r28, %r22; + cvt.u32.u16 %r30, %rs3; + selp.b32 %r31, 0, %r30, %p1; + add.s32 %r32, %r31, %r21; + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + cvt.u64.u32 %rd21, %r33; + cvt.u64.u32 %rd22, %r34; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd8, %r7, %r8, %rd21, %rd22, %rd24, %rd24); + // inline asm + selp.b16 %rs14, %rs11, %rs13, %p2; + cvt.u16.u32 %rs15, %r32; + cvt.u16.u32 %rs16, %r29; + cvt.u16.u32 %rs17, %r26; + st.v4.u8 [%rd19], {%rs17, %rs16, %rs15, %rs14}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddDir.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddDir.ptx.meta new file mode 100644 index 00000000..5b9bb147 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddDir.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8c23f48640ddf1b42a6c1e95ad1e871f +timeCreated: 1582382878 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddHalf.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddHalf.ptx new file mode 100644 index 00000000..23758b6a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddHalf.ptx @@ -0,0 +1,228 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image2[1]; +.global .align 1 .b8 imageN[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .b16 %rs<13>; + .reg .f32 %f<13>; + .reg .b32 %r<55>; + .reg .b64 %rd<58>; + + + ld.global.v2.u32 {%r19, %r20}, [pixelID]; + cvt.u64.u32 %rd3, %r19; + cvt.u64.u32 %rd4, %r20; + mov.u64 %rd55, image; + cvta.global.u64 %rd2, %rd55; + mov.u32 %r17, 2; + mov.u32 %r18, 8; + mov.u64 %rd54, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r17, %r18, %rd3, %rd4, %rd54, %rd54); + // inline asm + ld.u16 %rs1, [%rd1]; + // inline asm + { cvt.f32.f16 %f1, %rs1;} + + // inline asm + ld.global.v2.u32 {%r23, %r24}, [pixelID]; + cvt.u64.u32 %rd9, %r23; + cvt.u64.u32 %rd10, %r24; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd2, %r17, %r18, %rd9, %rd10, %rd54, %rd54); + // inline asm + ld.u16 %rs2, [%rd7+2]; + // inline asm + { cvt.f32.f16 %f2, %rs2;} + + // inline asm + ld.global.v2.u32 {%r27, %r28}, [pixelID]; + cvt.u64.u32 %rd15, %r27; + cvt.u64.u32 %rd16, %r28; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd2, %r17, %r18, %rd15, %rd16, %rd54, %rd54); + // inline asm + ld.u16 %rs3, [%rd13+4]; + // inline asm + { cvt.f32.f16 %f3, %rs3;} + + // inline asm + ld.global.v2.u32 {%r31, %r32}, [pixelID]; + cvt.u64.u32 %rd21, %r31; + cvt.u64.u32 %rd22, %r32; + mov.u64 %rd56, image2; + cvta.global.u64 %rd20, %rd56; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd20, %r17, %r18, %rd21, %rd22, %rd54, %rd54); + // inline asm + ld.u16 %rs4, [%rd19]; + // inline asm + { cvt.f32.f16 %f4, %rs4;} + + // inline asm + ld.global.v2.u32 {%r35, %r36}, [pixelID]; + cvt.u64.u32 %rd27, %r35; + cvt.u64.u32 %rd28, %r36; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd20, %r17, %r18, %rd27, %rd28, %rd54, %rd54); + // inline asm + ld.u16 %rs5, [%rd25+2]; + // inline asm + { cvt.f32.f16 %f5, %rs5;} + + // inline asm + ld.global.v2.u32 {%r39, %r40}, [pixelID]; + cvt.u64.u32 %rd33, %r39; + cvt.u64.u32 %rd34, %r40; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd20, %r17, %r18, %rd33, %rd34, %rd54, %rd54); + // inline asm + ld.u16 %rs6, [%rd31+4]; + // inline asm + { cvt.f32.f16 %f6, %rs6;} + + // inline asm + ld.global.v2.u32 {%r43, %r44}, [pixelID]; + cvt.u64.u32 %rd39, %r43; + cvt.u64.u32 %rd40, %r44; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd20, %r17, %r18, %rd39, %rd40, %rd54, %rd54); + // inline asm + ld.u16 %rs7, [%rd37+6]; + // inline asm + { cvt.f32.f16 %f7, %rs7;} + + // inline asm + ld.global.v2.u32 {%r47, %r48}, [pixelID]; + cvt.u64.u32 %rd45, %r47; + cvt.u64.u32 %rd46, %r48; + mov.u64 %rd57, imageN; + cvta.global.u64 %rd44, %rd57; + mov.u32 %r16, 4; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd44, %r17, %r16, %rd45, %rd46, %rd54, %rd54); + // inline asm + ld.u8 %rs12, [%rd43+3]; + setp.eq.s16 %p1, %rs12, 0; + selp.f32 %f12, 0f00000000, 0f3F800000, %p1; + max.f32 %f11, %f12, %f7; + fma.rn.f32 %f8, %f1, %f12, %f4; + fma.rn.f32 %f9, %f2, %f12, %f5; + fma.rn.f32 %f10, %f3, %f12, %f6; + ld.global.v2.u32 {%r51, %r52}, [pixelID]; + cvt.u64.u32 %rd51, %r51; + cvt.u64.u32 %rd52, %r52; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd20, %r17, %r18, %rd51, %rd52, %rd54, %rd54); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs10, %f10;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs9, %f9;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs8, %f8;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs11, %f11;} + + // inline asm + st.v4.u16 [%rd49], {%rs8, %rs9, %rs10, %rs11}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddHalf.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddHalf.ptx.meta new file mode 100644 index 00000000..733e410f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/postAddHalf.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 62652ab2c12ee5a49bb1fee695c7ccc7 +timeCreated: 1582371819 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso new file mode 100644 index 00000000..1a379525 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso.meta new file mode 100644 index 00000000..a0627481 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/quad.vso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d3f9a8abe9eb2a54b8a434c3d58513b0 +timeCreated: 1526155640 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/removeEmissive.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/removeEmissive.ptx new file mode 100644 index 00000000..2bfbcb2b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/removeEmissive.ptx @@ -0,0 +1,216 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 image[1]; +.global .align 1 .b8 image2[1]; +.global .align 1 .b8 image3[1]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b16 %rs<12>; + .reg .f32 %f<12>; + .reg .b32 %r<49>; + .reg .b64 %rd<52>; + + + ld.global.v2.u32 {%r17, %r18}, [pixelID]; + cvt.u64.u32 %rd3, %r17; + cvt.u64.u32 %rd4, %r18; + mov.u64 %rd49, image; + cvta.global.u64 %rd2, %rd49; + mov.u32 %r15, 2; + mov.u32 %r16, 8; + mov.u64 %rd48, 0; + // inline asm + call (%rd1), _rt_buffer_get_64, (%rd2, %r15, %r16, %rd3, %rd4, %rd48, %rd48); + // inline asm + ld.u16 %rs1, [%rd1+6]; + // inline asm + { cvt.f32.f16 %f1, %rs1;} + + // inline asm + ld.global.v2.u32 {%r21, %r22}, [pixelID]; + cvt.u64.u32 %rd9, %r21; + cvt.u64.u32 %rd10, %r22; + // inline asm + call (%rd7), _rt_buffer_get_64, (%rd2, %r15, %r16, %rd9, %rd10, %rd48, %rd48); + // inline asm + ld.u16 %rs2, [%rd7]; + // inline asm + { cvt.f32.f16 %f2, %rs2;} + + // inline asm + ld.global.v2.u32 {%r25, %r26}, [pixelID]; + cvt.u64.u32 %rd15, %r25; + cvt.u64.u32 %rd16, %r26; + // inline asm + call (%rd13), _rt_buffer_get_64, (%rd2, %r15, %r16, %rd15, %rd16, %rd48, %rd48); + // inline asm + ld.u16 %rs3, [%rd13+2]; + // inline asm + { cvt.f32.f16 %f3, %rs3;} + + // inline asm + ld.global.v2.u32 {%r29, %r30}, [pixelID]; + cvt.u64.u32 %rd21, %r29; + cvt.u64.u32 %rd22, %r30; + // inline asm + call (%rd19), _rt_buffer_get_64, (%rd2, %r15, %r16, %rd21, %rd22, %rd48, %rd48); + // inline asm + ld.u16 %rs4, [%rd19+4]; + // inline asm + { cvt.f32.f16 %f4, %rs4;} + + // inline asm + ld.global.v2.u32 {%r33, %r34}, [pixelID]; + cvt.u64.u32 %rd27, %r33; + cvt.u64.u32 %rd28, %r34; + mov.u64 %rd50, image3; + cvta.global.u64 %rd26, %rd50; + // inline asm + call (%rd25), _rt_buffer_get_64, (%rd26, %r15, %r16, %rd27, %rd28, %rd48, %rd48); + // inline asm + ld.u16 %rs5, [%rd25]; + // inline asm + { cvt.f32.f16 %f5, %rs5;} + + // inline asm + ld.global.v2.u32 {%r37, %r38}, [pixelID]; + cvt.u64.u32 %rd33, %r37; + cvt.u64.u32 %rd34, %r38; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd26, %r15, %r16, %rd33, %rd34, %rd48, %rd48); + // inline asm + ld.u16 %rs6, [%rd31+2]; + // inline asm + { cvt.f32.f16 %f6, %rs6;} + + // inline asm + ld.global.v2.u32 {%r41, %r42}, [pixelID]; + cvt.u64.u32 %rd39, %r41; + cvt.u64.u32 %rd40, %r42; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd26, %r15, %r16, %rd39, %rd40, %rd48, %rd48); + // inline asm + ld.u16 %rs7, [%rd37+4]; + // inline asm + { cvt.f32.f16 %f7, %rs7;} + + // inline asm + sub.f32 %f8, %f2, %f5; + sub.f32 %f9, %f3, %f6; + sub.f32 %f10, %f4, %f7; + ld.global.v2.u32 {%r45, %r46}, [pixelID]; + cvt.u64.u32 %rd45, %r45; + cvt.u64.u32 %rd46, %r46; + mov.u64 %rd51, image2; + cvta.global.u64 %rd44, %rd51; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd44, %r15, %r16, %rd45, %rd46, %rd48, %rd48); + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs10, %f10;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs9, %f9;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs8, %f8;} + + // inline asm + // inline asm + { cvt.rn.f16.f32 %rs11, %f1;} + + // inline asm + st.v4.u16 [%rd43], {%rs8, %rs9, %rs10, %rs11}; + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/removeEmissive.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/removeEmissive.ptx.meta new file mode 100644 index 00000000..016ba20b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/removeEmissive.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 590fcb201d80a9046832c6c35217ec52 +timeCreated: 1528486976 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/rgba2tga.exe b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/rgba2tga.exe new file mode 100644 index 00000000..fbf05c6f Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/rgba2tga.exe differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/rgba2tga.exe.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/rgba2tga.exe.meta new file mode 100644 index 00000000..edd05a34 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/rgba2tga.exe.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b587e8104b43940479f216b6dee30a8a +timeCreated: 1537452995 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts.meta new file mode 100644 index 00000000..513f25ed --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c63527f288ca0954d8d54d509c18907a +folderAsset: yes +timeCreated: 1622807248 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/BakeryEditorAssembly.asmdef b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/BakeryEditorAssembly.asmdef new file mode 100644 index 00000000..0aa416f0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/BakeryEditorAssembly.asmdef @@ -0,0 +1,16 @@ +{ + "name": "BakeryEditorAssembly", + "references": [ + "BakeryRuntimeAssembly" + ], + "optionalUnityReferences": [], + "includePlatforms": [ + "Editor" + ], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [] +} \ No newline at end of file diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/BakeryEditorAssembly.asmdef.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/BakeryEditorAssembly.asmdef.meta new file mode 100644 index 00000000..e0e96407 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/BakeryEditorAssembly.asmdef.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 290dd5870d0ead646bcb6ea5c6a60af5 +timeCreated: 1551814754 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftAdditionalConfig.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftAdditionalConfig.cs new file mode 100644 index 00000000..d8d0c427 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftAdditionalConfig.cs @@ -0,0 +1,68 @@ +using UnityEditor; +using UnityEngine; + +public class ftAdditionalConfig +{ + // Affects texture import settings for lightmaps + public const bool mipmapLightmaps = false; + + // Shader eval coeff * gaussian convolution coeff + // ... replaced with more typical convolution coeffs + // Used for legacy light probes + public const float irradianceConvolutionL0 = 0.2820947917f; + public const float irradianceConvolutionL1 = 0.32573500793527993f;//0.4886025119f * 0.7346029443286334f; + public const float irradianceConvolutionL2_4_5_7 = 0.2731371076480198f;//0.29121293321402086f * 1.0925484306f; + public const float irradianceConvolutionL2_6 = 0.07884789131313001f;//0.29121293321402086f * 0.3153915652f; + public const float irradianceConvolutionL2_8 = 0.1365685538240099f;//0.29121293321402086f * 0.5462742153f; + + // Used for L1 light probes and volumes + public const float convL0 = 1; + public const float convL1 = 0.9f; // approx convolution + + // Calculate multiple point lights in one pass. No reason to disable it, unless there is a bug. + public static bool batchPointLights = true; + +#if UNITY_2017_3_OR_NEWER + public const int sectorFarSphereResolution = 256; +#else + // older version can't handle 32 bit meshes + public const int sectorFarSphereResolution = 64; +#endif + +/* + Following settings are moved to Project Settings + (on >= 2018.3; you can also edit BakeryProjectSettings.asset directly) + + // Use PNG instead of TGA for shadowmasks, directions and L1 maps + public const bool preferPNG = false; + + // Padding values for atlas packers + public const int texelPaddingForDefaultAtlasPacker = 3; + public const int texelPaddingForXatlasAtlasPacker = 1; + + // Scales resolution for alpha Meta Pass maps + public const int alphaMetaPassResolutionMultiplier = 2; + + // Render mode for all volumes in the scene. Defaults to Auto, which uses global scene render mode. + public const BakeryLightmapGroup.RenderMode volumeRenderMode = BakeryLightmapGroup.RenderMode.Auto; + + // Should previously rendered Bakery lightmaps be deleted before the new bake? + // Turned off by default because I'm scared of deleting anything + public const bool deletePreviousLightmapsBeforeBake = false; + + // Print information about the bake process to console? + public enum LogLevel + { + Nothing = 0, + Info = 1, // print to Debug.Log + Warning = 2 // print to Debug.LogWarning + } + public const LogLevel logLevel = LogLevel.Info | LogLevel.Warning; + + // Make it work more similar to original Unity behaviour + public const bool alternativeScaleInLightmap = false; + + // Should we adjust sample positions to prevent incorrect shadowing on very low-poly meshes with smooth normals? + public const bool generateSmoothPos = true; +*/ +} diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftAdditionalConfig.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftAdditionalConfig.cs.meta new file mode 100644 index 00000000..c91690d5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftAdditionalConfig.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1da9342d2a59abd49a8dfb8aa73a87b3 +timeCreated: 1596818791 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildGraphics.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildGraphics.cs new file mode 100644 index 00000000..7e7a1ed2 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildGraphics.cs @@ -0,0 +1,7944 @@ +#if UNITY_EDITOR + +// Disable 'obsolete' warnings +#pragma warning disable 0618 + +using UnityEngine; +using UnityEditor; +using System; +using System.IO; +using System.Text; +using System.Linq; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine.SceneManagement; +using UnityEditor.SceneManagement; +using UnityEngine.Rendering; +using System.Reflection; + +public class ftBuildGraphics : ScriptableWizard +{ + const int UVGBFLAG_NORMAL = 1; + const int UVGBFLAG_FACENORMAL = 2; + const int UVGBFLAG_ALBEDO = 4; + const int UVGBFLAG_EMISSIVE = 8; + const int UVGBFLAG_POS = 16; + const int UVGBFLAG_SMOOTHPOS = 32; + const int UVGBFLAG_TANGENT = 64; + const int UVGBFLAG_TERRAIN = 128; + const int UVGBFLAG_RESERVED = 256; + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void InitShaders(); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void LoadScene(string path); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + private static extern void SetAlbedos(int count, IntPtr[] tex); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + private static extern int CopyAlbedos(); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + private static extern int CopyHeightmapsFromRAM(int count, TexInput[] tex); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void FreeAlbedoCopies(); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + private static extern void SetAlphas(int count, IntPtr[] tex, float[] alphaRefs, int[] alphaChannels, int numLODs, bool flip); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + private static extern void SetAlphasFromRAM(int count, System.IntPtr tex, float[] alphaRefs, int[] alphaChannels, int numLODs, bool flip); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void SaveSky(IntPtr tex, float rx, float ry, float rz, float ux, float uy, float uz, float fx, float fy, float fz, string path, bool isLinear, bool doubleLDR); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void SaveCookie(IntPtr tex, string path); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void SaveCookieFromRAM(TexInput tex, string path); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int ftRenderUVGBuffer(); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void SetUVGBFlags(int flags); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void SetFixPos(bool enabled); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern void SetCompression(bool enabled); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int ftGenerateAlphaBuffer(); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int SaveGBufferMap(IntPtr tex, string path, bool compressed); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int SaveGBufferMapFromRAM(byte[] tex, int size, string path, bool compressed); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int GetABGErrorCode(); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int GetUVGBErrorCode(); + + [DllImport ("uvrepack", CallingConvention=CallingConvention.Cdecl)] + public static extern int uvrLoad(float[] inputUVs, int numVerts, int[] inputIndices, int numIndices); + + [DllImport ("uvrepack", CallingConvention=CallingConvention.Cdecl)] + public static extern int uvrRepack(float padding, int resolution); + + [DllImport ("uvrepack", CallingConvention=CallingConvention.Cdecl)] + public static extern int uvrUnload(); + + public enum TexInputType + { + Color, + FloatColor, + HalfColor + }; + + public struct TexInput + { + public byte[] data; + public ushort width, height; + }; + + static Material matCubemapToStripExport; + + static int voffset, soffset, ioffset; + + static public string scenePath = ""; + + static BufferedBinaryWriterFloat fvbfull, fvbtrace, fvbtraceTex, fvbtraceUV0; + static BufferedBinaryWriterInt fib; + static BinaryWriter fscene, fmesh, flmid, fseamfix, fsurf, fmatid, fmatide, fmatidh, fmatideb, falphaid, fib32, fhmaps; + static BinaryWriter[] fib32lod; + static BinaryWriter[] falphaidlod; + + public static ftLightmapsStorage.ImplicitLightmapData tempStorage = new ftLightmapsStorage.ImplicitLightmapData(); + + public static float texelsPerUnit = 20; + public static int minAutoResolution = 16; + public static int maxAutoResolution = 4096; + public static bool mustBePOT = true; + public static bool autoAtlas = true; + public static bool unwrapUVs = true; + public static bool forceDisableUnwrapUVs = false; + public static bool exportShaderColors = true; // albedo and emission (sometimes normal) always come from the engine now + //public static int atlasPaddingPixels = ftAdditionalConfig.texelPaddingForDefaultAtlasPacker; + public static bool atlasCountPriority = false; + public static bool splitByScene = false; + public static bool uvPaddingMax = false; + public static bool exportTerrainAsHeightmap = true; + public static bool exportTerrainTrees = false; + public static bool uvgbHeightmap = true; + + public static bool texelsPerUnitPerMap = false; + public static float mainLightmapScale = 1; + public static float maskLightmapScale = 1; + public static float dirLightmapScale = 1; + + const float atlasScaleUpValue = 1.01f; + const int atlasMaxTries = 100; + const float alphaInstanceThreshold = 5.0f / 255.0f; + + const bool flipAlpha = true; + + public static string overwriteExtensionCheck = ".hdr"; + public static bool overwriteWarning = false; + public static bool overwriteWarningSelectedOnly = false; + public static bool memoryWarning = false; + public static bool modifyLightmapStorage = true; + public static bool validateLightmapStorageImmutability = true; + public static bool sceneNeedsToBeRebuilt = false; + //public static int unityVersionMajor = 0; + //public static int unityVersionMinor = 0; + + static int areaLightCounter = -2; + public static int sceneLodsUsed = 0; + + static GameObject lmgroupHolder; + static BakeryLightmapGroup lightProbeLMGroup = null; + static BakeryLightmapGroup volumeLMGroup = null; + + static List terrainObjectList; + static List terrainObjectToActual; + static List terrainObjectToHeightMap; + static List terrainObjectToHeightMapRAM; + static List terrainObjectToBounds; + static List terrainObjectToLMID; + static List terrainObjectToBoundsUV; + static List terrainObjectToFlags; + static List> terrainObjectToHeightMips; + //static List> terrainObjectToNormalMips; + //static List terrainObjectToNormalMip0; + static List temporaryAreaLightMeshList; + static List temporaryAreaLightMeshList2; + public static List temporaryGameObjects; + + static Dictionary cmp_objToLodLevel; + static Dictionary cmp_holderObjArea; + + public static Dictionary> lodLevelsVisibleInLodLevel = new Dictionary>(); // defines LOD levels visible in chosen LOD level + + public static List vbtraceTexPosNormalArray; // global vbTraceTex.bin positions/normals + public static List vbtraceTexUVArray; // global vbTraceTex.bin UVs + public static float[] vbtraceTexUVArrayLOD; // global vbTraceTex.bin LOD UVs + + public static List atlasOnlyObj; + public static List atlasOnlyScaleOffset; + public static List atlasOnlySize; + public static List atlasOnlyID; + + public static ftGlobalStorage.AtlasPacker atlasPacker = ftGlobalStorage.AtlasPacker.xatlas; + + public static bool forceAllAreaLightsSelfshadow = false; + + public static bool postPacking = true; + public static bool holeFilling = false; + + static int floatOverWarnCount = 0; + const int maxFloatOverWarn = 10; + + static ftGlobalStorage gstorage; + static BakeryProjectSettings pstorage; + + static public void DebugLogError(string text) + { + ftRenderLightmap.DebugLogError(text); + } + + class FarSphereRenderData + { + public RenderTexture[] albedo, depth, normal; + public Matrix4x4[] viewProj; + public Vector3 pos; + public Mesh[] meshes; + public Texture2D[] textures; + } + + static Shader farSphereRshader, farSphereRshaderOcc, farSphereSshader, farSphereProjClipShader, farSphereDilateShader; + static Material farSphereMat, farSphereMatOcc, farSphereProjClipMat, farSphereDilateMat; + static ComputeShader farSphereCSTransform, farSphereCSCull; + + class AtlasNode + { + public AtlasNode child0, child1; + public Rect rc; + public GameObject obj; + bool leaf = true; + + public AtlasNode Insert(GameObject o, Rect rect) + { + if (!leaf) + { + var newNode = child0.Insert(o, rect); + if (newNode != null) return newNode; + + return child1.Insert(o, rect); + } + else + { + if (obj != null) return null; + + var fits = (rect.width <= rc.width && rect.height <= rc.height); + if (!fits) return null; + + var fitsExactly = (rect.width == rc.width && rect.height == rc.height); + if (fitsExactly) + { + obj = o; + return this; + } + + child0 = new AtlasNode(); + child1 = new AtlasNode(); + + var dw = rc.width - rect.width; + var dh = rc.height - rect.height; + + if (dw > dh) + { + child0.rc = new Rect(rc.x, rc.y, rect.width, rc.height); + child1.rc = new Rect(rc.x + rect.width, rc.y, rc.width - rect.width, rc.height); + } + else + { + child0.rc = new Rect(rc.x, rc.y, rc.width, rect.height); + child1.rc = new Rect(rc.x, rc.y + rect.height, rc.width, rc.height - rect.height); + } + leaf = false; + + return child0.Insert(o, rect); + } + } + + public void GetMax(ref float maxx, ref float maxy) + { + if (obj != null) + { + if ((rc.x + rc.width) > maxx) maxx = rc.x + rc.width; + if ((rc.y + rc.height) > maxy) maxy = rc.y + rc.height; + } + if (child0 != null) child0.GetMax(ref maxx, ref maxy); + if (child1 != null) child1.GetMax(ref maxx, ref maxy); + } + + public void Transform(float offsetx, float offsety, float scalex, float scaley) + { + rc.x *= scalex; + rc.y *= scaley; + rc.x += offsetx; + rc.y += offsety; + rc.width *= scalex; + rc.height *= scaley; + if (child0 != null) child0.Transform(offsetx, offsety, scalex, scaley); + if (child1 != null) child1.Transform(offsetx, offsety, scalex, scaley); + } + }; + + static ftBuildGraphics() + { + //ftRenderLightmap.PatchPath(); + //var unityVer = Application.unityVersion.Split('.'); + //unityVersionMajor = Int32.Parse(unityVer[0]); + //unityVersionMinor = Int32.Parse(unityVer[1]); + } + + static void DebugLogInfo(string info) + { + if (pstorage == null) pstorage = ftLightmaps.GetProjectSettings(); + if ((pstorage.logLevel & (int)BakeryProjectSettings.LogLevel.Info) != 0) Debug.Log(info); + } + + static void DebugLogWarning(string info) + { + if (pstorage == null) pstorage = ftLightmaps.GetProjectSettings(); + if ((pstorage.logLevel & (int)BakeryProjectSettings.LogLevel.Warning) != 0) Debug.LogWarning(info); + } + + static void exportVBPos(BinaryWriter f, Transform t, Mesh m, Vector3[] vertices) + { + for(int i=0;i(); + if (mr as MeshRenderer == null && mr as SkinnedMeshRenderer == null) + { + // possibly multiple renderers on one gameobject? + mr = obj.GetComponent() as Renderer; + if (mr != null) return mr; + mr = obj.GetComponent() as Renderer; + if (mr != null) return mr; + return null; + } + return mr; + } + + static BakeryLightmapGroup GetLMGroupFromObjectExplicit(GameObject obj, ExportSceneData data) + { + lmgroupHolder = null; + var lmgroupSelector = obj.GetComponent(); // if object has explicit lmgroup + if (lmgroupSelector == null) + { + // if parents have explicit lmgroup + var t2 = obj.transform.parent; + while(lmgroupSelector == null && t2 != null) + { + lmgroupSelector = t2.GetComponent(); + t2 = t2.parent; + } + } + BakeryLightmapGroup lmgroup = null; + if (lmgroupSelector != null) + { + lmgroup = lmgroupSelector.lmgroupAsset as BakeryLightmapGroup; + lmgroupHolder = lmgroupSelector.gameObject; + + //var so = new SerializedObject(obj.GetComponent()); + //var scaleInLm = so.FindProperty("m_ScaleInLightmap").floatValue; + var scaleInLm = data.objToScaleInLm[obj]; + if (scaleInLm == 0.0f) lmgroup = data.autoVertexGroup; + //null; // ignore lightmaps when scaleInLightmap == 0 + } + return lmgroup; + } + + static BakeryLightmapGroup GetLMGroupFromObject(GameObject obj, ExportSceneData data) + { + UnityEngine.Object lmgroupObj = null; + BakeryLightmapGroup lmgroup = null; + lmgroupHolder = null; + + var lmgroupSelector = obj.GetComponent(); // if object has explicit lmgroup + tempStorage.implicitGroupMap.TryGetValue(obj, out lmgroupObj); // or implicit + lmgroup = (BakeryLightmapGroup)lmgroupObj; + lmgroupHolder = obj; + if (lmgroupSelector == null && lmgroup == null) + { + // if parents have explicit/implicit lmgroup + var t2 = obj.transform.parent; + while(lmgroupSelector == null && lmgroup == null && t2 != null) + { + lmgroupSelector = t2.GetComponent(); + tempStorage.implicitGroupMap.TryGetValue(t2.gameObject, out lmgroupObj); + lmgroup = (BakeryLightmapGroup)lmgroupObj; + lmgroupHolder = t2.gameObject; + t2 = t2.parent; + } + } + if (lmgroupSelector != null) + { + lmgroup = lmgroupSelector.lmgroupAsset as BakeryLightmapGroup; + } + + if (lmgroup != null) + { + var r = GetValidRenderer(obj); + if (r) + { + //var so = new SerializedObject(r); + //var scaleInLm = so.FindProperty("m_ScaleInLightmap").floatValue; + var scaleInLm = data.objToScaleInLm[obj]; + if (scaleInLm == 0.0f) lmgroup = data.autoVertexGroup; + // null; // ignore lightmaps when scaleInLightmap == 0 + } + } + else + { + lmgroupHolder = null; + } + + return lmgroup; + } + + // use by ftRenderLightmap + public static BakeryLightmapGroup GetLMGroupFromObject(GameObject obj) + { + UnityEngine.Object lmgroupObj = null; + BakeryLightmapGroup lmgroup = null; + lmgroupHolder = null; + + var lmgroupSelector = obj.GetComponent(); // if object has explicit lmgroup + tempStorage.implicitGroupMap.TryGetValue(obj, out lmgroupObj); // or implicit + lmgroup = (BakeryLightmapGroup)lmgroupObj; + lmgroupHolder = obj; + if (lmgroupSelector == null && lmgroup == null) + { + // if parents have explicit/implicit lmgroup + var t2 = obj.transform.parent; + while(lmgroupSelector == null && lmgroup == null && t2 != null) + { + lmgroupSelector = t2.GetComponent(); + tempStorage.implicitGroupMap.TryGetValue(t2.gameObject, out lmgroupObj); + lmgroup = (BakeryLightmapGroup)lmgroupObj; + lmgroupHolder = t2.gameObject; + t2 = t2.parent; + } + } + if (lmgroupSelector != null) + { + lmgroup = lmgroupSelector.lmgroupAsset as BakeryLightmapGroup; + } + + if (lmgroup != null) + { + var r = GetValidRenderer(obj); + if (r) + { + var so = new SerializedObject(r); + var scaleInLm = so.FindProperty("m_ScaleInLightmap").floatValue; + //var scaleInLm = data.objToScaleInLm[obj]; + if (scaleInLm == 0.0f) lmgroup = null; + // null; // ignore lightmaps when scaleInLightmap == 0 + } + } + else + { + lmgroupHolder = null; + } + + return lmgroup; + } + + public static void exportVBTraceTexAttribs(List arrPosNormal, List arrUV, + Vector3[] vertices, Vector3[] normals, Vector2[] uv2, int lmid, bool vertexBake, GameObject obj) + { + for(int i=0;i0) + { + u = Mathf.Clamp(uv2[i].x, 0, 0.99999f); + v = Mathf.Clamp(1.0f - uv2[i].y, 0, 0.99999f); + } + } + else + { + if (uv2.Length>0 && !vertexBake) + { + u = Mathf.Clamp(uv2[i].x, 0, 0.99999f); + v = Mathf.Clamp(uv2[i].y, 0, 0.99999f); + } + else if (vertexBake) + { + u = uv2[i].x; + v = uv2[i].y - 1.0f; + } + } + + float origU = u; + if (lmid >= 0) + { + u += lmid * 10; + if ((int)u > lmid*10) + { + // attempt fixing float overflow + u = (lmid*10+1) - (lmid*10+1)*0.0000002f; + if ((int)u > lmid*10) + { + if (floatOverWarnCount < maxFloatOverWarn) + { + Debug.LogError("Float overflow for " + obj.name + " (U: " + origU + ", LMID: " + lmid + ")"); + floatOverWarnCount++; + } + } + } + } + else + { + u = lmid * 10 - u; + if ((int)u != lmid*10) + { + u = -u; + lmid = -lmid; + u = (lmid*10+1) - (lmid*10+1)*0.0000002f; + if ((int)u > lmid*10) + { + if (floatOverWarnCount < maxFloatOverWarn) + { + Debug.LogError("Float overflow for " + obj.name + " (U: " + origU + ", LMID: " + lmid + ")"); + floatOverWarnCount++; + } + } + u = -u; + lmid = -lmid; + } + } + + arrUV.Add(u); + arrUV.Add(v); + } + } + + static void exportVBTraceUV0(BufferedBinaryWriterFloat f, Vector2[] uvs, int vertCount) + { + if (uvs.Length == 0) + { + for(int i=0;i0) + { + f.Write(uv2[i].x); + f.Write(uv2[i].y); + } + else + { + f.Write(0.0f); + f.Write(0.0f); + } + } + } + + // Either I'm dumb, or it's impossible to make generics work with it (only worked in .NET 3.5) + class BufferedBinaryWriterFloat + { + [StructLayout(LayoutKind.Explicit)] + public class ReinterpretBuffer + { + [FieldOffset(0)] + public byte[] bytes; + [FieldOffset(0)] + public float[] elements; + } + + BinaryWriter f; + ReinterpretBuffer buffer; + int bufferPtr; + int bufferSize; + int elementSize; + + public BufferedBinaryWriterFloat(BinaryWriter b, int elemSize = 4, int buffSizeInFloats = 1024*1024) + { + f = b; + buffer = new ReinterpretBuffer(); + buffer.bytes = new byte[buffSizeInFloats * elemSize]; + bufferPtr = 0; + bufferSize = buffSizeInFloats; + elementSize = elemSize; + } + + void Flush() + { + if (bufferPtr == 0) return; + f.Write(buffer.bytes, 0, bufferPtr * elementSize); + bufferPtr = 0; + } + + public void Write(float x) + { + buffer.elements[bufferPtr] = x; + bufferPtr++; + if (bufferPtr == bufferSize) Flush(); + } + + public void Close() + { + Flush(); + f.Close(); + } + } + class BufferedBinaryWriterInt + { + [StructLayout(LayoutKind.Explicit)] + public class ReinterpretBuffer + { + [FieldOffset(0)] + public byte[] bytes; + [FieldOffset(0)] + public int[] elements; + } + + BinaryWriter f; + ReinterpretBuffer buffer; + int bufferPtr; + int bufferSize; + int elementSize; + + public BufferedBinaryWriterInt(BinaryWriter b, int elemSize = 4, int buffSizeInFloats = 1024*1024) + { + f = b; + buffer = new ReinterpretBuffer(); + buffer.bytes = new byte[buffSizeInFloats * elemSize]; + bufferPtr = 0; + bufferSize = buffSizeInFloats; + elementSize = elemSize; + } + + void Flush() + { + if (bufferPtr == 0) return; + f.Write(buffer.bytes, 0, bufferPtr * elementSize); + bufferPtr = 0; + } + + public void Write(int x) + { + buffer.elements[bufferPtr] = x; + bufferPtr++; + if (bufferPtr == bufferSize) Flush(); + } + + public void Close() + { + Flush(); + f.Close(); + } + } + + static void exportVBFull(BufferedBinaryWriterFloat f, Vector3[] vertices, Vector3[] normals, Vector4[] tangents, Vector2[] uv, Vector2[] uv2) + { + bool hasUV = uv.Length > 0; + bool hasUV2 = uv2.Length > 0; + + for(int i=0;i indicesOpaque, List indicesTransparent, List indicesLMID, + int[] indices, bool isFlipped, int offset, int indexOffsetLMID, BinaryWriter falphaid, + ushort alphaID) + { + //var indices = m.GetTriangles(i); + var indicesOut = alphaID == 0xFFFF ? indicesOpaque : indicesTransparent; + + int indexA, indexB, indexC; + + for(int j=0;j(); + if (areaLight == null) + { + int index = temporaryAreaLightMeshList.IndexOf(obj); + if (index >= 0) + { + areaLight = temporaryAreaLightMeshList2[index]; + } + } + if (areaLight != null) + { + f.Write(areaLightCounter); + areaLight.lmid = areaLightCounter; + areaLightCounter--; + return areaLightCounter; + } + else if (lmgroup != null) + { + f.Write(lmgroup.id); + return lmgroup.id; + } + else + { + f.Write(0xFFFFFFFF); + return -1; + } + } + + static Vector2[] GenerateVertexBakeUVs(int voffset, int vlength, int totalVertexCount) + { + int atlasTexSize = (int)Mathf.Ceil(Mathf.Sqrt((float)totalVertexCount)); + atlasTexSize = (int)Mathf.Ceil(atlasTexSize / (float)ftRenderLightmap.tileSize) * ftRenderLightmap.tileSize; + var uvs = new Vector2[vlength]; + float mul = 1.0f / atlasTexSize; + float add = mul * 0.5f; + for(int i=0; i(); + return mrSkin != null ? mrSkin.sharedMesh : (mf != null ? mf.sharedMesh : null); + } + + public static Mesh GetSharedMeshBaked(GameObject obj) + { + var mrSkin = obj.GetComponent(); + if (mrSkin != null) + { + var baked = new Mesh(); + mrSkin.BakeMesh(baked); + return baked; + } + var mf = obj.GetComponent(); + return (mf != null ? mf.sharedMesh : null); + } + + public static Mesh GetSharedMesh(GameObject obj) + { + var mrSkin = obj.GetComponent(); + var mf = obj.GetComponent(); + return mrSkin != null ? mrSkin.sharedMesh : (mf != null ? mf.sharedMesh : null); + } + + public static Mesh GetSharedMeshSkinned(GameObject obj, out bool isSkin) + { + var mrSkin = obj.GetComponent(); + Mesh mesh; + if (mrSkin != null) + { + mesh = new Mesh(); + mrSkin.BakeMesh(mesh); + isSkin = mrSkin.bones.Length > 0; // blendshape-only don't need scale? + } + else + { + isSkin = false; + var mf = obj.GetComponent(); + if (mf == null) return null; + mesh = mf.sharedMesh; + } + return mesh; + } + + static GameObject TestPackAsSingleSquare(GameObject holder) + { + var t = holder.transform; + var p = t.parent; + while(p != null) + { + if (p.GetComponent() != null) return p.gameObject; + p = p.parent; + } + return holder; + } + + static bool ModelUVsOverlap(ModelImporter importer, ftGlobalStorage store) + { + if (importer.generateSecondaryUV) return true; + + var path = importer.assetPath; + /*for(int i=0; i= 0 && index < store.uvOverlapAssetList.Count) + { + if (store.uvOverlapAssetList[index] == 0) + { + return false; + } + else + { + return true; + } + } + + var newAsset = AssetDatabase.LoadAssetAtPath(path, typeof(GameObject)) as GameObject; + ftModelPostProcessor.CheckUVOverlap(newAsset, path); + + /*for(int i=0; i= 0) + { + if (store.uvOverlapAssetList[index] == 0) + { + return false; + } + else + { + return true; + } + } + + return true; + } + + static bool NeedsTangents(BakeryLightmapGroup lmgroup, bool tangentSHLights) + { + // RNM requires tangents + if (ftRenderLightmap.renderDirMode == ftRenderLightmap.RenderDirMode.RNM || + (lmgroup!=null && lmgroup.renderDirMode == BakeryLightmapGroup.RenderDirMode.RNM)) return true; + + // SH requires tangents only if there is a SH skylight + if (!tangentSHLights) return false; + + if (ftRenderLightmap.renderDirMode == ftRenderLightmap.RenderDirMode.SH || + (lmgroup!=null && lmgroup.renderDirMode == BakeryLightmapGroup.RenderDirMode.SH)) return true; + + return false; + } + + static long GetTime() + { + return System.DateTime.Now.Ticks / System.TimeSpan.TicksPerMillisecond; + } + + static public string progressBarText; + static public float progressBarPercent = 0; + static public bool userCanceled = false; + //static IEnumerator progressFunc; + static EditorWindow activeWindow; + static void ProgressBarInit(string startText, EditorWindow window = null) + { + progressBarText = startText; + if (ftRenderLightmap.showProgressBar) ftRenderLightmap.simpleProgressBarShow("Bakery", progressBarText, progressBarPercent, 0, false); + } + static void ProgressBarShow(string text, float percent, bool onTop) + { + progressBarText = text; + progressBarPercent = percent; + if (ftRenderLightmap.showProgressBar) ftRenderLightmap.simpleProgressBarShow("Bakery", progressBarText, progressBarPercent, 0, onTop); + userCanceled = ftRenderLightmap.simpleProgressBarCancelled(); + } + + public static void FreeTemporaryAreaLightMeshes() + { + if (temporaryAreaLightMeshList != null) + { + for(int i=0; i(); + //if (mr != null) DestroyImmediate(mr); + //var mf = temporaryAreaLightMeshList[i].GetComponent(); + //if (mf != null) DestroyImmediate(mf); + DestroyImmediate(temporaryAreaLightMeshList[i]); + } + } + temporaryAreaLightMeshList = null; + } + } + + public static void ProgressBarEnd(bool removeTempObjects)// bool isError = true) + { + if (removeTempObjects) + { + if (terrainObjectList != null) + { + for(int i=0; i groupList) + { + id = id < 0 ? -1 : id; + if (lmgroup != null && lmgroup.parentName != null && lmgroup.parentName.Length > 0 && lmgroup.parentName != "|") + { + for(int g=0; g(); + if (storages[i] == null) + { + storages[i] = gg.AddComponent(); + } + + if (modifyLightmapStorage) + { + /* + storages[i].bakedRenderers = new List(); + storages[i].bakedIDs = new List(); + storages[i].bakedScaleOffset = new List(); + storages[i].bakedVertexOffset = new List(); + storages[i].bakedVertexColorMesh = new List(); + storages[i].bakedRenderersTerrain = new List(); + storages[i].bakedIDsTerrain = new List(); + storages[i].bakedScaleOffsetTerrain = new List(); + */ + storages[i].hasEmissive = new List(); + storages[i].lmGroupLODResFlags = null; + storages[i].lmGroupMinLOD = null; + storages[i].lmGroupLODMatrix = null; + storages[i].nonBakedRenderers = new List(); + } + if (first) + { + data.firstNonNullStorage = i; + first = false; + } + storages[i].implicitGroups = new List(); + storages[i].implicitGroupedObjects = new List(); + sceneToID[scene] = i; + } + + //var go = GameObject.Find("!ftraceLightmaps"); + //data.settingsStorage = go.GetComponent(); + } + + static void InitSceneStorage2(ExportSceneData data) + { + var storages = data.storages; + for(int i=0; i(); + storages[i].bakedIDs = new List(); + storages[i].bakedScaleOffset = new List(); + storages[i].bakedVertexOffset = new List(); + storages[i].bakedVertexColorMesh = new List(); + storages[i].bakedRenderersTerrain = new List(); + storages[i].bakedIDsTerrain = new List(); + storages[i].bakedScaleOffsetTerrain = new List(); + } + } + } + + // Used to pass maps to alphaBufferGen/frender via RAM (non-DX11) + public static TexInput InputDataFromTex(Texture tex, TexInputType ttype = TexInputType.Color) + { + RenderTextureFormat rtFormat = RenderTextureFormat.ARGB32; + TextureFormat texFormat = TextureFormat.RGBA32; + if (ttype == TexInputType.FloatColor) + { + rtFormat = RenderTextureFormat.ARGBFloat; + texFormat = TextureFormat.RGBAFloat; + } + else if (ttype == TexInputType.HalfColor) + { + rtFormat = RenderTextureFormat.ARGBHalf; + texFormat = TextureFormat.RGBAHalf; + } + var rt = new RenderTexture(tex.width, tex.height, 0, rtFormat); + var readableTex = new Texture2D(tex.width, tex.height, texFormat, false); + Graphics.Blit(tex, rt); + Graphics.SetRenderTarget(rt); + readableTex.ReadPixels(new Rect(0,0,tex.width,tex.height), 0, 0, false); + readableTex.Apply(); + var bytes = readableTex.GetRawTextureData(); + + var a = new TexInput(); + a.data = bytes; + a.width = (ushort)tex.width; + a.height = (ushort)tex.height; + + DestroyImmediate(readableTex); + rt.Release(); + + return a; + } + + public static byte[] InputBytesFromTex(Texture tex, TexInputType ttype = TexInputType.Color) + { + RenderTextureFormat rtFormat = RenderTextureFormat.ARGB32; + TextureFormat texFormat = TextureFormat.RGBA32; + byte[] header = ftDDS.ddsHeaderRGBA8; + if (ttype == TexInputType.FloatColor) + { + rtFormat = RenderTextureFormat.ARGBFloat; + texFormat = TextureFormat.RGBAFloat; + header = ftDDS.ddsHeaderFloat4; + } + else if (ttype == TexInputType.HalfColor) + { + rtFormat = RenderTextureFormat.ARGBHalf; + texFormat = TextureFormat.RGBAHalf; + header = ftDDS.ddsHeaderHalf4; + } + var rt = new RenderTexture(tex.width, tex.height, 0, rtFormat); + var readableTex = new Texture2D(tex.width, tex.height, texFormat, false); + Graphics.Blit(tex, rt); + Graphics.SetRenderTarget(rt); + readableTex.ReadPixels(new Rect(0,0,tex.width,tex.height), 0, 0, false); + readableTex.Apply(); + var bytes = readableTex.GetRawTextureData(); + + var fbytes = new byte[128 + bytes.Length]; + System.Buffer.BlockCopy(header, 0, fbytes, 0, 128); + System.Buffer.BlockCopy(BitConverter.GetBytes(tex.height), 0, fbytes, 12, 4); + System.Buffer.BlockCopy(BitConverter.GetBytes(tex.width), 0, fbytes, 16, 4); + System.Buffer.BlockCopy(bytes, 0, fbytes, 128, bytes.Length); + + DestroyImmediate(readableTex); + rt.Release(); + + return fbytes; + } + + public static TexInput InputDataFromCubemap(Texture tex, Matrix4x4 mtx, bool isLinear, bool isDoubleLDR, TexInputType ttype = TexInputType.Color) + { + RenderTextureFormat rtFormat = RenderTextureFormat.ARGB32; + TextureFormat texFormat = TextureFormat.RGBA32; + if (ttype == TexInputType.FloatColor) + { + rtFormat = RenderTextureFormat.ARGBFloat; + texFormat = TextureFormat.RGBAFloat; + } + else if (ttype == TexInputType.HalfColor) + { + rtFormat = RenderTextureFormat.ARGBHalf; + texFormat = TextureFormat.RGBAHalf; + } + + int outWidth = System.Math.Min(tex.width, 512); + int outHeight = System.Math.Min(tex.height, 512); + + var rt = new RenderTexture(outWidth, outHeight * 6, 0, rtFormat); + var readableTex = new Texture2D(outWidth, outHeight * 6, texFormat, false); + + if (matCubemapToStripExport == null) matCubemapToStripExport = new Material(Shader.Find("Hidden/ftCubemap2StripExport")); + matCubemapToStripExport.SetMatrix("transform", mtx); + matCubemapToStripExport.SetVector("isLinear_isDoubleLDR", new Vector4(isLinear ? 1 : 0, isDoubleLDR ? 1 : 0, 0, 0)); + + Graphics.Blit(tex, rt, matCubemapToStripExport); + Graphics.SetRenderTarget(rt); + readableTex.ReadPixels(new Rect(0,0,outWidth, outHeight * 6), 0, 0, false); + readableTex.Apply(); + var bytes = readableTex.GetRawTextureData(); + + var a = new TexInput(); + a.data = bytes; + a.width = (ushort)outWidth; + a.height = (ushort)(outHeight * 6); + + DestroyImmediate(readableTex); + rt.Release(); + + return a; + } + + static IEnumerator CreateLightProbeLMGroup(ExportSceneData data) + { + var storages = data.storages; + var sceneToID = data.sceneToID; + var lmBounds = data.lmBounds; + var groupList = data.groupList; + + var probes = LightmapSettings.lightProbes; + if (probes == null) + { + DebugLogError("No probes in LightingDataAsset"); + yield break; + } + var positions = probes.positions; + + int atlasTexSize = (int)Mathf.Ceil(Mathf.Sqrt((float)probes.count)); + atlasTexSize = (int)Mathf.Ceil(atlasTexSize / (float)ftRenderLightmap.tileSize) * ftRenderLightmap.tileSize; + var uvpos = new float[atlasTexSize * atlasTexSize * 4]; + var uvnormal = new byte[atlasTexSize * atlasTexSize * 4]; + + for(int i=0; i(); + lightProbeLMGroup.name = "probes"; + lightProbeLMGroup.probes = true; + lightProbeLMGroup.isImplicit = true; + lightProbeLMGroup.resolution = 256; + lightProbeLMGroup.bitmask = 1; + lightProbeLMGroup.mode = BakeryLightmapGroup.ftLMGroupMode.Vertex; + lightProbeLMGroup.id = data.lmid; + lightProbeLMGroup.totalVertexCount = probes.count; + lightProbeLMGroup.vertexCounter = 0; + lightProbeLMGroup.renderDirMode = BakeryLightmapGroup.RenderDirMode.ProbeSH; + lightProbeLMGroup.renderMode = (ftRenderLightmap.instance.userRenderMode == ftRenderLightmap.RenderMode.Subtractive && ftRenderLightmap.useUnityForOcclsusionProbes) ? BakeryLightmapGroup.RenderMode.Indirect : BakeryLightmapGroup.RenderMode.Auto; + groupList.Add(lightProbeLMGroup); + lmBounds.Add(new Bounds(new Vector3(0,0,0), new Vector3(10000,10000,10000))); + data.lmid++; + + storages[sceneToID[EditorSceneManager.GetActiveScene()]].implicitGroups.Add(lightProbeLMGroup); + storages[sceneToID[EditorSceneManager.GetActiveScene()]].implicitGroupedObjects.Add(null); + } + + static IEnumerator CreateVolumeLMGroup(ExportSceneData data) + { + ftRenderLightmap.hasAnyVolumes = false; + + var vols = ftRenderLightmap.FindBakeableVolumes(); + if (vols.Length == 0) yield break; + + ftRenderLightmap.hasAnyVolumes = true; + + var storages = data.storages; + var sceneToID = data.sceneToID; + var lmBounds = data.lmBounds; + var groupList = data.groupList; + + int numTotalProbes = 0; + for(int v=0; v(); + volumeLMGroup.name = "volumes"; + volumeLMGroup.probes = true; + volumeLMGroup.fixPos3D = true; + volumeLMGroup.voxelSize = halfVoxelSize * 2; // incorrect... should be different for every probe + volumeLMGroup.isImplicit = true; + volumeLMGroup.resolution = 256; + volumeLMGroup.bitmask = 1; + volumeLMGroup.mode = BakeryLightmapGroup.ftLMGroupMode.Vertex; + volumeLMGroup.id = data.lmid; + volumeLMGroup.totalVertexCount = numTotalProbes; + volumeLMGroup.vertexCounter = 0; + volumeLMGroup.renderMode = (BakeryLightmapGroup.RenderMode)pstorage.volumeRenderMode; + volumeLMGroup.renderDirMode = BakeryLightmapGroup.RenderDirMode.ProbeSH; + groupList.Add(volumeLMGroup); + lmBounds.Add(new Bounds(new Vector3(0,0,0), new Vector3(10000,10000,10000))); + data.lmid++; + + storages[sceneToID[EditorSceneManager.GetActiveScene()]].implicitGroups.Add(volumeLMGroup); + storages[sceneToID[EditorSceneManager.GetActiveScene()]].implicitGroupedObjects.Add(null); + } + + static void CollectExplicitLMGroups(ExportSceneData data) + { + var groupList = data.groupList; + var lmBounds = data.lmBounds; + + // Find explicit LMGroups + // (Also init lmBounds and LMID) + var groupSelectors = new List(FindObjectsOfType(typeof(BakeryLightmapGroupSelector)) as BakeryLightmapGroupSelector[]); + for(int i=0; i(); + if (terr == null) return; + if (!terr.enabled) return; + + if (!obj.activeInHierarchy) return; + if ((obj.hideFlags & (HideFlags.DontSave|HideFlags.HideAndDontSave)) != 0) return; // skip temp objects + if (obj.tag == "EditorOnly") return; // skip temp objects + if ((GameObjectUtility.GetStaticEditorFlags(obj) & StaticEditorFlags.LightmapStatic) == 0) return; // skip dynamic + + var so = new SerializedObject(terr); + var scaleInLmTerr = so.FindProperty("m_ScaleInLightmap").floatValue; + + var terrParent = new GameObject(); + SceneManager.MoveGameObjectToScene(terrParent, obj.scene); + terrParent.transform.parent = obj.transform;//.parent; + var expGroup = obj.GetComponent(); + if (expGroup != null) + { + var expGroup2 = terrParent.AddComponent(); + expGroup2.lmgroupAsset = expGroup.lmgroupAsset; + expGroup2.instanceResolutionOverride = expGroup.instanceResolutionOverride; + expGroup2.instanceResolution = expGroup.instanceResolution; + } + terrParent.name = "__ExportTerrainParent"; + terrainObjectList.Add(terrParent); + terrainObjectToActual.Add(terr); + + var tdata = terr.terrainData; + int res = tdata.heightmapResolution; + var heightmap = tdata.GetHeights(0, 0, res, res); + var uvscale = new Vector2(1,1) / (res-1); + var uvoffset = new Vector2(0,0); + var gposOffset = obj.transform.position; + float scaleX = tdata.size.x / (res-1); + float scaleY = tdata.size.y; + float scaleZ = tdata.size.z / (res-1); + + int patchRes = res; + while(patchRes > 254) patchRes = 254;//patchRes /= 2; + int numVerts = patchRes * patchRes; + int numPatches = (int)Mathf.Ceil(res / (float)patchRes); + + // Gen terrain texture + var oldMat = terr.materialTemplate; + var oldMatType = terr.materialType; + var oldPos = obj.transform.position; +#if UNITY_2018_3_OR_NEWER + var oldInstanced = terr.drawInstanced; +#endif + var unlitTerrainMat = new Material(Shader.Find("Hidden/ftUnlitTerrain")); + //unlitTerrainMat = AssetDatabase.LoadAssetAtPath("Assets/Bakery/ftUnlitTerrain.mat", typeof(Material)) as Material; + terr.materialTemplate = unlitTerrainMat; + terr.materialType = Terrain.MaterialType.Custom; +#if UNITY_2018_3_OR_NEWER + terr.drawInstanced = false; +#endif + obj.transform.position = new Vector3(-10000, -10000, -10000); // let's hope it's not the worst idea + var tempCamGO = new GameObject(); + tempCamGO.transform.parent = obj.transform; + tempCamGO.transform.localPosition = new Vector3(tdata.size.x * 0.5f, scaleY + 1, tdata.size.z * 0.5f); + tempCamGO.transform.eulerAngles = new Vector3(90,0,0); + var tempCam = tempCamGO.AddComponent(); + tempCam.orthographic = true; + tempCam.orthographicSize = Mathf.Max(tdata.size.x, tdata.size.z) * 0.5f; + tempCam.aspect = Mathf.Max(tdata.size.x, tdata.size.z) / Mathf.Min(tdata.size.x, tdata.size.z); + tempCam.enabled = false; + tempCam.clearFlags = CameraClearFlags.SolidColor; + tempCam.backgroundColor = new Color(0,0,0,0); + tempCam.targetTexture = + new RenderTexture(tdata.baseMapResolution, tdata.baseMapResolution, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB); + var tex = new Texture2D(tdata.baseMapResolution, tdata.baseMapResolution, TextureFormat.ARGB32, true, false); + RenderTexture.active = tempCam.targetTexture; + tempCam.Render(); + terr.materialTemplate = oldMat; + terr.materialType = oldMatType; +#if UNITY_2018_3_OR_NEWER + terr.drawInstanced = oldInstanced; +#endif + obj.transform.position = oldPos; + RenderTexture.active = tempCam.targetTexture; + tex.ReadPixels(new Rect(0,0,tdata.baseMapResolution, tdata.baseMapResolution), 0, 0, true); + tex.Apply(); + unlitTerrainMat.mainTexture = tex; + Graphics.SetRenderTarget(null); + DestroyImmediate(tempCamGO); + + bool isDX11 = SystemInfo.graphicsDeviceType == GraphicsDeviceType.Direct3D11; + + if (exportTerrainAsHeightmap) + { + var hmap = new BinaryWriter(File.Open(scenePath + "/height" + terrainObjectToHeightMap.Count + ".dds", FileMode.Create)); + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add("height" + terrainObjectToHeightMap.Count + ".dds"); + + hmap.Write(ftDDS.ddsHeaderR32F); + var bytes = new byte[res * res * 4]; + + // Normalize heights + float maxHeight = 0; + float height; + for(int y=0; y maxHeight) maxHeight = height; + } + } + maxHeight = Mathf.Max(maxHeight, 0.0001f); + float invMaxHeight = 1.0f / maxHeight; + for(int y=0; y()); + //terrainObjectToNormalMips.Add(new List()); + + if (mipRes > 0) + { + floats = new float[mipRes * mipRes]; + //normals = new Vector3[mipRes * mipRes]; + for(int y=0; y h10 ? h00 : h10; + height = height > h01 ? height : h01; + height = height > h11 ? height : h11; + floats[y*mipRes+x] = height;*/ + + float maxVal = 0; + for(int yy=0; yy<3; yy++) + { + for(int xx=0; xx<3; xx++) + { + float val = heightmap[y*2+yy, x*2+xx]; + if (val > maxVal) maxVal = val; + } + } + floats[y*mipRes+x] = maxVal; + + //n00 = normalsPrev[y*2 * res + x*2]; + //n10 = normalsPrev[y*2 * res + x*2+1]; + //n01 = normalsPrev[(y*2+1) * res + x*2]; + //n11 = normalsPrev[(y*2+1) * res + x*2+1]; + //normals[y*mipRes+x] = (n00 + n10 + n01 + n11); + } + } + + System.Buffer.BlockCopy(floats, 0, bytes, 0, mipRes*mipRes*4); + hmap.Write(bytes, 0, mipRes*mipRes*4); + + float[] storedMip = new float[mipRes*mipRes]; + System.Buffer.BlockCopy(floats, 0, storedMip, 0, mipRes*mipRes*4); + terrainObjectToHeightMips[terrIndex].Add(storedMip); + //terrainObjectToNormalMips[terrIndex].Add(normals); + + mipCount++; + mipRes /= 2; + } + + // Next mips are regular max() of 4 texels + while(mipRes > 1) + { + if (floatsPrev == null) + { + floatsPrev = floats; + floats = new float[mipRes * mipRes]; + } + + //normalsPrev = normals; + //normals = new Vector3[mipRes * mipRes]; + + for(int y=0; y h10 ? h00 : h10; + height = height > h01 ? height : h01; + height = height > h11 ? height : h11; + floats[y*mipRes+x] = height; + + //n00 = normalsPrev[y*2 * mipRes*2 + x*2]; + //n10 = normalsPrev[y*2 * mipRes*2 + x*2+1]; + //n01 = normalsPrev[(y*2+1) * mipRes*2 + x*2]; + //n11 = normalsPrev[(y*2+1) * mipRes*2 + x*2+1]; + //normals[y*mipRes+x] = (n00 + n10 + n01 + n11); + } + } + + System.Buffer.BlockCopy(floats, 0, bytes, 0, mipRes*mipRes*4); + hmap.Write(bytes, 0, mipRes*mipRes*4); + + float[] storedMip = new float[mipRes*mipRes]; + System.Buffer.BlockCopy(floats, 0, storedMip, 0, mipRes*mipRes*4); + terrainObjectToHeightMips[terrIndex].Add(storedMip); + //terrainObjectToNormalMips[terrIndex].Add(normals); + + mipCount++; + mipRes /= 2; + + floatsTmp = floatsPrev; + floatsPrev = floats; + floats = floatsTmp; + } + + hmap.BaseStream.Seek(12, SeekOrigin.Begin); + hmap.Write(res); + hmap.Write(res); + hmap.BaseStream.Seek(28, SeekOrigin.Begin); + hmap.Write(mipCount); + hmap.Close(); + + // Create dummy plane for packing/albedo/emissive purposes + var mesh = new Mesh(); + mesh.vertices = new Vector3[] { gposOffset, + gposOffset + new Vector3(tdata.size.x, 0, 0), + gposOffset + new Vector3(tdata.size.x, 0, tdata.size.z), + gposOffset + new Vector3(0, 0, tdata.size.z) }; + mesh.triangles = new int[]{0,1,2, 2,3,0}; + mesh.normals = new Vector3[]{Vector3.up, Vector3.up, Vector3.up, Vector3.up}; + mesh.uv = new Vector2[]{new Vector2(0,0), new Vector2(1,0), new Vector2(1,1), new Vector2(0,1)}; + mesh.uv2 = mesh.uv; + + var terrGO = new GameObject(); + terrGO.name = "__ExportTerrain"; + GameObjectUtility.SetStaticEditorFlags(terrGO, StaticEditorFlags.LightmapStatic); + terrGO.transform.parent = terrParent.transform; + var mf = terrGO.AddComponent(); + var mr = terrGO.AddComponent(); + mf.sharedMesh = mesh; +#if UNITY_2019_3_OR_NEWER + // using standard materialTemplates in 2019.3 doesn't work + mr.sharedMaterial = unlitTerrainMat; +#else + mr.sharedMaterial = (terr.materialTemplate == null) ? unlitTerrainMat : terr.materialTemplate; +#endif + + terrGO.transform.position = obj.transform.position; + + var so2 = new SerializedObject(mr); + so2.FindProperty("m_ScaleInLightmap").floatValue = scaleInLmTerr; + so2.ApplyModifiedProperties(); + + //terrainObjectList.Add(terrGO); + //terrainObjectToActual.Add(terr); + } + else + { + for (int patchX=0; patchX(); + var mr = terrGO.AddComponent(); + mf.sharedMesh = mesh; +#if UNITY_2019_3_OR_NEWER + // using standard materialTemplates in 2019.3 doesn't work + mr.sharedMaterial = unlitTerrainMat; +#else + mr.sharedMaterial = (terr.materialTemplate == null) ? unlitTerrainMat : terr.materialTemplate; +#endif + + var so2 = new SerializedObject(mr); + so2.FindProperty("m_ScaleInLightmap").floatValue = scaleInLmTerr; + so2.ApplyModifiedProperties(); + + mr.shadowCastingMode = terr.castShadows ? UnityEngine.Rendering.ShadowCastingMode.On : UnityEngine.Rendering.ShadowCastingMode.Off; + + terrainObjectList.Add(terrGO); + terrainObjectToActual.Add(terr); + } + } + } + + if (exportTerrainTrees && terr.drawTreesAndFoliage) + { + var trees = tdata.treeInstances; + for (int t = 0; t < trees.Length; t++) + { + Vector3 pos = Vector3.Scale(trees[t].position, tdata.size) + obj.transform.position; + + var treeProt = tdata.treePrototypes[trees[t].prototypeIndex]; + var prefab = treeProt.prefab; + + var newObj = GameObject.Instantiate(prefab, pos, Quaternion.AngleAxis(trees[t].rotation, Vector3.up)) as GameObject; + newObj.name = "__Export" + newObj.name; + temporaryGameObjects.Add(newObj); + + var lodGroup = newObj.GetComponent(); + if (lodGroup == null) + { + var renderers = newObj.GetComponentsInChildren(); + for(int r=0; r(); + if (areaLightMesh != null) + { + var areaLight = obj.GetComponent(); + var mr = GetValidRenderer(obj); + var mf = obj.GetComponent(); + + if (!forceAllAreaLightsSelfshadow) + { + if (!areaLightMesh.selfShadow) return true; // no selfshadow - ignore mesh export + } + if (areaLight != null && ftLightMeshInspector.IsArea(areaLight) && (mr == null || mf == null)) + { + var areaObj = new GameObject(); + mf = areaObj.AddComponent(); + mf.sharedMesh = BuildAreaLightMesh(areaLight); + mr = areaObj.AddComponent(); + + var props = new MaterialPropertyBlock(); + props.SetColor("_Color", areaLightMesh.color); + props.SetFloat("intensity", areaLightMesh.intensity); + if (areaLightMesh.texture != null) props.SetTexture("_MainTex", areaLightMesh.texture); + mr.SetPropertyBlock(props); + GameObjectUtility.SetStaticEditorFlags(areaObj, StaticEditorFlags.LightmapStatic); + temporaryAreaLightMeshList.Add(areaObj); + temporaryAreaLightMeshList2.Add(areaLightMesh); + + var xformSrc = obj.transform; + var xformDest = areaObj.transform; + xformDest.position = xformSrc.position; + xformDest.rotation = xformSrc.rotation; + var srcMtx = xformSrc.localToWorldMatrix; + xformDest.localScale = new Vector3(srcMtx.GetColumn(0).magnitude, srcMtx.GetColumn(1).magnitude, srcMtx.GetColumn(2).magnitude); + + return true; // mesh created + } + } + return false; // not Light Mesh + } + + static void MapObjectsToSceneLODs(ExportSceneData data, UnityEngine.Object[] objects) + { + var objToLodLevel = data.objToLodLevel; + var objToLodLevelVisible = data.objToLodLevelVisible; + lodLevelsVisibleInLodLevel = new Dictionary>(); + + const int maxSceneLodLevels = 100; + var sceneLodUsed = new int[maxSceneLodLevels]; + for(int i=0; i[lodGroups.Length]; + var localLodLevelsInLodGroup = new List[lodGroups.Length]; + int lcounter = -1; + foreach(LODGroup lodgroup in lodGroups) + { + lcounter++; + if (!lodgroup.enabled) continue; + var obj = lodgroup.gameObject; + if (obj == null) continue; + if (!obj.activeInHierarchy) continue; + var path = AssetDatabase.GetAssetPath(obj); + if (path != "") continue; // must belond to scene + if ((obj.hideFlags & (HideFlags.DontSave|HideFlags.HideAndDontSave)) != 0) continue; // skip temp objects + if (obj.tag == "EditorOnly") continue; // skip temp objects + + var lods = lodgroup.GetLODs(); + if (lods.Length == 0) continue; + + for(int i=0; i() != null; + if (!mrEnabled) continue; + //if (mf.sharedMesh == null) continue; + + var so = new SerializedObject(mr); + var scaleInLm = so.FindProperty("m_ScaleInLightmap").floatValue; // (before FilterObjects) + if (scaleInLm == 0) continue; + + lightmappedLOD = true; + break; + } + if (!lightmappedLOD) continue; + + var lodDist = i == 0 ? 0 : (int)Mathf.Clamp((1.0f-lods[i-1].screenRelativeTransitionHeight) * (maxSceneLodLevels-1), 0, maxSceneLodLevels-1); + if (sceneLodUsed[lodDist] < 0) + { + sceneLodUsed[lodDist] = sceneLodsUsed; + sceneLodsUsed++; + } + int newLodLevel = sceneLodUsed[lodDist]; + + if (lodLevelsInLodGroup[lcounter] == null) + { + lodLevelsInLodGroup[lcounter] = new List(); + localLodLevelsInLodGroup[lcounter] = new List(); + } + if (lodLevelsInLodGroup[lcounter].IndexOf(newLodLevel) < 0) + { + lodLevelsInLodGroup[lcounter].Add(newLodLevel); + localLodLevelsInLodGroup[lcounter].Add(i); + } + + for(int j=0; j visList; + if (!objToLodLevelVisible.TryGetValue(r.gameObject, out visList)) objToLodLevelVisible[r.gameObject] = visList = new List(); + visList.Add(newLodLevel); + } + } + } + } + + // Sort scene LOD levels + int counter = 0; + var unsortedLodToSortedLod = new int[maxSceneLodLevels]; + for(int i=0; i= 0) + { + unsortedLodToSortedLod[unsorted] = counter; + sceneLodUsed[i] = counter; + counter++; + } + } + var keys = new GameObject[objToLodLevel.Count]; + counter = 0; + foreach(var pair in objToLodLevel) + { + keys[counter] = pair.Key; + counter++; + } + foreach(var key in keys) + { + int unsorted = objToLodLevel[key]; + objToLodLevel[key] = unsortedLodToSortedLod[unsorted]; + var visList = objToLodLevelVisible[key]; + for(int j=0; j 1) + { + var lodRenderers = lods[localLevel].renderers; + for(int k=0; k visList; + if (!lodLevelsVisibleInLodLevel.TryGetValue(affectedLOD, out visList)) lodLevelsVisibleInLodLevel[affectedLOD] = visList = new List(); + if (visList.IndexOf(objOwnLOD) < 0) visList.Add(objOwnLOD); + } + } + /*foreach(var pair in lodLevelsVisibleInLodLevel) + { + string str = "LOD " + pair.Key + " sees: "; + for(int i=0; i[sceneLodsUsed]; + data.indicesTransparentLOD = new List[sceneLodsUsed]; + for(int i=0; i(); + data.indicesTransparentLOD[i] = new List(); + } + + // Sort objects by scene-wide LOD level + if (sceneLodsUsed > 0) + { + Array.Sort(objects, delegate(UnityEngine.Object a, UnityEngine.Object b) + { + if (a == null || b == null) return 0; + int lodLevelA = -1; + int lodLevelB = -1; + if (!objToLodLevel.TryGetValue((GameObject)a, out lodLevelA)) lodLevelA = -1; + if (!objToLodLevel.TryGetValue((GameObject)b, out lodLevelB)) lodLevelB = -1; + return lodLevelA.CompareTo(lodLevelB); + }); + } + } + + public static int IsInsideSector(Transform tform, Transform sectorTform, Bounds b, BakerySector s) + { + var parent = tform; + while(parent != null) + { + if (parent == sectorTform) return 1; // belongs to this sector + parent = parent.parent; + } + + return 0; // far + } + + static bool ClipFarSphere(FarSphereRenderData clipee, FarSphereRenderData clipper) + { + if (farSphereProjClipShader == null) + { + farSphereProjClipShader = Shader.Find("Hidden/ftFarSphereProjClip"); + if (farSphereProjClipShader == null) + { + Debug.LogError("Can't find ftFarSphereProjClip shader"); + return false; + } + } + + if (farSphereProjClipMat == null) + { + farSphereProjClipMat = new Material(farSphereProjClipShader); + } + + // Project clipper depth to clipee + // If projected pixel is on screen and is closer to the projector + // draw empty pixel + // else + // discard + var cmd = new CommandBuffer(); + Shader.SetGlobalFloat("_InvCubeSize", 1.0f / ftAdditionalConfig.sectorFarSphereResolution); + for(int i=0; i<6; i++) + { + Shader.SetGlobalTexture("_CurDepth", clipee.depth[i]); + Shader.SetGlobalMatrix("_CurInvViewProj", Matrix4x4.Inverse(clipee.viewProj[i])); + Shader.SetGlobalVector("_CurPos", clipee.pos); + Shader.SetGlobalTexture("_CurNormal", clipee.normal[i]); + + for(int j=0; j<6; j++) + { + Shader.SetGlobalTexture("_ProjDepth", clipper.depth[j]); + Shader.SetGlobalMatrix("_ProjViewProj", clipper.viewProj[j]); + Shader.SetGlobalVector("_ProjPos", clipper.pos); + + //Graphics.Blit(null, clipee.albedo[i], farSphereProjClipMat); // can flip + + cmd.Clear(); + cmd.SetRenderTarget(new RenderTargetIdentifier(clipee.albedo[i]), 0, CubemapFace.Unknown, 0); + cmd.DrawProcedural(Matrix4x4.identity, farSphereProjClipMat, 0, MeshTopology.Triangles, 6, 1, null); + Graphics.ExecuteCommandBuffer(cmd); + } + } + + return true; + } + + static FarSphereRenderData GenerateFarSphereData(ExportSceneData data, Vector3 capturePoint, int objCount, bool genProjMatrix) + { + // Constants + const int cubeRes = ftAdditionalConfig.sectorFarSphereResolution; + + var rot = new Vector3[6]; + rot[0] = new Vector3(0, -90, 0); + rot[1] = new Vector3(0, 90, 0); + rot[2] = new Vector3(90, 0, 0); + rot[3] = new Vector3(-90, 0, 0); + rot[4] = new Vector3(0, 180, 180); + rot[5] = new Vector3(0, 0, 180); + + var wnormal = new Vector3[6]; + wnormal[0] = -Vector3.right; + wnormal[1] = Vector3.right; + wnormal[2] = -Vector3.up; + wnormal[3] = Vector3.up; + wnormal[4] = -Vector3.forward; + wnormal[5] = Vector3.forward; + + var objsToWrite = data.objsToWrite; + //var sector = ftRenderLightmap.curSector; + + // Load shaders + if (farSphereRshader == null) + { + farSphereRshader = Shader.Find("Hidden/ftFarSphereRender"); + if (farSphereRshader == null) + { + Debug.LogError("Can't find ftFarSphereRender shader"); + return null; + } + } + + if (farSphereRshaderOcc == null) + { + farSphereRshaderOcc = Shader.Find("Hidden/ftFarSphereRenderOccluder"); + if (farSphereRshaderOcc == null) + { + Debug.LogError("Can't find ftFarSphereRenderOccluder shader"); + return null; + } + } + + if (farSphereMatOcc == null) + { + farSphereMatOcc = new Material(farSphereRshaderOcc); + } + + // Create RTs + FarSphereRenderData outData = new FarSphereRenderData(); + outData.albedo = new RenderTexture[6]; + outData.depth = new RenderTexture[6]; + outData.normal = new RenderTexture[6]; + outData.viewProj = new Matrix4x4[6]; + outData.pos = capturePoint; + for(int i=0; i<6; i++) + { + outData.albedo[i] = new RenderTexture(cubeRes, cubeRes, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB); + outData.albedo[i].wrapMode = TextureWrapMode.Clamp; + outData.albedo[i].Create(); + outData.depth[i] = new RenderTexture(cubeRes, cubeRes, 32, RenderTextureFormat.Depth, RenderTextureReadWrite.Linear); + outData.depth[i].filterMode = FilterMode.Point; + outData.depth[i].wrapMode = TextureWrapMode.Clamp; + outData.depth[i].Create(); + outData.normal[i] = new RenderTexture(cubeRes, cubeRes, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); + outData.normal[i].filterMode = FilterMode.Point; + outData.normal[i].wrapMode = TextureWrapMode.Clamp; + outData.normal[i].Create(); + } + + bool useCamera = true; + List outsideRenderers = null; +//#if UNITY_2019_1_OR_NEWER +// if (GraphicsSettings.renderPipelineAsset != null) +// { + useCamera = false; + outsideRenderers = data.outsideRenderers; + if (farSphereMat == null) + { + farSphereMat = new Material(farSphereRshader); + } +// } +//#endif + + GameObject tempCamGO = null; + Camera tempCam = null; + Transform camTform = null; + Matrix4x4 uProj; + if (useCamera) + { + // Create temp camera + tempCamGO = new GameObject(); + tempCamGO.name = "BakerySectorFarCamera"; + camTform = tempCamGO.transform; + camTform.localPosition = capturePoint;// sectorCenter; + tempCam = tempCamGO.AddComponent(); + tempCam.orthographic = false; + tempCam.aspect = 1.0f; + tempCam.fieldOfView = 90.0f; + tempCam.enabled = false; + tempCam.clearFlags = CameraClearFlags.Nothing; + tempCam.backgroundColor = new Color(0,0,0,0); + tempCam.SetReplacementShader(farSphereRshader, "RenderType"); + tempCam.nearClipPlane = 0.1f; + tempCam.farClipPlane = 1000.0f; + tempCam.renderingPath = RenderingPath.Forward; + + uProj = tempCam.projectionMatrix; + } + else + { + uProj = Matrix4x4.Perspective(90, 1, 0.1f, 1000.0f); + } + + var proj = GL.GetGPUProjectionMatrix(uProj, true); + + /*// Set culling matrices for the render (cull things inside the sector + near distance) + if (sector.tforms.Count == 0) + { + Shader.SetGlobalFloat("cullMatricesCount", 0); + } + else + { + var cullMatrices = new Matrix4x4[sector.tforms.Count]; + for(int i=0; i().sharedMesh; + var worldMatrix = objsToWrite[o].transform.localToWorldMatrix; + for(int s=0; s().sharedMesh; + var worldMatrix = outsideRenderers[o].transform.localToWorldMatrix; + var mats = outsideRenderers[o].sharedMaterials; + for(int s=0; s s && mats[s] != null && mats[s].HasProperty("_MainTex")) + { + var mat = mats[s]; + Texture tex = null; + + if (mat.HasProperty("_MainTex")) + { + tex = mat.mainTexture; + } + else if (mat.HasProperty("_BaseColorMap")) + { + // HDRP + tex = mat.GetTexture("_BaseColorMap"); + } + else if (mat.HasProperty("_BaseMap")) + { + // URP + tex = mat.GetTexture("_BaseMap"); + } + + farSphereMat.SetTexture("_MainTex", tex); + + pass = 0; // opaque + if (tex != null) + { + var matTag = mat.GetTag("RenderType", true); + if (matTag == "TransparentCutout" || matTag == "Transparent" || matTag == "TreeLeaf") + { + pass = 2; // transparent cutout + } + } + + farSphereMat.SetPass(pass); + } + + for(int j=0; j capturePoints) + { + if (fdatas.Length == 0) return true; + + // Constants + const int cubeRes = ftAdditionalConfig.sectorFarSphereResolution; + const int threadWidth = 16; + const int vertWidth = cubeRes; + const int dispatchWidth = vertWidth / threadWidth; + const int triCount = (vertWidth-1)*(vertWidth-1)*2; + int dispatchIndexGroups = (int)Mathf.Ceil(triCount / (float)(threadWidth * threadWidth)); + + var wnormal = new Vector3[6]; + wnormal[0] = -Vector3.right; + wnormal[1] = Vector3.right; + wnormal[2] = -Vector3.up; + wnormal[3] = Vector3.up; + wnormal[4] = -Vector3.forward; + wnormal[5] = Vector3.forward; + + var objsToWrite = data.objsToWrite; + var objsToWriteNames = data.objsToWriteNames; + var objsToWriteLightmapped = data.objsToWriteLightmapped; + var objsToWriteGroup = data.objsToWriteGroup; + var objsToWriteHolder = data.objsToWriteHolder; + var objsToWriteVerticesUV = data.objsToWriteVerticesUV; + var objsToWriteVerticesUV2 = data.objsToWriteVerticesUV2; + var objsToWriteIndices = data.objsToWriteIndices; + var objToScaleInLm = data.objToScaleInLm; + if (data.autoVertexGroup == null) CreateAutoVertexGroup(data, data.objsToWrite.Count > 0 ? data.objsToWrite[0] : null); + var storages = data.storages; + var sceneToID = data.sceneToID; + + if (farSphereSshader == null) + { + farSphereSshader = Shader.Find("Hidden/ftFarSphere"); + if (farSphereSshader == null) + { + Debug.LogError("Can't find ftFarSphere shader"); + return false; + } + } + + var bakeryEditorPath = ftLightmaps.GetEditorPath(); + + if (farSphereCSTransform == null) + { + farSphereCSTransform = AssetDatabase.LoadAssetAtPath(bakeryEditorPath + "shaderSrc/ftTransformFarSphere.compute", typeof(ComputeShader)) as ComputeShader; + if (farSphereCSTransform == null) + { + Debug.LogError("Can't find ftTransformFarSphere"); + return false; + } + } + + if (farSphereCSCull == null) + { + farSphereCSCull = AssetDatabase.LoadAssetAtPath(bakeryEditorPath + "shaderSrc/ftCullFarSphere.compute", typeof(ComputeShader)) as ComputeShader; + if (farSphereCSCull == null) + { + Debug.LogError("Can't find ftCullFarSphere"); + return false; + } + } + + // Create temp buffers + var rwBuff = new ComputeBuffer(vertWidth * vertWidth, 12); // vertices in/out + var indBuff = new ComputeBuffer(triCount, 3*4); // indices in + var appendBuff = new ComputeBuffer(triCount, 3*4, ComputeBufferType.Append); // indices out + var countBuff = new ComputeBuffer(1, 4, ComputeBufferType.Raw); // out index count + var countArray = new int[1]; + var uvBuff = new ComputeBuffer(vertWidth * vertWidth, 8); // vertex UVs + + // Create shared input index buffer + var tris = new int[(vertWidth-1) * (vertWidth-1) * 2 * 3]; + int indCount = 0; + for(int y=0; y(); + var so = new SerializedObject(mr); + var scaleInLm = so.FindProperty("m_ScaleInLightmap"); + scaleInLm.floatValue = 0; + so.ApplyModifiedProperties(); + mr.sharedMaterial = mat; + GameObjectUtility.SetStaticEditorFlags(faceMesh, StaticEditorFlags.LightmapStatic); + + var mf = faceMesh.AddComponent(); + + var mesh = new Mesh(); + mesh.vertices = verts; + mesh.uv = uv; + mesh.triangles = arr; + totalTris += arr.Length; + mesh.RecalculateNormals(); + mf.sharedMesh = mesh; + fdata.meshes[i] = mesh; + + objsToWrite.Add(faceMesh); + objsToWriteNames.Add(""); + objsToWriteLightmapped.Add(false); + objsToWriteGroup.Add(data.autoVertexGroup); + objsToWriteHolder.Add(faceMesh); + objsToWriteVerticesUV.Add(uv); + objsToWriteVerticesUV2.Add(uv); + var inds = new int[1][]; + inds[0] = arr; + objsToWriteIndices.Add(inds); + objToScaleInLm[faceMesh] = 0; + + if (sceneST == null) sceneST = storages[sceneToID[faceMesh.scene]]; + sceneST.implicitGroupedObjects.Add(faceMesh); + sceneST.implicitGroups.Add(data.autoVertexGroup); + tempStorage.implicitGroupMap[faceMesh] = data.autoVertexGroup; + + if (modifyLightmapStorage) sceneST.nonBakedRenderers.Add(mr); + + fdata.albedo[i].Release(); + fdata.depth[i].Release(); + fdata.normal[i].Release(); + } + } + + Debug.Log("Total out-of-sector tris: " + totalTris); + + tempTex.Release(); + rwBuff.Release(); + indBuff.Release(); + appendBuff.Release(); + countBuff.Release(); + uvBuff.Release(); + + return true; + } + + static bool LoadSectorCapture(ExportSceneData data, BakerySectorCapture capture, Transform sectorTform) + { + if (capture.meshes == null) + { + Debug.LogError("No meshes in capture"); + return false; + } + if (capture.positions == null) + { + Debug.LogError("No positions in capture"); + return false; + } + if (capture.textures == null) + { + Debug.LogError("No textures in capture"); + return false; + } + + if (farSphereSshader == null) + { + farSphereSshader = Shader.Find("Hidden/ftFarSphere"); + if (farSphereSshader == null) + { + Debug.LogError("Can't find ftFarSphere shader"); + return false; + } + } + + var objsToWrite = data.objsToWrite; + var objsToWriteNames = data.objsToWriteNames; + var objsToWriteLightmapped = data.objsToWriteLightmapped; + var objsToWriteGroup = data.objsToWriteGroup; + var objsToWriteHolder = data.objsToWriteHolder; + var objsToWriteVerticesUV = data.objsToWriteVerticesUV; + var objsToWriteVerticesUV2 = data.objsToWriteVerticesUV2; + var objsToWriteIndices = data.objsToWriteIndices; + var objToScaleInLm = data.objToScaleInLm; + if (data.autoVertexGroup == null) CreateAutoVertexGroup(data, data.objsToWrite.Count > 0 ? data.objsToWrite[0] : null); + var storages = data.storages; + var sceneToID = data.sceneToID; + + var parent = new GameObject(); + parent.name = "fp"; + var parentTform = parent.transform; + parentTform.position = capture.sectorPos; + parentTform.rotation = capture.sectorRot; + temporaryGameObjects.Add(parent); + + ftLightmapsStorage sceneST = null; + + for(int i=0; i(); + var so = new SerializedObject(mr); + var scaleInLm = so.FindProperty("m_ScaleInLightmap"); + scaleInLm.floatValue = 0; + so.ApplyModifiedProperties(); + mr.sharedMaterial = mat; + GameObjectUtility.SetStaticEditorFlags(faceMesh, StaticEditorFlags.LightmapStatic); + + var mf = faceMesh.AddComponent(); + mf.sharedMesh = capture.meshes[i]; + + objsToWrite.Add(faceMesh); + objsToWriteNames.Add(""); + objsToWriteLightmapped.Add(false); + objsToWriteGroup.Add(data.autoVertexGroup); + objsToWriteHolder.Add(faceMesh); + + var uv = mf.sharedMesh.uv; + objsToWriteVerticesUV.Add(uv); + objsToWriteVerticesUV2.Add(uv); + + var inds = new int[1][]; + inds[0] = mf.sharedMesh.triangles; + objsToWriteIndices.Add(inds); + objToScaleInLm[faceMesh] = 0; + + if (sceneST == null) sceneST = storages[sceneToID[faceMesh.scene]]; + sceneST.implicitGroupedObjects.Add(faceMesh); + sceneST.implicitGroups.Add(data.autoVertexGroup); + tempStorage.implicitGroupMap[faceMesh] = data.autoVertexGroup; + + if (modifyLightmapStorage) sceneST.nonBakedRenderers.Add(mr); + } + + parentTform.rotation = sectorTform.rotation; + parentTform.position = sectorTform.position; + + return true; + } + + static void CreateAutoVertexGroup(ExportSceneData data, GameObject anyObj) + { + var groupList = data.groupList; + var lmBounds = data.lmBounds; + + data.autoVertexGroup = ScriptableObject.CreateInstance(); + data.autoVertexGroup.name = (anyObj == null ? "scene" : anyObj.scene.name) + "_VLM"; + data.autoVertexGroup.isImplicit = true; + data.autoVertexGroup.resolution = 256; + data.autoVertexGroup.bitmask = 1; + data.autoVertexGroup.mode = BakeryLightmapGroup.ftLMGroupMode.Vertex; + data.autoVertexGroup.id = data.lmid; + groupList.Add(data.autoVertexGroup); + lmBounds.Add(new Bounds(new Vector3(0,0,0), new Vector3(0,0,0))); + data.lmid++; + } + + static bool FilterObjects(ExportSceneData data, UnityEngine.Object[] objects) + { + var objToLodLevel = data.objToLodLevel; + var storages = data.storages; + var sceneToID = data.sceneToID; + var objsToWrite = data.objsToWrite; + var objsToWriteNames = data.objsToWriteNames; + var objsToWriteLightmapped = data.objsToWriteLightmapped; + var objsToWriteGroup = data.objsToWriteGroup; + var objsToWriteHolder = data.objsToWriteHolder; + var objsToWriteVerticesUV = data.objsToWriteVerticesUV; + var objsToWriteVerticesUV2 = data.objsToWriteVerticesUV2; + var objsToWriteIndices = data.objsToWriteIndices; + var objToScaleInLm = data.objToScaleInLm; + List outsideRenderers = null; + + outsideRenderers = data.outsideRenderers; +/*#if UNITY_2019_1_OR_NEWER + if (GraphicsSettings.renderPipelineAsset != null) + { + outsideRenderers = data.outsideRenderers; + } +#endif*/ + Transform sectorTform = null; + if (ftRenderLightmap.fullSectorRender) + { + sectorTform = ftRenderLightmap.curSector.transform; + } + + var prop = new MaterialPropertyBlock(); + foreach(GameObject obj in objects) + { + if (obj == null) continue; + if (!obj.activeInHierarchy) continue; + var path = AssetDatabase.GetAssetPath(obj); + if (path != "") continue; // must belond to scene + if ((obj.hideFlags & (HideFlags.DontSave|HideFlags.HideAndDontSave)) != 0) continue; // skip temp objects + if (obj.tag == "EditorOnly") continue; // skip temp objects + + var areaLight = obj.GetComponent(); + if (areaLight == null) + { + int areaIndex = temporaryAreaLightMeshList.IndexOf(obj); + if (areaIndex >= 0) areaLight = temporaryAreaLightMeshList2[areaIndex]; + } + + if (areaLight != null) + { + if (!forceAllAreaLightsSelfshadow) + { + if (!areaLight.selfShadow) continue; + } + } + var mr = GetValidRenderer(obj); + + if (mr == null) + { + // must be MR or SMR + continue; + } + + var sharedMesh = GetSharedMesh(mr); + if (sharedMesh == null) continue; // must have visible mesh + + // Remove previous lightmap +#if UNITY_2018_1_OR_NEWER + if (mr.HasPropertyBlock()) + { + // Reset shader props + mr.GetPropertyBlock(prop); + prop.SetFloat("bakeryLightmapMode", 0); + mr.SetPropertyBlock(prop); + } +#else + mr.GetPropertyBlock(prop); + if (!prop.isEmpty) + { + prop.SetFloat("bakeryLightmapMode", 0); + mr.SetPropertyBlock(prop); + } +#endif + if (((GameObjectUtility.GetStaticEditorFlags(obj) & StaticEditorFlags.LightmapStatic) == 0) && areaLight==null) + { + mr.lightmapIndex = 0xFFFF; + continue; // skip dynamic + } + + var mrEnabled = mr.enabled || obj.GetComponent() != null; + if (!mrEnabled && areaLight == null) continue; + + var so = new SerializedObject(mr);//obj.GetComponent()); + var scaleInLm = so.FindProperty("m_ScaleInLightmap").floatValue; + + if (ftRenderLightmap.fullSectorRender) + { + int status = IsInsideSector(obj.transform, sectorTform, mr.bounds, ftRenderLightmap.curSector); + if (status == 0) + { + if (outsideRenderers != null) outsideRenderers.Add(mr); + continue; + } + if (status == 2) scaleInLm = 0; + } + + objToScaleInLm[obj] = scaleInLm; + + BakeryLightmapGroup group = null; + if (scaleInLm > 0) + { + group = GetLMGroupFromObjectExplicit(obj, data); + if (group != null) + { + // Set LOD level for explicit group + int lodLevel; + if (!objToLodLevel.TryGetValue(obj, out lodLevel)) lodLevel = -1; + + var packer = group.atlasPacker == BakeryLightmapGroup.AtlasPacker.Auto ? atlasPacker : (ftGlobalStorage.AtlasPacker)group.atlasPacker; + + if (!postPacking || packer != ftGlobalStorage.AtlasPacker.xatlas) + { + if (group.sceneLodLevel == -1) + { + group.sceneLodLevel = lodLevel; + } + else + { + if (!ExportSceneValidationMessage("Multiple LOD levels in " + group.name + ", this is only supported when xatlas is set as the atlas packer and post-packing is enabled.")) return false; + } + } + + if (splitByScene) group.sceneName = obj.scene.name; + + // New explicit Pack Atlas holder selection + if (!group.isImplicit && group.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + lmgroupHolder = obj; // by default pack each object + lmgroupHolder = TestPackAsSingleSquare(lmgroupHolder); + var prefabParent = PrefabUtility.GetPrefabParent(obj) as GameObject; + if (prefabParent != null) + { + var ptype = PrefabUtility.GetPrefabType(prefabParent); + if (ptype == PrefabType.ModelPrefab) + { + // but if object is a part of prefab/model + var sharedMesh2 = GetSharedMesh(obj); + var importer = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(sharedMesh2)) as ModelImporter; + if (importer != null && !ModelUVsOverlap(importer, gstorage)) + { + // or actually just non-overlapping model, + // then pack it as a whole + + // find topmost asset parent + var t = prefabParent.transform; + while(t.parent != null) t = t.parent; + var assetTopMost = t.gameObject; + + // find topmost scene instance parent + var g = obj; + while(PrefabUtility.GetPrefabParent(g) as GameObject != assetTopMost && g.transform.parent != null) + { + g = g.transform.parent.gameObject; + } + lmgroupHolder = g; + } + } + } + } + } + } + else + { + if (data.autoVertexGroup == null) CreateAutoVertexGroup(data, obj); + group = data.autoVertexGroup; + + tempStorage.implicitGroupMap[obj] = data.autoVertexGroup; + + if (modifyLightmapStorage) + { + var st = storages[sceneToID[obj.scene]]; + st.implicitGroupedObjects.Add(obj); + st.implicitGroups.Add(data.autoVertexGroup); + st.nonBakedRenderers.Add(mr); + } + } + + bool vertexBake = (group != null && group.mode == BakeryLightmapGroup.ftLMGroupMode.Vertex); + // must have UVs or be arealight or vertexbaked + var uv = sharedMesh.uv; + var uv2 = sharedMesh.uv2; + if (uv.Length == 0 && uv2.Length == 0 && areaLight==null && !vertexBake) continue; + + var usedUVs = uv2.Length == 0 ? uv : uv2; + //bool validUVs = true; + for(int v=0; v 1.0001f || usedUVs[v].y < -0.0001f || usedUVs[v].y > 1.0001f) + { + DebugLogWarning("Mesh " + sharedMesh.name + " on object " + obj.name + " possibly has incorrect UVs (UV2: " + (uv2.Length == 0 ? "no" : "yes")+", U: " + usedUVs[v].x + ", V: " + usedUVs[v].y + ")"); + //validUVs = false; + break; + } + } + //if (!validUVs) continue; + + if (vertexBake) + { + group.totalVertexCount = 0; + group.vertexCounter = 0; + } + + objsToWrite.Add(obj); + objsToWriteNames.Add(obj.name); + objsToWriteLightmapped.Add((scaleInLm > 0 && areaLight == null) ? true : false); + objsToWriteGroup.Add(group); + objsToWriteHolder.Add(lmgroupHolder); + + objsToWriteVerticesUV.Add(uv); + objsToWriteVerticesUV2.Add(uv2); + var inds = new int[sharedMesh.subMeshCount][]; + for(int n=0; n 0) + { + newGroup = autoAtlasGroups[0]; + } + else + { + newGroup = ScriptableObject.CreateInstance(); + + // Make sure first lightmap is always LM0, not LM1, if probes are used + int lmNum = storages[sceneToID[holder.scene]].implicitGroups.Count; + if (ftRenderLightmap.lightProbeMode == ftRenderLightmap.LightProbeMode.L1 && ftRenderLightmap.hasAnyProbes && renderTextures && !atlasOnly) lmNum--; + + newGroup.name = holder.scene.name + "_LM" + autoAtlasGroups.Count;//lmNum; + newGroup.isImplicit = true; + newGroup.resolution = 256; + newGroup.bitmask = 1; + newGroup.area = 0; + newGroup.mode = autoAtlas ? BakeryLightmapGroup.ftLMGroupMode.PackAtlas : BakeryLightmapGroup.ftLMGroupMode.OriginalUV; + + newGroup.id = data.lmid; + groupList.Add(newGroup); + lmBounds.Add(new Bounds(new Vector3(0,0,0), new Vector3(0,0,0))); + data.lmid++; + + if (autoAtlas) + { + autoAtlasGroups.Add(newGroup); + var rootNode = new AtlasNode(); + rootNode.rc = new Rect(0, 0, 1, 1); + autoAtlasGroupRootNodes.Add(rootNode); + } + } + storages[sceneToID[holder.scene]].implicitGroupedObjects.Add(holder); + + storages[sceneToID[holder.scene]].implicitGroups.Add(newGroup); + //Debug.LogError("Add "+(storages[sceneToID[holder.scene]].implicitGroups.Count-1)+" "+newGroup.name); + + tempStorage.implicitGroupMap[holder] = newGroup; + if (splitByScene) newGroup.sceneName = holder.scene.name; + } + + if (!tempStorage.implicitGroupMap.ContainsKey(holder)) + { + // happens with modifyLightmapStorage == false + var gholders = storages[sceneToID[holder.scene]].implicitGroupedObjects; + var grs = storages[sceneToID[holder.scene]].implicitGroups; + for(int g=0; g= 0) + { + startIndex = onlyID; + endIndex = onlyID; + } + + // Transform vertices to world space + for(int i=startIndex; i<=endIndex; i++) + { + var obj = objsToWrite[i]; + var lmgroup = objsToWriteGroup[i]; + bool isSkin; + var m = GetSharedMeshSkinned(obj, out isSkin); + var vertices = m.vertices; + var tform = obj.transform; + + while(objsToWriteVerticesPosW.Count <= i) + { + objsToWriteVerticesPosW.Add(null); + objsToWriteVerticesNormalW.Add(null); + } + + objsToWriteVerticesPosW[i] = new Vector3[vertices.Length]; + if (isSkin) + { + var lossyScale = tform.lossyScale; + var inverseWorldScale = new Vector3(1.0f/lossyScale.x, 1.0f/lossyScale.y, 1.0f/lossyScale.z); + for(int t=0; t(); + var objsWithExplicitGroupPadding = new List(); + var objsWithExplicitGroupPaddingWidth = new List(); + + for(int i=0; i()); + //var scaleInLm = so.FindProperty("m_ScaleInLightmap").floatValue; + var scaleInLm = data.objToScaleInLm[objsToWrite[i]]; + if (scaleInLm == 0) continue; // don't reunwrap objects with scale in lightmap == 0 + + area *= scaleInLm; + + float width = Mathf.Sqrt(area); + float twidth = 1; + if (lmgroup.isImplicit) + { + twidth = width * texelsPerUnit; + } + else + { + float currentArea; + if (!explicitGroupTotalArea.TryGetValue(lmgroup.id, out currentArea)) currentArea = 0; + explicitGroupTotalArea[lmgroup.id] = currentArea + area; + + var holder = objsToWriteHolder[i]; + BakeryLightmapGroupSelector comp = null; + if (holder != null) comp = holder.GetComponent(); + if (comp != null && comp.instanceResolutionOverride) + { + // Explicit holder size + twidth = width * comp.instanceResolution; + } + else + { + // Texel size in atlas - can't calculate at this point + objsWithExplicitGroupPadding.Add(i); + objsWithExplicitGroupPaddingWidth.Add(width); + continue; + } + } + float requiredPadding = 4 * (1024.0f / (twidth * smallestMapScale)); + int requiredPaddingClamped = (int)Mathf.Clamp(requiredPadding, 1, 256); + + int existingPadding = 0; + meshToPaddingMap.TryGetValue(m, out existingPadding); + meshToPaddingMap[m] = Math.Max(requiredPaddingClamped, existingPadding); // select largest padding among instances + + List arr; + if (!meshToObjIDs.TryGetValue(m, out arr)) + { + meshToObjIDs[m] = arr = new List(); + } + if (!arr.Contains(i)) arr.Add(i); + } + + for(int j=0; j arr; + if (!meshToObjIDs.TryGetValue(m, out arr)) + { + meshToObjIDs[m] = arr = new List(); + } + if (!arr.Contains(i)) arr.Add(i); + } + } + + static void ResetPaddingStorageData(ExportSceneData data) + { + var storages = data.storages; + + // Reset scene padding backup + for(int s=0; s(); + str.modifiedAssets = new List(); + } + } + + static void StoreNewUVPadding(ExportSceneData data, AdjustUVPaddingData adata) + { + var meshToPaddingMap = adata.meshToPaddingMap; + var meshToObjIDs = adata.meshToObjIDs; + var dirtyAssetList = adata.dirtyAssetList; + var dirtyObjList = adata.dirtyObjList; + var storages = data.storages; + + foreach(var pair in meshToPaddingMap) + { + var m = pair.Key; + var requiredPaddingClamped = pair.Value; + var assetPath = AssetDatabase.GetAssetPath(m); + + var ids = meshToObjIDs[m]; + + //for(int s=0; s= 0) ind = objStorage.modifiedAssets[mstoreIndex].meshName.IndexOf(mname); + if (ind < 0) + { + if (mstoreIndex < 0) + { + // add new record to globalstorage + objStorage.modifiedAssetPathList.Add(assetPath); + var newStruct = new ftGlobalStorage.AdjustedMesh(); + newStruct.meshName = new List(); + newStruct.padding = new List(); + objStorage.modifiedAssets.Add(newStruct); + mstoreIndex = objStorage.modifiedAssets.Count - 1; + } + + var nameList = objStorage.modifiedAssets[mstoreIndex].meshName; + var paddingList = objStorage.modifiedAssets[mstoreIndex].padding; + var unwrapperList = objStorage.modifiedAssets[mstoreIndex].unwrapper; + if (unwrapperList == null) + { + var s = objStorage.modifiedAssets[mstoreIndex]; + unwrapperList = s.unwrapper = new List(); + objStorage.modifiedAssets[mstoreIndex] = s; + } + while(nameList.Count > unwrapperList.Count) unwrapperList.Add(0); // fix legacy + + nameList.Add(mname); + paddingList.Add(requiredPaddingClamped); + unwrapperList.Add((int)ftRenderLightmap.unwrapper); + + if (!dirtyAssetList.Contains(assetPath)) dirtyAssetList.Add(assetPath); + for(int xx=0; xx(); + objStorage.modifiedAssets[mstoreIndex] = s; + } + while(nameList.Count > unwrapperList.Count) unwrapperList.Add(0); // fix legacy + + // modify existing record + var oldValue = paddingList[ind]; + var oldUnwrapperValue = (ftGlobalStorage.Unwrapper)unwrapperList[ind]; + bool shouldModify = oldValue != requiredPaddingClamped; + if (uvPaddingMax) + { + shouldModify = oldValue < requiredPaddingClamped; + } + if (oldUnwrapperValue != ftRenderLightmap.unwrapper) shouldModify = true; + if (shouldModify) + { + if (!dirtyAssetList.Contains(assetPath)) dirtyAssetList.Add(assetPath); + for(int xx=0; xx 0) + { + sceneNeedsToBeRebuilt = true; + return false; + } + } + return true; + } + + static bool ValidateScaleOffsetImmutability(ExportSceneData data) + { + if (validateLightmapStorageImmutability) + { + var holderRect = data.holderRect; + var objsToWrite = data.objsToWrite; + var objsToWriteGroup = data.objsToWriteGroup; + var objsToWriteHolder = data.objsToWriteHolder; + var storages = data.storages; + var sceneToID = data.sceneToID; + + var emptyVec4 = new Vector4(1,1,0,0); + Rect rc = new Rect(); + for(int i=0; i(); + + var vpos = objsToWriteVerticesPosW[i]; + var vuv = objsToWriteVerticesUV2[i];//m.uv2; + var inds = objsToWriteIndices[i]; + //if (vuv.Length == 0 || obj.GetComponent()!=null) vuv = objsToWriteVerticesUV[i];//m.uv; // area lights or objects without UV2 export UV1 instead + if (vuv.Length == 0 || obj.GetComponent()!=null || temporaryAreaLightMeshList.Contains(obj)) vuv = objsToWriteVerticesUV[i];//m.uv; // area lights or objects without UV2 export UV1 instead + Vector2 uv1 = Vector2.zero; + Vector2 uv2 = Vector2.zero; + Vector2 uv3 = Vector2.zero; + + int lodLevel; + if (!objToLodLevel.TryGetValue(obj, out lodLevel)) lodLevel = -1; + + for(int k=0;k 0) + { + uv1 = vuv[indexA]; + uv2 = vuv[indexB]; + uv3 = vuv[indexC]; + } + + /*var uv31 = new Vector3(uv1.x, uv1.y, 0); + var uv32 = new Vector3(uv2.x, uv2.y, 0); + var uv33 = new Vector3(uv3.x, uv3.y, 0); + areaUV += Vector3.Cross(uv32 - uv31, uv33 - uv31).magnitude;*/ + + if (uv1.x < uvBounds.x) uvBounds.x = uv1.x; + if (uv1.y < uvBounds.y) uvBounds.y = uv1.y; + if (uv1.x > uvBounds.z) uvBounds.z = uv1.x; + if (uv1.y > uvBounds.w) uvBounds.w = uv1.y; + + if (uv2.x < uvBounds.x) uvBounds.x = uv2.x; + if (uv2.y < uvBounds.y) uvBounds.y = uv2.y; + if (uv2.x > uvBounds.z) uvBounds.z = uv2.x; + if (uv2.y > uvBounds.w) uvBounds.w = uv2.y; + + if (uv3.x < uvBounds.x) uvBounds.x = uv3.x; + if (uv3.y < uvBounds.y) uvBounds.y = uv3.y; + if (uv3.x > uvBounds.z) uvBounds.z = uv3.x; + if (uv3.y > uvBounds.w) uvBounds.w = uv3.y; + } + + // uv layouts always have empty spaces + //area /= areaUV; + + //var so = new SerializedObject(mr); + //var scaleInLm = so.FindProperty("m_ScaleInLightmap").floatValue; + var scaleInLm = data.objToScaleInLm[obj]; + + if (!pstorage.alternativeScaleInLightmap) area *= scaleInLm; + + if (lmgroup.isImplicit && lodLevel == -1) + { + lmgroup.area += area; // accumulate LMGroup area + // only use base scene values, no LODs, to properly initialize autoatlas size + } + if (lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + // Accumulate per-holder area and UV bounds + float existingArea; + Vector4 existingBounds; + holderObjUVBounds.TryGetValue(holderObj, out existingBounds); + if (!holderObjArea.TryGetValue(holderObj, out existingArea)) + { + existingArea = 0; + existingBounds = uvBounds; + List holderList; + if (!groupToHolderObjects.TryGetValue(lmgroup, out holderList)) + { + groupToHolderObjects[lmgroup] = holderList = new List(); + } + holderList.Add(holderObj); + } + holderObjArea[holderObj] = existingArea + area; + + existingBounds.x = existingBounds.x < uvBounds.x ? existingBounds.x : uvBounds.x; + existingBounds.y = existingBounds.y < uvBounds.y ? existingBounds.y : uvBounds.y; + existingBounds.z = existingBounds.z > uvBounds.z ? existingBounds.z : uvBounds.z; + existingBounds.w = existingBounds.w > uvBounds.w ? existingBounds.w : uvBounds.w; + holderObjUVBounds[holderObj] = existingBounds; + } + } + } + } + + static int ResolutionFromArea(float area) + { + int resolution = (int)(Mathf.Sqrt(area) * texelsPerUnit); + if (mustBePOT) + { + if (atlasCountPriority) + { + resolution = Mathf.NextPowerOfTwo(resolution); + } + else + { + resolution = Mathf.ClosestPowerOfTwo(resolution); + } + } + resolution = Math.Max(resolution, minAutoResolution); + resolution = Math.Min(resolution, maxAutoResolution); + + return resolution; + } + + static void CalculateAutoAtlasInitResolution(ExportSceneData data) + { + var groupList = data.groupList; + + // Calculate implicit lightmap resolution + for(int i=0; i holderObjs, ExportSceneData data) + { + var holderObjArea = data.holderObjArea; + var holderObjUVBounds = data.holderObjUVBounds; + + // Divide holders area to get from world space to -> UV space + float areaMult = 1.0f; + if (lmgroup.isImplicit && lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + // ...by maximum lightmap area given texel size (autoAtlas) + //areaMult = 1.0f / lightmapMaxArea; + // don't modify + } + else + { + // ... by maximum holder area (normalize) + float lmgroupArea = 0; + for(int i=0; i holderObjs, ExportSceneData data, PackData pdata) + { + var objToLodLevel = data.objToLodLevel; + var holderObjArea = data.holderObjArea; + var remainingAreaPerLodLevel = pdata.remainingAreaPerLodLevel; + + for(int i=0; i(); + if (comp != null && comp.instanceResolutionOverride) areaA = comp.instanceResolution * 10000; + + comp = b.GetComponent(); + if (comp != null && comp.instanceResolutionOverride) areaB = comp.instanceResolution * 10000; + + return areaB.CompareTo(areaA); + } + + static void ApplyAreaToUVBounds(float area, Vector4 uvbounds, out float width, out float height) + { + width = height = Mathf.Sqrt(area); + float uwidth = uvbounds.z - uvbounds.x; + float uheight = uvbounds.w - uvbounds.y; + if (uwidth == 0 && uheight == 0) + { + width = height = 0; + } + else + { + float uvratio = uheight / uwidth; + if (uvratio <= 1.0f) + { + width /= uvratio; + //height *= uvratio; + } + else + { + height *= uvratio; + //width /= uvratio; + } + } + } + + static bool Pack(BakeryLightmapGroup lmgroup, List holderObjs, ExportSceneData data, PackData pdata) + { + var holderObjArea = data.holderObjArea; + var holderObjUVBounds = data.holderObjUVBounds; + var holderRect = data.holderRect; + var objToLodLevel = data.objToLodLevel; + var groupList = data.groupList; + var lmBounds = data.lmBounds; + var autoAtlasGroups = data.autoAtlasGroups; + var autoAtlasGroupRootNodes = data.autoAtlasGroupRootNodes; + + var remainingAreaPerLodLevel = pdata.remainingAreaPerLodLevel; + + int atlasPaddingPixels = pstorage.texelPaddingForDefaultAtlasPacker; + + //Debug.LogError("repack: "+repackScale); + pdata.repack = false; + + AtlasNode rootNode; + + if (lmgroup.isImplicit && lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas && autoAtlasGroupRootNodes != null && autoAtlasGroupRootNodes.Count > 0) + { + rootNode = autoAtlasGroupRootNodes[0]; + } + else + { + rootNode = new AtlasNode(); + } + + rootNode.rc = new Rect(0, 0, 1, 1); + for(int i=0; i(); + if (comp != null && comp.instanceResolutionOverride) + { + // Explicit holder size + pdata.hasResOverrides = true; + width = height = comp.instanceResolution / (float)lmgroup.resolution; + } + else + { + // Automatic: width and height = sqrt(area) transformed by UV AABB aspect ratio + ApplyAreaToUVBounds(area, uvbounds, out width, out height); + + if (pstorage.alternativeScaleInLightmap) + { + var mr = GetValidRenderer(holderObjs[i]); + if (mr != null) + { + var so = new SerializedObject(mr); + var scaleInLm = so.FindProperty("m_ScaleInLightmap").floatValue; + width *= scaleInLm; + height *= scaleInLm; + } + } + } + + // Clamp to full lightmap size + float twidth = width; + float theight = height; + if (lmgroup.isImplicit && lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + twidth = (width * texelsPerUnit) / lmgroup.resolution; + theight = (height * texelsPerUnit) / lmgroup.resolution; + + //if (i==0) Debug.LogError(texelsPerUnit+" "+twidth); + } + //float unclampedTwidth = twidth; + //float unclampedTheight = twidth; + if (comp != null && comp.instanceResolutionOverride) + { + } + else + { + twidth *= pdata.repackScale; + theight *= pdata.repackScale; + } + twidth = twidth > 1 ? 1 : twidth; + theight = theight > 1 ? 1 : theight; + twidth = Mathf.Max(twidth, 1.0f / lmgroup.resolution); + theight = Mathf.Max(theight, 1.0f / lmgroup.resolution); + var rect = new Rect(0, 0, twidth, theight); + + if (float.IsNaN(twidth) || float.IsNaN(theight)) + { + ExportSceneError("NaN UVs detected for " + holderObjs[i].name+" "+rect.width+" "+rect.height+" "+width+" "+height+" "+lmgroup.resolution+" "+area+" "+(uvbounds.z - uvbounds.x)+" "+(uvbounds.w - uvbounds.y)); + return false; + } + + // Try inserting this rect + // Break autoatlas if lod level changes + // Optionally break autoatlas if scene changes + AtlasNode node = null; + int lodLevel; + if (!objToLodLevel.TryGetValue(holderObjs[i], out lodLevel)) lodLevel = -1; + bool splitAtlas = false; + if (splitByScene) + { + if (holderObjs[i].scene.name != lmgroup.sceneName) + { + splitAtlas = true; + } + } + if (ftRenderLightmap.giLodMode != ftRenderLightmap.GILODMode.ForceOff && exportTerrainAsHeightmap) + { + bool ba = holderObjs[i].name == "__ExportTerrainParent"; + if (ba) lmgroup.containsTerrains = true; + + if (i > 0) + { + bool bb = holderObjs[i-1].name == "__ExportTerrainParent"; + if (ba != bb) + { + splitAtlas = true; + } + } + } + if (!splitAtlas) + { + if (lmgroup.isImplicit && lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + if (lodLevel == lmgroup.sceneLodLevel) + { + node = rootNode.Insert(holderObjs[i], rect); + } + } + else + { + node = rootNode.Insert(holderObjs[i], rect); + } + } + + /*if (node!=null) + { + Debug.Log(holderObjs[i].name+" goes straight into "+lmgroup.name); + }*/ + + if (node == null) + { + if (lmgroup.isImplicit && lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + // Can't fit - try other autoAtlas lightmaps + BakeryLightmapGroup newGroup = null; + var holder = holderObjs[i]; + int goodGroup = -1; + for(int g=1; g 1 ? 1 : twidth; + theight = theight > 1 ? 1 : theight; + rect = new Rect(0, 0, twidth, theight); + + node = autoAtlasGroupRootNodes[g].Insert(holder, rect); + if (node != null) + { + //Debug.Log(holder.name+" fits into "+autoAtlasGroups[g].name); + newGroup = autoAtlasGroups[g]; + goodGroup = g; + break; + } + } + + // Can't fit - create new lightmap (autoAtlas) + if (goodGroup < 0) + { + newGroup = ScriptableObject.CreateInstance(); + newGroup.name = holder.scene.name + "_LMA" + autoAtlasGroups.Count; + newGroup.isImplicit = true; + newGroup.sceneLodLevel = lodLevel; + if (splitByScene) newGroup.sceneName = holderObjs[i].scene.name; + //Debug.Log(holder.name+" creates "+newGroup.name); + + if (ftRenderLightmap.giLodMode != ftRenderLightmap.GILODMode.ForceOff && exportTerrainAsHeightmap) + { + newGroup.containsTerrains = holderObjs[i].name == "__ExportTerrainParent"; + } + + newGroup.resolution = (int)(Mathf.Sqrt(remainingAreaPerLodLevel[lodLevel]) * texelsPerUnit); + if (mustBePOT) + { + if (atlasCountPriority) + { + newGroup.resolution = Mathf.NextPowerOfTwo(newGroup.resolution); + } + else + { + newGroup.resolution = Mathf.ClosestPowerOfTwo(newGroup.resolution); + } + } + newGroup.resolution = Math.Max(newGroup.resolution, minAutoResolution); + newGroup.resolution = Math.Min(newGroup.resolution, maxAutoResolution); + + newGroup.bitmask = 1; + newGroup.area = 0; + newGroup.mode = BakeryLightmapGroup.ftLMGroupMode.PackAtlas; + + newGroup.id = data.lmid; + groupList.Add(newGroup); + lmBounds.Add(new Bounds(new Vector3(0,0,0), new Vector3(0,0,0))); + data.lmid++; + + autoAtlasGroups.Add(newGroup); + var rootNode2 = new AtlasNode(); + rootNode2.rc = new Rect(0, 0, 1, 1); + autoAtlasGroupRootNodes.Add(rootNode2); + + twidth = (width * texelsPerUnit) / newGroup.resolution; + theight = (height * texelsPerUnit) / newGroup.resolution; + //unclampedTwidth = twidth; + //unclampedTheight = twidth; + twidth = twidth > 1 ? 1 : twidth; + theight = theight > 1 ? 1 : theight; + + rect = new Rect(0, 0, twidth, theight); + + node = rootNode2.Insert(holder, rect); + } + + // Modify implicit group storage + MoveObjectToImplicitGroup(holder, newGroup, data); + /* + var scn = holder.scene; + tempStorage.implicitGroupMap[holder] = newGroup; + for(int k=0; k atlas UV + float padding = ((float)atlasPaddingPixels) / lmgroup.resolution; + + var paddedRc = new Rect(node.rc.x + padding, + node.rc.y + padding, + node.rc.width - padding * 2, + node.rc.height - padding * 2); + + paddedRc.x -= uvbounds.x * (paddedRc.width / (uvbounds.z - uvbounds.x)); + paddedRc.y -= uvbounds.y * (paddedRc.height / (uvbounds.w - uvbounds.y)); + paddedRc.width /= uvbounds.z - uvbounds.x; + paddedRc.height /= uvbounds.w - uvbounds.y; + + holderRect[holderObjs[i]] = paddedRc; + } + + //float areaReduction = (twidth*theight) / (unclampedTwidth*unclampedTheight); + remainingAreaPerLodLevel[lodLevel] -= area;// * areaReduction; + } + + if (!lmgroup.isImplicit && lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + if (pdata.finalRepack && pdata.repack) + { + pdata.continueRepack = true; + return true; + } + if (pdata.finalRepack) + { + pdata.continueRepack = false; + return true; + } + + if (!pdata.repack && !pdata.repackStage2) + { + //if (repackTries > 0) break; // shrinked down just now - don't scale up + + pdata.repackStage2 = true; // scale up now + pdata.repack = true; + pdata.repackScale *= atlasScaleUpValue;///= 0.75f; + pdata.repackTries = 0; + //Debug.LogError("Scale up, set " +repackScale); + } + else if (pdata.repackStage2) + { + pdata.repackTries++; + if (pdata.repackTries == atlasMaxTries) + { + pdata.continueRepack = false; + return true; + } + pdata.repack = true; + pdata.repackScale *= atlasScaleUpValue;///= 0.75f; + //Debug.LogError("Scale up cont, set " +repackScale); + } + } + return true; + } + + static void MoveObjectToImplicitGroup(GameObject holder, BakeryLightmapGroup newGroup, ExportSceneData data) + { + var storages = data.storages; + var sceneToID = data.sceneToID; + + // Modify implicit group storage + var scn = holder.scene; + tempStorage.implicitGroupMap[holder] = newGroup; + for(int k=0; k GetAtlasBucketRanges(List holderObjs, ExportSceneData data, bool onlyUserSplits) + { + var objToLodLevel = data.objToLodLevel; + + var ranges = new List(); + int start = 0; + int end = 0; + if (holderObjs.Count > 0) + { + var sceneName = holderObjs[0].scene.name; + int lodLevel; + if (!objToLodLevel.TryGetValue(holderObjs[0], out lodLevel)) lodLevel = -1; + bool isTerrain = holderObjs[0].name == "__ExportTerrainParent"; + + for(int i=0; i holderObjs, int start, int end, ExportSceneData data) + { + var holderObjArea = data.holderObjArea; + + float area = 0; + for(int i=start; i<=end; i++) + { + area += holderObjArea[holderObjs[i]]; + } + return area; + } + + static BakeryLightmapGroup AllocateAutoAtlas(int count, BakeryLightmapGroup lmgroup, ExportSceneData data, int[] atlasSizes = null) + { + var lmBounds = data.lmBounds; + var groupList = data.groupList; + var autoAtlasGroups = data.autoAtlasGroups; + var autoAtlasGroupRootNodes = data.autoAtlasGroupRootNodes; + + BakeryLightmapGroup newGroup = null; + + for(int i=0; i(); + newGroup.name = lmgroup.sceneName + "_LMA" + autoAtlasGroups.Count; + newGroup.isImplicit = true; + newGroup.sceneLodLevel = lmgroup.sceneLodLevel; + if (splitByScene) newGroup.sceneName = lmgroup.sceneName; + newGroup.containsTerrains = lmgroup.containsTerrains; + + newGroup.resolution = atlasSizes != null ? atlasSizes[i] : lmgroup.resolution; + + newGroup.bitmask = 1; + newGroup.area = 0; + newGroup.mode = lmgroup.mode;// BakeryLightmapGroup.ftLMGroupMode.PackAtlas; + + newGroup.renderMode = lmgroup.renderMode; + newGroup.renderDirMode = lmgroup.renderDirMode; + newGroup.atlasPacker = lmgroup.atlasPacker; + newGroup.computeSSS = lmgroup.computeSSS; + newGroup.sssSamples = lmgroup.sssSamples; + newGroup.sssDensity = lmgroup.sssDensity; + newGroup.sssColor = lmgroup.sssColor * lmgroup.sssScale; + newGroup.fakeShadowBias = lmgroup.fakeShadowBias; + newGroup.transparentSelfShadow = lmgroup.transparentSelfShadow; + newGroup.flipNormal = lmgroup.flipNormal; + + newGroup.id = data.lmid; + groupList.Add(newGroup); + lmBounds.Add(new Bounds(new Vector3(0,0,0), new Vector3(0,0,0))); + data.lmid++; + + autoAtlasGroups.Add(newGroup); + var rootNode2 = new AtlasNode(); + rootNode2.rc = new Rect(0, 0, 1, 1); + autoAtlasGroupRootNodes.Add(rootNode2); + } + + return newGroup; + } + + static bool PackWithXatlas(BakeryLightmapGroup lmgroup, List holderObjs, ExportSceneData data, PackData pdata) + { + var holderObjArea = data.holderObjArea; + var holderObjUVBounds = data.holderObjUVBounds; + var holderRect = data.holderRect; + var autoAtlasGroups = data.autoAtlasGroups; + var objToLodLevel = data.objToLodLevel; + var objsToWriteHolder = data.objsToWriteHolder; + var objsToWrite = data.objsToWrite; + + bool warned = false; + + // Split objects into "buckets" by scene, terrains, LODs, etc + // Objects are already pre-sorted, so we need only ranges + int bStart = 0; + int bEnd = holderObjs.Count-1; + int bucketCount = 2; + List buckets = null; + if (lmgroup.isImplicit) + { + buckets = GetAtlasBucketRanges(holderObjs, data, postPacking); + bucketCount = buckets.Count; + } + + var holderAutoIndex = new int[holderObjs.Count]; + + for(int bucket=0; bucket 0) + { + // Start new bucket + lmgroup = AllocateAutoAtlas(1, lmgroup, data); + } + int firstAutoAtlasIndex = autoAtlasGroups.Count - 1; + if (autoAtlasGroups.Count > 0 && autoAtlasGroups[0] == lmgroup) + { + // new bucket always uses the original LMGroup + // if the original LMGroup is implicit, it'll be moved to firstAutoAtlasIndex + // but in case of the actual autoAtlas, the original LMGroup should use atlas index 0 + firstAutoAtlasIndex = 0; + } + + if (lmgroup.isImplicit) + { + float bucketArea = SumObjectsArea(holderObjs, bStart, bEnd, data); + lmgroup.resolution = ResolutionFromArea(bucketArea); + } + + // Fill some LMGroup data + lmgroup.sceneName = holderObjs[bStart].scene.name; + int lodLevel; + if (!objToLodLevel.TryGetValue(holderObjs[bStart], out lodLevel)) lodLevel = -1; + lmgroup.sceneLodLevel = lodLevel; + if (ftRenderLightmap.giLodMode != ftRenderLightmap.GILODMode.ForceOff && exportTerrainAsHeightmap) + { + lmgroup.containsTerrains = holderObjs[bStart].name == "__ExportTerrainParent"; + } + + var atlas = xatlas.xatlasCreateAtlas(); + + const int attempts = 4096; + int padding = pstorage.texelPaddingForXatlasAtlasPacker; + const bool allowRotate = false; + float packTexelsPerUnit = lmgroup.isImplicit ? 1.0f : 0.0f; // multiple atlaseses vs single atlas + int packResolution = lmgroup.resolution; + int maxChartSize = 0;//packResolution; + bool bruteForce = true; // high quality + + int vertCount = 4; + int indexCount = 6; + Vector2[] uv = null; + int[] indices = null; + if (!holeFilling) + { + uv = new Vector2[4]; + indices = new int[6]; + indices[0] = 0; + indices[1] = 1; + indices[2] = 2; + indices[3] = 2; + indices[4] = 3; + indices[5] = 0; + } + var uvBuffer = new Vector2[4]; + var xrefBuffer = new int[4]; + var indexBuffer = new int[6]; + + for(int i=bStart; i<=bEnd; i++) + { + if (!warned) + { + var comp = holderObjs[i].GetComponent(); + if (comp != null && comp.instanceResolutionOverride) + { + if (!ExportSceneValidationMessage("When using xatlas as atlas packer, 'Override resolution' option is not supported for LMGroups.\nOption is used on: " + holderObjs[i].name)) + { + xatlas.xatlasClear(atlas); + return false; + } + warned = true; + } + } + + var area = holderObjArea[holderObjs[i]]; + var uvbounds = holderObjUVBounds[holderObjs[i]]; + + // Automatic: width and height = sqrt(area) transformed by UV AABB aspect ratio + float width, height; + ApplyAreaToUVBounds(area, uvbounds, out width, out height); + + // Clamp to full lightmap size + float twidth = width; + float theight = height; + if (lmgroup.isImplicit && lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + twidth = (width * texelsPerUnit);// / lmgroup.resolution; + theight = (height * texelsPerUnit);// / lmgroup.resolution; + } + + if (!holeFilling) + { + uv[0] = new Vector2(0,0); + uv[1] = new Vector2(twidth,0); + uv[2] = new Vector2(twidth,theight); + uv[3] = new Vector2(0,theight); + } + else + { + List indexList = null; + List uvList = null; + vertCount = indexCount = 0; + int numMeshes = 0; + var ubounds = holderObjUVBounds[holderObjs[i]]; + var holder = holderObjs[i]; + for(int o=0; o(); + uvList = new List(); + for(int j=0; j 0) + { + for(int j=0; j 1) + { + uv = uvList.ToArray(); + indices = indexList.ToArray(); + } + } + + var handleUV = GCHandle.Alloc(uv, GCHandleType.Pinned); + int err = 0; + + try + { + var pointerUV = handleUV.AddrOfPinnedObject(); + + err = xatlas.xatlasAddUVMesh(atlas, vertCount, pointerUV, indexCount, indices, allowRotate); + } + finally + { + if (handleUV.IsAllocated) handleUV.Free(); + } + + if (err == 1) + { + Debug.LogError("xatlas::AddMesh: indices are out of range"); + xatlas.xatlasClear(atlas); + return false; + } + else if (err == 2) + { + Debug.LogError("xatlas::AddMesh: index count is incorrect"); + xatlas.xatlasClear(atlas); + return false; + } + else if (err != 0) + { + Debug.LogError("xatlas::AddMesh: unknown error"); + xatlas.xatlasClear(atlas); + return false; + } + } + + //xatlas.xatlasParametrize(atlas); + xatlas.xatlasPack(atlas, attempts, packTexelsPerUnit, packResolution, maxChartSize, padding, bruteForce, true);//, allowRotate); + + int atlasCount = xatlas.xatlasGetAtlasCount(atlas); + var atlasSizes = new int[atlasCount]; + + xatlas.xatlasNormalize(atlas, atlasSizes); + + // Create additional lightmaps + AllocateAutoAtlas(atlasCount-1, lmgroup, data, atlasSizes); + + // Move objects into new atlases + if (lmgroup.isImplicit) + { + for(int i=0; i<=bSize; i++) + { + int atlasIndex = xatlas.xatlasGetAtlasIndex(atlas, i, 0); + + // Modify implicit group storage + var holder = holderObjs[bStart + i]; + var newGroup = autoAtlasGroups[firstAutoAtlasIndex + atlasIndex]; + MoveObjectToImplicitGroup(holderObjs[bStart + i], newGroup, data); + holderAutoIndex[bStart + i] = firstAutoAtlasIndex + atlasIndex; + } + } + + for(int i=0; i<=bSize; i++) + { + // Get data from xatlas + int newVertCount = xatlas.xatlasGetVertexCount(atlas, i); + uvBuffer = new Vector2[newVertCount]; + xrefBuffer = new int[newVertCount]; + + int newIndexCount = xatlas.xatlasGetIndexCount(atlas, i); + indexBuffer = new int[newIndexCount]; + + if (holeFilling) + { + uvBuffer = new Vector2[newVertCount]; + xrefBuffer = new int[newVertCount]; + indexBuffer = new int[newIndexCount]; + } + + var handleT = GCHandle.Alloc(uvBuffer, GCHandleType.Pinned); + var handleX = GCHandle.Alloc(xrefBuffer, GCHandleType.Pinned); + var handleI = GCHandle.Alloc(indexBuffer, GCHandleType.Pinned); + try + { + var pointerT = handleT.AddrOfPinnedObject(); + var pointerX = handleX.AddrOfPinnedObject(); + var pointerI = handleI.AddrOfPinnedObject(); + xatlas.xatlasGetData(atlas, i, pointerT, pointerX, pointerI); + } + finally + { + if (handleT.IsAllocated) handleT.Free(); + if (handleX.IsAllocated) handleX.Free(); + if (handleI.IsAllocated) handleI.Free(); + } + + float minU = float.MaxValue; + float minV = float.MaxValue; + float maxU = -float.MaxValue; + float maxV = -float.MaxValue; + for(int j=0; j maxU) maxU = uvBuffer[j].x; + if (uvBuffer[j].y > maxV) maxV = uvBuffer[j].y; + } + + // Generate final rectangle to transform local UV -> atlas UV + float upadding = 0; + var uvbounds = holderObjUVBounds[holderObjs[bStart + i]]; + var paddedRc = new Rect(minU + upadding, + minV + upadding, + (maxU-minU) - upadding * 2, + (maxV-minV) - upadding * 2); + + paddedRc.x -= uvbounds.x * (paddedRc.width / (uvbounds.z - uvbounds.x)); + paddedRc.y -= uvbounds.y * (paddedRc.height / (uvbounds.w - uvbounds.y)); + paddedRc.width /= uvbounds.z - uvbounds.x; + paddedRc.height /= uvbounds.w - uvbounds.y; + + holderRect[holderObjs[bStart + i]] = paddedRc; + } + + xatlas.xatlasClear(atlas); + } + + if (postPacking) + { + buckets = GetAtlasBucketRanges(holderObjs, data, false); + bucketCount = buckets.Count; + + DebugLogInfo("Bucket count for " + lmgroup.name +": " + (bucketCount/2)); + + if (lmgroup.isImplicit) + { + // Post-packing for auto-atlased groups + var autoLMBuckets = new List[autoAtlasGroups.Count]; + for(int bucket=0; bucket(); + if (!autoLMBuckets[autoLM].Contains(bucket)) autoLMBuckets[autoLM].Add(bucket); + } + } + int origGroupCount = autoAtlasGroups.Count; + for(int i=0; i 1) + { + // Split + for(int j=1; j "+newGroup.name + " (" + newGroup.id+", "+newGroup.parentID+")"); + + for(int k=bStart; k<=bEnd; k++) + { + int autoLM = holderAutoIndex[k]; + if (autoLM == i) + { + MoveObjectToImplicitGroup(holderObjs[k], newGroup, data); + holderAutoIndex[k] = -1; // mark as moved + } + } + } + } + } + for(int i=0; i 0) + { + // Post-packing for explicit groups + // Single LMGroup -> LMGroup*buckets + + // Setup first bucket + bStart = buckets[0]; + bEnd = buckets[1]; + int lodLevel; + if (!objToLodLevel.TryGetValue(holderObjs[bStart], out lodLevel)) lodLevel = -1; + lmgroup.sceneLodLevel = lodLevel; + if (ftRenderLightmap.giLodMode != ftRenderLightmap.GILODMode.ForceOff && exportTerrainAsHeightmap) + { + lmgroup.containsTerrains = holderObjs[bStart].name == "__ExportTerrainParent"; + } + //Debug.LogError(lmgroup.name+": "+ lmgroup.sceneLodLevel+" because of " + holderObjs[bStart].name); + + // Skip first bucket + for(int bucket=2; bucket holderObjs, ExportSceneData data, PackData pdata) + { + var holderRect = data.holderRect; + + if (!lmgroup.isImplicit && lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas && !pdata.hasResOverrides) + { + float maxx = 0; + float maxy = 0; + for(int i=0; i maxx) maxx = rect.x + rect.width; + if ((rect.y + rect.height) > maxy) maxy = rect.y + rect.height; + } + float maxDimension = maxx > maxy ? maxx : maxy; + float normalizeScale = 1.0f / maxDimension; + for(int i=0; i(); + for(int g=0; g 0) continue; + + var rootNode = autoAtlasGroupRootNodes[g]; + float maxx = 0; + float maxy = 0; + rootNode.GetMax(ref maxx, ref maxy); + float maxDimension = maxx > maxy ? maxx : maxy; + float normalizeScale = 1.0f / maxDimension; + stack.Clear(); + stack.Push(rootNode); + while(stack.Count > 0) + { + var node = stack.Pop(); + if (node.obj != null) + { + var rect = holderRect[node.obj]; + holderRect[node.obj] = new Rect(rect.x * normalizeScale, rect.y * normalizeScale, rect.width * normalizeScale, rect.height * normalizeScale); + } + if (node.child0 != null) stack.Push(node.child0); + if (node.child1 != null) stack.Push(node.child1); + } + if (maxDimension < 0.5f) + { + lmgroup.resolution /= 2; // shrink the lightmap after normalization if it was too empty + lmgroup.resolution = Math.Max(lmgroup.resolution, minAutoResolution); + } + } + } + + static void JoinAutoAtlases(ExportSceneData data) + { + var autoAtlasGroups = data.autoAtlasGroups; + var autoAtlasGroupRootNodes = data.autoAtlasGroupRootNodes; + var groupList = data.groupList; + var lmBounds = data.lmBounds; + var holderRect = data.holderRect; + var objsToWrite = data.objsToWrite; + var objsToWriteGroup = data.objsToWriteGroup; + + var stack = new Stack(); + + // Join autoatlases + var autoAtlasCategories = new List(); + bool joined = false; + for(int g=0; g 0) continue; + + string cat = "/" + autoAtlasGroups[g].sceneLodLevel; + if (splitByScene) cat = autoAtlasGroups[g].sceneName + cat; + if (!autoAtlasCategories.Contains(cat)) autoAtlasCategories.Add(cat); + } + for(int alod=0; alod(); + var atlasStack = new Stack(); + for(int g=0; g 0) continue; + + var thisCat = "/" + autoAtlasGroups[g].sceneLodLevel; + if (splitByScene) thisCat = autoAtlasGroups[g].sceneName + thisCat; + + if (thisCat != cat) continue; + if (autoAtlasGroups[g].resolution == maxAutoResolution) continue; + if (!autoAtlasSizes.Contains(autoAtlasGroups[g].resolution)) autoAtlasSizes.Add(autoAtlasGroups[g].resolution); + } + autoAtlasSizes.Sort(); + for(int s=0; s 0) continue; + + var thisCat = "/" + autoAtlasGroups[g].sceneLodLevel; + if (splitByScene) thisCat = autoAtlasGroups[g].sceneName + thisCat; + + if (thisCat != cat) continue; + if (autoAtlasGroups[g].resolution != asize) continue; + atlasStack.Push(autoAtlasGroups[g]); + if (atlasStack.Count == 4) + { + var newGroup = ScriptableObject.CreateInstance(); + newGroup.name = autoAtlasGroups[g].name; + newGroup.isImplicit = true; + newGroup.sceneLodLevel = autoAtlasGroups[g].sceneLodLevel; + newGroup.sceneName = autoAtlasGroups[g].sceneName; + + newGroup.resolution = asize * 2; + + newGroup.bitmask = autoAtlasGroups[g].bitmask; + newGroup.mode = BakeryLightmapGroup.ftLMGroupMode.PackAtlas; + + newGroup.id = data.lmid; + groupList.Add(newGroup); + lmBounds.Add(new Bounds(new Vector3(0,0,0), new Vector3(0,0,0))); + data.lmid++; + + autoAtlasGroups.Add(newGroup); + var rootNode2 = new AtlasNode(); + rootNode2.rc = new Rect(0, 0, 1, 1); + autoAtlasGroupRootNodes.Add(rootNode2); + + // Top + rootNode2.child0 = new AtlasNode(); + rootNode2.child0.rc = new Rect(0, 0, 1, 0.5f); + + // Bottom + rootNode2.child1 = new AtlasNode(); + rootNode2.child1.rc = new Rect(0, 0.5f, 1, 0.5f); + + for(int gg=0; gg<4; gg++) + { + var subgroup = atlasStack.Pop(); + var id = autoAtlasGroups.IndexOf(subgroup); + var subgroupRootNode = autoAtlasGroupRootNodes[id]; + float ox, oy, sx, sy; + + if (gg == 0) + { + // Left top + rootNode2.child0.child0 = subgroupRootNode; + //rootNode2.child0.child0.Transform(0, 0, 0.5f, 0.5f); + //offsetScale = rootNode2.child0.child0.rc; + ox = 0; oy = 0; sx = 0.5f; sy = 0.5f; + } + else if (gg == 1) + { + // Right top + rootNode2.child0.child1 = subgroupRootNode; + //rootNode2.child0.child1.Transform(0.5f, 0, 0.5f, 0.5f); + //offsetScale = rootNode2.child0.child1.rc; + ox = 0.5f; oy = 0; sx = 0.5f; sy = 0.5f; + } + else if (gg == 2) + { + // Left bottom + rootNode2.child1.child0 = subgroupRootNode; + //rootNode2.child1.child0.Transform(0, 0.5f, 0.5f, 0.5f); + //offsetScale = rootNode2.child1.child0.rc; + ox = 0; oy = 0.5f; sx = 0.5f; sy = 0.5f; + } + else + { + // Right bottom + rootNode2.child1.child1 = subgroupRootNode; + //rootNode2.child1.child1.Transform(0.5f, 0.5f, 0.5f, 0.5f); + //offsetScale = rootNode2.child1.child1.rc; + ox = 0.5f; oy = 0.5f; sx = 0.5f; sy = 0.5f; + } + + autoAtlasGroups.RemoveAt(id); + autoAtlasGroupRootNodes.RemoveAt(id); + + id = groupList.IndexOf(subgroup); + groupList.RemoveAt(id); + lmBounds.RemoveAt(id); + + for(int x=id; x 0) + { + var node = stack.Pop(); + if (node.obj != null) + { + var rect = holderRect[node.obj]; + holderRect[node.obj] = new Rect(rect.x * sx + ox, + rect.y * sy + oy, + rect.width * sx, + rect.height * sy); + + MoveObjectToImplicitGroup(node.obj, newGroup, data); + + /* + tempStorage.implicitGroupMap[node.obj] = newGroup; + for(int k=0; k sceneToID = new Dictionary(); + public Dictionary sceneHasStorage = new Dictionary(); + + // Object properties + public Dictionary objToLodLevel = new Dictionary(); // defines atlas LOD level + public Dictionary> objToLodLevelVisible = new Dictionary>(); // defines LOD levels where this object is visible + public Dictionary objToScaleInLm = new Dictionary(); + + public List objsToWrite = new List(); + public List objsToWriteLightmapped = new List(); + public List objsToWriteGroup = new List(); + public List objsToWriteHolder = new List(); + public List objsToWriteScaleOffset = new List(); + public List objsToWriteUVOverride = new List(); + public List objsToWriteNames = new List(); + public List objsToWriteVerticesPosW = new List(); + public List objsToWriteVerticesNormalW = new List(); + public List objsToWriteVerticesTangentW = new List(); + public List objsToWriteVerticesUV = new List(); + public List objsToWriteVerticesUV2 = new List(); + public List objsToWriteIndices = new List(); + public List objsToWriteHasMetaAlpha = new List(); + + public List outsideRenderers = new List(); // for sector+SRP only + + // Auto-atlasing + public List autoAtlasGroups = new List(); + public List autoAtlasGroupRootNodes = new List(); + public BakeryLightmapGroup autoVertexGroup; + + // Data to collect for atlas packing + public Dictionary holderObjArea = new Dictionary(); // LMGroup holder area, accumulated from all children + public Dictionary holderObjUVBounds = new Dictionary(); // LMGroup holder 2D UV AABB + public Dictionary> groupToHolderObjects = new Dictionary>(); // LMGroup -> holders map + public Dictionary holderRect = new Dictionary(); + + // Per-LMGroup data + public List groupList = new List(); + public List lmBounds = new List(); // list of bounding boxes around LMGroups for testing lights + + // Geometry data + public List[] indicesOpaqueLOD = null; + public List[] indicesTransparentLOD = null; + + public int lmid = 0; // LMID counter + + public ExportSceneData(int sceneCount) + { + storages = new ftLightmapsStorage[sceneCount]; + } + } + + class AdjustUVPaddingData + { + public List dirtyObjList = new List(); + public List dirtyAssetList = new List(); + public Dictionary> meshToObjIDs = new Dictionary>(); + public Dictionary meshToPaddingMap = new Dictionary(); + } + + class PackData + { + public Dictionary remainingAreaPerLodLevel = new Dictionary(); + public bool repack = true; + public bool repackStage2 = false; + public bool finalRepack = false; + public float repackScale = 1; + public int repackTries = 0; + public bool hasResOverrides = false; + public bool continueRepack = false; + } + + static public IEnumerator ExportScene(EditorWindow window, bool renderTextures = true, bool atlasOnly = false, BakerySectorCapture sectorCaptureAsset = null) + { + lmgroupHolder = null; // important to properly flush previous scale-in-lightmaps + + userCanceled = false; + ProgressBarInit("Exporting scene - preparing...", window); + yield return null; + + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + gstorage = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftGlobalStorage.asset", typeof(ftGlobalStorage)) as ftGlobalStorage; + pstorage = ftLightmaps.GetProjectSettings(); + + bool isDX11 = SystemInfo.graphicsDeviceType == GraphicsDeviceType.Direct3D11; + bool nonDX11 = !isDX11; + + bool _unwrapUVs = unwrapUVs; + bool _forceDisableUnwrapUVs = forceDisableUnwrapUVs; + if (ftRenderLightmap.fullSectorRender && !ftRenderLightmap.curSector.allowUVPaddingAdjustment) + { + _unwrapUVs = false; + _forceDisableUnwrapUVs = false; + } + + var time = GetTime(); + var ms = time; + var startMsU = ms; + double totalTime = GetTime(); + double vbTimeRead = 0; + double vbTimeWrite = 0; + double vbTimeWriteFull = 0; + double vbTimeWriteT = 0; + double vbTimeWriteT2 = 0; + double vbTimeWriteT3 = 0; + double ibTime = 0; + var sceneCount = SceneManager.sceneCount; + var indicesOpaque = new List(); + var indicesTransparent = new List(); + + var data = new ExportSceneData(sceneCount); + + bool tangentSHLights = CheckForTangentSHLights(); + + // Per-LMGroup data + var lmAlbedoList = new List(); // list of albedo texture for UV GBuffer rendering + var lmAlbedoListTex = new List(); + var lmAlphaList = new List(); // list of alpha textures for alpha buffer generation + var lmAlphaListRAM = new List(); // non-DX11 array + var lmAlphaListTex = new List(); + var lmAlphaRefList = new List(); // list of alpha texture refs + var lmAlphaChannelList = new List(); // list of alpha channels + + // lod-related + var lmVOffset = new List(); + var lmUVArrays = new List>(); + var lmUVArrays2 = new List(); + var lmUVArrays3 = new List(); + var lmIndexArrays = new List>(); + var lmIndexArrays2 = new List(); + var lmLocalToGlobalIndices = new List>(); + + vbtraceTexPosNormalArray = new List(); + vbtraceTexUVArray = new List(); + + sceneLodsUsed = 0; + + // Create temp path + CreateSceneFolder(); + + // Disable preview of any sectors + if (sectorCaptureAsset == null) + { + var allSectors = FindObjectsOfType(typeof(BakerySector)) as BakerySector[]; + for(int i=0; i(); + terrainObjectToActual = new List(); + terrainObjectToHeightMap = new List(); + terrainObjectToHeightMapRAM = new List(); + terrainObjectToBounds = new List(); + terrainObjectToBoundsUV = new List(); + terrainObjectToFlags = new List(); + terrainObjectToLMID = new List(); + terrainObjectToHeightMips = new List>(); + temporaryGameObjects = new List(); + temporaryAreaLightMeshList = new List(); + temporaryAreaLightMeshList2 = new List(); + + var objects = Resources.FindObjectsOfTypeAll(typeof(GameObject)); + //var objects = UnityEngine.Object.FindObjectsOfTypeAll(typeof(GameObject)); + + try + { + ms = GetTime(); + + //if (!onlyUVdata) + //{ + time = ms; + + // Get manually created LMGroups + CollectExplicitLMGroups(data); + + // Object conversion loop / also validate for multiple scene storages + for(int objNum = 0; objNum < objects.Length; objNum++) + { + GameObject obj = (GameObject)objects[objNum]; + if (obj == null) continue; + if (!CheckForMultipleSceneStorages(obj, data)) yield break; + if (ConvertUnityAreaLight(obj)) continue; + ConvertTerrain(obj); + } + + // Regather objects if new were added + if (terrainObjectList.Count > 0 || temporaryGameObjects.Count > 0 || temporaryAreaLightMeshList.Count > 0) + { + //objects = UnityEngine.Object.FindObjectsOfTypeAll(typeof(GameObject)); + objects = Resources.FindObjectsOfTypeAll(typeof(GameObject)); + } + + tempStorage.implicitGroupMap = new Dictionary(); // implicit holder -> LMGroup map. used by GetLMGroupFromObject + + // Find LODGroups -> LODs -> scene-wide LOD distances + // Map objects to scene-wide LOD levels + MapObjectsToSceneLODs(data, objects); + + ftModelPostProcessor.Init(); + + // Filter objects, convert to property arrays + if (!FilterObjects(data, objects)) yield break; + + if (ftRenderLightmap.fullSectorRender) + { + var sector = ftRenderLightmap.curSector; + if (sector.captureMode == BakerySector.CaptureMode.CaptureInPlace || (sectorCaptureAsset != null && sectorCaptureAsset.write)) + { + int objCount = data.objsToWrite.Count; + var cpoints = sector.cpoints; + + // Render albedo/alpha/depth for each sector point + var fdata = new FarSphereRenderData[cpoints.Count]; + for(int i=0; i(); + sectorCaptureAsset.positions = new List(); + sectorCaptureAsset.textures = new List(); + for(int i=0; i(); + atlasOnlySize = new List(); + atlasOnlyID = new List(); + atlasOnlyScaleOffset = new List(); + var emptyVec4 = new Vector4(1,1,0,0); + Rect rc = new Rect(); + for(int i=0; i(); + for(int i=0; i(); + for(int o=0; o 0 && ftRenderLightmap.verbose) + { + ProgressBarEnd(false); + if (!EditorUtility.DisplayDialog("Lightmap overwrite", "These lightmaps will be overwritten:\n\n" + existingFilenames, "Overwrite", "Cancel")) + { + CloseAllFiles(); + userCanceled = true; + ProgressBarEnd(true); + yield break; + } + ProgressBarInit("Exporting scene - preparing...", window); + } + } + + ftRenderLightmap.giLodModeEnabled = ftRenderLightmap.giLodMode == ftRenderLightmap.GILODMode.ForceOn; + ulong approxMem = 0; + + if (groupList.Count > 100 && ftRenderLightmap.verbose) + { + ProgressBarEnd(false); + if (!EditorUtility.DisplayDialog("Lightmap count check", groupList.Count + " lightmaps are going to be rendered. Continue?", "Continue", "Cancel")) + { + CloseAllFiles(); + userCanceled = true; + ProgressBarEnd(true); + yield break; + } + ProgressBarInit("Exporting scene - preparing...", window); + } + + if (memoryWarning || ftRenderLightmap.giLodMode == ftRenderLightmap.GILODMode.Auto) + { + for(int i=0; i SystemInfo.graphicsMemorySize) + { + DebugLogInfo("GI VRAM auto optimization ON: estimated usage " + (int)approxMem + " > " + SystemInfo.graphicsMemorySize); + ftRenderLightmap.giLodModeEnabled = true; + } + else + { + DebugLogInfo("GI VRAM auto optimization OFF: estimated usage " + (int)approxMem + " < " + SystemInfo.graphicsMemorySize); + } + } + + // Generate terrain geometry with detail enough for given size for UVGBuffer purposes + fhmaps = new BinaryWriter(File.Open(scenePath + "/heightmaps.bin", FileMode.Create)); + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add("heightmaps.bin"); + if (exportTerrainAsHeightmap) + { + for(int i=0; i 0) + { + for(int i=0; i 0) uvgbGlobalFlags |= UVGBFLAG_TERRAIN; + SetUVGBFlags(uvgbGlobalFlags); + + for(int i=0; i 8192) DebugLogWarning("Warning: vertex lightmap group " + lmgroup.name + " uses resolution of " + atlasTexSize); + atlasTexSize = (int)Mathf.Ceil(atlasTexSize / (float)ftRenderLightmap.tileSize) * ftRenderLightmap.tileSize; + flms.Write(-atlasTexSize); + } + else + { + flms.Write(lmgroup.resolution); + } + //Debug.LogError(lmgroup.name+": " + lmgroup.resolution); + } + flms.Close(); + flmlod.Close(); + flmuvgb.Close(); + + voffset = ioffset = soffset = 0; // vertex/index/surface write + + // Per-surface alpha texture IDs + var alphaIDs = new List(); + + int albedoCounter = 0; + var albedoMap = new Dictionary(); // albedo ptr -> ID map + + int alphaCounter = 0; + var alphaMap = new Dictionary>(); // alpha ptr -> ID map + + var dummyTexList = new List(); // list of single-color 1px textures + var dummyPixelArray = new Color[1]; + + if (ftRenderLightmap.checkOverlaps) + { + var quad = GameObject.CreatePrimitive(PrimitiveType.Quad); + var plane = GameObject.CreatePrimitive(PrimitiveType.Plane); + var qmesh = quad.GetComponent().sharedMesh; + var pmesh = plane.GetComponent().sharedMesh; + DestroyImmediate(quad); + DestroyImmediate(plane); + bool canCheck = ftModelPostProcessor.InitOverlapCheck(); + if (!canCheck) + { + DebugLogError("Can't load ftOverlapTest.shader"); + CloseAllFiles(); + userCanceled = true; + ProgressBarEnd(true); + yield break; + } + for(int g=0; g 1.0001f || usedUVs[v].y < -0.0001f || usedUVs[v].y > 1.0001f) + { + validUVs = false; + break; + } + } + if (!validUVs && ftRenderLightmap.verbose) + { + string objPath = obj.name; + var prt = obj.transform.parent; + while(prt != null) + { + objPath = prt.name + "\\" + objPath; + prt = prt.parent; + } + ftRenderLightmap.simpleProgressBarEnd(); + if (!EditorUtility.DisplayDialog("Incorrect UVs", "Object " + objPath + " UVs are out of 0-1 bounds", "Continue", "Stop")) + { + CloseAllFiles(); + userCanceled = true; + ProgressBarEnd(true); + yield break; + } + ProgressBarInit("Exporting scene - preparing...", window); + } + + int overlap = ftModelPostProcessor.DoOverlapCheck(obj, false); + if (overlap != 0 && ftRenderLightmap.verbose) + { + //storage.debugRT = ftModelPostProcessor.rt; + string objPath = obj.name; + var prt = obj.transform.parent; + while(prt != null) + { + objPath = prt.name + "\\" + objPath; + prt = prt.parent; + } + if (overlap < 0) + { + ftRenderLightmap.simpleProgressBarEnd(); + if (!EditorUtility.DisplayDialog("Incorrect UVs", "Object " + objPath + " has no UV2", "Continue", "Stop")) + { + CloseAllFiles(); + userCanceled = true; + ProgressBarEnd(true); + yield break; + } + ProgressBarInit("Exporting scene - preparing...", window); + } + else + { + ftRenderLightmap.simpleProgressBarEnd(); + if (!EditorUtility.DisplayDialog("Incorrect UVs", "Object " + objPath + " has overlapping UVs", "Continue", "Stop")) + { + CloseAllFiles(); + userCanceled = true; + ProgressBarEnd(true); + yield break; + } + ProgressBarInit("Exporting scene - preparing...", window); + } + } + } + } + ftModelPostProcessor.EndOverlapCheck(); + } + + // Prepare progressbar + int progressNumObjects = 0; + foreach(GameObject obj in objects) + { + if (obj == null) continue; + if (!obj.activeInHierarchy) continue; + progressNumObjects++; + } + + // Open files to write + fscene = new BinaryWriter(File.Open(scenePath + "/objects.bin", FileMode.Create)); + fmesh = new BinaryWriter(File.Open(scenePath + "/mesh.bin", FileMode.Create)); + flmid = new BinaryWriter(File.Open(scenePath + "/lmid.bin", FileMode.Create)); + fseamfix = new BinaryWriter(File.Open(scenePath + "/seamfix.bin", FileMode.Create)); + fsurf = new BinaryWriter(File.Open(scenePath + "/surf.bin", FileMode.Create)); + fmatid = new BinaryWriter(File.Open(scenePath + "/matid.bin", FileMode.Create)); + fmatide = new BinaryWriter(File.Open(scenePath + "/emissiveid.bin", FileMode.Create)); + fmatideb = new BinaryWriter(File.Open(scenePath + "/emissivemul.bin", FileMode.Create)); + fmatidh = new BinaryWriter(File.Open(scenePath + "/heightmapid.bin", FileMode.Create)); + falphaid = new BinaryWriter(File.Open(scenePath + "/alphaid.bin", FileMode.Create)); + + fvbfull = new BufferedBinaryWriterFloat( new BinaryWriter(File.Open(scenePath + "/vbfull.bin", FileMode.Create)) ); + fvbtrace = new BufferedBinaryWriterFloat( new BinaryWriter(File.Open(scenePath + "/vbtrace.bin", FileMode.Create)) ); + fvbtraceTex = new BufferedBinaryWriterFloat( new BinaryWriter(File.Open(scenePath + "/vbtraceTex.bin", FileMode.Create)) ); + fvbtraceUV0 = new BufferedBinaryWriterFloat( new BinaryWriter(File.Open(scenePath + "/vbtraceUV0.bin", FileMode.Create)) ); + + fib = new BufferedBinaryWriterInt( new BinaryWriter(File.Open(scenePath + "/ib.bin", FileMode.Create)) ); + + fib32 = new BinaryWriter(File.Open(scenePath + "/ib32.bin", FileMode.Create)); + fib32lod = new BinaryWriter[sceneLodsUsed]; + for(int i=0; i 0) + { + //terrainObjectToHeightMapPtr = new IntPtr[terrainObjectToHeightMap.Count]; + /*for(int i=0; i(); + + for(int i=0; i= 0) { + for(int k=0; k 1) alphaRef = 1; + + if (alphaMetaPass) + { + // Will use meta pass alpha + + lmAlphaList.Add((System.IntPtr)0); // will be replaced after in-engine UVGBuffer part generation + if (nonDX11) lmAlphaListRAM.Add(new TexInput()); + lmAlphaListTex.Add(null); + lmAlphaRefList.Add(alphaRef); + lmAlphaChannelList.Add(id); // channel is always 3; store LMID instead + + texID = alphaCounter; + alphaCounter++; + alphaID = (ushort)texID; + + hasMetaAlpha = true; + } + else + { + // Using alpha texture directly + + // allow same map instances with different threshold + List texIDs; + if (!alphaMap.TryGetValue(texPtr, out texIDs)) + { + alphaMap[texPtr] = texIDs = new List(); + + lmAlphaList.Add(texPtr); + if (nonDX11) lmAlphaListRAM.Add(InputDataFromTex(tex)); + lmAlphaListTex.Add(tex); + lmAlphaRefList.Add(alphaRef); + lmAlphaChannelList.Add(alphaChannel); + + texIDs.Add(alphaCounter); + texID = alphaCounter; + alphaCounter++; + //Debug.Log("Alpha " + texID+": " + tex.name+" "+alphaRef); + alphaID = (ushort)texID; + } + else + { + int matchingInstance = -1; + for(int instance=0; instance()); + lmLocalToGlobalIndices.Add(new List()); + lmVOffset.Add(0); + } + + var mmr = GetValidRenderer(obj); + var castsShadows = mmr.shadowCastingMode != UnityEngine.Rendering.ShadowCastingMode.Off; + if (exportTerrainAsHeightmap && obj.name == "__ExportTerrain") castsShadows = false; // prevent exporting placeholder quads to ftrace + + time = GetTime(); + for(int k=0;k k) + { + if (mats[k] != null) + { + var matTag = mats[k].GetTag("RenderType", true); + if (matTag == "Transparent" || matTag == "TreeLeaf") + { + if (mats[k].HasProperty("_Color")) + { + if (mats[k].color.a < 0.5f) submeshCastsShadows = false; + } + } + } + } + } + + // Generate tracing index buffer, write alpha IDs per triangle + if (submeshCastsShadows) + { + var alphaID = alphaIDs[(alphaIDs.Count - m.subMeshCount) + k]; + + if (lodLevel < 0) + { + // Export persistent IB + var indicesOpaqueArray = indicesOpaque; + var indicesTransparentArray = indicesTransparent; + var falphaidFile = falphaid; + exportIB32(indicesOpaqueArray, indicesTransparentArray, id>=0 ? lmIndexArrays[id] : null, + inds[k], isFlipped, currentVoffset, id>=0 ? lmVOffset[id] : 0, falphaidFile, alphaID); + } + else + { + // Export LOD IBs + var visList = objToLodLevelVisible[obj]; + for(int vlod=0; vlod=0 ? lmIndexArrays[id] : null, + inds[k], isFlipped, currentVoffset, id>=0 ? lmVOffset[id] : 0, falphaidFile, alphaID); + } + } + } + ioffset += indexCount; + } + ibTime += GetTime() - time; + + if (id >= 0) + { + var vcount = objsToWriteVerticesPosW[i].Length;//m.vertexCount; + var remapArray = lmLocalToGlobalIndices[id]; + var addition = lmVOffset[id]; + for(int k=0; k(); + if (areaLight == null) + { + var areaIndex = temporaryAreaLightMeshList.IndexOf(obj); + if (areaIndex >= 0) areaLight = temporaryAreaLightMeshList2[areaIndex]; + } + //var areaLight = + if (areaLight != null) id = areaLight.lmid; + + var vertexBake = lmgroup != null ? (lmgroup.mode == BakeryLightmapGroup.ftLMGroupMode.Vertex) : false; + //var castsShadows = obj.GetComponent().shadowCastingMode != UnityEngine.Rendering.ShadowCastingMode.Off; + + var holderObj = objsToWriteHolder[i]; + if (holderObj != null) + { + if (!holderRect.TryGetValue(holderObj, out rc)) + { + holderObj = null; + } + } + + time = GetTime(); + //var vertices = m.vertices; + //var normals = m.normals; + //var tangents = m.tangents; + var uv = objsToWriteVerticesUV[i];//m.uv; + var uv2 = objsToWriteVerticesUV2[i];//m.uv2; + if (uv2.Length == 0 && !vertexBake) uv2 = uv;//m.uv; + vbTimeRead += GetTime() - time; + + var inds = objsToWriteIndices[i]; + + var time2 = GetTime(); + time = time2; + + // Transform UVs + var tformedPos = objsToWriteVerticesPosW[i];// new Vector3[vertices.Length]; + var tformedNormals = objsToWriteVerticesNormalW[i];// new Vector3[normals.Length]; + Vector4[] tformedTangents = null; + if (NeedsTangents(lmgroup, tangentSHLights)) + { + tformedTangents = objsToWriteVerticesTangentW[i]; + } + Vector2[] tformedUV2; + if (areaLight == null && !vertexBake) + { + tformedUV2 = holderObj == null ? uv2 : new Vector2[tformedPos.Length]; + for(int t=0; t= 0) + { + while(lmUVArrays.Count <= id) + { + lmUVArrays.Add(new List()); + } + var lmUVArray = lmUVArrays[id]; + for(int k=0; k lmgroup.resolution) + { + DebugLogWarning("Not generating LOD UVs for " + lmgroup.name + ", because there are too many UV islands"); + uvrUnload(); + continue; + } + DebugLogInfo("Min LOD resolution for " + lmgroup.name + " is " + minLodResolution); + for(int s=0; s= 0 && (int)u > id*10) + { + Debug.LogError("Float overflow (GI LOD)"); + } + lmUVArrays2[i][k * 2] = u; + } + } + } + + // Write vbTraceTex + int numTraceVerts = vbtraceTexUVArray.Count/2; + for(int i=0; i groupList[g].id && str.hasEmissive[groupList[g].id]; + + bool vertexBake = groupList[g].mode == BakeryLightmapGroup.ftLMGroupMode.Vertex; + + int res = groupList[g].resolution; + if (vertexBake) + { + if (groupList[g].totalVertexCount == 0) + { + DebugLogError("Vertex lightmap group " + groupList[g].name + " has 0 static vertices. Make sure objects inside the group don't all have Scale In Lightmap == 0."); + CloseAllFiles(); + userCanceled = true; + ProgressBarEnd(true); + yield break; + } + int atlasTexSize = (int)Mathf.Ceil(Mathf.Sqrt((float)groupList[g].totalVertexCount)); + atlasTexSize = (int)Mathf.Ceil(atlasTexSize / (float)ftRenderLightmap.tileSize) * ftRenderLightmap.tileSize; + res = atlasTexSize; + } + + var bakeWithNormalMaps = (groupList[g].renderDirMode == BakeryLightmapGroup.RenderDirMode.BakedNormalMaps) ? + true : (ftRenderLightmap.renderDirMode == ftRenderLightmap.RenderDirMode.BakedNormalMaps); + + if (groupList[g].probes) bakeWithNormalMaps = false; + + bool hasMetaAlpha = false; + + ftUVGBufferGen.StartUVGBuffer(res, hasEmissive, bakeWithNormalMaps); + for(int i=0; i()) continue; + var bakedMesh = GetSharedMeshBaked(obj); + ftUVGBufferGen.RenderUVGBuffer(bakedMesh, + GetValidRenderer(obj), + objsToWriteScaleOffset[i], + obj.transform, + vertexBake, + objsToWriteUVOverride[i], + bakeWithNormalMaps && !exportTerrainAsHeightmap && obj.name == "__ExportTerrain", + objsToWriteHasMetaAlpha[i]); + + if (objsToWriteHasMetaAlpha[i]) hasMetaAlpha = true; + } + ftUVGBufferGen.EndUVGBuffer(); + + var albedo = ftUVGBufferGen.texAlbedo; + var emissive = ftUVGBufferGen.texEmissive; + var normal = ftUVGBufferGen.texNormal; + var alpha = ftUVGBufferGen.texAlpha; + if (hasEmissive) + { + //albedo = ftUVGBufferGen.GetAlbedoWithoutEmissive(ftUVGBufferGen.texAlbedo, ftUVGBufferGen.texEmissive); + //if ((unityVersionMajor == 2017 && unityVersionMinor < 2) || unityVersionMajor < 2017) + //{ +#if UNITY_2017_2_OR_NEWER +#else + // Unity before 2017.2: emissive packed to RGBM + // Unity after 2017.2: linear emissive + emissive = ftUVGBufferGen.DecodeFromRGBM(emissive); +#endif + //} + if (ftRenderLightmap.hackEmissiveBoost != 1.0f) + { + ftUVGBufferGen.Multiply(emissive, ftRenderLightmap.hackEmissiveBoost); + } + if (!vertexBake) ftUVGBufferGen.Dilate(emissive); + } + if (!vertexBake) ftUVGBufferGen.Dilate(albedo); + + if (isDX11) + { + SaveGBufferMap(albedo.GetNativeTexturePtr(), + scenePath + "/uvalbedo_" + groupList[g].name + (ftRenderLightmap.compressedGBuffer ? ".lz4" : ".dds"), + ftRenderLightmap.compressedGBuffer); + GL.IssuePluginEvent(5); + yield return null; + } + else + { + var bytes = InputBytesFromTex(albedo); + SaveGBufferMapFromRAM(bytes, bytes.Length, + scenePath + "/uvalbedo_" + groupList[g].name + (ftRenderLightmap.compressedGBuffer ? ".lz4" : ".dds"), + ftRenderLightmap.compressedGBuffer); + } + DestroyImmediate(albedo); + //if (g==2) storage.debugTex = emissive; + + if (hasEmissive) + { + if (isDX11) + { + SaveGBufferMap(emissive.GetNativeTexturePtr(), + scenePath + "/uvemissive_" + groupList[g].name + (ftRenderLightmap.compressedGBuffer ? ".lz4" : ".dds"), + ftRenderLightmap.compressedGBuffer); + GL.IssuePluginEvent(5); + yield return null; + } + else + { + var bytes = InputBytesFromTex(emissive, TexInputType.HalfColor); + SaveGBufferMapFromRAM(bytes, bytes.Length, + scenePath + "/uvemissive_" + groupList[g].name + (ftRenderLightmap.compressedGBuffer ? ".lz4" : ".dds"), + ftRenderLightmap.compressedGBuffer); + } + + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add("uvemissive_" + groupList[g].name + (ftRenderLightmap.compressedGBuffer ? ".lz4" : ".dds")); + DestroyImmediate(emissive); + } + + if (bakeWithNormalMaps) + { + if (isDX11) + { + SaveGBufferMap(normal.GetNativeTexturePtr(), + scenePath + "/uvnormal_" + groupList[g].name + (ftRenderLightmap.compressedGBuffer ? ".lz4" : ".dds"), + ftRenderLightmap.compressedGBuffer); + GL.IssuePluginEvent(5); + yield return null; + } + else + { + var bytes = InputBytesFromTex(normal); + SaveGBufferMapFromRAM(bytes, bytes.Length, + scenePath + "/uvnormal_" + groupList[g].name + (ftRenderLightmap.compressedGBuffer ? ".lz4" : ".dds"), + ftRenderLightmap.compressedGBuffer); + } + DestroyImmediate(normal); + } + + if (hasMetaAlpha) + { + for(int i=0; i 0) + { + if (isDX11) + { + var terrainObjectToHeightMapPtr = new IntPtr[terrainObjectToHeightMap.Count]; + for(int i=0; i tex2hash; + static Dictionary lightSaved; + static bool allowOverwrite = false; + + static System.Type texUtil; + static MethodInfo texUtil_GetUsage; + + static public void InitMaps(bool overwrite) + { + allowOverwrite = overwrite; + tex2hash = new Dictionary(); + lightSaved = new Dictionary(); + } + + static public void BuildDirectLight(BakeryDirectLight obj, int SAMPLES, bool ignoreNormal = false, string outName = "direct.bin") + { + if (!allowOverwrite && lightSaved.ContainsKey(outName)) return; + lightSaved[outName] = true; + + var folder = ftBuildGraphics.scenePath;//Directory.GetParent(Application.dataPath).FullName + "/frender"; + if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + var f = new BinaryWriter(File.Open(folder + "/" + outName, FileMode.Create)); + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add(outName); + + f.Write(obj.transform.forward.x); + f.Write(obj.transform.forward.y); + f.Write(obj.transform.forward.z); + + #if SRGBCONVERT + f.Write(obj.color.linear.r * obj.intensity); + f.Write(obj.color.linear.g * obj.intensity); + f.Write(obj.color.linear.b * obj.intensity); + #else + f.Write(obj.color.r * obj.intensity); + f.Write(obj.color.g * obj.intensity); + f.Write(obj.color.b * obj.intensity); + #endif + + f.Write(obj.shadowSpread); + f.Write(SAMPLES); + + f.Write(obj.cloudShadowTilingX); + f.Write(obj.cloudShadowTilingY); + f.Write(obj.cloudShadowOffsetX); + f.Write(obj.cloudShadowOffsetY); + + f.Write(ignoreNormal); + f.Write((short)0); + + if (obj.cloudShadow != null) + { + var tex = obj.cloudShadow; + int existingTexHash; + string texName = ""; + if (!tex2hash.TryGetValue(tex, out existingTexHash)) existingTexHash = -1; + if (existingTexHash < 0) + { + int texHash = tex.GetHashCode(); + tex2hash[tex] = texHash; + existingTexHash = texHash; + } + texName = "cookie_" + existingTexHash + ".dds"; + + // Save original texture to RGBA32F DDS + if (SystemInfo.graphicsDeviceType == GraphicsDeviceType.Direct3D11) + { + ftBuildGraphics.InitShaders(); + ftBuildGraphics.SaveCookie((tex as Texture2D).GetNativeTexturePtr(), + folder + "/" + texName + ); + GL.IssuePluginEvent(4); + } + else + { + var a = ftBuildGraphics.InputDataFromTex(tex, ftBuildGraphics.TexInputType.FloatColor); + ftBuildGraphics.SaveCookieFromRAM(a, + folder + "/" + texName + ); + } + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add(texName); + + f.Write(texName); + } + else + { + f.Write((byte)0); + } + + f.Close(); + } + + static public void BuildSkyLight(BakerySkyLight obj, int SAMPLES, bool texDirty, string outName = "sky.bin") + { + if (!allowOverwrite && lightSaved.ContainsKey(outName)) return; + lightSaved[outName] = true; + + var folder = ftBuildGraphics.scenePath;//Directory.GetParent(Application.dataPath).FullName + "/frender"; + if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + var f = new BinaryWriter(File.Open(folder + "/" + outName, FileMode.Create)); + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add(outName); + + #if SRGBCONVERT + f.Write(obj.color.linear.r * obj.intensity); + f.Write(obj.color.linear.g * obj.intensity); + f.Write(obj.color.linear.b * obj.intensity); + #else + f.Write(obj.color.r * obj.intensity); + f.Write(obj.color.g * obj.intensity); + f.Write(obj.color.b * obj.intensity); + #endif + + f.Write(SAMPLES); + f.Write(obj.hemispherical); + + f.Write("sky" + obj.UID + ".dds"); + + f.Close(); + + if (texDirty) + { + /* + // Disable cubemap compression, so texture is half-float + var importer = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(obj.cubemap)) as TextureImporter; + if (importer.textureCompression != TextureImporterCompression.Uncompressed) + { + importer.textureCompression = TextureImporterCompression.Uncompressed; + importer.SaveAndReimport(); + } + */ + + var tform = obj.transform; + var rh = tform.right; + var up = tform.up; + var fw = tform.forward; + + var texName = "sky" + obj.UID + ".dds"; + + bool isDoubleLDR = false; + + // Find out texture encoding + // Even if pixel format is the same, different encoding rules (dLDR, RGBM) can be used + if (texUtil == null) texUtil = Assembly.Load("UnityEditor.dll").GetType("UnityEditor.TextureUtil"); + if (texUtil == null) + { + Debug.LogError("TextureUtil class cannot be found"); + } + else + { + if (texUtil_GetUsage == null) texUtil_GetUsage = texUtil.GetMethod("GetUsageMode", BindingFlags.Static | BindingFlags.Public); + if (texUtil_GetUsage == null) + { + Debug.LogError("TextureUtil::GetUsage cannot be found"); + } + else + { + int usage = (int)texUtil_GetUsage.Invoke(null, new object[]{obj.cubemap}); + isDoubleLDR = usage == 1 // BakedLightmapDoubleLDR + || usage == 7;// DoubleLDR + } + } + + bool isLinear = PlayerSettings.colorSpace == ColorSpace.Linear; + + if (obj.correctRotation) + { + if (SystemInfo.graphicsDeviceType == GraphicsDeviceType.Direct3D11) + { + ftBuildGraphics.InitShaders(); + ftBuildGraphics.SaveSky(obj.cubemap.GetNativeTexturePtr(), + rh.x, + up.x, + fw.x, + rh.y, + up.y, + fw.y, + rh.z, + up.z, + fw.z, + folder + "/" + texName, + isLinear, + isDoubleLDR + ); + GL.IssuePluginEvent(3); // convert cubemap to small lat/lon DDS + } + else + { + var a = ftBuildGraphics.InputDataFromCubemap(obj.cubemap as Texture, Matrix4x4.TRS(Vector3.zero, obj.transform.rotation, Vector3.one).transpose, isLinear, isDoubleLDR, ftBuildGraphics.TexInputType.FloatColor); + ftBuildGraphics.SaveCookieFromRAM(a, + folder + "/" + texName + ); + } + } + else + { + if (SystemInfo.graphicsDeviceType == GraphicsDeviceType.Direct3D11) + { + ftBuildGraphics.InitShaders(); + ftBuildGraphics.SaveSky(obj.cubemap.GetNativeTexturePtr(), + obj.transform.right.x, + obj.transform.right.y, + obj.transform.right.z, + obj.transform.up.x, + obj.transform.up.y, + obj.transform.up.z, + obj.transform.forward.x, + obj.transform.forward.y, + obj.transform.forward.z, + folder + "/" + texName, + isLinear, + isDoubleLDR + ); + GL.IssuePluginEvent(3); // convert cubemap to small lat/lon DDS + } + else + { + var a = ftBuildGraphics.InputDataFromCubemap(obj.cubemap as Texture, Matrix4x4.TRS(Vector3.zero, obj.transform.rotation, Vector3.one), isLinear, isDoubleLDR, ftBuildGraphics.TexInputType.FloatColor); + ftBuildGraphics.SaveCookieFromRAM(a, + folder + "/" + texName + ); + } + } + + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add(texName); + } + } + +#if OPTIMIZEDAREA + + class BSPNode + { + public BSPNode left, right; + public float probabilityDivide = 0.0f; + public List leafIndices; + }; + + static int GetRandomTriFromBSP(BSPNode bspNode, float rndValue) + { + //Debug.LogError(bspNode.probabilityDivide); + if (bspNode.leafIndices != null) + { + return bspNode.leafIndices[Random.Range(0, bspNode.leafIndices.Count)]; + } + if (rndValue < bspNode.probabilityDivide) + { + return GetRandomTriFromBSP(bspNode.left, rndValue);// != null ? bspNode.left : bspNode.right, rndValue); + } + else + { + return GetRandomTriFromBSP(bspNode.right, rndValue);// != null ? bspNode.right : bspNode.left, rndValue); + } + } + + static BSPNode BuildProbabilityBSP(int[] triIndices, float[] area, int start, int end, int depth, float parentGlobalOffset, float parentGlobalEnd) + { + if (depth > 100) return null; + + var bspNode = new BSPNode(); + + int startIndex = triIndices[start]; + int endIndex = triIndices[end]; + + // Decide where to split + //float probabilityDivide = (area[startIndex] + area[endIndex]) * 0.5f;/// (end - start);// * 0.5f; + float probabilitySum = 0; + int divisor = start; + for(int i=start; i<=end; i++) + { + int triIndex = triIndices[i]; + probabilitySum += area[triIndex]; + //if (probabilitySum >= probabilityDivide) + //if (area[triIndex] >= probabilityDivide) + { + //divisor = i; + //break; + } + } + float probabilityDivide = probabilitySum / (end - start); + + //probabilitySum = 0; + for(int i=start; i<=end; i++) + { + int triIndex = triIndices[i]; + //probabilitySum += area[triIndex]; + //if (probabilitySum >= probabilityDivide) + if (area[triIndex] >= probabilityDivide) + { + divisor = i - 1; + break; + } + } + + if (divisor < 0) divisor = 0; + + int beforeDivisorIndex = divisor > 0 ? triIndices[divisor-1] : 0; + int divisorIndex = triIndices[divisor]; + + //Debug.LogError(start+" "+end+" "+divisor+" "+probabilityDivide); + + /* + // Create new BSP depth layer, if needed + if (layers.Count <= depth) + { + int numElements = triIndices.Length; // conservative? + layers[depth] = new int[numElements]; + } + */ + + //bspNode.probabilityDivide = probabilityDivide; + float probabilitySumLeft = 0; + float probabilitySumRight = 0; + for(int i=start; i<=end; i++) + { + int triIndex = triIndices[i]; + if (i <= divisor) + { + probabilitySumLeft += area[triIndex]; + } + else + { + probabilitySumRight += area[triIndex]; + } + } + //probabilitySumLeft /= divisor - start + 1; + //probabilitySumRight /= end - divisor; + float probabilityLength = probabilitySumLeft + probabilitySumRight; + //bspNode.probabilityDivide = parentGlobalOffset + (probabilitySumLeft / probabilityLength) * parentGlobalPercent; + bspNode.probabilityDivide = Mathf.Lerp(parentGlobalOffset, parentGlobalEnd, probabilitySumLeft / probabilityLength); + + //bspNode.leafIndex = startIndex; + bool isLeaf = true; + + if (divisor != start && divisor != end) + { + //Debug.LogError("["+depth+"] Divide global " + bspNode.probabilityDivide+" "+start+" "+divisor+" "+end+" "+probabilitySumLeft + " "+probabilitySumRight+" "+parentGlobalOffset+" "+parentGlobalEnd); + + // Split left part + int newStart = start; + int newEnd = divisor > 0 ? divisor : 0; + //Debug.LogError("left"); + bspNode.left = BuildProbabilityBSP(triIndices, area, newStart, newEnd, depth + 1, parentGlobalOffset, bspNode.probabilityDivide); + + // Split right part + newStart = divisor + 1; + newEnd = end; + //Debug.LogError("right"); + bspNode.right = BuildProbabilityBSP(triIndices, area, newStart, newEnd, depth + 1, bspNode.probabilityDivide, parentGlobalEnd); + + isLeaf = false; + } + + if (isLeaf) + { + bspNode.leafIndices = new List(); + string l = ""; + for(int i=start; i<=end; i++) + { + int triIndex = triIndices[i]; + bspNode.leafIndices.Add(triIndex); + l += area[triIndex] + ", "; + } + //Debug.LogError("Leaf: " + l); + } + + return bspNode; + } +#endif + + static public float BuildLight(BakeryLightMesh obj, int SAMPLES, Vector3[] corners, string outName = "lights.bin", + List vplData = null) + { + if (!allowOverwrite && lightSaved.ContainsKey(outName)) return 0.0f; + lightSaved[outName] = true; + + var folder = ftBuildGraphics.scenePath;//Directory.GetParent(Application.dataPath).FullName + "/frender"; + if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + var f = new BinaryWriter(File.Open(folder + "/" + outName, FileMode.Create)); + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add(outName); + + f.Write(1); + + Mesh mesh = null; + var tform = obj.transform; + Vector3[] verts; + Vector2[] uv = null; + int[] indices; + int tris; + if (corners == null) + { + mesh = ftBuildGraphics.GetSharedMeshBaked(obj.gameObject); + verts = mesh.vertices; + indices = mesh.triangles; + tris = indices.Length / 3; + if (obj.texture != null) uv = mesh.uv; + } + else + { + verts = corners; + indices = new int[6]; + indices[0] = 2; + indices[1] = 1; + indices[2] = 0; + indices[3] = 0; + indices[4] = 3; + indices[5] = 2; + tris = 2; + if (obj.texture != null) + { + uv = new Vector2[4]; + uv[0] = new Vector2(0,0); + uv[1] = new Vector2(0,1); + uv[2] = new Vector2(1,1); + uv[3] = new Vector2(1,0); + } + } + + float[] area = new float[tris]; +#if (OPTIMIZEDAREA || OPTIMIZEDAREA2) +#else + float minArea = float.MaxValue; + float maxArea = -float.MaxValue; +#endif + float totalWorldArea = 0; + + //Vector2[] uv = null; + int downsampleRes = 0; + float[] pixels = null; + string texName = ""; + if (obj.texture != null) + { + //uv = mesh.uv; + var tex = obj.texture; + + // Save original texture to RGBA32F DDS + int existingTexHash; + if (!tex2hash.TryGetValue(tex, out existingTexHash)) existingTexHash = -1; + if (existingTexHash < 0) + { + int texHash = tex.GetHashCode(); + tex2hash[tex] = texHash; + existingTexHash = texHash; + } + texName = "areatex_" + existingTexHash + ".dds"; + + if (SystemInfo.graphicsDeviceType == GraphicsDeviceType.Direct3D11) + { + ftBuildGraphics.InitShaders(); + ftBuildGraphics.SaveCookie(tex.GetNativeTexturePtr(), + folder + "/" + texName + ); + GL.IssuePluginEvent(4); + } + else + { + var a = ftBuildGraphics.InputDataFromTex(tex, ftBuildGraphics.TexInputType.FloatColor); + ftBuildGraphics.SaveCookieFromRAM(a, + folder + "/" + texName + ); + } + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add(texName); + + // Get downsampled (via mips) texture + downsampleRes = (int)Mathf.Sqrt(SAMPLES); + if (downsampleRes == 0) downsampleRes = 1; + var downsampleRT = new RenderTexture(downsampleRes, downsampleRes, 0, RenderTextureFormat.ARGBFloat, RenderTextureReadWrite.Linear); + var downsampleTex = new Texture2D(downsampleRes, downsampleRes, TextureFormat.RGBAFloat, false, true); + Graphics.Blit(tex, downsampleRT); + Graphics.SetRenderTarget(downsampleRT); + downsampleTex.ReadPixels(new Rect(0,0,downsampleRes,downsampleRes), 0, 0, false); + downsampleTex.Apply(); + var bytes = downsampleTex.GetRawTextureData(); + Object.DestroyImmediate(downsampleTex); + downsampleRT.Release(); + pixels = new float[bytes.Length / 4]; + System.Buffer.BlockCopy(bytes, 0, pixels, 0, bytes.Length); + } + + for(int j=0; j 0) totalWorldArea += area[j]; +#else + area[j] = Vector3.Cross(v2 - v1, v3 - v1).magnitude; + if (area[j] > 0) totalWorldArea += area[j]; + if (area[j] > 0) + { + minArea = Mathf.Min(minArea, area[j]); + maxArea = Mathf.Max(maxArea, area[j]); + } +#endif + } + +#if OPTIMIZEDAREA2 + + // New 2 + var randomTriIndices = new int[SAMPLES]; + // When an area light is with a width or height of 0, this will avoid an OOR exception (this will keep the baking running instead of crashing it...) + float invTotalArea = totalWorldArea == 0 ? 0 : (1.0f / (totalWorldArea * 0.5f)); + float sumWeights = 0.0f; + for(int j=0; j= weightSoFar && outputSampleIx + 1 < tris) + { + weightSoFar += area[++outputSampleIx]; + } + randomTriIndices[i] = outputSampleIx; + } + +#elif OPTIMIZEDAREA + + // New + + // Collect indices to triangles + var triIndices = new int[tris]; + float invTotalArea = 1.0f / (totalWorldArea * 0.5f); + for(int j=0; j Larger + System.Array.Sort(triIndices, delegate(int a, int b) + { + return area[a].CompareTo(area[b]); + }); + + // Put triangle indices into a BSP tree based on area + int start = 0; + int end = triIndices.Length - 1; + //var bspLayers = new List(); // tri index array per depth level + var bspRoot = BuildProbabilityBSP(triIndices, area, start, end, 0, 0.0f, 1.0f); + +#else + // Legacy + if (maxArea / minArea > 65535) + { + minArea = maxArea / 65535; + } + float invMinArea = 1.0f / minArea; + for(int j=0; j(); + for(int j=0; j 0 && tarea < 65536) + { + for(int k=0; k 0) Debug.LogError("Skipped " + skipped + " invalid triangles out of " + tris + " on LightMesh " + obj.name + " (area is too big?)"); +#endif + + + f.Write(obj.samples2); + f.Write(SAMPLES); + Vector3 trinormal; + for(int sample=0; sample 0 ? uniformTriList[rndTri] : 0; +#endif + + var rndA = Random.value; + var rndB = Random.value; + var rndC = Random.value; + + var A = verts[indices[tri*3]]; + var B = verts[indices[tri*3+1]]; + var C = verts[indices[tri*3+2]]; + var point = (1.0f - Mathf.Sqrt(rndA)) * A + (Mathf.Sqrt(rndA) * (1.0f - rndB)) * B + (Mathf.Sqrt(rndA) * rndB) * C; + + if (corners == null) point = tform.TransformPoint(point); + + trinormal = Vector3.Cross(A - B, B - C);//.normalized; + float len = Mathf.Sqrt(trinormal.x*trinormal.x + trinormal.y*trinormal.y + trinormal.z*trinormal.z); + trinormal /= len; + + if (corners == null) trinormal = tform.TransformDirection(trinormal); + + point += trinormal * 0.001f; + + f.Write(point.x); + f.Write(point.y); + f.Write(point.z); + if (vplData != null) vplData.Add(point); + + f.Write(trinormal.x); + f.Write(trinormal.y); + f.Write(trinormal.z); + if (vplData != null) vplData.Add(trinormal); + + if (obj.texture != null) + { + var tA = uv[indices[tri*3]]; + var tB = uv[indices[tri*3+1]]; + var tC = uv[indices[tri*3+2]]; + var tpoint = (1.0f - Mathf.Sqrt(rndA)) * tA + (Mathf.Sqrt(rndA) * (1.0f - rndB)) * tB + (Mathf.Sqrt(rndA) * rndB) * tC; + int tx = (int)((tpoint.x - Mathf.Floor(tpoint.x)) * (downsampleRes - 1)); + int ty = (int)((tpoint.y - Mathf.Floor(tpoint.y)) * (downsampleRes - 1)); + int pixelIndex = ty * downsampleRes + tx; + if (pixelIndex*4+2 < pixels.Length) + { + float cr = pixels[pixelIndex * 4]; + float cg = pixels[pixelIndex * 4 + 1]; + float cb = pixels[pixelIndex * 4 + 2]; + f.Write(cr); + f.Write(cg); + f.Write(cb); + if (vplData != null) vplData.Add(new Vector3(cr, cg, cb)); + } + else + { + f.Write(0.0f); + f.Write(0.0f); + f.Write(0.0f); + if (vplData != null) vplData.Add(Vector3.one); + } + } + else if (vplData != null) + { + vplData.Add(Vector3.one); + } + + //var g = GameObject.CreatePrimitive(PrimitiveType.Sphere); + //g.transform.position = point; + //g.transform.localScale = new Vector3(0.01f, 0.01f, 0.01f); + } + + f.Write(obj.cutoff); + f.Write(totalWorldArea * 0.5f); + + #if SRGBCONVERT + f.Write(obj.color.linear.r * obj.intensity); + f.Write(obj.color.linear.g * obj.intensity); + f.Write(obj.color.linear.b * obj.intensity); + #else + f.Write(obj.color.r * obj.intensity); + f.Write(obj.color.g * obj.intensity); + f.Write(obj.color.b * obj.intensity); + #endif + + f.Write(obj.lmid); + + if (obj.texture != null) + { + f.Write(texName); + } + + f.Close(); + + return totalWorldArea * 0.5f; + } + + static public string GetTempTexName(Object tex, string prefix = "cookie_") + { + int existingTexHash; + if (!tex2hash.TryGetValue(tex, out existingTexHash)) existingTexHash = -1; + if (existingTexHash < 0) + { + int texHash = tex.GetHashCode(); + tex2hash[tex] = texHash; + existingTexHash = texHash; + } + return prefix + existingTexHash + ".dds"; + } + + static public bool BuildLight(BakeryPointLight obj, int SAMPLES, bool texDirty, bool ignoreNormal = false, string outName = "pointlight.bin") + { + if (!allowOverwrite && lightSaved.ContainsKey(outName)) return false; + lightSaved[outName] = true; + + bool isError = false; + + var folder = ftBuildGraphics.scenePath;//Directory.GetParent(Application.dataPath).FullName + "/frender"; + if (!Directory.Exists(folder)) Directory.CreateDirectory(folder); + var f = new BinaryWriter(File.Open(folder + "/" + outName, FileMode.Create)); + if (ftRenderLightmap.clientMode) ftClient.serverFileList.Add(outName); + + f.Write(SAMPLES); + f.Write(obj.cutoff); + + float fakeDistMult = 1.0f; + float falloffMinRadius = obj.falloffMinRadius; + if (!obj.realisticFalloff) + { + fakeDistMult = (1.0f / obj.cutoff) * 5.0f; + falloffMinRadius = 1; + } + f.Write(fakeDistMult); + f.Write(falloffMinRadius); + + #if SRGBCONVERT + f.Write(obj.color.linear.r * obj.intensity); + f.Write(obj.color.linear.g * obj.intensity); + f.Write(obj.color.linear.b * obj.intensity); + #else + f.Write(obj.color.r * obj.intensity); + f.Write(obj.color.g * obj.intensity); + f.Write(obj.color.b * obj.intensity); + #endif + + var pos = obj.transform.position; + + f.Write(pos.x); + f.Write(pos.y); + f.Write(pos.z); + + f.Write(obj.shadowSpread); + f.Write(ignoreNormal); + + bool isCookie = obj.projMode == BakeryPointLight.ftLightProjectionMode.Cookie && obj.cookie != null; + bool isCone = obj.projMode == BakeryPointLight.ftLightProjectionMode.Cone; + bool isCubemap = obj.projMode == BakeryPointLight.ftLightProjectionMode.Cubemap && obj.cubemap != null; + bool isIES = obj.projMode == BakeryPointLight.ftLightProjectionMode.IES && obj.iesFile != null; + + int existingTexHash; + string texName = ""; + UnityEngine.Object tex = null; + if (isCookie || isCubemap || isIES) + { + if (isCookie) + { + tex = obj.cookie; + } + else if (isCubemap) + { + tex = obj.cubemap; + } + else + { + tex = obj.iesFile; + } + if (!tex2hash.TryGetValue(tex, out existingTexHash)) existingTexHash = -1; + if (existingTexHash < 0) + { + int texHash = tex.GetHashCode(); + tex2hash[tex] = texHash; + existingTexHash = texHash; + } + texName = "cookie_" + existingTexHash + ".dds"; + } + + if (isCone) + { + f.Write(obj.transform.forward.x); + f.Write(obj.transform.forward.y); + f.Write(obj.transform.forward.z); + f.Write(obj.angle); + f.Write(obj.innerAngle / 100.0f); + } + + if (isCookie || isCubemap || isIES) + { + if (isIES && obj.directionMode == BakeryPointLight.Direction.PositiveZ) + { + f.Write(obj.transform.right.x); + f.Write(obj.transform.right.y); + f.Write(obj.transform.right.z); + f.Write(-obj.transform.forward.x); + f.Write(-obj.transform.forward.y); + f.Write(-obj.transform.forward.z); + f.Write(obj.transform.up.x); + f.Write(obj.transform.up.y); + f.Write(obj.transform.up.z); + } + else + { + f.Write(obj.transform.right.x); + f.Write(obj.transform.right.y); + f.Write(obj.transform.right.z); + f.Write(obj.transform.up.x); + f.Write(obj.transform.up.y); + f.Write(obj.transform.up.z); + f.Write(obj.transform.forward.x); + f.Write(obj.transform.forward.y); + f.Write(obj.transform.forward.z); + } + f.Write(texName); + } + + if (isCookie) f.Write(obj.angle); + + if (texDirty) + { + if (!SavePointLightTexture(tex, folder, texName, isCookie, isCubemap, isIES)) isError = true; + } + + f.Close(); + + return isError; + } + + static void WriteNullTerminatedStringWithNewLine(BinaryWriter f, string s) + { + for(int i=0; i 0) + { + samples = System.Math.Max(samples / sampleDiv, 1); + } + flights.Write(samples); + } + + flights.Write(ignoreNormal ? (byte)1 : (byte)0); + + for(int L=start; L<=end; L++) + { + if (skipLight[L]) continue; + + var obj = allPoints[L]; + + bool isCookie = obj.projMode == BakeryPointLight.ftLightProjectionMode.Cookie && obj.cookie != null; + bool isCubemap = obj.projMode == BakeryPointLight.ftLightProjectionMode.Cubemap && obj.cubemap != null; + bool isIES = obj.projMode == BakeryPointLight.ftLightProjectionMode.IES && obj.iesFile != null; + + int existingTexHash; + string texName = ""; + UnityEngine.Object tex = null; + if (isCookie || isCubemap || isIES) + { + if (isCookie) + { + tex = obj.cookie; + } + else if (isCubemap) + { + tex = obj.cubemap; + } + else + { + tex = obj.iesFile; + } + if (!tex2hash.TryGetValue(tex, out existingTexHash)) existingTexHash = -1; + if (existingTexHash < 0) + { + int texHash = tex.GetHashCode(); + tex2hash[tex] = texHash; + existingTexHash = texHash; + } + texName = "cookie_" + existingTexHash + ".dds"; + WriteNullTerminatedStringWithNewLine(flights, texName); + } + + if (!SavePointLightTexture(tex, folder, texName, isCookie, isCubemap, isIES)) isError = true; + } + + flights.Close(); + + return isError; + } +} + +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildLights.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildLights.cs.meta new file mode 100644 index 00000000..5eae7d64 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftBuildLights.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d2a81f0f9d2d0c49bc8e08c6e18e72c +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClearMenu.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClearMenu.cs new file mode 100644 index 00000000..5f55b921 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClearMenu.cs @@ -0,0 +1,153 @@ +using UnityEngine; +using UnityEditor; +using UnityEngine.SceneManagement; +using System.Collections; +using System.Collections.Generic; + +public class ftClearMenu : EditorWindow +{ + public enum SceneClearingMode + { + nothing = 0, + lightmapReferences = 1, + lightmapReferencesAndBakeSettings = 2 + } + + static public string[] options = new string[] {"Nothing", "Baked data references", "All (data and bake settings)"}; + + public SceneClearingMode sceneClearingMode = SceneClearingMode.lightmapReferences; + public bool clearLightmapFiles = false; + + [MenuItem("Bakery/Utilities/Clear baked data", false, 44)] + private static void ClearBakedDataShow() + { + var instance = (ftClearMenu)GetWindow(typeof(ftClearMenu)); + instance.titleContent.text = "Clear menu"; + instance.minSize = new Vector2(320, 90); + instance.maxSize = new Vector2(instance.minSize.x, instance.minSize.y + 1); + instance.Show(); + } + + void OnGUI() + { + sceneClearingMode = (SceneClearingMode)EditorGUILayout.Popup("Clear from scenes", (int)sceneClearingMode, options); + clearLightmapFiles = EditorGUILayout.Toggle("Delete lightmap files", clearLightmapFiles); + + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + if (GUILayout.Button("Clear")) + { + string txt = ""; + if (sceneClearingMode == SceneClearingMode.nothing) + { + if (clearLightmapFiles) + { + txt += "Delete currently used lightmap files"; + } + else + { + return; + } + } + else + { + if (sceneClearingMode == SceneClearingMode.lightmapReferences) + { + txt = "Clear all Bakery data for currently loaded scenes"; + } + else + { + txt = "Clear all Bakery data and settings for currently loaded scenes"; + } + if (clearLightmapFiles) txt += " and delete currently used lightmap files"; + } + + if (EditorUtility.DisplayDialog("Bakery", txt + "?", "Yes", "No")) + { + ClearBakedData(sceneClearingMode, clearLightmapFiles); + } + } + } + + static void RemoveFiles(Texture2D map) + { + var path = AssetDatabase.GetAssetPath(map); + AssetDatabase.DeleteAsset(path); + ftRenderLightmap.DebugLogInfo("Deleted " + path); + } + + static void RemoveFiles(List maps) + { + for(int i=0; i(); + if (storage == null) continue; + + RemoveFiles(storage.maps); + RemoveFiles(storage.masks); + RemoveFiles(storage.dirMaps); + RemoveFiles(storage.rnmMaps0); + RemoveFiles(storage.rnmMaps1); + RemoveFiles(storage.rnmMaps2); + } + } + + if (sceneClearMode == SceneClearingMode.lightmapReferences) + { + var newStorages = new List(); + var sceneCount = SceneManager.sceneCount; + for(int i=0; i(); + if (storage != null) + { + var newGO = new GameObject(); + var newStorage = newGO.AddComponent(); + ftLightmapsStorage.CopySettings(storage, newStorage); + newStorages.Add(newGO); + } + Undo.DestroyObjectImmediate(go); + } + LightmapSettings.lightmaps = new LightmapData[0]; + for(int i=0; i app2serverTask = new Dictionary + { + {"ftrace", SERVERTASK_FTRACE}, + {"ftraceRTX", SERVERTASK_FTRACERTX}, + {"combineMasks", SERVERTASK_COMBINEMASKS}, + + {"denoiserLegacy", SERVERTASK_DENOISE5}, + {"denoiser", SERVERTASK_DENOISE6}, + {"denoiser72", SERVERTASK_DENOISE7}, + {"denoiserOIDN", SERVERTASK_DENOISEOIDN}, + + {"halffloat2hdr", SERVERTASK_HF2HDR}, + {"rgba2tga", SERVERTASK_RGBA2TGA}, + {"seamfixer", SERVERTASK_SEAMFIX}, + {"lmrebake (simple)", SERVERTASK_LMREBAKESIMPLE}, + {"lmrebake", SERVERTASK_LMREBAKE} + + }; + public static List serverFileList, serverGetFileList; + public static int serverGetFileIterator = 0; + + + public static IEnumerator UpdateConnection()//WaitForMessages() + { + var ipAdd = System.Net.IPAddress.Parse(serverAddress); + var remoteEP = new IPEndPoint(ipAdd, 27777); + var request = new byte[1]; + request[0] = SERVERTASK_REPORTSTATUS; + var requestGet = new byte[5]; + requestGet[0] = SERVERTASK_GETDATAREADY; + int numTasks = 1; + var taskGet = new byte[1]; + var nullByte = new byte[1]; + taskGet[0] = SERVERTASK_GETDATA; + nullByte[0] = 0; + + lastServerMsg = "Connecting..."; + lastServerErrorCode = 0; + lastServerMsgIsError = false; + var status = new byte[256]; + byte[] fileBuffer = null; + bool waitingForGet = false; + + while (connectedToServer) + { + if (statusSocket != null) + { + statusSocket.Close(); + statusSocket = null; + } + + waitingForGet = false; + + + // Attempt connecting to server + bool connectionInProgress = true; + bool connectionError = false; + double timeout = ftRenderLightmap.GetTimeMs() + serverConnectionTimeout; + while(connectionInProgress) + { + connectionInProgress = false; + try + { + if (statusSocket == null) + { + statusSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + statusSocket.Blocking = false; + statusSocket.Connect(remoteEP); + } + else + { + if (statusSocket.Poll(0, SelectMode.SelectError)) + { + connectionError = true; + break; + } + if (!statusSocket.Poll(0, SelectMode.SelectWrite) && ftRenderLightmap.GetTimeMs() < timeout) + { + connectionInProgress = true; + } + } + } + catch(SocketException s) + { + if (s.ErrorCode == 10035) // WSAEWOULDBLOCK + { + connectionInProgress = true; + } + else + { + connectionError = true; + break; + } + } + if (connectionInProgress) yield return null; + } + statusSocket.Blocking = true; + + // Send request(s) + try + { + if (connectionError) throw new SocketException(); + if (serverGetDataMode && serverGetFileList == null) serverGetDataMode = false; + if (serverGetDataMode && serverGetFileList.Count <= serverGetFileIterator) + { + serverMustRefreshData = true; + serverGetDataMode = false; + } + if (serverGetDataMode) + { + var fname = serverGetFileList[serverGetFileIterator]; + if (lastServerFile != fname) + { + int len = fname.Length; + statusSocket.Send(System.BitConverter.GetBytes(numTasks)); + statusSocket.Send(taskGet); + statusSocket.Send(System.BitConverter.GetBytes(len)); + statusSocket.Send(Encoding.ASCII.GetBytes(fname)); + statusSocket.Send(nullByte); + statusSocket.Close(); + + statusSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); + statusSocket.Connect(remoteEP); + statusSocket.Send(request); +#if BAKERY_NETDEBUG + Debug.Log("Request sent (load file " + fname + ")"); +#endif + } + else + { + fileBuffer = new byte[lastServerFileSize]; + System.Buffer.BlockCopy(System.BitConverter.GetBytes(lastServerFileHash), 0, requestGet, 1, 4); + statusSocket.Send(requestGet); +#if BAKERY_NETDEBUG + Debug.Log("Request sent (get file)"); +#endif + waitingForGet = true; + } + } + else + { + statusSocket.Send(request); +#if BAKERY_NETDEBUG + Debug.Log("Request sent"); +#endif + } + } + catch(SocketException s) + { + lastServerMsg = "Failed to get data from server (" + s.ErrorCode + ")"; + lastServerMsgIsError = true; + lastServerErrorCode = 0; + + Debug.LogError(lastServerMsg); + statusSocket.Close(); + statusSocket = null; + statusProc = null; + //statusThread = null; + connectedToServer = false; + //return; + yield break; + } + +#if BAKERY_NETDEBUG + Debug.Log("Waiting for server to respond"); +#endif + + int serverErrCode = 0; + int appCode = 0; + int appErrCode = 0; + int textLen = 0; + int fileReady = 0; + int fileHash = 0; + int fileSize = 0; + string text = ""; + string fileNameReady = ""; + + int byteCount = 0; + bool interrupted = false; + double maxTimeToReceive = 10.0; + double timeToInterrupt = ftRenderLightmap.GetTimeMs() + maxTimeToReceive; + + while(!interrupted) + { + if (ftRenderLightmap.GetTimeMs() > timeToInterrupt) + { + timeToInterrupt = ftRenderLightmap.GetTimeMs() + maxTimeToReceive; + yield return null; + } + //while(statusSocket.Available == 0) yield return null; + //while(!statusSocket.Poll(0, SelectMode.SelectRead)) yield return null; + try + { + //while(true) + //{ + if (waitingForGet) + { + int bytesReceived = statusSocket.Receive(fileBuffer, byteCount, fileBuffer.Length - byteCount, SocketFlags.None); + byteCount += bytesReceived; + //Debug.Log("Received " + bytesReceived); + if (bytesReceived == 0) interrupted = true;//break; + } + else + { + byteCount = statusSocket.Receive(status); + //break; + interrupted = true; + } + //} + } + catch + { + if (waitingForGet) + { + Debug.LogError("Error getting file from server - retrying"); + lastServerFile = ""; + } + else + { + lastServerMsg = "Server disconnected"; + lastServerMsgIsError = true; + lastServerErrorCode = 0; + + Debug.LogError(lastServerMsg); + statusSocket.Close(); + statusSocket = null; + //statusThread = null; + statusProc = null; + connectedToServer = false; + yield break; + } + } + } + + if (byteCount > 0) + { + if (waitingForGet) + { + Debug.Log("Data received: " + byteCount); + var ext = lastServerFile.Substring(lastServerFile.Length-3).ToLower(); + string outPath; + if (ext == "lz4" || ext == "dds") + { + outPath = ftRenderLightmap.scenePath + "/" + lastServerFile; + } + else + { + outPath = "Assets/" + ftRenderLightmap.outputPath + "/" + lastServerFile; + } + BinaryWriter bw = null; + try + { + bw = new BinaryWriter(File.Open(outPath, FileMode.Create)); + } + catch + { + Debug.LogError("Failed writing " + outPath); + } + if (bw != null) + { + bw.Write(fileBuffer); + bw.Close(); + Debug.Log("File saved: " + outPath); + } + yield return null; + serverGetFileIterator++; + } + else + { + if (byteCount == 150) + { + serverErrCode = System.BitConverter.ToInt32(status, 0); + appCode = System.BitConverter.ToInt32(status, 4); + appErrCode = System.BitConverter.ToInt32(status, 8); + textLen = status[12]; + fileReady = status[13]; + fileHash = System.BitConverter.ToInt32(status, 14); + fileSize = System.BitConverter.ToInt32(status, 18); + if (textLen > 0) + { + text = Encoding.ASCII.GetString(status, 22, textLen); + } + if (fileReady > 0) + { + fileNameReady = Encoding.ASCII.GetString(status, 22 + textLen + 1, fileReady); + } + } + else + { + serverErrCode = SERVERERROR_UNKNOWN; + Debug.LogError("Unrecognized response size: " + byteCount); + } + //if (serverErrCode != 0) + { + var serverMsg = "Server: " + ftErrorCodes.TranslateServer(serverErrCode, appCode, appErrCode); + bool isError = serverErrCode != SERVERERROR_IDLE && serverErrCode != SERVERERROR_BUSY; + if (isError) + { + Debug.LogError(serverMsg); + } + else + { +#if BAKERY_NETDEBUG + Debug.Log(serverMsg); +#else + if (lastServerMsg != serverMsg) Debug.Log(serverMsg); +#endif + } + lastServerMsg = serverMsg; + lastServerMsgIsError = isError; + lastServerErrorCode = serverErrCode; + lastServerScene = text; + lastServerFile = fileNameReady; + lastServerFileHash = fileHash; + lastServerFileSize = fileSize; + } + } + } + + + if (!serverGetDataMode) + { + //var sleepTime = timeToUpdateServerStatus - curTime; + //if (sleepTime > 0) System.Threading.Thread.Sleep((int)sleepTime); + while(true) + { + var curTime = ftRenderLightmap.GetTimeMs(); + if (curTime >= timeToUpdateServerStatus) break; + yield return null; + } + + timeToUpdateServerStatus = ftRenderLightmap.GetTimeMs() + serverStatusInterval; + } + } + + statusSocket.Close(); + statusSocket = null; + //statusThread = null; + statusProc = null; + } + + public static void Disconnect() + { + if (statusSocket != null) + { + statusSocket.Close(); + statusSocket = null; + } + + statusProc = null; + /*if (statusThread != null) + { + statusThread.Abort(); + statusThread = null; + }*/ + + connectedToServer = false; + serverGetDataMode = false; + } + + public static void ConnectToServer() + { + try + { + Disconnect(); + connectedToServer = true; + + timeToUpdateServerStatus = 0; + //statusThread = new System.Threading.Thread(WaitForMessages); + //statusThread.Start(); + statusProc = UpdateConnection(); + statusProc.MoveNext(); + } + catch + { + Debug.LogError("Failed getting data from server"); + throw; + } + } + + public static bool SendRenderSequence(byte[] renderSequence) + { + Socket soc = null; + var ipAdd = System.Net.IPAddress.Parse(serverAddress); + var remoteEP = new IPEndPoint(ipAdd, serverPort); + + for(int i=0; i fileList) + { + serverGetFileList = fileList; + serverGetFileIterator = 0; + serverGetDataMode = true; + } + + public static void Update() + { + if (statusProc != null) statusProc.MoveNext(); + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClient.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClient.cs.meta new file mode 100644 index 00000000..4c8d6c30 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftClient.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 500a77e47a646b24581261ad5e43fe3d +timeCreated: 1552557323 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftCreateMenu.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftCreateMenu.cs new file mode 100644 index 00000000..36378f95 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftCreateMenu.cs @@ -0,0 +1,96 @@ +using UnityEngine; +using UnityEditor; + +public class ftCreateMenu +{ + [MenuItem("Bakery/Create/Directional Light", false, 20)] + private static void CreateDirectionalLight() + { + var go = new GameObject(); + Undo.RegisterCreatedObjectUndo(go, "Create Bakery light"); + go.AddComponent(); + go.name = "DirectLight"; + var ecam = SceneView.lastActiveSceneView.camera.transform; + go.transform.position = ecam.position + ecam.forward; + go.transform.eulerAngles = new Vector3(50, -30, 0); + var arr = new GameObject[1]; + arr[0] = go; + Selection.objects = arr; + } + + [MenuItem("Bakery/Create/Skylight", false, 20)] + private static void CreateSkyLight() + { + var go = new GameObject(); + Undo.RegisterCreatedObjectUndo(go, "Create Bakery light"); + go.AddComponent(); + go.name = "Skylight"; + var ecam = SceneView.lastActiveSceneView.camera.transform; + go.transform.position = ecam.position + ecam.forward; + var arr = new GameObject[1]; + arr[0] = go; + Selection.objects = arr; + } + + [MenuItem("Bakery/Create/Point Light", false, 20)] + private static void CreatePointLight() + { + var go = new GameObject(); + Undo.RegisterCreatedObjectUndo(go, "Create Bakery light"); + go.AddComponent(); + go.name = "PointLight"; + var ecam = SceneView.lastActiveSceneView.camera.transform; + go.transform.position = ecam.position + ecam.forward; + var arr = new GameObject[1]; + arr[0] = go; + Selection.objects = arr; + } + + [MenuItem("Bakery/Create/Area Light (Example)", false, 20)] + private static void CreateAreaLight() + { + var go = GameObject.CreatePrimitive(PrimitiveType.Quad); + Undo.RegisterCreatedObjectUndo(go, "Create Bakery light"); + go.AddComponent(); + go.name = "AreaLight"; + var ecam = SceneView.lastActiveSceneView.camera.transform; + go.transform.position = ecam.position + ecam.forward; + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + var mat = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftDefaultAreaLightMat.mat", typeof(Material)) as Material; + go.GetComponent().material = mat; + var arr = new GameObject[1]; + arr[0] = go; + Selection.objects = arr; + } + + [MenuItem("Bakery/Create/Spotlight", false, 20)] + private static void CreateSpotLight() + { + var go = new GameObject(); + Undo.RegisterCreatedObjectUndo(go, "Create Bakery light"); + var light = go.AddComponent(); + light.projMode = BakeryPointLight.ftLightProjectionMode.Cookie; + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + light.cookie = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftUnitySpotTexture.bmp", typeof(Texture2D)) as Texture2D; + go.name = "SpotLight"; + var ecam = SceneView.lastActiveSceneView.camera.transform; + go.transform.position = ecam.position + ecam.forward; + var arr = new GameObject[1]; + arr[0] = go; + Selection.objects = arr; + } + + [MenuItem("Bakery/Create/Volume", false, 20)] + private static void CreateVolume() + { + var go = new GameObject(); + Undo.RegisterCreatedObjectUndo(go, "Create Bakery Volume"); + go.AddComponent(); + go.name = "BakeryVolume"; + var ecam = SceneView.lastActiveSceneView.camera.transform; + go.transform.position = ecam.position + ecam.forward; + var arr = new GameObject[1]; + arr[0] = go; + Selection.objects = arr; + } +} diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftCreateMenu.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftCreateMenu.cs.meta new file mode 100644 index 00000000..d7edddf2 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftCreateMenu.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1b37b47c815251d4290ee5b16dec9c70 +timeCreated: 1527799006 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDDS.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDDS.cs new file mode 100644 index 00000000..6bdfbc10 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDDS.cs @@ -0,0 +1,56 @@ +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using UnityEditor; +using UnityEngine; + +public class ftDDS +{ + public static byte[] ddsHeaderFloat4 = new byte[] + { + 0x44, 0x44, 0x53, 0x20, 0x7C, 0x00, 0x00, 0x00, 0x07, 0x10, 0x08, 0x00, 0xF0, 0x00, 0x00, 0x00, + 0x40, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + public static byte[] ddsHeaderHalf4 = new byte[] + { + 0x44, 0x44, 0x53, 0x20, 0x7C, 0x00, 0x00, 0x00, 0x07, 0x10, 0x08, 0x00, 0xCD, 0x00, 0x00, 0x00, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x68, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + public static byte[] ddsHeaderRGBA8 = new byte[] + { + 0x44, 0x44, 0x53, 0x20, 0x7C, 0x00, 0x00, 0x00, 0x07, 0x10, 0x08, 0x00, 0x00, 0x02, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, + 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + + public static byte[] ddsHeaderR32F = new byte[] + { + 0x44, 0x44, 0x53, 0x20, 0x7C, 0x00, 0x00, 0x00, 0x07, 0x10, 0x08, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; +} diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDDS.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDDS.cs.meta new file mode 100644 index 00000000..c6ae549d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDDS.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7651ced8d6837974980b54a8c065ca41 +timeCreated: 1526839491 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDefine.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDefine.cs new file mode 100644 index 00000000..f29d6776 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDefine.cs @@ -0,0 +1,41 @@ +#if UNITY_EDITOR + +using UnityEngine; +using UnityEditor; +using System; +using UnityEditor.Build; + +[InitializeOnLoad] +#if UNITY_2017_4_OR_NEWER +public class ftDefine : IActiveBuildTargetChanged +#else +public class ftDefine +#endif +{ + static void AddDefine() + { + var platform = EditorUserBuildSettings.selectedBuildTargetGroup; + var defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(platform); + if (!defines.Contains("BAKERY_INCLUDED")) + { + if (defines.Length > 0) defines += ";"; + defines += "BAKERY_INCLUDED"; + PlayerSettings.SetScriptingDefineSymbolsForGroup(platform, defines); + } + } + + static ftDefine() + { + AddDefine(); + } + +#if UNITY_2017_4_OR_NEWER + public int callbackOrder { get { return 0; } } + public void OnActiveBuildTargetChanged(BuildTarget previousTarget, BuildTarget newTarget) + { + AddDefine(); + } +#endif +} + +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDefine.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDefine.cs.meta new file mode 100644 index 00000000..5fe128a4 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDefine.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 993d44f6e3c171944a748e43ca064632 +timeCreated: 1584625781 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDetectSettings.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDetectSettings.cs new file mode 100644 index 00000000..e1cedfe8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDetectSettings.cs @@ -0,0 +1,261 @@ +using UnityEngine; +using UnityEditor; +using System.IO; +using UnityEngine.SceneManagement; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +public class ftDetectSettings +{ + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern System.IntPtr RunLocalProcess([MarshalAs(UnmanagedType.LPWStr)]string commandline, bool setWorkDir); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern bool IsProcessFinished(System.IntPtr proc); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int GetProcessReturnValueAndClose(System.IntPtr proc); + + [DllImport ("simpleProgressBar", CallingConvention=CallingConvention.Cdecl)] + public static extern int simpleProgressBarShow(string header, string msg, float percent, float step, bool onTop); + + [DllImport ("simpleProgressBar", CallingConvention=CallingConvention.Cdecl)] + public static extern bool simpleProgressBarCancelled(); + + [DllImport ("simpleProgressBar", CallingConvention=CallingConvention.Cdecl)] + public static extern void simpleProgressBarEnd(); + + static IEnumerator progressFunc; + static int lastReturnValue = -1; + static bool userCanceled = false; + + static bool runsRTX, runsNonRTX, runsOptix5, runsOptix6, runsOptix7, runsOIDN; + + const string progressHeader = "Detecting compatible configuration"; + + static void ShowProgress(string msg, float percent) + { + simpleProgressBarShow(progressHeader, msg, percent, 0, true); + } + + static void ValidateFileAttribs(string file) + { + var attribs = File.GetAttributes(file); + if ((attribs & FileAttributes.ReadOnly) != 0) + { + File.SetAttributes(file, attribs & ~FileAttributes.ReadOnly); + } + } + + [MenuItem("Bakery/Utilities/Detect optimal settings", false, 54)] + public static void DetectCompatSettings() + { + var bakeryPath = ftLightmaps.GetEditorPath(); + ValidateFileAttribs(bakeryPath+"/hwtestdata/image.lz4"); + + progressFunc = DetectCoroutine(); + EditorApplication.update += DetectUpdate; + } + + static IEnumerator DetectCoroutine() + { + float stages = 6; + float step = 1.0f / stages; + float progress = 0; + IEnumerator crt; + + ShowProgress("Testing: RTX ray-tracing", progress); + crt = ProcessCoroutine("ftraceRTX.exe /sun hwtestdata light 4 0 0 direct0.bin"); + while (crt.MoveNext()) yield return null; + if (userCanceled) yield break; + runsRTX = lastReturnValue==0; + progress += step; + + ShowProgress("Testing: non-RTX ray-tracing", progress); + crt = ProcessCoroutine("ftrace.exe /sun hwtestdata light 4 0 0 direct0.bin"); + while (crt.MoveNext()) yield return null; + if (userCanceled) yield break; + runsNonRTX = lastReturnValue==0; + progress += step; + + ShowProgress("Testing: OptiX 5.1 denoiser", progress); + crt = ProcessCoroutine("denoiserLegacy c hwtestdata/image.lz4 hwtestdata/image.lz4 16 0"); + while (crt.MoveNext()) yield return null; + if (userCanceled) yield break; + runsOptix5 = lastReturnValue==0; + progress += step; + + ShowProgress("Testing: OptiX 6.0 denoiser", progress); + crt = ProcessCoroutine("denoiser c hwtestdata/image.lz4 hwtestdata/image.lz4 16 0"); + while (crt.MoveNext()) yield return null; + if (userCanceled) yield break; + runsOptix6 = lastReturnValue==0; + progress += step; + + ShowProgress("Testing: OptiX 7.2 denoiser", progress); + crt = ProcessCoroutine("denoiser72 c hwtestdata/image.lz4 hwtestdata/image.lz4 16 0"); + while (crt.MoveNext()) yield return null; + if (userCanceled) yield break; + runsOptix7 = lastReturnValue==0; + progress += step; + + ShowProgress("Testing: OpenImageDenoise", progress); + crt = ProcessCoroutine("denoiserOIDN c hwtestdata/image.lz4 hwtestdata/image.lz4 16 0"); + while (crt.MoveNext()) yield return null; + if (userCanceled) yield break; + runsOIDN = lastReturnValue==0; + progress += step; + + simpleProgressBarEnd(); + + if (!runsRTX && !runsNonRTX) + { + EditorUtility.DisplayDialog("Error", "Both RTX and non-RTX lightmapper failed to run. Make sure you are using NVIDIA GPU and the drivers are up to date.", "OK"); + yield break; + } + + string str = "Testing results:\n\n"; + str += "RTX ray-tracing: " + (runsRTX ? "yes" : "no") + "\n"; + str += "Non-RTX ray-tracing: " + (runsNonRTX ? "yes" : "no") + "\n"; + str += "OptiX 5.1 denoiser: " + (runsOptix5 ? "yes" : "no") + "\n"; + str += "OptiX 6.0 denoiser: " + (runsOptix6 ? "yes" : "no") + "\n"; + str += "OptiX 7.2 denoiser: " + (runsOptix7 ? "yes" : "no") + "\n"; + str += "OpenImageDenoise: " + (runsOIDN ? "yes" : "no") + "\n"; + + str += "\n"; + str += "Recommended RTX mode: "; + if (runsRTX && runsNonRTX) + { + str += "ON if you are using a GPU with RT acceleration (e.g. 2xxx or 3xxx GeForce series), OFF otherwise.\n"; + } + else if (runsRTX) + { + str += "ON\n"; + } + else if (runsNonRTX) + { + str += "OFF\n"; + } + + str += "\n"; + str += "Recommended denoiser: "; + if (runsOptix5) + { + // OptiX 5.1 has stable quality since release, but not supported on 30XX + str += "OptiX 5.1\n"; + } + else if (runsOIDN) + { + // OIDN is stable and pretty good, but might be slower + str += "OpenImageDenoise\n"; + } + // OptiX 6 and 7.2 should run on 30XX, but quality is sometimes questionable IF driver is newer than 442.50 + // as the network is now part of the driver. + // On older drivers they should work similar to 5.1. + else if (runsOptix7) + { + str += "OptiX 7.2\n"; + } + else if (runsOptix6) + { + str += "OptiX 6.0\n"; + } + else + { + str += "all denoiser tests failed. Try updating GPU drivers.\n"; + } + + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + var gstorage = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftGlobalStorage.asset", typeof(ftGlobalStorage)) as ftGlobalStorage; + if (gstorage == null) Debug.LogError("Can't find global storage"); + var storage = ftRenderLightmap.FindRenderSettingsStorage(); + + if (gstorage != null) + { + gstorage.foundCompatibleSetup = true; + gstorage.gpuName = SystemInfo.graphicsDeviceName; + gstorage.runsNonRTX = runsNonRTX; + gstorage.alwaysEnableRTX = false; + gstorage.runsOptix5 = runsOptix5; + gstorage.runsOptix6 = runsOptix6; + gstorage.runsOptix7 = runsOptix7; + gstorage.runsOIDN = runsOIDN; + } + + if (!EditorUtility.DisplayDialog("Results", str, "OK", "Set recommended as default")) + { + if (runsRTX && runsNonRTX) + { + gstorage.renderSettingsRTXMode = EditorUtility.DisplayDialog("Question", "Does your GPU have RT cores (set RTX mode as default)?", "Yes", "No"); + } + else if (runsRTX) + { + gstorage.renderSettingsRTXMode = true; + } + else + { + gstorage.renderSettingsRTXMode = false; + } + + if (runsOptix5) + { + gstorage.renderSettingsDenoiserType = (int)ftGlobalStorage.DenoiserType.Optix5; + } + else if (runsOIDN) + { + gstorage.renderSettingsDenoiserType = (int)ftGlobalStorage.DenoiserType.OpenImageDenoise; + } + else if (runsOptix7) + { + gstorage.renderSettingsDenoiserType = (int)ftGlobalStorage.DenoiserType.Optix7; + } + else if (runsOptix6) + { + gstorage.renderSettingsDenoiserType = (int)ftGlobalStorage.DenoiserType.Optix6; + } + + EditorUtility.SetDirty(gstorage); + Debug.Log("Default settings saved"); + + if (storage != null) + { + storage.renderSettingsRTXMode = gstorage.renderSettingsRTXMode; + storage.renderSettingsDenoiserType = gstorage.renderSettingsDenoiserType; + } + } + + var bakery = ftRenderLightmap.instance != null ? ftRenderLightmap.instance : new ftRenderLightmap(); + bakery.LoadRenderSettings(); + } + + static void DetectUpdate() + { + if (!progressFunc.MoveNext()) + { + EditorApplication.update -= DetectUpdate; + } + } + + static IEnumerator ProcessCoroutine(string cmd) + { + var exeProcess = RunLocalProcess(cmd, true); + if (exeProcess == (System.IntPtr)null) + { + lastReturnValue = -1; + yield break; + } + while(!IsProcessFinished(exeProcess)) + { + yield return null; + userCanceled = simpleProgressBarCancelled(); + if (userCanceled) + { + simpleProgressBarEnd(); + yield break; + } + } + lastReturnValue = GetProcessReturnValueAndClose(exeProcess); + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDetectSettings.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDetectSettings.cs.meta new file mode 100644 index 00000000..59f732cf --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDetectSettings.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: afee4282908768e4a8b35d3e5754110c +timeCreated: 1605465718 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDirectLightInspector.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDirectLightInspector.cs new file mode 100644 index 00000000..285842d3 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDirectLightInspector.cs @@ -0,0 +1,418 @@ + +using UnityEditor; +using UnityEngine; +using System; +using System.IO; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine.Rendering; + +[CustomEditor(typeof(BakeryDirectLight))] +[CanEditMultipleObjects] +public class ftDirectLightInspector : UnityEditor.Editor +{ + SerializedProperty ftraceLightColor; + SerializedProperty ftraceLightIntensity; + SerializedProperty ftraceLightShadowSpread; + SerializedProperty ftraceLightSamples; + SerializedProperty ftraceLightBitmask; + SerializedProperty ftraceLightBakeToIndirect; + SerializedProperty ftraceLightShadowmask; + SerializedProperty ftraceLightShadowmaskDenoise; + SerializedProperty ftraceLightIndirectIntensity; + SerializedProperty ftraceLightTexture, ftraceLightCSTilingX, ftraceLightCSTilingY, ftraceLightCSOffsetX, ftraceLightCSOffsetY; + + ftLightmapsStorage storage; + + bool isHDRP = false; + + public enum BakeWhat + { + DirectAndIndirect = 0, + IndirectOnly = 1, + IndirectAndShadowmask = 2 + }; + + static public string[] directContributionIndirectOptions = new string[] {"Direct And Indirect", "Indirect Only", "Shadowmask and Indirect (not applicable in Indirect mode)"}; + + static string[] selStrings = new string[] {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16", + "17","18","19","20","21","22","23","24","25","26","27","28","29","30"};//,"31"}; + + void InitSerializedProperties(SerializedObject obj) + { + ftraceLightColor = obj.FindProperty("color"); + ftraceLightIntensity = obj.FindProperty("intensity"); + ftraceLightIndirectIntensity = obj.FindProperty("indirectIntensity"); + ftraceLightShadowSpread = obj.FindProperty("shadowSpread"); + ftraceLightSamples = obj.FindProperty("samples"); + ftraceLightBitmask = obj.FindProperty("bitmask"); + ftraceLightBakeToIndirect = obj.FindProperty("bakeToIndirect"); + ftraceLightShadowmask = obj.FindProperty("shadowmask"); + ftraceLightShadowmaskDenoise = obj.FindProperty("shadowmaskDenoise"); + ftraceLightTexture = obj.FindProperty("cloudShadow"); + ftraceLightCSTilingX = obj.FindProperty("cloudShadowTilingX"); + ftraceLightCSTilingY = obj.FindProperty("cloudShadowTilingY"); + ftraceLightCSOffsetX = obj.FindProperty("cloudShadowOffsetX"); + ftraceLightCSOffsetY = obj.FindProperty("cloudShadowOffsetY"); + + isHDRP = (target as BakeryDirectLight).GetComponent("HDAdditionalLightData") != null; + } + + void OnEnable() + { + InitSerializedProperties(serializedObject); + } + + void SetHDRPLight(Light l) + { + l.intensity *= Mathf.PI; + + var hdrpLight = l.GetComponent("HDAdditionalLightData"); + if (hdrpLight == null) + { + Debug.LogWarning("HDRP: no HDAdditionalLightData"); + return; + } + var so = new SerializedObject(hdrpLight); + if (so == null) + { + Debug.LogWarning("HDRP: no SerializedObject"); + return; + } + + SerializedProperty hdrpInt2 = so.FindProperty("m_Intensity"); + if (hdrpInt2 == null) + { + Debug.LogWarning("HDRP: no m_Intensity"); + return; + } + hdrpInt2.floatValue = l.intensity; + + so.ApplyModifiedProperties(); + } + + void GetLinearLightParameters(Light light, out float lightR, out float lightG, out float lightB, out float lightInt) + { + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + lightInt = light.intensity; + lightR = light.color.r; + lightG = light.color.g; + lightB = light.color.b; + return; + } + + if (!GraphicsSettings.lightsUseLinearIntensity) + { + lightR = Mathf.Pow(light.color.r * light.intensity, 2.2f); + lightG = Mathf.Pow(light.color.g * light.intensity, 2.2f); + lightB = Mathf.Pow(light.color.b * light.intensity, 2.2f); + lightInt = Mathf.Max(Mathf.Max(lightR, lightG), lightB); + lightR /= lightInt; + lightG /= lightInt; + lightB /= lightInt; + } + else + { + lightInt = light.intensity; + lightR = light.color.linear.r; + lightG = light.color.linear.g; + lightB = light.color.linear.b; + } + } + + public override void OnInspectorGUI() { + //if (showFtrace) + //{ + OnEnable(); + serializedObject.Update(); + + EditorGUILayout.PropertyField(ftraceLightColor, new GUIContent("Color", "Color of the light")); + EditorGUILayout.PropertyField(ftraceLightIntensity, new GUIContent("Intensity", "Color multiplier (Lux / Pi)")); + EditorGUILayout.PropertyField(ftraceLightShadowSpread, new GUIContent("Shadow spread", "Controls shadow blurriness from 0 to 1")); + EditorGUILayout.PropertyField(ftraceLightSamples, new GUIContent("Shadow samples", "The amount of rays tested for this light. Rays are emitted from lightmap texel towards the light, distributed conically. Radius of the cone depends on Shadow Spread.")); + + //ftraceLightBitmask.intValue = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), ftraceLightBitmask.intValue, selStrings); + int prevVal = ftraceLightBitmask.intValue; + int newVal = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), ftraceLightBitmask.intValue, selStrings); + if (prevVal != newVal) ftraceLightBitmask.intValue = newVal; + + /* + EditorGUILayout.PropertyField(ftraceLightBakeToIndirect, new GUIContent("Bake to indirect", "Add direct contribution from this light to indirect-only lightmaps")); + if (ftraceLightBakeToIndirect.boolValue && ftraceLightShadowmask.boolValue) ftraceLightShadowmask.boolValue = false; + + EditorGUILayout.PropertyField(ftraceLightShadowmask, new GUIContent("Shadowmask", "Enable mixed lighting. Static shadows from this light will be baked, and real-time light will cast shadows from dynamic objects.")); + if (ftraceLightBakeToIndirect.boolValue && ftraceLightShadowmask.boolValue) ftraceLightBakeToIndirect.boolValue = false; + */ + + if (storage == null) storage = ftRenderLightmap.FindRenderSettingsStorage(); + var rmode = storage.renderSettingsUserRenderMode; + if (rmode != (int)ftRenderLightmap.RenderMode.FullLighting) + { + BakeWhat contrib; + if (ftraceLightShadowmask.boolValue) + { + contrib = BakeWhat.IndirectAndShadowmask; + } + else if (ftraceLightBakeToIndirect.boolValue) + { + contrib = BakeWhat.DirectAndIndirect; + } + else + { + contrib = BakeWhat.IndirectOnly; + } + var prevContrib = contrib; + + if (rmode == (int)ftRenderLightmap.RenderMode.Indirect) + { + contrib = (BakeWhat)EditorGUILayout.Popup("Baked contribution", (int)contrib, directContributionIndirectOptions); + } + else if (rmode == (int)ftRenderLightmap.RenderMode.Shadowmask) + { + contrib = (BakeWhat)EditorGUILayout.EnumPopup("Baked contribution", contrib); + } + + if (prevContrib != contrib) + { + if (contrib == BakeWhat.IndirectOnly) + { + ftraceLightShadowmask.boolValue = false; + ftraceLightBakeToIndirect.boolValue = false; + } + else if (contrib == BakeWhat.IndirectAndShadowmask) + { + ftraceLightShadowmask.boolValue = true; + ftraceLightBakeToIndirect.boolValue = false; + } + else + { + ftraceLightShadowmask.boolValue = false; + ftraceLightBakeToIndirect.boolValue = true; + } + } + + if (ftraceLightShadowmask.boolValue) + { + EditorGUILayout.PropertyField(ftraceLightShadowmaskDenoise, new GUIContent("Denoise shadowmask", "Apply denoising to shadowmask texture. For sharp shadows it may be unnecessary.")); + } + } + + EditorGUILayout.PropertyField(ftraceLightIndirectIntensity, new GUIContent("Indirect intensity", "Non-physical GI multiplier for this light")); + + EditorGUILayout.PropertyField(ftraceLightTexture, new GUIContent("Texture projection", "Tiled projected texture")); + if (ftraceLightTexture.objectReferenceValue != null) + { + EditorGUILayout.PropertyField(ftraceLightCSTilingX, new GUIContent("Tiling U", "Cloud shadow U tiling")); + EditorGUILayout.PropertyField(ftraceLightCSTilingY, new GUIContent("Tiling V", "Cloud shadow V tiling")); + EditorGUILayout.PropertyField(ftraceLightCSOffsetX, new GUIContent("Offset U", "Cloud shadow U tiling")); + EditorGUILayout.PropertyField(ftraceLightCSOffsetY, new GUIContent("Offset V", "Cloud shadow V tiling")); + } + + serializedObject.ApplyModifiedProperties(); + //} + + + bool showError = false; + string why = ""; + + bool shadowmaskNoDynamicLight = false; + + foreach(BakeryDirectLight selectedLight in targets) + { + bool match = true; + + var light = selectedLight.GetComponent(); + if (light == null) + { + if (ftraceLightShadowmask.boolValue) shadowmaskNoDynamicLight = true; + continue; + } + if (!light.enabled) + { + if (ftraceLightShadowmask.boolValue) shadowmaskNoDynamicLight = true; + } + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + if (light.type != LightType.Directional) + { + match = false; + why = "real-time light is not direct"; + } + + if (light.bounceIntensity != ftraceLightIndirectIntensity.floatValue) + { + match = false; + why = "indirect intensity doesn't match"; + } + + var clr = ftraceLightColor.colorValue; + float eps = 1.0f / 255.0f; + float lightR, lightG, lightB, lightInt; + float fr, fg, fb; + float fintensity = ftraceLightIntensity.floatValue; + if (isHDRP) fintensity *= Mathf.PI; + if (PlayerSettings.colorSpace == ColorSpace.Linear) + { + fr = clr.linear.r;// * fintensity; + fg = clr.linear.g;// * fintensity; + fb = clr.linear.b;// * fintensity; + } + else + { + fr = clr.r; + fg = clr.g; + fb = clr.b; + } + GetLinearLightParameters(light, out lightR, out lightG, out lightB, out lightInt); + + if (GraphicsSettings.lightsUseLinearIntensity || PlayerSettings.colorSpace != ColorSpace.Linear) + { + if (Mathf.Abs(lightR - fr) > eps || Mathf.Abs(lightG - fg) > eps || Mathf.Abs(lightB - fb) > eps) + { + match = false; + why = "color doesn't match"; + } + else if (Mathf.Abs(lightInt - fintensity) > eps) + { + match = false; + why = "intensity doesn't match"; + } + } + else + { + eps *= Mathf.Max(lightInt, fintensity); + if (Mathf.Abs(lightR*lightInt - fr*fintensity) > eps || + Mathf.Abs(lightG*lightInt - fg*fintensity) > eps || + Mathf.Abs(lightB*lightInt - fb*fintensity) > eps) + { + match = false; + why = "intensity doesn't match"; + } + } + + if (!match) + { + showError = true; + } + } + + if (shadowmaskNoDynamicLight) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Warning: shadowmask needs enabled real-time light to work"); + } + + if (showError) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Real-time light doesn't match lightmap: " + why); + if (GUILayout.Button("Match lightmapped to real-time")) + { + foreach(BakeryDirectLight selectedLight in targets) + { + var light = selectedLight.GetComponent(); + if (light == null) continue; + //if (!light.enabled) continue; + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + ftraceLightColor.colorValue = light.color; + ftraceLightIntensity.floatValue = light.intensity; + } + else if (!GraphicsSettings.lightsUseLinearIntensity) + { + float lightR, lightG, lightB, lightInt; + GetLinearLightParameters(light, out lightR, out lightG, out lightB, out lightInt); + ftraceLightColor.colorValue = new Color(lightR, lightG, lightB); + ftraceLightIntensity.floatValue = lightInt; + } + else + { + ftraceLightColor.colorValue = light.color; + ftraceLightIntensity.floatValue = light.intensity; + } + ftraceLightIndirectIntensity.floatValue = light.bounceIntensity; + if (isHDRP) ftraceLightIntensity.floatValue /= Mathf.PI; + + so.ApplyModifiedProperties(); + } + } + if (GUILayout.Button("Match real-time to lightmapped")) + { + foreach(BakeryDirectLight selectedLight in targets) + { + var light = selectedLight.GetComponent(); + if (light == null) continue; + //if (!light.enabled) continue; + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + Undo.RecordObject(light, "Change light"); + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + light.color = ftraceLightColor.colorValue; + light.intensity = ftraceLightIntensity.floatValue; + } + else if (!GraphicsSettings.lightsUseLinearIntensity) + { + float fr, fg, fb; + float fintensity = ftraceLightIntensity.floatValue; + var clr = ftraceLightColor.colorValue; + fr = clr.linear.r;// * fintensity; + fg = clr.linear.g;// * fintensity; + fb = clr.linear.b;// * fintensity; + + fr = Mathf.Pow(fr * fintensity, 1.0f / 2.2f); + fg = Mathf.Pow(fg * fintensity, 1.0f / 2.2f); + fb = Mathf.Pow(fb * fintensity, 1.0f / 2.2f); + float fint = Mathf.Max(Mathf.Max(fr, fg), fb); + fr /= fint; + fg /= fint; + fb /= fint; + light.color = new Color(fr, fg, fb); + light.intensity = fint; + } + else + { + light.color = ftraceLightColor.colorValue; + light.intensity = ftraceLightIntensity.floatValue; + } + light.type = LightType.Directional; + light.bounceIntensity = ftraceLightIndirectIntensity.floatValue; + if (isHDRP) SetHDRPLight(light); + } + } + } + + + if (PlayerSettings.colorSpace == ColorSpace.Linear) + { + if (!GraphicsSettings.lightsUseLinearIntensity) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Warning: project is not set up to use linear light intensity."); + EditorGUILayout.LabelField("GraphicsSettings.lightsUseLinearIntensity should be TRUE."); + if (GUILayout.Button("Fix")) + { + GraphicsSettings.lightsUseLinearIntensity = true; + } + } + else + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Project is using linear light intensity. This is nice."); + if (GUILayout.Button("Change to non-linear")) + { + GraphicsSettings.lightsUseLinearIntensity = false; + } + } + } + } +} + + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDirectLightInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDirectLightInspector.cs.meta new file mode 100644 index 00000000..40009f35 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftDirectLightInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3a4eb21edcc395a419e2da3246fcbc15 +timeCreated: 1525273871 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftErrorCodes.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftErrorCodes.cs new file mode 100644 index 00000000..2f3d20c5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftErrorCodes.cs @@ -0,0 +1,266 @@ +#if UNITY_EDITOR + +using System.Collections.Generic; + +public class ftErrorCodes +{ + static Dictionary ftraceMap = new Dictionary + { + {1, "Unknown error. See .ftracelog.txt for details."}, + {2, "Error selecting pass"}, + {5120, "Can't open lms.bin"}, + {984, "lmlod.bin doesn't match lms.bin"}, + {500, "Can't load geometry data. See .ftracelog.txt for details."}, + {501, "Can't load UVGBuffer smooth position"}, + {502, "Can't load UVGBuffer face normal"}, + {505, "Can't load trimarks.bin"}, + {5005, "Can't load sky.bin"}, + {500599, "Can't load ao.bin"}, + {5005991, "Can't load sss.bin"}, + {507, "Can't load vbtraceUV0.bin"}, + {508, "Can't load UVGBuffer tangent"}, + {550, "Can't load light data. See .ftracelog.txt for details."}, + {557, "Can't load alpha IDs. See .ftracelog.txt for details."}, + {512, "Can't load compositing data. See .ftracelog.txt for details."}, + {51298, "Can't open addao.bin"}, + {875, "Can't load heightmap. See .ftracelog.txt for details."}, + {90, "Can't load normal to compose. See .ftracelog.txt for details."}, + {91, "Can't load lightmap to compose. See .ftracelog.txt for details."}, + {909, "No enabled CUDA devices. See .ftracelog.txt for details."}, + {910, "Can't load direction to compose. See .ftracelog.txt for details."}, + {92, "Can't load lightmap to compose. See .ftracelog.txt for details."}, + {920, "Can't load lightmap to compose. See .ftracelog.txt for details."}, + {921, "Can't load emission. See .ftracelog.txt for details."}, + {93, "Can't load lightmap to compose. See .ftracelog.txt for details."}, + {94, "Can't load lightmap. See .ftracelog.txt for details."}, + {940, "Can't read direction for GI. See .ftracelog.txt for details."}, + {95, "Can't read lightmap for GI. See .ftracelog.txt for details."}, + {510, "Can't write composed lightmap. See .ftracelog.txt for details."}, + {514, "Can't write composed lightmap. See .ftracelog.txt for details."}, + {7500, "Can't load UVGBuffer normal or position"}, + {5090, "Can't decompress UVGBuffer normal"}, + {5091, "Can't decompress UVGBuffer position"}, + {5092, "Can't decompress UVGBuffer smooth position"}, + {5093, "Can't decompress UVGBuffer face normal"}, + {5083, "Can't decompress UVGBuffer tangent"}, + {7007, "Can't load direct.bin"}, + {7771, "Can't read sky texture"}, + {7772, "Can't read light texture"}, + {888, "No texture name for cubemaplight"}, + {8008, "Can't load direct lighting."}, + {1000, "Can't read albedo for GI. See .ftracelog.txt for details."}, + {1001, "Can't read lightmap for GI. See .ftracelog.txt for details."}, + {1007, "Can't read direction for GI. See .ftracelog.txt for details."}, + {1888, "Failed to initialize"}, + {10000, "Can't load gi.bin"}, + {850, "Can't open log file"} + }; + + static Dictionary combineMasksMap = new Dictionary + { + {23, "Can't load texture"}, + {501, "Can't write file. See console for details."}, + {5, "Failed to save TGA file. See console for details."}, + {55, "Failed to save PNG file. See console for details."} + }; + + static Dictionary denoiserMap = new Dictionary + { + {2, "Incorrect arguments"}, + {3, "Incorrect tile size. Must be between 64 and 8192"}, + {500, "Can't load texture. See console for details."}, + {5001, "Can't load texture. See console for details."}, + {5002, "Can't load texture. See console for details."}, + {5003, "Can't load texture. See console for details."}, + {4, "Incorrect tile size. Must be width%tile == height%tile == 0"}, + {501, "Can't write file. See console for details."}, + {505, "Unknown error (old driver?)"} + }; + + static Dictionary h2hMap = new Dictionary + { + {23, "Can't load texture. See console for details."}, + {2, "Failed to get image data from DDS. See console for details."}, + {3, "Failed to init D3D11"}, + {4, "Failed to convert"}, + {45, "Failed to transform pixels"}, + {5, "Failed to save HDR file. See console for details."} + }; + + static Dictionary i2tMap = new Dictionary + { + {1, "Incorrect arguments"}, + {2, "Can't read file. See console for details."}, + {3, "Can't write file. See console for details."}, + {4, "IES file is not valid. See console for details."}, + {5, "IES file uses unknown symmetry mode. See console for details."} + }; + + static Dictionary seamfixerMap = new Dictionary + { + {1, "Incorrect arguments"}, + {2, "Failed to init D3D11"}, + {501, "Can't load vbtraceTex.bin"}, + {10, "Can't load lms.bin"}, + {600, "Can't load lightmap"}, + {22, "Can't create D3D11 resource"}, + {3, "Can't create D3D11 resource"}, + {4, "Can't allocate RAM texture"}, + {8, "Can't save texture. See console for details."} + }; + + static Dictionary lmrMap = new Dictionary + { + {2, "Failed to init D3D11 or create resource"}, + {3, "Can't create D3D11 resource"}, + {601, "Can't load lodmask"}, + {602, "Can't decompress lodmask (unexpected size)"}, + {32, "Can't create mip texture"}, + {33, "Can't create mip render target"}, + {34, "Can't create mip shader resource view"}, + {4, "Can't allocate RAM mip texture"}, + {8, "Can't save texture"} + }; + + static Dictionary serverMap = new Dictionary + { + {ftClient.SERVERERROR_IDLE, "Idle"}, + {ftClient.SERVERERROR_COPY, "File copying failed"}, + {ftClient.SERVERERROR_GIPARAMS, "Failed to generate GI parameters"}, + {ftClient.SERVERERROR_NOTIMPLEMENTED, "Feature is not implemented"}, + {ftClient.SERVERERROR_UNKNOWNTASK, "Unknown task submitted"}, + {ftClient.SERVERERROR_SCENENAMETOOLONG, "Scene name is too long"}, + {ftClient.SERVERERROR_FILENOTFOUND, "File not found"}, + {ftClient.SERVERERROR_FILEHASZEROSIZE, "File has zero size"}, + {ftClient.SERVERERROR_NOMEM, "Out of memory"}, + {ftClient.SERVERERROR_INCORRECT, "Incorrect request"}, + {ftClient.SERVERERROR_INCORRECTFILENAME, "Incorrect filename"}, + {ftClient.SERVERERROR_WRITEFAILED, "write failed"}, + {ftClient.SERVERERROR_INCORRECTARGS, "incorrect arguments"}, + {ftClient.SERVERERROR_FILESIZE, "file size is too large"}, + {ftClient.SERVERERROR_STATUSLIMIT, "status message can't fit filename"} + }; + + static Dictionary serverAppMap = new Dictionary + { + {ftClient.SERVERTASK_FTRACE, "ftrace"}, + {ftClient.SERVERTASK_FTRACERTX, "ftraceRTX"}, + {ftClient.SERVERTASK_COMBINEMASKS, "combineMasks"}, + + {ftClient.SERVERTASK_DENOISE5, "denoiserLegacy"}, + {ftClient.SERVERTASK_DENOISE6, "denoiser"}, + {ftClient.SERVERTASK_DENOISE7, "denoiser72"}, + {ftClient.SERVERTASK_DENOISEOIDN, "denoiserOIDN"}, + + {ftClient.SERVERTASK_HF2HDR, "halffloat2hdr"}, + {ftClient.SERVERTASK_RGBA2TGA, "rgba2tga"}, + {ftClient.SERVERTASK_SEAMFIX, "seamfixer"} + }; + + public static string TranslateFtrace(int code, bool rtx) + { + bool unknown = false; + string text; + if (!ftraceMap.TryGetValue(code, out text)) + { + unknown = true; + text = "Unknown error"; + } + text += " (" + code + ")"; + if (unknown || code == 1) + { + text += "\n\nPossibly incompatible RTX mode? Try running Bakery -> Utilities -> Detect optimal settings."; + } + return text; + } + + public static string TranslateCombineMasks(int code) + { + string text; + if (!combineMasksMap.TryGetValue(code, out text)) text = "Unknown error"; + return text + " (" + code + ")"; + } + + public static string TranslateDenoiser(int code) + { + string text; + if (!denoiserMap.TryGetValue(code, out text)) text = "Unknown error"; + return text + " (" + code + ")"; + } + + public static string TranslateH2H(int code) + { + string text; + if (!h2hMap.TryGetValue(code, out text)) text = "Unknown error"; + return text + " (" + code + ")"; + } + + public static string TranslateI2T(int code) + { + string text; + if (!i2tMap.TryGetValue(code, out text)) text = "Unknown error"; + return text + " (" + code + ")"; + } + + public static string TranslateSeamfixer(int code) + { + string text; + if (!seamfixerMap.TryGetValue(code, out text)) text = "Unknown error"; + return text + " (" + code + ")"; + } + + public static string TranslateLMRebake(int code) + { + string text; + if (!lmrMap.TryGetValue(code, out text)) text = "Unknown error"; + return text + " (" + code + ")"; + } + + public static string TranslateServerApp(int app) + { + string text; + if (!serverAppMap.TryGetValue(app, out text)) text = "Unknown executable " + " (" + app + ")"; + return text; + } + + public static string TranslateServer(int code, int app=0, int appCode=0) + { + string text; + if (code == ftClient.SERVERERROR_BUSY) + { + text = "Busy (" + app + "/" + appCode + ")"; + } + else if (code == ftClient.SERVERERROR_APPERR) + { + var appName = TranslateServerApp(app); + text = appName + " error: " + Translate(appName, appCode); + } + else if (code == ftClient.SERVERERROR_EXEC) + { + text = "Failed to run " + TranslateServerApp(app); + } + else + { + if (!serverMap.TryGetValue(code, out text)) text = "Unknown error (" + code + ")"; + } + return text; + } + + public static string Translate(string app, int code) + { + if (app == "ftrace") return TranslateFtrace(code, false); + if (app == "ftraceRTX") return TranslateFtrace(code, true); + if (app == "combineMasks") return TranslateCombineMasks(code); + if (app == "denoiser") return TranslateDenoiser(code); + if (app == "denoiser72") return TranslateDenoiser(code); + if (app == "denoiserLegacy") return TranslateDenoiser(code); + if (app == "denoiserOIDN") return TranslateDenoiser(code); + if (app == "halffloat2hdr") return TranslateH2H(code); + if (app == "ies2tex") return TranslateI2T(code); + if (app == "rgba2tga") return TranslateCombineMasks(code); + if (app == "seamfixer") return TranslateSeamfixer(code); + return ""+code; + } +} + +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftErrorCodes.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftErrorCodes.cs.meta new file mode 100644 index 00000000..6aedab2b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftErrorCodes.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 54cb23fa553d8b4479e0374ee0f9c502 +timeCreated: 1540538557 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftFixResettingGlobalsOnSave.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftFixResettingGlobalsOnSave.cs new file mode 100644 index 00000000..34375f4c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftFixResettingGlobalsOnSave.cs @@ -0,0 +1,32 @@ +#if UNITY_EDITOR + +// Disable 'obsolete' warnings +#pragma warning disable 0618 + +using UnityEngine; +using UnityEditor; +using System.Collections; + +// For reasons unknown Unity will reset all shader variables set by Shader.SetGlobal... if you save a scene +// So here is a hack to fix it +public class ftFixResettingsGlobalsOnSave : SaveAssetsProcessor +{ + static void ProcUpdate() + { + if (BakeryVolume.globalVolume != null) BakeryVolume.globalVolume.OnEnable(); // set global volume again + EditorApplication.update -= ProcUpdate; // remove the callback + } + + static string[] OnWillSaveAssets(string[] paths) + { + // Only do anything if there is a global volume in the scene + if (BakeryVolume.globalVolume != null) + { + EditorApplication.update += ProcUpdate; // wait for the next editor update + } + return paths; + } +} + +#endif + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftFixResettingGlobalsOnSave.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftFixResettingGlobalsOnSave.cs.meta new file mode 100644 index 00000000..1990ff48 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftFixResettingGlobalsOnSave.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: bd16f24f4abb61548aeac9a94c816e3a +timeCreated: 1606027586 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupInspector.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupInspector.cs new file mode 100644 index 00000000..a1946203 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupInspector.cs @@ -0,0 +1,94 @@ + +using UnityEditor; +using UnityEngine; +using System; +using System.IO; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +[CustomEditor(typeof(BakeryLightmapGroup))] +[CanEditMultipleObjects] +public class ftLMGroupInspector : UnityEditor.Editor +{ + SerializedProperty ftraceResolution; + SerializedProperty ftraceMode; + SerializedProperty ftraceRenderMode; + SerializedProperty ftraceRenderDirMode; + SerializedProperty ftraceAtlasPacker; + SerializedProperty ftraceBitmask; + SerializedProperty ftraceThickness; + SerializedProperty ftraceSSS; + SerializedProperty ftraceSSSSamples; + SerializedProperty ftraceSSSDensity; + SerializedProperty ftraceSSSColor; + SerializedProperty ftraceFakeShadowBias; + SerializedProperty ftraceTransparentSelfShadow; + SerializedProperty ftraceFlipNormal; + SerializedProperty ftraceSSSScale; + + static string[] selStrings = new string[] {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16", + "17","18","19","20","21","22","23","24","25","26","27","28","29","30"};//,"31"}; + + void OnEnable() + { + ftraceResolution = serializedObject.FindProperty("resolution"); + ftraceMode = serializedObject.FindProperty("mode"); + ftraceRenderMode = serializedObject.FindProperty("renderMode"); + ftraceRenderDirMode = serializedObject.FindProperty("renderDirMode"); + ftraceAtlasPacker = serializedObject.FindProperty("atlasPacker"); + ftraceBitmask = serializedObject.FindProperty("bitmask"); + //ftraceThickness = serializedObject.FindProperty("aoIsThickness"); + ftraceSSS = serializedObject.FindProperty("computeSSS"); + ftraceSSSSamples = serializedObject.FindProperty("sssSamples"); + ftraceSSSDensity = serializedObject.FindProperty("sssDensity"); + ftraceSSSColor = serializedObject.FindProperty("sssColor"); + ftraceSSSScale = serializedObject.FindProperty("sssScale"); + ftraceFakeShadowBias = serializedObject.FindProperty("fakeShadowBias"); + ftraceTransparentSelfShadow = serializedObject.FindProperty("transparentSelfShadow"); + ftraceFlipNormal = serializedObject.FindProperty("flipNormal"); + } + + public override void OnInspectorGUI() { + serializedObject.Update(); + + EditorGUILayout.LabelField("Bakery lightmap group parameters"); + EditorGUILayout.Space(); + + if (ftraceMode.intValue != 2) + { + var prev = ftraceResolution.intValue; + ftraceResolution.intValue = (int)Mathf.ClosestPowerOfTwo(EditorGUILayout.IntSlider("Resolution", ftraceResolution.intValue, 1, 8192)); + if (ftraceResolution.intValue != prev) EditorUtility.SetDirty(target); + } + + EditorGUILayout.PropertyField(ftraceMode, new GUIContent("Packing mode", "Determines how lightmaps are packed. In Simple mode they are not packed, and all objects sharing this group are drawn on top of each other. This is desired in case they were all unwrapped together and do not overlap. If UVs of different objects overlap, choose PackAtlas to arrange their lightmaps together into a single packed atlas.")); + + EditorGUILayout.PropertyField(ftraceRenderMode, new GUIContent("Render Mode", "")); + + EditorGUILayout.PropertyField(ftraceRenderDirMode, new GUIContent("Directional mode", "")); + + EditorGUILayout.PropertyField(ftraceAtlasPacker, new GUIContent("Atlas packer", "")); + + ftraceBitmask.intValue = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), ftraceBitmask.intValue, selStrings); + + EditorGUILayout.LabelField(""); + EditorGUILayout.LabelField("Experimental"); + + //EditorGUILayout.PropertyField(ftraceThickness, new GUIContent("Calculate AO as thickness", "")); + EditorGUILayout.PropertyField(ftraceSSS, new GUIContent("Subsurface scattering", "")); + if (ftraceSSS.boolValue) + { + EditorGUILayout.PropertyField(ftraceSSSSamples, new GUIContent("Samples", "")); + EditorGUILayout.PropertyField(ftraceSSSDensity, new GUIContent("Density", "")); + EditorGUILayout.PropertyField(ftraceSSSColor, new GUIContent("Color", "")); + EditorGUILayout.PropertyField(ftraceSSSScale, new GUIContent("Scale", "")); + } + + EditorGUILayout.PropertyField(ftraceFakeShadowBias, new GUIContent("Normal offset", "Fake normal offset for surface samples. Might be useful when applying very strong normal maps.")); + EditorGUILayout.PropertyField(ftraceTransparentSelfShadow, new GUIContent("Transparent selfshadow", "Start rays behind the surface so it doesn't cast shadows on self. Might be useful for translucent foliage.")); + EditorGUILayout.PropertyField(ftraceFlipNormal, new GUIContent("Flip normal", "Treat faces as flipped.")); + + serializedObject.ApplyModifiedProperties(); + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupInspector.cs.meta new file mode 100644 index 00000000..8b07c862 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c93be7cc95a299b4391dc97ea53e9348 +timeCreated: 1526381774 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupSelectorInspector.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupSelectorInspector.cs new file mode 100644 index 00000000..530532e7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupSelectorInspector.cs @@ -0,0 +1,166 @@ + +using UnityEditor; +using UnityEngine; +using System; +using System.IO; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine.SceneManagement; +using UnityEditor.SceneManagement; + +[CustomEditor(typeof(BakeryLightmapGroupSelector))] +[CanEditMultipleObjects] +public class ftLMGroupSelectorInspector : UnityEditor.Editor +{ + SerializedProperty ftraceAsset; + SerializedProperty ftraceOverride; + SerializedProperty ftraceResolution; + + string newName = null; + int newRes = 512; + int newMask = 1; + BakeryLightmapGroup.ftLMGroupMode newMode = BakeryLightmapGroup.ftLMGroupMode.PackAtlas; + BakeryLightmapGroup.RenderDirMode newDirMode = BakeryLightmapGroup.RenderDirMode.Auto; + + static string[] selStrings = new string[] {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16", + "17","18","19","20","21","22","23","24","25","26","27","28","29","30"};//,"31"}; + + void OnEnable() + { + ftraceAsset = serializedObject.FindProperty("lmgroupAsset"); + ftraceOverride = serializedObject.FindProperty("instanceResolutionOverride"); + ftraceResolution = serializedObject.FindProperty("instanceResolution"); + } + + void ForceSavePrefabOverride(UnityEngine.Object[] targets) + { +#if UNITY_2018_3_OR_NEWER + foreach(BakeryLightmapGroupSelector obj in targets) + { + PrefabUtility.RecordPrefabInstancePropertyModifications(obj); + EditorUtility.SetDirty(obj); + } +#endif + } + + public override void OnInspectorGUI() { + serializedObject.Update(); + + //if (!ftraceAsset.hasMultipleDifferentValues) + { + EditorGUILayout.LabelField("These lightmap parameters affect the object and its children"); + + EditorGUI.BeginChangeCheck(); + var selectedLMGroup = EditorGUILayout.ObjectField(new GUIContent("Lightmap group", "Select ftrace lightmap group asset"), + ftraceAsset.objectReferenceValue, typeof(BakeryLightmapGroup), false); + var changed = EditorGUI.EndChangeCheck(); + + if (ftraceAsset.hasMultipleDifferentValues) EditorGUILayout.LabelField("(Different values in selection)"); + + if (changed) + { + foreach(BakeryLightmapGroupSelector obj in targets) + { + Undo.RecordObject(obj, "Change LMGroup"); + obj.lmgroupAsset = selectedLMGroup; + ForceSavePrefabOverride(targets); + } + } + + if (ftraceAsset.objectReferenceValue != null) + { + var group = ftraceAsset.objectReferenceValue as BakeryLightmapGroup; + + if (group.mode != BakeryLightmapGroup.ftLMGroupMode.PackAtlas && ftraceOverride.boolValue) + { + ftraceOverride.boolValue = false; + ForceSavePrefabOverride(targets); + } + + //EditorGUILayout.LabelField("Packed atlas: " + (group.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas ? "yes" : "no")); + var modeString = "Packing: "; + if (group.mode == BakeryLightmapGroup.ftLMGroupMode.OriginalUV) { + modeString += "original UV"; + } else if (group.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) { + modeString += "packed atlas"; + } else { + modeString += "vertex"; + } + EditorGUILayout.LabelField(modeString); + + modeString = "Directional: "; + if (group.renderDirMode == BakeryLightmapGroup.RenderDirMode.Auto) { + modeString += "auto"; + } else if (group.renderDirMode == BakeryLightmapGroup.RenderDirMode.None) { + modeString += "none"; + } else if (group.renderDirMode == BakeryLightmapGroup.RenderDirMode.BakedNormalMaps) { + modeString += "baked normal maps"; + } else if (group.renderDirMode == BakeryLightmapGroup.RenderDirMode.DominantDirection) { + modeString += "dominant direction"; + } else if (group.renderDirMode == BakeryLightmapGroup.RenderDirMode.RNM) { + modeString += "RNM"; + } else if (group.renderDirMode == BakeryLightmapGroup.RenderDirMode.SH) { + modeString += "SH"; + } + EditorGUILayout.LabelField(modeString); + + if (group.mode != BakeryLightmapGroup.ftLMGroupMode.Vertex) + { + EditorGUILayout.LabelField("Resolution: " + (ftraceOverride.boolValue ? (ftraceResolution.intValue + " (atlas: " + group.resolution + ")") : (group.resolution)+"")); + } + + if (group.mode == BakeryLightmapGroup.ftLMGroupMode.PackAtlas) + { + EditorGUILayout.PropertyField(ftraceOverride, new GUIContent("Override resolution", "Manually set the resolution of this object in the atlas")); + if (ftraceOverride.boolValue) + { + ftraceResolution.intValue = EditorGUILayout.IntSlider("Resolution", ftraceResolution.intValue, 1, 8192); + ForceSavePrefabOverride(targets); + } + } + } + else + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Create new lightmap group:"); + if (newName == null) newName = "LMGroup_" + target.name; + newName = EditorGUILayout.TextField("Name", newName); + EditorGUILayout.PrefixLabel("Packing mode"); + newMode = (BakeryLightmapGroup.ftLMGroupMode)EditorGUILayout.EnumPopup(newMode); + if (newMode != BakeryLightmapGroup.ftLMGroupMode.Vertex) + { + newRes = (int)Mathf.ClosestPowerOfTwo(EditorGUILayout.IntSlider("Resolution", newRes, 1, 8192)); + } + EditorGUILayout.PrefixLabel("Directional mode"); + newDirMode = (BakeryLightmapGroup.RenderDirMode)EditorGUILayout.EnumPopup(newDirMode); + newMask = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), newMask, selStrings); + if (GUILayout.Button("Create new")) + { + BakeryLightmapGroup newGroup = ScriptableObject.CreateInstance(); + newGroup.resolution = newRes; + newGroup.bitmask = newMask; + newGroup.mode = newMode; + newGroup.renderDirMode = newDirMode; + + string fname; + var activeScene = SceneManager.GetActiveScene(); + if (activeScene.path.Length > 0) + { + fname = Path.GetDirectoryName(activeScene.path) + "/" + newName; + } + else + { + fname = "Assets/" + newName; + } + + AssetDatabase.CreateAsset(newGroup, fname + ".asset"); + AssetDatabase.SaveAssets(); + ftraceAsset.objectReferenceValue = newGroup; + } + } + } + + serializedObject.ApplyModifiedProperties(); + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupSelectorInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupSelectorInspector.cs.meta new file mode 100644 index 00000000..d3075eb9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLMGroupSelectorInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 84f0a0db10ed05349987b7b2a49c345e +timeCreated: 1526384098 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightMeshInspector.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightMeshInspector.cs new file mode 100644 index 00000000..0d1368ff --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightMeshInspector.cs @@ -0,0 +1,671 @@ + +using UnityEditor; +using UnityEngine; +using System; +using System.IO; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine.Rendering; + +[CustomEditor(typeof(BakeryLightMesh))] +[CanEditMultipleObjects] +public class ftLightMeshInspector : UnityEditor.Editor +{ + SerializedProperty ftraceLightColor; + SerializedProperty ftraceLightIntensity; + SerializedProperty ftraceLightIndirectIntensity; + SerializedProperty ftraceLightTexture; + SerializedProperty ftraceLightCutoff; + SerializedProperty ftraceLightSamples; + SerializedProperty ftraceLightSamples2; + SerializedProperty ftraceLightBitmask; + SerializedProperty ftraceLightSelfShadow; + SerializedProperty ftraceLightBakeToIndirect; + + static string ftLightShaderName = "Bakery/Light"; + + ftLightmapsStorage storage; + + int texCached = -1; + + static string[] selStrings = new string[] {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16", + "17","18","19","20","21","22","23","24","25","26","27","28","29","30"};//,"31"}; + + void InitSerializedProperties(SerializedObject obj) + { + ftraceLightColor = obj.FindProperty("color"); + ftraceLightTexture = obj.FindProperty("texture"); + ftraceLightIntensity = obj.FindProperty("intensity"); + ftraceLightIndirectIntensity = obj.FindProperty("indirectIntensity"); + ftraceLightCutoff = obj.FindProperty("cutoff"); + ftraceLightSamples = obj.FindProperty("samples"); + ftraceLightSamples2 = obj.FindProperty("samples2"); + ftraceLightBitmask = obj.FindProperty("bitmask"); + ftraceLightSelfShadow = obj.FindProperty("selfShadow"); + ftraceLightBakeToIndirect = obj.FindProperty("bakeToIndirect"); + } + + void OnEnable() + { + InitSerializedProperties(serializedObject); + } + + void TestPreviewRefreshProperty(ref int cached, int newVal) + { + if (cached >= 0) + { + if (cached != newVal) + { + BakeryLightMesh.lightsChanged = 2; + } + } + cached = newVal; + } + + void TestPreviewRefreshProperty(ref int cached, UnityEngine.Object newVal) + { + if (newVal == null) + { + TestPreviewRefreshProperty(ref cached, 0); + return; + } + TestPreviewRefreshProperty(ref cached, newVal.GetInstanceID()); + } + + void GetLinearLightParameters(Light light, out float lightR, out float lightG, out float lightB, out float lightInt) + { + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + lightInt = light.intensity; + lightR = light.color.r; + lightG = light.color.g; + lightB = light.color.b; + return; + } + + if (!GraphicsSettings.lightsUseLinearIntensity) + { + lightR = Mathf.Pow(light.color.r * light.intensity, 2.2f); + lightG = Mathf.Pow(light.color.g * light.intensity, 2.2f); + lightB = Mathf.Pow(light.color.b * light.intensity, 2.2f); + lightInt = Mathf.Max(Mathf.Max(lightR, lightG), lightB); + lightR /= lightInt; + lightG /= lightInt; + lightB /= lightInt; + } + else + { + lightInt = light.intensity; + lightR = light.color.linear.r; + lightG = light.color.linear.g; + lightB = light.color.linear.b; + } + } + + public static Vector2 GetAreaLightSize(Light obj) + { + Vector2 areaSize = obj.areaSize; + + var hdrpLight = obj.GetComponent("HDAdditionalLightData"); + if (hdrpLight != null) + { + var so = new SerializedObject(hdrpLight); + if (so != null) + { + var hdrpLightTypeExtent = so.FindProperty("m_PointlightHDType"); + var hdrpLightTypeExtent2 = so.FindProperty("m_AreaLightShape"); + if (hdrpLightTypeExtent != null && hdrpLightTypeExtent2 != null) + { + int extendedLightType = hdrpLightTypeExtent.intValue; + int extendedLightType2 = hdrpLightTypeExtent2.intValue; + if (extendedLightType == 1 && // area + extendedLightType2 == 0) // rectangle + { + var hdrpLightShapeWidth = so.FindProperty("m_ShapeWidth"); + var hdrpLightShapeHeight = so.FindProperty("m_ShapeHeight"); + areaSize = new Vector2(hdrpLightShapeWidth != null ? hdrpLightShapeWidth.floatValue : 1, + hdrpLightShapeHeight != null ? hdrpLightShapeHeight.floatValue : 1); + } + else + { + Debug.LogError(obj.name + " HDRP light type unsupported: " + extendedLightType + ", " + extendedLightType2); + } + } + } + } + return areaSize; + } + + public static Vector3[] GetAreaLightCorners(Light obj) + { + var areaSize = GetAreaLightSize(obj); + + var t = obj.transform; + var pos = t.position; + var right = t.right; + var up = t.up; + var extents = areaSize * 0.5f; + var corners = new Vector3[4]; + corners[0] = pos - right * extents.x - up * extents.y; + corners[1] = pos - right * extents.x + up * extents.y; + corners[2] = pos + right * extents.x + up * extents.y; + corners[3] = pos + right * extents.x - up * extents.y; + + return corners; + } + + public static bool IsArea(Light obj) + { + var hdrpLight = obj.GetComponent("HDAdditionalLightData"); + if (hdrpLight != null) + { + var so = new SerializedObject(hdrpLight); + if (so != null) + { + var hdrpLightTypeExtent = so.FindProperty("m_PointlightHDType"); + var hdrpLightTypeExtent2 = so.FindProperty("m_AreaLightShape"); + if (hdrpLightTypeExtent != null && hdrpLightTypeExtent2 != null) + { + int extendedLightType = hdrpLightTypeExtent.intValue; + int extendedLightType2 = hdrpLightTypeExtent2.intValue; + if (extendedLightType == 1 && // area + extendedLightType2 == 0) // rectangle + { + return true; + } + } + } + } + else + { + return obj.type == LightType.Area; + } + return false; + } + + public override void OnInspectorGUI() { + //if (showFtrace) + { + OnEnable(); + serializedObject.Update(); + + TestPreviewRefreshProperty(ref texCached, ftraceLightTexture.objectReferenceValue); + + EditorGUILayout.PropertyField(ftraceLightColor, new GUIContent("Color", "Color of the light")); + EditorGUILayout.PropertyField(ftraceLightIntensity, new GUIContent("Intensity", "Color multiplier")); + EditorGUILayout.PropertyField(ftraceLightTexture, new GUIContent("Texture", "Texture")); + EditorGUILayout.PropertyField(ftraceLightCutoff, new GUIContent("Cutoff", "Lighting distance limit. For maximum physical corectness set to a very high value. Using smaller values is useful for faster render times and to match real-time lights. Bakery uses Skyforge falloff to maintain balance between correct inverse-squared attenuation and practical limits (https://habr.com/company/mailru/blog/248873/)")); + + if (ftraceLightSelfShadow.boolValue) + { + EditorGUILayout.PropertyField(ftraceLightSamples2, new GUIContent("Samples Near", "The amount of rays traced hemispherically in the proximity of this mesh. Set to 0 to only trace with 'Samples Far'.")); + } + else + { + ftraceLightSamples2.intValue = 0; + } + EditorGUILayout.PropertyField(ftraceLightSamples, new GUIContent("Samples Far", "The amount of sample points generated on the surface of this mesh. Distant mesh lights are approximated as clouds of directed half-point lights.")); + + //ftraceLightBitmask.intValue = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), ftraceLightBitmask.intValue, selStrings); + int prevVal = ftraceLightBitmask.intValue; + int newVal = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), ftraceLightBitmask.intValue, selStrings); + if (prevVal != newVal) ftraceLightBitmask.intValue = newVal; + + EditorGUILayout.PropertyField(ftraceLightSelfShadow, new GUIContent("Self shadow", "Determines if light mesh itself casts shadows.")); + + //EditorGUILayout.PropertyField(ftraceLightBakeToIndirect, new GUIContent("Bake to indirect", "Add direct contribution from this light to indirect-only lightmaps")); + + if (storage == null) storage = ftRenderLightmap.FindRenderSettingsStorage(); + var rmode = storage.renderSettingsUserRenderMode; + if (rmode != (int)ftRenderLightmap.RenderMode.FullLighting) + { + ftDirectLightInspector.BakeWhat contrib; + if (ftraceLightBakeToIndirect.boolValue) + { + contrib = ftDirectLightInspector.BakeWhat.DirectAndIndirect; + } + else + { + contrib = ftDirectLightInspector.BakeWhat.IndirectOnly; + } + var prevContrib = contrib; + + contrib = (ftDirectLightInspector.BakeWhat)EditorGUILayout.Popup("Baked contribution", (int)contrib, ftSkyLightInspector.directContributionOptions); + + if (prevContrib != contrib) + { + if (contrib == ftDirectLightInspector.BakeWhat.IndirectOnly) + { + ftraceLightBakeToIndirect.boolValue = false; + } + else + { + ftraceLightBakeToIndirect.boolValue = true; + } + } + } + + EditorGUILayout.PropertyField(ftraceLightIndirectIntensity, new GUIContent("Indirect intensity", "Non-physical GI multiplier for this light")); + + serializedObject.ApplyModifiedProperties(); + } + + bool showError = false; + string showErrorText = ""; + bool isAreaLight = false; + bool isMesh = false; + + var materialValid = new bool[targets.Length]; + int iterator = -1; + int numMaterialValid = targets.Length; + + foreach(BakeryLightMesh selectedLight in targets) + { + iterator++; + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + var mr = selectedLight.GetComponent(); + var mf = selectedLight.GetComponent(); + var areaLight = selectedLight.GetComponent(); + if (areaLight != null && !IsArea(areaLight)) areaLight = null; + + if (mr == null && areaLight == null) + { + showError = true; + showErrorText = "Error: no mesh renderer"; + continue; + } + + if (mf == null && areaLight == null) + { + showError = true; + showErrorText = "Error: no mesh filter"; + continue; + } + + float intensity = ftraceLightIntensity.floatValue; + var clr = ftraceLightColor.colorValue; + + if (areaLight != null) + { + bool match = true; + string why = ""; + isAreaLight = true; + + float eps = 1.0f / 255.0f; + float lightR, lightG, lightB, lightInt; + float fr, fg, fb; + if (PlayerSettings.colorSpace == ColorSpace.Linear) + { + fr = clr.linear.r;// * fintensity; + fg = clr.linear.g;// * fintensity; + fb = clr.linear.b;// * fintensity; + } + else + { + fr = clr.r; + fg = clr.g; + fb = clr.b; + } + GetLinearLightParameters(areaLight, out lightR, out lightG, out lightB, out lightInt); + + if (GraphicsSettings.lightsUseLinearIntensity || PlayerSettings.colorSpace != ColorSpace.Linear) + { + if (Mathf.Abs(lightR - fr) > eps || Mathf.Abs(lightG - fg) > eps || Mathf.Abs(lightB - fb) > eps) + { + match = false; + why = "color doesn't match"; + } + else if (Mathf.Abs(lightInt - intensity) > eps) + { + match = false; + why = "intensity doesn't match"; + } + } + else + { + eps *= Mathf.Max(lightInt, intensity); + if (Mathf.Abs(lightR*lightInt - fr*intensity) > eps || + Mathf.Abs(lightG*lightInt - fg*intensity) > eps || + Mathf.Abs(lightB*lightInt - fb*intensity) > eps) + { + match = false; + why = "intensity doesn't match"; + } + } + + if (Mathf.Abs(ftraceLightCutoff.floatValue - areaLight.range * 1.5f) > 0.01f) + { + match = false; + why = "range doesn't match"; + } + + if (ftraceLightSelfShadow.boolValue) + { + match = false; + why = "area light is not self-shadowed."; + } + + if (areaLight.bounceIntensity != ftraceLightIndirectIntensity.floatValue) + { + match = false; + why = "indirect intensity doesn't match"; + } + + if (!match) + { + //EditorGUILayout.Space(); + //EditorGUILayout.LabelField("Real-time light doesn't match lightmap: " + why); + showError = true; + showErrorText = "Area light doesn't match lightmap: " + why; + } + + continue; + } + + materialValid[iterator] = true; + Material singleMat = null; + var mats = mr.sharedMaterials; + + if (mats.Length == 0 || mats[0] == null) + { + showError = true; + showErrorText = "Error: no materials set"; + continue; + } + + isMesh = true; + + for(int i=0; i 1 && !usesftlight) + { + showError = true; + showErrorText = "Warning: intensity > 1, but not using Bakery Light shader"; + //match = false; + break; + } + var mclr = mat.HasProperty("_Color") ? mat.color : Color.white; + float eps = 0.5f/255.0f; + if (Mathf.Abs(mclr.r - clr.r) > eps || Mathf.Abs(mclr.g - clr.g) > eps || Mathf.Abs(mclr.b - clr.b) > eps) + { + showError = true; + showErrorText = "Error: light color doesn't match material color"; + //match = false; + break; + } + if (usesftlight && Mathf.Abs(mat.GetFloat("intensity") - intensity) > 0.001f) + { + showError = true; + showErrorText = "Error: light intensity doesn't match material intensity"; + //match = false; + break; + } + if (ftraceLightTexture.objectReferenceValue == null && mat.HasProperty("_MainTex") && mat.GetTexture("_MainTex")!=null) + { + showError = true; + showErrorText = "Error: textures don't match"; + //match = false; + break; + } + if (ftraceLightTexture.objectReferenceValue != null && (!mat.HasProperty("_MainTex") || mat.GetTexture("_MainTex") != ftraceLightTexture.objectReferenceValue)) + { + showError = true; + showErrorText = "Error: textures don't match"; + //match = false; + break; + } + } + + //if (match) return; + } + + + if (showError) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField(showErrorText); + EditorGUILayout.Space(); + + string txt; + if (numMaterialValid > 0) + { + if (isMesh && !isAreaLight) + { + txt = "Match light to material"; + } + else if (!isMesh && isAreaLight) + { + txt = "Match lightmapped to area light"; + } + else + { + txt = "Match lights to meshes/area lights"; + } + if (GUILayout.Button(txt)) + { + //iterator = 0; + foreach(BakeryLightMesh selectedLight in targets) + { + //iterator++; + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + var mr = selectedLight.GetComponent(); + var areaLight = selectedLight.GetComponent(); + if (mr == null && areaLight == null) continue; + + if (areaLight != null) + { + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + ftraceLightColor.colorValue = areaLight.color; + ftraceLightIntensity.floatValue = areaLight.intensity; + } + else if (!GraphicsSettings.lightsUseLinearIntensity) + { + float lightR, lightG, lightB, lightInt; + GetLinearLightParameters(areaLight, out lightR, out lightG, out lightB, out lightInt); + ftraceLightColor.colorValue = new Color(lightR, lightG, lightB); + ftraceLightIntensity.floatValue = lightInt; + } + else + { + ftraceLightColor.colorValue = areaLight.color; + ftraceLightIntensity.floatValue = areaLight.intensity; + } + ftraceLightCutoff.floatValue = areaLight.range * 1.5f; + ftraceLightSelfShadow.boolValue = false; + ftraceLightIndirectIntensity.floatValue = areaLight.bounceIntensity; + so.ApplyModifiedProperties(); + continue; + } + + var mats = mr.sharedMaterials; + if (mats.Length == 0 || mats[0] == null) continue; + + var mat = mats[0]; + if (mat.shader.name == ftLightShaderName) + { + ftraceLightTexture.objectReferenceValue = mat.mainTexture; + ftraceLightColor.colorValue = mat.color; + ftraceLightIntensity.floatValue = mat.GetFloat("intensity"); + } + else if (mat.shader.name == "Unlit/Color") + { + ftraceLightTexture.objectReferenceValue = null; + ftraceLightColor.colorValue = mat.color; + ftraceLightIntensity.floatValue = 1; + } + else if (mat.shader.name == "Unlit/Texture") + { + ftraceLightTexture.objectReferenceValue = mat.mainTexture; + ftraceLightColor.colorValue = Color.white;//mat.color; + ftraceLightIntensity.floatValue = 1; + } + so.ApplyModifiedProperties(); + } + } + } + + //if (mats.Length == 0) return; + //if (mats[0] == null) return; + + if (isMesh && !isAreaLight) + { + txt = "Match material to light"; + } + else if (!isMesh && isAreaLight) + { + txt = "Match area light to lightmapped"; + } + else + { + txt = "Match meshes/area lights to lightmapped"; + } + if (GUILayout.Button(txt)) + { + foreach(BakeryLightMesh selectedLight in targets) + { + //iterator++; + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + var mr = selectedLight.GetComponent(); + var areaLight = selectedLight.GetComponent(); + if (mr == null && areaLight == null) continue; + + if (areaLight != null) + { + Undo.RecordObject(areaLight, "Change light"); + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + areaLight.color = ftraceLightColor.colorValue; + areaLight.intensity = ftraceLightIntensity.floatValue; + } + else if (!GraphicsSettings.lightsUseLinearIntensity) + { + var clr = ftraceLightColor.colorValue; + float fintensity = ftraceLightIntensity.floatValue; + float fr = clr.linear.r;// * fintensity; + float fg = clr.linear.g;// * fintensity; + float fb = clr.linear.b;// * fintensity; + + fr = Mathf.Pow(fr * fintensity, 1.0f / 2.2f); + fg = Mathf.Pow(fg * fintensity, 1.0f / 2.2f); + fb = Mathf.Pow(fb * fintensity, 1.0f / 2.2f); + float fint = Mathf.Max(Mathf.Max(fr, fg), fb); + fr /= fint; + fg /= fint; + fb /= fint; + areaLight.color = new Color(fr, fg, fb); + areaLight.intensity = fint; + } + else + { + areaLight.color = ftraceLightColor.colorValue; + areaLight.intensity = ftraceLightIntensity.floatValue; + } + areaLight.bounceIntensity = ftraceLightIndirectIntensity.floatValue; + continue; + } + + var mats = mr.sharedMaterials; + if (mats.Length == 0 || mats[0] == null) continue; + + float intensity = ftraceLightIntensity.floatValue; + + var mat = mats[0]; + Undo.RecordObject(mat, "Change material"); + if (intensity > 1) + { + if (mat.shader.name != ftLightShaderName) mat.shader = Shader.Find(ftLightShaderName); + mat.color = ftraceLightColor.colorValue; + mat.mainTexture = ftraceLightTexture.objectReferenceValue as Texture2D; + mat.SetFloat("intensity", intensity); + } + else + { + if (ftraceLightTexture.objectReferenceValue == null) + { + if (mat.shader.name != ftLightShaderName && mat.shader.name != "Unlit/Color") mat.shader = Shader.Find(ftLightShaderName); + } + else + { + if (mat.shader.name != ftLightShaderName && mat.shader.name != "Unlit/Texture") mat.shader = Shader.Find(ftLightShaderName); + } + mat.mainTexture = ftraceLightTexture.objectReferenceValue as Texture2D; + if (mat.shader.name == ftLightShaderName) + { + mat.color = ftraceLightColor.colorValue; + mat.SetFloat("intensity", intensity); + } + else + { + mat.color = ftraceLightColor.colorValue * intensity; + } + } + } + } + } + + if (PlayerSettings.colorSpace == ColorSpace.Linear) + { + if (!GraphicsSettings.lightsUseLinearIntensity) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Warning: project is not set up to use linear light intensity."); + EditorGUILayout.LabelField("GraphicsSettings.lightsUseLinearIntensity should be TRUE."); + if (GUILayout.Button("Fix")) + { + GraphicsSettings.lightsUseLinearIntensity = true; + } + } + else + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Project is using linear light intensity. This is nice."); + if (GUILayout.Button("Change to non-linear")) + { + GraphicsSettings.lightsUseLinearIntensity = false; + } + } + } + } +} + + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightMeshInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightMeshInspector.cs.meta new file mode 100644 index 00000000..d8581f93 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightMeshInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: c2b4c5d630c305d44a44bc6a7fb96344 +timeCreated: 1525465024 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightingDataGen.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightingDataGen.cs new file mode 100644 index 00000000..8147679a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightingDataGen.cs @@ -0,0 +1,202 @@ +using UnityEditor; +using UnityEngine; +using System; +using System.IO; +using System.Collections.Generic; +using System.Runtime.InteropServices; +#if UNITY_EDITOR + +using UnityEngine.Rendering; +using System.Reflection; + +public class ftLightingDataGen +{ + // Generates LightingDataAsset for all lights with baked occlusionMaskChannel + public static bool GenerateShadowmaskLightingData(string outName, ref List lights, bool subtractive) + { + ftRenderLightmap.DebugLogInfo("Generating LightingDataAsset for " + lights.Count + " lights"); + + bool success = true; + try + { + PropertyInfo inspectorModeInfo = typeof(SerializedObject).GetProperty("inspectorMode", BindingFlags.NonPublic | BindingFlags.Instance); + var edPath = ftLightmaps.GetEditorPath(); +#if UNITY_2017_1_OR_NEWER + var bytesP0 = File.ReadAllBytes(edPath + "lightingDataChunks/LightingData_2017_1_part0.bin"); + var bytesP1 = File.ReadAllBytes(edPath + "lightingDataChunks/LightingData_2017_1_part1.bin"); + var bytesP2 = File.ReadAllBytes(edPath + "lightingDataChunks/LightingData_2017_1_part2.bin"); + var bytesP3 = File.ReadAllBytes(edPath + "lightingDataChunks/LightingData_2017_1_part3.bin"); +#else + var bytesP0 = File.ReadAllBytes(edPath + "lightingDataChunks/LightingData_5_6_part0.bin"); + var bytesP1 = File.ReadAllBytes(edPath + "lightingDataChunks/LightingData_5_6_part1.bin"); + var bytesP2 = File.ReadAllBytes(edPath + "lightingDataChunks/LightingData_5_6_part2.bin"); + var bytesP3 = File.ReadAllBytes(edPath + "lightingDataChunks/LightingData_5_6_part3.bin"); +#endif + var f = new BinaryWriter(File.Open(outName, FileMode.Create)); + f.Write(bytesP0); +#if UNITY_2017_1_OR_NEWER + f.Write(52 + 28 * lights.Count - 28); + f.Write(bytesP1); + f.Write(572 + 28 * lights.Count - 28); +#else + f.Write(160 + 28 * lights.Count - 28); + f.Write(bytesP1); + f.Write(552 + 28 * lights.Count - 28); +#endif + f.Write(bytesP2); + f.Write(lights.Count); + for(int i=0; i inID2OutID, ref Dictionary outIDChannel, bool subtractive) + { + try + { + var bytesIn = File.ReadAllBytes(inName); + + var lightCount = inID2OutID.Count; + if (lightCount == 0) return false; + + var inIDsAsBytes = new byte[lightCount][]; + var outIDsAsBytes = new byte[lightCount][]; + var outChannelsAsBytes = new byte[lightCount][]; + var matches = new int[lightCount]; + int counter = 0; + foreach(var pair in inID2OutID) + { + inIDsAsBytes[counter] = BitConverter.GetBytes(pair.Key); + outIDsAsBytes[counter] = BitConverter.GetBytes(pair.Value); + outChannelsAsBytes[counter] = BitConverter.GetBytes(outIDChannel[pair.Value]); + counter++; + } + + int replaced = 0; + int firstAddressReplaced = bytesIn.Length; + var lightsAsWritten = new int[lightCount]; + int lightsAsWrittenCounter = 0; + for(int i=0; i= 8 ? 0 : inIDsAsBytes[j][matches[j]]; + if (val == expectedVal) + { + matches[j]++; + if (matches[j] == 16) + { + // Matched long + 8 zeros + // Replace fileid + for(int k=0; k<8; k++) + { + //Debug.LogError("Matched " + inIDsAsBytes[j][k]+" "+outIDsAsBytes[j][k]); + bytesIn[i - 15 + k] = outIDsAsBytes[j][k]; + } + matches[j] = 0; + replaced++; + + int addr = i - 15; + if (addr < firstAddressReplaced) firstAddressReplaced = addr; + + lightsAsWritten[lightsAsWrittenCounter] = j; + lightsAsWrittenCounter++; + } + } + else + { + matches[j] = 0; + } + } + } + + if (firstAddressReplaced == bytesIn.Length) + { + ftRenderLightmap.DebugLogError("Failed to patch LightingDataAsset: unabled to replace light IDs"); + return false; + } + + if (lightsAsWrittenCounter != lightCount) + { + ftRenderLightmap.DebugLogError("Failed to patch LightingDataAsset: light count differs in temp/real scenes (" + lightsAsWrittenCounter + " vs " + lightCount + ")"); + return false; + } + + // IDs are patched. Now replace channels. + + for(int i=0; i(); + if (pstore == null) pstore = pstoreT.gameObject.AddComponent(); + return pstore; + } + + public override void OnInspectorGUI() { + + serializedObject.Update(); + var prev = isEnabled.boolValue; + EditorGUILayout.PropertyField(isEnabled, new GUIContent("Enable baking", "Prefab contents will be patched after baking if this checkbox is on. Patched prefab will be lightmapped when instantiated in any scene.")); + serializedObject.ApplyModifiedProperties(); + + if (isEnabled.boolValue != prev) + { + allPrefabsGood = true; + foreach(BakeryLightmappedPrefab selected in targets) + { + selected.enableBaking = isEnabled.boolValue; + Refresh(selected); + } + } + + if (allPrefabsGood) + { + EditorGUILayout.LabelField("Prefab connection: OK"); + } + else + { + foreach(BakeryLightmappedPrefab selected in targets) + { + if (selected.errorMessage.Length > 0) EditorGUILayout.LabelField("Error: " + selected.errorMessage); + } + } + + if (GUILayout.Button("Load render settings from prefab")) + { + if (EditorUtility.DisplayDialog("Bakery", "Change current render settings to prefab?", "OK", "Cancel")) + { + var storage = ftRenderLightmap.FindRenderSettingsStorage(); + foreach(BakeryLightmappedPrefab pref in targets) + { + var prefabStorage = FindPrefabStorage(pref); + ftLightmapsStorage.CopySettings(prefabStorage, storage); + } + var instance = (ftRenderLightmap)EditorWindow.GetWindow(typeof(ftRenderLightmap)); + if (instance != null) instance.LoadRenderSettings(); + } + } + + if (GUILayout.Button("Save current render settings to prefab")) + { + if (EditorUtility.DisplayDialog("Bakery", "Save current render settings to prefab?", "OK", "Cancel")) + { + var storage = ftRenderLightmap.FindRenderSettingsStorage(); + foreach(BakeryLightmappedPrefab pref in targets) + { + var prefabStorage = FindPrefabStorage(pref); + ftLightmapsStorage.CopySettings(storage, prefabStorage); + } + } + } + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmappedPrefabInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmappedPrefabInspector.cs.meta new file mode 100644 index 00000000..2f55269d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmappedPrefabInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a080b80faca4b9a4fa0a43361585c4be +timeCreated: 1541703652 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmapsStorageInspector.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmapsStorageInspector.cs new file mode 100644 index 00000000..8a5ef0a8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmapsStorageInspector.cs @@ -0,0 +1,29 @@ + +using UnityEditor; +using UnityEngine; +using System; +using System.IO; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +[CustomEditor(typeof(ftLightmapsStorage))] +public class ftLightmapsStorageInspector : UnityEditor.Editor +{ + static bool showDebug = false; + + public override void OnInspectorGUI() { + + EditorGUILayout.LabelField("This object stores Bakery lightmapping data"); + + if (showDebug) + { + if (GUILayout.Button("Hide debug info")) showDebug = false; + DrawDefaultInspector(); + } + else + { + if (GUILayout.Button("Show debug info")) showDebug = true; + } + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmapsStorageInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmapsStorageInspector.cs.meta new file mode 100644 index 00000000..a08b0777 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftLightmapsStorageInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 3ebd176ebc8a2304c84bc65c23bbecd6 +timeCreated: 1541939494 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftModelPostProcessor.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftModelPostProcessor.cs new file mode 100644 index 00000000..e4b165fe --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftModelPostProcessor.cs @@ -0,0 +1,418 @@ +using UnityEngine; +using UnityEditor; +using UnityEditor.SceneManagement; +using System.IO; +using System.Collections.Generic; + +public class ftModelPostProcessorInternal : AssetPostprocessor +{ + public virtual void UnwrapXatlas(Mesh m, UnwrapParam param) + { + } +} + +public partial class ftModelPostProcessor : ftModelPostProcessorInternal +{ + public static bool unwrapError = false; + public static string lastUnwrapErrorAsset = ""; + + // Deprecated but leave it for now just in case + public class ftSavedPadding : ScriptableObject + { + [SerializeField] + public ftGlobalStorage.AdjustedMesh data; + } + + static ftGlobalStorage storage; + UnwrapParam uparams; + const int res = 1024; + static Material mat; + public static RenderTexture rt; + public static Texture2D tex; + + static Dictionary assetHasPaddingAdjustment = new Dictionary(); + static Dictionary assetSavedPaddingAdjustment = new Dictionary(); + +#if UNITY_2017_1_OR_NEWER + bool deserializedSuccess = false; + ftGlobalStorage.AdjustedMesh deserialized; +#endif + + public static double GetTime() + { + return (System.DateTime.Now.Ticks / System.TimeSpan.TicksPerMillisecond) / 1000.0; + } + + public static void Init() + { + storage = ftLightmaps.GetGlobalStorage(); + + //ftLightmaps.AddTag("BakeryProcessed"); + } + + void OnPreprocessModel() + { + Init(); + + assetHasPaddingAdjustment[assetPath] = false; + assetSavedPaddingAdjustment[assetPath] = null; + + ModelImporter importer = (ModelImporter)assetImporter; + + //if (storage == null) return; + bool hasGlobalPaddingAdjustment = (storage != null && storage.modifiedAssetPathList.IndexOf(assetPath) >= 0); + bool hasGlobalPaddingAdjustment2 = false; +#if UNITY_2017_1_OR_NEWER + var props = importer.extraUserProperties; + for(int p=0; p(json); + deserializedSuccess = true; + break; + } + } +#endif + if (storage != null) storage.InitModifiedMeshMap(assetPath); + + var tt = GetTime(); + AdjustUV(g.transform, saved); + Debug.Log("UV adjustment time: " + (GetTime() - tt)); + } + else + { + if (storage == null) return; + + Debug.Log("Bakery: checking for UV overlaps in " + assetPath); + + //if (g.tag == "BakeryProcessed") g.tag = ""; + ftLightmaps.MarkModelProcessed(assetPath, true);//false); + + // Manual UVs: check if overlapping + CheckUVOverlap(g, assetPath); + } + + if (g.tag == "BakeryProcessed") g.tag = ""; // remove legacy mark + } + + public static bool InitOverlapCheck() + { + rt = new RenderTexture(res, res, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); + tex = new Texture2D(res, res, TextureFormat.ARGB32, false, true); + var shdr = Shader.Find("Hidden/ftOverlapTest"); + if (shdr == null) + { + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + shdr = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftOverlapTest.shader", typeof(Shader)) as Shader; + if (shdr == null) + { + Debug.Log("No overlap testing shader present"); + return false; + } + } + mat = new Material(shdr); + return true; + } + + // -1 = No UVs + // 0 = no overlaps + // > 0 = overlapping pixels count + public static int DoOverlapCheck(GameObject g, bool deep) + { + int overlap = -1; + int overlapCounter = 0; + + Graphics.SetRenderTarget(rt); + GL.Clear(false, true, new Color(0,0,0,0)); + mat.SetPass(0); + + bool hasUV1 = RenderMeshes(g.transform, deep); + if (hasUV1) + { + tex.ReadPixels(new Rect(0,0,res,res), 0, 0, false); + tex.Apply(); + + var bytes = tex.GetRawTextureData(); + overlap = 0; + for(int i=0; i 1) + { + overlapCounter++; + if (overlapCounter > 256) // TODO: better check + { + overlap = 1; + break; + } + } + } + } + + Graphics.SetRenderTarget(null); + + return overlap == 1 ? overlapCounter : overlap; + } + + public static void EndOverlapCheck() + { + if (rt != null) rt.Release(); + if (tex != null) Object.DestroyImmediate(tex); + } + + public static void CheckUVOverlap(GameObject g, string assetPath) + { + bool canCheck = InitOverlapCheck(); + if (!canCheck) return; + + int overlap = DoOverlapCheck(g, true); + EndOverlapCheck(); + + if (overlap != 1 && overlap > 0) + { + Debug.LogWarning("[Bakery warning] " + overlap + " pixels overlap: " + assetPath); + } + + //var index = storage.assetList.IndexOf(assetPath); + var index = storage.assetList.IndexOf(assetPath); + var prevOverlap = -100; + if (index < 0) + { + //index = storage.assetList.Count; + //storage.assetList.Add(assetPath); + index = storage.assetList.Count; + storage.assetList.Add(assetPath); + storage.uvOverlapAssetList.Add(overlap); + } + else + { + prevOverlap = storage.uvOverlapAssetList[index]; + storage.assetList[index] = assetPath; + storage.uvOverlapAssetList[index] = overlap; + } + + if (prevOverlap != overlap) + { + EditorUtility.SetDirty(storage); + EditorSceneManager.MarkAllScenesDirty(); + } + } + + bool ValidateMesh(Mesh m, ftGlobalStorage.Unwrapper unwrapper) + { +#if UNITY_2017_3_OR_NEWER + #if UNITY_2018_4_OR_NEWER + // Bug was fixed in 2018.3.5, but the closest define is for 2018.4 + #else + if (m.indexFormat == UnityEngine.Rendering.IndexFormat.UInt32 && unwrapper == ftGlobalStorage.Unwrapper.Default) + { + Debug.LogError("Can't adjust UV padding for " + m.name + " due to Unity bug. Please set Index Format to 16-bit on the asset or use xatlas."); + return false; + } + #endif +#endif + return true; + } + + void AdjustUV(Transform t, ftSavedPadding2 saved = null) + { + var mf = t.GetComponent(); + if (mf != null && mf.sharedMesh != null) + { + var m = mf.sharedMesh; + var nm = m.name; + int modifiedMeshID; + + if (saved != null) + { + // Get padding from asset + int mindex = saved.data.meshName.IndexOf(nm); + if (mindex < 0) + { + //Debug.LogError("Unable to find padding value for mesh " + nm); + // This is fine. Apparently caused by parts of models being lightmapped, + // while other parts are not baked, yet still a part of the model. + } + else + { + var padding = saved.data.padding[mindex]; + + ftGlobalStorage.Unwrapper unwrapper = ftGlobalStorage.Unwrapper.Default; + if (saved.data.unwrapper != null && saved.data.unwrapper.Count > mindex) + unwrapper = (ftGlobalStorage.Unwrapper)saved.data.unwrapper[mindex]; + + if (!ValidateMesh(m, unwrapper)) return; + + uparams.packMargin = padding/1024.0f; + Unwrap(m, uparams, unwrapper); + } + } +#if UNITY_2017_1_OR_NEWER + else if (deserializedSuccess && deserialized.meshName != null && deserialized.padding != null) + { + // Get padding from extraUserProperties (new) + int mindex = deserialized.meshName.IndexOf(nm); + if (mindex < 0) + { + //Debug.LogError("Unable to find padding value for mesh " + nm); + // This is fine. Apparently caused by parts of models being lightmapped, + // while other parts are not baked, yet still a part of the model. + } + else + { + var padding = deserialized.padding[mindex]; + + ftGlobalStorage.Unwrapper unwrapper = ftGlobalStorage.Unwrapper.Default; + if (deserialized.unwrapper != null && deserialized.unwrapper.Count > mindex) + unwrapper = (ftGlobalStorage.Unwrapper)deserialized.unwrapper[mindex]; + + if (!ValidateMesh(m, unwrapper)) return; + + uparams.packMargin = padding/1024.0f; + Unwrap(m, uparams, unwrapper); + } + } + else + { + // Get padding from GlobalStorage (old) + if (storage != null && storage.modifiedMeshMap.TryGetValue(nm, out modifiedMeshID)) + { + var padding = storage.modifiedMeshPaddingArray[modifiedMeshID]; + + ftGlobalStorage.Unwrapper unwrapper = ftGlobalStorage.Unwrapper.Default; + if (storage.modifiedMeshUnwrapperArray != null && storage.modifiedMeshUnwrapperArray.Count > modifiedMeshID) + unwrapper = (ftGlobalStorage.Unwrapper)storage.modifiedMeshUnwrapperArray[modifiedMeshID]; + + if (!ValidateMesh(m, unwrapper)) return; + + uparams.packMargin = padding/1024.0f; + Unwrap(m, uparams, unwrapper); + } + } +#else + else if (storage != null && storage.modifiedMeshMap.TryGetValue(nm, out modifiedMeshID)) + { + var padding = storage.modifiedMeshPaddingArray[modifiedMeshID]; + + ftGlobalStorage.Unwrapper unwrapper = ftGlobalStorage.Unwrapper.Default; + if (storage.modifiedMeshUnwrapperArray != null && storage.modifiedMeshUnwrapperArray.Count > modifiedMeshID) + unwrapper = (ftGlobalStorage.Unwrapper)storage.modifiedMeshUnwrapperArray[modifiedMeshID]; + + if (!ValidateMesh(m, unwrapper)) return; + + uparams.packMargin = padding/1024.0f; + Unwrap(m, uparams, unwrapper); + } +#endif + } + + // Recurse + foreach (Transform child in t) + AdjustUV(child, saved); + } + + static bool RenderMeshes(Transform t, bool deep) + { + var mf = t.GetComponent(); + if (mf != null && mf.sharedMesh != null) + { + var m = mf.sharedMesh; + //var nm = m.name; + + bool noUV2 = (m.uv2 == null || (m.uv2.Length == 0 && m.vertexCount != 0)); + bool noUV1 = (m.uv == null || (m.uv.Length == 0 && m.vertexCount != 0)); + + if (noUV1 && noUV2) return false; + + mat.SetFloat("uvSet", noUV2 ? 0.0f : 1.0f); + mat.SetPass(0); + + Graphics.DrawMeshNow(m, Vector3.zero, Quaternion.identity); + } + + if (!deep) return true; + + // Recurse + foreach (Transform child in t) + RenderMeshes(child, deep); + + return true; + } + + void Unwrap(Mesh m, UnwrapParam uparams, ftGlobalStorage.Unwrapper unwrapper) + { + if (unwrapper == ftGlobalStorage.Unwrapper.xatlas) + { + UnwrapXatlas(m, uparams); + } + else + { + var tt = GetTime(); + Unwrapping.GenerateSecondaryUVSet(m, uparams); + if (m.uv2 == null || m.uv2.Length == 0) + { + Debug.LogError("Unity failed to unwrap mesh. Options: a) Use 32-bit indices and Unity >= 2018.4. b) Split it into multiple chunks. c) Disable 'Adjust UV Padding'."); + unwrapError = true; + lastUnwrapErrorAsset = assetPath; + } + Debug.Log("Unity unwrap time: " + (GetTime() - tt)); + } + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftModelPostProcessor.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftModelPostProcessor.cs.meta new file mode 100644 index 00000000..b4c82065 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftModelPostProcessor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 958d625f263bc9e468b7ea865c491cef +timeCreated: 1528661707 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftPointLightInspector.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftPointLightInspector.cs new file mode 100644 index 00000000..c1c65f41 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftPointLightInspector.cs @@ -0,0 +1,835 @@ + +using UnityEditor; +using UnityEngine; +using System; +using System.IO; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEngine.Rendering; + +[CustomEditor(typeof(BakeryPointLight))] +[CanEditMultipleObjects] +public class ftPointLightInspector : UnityEditor.Editor +{ + SerializedProperty ftraceLightColor; + SerializedProperty ftraceLightIntensity; + SerializedProperty ftraceLightShadowSpread; + SerializedProperty ftraceLightCutoff; + SerializedProperty ftraceLightSamples; + SerializedProperty ftraceLightProj; + SerializedProperty ftraceLightTexture; + SerializedProperty ftraceLightTexture2D; + SerializedProperty ftraceLightAngle; + SerializedProperty ftraceLightIES; + SerializedProperty ftraceLightBitmask; + SerializedProperty ftraceLightBakeToIndirect; + SerializedProperty ftraceLightRealisticFalloff; + SerializedProperty ftraceLightShadowmask; + SerializedProperty ftraceLightIndirectIntensity; + SerializedProperty ftraceLightFalloffMinRadius; + SerializedProperty ftraceLightInnerAngle; + SerializedProperty ftraceShadowmaskGroupID; + SerializedProperty ftraceDirectionMode; + + UnityEngine.Object spotCookieTexture; + + ftLightmapsStorage storage; + + bool isHDRP = false; + bool isLWRP = false; + + int projModeCached = -1; + int texCached = -1; + int tex2DCached = -1; + int iesCached = -1; + + static string[] selStrings = new string[] {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16", + "17","18","19","20","21","22","23","24","25","26","27","28","29","30"};//,"31"}; + + void InitSerializedProperties(SerializedObject obj) + { + ftraceLightColor = obj.FindProperty("color"); + ftraceLightIntensity = obj.FindProperty("intensity"); + ftraceLightIndirectIntensity = obj.FindProperty("indirectIntensity"); + ftraceLightShadowSpread = obj.FindProperty("shadowSpread"); + ftraceLightCutoff = obj.FindProperty("cutoff"); + ftraceLightAngle = obj.FindProperty("angle"); + ftraceLightInnerAngle = obj.FindProperty("innerAngle"); + ftraceLightSamples = obj.FindProperty("samples"); + ftraceLightProj = obj.FindProperty("projMode"); + ftraceLightTexture = obj.FindProperty("cubemap"); + ftraceLightTexture2D = obj.FindProperty("cookie"); + ftraceLightIES = obj.FindProperty("iesFile"); + ftraceLightBitmask = obj.FindProperty("bitmask"); + ftraceLightBakeToIndirect = obj.FindProperty("bakeToIndirect"); + ftraceLightRealisticFalloff = obj.FindProperty("realisticFalloff"); + ftraceLightShadowmask = obj.FindProperty("shadowmask"); + ftraceLightFalloffMinRadius = obj.FindProperty("falloffMinRadius"); + ftraceShadowmaskGroupID = obj.FindProperty("shadowmaskGroupID"); + ftraceDirectionMode = obj.FindProperty("directionMode"); + + var hdrpLight = (target as BakeryPointLight).GetComponent("HDAdditionalLightData"); + isHDRP = hdrpLight != null; + +#if UNITY_2018_1_OR_NEWER + +#if UNITY_2019_3_OR_NEWER + var rpipe = GraphicsSettings.currentRenderPipeline; +#else + var rpipe = GraphicsSettings.renderPipelineAsset; +#endif + + if (rpipe != null && (rpipe.GetType().Name.StartsWith("Lightweight") || rpipe.GetType().Name.StartsWith("Universal"))) + { + isLWRP = true; + } +#endif + } + + void OnEnable() + { + InitSerializedProperties(serializedObject); + + if (spotCookieTexture == null) + { + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + spotCookieTexture = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftUnitySpotTexture.bmp", typeof(Texture2D)); + } + } + + void GetLinearLightParameters(Light light, out float lightR, out float lightG, out float lightB, out float lightInt) + { + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + lightInt = light.intensity; + lightR = light.color.r; + lightG = light.color.g; + lightB = light.color.b; + return; + } + + if (!GraphicsSettings.lightsUseLinearIntensity) + { + lightR = Mathf.Pow(light.color.r * light.intensity, 2.2f); + lightG = Mathf.Pow(light.color.g * light.intensity, 2.2f); + lightB = Mathf.Pow(light.color.b * light.intensity, 2.2f); + lightInt = Mathf.Max(Mathf.Max(lightR, lightG), lightB); + lightR /= lightInt; + lightG /= lightInt; + lightB /= lightInt; + } + else + { + lightInt = light.intensity; + lightR = light.color.linear.r; + lightG = light.color.linear.g; + lightB = light.color.linear.b; + } + } + + bool CompareWithLWRP(Light l, ref string why) + { + if (l.type == LightType.Spot) + { + var so = new SerializedObject(l); + if (so == null) + { + why = "no SerializedObject"; + return false; + } + if (ftraceLightProj.intValue != (int)BakeryPointLight.ftLightProjectionMode.Cone) + { + why = "spot shape doesn't match."; + return false; + } + SerializedProperty innerAngle = so.FindProperty("m_InnerSpotAngle"); + if (innerAngle == null) + { + why = "no m_InnerSpotAngle"; + return false; + } + if (Mathf.Abs(((ftraceLightInnerAngle.floatValue * 0.01f) * ftraceLightAngle.floatValue) - innerAngle.floatValue) > 0.001f) + { + why = "inner angle doesn't match."; + return false; + } + } + return true; + } + + bool CompareWithHDRP(Light l, ref string why) + { + var hdrpLight = l.GetComponent("HDAdditionalLightData"); + if (hdrpLight == null) + { + why = "no HDAdditionalLightData"; + return false; + } + var so = new SerializedObject(hdrpLight); + if (so == null) + { + why = "no SerializedObject"; + return false; + } + SerializedProperty hdrpLightTypeExtent = so.FindProperty("m_PointlightHDType"); + if (hdrpLightTypeExtent == null) + { + why = "no m_PointlightHDType"; + return false; + } + + int extendedLightType = hdrpLightTypeExtent.intValue; + if (extendedLightType != 0) + { + why = "Only punctual sounrces are supported.\nUse rectangle/tube geometry with Light Mesh instead."; + return false; + } + + if (l.type == LightType.Spot) + { + SerializedProperty hdrpLightSpotShape = so.FindProperty("m_SpotLightShape"); + if (hdrpLightSpotShape == null) + { + why = "no m_SpotLightShape"; + return false; + } + SerializedProperty hdrpLightInnerAngle = so.FindProperty("m_InnerSpotPercent"); + if (hdrpLightInnerAngle == null) + { + why = "no m_InnerSpotPercent"; + return false; + } + + int spotShape = hdrpLightSpotShape.intValue; + if (spotShape != 0) + { + why = "Only cone spotlights are supported."; + return false; + } + if (ftraceLightProj.intValue != (int)BakeryPointLight.ftLightProjectionMode.Cone) + { + why = "spot shape doesn't match."; + return false; + } + if (Mathf.Abs(ftraceLightInnerAngle.floatValue - hdrpLightInnerAngle.floatValue) > 0.001f) + { + why = "inner angle doesn't match."; + return false; + } + } + + return true; + } + + void MatchToLWRPLight(Light l) + { + ftraceLightRealisticFalloff.boolValue = true; + ftraceLightFalloffMinRadius.floatValue = 0.01f; + if (l.type == LightType.Spot) + { + ftraceLightProj.intValue = (int)BakeryPointLight.ftLightProjectionMode.Cone; + + var so = new SerializedObject(l); + if (so == null) return; + + SerializedProperty lightInnerAngle = so.FindProperty("m_InnerSpotAngle"); + if (lightInnerAngle == null) return; + ftraceLightInnerAngle.floatValue = (lightInnerAngle.floatValue / ftraceLightAngle.floatValue) * 100; + } + } + + void MatchToHDRPLight(Light l) + { + ftraceLightRealisticFalloff.boolValue = true; + ftraceLightFalloffMinRadius.floatValue = 0.01f; + + ftraceLightIntensity.floatValue /= Mathf.PI; + + var hdrpLight = l.GetComponent("HDAdditionalLightData"); + if (hdrpLight == null) return; + + var so = new SerializedObject(hdrpLight); + if (so == null) return; + + SerializedProperty hdrpLightTypeExtent = so.FindProperty("m_PointlightHDType"); + if (hdrpLightTypeExtent == null) return; + + int extendedLightType = hdrpLightTypeExtent.intValue; + if (extendedLightType != 0) return; + + if (l.type == LightType.Spot) + { + SerializedProperty hdrpLightSpotShape = so.FindProperty("m_SpotLightShape"); + if (hdrpLightSpotShape == null) return; + + int spotShape = hdrpLightSpotShape.intValue; + if (spotShape != 0) return; + + ftraceLightProj.intValue = (int)BakeryPointLight.ftLightProjectionMode.Cone; + } + + SerializedProperty hdrpLightInnerAngle = so.FindProperty("m_InnerSpotPercent"); + if (hdrpLightInnerAngle == null) return; + ftraceLightInnerAngle.floatValue = hdrpLightInnerAngle.floatValue; + } + + void SetLWRPLight(Light l) + { + if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Cone) + { + var so = new SerializedObject(l); + if (so == null) return; + + SerializedProperty lightInnerAngle = so.FindProperty("m_InnerSpotAngle"); + if (lightInnerAngle == null) return; + + lightInnerAngle.floatValue = (ftraceLightInnerAngle.floatValue * 0.01f) * ftraceLightAngle.floatValue; + + so.ApplyModifiedProperties(); + } + } + + void SetHDRPLight(Light l) + { +#if UNITY_2019_1_OR_NEWER + l.useBoundingSphereOverride = false; + l.useShadowMatrixOverride = false; +#endif + l.intensity *= Mathf.PI; + + var hdrpLight = l.GetComponent("HDAdditionalLightData"); + if (hdrpLight == null) return; + + var so = new SerializedObject(hdrpLight); + if (so == null) return; + + SerializedProperty hdrpUnits = so.FindProperty("m_LightUnit"); + if (hdrpUnits != null) hdrpUnits.intValue = 1; // candela + + SerializedProperty hdrpInt2 = so.FindProperty("m_Intensity"); + if (hdrpInt2 != null) hdrpInt2.floatValue = l.intensity; + + SerializedProperty hdrpLightTypeExtent = so.FindProperty("m_PointlightHDType"); + if (hdrpLightTypeExtent == null) return; + hdrpLightTypeExtent.intValue = 0; // punctual + + if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Cone) + { + SerializedProperty hdrpLightSpotShape = so.FindProperty("m_SpotLightShape"); + if (hdrpLightSpotShape == null) return; + hdrpLightSpotShape.intValue = 0; // cone + } + + SerializedProperty hdrpLightInnerAngle = so.FindProperty("m_InnerSpotPercent"); + if (hdrpLightInnerAngle == null) return; + hdrpLightInnerAngle.floatValue = ftraceLightInnerAngle.floatValue; + + so.ApplyModifiedProperties(); + } + + void TestPreviewRefreshProperty(ref int cached, int newVal) + { + if (cached >= 0) + { + if (cached != newVal) + { + BakeryPointLight.lightsChanged = 2; + } + } + cached = newVal; + } + + void TestPreviewRefreshProperty(ref int cached, UnityEngine.Object newVal) + { + if (newVal == null) + { + TestPreviewRefreshProperty(ref cached, 0); + return; + } + TestPreviewRefreshProperty(ref cached, newVal.GetInstanceID()); + } + + public override void OnInspectorGUI() { + //if (showFtrace) + { + OnEnable(); + + serializedObject.Update(); + + TestPreviewRefreshProperty(ref projModeCached, ftraceLightProj.intValue); + TestPreviewRefreshProperty(ref texCached, ftraceLightTexture.objectReferenceValue); + TestPreviewRefreshProperty(ref tex2DCached, ftraceLightTexture2D.objectReferenceValue); + TestPreviewRefreshProperty(ref iesCached, ftraceLightIES.objectReferenceValue); + + EditorGUILayout.PropertyField(ftraceLightColor, new GUIContent("Color", "Color of the light")); + EditorGUILayout.PropertyField(ftraceLightIntensity, new GUIContent("Intensity", "Color multiplier (Candela / PI)")); + EditorGUILayout.PropertyField(ftraceLightShadowSpread, new GUIContent("Shadow spread", "Controls shadow blurriness from 0 to 1")); + + EditorGUILayout.PropertyField(ftraceLightRealisticFalloff, new GUIContent("Physical falloff", "Use inverse-squared falloff instead of Unity falloff")); + if (ftraceLightRealisticFalloff.boolValue) + { + EditorGUILayout.PropertyField(ftraceLightFalloffMinRadius, new GUIContent("Falloff min size", "As point lights don't have area, at zero distance 1/(d*d) will become infinity. This value avoids this issue by assuming the light to have some minimum radius and changing the formula to 1/(d*d+R*R).")); + } + + EditorGUILayout.PropertyField(ftraceLightCutoff, new GUIContent("Range", "Lighting distance limit. When 'Physical falloff' is on, for maximum corectness set to a very high value. Using smaller values is useful for faster render times and to match real-time lights. Bakery uses Skyforge falloff to maintain balance between correct inverse-squared attenuation and practical limits (https://habr.com/company/mailru/blog/248873/)")); + EditorGUILayout.PropertyField(ftraceLightSamples, new GUIContent("Samples", "The amount of sample points generated on the surface of this light. Point light shadows are traced towards points on a sphere (with radius = shadowSpread) around the light. ")); + EditorGUILayout.PropertyField(ftraceLightProj, new GUIContent("Projection mask", "Determines additional light masking mode.")); + + switch(ftraceLightProj.enumValueIndex) + { + case (int)BakeryPointLight.ftLightProjectionMode.Cookie: + EditorGUILayout.PropertyField(ftraceLightTexture2D, new GUIContent("Cookie texture", "Texture")); + EditorGUILayout.Slider(ftraceLightAngle, 1, 179, new GUIContent("Angle", "Angle of projection (like in spotlights).")); + break; + case (int)BakeryPointLight.ftLightProjectionMode.Cone: + EditorGUILayout.Slider(ftraceLightAngle, 1, 180, new GUIContent("Outer angle")); + EditorGUILayout.Slider(ftraceLightInnerAngle, 0, 100, new GUIContent("Inner angle percent")); + break; + case (int)BakeryPointLight.ftLightProjectionMode.Cubemap: + EditorGUILayout.PropertyField(ftraceLightTexture, new GUIContent("Projected cubemap", "Cubemap")); + break; + case (int)BakeryPointLight.ftLightProjectionMode.IES: + ftraceLightIES.objectReferenceValue = EditorGUILayout.ObjectField("IES file", ftraceLightIES.objectReferenceValue, typeof(UnityEngine.Object), false); + if (ftraceLightIES.objectReferenceValue != null) + { + var path = AssetDatabase.GetAssetPath(ftraceLightIES.objectReferenceValue); + if (path.Length < 4 || path.Substring(path.Length - 4).ToLower() != ".ies") + { + EditorUtility.DisplayDialog("Bakery", "File must have IES extension.", "OK"); + ftraceLightIES.objectReferenceValue = null; + } + } + EditorGUILayout.PropertyField(ftraceDirectionMode, new GUIContent("Orientation", "Defines forward axis for the IES light.")); + break; + default: + break; + } + + int prevVal = ftraceLightBitmask.intValue; + int newVal = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), ftraceLightBitmask.intValue, selStrings); + if (prevVal != newVal) ftraceLightBitmask.intValue = newVal; + + /* + EditorGUILayout.PropertyField(ftraceLightBakeToIndirect, new GUIContent("Bake to indirect", "Add direct contribution from this light to indirect-only lightmaps")); + if (ftraceLightBakeToIndirect.boolValue && ftraceLightShadowmask.boolValue) ftraceLightShadowmask.boolValue = false; + + EditorGUILayout.PropertyField(ftraceLightShadowmask, new GUIContent("Shadowmask", "Enable mixed lighting. Static shadows from this light will be baked, and real-time light will cast shadows from dynamic objects.")); + if (ftraceLightBakeToIndirect.boolValue && ftraceLightShadowmask.boolValue) ftraceLightBakeToIndirect.boolValue = false; + */ + + if (storage == null) storage = ftRenderLightmap.FindRenderSettingsStorage(); + var rmode = storage.renderSettingsUserRenderMode; + if (rmode != (int)ftRenderLightmap.RenderMode.FullLighting) + { + ftDirectLightInspector.BakeWhat contrib; + if (ftraceLightShadowmask.boolValue) + { + contrib = ftDirectLightInspector.BakeWhat.IndirectAndShadowmask; + } + else if (ftraceLightBakeToIndirect.boolValue) + { + contrib = ftDirectLightInspector.BakeWhat.DirectAndIndirect; + } + else + { + contrib = ftDirectLightInspector.BakeWhat.IndirectOnly; + } + var prevContrib = contrib; + + if (rmode == (int)ftRenderLightmap.RenderMode.Indirect) + { + contrib = (ftDirectLightInspector.BakeWhat)EditorGUILayout.Popup("Baked contribution", (int)contrib, ftDirectLightInspector.directContributionIndirectOptions); + } + else if (rmode == (int)ftRenderLightmap.RenderMode.Shadowmask) + { + contrib = (ftDirectLightInspector.BakeWhat)EditorGUILayout.EnumPopup("Baked contribution", contrib); + } + + if (prevContrib != contrib) + { + if (contrib == ftDirectLightInspector.BakeWhat.IndirectOnly) + { + ftraceLightShadowmask.boolValue = false; + ftraceLightBakeToIndirect.boolValue = false; + } + else if (contrib == ftDirectLightInspector.BakeWhat.IndirectAndShadowmask) + { + ftraceLightShadowmask.boolValue = true; + ftraceLightBakeToIndirect.boolValue = false; + } + else + { + ftraceLightShadowmask.boolValue = false; + ftraceLightBakeToIndirect.boolValue = true; + } + } + } + + EditorGUILayout.PropertyField(ftraceLightIndirectIntensity, new GUIContent("Indirect intensity", "Non-physical GI multiplier for this light")); + + if (ftraceLightShadowmask.boolValue) + { + EditorGUILayout.PropertyField(ftraceShadowmaskGroupID, new GUIContent("Shadowmask Group ID", "If set to 0, each shadowmasked light will have a separate mask. Lights sharing any other positive value will share the same mask. This is useful to avoid 4 channel limit in cases where light bounds overlap, but the overlapping part is occluded in both anyway.")); + } + + serializedObject.ApplyModifiedProperties(); + } + + + bool showWarningCant = false; + bool showError = false; + string why = ""; + + bool shadowmaskNoDynamicLight = false; + + foreach(BakeryPointLight selectedLight in targets) + { + bool match = true; + //string why = ""; + var light = selectedLight.GetComponent(); + if (light == null) + { + if (ftraceLightShadowmask.boolValue) shadowmaskNoDynamicLight = true; + continue; + } + if (!light.enabled) + { + if (ftraceLightShadowmask.boolValue) shadowmaskNoDynamicLight = true; + } + + if (isHDRP) + { + if (!ftraceLightRealisticFalloff.boolValue || Mathf.Abs(ftraceLightFalloffMinRadius.floatValue - 0.01f) > 0.0001f) + { + match = false; + why = "falloff doesn't match HDRP"; + } + else + { + match = CompareWithHDRP(light, ref why); + } + } + + if (isLWRP) + { + if (!ftraceLightRealisticFalloff.boolValue || Mathf.Abs(ftraceLightFalloffMinRadius.floatValue - 0.01f) > 0.0001f) + { + match = false; + why = "falloff doesn't match URP"; + } + else + { + match = CompareWithLWRP(light, ref why); + } + } + + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + if (ftraceLightIndirectIntensity.floatValue != light.bounceIntensity) + { + match = false; + why = "indirect intensity doesn't match"; + } + + if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.IES) + { + showWarningCant = true; + } + else if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Omni) + { + if (light.type != LightType.Point) + { + match = false; + why = "real-time light is not point"; + } + else if (light.cookie != null) + { + match = false; + why = "real-time light has cookie"; + } + } + else if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Cubemap) + { + if (light.type != LightType.Point) + { + match = false; + why = "real-time light is not point"; + } + else if (light.cookie == null) + { + match = false; + why = "real-time light has no cookie"; + } + } + else if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Cookie) + { + if (light.type != LightType.Spot) + { + match = false; + why = "real-time light is not spot"; + } + else if (light.cookie == null && ftraceLightTexture2D.objectReferenceValue != spotCookieTexture) + { + match = false; + why = "wrong cookie texture"; + } + else if (light.cookie != null && ftraceLightTexture2D.objectReferenceValue != light.cookie) + { + match = false; + why = "wrong cookie texture"; + } + else if (light.spotAngle != ftraceLightAngle.floatValue) + { + match = false; + why = "spot angle doesn't match"; + } + } + else if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Cone) + { + if (light.type != LightType.Spot) + { + match = false; + why = "real-time light is not spot"; + } + else if (light.spotAngle != ftraceLightAngle.floatValue) + { + match = false; + why = "outer angle doesn't match"; + } + } + + var clr = ftraceLightColor.colorValue; + float eps = 1.0f / 255.0f; + float lightR, lightG, lightB, lightInt; + float fr, fg, fb; + float fintensity = ftraceLightIntensity.floatValue; + if (isHDRP) fintensity *= Mathf.PI; + if (PlayerSettings.colorSpace == ColorSpace.Linear) + { + fr = clr.linear.r;// * fintensity; + fg = clr.linear.g;// * fintensity; + fb = clr.linear.b;// * fintensity; + } + else + { + fr = clr.r; + fg = clr.g; + fb = clr.b; + } + GetLinearLightParameters(light, out lightR, out lightG, out lightB, out lightInt); + + if (GraphicsSettings.lightsUseLinearIntensity || PlayerSettings.colorSpace != ColorSpace.Linear) + { + if (Mathf.Abs(lightR - fr) > eps || Mathf.Abs(lightG - fg) > eps || Mathf.Abs(lightB - fb) > eps) + { + match = false; + why = "color doesn't match"; + } + else if (Mathf.Abs(lightInt - fintensity) > eps) + { + match = false; + why = "intensity doesn't match"; + } + } + else + { + eps *= Mathf.Max(lightInt, fintensity); + if (Mathf.Abs(lightR*lightInt - fr*fintensity) > eps || + Mathf.Abs(lightG*lightInt - fg*fintensity) > eps || + Mathf.Abs(lightB*lightInt - fb*fintensity) > eps) + { + match = false; + why = "intensity doesn't match"; + } + } + + if (Mathf.Abs(light.range - ftraceLightCutoff.floatValue) > 0.001f) + { + match = false; + why = "range doesn't match"; + } + + if (!match) + { + showError = true; + } + } + + if (shadowmaskNoDynamicLight) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Warning: shadowmask needs enabled real-time light to work"); + } + + if (showWarningCant) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Warning: real-time light can't match baked IES light"); + EditorGUILayout.Space(); + } + + if (showError) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Real-time light doesn't match lightmap: " + why); + + if (GUILayout.Button("Match lightmapped to real-time")) + { + foreach(BakeryPointLight selectedLight in targets) + { + var light = selectedLight.GetComponent(); + if (light == null) continue; + //if (!light.enabled) continue; + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + ftraceLightColor.colorValue = light.color; + ftraceLightIntensity.floatValue = light.intensity; + } + else if (!GraphicsSettings.lightsUseLinearIntensity) + { + float lightR, lightG, lightB, lightInt; + GetLinearLightParameters(light, out lightR, out lightG, out lightB, out lightInt); + ftraceLightColor.colorValue = new Color(lightR, lightG, lightB); + ftraceLightIntensity.floatValue = lightInt; + } + else + { + ftraceLightColor.colorValue = light.color; + ftraceLightIntensity.floatValue = light.intensity; + } + ftraceLightCutoff.floatValue = light.range; + ftraceLightAngle.floatValue = light.spotAngle; + + if (light.type == LightType.Point) + { + if (light.cookie == null) + { + ftraceLightProj.enumValueIndex = (int)BakeryPointLight.ftLightProjectionMode.Omni; + ftraceLightTexture.objectReferenceValue = null; + } + else + { + ftraceLightProj.enumValueIndex = (int)BakeryPointLight.ftLightProjectionMode.Cubemap; + ftraceLightTexture.objectReferenceValue = light.cookie; + } + } + else if (light.type == LightType.Spot) + { + ftraceLightProj.enumValueIndex = (int)BakeryPointLight.ftLightProjectionMode.Cookie; + if (light.cookie == null) + { + ftraceLightTexture2D.objectReferenceValue = spotCookieTexture; + } + else + { + ftraceLightTexture2D.objectReferenceValue = light.cookie; + } + } + ftraceLightIndirectIntensity.floatValue = light.bounceIntensity; + + if (isHDRP) MatchToHDRPLight(light); + if (isLWRP) MatchToLWRPLight(light); + + so.ApplyModifiedProperties(); + } + } + if (GUILayout.Button("Match real-time to lightmapped")) + { + foreach(BakeryPointLight selectedLight in targets) + { + var light = selectedLight.GetComponent(); + if (light == null) continue; + //if (!light.enabled) continue; + var so = new SerializedObject(selectedLight); + InitSerializedProperties(so); + + Undo.RecordObject(light, "Change light"); + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + light.color = ftraceLightColor.colorValue; + light.intensity = ftraceLightIntensity.floatValue; + } + else if (!GraphicsSettings.lightsUseLinearIntensity) + { + var clr = ftraceLightColor.colorValue; + float fintensity = ftraceLightIntensity.floatValue; + float fr = clr.linear.r;// * fintensity; + float fg = clr.linear.g;// * fintensity; + float fb = clr.linear.b;// * fintensity; + + fr = Mathf.Pow(fr * fintensity, 1.0f / 2.2f); + fg = Mathf.Pow(fg * fintensity, 1.0f / 2.2f); + fb = Mathf.Pow(fb * fintensity, 1.0f / 2.2f); + float fint = Mathf.Max(Mathf.Max(fr, fg), fb); + fr /= fint; + fg /= fint; + fb /= fint; + light.color = new Color(fr, fg, fb); + light.intensity = fint; + } + else + { + light.color = ftraceLightColor.colorValue; + light.intensity = ftraceLightIntensity.floatValue; + } + light.range = ftraceLightCutoff.floatValue; + light.spotAngle = ftraceLightAngle.floatValue; + + if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Omni) + { + light.type = LightType.Point; + light.cookie = null; + } + else if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Cubemap) + { + light.type = LightType.Point; + light.cookie = ftraceLightTexture.objectReferenceValue as Cubemap; + } + else if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Cookie) + { + light.type = LightType.Spot; + light.cookie = ftraceLightTexture.objectReferenceValue == spotCookieTexture ? null : (ftraceLightTexture.objectReferenceValue as Texture2D); + } + else if (ftraceLightProj.enumValueIndex == (int)BakeryPointLight.ftLightProjectionMode.Cone) + { + light.type = LightType.Spot; + } + light.bounceIntensity = ftraceLightIndirectIntensity.floatValue; + + if (isHDRP) SetHDRPLight(light); + if (isLWRP) SetLWRPLight(light); + } + } + } + + if (PlayerSettings.colorSpace == ColorSpace.Linear) + { + if (!GraphicsSettings.lightsUseLinearIntensity) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Warning: project is not set up to use linear light intensity."); + EditorGUILayout.LabelField("GraphicsSettings.lightsUseLinearIntensity should be TRUE."); + if (GUILayout.Button("Fix")) + { + GraphicsSettings.lightsUseLinearIntensity = true; + } + } + else + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Project is using linear light intensity. This is nice."); + if (GUILayout.Button("Change to non-linear")) + { + GraphicsSettings.lightsUseLinearIntensity = false; + } + } + } + } +} + + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftPointLightInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftPointLightInspector.cs.meta new file mode 100644 index 00000000..b79d8caa --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftPointLightInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: d965ed7d9a9a406418fe8b269b3fef30 +timeCreated: 1525513538 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs new file mode 100644 index 00000000..dcb9e1b8 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs @@ -0,0 +1,10681 @@ +#if UNITY_EDITOR + +// Disable 'obsolete' warnings +#pragma warning disable 0618 + +// Run Bakery exes via CreateProcess instead of mono. Mono seems to have problems with apostrophes in paths. +// Bonus point: working dir == DLL dir, so moving the folder works. +#define LAUNCH_VIA_DLL +//#define COMPRESS_VOLUME_RGBM + +using UnityEngine; +using UnityEngine.Rendering; +using UnityEditor; +using System.IO; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEditor.SceneManagement; +using UnityEngine.SceneManagement; +using System.Text.RegularExpressions; +using System.Reflection; + +public class ftRenderLightmap : EditorWindow//ScriptableWizard +{ + public static bool ftInitialized = false; + public static bool ftSceneDirty = true; + + public static ftRenderLightmap instance; + + public enum RenderMode + { + FullLighting = 0, + Indirect = 1, + Shadowmask = 2, + Subtractive = 3, + AmbientOcclusionOnly = 4 + }; + + public enum RenderDirMode + { + None = 0, + BakedNormalMaps = 1, + DominantDirection = 2, + RNM = 3, + SH = 4 + }; + + public enum SettingsMode + { + Simple = 0, + Advanced = 1, + Experimental = 2 + }; + + public enum LightProbeMode + { + Legacy = 0, + L1 = 1 + }; + + public enum GILODMode + { + Auto = 0, + ForceOn = 1, + ForceOff = 2 + }; + + class Convex + { + public Vector3[] vertices; + public Plane[] planes; + }; + + [DllImport ("simpleProgressBar", CallingConvention=CallingConvention.Cdecl)] + public static extern int simpleProgressBarShow(string header, string msg, float percent, float step, bool onTop); + + [DllImport ("simpleProgressBar", CallingConvention=CallingConvention.Cdecl)] + public static extern bool simpleProgressBarCancelled(); + + [DllImport ("simpleProgressBar", CallingConvention=CallingConvention.Cdecl)] + public static extern void simpleProgressBarEnd(); + + [DllImport ("lmrebake", CallingConvention=CallingConvention.Cdecl)] + public static extern int lmrInit(System.IntPtr device); + + [DllImport ("lmrebake", CallingConvention=CallingConvention.Cdecl)] + public static extern int lmrRender(string srcLMFilename, string destLMFilename, string lodMaskFilename, + float[] srcUV, float[] destUV, int floatOffset, int numFloats, int[] indices, int indexOffset, int numIndices, + int destWidth, int destHeight, int lodBits); + + [DllImport ("lmrebake", CallingConvention=CallingConvention.Cdecl)] + public static extern int lmrRenderSimple(string srcLMFilename, string destLMFilename, + int destWidth, int destHeight, int lodBits); + + [DllImport ("halffloat2vb", CallingConvention=CallingConvention.Cdecl)] + public static extern int halffloat2vb([MarshalAs(UnmanagedType.LPWStr)]string inputFilename, System.IntPtr values, int dataType); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern System.IntPtr RunLocalProcess([MarshalAs(UnmanagedType.LPWStr)]string commandline, bool setWorkDir); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern System.IntPtr RunLocalProcessVisible([MarshalAs(UnmanagedType.LPWStr)]string commandline); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern bool IsProcessFinished(System.IntPtr proc); + + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int GetProcessReturnValueAndClose(System.IntPtr proc); + +#if UNITY_2018_3_OR_NEWER + [DllImport("user32.dll")] + static extern System.IntPtr GetForegroundWindow(); + + [DllImport("user32.dll")] + static extern System.IntPtr GetParent(System.IntPtr hwnd); + + [DllImport("user32.dll")] + static extern int GetWindowText(System.IntPtr hwnd, StringBuilder text, int count); + + System.IntPtr unityEditorHWND; +#endif + +#if UNITY_2017_3_OR_NEWER + const LightmapEditorSettings.Lightmapper BUILTIN_RADIOSITY = LightmapEditorSettings.Lightmapper.Enlighten; + const LightmapEditorSettings.Lightmapper BUILTIN_PT = LightmapEditorSettings.Lightmapper.ProgressiveCPU; +#else + #if UNITY_2017_2_OR_NEWER + const LightmapEditorSettings.Lightmapper BUILTIN_RADIOSITY = LightmapEditorSettings.Lightmapper.Radiosity; + const LightmapEditorSettings.Lightmapper BUILTIN_PT = LightmapEditorSettings.Lightmapper.PathTracer; + #endif +#endif + + public static int bounces = 5; + public int giSamples = 16; + static public float giBackFaceWeight = 0; + public static int tileSize = 512; + public float priority = 2; + public float texelsPerUnit = 20; + public static bool forceRefresh = true; + bool forceRebuildGeometry = true; + bool performRendering = true; + public RenderMode userRenderMode = RenderMode.FullLighting; + public static bool isDistanceShadowmask; + public static RenderDirMode renderDirMode; + public static LightProbeMode lightProbeMode = LightProbeMode.L1; + public static ftGlobalStorage.Unwrapper unwrapper = ftGlobalStorage.Unwrapper.Default; + public static ftGlobalStorage.DenoiserType denoiserType = ftGlobalStorage.DenoiserType.OpenImageDenoise; + public SettingsMode settingsMode = SettingsMode.Simple; + public static GILODMode giLodMode = GILODMode.ForceOff; + public static bool giLodModeEnabled = true; + static bool revertReflProbesValue = false; + static bool reflProbesValue = true; + public static bool restoreFromGlobalSector = false; + public static float hackEmissiveBoost = 1; + public static float hackIndirectBoost = 1; + public static float hackAOIntensity = 0; + public static int hackAOSamples = 16; + public static float hackAORadius = 1; + public static bool showAOSettings = false; + public static bool showTasks = false; + public static bool showTasks2 = false; + public static bool showPaths = false; + public static bool showNet = false; + public static bool showPerf = true; + //public static bool showCompression = false; + //public static bool useUnityForLightProbes = false; + public static bool useUnityForOcclsusionProbes = false; + public static bool showDirWarning = true; + public static bool showCheckerSettings = false; + public static bool showChecker = false; + static bool usesRealtimeGI = false; + static int lastBakeTime; + public static bool beepOnFinish; + public static bool useScenePath = true; + //public static TextureImporterFormat lightmapCompressionColor = TextureImporterFormat.Automatic; + //public static TextureImporterFormat lightmapCompressionMask = TextureImporterFormat.Automatic; + //public static TextureImporterFormat lightmapCompressionDir = TextureImporterFormat.Automatic; + public static bool removeDuplicateLightmaps = false; + public static bool clientMode = false; + public static int sampleDivisor = 1; + + public bool exeMode = true;//false; + public bool deferredMode = true; // defer calls to ftrace and denoiser to unload unity scenes + public bool unloadScenesInDeferredMode = false; + public static bool adjustSamples = true; + public static bool checkOverlaps = false; + public static bool samplesWarning = true; + public static bool prefabWarning = true; + public static bool compressedGBuffer = true; + public static bool compressedOutput = true; + static List deferredCommands; + static Dictionary> deferredCommandsFallback; + static Dictionary deferredCommandsRebake; + static Dictionary deferredCommandsLODGen; + static Dictionary deferredCommandsGIGen; + static Dictionary deferredCommandsHalf2VB; + static Dictionary deferredCommandsUVGB; + static List deferredFileSrc; + static List deferredFileDest; + static List deferredCommandDesc; + + public const string ftraceExe6 = "ftraceRTX.exe"; + public const string ftraceExe1 = "ftrace.exe"; + static string ftraceExe = ftraceExe1; + static bool rtxMode = false; + + public static BakerySector curSector; + static string curSectorName; + + public static int passedFilterFlag = 0; + + enum AdjustUVMode + { + DontChange, + Adjust, + ForceDisableAdjust + } + + static string[] adjustUVOptions = new string[] {"Don't change", "Adjust UV padding", "Remove UV adjustments"}; + + public static event System.EventHandler OnPreFullRender; + public static event System.EventHandler OnPreRenderProbe; + public static event System.EventHandler OnFinishedProbes; + public static event System.EventHandler OnFinishedFullRender; + public static event System.EventHandler OnFinishedReflectionProbes; + + public class ProbeEventArgs : System.EventArgs + { + public Vector3 pos { get; set; } + } + + public static LayerMask forceProbeVisibility; + + // Every LMID -> every channel -> every mask + static List>> lightmapMasks; + static List>> lightmapMaskLMNames; + static List>> lightmapMaskLights; + static List>> lightmapMaskDenoise; +#if UNITY_2017_3_OR_NEWER +#else + static List maskedLights; + PropertyInfo inspectorModeInfo; +#endif + static List lightmapHasColor; + static List lightmapHasMask; + static List lightmapHasDir; + static List lightmapHasRNM; + Scene sceneSavedTestScene; + bool sceneWasSaved = false; + + public bool fixSeams = true; + public bool denoise = true; + public bool denoise2x = false; + public bool encode = true; + + public int padding = 16; + + //public bool bc6h = false; + int encodeMode = 0; + + public bool selectedOnly = false; + bool probesOnlyL1 = false; + public static bool fullSectorRender = false; + + public static bool verbose = true; + public static bool showProgressBar = true; + + public int lightProbeRenderSize = 128; + public int lightProbeReadSize = 16; + public int lightProbeMaxCoeffs = 9; + + public static ftLightmapsStorage storage; + public static Dictionary storages; + + static bool tryFixingSceneView = true; + + // set via experimental UI now + //static bool legacyDenoiser = false; + //static bool oidnDenoiser = false; + static bool foundCompatibleSetup = false; + + const bool alternativeDenoiseDir = true; + + const uint deviceMask = 0xFFFFFFFF; + + List reflectionProbes; + + public ftLightmapsStorage renderSettingsStorage; + + BakeryLightmapGroup currentGroup; + LightingDataAsset newAssetLData; + + public static bool hasAnyProbes = false; + public static bool hasAnyVolumes = false; + static int maxSamplesPerPointLightBatch = 1024; + + public static bool compressVolumes = false; + + Vector2 scrollPos; + + public static ftGlobalStorage gstorage; + static BakeryProjectSettings pstorage; + + public static string scenePath = ""; + public static string scenePathQuoted = ""; +#if !LAUNCH_VIA_DLL + static string dllPath; +#endif + public static string outputPath = "BakeryLightmaps"; + public static string outputPathFull = ""; + + BakeryLightMesh[] All; + BakeryPointLight[] AllP; + BakerySkyLight[] All2; + BakeryDirectLight[] All3; + + const int PASS_LDR = 1; + const int PASS_FLOAT = 2; + const int PASS_HALF = 4; + const int PASS_MASK = 8; + const int PASS_SECONDARY_HALF = 16; + const int PASS_MASK1 = 32; + const int PASS_DIRECTION = 64; + const int PASS_RNM0 = 128; + const int PASS_RNM1 = 256; + const int PASS_RNM2 = 512; + const int PASS_RNM3 = 1024; + + Dictionary lmnameComposed; + + static GUIStyle foldoutStyle; + + static BakeryVolume[] lastFoundBakeableVolumes = null; + + List groupListPlain; + List groupListGIContributingPlain; + + int[] uvBuffOffsets; + int[] uvBuffLengths; + float[] uvSrcBuff; + float[] uvDestBuff; + int[] lmrIndicesOffsets; + int[] lmrIndicesLengths; + int[] lmrIndicesBuff; + int[] lmGroupLODResFlags; + int[] lmGroupMinLOD; + int[] lmGroupLODMatrix; + + public static Material matCubemapToStrip; + + Dictionary shadowmaskGroupIDToChannel; + + static List overlappingLights; + + static LightingDataAsset emptyLDataAsset; + +#if !LAUNCH_VIA_DLL + public static void PatchPath() + { + string currentPath = System.Environment.GetEnvironmentVariable("PATH", System.EnvironmentVariableTarget.Process); + dllPath = System.Environment.CurrentDirectory + Path.DirectorySeparatorChar + "Assets" + Path.DirectorySeparatorChar + "Editor" + Path.DirectorySeparatorChar + "x64"; + if(!currentPath.Contains(dllPath)) + { + System.Environment.SetEnvironmentVariable("PATH", currentPath + Path.PathSeparator + dllPath, System.EnvironmentVariableTarget.Process); + } + } + + static ftRenderLightmap() + { + PatchPath(); + } +#endif + + void ValidateFileAttribs(string file) + { + var attribs = File.GetAttributes(file); + if ((attribs & FileAttributes.ReadOnly) != 0) + { + File.SetAttributes(file, attribs & ~FileAttributes.ReadOnly); + } + } + + static List loadedScenes; + static List loadedScenesEnabled; + static List loadedScenesActive; + static Scene loadedDummyScene; + static bool scenesUnloaded = false; + static public void UnloadScenes() + { + EditorSceneManager.MarkAllScenesDirty(); + EditorSceneManager.SaveOpenScenes(); + + loadedScenes = new List(); + loadedScenesEnabled = new List(); + loadedScenesActive = new List(); + var sceneCount = EditorSceneManager.sceneCount; + var activeScene = EditorSceneManager.GetActiveScene(); + for(int i=0; i Utilities -> Detect optimal settings.", "OK", "Ignore", "Ignore forever"); + if (choice == 0) + { + return false; + } + else if (choice == 2) + { + gstorage.runsOptix5 = true; + EditorUtility.SetDirty(gstorage); + } + } + else if (denoiserType == ftGlobalStorage.DenoiserType.Optix6 && !gstorage.runsOptix6) + { + int choice = EditorUtility.DisplayDialogComplex("Bakery", "This scene has denoiser set to OptiX 6, but you GPU does not seem to support it. Please change the denoiser or re-run Bakery -> Utilities -> Detect optimal settings.", "OK", "Ignore", "Ignore forever"); + if (choice == 0) + { + return false; + } + else if (choice == 2) + { + gstorage.runsOptix6 = true; + EditorUtility.SetDirty(gstorage); + } + } + else if (denoiserType == ftGlobalStorage.DenoiserType.Optix7 && !gstorage.runsOptix7) + { + int choice = EditorUtility.DisplayDialogComplex("Bakery", "This scene has denoiser set to OptiX 7, but you GPU does not seem to support it. Please change the denoiser or re-run Bakery -> Utilities -> Detect optimal settings.", "OK", "Ignore", "Ignore forever"); + if (choice == 0) + { + return false; + } + else if (choice == 2) + { + gstorage.runsOptix7 = true; + EditorUtility.SetDirty(gstorage); + } + } + else if (denoiserType == ftGlobalStorage.DenoiserType.OpenImageDenoise && !gstorage.runsOIDN) + { + int choice = EditorUtility.DisplayDialogComplex("Bakery", "This scene has denoiser set to OpenImageDenoise, but you CPU does not seem to support it. Please change the denoiser or re-run Bakery -> Utilities -> Detect optimal settings.", "OK", "Ignore", "Ignore forever"); + if (choice == 0) + { + return false; + } + else if (choice == 2) + { + gstorage.runsOIDN = true; + EditorUtility.SetDirty(gstorage); + } + } + } + } + } + + return true; + } + + void ValidateOutputPath() + { + // Remove slashes from the end of the path + while (outputPath.Length > 0 && (outputPath[outputPath.Length-1] == '/' || outputPath[outputPath.Length-1] == '\\')) + { + outputPath = outputPath.Substring(0, outputPath.Length-1); + } + var outDir = Application.dataPath + "/" + outputPath; + if (!Directory.Exists(outDir)) Directory.CreateDirectory(outDir); + outputPathFull = outputPath; + + if (curSector != null) + { + curSectorName = curSector.name; + outputPathFull += "/" + curSectorName; + outDir += "/" + curSectorName; + if (!Directory.Exists(outDir)) Directory.CreateDirectory(outDir); + } + else + { + curSectorName = ""; + } + } + + public static double GetTime() + { + return (System.DateTime.Now.Ticks / System.TimeSpan.TicksPerMillisecond) / 1000.0; + } + + public static double GetTimeMs() + { + return System.DateTime.Now.Ticks / System.TimeSpan.TicksPerMillisecond; + } + + static public void LoadScenes() + { + var sceneCount = loadedScenes.Count; + for(int i=0; i(); + if (storage == null) return false; + var list = storage.serverGetFileList; + if (list == null) return false; + + lightmapHasColor = storage.lightmapHasColor; + lightmapHasMask = storage.lightmapHasMask; + lightmapHasDir = storage.lightmapHasDir; + lightmapHasRNM = storage.lightmapHasRNM; + + ftClient.ServerGetData(list); + return true; + } + +#if LAUNCH_VIA_DLL + public static int lastReturnValue = 0; + public static IEnumerator ProcessCoroutine(string app, string args, bool setWorkDir = true) + { + var exeProcess = RunLocalProcess(app+" "+args, setWorkDir); + if (exeProcess == (System.IntPtr)null) + { + DebugLogError(app + " launch failed (see console for details)"); + userCanceled = false; + ProgressBarEnd(); + yield break; + } + while(!IsProcessFinished(exeProcess)) + { + yield return null; + userCanceled = simpleProgressBarCancelled(); + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + } + lastReturnValue = GetProcessReturnValueAndClose(exeProcess); + } +#endif + + int GenerateVBTraceTexLOD(int id) + { + // Write vbTraceTex for LMGroup + var vbtraceTexPosNormalArray = ftBuildGraphics.vbtraceTexPosNormalArray; + var vbtraceTexUVArray = ftBuildGraphics.vbtraceTexUVArray; + var vbtraceTexUVArrayLOD = ftBuildGraphics.vbtraceTexUVArrayLOD; + + var flodInfo = new BinaryReader(File.Open(scenePath + "/lods" + id + ".bin", FileMode.Open, FileAccess.Read)); + flodInfo.BaseStream.Seek(0, SeekOrigin.End); + var numLMs = flodInfo.BaseStream.Position; + flodInfo.BaseStream.Seek(0, SeekOrigin.Begin); + if (lmGroupLODResFlags == null || lmGroupLODResFlags.Length != numLMs) + { + lmGroupLODResFlags = new int[numLMs]; + } + var lodLevels = new int[numLMs]; + for(int i=0; i 0 && lodLevels[i] < 30) + { + //int minLOD = lmGroupMinLOD[id]; + int minLOD = lmGroupMinLOD[i]; + if (lodLevels[i] > minLOD) lodLevels[i] = minLOD; + lmGroupLODResFlags[i] |= 1 << (lodLevels[i] - 1); + } + lmGroupLODMatrix[id * numLMs + i] = lodLevels[i]; + //Debug.LogError("GenerateVBTraceTexLOD: " + id+" to "+i+" = "+lodLevels[i]+" ("+lmGroupLODResFlags[i]+", "+numLMs+")"); + } + flodInfo.Close(); + + var fvbtraceTex2 = new BinaryWriter(File.Open(scenePath + "/vbtraceTex" + id + ".bin", FileMode.Create)); + var numTraceVerts = vbtraceTexUVArray.Count/2; + for(int k=0; k 0) return false; // non-LOD sees itself and LOD0 + } + else + { + //if (otherSceneLodLevel >= 0 && otherSceneLodLevel != curSceneLodLevel) return false; // LOD sees itself and non-LOD + // actually LOD sees non-LOD and other affecting objects we previously calculated + if (otherSceneLodLevel >= 0) + { + var visLists = ftBuildGraphics.lodLevelsVisibleInLodLevel; + if (visLists != null) + { + List visList; + if (visLists.TryGetValue(curSceneLodLevel, out visList)) + { + if (visList != null) + { + if (visList.IndexOf(otherSceneLodLevel) < 0) return false; + } + } + } + } + } + return true; + } + + void GenerateGIParameters(int id, string nm, int bounce, int bounces, bool useDir, int sceneLodLevel) + { + var fgi = new BinaryWriter(File.Open(scenePath + (deferredMode ? "/gi_" + nm + bounce + ".bin" : "/gi.bin"), FileMode.Create)); + fgi.Write(SampleCount(giSamples)); + fgi.Write(giBackFaceWeight); + fgi.Write(bounce == bounces-1 ? "" : "uvalbedo_" + nm + (compressedGBuffer ? ".lz4" : ".dds")); + + int count = 0; + foreach(var lmgroup2 in groupListGIContributingPlain) + { + if (lmgroup2.probes) continue; // nothing is ever affected by probes + if (!GroupAffectedByGroup(sceneLodLevel, lmgroup2.sceneLodLevel)) continue; + count++; + } + fgi.Write(count); + + foreach(var lmgroup2 in groupListGIContributingPlain) + { + if (lmgroup2.probes) continue; // nothing is ever affected by probes + if (!GroupAffectedByGroup(sceneLodLevel, lmgroup2.sceneLodLevel)) continue; + fgi.Write(lmgroup2.id); + + if (giLodModeEnabled) + { + var lod = lmGroupLODMatrix[id * groupListPlain.Count + lmgroup2.id]; + if (lod == 0) + { + fgi.Write(lmgroup2.name + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (lod > 0 && lod < 127) + { + //Debug.LogError("GenerateGIParameters: " + id+" to "+lmgroup2.id+" = "+lod+" ("+lmGroupLODResFlags[lmgroup2.id]+", "+groupListPlain.Count+")"); + fgi.Write(lmgroup2.name + "_diffuse_HDR_LOD" + lod + (compressedOutput ? ".lz4" : ".dds")); + } + else + { + fgi.Write(""); + } + } + else + { + fgi.Write(lmgroup2.name + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds")); + } + } + if (useDir) fgi.Write(bounce == bounces - 1 ? (nm + "_lights_Dir" + (compressedOutput ? ".lz4" : ".dds")) : ""); + fgi.Close(); + } + + float Pack4BytesToFloat(int r, int g, int b, int a) + { + // 6 bits precision + + // Move to 0-63 range + r /= 4; + g /= 4; + b /= 4; + a /= 4; + + return (r << 18) | (g << 12) | (b << 6) | a; + } + + float Pack3BytesToFloat(int r, int g, int b) + { + // 8 bits precision + var packed = (r << 16) | (g << 8) | b; + return (packed) / (float)(1 << 24); + } + + void WriteString(BinaryWriter flist, string str) + { + flist.Write(str.Length); + for(int i=0; i= radius + for(int p=0; p bradius) return false; + } + return true; + } + + int GenerateVertexBakedMeshes(int LMID, string lmname, bool hasShadowMask, bool hasDir, bool hasSH) + { + int errCode = 0; + int errCode2 = 0; + int errCode3 = 0; + int errCode4 = 0; + int errCode5 = 0; + int errCode6 = 0; + + //var vertexOffsetLengths = new List(); + int totalVertexCount = 0; + for(int i=0; i 0) + { + DebugLogInfo("Editor window: " + titleBuff.ToString()); + } + else + { + DebugLogInfo("Unable to get editor window name"); + } +#endif + + selectedOnly = false; + probesOnlyL1 = false; + fullSectorRender = curSector != null; + hasAnyVolumes = true; // possibly - ftBuildGraphics will figure it out + progressFunc = RenderLightmapFunc(); + EditorApplication.update += RenderLightmapUpdate; + bakeInProgress = true; + showProgressBar = true; + } + + string Float2String(float val) + { + return ("" + val).Replace(",", "."); // newer Unity versions can break float formatting by incorrectly applying regional settings + } + + public static string progressBarText; + public static float progressBarPercent = 0; + float progressBarStep = 0; + public static bool progressBarEnabled = false; + public static bool userCanceled = false; // can be used externally to check if the bake progress was cancelled + int progressSteps, progressStepsDone; + IEnumerator progressFunc; + public static bool bakeInProgress = false; + void ProgressBarInit(string startText) + { + ProgressBarSetStep(0); + progressBarText = startText; + progressBarEnabled = true; + if (showProgressBar) simpleProgressBarShow("Bakery", progressBarText, progressBarPercent, progressBarStep, false); + } + void ProgressBarSetStep(float step) + { + progressBarStep = step; + } + void ProgressBarShow(string text, float percent, bool onTop) + { + progressBarText = text; + progressBarPercent = percent; + if (showProgressBar) simpleProgressBarShow("Bakery", progressBarText, progressBarPercent, progressBarStep, onTop); + userCanceled = simpleProgressBarCancelled(); + } + public static void ProgressBarEnd(bool freeAreas = true) + { + if (freeAreas) ftBuildGraphics.FreeTemporaryAreaLightMeshes(); + if (scenesUnloaded) LoadScenes(); + + if (revertReflProbesValue) + { + QualitySettings.realtimeReflectionProbes = reflProbesValue; + revertReflProbesValue = false; + } + + if (userCanceled && restoreFromGlobalSector && ftRenderLightmap.instance != null) + { + if (ftRenderLightmap.instance.unloadScenesInDeferredMode) + { + MergeSectorsDeferred(); + } + else + { + MergeSectors(); + } + } + + progressBarEnabled = false; + if (showProgressBar) simpleProgressBarEnd(); + } + void OnInspectorUpdate() + { + Repaint(); + } + string twoChars(int i) + { + if (i < 10) return "0" + i; + return "" + i; + } + void OnGUI() + { + if (progressBarEnabled) + { + return; + } + + if (tryFixingSceneView) + { + FindGlobalStorage(); + if (gstorage != null) + { + // Fix checker preview being incorrectly set for scene view + if (gstorage.checkerPreviewOn && !showChecker) + { + var sceneView = SceneView.lastActiveSceneView; + if (sceneView != null) + { + sceneView.SetSceneViewShaderReplace(null, null); + gstorage.checkerPreviewOn = false; + EditorUtility.SetDirty(gstorage); + } + } + + if (gstorage.rtSceneViewPreviewOn) + { + var sceneView = SceneView.lastActiveSceneView; + if (sceneView != null) + { + sceneView.SetSceneViewShaderReplace(null, null); + gstorage.rtSceneViewPreviewOn = false; + EditorUtility.SetDirty(gstorage); + } + } + } + tryFixingSceneView = false; + } + + int y = 0; + + var headerStyle = EditorStyles.label; + var numberBoxStyle = EditorStyles.numberField; + var textBoxStyle = EditorStyles.textField; + +#if UNITY_2019_3_OR_NEWER + if (EditorGUIUtility.isProSkin) + { + headerStyle = new GUIStyle(EditorStyles.whiteLabel); + } + else + { + headerStyle = new GUIStyle(EditorStyles.label); + } + headerStyle.alignment = TextAnchor.UpperLeft; + headerStyle.padding = new RectOffset(0,0,5,0); + + numberBoxStyle = new GUIStyle(numberBoxStyle); + numberBoxStyle.alignment = TextAnchor.MiddleLeft; + numberBoxStyle.contentOffset = new Vector2(0, -1); + + textBoxStyle = new GUIStyle(textBoxStyle); + textBoxStyle.alignment = TextAnchor.MiddleLeft; + textBoxStyle.contentOffset = new Vector2(0, -1); +#endif + + if (foldoutStyle == null) + { + foldoutStyle = new GUIStyle(EditorStyles.foldout); + //foldoutStyle.fontStyle = FontStyle.Bold; + } + + if (PlayerSettings.colorSpace != ColorSpace.Linear) + { + y += 15; + GUI.BeginGroup(new Rect(10, y, 300, 120), "[Gamma mode detected]", headerStyle); y += 30; +#if UNITY_2019_3_OR_NEWER + int by = 20; +#else + int by = 15; +#endif + if (GUI.Button(new Rect(15, by, 200, 20), "Switch project to linear lighting")) + { + if (EditorUtility.DisplayDialog("Bakery", "Linear lighting mode is essential for getting realistic results. Switching the project may force Unity to reimport assets. It can take some time, depending on project size. Continue?", "OK", "Cancel")) + { + PlayerSettings.colorSpace = ColorSpace.Linear; + } + } + GUI.EndGroup(); + y += 10; + } + + var aboutRect = new Rect(10, y+5, 250, 20); + var linkStyle = new GUIStyle(); + linkStyle.richText = true; + var clr = GUI.contentColor; + GUI.contentColor = Color.blue; + GUI.Label(aboutRect, new GUIContent("Bakery - GPU Lightmapper by Mr F", "Version 1.9. Go to Bakery Wiki"), linkStyle); + GUI.Label(aboutRect, new GUIContent("____________________________", "Go to Bakery Wiki"), linkStyle); + if (Event.current.type == EventType.MouseUp && aboutRect.Contains(Event.current.mousePosition)) + { + Application.OpenURL("https://geom.io/bakery/wiki/"); + } + GUI.contentColor = clr; + y += 15; + + bool simpleWindowIsTooSmall = position.height < 300; + + float scrollHeight = 0; + if (settingsMode >= SettingsMode.Advanced || simpleWindowIsTooSmall) + { + scrollHeight = 620+y+(showAOSettings ? 65 : 15)+(showPaths ? 70 : 0) + (userRenderMode==RenderMode.Shadowmask ? 20 : 0) + 40; + if (showPerf) scrollHeight += 160; +#if UNITY_2019_3_OR_NEWER + scrollHeight += 30; +#endif + scrollHeight += 40;// + (showCompression ? 25*3 : 0); + scrollHeight += 60; + scrollHeight += showTasks2 ? 55+30 : 5; + scrollHeight += showTasks ? (settingsMode == SettingsMode.Experimental ? 140 : 100) : 0; + scrollHeight += 20; + scrollHeight += ftBuildGraphics.texelsPerUnitPerMap ? 120 : 0; + scrollHeight += showCheckerSettings ? 30+20 : 30; + scrollHeight += (showCheckerSettings && showChecker) ? 20 : 0; + scrollHeight += (renderDirMode == RenderDirMode.RNM || renderDirMode == RenderDirMode.SH) ? (showDirWarning ? 60 : 10) : 0; + if (ftBuildGraphics.unwrapUVs) scrollHeight += 20; + if (settingsMode == SettingsMode.Advanced) scrollHeight += 100; + if (settingsMode == SettingsMode.Simple) scrollHeight = this.minSize.y - 30; + if (settingsMode == SettingsMode.Experimental) + { + scrollHeight += 240; + if (ftBuildGraphics.atlasPacker == ftGlobalStorage.AtlasPacker.xatlas) scrollHeight += 60; + if (ftBuildGraphics.unwrapUVs) scrollHeight += 30; + if (denoise) scrollHeight += 20; + if (showNet) scrollHeight += clientMode ? 120 : 30; + } + scrollPos = GUI.BeginScrollView(new Rect(0, 10+y, 270, position.height-20), scrollPos, new Rect(0,10+y,200,scrollHeight)); + } + + if (settingsMode >= SettingsMode.Advanced) + { + this.minSize = new Vector2(position.height >= scrollHeight ? 250 : 270, 700); + } + this.maxSize = new Vector2(this.minSize.x, settingsMode >= SettingsMode.Advanced ? 820 : this.minSize.y + 1); + + GUI.contentColor = new Color(clr.r, clr.g, clr.b, 0.5f); + int hours = lastBakeTime / (60*60); + int minutes = (lastBakeTime / 60) % 60; + int seconds = lastBakeTime % 60; + GUI.Label(new Rect(105, y+10, 130, 20), "Last bake: "+twoChars(hours)+"h "+twoChars(minutes)+"m "+twoChars(seconds)+"s", EditorStyles.miniLabel); + GUI.contentColor = clr; + + GUI.BeginGroup(new Rect(10, 10+y, 300, 340), "Settings", headerStyle); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + var opts = new GUILayoutOption[1]; + opts[0] = GUILayout.Width(225); + settingsMode = (SettingsMode)EditorGUILayout.EnumPopup(settingsMode, opts); + y += 40; + //EditorGUILayout.Space(); + //EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + userRenderMode = (RenderMode)EditorGUILayout.EnumPopup(userRenderMode, opts); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + renderDirMode = (RenderDirMode)EditorGUILayout.EnumPopup(renderDirMode, opts); + + if (settingsMode >= SettingsMode.Advanced) + { + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + //EditorGUILayout.Space(); + lightProbeMode = (LightProbeMode)EditorGUILayout.EnumPopup(lightProbeMode, opts); + } + + if (settingsMode == SettingsMode.Experimental) + { + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + ftBuildGraphics.atlasPacker = (ftGlobalStorage.AtlasPacker)EditorGUILayout.EnumPopup(ftBuildGraphics.atlasPacker, opts); + } + + if (settingsMode >= SettingsMode.Advanced) + { + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + var uvMode = AdjustUVMode.DontChange; + if (ftBuildGraphics.unwrapUVs) + { + uvMode = AdjustUVMode.Adjust; + } + else if (ftBuildGraphics.forceDisableUnwrapUVs) + { + uvMode = AdjustUVMode.ForceDisableAdjust; + } + + uvMode = (AdjustUVMode)EditorGUILayout.Popup((int)uvMode, adjustUVOptions, opts); + + if (uvMode == AdjustUVMode.DontChange) + { + ftBuildGraphics.unwrapUVs = false; + ftBuildGraphics.forceDisableUnwrapUVs = false; + } + else if (uvMode == AdjustUVMode.Adjust) + { + ftBuildGraphics.unwrapUVs = true; + ftBuildGraphics.forceDisableUnwrapUVs = false; + } + else + { + ftBuildGraphics.unwrapUVs = false; + ftBuildGraphics.forceDisableUnwrapUVs = true; + } + } + + if (settingsMode == SettingsMode.Experimental && ftBuildGraphics.unwrapUVs) + { + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + //EditorGUILayout.Space(); + var prev = unwrapper; + unwrapper = (ftGlobalStorage.Unwrapper)EditorGUILayout.EnumPopup(unwrapper, opts); + if (unwrapper != prev) + { + if (unwrapper == ftGlobalStorage.Unwrapper.xatlas) + { + FindGlobalStorage(); + if (gstorage != null && !gstorage.xatlasWarningShown) + { + gstorage.xatlasWarningShown = true; + EditorUtility.SetDirty(gstorage); + if (!EditorUtility.DisplayDialog("Bakery", "xatlas may provide better UV unwrapping for models with 'Generate lightmap UVs' if 'Adjust UV padding' is enabled in Bakery.\nBut there are several limitations:\n\nTo share a baked scene unwrapped with xatlas, Editor/x64/Bakery/scripts/xatlas folder must be included.\n\nxatlas is native library, so currently any PC opening a baked scene in Unity editor must be on x64 Windows.\n", "Use xatlas", "Cancel")) + { + unwrapper = ftGlobalStorage.Unwrapper.Default; + } + } + } + } + } + + if (settingsMode >= SettingsMode.Advanced) + { + EditorGUILayout.Space(); + EditorGUILayout.Space(); + EditorGUILayout.Space(); + denoiserType = (ftGlobalStorage.DenoiserType)EditorGUILayout.EnumPopup(denoiserType, opts); + } + + GUI.EndGroup(); + + GUI.BeginGroup(new Rect(10, 10+y, 300, 120), "Render mode", headerStyle); + y += 40; + + //bool prevVal = bakeWithNormalMaps; + //bakeWithNormalMaps = GUI.Toggle(new Rect(2, 40, 200, 20), bakeWithNormalMaps, new GUIContent("Bake with normal maps", "Bake normal map effect into lightmaps")); + //y += 20; + + GUI.EndGroup(); + + GUI.BeginGroup(new Rect(10, 10+y, 300, 120), "Directional mode", headerStyle); + y += 40; + + GUI.EndGroup(); + + if (settingsMode >= SettingsMode.Advanced) + { +#if UNITY_2019_3_OR_NEWER +#else + y -= 4; +#endif + GUI.BeginGroup(new Rect(10, 10+y, 300, 120), "Light probe mode", headerStyle); + y += 40; + GUI.EndGroup(); + } + + if (settingsMode == SettingsMode.Experimental) + { +#if UNITY_2019_3_OR_NEWER +#else + y -= 3; +#endif + GUI.BeginGroup(new Rect(10, 10+y, 300, 120), "Atlas packer", headerStyle); + y += 40; + GUI.EndGroup(); + } + + if (settingsMode >= SettingsMode.Advanced) + { +#if UNITY_2019_3_OR_NEWER +#else + if (settingsMode == SettingsMode.Advanced) y -= 3; +#endif + GUI.BeginGroup(new Rect(10, 10+y, 300, 120), "Asset UV processing", headerStyle); + y += 40; + GUI.EndGroup(); + } + + if (settingsMode == SettingsMode.Experimental && ftBuildGraphics.unwrapUVs) + { +#if UNITY_2019_3_OR_NEWER +#else + y -= 3; +#endif + GUI.BeginGroup(new Rect(10, 10+y, 300, 120), "Unwrapper", headerStyle); + y += 40; + GUI.EndGroup(); + } + + if (settingsMode >= SettingsMode.Advanced) + { +#if UNITY_2019_3_OR_NEWER +#else + y -= 3; +#endif + GUI.BeginGroup(new Rect(10, 10+y, 300, 120), "Denoiser", headerStyle); + y += 40; +#if UNITY_2019_3_OR_NEWER + y += 3; +#endif + GUI.EndGroup(); + } + +#if UNITY_2017_1_OR_NEWER + if (userRenderMode == RenderMode.Shadowmask) + { + GUI.BeginGroup(new Rect(10, 10+y, 300, 120), "", headerStyle); + var prevVal = isDistanceShadowmask; + isDistanceShadowmask = GUI.Toggle(new Rect(2, 0, 200, 20), isDistanceShadowmask, new GUIContent("Distance shadowmask", "Use complete real-time shadows close to camera.")); + if (isDistanceShadowmask != prevVal) + { + QualitySettings.shadowmaskMode = isDistanceShadowmask ? ShadowmaskMode.DistanceShadowmask : ShadowmaskMode.Shadowmask; + } + y += 25; + GUI.EndGroup(); + } +#endif + + if (renderDirMode == RenderDirMode.RNM || renderDirMode == RenderDirMode.SH) + { + showDirWarning = EditorGUI.Foldout(new Rect(10,y+10,220,20), showDirWarning, "Directional mode info", foldoutStyle); + if (showDirWarning) + { + var str = renderDirMode + " maps require special shader"; + EditorGUI.HelpBox(new Rect(15,y+30,220,40), str, MessageType.Info); + y += 45; + } + y += 20; + } + + if (settingsMode < SettingsMode.Advanced) + { + this.minSize = new Vector2(250, 310+20-40 + y + 45 + 40 + 20 + (showTasks2 ? 40+30 : 0) + + (userRenderMode == RenderMode.AmbientOcclusionOnly ? (showAOSettings ? 20 : -40) : 0)); + } + + y += 10; + if (settingsMode >= SettingsMode.Advanced) + { + showTasks = EditorGUI.Foldout(new Rect(10, y, 300, 20), showTasks, "Lightmapping tasks", foldoutStyle); + y += 20; + + if (showTasks) + { + int xx = 20; + int yy = y;// - 20; + //GUI.BeginGroup(new Rect(10, y, 300, 160+20), "Lightmapping tasks", headerStyle); + if (settingsMode == SettingsMode.Experimental) + { + forceRebuildGeometry = GUI.Toggle(new Rect(xx, yy, 200, 20), forceRebuildGeometry, new GUIContent("Export geometry and maps", "Exports geometry, textures and lightmap properties to Bakery format. This is required, but if you already rendered the scene, and if no changes to meshes/maps/lightmap resolution took place, you may disable this checkbox to skip this step.")); + yy += 20; + } + //ftBuildGraphics.unwrapUVs = GUI.Toggle(new Rect(xx, yy, 200, 20), ftBuildGraphics.unwrapUVs, new GUIContent("Adjust UV padding", "For meshes with 'Generate lightmap UVs' checkbox enabled, adjusts UVs further to have proper padding between UV islands for each mesh. Model-wide Pack Margin in importer settings is ignored.")); + //yy += 20; + y -= 20; + + adjustSamples = GUI.Toggle(new Rect(xx, yy, 200, 20), adjustSamples, new GUIContent("Adjust sample positions", "Find best sample positions to prevent lighting leaks.")); + yy += 20; + unloadScenesInDeferredMode = GUI.Toggle(new Rect(xx, yy, 200, 20), unloadScenesInDeferredMode, new GUIContent("Unload scenes before render", "Unloads Unity scenes before baking to free up video memory.")); + yy += 20; + if (settingsMode == SettingsMode.Experimental) + { + forceRefresh = GUI.Toggle(new Rect(xx, yy, 200, 20), forceRefresh, new GUIContent("Update unmodified lights", "Update lights that didn't change since last rendering. You can disable this checkbox to skip these lights. Note that it only tracks changes to light objects. If scene geometry changed, then you still need to update all lights.")); + yy += 20; + performRendering = GUI.Toggle(new Rect(xx, yy, 200, 20), performRendering, new GUIContent("Update modified lights and GI", "Update lights that did change since last rendering, plus GI.")); + yy += 20; + } + denoise = GUI.Toggle(new Rect(xx, yy, 200, 20), denoise, new GUIContent("Denoise", "Apply denoising algorithm to lightmaps")); + yy += 20; + if (settingsMode == SettingsMode.Experimental && denoise) + { + denoise2x = GUI.Toggle(new Rect(xx, yy, 200, 20), denoise2x, new GUIContent("Denoise: fix bright edges", "Sometimes the neural net used for denoising may produce bright edges around shadows, like if a sharpening effect was applied. If this option is enabled, Bakery will try to filter them away.")); + yy += 20; + y += 20; + } + fixSeams = GUI.Toggle(new Rect(xx, yy, 200, 20), fixSeams, new GUIContent("Fix Seams", "Fix UV seams on lightmaps")); + //GUI.EndGroup(); + y += (settingsMode == SettingsMode.Experimental ? (135 + 5) : (135 + 30) - 80); + y += 20; + } + } + + GUI.BeginGroup(new Rect(10, y, 300, 340), "Auto-atlasing", headerStyle); + + int ay = 20; + + if (settingsMode >= SettingsMode.Advanced) + { + ftBuildGraphics.splitByScene = GUI.Toggle(new Rect(10, ay, 200, 20), ftBuildGraphics.splitByScene, new GUIContent("Split by scene", "Bake separate lightmap atlases for every scene. Useful to limit the amount of textures loaded when scenes are streamed.")); + ay += 20; + y += 20; + if (settingsMode >= SettingsMode.Experimental) + { + if (ftBuildGraphics.atlasPacker == ftGlobalStorage.AtlasPacker.xatlas) + { + ftBuildGraphics.postPacking = GUI.Toggle(new Rect(10, ay, 200, 20), ftBuildGraphics.postPacking, new GUIContent("Post-packing", "Try to minimize final atlas count by combining different LODs, terrains and regular meshes in one texture.")); + ay += 20; + y += 20; + } + } + + if (settingsMode >= SettingsMode.Advanced) + { + if (ftBuildGraphics.atlasPacker == ftGlobalStorage.AtlasPacker.xatlas) + { + ftBuildGraphics.holeFilling = GUI.Toggle(new Rect(10, ay, 200, 20), ftBuildGraphics.holeFilling, new GUIContent("Hole filling", "Fill holes while packing UV layouts to optimize atlas usage. If disabled, layouts are packed as bounding rectangles.")); + ay += 20; + y += 20; + } + } + + if (settingsMode >= SettingsMode.Experimental) + { + if (ftBuildGraphics.unwrapUVs) + { + ftBuildGraphics.uvPaddingMax = GUI.Toggle(new Rect(10, ay, 200, 20), ftBuildGraphics.uvPaddingMax, new GUIContent("UV padding: increase only", "When finding optimal UV padding for given resolution, the value will never get smaller comparing to previously baked scenes. This is useful when the same model is used across multiple scenes with different lightmap resolution.")); + ay += 20; + y += 20; + } + } + } + + GUI.Label(new Rect(10, ay, 100, 15), new GUIContent("Texels per unit:", "Approximate amount of lightmap pixels per unit allocated for lightmapped objects without Bakery LMGroup component.")); + texelsPerUnit = EditorGUI.FloatField(new Rect(110, ay, 110, 15), texelsPerUnit, numberBoxStyle); + ftBuildGraphics.texelsPerUnit = texelsPerUnit; + ay += 20; + + GUI.Label(new Rect(10, ay, 100, 15), new GUIContent("Max resolution:")); + ay += 20; + GUI.Label(new Rect(10, ay, 100, 15), ""+ftBuildGraphics.maxAutoResolution); + ftBuildGraphics.maxAutoResolution = 1 << (int)GUI.HorizontalSlider(new Rect(50, ay, 170, 15), Mathf.Ceil(Mathf.Log(ftBuildGraphics.maxAutoResolution)/Mathf.Log(2)), 8, 12); + ay += 20; + + if (settingsMode >= SettingsMode.Advanced) + { + GUI.Label(new Rect(10, ay, 100, 15), new GUIContent("Min resolution:")); + ay += 20; + GUI.Label(new Rect(10, ay, 100, 15), ""+ftBuildGraphics.minAutoResolution); + ftBuildGraphics.minAutoResolution = 1 << (int)GUI.HorizontalSlider(new Rect(50, ay, 170, 15), Mathf.Log(ftBuildGraphics.minAutoResolution)/Mathf.Log(2), 4, 12); + y += 40; + ay += 20; + } + + if (settingsMode >= SettingsMode.Advanced) + { + ftBuildGraphics.texelsPerUnitPerMap = EditorGUI.Foldout(new Rect(0, ay, 230, 20), ftBuildGraphics.texelsPerUnitPerMap, "Scale per map type", foldoutStyle); + ay += 20; + if (ftBuildGraphics.texelsPerUnitPerMap) + { + GUI.Label(new Rect(10, ay, 150, 20), new GUIContent("Main lightmap scale:")); + ay += 20; + float actualDiv = 1 << (int)((1.0f - ftBuildGraphics.mainLightmapScale) * 6); + GUI.Label(new Rect(10, ay, 85, 15), "1/"+ actualDiv); + ftBuildGraphics.mainLightmapScale = GUI.HorizontalSlider(new Rect(50, ay, 170, 15), ftBuildGraphics.mainLightmapScale, 0, 1); + ay += 20; + + GUI.Label(new Rect(10, ay, 150, 20), new GUIContent("Shadowmask scale:")); + ay += 20; + actualDiv = 1 << (int)((1.0f - ftBuildGraphics.maskLightmapScale) * 6); + GUI.Label(new Rect(10, ay, 85, 15), "1/"+ actualDiv); + ftBuildGraphics.maskLightmapScale = GUI.HorizontalSlider(new Rect(50, ay, 170, 15), ftBuildGraphics.maskLightmapScale, 0, 1); + ay += 20; + + GUI.Label(new Rect(10, ay, 150, 20), new GUIContent("Direction scale:")); + ay += 20; + actualDiv = 1 << (int)((1.0f - ftBuildGraphics.dirLightmapScale) * 6); + GUI.Label(new Rect(10, ay, 85, 15), "1/"+ actualDiv); + ftBuildGraphics.dirLightmapScale = GUI.HorizontalSlider(new Rect(50, ay, 170, 15), ftBuildGraphics.dirLightmapScale, 0, 1); + ay += 20; + + y += 120; + } + y += 20; + + showCheckerSettings = EditorGUI.Foldout(new Rect(0, ay, 230, 20), showCheckerSettings, "Checker preview", foldoutStyle); + ay += 20; + if (showCheckerSettings) + { + var prevValue = ftSceneView.enabled; + showChecker = GUI.Toggle(new Rect(10, ay, 230, 20), ftSceneView.enabled, new GUIContent("Show checker", "Renders checker in scene view.")); + if (showChecker != prevValue) + { + ftSceneView.ToggleChecker(); + } + ay += 20; + y += 20; + if (showChecker) + { + if (GUI.Button(new Rect(10, ay, 220, 20), "Refresh checker")) + { + ftSceneView.RefreshChecker(); + } + ay += 20; + y += 20; + } + } + y += 20; + } + + GUI.EndGroup(); + y += 45 + 40; + + if (userRenderMode != RenderMode.AmbientOcclusionOnly) + { + y += 5; + GUI.BeginGroup(new Rect(10, y, 300, 300), "Global Illumination", headerStyle); + + GUI.Label(new Rect(10, 20, 70, 15), new GUIContent("Bounces:", "How many times light ray bounces off surfaces. Lower values are faster to render, while higher values ensure light reaches highly occluded places like interiors, caves, etc.")); + var textBounces = GUI.TextField(new Rect(70, 20, 25, 15), "" + bounces, textBoxStyle); + textBounces = Regex.Replace(textBounces, "[^0-9]", ""); + System.Int32.TryParse(textBounces, out bounces); + bounces = (int)GUI.HorizontalSlider(new Rect(100, 20, 120, 15), bounces, 0, 5); + + GUI.Label(new Rect(10, 20+20, 70, 15), new GUIContent("Samples:", "Quality of GI. More samples produce cleaner lighting with less noise.")); + var textGISamples = GUI.TextField(new Rect(70, 20+20, 25, 15), "" + giSamples, textBoxStyle); + textGISamples = Regex.Replace(textGISamples, "[^0-9]", ""); + System.Int32.TryParse(textGISamples, out giSamples); + giSamples = (int)GUI.HorizontalSlider(new Rect(100, 20+20, 120, 15), giSamples, 1, 64); + } + else + { + GUI.BeginGroup(new Rect(10, y-60, 300, 300), "", headerStyle); + } + + GUI.EndGroup(); + if (userRenderMode != RenderMode.AmbientOcclusionOnly) y += 60; + + if (settingsMode == SettingsMode.Simple && userRenderMode == RenderMode.AmbientOcclusionOnly) + { + showAOSettings = true; + showAOSettings = EditorGUI.Foldout(new Rect(10, y, 300, 20), showAOSettings, "Ambient occlusion"); + if (showAOSettings) + { + int xx = 15; + int yy = y + 10; + int ww = 110; + + GUI.Label(new Rect(10+xx, 15+yy, 100, 15), new GUIContent("Intensity:", "AO visibility. Disabled if set to 0.")); + hackAOIntensity = EditorGUI.FloatField(new Rect(95+xx, 15+yy, ww, 15), hackAOIntensity, numberBoxStyle); + + GUI.Label(new Rect(10+xx, 30+yy, 100, 15), new GUIContent("Radius:", "AO radius")); + hackAORadius = EditorGUI.FloatField(new Rect(95+xx, 30+yy, ww, 15), hackAORadius, numberBoxStyle); + + GUI.Label(new Rect(10+xx, 45+yy, 100, 15), new GUIContent("Samples:", "Affects the quality of AO")); + hackAOSamples = EditorGUI.IntField(new Rect(95+xx, 45+yy, ww, 15), hackAOSamples, numberBoxStyle); + + y += 60; + } + y += 20; + } + else if (settingsMode >= SettingsMode.Advanced) + { + //showHacks = EditorGUI.Foldout(new Rect(10, y, 300, 300), showHacks, "Hacks"); + //y += 20; + //if (showHacks) + { + GUI.BeginGroup(new Rect(10, y, 300, 300), "Hacks", headerStyle); + + int yy = 20; + GUI.Label(new Rect(10, yy, 100, 15), new GUIContent("Emissive boost:", "Multiplies light from emissive surfaces.")); + hackEmissiveBoost = EditorGUI.FloatField(new Rect(110, yy, 110, 15), hackEmissiveBoost, numberBoxStyle); + yy += 20; + + GUI.Label(new Rect(10, yy, 100, 15), new GUIContent("Indirect boost:", "Multiplies indirect intensity for all lights.")); + hackIndirectBoost = EditorGUI.FloatField(new Rect(110, yy, 110, 15), hackIndirectBoost, numberBoxStyle); + yy += 20; + + GUI.Label(new Rect(10, yy, 120, 20), new GUIContent("Backface GI:", "How much light is emitted via back faces from 0 (black) to 1 (equals to front face).")); + giBackFaceWeight = EditorGUI.FloatField(new Rect(110, yy, 110, 15), giBackFaceWeight, numberBoxStyle); + yy += 20; + + showAOSettings = EditorGUI.Foldout(new Rect(10, yy, 300, 20), showAOSettings, "Ambient occlusion"); + yy += 20; + y += 15+40; + if (showAOSettings) + { + int xx = 15; + yy = 45+40; + int ww = 110; + + GUI.Label(new Rect(10+xx, 15+yy, 100, 15), new GUIContent("Intensity:", "AO visibility. Disabled if set to 0.")); + hackAOIntensity = EditorGUI.FloatField(new Rect(95+xx, 15+yy, ww, 15), hackAOIntensity, numberBoxStyle); + + GUI.Label(new Rect(10+xx, 30+yy, 100, 15), new GUIContent("Radius:", "AO radius")); + hackAORadius = EditorGUI.FloatField(new Rect(95+xx, 30+yy, ww, 15), hackAORadius, numberBoxStyle); + + GUI.Label(new Rect(10+xx, 45+yy, 100, 15), new GUIContent("Samples:", "Affects the quality of AO")); + hackAOSamples = EditorGUI.IntField(new Rect(95+xx, 45+yy, ww, 15), hackAOSamples, numberBoxStyle); + + y += 50; + } + + GUI.EndGroup(); + y += 50; + } + + showPerf = EditorGUI.Foldout(new Rect(10, y, 300, 20), showPerf, "Performance", foldoutStyle); + y += 20; + if (showPerf) + { + int xx = 10; + + var prev = rtxMode; + rtxMode = + GUI.Toggle(new Rect(xx, y, 200, 20), rtxMode, + new GUIContent(" RTX mode", "Enables RTX hardware acceleration (requires supported hardware).")); + if (prev != rtxMode) + { + ftraceExe = rtxMode ? ftraceExe6 : ftraceExe1; + if (rtxMode) ftBuildGraphics.exportTerrainAsHeightmap = false; + } + y += 20; + + ftBuildGraphics.exportTerrainTrees = + GUI.Toggle(new Rect(xx, y, 200, 20), ftBuildGraphics.exportTerrainTrees, + new GUIContent(" Export terrain trees", "If enabled, painted terrain trees will affect lighting. Trees themselves will not be baked.")); + y += 20; + + prev = ftBuildGraphics.exportTerrainAsHeightmap; + //if (settingsMode >= SettingsMode.Experimental) + //{ + ftBuildGraphics.exportTerrainAsHeightmap = + GUI.Toggle(new Rect(xx, y, 200, 20), ftBuildGraphics.exportTerrainAsHeightmap, + new GUIContent(" Terrain optimization", "If enabled, terrains use separate ray tracing technique to take advantage of their heightfield geometry. Otherwise they are treated like any other mesh.")); + if (prev != ftBuildGraphics.exportTerrainAsHeightmap) + { + if (ftBuildGraphics.exportTerrainAsHeightmap) + { + rtxMode = false; + ftraceExe = ftraceExe1; + } + } + y += 20; + //} + + if (settingsMode >= SettingsMode.Experimental) + { +#if UNITY_2020_1_OR_NEWER + compressVolumes = + GUI.Toggle(new Rect(xx, y, 200, 20), compressVolumes, + new GUIContent(" Compress volumes", "Apply texture compression to volume 3D textures and switch Bakery shaders to a corresponding sampling mode. Not recommended for very low resolution volumes. Volume size may be increased to be a multiple of 4.")); +#else + GUI.enabled = false; + compressVolumes = + GUI.Toggle(new Rect(xx, y, 200, 20), compressVolumes, + new GUIContent(" Compress volumes", "(Requires Unity 2020.1 or newer) Apply texture compression to volume 3D textures and switch Bakery shaders to a corresponding sampling mode. Not recommended for very low resolution volumes. Volume size may be increased to be a multiple of 4.")); + GUI.enabled = true; +#endif + y += 20; + } + + GUI.Label(new Rect(10, y, 150, 20), new GUIContent("Samples multiplier", "Multiplies all shadow and GI samples by the specified factor. Use this to quickly change between draft and final quality.")); + y += 20; + GUI.Label(new Rect(10, y, 85, 15), "1/"+ sampleDivisor); + const int maxSampleDivisor = 8; + sampleDivisor = (int)GUI.HorizontalSlider(new Rect(50, y, 170, 15), (float)(maxSampleDivisor - (sampleDivisor-1)), 1, maxSampleDivisor); + sampleDivisor = maxSampleDivisor - (sampleDivisor-1); + y += 20; + + GUI.BeginGroup(new Rect(xx, y, 300, 120), "GI VRAM optimization", headerStyle); + y += 20; + GUI.EndGroup(); + giLodMode = (GILODMode)EditorGUI.EnumPopup(new Rect(xx, y, 225, 25), giLodMode); + y += 20; + + GUI.BeginGroup(new Rect(xx, y, 300, 300), "Tile size", headerStyle); + GUI.Label(new Rect(10, 20, 70, 15), new GUIContent("" + tileSize, "Lightmaps are split into smaller tiles and each tile is processed by the GPU without interruputions. Changing tile size therefore balances between system responsiveness and baking speed. Because GPU is shared by all running processes, baking with big tile size can make everything slow, but also gets the job done faster.")); + tileSize = 1 << (int)GUI.HorizontalSlider(new Rect(50, 20, 170, 15), Mathf.Log(tileSize)/Mathf.Log(2), 5, 12); + GUI.EndGroup(); + y += 45; + } + } + + + if (settingsMode >= SettingsMode.Advanced) + { + + } + else + { + GUI.BeginGroup(new Rect(10, y, 300, 300), "GPU priority", headerStyle); + string priorityName = ""; + if (tileSize > 512) + { + if ((int)priority!=3) priority = 3; // >= 1024 very high + priorityName = "Very high"; + } + else if (tileSize > 256) + { + if ((int)priority!=2) priority = 2; // >= 512 high + priorityName = "High"; + } + else if (tileSize > 64) + { + if ((int)priority!=1) priority = 1; // >= 128 low + priorityName = "Low"; + } + else + { + if ((int)priority!=0) priority = 0; // == 32 very low + priorityName = "Very low"; + } + GUI.Label(new Rect(10, 20, 75, 20), new GUIContent("" + priorityName, "Balance between system responsiveness and baking speed. Because GPU is shared by all running processes, baking on high priority can make everything slow, but also gets the job done faster.")); + priority = GUI.HorizontalSlider(new Rect(80, 20, 140, 15), priority, 0, 3); + if ((int)priority == 0) + { + tileSize = 32; + } + else if ((int)priority == 1) + { + tileSize = 128; + } + else if ((int)priority == 2) + { + tileSize = 512; + } + else + { + tileSize = 1024; + } + GUI.EndGroup(); + y += 50; + } + + if (scenePath == "") scenePath = System.Environment.GetEnvironmentVariable("TEMP", System.EnvironmentVariableTarget.Process) + "\\frender"; + if (settingsMode >= SettingsMode.Advanced) + { + showPaths = EditorGUI.Foldout(new Rect(10, y, 230, 20), showPaths, "Output options", foldoutStyle); + y += 20; + + if (showPaths) + { + if (GUI.Button(new Rect(10, y, 230, 40), new GUIContent("Temp path:\n" + scenePath, "Specify folder where temporary data will be stored. Using SSD can speed up rendering a bit comparing to HDD."))) + { + scenePath = EditorUtility.OpenFolderPanel("Select temp folder", scenePath, "frender"); + } + y += 50; + + useScenePath = EditorGUI.ToggleLeft( new Rect( 10, y, 230, 20 ), new GUIContent( "Use scene named output path", "Create the lightmaps in a subfolder named the same as the scene" ), useScenePath ); + y += 25; + if ( !useScenePath ) { + GUI.Label(new Rect(10, y, 100, 16), new GUIContent("Output path:", "Specify folder where lightmaps data will be stored (relative to Assets)")); + outputPath = EditorGUI.TextField(new Rect(85, y, 155, 18), outputPath, textBoxStyle); + y += 25; + } else { + // AMW - don't override the outputPath if we currently have the temp scene open. + // this seemed to happen during lightprobe bakes and the lightprobes would end up in the _tempScene path + string currentScenePath = EditorSceneManager.GetActiveScene().path; + if ( currentScenePath.ToLower().Contains( "_tempscene.unity" ) == false ) { + outputPath = currentScenePath; + if ( string.IsNullOrEmpty( outputPath ) ) { + outputPath = "BakeryLightmaps"; + } else { + // strip "Assets/" and the file extension + if (outputPath.Length > 7 && outputPath.Substring(0,7).ToLower() == "assets/") outputPath = outputPath.Substring(7); + if (outputPath.Length > 6 && outputPath.Substring(outputPath.Length-6).ToLower() == ".unity") + outputPath = outputPath.Substring(0, outputPath.Length-6); + } + } + } + } + } + + if (settingsMode >= SettingsMode.Experimental) + { + showNet = EditorGUI.Foldout(new Rect(10, y, 230, 20), showNet, "Network baking", foldoutStyle); + y += 20; + + if (showNet) + { + clientMode = EditorGUI.ToggleLeft( new Rect( 10, y, 230, 20 ), new GUIContent( "Bake on remote server", "Enable network baking" ), clientMode ); + y += 20; + if (clientMode) + { + GUI.Label(new Rect(10, y, 100, 16), new GUIContent("IP address:", "Server address where ftServer.exe is launched")); + ftClient.serverAddress = EditorGUI.TextField(new Rect(85, y, 155, 18), ftClient.serverAddress, textBoxStyle); + y += 20; + + if (ftClient.lastServerMsgIsError) ftClient.Disconnect(); + + if (!ftClient.connectedToServer) + { + if (GUI.Button(new Rect(10, y, 230, 30), "Connect to server")) + { + ftClient.ConnectToServer(); + } + } + else + { + ftClient.Update(); + if (GUI.Button(new Rect(10, y, ftClient.serverGetDataMode ? 230 : (230/2), 30), "Disconnect")) + { + ftClient.Disconnect(); + ftClient.lastServerMsg = "Server: no data"; + ftClient.lastServerMsgIsError = false; + ftClient.lastServerErrorCode = 0; + } + if (!ftClient.serverGetDataMode) + { + if (ftClient.serverMustRefreshData) + { + CollectStorages(); + var groupList = new List(); + var groupListGIContributing = new List(); + CollectGroups(groupList, groupListGIContributing, false); + ftClient.serverMustRefreshData = false; + var apply = ApplyBakedData(); + while(apply.MoveNext()) {} + } + if (GUI.Button(new Rect(230/2+10, y, 230/2, 30), "Get data")) + { + if (ftClient.lastServerScene.Length == 0) + { + DebugLogError("No baked scene is found on the server."); + } + else if (ftClient.lastServerScene != EditorSceneManager.GetActiveScene().name) + { + DebugLogError("Current active scene doesn't match the one on the server."); + } + else if (ftClient.serverGetDataMode) + { + DebugLogInfo("Data is being downloaded"); + } + else + { + if (!ServerGetData()) + { + DebugLogError("Failed to find the list of files to download."); + } + } + } + } + } + + y += 30; + + var msg = ftClient.lastServerMsg; + if (ftClient.lastServerScene.Length > 0) msg += "\nScene: "+ftClient.lastServerScene; + if (ftClient.serverGetDataMode) msg += "\nDownloading: " + System.Math.Min(ftClient.serverGetFileIterator+1, ftClient.serverGetFileList.Count) + "/" + ftClient.serverGetFileList.Count; + EditorGUI.HelpBox(new Rect(15,y+5,220,40), msg, ftClient.lastServerMsgIsError ? MessageType.Error : MessageType.Info); + y += 40; + } + y += 10; + } + } + + ftBuildGraphics.scenePath = scenePath; + scenePathQuoted = "\"" + scenePath + "\""; + + /*if (settingsMode >= SettingsMode.Advanced) + { + showCompression = EditorGUI.Foldout(new Rect(10, y, 230, 20), showCompression, "Compression", foldoutStyle); + y += 20; + if (showCompression) + { + int xx = 10; + float prevWidth = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = 45f; + lightmapCompressionColor = (TextureImporterFormat)EditorGUI.EnumPopup( new Rect( xx, y, 240-xx, 20 ), new GUIContent( "Color:", "Set the default compression for the lightmap textures" ), lightmapCompressionColor ); + y += 25; + //EditorGUIUtility.labelWidth = 85f; + lightmapCompressionMask = (TextureImporterFormat)EditorGUI.EnumPopup( new Rect( xx, y, 240-xx, 20 ), new GUIContent( "Mask:", "Set the default compression for the lightmap textures" ), lightmapCompressionMask ); + y += 25; + //EditorGUIUtility.labelWidth = 65f; + lightmapCompressionDir = (TextureImporterFormat)EditorGUI.EnumPopup( new Rect( xx, y, 240-xx, 20 ), new GUIContent( "Dir:", "Set the default compression for the lightmap textures" ), lightmapCompressionDir ); + EditorGUIUtility.labelWidth = prevWidth; + y += 25; + } + }*/ + + /*if (settingsMode == SettingsMode.Experimental) + { + GUI.BeginGroup(new Rect(10, y, 300, 300), "Output texture type", headerStyle); + encodeMode = GUI.SelectionGrid(new Rect(10, 20, 210, 20), encodeMode, selStrings, 2); + GUI.EndGroup(); + y += 50; + }*/ + ftBuildGraphics.overwriteExtensionCheck = ".hdr";//bc6h ? ".asset" : ".hdr"; + + if (settingsMode >= SettingsMode.Advanced) + { + curSector = EditorGUI.ObjectField(new Rect(10, y, 230, 16), curSector, typeof(BakerySector), true) as BakerySector; + y += 25; + } + + + if (GUI.Button(new Rect(10, y, 230, 30), "Render")) + { + ValidateOutputPath(); + RenderButton(); + } + y += 35; + + if (settingsMode >= SettingsMode.Experimental) + { + if (GUI.Button(new Rect(10, y, 230, 30), "Render Selected Groups")) + { + if (!Application.isPlaying) + { + ValidateOutputPath(); + if (!TestSystemSpecs()) return; + selectedOnly = true; + probesOnlyL1 = false; + fullSectorRender = false; + hasAnyVolumes = true; // possibly - ftBuildGraphics will figure it out + progressFunc = RenderLightmapFunc(); + EditorApplication.update += RenderLightmapUpdate; + bakeInProgress = true; + } + } + y += 35; + } + + if (GUI.Button(new Rect(10, y, 230, 30), "Render Light Probes")) + { + ValidateOutputPath(); + RenderLightProbesButton(); + } + y += 35; + + if (GUI.Button(new Rect(10, y, 230, 30), "Render Reflection Probes")) + { + ValidateOutputPath(); + RenderReflectionProbesButton(); + } + y += 35; + + if (GUI.Button(new Rect(10, y, 230, 30), "Update Skybox Probe")) + { + if (!Application.isPlaying) + { + ValidateOutputPath(); + DynamicGI.UpdateEnvironment(); + + var rgo = new GameObject(); + var r = rgo.AddComponent(); + r.resolution = 256; + r.clearFlags = UnityEngine.Rendering.ReflectionProbeClearFlags.Skybox; + r.cullingMask = 0; + r.mode = UnityEngine.Rendering.ReflectionProbeMode.Custom; + + var assetName = GenerateLightingDataAssetName(); + var outName = "Assets/" + outputPath + "/" + assetName + "_sky.exr"; + if (File.Exists(outName)) ValidateFileAttribs(outName); + Lightmapping.BakeReflectionProbe(r, outName); + + AssetDatabase.Refresh(); + RenderSettings.customReflection = AssetDatabase.LoadAssetAtPath(outName, typeof(Cubemap)) as Cubemap; + RenderSettings.defaultReflectionMode = UnityEngine.Rendering.DefaultReflectionMode.Custom; + DestroyImmediate(rgo); + } + } + y += 30; + + if (settingsMode >= SettingsMode.Experimental) + { + //showTasks2 = EditorGUI.Foldout(new Rect(10, y-5, 300, 20), showTasks2, "Light probe tasks", foldoutStyle); + //y += 20 - (showTasks2 ? 10 : 5); + //if (showTasks2) + { + var prevValue = usesRealtimeGI; + usesRealtimeGI = GUI.Toggle(new Rect(10, y+5, 230, 20), usesRealtimeGI, new GUIContent("Combine with Enlighten real-time GI", "When Render button is pressed, first Enlighten real-time GI will be calculated. Then Bakery will bake regular lightmaps. Static and real-time GI will be combined.")); + if (prevValue != usesRealtimeGI) + { + //Lightmapping.realtimeGI = usesRealtimeGI; + } + y += 20; + } + } + + //if (settingsMode >= SettingsMode.Advanced) + { + useUnityForOcclsusionProbes = GUI.Toggle(new Rect(10, y+5, 230, 20), useUnityForOcclsusionProbes, new GUIContent("Occlusion probes", "When Render Light Probes is pressed, lets Unity bake occlusion probes using currently selected built-in lightmapper. Occlusion probes prevent dynamic objects from getting lit in shadowed areas. Currently there is no way to use custom occlusion probes in Unity, and it has to call its own lightmappers to do the job.")); + y += 25; + } + + if (settingsMode >= SettingsMode.Advanced) + { + beepOnFinish = GUI.Toggle(new Rect(10, y, 230, 20), beepOnFinish, new GUIContent("Beep on finish", "Plays a sound when the bake is done.")); + y += 25; + } + + showTasks2 = EditorGUI.Foldout(new Rect(10, y, 300, 20), showTasks2, "Warnings", foldoutStyle); + y += 12+2; + if (showTasks2) + { + checkOverlaps = GUI.Toggle(new Rect(10, y, 200, 20), checkOverlaps, new GUIContent("UV validation", "Checks for any incorrect missing or overlapping UVs")); + y += 15; + ftBuildGraphics.memoryWarning = GUI.Toggle(new Rect(10, y, 200, 20), ftBuildGraphics.memoryWarning, new GUIContent("Memory check", "Calculate approximate amount of required video memory and ask to continue")); + y += 15; + ftBuildGraphics.overwriteWarning = GUI.Toggle(new Rect(10, y, 200, 20), ftBuildGraphics.overwriteWarning, new GUIContent("Overwrite check", "Check and ask if any existing lightmaps are going to be overwritten")); + y += 15; + samplesWarning = GUI.Toggle(new Rect(10, y, 200, 20), samplesWarning, new GUIContent("Sample count check", "Checks if sample values for lights/GI/AO are in reasonable range")); + y += 15; + prefabWarning = GUI.Toggle(new Rect(10, y, 200, 20), prefabWarning, new GUIContent("Lightmapped prefab validation", "Checks if any prefabs are going to be overwritten and if there is anything preventing from baking them")); + } + + if (settingsMode >= SettingsMode.Advanced || simpleWindowIsTooSmall) + { + GUI.EndScrollView(); + } + + if (ftLightmaps.mustReloadRenderSettings) + { + ftLightmaps.mustReloadRenderSettings = false; + OnEnable(); + } + + SaveRenderSettings(); + } + + public void SaveRenderSettings() + { + var scenePathToSave = scenePath; + if (scenePathToSave == System.Environment.GetEnvironmentVariable("TEMP", System.EnvironmentVariableTarget.Process) + "\\frender") + { + scenePathToSave = ""; + } + + if (renderSettingsStorage == null) return; + + FindGlobalStorage(); + if (gstorage != null) + { + if (gstorage.renderSettingsTempPath != scenePathToSave) + { + gstorage.renderSettingsTempPath = scenePathToSave; + EditorUtility.SetDirty(gstorage); + } + } + + if ( + renderSettingsStorage.renderSettingsBounces != bounces || + renderSettingsStorage.renderSettingsGISamples != giSamples || + renderSettingsStorage.renderSettingsGIBackFaceWeight != giBackFaceWeight || + renderSettingsStorage.renderSettingsTileSize != tileSize || + renderSettingsStorage.renderSettingsPriority != priority || + renderSettingsStorage.renderSettingsTexelsPerUnit != texelsPerUnit || + renderSettingsStorage.renderSettingsForceRefresh != forceRefresh || + renderSettingsStorage.renderSettingsForceRebuildGeometry != forceRebuildGeometry || + renderSettingsStorage.renderSettingsPerformRendering != performRendering || + renderSettingsStorage.renderSettingsUserRenderMode != (int)userRenderMode || + renderSettingsStorage.renderSettingsSettingsMode != (int)settingsMode || + renderSettingsStorage.renderSettingsFixSeams != fixSeams || + renderSettingsStorage.renderSettingsDenoise != denoise || + renderSettingsStorage.renderSettingsDenoise2x != denoise2x || + renderSettingsStorage.renderSettingsEncode != encode || + renderSettingsStorage.renderSettingsEncodeMode != encodeMode || + renderSettingsStorage.renderSettingsOverwriteWarning != ftBuildGraphics.overwriteWarning || + renderSettingsStorage.renderSettingsAutoAtlas != ftBuildGraphics.autoAtlas || + renderSettingsStorage.renderSettingsUnwrapUVs != ftBuildGraphics.unwrapUVs || + renderSettingsStorage.renderSettingsForceDisableUnwrapUVs != ftBuildGraphics.forceDisableUnwrapUVs || + renderSettingsStorage.renderSettingsMaxAutoResolution != ftBuildGraphics.maxAutoResolution || + renderSettingsStorage.renderSettingsMinAutoResolution != ftBuildGraphics.minAutoResolution || + renderSettingsStorage.renderSettingsUnloadScenes != unloadScenesInDeferredMode || + renderSettingsStorage.renderSettingsAdjustSamples != adjustSamples || + renderSettingsStorage.renderSettingsGILODMode != (int)giLodMode || + renderSettingsStorage.renderSettingsGILODModeEnabled != giLodModeEnabled || + renderSettingsStorage.renderSettingsCheckOverlaps != checkOverlaps || + renderSettingsStorage.renderSettingsOutPath != outputPath || + renderSettingsStorage.renderSettingsUseScenePath != useScenePath || + //renderSettingsStorage.renderSettingsTempPath != scenePathToSave || + renderSettingsStorage.renderSettingsHackEmissiveBoost != hackEmissiveBoost || + renderSettingsStorage.renderSettingsHackIndirectBoost != hackIndirectBoost || + renderSettingsStorage.renderSettingsHackAOIntensity != hackAOIntensity || + renderSettingsStorage.renderSettingsHackAORadius != hackAORadius || + renderSettingsStorage.renderSettingsHackAOSamples != hackAOSamples || + renderSettingsStorage.renderSettingsShowAOSettings != showAOSettings || + renderSettingsStorage.renderSettingsShowTasks != showTasks || + renderSettingsStorage.renderSettingsShowTasks2 != showTasks2 || + renderSettingsStorage.renderSettingsShowPaths != showPaths || + renderSettingsStorage.renderSettingsShowNet != showNet || + renderSettingsStorage.renderSettingsShowPerf != showPerf || + //renderSettingsStorage.renderSettingsShowCompression != showCompression || + renderSettingsStorage.renderSettingsTexelsPerMap != ftBuildGraphics.texelsPerUnitPerMap || + renderSettingsStorage.renderSettingsTexelsColor != ftBuildGraphics.mainLightmapScale || + renderSettingsStorage.renderSettingsTexelsMask != ftBuildGraphics.maskLightmapScale || + renderSettingsStorage.renderSettingsTexelsDir != ftBuildGraphics.dirLightmapScale || + renderSettingsStorage.renderSettingsOcclusionProbes != useUnityForOcclsusionProbes || + renderSettingsStorage.renderSettingsBeepOnFinish != beepOnFinish || + renderSettingsStorage.renderSettingsDistanceShadowmask != isDistanceShadowmask || + renderSettingsStorage.renderSettingsShowDirWarning != showDirWarning || + renderSettingsStorage.renderSettingsRenderDirMode != (int)renderDirMode || + renderSettingsStorage.renderSettingsShowCheckerSettings != showCheckerSettings || + renderSettingsStorage.usesRealtimeGI != usesRealtimeGI || + renderSettingsStorage.renderSettingsSamplesWarning != samplesWarning || + renderSettingsStorage.renderSettingsPrefabWarning != prefabWarning || + renderSettingsStorage.renderSettingsSplitByScene != ftBuildGraphics.splitByScene || + renderSettingsStorage.renderSettingsExportTerrainAsHeightmap != ftBuildGraphics.exportTerrainAsHeightmap || + renderSettingsStorage.renderSettingsExportTerrainTrees != ftBuildGraphics.exportTerrainTrees || + renderSettingsStorage.renderSettingsRTXMode != rtxMode || + renderSettingsStorage.renderSettingsLightProbeMode != (int)lightProbeMode || + renderSettingsStorage.renderSettingsClientMode != clientMode || + renderSettingsStorage.renderSettingsServerAddress != ftClient.serverAddress || + renderSettingsStorage.renderSettingsUVPaddingMax != ftBuildGraphics.uvPaddingMax || + renderSettingsStorage.renderSettingsPostPacking != ftBuildGraphics.postPacking || + renderSettingsStorage.renderSettingsHoleFilling != ftBuildGraphics.holeFilling || + renderSettingsStorage.renderSettingsSampleDiv != sampleDivisor || + renderSettingsStorage.renderSettingsUnwrapper != (int)unwrapper || + renderSettingsStorage.renderSettingsDenoiserType != (int)denoiserType || + //renderSettingsStorage.renderSettingsLegacyDenoiser != legacyDenoiser || + renderSettingsStorage.renderSettingsAtlasPacker != ftBuildGraphics.atlasPacker || + renderSettingsStorage.renderSettingsCompressVolumes != compressVolumes || + renderSettingsStorage.renderSettingsSector != curSector + ) + { + Undo.RecordObject(renderSettingsStorage, "Change Bakery settings"); + renderSettingsStorage.renderSettingsBounces = bounces; + renderSettingsStorage.renderSettingsGISamples = giSamples; + renderSettingsStorage.renderSettingsGIBackFaceWeight = giBackFaceWeight; + renderSettingsStorage.renderSettingsTileSize = tileSize; + renderSettingsStorage.renderSettingsPriority = priority; + renderSettingsStorage.renderSettingsTexelsPerUnit = texelsPerUnit; + renderSettingsStorage.renderSettingsForceRefresh = forceRefresh; + renderSettingsStorage.renderSettingsForceRebuildGeometry = forceRebuildGeometry; + renderSettingsStorage.renderSettingsPerformRendering = performRendering; + renderSettingsStorage.renderSettingsUserRenderMode = (int)userRenderMode; + renderSettingsStorage.renderSettingsSettingsMode = (int)settingsMode; + renderSettingsStorage.renderSettingsFixSeams = fixSeams; + renderSettingsStorage.renderSettingsDenoise = denoise; + renderSettingsStorage.renderSettingsDenoise2x = denoise2x; + renderSettingsStorage.renderSettingsEncode = encode; + renderSettingsStorage.renderSettingsEncodeMode = encodeMode; + renderSettingsStorage.renderSettingsOverwriteWarning = ftBuildGraphics.overwriteWarning; + renderSettingsStorage.renderSettingsAutoAtlas = ftBuildGraphics.autoAtlas; + renderSettingsStorage.renderSettingsUnwrapUVs = ftBuildGraphics.unwrapUVs; + renderSettingsStorage.renderSettingsForceDisableUnwrapUVs = ftBuildGraphics.forceDisableUnwrapUVs; + renderSettingsStorage.renderSettingsMaxAutoResolution = ftBuildGraphics.maxAutoResolution; + renderSettingsStorage.renderSettingsMinAutoResolution = ftBuildGraphics.minAutoResolution; + renderSettingsStorage.renderSettingsUnloadScenes = unloadScenesInDeferredMode; + renderSettingsStorage.renderSettingsAdjustSamples = adjustSamples; + renderSettingsStorage.renderSettingsGILODMode = (int)giLodMode; + renderSettingsStorage.renderSettingsGILODModeEnabled = giLodModeEnabled; + renderSettingsStorage.renderSettingsCheckOverlaps = checkOverlaps; + renderSettingsStorage.renderSettingsOutPath = outputPath; + renderSettingsStorage.renderSettingsUseScenePath = useScenePath; + //renderSettingsStorage.renderSettingsTempPath = scenePathToSave; + renderSettingsStorage.renderSettingsHackEmissiveBoost = hackEmissiveBoost; + renderSettingsStorage.renderSettingsHackIndirectBoost = hackIndirectBoost; + renderSettingsStorage.renderSettingsHackAOIntensity = hackAOIntensity; + renderSettingsStorage.renderSettingsHackAORadius = hackAORadius; + renderSettingsStorage.renderSettingsHackAOSamples = hackAOSamples; + renderSettingsStorage.renderSettingsShowAOSettings = showAOSettings; + renderSettingsStorage.renderSettingsShowTasks = showTasks; + renderSettingsStorage.renderSettingsShowTasks2 = showTasks2; + renderSettingsStorage.renderSettingsShowPaths = showPaths; + renderSettingsStorage.renderSettingsShowNet = showNet; + renderSettingsStorage.renderSettingsShowPerf = showPerf; + //renderSettingsStorage.renderSettingsShowCompression = showCompression; + renderSettingsStorage.renderSettingsTexelsPerMap = ftBuildGraphics.texelsPerUnitPerMap; + renderSettingsStorage.renderSettingsTexelsColor = ftBuildGraphics.mainLightmapScale; + renderSettingsStorage.renderSettingsTexelsMask = ftBuildGraphics.maskLightmapScale; + renderSettingsStorage.renderSettingsTexelsDir = ftBuildGraphics.dirLightmapScale; + renderSettingsStorage.renderSettingsOcclusionProbes = useUnityForOcclsusionProbes; + renderSettingsStorage.renderSettingsBeepOnFinish = beepOnFinish; + renderSettingsStorage.renderSettingsDistanceShadowmask = isDistanceShadowmask; + renderSettingsStorage.renderSettingsShowDirWarning = showDirWarning; + renderSettingsStorage.renderSettingsRenderDirMode = (int)renderDirMode; + renderSettingsStorage.renderSettingsShowCheckerSettings = showCheckerSettings; + renderSettingsStorage.usesRealtimeGI = usesRealtimeGI; + renderSettingsStorage.renderSettingsSamplesWarning = samplesWarning; + renderSettingsStorage.renderSettingsPrefabWarning = prefabWarning; + renderSettingsStorage.renderSettingsSplitByScene = ftBuildGraphics.splitByScene; + renderSettingsStorage.renderSettingsExportTerrainAsHeightmap = ftBuildGraphics.exportTerrainAsHeightmap; + renderSettingsStorage.renderSettingsExportTerrainTrees = ftBuildGraphics.exportTerrainTrees; + renderSettingsStorage.renderSettingsRTXMode = rtxMode; + renderSettingsStorage.renderSettingsLightProbeMode = (int)lightProbeMode; + renderSettingsStorage.renderSettingsServerAddress = ftClient.serverAddress; + renderSettingsStorage.renderSettingsClientMode = clientMode; + renderSettingsStorage.renderSettingsUVPaddingMax = ftBuildGraphics.uvPaddingMax; + renderSettingsStorage.renderSettingsPostPacking = ftBuildGraphics.postPacking; + renderSettingsStorage.renderSettingsHoleFilling = ftBuildGraphics.holeFilling; + renderSettingsStorage.renderSettingsSampleDiv = sampleDivisor; + renderSettingsStorage.renderSettingsUnwrapper = (int)unwrapper; + renderSettingsStorage.renderSettingsDenoiserType = (int)denoiserType; + //renderSettingsStorage.renderSettingsLegacyDenoiser = (denoiserType == ftGlobalStorage.DenoiserType.Optix5);//legacyDenoiser; + renderSettingsStorage.renderSettingsAtlasPacker = ftBuildGraphics.atlasPacker; + renderSettingsStorage.renderSettingsCompressVolumes = compressVolumes; + renderSettingsStorage.renderSettingsSector = curSector; + } + } + + void RenderLightProbesUpdate() + { + if (!progressFunc.MoveNext()) + { + EditorApplication.update -= RenderLightProbesUpdate; + } + + } + + void RenderReflProbesUpdate() + { + if (!progressFunc.MoveNext()) + { + EditorApplication.update -= RenderReflProbesUpdate; + } + + } + + static float AreaElement(float x, float y) + { + return Mathf.Atan2(x * y, Mathf.Sqrt(x * x + y * y + 1)); + } + + const float inv2SqrtPI = 0.28209479177387814347403972578039f; // 1.0f / (2.0f * Mathf.Sqrt(Mathf.PI)) + const float sqrt3Div2SqrtPI = 0.48860251190291992158638462283835f; // Mathf.Sqrt(3.0f) / (2.0f * Mathf.Sqrt(Mathf.PI)) + const float sqrt15Div2SqrtPI = 1.0925484305920790705433857058027f; // Mathf.Sqrt(15.0f) / (2 * Mathf.Sqrt(Mathf.PI)) + const float threeSqrt5Div4SqrtPI = 0.94617469575756001809268107088713f; // 3 * Mathf.Sqrt(5.0f) / (4*Mathf.Sqrt(Mathf.PI)) + const float sqrt15Div4SqrtPI = 0.54627421529603953527169285290135f; // Mathf.Sqrt(15.0f) / (4 * Mathf.Sqrt(Mathf.PI)) + const float oneThird = 1.0f / 3.0f; + + static void EvalSHBasis9(Vector3 dir, ref float[] basis) + { + float dx = -dir.x; + float dy = -dir.y; + float dz = dir.z; + basis[0] = inv2SqrtPI * ftAdditionalConfig.irradianceConvolutionL0; + basis[1] = - dy * sqrt3Div2SqrtPI * ftAdditionalConfig.irradianceConvolutionL1; + basis[2] = dz * sqrt3Div2SqrtPI * ftAdditionalConfig.irradianceConvolutionL1; + basis[3] = - dx * sqrt3Div2SqrtPI * ftAdditionalConfig.irradianceConvolutionL1; + basis[4] = dx * dy * sqrt15Div2SqrtPI * ftAdditionalConfig.irradianceConvolutionL2_4_5_7; + basis[5] = - dy * dz * sqrt15Div2SqrtPI * ftAdditionalConfig.irradianceConvolutionL2_4_5_7; + basis[6] = (dz*dz-oneThird) * threeSqrt5Div4SqrtPI * ftAdditionalConfig.irradianceConvolutionL2_6; + basis[7] = - dx * dz * sqrt15Div2SqrtPI * ftAdditionalConfig.irradianceConvolutionL2_4_5_7; + basis[8] = (dx*dx-dy*dy) * sqrt15Div4SqrtPI * ftAdditionalConfig.irradianceConvolutionL2_8; + } + + public static BakeryVolume[] FindBakeableVolumes() + { + var vols = FindObjectsOfType(); + var vols2 = new List(); + Transform sectorTform = null; + if (curSector != null) sectorTform = curSector.transform; + for(int v=0; v 1.0f) a = 1.0f; + a = Mathf.Ceil(a * 255.0f) / 255.0f; + float invA = 1.0f / a; + l0r *= invA; + l0g *= invA; + l0b *= invA; + texData0[index] = new Color(l0r, l0g, l0b, a); + #else + texData0[index] = new Color(l0r, l0g, l0b, 1.0f); + #endif + texData1[index] = new Color(l1xr, l1xg, l1xb, 1.0f); + texData2[index] = new Color(l1yr, l1yg, l1yb, 1.0f); + texData3[index] = new Color(l1zr, l1zg, l1zb, 1.0f); + if (index == lastProbeInSlice) + { + // Would be nice if CompressTexture had separate src/dest args and we could reuse the textures... + texSliceHDR = new Texture2D(rx, ry, uncompressedHDRFormat, false); + + // L0 + texSliceHDR.SetPixels(texData0); + texSliceHDR.Apply(); + EditorUtility.CompressTexture(texSliceHDR, compressedHDRFormat, +#if UNITY_2019_3_OR_NEWER + UnityEditor.TextureCompressionQuality.Best); +#else + (int)UnityEngine.TextureCompressionQuality.Best); +#endif + var sliceBytes = texSliceHDR.GetRawTextureData(); + if (compressedSliceSizeHDR == 0) + { + compressedTexData0 = new byte[sliceBytes.Length * rz]; + compressedSliceSizeHDR = sliceBytes.Length; + } + int coffset = compressedSliceSizeHDR * z; + for(int c=0; c(path); + if (dest == null) + { + AssetDatabase.CreateAsset(src, path); + dest = src; + } + else + { + EditorUtility.CopySerialized(src, dest); + EditorUtility.SetDirty(dest); + } + return dest; + } + + public static void RestoreSceneManagerSetup(SceneSetup[] sceneSetups) + { + EditorSceneManager.RestoreSceneManagerSetup(sceneSetups); + } + + static public void DebugLogError(string text) + { + userCanceled = true; + ProgressBarEnd(); + if (verbose) + { + EditorUtility.DisplayDialog("Bakery error", text, "OK"); + } + else + { + Debug.LogError(text); + } + } + + public static void DebugLogInfo(string info) + { + if (pstorage == null) pstorage = ftLightmaps.GetProjectSettings(); + if ((pstorage.logLevel & (int)BakeryProjectSettings.LogLevel.Info) != 0) Debug.Log(info); + } + + public static void DebugLogWarning(string info) + { + if (pstorage == null) pstorage = ftLightmaps.GetProjectSettings(); + if ((pstorage.logLevel & (int)BakeryProjectSettings.LogLevel.Warning) != 0) Debug.LogWarning(info); + } + + IEnumerator RenderReflProbesFunc() + { + ProgressBarInit("Rendering reflection probes..."); + + // Put empty lighting data asset to scenes to prevent reflection probes bake trying to re-render everything + int sceneCount = SceneManager.sceneCount; + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + for(int s=0; s(); + ulht2.type = light.type; + ulht2.lightmapBakeType = LightmapBakeType.Mixed; + ulht2.shadows = LightShadows.Soft; + ulht2.range = light.range; + ulht2.transform.position = light.transform.position; + GameObjectUtility.SetStaticEditorFlags(g, StaticEditorFlags.LightmapStatic); + return ulht2; + } + + bool GetLightDataForPatching(Light lightTemp, Light lightReal, ref Dictionary idMap, ref Dictionary realID2Channel) + { + if (inspectorModeInfo == null) + inspectorModeInfo = typeof(SerializedObject).GetProperty("inspectorMode", BindingFlags.NonPublic | BindingFlags.Instance); + + var so = new SerializedObject(lightReal); + inspectorModeInfo.SetValue(so, InspectorMode.Debug, null); + long realID = so.FindProperty("m_LocalIdentfierInFile").longValue; + realID2Channel[realID] = so.FindProperty("m_BakingOutput").FindPropertyRelative("occlusionMaskChannel").intValue; + + so = new SerializedObject(lightTemp); + inspectorModeInfo.SetValue(so, InspectorMode.Debug, null); + long tempID = so.FindProperty("m_LocalIdentfierInFile").longValue; + + if (tempID == 0) + { + DebugLogError("tempID == 0"); + return false; + } + + if (realID == 0) + { + DebugLogError("realID == 0"); + return false; + } + + idMap[tempID] = realID; + + return true; + } +#endif + + bool IsLightCompletelyBaked(bool bakeToIndirect, RenderMode rmode) + { + bool isBaked = ((rmode == RenderMode.FullLighting) || + (rmode == RenderMode.Indirect && bakeToIndirect) || + (rmode == RenderMode.Shadowmask && bakeToIndirect)); + return isBaked; + } + + void MarkLightAsCompletelyBaked(Light ulht) + { + var st = storages[ulht.gameObject.scene]; + if (!st.bakedLights.Contains(ulht)) + { + st.bakedLights.Add(ulht); + st.bakedLightChannels.Add(-1); + } + +#if UNITY_2017_3_OR_NEWER + var output = new LightBakingOutput(); + output.isBaked = true; + output.lightmapBakeType = LightmapBakeType.Baked; + ulht.bakingOutput = output; +#endif + } + + bool IsLightRealtime(bool bakeToIndirect, RenderMode rmode) + { + bool isRealtime = ((rmode == RenderMode.Indirect && !bakeToIndirect) || + (rmode == RenderMode.Shadowmask && !bakeToIndirect)); + return isRealtime; + } + + void MarkLightAsRealtime(Light ulht) + { +#if UNITY_2017_3_OR_NEWER + var output = new LightBakingOutput(); + output.isBaked = false; + output.lightmapBakeType = LightmapBakeType.Realtime; + output.mixedLightingMode = MixedLightingMode.IndirectOnly; + output.occlusionMaskChannel = -1; + output.probeOcclusionLightIndex = -1; + ulht.bakingOutput = output; +#endif + } + + bool IsLightSubtractive(bool bakeToIndirect, RenderMode rmode) + { + return rmode == RenderMode.Subtractive; + } + + void MarkLightAsSubtractive(Light ulht) + { + var st = storages[ulht.gameObject.scene]; + if (!st.bakedLights.Contains(ulht)) + { + st.bakedLights.Add(ulht); + st.bakedLightChannels.Add(101); + } + +#if UNITY_2017_3_OR_NEWER + var output = new LightBakingOutput(); + output.isBaked = true; + output.lightmapBakeType = LightmapBakeType.Mixed; + output.mixedLightingMode = MixedLightingMode.Subtractive; + output.occlusionMaskChannel = -1; + output.probeOcclusionLightIndex = -1; + ulht.bakingOutput = output; +#else + ulht.alreadyLightmapped = true; + ulht.lightmapBakeType = LightmapBakeType.Mixed; + var so = new SerializedObject(ulht); + var sp = so.FindProperty("m_BakingOutput"); + sp.FindPropertyRelative("occlusionMaskChannel").intValue = 0; + sp.FindPropertyRelative("lightmappingMask").intValue = 131076; + so.ApplyModifiedProperties(); + + if (!maskedLights.Contains(ulht)) maskedLights.Add(ulht); +#endif + } + + void SceneSavedTest(Scene scene) + { + if (sceneSavedTestScene == scene) sceneWasSaved = true; + } + + static int GetShadowmaskChannel(BakeryPointLight a) + { + int channelA = -1; + if (!a.shadowmask) return channelA; + var uA = a.GetComponent(); + if (uA != null) + { + var stA = storages[a.gameObject.scene]; + int indexA = stA.bakedLights.IndexOf(uA); + if (indexA >= 0 && indexA < stA.bakedLightChannels.Count) + { + channelA = stA.bakedLightChannels[indexA]; + } + } + return channelA; + } + + static int ComparePointLights(BakeryPointLight a, BakeryPointLight b) + { + int channelA = GetShadowmaskChannel(a); + float compA = channelA * 10000 + (a.bakeToIndirect ? 1000 : 0) + a.indirectIntensity; + + int channelB = GetShadowmaskChannel(b); + float compB = channelB * 10000 + (b.bakeToIndirect ? 1000 : 0) + b.indirectIntensity; + + return compB.CompareTo(compA); + } + + public IEnumerator InitializeLightProbes(bool optional) + { + hasAnyProbes = true; + var probeGroups = FindObjectsOfType(typeof(LightProbeGroup)) as LightProbeGroup[]; + if (probeGroups.Length == 0) + { + if (!optional) DebugLogError("Add at least one LightProbeGroup"); + hasAnyProbes = false; + yield break; + } + else + { + int totalProbes = 0; + for(int i=0; i(); + if (store == null) { + store = fgo.AddComponent(); + } + +#if UNITY_2017_2_OR_NEWER + if (LightmapEditorSettings.lightmapper == BUILTIN_RADIOSITY) + { + bool cont = true; + if (verbose) + { + cont = EditorUtility.DisplayDialog("Bakery", "Unity does not currently support external occlusion probes. You are going to generate them using Enlighten. This process can take an eternity of time. It is recommended to use Progressive to generate them instead.", "Use Progressive", "Continue anyway"); + } + else + { + Debug.LogError("Enlighten used to generate occlusion probes"); + } + if (cont) + { + LightmapEditorSettings.lightmapper = BUILTIN_PT; + } + } + else + { + if (!store.enlightenWarningShown) + { + if (verbose) + { + if (!EditorUtility.DisplayDialog("Bakery", "Unity does not currently support external occlusion probes. You are going to generate them using Progressive.\n", "Continue anyway", "Cancel")) + { + hasAnyProbes = false; + yield break; + } + } + else + { + Debug.LogError("Enlighten used to generate occlusion probes"); + } + } + } + if (!store.enlightenWarningShown) + { + store.enlightenWarningShown = true; + EditorUtility.SetDirty(store); + } +#else + if (!store.enlightenWarningShown) + { + if (verbose) + { + if (!EditorUtility.DisplayDialog("Bakery", "Unity does not currently support external occlusion probes. You are going to generate them using Enlighten or Progressive - whichever is enabled in the Lighting window.\nMake sure you have selected Progressive, as Enlighten can take an eternity of time.", "Continue anyway", "Cancel")) + { + hasAnyProbes = false; + yield break; + } + store.enlightenWarningShown = true; + EditorUtility.SetDirty(store); + } + else + { + Debug.LogError("Enlighten used to generate occlusion probes"); + } + } +#endif + + var staticObjects = new List(); + var staticObjectsTerrain = new List(); + var staticObjectsScale = new List(); + var staticObjectsScaleTerrain = new List(); + try + { + // Temporarily zero scale in lightmap to prevent Unity from generating its lightmaps + // terrains? + var objs = Resources.FindObjectsOfTypeAll(typeof(GameObject)); + foreach(GameObject obj in objs) + { + if (obj == null) continue; + if (!obj.activeInHierarchy) continue; + var path = AssetDatabase.GetAssetPath(obj); + if (path != "") continue; // must belond to scene + //if ((obj.hideFlags & (HideFlags.DontSave|HideFlags.HideAndDontSave)) != 0) continue; // skip temp objects + //if (obj.tag == "EditorOnly") continue; // skip temp objects + //var areaLight = obj.GetComponent(); + //if (areaLight != null && !areaLight.selfShadow) continue; + var mr = ftBuildGraphics.GetValidRenderer(obj); + var mf = obj.GetComponent(); + var tr = obj.GetComponent(); + //if (((GameObjectUtility.GetStaticEditorFlags(obj) & StaticEditorFlags.LightmapStatic) == 0) && areaLight==null) continue; // skip dynamic + if ((GameObjectUtility.GetStaticEditorFlags(obj) & StaticEditorFlags.LightmapStatic) == 0) continue; // skip dynamic + + var sharedMesh = ftBuildGraphics.GetSharedMesh(mr); + + if (mr != null && mr.enabled && mf != null && sharedMesh != null) + { + var so = new SerializedObject(mr); + var prop = so.FindProperty("m_ScaleInLightmap"); + var scaleInLm = prop.floatValue; + if (scaleInLm == 0) continue; + staticObjectsScale.Add(scaleInLm); + prop.floatValue = 0; + so.ApplyModifiedProperties(); + staticObjects.Add(mr); + } + + if (tr != null && tr.enabled) + { + var so = new SerializedObject(tr); + var prop = so.FindProperty("m_ScaleInLightmap"); + var scaleInLm = prop.floatValue; + if (scaleInLm == 0) continue; + staticObjectsScaleTerrain.Add(scaleInLm); + prop.floatValue = 0; + so.ApplyModifiedProperties(); + staticObjectsTerrain.Add(tr); + } + } + } + catch + { + Debug.LogError("Failed rendering light probes"); + throw; + } + + var lms = LightmapSettings.lightmaps; + Texture2D firstLM = null; + if (lms.Length > 0) firstLM = lms[0].lightmapColor; + + Lightmapping.BakeAsync(); + ProgressBarInit("Waiting for Unity to initialize the probes..."); + while(Lightmapping.isRunning) + { + userCanceled = simpleProgressBarCancelled(); + if (userCanceled) + { + Lightmapping.Cancel(); + ProgressBarEnd(); + break; + } + yield return null; + } + ProgressBarEnd(); + + lms = LightmapSettings.lightmaps; + if (lms.Length == 1 && lms[0].lightmapColor != firstLM) + { + // During occlusion probe rendering Unity also generated useless tiny LMs - delete them to prevent lightmap array pollution + if (lms[0].lightmapColor != null) AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(lms[0].lightmapColor)); + if (lms[0].lightmapDir != null) AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(lms[0].lightmapDir)); + } + + for(int i=0; i tempID2RealID = null; + Dictionary realID2Channel = null; +#endif + + reflProbesValue = QualitySettings.realtimeReflectionProbes; + QualitySettings.realtimeReflectionProbes = true; + revertReflProbesValue = true; + + if (!useUnityForOcclsusionProbes) + { + setup = EditorSceneManager.GetSceneManagerSetup(); + } + + if (!useUnityForOcclsusionProbes) + { + if (verbose) + { + if (!EditorSceneManager.EnsureUntitledSceneHasBeenSaved("Please save all scenes before rendering")) + { + yield break; + } + } + else + { + EditorSceneManager.SaveOpenScenes(); + } + var assetName = GenerateLightingDataAssetName(); + + scene = EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Additive); + SceneManager.SetActiveScene(scene); + RenderSettings.skybox = null; + LightmapSettings.lightmapsMode = LightmapsMode.NonDirectional; + + var probeGroupClones = new GameObject[probeGroups.Length]; + for(int i=0; i(); + p.probePositions = probeGroups[i].probePositions; + SceneManager.MoveGameObjectToScene(g, scene); + probeGroupClones[i] = g; + } + +#if UNITY_2017_3_OR_NEWER +#else + // Make sure shadowmask lights are present in LightingDataAsset together with probes + // Occlusion channel needs to be patched later + List maskedLightsTemp = null; + List maskedLightsReal = null; + if (userRenderMode == RenderMode.Shadowmask || userRenderMode == RenderMode.Subtractive) + { + maskedLightsTemp = new List(); + maskedLightsReal = new List(); + AllP = FindObjectsOfType(typeof(BakeryPointLight)) as BakeryPointLight[]; + All3 = FindObjectsOfType(typeof(BakeryDirectLight)) as BakeryDirectLight[]; + for(int i=0; i(); + if (ulht == null) continue; + maskedLightsTemp.Add(AddTempShadowmaskLight(ulht, scene)); + maskedLightsReal.Add(ulht); + } + for(int i=0; i(); + if (ulht == null) continue; + maskedLightsTemp.Add(AddTempShadowmaskLight(ulht, scene)); + maskedLightsReal.Add(ulht); + } + } + //var tempQuad = GameObject.CreatePrimitive(PrimitiveType.Quad); + //SceneManager.MoveGameObjectToScene(tempQuad, scene); + //GameObjectUtility.SetStaticEditorFlags(tempQuad, StaticEditorFlags.LightmapStatic); + +#endif + + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + var tempScenePath = bakeryRuntimePath + "_tempScene.unity"; + sceneSavedTestScene = scene; + sceneWasSaved = false; + EditorSceneManager.sceneSaved += SceneSavedTest; + var saved = EditorSceneManager.SaveScene(scene, tempScenePath); + if (!saved) + { + hasAnyProbes = false; + DebugLogError("RenderLightProbes error: can't save temporary scene"); + RestoreSceneManagerSetup(setup); + yield break; + } + while(!sceneWasSaved) + { + yield return null; + } + EditorSceneManager.sceneSaved -= SceneSavedTest; + +#if UNITY_2017_3_OR_NEWER +#else + if (userRenderMode == RenderMode.Shadowmask || userRenderMode == RenderMode.Subtractive) + { + tempID2RealID = new Dictionary(); + realID2Channel = new Dictionary(); + for(int i=0; i= 0) + { + assetName = assetName.Substring(0, index); + } + else + { + assetName += "_copy"; + } + newPath = "Assets/" + outputPath + "/" + assetName + ".asset"; + locked = true; + } + if (!locked) ftest.Close(); + } + +#if UNITY_2017_3_OR_NEWER +#else + if (userRenderMode == RenderMode.Shadowmask || userRenderMode == RenderMode.Subtractive) + { + if (!useUnityForOcclsusionProbes) + { + if (!ftLightingDataGen.PatchShadowmaskLightingData(lmdataPath, newPath, ref tempID2RealID, ref realID2Channel, userRenderMode == RenderMode.Subtractive)) + { + try + { + File.Copy(lmdataPath, newPath, true); + } + catch + { + //success = false; + Debug.LogError("Failed copying LightingDataAsset"); + } + } + } + } + else + { +#endif + if (!useUnityForOcclsusionProbes) + { + //for(int i=0; i<3; i++) + //{ + //bool success = true; + try + { + File.Copy(lmdataPath, newPath, true); + } + catch + { + //success = false; + Debug.LogError("Failed copying LightingDataAsset"); + } + //if (success) break; + //yield return new WaitForSeconds(1); + //} + } +#if UNITY_2017_3_OR_NEWER +#else + } +#endif + + if (!useUnityForOcclsusionProbes) + { + AssetDatabase.Refresh(); + newAssetLData = ApplyLightingDataAsset(newPath); + EditorSceneManager.MarkAllScenesDirty(); + + EditorSceneManager.SaveOpenScenes(); + RestoreSceneManagerSetup(setup); + + //var sanityTimeout = GetTime() + 5; + while( (sceneCount > EditorSceneManager.sceneCount || EditorSceneManager.GetSceneAt(0).path.Length == 0))// && GetTime() < sanityTimeout ) + { + yield return null; + } + + LoadRenderSettings(); // prevent curSector reference from unloading + ftLightmaps.RefreshFull(); + } + } + + IEnumerator RenderLightProbesFunc() + { + int maxThreads = Mathf.Max(2, System.Environment.ProcessorCount * 2); + DebugLogInfo("Multi-threading to " + maxThreads + " threads."); + lightProbeRenderSize = 64; + lightProbeReadSize = 8; + var proc = InitializeLightProbes(false); + while (proc.MoveNext()) yield return null; + if (!hasAnyProbes) yield break; + + var activeScene = EditorSceneManager.GetActiveScene(); + + LightingDataAsset newAsset = newAssetLData; + List dynamicObjects = null; + GameObject[] go = new GameObject[maxThreads]; + ReflectionProbe[] probe = new ReflectionProbe[maxThreads]; + RenderTexture[] rt = new RenderTexture[maxThreads]; + Material mat = null; + Texture2D[] tex = new Texture2D[maxThreads]; + + Material origSkybox = RenderSettings.skybox; + Material tempSkybox; + string ftSkyboxShaderName = "Bakery/Skybox"; + + //if (!useUnityForLightProbes) + { + // Disable all dynamic objects + //var objects = UnityEngine.Object.FindObjectsOfTypeAll(typeof(GameObject)); + var objects = Resources.FindObjectsOfTypeAll(typeof(GameObject)); + dynamicObjects = new List(); + var dynAllowMask = forceProbeVisibility.value; + foreach (GameObject obj in objects) + { + if (!obj.activeInHierarchy) continue; + var path = AssetDatabase.GetAssetPath(obj); + if (path != "") continue; // must belond to scene + //if ((obj.hideFlags & (HideFlags.DontSave|HideFlags.HideAndDontSave)) != 0) continue; // skip temp objects + //if (obj.tag == "EditorOnly") continue; // skip temp objects + if ((GameObjectUtility.GetStaticEditorFlags(obj) & StaticEditorFlags.LightmapStatic) != 0) continue; // skip static + var mr = ftBuildGraphics.GetValidRenderer(obj); + if (mr == null) continue; // must have visible mesh + if (!mr.enabled) continue; // renderer must be on + if ((obj.layer & dynAllowMask) != 0) continue; // don't hide renderers with forceProbeVisibility mask + mr.enabled = false; + dynamicObjects.Add(mr); + } + + // Change skybox to first Skylight + var skyLights = FindObjectsOfType(typeof(BakerySkyLight)) as BakerySkyLight[]; + BakerySkyLight firstSkyLight = skyLights.Length > 0 ? skyLights[0] : null; + tempSkybox = new Material(Shader.Find(ftSkyboxShaderName)); + if (firstSkyLight != null) + { + tempSkybox.SetTexture("_Tex", firstSkyLight.cubemap as Cubemap); + tempSkybox.SetFloat("_NoTexture", firstSkyLight.cubemap == null ? 1 : 0); + tempSkybox.SetFloat("_Hemispherical", firstSkyLight.hemispherical ? 1 : 0); + tempSkybox.SetFloat("_Exposure", firstSkyLight.intensity); + tempSkybox.SetColor("_Tint", PlayerSettings.colorSpace == ColorSpace.Linear ? firstSkyLight.color : firstSkyLight.color.linear); + tempSkybox.SetVector("_MatrixRight", firstSkyLight.transform.right); + tempSkybox.SetVector("_MatrixUp", firstSkyLight.transform.up); + tempSkybox.SetVector("_MatrixForward", firstSkyLight.transform.forward); + } + else + { + tempSkybox.SetFloat("_NoTexture", 1); + tempSkybox.SetColor("_Tint", Color.black); + } + RenderSettings.skybox = tempSkybox; + + for (int i = 0; i < maxThreads; i++) + { + go[i] = new GameObject(); + probe[i] = go[i].AddComponent() as ReflectionProbe; + probe[i].resolution = lightProbeRenderSize; + probe[i].hdr = true; + probe[i].refreshMode = ReflectionProbeRefreshMode.ViaScripting; + probe[i].timeSlicingMode = ReflectionProbeTimeSlicingMode.NoTimeSlicing; + probe[i].mode = ReflectionProbeMode.Realtime; + probe[i].intensity = 0; + probe[i].nearClipPlane = 0.0001f; // this isn't good but works so far + + rt[i] = new RenderTexture(lightProbeReadSize * 6, lightProbeReadSize, 0, RenderTextureFormat.ARGBFloat, RenderTextureReadWrite.Linear); + tex[i] = new Texture2D(lightProbeReadSize * 6, lightProbeReadSize, TextureFormat.RGBAFloat, false, true); + } + if (matCubemapToStrip == null) matCubemapToStrip = new Material(Shader.Find("Hidden/ftCubemap2Strip")); + mat = matCubemapToStrip; + } + + var directions = new Vector3[lightProbeReadSize * lightProbeReadSize]; + var solidAngles = new float[lightProbeReadSize * lightProbeReadSize]; + float readTexelSize = 1.0f / lightProbeReadSize; + float weightAccum = 0; + for (int y = 0; y < lightProbeReadSize; y++) + { + for (int x = 0; x < lightProbeReadSize; x++) + { + float u = (x / (float)(lightProbeReadSize - 1)) * 2 - 1; + float v = (y / (float)(lightProbeReadSize - 1)) * 2 - 1; + directions[y * lightProbeReadSize + x] = (new Vector3(u, v, 1.0f)).normalized; + + + float x0 = u - readTexelSize; + float y0 = v - readTexelSize; + float x1 = u + readTexelSize; + float y1 = v + readTexelSize; + float solidAngle = AreaElement(x0, y0) - AreaElement(x0, y1) - AreaElement(x1, y0) + AreaElement(x1, y1); + weightAccum += solidAngle; + solidAngles[y * lightProbeReadSize + x] = solidAngle; + } + } + weightAccum *= 6; + weightAccum *= Mathf.PI; + + var probes = LightmapSettings.lightProbes; + if (probes == null) + { + DebugLogError("RenderLightProbes error: no probes in LightingDataAsset"); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + //RestoreSceneManagerSetup(setup); + foreach (GameObject g in go) DestroyImmediate(g); + //userCanceled = true; + //ProgressBarEnd(); + bakeInProgress = false; + yield break; + } + SphericalHarmonicsL2[] shs; + //if (!useUnityForLightProbes) + { + shs = new SphericalHarmonicsL2[probes.count]; + } + //else + { + //shs = probes.bakedProbes; + } + + var positions = probes.positions; + + var directLights = FindObjectsOfType(typeof(BakeryDirectLight)) as BakeryDirectLight[]; + var pointLights = FindObjectsOfType(typeof(BakeryPointLight)) as BakeryPointLight[]; + + if (userRenderMode == RenderMode.Indirect || userRenderMode == RenderMode.Shadowmask) + { + var filteredDirectLights = new List(); + var filteredPointLights = new List(); + for (int i = 0; i < directLights.Length; i++) if (directLights[i].enabled && directLights[i].bakeToIndirect) filteredDirectLights.Add(directLights[i]); + for (int i = 0; i < pointLights.Length; i++) if (pointLights[i].enabled && pointLights[i].bakeToIndirect) filteredPointLights.Add(pointLights[i]); + directLights = filteredDirectLights.ToArray(); + pointLights = filteredPointLights.ToArray(); + } + else + { + var filteredDirectLights = new List(); + var filteredPointLights = new List(); + for (int i = 0; i < directLights.Length; i++) if (directLights[i].enabled) filteredDirectLights.Add(directLights[i]); + for (int i = 0; i < pointLights.Length; i++) if (pointLights[i].enabled) filteredPointLights.Add(pointLights[i]); + directLights = filteredDirectLights.ToArray(); + pointLights = filteredPointLights.ToArray(); + } + + bool anyDirectLightToBake = (directLights.Length > 0 || pointLights.Length > 0);// && userRenderMode == RenderMode.FullLighting; + float[] uvpos = null; + byte[] uvnormal = null; + int atlasTexSize = 0; + List[] dirsPerProbe = new List[probes.count]; + List[] dirColorsPerProbe = new List[probes.count]; + if (anyDirectLightToBake) + { + atlasTexSize = (int)Mathf.Ceil(Mathf.Sqrt((float)probes.count)); + atlasTexSize = (int)Mathf.Ceil(atlasTexSize / (float)tileSize) * tileSize; + uvpos = new float[atlasTexSize * atlasTexSize * 4]; + uvnormal = new byte[atlasTexSize * atlasTexSize * 4]; + } + + userCanceled = false; + ProgressBarInit("Rendering lightprobes..."); + yield return null; + + ftBuildGraphics.CreateSceneFolder(); + + if (anyDirectLightToBake) + { + ProgressBarShow("Rendering lightprobes - direct...", 0, true); + if (userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + + for (int i = 0; i < probes.count; i++) + { + int x = i % atlasTexSize; + int y = i / atlasTexSize; + int index = y * atlasTexSize + x; + uvpos[index * 4] = positions[i].x; + uvpos[index * 4 + 1] = positions[i].y; + uvpos[index * 4 + 2] = positions[i].z; + uvpos[index * 4 + 3] = 1.0f; + uvnormal[index * 4 + 1] = 255; + uvnormal[index * 4 + 3] = 255; + } + + var fpos = new BinaryWriter(File.Open(scenePath + "/uvpos_probes.dds", FileMode.Create)); + fpos.Write(ftDDS.ddsHeaderFloat4); + var posbytes = new byte[uvpos.Length * 4]; + System.Buffer.BlockCopy(uvpos, 0, posbytes, 0, posbytes.Length); + fpos.Write(posbytes); + fpos.BaseStream.Seek(12, SeekOrigin.Begin); + fpos.Write(atlasTexSize); + fpos.Write(atlasTexSize); + fpos.Close(); + + var fnorm = new BinaryWriter(File.Open(scenePath + "/uvnormal_probes.dds", FileMode.Create)); + fnorm.Write(ftDDS.ddsHeaderRGBA8); + fnorm.Write(uvnormal); + fnorm.BaseStream.Seek(12, SeekOrigin.Begin); + fnorm.Write(atlasTexSize); + fnorm.Write(atlasTexSize); + fnorm.Close(); + + if (!ftInitialized) + { + ftInitialized = true; + ftSceneDirty = true; + } + if (forceRebuildGeometry) + { + ftBuildGraphics.modifyLightmapStorage = false; + ftBuildGraphics.forceAllAreaLightsSelfshadow = false; + ftBuildGraphics.validateLightmapStorageImmutability = false; + var exportSceneFunc = ftBuildGraphics.ExportScene((ftRenderLightmap)EditorWindow.GetWindow(typeof(ftRenderLightmap)), false); + progressBarEnabled = true; + while (exportSceneFunc.MoveNext()) + { + progressBarText = ftBuildGraphics.progressBarText; + progressBarPercent = ftBuildGraphics.progressBarPercent; + if (ftBuildGraphics.userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + yield return null; + } + ftSceneDirty = true; + if (ftBuildGraphics.userCanceled) + { + userCanceled = ftBuildGraphics.userCanceled; + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) + { + if (d != null) d.enabled = true; + } + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + EditorSceneManager.MarkAllScenesDirty(); + } + else + { + ValidateCurrentScene(); + } + + ftLightmaps.RefreshFull(); + + CollectStorages(); + var sceneCount = SceneManager.sceneCount; + for (int s = 0; s < sceneCount; s++) + { + var scene = EditorSceneManager.GetSceneAt(s); + if (!scene.isLoaded) continue; + storage = storages[scene]; + + // Clear temp data from storage + storage.uvBuffOffsets = new int[0]; + storage.uvBuffLengths = new int[0]; + storage.uvSrcBuff = new float[0]; + storage.uvDestBuff = new float[0]; + storage.lmrIndicesOffsets = new int[0]; + storage.lmrIndicesLengths = new int[0]; + storage.lmrIndicesBuff = new int[0]; + + storage.lmGroupLODResFlags = new int[0]; + storage.lmGroupMinLOD = new int[0]; + storage.lmGroupLODMatrix = new int[0]; + } + + + int LMID = 0; + var flms = new BinaryWriter(File.Open(scenePath + "/lms.bin", FileMode.Create)); + flms.Write("probes"); + flms.Write(atlasTexSize); + flms.Close(); + + var flmlod = new BinaryWriter(File.Open(scenePath + "/lmlod.bin", FileMode.Create)); + flmlod.Write(ftBuildGraphics.sceneLodsUsed > 0 ? 0 : -1); + flmlod.Close(); + + var fsettings = new BinaryWriter(File.Open(scenePath + "/settings.bin", FileMode.Create)); + fsettings.Write(tileSize); + fsettings.Write(false); + fsettings.Write(false); + fsettings.Write(deviceMask); + fsettings.Close(); + + int errCode = 0; + for (int i = 0; i < directLights.Length; i++) + { + ProgressBarShow("Rendering lightprobes - direct...", i / (float)(directLights.Length + pointLights.Length), true); + if (userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + yield return null; + + var light = directLights[i] as BakeryDirectLight; + ftBuildLights.BuildDirectLight(light, SampleCount(light.samples), true); + + if (exeMode) + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.Arguments = GetSunRenderMode(light) + " " + scenePathQuoted + " probes.dds " + PASS_HALF + " " + 0 + " " + LMID; + DebugLogInfo("Running ftrace " + startInfo.Arguments); +#if LAUNCH_VIA_DLL + var crt = ProcessCoroutine(ftraceExe, startInfo.Arguments); + while (crt.MoveNext()) + { + if (userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + yield return null; + } + if (userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + errCode = lastReturnValue; +#else + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + startInfo.WorkingDirectory = dllPath + "/Bakery"; + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + var exeProcess = System.Diagnostics.Process.Start(startInfo); + exeProcess.WaitForExit(); + errCode = exeProcess.ExitCode; +#endif + } + + if (errCode != 0) + { + DebugLogError("ftrace error: " + ftErrorCodes.TranslateFtrace(errCode, rtxMode)); + userCanceled = true; + foreach (GameObject g in go) DestroyImmediate(g); + + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + + var halfs = new ushort[atlasTexSize * atlasTexSize * 4]; + var halfBytes = new byte[halfs.Length * 2]; + var fprobes = new BinaryReader(File.Open(scenePath + "/probes.dds", FileMode.Open, FileAccess.Read)); + fprobes.BaseStream.Seek(128, SeekOrigin.Begin); + halfBytes = fprobes.ReadBytes(halfBytes.Length); + System.Buffer.BlockCopy(halfBytes, 0, halfs, 0, halfBytes.Length); + fprobes.Close(); + + var dir = light.transform.forward; + float cr = 0.0f; + float cg = 0.0f; + float cb = 0.0f; + for (int p = 0; p < probes.count; p++) + { + cr = Mathf.HalfToFloat(halfs[p * 4]); + cg = Mathf.HalfToFloat(halfs[p * 4 + 1]); + cb = Mathf.HalfToFloat(halfs[p * 4 + 2]); + if (cr + cg + cb <= 0) continue; + + if (dirsPerProbe[p] == null) + { + dirsPerProbe[p] = new List(); + dirColorsPerProbe[p] = new List(); + } + dirsPerProbe[p].Add(dir); + dirColorsPerProbe[p].Add(new Vector3(cr, cg, cb)); + } + } + + for (int i = 0; i < pointLights.Length; i++) + { + ProgressBarShow("Rendering lightprobes - direct...", (i + directLights.Length) / (float)(directLights.Length + pointLights.Length), true); + if (userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + yield return null; + + var light = pointLights[i] as BakeryPointLight; + bool isError = ftBuildLights.BuildLight(light, SampleCount(light.samples), true, true); // TODO: dirty tex detection!! + if (isError) + { + ProgressBarEnd(); + DebugLogError("BuildLight error"); + userCanceled = true; + foreach (GameObject g in go) DestroyImmediate(g); + + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + yield return null; + + string renderMode = GetPointLightRenderMode(light); + + if (exeMode) + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.Arguments = renderMode + " " + scenePathQuoted + " probes.dds " + PASS_HALF + " " + 0 + " " + LMID; + DebugLogInfo("Running ftrace " + startInfo.Arguments); +#if LAUNCH_VIA_DLL + var crt = ProcessCoroutine(ftraceExe, startInfo.Arguments); + while (crt.MoveNext()) + { + if (userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + yield return null; + } + if (userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + errCode = lastReturnValue; +#else + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + startInfo.WorkingDirectory = dllPath + "/Bakery"; + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + var exeProcess = System.Diagnostics.Process.Start(startInfo); + exeProcess.WaitForExit(); + errCode = exeProcess.ExitCode; +#endif + } + + if (errCode != 0) + { + ProgressBarEnd(); + DebugLogError("ftrace error: " + ftErrorCodes.TranslateFtrace(errCode, rtxMode)); + userCanceled = true; + foreach (GameObject g in go) DestroyImmediate(g); + + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + + var halfs = new ushort[atlasTexSize * atlasTexSize * 4]; + var halfBytes = new byte[halfs.Length * 2]; + var fprobes = new BinaryReader(File.Open(scenePath + "/probes.dds", FileMode.Open)); + fprobes.BaseStream.Seek(128, SeekOrigin.Begin); + halfBytes = fprobes.ReadBytes(halfBytes.Length); + System.Buffer.BlockCopy(halfBytes, 0, halfs, 0, halfBytes.Length); + fprobes.Close(); + + for (int p = 0; p < probes.count; p++) + { + var dir = (positions[p] - light.transform.position).normalized; + + float cr = Mathf.HalfToFloat(halfs[p * 4]); + float cg = Mathf.HalfToFloat(halfs[p * 4 + 1]); + float cb = Mathf.HalfToFloat(halfs[p * 4 + 2]); + if (cr + cg + cb <= 0) continue; + + if (dirsPerProbe[p] == null) + { + dirsPerProbe[p] = new List(); + dirColorsPerProbe[p] = new List(); + } + dirsPerProbe[p].Add(dir); + dirColorsPerProbe[p].Add(new Vector3(cr, cg, cb)); + } + } + } + + //float numPixels = lightProbeReadSize * lightProbeReadSize * 6; + + mat.SetFloat("gammaMode", PlayerSettings.colorSpace == ColorSpace.Linear ? 0 : 1); + + var eventArgs = new ProbeEventArgs(); + System.Threading.Thread[] thread = new System.Threading.Thread[maxThreads]; + + int currentThreadsCount = maxThreads; + int lastThreadsCount; + for (int i = 0; i < shs.Length + maxThreads; i = i + maxThreads) + { + lastThreadsCount = currentThreadsCount; + currentThreadsCount = Mathf.Min(shs.Length - i, maxThreads); + if (currentThreadsCount <= 0) { + if (i>0) for (int th = 0; th < lastThreadsCount; th++) thread[th].Join(); + break; + } + for (int ip = 0; ip < currentThreadsCount; ip++) + { + probe[ip].transform.position = positions[i + ip]; + } + + if (OnPreRenderProbe != null) + { + eventArgs.pos = positions[i]; + OnPreRenderProbe.Invoke(this, eventArgs); + } + + int[] handle = new int[currentThreadsCount]; + for (int ip = 0; ip < currentThreadsCount; ip++) + { + handle[ip] = probe[ip].RenderProbe(); + } + yield return null; + + for (int ip = 0; ip < currentThreadsCount; ip++) + { + while (!probe[ip].IsFinishedRendering(handle[ip])) + { + yield return null; + } + + var cubemap = probe[ip].texture as RenderTexture; + Graphics.Blit(cubemap, rt[ip], mat); + Graphics.SetRenderTarget(rt[ip]); + tex[ip].ReadPixels(new Rect(0, 0, lightProbeReadSize * 6, lightProbeReadSize), 0, 0, false); + tex[ip].Apply(); + } + + + + for (int ip = 0; ip < currentThreadsCount; ip++) + { + int ii = i + ip; + var bytes = tex[ip].GetRawTextureData(); + SphericalHarmonicsL2 sh; + sh = new SphericalHarmonicsL2(); + sh.Clear(); + + if (i > 0) for (int th = 0; th < lastThreadsCount; th++) thread[th].Join(); + + thread[ip] = new System.Threading.Thread(() => + { + float[] basis = new float[9]; + float[] pixels = new float[bytes.Length / 4]; + System.Buffer.BlockCopy(bytes, 0, pixels, 0, bytes.Length); + + var probeDirLights = dirsPerProbe[ii]; + var probeDirLightColors = dirColorsPerProbe[ii]; + + + for (int face = 0; face < 6; face++) + { + for (int y = 0; y < lightProbeReadSize; y++) + { + for (int x = 0; x < lightProbeReadSize; x++) + { + var dir = directions[y * lightProbeReadSize + x]; + //Vector3 dirL; + + var solidAngle = solidAngles[y * lightProbeReadSize + x]; + + float stx = x / (float)(lightProbeReadSize - 1); + stx = stx * 2 - 1; + float sty = y / (float)(lightProbeReadSize - 1); + sty = sty * 2 - 1; + if (face == 0) + { + dir = new Vector3(-1, -sty, stx); + } + else if (face == 1) + { + dir = new Vector3(1, -sty, -stx); + } + else if (face == 2) + { + dir = new Vector3(-sty, -1, -stx); + } + else if (face == 3) + { + dir = new Vector3(-sty, 1, stx); + } + else if (face == 4) + { + dir = new Vector3(-stx, -sty, -1); + } + else + { + dir = new Vector3(stx, -sty, 1); + } + dir = dir.normalized; + + float cr = 0.0f; + float cg = 0.0f; + float cb = 0.0f; + int pixelAddr = y * lightProbeReadSize * 6 + x + face * lightProbeReadSize; + cr = pixels[pixelAddr * 4]; + cg = pixels[pixelAddr * 4 + 1]; + cb = pixels[pixelAddr * 4 + 2]; + + if (cr + cg + cb > 0) + { + EvalSHBasis9(dir, ref basis); + for (int b = 0; b < 9; b++) + { + if (b == lightProbeMaxCoeffs) break; + + // solidAngle is a weight for texels to account for cube shape of the cubemap (we need sphere) + sh[0, b] += cr * basis[b] * solidAngle; + sh[1, b] += cg * basis[b] * solidAngle; + sh[2, b] += cb * basis[b] * solidAngle; + } + } + + } + } + } + + if (probeDirLights != null) + { + const float norm = 2.9567930857315701067858823529412f; + for (int d = 0; d < probeDirLights.Count; d++) + { + var clr = probeDirLightColors[d]; + EvalSHBasis9(-probeDirLights[d], ref basis); + for (int b = 0; b < 9; b++) + { + if (b == lightProbeMaxCoeffs) break; + sh[0, b] += clr.x * basis[b] * norm; + sh[1, b] += clr.y * basis[b] * norm; + sh[2, b] += clr.z * basis[b] * norm; + } + } + } + + shs[ii] = sh; + }); + + thread[ip].IsBackground = true; + thread[ip].Start(); + } + + ProgressBarShow("Rendering lightprobes - GI...", (i / (float)probes.count), true); + if (userCanceled) + { + ProgressBarEnd(); + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + bakeInProgress = false; + yield break; + } + yield return null; + + } + + foreach (GameObject g in go) DestroyImmediate(g); + foreach (var d in dynamicObjects) d.enabled = true; + RenderSettings.skybox = origSkybox; + if (newAsset != null) EditorUtility.SetDirty(newAsset); + + probes.bakedProbes = shs; + EditorUtility.SetDirty(probes); + + SceneManager.SetActiveScene(activeScene); + + if (OnFinishedProbes != null) + { + OnFinishedProbes.Invoke(this, null); + } + + ProgressBarEnd(); + + bakeInProgress = false; + DebugLogInfo("Finished rendering Light Probes."); + yield break; + } + + + void RenderLightmapUpdate() + { + if (!exeMode) + { + while(progressFunc.MoveNext()) {} + EditorApplication.update -= RenderLightmapUpdate; + bakeInProgress = false; + } + else + { + if (!progressFunc.MoveNext()) + { + EditorApplication.update -= RenderLightmapUpdate; + bakeInProgress = false; + } + } + } + + int SetupLightShadowmaskUsingBitmask(Light ulht, int bitmask, int shadowmaskGroupID, int[] channelBitsPerLayer) + { + int foundChannel = -1; + if (shadowmaskGroupID > 0) + { + shadowmaskGroupIDToChannel.TryGetValue(shadowmaskGroupID, out foundChannel); + } + + if (foundChannel < 0) + { + // Find common available channels in affected layers + const int fourBits = 1|2|4|8; + int commonFreeBits = 0; + for(int layer=0; layer<32; layer++) + { + if ((bitmask & (1< 0) + { + shadowmaskGroupIDToChannel[shadowmaskGroupID] = foundChannel; + } + + return foundChannel; + } + + static void CollectStorages() + { + var sceneCount = SceneManager.sceneCount; + storages = new Dictionary(); + for(int i=0; i(); + if (storage == null) { + storage = go.AddComponent(); + } + storages[scene] = storage; + } + } + + bool CollectGroups(List groupList, List groupListGIContributing, bool selected, bool probes=false) + { + // 1: Collect + var sceneCount = SceneManager.sceneCount; + var groups = new List(); + + // Find explicit LMGroups + var groupsSelectors = FindObjectsOfType(typeof(BakeryLightmapGroupSelector)) as BakeryLightmapGroupSelector[]; + for(int i=0; i(); + groupListGIContributingPlain = new List(); + Object[] selObjs = null; + if (selected) + { + // Selected only + selObjs = Selection.objects; + if (selObjs.Length == 0) + { + DebugLogError("No objects selected"); + ProgressBarEnd(); + return false; + } + for(int o=0; o 64 && bounces > 0) + { + var warn = "GI uses more than 64 samples."; + if (warnCount < warnLimit) warns += warn + "\n"; + DebugLogWarning(warn); + warnCount++; + } + + if (hackAOSamples > 64 && hackAOIntensity > 0) + { + var warn = "AO uses more than 64 samples."; + if (warnCount < warnLimit) warns += warn + "\n"; + DebugLogWarning(warn); + warnCount++; + } + + for(int i=0; i 64 && All[i].selfShadow) + { + var warn = "Light " + All[i].name + " uses more than 64 near samples."; + if (warnCount < warnLimit) warns += warn + "\n"; + DebugLogWarning(warn); + warnCount++; + } + if (All[i].samples > 4096) + { + var warn = "Light " + All[i].name + " uses more than 4096 far samples."; + if (warnCount < warnLimit) warns += warn + "\n"; + DebugLogWarning(warn); + warnCount++; + } + } + for(int i=0; i 4096) + { + var warn = "Light " + AllP[i].name + " uses more than 4096 samples."; + if (warnCount < warnLimit) warns += warn + "\n"; + DebugLogWarning(warn); + warnCount++; + } + } + for(int i=0; i 64) + { + var warn = "Light " + All2[i].name + " uses more than 64 samples."; + if (warnCount < warnLimit) warns += warn + "\n"; + DebugLogWarning(warn); + warnCount++; + } + } + for(int i=0; i 64) + { + var warn = "Light " + All3[i].name + " uses more than 64 samples."; + if (warnCount < warnLimit) warns += warn + "\n"; + DebugLogWarning(warn); + warnCount++; + } + } + if (warnCount > 0) + { + if (verbose) + { + var warnText = "Some sample count values might be out of reasonable range. Extremely high values may cause GPU go out of available resources. This validation can be disabled.\n\n"; + warnText += warns; + if (warnCount >= warnLimit) warnText += "(See more warnings in console)"; + if (!EditorUtility.DisplayDialog("Bakery", warnText, "Continue", "Cancel")) + { + return false; + } + } + else + { + Debug.LogError("Some sample count values might be out of reasonable range"); + } + } + return true; + } + + bool ValidatePrefabs() + { + var lmprefabs2 = FindObjectsOfType(typeof(BakeryLightmappedPrefab)) as BakeryLightmappedPrefab[]; + var lmprefabsList = new List(); + int pwarnCount = 0; + int pwarnLimit = 32; + string pwarns = ""; + string pwarns2 = ""; + for(int i=0; i 0) + { + string warnText = ""; + if (pwarns2.Length > 0) + { + warnText += "These prefabs are going to be overwritten:\n\n" + pwarns2; + } + if (pwarns.Length > 0) + { + if (pwarns2.Length > 0) warnText += "\n\n"; + warnText += "These prefabs have baking enabled, but NOT going to be overwritten:\n\n" + pwarns; + } + if (warnText.Length > 0) + { + if (verbose) + { + if (!EditorUtility.DisplayDialog("Bakery", warnText, "Continue", "Cancel")) + { + return false; + } + } + else + { + Debug.LogError(warnText); + } + } + } + return true; + } + + IEnumerator RenderLightmapFunc() + { + // Basic validation + if (userRenderMode == RenderMode.Indirect && bounces < 1) + { + DebugLogError("Can't render indirect lightmaps, if bounces < 1"); + yield break; + } + + if (userRenderMode == RenderMode.AmbientOcclusionOnly) + { + if (hackAOIntensity <= 0 || hackAOSamples <= 0) + { + DebugLogError("AO intensity and samples must be > 0 to render AO-only map"); + yield break; + } + + if (renderDirMode != RenderDirMode.None && renderDirMode != RenderDirMode.DominantDirection) + { + DebugLogError("AO-only mode does not support RNM or SH."); + yield break; + } + } + + if (!exeMode && userRenderMode == RenderMode.Indirect) + { + DebugLogError("Selective baked direct lighting is not implemented in DLL mode"); + yield break; + } + + if (verbose) + { + if (!EditorSceneManager.EnsureUntitledSceneHasBeenSaved("Please save all scenes before rendering")) + { + yield break; + } + } + else + { + EditorSceneManager.SaveOpenScenes(); + } + + // Init probes + if (lightProbeMode == LightProbeMode.L1 && !selectedOnly && !fullSectorRender) + { + var proc = InitializeLightProbes(!probesOnlyL1); + while(proc.MoveNext()) yield return null; + if (probesOnlyL1 && !hasAnyProbes) yield break; + } + + // Alloc new data + if (clientMode) + { + ftClient.serverFileList = new List(); + ftClient.serverGetFileList = new List(); + } + + // Get base scene data + var activeScene = EditorSceneManager.GetActiveScene(); + var sceneCount = SceneManager.sceneCount; + + All = FindObjectsOfType(typeof(BakeryLightMesh)) as BakeryLightMesh[]; + AllP = FindObjectsOfType(typeof(BakeryPointLight)) as BakeryPointLight[]; + All2 = FindObjectsOfType(typeof(BakerySkyLight)) as BakerySkyLight[]; + All3 = FindObjectsOfType(typeof(BakeryDirectLight)) as BakeryDirectLight[]; + + // Scene data validation + if (samplesWarning) + { + if (!ValidateSamples()) yield break; + } + if (prefabWarning) + { + if (!ValidatePrefabs()) yield break; + } + + var sectors = FindObjectsOfType(typeof(BakerySector)) as BakerySector[]; + + // Unused (yet?) + if (!ftInitialized) + { + ftInitialized = true; + ftSceneDirty = true; + } + + // Create output dir + var outDir = Application.dataPath + "/" + outputPathFull; + if (!Directory.Exists(outDir)) Directory.CreateDirectory(outDir); + + // Init storages + storages = new Dictionary(); + for(int i=0; i(); + if (storage == null) { + storage = go.AddComponent(); + } + + // delete unused sectors from storages + var stSectors = storage.sectors; + if (stSectors == null) stSectors = storage.sectors = new List(); + + var newStSectors = new List(); + ftLightmapsStorage.SectorData globalSector = null; + for(int st=0; st(); + storage.masks = new List(); + storage.dirMaps = new List(); + storage.rnmMaps0 = new List(); + storage.rnmMaps1 = new List(); + storage.rnmMaps2 = new List(); + storage.mapsMode = new List(); + storage.bakedLights = new List(); + storage.bakedLightChannels = new List(); + storage.compressedVolumes = false; + storage.anyVolumes = false; + + //if (forceRefresh) // removed condition to make "Export" option work in isolation + { + storage.serverGetFileList = new List(); + storage.lightmapHasColor = new List(); + storage.lightmapHasMask = new List(); + storage.lightmapHasDir = new List(); + storage.lightmapHasRNM = new List(); + } + + storage.Init(forceRefresh); + + //ftBuildGraphics.storage = storage; + storages[scene] = storage; + } + SceneManager.SetActiveScene(activeScene); + + // Prepare realtime GI if needed + if (usesRealtimeGI && !probesOnlyL1) + { + var store = storages[activeScene]; +#if UNITY_2017_2_OR_NEWER + if (LightmapEditorSettings.lightmapper != BUILTIN_RADIOSITY) + { + if (verbose) + { + EditorUtility.DisplayDialog("Bakery", "'Combine with Enlighten real-time GI' is enabled, but Unity lightmapper is not set to Enlighten. Please go to Lighting settings and select it.", "OK"); + yield break; + } + else + { + Debug.LogError("'Combine with Enlighten real-time GI' is enabled, but Unity lightmapper is not set to Enlighten"); + } + } +#else + if (!store.enlightenWarningShown2) + { + if (verbose) + { + if (!EditorUtility.DisplayDialog("Bakery", "'Combine with Enlighten real-time GI' is enabled. Make sure Unity lightmapper is set to Enlighten in the Lighting window.", "I'm sure", "Cancel")) + { + yield break; + } + store.enlightenWarningShown2 = true; + EditorUtility.SetDirty(store); + } + else + { + Debug.LogError("'Combine with Enlighten real-time GI' is enabled, but Unity lightmapper is not set to Enlighten"); + } + } +#endif + + reflectionProbes = new List(); + + //Disable Refl probes, and Baked GI so all that we bake is Realtime GI + Lightmapping.bakedGI = false; + Lightmapping.realtimeGI = true; + FindAllReflectionProbesAndDisable(); + + //Bake to get the Realtime GI maps + //Lightmapping.Bake(); + + Lightmapping.BakeAsync(); + ProgressBarInit("Waiting for Enlighten..."); + while(Lightmapping.isRunning) + { + userCanceled = simpleProgressBarCancelled(); + if (userCanceled) + { + Lightmapping.Cancel(); + ProgressBarEnd(); + break; + } + yield return null; + } + ProgressBarEnd(); + + //Re enable probes before bakery bakes, and bakedGI + Lightmapping.bakedGI = true; + ReEnableReflectionProbes(); + } + + // Export scene + if (forceRebuildGeometry) + { + passedFilterFlag++; + + renderSettingsStorage = FindRenderSettingsStorage(); + SaveRenderSettings(); + + ftBuildGraphics.overwriteWarningSelectedOnly = selectedOnly; + ftBuildGraphics.modifyLightmapStorage = true; + ftBuildGraphics.forceAllAreaLightsSelfshadow = false; + ftBuildGraphics.validateLightmapStorageImmutability = selectedOnly || probesOnlyL1; + ftBuildGraphics.sceneNeedsToBeRebuilt = false; + var exportSceneFunc = ftBuildGraphics.ExportScene((ftRenderLightmap)EditorWindow.GetWindow(typeof(ftRenderLightmap)), true); + progressBarEnabled = true; + + var estartMs = GetTimeMs(); + while(exportSceneFunc.MoveNext()) + { + progressBarText = ftBuildGraphics.progressBarText; + progressBarPercent = ftBuildGraphics.progressBarPercent; + if (ftBuildGraphics.userCanceled) + { + ftBuildGraphics.ProgressBarEnd(true); + ProgressBarEnd(); + yield break; + } + yield return null; + } + + if (ftBuildGraphics.sceneNeedsToBeRebuilt) + { + ftBuildGraphics.ProgressBarEnd(true); + DebugLogError("Scene geometry/layout changed since last full bake. Use Render button instead."); + yield break; + } + + var ems = GetTimeMs(); + double exportTime = (ems - estartMs) / 1000.0; + DebugLogInfo("Scene export time: " + exportTime); + + userCanceled = ftBuildGraphics.userCanceled; + ProgressBarEnd(false); + ftSceneDirty = true; + if (ftBuildGraphics.userCanceled) yield break; + SaveRenderSettings(); + EditorSceneManager.MarkAllScenesDirty(); + } + else + { + if (!ValidateCurrentScene()) + { + ProgressBarEnd(); + yield break; + } + } + + lmnameComposed = new Dictionary(); + + uvBuffOffsets = storage.uvBuffOffsets; + uvBuffLengths = storage.uvBuffLengths; + uvSrcBuff = storage.uvSrcBuff; + uvDestBuff = storage.uvDestBuff; + lmrIndicesOffsets = storage.lmrIndicesOffsets; + lmrIndicesLengths = storage.lmrIndicesLengths; + lmrIndicesBuff = storage.lmrIndicesBuff; + lmGroupMinLOD = storage.lmGroupMinLOD; + lmGroupLODResFlags = storage.lmGroupLODResFlags; + lmGroupLODMatrix = storage.lmGroupLODMatrix; + + userCanceled = false; + ProgressBarInit("Rendering lightmaps - preparing..."); + yield return null; + + // Init lmrebake + int lmrErrCode = lmrInit((System.IntPtr)0); + if (lmrErrCode != 0) + { + DebugLogError("Error initializing lmrebake: " + ftErrorCodes.TranslateLMRebake(lmrErrCode)); + userCanceled = true; + ProgressBarEnd(); + yield break; + } + + var groupList = new List(); + var groupListGIContributing = new List(); + if (!CollectGroups(groupList, groupListGIContributing, selectedOnly, probesOnlyL1)) yield break; + + // Prepare rendering lightmaps + var startMs = GetTimeMs(); + + var fsettings = new BinaryWriter(File.Open(scenePath + "/settings.bin", FileMode.Create)); + fsettings.Write(tileSize); + fsettings.Write(compressedGBuffer); + fsettings.Write(compressedOutput); + fsettings.Write(deviceMask); + fsettings.Close(); + + if (clientMode) ftClient.serverFileList.Add("settings.bin"); + + /*if (All.Length == 0 && AllP.Length == 0 && All2.Length == 0 && All3.Length == 0) + { + userCanceled = true; + DebugLogError("Add at least one Bakery light"); + ProgressBarEnd(); + yield break; + }*/ + + // clean up the skylight list + /* + var skylights = storage.skylights; + var skylightsDirty = storage.skylightsDirty; + var newList = new List(); + var newListB = new List(); + for(int i=0; i(); + deferredCommandsFallback = new Dictionary>(); + deferredCommandsRebake = new Dictionary(); + deferredCommandsLODGen = new Dictionary(); + deferredCommandsGIGen = new Dictionary(); + deferredCommandsHalf2VB = new Dictionary(); + deferredCommandsUVGB = new Dictionary(); + deferredFileSrc = new List(); + deferredFileDest = new List(); + deferredCommandDesc = new List(); + } + + //if (forceRefresh) // removed condition to make "Export" option work in isolation + { + lightmapMasks = new List>>(); + lightmapMaskLMNames = new List>>(); + lightmapMaskLights = new List>>(); + lightmapMaskDenoise = new List>>(); + #if UNITY_2017_3_OR_NEWER + #else + maskedLights = new List(); + #endif + lightmapHasColor = new List(); + lightmapHasMask = new List(); + lightmapHasDir = new List(); + lightmapHasRNM = new List(); + + foreach(var lmgroup in groupListGIContributingPlain) + { + var rmode = lmgroup.renderMode == (int)BakeryLightmapGroup.RenderMode.Auto ? (int)userRenderMode : (int)lmgroup.renderMode; + var dirMode = lmgroup.renderDirMode == (int)BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)lmgroup.renderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection; + while(lightmapMasks.Count <= lmgroup.id) + { + lightmapMasks.Add(new List>()); + lightmapMaskLMNames.Add(new List>()); + lightmapMaskLights.Add(new List>()); + lightmapMaskDenoise.Add(new List>()); + lightmapHasColor.Add(true); + lightmapHasMask.Add(rmode == (int)RenderMode.Shadowmask); + lightmapHasDir.Add(dominantDirMode); + lightmapHasRNM.Add(false); + } + } + } + + // Fix starting ray positions + if (forceRebuildGeometry) + { + if (ftBuildGraphics.exportShaderColors) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(null); + deferredCommandDesc.Add("Exporting scene - generating UV GBuffer..."); + deferredCommandsUVGB[deferredCommands.Count - 1] = true; + } + + foreach(var lmgroup in groupList) + { + var nm = lmgroup.name; + int LMID = lmgroup.id; + if (lmgroup.mode != BakeryLightmapGroup.ftLMGroupMode.Vertex || lmgroup.fixPos3D) // skip vertex colored + { + if (!adjustSamples) continue; + + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + int fixPosPasses = PASS_FLOAT; + if (giLodModeEnabled) fixPosPasses |= PASS_MASK1; + if (lmgroup.fixPos3D) + { + var mfilename = "fixPos3D_" + LMID + ".bin"; + var mf = new BinaryWriter(File.Open(scenePath + "/" + mfilename, FileMode.Create)); + mf.Write(lmgroup.voxelSize.x); + mf.Write(lmgroup.voxelSize.y); + mf.Write(lmgroup.voxelSize.z); + mf.Close(); + startInfo.Arguments = "fixpos3D " + scenePathQuoted + " \"" + "uvpos_" + nm +(compressedGBuffer ? ".lz4" : ".dds") + "\" " + fixPosPasses + " " + 0 + " " + LMID + " " + mfilename; + if (clientMode) ftClient.serverFileList.Add(mfilename); + } + else + { + startInfo.Arguments = "fixpos12 " + scenePathQuoted + " \"" + "uvpos_" + nm +(compressedGBuffer ? ".lz4" : ".dds") + "\" " + fixPosPasses + " " + 0 + " " + LMID + " " + Float2String(lmgroup.fakeShadowBias); + } + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Adjusting sample points for " + nm + "..."); + } + + if (giLodModeEnabled) + { + var startInfo2 = new System.Diagnostics.ProcessStartInfo(); + startInfo2.CreateNoWindow = false; + startInfo2.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo2.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo2.FileName = startInfo2.WorkingDirectory + "/" + ftraceExe; + startInfo2.CreateNoWindow = true; + startInfo2.Arguments = "lodselect " + scenePathQuoted + " \"" + "lodselect" + "\" " + PASS_FLOAT + " " + 0 + " " + LMID; + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo2); + deferredCommandDesc.Add("Calculating what is visible from " + nm + "..."); + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(null); + deferredCommandDesc.Add("Generating tracing mesh for " + lmgroup.name + "..."); + deferredCommandsLODGen[deferredCommands.Count - 1] = lmgroup.id; + } + } + } + else + { + ValidateCurrentScene(); + } + + // Render AO if needed + if (hackAOIntensity > 0 && hackAOSamples > 0) + { + foreach(var lmgroup in groupList) + { + var nm = lmgroup.name; + currentGroup = lmgroup; + bool doRender = true; + + if (doRender) { + DebugLogInfo("Preparing AO " + nm + " (" + (lmgroup.id+1) + "/" + groupList.Count + ")"); + + progressStepsDone++; + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + + if (lmgroup.probes) continue; + if (!RenderLMAO(lmgroup.id, nm)) + { + ProgressBarEnd(); + yield break; + } + } + } + } + + // Mark completely baked lights + for(int i=0; i(); + if (ulht == null) continue; + if (IsLightCompletelyBaked(obj.bakeToIndirect, userRenderMode)) + { + MarkLightAsCompletelyBaked(ulht); + } + else if (IsLightSubtractive(obj.bakeToIndirect, userRenderMode)) + { + MarkLightAsSubtractive(ulht); + } + else if (IsLightRealtime(obj.bakeToIndirect, userRenderMode)) + { + MarkLightAsRealtime(ulht); + } + } + for(int i=0; i(); + if (ulht == null) continue; + if (IsLightCompletelyBaked(obj.bakeToIndirect, userRenderMode)) + { + MarkLightAsCompletelyBaked(ulht); + } + else if (IsLightSubtractive(obj.bakeToIndirect, userRenderMode)) + { + MarkLightAsSubtractive(ulht); + } + else if (IsLightRealtime(obj.bakeToIndirect, userRenderMode)) + { + MarkLightAsRealtime(ulht); + } + } + + // Find intersecting light groups for shadowmask + bool someLightsCantBeMasked = false; + shadowmaskGroupIDToChannel = new Dictionary(); + if (userRenderMode == RenderMode.Shadowmask) + { + overlappingLights = new List(); + + //int channel = 0; + var channelBitsPerLayer = new int[32]; + + for(int i=0; i(); + if (ulht == null) continue; + if (SetupLightShadowmaskUsingBitmask(ulht, obj.bitmask, 0, channelBitsPerLayer) < 0) someLightsCantBeMasked = true; + } + + var lightsRemaining = new List(); + var lightsRemainingB = new List(); + var lightChannels = new List(); + var lightArrayIndices = new List(); + var lightIntersections = new List(); + for(int i=0; i(); + if (ulht == null) continue; + lightsRemaining.Add(ulht); + lightsRemainingB.Add(obj); + lightChannels.Add(-1); + lightArrayIndices.Add(lightArrayIndices.Count); + lightIntersections.Add(0); + } + + // Sort by the intersection count + for(int i=0; i(); // sign is type, offset is to relevant array (+1) + // Spherical + var channelBoundsPos = new List(); + var channelBoundsRadius = new List(); + // Convex + var channelBoundsConvex = new List(); + + if (la.type == LightType.Spot) + { + // Add spot geometry as pyramid + channelBoundsTypeAndOffset.Add(-(channelBoundsConvex.Count+1)); + channelBoundsConvex.Add(GetSpotConvex(la)); + } + else + { + // Add point geometry as sphere + channelBoundsTypeAndOffset.Add(channelBoundsPos.Count+1); + channelBoundsPos.Add(laPos); + channelBoundsRadius.Add(laRange); + } + + //channelBoundsPos.Add(laPos); + //channelBoundsRadius.Add(laRange); + + int channelSet = SetupLightShadowmaskUsingBitmask(la, laBitmask, lightsRemainingB[idA].shadowmaskGroupID, channelBitsPerLayer); + if (channelSet < 0) someLightsCantBeMasked = true; + + lightChannels[idA] = channelSet; + DebugLogInfo("* Light " + la.name + " set to channel " + channelSet); + //SetupLightShadowmask(la, channel); + + // Find all non-overlapping + //for(int j=i+1; j 0) + { + if (ch == 2) + { + Selection.objects = overlappingLights.ToArray(); + } + yield break; + } + } + else + { + Debug.LogError("Some shadow masks can't be baked due to more than 4 masked lights overlapping"); + } + } + + // Render directional lighting for every lightmap + ftBuildLights.InitMaps(false); + foreach(var lmgroup in groupList) + { + var nm = lmgroup.name; + currentGroup = lmgroup; + bool doRender = true; + + if (doRender) { + DebugLogInfo("Preparing (direct) lightmap " + nm + " (" + (lmgroup.id+1) + "/" + groupList.Count + ")"); + + progressStepsDone++; + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + + var routine = RenderLMDirect(lmgroup.id, nm, lmgroup.resolution); + while(routine.MoveNext()) + { + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + } + } + } + + // Save rendered light properties + for(int i=0; i 128 && lmgroup2.mode != BakeryLightmapGroup.ftLMGroupMode.Vertex) + { + if (deferredMode) + { + // Downsample via lmrebake + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(null); + if (lmgroup2.containsTerrains) + { + deferredCommandDesc.Add("Generating LOD lightmap of " + lmgroup2.name + " (terrain)..."); + } + else + { + deferredCommandDesc.Add("Generating LOD lightmap of " + lmgroup2.name + "..."); + } + deferredCommandsRebake[deferredCommands.Count - 1] = lmgroup2.GetPlainStruct(); + } + else + { + Debug.LogError("Unsupported"); + /*errCode = lmrRender(lmgroup2.name + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds"), + lmgroup2.name + "_diffuse_HDR_LOD", + scenePath + "/lodmask_uvpos_" + lmgroup2.name + (compressedGBuffer ? ".lz4" : ".dds"), + uvSrcBuff, uvDestBuff, uvBuffOffsets[lmgroup2.id], uvBuffLengths[lmgroup2.id], + lmrIndicesBuff, lmrIndicesOffsets[lmgroup2.id], lmrIndicesLengths[lmgroup2.id], + lmgroup2.resolution/2, lmgroup2.resolution/2, lmGroupLODResFlags[lmgroup2.id]); + if (errCode != 0) + { + DebugLogError("Error rebaking lightmap " + lmgroup2.name + ": " + ftErrorCodes.TranslateLMRebake(errCode)); + }*/ + } + } + } + } + + foreach(var lmgroup in groupList) + { + var nm = lmgroup.name; + currentGroup = lmgroup; + bool doRender = true; + + if (doRender) { + DebugLogInfo("Preparing (bounce " + i + ") lightmap " + nm + " (" + (lmgroup.id+1) + "/" + groupList.Count + ")"); + + progressStepsDone++; + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + + var rmode = lmgroup.renderMode == BakeryLightmapGroup.RenderMode.Auto ? (int)userRenderMode : (int)lmgroup.renderMode; + + if (rmode == (int)RenderMode.AmbientOcclusionOnly) continue; + + bool lastPass = i == bounces - 1; + bool needsGIPass = (lastPass && (rmode == (int)RenderMode.Indirect || rmode == (int)RenderMode.Shadowmask)); + + var dirMode = lmgroup.renderDirMode == BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)lmgroup.renderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection && lightmapHasDir[lmgroup.id]; + + if (lmgroup.probes && !lastPass) continue; // probes only need final GI pass + + if (performRendering) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(null); + deferredCommandDesc.Add("Generating GI parameters for " + lmgroup.name + "..."); + deferredCommandsGIGen[deferredCommands.Count - 1] = new Vector3(lmgroup.id, i, dominantDirMode?1:0); + + if (!RenderLMGI(lmgroup.id, nm, i, needsGIPass, lastPass)) + { + ProgressBarEnd(); + yield break; + } + + // Optionally compute SSS after bounce + if (!lmgroup.computeSSS) continue; + RenderLMSSS(lmgroup, i == bounces - 1); + } + } + } + } + + // Add directional contribution from selected lights to indirect + //if ((userRenderMode == RenderMode.Indirect || userRenderMode == RenderMode.Shadowmask) && performRendering) + { + //Debug.Log("Compositing bakeToIndirect lights with GI..."); + foreach(var lmgroup in groupListPlain) + { + string nm = lmgroup.name; + try + { + nm = lmgroup.name; + } + catch + { + DebugLogError("Error postprocessing lightmaps - see console for details"); + ProgressBarEnd(); + throw; + } + + var rmode = lmgroup.renderMode == (int)BakeryLightmapGroup.RenderMode.Auto ? (int)userRenderMode : (int)lmgroup.renderMode; + if ((rmode == (int)RenderMode.Indirect || rmode == (int)RenderMode.Shadowmask) && performRendering) + { + //int errCode2 = 0; + if (exeMode) + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "add " + scenePathQuoted + " \"" + nm + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_HALF + " " + 0 + " " + lmgroup.id + " comp_indirect" + lmgroup.id + ".bin"; + + if (deferredMode) + { + deferredFileSrc.Add("");//scenePath + "/comp_indirect" + lmgroup.id + ".bin"); + deferredFileDest.Add("");//scenePath + "/comp.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Compositing baked lights with GI for " + lmgroup.name + "..."); + } + else + { + /*File.Copy(scenePath + "/comp_indirect" + lmgroup.id + ".bin", scenePath + "/comp.bin", true); + Debug.Log("Running ftrace " + startInfo.Arguments); + var exeProcess = System.Diagnostics.Process.Start(startInfo); + exeProcess.WaitForExit(); + errCode2 = exeProcess.ExitCode;*/ + } + } + + var dirMode = lmgroup.renderDirMode == (int)BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)lmgroup.renderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection && lightmapHasDir[lmgroup.id]; + + if (dominantDirMode) + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "diradd " + scenePathQuoted + " \"" + nm + "_final_Dir" + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_DIRECTION + " " + 0 + " " + lmgroup.id + " dircomp_indirect" + lmgroup.id + ".bin"; + + if (deferredMode) + { + deferredFileSrc.Add("");//scenePath + "/dircomp_indirect" + lmgroup.id + ".bin"); + deferredFileDest.Add("");//scenePath + "/dircomp.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Compositing baked direction for " + lmgroup.name + "..."); + } + } + } + } + } + + /* + if (bounces > 0) + { + // Remove lighting from emissive surfaces + foreach(var lmgroup in groupListPlain) + { + string nm; + try + { + nm = lmgroup.name; + } + catch + { + DebugLogError("Error postprocessing lightmaps - see console for details"); + ProgressBarEnd(); + throw; + } + bool doRender = true; + + if (lmgroup.id < 0) continue; + if (storage.hasEmissive.Count <= lmgroup.id) continue; + if (!storage.hasEmissive[lmgroup.id]) continue; + + if (doRender) { + Debug.Log("Removing emissive from " + nm + " (" + (lmgroup.id+1) + "/" + groupList.Count + ")"); + + if (performRendering) { + if (!RemoveEmissive(nm)) + { + ProgressBarEnd(); + yield break; + } + } + } + } + } + */ + + PrepareAssetImporting(); + + // Finalize lightmaps + foreach(var lmgroup in groupListPlain) + { + if (lmgroup.vertexBake && lmgroup.isImplicit && !lmgroup.probes) continue; // skip objects with scaleImLm == 0 + string nm; + try + { + nm = lmgroup.name; + } + catch + { + DebugLogError("Error postprocessing lightmaps - see console for details"); + ProgressBarEnd(); + throw; + } + bool doRender = true; + + if (doRender) { + //if (lmgroup.vertexBake) continue; // do it after the scene is loaded back + DebugLogInfo("Preparing (finalize) lightmap " + nm + " (" + (lmgroup.id+1) + "/" + groupList.Count + ")"); + + var routine = RenderLMFinalize(lmgroup.id, nm, lmgroup.resolution, lmgroup.vertexBake, lmgroup.renderDirMode, lmgroup.renderMode, lmgroup); + while(routine.MoveNext()) + { + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + } + + if (lmgroup.probes && lmgroup.name == "volumes" && lastFoundBakeableVolumes != null && lastFoundBakeableVolumes.Length > 0) + { + var vols = lastFoundBakeableVolumes; + int voffset = 0; + + var denoiseMod = GetDenoiseMode(); + var ext = (compressedOutput ? ".lz4" : ".dds"); + for(int v=0; v 0 && lmgroup.parentName != "|") + { + doRender = false; + } + + if (doRender) { + DebugLogInfo("Preparing (encode) lightmap " + nm + " (" + (lmgroup.id+1) + "/" + groupList.Count + ")"); + + var routine = RenderLMEncode(lmgroup.id, nm, lmgroup.resolution, lmgroup.vertexBake, lmgroup.renderDirMode, lmgroup.renderMode); + while(routine.MoveNext()) + { + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + } + } + } + + ftBuildGraphics.FreeTemporaryAreaLightMeshes(); + +#if UNITY_2017_3_OR_NEWER +#else + if ((userRenderMode == RenderMode.Shadowmask || userRenderMode == RenderMode.Subtractive) && (lightProbeMode != LightProbeMode.L1) || !hasAnyProbes) + { + // Generate lighting data asset + var assetName = GenerateLightingDataAssetName(); + var newPath = "Assets/" + outputPath + "/" + assetName + ".asset"; + + // Try writing the file. If it's locked, write a copy + bool locked = false; + BinaryWriter ftest = null; + try + { + ftest = new BinaryWriter(File.Open(newPath, FileMode.Create)); + } + catch + { + var index = assetName.IndexOf("_copy"); + if (index >= 0) + { + assetName = assetName.Substring(0, index); + } + else + { + assetName += "_copy"; + } + newPath = "Assets/" + outputPath + "/" + assetName + ".asset"; + locked = true; + } + if (!locked) ftest.Close(); + + if (!ftLightingDataGen.GenerateShadowmaskLightingData(newPath, ref maskedLights, userRenderMode == RenderMode.Subtractive)) + { + DebugLogError("Failed to generate LightingDataAsset"); + userCanceled = true; + yield break; + } + AssetDatabase.Refresh(); + ApplyLightingDataAsset(newPath); + EditorSceneManager.MarkAllScenesDirty(); + EditorSceneManager.SaveOpenScenes(); + } +#endif + + // Store lightmap flags + for(int s=0; s 0) + { + var vbtraceTexPosNormalArray = ftBuildGraphics.vbtraceTexPosNormalArray; + var vbtraceTexUVArray = ftBuildGraphics.vbtraceTexUVArray; + var vbtraceTexUVArrayLOD = ftBuildGraphics.vbtraceTexUVArrayLOD; + + tasks++; + flist.Write(ftClient.SERVERTASK_LODGENINIT); + flist.Write(lmGroupMinLOD.Length); + for(int j=0; j 0) + { + tasks++; + flist.Write(ftClient.SERVERTASK_COPY); + WriteString(flist, deferredFileSrc[i].Replace(scenePath, "%SCENEPATH%")); + WriteString(flist, deferredFileDest[i].Replace(scenePath, "%SCENEPATH%")); + } + + var startInfo = deferredCommands[i]; + if (startInfo != null) + { + var app = Path.GetFileNameWithoutExtension(deferredCommands[i].FileName); + if (!ftClient.app2serverTask.TryGetValue(app, out task)) + { + DebugLogError("Server doesn't support the task: " + app); + userCanceled = true; + yield break; + } + tasks++; + flist.Write(task); + WriteString(flist, startInfo.Arguments.Replace(scenePath, "%SCENEPATH%"). + Replace(Application.dataPath + "/" + outputPathFull, "%SCENEPATH%")); + } + + if (deferredCommandsUVGB.ContainsKey(i)) + { + GL.IssuePluginEvent(7); // render UVGBuffer + int uerr = 0; + while(uerr == 0) + { + uerr = ftBuildGraphics.GetUVGBErrorCode(); + yield return null; + } + + if (uerr != 0 && uerr != 99999) + { + DebugLogError("ftRenderUVGBuffer error: " + uerr); + userCanceled = true; + yield break; + } + + ftBuildGraphics.FreeAlbedoCopies(); + } + + if (deferredCommandsRebake.ContainsKey(i)) + { + var lmgroup2 = deferredCommandsRebake[i]; + if (lmgroup2.containsTerrains) + { + tasks++; + flist.Write(ftClient.SERVERTASK_LMREBAKESIMPLE); + WriteString(flist, lmgroup2.name + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds")); + WriteString(flist, lmgroup2.name + "_diffuse_HDR_LOD"); + flist.Write(lmgroup2.resolution/2); + flist.Write(lmgroup2.resolution/2); + flist.Write(lmgroup2.id); + } + else + { + if (lmrIndicesLengths[lmgroup2.id] == 0) + { + Debug.LogError("lmrIndicesLengths == 0 for " + lmgroup2.name); + } + else + { + tasks++; + flist.Write(ftClient.SERVERTASK_LMREBAKE); + WriteString(flist, lmgroup2.name + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds")); + WriteString(flist, lmgroup2.name + "_diffuse_HDR_LOD"); + WriteString(flist, "lodmask_uvpos_" + lmgroup2.name + (compressedGBuffer ? ".lz4" : ".dds")); + flist.Write(uvSrcBuff.Length); + for(int j=0; j 0) File.Copy(deferredFileSrc[i], deferredFileDest[i], true); + + var startInfo = deferredCommands[i]; + + if (startInfo != null) + { + var app = Path.GetFileNameWithoutExtension(deferredCommands[i].FileName); + DebugLogInfo("Running " + app + " " + startInfo.Arguments); + ProgressBarShow(deferredCommandDesc[i], i / (float)deferredCommands.Count, true); + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + + int errCode2 = -1; + int fallbackCtr = 0; + while(errCode2 != 0) + { +#if LAUNCH_VIA_DLL + var crt = ProcessCoroutine(app, startInfo.Arguments); + while(crt.MoveNext()) yield return null; + if (userCanceled) yield break; + errCode2 = lastReturnValue; +#else + var exeProcess = System.Diagnostics.Process.Start(startInfo); + + //exeProcess.WaitForExit(); + while(!exeProcess.HasExited) + { + yield return null; + userCanceled = simpleProgressBarCancelled(); + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + } + + errCode2 = exeProcess.ExitCode; +#endif + + if (errCode2 != 0) + { + DebugLogInfo("Error: " + ftErrorCodes.Translate(app, errCode2)); + if (deferredCommandsFallback.ContainsKey(i)) + { + DebugLogInfo("Trying fallback " +fallbackCtr); + var fallbackList = deferredCommandsFallback[i]; + if (fallbackCtr >= fallbackList.Count) break; + startInfo.Arguments = fallbackList[fallbackCtr]; + fallbackCtr++; + } + else + { + break; + } + } + } + + if (errCode2 != 0) + { + DebugLogError(app + " error: " + ftErrorCodes.Translate(app, errCode2)); + userCanceled = true; + yield break; + } + } + + if (deferredCommandsRebake.ContainsKey(i)) + { + var lmgroup2 = deferredCommandsRebake[i]; + + ProgressBarShow(deferredCommandDesc[i], i / (float)deferredCommands.Count, true); + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + + if (lmgroup2.containsTerrains) + { + DebugLogInfo("Running lmrebake (terrain) for " + lmgroup2.name + " (" + lmGroupLODResFlags[lmgroup2.id] + ")"); + int errCode2 = lmrRenderSimple(scenePath + "/" + lmgroup2.name + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds"), + scenePath + "/" + lmgroup2.name + "_diffuse_HDR_LOD", + lmgroup2.resolution/2, lmgroup2.resolution/2, lmGroupLODResFlags[lmgroup2.id]); + if (errCode2 != 0) + { + DebugLogError("Error rebaking lightmap (terrain) " + lmgroup2.name + ": " + ftErrorCodes.TranslateLMRebake(errCode2)); + userCanceled = true; + yield break; + } + } + else + { + if (lmrIndicesLengths[lmgroup2.id] == 0) + { + Debug.LogError("lmrIndicesLengths == 0 for " + lmgroup2.name); + } + else + { + int errCode2 = lmrRender(scenePath + "/" + lmgroup2.name + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds"), + scenePath + "/" + lmgroup2.name + "_diffuse_HDR_LOD", + scenePath + "/lodmask_uvpos_" + lmgroup2.name + (compressedGBuffer ? ".lz4" : ".dds"), + uvSrcBuff, uvDestBuff, uvBuffOffsets[lmgroup2.id], uvBuffLengths[lmgroup2.id], + lmrIndicesBuff, lmrIndicesOffsets[lmgroup2.id], lmrIndicesLengths[lmgroup2.id], + lmgroup2.resolution/2, lmgroup2.resolution/2, lmGroupLODResFlags[lmgroup2.id]); + if (errCode2 != 0) + { + DebugLogError("Error rebaking lightmap " + lmgroup2.name + ": " + ftErrorCodes.TranslateLMRebake(errCode2)); + userCanceled = true; + yield break; + } + } + } + } + + if (deferredCommandsLODGen.ContainsKey(i)) + { + int id = deferredCommandsLODGen[i]; + DebugLogInfo("Generating LOD vbTraceTex for " + id); + + ProgressBarShow(deferredCommandDesc[i], i / (float)deferredCommands.Count, true); + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + + int errCode2 = GenerateVBTraceTexLOD(id); + if (errCode2 != 0) + { + DebugLogError("Error generating tracing mesh for ID " + id); + userCanceled = true; + yield break; + } + } + + if (deferredCommandsGIGen.ContainsKey(i)) + { + Vector3 paramz = deferredCommandsGIGen[i]; + int id = (int)paramz.x; + int bounce = (int)paramz.y; + bool useDir = paramz.z > 0; + DebugLogInfo("Generating GI parameters for " + id+" "+bounce); + + ProgressBarShow(deferredCommandDesc[i], i / (float)deferredCommands.Count, true); + if (userCanceled) + { + ProgressBarEnd(); + yield break; + } + yield return null; + + string nm = ""; + int sceneLodLevel = -1; + for(int j=0; j(); + //var sanityTimeout = GetTime() + 5; + while( (sceneCount > EditorSceneManager.sceneCount || EditorSceneManager.GetSceneAt(0).path.Length == 0))// && GetTime() < sanityTimeout ) + { + yield return null; + } + for(int i=0; i(); + storages[scene] = storage; + + if (giLodModeEnabled) + { + storage.lmGroupLODResFlags = lmGroupLODResFlags; + storage.lmGroupLODMatrix = lmGroupLODMatrix; + EditorUtility.SetDirty(storage); + } + + if (loadedScenesActive[i]) EditorSceneManager.SetActiveScene(scene); + } + } + progressStepsDone = 0; + progressSteps = groupList.Count * 3; + ProgressBarSetStep(0); + } + + if (clientMode) + { + ProgressBarEnd(); + } + else + { + LoadRenderSettings(); + + var apply = ApplyBakedData(); + while(apply.MoveNext()) yield return null; + + var ms = GetTimeMs(); + double bakeTime = (ms - startMs) / 1000.0; + DebugLogInfo("Rendering finished in " + bakeTime + " seconds"); + + lastBakeTime = (int)bakeTime; + if (renderSettingsStorage == null) renderSettingsStorage = FindRenderSettingsStorage(); + if (renderSettingsStorage != null) renderSettingsStorage.lastBakeTime = lastBakeTime; + + try + { + var bakeTimeLog = new StreamWriter(File.Open("bakery_times.log", FileMode.Append)); + if (bakeTimeLog != null) + { + int hours = lastBakeTime / (60*60); + int minutes = (lastBakeTime / 60) % 60; + int seconds = lastBakeTime % 60; + bakeTimeLog.Write(System.DateTime.Now.ToString("MM/dd/yyyy HH:mm") + " | " + EditorSceneManager.GetActiveScene().name + " | " + hours+"h "+minutes+"m "+seconds+"s\n"); + } + bakeTimeLog.Close(); + } + catch + { + Debug.LogError("Failed writing bakery_times.log"); + } + + ProgressBarEnd(); + + if (beepOnFinish) System.Media.SystemSounds.Beep.Play(); + + if (OnFinishedFullRender != null) + { + OnFinishedFullRender.Invoke(this, null); + } + } + } + + + IEnumerator ApplyBakedData() + { + var sceneCount = EditorSceneManager.sceneCount; + var bdataName = "BakeryPrefabLightmapData"; + + // Load vertex colors + try + { + foreach(var lmgroup in groupListGIContributingPlain) + { + if (!lmgroup.vertexBake) continue; + if (lmgroup.isImplicit) continue; + + bool hasShadowMask = lmgroup.renderMode == (int)BakeryLightmapGroup.RenderMode.Shadowmask || + (lmgroup.renderMode == (int)BakeryLightmapGroup.RenderMode.Auto && userRenderMode == RenderMode.Shadowmask); + + bool hasDir = lmgroup.renderDirMode == (int)BakeryLightmapGroup.RenderDirMode.DominantDirection || + (lmgroup.renderDirMode == (int)BakeryLightmapGroup.RenderDirMode.Auto && renderDirMode == RenderDirMode.DominantDirection); + + bool hasSH = lmgroup.renderDirMode == (int)BakeryLightmapGroup.RenderDirMode.SH || + (lmgroup.renderDirMode == (int)BakeryLightmapGroup.RenderDirMode.Auto && renderDirMode == RenderDirMode.SH); + + GenerateVertexBakedMeshes(lmgroup.id, lmgroup.name, hasShadowMask, hasDir, hasSH); + } + } + catch + { + DebugLogError("Error loading vertex colors - see console for details"); + ProgressBarEnd(); + throw; + } + + // Set probe colors + if (!selectedOnly && lightProbeMode == LightProbeMode.L1 && hasAnyProbes && !fullSectorRender) + { + var probes = LightmapSettings.lightProbes; + if (probes == null) + { + DebugLogError("No probes in LightingDataAsset"); + yield break; + } + var positions = probes.positions; + int atlasTexSize = (int)Mathf.Ceil(Mathf.Sqrt((float)probes.count)); + atlasTexSize = (int)Mathf.Ceil(atlasTexSize / (float)tileSize) * tileSize; + + var shs = new SphericalHarmonicsL2[probes.count]; + + int r = 0; + int g = 1; + int b = 2; + + var l0 = new float[atlasTexSize * atlasTexSize * 4]; + var l1x = new float[atlasTexSize * atlasTexSize * 4]; + var l1y = new float[atlasTexSize * atlasTexSize * 4]; + var l1z = new float[atlasTexSize * atlasTexSize * 4]; + var handle = GCHandle.Alloc(l0, GCHandleType.Pinned); + var handleL1x = GCHandle.Alloc(l1x, GCHandleType.Pinned); + var handleL1y = GCHandle.Alloc(l1y, GCHandleType.Pinned); + var handleL1z = GCHandle.Alloc(l1z, GCHandleType.Pinned); + var errCodes = new int[4]; + try + { + var pointer = handle.AddrOfPinnedObject(); + var pointerL1x = handleL1x.AddrOfPinnedObject(); + var pointerL1y = handleL1y.AddrOfPinnedObject(); + var pointerL1z = handleL1z.AddrOfPinnedObject(); + errCodes[0] = halffloat2vb(scenePath + "\\probes_final_L0" + (compressedOutput ? ".lz4" : ".dds"), pointer, 2); + errCodes[1] = halffloat2vb(scenePath + "\\probes_final_L1x" + (compressedOutput ? ".lz4" : ".dds"), pointerL1x, 2); + errCodes[2] = halffloat2vb(scenePath + "\\probes_final_L1y" + (compressedOutput ? ".lz4" : ".dds"), pointerL1y, 2); + errCodes[3] = halffloat2vb(scenePath + "\\probes_final_L1z" + (compressedOutput ? ".lz4" : ".dds"), pointerL1z, 2); + bool ok = true; + for(int i=0; i<4; i++) + { + if (errCodes[i] != 0) + { + Debug.LogError("hf2vb (" + i + "): " + errCodes[i]); + ok = false; + } + } + if (ok) + { + for(int i=0; i(); + while( (sceneCount > EditorSceneManager.sceneCount || EditorSceneManager.GetSceneAt(0).path.Length == 0))// && GetTime() < sanityTimeout ) + { + yield return null; + } + for(int i=0; i(); + storages[scene] = storage; + } + } +#endif + + probes.bakedProbes = shs; + EditorUtility.SetDirty(Lightmapping.lightingDataAsset); + } + + LoadVolumes(); + + //EditorSceneManager.MarkSceneDirty(EditorSceneManager.GetActiveScene()); + EditorSceneManager.MarkAllScenesDirty(); + + // Asset importing stage 1: set AssetPostprocessor settings -> moved + + // Asset importing stage 2: actual import + AssetDatabase.Refresh(); + ftTextureProcessor.texSettings = new Dictionary(); + + // Asset importing stage 3: load and assign imported assets + foreach(var lmgroup in groupListGIContributingPlain) + { + if (lmgroup.vertexBake) continue; + if (lmgroup.parentName != null && lmgroup.parentName.Length > 0 && lmgroup.parentName != "|") continue; + var nm = lmgroup.name; + + var dirMode = lmgroup.renderDirMode == (int)BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)lmgroup.renderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection && lightmapHasDir[lmgroup.id]; + var rnmMode = dirMode == (int)ftRenderLightmap.RenderDirMode.RNM && lightmapHasRNM[lmgroup.id]; + var shMode = dirMode == (int)ftRenderLightmap.RenderDirMode.SH && lightmapHasRNM[lmgroup.id]; + var shModeProbe = dirMode == (int)BakeryLightmapGroup.RenderDirMode.ProbeSH && lightmapHasRNM[lmgroup.id]; + if (shModeProbe) shMode = true; + + Texture2D lm = null; + var outfile = "Assets/" + outputPathFull + "/"+nm+"_final.hdr"; + if (rnmMode) outfile = "Assets/" + outputPathFull + "/"+nm+"_RNM0.hdr"; + if (lightmapHasColor[lmgroup.id] && File.Exists(outfile)) + { + lm = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + } + + Texture2D mask = null; + if (lightmapHasMask[lmgroup.id]) + { + outfile = "Assets/" + outputPathFull + "/"+nm+"_mask" + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + if (File.Exists(outfile)) + { + mask = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + } + } + + Texture2D dirLightmap = null; + if (dominantDirMode) + { + outfile = "Assets/" + outputPathFull + "/"+nm+"_dir" + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + if (File.Exists(outfile)) + { + dirLightmap = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + } + } + + Texture2D rnmLightmap0 = null; + Texture2D rnmLightmap1 = null; + Texture2D rnmLightmap2 = null; + if (rnmMode) + { + for(int c=0; c<3; c++) + { + outfile = "Assets/" + outputPathFull + "/"+nm+"_RNM" + c + ".hdr"; + if (c == 0) rnmLightmap0 = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + if (c == 1) rnmLightmap1 = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + if (c == 2) rnmLightmap2 = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + } + } + + if (shMode) + { + outfile = "Assets/" + outputPathFull + "/"+nm+"_L0.hdr"; + lm = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + for(int c=0; c<3; c++) + { + string comp; + if (c==0) + { + comp = "x"; + } + else if (c==1) + { + comp = "y"; + } + else + { + comp = "z"; + } + outfile = "Assets/" + outputPathFull + "/"+nm+"_L1" + comp + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + if (c == 0) rnmLightmap0 = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + if (c == 1) rnmLightmap1 = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + if (c == 2) rnmLightmap2 = AssetDatabase.LoadAssetAtPath(outfile, typeof(Texture2D)) as Texture2D; + } + } + + for(int s=0; s 0) + { + for(int s=0; s(); + ftLightmapsStorage.SectorData sect = null; + for(int sc=0; sc 1 && removeDuplicateLightmaps) + { + for(int s=0; s(); + var origID2New = new Dictionary(); + for(int i=0; i storage.maps.Count) continue; + usedIDs[storage.bakedIDs[i]] = true; + } + for(int i=0; i storage.maps.Count) continue; + usedIDs[storage.bakedIDsTerrain[i]] = true; + } + var newMaps = new List(); + var newMasks = new List(); + var newDirMaps = new List(); + var newRNM0Maps = new List(); + var newRNM1Maps = new List(); + var newRNM2Maps = new List(); + var newMapsMode = new List(); + foreach(var pair in usedIDs) + { + int origID = pair.Key; + int newID = newMaps.Count; + origID2New[origID] = newID; + + newMaps.Add(storage.maps[origID]); + if (storage.masks.Count > origID) newMasks.Add(storage.masks[origID]); + if (storage.dirMaps.Count > origID) newDirMaps.Add(storage.dirMaps[origID]); + if (storage.rnmMaps0.Count > origID) + { + newRNM0Maps.Add(storage.rnmMaps0[origID]); + newRNM1Maps.Add(storage.rnmMaps1[origID]); + newRNM2Maps.Add(storage.rnmMaps2[origID]); + newMapsMode.Add(storage.mapsMode[origID]); + } + } + storage.maps = newMaps; + storage.masks = newMasks; + storage.dirMaps = newDirMaps; + storage.rnmMaps0 = newRNM0Maps; + storage.rnmMaps1 = newRNM1Maps; + storage.rnmMaps2 = newRNM2Maps; + storage.mapsMode = newMapsMode; + + for(int i=0; i storage.maps.Count) continue; + storage.bakedIDs[i] = newID; + } + + for(int i=0; i storage.maps.Count) continue; + storage.bakedIDsTerrain[i] = newID; + } + } + } + + // Patch lightmapped prefabs + //var bdataName = "BakeryPrefabLightmapData"; + var lmprefabs = FindObjectsOfType(typeof(BakeryLightmappedPrefab)) as BakeryLightmappedPrefab[]; + for(int i=0; i(); + if (pstore == null) pstore = pstoreT.gameObject.AddComponent(); + + var prenderers = p.GetComponentsInChildren(); + var pterrains = p.GetComponentsInChildren(); + var plights = p.GetComponentsInChildren(); + + var storage = storages[p.gameObject.scene]; + + pstore.bakedRenderers = new List(); + pstore.bakedIDs = new List(); + pstore.bakedScaleOffset = new List(); + pstore.bakedVertexColorMesh = new List(); + + pstore.bakedRenderersTerrain = new List(); + pstore.bakedIDsTerrain = new List(); + pstore.bakedScaleOffsetTerrain = new List(); + + pstore.bakedLights = new List(); + pstore.bakedLightChannels = new List(); + var usedIDs = new Dictionary(); + usedIDs[0] = true; // have to include ID 0 because Unity judges lightmap compression by it + + for(int j=0; j(); + pstore.masks = new List(); + pstore.dirMaps = new List(); + pstore.rnmMaps0 = new List(); + pstore.rnmMaps1 = new List(); + pstore.rnmMaps2 = new List(); + pstore.mapsMode = new List(); + foreach(var pair in usedIDs) + { + int id = pair.Key; + if (id < 0) continue; + while(pstore.maps.Count <= id) + { + pstore.maps.Add(null); + if (storage.masks.Count > pstore.masks.Count) pstore.masks.Add(null); + if (storage.dirMaps.Count > pstore.dirMaps.Count) pstore.dirMaps.Add(null); + if (storage.rnmMaps0.Count > pstore.rnmMaps0.Count) + { + pstore.rnmMaps0.Add(null); + pstore.rnmMaps1.Add(null); + pstore.rnmMaps2.Add(null); + pstore.mapsMode.Add(0); + } + } + if (storage.maps.Count > id) + { + pstore.maps[id] = storage.maps[id]; + if (pstore.masks.Count > id) pstore.masks[id] = storage.masks[id]; + if (pstore.dirMaps.Count > id) pstore.dirMaps[id] = storage.dirMaps[id]; + if (pstore.rnmMaps0.Count > id) + { + pstore.rnmMaps0[id] = storage.rnmMaps0[id]; + pstore.rnmMaps1[id] = storage.rnmMaps1[id]; + pstore.rnmMaps2[id] = storage.rnmMaps2[id]; + pstore.mapsMode[id] = storage.mapsMode[id]; + } + } + } + +#if UNITY_2018_3_OR_NEWER + // Unity 2018.3 incorrectly sets lightmap IDs when applying prefabs, UNLESS editor is focused + DebugLogInfo("Waiting for Unity editor focus..."); + bool focused = false; + while(!focused) + { + var wnd = GetForegroundWindow(); + while(wnd != (System.IntPtr)0) + { + if (wnd == unityEditorHWND) + { + focused = true; + break; + } + wnd = GetParent(wnd); + } + yield return null; + } +#endif + + PrefabUtility.ReplacePrefab(p.gameObject, PrefabUtility.GetPrefabParent(p.gameObject), ReplacePrefabOptions.ConnectToPrefab); + DebugLogInfo("Patched prefab " + p.name); + } + + ftLightmaps.RefreshFull(); + } + + static void MergeSectorsUpdate() + { + if (loadedScenes != null) + { + if ( (loadedScenes.Count > EditorSceneManager.sceneCount || EditorSceneManager.GetSceneAt(0).path.Length == 0)) + { + DebugLogInfo("MergeSectors: waiting for scenes..."); + return; + } + MergeSectors(); + DebugLogInfo("MergeSectors: done"); + } + EditorApplication.update -= MergeSectorsUpdate; + } + + static void MergeSectorsDeferred() + { + EditorApplication.update += MergeSectorsUpdate; + } + + static public void MergeSectors() + { + int sceneCount = EditorSceneManager.sceneCount; + CollectStorages(); + + for(int s=0; s(); + var newMasks = new List(); + var newDirMaps = new List(); + var newRNM0Maps = new List(); + var newRNM1Maps = new List(); + var newRNM2Maps = new List(); + var newMapsMode = new List(); + var newBakedRenderers = new List(); + var newBakedRenderersTerrain = new List(); + var newBakedIDs = new List(); + var newBakedIDsTerrain = new List(); + var newBakedScaleOffset = new List(); + var newBakedScaleOffsetTerrain = new List(); + var newBakedVertexColorMesh = new List(); + HashSet nonBakedSet = null; + bool anyMasks = false; + bool anyDirMaps = false; + bool anyRNMMaps = false; + int maxMapCount = 0; + for(int sc=0; sc 0) anyMasks = true; + if (sect.dirMaps != null && sect.dirMaps.Count > 0) anyDirMaps = true; + if (sect.rnmMaps0 != null && sect.rnmMaps0.Count > 0) anyRNMMaps = true; + + if (sect.maps != null) maxMapCount = System.Math.Max(maxMapCount, sect.maps.Count); + } + + var idRemap = new int[maxMapCount]; + + var rendererSet = new HashSet(); + var terrainSet = new HashSet(); + + for(int sc=storage.sectors.Count-1; sc>=0; sc--) // revert order because newest sectors have priority over the global sector + //for(int sc=0; sc 0); + bool hasDirMaps = (sect.dirMaps != null && sect.dirMaps.Count > 0); + bool hasRNMMaps = (sect.rnmMaps0 != null && sect.rnmMaps0.Count > 0); + for(int j=0; j= 0) + { + idRemap[j] = exists; + continue; + } + + idRemap[j] = newMaps.Count; + newMaps.Add(sect.maps[j]); + + bool has = hasMasks && sect.masks.Count > j; + if (anyMasks) newMasks.Add(has ? sect.masks[j] : null); + + has = hasDirMaps && sect.dirMaps.Count > j; + if (anyDirMaps) + { + newDirMaps.Add(has ? sect.dirMaps[j] : null); + } + + if (anyRNMMaps) + { + has = hasRNMMaps && sect.rnmMaps0.Count > j; + newRNM0Maps.Add(has ? sect.rnmMaps0[j] : null); + newRNM1Maps.Add(has ? sect.rnmMaps1[j] : null); + newRNM2Maps.Add(has ? sect.rnmMaps2[j] : null); + newMapsMode.Add(has ? sect.mapsMode[j] : 0); + } + } + + for(int j=0; j j ? sect.bakedVertexColorMesh[j] : null); + + int id = sect.bakedIDs[j]; + if (id >= 0 && id != 0xFFFF) + { + if (idRemap.Length > id) id = idRemap[id]; + } + newBakedIDs.Add(id); + } + for(int j=0; j= 0 && id != 0xFFFF) + { + if (idRemap.Length > id) id = idRemap[id]; + } + newBakedIDsTerrain.Add(id); + } + + if (nonBakedSet == null) + { + nonBakedSet = new HashSet(sect.nonBakedRenderers); + } + else + { + nonBakedSet.IntersectWith(sect.nonBakedRenderers); + } + } + storage.maps = newMaps; + storage.masks = newMasks; + storage.dirMaps = newDirMaps; + storage.rnmMaps0 = newRNM0Maps; + storage.rnmMaps1 = newRNM1Maps; + storage.rnmMaps2 = newRNM2Maps; + storage.mapsMode = newMapsMode; + storage.bakedRenderers = newBakedRenderers; + storage.bakedRenderersTerrain = newBakedRenderersTerrain; + storage.bakedIDs = newBakedIDs; + storage.bakedIDsTerrain = newBakedIDsTerrain; + storage.bakedScaleOffset = newBakedScaleOffset; + storage.bakedScaleOffsetTerrain = newBakedScaleOffsetTerrain; + storage.bakedVertexColorMesh = newBakedVertexColorMesh; + storage.nonBakedRenderers = new List(nonBakedSet); + + EditorUtility.SetDirty(storage); + EditorSceneManager.MarkAllScenesDirty(); + + ftLightmaps.RefreshFull(); + } + } + + void FindAllReflectionProbesAndDisable() + { + var found = FindObjectsOfType(typeof(ReflectionProbe))as ReflectionProbe[]; + for(int i = 0; i < found.Length; i++) + { + reflectionProbes.Add(found[i]); + found[i].enabled = false; + } + } + + void ReEnableReflectionProbes() + { + for(int i = 0; i < reflectionProbes.Count; i++) + { + if (reflectionProbes[i] != null) reflectionProbes[i].enabled = true; + } + } + + public static int GetID(Object obj) + { + int uid = ftUniqueIDRegistry.GetUID(obj.GetInstanceID()); + if (uid == -1) + { + var s = (obj as GameObject).GetComponent(); + if (s != null) s.Start(); + var d = (obj as GameObject).GetComponent(); + if (d != null) d.Start(); + var p = (obj as GameObject).GetComponent(); + if (p != null) p.Start(); + var l = (obj as GameObject).GetComponent(); + if (l != null) l.Start(); + + uid = ftUniqueIDRegistry.GetUID(obj.GetInstanceID()); + if (uid == -1) + { + Debug.LogError("GetUID failed for " + obj.name); + } + } + return uid; + } + + string GetLightName(GameObject obj, int lmid) + { + return "light_" + GetID(obj) + "_" + lmid; + } + + bool IsLightDirty(BakeryLightMesh light) + { + if (forceRefresh) return true; + + storage = storages[light.gameObject.scene]; + ftLightmapsStorage.LightData data; + if (!storage.lightsDict.TryGetValue(GetID(light.gameObject), out data)) { + return true; // not stored + } + + if (light.color != data.color) { + return true; + } + if (light.intensity != data.intensity) { + return true; + } + if (light.cutoff != data.range) { + return true; + } + if (light.samples != data.samples) { + return true; + } + if (light.samples2 != data.samples2) { + return true; + } + if (light.selfShadow != data.selfShadow) { + return true; + } + if (light.bakeToIndirect != data.bakeToIndirect) { + return true; + } + + var tform1 = light.GetComponent().localToWorldMatrix; + var tform2 = data.tform; + for(int y=0; y<4; y++) { + for(int x=0; x<4; x++) { + if (tform1[x,y] != tform2[x,y]) { + return true; + } + } + } + + return false; + } + + bool IsLightDirty(BakeryPointLight light) + { + if (forceRefresh) return true; + + storage = storages[light.gameObject.scene]; + ftLightmapsStorage.LightData data; + if (!storage.lightsDict.TryGetValue(GetID(light.gameObject), out data)) { + return true; // not stored + } + + if (light.color != data.color) { + return true; + } + if (light.intensity != data.intensity) { + return true; + } + if (light.cutoff != data.range) { + return true; + } + if (light.shadowSpread != data.radius) { + return true; + } + if (light.samples != data.samples) { + return true; + } + if (light.realisticFalloff != data.realisticFalloff) + { + return true; + } + if ((int)light.projMode != data.projMode) + { + return true; + } + Object cookie = null; + if (light.projMode == BakeryPointLight.ftLightProjectionMode.Cubemap) + { + cookie = light.cubemap; + } else if (light.projMode == BakeryPointLight.ftLightProjectionMode.Cookie) + { + cookie = light.cookie; + } else if (light.projMode == BakeryPointLight.ftLightProjectionMode.IES) + { + cookie = light.iesFile; + } + if (cookie != data.cookie) return true; + + if (light.angle != data.angle) return true; + + if (light.bakeToIndirect != data.bakeToIndirect) { + return true; + } + + //if (light.texName != data.texName) return true; + + var tform1 = light.GetComponent().localToWorldMatrix; + var tform2 = data.tform; + for(int y=0; y<4; y++) { + for(int x=0; x<4; x++) { + if (tform1[x,y] != tform2[x,y]) { + return true; + } + } + } + + return false; + } + + public static bool IsLightDirty(BakeryDirectLight light) + { + if (forceRefresh) return true; + + storage = storages[light.gameObject.scene]; + ftLightmapsStorage.LightData data; + if (!storage.lightsDict.TryGetValue(GetID(light.gameObject), out data)) return true; // not stored + + if (light.color != data.color) { + return true; + } + if (light.intensity != data.intensity) { + return true; + } + if (light.shadowSpread != data.radius) { + return true; + } + if (light.samples != data.samples) { + return true; + } + + if (light.bakeToIndirect != data.bakeToIndirect) { + return true; + } + + var tform1 = light.GetComponent().localToWorldMatrix; + var tform2 = data.tform; + for(int y=0; y<4; y++) { + for(int x=0; x<4; x++) { + if (tform1[x,y] != tform2[x,y]) { + return true; + } + } + } + + return false; + } + + bool IsLightDirty(BakerySkyLight light) + { + if (forceRefresh) return true; + + storage = storages[light.gameObject.scene]; + ftLightmapsStorage.LightData data; + if (!storage.lightsDict.TryGetValue(GetID(light.gameObject), out data)) return true; // not stored + + if (light.color != data.color) return true; + if (light.intensity != data.intensity) return true; + //if (light.texName != data.texName) return true; + if (light.samples != data.samples) { + return true; + } + if (light.bakeToIndirect != data.bakeToIndirect) { + return true; + } + if (light.cubemap != data.cookie) + { + return true; + } + + return false; + } + + void StoreLight(BakeryLightMesh light) + { + storage = storages[light.gameObject.scene]; + ftLightmapsStorage.LightData data; + int uid = GetID(light.gameObject); + if (!storage.lightsDict.TryGetValue(uid, out data) || data == null) + { + data = new ftLightmapsStorage.LightData(); + storage.StoreLight(uid, data); + } + data.color = light.color; + data.intensity = light.intensity; + data.range = light.cutoff; + data.samples = light.samples; + data.samples2 = light.samples2; + data.selfShadow = light.selfShadow; + data.bakeToIndirect = light.bakeToIndirect; + data.tform = light.GetComponent().localToWorldMatrix; + } + + void StoreLight(BakeryPointLight light) + { + storage = storages[light.gameObject.scene]; + ftLightmapsStorage.LightData data; + int uid = GetID(light.gameObject); + if (!storage.lightsDict.TryGetValue(uid, out data) || data == null) + { + data = new ftLightmapsStorage.LightData(); + storage.StoreLight(uid, data); + } + //var unityLight = light.GetComponent(); + data.color = light.color; + data.intensity = light.intensity; + data.radius = light.shadowSpread; + data.range = light.cutoff; + data.samples = light.samples; + data.bakeToIndirect = light.bakeToIndirect; + + data.realisticFalloff = light.realisticFalloff; + data.projMode = (int)light.projMode; + if (light.projMode == BakeryPointLight.ftLightProjectionMode.Cubemap) + { + data.cookie = light.cubemap; + } else if (light.projMode == BakeryPointLight.ftLightProjectionMode.Cookie) + { + data.cookie = light.cookie; + } else if (light.projMode == BakeryPointLight.ftLightProjectionMode.IES) + { + data.cookie = light.iesFile; + } + data.angle = light.angle; + + //data.texName = light.texName; // TODO: check for cubemap! (and sky too) + data.tform = light.GetComponent().localToWorldMatrix; + } + + void StoreLight(BakeryDirectLight light) + { + storage = storages[light.gameObject.scene]; + ftLightmapsStorage.LightData data; + int uid = GetID(light.gameObject); + if (!storage.lightsDict.TryGetValue(uid, out data) || data == null) + { + data = new ftLightmapsStorage.LightData(); + storage.StoreLight(uid, data); + } + data.color = light.color; + data.intensity = light.intensity; + data.radius = light.shadowSpread; + data.samples = light.samples; + data.bakeToIndirect = light.bakeToIndirect; + data.tform = light.GetComponent().localToWorldMatrix; + } + + void StoreLight(BakerySkyLight light) + { + storage = storages[light.gameObject.scene]; + ftLightmapsStorage.LightData data; + int uid = GetID(light.gameObject); + if (!storage.lightsDict.TryGetValue(uid, out data) || data == null) + { + data = new ftLightmapsStorage.LightData(); + storage.StoreLight(uid, data); + } + data.color = light.color; + data.intensity = light.intensity; + data.range = 0; + data.samples = light.samples; + data.bakeToIndirect = light.bakeToIndirect; + data.tform = Matrix4x4.identity; + //data.texName = light.texName; + data.cookie = light.cubemap; + } + + void UpdateLightmapShadowmaskFromPointLight(BakeryPointLight obj, int LMID, string lname, string lmname) + { + if (userRenderMode == RenderMode.Shadowmask && obj.shadowmask) + { + var ulht = obj.GetComponent(); + if (ulht == null) + { + DebugLogWarning("Light " + obj.name + " set to shadowmask, but doesn't have real-time light");; + } + else + { + UpdateMaskArray(LMID, lname, lmname, ulht, false); + } + } + } + + bool WriteCompFiles(BakeryPointLight obj, ComposeInstructionFiles cif, string lname, int rmode, bool dominantDirMode, bool rnmMode, bool shMode) + { + bool usesIndirectIntensity = false; + + cif.fcomp.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + if (bounces > 0) + { + cif.fcomp.Write(obj.indirectIntensity * hackIndirectBoost); + if (Mathf.Abs(obj.indirectIntensity - 1.0f) > 0.01f) usesIndirectIntensity = true; + } + + if ((rmode == (int)RenderMode.Indirect || rmode == (int)RenderMode.Shadowmask) + && obj.bakeToIndirect) + { + cif.fcompIndirect.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + if (cif.fcompDirIndirect != null) + { + cif.fcompDirIndirect.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDirIndirect.Write(lname + "_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + } + + bool rmodeFullLight = (rmode == (int)RenderMode.FullLighting || rmode == (int)RenderMode.Subtractive); + + if (dominantDirMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompDir.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDir.Write(lname + "_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (rnmMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompRNM0.Write(lname + "_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM1.Write(lname + "_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM2.Write(lname + "_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (shMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompSH.Write(lname + "_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM3" + (compressedOutput ? ".lz4" : ".dds")); + } + + return usesIndirectIntensity; + } + + void AddPointLightCommandLine(string renderMode, string lname, string settingsFile, string progressText, int LMID, BakeryPointLight obj, + int rmode, bool dominantDirMode, bool rnmMode, bool shMode, bool shModeProbe) + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + + bool rmodeFullLight = (rmode == (int)RenderMode.FullLighting || rmode == (int)RenderMode.Subtractive); + + int passes = PASS_HALF; + if (dominantDirMode && (rmodeFullLight || obj.bakeToIndirect)) + { + passes |= PASS_DIRECTION; + } + else if (rnmMode && (rmodeFullLight || obj.bakeToIndirect)) + { + renderMode += "rnm"; + if (bounces == 0) passes = 0; + passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2; + } + else if (shMode && (rmodeFullLight || obj.bakeToIndirect)) + { + renderMode += shModeProbe ? "probesh" : "sh"; + if (bounces == 0) passes = 0; + passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2 | PASS_RNM3; + } + if (userRenderMode == RenderMode.Shadowmask && obj.shadowmask) + { + passes |= PASS_MASK; + if (currentGroup.transparentSelfShadow) passes |= PASS_MASK1; + } + + startInfo.Arguments = renderMode + " " + scenePathQuoted + " \"" + lname + "\" " + passes + " " + 0 + " " + LMID + " " + settingsFile; + + deferredFileSrc.Add("");//scenePath + "/pointlight" + i + ".bin"); + deferredFileDest.Add("");//scenePath + "/pointlight.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + + string PrepareBatchPointLight(int start, int end, int LMID, bool[] skipLight, ComposeInstructionFiles cif, int rmode, bool dominantDirMode, bool rnmMode, bool shMode, ref bool usesIndirectIntensity) + { + string lname = "PointBatch_" + LMID + "_" + start + "_" + end; + bool first = true; + //Debug.LogError("----- Group:"); + for(int j=start; j<=end; j++) + { + if (skipLight[j]) continue; + + //Debug.LogError(AllP[j]); + + // For every light in a batch + UpdateLightmapShadowmaskFromPointLight(AllP[j], LMID, lname, currentGroup.name); + if (first) + { + // Once for the whole batch + if (WriteCompFiles(AllP[j], cif, lname, rmode, dominantDirMode, rnmMode, shMode)) usesIndirectIntensity = true; + first = false; + } + } + return lname; + } + + class ComposeInstructionFiles + { + public BinaryWriter fcomp = null; + public BinaryWriter fcompIndirect = null; + public BinaryWriter fcompDir = null; + public BinaryWriter fcompDirIndirect = null; + public BinaryWriter fcompRNM0 = null; + public BinaryWriter fcompRNM1 = null; + public BinaryWriter fcompRNM2 = null; + public BinaryWriter fcompSH = null; + + public void Close() + { + if (fcomp != null) fcomp.Close(); + if (fcompIndirect != null) fcompIndirect.Close(); + if (fcompDirIndirect != null) fcompDirIndirect.Close(); + if (fcompDir != null) fcompDir.Close(); + if (fcompRNM0 != null) fcompRNM0.Close(); + if (fcompRNM1 != null) fcompRNM1.Close(); + if (fcompRNM2 != null) fcompRNM2.Close(); + if (fcompSH != null) fcompSH.Close(); + } + } + + IEnumerator RenderLMDirect(int LMID, string lmname, int resolution) + { + System.Diagnostics.ProcessStartInfo startInfo; + //System.Diagnostics.Process exeProcess; + + bool doCompose = exeMode; + + var cif = new ComposeInstructionFiles(); + + long fcompStartPos = 0; + bool usesIndirectIntensity = Mathf.Abs(hackIndirectBoost - 1.0f) > 0.001f; + var rmode = currentGroup.renderMode == BakeryLightmapGroup.RenderMode.Auto ? (int)userRenderMode : (int)currentGroup.renderMode; + var dirMode = currentGroup.renderDirMode == BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)currentGroup.renderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection; + var rnmMode = dirMode == (int)ftRenderLightmap.RenderDirMode.RNM; + var shMode = dirMode == (int)ftRenderLightmap.RenderDirMode.SH; + var shModeProbe = dirMode == (int)BakeryLightmapGroup.RenderDirMode.ProbeSH; + if (shModeProbe) shMode = true; + + if (rmode == (int)RenderMode.AmbientOcclusionOnly) + { + if (dominantDirMode) lightmapHasDir[LMID] = true; + yield break; + } + + bool rmodeFullLight = (rmode == (int)RenderMode.FullLighting || rmode == (int)RenderMode.Subtractive); + + lightmapHasMask[LMID] = false; + + if (doCompose) + { + var fcompName = "comp_" + LMID + ".bin"; + cif.fcomp = new BinaryWriter(File.Open(scenePath + "/" + fcompName, FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add(fcompName); + if (bounces > 0) + { + cif.fcomp.Write(false); + cif.fcomp.Write("uvalbedo_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + + if (storage.hasEmissive.Count > LMID && storage.hasEmissive[LMID]) + { + cif.fcomp.Write("uvemissive_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + } + else + { + cif.fcomp.Write(""); + } + } + + if (rmode == (int)RenderMode.Indirect || rmode == (int)RenderMode.Shadowmask) + { + cif.fcompIndirect = new BinaryWriter(File.Open(scenePath + "/comp_indirect" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("comp_indirect" + LMID + ".bin"); + if (bounces > 0) + { + cif.fcompIndirect.Write(lmname + "_final_HDR2" + (compressedOutput ? ".lz4" : ".dds")); + } + if (dominantDirMode) + { + cif.fcompDirIndirect = new BinaryWriter(File.Open(scenePath + "/dircomp_indirect" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("dircomp_indirect" + LMID + ".bin"); + cif.fcompDirIndirect.Write("uvnormal_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + if (bounces > 0) + { + cif.fcompDirIndirect.Write(lmname + "_final_HDR2" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDirIndirect.Write(lmname + "_final_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + } + } + if (dominantDirMode) + { + cif.fcompDir = new BinaryWriter(File.Open(scenePath + (deferredMode ? "/dircomp_" + LMID + ".bin" : "/dircomp.bin"), FileMode.Create)); + cif.fcompDir.Write("uvnormal_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + if (clientMode) ftClient.serverFileList.Add("dircomp_" + LMID + ".bin"); + } + if (rnmMode) + { + cif.fcompRNM0 = new BinaryWriter(File.Open(scenePath + (deferredMode ? "/rnm0comp_" + LMID + ".bin" : "/rnm0comp.bin"), FileMode.Create)); + cif.fcompRNM1 = new BinaryWriter(File.Open(scenePath + (deferredMode ? "/rnm1comp_" + LMID + ".bin" : "/rnm1comp.bin"), FileMode.Create)); + cif.fcompRNM2 = new BinaryWriter(File.Open(scenePath + (deferredMode ? "/rnm2comp_" + LMID + ".bin" : "/rnm2comp.bin"), FileMode.Create)); + + if (clientMode) + { + ftClient.serverFileList.Add("rnm0comp_" + LMID + ".bin"); + ftClient.serverFileList.Add("rnm1comp_" + LMID + ".bin"); + ftClient.serverFileList.Add("rnm2comp_" + LMID + ".bin"); + } + + if (bounces > 0) + { + cif.fcompRNM0.Write(lmname + "_final_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM1.Write(lmname + "_final_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM2.Write(lmname + "_final_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + } + } + if (shMode) + { + cif.fcompSH = new BinaryWriter(File.Open(scenePath + (deferredMode ? "/shcomp_" + LMID + ".bin" : "/shcomp.bin"), FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("shcomp_" + LMID + ".bin"); + if (bounces > 0) + { + cif.fcompSH.Write(lmname + "_final_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lmname + "_final_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lmname + "_final_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lmname + "_final_RNM3" + (compressedOutput ? ".lz4" : ".dds")); + } + if (currentGroup.computeSSS) + { + cif.fcompSH.Write(lmname + "_SSS_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lmname + "_SSS_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lmname + "_SSS_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lmname + "_SSS_RNM3" + (compressedOutput ? ".lz4" : ".dds")); + } + } + } + fcompStartPos = cif.fcomp.BaseStream.Position; + + // Area lights + for(int i=0; i(); + if (lmr == null && lma == null) continue; + + if (lma != null && ftLightMeshInspector.IsArea(lma)) + { + lmr = null; + } + else + { + lma = null; + } + + Bounds lBounds; + Vector3[] corners = null; + if (lma != null) + { + corners = ftLightMeshInspector.GetAreaLightCorners(lma); + lBounds = new Bounds(corners[0], Vector3.zero); + lBounds.Encapsulate(corners[1]); + lBounds.Encapsulate(corners[2]); + lBounds.Encapsulate(corners[3]); + } + else + { + var lmrState = lmr.enabled; + lmr.enabled = true; + lBounds = lmr.bounds; + lmr.enabled = lmrState; + } + + lBounds.Expand(new Vector3(obj.cutoff, obj.cutoff, obj.cutoff)); + if (!lBounds.Intersects(storage.bounds[LMID])) continue; + + var lname = GetLightName(obj.gameObject, LMID); + if (doCompose) + { + cif.fcomp.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + if (bounces > 0) + { + cif.fcomp.Write(obj.indirectIntensity * hackIndirectBoost); + if (Mathf.Abs(obj.indirectIntensity - 1.0f) > 0.01f) usesIndirectIntensity = true; + } + + if ((rmode == (int)RenderMode.Indirect || rmode == (int)RenderMode.Shadowmask) + && obj.bakeToIndirect) + { + cif.fcompIndirect.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + if (cif.fcompDirIndirect != null) + { + cif.fcompDirIndirect.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDirIndirect.Write(lname + "_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + } + } + + string renderMode; + int passes = PASS_HALF; + if (dominantDirMode && (rmodeFullLight || obj.bakeToIndirect)) + { + renderMode = obj.texture == null ? "arealightdir" : "texarealightdir"; + passes |= PASS_DIRECTION; + + cif.fcompDir.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDir.Write(lname + "_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (rnmMode && (rmodeFullLight || obj.bakeToIndirect)) + { + renderMode = obj.texture == null ? "arealightrnm" : "texarealightrnm"; + if (bounces == 0) passes = 0; + passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2; + + cif.fcompRNM0.Write(lname + "_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM1.Write(lname + "_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM2.Write(lname + "_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (shMode && (rmodeFullLight || obj.bakeToIndirect)) + { + if (shModeProbe) { + renderMode = obj.texture == null ? "arealightprobesh" : "texarealightprobesh"; + } else { + renderMode = obj.texture == null ? "arealightsh" : "texarealightsh"; + } + if (bounces == 0) passes = 0; + passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2 | PASS_RNM3; + + cif.fcompSH.Write(lname + "_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM3" + (compressedOutput ? ".lz4" : ".dds")); + } + else + { + renderMode = obj.texture == null ? "arealight" : "texarealight"; + } + + if (!performRendering) continue; + + ftBuildLights.BuildLight(obj, SampleCount(obj.samples), corners, deferredMode ? ("lights" + i + ".bin") : "lights.bin"); + + + var pth = scenePath + "/" + lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds"); + if (!IsLightDirty(obj) && File.Exists(pth)) continue;// && new FileInfo(pth).Length == 128+size*size*8) continue; + + string progressText = "Rendering area light " + obj.name + " for " + lmname + "..."; + if (!deferredMode) ProgressBarShow(progressText, (progressStepsDone / (float)progressSteps), true); + if (userCanceled) + { + if (doCompose) + { + cif.fcomp.Close(); + if (cif.fcompIndirect != null) cif.fcompIndirect.Close(); + if (cif.fcompDirIndirect != null) cif.fcompDirIndirect.Close(); + if (cif.fcompDir != null) cif.fcompDir.Close(); + if (cif.fcompRNM0 != null) cif.fcompRNM0.Close(); + if (cif.fcompRNM1 != null) cif.fcompRNM1.Close(); + if (cif.fcompRNM2 != null) cif.fcompRNM2.Close(); + if (cif.fcompSH != null) cif.fcompSH.Close(); + } + yield break; + } + yield return null; + + DebugLogInfo("Preparing light " + obj.name + "..."); + + int errCode = 0; + if (exeMode) + { + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + /*if (userRenderMode == RenderMode.Shadowmask && obj.shadowmask) + { + passes |= PASS_MASK; + }*/ + startInfo.Arguments = renderMode + " " + scenePathQuoted + " \"" + lname + "\" " + passes + " " + 0 + " " + LMID + " lights" + i + ".bin"; + + if (deferredMode) + { + deferredFileSrc.Add("");//scenePath + "/lights" + i + ".bin"); + deferredFileDest.Add("");//scenePath + "/lights.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + else + { + /*Debug.Log("Running ftrace " + startInfo.Arguments); + exeProcess = System.Diagnostics.Process.Start(startInfo); + exeProcess.WaitForExit(); + errCode = exeProcess.ExitCode;*/ + } + } + if (errCode != 0) + { + DebugLogError("ftrace error: " + ftErrorCodes.TranslateFtrace(errCode, rtxMode)); + userCanceled = true; + if (doCompose) + { + cif.fcomp.Close(); + if (cif.fcompIndirect != null) cif.fcompIndirect.Close(); + if (cif.fcompDirIndirect != null) cif.fcompDirIndirect.Close(); + if (cif.fcompDir != null) cif.fcompDir.Close(); + if (cif.fcompRNM0 != null) cif.fcompRNM0.Close(); + if (cif.fcompRNM1 != null) cif.fcompRNM1.Close(); + if (cif.fcompRNM2 != null) cif.fcompRNM2.Close(); + if (cif.fcompSH != null) cif.fcompSH.Close(); + } + yield break;//return false; + } + + //StoreLight(obj); + } + + // Point lights + int start = 0; + int end = 0; + int sampleCounter = 0; + int channel = -1; + bool bakeToIndirect = false; + float indirectIntensity = 1.0f; + bool[] skipLight = null; + int addedLights = 0; + if (ftAdditionalConfig.batchPointLights) + { + if (AllP.Length > 0) + { + channel = GetShadowmaskChannel(AllP[0]); + bakeToIndirect = AllP[0].bakeToIndirect; + indirectIntensity = AllP[0].indirectIntensity; + } + skipLight = new bool[AllP.Length]; + } + for(int i=0; i().range * 2; + var lBounds = new Bounds(obj.transform.position, new Vector3(boundsRange, boundsRange, boundsRange)); + if (!lBounds.Intersects(storage.bounds[LMID])) continue; + + string lname = ""; + string settingsFile = ""; + + // Split in batches if needed + bool bakeBatch = false; + if (ftAdditionalConfig.batchPointLights) + { + skipLight[i] = false; + addedLights++; + bool split = false; + + // Split by bakeToIndirect + if (AllP[i].bakeToIndirect != bakeToIndirect) + { + split = true; + bakeToIndirect = AllP[i].bakeToIndirect; + } + + // Split by indirectIntensity + if (AllP[i].indirectIntensity != indirectIntensity) + { + split = true; + indirectIntensity = AllP[i].indirectIntensity; + } + + // Split by shadowmask channel + var objChannel = GetShadowmaskChannel(AllP[i]); + if (objChannel != channel) + { + split = true; + channel = objChannel; + } + + // Split by count + int newSampleCount = sampleCounter + AllP[i].samples; + if (newSampleCount > maxSamplesPerPointLightBatch) + { + split = true; + sampleCounter = 0; + } + sampleCounter += AllP[i].samples; + + if (split) + { + end = i-1; + lname = PrepareBatchPointLight(start, end, LMID, skipLight, cif, rmode, dominantDirMode, rnmMode, shMode, ref usesIndirectIntensity); + settingsFile = "batchpointlight_" + LMID + "_" + start + "_" + end + ".bin"; + bakeBatch = true; + } + } + else + { + // Update shadowmask settings for LMGroup + lname = GetLightName(obj.gameObject, LMID); + UpdateLightmapShadowmaskFromPointLight(obj, LMID, lname, lmname); + + // Update composing instructions + if (WriteCompFiles(obj, cif, lname, rmode, dominantDirMode, rnmMode, shMode)) usesIndirectIntensity = true; + + settingsFile = "pointlight" + i + ".bin"; + } + + if (!performRendering) continue; + + if (ftAdditionalConfig.batchPointLights) + { + if (bakeBatch) + { + // Export batch light data and textures + bool isError = ftBuildLights.BuildLights(AllP, start, end, skipLight, sampleDivisor, false, settingsFile); // TODO: dirty tex detection!! + if (isError) + { + userCanceled = true; + cif.Close(); + yield break; + } + + // Cancel + if (userCanceled) + { + cif.Close(); + yield break; + } + yield return null; + + // Generate batch command line + string renderMode = "batchpointlight"; + string progressText = "Rendering point light batch (" + (start) + "-" + (end) + ") for " + lmname + "..."; + AddPointLightCommandLine(renderMode, lname, settingsFile, progressText, LMID, AllP[start], rmode, dominantDirMode, rnmMode, shMode, shModeProbe); + + start = i; + } + } + else + { + // Export light data and textures + bool isError = ftBuildLights.BuildLight(obj, SampleCount(obj.samples), true, false, settingsFile); // TODO: dirty tex detection!! + if (isError) + { + userCanceled = true; + cif.Close(); + yield break; + } + if (obj.projMode != 0) + { + //yield return new WaitForEndOfFrame(); + //yield return new WaitForSeconds(1); // ????? + yield return null; + } + + // Check if "update unmodified lights" is off, and this light was modified + var pth = scenePath + "/" + lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds"); + if (!IsLightDirty(obj) && File.Exists(pth)) continue;// && new FileInfo(pth).Length == 128+size*size*8) continue; + + // Get ftrace rendermode + string renderMode = GetPointLightRenderMode(obj); + + // Progressbar + string progressText = "Rendering point light " + obj.name + " for " + lmname + "..."; + + // Cancel + if (userCanceled) + { + cif.Close(); + yield break; + } + yield return null; + + // Generate command line + AddPointLightCommandLine(renderMode, lname, settingsFile, progressText, LMID, AllP[i], rmode, dominantDirMode, rnmMode, shMode, shModeProbe); + } + } + if (ftAdditionalConfig.batchPointLights && addedLights > 0) + { + end = AllP.Length-1; + string lname = PrepareBatchPointLight(start, end, LMID, skipLight, cif, rmode, dominantDirMode, rnmMode, shMode, ref usesIndirectIntensity); + string settingsFile = "batchpointlight_" + LMID + "_" + start + "_" + end + ".bin"; + string renderMode = "batchpointlight"; + string progressText = "Rendering point light batch (" + (start) + "-" + (end) + ") for " + lmname + "..."; + bool isError = ftBuildLights.BuildLights(AllP, start, end, skipLight, sampleDivisor, false, settingsFile); // TODO: dirty tex detection!! + if (isError) + { + userCanceled = true; + cif.Close(); + yield break; + } + AddPointLightCommandLine(renderMode, lname, settingsFile, progressText, LMID, AllP[start], rmode, dominantDirMode, rnmMode, shMode, shModeProbe); + } + + // Skylight + for(int i=0; i 0) + { + cif.fcomp.Write(obj.indirectIntensity * hackIndirectBoost); + if (Mathf.Abs(obj.indirectIntensity - 1.0f) > 0.01f) usesIndirectIntensity = true; + } + + if ((rmode == (int)RenderMode.Indirect || rmode == (int)RenderMode.Shadowmask) + && obj.bakeToIndirect) + { + cif.fcompIndirect.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + if (cif.fcompDirIndirect != null) + { + cif.fcompDirIndirect.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDirIndirect.Write(lname + "_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + } + + if (dominantDirMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompDir.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDir.Write(lname + "_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (rnmMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompRNM0.Write(lname + "_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM1.Write(lname + "_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM2.Write(lname + "_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (shMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompSH.Write(lname + "_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM3" + (compressedOutput ? ".lz4" : ".dds")); + } + } + + if (!performRendering) continue; + + /* + if (!storage.skylights.Contains(obj)) + { + storage.skylights.Add(obj); + storage.skylightsDirty.Add(true); + } + var skylightIndex = storage.skylights.IndexOf(obj); + */ + var texDirty = obj.cubemap != null;//true;//storage.skylightsDirty[skylightIndex]; + + ftBuildLights.BuildSkyLight(obj, SampleCount(obj.samples), texDirty, deferredMode ? "sky" + i + ".bin" : "sky.bin"); + + if (texDirty) + { + //yield return new WaitForEndOfFrame(); + yield return new WaitForSeconds(1); + } + + //storage.skylightsDirty[skylightIndex] = false; + + var pth = scenePath + "/" + lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds"); + if (!IsLightDirty(obj) && File.Exists(pth)) continue;// && new FileInfo(pth).Length == 128+size*size*8) continue; + + string progressText = "Rendering sky light " + obj.name + " for " + lmname + "..."; + if (!deferredMode) ProgressBarShow(progressText, (progressStepsDone / (float)progressSteps), true); + if (userCanceled) + { + if (doCompose) + { + cif.fcomp.Close(); + if (cif.fcompIndirect != null) cif.fcompIndirect.Close(); + if (cif.fcompDirIndirect != null) cif.fcompDirIndirect.Close(); + if (cif.fcompDir != null) cif.fcompDir.Close(); + if (cif.fcompRNM0 != null) cif.fcompRNM0.Close(); + if (cif.fcompRNM1 != null) cif.fcompRNM1.Close(); + if (cif.fcompRNM2 != null) cif.fcompRNM2.Close(); + if (cif.fcompSH != null) cif.fcompSH.Close(); + } + yield break; + } + yield return null; + + var bakeDir = (dominantDirMode && (rmodeFullLight || obj.bakeToIndirect)); + var bakeRNM = (rnmMode && (rmodeFullLight || obj.bakeToIndirect)); + var bakeSH = (shMode && (rmodeFullLight || obj.bakeToIndirect)); + string renderMode; + if (obj.cubemap != null) + { + if (bakeDir) + { + renderMode = "skycubemapdir"; + } + else if (bakeRNM) + { + renderMode = "skycubemaprnm"; + } + else if (bakeSH) + { + renderMode = shModeProbe ? "skycubemapprobesh" : "skycubemapsh"; + } + else + { + renderMode = "skycubemap"; + } + } + else + { + if (bakeDir) + { + renderMode = "skydir"; + } + else if (bakeRNM) + { + renderMode = "skyrnm"; + } + else if (bakeSH) + { + renderMode = obj.tangentSH ? "skytangentsh" : (shModeProbe ? "skyprobesh" : "skysh"); + } + else + { + renderMode = "sky"; + } + } + + int errCode = 0; + if (exeMode) + { + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + int passes = PASS_HALF; + if (bakeDir) passes |= PASS_DIRECTION; + if ((bakeRNM || bakeSH) && bounces == 0) passes = 0; + if (bakeRNM) passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2; + if (bakeSH) passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2 | PASS_RNM3; + startInfo.Arguments = renderMode + " " + scenePathQuoted + " \"" + lname + "\" " + passes + " " + 0 + " " + LMID + " sky" + i + ".bin"; + + if (deferredMode) + { + deferredFileSrc.Add("");//scenePath + "/sky" + i + ".bin"); + deferredFileDest.Add("");//scenePath + "/sky.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + else + { + /*Debug.Log("Running ftrace " + startInfo.Arguments); + exeProcess = System.Diagnostics.Process.Start(startInfo); + exeProcess.WaitForExit(); + errCode = exeProcess.ExitCode;*/ + } + } + + if (errCode != 0) + { + DebugLogError("ftrace error: "+ftErrorCodes.TranslateFtrace(errCode, rtxMode)); + userCanceled = true; + if (doCompose) + { + cif.fcomp.Close(); + if (cif.fcompIndirect != null) cif.fcompIndirect.Close(); + if (cif.fcompDirIndirect != null) cif.fcompDirIndirect.Close(); + if (cif.fcompDir != null) cif.fcompDir.Close(); + if (cif.fcompRNM0 != null) cif.fcompRNM0.Close(); + if (cif.fcompRNM1 != null) cif.fcompRNM1.Close(); + if (cif.fcompRNM2 != null) cif.fcompRNM2.Close(); + if (cif.fcompSH != null) cif.fcompSH.Close(); + } + yield break; + } + //StoreLight(obj); + } + + // Directional light + for(int i=0; i(); + if (ulht == null) + { + DebugLogWarning("Light " + obj.name + " set to shadowmask, but doesn't have real-time light");; + } + else + { + UpdateMaskArray(currentGroup.id, lname, lmname, ulht, obj.shadowmaskDenoise); + } + } + + if (doCompose) + { + var texName = lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds"); + cif.fcomp.Write(texName); + if (bounces > 0) + { + cif.fcomp.Write(obj.indirectIntensity * hackIndirectBoost); + if (Mathf.Abs(obj.indirectIntensity - 1.0f) > 0.01f) usesIndirectIntensity = true; + } + + if ((rmode == (int)RenderMode.Indirect || rmode == (int)RenderMode.Shadowmask) + && obj.bakeToIndirect) + { + cif.fcompIndirect.Write(texName); + if (cif.fcompDirIndirect != null) + { + cif.fcompDirIndirect.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDirIndirect.Write(lname + "_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + } + + if (dominantDirMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompDir.Write(lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompDir.Write(lname + "_Dir" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (rnmMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompRNM0.Write(lname + "_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM1.Write(lname + "_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompRNM2.Write(lname + "_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + } + else if (shMode && (rmodeFullLight || obj.bakeToIndirect)) + { + cif.fcompSH.Write(lname + "_RNM0" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM1" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM2" + (compressedOutput ? ".lz4" : ".dds")); + cif.fcompSH.Write(lname + "_RNM3" + (compressedOutput ? ".lz4" : ".dds")); + } + } + + if (!performRendering) continue; + + ftBuildLights.BuildDirectLight(obj, SampleCount(obj.samples), false, deferredMode ? "direct" + i + ".bin" : "direct.bin"); + + if (hasAnyVolumes) + { + ftBuildLights.BuildDirectLight(obj, SampleCount(obj.samples), true, deferredMode ? "direct" + i + "_volumes.bin" : "direct.bin"); + } + + var pth = scenePath + "/" + lname + "_HDR" + (compressedOutput ? ".lz4" : ".dds"); + if (!IsLightDirty(obj) && File.Exists(pth)) continue;// && new FileInfo(pth).Length == 128+size*size*8) continue; + //Debug.Log(IsLightDirty(obj)+" "+File.Exists(pth)+" "+(new FileInfo(pth).Length == 128+size*size*8)); + + string progressText = "Rendering direct light " + obj.name + " for " + lmname + "..."; + if (!deferredMode) ProgressBarShow(progressText, (progressStepsDone / (float)progressSteps), true); + if (userCanceled) + { + if (doCompose) + { + cif.fcomp.Close(); + if (cif.fcompIndirect != null) cif.fcompIndirect.Close(); + if (cif.fcompDirIndirect != null) cif.fcompDirIndirect.Close(); + if (cif.fcompDir != null) cif.fcompDir.Close(); + if (cif.fcompRNM0 != null) cif.fcompRNM0.Close(); + if (cif.fcompRNM1 != null) cif.fcompRNM1.Close(); + if (cif.fcompRNM2 != null) cif.fcompRNM2.Close(); + if (cif.fcompSH != null) cif.fcompSH.Close(); + } + yield break; + } + yield return null; + + int errCode = 0; + if (exeMode) + { + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + + int passes = PASS_HALF; + string rrmode = GetSunRenderMode(obj); + if (dominantDirMode && (rmodeFullLight || obj.bakeToIndirect)) + { + passes |= PASS_DIRECTION; + } + else if (rnmMode && (rmodeFullLight || obj.bakeToIndirect)) + { + rrmode += "rnm"; + if (bounces == 0) passes = 0; + passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2; + } + else if (shMode && (rmodeFullLight || obj.bakeToIndirect)) + { + rrmode += shModeProbe ? "probesh" : "sh"; + if (bounces == 0) passes = 0; + passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2 | PASS_RNM3; + } + if (userRenderMode == RenderMode.Shadowmask && obj.shadowmask) + { + passes |= PASS_MASK; + if (currentGroup.transparentSelfShadow) passes |= PASS_MASK1; + } + + startInfo.Arguments = rrmode + " " + scenePathQuoted + " \"" + lname + "\" " + passes + " " + 0 + " " + LMID + + " direct" + i + ((currentGroup.probes && currentGroup.name == "volumes") ? "_volumes" : "") + ".bin"; + + deferredFileSrc.Add("");//scenePath + "/direct" + i + ".bin"); + deferredFileDest.Add("");//scenePath + "/direct.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + + if (errCode != 0) + { + DebugLogError("ftrace error: "+ftErrorCodes.TranslateFtrace(errCode, rtxMode)); + userCanceled = true; + if (doCompose) + { + cif.fcomp.Close(); + if (cif.fcompIndirect != null) cif.fcompIndirect.Close(); + if (cif.fcompDirIndirect != null) cif.fcompDirIndirect.Close(); + if (cif.fcompDir != null) cif.fcompDir.Close(); + if (cif.fcompRNM0 != null) cif.fcompRNM0.Close(); + if (cif.fcompRNM1 != null) cif.fcompRNM1.Close(); + if (cif.fcompRNM2 != null) cif.fcompRNM2.Close(); + if (cif.fcompSH != null) cif.fcompSH.Close(); + } + yield break;//return false; + } + //StoreLight(obj); + } + + lmnameComposed[lmname] = true; + + if (dominantDirMode && cif.fcompDir.BaseStream.Position > 0) + { + lightmapHasDir[LMID] = true; + } + + if (rnmMode && cif.fcompRNM0.BaseStream.Position > 0) + { + lightmapHasRNM[LMID] = true; + } + + if (shMode && cif.fcompSH.BaseStream.Position > 0) + { + lightmapHasRNM[LMID] = true; + } + + if (cif.fcomp.BaseStream.Position == fcompStartPos) + { + cif.fcomp.Write(lmname + "_lights_HDR.dds"); + + /*cif.fcomp.Close(); + if (cif.fcompIndirect != null) cif.fcompIndirect.Close();*/ + DebugLogInfo("No lights for " + lmname); + + var fpos = new BinaryWriter(File.Open(scenePath + "/" + lmname + "_lights_HDR.dds", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add(lmname + "_lights_HDR.dds"); + //var fpos = new BinaryWriter(File.Open(scenePath + "/" + lmname + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds"), FileMode.Create)); + fpos.Write(ftDDS.ddsHeaderHalf4); + + int atlasTexSize = resolution; + if (currentGroup.mode == BakeryLightmapGroup.ftLMGroupMode.Vertex) + { + atlasTexSize = (int)Mathf.Ceil(Mathf.Sqrt((float)currentGroup.totalVertexCount)); + atlasTexSize = (int)Mathf.Ceil(atlasTexSize / (float)ftRenderLightmap.tileSize) * ftRenderLightmap.tileSize; + } + + var halfs = new ushort[atlasTexSize*atlasTexSize*4]; + for(int f=0; f 0 ? "_lights_Dir" : "_final_Dir") + (compressedOutput ? ".lz4" : ".dds") + + "\" " + PASS_DIRECTION + " " + 0 + " " + LMID + " dircomp_" + LMID + ".bin"; + + if (deferredMode) + { + deferredFileSrc.Add("");//scenePath + "/dircomp_" + LMID + ".bin"); + deferredFileDest.Add("");//scenePath + "/dircomp.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText2); + } + else + { + Debug.LogError("Not supported"); + } + } + } + + if (errCode2 != 0) + { + DebugLogError("ftrace error: "+ftErrorCodes.TranslateFtrace(errCode2, rtxMode)); + userCanceled = true; + yield break; + } + } + + bool RenderLMAO(int LMID, string lmname) + { + string progressText = "Rendering AO for " + lmname + "..."; + if (!deferredMode) ProgressBarShow(progressText, (progressStepsDone / (float)progressSteps), true); + + var rmode = currentGroup.renderMode == BakeryLightmapGroup.RenderMode.Auto ? (int)userRenderMode : (int)currentGroup.renderMode; + + int passes = rmode == (int)RenderMode.AmbientOcclusionOnly ? PASS_HALF : PASS_MASK; + + // There is no realistic weight for AO to mix with other light directions + var dirMode = currentGroup.renderDirMode == BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)currentGroup.renderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection; + if (dominantDirMode && rmode == (int)RenderMode.AmbientOcclusionOnly) passes |= PASS_DIRECTION; + + var fao = new BinaryWriter(File.Open(scenePath + "/ao.bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("ao.bin"); + fao.Write(SampleCount(hackAOSamples)); + fao.Write(hackAORadius); + fao.Write(rmode == (int)RenderMode.AmbientOcclusionOnly ? hackAOIntensity : 1.0f); + fao.Close(); + + System.Diagnostics.ProcessStartInfo startInfo; + //System.Diagnostics.Process exeProcess; + + int errCode = 0; + if (exeMode) + { + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + string renderMode; + if (dominantDirMode && rmode == (int)RenderMode.AmbientOcclusionOnly) + { + renderMode = "aodir"; + } + else + { + renderMode = "ao";//currentGroup.aoIsThickness ? "thickness" : "ao"; + } + + if (rmode == (int)RenderMode.AmbientOcclusionOnly) + { + startInfo.Arguments = renderMode + " " + scenePathQuoted + " \"" + lmname + "_final" + "\" " + passes + " " + 16 + " " + LMID; + } + else + { + startInfo.Arguments = renderMode + " " + scenePathQuoted + " \"" + lmname + "_ao" + "\" " + passes + " " + 16 + " " + LMID; + } + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + + if (errCode != 0) + { + DebugLogError("ftrace error: "+ftErrorCodes.TranslateFtrace(errCode, rtxMode)); + userCanceled = true; + return false; + } + return true; + } + + void RenderLMSSS(BakeryLightmapGroup lmgroup, bool lastPass) + { + int LMID = lmgroup.id; + + //var rmode = lmgroup.renderMode == BakeryLightmapGroup.RenderMode.Auto ? (int)userRenderMode : (int)lmgroup.renderMode; + + var dirMode = lmgroup.renderDirMode == BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)lmgroup.renderDirMode; + //var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection && lightmapHasDir[lmgroup.id]; + var rnmMode = dirMode == (int)ftRenderLightmap.RenderDirMode.RNM && lightmapHasRNM[LMID]; + var shMode = dirMode == (int)ftRenderLightmap.RenderDirMode.SH && lightmapHasRNM[LMID]; + + int passes = PASS_HALF; + //if (dominantDirMode && lastPass) passes |= PASS_DIRECTION; + if (rnmMode && lastPass) passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2; + if (shMode && lastPass) passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2 | PASS_RNM3; + + var remode = "sss"; + /*if (dominantDirMode) + { + rmode = "sss"; + } + else if (rnmMode) + { + rmode = "sssrnm"; + } + else*/ if (shMode && lastPass) + { + remode = "ssssh"; + } + + var fsss = new BinaryWriter(File.Open(scenePath + "/sss" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("sss.bin"); + fsss.Write(SampleCount(lmgroup.sssSamples)); + fsss.Write(lmgroup.sssDensity); + fsss.Write(Mathf.Pow(lmgroup.sssColor.r,2.2f) * lmgroup.sssScale); + fsss.Write(Mathf.Pow(lmgroup.sssColor.g,2.2f) * lmgroup.sssScale); + fsss.Write(Mathf.Pow(lmgroup.sssColor.b,2.2f) * lmgroup.sssScale); + fsss.Close(); + + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = remode + " " + scenePathQuoted + " \"" + lmgroup.name + (lastPass ? "_SSS" : "_diffuse") + + "\"" + " " + passes + " " + 0 + " " + lmgroup.id + + " sss" + LMID + ".bin" + + " \"" + lmgroup.name + "_diffuse_HDR" + (compressedOutput ? ".lz4" : ".dds") + "\""; // full lighting passed as direct + + deferredFileSrc.Add("");//scenePath + "/sss" + LMID + ".bin"); + deferredFileDest.Add("");//scenePath + "/sss.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Computing subsurface scattering for " + lmgroup.name + "..."); + } + + bool RenderLMGI(int LMID, string lmname, int i, bool needsGIPass, bool lastPass) + { + string progressText = "Rendering GI bounce " + i + " for " + lmname + "..."; + if (!deferredMode) ProgressBarShow(progressText, (progressStepsDone / (float)progressSteps), true); + + var dirMode = currentGroup.renderDirMode == BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)currentGroup.renderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection && lightmapHasDir[LMID]; + var rnmMode = dirMode == (int)ftRenderLightmap.RenderDirMode.RNM && lightmapHasRNM[LMID]; + var shMode = dirMode == (int)ftRenderLightmap.RenderDirMode.SH && lightmapHasRNM[LMID]; + var shModeProbe = dirMode == (int)BakeryLightmapGroup.RenderDirMode.ProbeSH && lightmapHasRNM[LMID]; + if (shModeProbe) shMode = true; + + // Needs both HALF and SECONDARY_HALF because of multiple lightmaps reading each other's lighting + int passes = needsGIPass ? (PASS_HALF|PASS_SECONDARY_HALF) : PASS_HALF; + + if (dominantDirMode && lastPass) passes |= PASS_DIRECTION; + if (rnmMode && lastPass) passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2; + if (shMode && lastPass) passes |= PASS_RNM0 | PASS_RNM1 | PASS_RNM2 | PASS_RNM3; + + System.Diagnostics.ProcessStartInfo startInfo; + //System.Diagnostics.Process exeProcess; + + int errCode = 0; + if (exeMode) + { + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + string rmode = "texgi"; + if (dominantDirMode && lastPass) + { + rmode = "texgidir"; + } + else if (rnmMode && lastPass) + { + rmode = "texgirnm"; + } + else if (shMode && lastPass) + { + rmode = shModeProbe ? "texgiprobesh" : "texgish"; + } + startInfo.Arguments = rmode + " " + scenePathQuoted + " \"" + lmname + (i==bounces-1 ? "_final" : "_diffuse") + "\" " + passes + " " + 16 + " " + LMID; + startInfo.Arguments += " \"gi_" + lmname + i + ".bin\""; + if (i == bounces-1) + { + // add direct lighting on top of GI + startInfo.Arguments += " \"" + lmname + "_lights_HDR" + (compressedOutput ? ".lz4" : ".dds") + "\""; // direct lighting + } + else + { + // add direct*albedo+emissive on top of GI + startInfo.Arguments += " \"" + lmname + "_diffuse0_HDR" + (compressedOutput ? ".lz4" : ".dds") + "\""; // direct lighting + } + + if (giLodModeEnabled) + { + startInfo.Arguments += " vbTraceTex" + LMID + ".bin"; + } + else + { + startInfo.Arguments += " vbTraceTex.bin"; + } + + deferredFileSrc.Add("");//scenePath + "/gi_" + lmname + i + ".bin"); + deferredFileDest.Add("");//scenePath + "/gi.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + + if (errCode != 0) + { + DebugLogError("ftrace error: "+ftErrorCodes.TranslateFtrace(errCode, rtxMode)); + userCanceled = true; + return false; + } + return true; + } + + void UpdateMaskArray(int LMID, string lname, string lmname, Light ulht, bool denoise) + { +#if UNITY_2017_3_OR_NEWER + var maskChannel = ulht.bakingOutput.occlusionMaskChannel; +#else + var so = new SerializedObject(ulht); + var maskChannel = so.FindProperty("m_BakingOutput").FindPropertyRelative("occlusionMaskChannel").intValue; +#endif + if (maskChannel >=0 && maskChannel <= 3) + { + var maskArray = lightmapMasks[LMID]; + var maskArrayLMNames = lightmapMaskLMNames[LMID]; + var maskArrayLights = lightmapMaskLights[LMID]; + var maskArrayDenoise = lightmapMaskDenoise[LMID]; + while(maskArray.Count < maskChannel + 1) + { + maskArray.Add(new List()); + maskArrayLMNames.Add(new List()); + maskArrayLights.Add(new List()); + maskArrayDenoise.Add(new List()); + } + maskArray[maskChannel].Add(lname + "_Mask" + (compressedOutput ? ".lz4" : ".dds")); + maskArrayLMNames[maskChannel].Add(lmname); + maskArrayLights[maskChannel].Add(ulht); + maskArrayDenoise[maskChannel].Add(denoise); + lightmapHasMask[LMID] = true; + } + } + + bool SetupLightShadowmask(Light light, int channel) + { + bool success = true; + if (channel > 3) + { + success = false; + DebugLogWarning("Light " + light.name + " can't generate shadow mask (out of channels)."); + overlappingLights.Add(light.gameObject); + } + + int occlusionMaskChannel = channel > 3 ? -1 : channel; + +#if UNITY_2017_3_OR_NEWER + var output = new LightBakingOutput(); + output.isBaked = true; + output.lightmapBakeType = LightmapBakeType.Mixed; + output.mixedLightingMode = userRenderMode == RenderMode.Shadowmask ? MixedLightingMode.Shadowmask : MixedLightingMode.Subtractive; + output.occlusionMaskChannel = occlusionMaskChannel; + output.probeOcclusionLightIndex = light.bakingOutput.probeOcclusionLightIndex; + light.bakingOutput = output; +#else + light.alreadyLightmapped = true; + light.lightmapBakeType = LightmapBakeType.Mixed; + var so = new SerializedObject(light); + var sp = so.FindProperty("m_BakingOutput"); + sp.FindPropertyRelative("occlusionMaskChannel").intValue = occlusionMaskChannel; + //sp.FindPropertyRelative("probeOcclusionLightIndex").intValue = -1; + sp.FindPropertyRelative("lightmappingMask").intValue = -1; + so.ApplyModifiedProperties(); + + if (!maskedLights.Contains(light)) maskedLights.Add(light); + +#endif + + var st = storages[light.gameObject.scene]; + if (!st.bakedLights.Contains(light)) + { + st.bakedLights.Add(light); + st.bakedLightChannels.Add(occlusionMaskChannel); + } + + return success; + } + + void PrepareAssetImporting() + { + var outputPathCompat = outputPathFull.Replace("\\", "/"); + + // Prepare asset importing: set AssetPostprocessor settings + ftTextureProcessor.texSettings = new Dictionary(); + foreach(var lmgroup in groupListGIContributingPlain) + { + if (lmgroup.vertexBake) continue; + var nm = lmgroup.name; + + int colorSize = lmgroup.resolution / (1 << (int)((1.0f - ftBuildGraphics.mainLightmapScale) * 6)); + int maskSize = lmgroup.resolution / (1 << (int)((1.0f - ftBuildGraphics.maskLightmapScale) * 6)); + int dirSize = lmgroup.resolution / (1 << (int)((1.0f - ftBuildGraphics.dirLightmapScale) * 6)); + + var dirMode = lmgroup.renderDirMode == (int)BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)lmgroup.renderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection && lightmapHasDir[lmgroup.id]; + var rnmMode = dirMode == (int)ftRenderLightmap.RenderDirMode.RNM && lightmapHasRNM[lmgroup.id]; + var shMode = dirMode == (int)ftRenderLightmap.RenderDirMode.SH && lightmapHasRNM[lmgroup.id]; + var shModeProbe = dirMode == (int)BakeryLightmapGroup.RenderDirMode.ProbeSH && lightmapHasRNM[lmgroup.id]; + if (shModeProbe) shMode = true; + + //if (!bc6h) + { + //if (File.Exists(folder + "../Assets/" + nm + "_final.hdr")) + { + //var outfile = "Assets/"+nm+"_final_RGBM.dds"; + //Texture2D lm = null; + var outfile = "Assets/" + outputPathCompat + "/"+nm+"_final.hdr"; + if (rnmMode) outfile = "Assets/" + outputPathCompat + "/"+nm+"_RNM0.hdr"; + var desiredTextureType = encodeMode == 0 ? ftTextureProcessor.TEX_LM : ftTextureProcessor.TEX_LMDEFAULT; + if (lightmapHasColor[lmgroup.id])// && File.Exists(outfile)) + { + ftTextureProcessor.texSettings[outfile] = new Vector2(colorSize, desiredTextureType); + } + + //Texture2D mask = null; + //if (userRenderMode == RenderMode.Shadowmask && lightmapMasks[lmgroup.id].Count > 0) + if (lightmapHasMask[lmgroup.id]) + { + outfile = "Assets/" + outputPathCompat + "/"+nm+"_mask" + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + desiredTextureType = ftTextureProcessor.TEX_MASK;// TextureImporterType.Default; + ftTextureProcessor.texSettings[outfile] = new Vector2(maskSize, desiredTextureType); + } + + //Texture2D dirLightmap = null; + if (dominantDirMode) + { + outfile = "Assets/" + outputPathCompat + "/"+nm+"_dir" + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + desiredTextureType = ftTextureProcessor.TEX_DIR;// TextureImporterType.Default; + ftTextureProcessor.texSettings[outfile] = new Vector2(dirSize, desiredTextureType); + } + + //Texture2D rnmLightmap0 = null; + //Texture2D rnmLightmap1 = null; + //Texture2D rnmLightmap2 = null; + if (rnmMode) + { + desiredTextureType = encodeMode == 0 ? ftTextureProcessor.TEX_LM : ftTextureProcessor.TEX_LMDEFAULT; + //TextureImporterType.Lightmap : TextureImporterType.Default; + for(int c=0; c<3; c++) + { + outfile = "Assets/" + outputPathCompat + "/"+nm+"_RNM" + c + ".hdr"; + ftTextureProcessor.texSettings[outfile] = new Vector2(dirSize, desiredTextureType); + } + } + + if (shMode) + { + outfile = "Assets/" + outputPathCompat + "/"+nm+"_L0.hdr"; + desiredTextureType = encodeMode == 0 ? ftTextureProcessor.TEX_LM : ftTextureProcessor.TEX_LMDEFAULT; + ftTextureProcessor.texSettings[outfile] = new Vector2(colorSize, desiredTextureType); + + desiredTextureType = ftTextureProcessor.TEX_DIR;// TextureImporterType.Default; + for(int c=0; c<3; c++) + { + string comp; + if (c==0) + { + comp = "x"; + } + else if (c==1) + { + comp = "y"; + } + else + { + comp = "z"; + } + outfile = "Assets/" + outputPathCompat + "/"+nm+"_L1" + comp + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + ftTextureProcessor.texSettings[outfile] = new Vector2(dirSize, desiredTextureType); + } + } + } + } + } + } + + IEnumerator RenderLMAddBuckets(int LMID, string lmname, int resolution, bool vertexBake, int lmgroupRenderDirMode, int lmgroupRenderMode) + { + var dirMode = lmgroupRenderDirMode == (int)BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)lmgroupRenderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection; + var rnmMode = dirMode == (int)ftRenderLightmap.RenderDirMode.RNM && lightmapHasRNM[LMID]; + var shMode = dirMode == (int)ftRenderLightmap.RenderDirMode.SH && lightmapHasRNM[LMID]; + var shModeProbe = dirMode == (int)BakeryLightmapGroup.RenderDirMode.ProbeSH && lightmapHasRNM[LMID]; + if (shModeProbe) shMode = true; + var shadowmask = (userRenderMode == RenderMode.Shadowmask); + + if (rnmMode) + { + for(int c=0; c<3; c++) + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + #if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; + #endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "postadd " + scenePathQuoted + " \"" + lmname + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_HALF + " " + 0 + " " + LMID + " comp_addbuckets" + c + "_" + LMID + ".bin"; + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Compositing lightmaps for " + lmname + "..."); + + var fcomp = new BinaryWriter(File.Open(scenePath + "/comp_addbuckets" + c + "_" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("comp_addbuckets" + c + "_" + LMID + ".bin"); + fcomp.Write(lmname + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + foreach(var lmgroup in groupListPlain) + { + if (lmgroup.parentName != lmname) continue; + fcomp.Write(lmgroup.name + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmgroup.name + (compressedGBuffer ? ".lz4" : ".dds")); + } + fcomp.Close(); + } + } + else if (shMode) + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + #if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; + #endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "postadd " + scenePathQuoted + " \"" + lmname + "_final_L0" + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_HALF + " " + 0 + " " + LMID + " comp_addbucketsL0_" + LMID + ".bin"; + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Compositing lightmaps for " + lmname + "..."); + + var fcomp = new BinaryWriter(File.Open(scenePath + "/comp_addbucketsL0_" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("comp_addbucketsL0_" + LMID + ".bin"); + fcomp.Write(lmname + "_final_L0" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + foreach(var lmgroup in groupListPlain) + { + if (lmgroup.parentName != lmname) continue; + fcomp.Write(lmgroup.name + "_final_L0" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmgroup.name + (compressedGBuffer ? ".lz4" : ".dds")); + } + fcomp.Close(); + + for(int c=0; c<3; c++) + { + string cname; + switch(c) + { + case 0: + cname = "L1x"; + break; + case 1: + cname = "L1y"; + break; + default: + cname = "L1z"; + break; + } + + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + #if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; + #endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "postdiradd " + scenePathQuoted + " \"" + lmname + "_final_" + cname + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_DIRECTION + " " + 0 + " " + LMID + " dircomp_addbuckets" + c + "_" + LMID + ".bin"; + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Compositing directions for " + lmname + "..."); + + fcomp = new BinaryWriter(File.Open(scenePath + "/dircomp_addbuckets" + c + "_" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("dircomp_addbuckets" + c + "_" + LMID + ".bin"); + fcomp.Write(lmname + "_final_" + cname + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + foreach(var lmgroup in groupListPlain) + { + if (lmgroup.parentName != lmname) continue; + fcomp.Write(lmgroup.name + "_final_" + cname + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmgroup.name + (compressedGBuffer ? ".lz4" : ".dds")); + } + fcomp.Close(); + } + } + else + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + #if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; + #endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "postadd " + scenePathQuoted + " \"" + lmname + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_HALF + " " + 0 + " " + LMID + " comp_addbuckets" + LMID + ".bin"; + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Compositing lightmaps for " + lmname + "..."); + + var fcomp = new BinaryWriter(File.Open(scenePath + "/comp_addbuckets" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("comp_addbuckets" + LMID + ".bin"); + fcomp.Write(lmname + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + foreach(var lmgroup in groupListPlain) + { + //Debug.LogError("Cur: "+lmname+", "+LMID+", this parent: " + lmgroup.name+", "+lmgroup.parentID); + //if (lmgroup.parentID != LMID) continue; + if (lmgroup.parentName != lmname) continue; + fcomp.Write(lmgroup.name + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmgroup.name + (compressedGBuffer ? ".lz4" : ".dds")); + } + fcomp.Close(); + } + + if (dominantDirMode) + { + var startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "postdiradd " + scenePathQuoted + " \"" + lmname + "_final_Dir" + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_DIRECTION + " " + 0 + " " + LMID + " dircomp_addbuckets" + LMID + ".bin"; + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add("Compositing directions for " + lmname + "..."); + + var fcomp = new BinaryWriter(File.Open(scenePath + "/dircomp_addbuckets" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("dircomp_addbuckets" + LMID + ".bin"); + fcomp.Write(lmname + "_final_Dir" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmname + (compressedGBuffer ? ".lz4" : ".dds")); + foreach(var lmgroup in groupListPlain) + { + if (lmgroup.parentName != lmname) continue; + fcomp.Write(lmgroup.name + "_final_Dir" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write("uvnormal_" + lmgroup.name + (compressedGBuffer ? ".lz4" : ".dds")); + } + fcomp.Close(); + } + + if (shadowmask) + { + var maskNames = lightmapMasks[LMID]; + var maskLights = lightmapMaskLights[LMID]; + if (maskNames != null) + { + for(int c=0; c 0 && lmgroup.parentName != "|") + { + process = false; + } + /*else if (lmgroup.parentName == "|") + { + foreach(var lmgroup2 in groupListPlain) + { + if (lmgroup2.parentName == lmgroup.name) + { + var maskNames2 = lightmapMasks[lmgroup2.id]; + var maskLights2 = lightmapMaskLights[lmgroup2.id]; + var maskDenoise2 = lightmapMaskDenoise[lmgroup2.id]; + int channels2 = maskNames2.Count; + for(int j=0; j 0 && process) + { + var fcomp = new BinaryWriter(File.Open(scenePath + ("/masks_" + LMID + ".bin"), FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("masks_" + LMID + ".bin"); + fcomp.Write(maskNames[0].Count); + fcomp.Write(maskNames.Count > 1 ? maskNames[1].Count : 0); + fcomp.Write(maskNames.Count > 2 ? maskNames[2].Count : 0); + fcomp.Write(maskNames.Count > 3 ? maskNames[3].Count : 0); + for(int channel=0; channel list; + deferredCommandsFallback[deferredCommands.Count - 1] = list = new List(); + + int denoiseRes = resolution; + while(denoiseRes > 64) + { + denoiseRes /= 2; + list.Add(firstArgs + " " + denoiseRes + " 0"); + } + } + else + { + // unsupported + } + } + } + fcomp.Close(); + + progressText = "Creating shadow masks for " + lmname + "..."; + if (!deferredMode) ProgressBarShow(progressText, (progressStepsDone / (float)progressSteps), true); + if (userCanceled) yield break; + yield return null; + + var outPath = Application.dataPath + "/" + outputPathFull + "/" + lmname + "_mask" + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + if (File.Exists(outPath)) ValidateFileAttribs(outPath); + + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + startInfo.WorkingDirectory = "Assets/Editor/x64/Bakery"; + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/combineMasks.exe"; + startInfo.CreateNoWindow = true; + if (vertexBake) + { + startInfo.Arguments = "\"" + scenePath + "/" + lmname + "_mask.lz4\" "; + } + else + { + startInfo.Arguments = "\"" + outPath + "\" "; + } + /*maskNames[0] + " "; + if (maskNames.Count > 1) startInfo.Arguments += maskNames[1] + " "; + if (maskNames.Count > 2) startInfo.Arguments += maskNames[2] + " "; + if (maskNames.Count > 3) startInfo.Arguments += maskNames[3] + " ";*/ + startInfo.Arguments += + "\"" + scenePath + ("/masks_" + LMID + ".bin") + "\" " + + "\"" + scenePath + "/\""; + + //for(int i=0; i list; + deferredCommandsFallback[deferredCommands.Count - 1] = list = new List(); + + int denoiseRes = resolution; + while(denoiseRes > 64) + { + denoiseRes /= 2; + list.Add(firstArgs + " " + denoiseRes + " 0"); + } + } + else + { + // unsupported + } + } + + if (!lightmapHasColor[LMID]) yield break; + + // Apply AO if needed + if (hackAOIntensity > 0 && hackAOSamples > 0 && !rnmMode && !shMode && !lmgroup.probes && rmode != (int)RenderMode.AmbientOcclusionOnly) + { + progressText = "Applying AO to " + lmname + "..."; + if (userCanceled) yield break;//return false; + + var fcomp = new BinaryWriter(File.Open(scenePath + "/addao_" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("addao_" + LMID + ".bin"); + fcomp.Write(lmname + (shMode ? "_final_L0" : "_final_HDR") + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write(lmname + "_ao_Mask" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write(hackAOIntensity); + fcomp.Close(); + + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "addao " + scenePathQuoted + " \"" + lmname + (shMode ? "_final_L0" : "_final_HDR") + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_HALF + " " + 0 + " " + LMID + " addao_" + LMID + ".bin"; + + deferredFileSrc.Add("");//scenePath + "/addao_" + LMID + ".bin"); + deferredFileDest.Add("");//scenePath + "/addao.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + + // Denoise + if (denoise && !vertexBake) + { + if (!shMode && !rnmMode) + { + progressText = "Denoising " + lmname + "..."; + if (userCanceled) yield break;//return false; + yield return null; + + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + startInfo.WorkingDirectory = "Assets/Editor/x64/Bakery"; + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/denoiser"+denoiseMod+".exe"; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "c \"" + scenePath + "/" + lmname + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + scenePath + "/" + lmname + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds") + "\""; + string firstArgs = startInfo.Arguments; + startInfo.Arguments += " " + resolution + " " + (denoise2x ? 1 : 0); + + if (deferredMode) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + List list; + deferredCommandsFallback[deferredCommands.Count - 1] = list = new List(); + + int denoiseRes = resolution; + while(denoiseRes > 64) + { + denoiseRes /= 2; + list.Add(firstArgs + " " + denoiseRes + " " + (denoise2x ? 1 : 0)); + } + } + } + } + progressStepsDone++; + + string progressText2; + + if (rnmMode && lightmapHasRNM[LMID]) + { + for(int c=0; c<3; c++) + { + // Compose RNM + progressText2 = "Composing RNM" + c + " for " + lmname + "..."; + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "add " + scenePathQuoted + " \"" + lmname + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds") + + "\" " + PASS_HALF + " " + 0 + " " + LMID + " rnm" + c +"comp_" + LMID + ".bin"; + if (deferredMode) + { + deferredFileSrc.Add("");//scenePath + "/rnm" + c +"comp_" + LMID + ".bin"); + deferredFileDest.Add("");//scenePath + "/comp.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText2); + } + else + { + Debug.LogError("Not supported"); + } + + if (hackAOIntensity > 0 && hackAOSamples > 0) + { + progressText = "Applying AO to " + lmname + "..."; + //for(int c=0; c<3; c++) + { + var fcomp = new BinaryWriter(File.Open(scenePath + "/addao_" + LMID + "_" + c + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("addao_" + LMID + "_" + c + ".bin"); + fcomp.Write(lmname + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write(lmname + "_ao_Mask" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write(hackAOIntensity); + fcomp.Close(); + + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "addao " + scenePathQuoted + " \"" + lmname + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_HALF + " " + 0 + " " + LMID + " addao_" + LMID + "_" + c + ".bin"; + + if (deferredMode) + { + deferredFileSrc.Add("");//scenePath + "/addao_" + LMID + "_" + c + ".bin"); + deferredFileDest.Add("");//scenePath + "/addao.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + } + } + + if (denoise && !vertexBake) + { + progressText = "Denoising RNM" + c + " for " + lmname + "..."; + if (userCanceled) yield break; + yield return null; + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + startInfo.WorkingDirectory = "Assets/Editor/x64/Bakery"; + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/denoiser"+denoiseMod+".exe"; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "c \"" + scenePath + "/" + lmname + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + scenePath + "/" + lmname + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds") + "\""; + string firstArgs = startInfo.Arguments; + startInfo.Arguments += " " + resolution + " " + (denoise2x ? 1 : 0); + if (deferredMode) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + List list; + deferredCommandsFallback[deferredCommands.Count - 1] = list = new List(); + + int denoiseRes = resolution; + while(denoiseRes > 64) + { + denoiseRes /= 2; + list.Add(firstArgs + " " + denoiseRes + " " + (denoise2x ? 1 : 0)); + } + } + else + { + Debug.LogError("Not supported"); + } + } + } + } + + if (shMode && lightmapHasRNM[LMID]) + { + // Compose SH + progressText2 = "Composing SH " + " for " + lmname + "..."; + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "addsh " + scenePathQuoted + " \"" + lmname + "_final_" + + "\" " + PASS_HALF + " " + 0 + " " + LMID + " shcomp_" + LMID + ".bin"; + if (deferredMode) + { + deferredFileSrc.Add("");//scenePath + "/shcomp_" + LMID + ".bin"); + deferredFileDest.Add("");//scenePath + "/shcomp.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText2); + } + else + { + Debug.LogError("Not supported"); + } + + if (hackAOIntensity > 0 && hackAOSamples > 0 && !lmgroup.probes) + { + progressText = "Applying AO to " + lmname + "..."; + var fcomp = new BinaryWriter(File.Open(scenePath + "/addao_" + LMID + ".bin", FileMode.Create)); + if (clientMode) ftClient.serverFileList.Add("addao_" + LMID + ".bin"); + fcomp.Write(lmname + (shMode ? "_final_L0" : "_final_HDR") + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write(lmname + "_ao_Mask" + (compressedOutput ? ".lz4" : ".dds")); + fcomp.Write(hackAOIntensity); + fcomp.Close(); + + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = startInfo.WorkingDirectory + "/" + ftraceExe; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "addao " + scenePathQuoted + " \"" + lmname + (shMode ? "_final_L0" : "_final_HDR") + (compressedOutput ? ".lz4" : ".dds") + + "\"" + " " + PASS_HALF + " " + 0 + " " + LMID + " addao_" + LMID + ".bin"; + + deferredFileSrc.Add("");//scenePath + "/addao_" + LMID + ".bin"); + deferredFileDest.Add("");//scenePath + "/addao.bin"); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + + if (denoise && !vertexBake) + { + progressText = "Denoising SH for " + lmname + "..."; + if (userCanceled) yield break; + yield return null; + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + startInfo.WorkingDirectory = "Assets/Editor/x64/Bakery"; + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/denoiser"+denoiseMod+".exe"; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "s "; + startInfo.Arguments += "\"" + scenePath + "/" + lmname + "_final_L0" + (compressedOutput ? ".lz4" : ".dds") + + "\" \"" + scenePath + "/" + lmname + "_final_L1x" + (compressedOutput ? ".lz4" : ".dds") + + "\" \"" + scenePath + "/" + lmname + "_final_L1y" + (compressedOutput ? ".lz4" : ".dds") + + "\" \"" + scenePath + "/" + lmname + "_final_L1z" + (compressedOutput ? ".lz4" : ".dds") + + "\""; + string firstArgs = startInfo.Arguments; + startInfo.Arguments += " " + resolution + " 0"; + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + List list; + deferredCommandsFallback[deferredCommands.Count - 1] = list = new List(); + + int denoiseRes = resolution; + while(denoiseRes > 64) + { + denoiseRes /= 2; + list.Add(firstArgs + " " + denoiseRes + " 0"); + } + } + + + } + + // Fix seams + if (fixSeams && !vertexBake) + { + progressText = "Fixing seams " + lmname + "..."; + if (userCanceled) yield break;//return false; + yield return null; + + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + startInfo.WorkingDirectory = "Assets/Editor/x64/Bakery"; + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/seamfixer.exe"; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "\"" + scenePath + "\" \"" + + LMID + "\" \""; + if (shMode) + { + startInfo.Arguments += lmname + "_final_L0" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + + lmname + "_final_L1x" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + + lmname + "_final_L1y" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + + lmname + "_final_L1z" + (compressedOutput ? ".lz4" : ".dds") + "\""; + } + else if (rnmMode) + { + startInfo.Arguments += lmname + "_final_RNM0" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + + lmname + "_final_RNM1" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + + lmname + "_final_RNM2" + (compressedOutput ? ".lz4" : ".dds") + "\""; + } + else if (dominantDirMode) + { + startInfo.Arguments += lmname + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + + lmname + "_final_Dir" + (compressedOutput ? ".lz4" : ".dds"); + } + else + { + startInfo.Arguments += lmname + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds") + "\""; + } + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText); + } + progressStepsDone++; + } + + IEnumerator RenderLMEncode(int LMID, string lmname, int resolution, bool vertexBake, int lmgroupRenderDirMode, int lmgroupRenderMode) + { + if (vertexBake) yield break; + + System.Diagnostics.ProcessStartInfo startInfo; + + var dirMode = lmgroupRenderDirMode == (int)BakeryLightmapGroup.RenderDirMode.Auto ? (int)renderDirMode : (int)lmgroupRenderDirMode; + var dominantDirMode = dirMode == (int)ftRenderLightmap.RenderDirMode.DominantDirection; + var rnmMode = dirMode == (int)ftRenderLightmap.RenderDirMode.RNM && lightmapHasRNM[LMID]; + var shMode = dirMode == (int)ftRenderLightmap.RenderDirMode.SH && lightmapHasRNM[LMID]; + var shModeProbe = dirMode == (int)BakeryLightmapGroup.RenderDirMode.ProbeSH && lightmapHasRNM[LMID]; + if (shModeProbe) shMode = true; + + var progressText2 = "Encoding " + lmname + "..."; + if (userCanceled) yield break;//return false; + progressStepsDone++; + yield return null; + + int maxValue = 1024; +#if UNITY_2019_1_OR_NEWER + if (GraphicsSettings.renderPipelineAsset != null) + { + var srpType = GraphicsSettings.renderPipelineAsset.GetType().ToString(); + if (srpType.Contains("HDRenderPipelineAsset")) + { + maxValue = 64000; + } + } +#endif + + if (encode)// && !vertexBake)// && File.Exists(scenePath + "/" + lmname + "_final_HDR.dds")) + { + if (vertexBake) + { + if (deferredMode) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(null); + deferredCommandDesc.Add(progressText2); + + var gr = new BakeryLightmapGroupPlain(); + gr.id = LMID; + gr.name = lmname; + deferredCommandsHalf2VB[deferredCommands.Count - 1] = gr; + } + else + { + //GenerateVertexBakedMeshes(LMID, lmname); + } + } + else// if (!bc6h) + { + if (!shMode && !rnmMode) + { + var outPath = Application.dataPath + "/" + outputPathFull + "/" + lmname + "_final.hdr"; + if (File.Exists(outPath)) ValidateFileAttribs(outPath); + + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + //startInfo.WorkingDirectory = scenePath; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/halffloat2hdr.exe"; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "\"" + scenePath + "/" + lmname + "_final_HDR" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + outPath + "\" " + maxValue; + + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText2); + if (clientMode) ftClient.serverGetFileList.Add(lmname + "_final.hdr"); + } + } + } + + // Encode directions + if (dominantDirMode && !vertexBake && lightmapHasDir[LMID]) + { + var outPath = Application.dataPath + "/" + outputPathFull + "/" + lmname + "_dir" + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + if (File.Exists(outPath)) ValidateFileAttribs(outPath); + + progressText2 = "Encoding direction for " + lmname + "..."; + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + //startInfo.WorkingDirectory = scenePath; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/rgba2tga.exe"; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "\"" + scenePath + "/" + lmname + "_final_Dir" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + outPath + "\" " + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? "p" : ""); + + if (deferredMode) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText2); + if (clientMode) ftClient.serverGetFileList.Add(lmname + "_dir" + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga")); + } + else + { + Debug.LogError("Not supported"); + } + } + + if (rnmMode && !vertexBake && lightmapHasRNM[LMID]) + { + for(int c=0; c<3; c++) + { + var outPath = Application.dataPath + "/" + outputPathFull + "/" + lmname + "_RNM" + c + ".hdr"; + if (File.Exists(outPath)) ValidateFileAttribs(outPath); + + // Encode RNM + progressText2 = "Encoding RNM" + c + " for " + lmname + "..."; + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + //startInfo.WorkingDirectory = scenePath; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/halffloat2hdr.exe"; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "\"" + scenePath + "/" + lmname + "_final_RNM" + c + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + outPath + "\" " + maxValue; + if (deferredMode) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText2); + if (clientMode) ftClient.serverGetFileList.Add(lmname + "_RNM" + c + ".hdr"); + } + else + { + Debug.LogError("Not supported"); + } + } + } + + if (shMode && !vertexBake && lightmapHasRNM[LMID]) + { + var outPath = Application.dataPath + "/" + outputPathFull + "/" + lmname + "_L0.hdr"; + if (File.Exists(outPath)) ValidateFileAttribs(outPath); + + progressText2 = "Encoding SH L0 for " + lmname + "..."; + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + //startInfo.WorkingDirectory = scenePath; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/halffloat2hdr.exe"; + startInfo.CreateNoWindow = true; + startInfo.Arguments = "\"" + scenePath + "/" + lmname + "_final_L0" + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + outPath + "\" " + maxValue; + if (deferredMode) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText2); + if (clientMode) ftClient.serverGetFileList.Add(lmname + "_L0.hdr"); + } + else + { + Debug.LogError("Not supported"); + } + + progressText2 = "Encoding SH L1 for " + lmname + "..."; + for(int i=0; i<3; i++) + { + startInfo = new System.Diagnostics.ProcessStartInfo(); + startInfo.CreateNoWindow = false; + startInfo.UseShellExecute = false; + //startInfo.WorkingDirectory = scenePath; +#if !LAUNCH_VIA_DLL + startInfo.WorkingDirectory = dllPath + "/Bakery"; +#endif + startInfo.FileName = Application.dataPath + "/Editor/x64/Bakery/rgba2tga.exe"; + startInfo.CreateNoWindow = true; + string comp; + if (i==0) + { + comp = "x"; + } + else if (i==1) + { + comp = "y"; + } + else + { + comp = "z"; + } + + var outPath1 = Application.dataPath + "/" + outputPathFull + "/" + lmname + "_L1" + comp + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga"); + if (File.Exists(outPath1)) ValidateFileAttribs(outPath1); + + startInfo.Arguments = "\"" + scenePath + "/" + lmname + "_final_L1" + comp + (compressedOutput ? ".lz4" : ".dds") + "\" \"" + outPath1 + "\" " + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? "p" : ""); + + if (deferredMode) + { + deferredFileSrc.Add(""); + deferredFileDest.Add(""); + deferredCommands.Add(startInfo); + deferredCommandDesc.Add(progressText2); + if (clientMode) ftClient.serverGetFileList.Add(lmname + "_L1" + comp + (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG ? ".png" : ".tga")); + } + else + { + Debug.LogError("Not supported"); + } + } + } + } + + public static System.IntPtr RunFTrace(string args, bool visible = false) + { + DebugLogInfo("Running ftrace " + args); +#if LAUNCH_VIA_DLL + System.IntPtr exeProcess; + + if (visible) + { + exeProcess = RunLocalProcessVisible(ftraceExe+" "+args); + } + else + { + exeProcess = RunLocalProcess(ftraceExe+" "+args, true); + } + + if (exeProcess == (System.IntPtr)null) + { + Debug.LogError(ftraceExe + " launch failed (see console for details)"); + return (System.IntPtr)0; + } + return exeProcess; +#else + Debug.LogError("Not supported"); + return (System.IntPtr)0; +#endif + } + + static void FindGlobalStorage() + { + if (gstorage == null) + { + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + gstorage = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftGlobalStorage.asset", typeof(ftGlobalStorage)) as ftGlobalStorage; + } + } + + public static void LoadDefaultSettings(ftLightmapsStorage storage) + { + FindGlobalStorage(); + if (gstorage == null) return; + ftLightmapsStorage.CopySettings(gstorage, storage); + } + + static List roots; + public static ftLightmapsStorage FindRenderSettingsStorage() + { + // Load saved settings + GameObject go = null; + if (roots == null) roots = new List(); + + try + { + SceneManager.GetActiveScene().GetRootGameObjects(roots); + } + catch + { + // scene is not loaded, oops + return null; + } + + go = roots.Find( g => g.name == "!ftraceLightmaps" ); + + if (go == null) go = GameObject.Find("!ftraceLightmaps"); + if (go == null) { + go = new GameObject(); + go.name = "!ftraceLightmaps"; + go.hideFlags = HideFlags.HideInHierarchy; + } + var storage = go.GetComponent(); + if (storage == null) { + storage = go.AddComponent(); + LoadDefaultSettings(storage); + } + return storage; + } + + public static void LoadStaticAtlasingSettings() + { + var storage = FindRenderSettingsStorage(); + ftRenderLightmap.tileSize = storage.renderSettingsTileSize; + ftBuildGraphics.texelsPerUnit = storage.renderSettingsTexelsPerUnit; + ftBuildGraphics.autoAtlas = storage.renderSettingsAutoAtlas; + ftBuildGraphics.unwrapUVs = storage.renderSettingsUnwrapUVs; + ftBuildGraphics.forceDisableUnwrapUVs = storage.renderSettingsForceDisableUnwrapUVs; + ftBuildGraphics.maxAutoResolution = storage.renderSettingsMaxAutoResolution; + ftBuildGraphics.minAutoResolution = storage.renderSettingsMinAutoResolution; + ftRenderLightmap.checkOverlaps = storage.renderSettingsCheckOverlaps; + ftBuildGraphics.texelsPerUnitPerMap = storage.renderSettingsTexelsPerMap; + ftBuildGraphics.mainLightmapScale = storage.renderSettingsTexelsColor; + ftBuildGraphics.maskLightmapScale = storage.renderSettingsTexelsMask; + ftBuildGraphics.dirLightmapScale = storage.renderSettingsTexelsDir; + ftBuildGraphics.splitByScene = storage.renderSettingsSplitByScene; + ftBuildGraphics.uvPaddingMax = storage.renderSettingsUVPaddingMax; + ftBuildGraphics.postPacking = storage.renderSettingsPostPacking; + ftBuildGraphics.holeFilling = storage.renderSettingsHoleFilling; + ftBuildGraphics.atlasPacker = storage.renderSettingsAtlasPacker; + } + + public void LoadRenderSettings() + { + FindGlobalStorage(); + if (gstorage != null) + { + foundCompatibleSetup = gstorage.foundCompatibleSetup; + scenePath = gstorage.renderSettingsTempPath; + } + + instance = this; + var storage = instance.renderSettingsStorage = FindRenderSettingsStorage(); + if (storage == null) return; + bounces = storage.renderSettingsBounces; + instance.giSamples = storage.renderSettingsGISamples; + giBackFaceWeight = storage.renderSettingsGIBackFaceWeight; + ftRenderLightmap.tileSize = storage.renderSettingsTileSize; + instance.priority = storage.renderSettingsPriority; + instance.texelsPerUnit = storage.renderSettingsTexelsPerUnit; + ftRenderLightmap.forceRefresh = storage.renderSettingsForceRefresh; + instance.forceRebuildGeometry = storage.renderSettingsForceRebuildGeometry; + instance.performRendering = storage.renderSettingsPerformRendering; + instance.userRenderMode = (RenderMode)storage.renderSettingsUserRenderMode; + instance.settingsMode = (SettingsMode)storage.renderSettingsSettingsMode; + instance.fixSeams = storage.renderSettingsFixSeams; + instance.denoise = storage.renderSettingsDenoise; + instance.denoise2x = storage.renderSettingsDenoise2x; + instance.encode = storage.renderSettingsEncode; + instance.encodeMode = storage.renderSettingsEncodeMode; + ftBuildGraphics.overwriteWarning = storage.renderSettingsOverwriteWarning; + ftBuildGraphics.autoAtlas = storage.renderSettingsAutoAtlas; + ftBuildGraphics.unwrapUVs = storage.renderSettingsUnwrapUVs; + ftBuildGraphics.forceDisableUnwrapUVs = storage.renderSettingsForceDisableUnwrapUVs; + ftBuildGraphics.maxAutoResolution = storage.renderSettingsMaxAutoResolution; + ftBuildGraphics.minAutoResolution = storage.renderSettingsMinAutoResolution; + instance.unloadScenesInDeferredMode = storage.renderSettingsUnloadScenes; + ftRenderLightmap.adjustSamples = storage.renderSettingsAdjustSamples; + ftRenderLightmap.giLodMode = (GILODMode)storage.renderSettingsGILODMode; + ftRenderLightmap.giLodModeEnabled = storage.renderSettingsGILODModeEnabled; + ftRenderLightmap.checkOverlaps = storage.renderSettingsCheckOverlaps; + ftRenderLightmap.outputPath = storage.renderSettingsOutPath == "" ? "BakeryLightmaps" : storage.renderSettingsOutPath; + ftRenderLightmap.useScenePath = storage.renderSettingsUseScenePath; + hackEmissiveBoost = storage.renderSettingsHackEmissiveBoost; + hackIndirectBoost = storage.renderSettingsHackIndirectBoost; + hackAOIntensity = renderSettingsStorage.renderSettingsHackAOIntensity; + hackAORadius = renderSettingsStorage.renderSettingsHackAORadius; + hackAOSamples = renderSettingsStorage.renderSettingsHackAOSamples; + showAOSettings = renderSettingsStorage.renderSettingsShowAOSettings; + showTasks = renderSettingsStorage.renderSettingsShowTasks; + showTasks2 = renderSettingsStorage.renderSettingsShowTasks2; + showPaths = renderSettingsStorage.renderSettingsShowPaths; + showNet = renderSettingsStorage.renderSettingsShowNet; + showPerf = renderSettingsStorage.renderSettingsShowPerf; + //showCompression = renderSettingsStorage.renderSettingsShowCompression; + ftBuildGraphics.texelsPerUnitPerMap = renderSettingsStorage.renderSettingsTexelsPerMap; + ftBuildGraphics.mainLightmapScale = renderSettingsStorage.renderSettingsTexelsColor; + ftBuildGraphics.maskLightmapScale = renderSettingsStorage.renderSettingsTexelsMask; + ftBuildGraphics.dirLightmapScale = renderSettingsStorage.renderSettingsTexelsDir; + useUnityForOcclsusionProbes = renderSettingsStorage.renderSettingsOcclusionProbes; + lastBakeTime = renderSettingsStorage.lastBakeTime; + beepOnFinish = renderSettingsStorage.renderSettingsBeepOnFinish; + ftBuildGraphics.exportTerrainAsHeightmap = renderSettingsStorage.renderSettingsExportTerrainAsHeightmap; + ftBuildGraphics.exportTerrainTrees = renderSettingsStorage.renderSettingsExportTerrainTrees; + rtxMode = renderSettingsStorage.renderSettingsRTXMode; + lightProbeMode = (LightProbeMode)renderSettingsStorage.renderSettingsLightProbeMode; + clientMode = renderSettingsStorage.renderSettingsClientMode; + ftClient.serverAddress = renderSettingsStorage.renderSettingsServerAddress; + unwrapper = (ftGlobalStorage.Unwrapper)renderSettingsStorage.renderSettingsUnwrapper; + denoiserType = (ftGlobalStorage.DenoiserType)renderSettingsStorage.renderSettingsDenoiserType; + //legacyDenoiser = renderSettingsStorage.renderSettingsLegacyDenoiser; + ftBuildGraphics.atlasPacker = renderSettingsStorage.renderSettingsAtlasPacker; + sampleDivisor = storage.renderSettingsSampleDiv; + if (storage.renderSettingsSector != null) curSector = (BakerySector)storage.renderSettingsSector; + + ftraceExe = rtxMode ? ftraceExe6 : ftraceExe1; + //scenePath = storage.renderSettingsTempPath; + + if (scenePath == "") scenePath = System.Environment.GetEnvironmentVariable("TEMP", System.EnvironmentVariableTarget.Process) + "\\frender"; + ftBuildGraphics.scenePath = scenePath; + scenePathQuoted = "\"" + scenePath + "\""; + +#if UNITY_2017_1_OR_NEWER + isDistanceShadowmask = QualitySettings.shadowmaskMode == ShadowmaskMode.DistanceShadowmask; +#else + isDistanceShadowmask = storage.renderSettingsDistanceShadowmask; +#endif + showDirWarning = storage.renderSettingsShowDirWarning; + renderDirMode = (RenderDirMode)storage.renderSettingsRenderDirMode; + showCheckerSettings = storage.renderSettingsShowCheckerSettings; + usesRealtimeGI = storage.usesRealtimeGI; + samplesWarning = storage.renderSettingsSamplesWarning; + prefabWarning = storage.renderSettingsPrefabWarning; + ftBuildGraphics.splitByScene = storage.renderSettingsSplitByScene; + ftBuildGraphics.uvPaddingMax = storage.renderSettingsUVPaddingMax; + ftBuildGraphics.postPacking = storage.renderSettingsPostPacking; + ftBuildGraphics.holeFilling = storage.renderSettingsHoleFilling; + compressVolumes = storage.renderSettingsCompressVolumes; + } + + void OnEnable() + { + LoadRenderSettings(); + } + + [MenuItem ("Bakery/Render lightmap...", false, 0)] + public static void RenderLightmap () + { + instance = (ftRenderLightmap)GetWindow(typeof(ftRenderLightmap)); + instance.titleContent.text = "Bakery"; + var edPath = ftLightmaps.GetEditorPath(); + var icon = EditorGUIUtility.Load(edPath + "icon.png") as Texture2D; + instance.titleContent.image = icon; + instance.Show(); + ftLightmaps.GetRuntimePath(); + } +} + +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs.meta new file mode 100644 index 00000000..f7587a31 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRenderLightmap.cs.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: dc64e635488f60747bf5e9025c593285 +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRestorePaddingMenu.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRestorePaddingMenu.cs new file mode 100644 index 00000000..0ea8020b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRestorePaddingMenu.cs @@ -0,0 +1,88 @@ +using UnityEngine; +using UnityEditor; +using UnityEngine.SceneManagement; + +public class ftRestorePaddingMenu +{ + [MenuItem("Bakery/Utilities/Re-adjust UV padding", false, 43)] + private static void RestorePadding() + { + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + var gstorage = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftGlobalStorage.asset", typeof(ftGlobalStorage)) as ftGlobalStorage; + + if (gstorage == null) + { + Debug.Log("Bakery is not initalized"); + return; + } + + if (EditorUtility.DisplayDialog("Bakery", "Re-unwrap and reimport lightmapped scene models to match last bake?", "OK", "Cancel")) + { + var sceneCount = SceneManager.sceneCount; + int reimported = 0; + for(int i=0; i(); + if (store == null) continue; + + for(int j=0; j= 0) + { + if (dataExisting.padding[ind] != data.padding[k]) + { + dataExisting.padding[ind] = data.padding[k]; + updated = true; + } + if (dataExisting.unwrapper[ind] != data.unwrapper[k]) + { + dataExisting.unwrapper[ind] = data.unwrapper[k]; + updated = true; + } + } + else + { + dataExisting.meshName.Add( data.meshName[k] ); + dataExisting.padding.Add( data.padding[k] ); + dataExisting.unwrapper.Add( data.unwrapper[k] ); + updated = true; + } + } + } + if (updated) + { +#if UNITY_2017_1_OR_NEWER + gstorage.SyncModifiedAsset(mstoreIndex); +#endif + EditorUtility.SetDirty(gstorage); + (AssetImporter.GetAtPath(path) as ModelImporter).SaveAndReimport(); + reimported++; + } + } + } + Debug.Log(reimported > 0 ? ("Updated " + reimported + " models") : "No changes detected"); + } + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRestorePaddingMenu.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRestorePaddingMenu.cs.meta new file mode 100644 index 00000000..cec7770a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftRestorePaddingMenu.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1acbda60094b1b14fa803d9ce4fb88d3 +timeCreated: 1557694522 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavePadding.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavePadding.cs new file mode 100644 index 00000000..ea4f56a6 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavePadding.cs @@ -0,0 +1,55 @@ +#if UNITY_EDITOR + +using UnityEngine; +using UnityEditor; +using UnityEngine.SceneManagement; +using System.IO; +using System.Collections.Generic; + +public class ftSavePaddingMenu +{ + [MenuItem("Bakery/Utilities/Save UV padding to asset", false, 60)] + private static void RestorePadding() + { + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + var gstorage = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftGlobalStorage.asset", typeof(ftGlobalStorage)) as ftGlobalStorage; + + if (gstorage == null) + { + Debug.Log("Bakery is not initalized"); + return; + } + + var sel = Selection.objects; + var pathList = new List(); + + for(int i=0; i(); + asset.data = mod; + AssetDatabase.CreateAsset(asset, Path.GetDirectoryName(pathList[i]) + "/" + Path.GetFileNameWithoutExtension(pathList[i]) + "_padding.asset"); + Debug.Log("Created padding asset for " + pathList[i]); + ctr++; + } + + AssetDatabase.SaveAssets(); + Debug.Log("Created " + ctr + " UV padding assets"); + } +} + +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavePadding.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavePadding.cs.meta new file mode 100644 index 00000000..77fac003 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavePadding.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 1b9bbae7393eaa04db704d80e254be86 +timeCreated: 1565341770 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSaveSettingsMenu.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSaveSettingsMenu.cs new file mode 100644 index 00000000..ba26d3cd --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSaveSettingsMenu.cs @@ -0,0 +1,53 @@ +using UnityEngine; +using UnityEditor; +using UnityEngine.SceneManagement; + +public class ftSaveSettingsMenu +{ + [MenuItem("Bakery/Utilities/Save settings as default", false, 41)] + private static void SaveSettings() + { + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + var gstorage = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftGlobalStorage.asset", typeof(ftGlobalStorage)) as ftGlobalStorage; + + if (gstorage == null) + { + Debug.Log("Bakery is not initalized"); + return; + } + + if (EditorUtility.DisplayDialog("Bakery", "Save current scene settings as global defaults?", "OK", "Cancel")) + { + var storage = ftRenderLightmap.FindRenderSettingsStorage(); + ftRenderLightmap bakery = ftRenderLightmap.instance != null ? ftRenderLightmap.instance : new ftRenderLightmap(); + bakery.LoadRenderSettings(); + ftLightmapsStorage.CopySettings(storage, gstorage); + EditorUtility.SetDirty(gstorage); + Debug.Log("Default settings saved"); + } + } + + [MenuItem("Bakery/Utilities/Load default settings", false, 42)] + private static void LoadSettings() + { + var bakeryRuntimePath = ftLightmaps.GetRuntimePath(); + var gstorage = AssetDatabase.LoadAssetAtPath(bakeryRuntimePath + "ftGlobalStorage.asset", typeof(ftGlobalStorage)) as ftGlobalStorage; + + if (gstorage == null) + { + Debug.Log("Bakery is not initalized"); + return; + } + + if (EditorUtility.DisplayDialog("Bakery", "Set default baking settings for the current scene?", "OK", "Cancel")) + { + var storage = ftRenderLightmap.FindRenderSettingsStorage(); + ftRenderLightmap bakery = ftRenderLightmap.instance != null ? ftRenderLightmap.instance : new ftRenderLightmap(); + ftLightmapsStorage.CopySettings(gstorage, storage); + EditorUtility.SetDirty(storage); + bakery.LoadRenderSettings(); + Debug.Log("Default settings loaded"); + } + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSaveSettingsMenu.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSaveSettingsMenu.cs.meta new file mode 100644 index 00000000..0c06bbe4 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSaveSettingsMenu.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 6977f7d9b2482ea4cbd5535e0046efab +timeCreated: 1558111532 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavedPadding2.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavedPadding2.cs new file mode 100644 index 00000000..73d1473c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavedPadding2.cs @@ -0,0 +1,8 @@ +using UnityEngine; +using UnityEditor; + +public class ftSavedPadding2 : ScriptableObject +{ + [SerializeField] + public ftGlobalStorage.AdjustedMesh data; +} diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavedPadding2.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavedPadding2.cs.meta new file mode 100644 index 00000000..eab1f729 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSavedPadding2.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: f1b283dcb6cb8fb4e984405825d17555 +timeCreated: 1583479458 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSceneView.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSceneView.cs new file mode 100644 index 00000000..e9c278cd --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSceneView.cs @@ -0,0 +1,171 @@ +#if UNITY_EDITOR +//#if UNITY_2018_2_OR_NEWER + +using UnityEngine; +using UnityEditor; +using System; +using System.IO; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using System.Linq; + +/* +public class ftSceneView +{ + public static void Init() + { + var mode = SceneView.AddCameraMode("Bakery lightmap checker", "Bakery"); + } +} +*/ + +public class ftSceneView +{ + static Shader checkerShader; + public static bool enabled; + static List tempTextures; + + static void Atlas() + { + var fgo = GameObject.Find("!ftraceLightmaps"); + if (fgo == null) { + fgo = new GameObject(); + fgo.name = "!ftraceLightmaps"; + fgo.hideFlags = HideFlags.HideInHierarchy; + } + var store = fgo.GetComponent(); + if (store == null) { + store = fgo.AddComponent(); + } + ftRenderLightmap.LoadStaticAtlasingSettings(); + + Debug.Log("Atlasing..."); + ftBuildGraphics.modifyLightmapStorage = false; + ftBuildGraphics.validateLightmapStorageImmutability = false; + var exportSceneFunc = ftBuildGraphics.ExportScene(null, false, true); + while(exportSceneFunc.MoveNext()) + { + //progressBarText = ftBuildGraphics.progressBarText; + //progressBarPercent = ftBuildGraphics.progressBarPercent; + /*if (ftBuildGraphics.userCanceled) + { + ProgressBarEnd(); + DestroyImmediate(go); + foreach(var d in dynamicObjects) d.enabled = true; + yield break; + }*/ + //yield return null; + } + Debug.Log("Atlasing done"); + //ftRenderLightmap.simpleProgressBarEnd(); + ftBuildGraphics.ProgressBarEnd(true); + } + + static void ApplyNewProperties() + { + var objs = ftBuildGraphics.atlasOnlyObj; + if (objs == null) return; + var scaleOffset = ftBuildGraphics.atlasOnlyScaleOffset; + var size = ftBuildGraphics.atlasOnlySize; + var ids = ftBuildGraphics.atlasOnlyID; + var existingLmaps = LightmapSettings.lightmaps.ToList(); + tempTextures = new List(); + int maxLM = 0; + for(int i=0; i= existingLmaps.Count || + existingLmaps[objs[i].lightmapIndex] == null || + existingLmaps[objs[i].lightmapIndex].lightmapColor == null || existingLmaps[objs[i].lightmapIndex].lightmapColor.width != size[i]) + { + int s = 1;//Math.Max(size[i],1); + var tex = new Texture2D(s, s); + tempTextures.Add(tex); + tex.SetPixels32(new Color32[s*s]); + tex.Apply(); + var ldata = new LightmapData(); + ldata.lightmapColor = tex; + existingLmaps.Add(ldata); + objs[i].lightmapIndex = existingLmaps.Count - 1; + } + + var prop = new MaterialPropertyBlock(); + objs[i].GetPropertyBlock(prop); + prop.SetFloat("bakeryLightmapSize", size[i]); + int lmid = ids[i]; + if (lmid < 1000) + { + if (lmid > maxLM) maxLM = lmid; + } + UnityEngine.Random.InitState(lmid); + prop.SetVector("bakeryLightmapID", UnityEngine.Random.ColorHSV(0, 1, 0.3f, 0.3f, 1, 1)); + objs[i].SetPropertyBlock(prop); + } + + Debug.Log("Lightmap count with current settings: " + (maxLM+1)); + + LightmapSettings.lightmaps = existingLmaps.ToArray(); + } + + //[MenuItem("Bakery/Checker/Toggle")] + public static void ToggleChecker() + { + var sceneView = SceneView.lastActiveSceneView; + if (sceneView == null) + { + Debug.LogError("Can't get SceneView"); + return; + } + if (enabled) + { + tempTextures = null; + //var sceneCameras = SceneView.GetAllSceneCameras(); + //for(int i=0; i(); + asset.write = true; + + ftRenderLightmap.fullSectorRender = true; + ftBuildGraphics.modifyLightmapStorage = false; + ftBuildGraphics.validateLightmapStorageImmutability = false; + var exportSceneFunc = ftBuildGraphics.ExportScene(null, false, true, asset); + var prevSector = storage.renderSettingsSector as BakerySector; + storage.renderSettingsSector = ftRenderLightmap.curSector = vol; + while(exportSceneFunc.MoveNext()) + { + } + storage.renderSettingsSector = ftRenderLightmap.curSector = prevSector; + + if (asset.meshes != null && asset.meshes.Count > 0) + { + string fname; + var activeScene = SceneManager.GetActiveScene(); + if (activeScene.path.Length > 0) + { + fname = Path.GetDirectoryName(activeScene.path) + "/" + assetName; + } + else + { + fname = "Assets/" + assetName; + } + + var tform = (target as BakerySector).transform; + asset.sectorPos = tform.position; + asset.sectorRot = tform.rotation; + + var apath = fname + ".asset"; + AssetDatabase.CreateAsset(asset, apath); + + for(int i=0; i(); + asset.write = true; + } + + ftRenderLightmap.showProgressBar = false; + ftRenderLightmap.fullSectorRender = true; + ftBuildGraphics.modifyLightmapStorage = false; + ftBuildGraphics.validateLightmapStorageImmutability = false; + var exportSceneFunc = ftBuildGraphics.ExportScene(null, false, true, asset); + var prevSector = storage.renderSettingsSector as BakerySector; + storage.renderSettingsSector = ftRenderLightmap.curSector = vol; + while(exportSceneFunc.MoveNext()) + { + } + storage.renderSettingsSector = ftRenderLightmap.curSector = prevSector; + ftRenderLightmap.showProgressBar = true; + + var outRend = asset.outsideRenderers; + vol.previewDisabledRenderers = outRend; + if (outRend != null) + { + for(int i=0; i 0) + { + GUILayout.Label("Edit capture points:"); + } + + for(int i=0; i= 0 || curSelectedC >= 0) Tools.current = Tool.None; + + for(int i=0; i= 0) + { + Handles.matrix = origHMatrix; + int i = curSelectedB; + Handles.zTest = UnityEngine.Rendering.CompareFunction.Always; + var pos = vol.tforms[i].position; + var rot = vol.tforms[i].rotation; + var scl = vol.tforms[i].localScale; + + if (!vol.previewEnabled) + { + EditorGUI.BeginChangeCheck(); + if (lastTool == Tool.Move) + { + pos = Handles.PositionHandle(pos, Quaternion.identity); + } + else if (lastTool == Tool.Rotate) + { + rot = Handles.RotationHandle(rot, pos); + } + else if (lastTool == Tool.Scale) + { + scl = Handles.ScaleHandle(scl, pos, rot, HandleUtility.GetHandleSize(pos)); + } + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(vol.tforms[i], "Change Bounds"); + vol.tforms[i].position = pos; + vol.tforms[i].rotation = rot; + vol.tforms[i].localScale = scl; + } + } + } + + Handles.matrix = Matrix4x4.identity; + Handles.color = Color.green; + + for(int i=0; i= 0) + { + int i = curSelectedC; + Handles.zTest = UnityEngine.Rendering.CompareFunction.Always; + + if (vol.cpoints[i] != null) + { + var pos = vol.cpoints[i].position; + + if (!vol.previewEnabled) + { + EditorGUI.BeginChangeCheck(); + if (lastTool == Tool.Move) + { + pos = Handles.PositionHandle(pos, Quaternion.identity); + } + + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(vol.cpoints[i], "Change capture point"); + vol.cpoints[i].position = pos; + } + } + } + } + } +} +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSectorInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSectorInspector.cs.meta new file mode 100644 index 00000000..7a75de1f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSectorInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: adbe9477f3f37ce4b9269e796a502ed0 +timeCreated: 1619369355 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSettingsProvider.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSettingsProvider.cs new file mode 100644 index 00000000..3cdf1250 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSettingsProvider.cs @@ -0,0 +1,69 @@ +using UnityEditor; +using UnityEngine; + +public class ftSettingsProvider +{ + static BakeryProjectSettings pstorage; + + static void GUIHandler(string searchContext) + { + if (pstorage == null) pstorage = ftLightmaps.GetProjectSettings(); + if (pstorage == null) return; + + var so = new SerializedObject(pstorage); + + var prev = EditorGUIUtility.labelWidth; + EditorGUIUtility.labelWidth = 280; + + EditorGUILayout.PropertyField(so.FindProperty("mipmapLightmaps"), new GUIContent("Mipmap Lightmaps", "Enable mipmapping on lightmap assets. Can cause leaks across UV charts as atlases get smaller.")); + EditorGUILayout.PropertyField(so.FindProperty("format8bit"), new GUIContent("Mask/Direction format", "")); + EditorGUILayout.PropertyField(so.FindProperty("texelPaddingForDefaultAtlasPacker"), new GUIContent("Texel padding (Default atlas packer)", "How many empty texels to add between objects' UV layouts in lightmap atlases."), GUILayout.ExpandWidth(true)); + EditorGUILayout.PropertyField(so.FindProperty("texelPaddingForXatlasAtlasPacker"), new GUIContent("Texel padding (xatlas packer)", "How many empty texels to add between objects' UV layouts in lightmap atlases.")); + EditorGUILayout.PropertyField(so.FindProperty("alphaMetaPassResolutionMultiplier"), new GUIContent("Alpha Meta Pass resolution multiplier", "Scales resolution for alpha Meta Pass maps.")); + //EditorGUILayout.PropertyField(so.FindProperty("volumeRenderMode"), new GUIContent("Volume render mode", "Render mode for volumes.")); + + var volMode = (BakeryLightmapGroup.RenderMode)so.FindProperty("volumeRenderMode").intValue; + var newVolMode = (BakeryLightmapGroup.RenderMode)EditorGUILayout.EnumPopup(new GUIContent("Volume render mode", "Render mode for volumes."), volMode); + if (volMode != newVolMode) so.FindProperty("volumeRenderMode").intValue = (int)newVolMode; + + EditorGUILayout.PropertyField(so.FindProperty("deletePreviousLightmapsBeforeBake"), new GUIContent("Delete previous lightmaps before bake", "Should previously rendered Bakery lightmaps be deleted before the new bake?")); + EditorGUILayout.PropertyField(so.FindProperty("logLevel"), new GUIContent("Log level", "Print information about the bake process to console? 0 = don't. 1 = info only; 2 = warnings only; 3 = everything.")); + EditorGUILayout.PropertyField(so.FindProperty("alternativeScaleInLightmap"), new GUIContent("Alternative Scale in Lightmap", "Make 'Scale in Lightmap' renderer property act more similar to built-in Unity behaviour.")); + EditorGUILayout.PropertyField(so.FindProperty("generateSmoothPos"), new GUIContent("Generate smooth positions", "Should we adjust sample positions to prevent incorrect shadowing on very low-poly meshes with smooth normals?")); + + EditorGUIUtility.labelWidth = prev; + + EditorGUILayout.Space(); + EditorGUILayout.Space(); + + if (GUILayout.Button("Revert to defaults")) + { + if (EditorUtility.DisplayDialog("Bakery", "Revert Bskery project settings to default?", "Yes", "No")) + { + so.FindProperty("mipmapLightmaps").boolValue = false; + so.FindProperty("format8bit").intValue = 0; + so.FindProperty("texelPaddingForDefaultAtlasPacker").intValue = 3; + so.FindProperty("texelPaddingForXatlasAtlasPacker").intValue = 1; + so.FindProperty("alphaMetaPassResolutionMultiplier").intValue = 2; + so.FindProperty("volumeRenderMode").intValue = 1000; + so.FindProperty("deletePreviousLightmapsBeforeBake").boolValue = false; + so.FindProperty("logLevel").intValue = 3; + so.FindProperty("alternativeScaleInLightmap").boolValue = false; + so.FindProperty("generateSmoothPos").boolValue = true; + } + } + + so.ApplyModifiedPropertiesWithoutUndo(); + } + +#if UNITY_2018_3_OR_NEWER + [SettingsProvider] + public static SettingsProvider CreateSettingsProvider() + { + var provider = new SettingsProvider("Project/BakeryGlobalSettings", SettingsScope.Project); + provider.label = "Bakery GPU Lightmapper"; + provider.guiHandler = GUIHandler; + return provider; + } +#endif +} diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSettingsProvider.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSettingsProvider.cs.meta new file mode 100644 index 00000000..8007a641 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSettingsProvider.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: a23d6b5064fb9a9408669cb173b201a8 +timeCreated: 1622052091 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftShaderTweaks.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftShaderTweaks.cs new file mode 100644 index 00000000..c21e5cd2 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftShaderTweaks.cs @@ -0,0 +1,777 @@ +#if UNITY_EDITOR + +using UnityEngine; +using UnityEngine.Rendering; +using UnityEditor; +using System.IO; +using System.Text; +using System.Collections; +using System.Collections.Generic; +using System.Runtime.InteropServices; +using UnityEditor.SceneManagement; +using UnityEngine.SceneManagement; +using System.Diagnostics; +using System.Linq; + +public class ftShaderTweaks : ScriptableWizard +{ + public bool bicubic; + public bool bicubicShadow; + public bool shadowBlend; + public bool falloff; + public bool falloffDeferred; + bool initialized = false; + //bool agree = false; + string includeGIPath; + string includeShadowPath; + string includeLightPath; + string includeDeferredPath; + string shadersDir; + + string ftSignatureBegin = "//"; + string ftSignatureBicubic = "//"; + string ftSignatureShadowmask = "//"; + string ftSignatureEnd = "//"; + string unityLightmapReadCode = "half3 bakedColor = DecodeLightmap(bakedColorTex);"; + //string unityLightMatrixDecl = "unityShadowCoord4x4 unity_WorldToLight;"; + string unityDefineLightAtten = "#define UNITY_LIGHT_ATTENUATION(destName, input, worldPos) "; + string unityGetShadowCoord = "unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz;"; + string unityGetShadowCoord4 = "unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1));"; + string unityGetShadow = "fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos);"; + string ftLightFalloff = "fixed destName = ftLightFalloff(unity_WorldToLight, worldPos)"; + //string unityLightFalloffNew = "UnitySpotAttenuate(lightCoord.xyz)"; + //string ftLightFalloffNew = "ftLightFalloff(unity_WorldToLight, worldPos)"; + //string unityLightFalloffNew2 = "UnitySpotAttenuate(worldPos)"; + //string ftLightFalloffNew2 = "ftLightFalloff(unity_WorldToLight, worldPos)"; + string unitySpotFalloffDeferred = "atten *= tex2D (_LightTextureB0,"; + string ftSpotFalloffDeferred = "atten *= ftLightFalloff(_LightPos, wpos);"; + string unityPointFalloffDeferred = "float atten = tex2D (_LightTextureB0, "; + string ftPointFalloffDeferred = "float atten = ftLightFalloff(_LightPos, wpos);"; + string unityShadowMaskRead = "UNITY_SAMPLE_TEX2D(unity_ShadowMask"; + string ftShadowMaskRead = "ftBicubicSampleShadow(unity_ShadowMask"; + string unityShadowMaskRead2 = "UNITY_SAMPLE_TEX2D_SAMPLER(unity_ShadowMask"; + string ftShadowMaskRead2 = "ftBicubicSampleShadow2(unity_ShadowMask"; + string unityShadowMaskBlend = "min(realtimeShadowAttenuation, bakedShadowAttenuation)"; + string ftShadowMaskBlend = "(realtimeShadowAttenuation * bakedShadowAttenuation)"; + + //string ftLightFalloffDeferred = "#define LIGHT_ATTENUATION ftLightFalloff(unity_WorldToLight, worldPos) * SHADOW_ATTENUATION(a))"; + + void OnInspectorUpdate() + { + Repaint(); + } + + void CopyInclude(string shadersDir) + { + var edPath = ftLightmaps.GetEditorPath(); + File.Copy(edPath + "shaderSrc/ftrace.cginc", shadersDir + "/ftrace.cginc", true); + } + + bool RevertFile(string fname) + { + var reader = new StreamReader(fname); + if (reader == null) + { + UnityEngine.Debug.LogError("Can't open " + fname); + return false; + } + var lines = new List(); + bool inBlock = false; + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + if (line.StartsWith(ftSignatureBegin)) + { + inBlock = true; + } + else if (line.StartsWith(ftSignatureEnd)) + { + inBlock = false; + } + else if (!inBlock) + { + lines.Add(line); + } + } + reader.Close(); + + var writer = new StreamWriter(fname, false); + if (writer == null) + { + UnityEngine.Debug.LogError("Can't open " + fname); + return false; + } + for(int i=0; i(); + lines.Add(ftSignatureBegin); + lines.Add(ftSignatureBicubic); + lines.Add("#define USEFTRACE\n"); + lines.Add("#ifdef USEFTRACE"); + lines.Add("#include \"ftrace.cginc\""); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + if (line.StartsWith(ftSignatureBicubic)) + { + UnityEngine.Debug.Log("Already patched"); + patched = true; + break; + } + else if (line.Trim() == unityLightmapReadCode) + { + lines.Add(ftSignatureBegin); + lines.Add("#ifdef USEFTRACE"); + lines.Add(" half3 bakedColor = ftLightmapBicubic(data.lightmapUV.xy);"); + lines.Add("#else"); + lines.Add(ftSignatureEnd); + + lines.Add(unityLightmapReadCode); + + lines.Add(ftSignatureBegin); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + } + else + { + lines.Add(line); + } + } + reader.Close(); + + if (!patched) + { + if (!File.Exists(includeGIPath + "_backup")) File.Copy(includeGIPath, includeGIPath + "_backup"); + var writer = new StreamWriter(includeGIPath, false); + + if (writer == null) + { + UnityEngine.Debug.LogError("Can't open " + includeGIPath); + bicubic = false; + return; + } + + for(int i=0; i(); + lines.Add(ftSignatureBegin); + lines.Add(ftSignatureBicubic); + lines.Add("#define USEFTRACE\n"); + lines.Add("#ifdef USEFTRACE"); + lines.Add("#include \"ftrace.cginc\""); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + if (line.StartsWith(ftSignatureBicubic)) + { + UnityEngine.Debug.Log("Already patched"); + patched = true; + break; + } + else if (line.IndexOf(unityShadowMaskRead) >= 0) + { + lines.Add(ftSignatureBegin); + lines.Add("#ifdef USEFTRACE"); + lines.Add(line.Replace(unityShadowMaskRead, ftShadowMaskRead)); + lines.Add("#else"); + lines.Add(ftSignatureEnd); + + lines.Add(line); + + lines.Add(ftSignatureBegin); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + } + else if (line.IndexOf(unityShadowMaskRead2) >= 0) + { + lines.Add(ftSignatureBegin); + lines.Add("#ifdef USEFTRACE"); + lines.Add(line.Replace(unityShadowMaskRead2, ftShadowMaskRead2)); + lines.Add("#else"); + lines.Add(ftSignatureEnd); + + lines.Add(line); + + lines.Add(ftSignatureBegin); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + } + else + { + lines.Add(line); + } + } + reader.Close(); + + if (!patched) + { + if (!File.Exists(includeShadowPath + "_backup")) File.Copy(includeShadowPath, includeShadowPath + "_backup"); + var writer = new StreamWriter(includeShadowPath, false); + + if (writer == null) + { + UnityEngine.Debug.LogError("Can't open " + includeShadowPath); + bicubicShadow = false; + return; + } + + for(int i=0; i(); + lines.Add(ftSignatureBegin); + lines.Add(ftSignatureShadowmask); + lines.Add("#define USEFTRACE\n"); + lines.Add("#ifdef USEFTRACE"); + lines.Add("#include \"ftrace.cginc\""); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + if (line.StartsWith(ftSignatureShadowmask)) + { + UnityEngine.Debug.Log("Already patched"); + patched = true; + break; + } + else if (line.IndexOf(unityShadowMaskBlend) >= 0) + { + lines.Add(ftSignatureBegin); + lines.Add("#ifdef USEFTRACE"); + lines.Add(line.Replace(unityShadowMaskBlend, ftShadowMaskBlend)); + lines.Add("#else"); + lines.Add(ftSignatureEnd); + + lines.Add(line); + + lines.Add(ftSignatureBegin); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + } + else + { + lines.Add(line); + } + } + reader.Close(); + + if (!patched) + { + if (!File.Exists(includeShadowPath + "_backup")) File.Copy(includeShadowPath, includeShadowPath + "_backup"); + var writer = new StreamWriter(includeShadowPath, false); + + if (writer == null) + { + UnityEngine.Debug.LogError("Can't open " + includeShadowPath); + shadowBlend = false; + return; + } + + for(int i=0; i(); + lines.Add(ftSignatureBegin); + lines.Add("#define USEFTRACE\n"); + lines.Add("#ifdef USEFTRACE"); + lines.Add("#include \"ftrace.cginc\""); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + int lastIfdef = 0; + int lastEndif = 0; + int lastDefine = 0; + + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + + //if (line.IndexOf(unityLightFalloffNew) >= 0) + //{ + // lines.Add(ftSignatureBegin); + // lines.Add("/*"); + // lines.Add(ftSignatureEnd); +// + // lines.Add(line); +// + // lines.Add(ftSignatureBegin); + // lines.Add("*/"); + // lines.Add(line.Replace(unityLightFalloffNew, ftLightFalloffNew)); + // lines.Add(ftSignatureEnd); + // continue; + //} + //else if (line.IndexOf(unityLightFalloffNew2) >= 0) + //{ + // lines.Add(ftSignatureBegin); + // lines.Add("/*"); + // lines.Add(ftSignatureEnd); +// + // lines.Add(line); +// + // lines.Add(ftSignatureBegin); + // lines.Add("*/"); + // lines.Add(line.Replace(unityLightFalloffNew2, ftLightFalloffNew2)); + // lines.Add(ftSignatureEnd); + // continue; + //} + + if (line.IndexOf("#if") >= 0) lastIfdef = lines.Count; + if (line.IndexOf("define UNITY_LIGHT_ATTENUATION") >= 0 || line.IndexOf("define LIGHT_ATTENUATION") >= 0) + { + lastDefine = lines.Count; + } + if (line.IndexOf("#endif") >= 0) lastEndif = lines.Count; + + if (line.StartsWith(ftSignatureBegin)) + { + UnityEngine.Debug.Log("Already patched"); + patched = true; + break; + } + else + { + if (lastEndif == lines.Count && lastDefine > lastIfdef) // we should be at the endif of light atten declaration + { + string ifdefLine = lines[lastIfdef]; + string defineLine = lines[lastDefine]; + + if (defineLine.IndexOf("define UNITY_LIGHT_ATTENUATION") >= 0) + { + if ((ifdefLine.IndexOf("POINT") >= 0 || ifdefLine.IndexOf("SPOT") >= 0) && + ifdefLine.IndexOf("POINT_COOKIE") < 0 && ifdefLine.IndexOf("SPOT_COOKIE") < 0) + { + // Forward point light + lines.Insert(lastDefine, ftSignatureBegin); + lines.Insert(lastDefine + 1, "/*"); + lines.Insert(lastDefine + 2, ftSignatureEnd); + + lines.Add(ftSignatureBegin); + lines.Add("*/"); + + if (ifdefLine.IndexOf("POINT") >= 0) + { + //lines.Add(unityLightMatrixDecl); + lines.Add(unityDefineLightAtten + "\\"); + lines.Add(unityGetShadowCoord + "\\"); + lines.Add(unityGetShadow + "\\"); + lines.Add(ftLightFalloff + " * shadow;"); + } + else if (ifdefLine.IndexOf("SPOT") >= 0) + { + lines.Add(unityDefineLightAtten + "\\"); + lines.Add(unityGetShadowCoord4 + "\\"); + lines.Add(unityGetShadow + "\\"); + lines.Add(ftLightFalloff + " * (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * shadow;"); + } + + lines.Add(ftSignatureEnd); + } + } + //else if (defineLine.IndexOf("define LIGHT_ATTENUATION") >= 0) + // { + // if (ifdefLine.IndexOf("POINT") >= 0) + // { + // // Deferred point light + // lines.Insert(lastDefine, ftSignatureBegin); + // lines.Insert(lastDefine + 1, "/*"); + // lines.Insert(lastDefine + 2, ftSignatureEnd); + + // lines.Insert(lastDefine + 4, ftSignatureBegin); + // lines.Insert(lastDefine + 5, "*/"); + + // if (ifdefLine.IndexOf("POINT") >= 0) + // { + // lines.Add(ftLightFalloffDeferred); + // } + + // lines.Add(ftSignatureEnd); + // } + // } + } + lines.Add(line); + } + } + reader.Close(); + + if (!patched) + { + if (!File.Exists(includeLightPath + "_backup")) File.Copy(includeLightPath, includeLightPath + "_backup"); + var writer = new StreamWriter(includeLightPath, false); + + if (writer == null) + { + UnityEngine.Debug.LogError("Can't open " + includeLightPath); + falloff = false; + return; + } + + for(int i=0; i(); + lines.Add(ftSignatureBegin); + lines.Add("#define USEFTRACE\n"); + lines.Add("#ifdef USEFTRACE"); + lines.Add("#include \"ftrace.cginc\""); + lines.Add("#endif"); + lines.Add(ftSignatureEnd); + + while (!reader.EndOfStream) + { + var line = reader.ReadLine(); + if (line.StartsWith(ftSignatureBegin)) + { + UnityEngine.Debug.Log("Already patched"); + patched = true; + break; + } + else if (line.IndexOf(unitySpotFalloffDeferred) >= 0) + { + lines.Add(ftSignatureBegin); + lines.Add("/*"); + lines.Add(ftSignatureEnd); + + lines.Add(line); + + lines.Add(ftSignatureBegin); + lines.Add("*/"); + lines.Add(ftSpotFalloffDeferred); + lines.Add(ftSignatureEnd); + } + else if (line.IndexOf(unityPointFalloffDeferred) >= 0) + { + lines.Add(ftSignatureBegin); + lines.Add("/*"); + lines.Add(ftSignatureEnd); + + lines.Add(line); + + lines.Add(ftSignatureBegin); + lines.Add("*/"); + lines.Add(ftPointFalloffDeferred); + lines.Add(ftSignatureEnd); + } + else + { + lines.Add(line); + } + } + reader.Close(); + + if (!patched) + { + if (!File.Exists(includeDeferredPath + "_backup")) File.Copy(includeDeferredPath, includeDeferredPath + "_backup"); + var writer = new StreamWriter(includeDeferredPath, false); + + if (writer == null) + { + UnityEngine.Debug.LogError("Can't open " + includeDeferredPath); + falloffDeferred = false; + return; + } + + for(int i=0; i= 0) + { + if (cached != newVal) + { + BakerySkyLight.lightsChanged = 2; + } + } + cached = newVal; + } + + void TestPreviewRefreshProperty(ref int cached, UnityEngine.Object newVal) + { + if (newVal == null) + { + TestPreviewRefreshProperty(ref cached, 0); + return; + } + TestPreviewRefreshProperty(ref cached, newVal.GetInstanceID()); + } + + static string ftSkyboxShaderName = "Bakery/Skybox"; + + ftLightmapsStorage storage; + + static string[] selStrings = new string[] {"0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16", + "17","18","19","20","21","22","23","24","25","26","27","28","29","30"};//,"31"}; + + static public string[] directContributionOptions = new string[] {"Direct And Indirect (recommended)", "Indirect only"}; + + bool showExperimental = false; + + void OnEnable() + { + ftraceLightColor = serializedObject.FindProperty("color"); + ftraceLightIntensity = serializedObject.FindProperty("intensity"); + ftraceLightIndirectIntensity = serializedObject.FindProperty("indirectIntensity"); + ftraceLightTexture = serializedObject.FindProperty("cubemap"); + ftraceLightSamples = serializedObject.FindProperty("samples"); + ftraceLightHemi = serializedObject.FindProperty("hemispherical"); + ftraceLightCorrectRot = serializedObject.FindProperty("correctRotation"); + ftraceLightBitmask = serializedObject.FindProperty("bitmask"); + ftraceLightBakeToIndirect = serializedObject.FindProperty("bakeToIndirect"); + ftraceTangentSH = serializedObject.FindProperty("tangentSH"); + } + + public override void OnInspectorGUI() { + { + serializedObject.Update(); + + TestPreviewRefreshProperty(ref texCached, ftraceLightTexture.objectReferenceValue); + + EditorGUILayout.PropertyField(ftraceLightColor, new GUIContent("Color", "Sky color. Multiplies texture color.")); + EditorGUILayout.PropertyField(ftraceLightIntensity, new GUIContent("Intensity", "Color multiplier")); + EditorGUILayout.PropertyField(ftraceLightTexture, new GUIContent("Sky texture", "Cubemap")); + if (ftraceLightTexture.objectReferenceValue != null) + { + EditorGUILayout.PropertyField(ftraceLightCorrectRot, new GUIContent("Correct rotation", "Enable to have a proper match between GameObject rotation and HDRI rotation. Disabled by default for backwards compatibility.")); + var angles = (target as BakerySkyLight).transform.eulerAngles; + EditorGUILayout.LabelField("Cubemap angles: " + angles.x + ", " + angles.y + ", " + angles.z); + EditorGUILayout.LabelField("Rotate this GameObject to change cubemap angles."); + EditorGUILayout.Space(); + } + EditorGUILayout.PropertyField(ftraceLightSamples, new GUIContent("Samples", "The amount of rays tested for this light. Rays are emitted hemispherically.")); + + EditorGUILayout.PropertyField(ftraceLightHemi, new GUIContent("Hemispherical", "Only emit light from upper hemisphere")); + + //ftraceLightBitmask.intValue = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), ftraceLightBitmask.intValue, selStrings); + int prevVal = ftraceLightBitmask.intValue; + int newVal = EditorGUILayout.MaskField(new GUIContent("Bitmask", "Lights only affect renderers with overlapping bits"), ftraceLightBitmask.intValue, selStrings); + if (prevVal != newVal) ftraceLightBitmask.intValue = newVal; + + //EditorGUILayout.PropertyField(ftraceLightBakeToIndirect, new GUIContent("Bake to indirect", "Add direct contribution from this light to indirect-only lightmaps")); + + if (storage == null) storage = ftRenderLightmap.FindRenderSettingsStorage(); + var rmode = storage.renderSettingsUserRenderMode; + if (rmode != (int)ftRenderLightmap.RenderMode.FullLighting) + { + ftDirectLightInspector.BakeWhat contrib; + if (ftraceLightBakeToIndirect.boolValue) + { + contrib = ftDirectLightInspector.BakeWhat.DirectAndIndirect; + } + else + { + contrib = ftDirectLightInspector.BakeWhat.IndirectOnly; + } + var prevContrib = contrib; + + contrib = (ftDirectLightInspector.BakeWhat)EditorGUILayout.Popup("Baked contribution", (int)contrib, directContributionOptions); + + if (prevContrib != contrib) + { + if (contrib == ftDirectLightInspector.BakeWhat.IndirectOnly) + { + ftraceLightBakeToIndirect.boolValue = false; + } + else + { + ftraceLightBakeToIndirect.boolValue = true; + } + } + } + + EditorGUILayout.PropertyField(ftraceLightIndirectIntensity, new GUIContent("Indirect intensity", "Non-physical GI multiplier for this light")); + + showExperimental = EditorGUILayout.Foldout(showExperimental, "Experimental", EditorStyles.foldout); + if (showExperimental) + { + EditorGUILayout.PropertyField(ftraceTangentSH, new GUIContent("Tangent-space SH", "Only affects single-color skylights. When baking in SH mode, harmonics will be in tangent space. Can be useful for implementing skinned model specular occlusion in custom shaders.")); + } + + serializedObject.ApplyModifiedProperties(); + } + + var skyMat = RenderSettings.skybox; + bool match = false; + bool skyboxValid = true; + string why = ""; + if (skyMat != null) + { + if (skyMat.HasProperty("_Tex") && skyMat.HasProperty("_Exposure") && skyMat.HasProperty("_Tint")) + { + if (skyMat.GetTexture("_Tex") == ftraceLightTexture.objectReferenceValue) + { + float exposure = skyMat.GetFloat("_Exposure"); + bool exposureSRGB = skyMat.shader.name == "Skybox/Cubemap"; + if (exposureSRGB) + { + exposure = Mathf.Pow(exposure, 2.2f); // can't detect [Gamma] keyword... + exposure *= PlayerSettings.colorSpace == ColorSpace.Linear ? 4.59f : 2; // weird unity constant + } + if (Mathf.Abs(exposure - ftraceLightIntensity.floatValue) < 0.0001f) + { + if (skyMat.GetColor("_Tint") == ftraceLightColor.colorValue) + { + bool anglesMatch = true; + var angles = (target as BakerySkyLight).transform.eulerAngles; + Vector3 matMatrixX = Vector3.right; + Vector3 matMatrixY = Vector3.up; + Vector3 matMatrixZ = Vector3.forward; + float matAngleY = 0; + bool hasYAngle = skyMat.HasProperty("_Rotation"); + bool hasXZAngles = skyMat.HasProperty("_MatrixRight"); + if (hasYAngle) matAngleY = skyMat.GetFloat("_Rotation"); + if (hasXZAngles) + { + matMatrixX = skyMat.GetVector("_MatrixRight"); + matMatrixY = skyMat.GetVector("_MatrixUp"); + matMatrixZ = skyMat.GetVector("_MatrixForward"); + } + + if (angles.y != 0 && !hasYAngle) + { + anglesMatch = false; + why = "no _Rotation property, but light is rotated"; + } + else if ((angles.x != 0 || angles.z != 0) && !hasXZAngles) + { + anglesMatch = false; + why = "shader doesn't allow XZ rotation"; + } + else + { + var lightQuat = (target as BakerySkyLight).transform.rotation; + Quaternion matQuat; + if (hasXZAngles) + { + var mtx = new Matrix4x4(); + mtx.SetColumn(0, new Vector4(matMatrixX.x, matMatrixX.y, matMatrixX.z, 0)); + mtx.SetColumn(1, new Vector4(matMatrixY.x, matMatrixY.y, matMatrixY.z, 0)); + mtx.SetColumn(2, new Vector4(matMatrixZ.x, matMatrixZ.y, matMatrixZ.z, 0)); + matQuat = QuaternionFromMatrix(mtx); + } + else + { + matQuat = Quaternion.Euler(0, matAngleY, 0); + } + + float diff = Quaternion.Angle(matQuat, lightQuat); + //Debug.Log("d " + diff); + if (Mathf.Abs(diff) > 0.01f) + { + anglesMatch = false; + why = "angles don't match"; + } + } + if (anglesMatch) match = true; + } + else + { + why = "color doesn't match"; + } + } + else + { + why = "exposure doesn't match"; + } + } + else + { + why = "texture doesn't match"; + } + } + else + { + if (!skyMat.HasProperty("_Tex")) why += "_Tex "; + if (!skyMat.HasProperty("_Exposure")) why += "_Exposure "; + if (!skyMat.HasProperty("_Tint")) why += "_Tint "; + why += "not defined"; + skyboxValid = false; + } + } + else + { + why = "no skybox set"; + skyboxValid = false; + } + + if (!match) + { + EditorGUILayout.Space(); + EditorGUILayout.LabelField("Skylight doesn't match skybox: " + why); + EditorGUILayout.Space(); + + if (skyboxValid) + { + if (GUILayout.Button("Match this light to scene skybox")) + { + ftraceLightTexture.objectReferenceValue = skyMat.GetTexture("_Tex"); + + float exposure = skyMat.GetFloat("_Exposure"); + bool exposureSRGB = skyMat.shader.name == "Skybox/Cubemap"; + if (exposureSRGB) + { + exposure = Mathf.Pow(exposure, 2.2f); // can't detect [Gamma] keyword... + exposure *= PlayerSettings.colorSpace == ColorSpace.Linear ? 4.59f : 2; // weird unity constant + } + ftraceLightIntensity.floatValue = exposure; + + ftraceLightColor.colorValue = skyMat.GetColor("_Tint"); + + float matAngle = 0; + if (skyMat.HasProperty("_Rotation")) matAngle = skyMat.GetFloat("_Rotation"); + var matQuat = Quaternion.Euler(0, matAngle, 0); + Undo.RecordObject((target as BakerySkyLight).transform, "Rotate skylight"); + (target as BakerySkyLight).transform.rotation = matQuat; + + serializedObject.ApplyModifiedProperties(); + } + } + + if (GUILayout.Button("Match scene skybox to this light")) + { + var tform = (target as BakerySkyLight).transform; + var angles = tform.eulerAngles; + if (angles.x !=0 || angles.z !=0) + { + if (skyboxValid && !skyMat.HasProperty("_MatrixRight")) skyboxValid = false; // only ftrace skybox can handle xz rotation for now + } + + if (angles.y != 0 && skyboxValid && !skyMat.HasProperty("_Rotation")) skyboxValid = false; // needs _Rotation for Y angle + + if (!skyboxValid) + { + var outputPath = ftRenderLightmap.outputPath; + skyMat = new Material(Shader.Find(ftSkyboxShaderName)); + if (!Directory.Exists("Assets/" + outputPath)) + { + Directory.CreateDirectory("Assets/" + outputPath); + } + AssetDatabase.CreateAsset(skyMat, "Assets/" + outputPath + "/" + SceneManager.GetActiveScene().name + "_skybox.asset"); + AssetDatabase.SaveAssets(); + AssetDatabase.Refresh(); + } + skyMat.SetTexture("_Tex", ftraceLightTexture.objectReferenceValue as Cubemap); + skyMat.SetFloat("_NoTexture", ftraceLightTexture.objectReferenceValue == null ? 1 : 0); + + float exposure = ftraceLightIntensity.floatValue; + bool exposureSRGB = skyMat.shader.name == "Skybox/Cubemap"; + if (exposureSRGB) + { + exposure /= PlayerSettings.colorSpace == ColorSpace.Linear ? 4.59f : 2; // weird unity constant + exposure = Mathf.Pow(exposure, 1.0f / 2.2f); // can't detect [Gamma] keyword... + } + skyMat.SetFloat("_Exposure", exposure); + + skyMat.SetColor("_Tint", ftraceLightColor.colorValue); + + if (skyMat.HasProperty("_Rotation")) skyMat.SetFloat("_Rotation", angles.y); + + if ((target as BakerySkyLight).correctRotation) + { + // transpose + var r = tform.right; + var u = tform.up; + var f = tform.forward; + if (skyMat.HasProperty("_MatrixRight")) skyMat.SetVector("_MatrixRight", new Vector3(r.x, u.x, f.x)); + if (skyMat.HasProperty("_MatrixUp")) skyMat.SetVector("_MatrixUp", new Vector3(r.y, u.y, f.y)); + if (skyMat.HasProperty("_MatrixForward")) skyMat.SetVector("_MatrixForward", new Vector3(r.z, u.z, f.z)); + } + else + { + if (skyMat.HasProperty("_MatrixRight")) skyMat.SetVector("_MatrixRight", tform.right); + if (skyMat.HasProperty("_MatrixUp")) skyMat.SetVector("_MatrixUp", tform.up); + if (skyMat.HasProperty("_MatrixForward")) skyMat.SetVector("_MatrixForward", tform.forward); + } + + RenderSettings.skybox = skyMat; + EditorUtility.SetDirty(skyMat); + } + + EditorGUILayout.Space(); + EditorGUILayout.Space(); + } + } +} + + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSkyLightInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSkyLightInspector.cs.meta new file mode 100644 index 00000000..a8f7e985 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftSkyLightInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 43b464df539471c47880a0cc39cd4861 +timeCreated: 1525278120 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftTextureProcessor.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftTextureProcessor.cs new file mode 100644 index 00000000..3f26bd6a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftTextureProcessor.cs @@ -0,0 +1,57 @@ +using UnityEngine; +using UnityEditor; +using System.Collections.Generic; + +public class ftTextureProcessor : AssetPostprocessor +{ + public static Dictionary texSettings = new Dictionary(); + static BakeryProjectSettings pstorage; + + public const int TEX_LM = 0; + public const int TEX_LMDEFAULT = 1; + public const int TEX_MASK = 2; + public const int TEX_DIR = 3; + + void OnPreprocessTexture() + { + TextureImporter importer = assetImporter as TextureImporter; + Vector2 settings; + + if (!texSettings.TryGetValue(importer.assetPath, out settings)) return; + + if (pstorage == null) pstorage = ftLightmaps.GetProjectSettings(); + + importer.maxTextureSize = (int)settings.x; + importer.mipmapEnabled = pstorage.mipmapLightmaps; + importer.wrapMode = TextureWrapMode.Clamp; + + int texType = (int)settings.y; + switch(texType) + { + case TEX_LM: + { + importer.textureType = TextureImporterType.Lightmap; + break; + } + case TEX_LMDEFAULT: + { + importer.textureType = TextureImporterType.Default; + break; + } + case TEX_MASK: + { + importer.textureType = TextureImporterType.Default; + importer.textureCompression = TextureImporterCompression.CompressedHQ; + break; + } + case TEX_DIR: + { + importer.textureType = TextureImporterType.Default; + importer.textureCompression = TextureImporterCompression.CompressedHQ; + importer.sRGBTexture = (pstorage.format8bit == BakeryProjectSettings.FileFormat.PNG); + break; + } + } + } +} + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftTextureProcessor.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftTextureProcessor.cs.meta new file mode 100644 index 00000000..9fe9fda4 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftTextureProcessor.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 68d2ca0e99ca9604fa09956f75773620 +timeCreated: 1546597706 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUVGBufferGen.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUVGBufferGen.cs new file mode 100644 index 00000000..368d17d9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUVGBufferGen.cs @@ -0,0 +1,595 @@ +#if UNITY_EDITOR + +using UnityEngine; +using UnityEditor; +using System.IO; + +public class ftUVGBufferGen +{ + static RenderTexture rtAlbedo, rtEmissive, rtNormal, rtAlpha; + public static Texture2D texAlbedo, texEmissive, texNormal, texBestFit, texAlpha; + //static GameObject dummyCamGO; + //static Camera dummyCam; + static float texelSize; + //static Vector4 shaBlack, shaWhite; + static Material matFromRGBM; + static Material matDilate, matMultiply; + static bool emissiveEnabled = false; + static bool normalEnabled = false; + static bool alphaEnabled = false; + static Vector4 metaControl, metaControlAlbedo, metaControlEmission, metaControlNormal, metaControlAlpha; + static Material fallbackMat, normalMat, blackMat; + static int fallbackMatMetaPass; + static BakeryProjectSettings pstorage; + + const int PASS_ALBEDO = 0; + const int PASS_EMISSIVE = 1; + const int PASS_NORMAL = 2; + const int PASS_ALPHA = 3; + const int PASS_COUNT = 4; // just a marker + + public static float[] uvOffset = + { + -2, -2, + 2, -2, + -2, 2, + 2, 2, + + -1, -2, + 1, -2, + -2, -1, + 2, -1, + -2, 1, + 2, 1, + -1, 2, + 1, 2, + + -2, 0, + 2, 0, + 0, -2, + 0, 2, + + -1, -1, + 1, -1, + -1, 0, + 1, 0, + -1, 1, + 1, 1, + 0, -1, + 0, 1, + + 0, 0 + }; + + static public void UpdateMatrix(Matrix4x4 worldMatrix, float offsetX, float offsetY)//Matrix4x4 worldMatrix) + { + // Generate a projection matrix similar to LoadOrtho + /*var dummyCamGO = new GameObject(); + dummyCamGO.name = "dummyCam"; + var dummyCam = dummyCamGO.AddComponent(); + dummyCam.cullingMask = 0; + dummyCam.orthographic = true; + dummyCam.orthographicSize = 0.5f; + dummyCam.nearClipPlane = -10; + dummyCam.aspect = 1; + var proj = dummyCam.projectionMatrix; + var c3 = proj.GetColumn(3); + proj.SetColumn(3, new Vector4(-1, -1, c3.z, c3.w)); + Debug.Log(proj);*/ + + var proj = new Matrix4x4(); + proj.SetRow(0, new Vector4(2.00000f, 0.00000f, 0.00000f, -1.00000f + offsetX)); + proj.SetRow(1, new Vector4(0.00000f, 2.00000f, 0.00000f, -1.00000f + offsetY)); + proj.SetRow(2, new Vector4(0.00000f, 0.00000f, -0.00198f, -0.98f)); + proj.SetRow(3, new Vector4(0.00000f, 0.00000f, 0.00000f, 1.00000f)); + + //if (ftBuildGraphics.unityVersionMajor < 2018) // Unity 2018 stopped multiplying vertices by world matrix in meta pass + //{ +#if UNITY_2018_1_OR_NEWER +#else + proj = proj * worldMatrix.inverse; +#endif + //} + + // If Camera.current is set, multiply our matrix by the inverse of its view matrix + if (Camera.current != null) + { + proj = proj * Camera.current.worldToCameraMatrix.inverse; + } + + GL.LoadProjectionMatrix(proj); + } + + static public void StartUVGBuffer(int size, bool hasEmissive, bool hasNormal) + { + emissiveEnabled = hasEmissive; + normalEnabled = hasNormal; + alphaEnabled = false; + + rtAlbedo = new RenderTexture(size, size, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB); + texAlbedo = new Texture2D(size, size, TextureFormat.RGBA32, false, false); + + Graphics.SetRenderTarget(rtAlbedo); + GL.Clear(true, true, new Color(0,0,0,0)); + + if (hasEmissive) + { + rtEmissive = new RenderTexture(size, size, 0, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear); + texEmissive = new Texture2D(size, size, TextureFormat.RGBAHalf, false, true); + Graphics.SetRenderTarget(rtEmissive); + GL.Clear(true, true, new Color(0,0,0,0)); + } + + if (hasNormal) + { + rtNormal = new RenderTexture(size, size, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); + texNormal = new Texture2D(size, size, TextureFormat.RGBA32, false, true); + Graphics.SetRenderTarget(rtNormal); + GL.Clear(true, true, new Color(0,0,0,0)); + } + + //GL.sRGBWrite = true;//!hasEmissive; + GL.invertCulling = false; + GL.PushMatrix(); + //GL.LoadOrtho(); + //UpdateMatrix(); + /*float ambR, ambG, ambB; + //ambR = ambG = ambB = emissiveOnly ? 0 : 1; + Shader.SetGlobalVector("unity_SHBr", Vector4.zero); + Shader.SetGlobalVector("unity_SHBg", Vector4.zero); + Shader.SetGlobalVector("unity_SHBb", Vector4.zero); + Shader.SetGlobalVector("unity_SHC", Vector4.zero);*/ + texelSize = (1.0f / size) / 5; + //shaBlack = new Vector4(0,0,0,0); + //shaWhite = new Vector4(0,0,0,1); + metaControl = new Vector4(1,0,0,0); + metaControlAlbedo = new Vector4(1,0,0,0); + metaControlEmission = new Vector4(0,1,0,0); + metaControlNormal = new Vector4(0,0,1,0); + metaControlAlpha = new Vector4(0,0,0,1); + Shader.SetGlobalVector("unity_MetaVertexControl", metaControl); + Shader.SetGlobalFloat("unity_OneOverOutputBoost", 1.0f); + Shader.SetGlobalFloat("unity_MaxOutputValue", 10000000.0f); + Shader.SetGlobalFloat("unity_UseLinearSpace", PlayerSettings.colorSpace == ColorSpace.Linear ? 1.0f : 0.0f); + } + + static public void InitAlphaBuffer(int size) + { + alphaEnabled = true; + rtAlpha = new RenderTexture(size, size, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.Linear); + texAlpha = new Texture2D(size, size, TextureFormat.RGBA32, false, true); + Graphics.SetRenderTarget(rtAlpha); + GL.Clear(true, true, new Color(0,0,0,0)); + } + + static public void RenderUVGBuffer(Mesh mesh, Renderer renderer, Vector4 scaleOffset, Transform worldTransform, bool vertexBake, + Vector2[] uvOverride, bool terrainNormals = false, bool metaAlpha = false) + { + var worldMatrix = worldTransform.localToWorldMatrix; + + if (pstorage == null) pstorage = ftLightmaps.GetProjectSettings(); + + if (metaAlpha && !alphaEnabled) + { + int res = rtAlbedo.width * pstorage.alphaMetaPassResolutionMultiplier; + if (res > 8192) res = 8192; + InitAlphaBuffer(res); + } + + Material[] materials = renderer.sharedMaterials; +#if SUPPORT_MBLOCKS + var mb = new MaterialPropertyBlock(); +#endif + + var m = mesh; + if (uvOverride != null) + { + m = Mesh.Instantiate(mesh); + //var uvs = m.uv2; + //if (uvs.Length == 0) uvs = m.uv; + //var pos = new Vector3[uvs.Length]; + /*for(int i=0; i= PASS_NORMAL) isHDRP = false; // custom meta shaders are not affected + int bakeryPass = -1; + + if (pass < PASS_NORMAL) + { + int metaPass = -1; + if (!materials[i].HasProperty("BAKERY_FORCE_NO_META")) + { + if (!passAsBlack) + { + metaPass = materials[i].FindPass("META"); + if (metaPass < 0) + { + // Try finding another pass pass with "META" in it + for(int mpass=0; mpass= 0) + { + metaPass = mpass; + break; + } + } + } + } + } + Shader.SetGlobalVector("unity_LightmapST", (isHDRP) ? scaleOffsetFlipped : scaleOffset); + Shader.SetGlobalVector("unity_MetaFragmentControl", pass == PASS_ALBEDO ? metaControlAlbedo : metaControlEmission); + + if (metaPass >= 0) + { + materials[i].SetPass(metaPass); + } + else + { + if (passAsBlack) + { + if (blackMat == null) + { + blackMat = new Material(Shader.Find("Hidden/ftBlack")); + } + Shader.SetGlobalVector("unity_LightmapST", scaleOffset); + blackMat.SetPass(0); + } + else + { + if (fallbackMat == null) + { + fallbackMat = new Material(Shader.Find("Standard")); + fallbackMat.EnableKeyword("_EMISSION"); + fallbackMatMetaPass = fallbackMat.FindPass("META"); + } + if ((pstorage.logLevel & (int)BakeryProjectSettings.LogLevel.Warning) != 0) + { + if (materials[i].name != "Hidden/ftFarSphere") + { + Debug.LogWarning("Material " + materials[i].name + " doesn't have meta pass - maps are taken by name"); + } + } + if (materials[i].HasProperty("_MainTex")) + { + fallbackMat.mainTexture = materials[i].GetTexture("_MainTex"); + } + else if (materials[i].HasProperty("_BaseColorMap")) + { + // HDRP + fallbackMat.mainTexture = materials[i].GetTexture("_BaseColorMap"); + } + else if (materials[i].HasProperty("_BaseMap")) + { + // URP + fallbackMat.mainTexture = materials[i].GetTexture("_BaseMap"); + } + if (materials[i].HasProperty("_Color")) + { + fallbackMat.SetVector("_Color", materials[i].GetVector("_Color")); + } + else + { + fallbackMat.SetVector("_Color", Color.white); + } + if (materials[i].HasProperty("_EmissionMap")) + { + fallbackMat.SetTexture("_EmissionMap", materials[i].GetTexture("_EmissionMap")); + } + else + { + fallbackMat.SetTexture("_EmissionMap", null); + } + if (materials[i].HasProperty("_EmissionColor")) + { + fallbackMat.SetVector("_EmissionColor", materials[i].GetVector("_EmissionColor")); + } + else + { + fallbackMat.SetVector("_EmissionColor", Color.black); + } + fallbackMat.SetPass(fallbackMatMetaPass); + } + } + } + else if (pass == PASS_NORMAL) + { + bool isURP = rpTag == "UniversalPipeline"; + + var metaPass = materials[i].FindPass("META_BAKERY"); + bakeryPass = metaPass; + + if (normalMat == null && metaPass < 0) + { + normalMat = new Material(Shader.Find("Hidden/ftUVNormalMap")); + } + if (texBestFit == null) + { + texBestFit = new Texture2D(1024, 1024, TextureFormat.RGBA32, false, true); + var edPath = ftLightmaps.GetEditorPath(); + var fbestfit = new BinaryReader(File.Open(edPath + "NormalsFittingTexture_dds", FileMode.Open, FileAccess.Read)); + fbestfit.BaseStream.Seek(128, SeekOrigin.Begin); + var bytes = fbestfit.ReadBytes(1024 * 1024 * 4); + fbestfit.Close(); + texBestFit.LoadRawTextureData(bytes); + texBestFit.Apply(); + } + + if (metaPass < 0) + { + if (materials[i].HasProperty("_BumpMap")) + { + normalMat.SetTexture("_BumpMap", materials[i].GetTexture("_BumpMap")); + if (materials[i].HasProperty("_MainTex_ST")) + { + normalMat.SetVector("_BumpMap_scaleOffset", materials[i].GetVector("_MainTex_ST")); + //Debug.LogError(materials[i].GetVector("_MainTex_ST")); + } + else + { + normalMat.SetVector("_BumpMap_scaleOffset", new Vector4(1,1,0,0)); + } + } + else if (materials[i].HasProperty("_NormalMap")) + { + normalMat.SetTexture("_BumpMap", materials[i].GetTexture("_NormalMap")); + normalMat.SetVector("_BumpMap_scaleOffset", new Vector4(1,1,0,0)); + } + else + { + normalMat.SetTexture("_BumpMap", null); + } + normalMat.SetFloat("_IsTerrain", terrainNormals ? 1.0f : 0.0f); + normalMat.SetTexture("bestFitNormalMap", texBestFit); + normalMat.SetFloat("_IsPerPixel", (isURP||isHDRP) ? 1.0f : 0.0f); + normalMat.SetPass(0); + } + else + { + materials[i].SetTexture("bestFitNormalMap", texBestFit); + materials[i].SetFloat("_IsPerPixel", (isURP||isHDRP) ? 1.0f : 0.0f); + materials[i].SetPass(metaPass); + } + Shader.SetGlobalVector("unity_MetaFragmentControl", metaControlNormal); + } + else if (pass == PASS_ALPHA) + { + // Unity does not output alpha in its meta pass, so only custom shaders are supported + var metaPass = materials[i].FindPass("META_BAKERY"); + if (metaPass < 0) + { + Debug.LogError("BAKERY_META_ALPHA_ENABLE is set, but there is no META_BAKERY pass in " + materials[i].name); + continue; + } + bakeryPass = metaPass; + materials[i].SetPass(metaPass); + Shader.SetGlobalVector("unity_MetaFragmentControl", metaControlAlpha); + } + + GL.sRGBWrite = pass == PASS_ALBEDO; + + if (!vertexBake) + { + for(int j=0; j= 0) + { + materials[i].SetPass(bakeryPass); + } + else + { + var s = worldTransform.lossyScale; + bool isFlipped = Mathf.Sign(s.x*s.y*s.z) < 0; + normalMat.SetFloat("_IsFlipped", isFlipped ? -1.0f : 1.0f); + normalMat.SetPass(0); + } + } + Graphics.DrawMeshNow(m, worldMatrix, i); + } + } + else + { + UpdateMatrix(worldMatrix, 0, 0); +#if SUPPORT_MBLOCKS + #if UNITY_2018_1_OR_NEWER + renderer.GetPropertyBlock(mb, i); + #else + renderer.GetPropertyBlock(mb); + #endif + Graphics.DrawMesh(m, worldMatrix, materials[i], 0, null, i, mb, false, false, false); +#else + Graphics.DrawMeshNow(m, worldMatrix, i); +#endif + } + } + } + } + + static public void EndUVGBuffer() + { + GL.PopMatrix(); + + Graphics.SetRenderTarget(rtAlbedo); + texAlbedo.ReadPixels(new Rect(0,0,rtAlbedo.width,rtAlbedo.height), 0, 0, false); + texAlbedo.Apply(); + Graphics.SetRenderTarget(null); + rtAlbedo.Release(); + + if (emissiveEnabled) + { + Graphics.SetRenderTarget(rtEmissive); + texEmissive.ReadPixels(new Rect(0,0,rtEmissive.width,rtEmissive.height), 0, 0, false); + texEmissive.Apply(); + Graphics.SetRenderTarget(null); + rtEmissive.Release(); + } + + if (normalEnabled) + { + Graphics.SetRenderTarget(rtNormal); + texNormal.ReadPixels(new Rect(0,0,rtNormal.width,rtNormal.height), 0, 0, false); + texNormal.Apply(); + Graphics.SetRenderTarget(null); + rtNormal.Release(); + } + + if (alphaEnabled) + { + Graphics.SetRenderTarget(rtAlpha); + texAlpha.ReadPixels(new Rect(0,0,rtAlpha.width,rtAlpha.height), 0, 0, false); + texAlpha.Apply(); + Graphics.SetRenderTarget(null); + rtAlpha.Release(); + } + } + + static public Texture2D DecodeFromRGBM(Texture2D emissive) + { + var rt = new RenderTexture(emissive.width, emissive.height, 0, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear); + var tex = new Texture2D(emissive.width, emissive.height, TextureFormat.RGBAHalf, false, true); + + if (matFromRGBM == null) matFromRGBM = new Material(Shader.Find("Hidden/ftRGBM2Half")); + + Graphics.SetRenderTarget(rt); + GL.sRGBWrite = false; + + matFromRGBM.SetTexture("_MainTex", emissive); + + Graphics.Blit(emissive, rt, matFromRGBM); + + tex.ReadPixels(new Rect(0,0,rt.width,rt.height), 0, 0, false); + tex.Apply(); + + Graphics.SetRenderTarget(null); + rt.Release(); + Object.DestroyImmediate(emissive); + + return tex; + } + + static public void Dilate(Texture2D albedo) + { + if (matDilate == null) matDilate = new Material(Shader.Find("Hidden/ftDilate")); + + RenderTexture rt, rt2; + if (albedo.format == TextureFormat.RGBA32) + { + rt = new RenderTexture(albedo.width, albedo.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB); + rt2 = new RenderTexture(albedo.width, albedo.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB); + } + else + { + rt = new RenderTexture(albedo.width, albedo.height, 0, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear); + rt2 = new RenderTexture(albedo.width, albedo.height, 0, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear); + } + + GL.sRGBWrite = albedo.format == TextureFormat.RGBA32; + Graphics.Blit(albedo, rt, matDilate); + + for(int i=0; i<8; i++) + { + Graphics.Blit(rt, rt2, matDilate); + Graphics.Blit(rt2, rt, matDilate); + } + + Graphics.SetRenderTarget(rt); + albedo.ReadPixels(new Rect(0,0,rt.width,rt.height), 0, 0, false); + albedo.Apply(); + + Graphics.SetRenderTarget(null); + rt.Release(); + rt2.Release(); + } + + static public void Multiply(Texture2D albedo, float val) + { + if (matMultiply == null) matMultiply = new Material(Shader.Find("Hidden/ftMultiply")); + + RenderTexture rt; + if (albedo.format == TextureFormat.RGBA32) + { + rt = new RenderTexture(albedo.width, albedo.height, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB); + } + else + { + rt = new RenderTexture(albedo.width, albedo.height, 0, RenderTextureFormat.ARGBHalf, RenderTextureReadWrite.Linear); + } + + GL.sRGBWrite = albedo.format == TextureFormat.RGBA32; + matMultiply.SetFloat("multiplier", val); + Graphics.Blit(albedo, rt, matMultiply); + + Graphics.SetRenderTarget(rt); + albedo.ReadPixels(new Rect(0,0,rt.width,rt.height), 0, 0, false); + albedo.Apply(); + + Graphics.SetRenderTarget(null); + rt.Release(); + } +} + +#endif + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUVGBufferGen.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUVGBufferGen.cs.meta new file mode 100644 index 00000000..8e5647b0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUVGBufferGen.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 5d93843fab7110948a9eba95e82ced39 +timeCreated: 1533369120 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUpdater.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUpdater.cs new file mode 100644 index 00000000..4e2b2f00 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUpdater.cs @@ -0,0 +1,378 @@ +// Disable 'obsolete' warnings +#pragma warning disable 0618 + +#if UNITY_EDITOR + +using UnityEngine; +using UnityEditor; +using UnityEditor.Callbacks; +using System; +using System.IO; +using System.Text; +using System.Net; +using System.Collections; +using System.Collections.Generic; +using UnityEngine.Networking; +using System.Runtime.InteropServices; + +[InitializeOnLoad] +public class ftUpdater : EditorWindow +{ + [DllImport ("frender", CallingConvention=CallingConvention.Cdecl)] + public static extern int ExtractZIP([MarshalAs(UnmanagedType.LPWStr)]string zipFilename, int skipInnerFolders, string onlyFolder, [MarshalAs(UnmanagedType.LPWStr)]string outPath); + + IEnumerator progressFunc; + float progress = 0.0f; + string curItem = ""; + bool isError = false; + + string inLM = "IN000000000000"; + string inRT = "IN000000000000"; + string username = ""; + string errMsg = ""; + string lastVer = ""; + bool init = false; + + [MenuItem ("Bakery/Utilities/Check for patches", false, 1000)] + public static void Check() + { + var instance = (ftUpdater)GetWindow(typeof(ftUpdater)); + instance.titleContent.text = "Bakery patch"; + instance.minSize = new Vector2(320, 110); + instance.maxSize = new Vector2(instance.minSize.x, instance.minSize.y + 1); + instance.Show(); + } + + void DebugLogError(string str) + { + Debug.LogError(str); + errMsg = str; + progressFunc = null; + isError = true; + Repaint(); + } + + IEnumerator DownloadItem(string url) + { + var req = UnityWebRequest.Get(url + curItem); + yield return req.Send(); + while(!req.isDone) + { + progress = req.downloadProgress; + Repaint(); + yield return null; + } + + if (req.isError) + { + DebugLogError("Download error (" + curItem + ")"); + yield break; + } + else + { + if (req.downloadHandler.data.Length < 100) + { + DebugLogError(req.downloadHandler.text); + yield break; + } + else + { + File.WriteAllBytes(curItem + ".zip", req.downloadHandler.data); + } + } + } + + IEnumerator GetLastVer(string url) + { + lastVer = ""; + var req = UnityWebRequest.Get(url + curItem + "&getLastVer"); + yield return req.Send(); + while(!req.isDone) + { + progress = req.downloadProgress; + Repaint(); + yield return null; + } + + if (req.isError) + { + DebugLogError("Request error (" + curItem + ")"); + yield break; + } + else + { + if (req.downloadHandler.data.Length != 40) + { + DebugLogError(req.downloadHandler.text); + yield break; + } + else + { + lastVer = req.downloadHandler.text; + } + } + } + + IEnumerator DownloadItemIfNewer(string url) + { + var dw = GetLastVer(url); + while(dw.MoveNext()) yield return null; + if (isError) yield break; + + var fname = curItem + "-cver.txt"; // currently installed + if (File.Exists(fname)) + { + var curVer = File.ReadAllText(fname); + if (lastVer == curVer) + { + Debug.Log(curItem + ": already latest"); + yield break; + } + } + + dw = DownloadItem(url); + while(dw.MoveNext()) yield return null; + + File.WriteAllText(curItem + "-dver.txt", lastVer); // downloaded + } + + IEnumerator CheckProc() + { + //var runtimePath = ftLightmaps.GetRuntimePath(); + //var editorPath = ftLightmaps.GetEditorPath(); + + isError = false; + + bool downloadLM = inLM.Length > 0 && inLM != "IN000000000000"; + bool downloadRT = inRT.Length > 0 && inRT != "IN000000000000"; + + if (!downloadLM && !downloadRT) + { + DebugLogError("No invoices set"); + yield break; + } + + if (downloadLM) + { + // Download bakery-csharp + curItem = "bakery-csharp"; + var dw = DownloadItemIfNewer("https://geom.io/bakery/github-download.php?name=" + username + "&invoice=" + inLM + "&repo="); + while(dw.MoveNext()) yield return null; + if (isError) yield break; + + // Download bakery-compiled + curItem = "bakery-compiled"; + dw = DownloadItemIfNewer("https://geom.io/bakery/github-download.php?name=" + username + "&invoice=" + inLM + "&repo="); + while(dw.MoveNext()) yield return null; + if (isError) yield break; + } + + if (downloadRT) + { + // Download bakery-rtpreview-csharp + curItem = "bakery-rtpreview-csharp"; + var dw = DownloadItemIfNewer("https://geom.io/bakery/github-download.php?name=" + username + "&invoice=" + inRT + "&repo="); + while(dw.MoveNext()) yield return null; + if (isError) yield break; + } + + var cachePath = Directory.GetCurrentDirectory() + "/BakeryPatchCache"; + if (!Directory.Exists(cachePath)) Directory.CreateDirectory(cachePath); + + var runtimePath = cachePath + "/Runtime"; + if (!Directory.Exists(runtimePath)) Directory.CreateDirectory(runtimePath); + + var editorPath = cachePath + "/Editor"; + if (!Directory.Exists(editorPath)) Directory.CreateDirectory(editorPath); + + if (downloadLM) + { + // Extract runtime files + int err = ExtractZIP("bakery-csharp.zip", 1, "Bakery", runtimePath); + if (err != 0) + { + DebugLogError("ExtractZIP: " + err); + yield break; + } + + // Extract editor files + err = ExtractZIP("bakery-csharp.zip", 3, "Bakery", editorPath); + if (err != 0) + { + DebugLogError("ExtractZIP: " + err); + yield break; + } + + Debug.Log("Extracted bakery-csharp"); + + // Extract binaries + err = ExtractZIP("bakery-compiled.zip", 1, "", editorPath); + if (err != 0) + { + DebugLogError("ExtractZIP: " + err); + yield break; + } + + Debug.Log("Extracted bakery-compiled"); + } + + if (downloadRT) + { + // Extract RTPreview files + int err = ExtractZIP("bakery-rtpreview-csharp.zip", 1, "", editorPath); + if (err != 0) + { + DebugLogError("ExtractZIP: " + err); + yield break; + } + + Debug.Log("Extracted bakery-rtpreview-csharp"); + } + + Debug.Log("Done"); + + progressFunc = null; + Repaint(); + EditorUtility.DisplayDialog("Bakery", "Restart Editor to apply the patch", "OK"); + } + + void CheckUpdate() + { + if (!progressFunc.MoveNext()) + { + EditorApplication.update -= CheckUpdate; + } + } + + void OnGUI() + { + if (!init) + { + if (PlayerPrefs.HasKey("BakeryInvLM")) inLM = PlayerPrefs.GetString("BakeryInvLM"); + if (PlayerPrefs.HasKey("BakeryInvRT")) inRT = PlayerPrefs.GetString("BakeryInvRT"); + if (PlayerPrefs.HasKey("BakeryGHUsername")) username = PlayerPrefs.GetString("BakeryGHUsername"); + init = true; + } + + int y = 10; + + if (progressFunc != null) GUI.enabled = false; + + GUI.Label(new Rect(5, y, 130, 18), "Lightmapper invoice:"); + var prev = inLM; + inLM = EditorGUI.TextField(new Rect(140, y, 170, 18), inLM); + if (inLM != prev && (inLM.Length == 14 || inLM.Length == 0)) + { + PlayerPrefs.SetString("BakeryInvLM", inLM); + } + y += 18; + + GUI.Label(new Rect(5, y, 120, 18), "RTPreview invoice:"); + prev = inRT; + inRT = EditorGUI.TextField(new Rect(140, y, 170, 18), inRT); + if (inRT != prev && (inRT.Length == 14 || inRT.Length == 0)) + { + PlayerPrefs.SetString("BakeryInvRT", inRT); + } + y += 18; + + GUI.Label(new Rect(5, y, 130, 18), "GitHub username:"); + prev = username; + username = EditorGUI.TextField(new Rect(140, y, 170, 18), username); + if (username != prev && username.Length <= 255) + { + PlayerPrefs.SetString("BakeryGHUsername", username); + } + y += 18*2; + + if (GUI.Button(new Rect(0, y, 320, 18), "Check")) + { + SessionState.SetBool("BakeryPatchWaitForRestart", true); + progressFunc = CheckProc(); + EditorApplication.update += CheckUpdate; + } + y += 20; + + GUI.enabled = true; + + minSize = new Vector2(320, isError ? 160 : (progressFunc == null ? 110 : 160)); + + if (progressFunc != null) + { + GUI.Label(new Rect(0, y, 320, 24), curItem); + y += 24; + EditorGUI.ProgressBar(new Rect(0, y, 320, 24), progress, progress > 0 ? ("Downloading: " + (int)(progress * 100) + "%") : "Waiting for server..."); + } + else if (isError) + { + EditorGUI.HelpBox(new Rect(0, y, 320, 40), errMsg, MessageType.Error); + } + } + + private static void Copy(string srcFolder, string destFolder) + { + var dir = new DirectoryInfo(srcFolder); + if (!dir.Exists) + { + Debug.LogError("Can't find " + srcFolder); + return; + } + + Directory.CreateDirectory(destFolder); + + var files = dir.GetFiles(); + foreach (FileInfo file in files) + { + string tempPath = Path.Combine(destFolder, file.Name); + file.CopyTo(tempPath, true); + } + + var dirs = dir.GetDirectories(); + foreach (DirectoryInfo subdir in dirs) + { + string tempPath = Path.Combine(destFolder, subdir.Name); + Copy(subdir.FullName, tempPath); + + Debug.Log("Copying " + tempPath); + } + } + + static void PatchAsk() + { + EditorApplication.update -= PatchAsk; + + if (Application.isPlaying) return; + + // Run only once when opening the editor (not when reloading scripts, changing between modes, etc) + if (SessionState.GetBool("BakeryPatchWaitForRestart", false)) return; + + var cachePath = Directory.GetCurrentDirectory() + "/BakeryPatchCache"; + + if (EditorUtility.DisplayDialog("Bakery", "Bakery patch was downloaded. Apply patch?", "Yes", "No")) + { + Copy(cachePath + "/Runtime", ftLightmaps.GetRuntimePath()); + Copy(cachePath + "/Editor", ftLightmaps.GetEditorPath()); + + // Downloaded version -> current version + if (File.Exists("bakery-csharp-dver.txt")) File.Copy("bakery-csharp-dver.txt", "bakery-csharp-cver.txt", true); + if (File.Exists("bakery-compiled-dver.txt")) File.Copy("bakery-compiled-dver.txt", "bakery-compiled-cver.txt", true); + if (File.Exists("bakery-rtpreview-csharp-dver.txt")) File.Copy("bakery-rtpreview-csharp-dver.txt", "bakery-rtpreview-csharp-cver.txt", true); + } + + Directory.Delete(cachePath, true); + + AssetDatabase.Refresh(); + } + + static ftUpdater() + { + // Was the patch downloaded? + var cachePath = Directory.GetCurrentDirectory() + "/BakeryPatchCache"; + if (!Directory.Exists(cachePath)) return; + + // Can't call everything in the constructor, continue there + EditorApplication.update += PatchAsk; + } +} + +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUpdater.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUpdater.cs.meta new file mode 100644 index 00000000..a2550400 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftUpdater.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 7150afb8f1312c144ab37ad7b22c6e7a +timeCreated: 1618931374 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftVolumeInspector.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftVolumeInspector.cs new file mode 100644 index 00000000..acba7105 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftVolumeInspector.cs @@ -0,0 +1,226 @@ +// Disable 'obsolete' warnings +#pragma warning disable 0618 + +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +#if UNITY_EDITOR +using UnityEditor; +using UnityEditor.IMGUI.Controls; +#endif + +#if UNITY_EDITOR +[CustomEditor(typeof(BakeryVolume))] +public class BakeryVolumeInspector : Editor +{ + BoxBoundsHandle boundsHandle = new BoxBoundsHandle(typeof(BakeryVolumeInspector).GetHashCode()); + + SerializedProperty ftraceAdaptiveRes, ftraceResX, ftraceResY, ftraceResZ, ftraceVoxelsPerUnit, ftraceAdjustSamples, ftraceEnableBaking, ftraceEncoding, ftraceShadowmaskEncoding, ftraceDenoise, ftraceGlobal, ftraceRotation; + + bool showExperimental = false; + + ftLightmapsStorage storage; + + static BakeryProjectSettings pstorage; + + void OnEnable() + { + ftraceAdaptiveRes = serializedObject.FindProperty("adaptiveRes"); + ftraceVoxelsPerUnit = serializedObject.FindProperty("voxelsPerUnit"); + ftraceResX = serializedObject.FindProperty("resolutionX"); + ftraceResY = serializedObject.FindProperty("resolutionY"); + ftraceResZ = serializedObject.FindProperty("resolutionZ"); + ftraceEnableBaking = serializedObject.FindProperty("enableBaking"); + ftraceEncoding = serializedObject.FindProperty("encoding"); + ftraceShadowmaskEncoding = serializedObject.FindProperty("shadowmaskEncoding"); + ftraceDenoise = serializedObject.FindProperty("denoise"); + ftraceGlobal = serializedObject.FindProperty("isGlobal"); + ftraceRotation = serializedObject.FindProperty("supportRotationAfterBake"); + //ftraceAdjustSamples = serializedObject.FindProperty("adjustSamples"); + } + + string F(float f) + { + // Unity keeps using comma for float printing on some systems since ~2018, even if system-wide decimal symbol is "." + return (f + "").Replace(",", "."); + } + + string FormatSize(int b) + { + float mb = b / (float)(1024*1024); + return mb.ToString("0.0"); + } + + public override void OnInspectorGUI() + { + serializedObject.Update(); + var vol = target as BakeryVolume; + + if (pstorage == null) pstorage = ftLightmaps.GetProjectSettings(); + + EditorGUILayout.PropertyField(ftraceEnableBaking, new GUIContent("Enable baking", "Should the volume be (re)computed? Disable to prevent overwriting existing data.")); + bool wasGlobal = ftraceGlobal.boolValue; + EditorGUILayout.PropertyField(ftraceGlobal, new GUIContent("Global", "Automatically assign this volume to all volume-compatible shaders, unless they have overrides.")); + if (!wasGlobal && ftraceGlobal.boolValue) + { + (target as BakeryVolume).SetGlobalParams(); + } + EditorGUILayout.PropertyField(ftraceDenoise, new GUIContent("Denoise", "Apply denoising after baking the volume.")); + EditorGUILayout.Space(); + + EditorGUILayout.PropertyField(ftraceAdaptiveRes, new GUIContent("Adaptive resolution", "Calculate voxel resolution based on size?")); + if (ftraceAdaptiveRes.boolValue) + { + EditorGUILayout.PropertyField(ftraceVoxelsPerUnit, new GUIContent("Voxels per unit")); + + GUI.enabled = false; + var size = vol.bounds.size; + ftraceResX.intValue = System.Math.Max((int)(size.x * vol.voxelsPerUnit), 1); + ftraceResY.intValue = System.Math.Max((int)(size.y * vol.voxelsPerUnit), 1); + ftraceResZ.intValue = System.Math.Max((int)(size.z * vol.voxelsPerUnit), 1); + } + EditorGUILayout.PropertyField(ftraceResX, new GUIContent("Resolution X")); + EditorGUILayout.PropertyField(ftraceResY, new GUIContent("Resolution Y")); + EditorGUILayout.PropertyField(ftraceResZ, new GUIContent("Resolution Z")); + if (ftraceResX.intValue < 1) ftraceResX.intValue = 1; + if (ftraceResY.intValue < 1) ftraceResY.intValue = 1; + if (ftraceResZ.intValue < 1) ftraceResZ.intValue = 1; + GUI.enabled = true; + + EditorGUILayout.Space(); + if (storage == null) storage = ftRenderLightmap.FindRenderSettingsStorage(); + var rmode = storage.renderSettingsUserRenderMode; + int sizeX = ftRenderLightmap.VolumeDimension(ftraceResX.intValue); + int sizeY = ftRenderLightmap.VolumeDimension(ftraceResY.intValue); + int sizeZ = ftRenderLightmap.VolumeDimension(ftraceResZ.intValue); + int vSize = 0; + if (storage.renderSettingsCompressVolumes) + { + const int blockDimension = 4; + const int blockByteSize = 16; // both BC6H and BC7 + int numBlocks = (sizeX/blockDimension) * (sizeY/blockDimension); + vSize = numBlocks * blockByteSize * sizeZ * 4; + } + else + { + vSize = sizeX*sizeY*sizeZ*8*3; + } + string note = "VRAM: " + FormatSize(vSize) + " MB " + (storage.renderSettingsCompressVolumes ? "(compressed color)" : "(color)"); + if (rmode == (int)ftRenderLightmap.RenderMode.Shadowmask || pstorage.volumeRenderMode == (int)BakeryLightmapGroup.RenderMode.Shadowmask) + { + note += ", " + FormatSize(sizeX*sizeY*sizeZ * (ftraceShadowmaskEncoding.intValue == 0 ? 4 : 1)) + " MB (mask)"; + } + EditorGUILayout.LabelField(note); + + //EditorGUILayout.PropertyField(ftraceAdjustSamples, new GUIContent("Adjust sample positions", "Fixes light leaking from inside surfaces")); + + EditorGUILayout.Space(); + + showExperimental = EditorGUILayout.Foldout(showExperimental, "Experimental", EditorStyles.foldout); + if (showExperimental) + { + EditorGUILayout.PropertyField(ftraceEncoding, new GUIContent("Encoding")); + EditorGUILayout.PropertyField(ftraceShadowmaskEncoding, new GUIContent("Shadowmask Encoding")); + + bool wasSet = ftraceRotation.boolValue; + EditorGUILayout.PropertyField(ftraceRotation, new GUIContent("Support rotation after bake", "Normally volumes can only be repositioned or rescaled at runtime. With this checkbox volume's rotation matrix will also be sent to shaders. Shaders must have a similar checkbox enabled.")); + if (wasSet != ftraceRotation.boolValue) + { + (target as BakeryVolume).SetGlobalParams(); + } + } + + EditorGUILayout.Space(); + + if (vol.bakedTexture0 == null) + { + EditorGUILayout.LabelField("Baked texture: none"); + } + else + { + EditorGUILayout.LabelField("Baked texture: " + vol.bakedTexture0.name); + } + + EditorGUILayout.Space(); + + var wrapObj = EditorGUILayout.ObjectField("Wrap to object", null, typeof(GameObject), true) as GameObject; + if (wrapObj != null) + { + var mrs = wrapObj.GetComponentsInChildren() as MeshRenderer[]; + if (mrs.Length > 0) + { + var b = mrs[0].bounds; + for(int i=1; i(); + if (boxCol != null) + { + if (GUILayout.Button("Set from box collider")) + { + Undo.RecordObject(vol, "Change Bounds"); + vol.bounds = boxCol.bounds; + } + if (GUILayout.Button("Set to box collider")) + { + boxCol.center = Vector3.zero; + boxCol.size = vol.bounds.size; + } + } + + var bmin = vol.bounds.min; + var bmax = vol.bounds.max; + var bsize = vol.bounds.size; + EditorGUILayout.LabelField("Min: " + bmin.x+", "+bmin.y+", "+bmin.z); + EditorGUILayout.LabelField("Max: " + bmax.x+", "+bmax.y+", "+bmax.z); + + if (GUILayout.Button("Copy bounds to clipboard")) + { + GUIUtility.systemCopyBuffer = "float3 bmin = float3(" + F(bmin.x)+", "+F(bmin.y)+", "+F(bmin.z) + "); float3 bmax = float3(" + F(bmax.x)+", "+F(bmax.y)+", "+F(bmax.z) + "); float3 binvsize = float3(" + F(1.0f/bsize.x)+", "+F(1.0f/bsize.y)+", "+F(1.0f/bsize.z) + ");"; + } + + serializedObject.ApplyModifiedProperties(); + } + + protected virtual void OnSceneGUI() + { + var vol = (BakeryVolume)target; + + boundsHandle.center = vol.transform.position; + boundsHandle.size = vol.bounds.size; + Handles.zTest = UnityEngine.Rendering.CompareFunction.Less; + + EditorGUI.BeginChangeCheck(); + boundsHandle.DrawHandle(); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObject(vol, "Change Bounds"); + + Bounds newBounds = new Bounds(); + newBounds.center = boundsHandle.center; + newBounds.size = boundsHandle.size; + vol.bounds = newBounds; + vol.transform.position = boundsHandle.center; + } + else if ((vol.bounds.center - boundsHandle.center).sqrMagnitude > 0.0001f) + { + Bounds newBounds = new Bounds(); + newBounds.center = boundsHandle.center; + newBounds.size = boundsHandle.size; + vol.bounds = newBounds; + } + } +} +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftVolumeInspector.cs.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftVolumeInspector.cs.meta new file mode 100644 index 00000000..f001d744 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/ftVolumeInspector.cs.meta @@ -0,0 +1,12 @@ +fileFormatVersion: 2 +guid: 96725c7b01d15304c92894c9b78b76d4 +timeCreated: 1608652614 +licenseType: Store +MonoImporter: + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas.meta new file mode 100644 index 00000000..5cbbe7f0 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cdeee0ee874e6f047a1e4aa6e2ba4692 +folderAsset: yes +timeCreated: 1622807249 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas-license.txt b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas-license.txt new file mode 100644 index 00000000..01d0b542 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas-license.txt @@ -0,0 +1,23 @@ +xatlas +https://github.com/jpcy/xatlas +Copyright (c) 2018 Jonathan Young + +thekla_atlas +https://github.com/Thekla/thekla_atlas +Copyright (c) 2013 Thekla, Inc +Copyright NVIDIA Corporation 2006 -- Ignacio Castano + +Fast-BVH +https://github.com/brandonpelfrey/Fast-BVH +Copyright (c) 2012 Brandon Pelfrey + +px_sched +https://github.com/pplux/px +Copyright (c) 2017-2018 Jose L. Hidalgo (PpluX) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +© 2019 GitHub, Inc. \ No newline at end of file diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas-license.txt.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas-license.txt.meta new file mode 100644 index 00000000..e3437ce5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas-license.txt.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 157fce07d9e165f4ea73f754793d6c48 +timeCreated: 1553351391 +licenseType: Store +TextScriptImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas.cs b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas.cs new file mode 100644 index 00000000..f27f9c32 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/scripts/xatlas/xatlas.cs @@ -0,0 +1,289 @@ +using UnityEngine; +using UnityEditor; +using UnityEditor.SceneManagement; +using System.Collections.Generic; +using System.Runtime.InteropServices; + +public class xatlas +{ + //#define UV_HINT + + public static List newUVBuffer; + public static List newXrefBuffer; + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern System.IntPtr xatlasCreateAtlas(); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern int xatlasAddMesh(System.IntPtr atlas, int vertexCount, System.IntPtr positions, System.IntPtr normals, System.IntPtr uv, int indexCount, int[] indices32); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern int xatlasAddUVMesh(System.IntPtr atlas, int vertexCount, System.IntPtr uv, int indexCount, int[] indices32, bool allowRotate); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern void xatlasParametrize(System.IntPtr atlas); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern void xatlasPack(System.IntPtr atlas, int attempts, float texelsPerUnit, int resolution, int maxChartSize, int padding, bool bruteForce, bool blockAlign);//, bool allowRotate); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern void xatlasNormalize(System.IntPtr atlas, int[] atlasSizes); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern int xatlasGetAtlasCount(System.IntPtr atlas); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern int xatlasGetAtlasIndex(System.IntPtr atlas, int meshIndex, int chartIndex); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern int xatlasGetVertexCount(System.IntPtr atlas, int meshIndex); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern int xatlasGetIndexCount(System.IntPtr atlas, int meshIndex); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern void xatlasGetData(System.IntPtr atlas, int meshIndex, System.IntPtr outUV, System.IntPtr outRef, System.IntPtr outIndices); + + [DllImport ("xatlasLib", CallingConvention=CallingConvention.Cdecl)] + public static extern int xatlasClear(System.IntPtr atlas); + + static T[] FillAtrribute(List xrefArray, T[] origArray) + { + if (origArray == null || origArray.Length == 0) return origArray; + + var arr = new T[xrefArray.Count]; + for(int i=0; i(); + //var newXref = new List(); + var indexBuffers = new List(); + + newUVBuffer = new List(); + newXrefBuffer = new List(); + while(newUVBuffer.Count < m.vertexCount) + { + newUVBuffer.Add(new Vector2(-100, -100)); + newXrefBuffer.Add(0); + } + + xatlasNormalize(atlas, null); + + // Collect UVs/xrefs/indices + for(int i=0; ifinal index mappings + var xatlasIndexToNewIndex = new int[newVertCount]; + for(int j=0; j= 65000;//0xFFFF; + if (is32bit && origIs16bit) + { + Debug.LogError("Unwrap failed: original mesh (" + m.name + ") has 16 bit indices, but unwrapped requires 32 bit."); + return; + } + + // Duplicate attributes + //if (newXrefBuffer.Count > m.vertexCount) // commented because can be also swapped around + { + m.vertices = FillAtrribute(newXrefBuffer, positions); + m.normals = FillAtrribute(newXrefBuffer, normals); + m.boneWeights = FillAtrribute(newXrefBuffer, m.boneWeights); + m.colors32 = FillAtrribute(newXrefBuffer, m.colors32); + m.tangents = FillAtrribute(newXrefBuffer, m.tangents); + m.uv = FillAtrribute(newXrefBuffer, m.uv); + m.uv3 = FillAtrribute(newXrefBuffer, m.uv3); + m.uv4 = FillAtrribute(newXrefBuffer, m.uv4); +#if UNITY_2018_2_OR_NEWER + m.uv5 = FillAtrribute(newXrefBuffer, m.uv5); + m.uv6 = FillAtrribute(newXrefBuffer, m.uv6); + m.uv7 = FillAtrribute(newXrefBuffer, m.uv7); + m.uv8 = FillAtrribute(newXrefBuffer, m.uv8); +#endif + } + + m.uv2 = newUVBuffer.ToArray(); + +/* + + // Set new UV2 + var finalUV2 = new Vector2[vertCount + newUV2.Count]; + for(int i=0; i verts; +StructuredBuffer indices; +StructuredBuffer uvs; +AppendStructuredBuffer newIndices; +Texture2D alphaTex; +float cubeSize; +uint triCount; +//float3 localCamPos; + +float3 trinormal(float3 v0, float3 v1, float3 v2) +{ + float3 p = v0-v1; + float3 q = v1-v2; + float3 norm = cross(p,q); + return normalize(norm); +} + +[numthreads(256,1,1)] +void CSMain (uint3 id : SV_DispatchThreadID) +{ + if (id.x >= triCount) return; + + uint3 ind = indices[id.x]; + float3 a = verts[ind.x]; + float3 b = verts[ind.y]; + float3 c = verts[ind.z]; + + float ab = distance(a,b); + float bc = distance(b,c); + float ca = distance(c,a); + + //if (max(max(ab, bc), ca) > 0.9) return; + + float3 n = trinormal(a,b,c); + + float3 dir = normalize(a);// - localCamPos); + //if (dot(-dir, n) > 0.2f) + float elimit = 10; + float dlimit = 900; + //if (distance(localCamPos, a) < dlimit && distance(localCamPos, b) < dlimit && distance(localCamPos, c) < dlimit) + if (length(a) < dlimit && length(b) < dlimit && length(c) < dlimit) + { + if (dot(-dir, n) > 0.0f) + { + + float degenerateThreshold = 0.1f; + bool deg = false; + if (((bc + ca) - ab) / ab < degenerateThreshold) + { + deg = true; + } + else if (((ab + ca) - bc) / bc < degenerateThreshold) + { + deg = true; + } + else if (((ab + bc) - ca) / ca < degenerateThreshold) + { + deg = true; + } + if (!deg) + { + float2 uv0 = uvs[ind.x] * cubeSize; + float2 uv1 = uvs[ind.y] * cubeSize; + float2 uv2 = uvs[ind.z] * cubeSize; + float a0 = alphaTex.Load(int3(uv0.x, uv0.y, 0)).a; + float a1 = alphaTex.Load(int3(uv1.x, uv1.y, 0)).a; + float a2 = alphaTex.Load(int3(uv2.x, uv2.y, 0)).a; + //float a = a0 + a1 + a2; + float a = a0 * a1 * a2; + if (a > 1.0f / 255) + { + newIndices.Append(ind); + } + } + } + } +} diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftCullFarSphere.compute.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftCullFarSphere.compute.meta new file mode 100644 index 00000000..4b521761 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftCullFarSphere.compute.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0a45c2cb58f63f2498cf418d09aaefd1 +timeCreated: 1617749862 +licenseType: Store +ComputeShaderImporter: + currentAPIMask: 4 + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftTransformFarSphere.compute b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftTransformFarSphere.compute new file mode 100644 index 00000000..163416f7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftTransformFarSphere.compute @@ -0,0 +1,64 @@ +#pragma kernel CSMain + +RWStructuredBuffer verts; +Texture2D _DepthTex; +SamplerState sampler_DepthTex; +float3 objectCenter; +float4 _InvProj0, _InvProj1, _InvProj2, _InvProj3; +float3 wnormal; +uint vertWidth; + +float4 ComputeClipSpacePosition(float2 positionNDC, float deviceDepth) +{ + float4 positionCS = float4(positionNDC * 2.0 - 1.0, deviceDepth, 1.0); + positionCS.y = -positionCS.y; + return positionCS; +} + +float3 ComputeViewSpacePosition(float2 positionNDC, float deviceDepth, float4x4 invProjMatrix) +{ + float4 positionCS = ComputeClipSpacePosition(positionNDC, deviceDepth); + float4 hpositionVS = mul(invProjMatrix, positionCS); + return hpositionVS.xyz / hpositionVS.w; +} + +float planeIntersect(float3 ro, float3 rd, float4 p) +{ + return -(dot(ro,p.xyz)+p.w)/dot(rd,p.xyz); +} + +[numthreads(16,16,1)] +void CSMain (uint3 id : SV_DispatchThreadID) +{ + if (id.x >= vertWidth) return; + if (id.y >= vertWidth) return; + + int vertID = id.y * vertWidth + id.x; + float3 lpos = verts[vertID]; + + float4x4 invProjMatrix = float4x4(_InvProj0, _InvProj1, _InvProj2, _InvProj3); + + float2 uv = (id.xy) / (float)(vertWidth-1); + uv.y = 1 - uv.y; + + float texelSize = 1.0f / vertWidth; + + uv = lerp(uv-texelSize*0.5, uv+texelSize*0.5, uv); + + float2 centerUV = uv;//floor(uv * (vertWidth-1)) / (vertWidth-1); + + float2 leftUV = centerUV - float2(texelSize, 0); + float2 rightUV = centerUV + float2(texelSize, 0); + float2 bottomUV = centerUV - float2(0, texelSize); + float2 topUV = centerUV + float2(0, texelSize); + + float depth = _DepthTex.SampleLevel(sampler_DepthTex, centerUV, 0).r; + + //depth = -ComputeViewSpacePosition(uv * 2 - 1, depth, invProjMatrix).z; + //float3 dir = normalize(lpos); + //float3 worldPos = dir * planeIntersect(0, dir, float4(-wnormal.xyz, depth)); + + float3 worldPos = ComputeViewSpacePosition(uv, depth, invProjMatrix) - objectCenter; + + verts[vertID] = worldPos; +} diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftTransformFarSphere.compute.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftTransformFarSphere.compute.meta new file mode 100644 index 00000000..a594f9c4 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftTransformFarSphere.compute.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 84e158810fe530a499c974bba77a220a +timeCreated: 1617749862 +licenseType: Store +ComputeShaderImporter: + currentAPIMask: 4 + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftrace.cginc b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftrace.cginc new file mode 100644 index 00000000..15e26290 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftrace.cginc @@ -0,0 +1,163 @@ +#ifdef LIGHTMAP_RGBM_SCALE + +#ifndef FTRACE_INCLUDED +#define FTRACE_INCLUDED + +// Bicubic interpolation + +float ftBicubic_w0(float a) +{ + return (1.0f/6.0f)*(a*(a*(-a + 3.0f) - 3.0f) + 1.0f); +} + +float ftBicubic_w1(float a) +{ + return (1.0f/6.0f)*(a*a*(3.0f*a - 6.0f) + 4.0f); +} + +float ftBicubic_w2(float a) +{ + return (1.0f/6.0f)*(a*(a*(-3.0f*a + 3.0f) + 3.0f) + 1.0f); +} + +float ftBicubic_w3(float a) +{ + return (1.0f/6.0f)*(a*a*a); +} + +float ftBicubic_g0(float a) +{ + return ftBicubic_w0(a) + ftBicubic_w1(a); +} + +float ftBicubic_g1(float a) +{ + return ftBicubic_w2(a) + ftBicubic_w3(a); +} + +float ftBicubic_h0(float a) +{ + return -1.0f + ftBicubic_w1(a) / (ftBicubic_w0(a) + ftBicubic_w1(a)) + 0.5f; +} + +float ftBicubic_h1(float a) +{ + return 1.0f + ftBicubic_w3(a) / (ftBicubic_w2(a) + ftBicubic_w3(a)) + 0.5f; +} + +#ifdef SHADER_API_D3D11 +#if defined (SHADOWS_SHADOWMASK) + +float4 ftBicubicSampleShadow3( Texture2D tex, SamplerState ftShadowSampler, float2 uv ) +{ + float width, height; + tex.GetDimensions(width, height); + + float x = uv.x * width; + float y = uv.y * height; + + x -= 0.5f; + y -= 0.5f; + + float px = floor(x); + float py = floor(y); + + float fx = x - px; + float fy = y - py; + + float g0x = ftBicubic_g0(fx); + float g1x = ftBicubic_g1(fx); + float h0x = ftBicubic_h0(fx); + float h1x = ftBicubic_h1(fx); + float h0y = ftBicubic_h0(fy); + float h1y = ftBicubic_h1(fy); + + float4 r = ftBicubic_g0(fy) * ( g0x * tex.Sample(ftShadowSampler, (float2(px + h0x, py + h0y) * 1.0f/width)) + + g1x * tex.Sample(ftShadowSampler, (float2(px + h1x, py + h0y) * 1.0f/width))) + + + ftBicubic_g1(fy) * ( g0x * tex.Sample(ftShadowSampler, (float2(px + h0x, py + h1y) * 1.0f/width)) + + g1x * tex.Sample(ftShadowSampler, (float2(px + h1x, py + h1y) * 1.0f/width))); + return r; +} + +float4 ftBicubicSampleShadow( Texture2D tex, float2 uv ) +{ + #if defined(LIGHTMAP_ON) + SamplerState samplerMask = samplerunity_Lightmap; + #else + SamplerState samplerMask = samplerunity_ShadowMask; + #endif + + return ftBicubicSampleShadow3(tex, samplerMask, uv); +} + +#define ftBicubicSampleShadow2(t,s,u) ftBicubicSampleShadow3(t, sampler##s, u) + +#else +#define ftBicubicSampleShadow UNITY_SAMPLE_TEX2D +#define ftBicubicSampleShadow2 UNITY_SAMPLE_TEX2D_SAMPLER +#endif +#else +#define ftBicubicSampleShadow UNITY_SAMPLE_TEX2D +#define ftBicubicSampleShadow2 UNITY_SAMPLE_TEX2D_SAMPLER +#endif + +float3 ftLightmapBicubic( float2 uv ) +{ + #ifdef SHADER_API_D3D11 + float width, height; + unity_Lightmap.GetDimensions(width, height); + + float x = uv.x * width; + float y = uv.y * height; + + x -= 0.5f; + y -= 0.5f; + + float px = floor(x); + float py = floor(y); + + float fx = x - px; + float fy = y - py; + + // note: we could store these functions in a lookup table texture, but maths is cheap + float g0x = ftBicubic_g0(fx); + float g1x = ftBicubic_g1(fx); + float h0x = ftBicubic_h0(fx); + float h1x = ftBicubic_h1(fx); + float h0y = ftBicubic_h0(fy); + float h1y = ftBicubic_h1(fy); + + float4 r = ftBicubic_g0(fy) * ( g0x * UNITY_SAMPLE_TEX2D(unity_Lightmap, (float2(px + h0x, py + h0y) * 1.0f/width)) + + g1x * UNITY_SAMPLE_TEX2D(unity_Lightmap, (float2(px + h1x, py + h0y) * 1.0f/width))) + + + ftBicubic_g1(fy) * ( g0x * UNITY_SAMPLE_TEX2D(unity_Lightmap, (float2(px + h0x, py + h1y) * 1.0f/width)) + + g1x * UNITY_SAMPLE_TEX2D(unity_Lightmap, (float2(px + h1x, py + h1y) * 1.0f/width))); + return DecodeLightmap(r); + #else + return DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, uv)); + #endif +} + + +// Light falloff + +float ftLightFalloff(float4x4 ftUnityLightMatrix, float3 worldPos) +{ + float3 lightCoord = mul(ftUnityLightMatrix, float4(worldPos, 1)).xyz / ftUnityLightMatrix._11; + float distSq = dot(lightCoord, lightCoord); + float falloff = saturate(1.0f - pow(sqrt(distSq) * ftUnityLightMatrix._11, 4.0f)) / (distSq + 1.0f); + return falloff; +} + +float ftLightFalloff(float4 lightPosRadius, float3 worldPos) +{ + float3 lightCoord = worldPos - lightPosRadius.xyz; + float distSq = dot(lightCoord, lightCoord); + float falloff = saturate(1.0f - pow(sqrt(distSq * lightPosRadius.w), 4.0f)) / (distSq + 1.0f); + return falloff; +} + +#endif + +#endif diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftrace.cginc.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftrace.cginc.meta new file mode 100644 index 00000000..9788a5c2 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shaderSrc/ftrace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f1386c908e92ef64287e16194552143d +timeCreated: 1527275740 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx new file mode 100644 index 00000000..d87305f2 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx @@ -0,0 +1,109 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 payload[4]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename7payloadE[8] = {82, 97, 121, 68, 97, 116, 97, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b32 %r<2>; + + + mov.u32 %r1, 0; + st.global.u32 [payload], %r1; + // inline asm + call _rt_terminate_ray, (); + // inline asm + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx.meta new file mode 100644 index 00000000..78f2ac0d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c8b4799bb5c5f91498d53296a462c8ab +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx new file mode 100644 index 00000000..db6c836f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx @@ -0,0 +1,111 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 payload[12]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename7payloadE[9] = {82, 97, 121, 68, 97, 116, 97, 51, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .b32 %r<2>; + + + mov.u32 %r1, 0; + st.global.u32 [payload+8], %r1; + st.global.u32 [payload+4], %r1; + st.global.u32 [payload], %r1; + // inline asm + call _rt_terminate_ray, (); + // inline asm + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx.meta new file mode 100644 index 00000000..213d9e16 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a67cb9941159e3a4a864ce0617a8cd3d +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3_rtx.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3_rtx.ptx new file mode 100644 index 00000000..98cdcb30 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3_rtx.ptx @@ -0,0 +1,133 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 payload[12]; +.global .align 4 .f32 triAlpha; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8triAlphaE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename7payloadE[9] = {82, 97, 121, 68, 97, 116, 97, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8triAlphaE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8triAlphaE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic8triAlphaE[19] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 114, 105, 65, 108, 112, 104, 97, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8triAlphaE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .f32 %f<2>; + .reg .b32 %r<2>; + + + ld.global.f32 %f1, [triAlpha]; + setp.eq.f32 %p1, %f1, 0f00000000; + @%p1 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + // inline asm + call _rt_ignore_intersection, (); + // inline asm + bra.uni BB0_3; + +BB0_1: + mov.u32 %r1, 0; + st.global.u32 [payload+8], %r1; + st.global.u32 [payload+4], %r1; + st.global.u32 [payload], %r1; + // inline asm + call _rt_terminate_ray, (); + // inline asm + +BB0_3: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3_rtx.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3_rtx.ptx.meta new file mode 100644 index 00000000..ec76415a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow3_rtx.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ea753d9b43b62d448129159d4f26b7f +timeCreated: 1549921201 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow_rtx.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow_rtx.ptx new file mode 100644 index 00000000..1fdefda5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow_rtx.ptx @@ -0,0 +1,131 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z6oxMainv +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 4 .b8 payload[4]; +.global .align 4 .f32 triAlpha; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7payloadE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8triAlphaE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename7payloadE[8] = {82, 97, 121, 68, 97, 116, 97, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8triAlphaE[6] = {102, 108, 111, 97, 116, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum7payloadE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8triAlphaE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic7payloadE[10] = {114, 116, 80, 97, 121, 108, 111, 97, 100, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic8triAlphaE[19] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 114, 105, 65, 108, 112, 104, 97, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation7payloadE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8triAlphaE[1]; + +.visible .entry _Z6oxMainv( + +) +{ + .reg .pred %p<2>; + .reg .f32 %f<2>; + .reg .b32 %r<2>; + + + ld.global.f32 %f1, [triAlpha]; + setp.eq.f32 %p1, %f1, 0f00000000; + @%p1 bra BB0_2; + bra.uni BB0_1; + +BB0_2: + // inline asm + call _rt_ignore_intersection, (); + // inline asm + bra.uni BB0_3; + +BB0_1: + mov.u32 %r1, 0; + st.global.u32 [payload], %r1; + // inline asm + call _rt_terminate_ray, (); + // inline asm + +BB0_3: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow_rtx.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow_rtx.ptx.meta new file mode 100644 index 00000000..75f1039a --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/shadow_rtx.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 321fea1747a3fe149a58d62cd6431210 +timeCreated: 1549921201 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/simpleProgressBar.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/simpleProgressBar.dll new file mode 100644 index 00000000..420cb7b3 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/simpleProgressBar.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/simpleProgressBar.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/simpleProgressBar.dll.meta new file mode 100644 index 00000000..6ff2ffb5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/simpleProgressBar.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 1ad435458792fd9488c6e46fd780fd2c +timeCreated: 1527425979 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/skyOutput.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/skyOutput.pso new file mode 100644 index 00000000..b78bd97f Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/skyOutput.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/skyOutput.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/skyOutput.pso.meta new file mode 100644 index 00000000..7b92104d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/skyOutput.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ea9bd7b5c431ba1418d96da4eba35ae5 +timeCreated: 1543055475 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll new file mode 100644 index 00000000..10b929bc Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll.meta new file mode 100644 index 00000000..9c6326c9 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbb.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: f5fd3a49080f0174c968a417b775d414 +timeCreated: 1589355275 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbbmalloc.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbbmalloc.dll new file mode 100644 index 00000000..98406eb7 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbbmalloc.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbbmalloc.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbbmalloc.dll.meta new file mode 100644 index 00000000..4f47ccaa --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/tbbmalloc.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: df42451810275fc4bb1b2de22fbdca6f +timeCreated: 1589355275 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx new file mode 100644 index 00000000..bdda083c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx @@ -0,0 +1,459 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z9intersecti +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 1 .b8 vertex_buffer[1]; +.global .align 1 .b8 index_buffer[1]; +.global .align 4 .u32 firstAlphaTriangle; +.global .align 1 .b8 vertex_buffer_uv[1]; +.global .align 1 .b8 triangleAlphaIDs[1]; +.global .align 1 .b8 alphaTextures[1]; +.global .align 4 .b8 ray[36]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo18firstAlphaTriangleE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename18firstAlphaTriangleE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum18firstAlphaTriangleE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic18firstAlphaTriangleE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation18firstAlphaTriangleE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; + +.visible .entry _Z9intersecti( + .param .u32 _Z9intersecti_param_0 +) +{ + .reg .pred %p<13>; + .reg .f32 %f<123>; + .reg .b32 %r<45>; + .reg .b64 %rd<98>; + + + ld.param.u32 %r2, [_Z9intersecti_param_0]; + cvt.s64.s32 %rd6, %r2; + mov.u64 %rd28, index_buffer; + cvta.global.u64 %rd5, %rd28; + mov.u32 %r9, 1; + mov.u32 %r4, 12; + mov.u64 %rd27, 0; + // inline asm + call (%rd4), _rt_buffer_get_64, (%rd5, %r9, %r4, %rd6, %rd27, %rd27, %rd27); + // inline asm + ld.s32 %rd12, [%rd4]; + mov.u64 %rd29, vertex_buffer; + cvta.global.u64 %rd11, %rd29; + ld.s32 %rd18, [%rd4+4]; + ld.s32 %rd24, [%rd4+8]; + mov.u32 %r10, 24; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd12, %rd27, %rd27, %rd27); + // inline asm + ld.f32 %f4, [%rd10+8]; + ld.f32 %f5, [%rd10+4]; + ld.f32 %f6, [%rd10]; + // inline asm + call (%rd16), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd18, %rd27, %rd27, %rd27); + // inline asm + ld.f32 %f7, [%rd16+8]; + ld.f32 %f8, [%rd16+4]; + ld.f32 %f9, [%rd16]; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd24, %rd27, %rd27, %rd27); + // inline asm + sub.f32 %f10, %f9, %f6; + sub.f32 %f11, %f8, %f5; + sub.f32 %f12, %f7, %f4; + ld.f32 %f13, [%rd22+8]; + ld.f32 %f14, [%rd22+4]; + ld.f32 %f15, [%rd22]; + sub.f32 %f16, %f6, %f15; + sub.f32 %f17, %f5, %f14; + sub.f32 %f18, %f4, %f13; + mul.f32 %f19, %f12, %f17; + mul.f32 %f20, %f11, %f18; + sub.f32 %f21, %f19, %f20; + mul.f32 %f22, %f10, %f18; + mul.f32 %f23, %f12, %f16; + sub.f32 %f24, %f22, %f23; + mul.f32 %f25, %f11, %f16; + mul.f32 %f26, %f10, %f17; + sub.f32 %f27, %f25, %f26; + ld.global.f32 %f28, [ray+12]; + ld.global.f32 %f29, [ray+16]; + mul.f32 %f30, %f29, %f24; + fma.rn.f32 %f31, %f28, %f21, %f30; + ld.global.f32 %f32, [ray+20]; + fma.rn.f32 %f33, %f32, %f27, %f31; + rcp.rn.f32 %f34, %f33; + ld.global.f32 %f35, [ray]; + sub.f32 %f36, %f6, %f35; + ld.global.f32 %f37, [ray+4]; + sub.f32 %f38, %f5, %f37; + ld.global.f32 %f39, [ray+8]; + sub.f32 %f40, %f4, %f39; + mul.f32 %f41, %f34, %f36; + mul.f32 %f42, %f34, %f38; + mul.f32 %f43, %f34, %f40; + mul.f32 %f44, %f29, %f43; + mul.f32 %f45, %f42, %f32; + sub.f32 %f46, %f44, %f45; + mul.f32 %f47, %f41, %f32; + mul.f32 %f48, %f43, %f28; + sub.f32 %f49, %f47, %f48; + mul.f32 %f50, %f42, %f28; + mul.f32 %f51, %f41, %f29; + sub.f32 %f52, %f50, %f51; + mul.f32 %f53, %f17, %f49; + fma.rn.f32 %f54, %f16, %f46, %f53; + fma.rn.f32 %f1, %f18, %f52, %f54; + mul.f32 %f55, %f11, %f49; + fma.rn.f32 %f56, %f10, %f46, %f55; + fma.rn.f32 %f2, %f12, %f52, %f56; + mul.f32 %f57, %f24, %f42; + fma.rn.f32 %f58, %f21, %f41, %f57; + fma.rn.f32 %f3, %f27, %f43, %f58; + ld.global.f32 %f59, [ray+32]; + setp.lt.f32 %p1, %f3, %f59; + ld.global.f32 %f60, [ray+28]; + setp.gt.f32 %p2, %f3, %f60; + and.pred %p3, %p1, %p2; + setp.ge.f32 %p4, %f1, 0f00000000; + and.pred %p5, %p3, %p4; + setp.ge.f32 %p6, %f2, 0f00000000; + and.pred %p7, %p5, %p6; + add.f32 %f61, %f1, %f2; + setp.le.f32 %p8, %f61, 0f3F800000; + and.pred %p9, %p7, %p8; + @!%p9 bra BB0_5; + bra.uni BB0_1; + +BB0_1: + ld.global.u32 %r1, [firstAlphaTriangle]; + setp.gt.s32 %p10, %r1, %r2; + @%p10 bra BB0_3; + + sub.s32 %r29, %r2, %r1; + cvt.s64.s32 %rd32, %r29; + mov.u64 %rd75, triangleAlphaIDs; + cvta.global.u64 %rd31, %rd75; + mov.u32 %r25, 4; + // inline asm + call (%rd30), _rt_buffer_get_64, (%rd31, %r9, %r25, %rd32, %rd27, %rd27, %rd27); + // inline asm + ld.u32 %rd76, [%rd30]; + cvt.u32.u64 %r30, %rd76; + shr.u32 %r31, %r30, 16; + mov.u64 %rd77, vertex_buffer_uv; + cvta.global.u64 %rd37, %rd77; + mov.u32 %r18, 8; + // inline asm + call (%rd36), _rt_buffer_get_64, (%rd37, %r9, %r18, %rd12, %rd27, %rd27, %rd27); + // inline asm + ld.v2.f32 {%f62, %f63}, [%rd36]; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd37, %r9, %r18, %rd18, %rd27, %rd27, %rd27); + // inline asm + ld.v2.f32 {%f66, %f67}, [%rd42]; + // inline asm + call (%rd48), _rt_buffer_get_64, (%rd37, %r9, %r18, %rd24, %rd27, %rd27, %rd27); + // inline asm + mov.f32 %f70, 0f3F800000; + sub.f32 %f71, %f70, %f1; + sub.f32 %f72, %f71, %f2; + mul.f32 %f73, %f1, %f66; + mul.f32 %f74, %f1, %f67; + fma.rn.f32 %f75, %f72, %f62, %f73; + fma.rn.f32 %f76, %f72, %f63, %f74; + ld.v2.f32 {%f77, %f78}, [%rd48]; + fma.rn.f32 %f81, %f2, %f77, %f75; + fma.rn.f32 %f82, %f2, %f78, %f76; + abs.f32 %f83, %f81; + cvt.rmi.f32.f32 %f84, %f83; + sub.f32 %f85, %f83, %f84; + abs.f32 %f86, %f82; + cvt.rmi.f32.f32 %f87, %f86; + sub.f32 %f88, %f86, %f87; + and.b64 %rd56, %rd76, 65535; + mov.u64 %rd78, alphaTextures; + cvta.global.u64 %rd55, %rd78; + // inline asm + call (%rd54), _rt_buffer_get_64, (%rd55, %r9, %r25, %rd56, %rd27, %rd27, %rd27); + // inline asm + ld.u32 %r21, [%rd54]; + mov.u32 %r27, 2; + // inline asm + call (%rd60, %rd61, %rd62, %rd63), _rt_buffer_get_id_size_64, (%r21, %r27, %r9); + // inline asm + cvt.rn.f32.u64 %f89, %rd60; + mul.f32 %f90, %f85, %f89; + cvt.rzi.u32.f32 %r32, %f90; + cvt.rn.f32.u64 %f91, %rd61; + mul.f32 %f92, %f88, %f91; + cvt.rzi.u32.f32 %r33, %f92; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd55, %r9, %r25, %rd56, %rd27, %rd27, %rd27); + // inline asm + ld.u32 %r26, [%rd64]; + cvt.u64.u32 %rd71, %r32; + cvt.u64.u32 %rd72, %r33; + // inline asm + call (%rd70), _rt_buffer_get_id_64, (%r26, %r27, %r9, %rd71, %rd72, %rd27, %rd27); + // inline asm + ld.u8 %r34, [%rd70]; + and.b32 %r35, %r34, %r31; + setp.eq.s32 %p11, %r35, 0; + @%p11 bra BB0_5; + +BB0_3: + // inline asm + call (%r36), _rt_potential_intersection, (%f3); + // inline asm + setp.eq.s32 %p12, %r36, 0; + @%p12 bra BB0_5; + + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd12, %rd27, %rd27, %rd27); + // inline asm + ld.f32 %f94, [%rd79+20]; + ld.f32 %f95, [%rd79+16]; + ld.f32 %f96, [%rd79+12]; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd18, %rd27, %rd27, %rd27); + // inline asm + ld.f32 %f97, [%rd85+20]; + ld.f32 %f98, [%rd85+16]; + ld.f32 %f99, [%rd85+12]; + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd24, %rd27, %rd27, %rd27); + // inline asm + mov.f32 %f100, 0f3F800000; + sub.f32 %f101, %f100, %f1; + sub.f32 %f102, %f101, %f2; + mul.f32 %f103, %f1, %f99; + mul.f32 %f104, %f1, %f98; + mul.f32 %f105, %f1, %f97; + fma.rn.f32 %f106, %f102, %f96, %f103; + fma.rn.f32 %f107, %f102, %f95, %f104; + fma.rn.f32 %f108, %f102, %f94, %f105; + ld.f32 %f109, [%rd91+20]; + ld.f32 %f110, [%rd91+16]; + ld.f32 %f111, [%rd91+12]; + fma.rn.f32 %f112, %f2, %f111, %f106; + fma.rn.f32 %f113, %f2, %f110, %f107; + fma.rn.f32 %f114, %f2, %f109, %f108; + mul.f32 %f115, %f113, %f113; + fma.rn.f32 %f116, %f112, %f112, %f115; + fma.rn.f32 %f117, %f114, %f114, %f116; + sqrt.rn.f32 %f118, %f117; + rcp.rn.f32 %f119, %f118; + mul.f32 %f120, %f119, %f112; + mul.f32 %f121, %f119, %f113; + mul.f32 %f122, %f119, %f114; + st.global.f32 [normal], %f120; + st.global.f32 [normal+4], %f121; + st.global.f32 [normal+8], %f122; + mov.u32 %r44, 0; + // inline asm + call (%r43), _rt_report_intersection, (%r44); + // inline asm + +BB0_5: + ret; +} + + // .globl _Z4bboxiPN5optix4AabbE +.visible .entry _Z4bboxiPN5optix4AabbE( + .param .u32 _Z4bboxiPN5optix4AabbE_param_0, + .param .u64 _Z4bboxiPN5optix4AabbE_param_1 +) +{ + .reg .pred %p<6>; + .reg .f32 %f<42>; + .reg .b32 %r<11>; + .reg .b64 %rd<29>; + + + ld.param.u64 %rd2, [_Z4bboxiPN5optix4AabbE_param_1]; + ld.param.s32 %rd5, [_Z4bboxiPN5optix4AabbE_param_0]; + mov.u64 %rd27, index_buffer; + cvta.global.u64 %rd4, %rd27; + mov.u32 %r7, 1; + mov.u32 %r2, 12; + mov.u64 %rd26, 0; + // inline asm + call (%rd3), _rt_buffer_get_64, (%rd4, %r7, %r2, %rd5, %rd26, %rd26, %rd26); + // inline asm + ld.s32 %rd11, [%rd3]; + mov.u64 %rd28, vertex_buffer; + cvta.global.u64 %rd10, %rd28; + ld.s32 %rd17, [%rd3+4]; + ld.s32 %rd23, [%rd3+8]; + mov.u32 %r8, 24; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd11, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f3, [%rd9+8]; + ld.f32 %f2, [%rd9+4]; + ld.f32 %f1, [%rd9]; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd17, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f6, [%rd15+8]; + ld.f32 %f5, [%rd15+4]; + ld.f32 %f4, [%rd15]; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd23, %rd26, %rd26, %rd26); + // inline asm + sub.f32 %f11, %f4, %f1; + sub.f32 %f12, %f5, %f2; + sub.f32 %f13, %f6, %f3; + ld.f32 %f9, [%rd21+8]; + ld.f32 %f8, [%rd21+4]; + ld.f32 %f7, [%rd21]; + sub.f32 %f14, %f7, %f1; + sub.f32 %f15, %f8, %f2; + sub.f32 %f16, %f9, %f3; + mul.f32 %f17, %f12, %f16; + mul.f32 %f18, %f13, %f15; + sub.f32 %f19, %f17, %f18; + mul.f32 %f20, %f13, %f14; + mul.f32 %f21, %f11, %f16; + sub.f32 %f22, %f20, %f21; + mul.f32 %f23, %f11, %f15; + mul.f32 %f24, %f12, %f14; + sub.f32 %f25, %f23, %f24; + mul.f32 %f26, %f22, %f22; + fma.rn.f32 %f27, %f19, %f19, %f26; + fma.rn.f32 %f28, %f25, %f25, %f27; + sqrt.rn.f32 %f10, %f28; + mov.pred %p5, 0; + setp.leu.f32 %p4, %f10, 0f00000000; + @%p4 bra BB1_2; + + abs.f32 %f29, %f10; + setp.neu.f32 %p5, %f29, 0f7F800000; + +BB1_2: + cvta.to.global.u64 %rd1, %rd2; + @%p5 bra BB1_4; + bra.uni BB1_3; + +BB1_4: + min.f32 %f30, %f1, %f4; + min.f32 %f31, %f30, %f7; + min.f32 %f32, %f2, %f5; + min.f32 %f33, %f32, %f8; + min.f32 %f34, %f3, %f6; + min.f32 %f35, %f34, %f9; + st.global.f32 [%rd1], %f31; + st.global.f32 [%rd1+4], %f33; + st.global.f32 [%rd1+8], %f35; + max.f32 %f36, %f1, %f4; + max.f32 %f37, %f36, %f7; + max.f32 %f38, %f2, %f5; + max.f32 %f39, %f38, %f8; + max.f32 %f40, %f3, %f6; + max.f32 %f41, %f40, %f9; + st.global.f32 [%rd1+12], %f37; + st.global.f32 [%rd1+16], %f39; + st.global.f32 [%rd1+20], %f41; + bra.uni BB1_5; + +BB1_3: + mov.u32 %r9, 2096152002; + st.global.u32 [%rd1], %r9; + st.global.u32 [%rd1+8], %r9; + st.global.u32 [%rd1+4], %r9; + mov.u32 %r10, -51331646; + st.global.u32 [%rd1+12], %r10; + st.global.u32 [%rd1+16], %r10; + st.global.u32 [%rd1+20], %r10; + +BB1_5: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx.meta new file mode 100644 index 00000000..6a2a1a7d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimesh.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d4461bc99675399499da2bf13cb84e54 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTex.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTex.ptx new file mode 100644 index 00000000..68139ca5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTex.ptx @@ -0,0 +1,490 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z9intersecti +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 vertex_buffer[1]; +.global .align 1 .b8 index_buffer[1]; +.global .align 4 .u32 firstAlphaTriangle; +.global .align 1 .b8 vertex_buffer_uv[1]; +.global .align 1 .b8 triangleAlphaIDs[1]; +.global .align 1 .b8 alphaTextures[1]; +.global .align 4 .b8 ray[36]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo18firstAlphaTriangleE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename18firstAlphaTriangleE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum18firstAlphaTriangleE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic18firstAlphaTriangleE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation18firstAlphaTriangleE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; + +.visible .entry _Z9intersecti( + .param .u32 _Z9intersecti_param_0 +) +{ + .reg .pred %p<14>; + .reg .f32 %f<152>; + .reg .b32 %r<51>; + .reg .b64 %rd<117>; + + + ld.param.u32 %r2, [_Z9intersecti_param_0]; + cvt.s64.s32 %rd7, %r2; + mov.u64 %rd29, index_buffer; + cvta.global.u64 %rd6, %rd29; + mov.u32 %r9, 1; + mov.u32 %r4, 12; + mov.u64 %rd28, 0; + // inline asm + call (%rd5), _rt_buffer_get_64, (%rd6, %r9, %r4, %rd7, %rd28, %rd28, %rd28); + // inline asm + ld.s32 %rd13, [%rd5]; + mov.u64 %rd30, vertex_buffer; + cvta.global.u64 %rd12, %rd30; + ld.s32 %rd19, [%rd5+4]; + ld.s32 %rd25, [%rd5+8]; + mov.u32 %r10, 32; + // inline asm + call (%rd11), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd13, %rd28, %rd28, %rd28); + // inline asm + ld.f32 %f14, [%rd11+8]; + ld.v2.f32 {%f15, %f16}, [%rd11]; + // inline asm + call (%rd17), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd19, %rd28, %rd28, %rd28); + // inline asm + ld.f32 %f19, [%rd17+8]; + ld.v2.f32 {%f20, %f21}, [%rd17]; + // inline asm + call (%rd23), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd25, %rd28, %rd28, %rd28); + // inline asm + sub.f32 %f24, %f20, %f15; + sub.f32 %f25, %f21, %f16; + sub.f32 %f26, %f19, %f14; + ld.f32 %f27, [%rd23+8]; + ld.v2.f32 {%f28, %f29}, [%rd23]; + sub.f32 %f32, %f15, %f28; + sub.f32 %f33, %f16, %f29; + sub.f32 %f34, %f14, %f27; + mul.f32 %f35, %f26, %f33; + mul.f32 %f36, %f25, %f34; + sub.f32 %f37, %f35, %f36; + mul.f32 %f38, %f24, %f34; + mul.f32 %f39, %f26, %f32; + sub.f32 %f40, %f38, %f39; + mul.f32 %f41, %f25, %f32; + mul.f32 %f42, %f24, %f33; + sub.f32 %f43, %f41, %f42; + ld.global.f32 %f44, [ray+12]; + ld.global.f32 %f45, [ray+16]; + mul.f32 %f46, %f45, %f40; + fma.rn.f32 %f47, %f44, %f37, %f46; + ld.global.f32 %f48, [ray+20]; + fma.rn.f32 %f49, %f48, %f43, %f47; + rcp.rn.f32 %f50, %f49; + ld.global.f32 %f51, [ray]; + sub.f32 %f52, %f15, %f51; + ld.global.f32 %f53, [ray+4]; + sub.f32 %f54, %f16, %f53; + ld.global.f32 %f55, [ray+8]; + sub.f32 %f56, %f14, %f55; + mul.f32 %f57, %f50, %f52; + mul.f32 %f58, %f50, %f54; + mul.f32 %f59, %f50, %f56; + mul.f32 %f60, %f45, %f59; + mul.f32 %f61, %f58, %f48; + sub.f32 %f62, %f60, %f61; + mul.f32 %f63, %f57, %f48; + mul.f32 %f64, %f59, %f44; + sub.f32 %f65, %f63, %f64; + mul.f32 %f66, %f58, %f44; + mul.f32 %f67, %f57, %f45; + sub.f32 %f68, %f66, %f67; + mul.f32 %f69, %f33, %f65; + fma.rn.f32 %f70, %f32, %f62, %f69; + fma.rn.f32 %f1, %f34, %f68, %f70; + mul.f32 %f71, %f25, %f65; + fma.rn.f32 %f72, %f24, %f62, %f71; + fma.rn.f32 %f2, %f26, %f68, %f72; + mul.f32 %f73, %f40, %f58; + fma.rn.f32 %f74, %f37, %f57, %f73; + fma.rn.f32 %f3, %f43, %f59, %f74; + ld.global.f32 %f75, [ray+32]; + setp.geu.f32 %p1, %f3, %f75; + ld.global.f32 %f76, [ray+28]; + setp.leu.f32 %p2, %f3, %f76; + or.pred %p3, %p1, %p2; + setp.ltu.f32 %p4, %f1, 0f00000000; + or.pred %p5, %p3, %p4; + setp.ltu.f32 %p6, %f2, 0f00000000; + or.pred %p7, %p5, %p6; + add.f32 %f77, %f1, %f2; + setp.gtu.f32 %p8, %f77, 0f3F800000; + or.pred %p9, %p7, %p8; + @%p9 bra BB0_8; + + ld.global.u32 %r1, [firstAlphaTriangle]; + setp.gt.s32 %p10, %r1, %r2; + @%p10 bra BB0_3; + + sub.s32 %r29, %r2, %r1; + cvt.s64.s32 %rd33, %r29; + mov.u64 %rd76, triangleAlphaIDs; + cvta.global.u64 %rd32, %rd76; + mov.u32 %r25, 4; + // inline asm + call (%rd31), _rt_buffer_get_64, (%rd32, %r9, %r25, %rd33, %rd28, %rd28, %rd28); + // inline asm + ld.u32 %rd77, [%rd31]; + cvt.u32.u64 %r30, %rd77; + shr.u32 %r31, %r30, 16; + mov.u64 %rd78, vertex_buffer_uv; + cvta.global.u64 %rd38, %rd78; + mov.u32 %r18, 8; + // inline asm + call (%rd37), _rt_buffer_get_64, (%rd38, %r9, %r18, %rd13, %rd28, %rd28, %rd28); + // inline asm + ld.v2.f32 {%f78, %f79}, [%rd37]; + // inline asm + call (%rd43), _rt_buffer_get_64, (%rd38, %r9, %r18, %rd19, %rd28, %rd28, %rd28); + // inline asm + ld.v2.f32 {%f82, %f83}, [%rd43]; + // inline asm + call (%rd49), _rt_buffer_get_64, (%rd38, %r9, %r18, %rd25, %rd28, %rd28, %rd28); + // inline asm + mov.f32 %f86, 0f3F800000; + sub.f32 %f87, %f86, %f1; + sub.f32 %f88, %f87, %f2; + mul.f32 %f89, %f1, %f82; + mul.f32 %f90, %f1, %f83; + fma.rn.f32 %f91, %f88, %f78, %f89; + fma.rn.f32 %f92, %f88, %f79, %f90; + ld.v2.f32 {%f93, %f94}, [%rd49]; + fma.rn.f32 %f97, %f2, %f93, %f91; + fma.rn.f32 %f98, %f2, %f94, %f92; + abs.f32 %f99, %f97; + cvt.rmi.f32.f32 %f100, %f99; + sub.f32 %f101, %f99, %f100; + abs.f32 %f102, %f98; + cvt.rmi.f32.f32 %f103, %f102; + sub.f32 %f104, %f102, %f103; + and.b64 %rd57, %rd77, 65535; + mov.u64 %rd79, alphaTextures; + cvta.global.u64 %rd56, %rd79; + // inline asm + call (%rd55), _rt_buffer_get_64, (%rd56, %r9, %r25, %rd57, %rd28, %rd28, %rd28); + // inline asm + ld.u32 %r21, [%rd55]; + mov.u32 %r27, 2; + // inline asm + call (%rd61, %rd62, %rd63, %rd64), _rt_buffer_get_id_size_64, (%r21, %r27, %r9); + // inline asm + cvt.rn.f32.u64 %f105, %rd61; + mul.f32 %f106, %f101, %f105; + cvt.rzi.u32.f32 %r32, %f106; + cvt.rn.f32.u64 %f107, %rd62; + mul.f32 %f108, %f104, %f107; + cvt.rzi.u32.f32 %r33, %f108; + // inline asm + call (%rd65), _rt_buffer_get_64, (%rd56, %r9, %r25, %rd57, %rd28, %rd28, %rd28); + // inline asm + ld.u32 %r26, [%rd65]; + cvt.u64.u32 %rd72, %r32; + cvt.u64.u32 %rd73, %r33; + // inline asm + call (%rd71), _rt_buffer_get_id_64, (%r26, %r27, %r9, %rd72, %rd73, %rd28, %rd28); + // inline asm + ld.u8 %r34, [%rd71]; + and.b32 %r35, %r34, %r31; + setp.eq.s32 %p11, %r35, 0; + @%p11 bra BB0_8; + +BB0_3: + // inline asm + call (%r36), _rt_potential_intersection, (%f3); + // inline asm + setp.eq.s32 %p12, %r36, 0; + @%p12 bra BB0_8; + + // inline asm + call (%rd80), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd13, %rd28, %rd28, %rd28); + // inline asm + ld.f32 %f110, [%rd80+20]; + ld.f32 %f111, [%rd80+16]; + ld.f32 %f112, [%rd80+12]; + // inline asm + call (%rd86), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd19, %rd28, %rd28, %rd28); + // inline asm + ld.f32 %f113, [%rd86+20]; + ld.f32 %f114, [%rd86+16]; + ld.f32 %f115, [%rd86+12]; + // inline asm + call (%rd92), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd25, %rd28, %rd28, %rd28); + // inline asm + mov.f32 %f116, 0f3F800000; + sub.f32 %f117, %f116, %f1; + sub.f32 %f4, %f117, %f2; + mul.f32 %f118, %f1, %f115; + mul.f32 %f119, %f1, %f114; + mul.f32 %f120, %f1, %f113; + fma.rn.f32 %f121, %f4, %f112, %f118; + fma.rn.f32 %f122, %f4, %f111, %f119; + fma.rn.f32 %f123, %f4, %f110, %f120; + ld.f32 %f124, [%rd92+20]; + ld.f32 %f125, [%rd92+16]; + ld.f32 %f126, [%rd92+12]; + fma.rn.f32 %f127, %f2, %f126, %f121; + fma.rn.f32 %f128, %f2, %f125, %f122; + fma.rn.f32 %f129, %f2, %f124, %f123; + mul.f32 %f130, %f128, %f128; + fma.rn.f32 %f131, %f127, %f127, %f130; + fma.rn.f32 %f132, %f129, %f129, %f131; + sqrt.rn.f32 %f133, %f132; + rcp.rn.f32 %f134, %f133; + mul.f32 %f135, %f134, %f127; + mul.f32 %f136, %f134, %f128; + mul.f32 %f137, %f134, %f129; + st.global.f32 [normal], %f135; + st.global.f32 [normal+4], %f136; + st.global.f32 [normal+8], %f137; + // inline asm + call (%rd98), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd13, %rd28, %rd28, %rd28); + // inline asm + ld.v2.f32 {%f150, %f139}, [%rd98+24]; + // inline asm + call (%rd104), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd19, %rd28, %rd28, %rd28); + // inline asm + ld.v2.f32 {%f140, %f141}, [%rd104+24]; + // inline asm + call (%rd110), _rt_buffer_get_64, (%rd12, %r9, %r10, %rd25, %rd28, %rd28, %rd28); + // inline asm + setp.lt.f32 %p13, %f139, 0f00000000; + @%p13 bra BB0_6; + bra.uni BB0_5; + +BB0_6: + add.f32 %f151, %f139, 0f3F800000; + bra.uni BB0_7; + +BB0_5: + ld.v2.f32 {%f142, %f143}, [%rd110+24]; + mul.f32 %f146, %f1, %f140; + mul.f32 %f147, %f1, %f141; + fma.rn.f32 %f148, %f4, %f150, %f146; + fma.rn.f32 %f149, %f4, %f139, %f147; + fma.rn.f32 %f150, %f2, %f142, %f148; + fma.rn.f32 %f151, %f2, %f143, %f149; + +BB0_7: + st.global.v2.f32 [texCoords], {%f150, %f151}; + mov.u32 %r50, 0; + // inline asm + call (%r49), _rt_report_intersection, (%r50); + // inline asm + +BB0_8: + ret; +} + + // .globl _Z4bboxiPN5optix4AabbE +.visible .entry _Z4bboxiPN5optix4AabbE( + .param .u32 _Z4bboxiPN5optix4AabbE_param_0, + .param .u64 _Z4bboxiPN5optix4AabbE_param_1 +) +{ + .reg .pred %p<6>; + .reg .f32 %f<42>; + .reg .b32 %r<11>; + .reg .b64 %rd<29>; + + + ld.param.u64 %rd2, [_Z4bboxiPN5optix4AabbE_param_1]; + ld.param.s32 %rd5, [_Z4bboxiPN5optix4AabbE_param_0]; + mov.u64 %rd27, index_buffer; + cvta.global.u64 %rd4, %rd27; + mov.u32 %r7, 1; + mov.u32 %r2, 12; + mov.u64 %rd26, 0; + // inline asm + call (%rd3), _rt_buffer_get_64, (%rd4, %r7, %r2, %rd5, %rd26, %rd26, %rd26); + // inline asm + ld.s32 %rd11, [%rd3]; + mov.u64 %rd28, vertex_buffer; + cvta.global.u64 %rd10, %rd28; + ld.s32 %rd17, [%rd3+4]; + ld.s32 %rd23, [%rd3+8]; + mov.u32 %r8, 32; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd11, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f3, [%rd9+8]; + ld.f32 %f2, [%rd9+4]; + ld.f32 %f1, [%rd9]; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd17, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f6, [%rd15+8]; + ld.f32 %f5, [%rd15+4]; + ld.f32 %f4, [%rd15]; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd23, %rd26, %rd26, %rd26); + // inline asm + sub.f32 %f11, %f4, %f1; + sub.f32 %f12, %f5, %f2; + sub.f32 %f13, %f6, %f3; + ld.f32 %f9, [%rd21+8]; + ld.f32 %f8, [%rd21+4]; + ld.f32 %f7, [%rd21]; + sub.f32 %f14, %f7, %f1; + sub.f32 %f15, %f8, %f2; + sub.f32 %f16, %f9, %f3; + mul.f32 %f17, %f12, %f16; + mul.f32 %f18, %f13, %f15; + sub.f32 %f19, %f17, %f18; + mul.f32 %f20, %f13, %f14; + mul.f32 %f21, %f11, %f16; + sub.f32 %f22, %f20, %f21; + mul.f32 %f23, %f11, %f15; + mul.f32 %f24, %f12, %f14; + sub.f32 %f25, %f23, %f24; + mul.f32 %f26, %f22, %f22; + fma.rn.f32 %f27, %f19, %f19, %f26; + fma.rn.f32 %f28, %f25, %f25, %f27; + sqrt.rn.f32 %f10, %f28; + mov.pred %p5, 0; + setp.leu.f32 %p4, %f10, 0f00000000; + @%p4 bra BB1_2; + + abs.f32 %f29, %f10; + setp.neu.f32 %p5, %f29, 0f7F800000; + +BB1_2: + cvta.to.global.u64 %rd1, %rd2; + @%p5 bra BB1_4; + bra.uni BB1_3; + +BB1_4: + min.f32 %f30, %f1, %f4; + min.f32 %f31, %f30, %f7; + min.f32 %f32, %f2, %f5; + min.f32 %f33, %f32, %f8; + min.f32 %f34, %f3, %f6; + min.f32 %f35, %f34, %f9; + st.global.f32 [%rd1], %f31; + st.global.f32 [%rd1+4], %f33; + st.global.f32 [%rd1+8], %f35; + max.f32 %f36, %f1, %f4; + max.f32 %f37, %f36, %f7; + max.f32 %f38, %f2, %f5; + max.f32 %f39, %f38, %f8; + max.f32 %f40, %f3, %f6; + max.f32 %f41, %f40, %f9; + st.global.f32 [%rd1+12], %f37; + st.global.f32 [%rd1+16], %f39; + st.global.f32 [%rd1+20], %f41; + bra.uni BB1_5; + +BB1_3: + mov.u32 %r9, 2096152002; + st.global.u32 [%rd1], %r9; + st.global.u32 [%rd1+8], %r9; + st.global.u32 [%rd1+4], %r9; + mov.u32 %r10, -51331646; + st.global.u32 [%rd1+12], %r10; + st.global.u32 [%rd1+16], %r10; + st.global.u32 [%rd1+20], %r10; + +BB1_5: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTex.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTex.ptx.meta new file mode 100644 index 00000000..dc4af7fd --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTex.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df4459d40f1189949ac01d6293872ec5 +timeCreated: 1526161016 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTexLODSelect.ptx b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTexLODSelect.ptx new file mode 100644 index 00000000..68315dbf --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTexLODSelect.ptx @@ -0,0 +1,513 @@ +// +// Generated by NVIDIA NVVM Compiler +// +// Compiler Build ID: CL-23083092 +// Cuda compilation tools, release 9.1, V9.1.85 +// Based on LLVM 3.4svn +// + +.version 6.1 +.target sm_30 +.address_size 64 + + // .globl _Z9intersecti +.global .align 8 .b8 pixelID[8]; +.global .align 8 .b8 resolution[8]; +.global .align 4 .b8 normal[12]; +.global .align 4 .b8 camPos[12]; +.global .align 4 .b8 root[4]; +.global .align 4 .u32 imageEnabled; +.global .texref lightmap; +.global .align 16 .b8 tileInfo[16]; +.global .align 4 .u32 additive; +.global .align 8 .b8 texCoords[8]; +.global .align 1 .b8 vertex_buffer[1]; +.global .align 1 .b8 index_buffer[1]; +.global .align 4 .u32 firstAlphaTriangle; +.global .align 1 .b8 vertex_buffer_uv[1]; +.global .align 1 .b8 triangleAlphaIDs[1]; +.global .align 1 .b8 alphaTextures[1]; +.global .align 4 .b8 ray[36]; +.global .align 4 .b8 _ZN21rti_internal_typeinfo7pixelIDE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo10resolutionE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6normalE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo6camPosE[8] = {82, 97, 121, 0, 12, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo4rootE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo12imageEnabledE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8tileInfoE[8] = {82, 97, 121, 0, 16, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo8additiveE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo9texCoordsE[8] = {82, 97, 121, 0, 8, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo18firstAlphaTriangleE[8] = {82, 97, 121, 0, 4, 0, 0, 0}; +.global .align 4 .b8 _ZN21rti_internal_typeinfo3rayE[8] = {82, 97, 121, 0, 36, 0, 0, 0}; +.global .align 8 .u64 _ZN21rti_internal_register20reg_bitness_detectorE; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail0E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail1E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail2E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail3E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail4E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail5E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail6E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail7E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail8E; +.global .align 8 .u64 _ZN21rti_internal_register24reg_exception_64_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail0E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail1E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail2E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail3E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail4E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail5E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail6E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail7E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail8E; +.global .align 4 .u32 _ZN21rti_internal_register21reg_exception_detail9E; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_xE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_yE; +.global .align 4 .u32 _ZN21rti_internal_register14reg_rayIndex_zE; +.global .align 8 .b8 _ZN21rti_internal_typename7pixelIDE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename10resolutionE[6] = {117, 105, 110, 116, 50, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6normalE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename6camPosE[7] = {102, 108, 111, 97, 116, 51, 0}; +.global .align 16 .b8 _ZN21rti_internal_typename4rootE[9] = {114, 116, 79, 98, 106, 101, 99, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename12imageEnabledE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename8tileInfoE[6] = {117, 105, 110, 116, 52, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename8additiveE[4] = {105, 110, 116, 0}; +.global .align 8 .b8 _ZN21rti_internal_typename9texCoordsE[7] = {102, 108, 111, 97, 116, 50, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename18firstAlphaTriangleE[4] = {105, 110, 116, 0}; +.global .align 4 .b8 _ZN21rti_internal_typename3rayE[4] = {82, 97, 121, 0}; +.global .align 4 .u32 _ZN21rti_internal_typeenum7pixelIDE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum10resolutionE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6normalE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum6camPosE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum4rootE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum12imageEnabledE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8tileInfoE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum8additiveE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum9texCoordsE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum18firstAlphaTriangleE = 4919; +.global .align 4 .u32 _ZN21rti_internal_typeenum3rayE = 4919; +.global .align 16 .b8 _ZN21rti_internal_semantic7pixelIDE[14] = {114, 116, 76, 97, 117, 110, 99, 104, 73, 110, 100, 101, 120, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic10resolutionE[12] = {114, 116, 76, 97, 117, 110, 99, 104, 68, 105, 109, 0}; +.global .align 16 .b8 _ZN21rti_internal_semantic6normalE[17] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 110, 111, 114, 109, 97, 108, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic6camPosE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic4rootE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic12imageEnabledE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8tileInfoE[1]; +.global .align 1 .b8 _ZN21rti_internal_semantic8additiveE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic9texCoordsE[20] = {97, 116, 116, 114, 105, 98, 117, 116, 101, 32, 116, 101, 120, 67, 111, 111, 114, 100, 115, 0}; +.global .align 1 .b8 _ZN21rti_internal_semantic18firstAlphaTriangleE[1]; +.global .align 16 .b8 _ZN21rti_internal_semantic3rayE[13] = {114, 116, 67, 117, 114, 114, 101, 110, 116, 82, 97, 121, 0}; +.global .align 1 .b8 _ZN23rti_internal_annotation7pixelIDE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation10resolutionE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6normalE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation6camPosE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation4rootE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation12imageEnabledE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8tileInfoE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation8additiveE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation9texCoordsE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation18firstAlphaTriangleE[1]; +.global .align 1 .b8 _ZN23rti_internal_annotation3rayE[1]; + +.visible .entry _Z9intersecti( + .param .u32 _Z9intersecti_param_0 +) +{ + .reg .pred %p<13>; + .reg .f32 %f<180>; + .reg .b32 %r<52>; + .reg .b64 %rd<116>; + + + ld.param.u32 %r2, [_Z9intersecti_param_0]; + cvt.s64.s32 %rd6, %r2; + mov.u64 %rd28, index_buffer; + cvta.global.u64 %rd5, %rd28; + mov.u32 %r9, 1; + mov.u32 %r4, 12; + mov.u64 %rd27, 0; + // inline asm + call (%rd4), _rt_buffer_get_64, (%rd5, %r9, %r4, %rd6, %rd27, %rd27, %rd27); + // inline asm + ld.s32 %rd12, [%rd4]; + mov.u64 %rd29, vertex_buffer; + cvta.global.u64 %rd11, %rd29; + ld.s32 %rd18, [%rd4+4]; + ld.s32 %rd24, [%rd4+8]; + mov.u32 %r10, 32; + // inline asm + call (%rd10), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd12, %rd27, %rd27, %rd27); + // inline asm + ld.f32 %f3, [%rd10+8]; + ld.v2.f32 {%f13, %f14}, [%rd10]; + // inline asm + call (%rd16), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd18, %rd27, %rd27, %rd27); + // inline asm + ld.f32 %f15, [%rd16+8]; + ld.v2.f32 {%f16, %f17}, [%rd16]; + // inline asm + call (%rd22), _rt_buffer_get_64, (%rd11, %r9, %r10, %rd24, %rd27, %rd27, %rd27); + // inline asm + sub.f32 %f4, %f16, %f13; + sub.f32 %f5, %f17, %f14; + sub.f32 %f6, %f15, %f3; + ld.f32 %f9, [%rd22+8]; + ld.v2.f32 {%f20, %f21}, [%rd22]; + sub.f32 %f22, %f13, %f20; + sub.f32 %f23, %f14, %f21; + sub.f32 %f24, %f3, %f9; + mul.f32 %f25, %f6, %f23; + mul.f32 %f26, %f5, %f24; + sub.f32 %f27, %f25, %f26; + mul.f32 %f28, %f4, %f24; + mul.f32 %f29, %f6, %f22; + sub.f32 %f30, %f28, %f29; + mul.f32 %f31, %f5, %f22; + mul.f32 %f32, %f4, %f23; + sub.f32 %f33, %f31, %f32; + ld.global.f32 %f34, [ray+12]; + ld.global.f32 %f35, [ray+16]; + mul.f32 %f36, %f35, %f30; + fma.rn.f32 %f37, %f34, %f27, %f36; + ld.global.f32 %f38, [ray+20]; + fma.rn.f32 %f39, %f38, %f33, %f37; + rcp.rn.f32 %f40, %f39; + ld.global.f32 %f41, [ray]; + sub.f32 %f42, %f13, %f41; + ld.global.f32 %f43, [ray+4]; + sub.f32 %f44, %f14, %f43; + ld.global.f32 %f45, [ray+8]; + sub.f32 %f46, %f3, %f45; + mul.f32 %f47, %f40, %f42; + mul.f32 %f48, %f40, %f44; + mul.f32 %f49, %f40, %f46; + mul.f32 %f50, %f35, %f49; + mul.f32 %f51, %f48, %f38; + sub.f32 %f52, %f50, %f51; + mul.f32 %f53, %f47, %f38; + mul.f32 %f54, %f49, %f34; + sub.f32 %f55, %f53, %f54; + mul.f32 %f56, %f48, %f34; + mul.f32 %f57, %f47, %f35; + sub.f32 %f58, %f56, %f57; + mul.f32 %f59, %f23, %f55; + fma.rn.f32 %f60, %f22, %f52, %f59; + fma.rn.f32 %f10, %f24, %f58, %f60; + mul.f32 %f61, %f5, %f55; + fma.rn.f32 %f62, %f4, %f52, %f61; + fma.rn.f32 %f11, %f6, %f58, %f62; + mul.f32 %f63, %f30, %f48; + fma.rn.f32 %f64, %f27, %f47, %f63; + fma.rn.f32 %f12, %f33, %f49, %f64; + ld.global.f32 %f65, [ray+32]; + setp.geu.f32 %p1, %f12, %f65; + ld.global.f32 %f66, [ray+28]; + setp.leu.f32 %p2, %f12, %f66; + or.pred %p3, %p1, %p2; + setp.ltu.f32 %p4, %f10, 0f00000000; + or.pred %p5, %p3, %p4; + setp.ltu.f32 %p6, %f11, 0f00000000; + or.pred %p7, %p5, %p6; + add.f32 %f67, %f10, %f11; + setp.gtu.f32 %p8, %f67, 0f3F800000; + or.pred %p9, %p7, %p8; + @%p9 bra BB0_5; + + ld.global.u32 %r1, [firstAlphaTriangle]; + setp.gt.s32 %p10, %r1, %r2; + @%p10 bra BB0_3; + + sub.s32 %r29, %r2, %r1; + cvt.s64.s32 %rd32, %r29; + mov.u64 %rd75, triangleAlphaIDs; + cvta.global.u64 %rd31, %rd75; + mov.u32 %r25, 4; + // inline asm + call (%rd30), _rt_buffer_get_64, (%rd31, %r9, %r25, %rd32, %rd27, %rd27, %rd27); + // inline asm + ld.u32 %rd76, [%rd30]; + cvt.u32.u64 %r30, %rd76; + shr.u32 %r31, %r30, 16; + mov.u64 %rd77, vertex_buffer_uv; + cvta.global.u64 %rd37, %rd77; + mov.u32 %r18, 8; + // inline asm + call (%rd36), _rt_buffer_get_64, (%rd37, %r9, %r18, %rd12, %rd27, %rd27, %rd27); + // inline asm + ld.v2.f32 {%f68, %f69}, [%rd36]; + // inline asm + call (%rd42), _rt_buffer_get_64, (%rd37, %r9, %r18, %rd18, %rd27, %rd27, %rd27); + // inline asm + ld.v2.f32 {%f72, %f73}, [%rd42]; + // inline asm + call (%rd48), _rt_buffer_get_64, (%rd37, %r9, %r18, %rd24, %rd27, %rd27, %rd27); + // inline asm + mov.f32 %f76, 0f3F800000; + sub.f32 %f77, %f76, %f10; + sub.f32 %f78, %f77, %f11; + mul.f32 %f79, %f10, %f72; + mul.f32 %f80, %f10, %f73; + fma.rn.f32 %f81, %f78, %f68, %f79; + fma.rn.f32 %f82, %f78, %f69, %f80; + ld.v2.f32 {%f83, %f84}, [%rd48]; + fma.rn.f32 %f87, %f11, %f83, %f81; + fma.rn.f32 %f88, %f11, %f84, %f82; + abs.f32 %f89, %f87; + cvt.rmi.f32.f32 %f90, %f89; + sub.f32 %f91, %f89, %f90; + abs.f32 %f92, %f88; + cvt.rmi.f32.f32 %f93, %f92; + sub.f32 %f94, %f92, %f93; + and.b64 %rd56, %rd76, 65535; + mov.u64 %rd78, alphaTextures; + cvta.global.u64 %rd55, %rd78; + // inline asm + call (%rd54), _rt_buffer_get_64, (%rd55, %r9, %r25, %rd56, %rd27, %rd27, %rd27); + // inline asm + ld.u32 %r21, [%rd54]; + mov.u32 %r27, 2; + // inline asm + call (%rd60, %rd61, %rd62, %rd63), _rt_buffer_get_id_size_64, (%r21, %r27, %r9); + // inline asm + cvt.rn.f32.u64 %f95, %rd60; + mul.f32 %f96, %f91, %f95; + cvt.rzi.u32.f32 %r32, %f96; + cvt.rn.f32.u64 %f97, %rd61; + mul.f32 %f98, %f94, %f97; + cvt.rzi.u32.f32 %r33, %f98; + // inline asm + call (%rd64), _rt_buffer_get_64, (%rd55, %r9, %r25, %rd56, %rd27, %rd27, %rd27); + // inline asm + ld.u32 %r26, [%rd64]; + cvt.u64.u32 %rd71, %r32; + cvt.u64.u32 %rd72, %r33; + // inline asm + call (%rd70), _rt_buffer_get_id_64, (%r26, %r27, %r9, %rd71, %rd72, %rd27, %rd27); + // inline asm + ld.u8 %r34, [%rd70]; + and.b32 %r35, %r34, %r31; + setp.eq.s32 %p11, %r35, 0; + @%p11 bra BB0_5; + +BB0_3: + // inline asm + call (%r36), _rt_potential_intersection, (%f12); + // inline asm + setp.eq.s32 %p12, %r36, 0; + @%p12 bra BB0_5; + + mov.u32 %r51, 32; + // inline asm + call (%rd79), _rt_buffer_get_64, (%rd11, %r9, %r51, %rd12, %rd27, %rd27, %rd27); + // inline asm + ld.f32 %f100, [%rd79+20]; + ld.f32 %f101, [%rd79+16]; + ld.f32 %f102, [%rd79+12]; + // inline asm + call (%rd85), _rt_buffer_get_64, (%rd11, %r9, %r51, %rd18, %rd27, %rd27, %rd27); + // inline asm + ld.f32 %f103, [%rd85+20]; + ld.f32 %f104, [%rd85+16]; + ld.f32 %f105, [%rd85+12]; + // inline asm + call (%rd91), _rt_buffer_get_64, (%rd11, %r9, %r51, %rd24, %rd27, %rd27, %rd27); + // inline asm + mov.f32 %f106, 0f3F800000; + sub.f32 %f107, %f106, %f10; + sub.f32 %f108, %f107, %f11; + mul.f32 %f109, %f10, %f105; + mul.f32 %f110, %f10, %f104; + mul.f32 %f111, %f10, %f103; + fma.rn.f32 %f112, %f108, %f102, %f109; + fma.rn.f32 %f113, %f108, %f101, %f110; + fma.rn.f32 %f114, %f108, %f100, %f111; + ld.f32 %f115, [%rd91+20]; + ld.f32 %f116, [%rd91+16]; + ld.f32 %f117, [%rd91+12]; + fma.rn.f32 %f118, %f11, %f117, %f112; + fma.rn.f32 %f119, %f11, %f116, %f113; + fma.rn.f32 %f120, %f11, %f115, %f114; + mul.f32 %f121, %f119, %f119; + fma.rn.f32 %f122, %f118, %f118, %f121; + fma.rn.f32 %f123, %f120, %f120, %f122; + sqrt.rn.f32 %f124, %f123; + rcp.rn.f32 %f125, %f124; + mul.f32 %f126, %f125, %f118; + mul.f32 %f127, %f125, %f119; + mul.f32 %f128, %f125, %f120; + st.global.f32 [normal], %f126; + st.global.f32 [normal+4], %f127; + st.global.f32 [normal+8], %f128; + // inline asm + call (%rd97), _rt_buffer_get_64, (%rd11, %r9, %r51, %rd12, %rd27, %rd27, %rd27); + // inline asm + ld.v2.f32 {%f129, %f130}, [%rd97+24]; + // inline asm + call (%rd103), _rt_buffer_get_64, (%rd11, %r9, %r51, %rd18, %rd27, %rd27, %rd27); + // inline asm + ld.v2.f32 {%f133, %f134}, [%rd103+24]; + // inline asm + call (%rd109), _rt_buffer_get_64, (%rd11, %r9, %r51, %rd24, %rd27, %rd27, %rd27); + // inline asm + ld.v2.f32 {%f137, %f138}, [%rd109+24]; + mul.f32 %f141, %f10, %f133; + fma.rn.f32 %f142, %f108, %f129, %f141; + sub.f32 %f143, %f9, %f3; + mul.f32 %f144, %f5, %f143; + sub.f32 %f145, %f21, %f14; + mul.f32 %f146, %f6, %f145; + sub.f32 %f147, %f144, %f146; + sub.f32 %f148, %f20, %f13; + mul.f32 %f149, %f6, %f148; + mul.f32 %f150, %f4, %f143; + sub.f32 %f151, %f149, %f150; + mul.f32 %f152, %f4, %f145; + mul.f32 %f153, %f5, %f148; + sub.f32 %f154, %f152, %f153; + mul.f32 %f155, %f151, %f151; + fma.rn.f32 %f156, %f147, %f147, %f155; + fma.rn.f32 %f157, %f154, %f154, %f156; + sqrt.rn.f32 %f158, %f157; + mul.f32 %f159, %f158, 0f3F000000; + sub.f32 %f160, %f133, %f129; + sub.f32 %f161, %f134, %f130; + sub.f32 %f162, %f137, %f129; + sub.f32 %f163, %f138, %f130; + mul.f32 %f164, %f161, 0f00000000; + mul.f32 %f165, %f163, 0f00000000; + sub.f32 %f166, %f164, %f165; + mul.f32 %f167, %f162, 0f00000000; + mul.f32 %f168, %f160, 0f00000000; + sub.f32 %f169, %f167, %f168; + mul.f32 %f170, %f160, %f163; + mul.f32 %f171, %f161, %f162; + sub.f32 %f172, %f170, %f171; + mul.f32 %f173, %f169, %f169; + fma.rn.f32 %f174, %f166, %f166, %f173; + fma.rn.f32 %f175, %f172, %f172, %f174; + sqrt.rn.f32 %f176, %f175; + mul.f32 %f177, %f176, 0f3F000000; + div.rn.f32 %f178, %f159, %f177; + fma.rn.f32 %f179, %f11, %f137, %f142; + st.global.v2.f32 [texCoords], {%f179, %f178}; + mov.u32 %r50, 0; + // inline asm + call (%r49), _rt_report_intersection, (%r50); + // inline asm + +BB0_5: + ret; +} + + // .globl _Z4bboxiPN5optix4AabbE +.visible .entry _Z4bboxiPN5optix4AabbE( + .param .u32 _Z4bboxiPN5optix4AabbE_param_0, + .param .u64 _Z4bboxiPN5optix4AabbE_param_1 +) +{ + .reg .pred %p<6>; + .reg .f32 %f<42>; + .reg .b32 %r<11>; + .reg .b64 %rd<29>; + + + ld.param.u64 %rd2, [_Z4bboxiPN5optix4AabbE_param_1]; + ld.param.s32 %rd5, [_Z4bboxiPN5optix4AabbE_param_0]; + mov.u64 %rd27, index_buffer; + cvta.global.u64 %rd4, %rd27; + mov.u32 %r7, 1; + mov.u32 %r2, 12; + mov.u64 %rd26, 0; + // inline asm + call (%rd3), _rt_buffer_get_64, (%rd4, %r7, %r2, %rd5, %rd26, %rd26, %rd26); + // inline asm + ld.s32 %rd11, [%rd3]; + mov.u64 %rd28, vertex_buffer; + cvta.global.u64 %rd10, %rd28; + ld.s32 %rd17, [%rd3+4]; + ld.s32 %rd23, [%rd3+8]; + mov.u32 %r8, 32; + // inline asm + call (%rd9), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd11, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f3, [%rd9+8]; + ld.f32 %f2, [%rd9+4]; + ld.f32 %f1, [%rd9]; + // inline asm + call (%rd15), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd17, %rd26, %rd26, %rd26); + // inline asm + ld.f32 %f6, [%rd15+8]; + ld.f32 %f5, [%rd15+4]; + ld.f32 %f4, [%rd15]; + // inline asm + call (%rd21), _rt_buffer_get_64, (%rd10, %r7, %r8, %rd23, %rd26, %rd26, %rd26); + // inline asm + sub.f32 %f11, %f4, %f1; + sub.f32 %f12, %f5, %f2; + sub.f32 %f13, %f6, %f3; + ld.f32 %f9, [%rd21+8]; + ld.f32 %f8, [%rd21+4]; + ld.f32 %f7, [%rd21]; + sub.f32 %f14, %f7, %f1; + sub.f32 %f15, %f8, %f2; + sub.f32 %f16, %f9, %f3; + mul.f32 %f17, %f12, %f16; + mul.f32 %f18, %f13, %f15; + sub.f32 %f19, %f17, %f18; + mul.f32 %f20, %f13, %f14; + mul.f32 %f21, %f11, %f16; + sub.f32 %f22, %f20, %f21; + mul.f32 %f23, %f11, %f15; + mul.f32 %f24, %f12, %f14; + sub.f32 %f25, %f23, %f24; + mul.f32 %f26, %f22, %f22; + fma.rn.f32 %f27, %f19, %f19, %f26; + fma.rn.f32 %f28, %f25, %f25, %f27; + sqrt.rn.f32 %f10, %f28; + mov.pred %p5, 0; + setp.leu.f32 %p4, %f10, 0f00000000; + @%p4 bra BB1_2; + + abs.f32 %f29, %f10; + setp.neu.f32 %p5, %f29, 0f7F800000; + +BB1_2: + cvta.to.global.u64 %rd1, %rd2; + @%p5 bra BB1_4; + bra.uni BB1_3; + +BB1_4: + min.f32 %f30, %f1, %f4; + min.f32 %f31, %f30, %f7; + min.f32 %f32, %f2, %f5; + min.f32 %f33, %f32, %f8; + min.f32 %f34, %f3, %f6; + min.f32 %f35, %f34, %f9; + st.global.f32 [%rd1], %f31; + st.global.f32 [%rd1+4], %f33; + st.global.f32 [%rd1+8], %f35; + max.f32 %f36, %f1, %f4; + max.f32 %f37, %f36, %f7; + max.f32 %f38, %f2, %f5; + max.f32 %f39, %f38, %f8; + max.f32 %f40, %f3, %f6; + max.f32 %f41, %f40, %f9; + st.global.f32 [%rd1+12], %f37; + st.global.f32 [%rd1+16], %f39; + st.global.f32 [%rd1+20], %f41; + bra.uni BB1_5; + +BB1_3: + mov.u32 %r9, 2096152002; + st.global.u32 [%rd1], %r9; + st.global.u32 [%rd1+8], %r9; + st.global.u32 [%rd1+4], %r9; + mov.u32 %r10, -51331646; + st.global.u32 [%rd1+12], %r10; + st.global.u32 [%rd1+16], %r10; + st.global.u32 [%rd1+20], %r10; + +BB1_5: + ret; +} + + diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTexLODSelect.ptx.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTexLODSelect.ptx.meta new file mode 100644 index 00000000..d99e4d21 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/trimeshTexLODSelect.ptx.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 949d1061e0fcbbb4a88c5d02009b9fc1 +timeCreated: 1530260521 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso new file mode 100644 index 00000000..33b22929 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso.meta new file mode 100644 index 00000000..a4838cf1 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uv.vso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d72c81e180568be4da202eb8b02e9ee6 +timeCreated: 1526160278 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainFaceNormal.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainFaceNormal.pso new file mode 100644 index 00000000..42cb81a1 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainFaceNormal.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainFaceNormal.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainFaceNormal.pso.meta new file mode 100644 index 00000000..766d5ac5 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainFaceNormal.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6b9cf8e9582d4164da6853815e912961 +timeCreated: 1547582998 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainNormal.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainNormal.pso new file mode 100644 index 00000000..cd68cc69 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainNormal.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainNormal.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainNormal.pso.meta new file mode 100644 index 00000000..04c706a7 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainNormal.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 47c1aa0408a8c48469a9dea95b2be32f +timeCreated: 1547505793 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainPos.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainPos.pso new file mode 100644 index 00000000..93ede466 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainPos.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainPos.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainPos.pso.meta new file mode 100644 index 00000000..2db7d39f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainPos.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: afc905c7ad3054f44be840236e2f7861 +timeCreated: 1547588146 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainSmoothPos.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainSmoothPos.pso new file mode 100644 index 00000000..4bf62ef7 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainSmoothPos.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainSmoothPos.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainSmoothPos.pso.meta new file mode 100644 index 00000000..dd50cc52 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvTerrainSmoothPos.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 50dad8e5c6c394b48b0fd448d27993cf +timeCreated: 1547668316 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvalbedo.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvalbedo.pso new file mode 100644 index 00000000..65fc4703 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvalbedo.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvalbedo.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvalbedo.pso.meta new file mode 100644 index 00000000..37da1e71 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvalbedo.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 093c1707bbb241d4f9d4c405104ffeea +timeCreated: 1528729528 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvemissive.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvemissive.pso new file mode 100644 index 00000000..d7b39c8c Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvemissive.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvemissive.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvemissive.pso.meta new file mode 100644 index 00000000..e908549c --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvemissive.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d66f389713f22044886f1c6f9b41a0dc +timeCreated: 1528482721 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal.gso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal.gso new file mode 100644 index 00000000..2110b7e7 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal.gso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal.gso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal.gso.meta new file mode 100644 index 00000000..91baab1b --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal.gso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e11d0acf1230ff843b930da5bdd8d318 +timeCreated: 1526160278 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal_point.gso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal_point.gso new file mode 100644 index 00000000..ada84c63 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal_point.gso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal_point.gso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal_point.gso.meta new file mode 100644 index 00000000..b49e8593 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvfacenormal_point.gso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cf90142aabdb60f44bee0dc36653ce83 +timeCreated: 1532179904 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvgbuffergen.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvgbuffergen.dll new file mode 100644 index 00000000..a90d611c Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvgbuffergen.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvgbuffergen.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvgbuffergen.dll.meta new file mode 100644 index 00000000..ab29b0d4 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvgbuffergen.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 4f43553a851bba149b8ab4806d42cc33 +timeCreated: 1526154090 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvnormal.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvnormal.pso new file mode 100644 index 00000000..2b5a11ec Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvnormal.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvnormal.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvnormal.pso.meta new file mode 100644 index 00000000..0842db25 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvnormal.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d59ccae59201de44933767a99edbefb +timeCreated: 1526244101 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso new file mode 100644 index 00000000..c84f8bce Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso.meta new file mode 100644 index 00000000..fb4bdb15 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvpos.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f8cec8a3e29484447aa90a9aaa0abda1 +timeCreated: 1526160278 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvrepack.dll b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvrepack.dll new file mode 100644 index 00000000..37f6b01c Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvrepack.dll differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvrepack.dll.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvrepack.dll.meta new file mode 100644 index 00000000..4a94144d --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvrepack.dll.meta @@ -0,0 +1,28 @@ +fileFormatVersion: 2 +guid: 84a608d243ef13c439f2d53bca47f899 +timeCreated: 1529951507 +licenseType: Store +PluginImporter: + serializedVersion: 2 + iconMap: {} + executionOrder: {} + isPreloaded: 0 + isOverridable: 0 + platformData: + data: + first: + Any: + second: + enabled: 0 + settings: {} + data: + first: + Editor: Editor + second: + enabled: 1 + settings: + CPU: x86_64 + DefaultValueInitialized: true + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.gso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.gso new file mode 100644 index 00000000..c3cf62f4 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.gso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.gso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.gso.meta new file mode 100644 index 00000000..6eca9188 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.gso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67027c4092e55f640b1bee3b5f4d1cf2 +timeCreated: 1526160278 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.pso new file mode 100644 index 00000000..0ee89f23 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.pso.meta new file mode 100644 index 00000000..6a846fed --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvsmoothpos.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cd4999b2b2c754c498d15bee1ab7a05f +timeCreated: 1535451522 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvtangent.pso b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvtangent.pso new file mode 100644 index 00000000..1cdabc12 Binary files /dev/null and b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvtangent.pso differ diff --git a/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvtangent.pso.meta b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvtangent.pso.meta new file mode 100644 index 00000000..1c277ece --- /dev/null +++ b/VRCSDK3Worlds/Assets/Editor/x64/Bakery/uvtangent.pso.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a6154b9813b7fc498be837d830c55de +timeCreated: 1537355888 +licenseType: Store +DefaultImporter: + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.2.3-freya