From 6fbaa466c9db35c83f2e7284becd0a7b6215b382 Mon Sep 17 00:00:00 2001 From: Arttu Peltonen Date: Thu, 28 Oct 2021 13:36:30 +0300 Subject: [PATCH 1/2] Revert ifdefs due to HLSLcc bug & fix reflections with smoothness mode. --- .../ShaderLibrary/Debug/Debugging3D.hlsl | 88 ++++++++----------- 1 file changed, 38 insertions(+), 50 deletions(-) diff --git a/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl b/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl index a9df611b011..4ec0e626a35 100644 --- a/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl +++ b/com.unity.render-pipelines.universal/ShaderLibrary/Debug/Debugging3D.hlsl @@ -31,61 +31,49 @@ void SetupDebugDataBrdf(inout InputData inputData, half3 brdfDiffuse, half3 brdf bool UpdateSurfaceAndInputDataForDebug(inout SurfaceData surfaceData, inout InputData inputData) { - #if SHADER_API_VULKAN || SHADER_API_GLES || SHADER_API_GLES3 || SHADER_API_GLCORE - // Something about this function is problematic for HLSLcc (generates forbidden 'uintBitsToFloat' intrinsics). - // Re-enable when this is fixed. - return false; - #else - bool changed = false; + bool changed = false; - if (_DebugLightingMode == DEBUGLIGHTINGMODE_LIGHTING_WITHOUT_NORMAL_MAPS || _DebugLightingMode == DEBUGLIGHTINGMODE_LIGHTING_WITH_NORMAL_MAPS) + if (_DebugLightingMode == DEBUGLIGHTINGMODE_LIGHTING_WITHOUT_NORMAL_MAPS || _DebugLightingMode == DEBUGLIGHTINGMODE_LIGHTING_WITH_NORMAL_MAPS) + { + surfaceData.albedo = 1; + surfaceData.emission = 0; + surfaceData.specular = 0; + surfaceData.occlusion = 1; + surfaceData.clearCoatMask = 0; + surfaceData.clearCoatSmoothness = 1; + surfaceData.metallic = 0; + surfaceData.smoothness = 0; + changed = true; + } + else if (_DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS || _DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS_WITH_SMOOTHNESS) + { + surfaceData.albedo = 0; + surfaceData.emission = 0; + surfaceData.occlusion = 1; + surfaceData.clearCoatMask = 0; + surfaceData.clearCoatSmoothness = 1; + surfaceData.specular = 1; + surfaceData.metallic = 0; + if (_DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS) { - surfaceData.albedo = 1; - surfaceData.emission = 0; - surfaceData.specular = 0; - surfaceData.occlusion = 1; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - surfaceData.metallic = 0; - surfaceData.smoothness = 0; - changed = true; - } - else if (_DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS || _DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS_WITH_SMOOTHNESS) - { - surfaceData.albedo = 0; - surfaceData.emission = 0; - surfaceData.occlusion = 1; - surfaceData.clearCoatMask = 0; - surfaceData.clearCoatSmoothness = 1; - if (_DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS) - { - surfaceData.specular = 1; - surfaceData.metallic = 0; - surfaceData.smoothness = 1; - } - else if (_DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS_WITH_SMOOTHNESS) - { - surfaceData.specular = 0; - surfaceData.metallic = 1; - surfaceData.smoothness = 0; - } - changed = true; + surfaceData.smoothness = 1; } + changed = true; + } - if (_DebugLightingMode == DEBUGLIGHTINGMODE_LIGHTING_WITHOUT_NORMAL_MAPS || _DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS) - { - const half3 normalTS = half3(0, 0, 1); - #if defined(_NORMALMAP) - inputData.normalWS = TransformTangentToWorld(normalTS, inputData.tangentToWorld); - #else - inputData.normalWS = inputData.normalWS; - #endif - surfaceData.normalTS = normalTS; - changed = true; - } + if (_DebugLightingMode == DEBUGLIGHTINGMODE_LIGHTING_WITHOUT_NORMAL_MAPS || _DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTIONS) + { + const half3 normalTS = half3(0, 0, 1); + #if defined(_NORMALMAP) + inputData.normalWS = TransformTangentToWorld(normalTS, inputData.tangentToWorld); + #else + inputData.normalWS = inputData.normalWS; + #endif + surfaceData.normalTS = normalTS; + changed = true; + } - return changed; - #endif + return changed; } bool CalculateValidationMetallic(half3 albedo, half metallic, inout half4 debugColor) From fbc7cf866b2741b459c393e35a55e53e470c2690 Mon Sep 17 00:00:00 2001 From: Arttu Peltonen Date: Thu, 28 Oct 2021 13:39:11 +0300 Subject: [PATCH 2/2] Changelog --- com.unity.render-pipelines.universal/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/com.unity.render-pipelines.universal/CHANGELOG.md b/com.unity.render-pipelines.universal/CHANGELOG.md index 9f42547e680..68e0e8bcef7 100644 --- a/com.unity.render-pipelines.universal/CHANGELOG.md +++ b/com.unity.render-pipelines.universal/CHANGELOG.md @@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed a regression bug where XR camera postion can not be modified in beginCameraRendering [case 1365000] - Fix for rendering thumbnails. [case 1348209](https://issuetracker.unity3d.com/issues/preview-of-assets-do-not-show-in-the-project-window) - Fixed an issue in where installing the Adaptive Performance package caused errors to the inspector UI [1368161](https://issuetracker.unity3d.com/issues/urp-package-throws-compilation-error-cs1525-when-imported-together-with-adaptive-performance-package) +- Fixed disabled debug lighting modes on Vulkan and OpenGL following a shader compiler fix. [case 1334240] +- Fixed incorrect behavior of Reflections with Smoothness lighting debug mode. [case 1374181] ## [12.1.0] - 2021-09-23