Skip to content
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 #8077

Merged
merged 58 commits into from
Jun 10, 2024
Merged

Internal/master #8077

merged 58 commits into from
Jun 10, 2024

Conversation

UnityAljosha
Copy link
Collaborator

Please read the Contributing guide before making a PR.

Checklist for PR maker

  • Have you added a backport label (if needed)? For example, the need-backport-* label. After you backport the PR, the label changes to backported-*.
  • Have you updated the changelog? Each package has a CHANGELOG.md file.
  • Have you updated or added the documentation for your PR? When you add a new feature, change a property name, or change the behavior of a feature, it's best practice to include related documentation changes in the same PR. If you do add documentation, make sure to add the relevant Graphics Docs team member as a reviewer of the PR. If you are not sure which person to add, see the Docs team contacts sheet.
  • Have you added a graphic test for your PR (if needed)? When you add a new feature, or discover a bug that tests don't cover, please add a graphic test.

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.

adrien-de-tocqueville and others added 30 commits May 17, 2024 17:31
At bake time, detect probes that would create a seam and replace their lighting data with something that should create less seams.

| trunk | PR |
| -- | -- |
| <img width="812" alt="image" src="https://media.github.cds.internal.unity3d.com/user/2154/files/fec625ca-fb18-4032-bafa-547ecd684426"> | <img width="812" alt="image" src="https://media.github.cds.internal.unity3d.com/user/2154/files/c6945344-dbb4-44cc-b9c2-a132170ef141"> |
…ompiler (amelioration)

JIRA: https://jira.unity3d.com/browse/UUM-65454

When merging subpasses together in a NativePass, we don't check if there will be more than 8 native render subpasses. This PR adds a check for this when verifying if a certain graph pass can be merged into a Native Pass, as well as a test. If merging the graph pass would result in too many native subpasses, we simply create a new Native Pass

This is the second PR for this fix, the first one was more of a hotfix because of the time constraint, this is a more involved refactor that should speed up the first fix

first PR: https://github.cds.internal.unity3d.com/unity/unity/pull/46620
Add URP Config package doc page to the table of contents
Reworked the URP Config package doc page to meet style guide and meet docs quality standards
Fix formatting issues related to the tables in the URP documentation
After the removal of code coverage package from `SRP_SmokeTest` project, it was reported that the `Win SRP Code Coverage` pipeline started failing.

Reverting that change (adding the package back in the manifest) fixes the issue
Adds a new set of samples - Production Ready Shaders - to the Shader Graph package.

The Shader Graph Production Ready Shaders sample is a collection of Shader Graph shader assets that are ready to be used out of the box or modified to suit your needs.  You can take them apart and learn from them, or just drop them directly into your project and use them as they are. The sample also includes a step-by-step tutorial for how to combine several of the shaders to create a forest stream environment.

![thumbnail](https://media.github.cds.internal.unity3d.com/user/4330/files/e77ac010-f157-450e-972e-17c8b1d1e45d)

Documentation:
https://docs.google.com/document/d/1vAwWO39TUg8VTlzznlKHBmwYftgHfFZ7eoLJNd_DhIU

Blog Post (draft):
https://docs.google.com/document/d/1F8yArILrt19uNWzd0yfu59KmjuRjUOxQo9Y84-y6Zao

Video to announce the content:
https://drive.google.com/drive/folders/1T2Y4x3gGAJmA1ikQv5485CTRganBRLfg
https://docs.google.com/document/d/1WxKL3xZ0GV84lgV3VoCcP_5n6mxpo87gPeoUpI9F7tA

Jiras associated with this project:
https://jira.unity3d.com/browse/GSG-822
https://jira.unity3d.com/browse/PLATGRAPH-2851
https://jira.unity3d.com/browse/PLATGRAPH-3045
https://jira.unity3d.com/browse/PLATGRAPH-3046
https://jira.unity3d.com/browse/PLATGRAPH-2793
https://jira.unity3d.com/browse/PLATGRAPH-2205
…ss SRP documentation.

Improve the docs for Rendering Debugger usage and the shortcut is for standalone rendering debugger and not the editor window.

Adding a table to help users follow up in their scenario.

Updated URP HDRP and core package docs.

https://jira.unity3d.com/browse/UUM-71948
There is a graphical issue when resizing Reflection Probe box sizes on macOS. The issue comes from trying to draw in the Editor (either using `GL` commands or `DrawMeshNow`, for example) while the `Event.current.type != EventType.Repaint` causes graphical issues on Metal. This PR fixes that issue by guarding against this case when rendering the filled in box.

Jira: UUM-71467
Cinemachine asmdefs and namespaces have changed between 2.x and 3.x, causing issues when importing VFX Graph VFXOutputEventHandlers Sample.

Updated asmdefs and C# files to account for changes made in Cinemachine 3.x
… back from a Maximized state

The `OnDisable` is called just after the on Enable when coming back from a Maximized state. Making events unsubscribed.
…-39576, UUM-71595, UUM-71598)

