-
Notifications
You must be signed in to change notification settings - Fork 803
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Internal/master #8049
Merged
Merged
Internal/master #8049
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Disable unstable test for #UUM-65995
Jira: UUM-65786 A recent change in UITK revealed an issue in our style reducing the FloatField to 1px height. Here is the issue: ![image (3)](https://media.github.cds.internal.unity3d.com/user/4003/files/19e8014b-1363-409d-80ae-77ff9df9d498)
Fixes some issues in CI. See `Comments to reviewers` for more details.
MSL patching for Variable Rasterization Rate is very fragile and produces overly complicated shader code. This PR attempts to improve things by doing the patching when translating a mad instruction instead of a multiplication. The access to a 3rd parameter lets us pack the stereo eye index in the instruction data as well and make some optimizations in the final shader code. We go from the following being generated for each UV remap: ```cpp if ((uint(UnityDynamicKeywords._FOVEATED_RENDERING_NON_UNIFORM_RASTER))!=uint(0)) { u_xlatb21 = FGlobals.unity_StereoEyeIndex==0x1; u_xlat6.xy = u_xlat25.xy + FGlobals._UV_HlslccVRRDistort0.xyzx.yz; if (has_vrr_api) { rasterization_rate_map_decoder mtl_VrrMap(*(constant rasterization_rate_map_data*)(&mtl_VrrBuffer.vrrData)); u_xlat6.xy = mtl_VrrMap.map_physical_to_screen_coordinates(u_xlat6.xy * float2(mtl_VrrBuffer.physicalWidth, mtl_VrrBuffer.physicalHeight), 1) / float2(mtl_VrrBuffer.viewportWidth, mtl_VrrBuffer.viewportHeight); } // has_vrr_api u_xlat26.xy = u_xlat25.xy + FGlobals._UV_HlslccVRRDistort1.xyzx.yz; if (has_vrr_api) { rasterization_rate_map_decoder mtl_VrrMap(*(constant rasterization_rate_map_data*)(&mtl_VrrBuffer.vrrData)); u_xlat26.xy = mtl_VrrMap.map_physical_to_screen_coordinates(u_xlat26.xy * float2(mtl_VrrBuffer.physicalWidth, mtl_VrrBuffer.physicalHeight), 0) / float2(mtl_VrrBuffer.viewportWidth, mtl_VrrBuffer.viewportHeight); } // has_vrr_api u_xlat25.xy = (bool(u_xlatb21)) ? u_xlat6.xy : u_xlat26.xy; } ``` To this: ```cpp if ((uint(UnityDynamicKeywords._FOVEATED_RENDERING_NON_UNIFORM_RASTER))!=uint(0)) { u_xlat0.x = float(int(FGlobals._SourceTexArraySlice)); if (has_vrr_api) { rasterization_rate_map_decoder mtl_VrrMap(*(constant rasterization_rate_map_data*)(&mtl_VrrBuffer.vrrData)); u_xlat0.xy = mtl_VrrMap.map_screen_to_physical_coordinates(input.TEXCOORD0.xy * float2(mtl_VrrBuffer.viewportWidth, mtl_VrrBuffer.viewportHeight), u_xlat0.xx.x) / float2(mtl_VrrBuffer.physicalWidth, mtl_VrrBuffer.physicalHeight); } // has_vrr_api } ``` Result has lower VGPR and ALU usage.
This PR slightly improve the Random Operator providing a way to generate random of VectorN **Before** ![image](https://media.github.cds.internal.unity3d.com/user/42/files/fc94c035-d27f-407e-a50e-025c919db490) **After** ![image](https://media.github.cds.internal.unity3d.com/user/42/files/8b71c201-2e1b-4853-83cf-a7ea2603631f) In Node search: ![image](https://media.github.cds.internal.unity3d.com/user/42/files/335c60db-1349-4e88-9b3e-bf35b6e0f2a5) New settings **Independent Seed** https://media.github.cds.internal.unity3d.com/user/42/files/33939393-e728-4881-9e32-a94e737f5e7a By default, the additional seed are computed using basic LCG : mul 214013, add 2531011 https://media.github.cds.internal.unity3d.com/user/42/files/f5d087ae-4a92-4e0c-8ec9-cd4015bdac54 Also rename "Probability Sampling" in "Random Selector" and "Random Selector Weighted": https://media.github.cds.internal.unity3d.com/user/42/files/96d2603f-e77e-49e8-a862-9af3cd1a282a
This PR has the following user-facing changes: - Update the GPU Resident Drawer API for occlusion culling to support multiple subviews per view - Make use of this API in URP & HDRP to allow occlusion culling for single-pass XR The API changes are only for APIs newly added for Unity 6, there is no backwards compatibility change. XR support issue is https://jira.unity3d.com/browse/UUM-63299, the POI for GPU occlusion culling is https://jira.unity3d.com/browse/POI-926. It also simplifies a bit the internals: - Occluders are now always managed as a 2D texture (subviews are stacked vertically) - Remove some compute shader variants and temporary wrappers around array vs non-array Testing using the MockHMD device in editor, using a stress test scene with 20k capsules with a few different materials, showing the updated occlusion test heatmap that now supports stereo: ![image](https://media.github.cds.internal.unity3d.com/user/4787/files/8f6285d1-2e9a-437c-93d2-4555b1a3c92c) GPU timings in play mode with MockHMD active confirm that the occlusion test is active and providing a net benefit for this scene (changing costs highlighted with orange box, total frame time with green box): Occlusion off: ![image](https://media.github.cds.internal.unity3d.com/user/4787/files/2002cc14-9a51-4bbc-8a1b-663fe62d34e0) Occlusion on: ![image](https://media.github.cds.internal.unity3d.com/user/4787/files/b38b013e-d120-48a9-9f72-c9fde14ae7e3) Same scene tested in mono (not XR) on PS5 to check on a platform with stable GPU timings, occlusion off and occlusion on: ![image](https://media.github.cds.internal.unity3d.com/user/4787/files/3149cd7b-eb56-4cc7-b19c-eea48f9415ec)
Added Additional Resources to URP Lighting docs landing page
In some instances, FSR1 and Depth of field code samples pixels outside of the bounds for dynamic resolution. This changes fixes the artifacts by adding software bound checks.
…terials Fix UUM-60651 - imported assets initialized with incorrect default materials
** Ported forward from https://github.cds.internal.unity3d.com/unity/unity/pull/44101** See the preview build here (needs VPN): https://docs-internal-preview.prd.it.unity3d.com/markg/apv-hdrp-2023-2/manual/probevolumes.html Updates the APV documentation for the 2023.2 tech release, and makes improvements based on user testing. - Adds missing 2023.2 features, including HDRP Asset settings and Rendering Debugger information. - Separated Lighting Scenarios out into a dedicated page. - Created separate pages for displaying probes, and adjusting Probe Volume size and density. - Fixed some style issues. - Added more links between pages to help users find their way to docs about fixing issues (especially validity) and adjusting density. I've also made improvements to address some of the [feedback in the user testing](https://miro.com/app/board/uXjVMN4g1_k=/). I wasn't able to fully address the following though: - **Doc needs a section with examples of common problems** - we already have a comprehensive 'Fix issues' page about this, so I've assumed this was a navigation issue. I've improved the heading on the fix issues page, added anchor links so solution types are clearer, and added links from other pages. - **Update documentation for MeshRenderer to mention Probe Volumes** - there's no specific mention of Probe Volumes in the Mesh Renderer component, so I can't see a place to add this. - **HDRP documentation could be better integrated into the main docs** - unfortunately not possible at the moment, but w aim to improve this in future. Jira tickets: https://jira.unity3d.com/browse/DOCG-4387 https://jira.unity3d.com/browse/DOCG-4547
**This is a port forward to trunk from https://github.cds.internal.unity3d.com/unity/unity/pull/44967** This PR ports the relevant docs from the [HDRP Probe Volumes 2023.2 docs](https://docs.unity3d.com/Packages/[email protected]/manual/probevolumes.html) - including updates made in https://github.cds.internal.unity3d.com/unity/unity/pull/44101 - to URP. HDRP-only features that have been removed: - Streaming - Lighting scenarios and blending - References to volumetric fog, screenspace GI, and Reflection Probes Jira ticket: https://jira.unity3d.com/browse/DOCG-3539
If data changes that could affect the result of IsGPUResidentDrawerSupportedBySRP(), we must reinitialize the GPU Resident Drawer. For URP, we are checking if the rendererMode is Forward+ for all renderers, else GPU Resident Drawer is not used. Previously when rendererMode was changed, we did nothing, which could result in GPU Resident Drawer being enabled/disabled when it shouldn't be.
Warning in lightlistbuild when opening the template from trunk Also fix an error when clearing the current baking set from user side for APV And added a small api to get the baking set associated with a scene (resquested on the forum)
…dded as testables Fixes [GSDET-14](https://jira.unity3d.com/browse/GSDET-14). The `graphics-performance` package no longer needs to be added to `testables` in the package manifest be exposed to tests. c033b77cf235f6183c677370032bf1710207b1e1 Fixes [GSDET-17](https://jira.unity3d.com/browse/GSDET-17). The tests will now only run when the platform is appropriate. Removed from `testables` on all projects but `HDRP Performance` as it is necessary for the static analysis test jobs. Fixed all projects that use this package. Changed the names of all assembly definitions. Created named namespace `UnityEngine.TestTools.Graphics.Performance`. Created named namespace `UnityEngine.TestTools.Graphics.Performance.Editor`. Created named namespace `UnityEngine.TestTools.Graphics.Performance.Editor.StaticAnalysis`.
APV was using the TextureXR::GetBlackTexture3D to fallback to a default resource if the main runtime APV resources were not yet initialized. However in URP, TextureXR::Initialize is never invoked so these default resources never exist, resulting in some console warning spam. Instead of initializing the TextureXR resources, I switched the usage to CoreUtils::blackVolumeTexture. I examined the usage of these APV resources on GPU side and confirmed that there is no actual need for an XR-friendly format for sampling the probe data.
Replace the costly multiple mip bias CBuffer updates dring the rendering by a hardcoded define `SUPPORT_GLOBAL_MIP_BIAS` in shaders. The idea is that we push the correct global mip bias once in the shader variables CBuffer and then the shader passes can decide whether or not to use it by enabling the define `SUPPORT_GLOBAL_MIP_BIAS` before including `ShaderVariables.hlsl`. All passes that can sample user textures should have this option enabled. Additionally, after post processes passes are forced with a mip bias of 0. This matches the previous behaviour but it's still wrong as it ignores the material bias in the camera data. Additionally removes 12 uploads of the global ShaderVariables CBuffer during the frame.
With depth priming enabled, cameras with depth only render targets were getting no depth information rendered. https://jira.unity3d.com/browse/UUM-65523
Fix UUM-65629. Restore random state.
Add introduction and task pages for RenderGraph. **This PR is dependent on https://github.cds.internal.unity3d.com/unity/unity/pull/41475** This PR focuses on an initial set of user concepts and tasks we agreed with Felipe, @oleksandr-kokoshyn and @sophia-lloyd. The following is out of scope for this PR: - Any new documentation about Compatibility Mode. - OnBeginRenderGraphFrame, OnEndRenderGraphFrame - ConfigureInput (as it's not specifically a Render Graph API). It is mentioned and included briefly in code samples though.) - AllowGlobalStateModification - Write a combined RG and non-RG pass. - RenderTextureDescriptor (as it's not specifically a Render Graph API) - it is mentioned and included in code samples though.) - SetGlobalTexture - as SetGlobalTextureAfterPass is preferred - Compute shaders - Cross-pipeline Please note too that I've followed our [guidance on code samples](https://docs-style-guide.unity.com/content-types/code-examples/create-code-examples) to prioritize readability over performance or completeness. So code samples might not be 'best practice' so it's easier for users to understand the core concept.
…ilable URP templates in general Edited the "Creating a new project" page so that it describes the available URP templates in general
Jira: UUM-8907 This PR adds tooltips wherever it was relevant to he `Control Panel` in VFX Graph. ℹ I took this opportunity to cleanup a bit the code and the UI to - Reduce the number of UI elements - Better align some controls - Use built-in controls instead of custom implementation (dropdown for instance) - Move the user events into the same section as the built-in events - Increase font size to 12 like everywhere else in the graph
Replace out-of-date images in APV documentation for URP and HDRP. Jira ticket: https://jira.unity3d.com/browse/DOCG-5272
Jira: https://jira.unity3d.com/browse/VFXG-469 The goal of this PR is to remove the dependency between UI code and model code introduced recently with an improvement PR on error feedback. Taking this opportunity to also improve how error feedback is handled to minimize UI processing. To that end, error feedback badges are now updated in the VFXViewWindow update method (so at most, once per frame). Also, I think error feedback could be generated twice before, but it should not be the case anymore. At last, as it has been highly requested, the badges size have been increased for better readability (from 17 to 24 pixels).
*[See [this document](https://docs.google.com/document/d/1C4Vc7dOKgoZ2mNqMdugHDg-w6iN7iUYdlBQMGDmVS3E/edit) for details on what can land in 2023.3.]* Fixed the Float2To8 packing function that was leaving parasite information in the lower bits. The following image shows in the middle and right square the result of packing and unpacking the color information with the function included in packing.hlsl and a corrected version. ![image](https://media.github.cds.internal.unity3d.com/user/696/files/0d6e67b0-68d9-4eb9-81de-e0f0b1ec1a8e) *[Description of feature/change. Links to screenshots, design docs, user docs, etc. Link to Jira if applicable. Remember reviewers may be outside your team, and not know your feature/area that should be explained more.]* See above.
Allows users to implement their own lightmapper (see Bakery on the asset store) All actual public API newly exposed are in [this commit](fa1ea59e47cfe481a0154b68eabe8aff6c661436), so you can review them quickly The idea is that we expose an API to override each baking backend, namely - virtual offset computation - sky occlusion & shading direction - probe sh & validity If any of those is not overriden, the default implementation will be used. The baking backend for SH supports being run in a thread. This may not be used by users but it's supported. The benefit of this method is that everything works with our existing UI and workflows, so it's supposed to integrate nicely in a project if an asset store overrides baking. To allow bypassing the lightmapper and still use APV, some APIs have also been added to bake probe volume only
…et has just been created Resolves an exception in the `TestSceneAssetEditor` when `TestSceneAsset` has just been created. This was originally resolved in https://github.cds.internal.unity3d.com/unity/unity/pull/45017 which was since closed. I am making a PR with just that fix here.
JIRA: https://jira.unity3d.com/browse/XPIPELINE-834 Before: ![image](https://media.github.cds.internal.unity3d.com/user/3380/files/94e2c344-b4d3-42c2-88ad-bb39879d1936) After: ![image](https://media.github.cds.internal.unity3d.com/user/3380/files/b31cef52-fea5-4459-80fb-e8d2aeb4e531) This PR shortens the string user sees in Render Graph Viewer UI. Before, we were reusing the string used for the per-camera ProfilingSampler. Now we are just displaying the camera name without the sampler prefix. The code is a little tricky because URP needs to cache `camera.name` to avoid per-frame GC allocation. The existing cache to solve this issue has been generalized to contain the camera name. Before this PR, the cache contained `{ ProfilingSampler }`, with this PR it contains `{ string, ProfilingSampler }`. The caching logic is unchanged, the lookup simply returns the stored camera name as well. Internal classes have been renamed to make more sense.
Improve the `SpeedTree 9` importer workflow in multiple cases: - When the `render pipeline` is changed (e.g from HDRP to built-in and/or opposite). It's now cleaner. - When the `pipeline asset` is changed. - When the `default shader` is changed. It now retriggers a reimport of the st9 assets for all these cases. The last 2 were not supported correctly. It also removes the dependency on the direct path of the assets, so there's less chance to break anything (e.g the asset is being moved, we don't have to change the path manually in the importer anymore).
Based on experiments this seems to solve (or at least massively reduce) the test instability in `HDRP_Win_DX12_playmode_GPUDriven_mono_Linear` after #44314.
https://jira.unity3d.com/browse/UUM-64908 Added support for ScreenCaptureBridge (public API) to Render Graph
Remove timeout exception about unexpectedly long enter playmode. The problem has been solved meanwhile. ![image](https://media.github.cds.internal.unity3d.com/user/42/files/7b313aea-74da-4eff-8c4f-a4a59cf9d034) ![image](https://media.github.cds.internal.unity3d.com/user/42/files/a2862506-c233-4c8c-9500-cf5fdc03d897)
This PR fixes a regression that was introduced by https://github.cds.internal.unity3d.com/unity/unity/pull/41986. The regression caused a change in node settings to not systematically trigger a recompile in auto compile mode. The PR also adds some perf improvements regarding invalidation events: - Don't generate a UI invalidation event every time resync slots is called due to applying property attributes. - Improve the way we determinie whether a context can accept blocks or not.
Jira: UUM-61583 Steps to repro: - Create a new HDRP/URP project - Create a new VFX Graph - Create two operators that have incompatible slots (`Float` and `Sample Gradient` for instance) - Drag `Float` connection out and hover it over gradient input slot - Hit escape to cancel - Observe wrong type popup gets stuck and moves around with graph ![Unity_IrNrWdfUSY](https://media.github.cds.internal.unity3d.com/user/4003/files/2a6b8809-0eb9-4e74-bc33-dd4ed7e326b4) ![video](https://jira.unity3d.com/secure/attachment/1368545/WrontTypePopup.mp4)
Expose information about Graphics devices for testing and debugging purposes. An example disabled test using an AMD GPU: <img width="905" alt="Screenshot 2024-03-14 at 8 01 35 PM" src="https://media.github.cds.internal.unity3d.com/user/2181/files/eb1d9639-7e6a-42b6-8600-f703e859d89c"> ### For a test that is only supported using an Nvidia GPU Using an [Nvidia GPU](https://unity-ci.cds.internal.unity3d.com/job/35149143/logs/execution?line=21852&q=BakeWithOptix): <img width="896" alt="Screenshot 2024-03-14 at 9 25 19 PM" src="https://media.github.cds.internal.unity3d.com/user/2181/files/1e4d870b-3107-4cf4-8ffb-89f3c492ab5f"> Using an [AMD GPU](https://unity-ci.cds.internal.unity3d.com/job/35150557/logs/execution?line=903&q=BakeWithOptix): <img width="935" alt="Screenshot 2024-03-14 at 8 02 45 PM" src="https://media.github.cds.internal.unity3d.com/user/2181/files/7efed28a-5c27-4e6b-aabe-437ef4a8345a"> ### Context This arose once we started running tests on devices with different GPUs than what we have on Bokken proper and we need a reliable way of identifying what GPU we're running tests on. About the changes to `TestFilter` under the Graphics Test Framework: I added them to a namespace because we were running into conflicts with the `Architecture` enum.
Fixed SRP Lens Flare rendering issue with Render Scale
…nd Game windows are open. (UUM-63267) Fixes UUM-63267. In non-RenderGraph, the main and additional light shadow passes didn't have the correct data in the WorldToCamera matrix. This is due to it being set after they've been run. This PR fixes that.
Fix NaN issue in volumetric fog reprojection
- Restructure and add to the lens flare pages of the URP and HDRP manuals, to help users understand the limitations of the 2 types of lens flare. - Remove unneeded images from the Lens Flare (SRP) Data Asset page - Update the main manual Lens flare page with missing features Jira ticket: https://jira.unity3d.com/browse/DOCG-3077
Jira: UUM-59123 When a block is collapsed the activation slot is not visible anymore. Before: ![Unity_JyNrRODGTR](https://media.github.cds.internal.unity3d.com/user/4003/files/b9c5467d-f237-4e52-bd5c-2a9bad57bd26) After: ![Unity_2XV2CCHlve](https://media.github.cds.internal.unity3d.com/user/4003/files/c83c5751-7340-4546-8320-1a43bfd11d5a) Slack thread: https://unity.slack.com/archives/G1BTWN88Z/p1702479571472809
This PR addresses [UUM-66079](https://jira.unity3d.com/browse/UUM-66079), and partially reverts some changes made in #43938, since @MINGWAI found a use-case where the Culling Mask is still useful in Forward+. This change 1. edits the tooltip of the culling mask. 2. makes the Culling Mask always editable, regardless of Deferred, Forward, Forward+ etc. 3. If the culling mask is set to a non-default value, adds this info box to alleviate the source of lots of user confusion. <img width="600" alt="image" src="https://media.github.cds.internal.unity3d.com/user/2726/files/04898627-06ec-4271-b411-10f1006707ee">
This is a small one liner fix to remove the problematic eye dropper, reported in [UUM-64983](https://jira.unity3d.com/browse/UUM-64983). Fixing this would be too costly resource-wise for such a small issue, so we decided simply to hide the button. **Before:** <img width="700" alt="before" src="https://media.github.cds.internal.unity3d.com/user/1762/files/a718b893-e41a-4444-8304-858a61b66b45"> **After:** <img width="704" alt="after" src="https://media.github.cds.internal.unity3d.com/user/1762/files/d9782151-02b3-4bff-ab0a-49c7abd1c212">
https://unity.slack.com/archives/C6Y79CZM0/p1710790550283199 Adding null check to avoid the error, like other Shaders.
…forms - Replaces 2023 with 6000 in package validation jobs - Adds MacOS and Windows to package validation jobs
Fix https://jira.unity3d.com/browse/UUM-65820 When capturing data for Render Graph Viewer, we use the RG pass name as key in the dictionary that stores the script file name and line information required for "jump to pass source in IDE" feature. If duplicate pass names are found, a warning is printed to let user know that this mapping will be ambiguous. In the case of this bug, the helper functions `BeginProfilingSampler` and `EndProfilingSampler` enqueue render passes with a fixed name, leading to multiple duplicate entries and therefore warnings. However, as these passes also call `builder.GenerateDebugData(false)`, they are not visible in RG Viewer in the first place and we can safely ignore them. Note that the new code added is only ever active during the frame where RG Viewer is opened or the refresh button is clicked, so there is no performance impact.
Fix https://jira.unity3d.com/browse/UUM-62746 Color Curves component editor didn't indicate which curves have their overrides active in the dropdown, meaning user needs to cycle through all to find out. This PR adds indicating text suffix to the dropdown items if the curve override is active. Code is duplicated across URP and HDRP so made the change on both pipelines. What it looks like now: ![image](https://media.github.cds.internal.unity3d.com/user/3380/files/05b62714-bb1b-4e94-abaa-cd125ea0edbd) ![image](https://media.github.cds.internal.unity3d.com/user/3380/files/8375e55e-917b-4fac-b42e-1ff61ff5ded5)
Fix https://jira.unity3d.com/browse/UUM-66215 where the layout of elements in DOTS Entity Baking Preview panel changes depending on if Material foldout UI is expanded or not. When the material foldout GUI is expanded on URP or HDRP, it affects other UI drawn afterwards because the UI logic modified persistent `EditorGUIUtility.labelWidth` value and didn't restore it properly after drawing its widgets. This PR fixes that by resetting the value to 0 after drawing the material options. The fix is made separately on CoreRP (used by URP Material Editor) and HDRP because the UI has separate implementations. Note: we are simply setting the labelWidth to 0 instead of restoring whatever value it was before, because 0 is a special value that cannot be retrieved by using the property getter of `EditorGUIUtility.labelWidth` - if the internal value is 0, it will return some predetermined values instead (see [implementation](https://github.cds.internal.unity3d.com/unity/unity/blob/trunk/Editor/Mono/EditorGUIUtility.cs#L1367-L1379)). Therefore we must make the assumption that 0 is the correct value to be restored in this case.
…empty Fix https://jira.unity3d.com/browse/UUM-66952 Graphics Settings UI on URP needs to recreate the render pipeline whenever user changes the "Compatibility mode" checkbox in graphics settings. This change was being detected incorrectly, causing render pipeline to be recreated every time the tab is selected on URP, which in turn triggers RG Viewer to be refreshed. Fixed the issue and added a unit test for it. Also did a minor adjustment of empty state texts based on QA & UX feedback.
Fix flickering for 2D Renderer on macOS silicon
… them. This PR add an extra check to `ScriptableRendererData.OnValidate` to ensure we only validate `ScriptableRendererFeatures` when all scripts have been compiled. Not doing so can lead to errors being thrown to the console during import (see attached Jira ticket). Jira: https://jira.unity3d.com/browse/UUM-58944
… render when using the Camera Fix https://jira.unity3d.com/browse/UUM-43568
…n Server Builds (UUM-56965) When running server builds calling `{GetType().DeclaringType.Name}` will give a NullReferenceException. This happens in two places inside the URP Codebase. To fix this the calls are simply removed as they don't provide much value.
JIRA: UUM-59938 1️⃣ The current implementation for Custom HLSL operators do not support all kind of function declaration. The goal of this PR is to lift this limitation and support all kind of function that makes sense in that context. Here are the limitation that are lifted: ✔ In operators, a function can return void ✔ In operators, a function can have no parameter at all (but then must return a value) ✔ In operators, a function can have only out parameters (can return void or not) ✔ In operators, a function can have only in parameters (but then must return a value) ✔ In operators, the return slot name can be defined with a comment above the function: /// return: <name-of-the-slot> ❌ In operators, a function cannot return void if there's not at least one out parameter ✔ In blocks, a function still must have a `VFXAttributes` parameter but don't need to access it all ✔ In blocks and operators, `TextureCube` and `Texture2DArray` are now supported 2️⃣ Also, for function which returns a value, until now the output slot was automatically named `out`. Now the user can use the same syntax as for the tooltip of input parameters to specify a name for the return output. The syntax is like this: ```hlsl /// return: My Value float FloatFunction4(in float t) { return 3 * t; } ``` In that case, the output slot will be named `My Value` 3️⃣ Last but not least, the HLSL code editor now supports: - `CTRL`+`S`: saves only the current file (instead of the whole Unity project) - `CTRL`+`Z` and `CTRL`+`Y`: adds support for undo/redo inside the code editor. - `CTRL`+`MouseWheel`: Increase/decrease font size
Fix Motion Vector render pass render order. Motion Vector pass depends on the Copy Depth pass. Copy Depth pass is moveable (from UniversalRenderer). Motion Vector pass order now correctly follows the Copy Depth pass. Motion Vectors can now be rendered after Opaques, instead of always rendering after Transparents.
Try to fix an instability in the SVL test in the HDRP Runtime test
Fix a scaling issue with the recorder.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Please read the Contributing guide before making a PR.
Checklist for PR maker
need-backport-*
label. After you backport the PR, the label changes tobackported-*
.CHANGELOG.md
file.Purpose of this PR
Why is this PR needed, what hard problem is it solving/fixing?
Testing status
Describe what manual/automated tests were performed for this PR
Comments to reviewers
Notes for the reviewers you have assigned.