This PR does the following:

* Fixes UUM-39576 where additional light shadows would flicker if they exceeded the platform max for additional lights.
* Fixes UUM-71595 where additional light shadows were incorrectly ordered resulting in "random" order on screen.
* Fixes UUM-71598 where disabled additional lights shadows in the URP Asset had no effect when using deferred.
* Small performance improvements by refactoring some things in the additional light shadow caster pass
  * Improved the ComputeShadowRequestHash() function by not retrieving the VisibleLight twice and having unnecessary if checks. Also made sure this code only runs in Editor and Development builds, which are the only places it's used.
  * Moved some checks, that were done for each light and each slice but were only needed per light
  * Reduced the size of various containers inside AdditoinalLightShadowCasterPass. From int to short or byte.
https://jira.unity3d.com/browse/PLATGRAPH-3354
Fix memory crash with SRP Batcher when the mesh has multiple parts.

https://jira.unity3d.com/browse/PLATGRAPH-3353
Multisample depth textures cause URP CopyDepth to error.

https://jira.unity3d.com/browse/PLATGRAPH-3355
Fix to enable GPU Resident Drawing: instancing and culling.
When forcing the minimal baking possible by ebaling force and having no geometry in the scene, a nullref was generated.
Applies minor docs fixes to the Rendering Debugger docs in URP
Update frame diagram image in doc
…ckground turn yellow after enable render graph

When more than two cameras are stacked in 2D with URP and RG activate, the `clearOnFirstUse` is set to `false` for all the overlay cameras, and `true` for the Base camera.
This flag is allocated in the `TextureDesc.clearBuffer` of the `TextureResource`.
When the hash of the Render Graph is created, this flag was not added to the hash of the graph.
So, the RG was returning the same cache hash for base camera, and overlay cameras, and it was clearing the color buffer as it was indicated in the base camera for all the overlay cameras.
I have added the `clearBuffer` to the compute of the hash, and to be sure for the future also the `discardBuffer` as this is another flag in the camera stacking.
- When opening the `HDRPTests` project, an error was logged in the Console complaining about an error with the `SpeedTree9` shader.
- It was due to the missing `default shader` of ST9 in the HDRP global settings. 
- Opening the project the first time: it complains about it, and add it to the settings. So then, the error disappears when reopening the project.
…pass

Fix https://jira.unity3d.com/browse/GFXRPF-224
The depth buffer was configured as read-only meaning any rendering relying on depth writing & testing was not working correctly.
There are at least two PR which required upgrade of most of VFXAsset:
- https://github.cds.internal.unity3d.com/unity/unity/pull/41356 (Random Improvement)
- https://github.cds.internal.unity3d.com/unity/unity/pull/41197 (VFXSlotUInt changes)

This PR upgrades VFXAsset using our automatic upgrader.

This commit 9cb83064f83aad00c317f847830e473ac07d6951 has been done by Yamato.
Misc subgraph fixes:

- Fix a regression (https://jira.unity3d.com/browse/UUM-69798) that prevented blocks to be added to subgraph context.
- Fix https://jira.unity3d.com/browse/UUM-556, not by reenabling compilation for subgraph (which makes no sense as they are not compiled) but by disabling the compile menu. Expected workflow is to save for subgraph dependencies to be recompiled.
Jira: UUM-70602
Steps to reproduce:
1. Create Random Selector Weighted node
2. Select it
3. In the Inspector, click Clamp Weight
4. Click Clamp Weight again

Actual results: The input fields have overflowed their container
Expected results: UI elements stay in their container upon adjusting parameters

Tested on (OS): repro with other input fields, labels too, i.e Input fields, labels that come from ShaderGraph

![](https://jira.unity3d.com/secure/attachment/1436950/Screenshot%202024-04-24%20at%2015.09.40.png)
…when using debug views

This PR fixes an issue where a checker texture would appear on Terrains with 4 layers or less when using, for example, the "Unlit Draw Mode".

| Before | After |
| :---: | :---: |
| <img src="https://media.github.cds.internal.unity3d.com/user/3541/files/31f50cb2-4a40-49bb-b568-f586056a98d3" width="100%" height="100%"> | <img src="https://media.github.cds.internal.unity3d.com/user/3541/files/919c1beb-7d07-4dac-98aa-da7215e5e8f2" width="100%" height="100%"> |

The issue was caused by https://github.cds.internal.unity3d.com/unity/unity/pull/38619, where we started force-enabling the `_TERRAIN_8_LAYERS` shader keyword whenever `DEBUG_DISPLAY` was defined.
- For the mipmap debug views, no issue would ever appear since we only display debug information for 1 specific Terrain layer at a time. Because we forced `_TERRAIN_8_LAYERS`, debugging layers 4 to 7 on a 4-layered Terrain would thus display debug information for the default texture set by the Terrain system. (checker texture **_in editor_**, tiny white texture in player)
- For all other debug views, the checker texture bug would appear on 4-layered Terrain because force-enabling `_TERRAIN_8_LAYERS` also means that the Terrain uses a second Control texture, but the Terrain system obviously has none to provide so a default grey texture was used instead → layers 4 / 5 / 6 / 7 thus suddenly appeared at half opacity on top of other layers.

Of course, we could somehow ensure that the default texture used for the second Control texture is always fully black (feels quite sloppy though?), but I do feel like force-enabling the `_TERRAIN_8_LAYERS` shader keyword when debugging wasn't the best approach in the first place.
- Forcefully enabling the keyword essentially means that 4 extra layers appear out of thin air. When debugging individual layers with the mipmap debug views, it is thus impossible to differentiate 4-layered Terrain vs 8-layered Terrain and might even give users the impression that HDRP Terrains are always 8-layered behind-the-scenes.
- By reworking the code a little, we can still display appropriate mipmap debug information even if we have no layer texture available, so there is in fact no need to forcefully enable the keyword just to get a layer texture to sample / obtain mipcount from / ...

I've thus simply reworked the mipmap debug views code (see 23f28b58b6ff61699def6be1ac64b0265d1fee9f) so that it displays "invalid" / "missing" information when debugging layers 4 / 5 / 6 / 7 on a 4-layered Terrain (we use white as "texture colour").
When using, for example, the `Mip Count` view to debug the 5th layer of a 4-layered Terrain, the result now looks like this:

| Before | After |
| :---: | :---: |
| <img src="https://media.github.cds.internal.unity3d.com/user/3541/files/1ce3209f-dd83-4c6d-a313-0633fddb6800" width="100%" height="100%"> | <img src="https://media.github.cds.internal.unity3d.com/user/3541/files/058117fb-38b1-48ad-88ec-16cd5f47fbe1" width="100%" height="100%"> |
Fix specific failure scenario (initially identified by @ludovic-theobald during GDC) which is a consequence of bad fetching of customhlsl expression: Instead of per system, it should be done per context. It has two effects:
- Fix attribute generation: modifying non stored variable was leading to compilation failure.
- Allow diverging Buffer usage: Same buffer used as RWBuffer & Buffer in two separate context.

🎁 Fix untracked issue about multiple include within CustomHLSL (see 813e3a7dff57e3192c35f0dd88a248a48de37572)
Steps to reproduce:
1. Create a new VFX Graph
2. Add a Custom HLSL block
3. Open the HLSL code editor by clicking on the edit button
4. Copy / paste the function below:

```hlsl
void CustomHLSL(inout VFXAttributes attributes, int e)
{
  //Nothing
}
```

Actual results: 
The VFX does not compile (the int type is misinterpreted as in access modifier)

Expected results: 
The VFX compiles fine


Reproducible with versions: 
6000.01f1
…m SRP Recipes

[GFXFOUND-327](https://jira.unity3d.com/browse/GFXFOUND-327)
Enables a disabled test on certain platforms -- looking at the previously ignored platforms:

- [Passes on Linux](https://unity-ci.cds.internal.unity3d.com/job/37741645/logs/execution?line=3032&q=Profiler)
- [Passes on Windows DX12](https://unity-ci.cds.internal.unity3d.com/job/37741655/logs/execution?r=37741655&line=6948&q=Profiler)
- [Passes on Windows DX12 XR](https://unity-ci.cds.internal.unity3d.com/job/37741650/logs/execution?r=37741650&line=3147&q=Profiler)
- [Ignored on WebGL](https://unity-ci.cds.internal.unity3d.com/job/37741651/logs/execution?line=3807&q=Profiler)
- [Ignored on Quest](https://unity-ci.cds.internal.unity3d.com/job/37741657/logs/execution?r=37741657&line=3330&q=Profiler)

This test was disabled by hardcoding a string into the TestFilter argument of recipes which overrode the test filter given through Yamato UI etc. I would consider this an unfavorable practice as it's a quite surprising way of disabling a test. It is also blocking a certain effort to bring test filtering to the Graphics Test Framework.

Unfortunately, I could not find any way of disabling it on Quest **only** so I had to disable it on all Android platforms.

Therefore, effectively this PR enables the test on Windows DX12 and Linux but disables it on Android devices including Quest.
…rendering when using Compatibility Mode

When extending URP with custom renderer features, and Native RenderPass is enabled in the non-RenderGraph pass, the renderer can crash because of a hard-coded value `kRenderPassMaxCount = 20` used by an static array to set his size.

That static array is saving in the index of the render Pass the hash of the render pass. That is causing that when the index of the pass is higher or equal than 20, the array has no place to save the hash of the pass. In fact, most of the places of the array are empty, because the hash is only allocated when the pass is active.
With this change, the static array is changed to a Dictionary with the key as the index of the Pass, and the value as the hash of the Pass, so when the index of the RenderPass is higher than 20 this will no cause an `IndexOutOfBounds` error.

The rest of structures used in the class could still be working without any problem

Jira ticket: [UUM-69943](https://jira.unity3d.com/browse/UUM-69943)
…or soft particles

Forward port of https://github.cds.internal.unity3d.com/unity/unity/pull/47880

*This PR partly addresses: https://jira.unity3d.com/browse/XRVOSB-20

In the original issue, particles that have the Soft Partilces feature enabled would appear wildly distorted on the Vision Pro. Soft particles perform a sample of the depth buffer in order to neatly fade their texture when close to other objects. Previously, when foveated rendering was enabled, the shader would sample the depth buffer at the wrong coordinates, resulting in a heavily distorted image.

This PR allows shaders to use Foveated Rendering code when on the Vision OS platform, and modifes the particle shader to properly take foveation into account when querying the depth buffer.
…derFunc hash

This PR fixes the nullptr exception thrown when a Render Graph pass was missing a renderFunc but tried to compute its hash value. We will now return a hash value of 0 if no render function, the Render Graph compiler will return later an explicit error if the renderFunc is missing anyway. At least, now users have a clear message so they can address the issue by implementing their missing renderFunc.
julienamsellem and others added 26 commits May 31, 2024 18:19
Jira: https://jira.unity3d.com/browse/UUM-72960
Steps to reproduce:
1.  Create a new Visual Effects subgraph operator
2.  Open it in VFX window
3.  Notice output property link is anchored on the right of the node

Actual results:  
Output property wire is anchored on the right when super collapse
Expected results: 
Output property wire is anchored on the left when super collapsed (like when it's expanded)
![image (6)](https://media.github.cds.internal.unity3d.com/user/4003/files/d5baf17c-5ce1-47f6-80e2-e21d6eb4fea4)
JIRA: https://jira.unity3d.com/browse/UUM-72471

Actual deletion code was missing from the onRemoveCallback of the ReorderedList.
Improve warnings with incorrect setups:
- detect when the active scene is not part of any baking set
- detect when loaded scenes are part of different baking sets

Fix sampling debug mode on URP with render graph due to invalid RG pass setup

Fix baking buttons on adjustment volume and probe volumes that could be clicked when baking is in progress
![image](https://media.github.cds.internal.unity3d.com/user/2154/files/f464c4db-6379-4d2c-bc93-b4d105fcdf81)

Fix brick placement when using probe offset and max possible probe spacing (reported on arctic demo)

Fix cloning of baking sets when opening a new scene in 'Single Scene' mode

Fix holes when voxelizing terrains
| before | after |
| -- | -- |
| ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/e970157b-24f3-4f9a-b7be-1db589eead08) | ![image](https://media.github.cds.internal.unity3d.com/user/2154/files/4da5d861-2f64-4348-bac2-0c501e945236) |
Fix for [UUM-70044](
https://jira.unity3d.com/browse/UUM-70044) that clean up preprocess directive comment)
Fixed an issue where _WRITE_RENDERING_LAYERS shader variant is stripped from DepthNormal prepass in URP Forward+ when it should not be, resulting in decals not rendering because the rendering layers texture is clear.

https://jira.unity3d.com/browse/UUM-72315
The current Warning message when Depth is missing from RenderTexture is not helpful in identifying the source of the error and how to fix it. 
Updated this message for adding specific info about how to fix it.

Jira ticket: [UUM-73172](https://jira.unity3d.com/browse/UUM-73172)
This concludes the task of adding transparent samples to HDRP. The last needed part was the shader graph example which needed to include compute thickness and new nodes added by @soufiane-khiat a while ago. 

This adds 3 examples: 
- The gummy bears, which shows two ways of using compute thickness by rendering gummy bears and its x-ray using the same shader. 
- The lens effect which has been snatched from the dead Werner demo
- And a full custom refraction shader which replicates the sphere refraction model in HDRP using an Unlit shader. 

Those should be good base for user to kickstart a custom refraction effect in HDRP

![image](https://media.github.cds.internal.unity3d.com/user/1764/files/0565c42d-b16d-4504-91a0-8056d440e8c4)

this adds two new thing to check in the HDRP asset when importing a sample. 

![image](https://media.github.cds.internal.unity3d.com/user/1764/files/09c823b1-39b6-46bc-94fc-226e071fcefc)

Lastly, took the opportunity to reduce filesize by replacing the tif with png file which minimize the additional file needed for this addition. 

before: 
![image](https://media.github.cds.internal.unity3d.com/user/1764/files/610bd172-ce4d-408a-a157-347ed9089b40)

now:
![image](https://media.github.cds.internal.unity3d.com/user/1764/files/88c9e5e7-7241-472a-aabc-0f68b23730f4)


Regarding the raytracing quality node. It's not really possible to have a migration / upgrade. But by default, if the user doesn't re-save their graph the result stay unchanged. Then, if they want to upgrade, they need to delete / re-add the keywords to be able to get the new behavior. Since, it's most probably not used a lot (we never had a report regarding this), it's probably acceptable to have this behavior.
JIRA: [UUM-69940](https://jira.unity3d.com/browse/UUM-69940)

## Changes:
It was determined that URP NRP RG uses more GPU bandwidth than URP non-RG NRP (see JIRA task for documentation + results), which is a bug.

This PR removes the gBuffer as a default global, which should reduce the bandwidth usage and is a step towards preventing the resource and texture properties to be out of sync, which is another bug. Considering that this is a breaking change for some users, we also add a sample to show how to re-enable the gBuffer if needed.

The main changes are that we use builder.UseTexture(gBuffer[i]) rather than builder.UseAllGlobalTextures(true) to reference the gBuffer in a pass. This means that we need to call material.SetTexture() in passes that use the gBuffer because it cannot be accessed from the globals anymore.

Some tests were modified as well to use the non-global gBuffer

## Sample:
The sample is a ScriptableRendererFeature that can be added to the rendering asset that will display the contents of the gBuffer and set the gBuffer components as globals after the pass using the builder.SetGlobalTextureAfterPass method. It aims to show (1) how to use the gBuffer as a non-global in a pass and (2) how to set the gBuffer as global (and which names are used internally by URP)
…D24_S8 on embedded platforms

Changes the default depth format on the embedded platforms to D24_S8. D32_S8 causes issues on some devices and setting it as a default to D24_S8 is a more robust and sane default for our platforms.
This also fixes rendering only a black screen on the NXP i.mx8 device on EmbeddedLinux and QNX with a URP test project.
* Updates a reference image for 271_AlphaPassthrough_CameraStacking_RT
* Raises the threshold a little bit
This sample puts multiple environment effects together in the same scene with different lighting conditions.

![image](https://media.github.cds.internal.unity3d.com/user/1764/files/81df0ebe-0d07-4e4a-851f-83797b2c12b4)


The scene includes examples focusing on the following effects:
- Volumetric Clouds: Demonstrates simple, advanced and manual mode. 
- Lens Flare: How to update SRP Lens Flares data at runtime.
- Night Sky: How to add stars and northern lights.
- Time Of Day: Full 24h cycle with sun, moon and proper shadow map swapping.

More information on this on the Sample showcase inside the sample. 

This PR changes slightly the behavior of atmospheric scattering, it now takes shadow map into account.

When making the PR, we realized it would be nice to take into account to wrap mode of the cloud texture (to clamp instead of automatic repeat some advanced or manual cloud map for example). We'll see if we have time to do it in this PR. 

Docs has also been updated to exaplain visually what is a cloud LUT and cloud map in manual mode. 

![image](https://media.github.cds.internal.unity3d.com/user/1764/files/8d4af8fb-e07c-49a6-b3be-4ad0a9d5cd7c)
![image](https://media.github.cds.internal.unity3d.com/user/1764/files/d9bbbeae-d625-4e38-8576-5760e1074254)

In an ideal world it would have been nice to include a snippet to update cascade of dir light at different intervals but a bug was found ([UUM-72086](https://jira.unity3d.com/browse/UUM-72086)) when including it and we need to wait until it's fixed before including it.
- Add new mipmap streaming debug views to Rendering Debugger documentation
- Improve mipmap streaming section in docs

Jira ticket: https://jira.unity3d.com/browse/DOCG-4353
Transient resources support is broken in NRP RG.
Reported initially here: https://forum.unity.com/threads/introduction-of-render-graph-in-the-universal-render-pipeline-urp.1500833/page-7#post-9768534

This PR fixes this behavior by removing the error in the console and adding the support of transient resources through the `transientResourceList`. 
Added some unit tests to verify transient resources works well / well created and are can't be shared between passes.
Update render graph documentation with common tasks we missed, and fixes.

Additions/changes are:
- Add framebuffer fetch page
- Add basic compute shader pages
- Add relevant links to package samples
- Fix issues raised by @adrien-moulin 
- Fix issues with render graph viewer reference raised by @arttu-peltonen 
- Fix other issues

We've moved blit helper documentation to a separate ticket (https://jira.unity3d.com/browse/DOCG-5682) while we wait for a fix.

Jira ticket: https://jira.unity3d.com/browse/DOCG-5214
Moved water and clouds as separate systems instead of being part of HDRenderPipeline class. This helps modularizing the code and simplifies dependencies.
Additionally, moved each resources to per system classes that can be stripped independently of the rest of the pipeline resources if the feature is not used at build time. As a result, they show in their own section in the global settings:
![image](https://media.github.cds.internal.unity3d.com/user/2154/files/85471fac-567a-427d-8e56-66feb54b7b57)
In the non-RG path, there's specialized logic that ensures the copy depth operation runs before any custom passes that require depth as input. Prior to this change, we didn't have similar logic in the RG path, so we were incorrectly executing some custom passes before the copy depth operation which can produce incorrect results.

This change introduces similar scheduling logic to the RG path to ensure it behaves consistently with the non-RG path in the context of custom pass execution.
…hen async

This PR applies multiple fixes to HDRP Screen Space Reflection:
- It removes the SSR lighting texture by reusing the SSR accumulation texture
- It adds a fence before async work, so they wait for resources to be cleared when it reuses pooled resources. This fixes flickering on some platform where graphics and async command buffer are more sensitive to missing fences.
- It changes the hit point texture and lighting texture clears to be async if the pass is async. Due to the new fence, it couldn't overlap with shadow rendering, but moving the clear to the same queue as the rest of the work, is more optimized and has no fence.
HDRP Performance tests have some issues with TMP, so I removed it.
…UnsafePass

Fix https://jira.unity3d.com/browse/UUM-73154

This PR fixes regression introduced by https://github.cds.internal.unity3d.com/unity/unity/pull/46702 where UnsafePass using a MSAA texture would result in "Missing resolve surface" errors. This was because the change was incorrectly always setting `needsResolvedData = true`. This is incorrect in the situation where the unsafe pass is binding it as multisampled texture - in this situation we never resolve (as mentioned by a comment a couple of lines up).
Jira ticket: https://jira.unity3d.com/browse/UUM-36914

Initial context + initial fix + explanation: https://github.cds.internal.unity3d.com/unity/unity/pull/25910
More context for the Vulkan Terrain edge case: https://ono.unity3d.com/unity/unity/pull-request/111240/_/graphics/vulkan/case-1205332

Following this PR, the problem is also in latest Trunk for the non-RG path. We have to fix it too, which is the goal of this PR. I simply used the same strategy than the other PR.
This change updates the render graph texture helper functions in URP to include logic for setting dynamic scaling properties. If these properties are omitted, we can end up with incorrectly scaled renders when hardware dynamic scaling is used.
*[See [this document](https://docs.google.com/document/d/1C4Vc7dOKgoZ2mNqMdugHDg-w6iN7iUYdlBQMGDmVS3E/edit) for details on what can land in 2023.3.]*

Fix URP documentation still using 'HDRP' in some sentences
Fix HDRP documentation still using the old 'Validity and Normal Based' instead of the new mode name 'Quality'
*[See [this document](https://docs.google.com/document/d/1C4Vc7dOKgoZ2mNqMdugHDg-w6iN7iUYdlBQMGDmVS3E/edit) for details on what can land in 2023.3.]*
Jira ticket: [GFXFOUND-463](https://jira.unity3d.com/browse/GFXFOUND-463)
Add guidelines for URP settings for improve untethered XR project performances.
…ttings Provider is opened.

When building, the Graphics Settings provider was being launched as the asset was changed making the HDRPBuild data incorrect.

- Checking that the UI is not reloaded when building.
- Checking if the instance is already correct do not ensure it.
- Storing in the HDRPBuild data needed data for shader stripping.
@UnityAljosha UnityAljosha requested review from a team as code owners June 10, 2024 15:46
@UnityAljosha UnityAljosha merged commit a2cf1a6 into master Jun 10, 2024
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.