Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
d0c3d94
[Port] [6000.0] DOCG-5973 linear gradient, DOCG-4959 VFX snippet "pos…
svc-reach-platform-support Apr 7, 2025
40a27fe
[Port] [6000.0] [VFX] Undo/Redo with Composed Output
svc-reach-platform-support Apr 7, 2025
b134df1
[Port] [6000.0] Graphics/bugfix/gizmo to unsafe pass
svc-reach-platform-support Apr 7, 2025
b7b32e5
[2d] Fix (Case UUM-101315) Editor crashes on PrepareSpriteTilingData …
venkify Apr 7, 2025
3cc3bd1
Disable multiple unstable tests
Daniel-Dobzinski Apr 7, 2025
46ad006
[Port] [6000.0] [VFX/SG] Handle Correctly null SRP
svc-reach-platform-support Apr 7, 2025
219b5ed
Merge PR #63137 from docs/graphics/accessibility-3-olivier
ocarrere Apr 9, 2025
6c61d38
[Port] [6000.0] Docs accessibility sprint 2025 march oleks 3
svc-reach-platform-support Apr 9, 2025
9f7f5bd
Merge PR #61733 from docs/graphics/docg-6605-refactor-table-settings-…
ocarrere Apr 9, 2025
95e27ed
[Port] [6000.0] [VFX][Fix] Check model isn't null before updating hov…
svc-reach-platform-support Apr 9, 2025
a7ea233
[Port] [6000.0] Graphics/SRP/RPF - Fix Transient usage with URP Rende…
svc-reach-platform-support Apr 9, 2025
de01a98
[6.0][SRP][Adaptive Probe Volumes] Updated comparison for ProbeVolume…
UnityTed Apr 9, 2025
ae43cc5
6000.0/port/uum98838
pema99 Apr 9, 2025
5eeb447
[Backport] [6000.0] Add new 2d gfx tests
kennytann Apr 11, 2025
585242a
[Port] [6000.0] [UUM-82822] Fixed issue with Light2D inspector
svc-reach-platform-support Apr 11, 2025
5075918
[Port] [6000.0] [ShaderGraph][RPCore]rename RGorAG texture unpack to …
svc-reach-platform-support Apr 11, 2025
4ff3860
[Port] [6000.0] [SRP] [UUM-77625] Change SS UI within SRP to render o…
mseonkim-unity Apr 12, 2025
29462a5
[Port] [6000.0] Add message when reflection probe has wrong format
svc-reach-platform-support Apr 12, 2025
3f9825a
[Backport][6000.0][Terrain] Update graphics tests images
zeroyao Apr 12, 2025
ee3d61a
[Port] [6000.0] [SRPF] Solely rely on ScriptableRendererData in Shade…
kirill-titov-u Apr 12, 2025
72d5a2b
[Backport 6.0] - UUM101108 - Fix RenderGraph Cleanup() public API to …
axoloto Apr 12, 2025
8fe92e2
[port PR#65480] DOCG-6696: Changed the displayName attributes in pack…
oleks-k Apr 12, 2025
3e7691c
[Port] [6000.0] [2d] Fix (Case 98140) Fix case where Canvas Image art…
svc-reach-platform-support Apr 14, 2025
aece655
[Port] [6000.0] Add missing alt text to HDRP light placement tool page
svc-reach-platform-support Apr 14, 2025
9d809f0
[Port] [6000.0] Fix overblown sky on some hw.
svc-reach-platform-support Apr 15, 2025
70d9d45
Merge PR #63856 from docs/graphics/docg-6807-update-water-deformers
ocarrere Apr 15, 2025
0b30f46
[Port] [6000.0] Add new manipulator for ShaderGraph MainPreview
svc-reach-platform-support Apr 15, 2025
1704a36
[Port] [6000.0] Fix camera stack viewport issues.
svc-reach-platform-support Apr 15, 2025
2df754a
[Port] [6000.0] [6000.2][UUM-102077] Fix incorrect normal texture siz…
svc-reach-platform-support Apr 15, 2025
7214198
[Port] [6000.0] Graphics docs accessibility improvements April (VFX G…
svc-reach-platform-support Apr 15, 2025
f10672a
[Port] [6000.0] DOCG-6789 Update VFX Graph 'Conform to...' blocks to …
svc-reach-platform-support Apr 16, 2025
a0d8598
Update areas in .buginfo after Jira update
ericksson Apr 17, 2025
1356e35
Merge PR #59794 from docs/graphics/docg-6227-make-water-scripting-sec…
ocarrere Apr 17, 2025
1b6e122
[content automatically redacted] touching PlatformDependent folder
zeroyao Apr 17, 2025
1e23b84
[Port] [6000.0] [UUM-100776] Fix Pixel Perfect error in rendergraph 2d
svc-reach-platform-support Apr 18, 2025
c94c183
[content automatically redacted] touching PlatformDependent folder
timcannellunity3d Apr 22, 2025
5d06a83
Merge PR #64971 from docs/graphics/docg-6834-create-horizontal-water-…
ocarrere Apr 22, 2025
7ec5d68
[Port] [6000.0] [6000.2][UUM-102798] Fix NullReferenceException in Dr…
svc-reach-platform-support Apr 22, 2025
cbea8a2
[Port] [6000.0/staging] Graphics docs accessibility improvements batc…
markg-unity Apr 22, 2025
b9f0e2c
[Port] [6000.0] Accessibility: visualeffectgraph
svc-reach-platform-support Apr 22, 2025
fe93840
Merge PR #59794 from docs/graphics/docg-6227-make-water-scripting-sec…
ocarrere Apr 23, 2025
1f89fc5
[Port] [6000.0] Accessibility in SRP Core package (Oleks)
svc-reach-platform-support Apr 23, 2025
ee0d5af
[UUM-72263] [6000.0 Port] URP Terrain screen space forward decal test…
saranyacodes Apr 23, 2025
06148ee
[Port] [6000.0] [SRP] Fixed Corrupted Sprites UUM-77168
svc-reach-platform-support Apr 23, 2025
cca3c1b
[Port] [6000.0] Accessibility fixes in HDRP manual
svc-reach-platform-support Apr 24, 2025
dd060e7
[Port] [6000.0] Accessibility fixes part 2 in VFX Graph manual
svc-reach-platform-support Apr 24, 2025
b165e9b
[Port] [6000.0] Graphics docs accessibility fixes batch 14 - Fix empt…
svc-reach-platform-support Apr 24, 2025
bc7f708
[Port] [6000.0] UUM-102163: (+UUM-102161) Missing links on Project Se…
svc-reach-platform-support Apr 24, 2025
0bb30c7
UUM-103719 - fixed guid collisions with a couple of textures
bencloward Apr 24, 2025
8eb35ec
[Port] [6000.0] [VFX] Disable Indirect Draw checkbox if the system do…
svc-reach-platform-support Apr 27, 2025
188a606
[Port] [6000.0] Update LookDevVolumeProfileSettings.cs
svc-reach-platform-support Apr 27, 2025
5d94307
[Port] [6000.0] Fixed Volume performance regression for Unity Editor …
kirill-titov-u Apr 27, 2025
db58e05
[Port] [6000.0] [VFX] Fix Strip using Output Mesh
svc-reach-platform-support Apr 28, 2025
79607d2
[Backport][6000.0][UUM-93821] Fix blit and copy pass for XR
axoloto Apr 28, 2025
7e49e42
[Port] [6000.0] [VFX] Fixed an NRE when using CTRL+5 shortcut
svc-reach-platform-support Apr 28, 2025
d29a3aa
[Port] [6000.0] Fix HDR debug mode in URP Compatibility Mode
svc-reach-platform-support Apr 28, 2025
f6d5aac
[Port] [6000.0/staging] DOCG-6822 Add missing upscale settings in HDR…
markg-unity Apr 28, 2025
9092407
[Port] [6000.0] DOCG-6517 Make HDRP caustics docs outcome-based
markg-unity Apr 28, 2025
bc6ff2c
[Port] [6000.0] Accessibility: Add ALT text and remove some screenshots
svc-reach-platform-support Apr 29, 2025
f59a7a5
[Port] [6000.0] DOCG-7032 Add note about emissive decals
markg-unity Apr 30, 2025
55910ff
[6000.0] Fix dx12 artifacts on IntelIris
May 2, 2025
9569292
[content automatically redacted] touching PlatformDependent folder
dasMajo May 6, 2025
951baaa
[Port] [6000.0] Fixes for HDRP samples
svc-reach-platform-support May 7, 2025
eb98e0b
[Port] [6000.0] Accessibility fix in HDRP docs
svc-reach-platform-support May 7, 2025
799e756
[Port] [6000.0] DOCG-7039 Update VFX Graph block names
markg-unity May 7, 2025
aaad69e
[Port] [6000.0] Fixed linear upscale tint by clearing keywords from p…
svc-reach-platform-support May 7, 2025
a52489d
[Backport][6000.0][Terrain] Enable test scenes
zeroyao May 7, 2025
0c05be3
[Port] [6000.0] Custom mesh water surface normal map fades out when Y…
SuminCho1 May 8, 2025
df03443
6000.0/backport/uum 86975 hdrp macro redefinition fix
joecruz993 May 8, 2025
e3ad33e
[Port] [6000.0] [VFX] Fix in graph error feedback
svc-reach-platform-support May 8, 2025
3e10b3e
[Port] [6000.0] 2d/staging/tilemap/uum 103926
svc-reach-platform-support May 9, 2025
500af59
[Port] [6000.0] [UUM-104541] Fixed a leak of m_AtlasAllocator in Refl…
svc-reach-platform-support May 9, 2025
70534f0
[Port] [6000.0] Update PPv2Converter.cs
svc-reach-platform-support May 12, 2025
88452b1
[Port] [6000.0] [Fix][VFX] Prevent some useless VFX recompilation/rei…
svc-reach-platform-support May 12, 2025
9c1b290
[Port] [6000.0] Graphics docs feedback fixes Apr 2025
markg-unity May 12, 2025
e86a20b
[Port] [6000.0] Fix for the black screen issue on XR when using the C…
svc-reach-platform-support May 13, 2025
3be8dd4
[Port] [6000.0] [NVUnityPlugin] Upgrade DLSS v3.1.10 to v3.7.20
svc-reach-platform-support May 13, 2025
7b1b361
[Port] [6000.0] Upgrade cinemachine package in UniversalGraphicsTest_…
svc-reach-platform-support May 13, 2025
8c54e16
[Port] [6000.0] [UUM-76080] Fix additional SG Node Reference graphs b…
svc-reach-platform-support May 14, 2025
9998af6
[Port] [6000.0] [Manual backport][UUM-99670][6.1] Graphics/SRP/Fix Su…
svc-reach-platform-support May 14, 2025
7c6b7de
Fixed a gc allocation GPUResidentDrawer.PostPostLateUpdate
lorin-atzberger-unity May 14, 2025
b02dd4c
[Port] [6000.0] Fix out of bounds read in CoreUnsafeUtils.FixedBuffer…
svc-reach-platform-support May 15, 2025
0951718
[Port] [6000.0] Graphics/bugfix/copypass texture array
svc-reach-platform-support May 16, 2025
14a06e7
Merge PR #68706 from docs/graphics/docg-7168-makdown-formatting-issue
ocarrere May 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion Packages/com.unity.render-pipelines.core/.buginfo
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
rule1:
area: SRP Architecture & API
area: SRP Foundation

rule2:
when:
Expand Down
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ An Environment Library is an Asset that contains a list of environments that you

<a name="Creation"></a>

![](Images/LookDevEnvironmentLibrary1.png)
![Environment Library asset.](Images/LookDevEnvironmentLibrary1.png)

## Creating an Environment Library

Expand All @@ -26,13 +26,13 @@ To add, remove, or duplicate environments, use the toolbar at the bottom of the

| **Button** | **Function** | **Description** |
| ------------------------------------------------------------ | ------------- | ------------------------------------------------------------ |
| ![](Images/LookDevEnvironmentLibrary2.png) | **Add** | Click this button to add a new environment to the bottom of the list. |
| ![](Images/LookDevEnvironmentLibrary3.png) | **Remove** | Click this button to remove the environment currently selected. Note that the environment that you have selected is the one with the blue frame. |
| ![](Images/LookDevEnvironmentLibrary4.png) | **Duplicate** | Click this button to duplicate the currently selected environment and add it as a new environment to the bottom of the list. |
| ![This button adds a new environment to the bottom of the list.](Images/LookDevEnvironmentLibrary2.png) | **Add** | Click this button to add a new environment to the bottom of the list. |
| ![This button removes the currently selected environment.](Images/LookDevEnvironmentLibrary3.png) | **Remove** | Click this button to remove the environment currently selected. Note that the environment that you have selected is the one with the blue frame. |
| ![This button duplicates the currently selected environment.](Images/LookDevEnvironmentLibrary4.png) | **Duplicate** | Click this button to duplicate the currently selected environment and add it as a new environment to the bottom of the list. |

## Properties

![](Images/LookDevEnvironmentLibrary5.png)
![Environment Library properties](Images/LookDevEnvironmentLibrary5.png)

| **Property** | **Description** |
| ------------------- | ------------------------------------------------------------ |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,15 @@ Use the toolbar in the top-left of the window to change which viewing mode Look

### Single viewport

![](Images/LookDev1.png)
![Buttons for switching between viewports 1 and 2.](Images/LookDev1.png)

By default, Look Dev displays a single viewport which contains the Prefab or GameObject you are working with. If you are in another viewing mode, you can click either the number **1** or number **2** button to go back to single view. Each button corresponds to a viewport in Look Dev. Select button **1** to use viewport 1, and button 2 to use viewport **2**.

<a name="MultiView"></a>

### Multi-viewport

![](Images/LookDev2.png)
![Buttons for changing the multi-viewport mode.](Images/LookDev2.png)

Use multiple viewports to compare different environments and settings for the same Asset. You can arrange viewports:

Expand All @@ -73,23 +73,21 @@ When using multiple viewports, it only makes sense to compare different Prefabs

Vertical and horizontal side-by-side viewports show an identical view of your Asset.

![](Images/LookDev3.png)
![Vertical side-by-side viewport view.](Images/LookDev3.png)

##### Split-screen

In a split-screen view, there is a red/blue manipulation Gizmo that separates the two viewports. For information on how to use this Gizmo, see [Using the manipulation Gizmo](#ManipulationGizmo).

![](Images/LookDev4.png)
![Split-screen viewport view.](Images/LookDev4.png)

#### Multi-viewport Camera

By default, Look Dev synchronizes the camera movement for both views. To decouple the Cameras from one another, and manipulate them independently, click the **Synchronized Cameras** button in-between the two numbered Camera buttons.

![](Images/LookDev5.png)

To align the cameras with each other, or reset them, click on the drop-down arrow next to the viewport **2** icon:

![](Images/LookDev6.png)
![Drop-down options of multi-viewport cameras.](Images/LookDev6.png)

<a name="ManipulationGizmo"></a>

Expand All @@ -101,13 +99,11 @@ The manipulation Gizmo represents the separation plane between the two viewports

To move the separator, click and drag the straight line of the Gizmo to the location you want.

![](Images/LookDev7.png)

#### Changing the orientation and length

To change the orientation and length of the manipulator Gizmo, click and drag the circle at either end of the manipulator. Changing the length of the Gizmo lets you set the orientation and [blending](#Blending) values more precisely.

![](Images/LookDev8.png))
![Click and drag the circle at either end of the gizmo to change its orientation and length.](Images/LookDev8.png)

#### Changing the split in increments

Expand All @@ -121,7 +117,7 @@ The central white circle on the separator allows you to blend between the two vi

The white circle automatically snaps back into the center when you drag it back. This helps you get back to the default blending value quickly.

![](Images/LookDev9.png)
![The white circle on the separator lets you change the blending behavior.](Images/LookDev9.png)

### HDRI environments in Look Dev

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ public class CustomDebugPanel : MonoBehaviour

Add the script to a GameObject. You should see a new **My Custom Panel** panel in the **Rendering Debugger** window.

![](Images/rendering-debugger.png)
![Screenshot of the Rendering Debugger window showing a new custom panel.](Images/rendering-debugger.png)

### Add a control to an existing panel

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,13 @@ Use the **Orbit** and **Elevation** to control the orientation of the light, in

You can use the **Anchor Position Override** to provide a GameObject’s [Transform](https://docs.unity3d.com/ScriptReference/Transform.html) as an anchor point for the Light. This is useful if you want the Light to follow a specific GameObject in the Scene.

![](Images/LightAnchorAnimation.gif)
<video title="A light uses the main camera as the reference GamObject that controls the rotation of the light. The light rotates synchronously with the camera." src="Images/videos/light-anchor-animation.mp4" width="100%" height="auto" autoplay="true" loop="true" controls></video>

**Note**: The above example uses the Main Camera as the reference Camera that adjusts the light rotation. The Common presets might create a different result in the Scene View if your view isn't aligned with the Main Camera.

You can set a **Position Offset** for this custom Anchor. This is useful if the Transform position of the custom Anchor isn't centered appropriately for the light to orbit correctly around the custom Anchor.

![](Images/LightAnchor0.png)
![Light Anchor component screenshot. Orbit and Elevation properties display example values that change the orientation of a light.](Images/LightAnchor0.png)


The Light Anchor component also includes a list of **Presets** that you can use to set the Light's orientation relative to the main Camera.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class MySettings : IRenderPipelineGraphicsSettings
public Material myMaterial;
}
```
![](Images/customsettings-addsetting.png)<br/>
![Screenshot of the Project Settings window. The Graphics section contains the new custom settings from the example script.](Images/customsettings-addsetting.png)<br/>
The **Edit** > **Project Settings** > **Graphics** window with the new custom setting from the example script.

## Set the default asset for a reference property
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public class MySettings : IRenderPipelineGraphicsSettings
}
```

![](Images/customsettings-settingsgroup.png)<br/>
![Screenshot of the Project Settings window. The Graphics section contains the new custom settings group from the example script.](Images/customsettings-settingsgroup.png)<br/>
The **Edit** > **Project Settings** > **Graphics** window with the new custom settings group from the example script.

## Change the display order of settings groups
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ For example:

Unity shows the new properties in the **Core Render Pipeline** settings section:

![](Images/core_render_pipeline_preference_provider.png)
![Screenshot of the Preferences window showing the new properties in the Core Render Pipeline settings section.](Images/core_render_pipeline_preference_provider.png)
4 changes: 2 additions & 2 deletions Packages/com.unity.render-pipelines.core/Editor/.buginfo
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
rule1:
area: SRP Architecture & API
area: SRP Foundation

rule2:
when:
Expand All @@ -15,7 +15,7 @@ rule3:
- ^.*CoreRenderPipelinePreferences.*$
- ^.*InspectorCurveEditor.*$
- ^.*RemoveAdditionalDataUtils.*$
area: SRP Workflow
area: SRP Settings

rule4:
when:
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: SRP Workflow
area: SRP Settings
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: SRP Workflow
area: SRP Settings
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: SRP Workflow
area: SRP Settings
Original file line number Diff line number Diff line change
Expand Up @@ -748,16 +748,16 @@ static bool SetBakingContext(List<ProbeVolumePerSceneData> perSceneData)
for (int i = 0; i < perSceneData.Count; ++i)
{
var data = perSceneData[i];
var scene = data.gameObject.scene;
var sceneGUID = scene.GetGUID();
var sceneGUID = data.sceneGUID;
var bakingSet = ProbeVolumeBakingSet.GetBakingSetForScene(sceneGUID);

if (bakingSet == null)
{
if (isBakingSingleScene)
continue;

Debug.LogError($"Scene '{scene.name}' does not belong to any Baking Set. Please add it to a Baking Set in the Adaptive Probe Volumes tab of the Lighting Window.");
var sceneName = data.gameObject.scene.name;
Debug.LogError($"Scene '{sceneName}' does not belong to any Baking Set. Please add it to a Baking Set in the Adaptive Probe Volumes tab of the Lighting Window.");
return false;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: Material
area: Materials
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: SRP Workflow
area: SRP Settings
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: Material
area: Materials
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: SRP Workflow
area: SRP Settings
Original file line number Diff line number Diff line change
@@ -1 +1 @@
area: SRP Workflow
area: SRP Settings
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ protected internal void ThrowIfGlobalStateNotAllowed()
[Conditional("DEVELOPMENT_BUILD"), Conditional("UNITY_EDITOR")]
protected internal void ThrowIfRasterNotAllowed()
{
if (m_ExecutingPass != null && !m_ExecutingPass.HasRenderAttachments()) throw new InvalidOperationException($"{m_ExecutingPass.name}: Using raster commands from a pass with no active render targets is not allowed as it will use an undefined render target state. Please set-up the pass's render targets using SetRenderAttachments.");
if (m_ExecutingPass != null && !m_ExecutingPass.HasRenderAttachments()) throw new InvalidOperationException($"{m_ExecutingPass.name}: Using raster commands from a pass with no active render target is not allowed as it will use an undefined render target state. Please set up pass render targets using SetRenderAttachments.");
}

/// <summary>
Expand All @@ -71,13 +71,13 @@ protected internal void ValidateTextureHandle(TextureHandle h)

if (h.IsBuiltin()) return;

if (!m_ExecutingPass.IsRead(h.handle) && !m_ExecutingPass.IsWritten(h.handle))
if (!m_ExecutingPass.IsRead(h.handle) && !m_ExecutingPass.IsWritten(h.handle) && !m_ExecutingPass.IsTransient(h.handle))
{
throw new Exception("Pass '" + m_ExecutingPass.name + "' is trying to use a texture on the command buffer that was never registered with the pass builder. Please indicate the texture use to the pass builder.");
throw new Exception($"Pass '{m_ExecutingPass.name}' is trying to bind a texture on the command buffer that is not registered by its builder. Please indicate to the pass builder how the texture is used (UseTexture/CreateTransientTexture).");
}
if (m_ExecutingPass.IsAttachment(h))
{
throw new Exception("Pass '" + m_ExecutingPass.name + "' is using a texture as a fragment attachment (SetRenderAttachment/SetRenderAttachmentDepth) but is also trying to bind it as regular texture. Please fix this pass. ");
throw new Exception($"Pass '{m_ExecutingPass.name}' is trying to bind a texture on the command buffer that is already set as a fragment attachment (SetRenderAttachment/SetRenderAttachmentDepth). A texture cannot be used as both in one pass, please fix its usage in the pass builder.");
}
}
}
Expand All @@ -93,17 +93,17 @@ protected internal void ValidateTextureHandle(TextureHandle h)
[Conditional("DEVELOPMENT_BUILD"), Conditional("UNITY_EDITOR")]
protected internal void ValidateTextureHandleRead(TextureHandle h)
{
if(RenderGraph.enableValidityChecks)
if (RenderGraph.enableValidityChecks)
{
if (m_ExecutingPass == null) return;

if (!m_ExecutingPass.IsRead(h.handle))
if (!m_ExecutingPass.IsRead(h.handle) && !m_ExecutingPass.IsTransient(h.handle))
{
throw new Exception("Pass '" + m_ExecutingPass.name + "' is trying to read a texture on the command buffer that was never registered with the pass builder. Please indicate the texture as read to the pass builder.");
throw new Exception($"Pass '{m_ExecutingPass.name}' is trying to read a texture on the command buffer that is not registered by its builder. Please indicate to the pass builder that the texture is read (UseTexture/CreateTransientTexture).");
}
if (m_ExecutingPass.IsAttachment(h))
{
throw new Exception("Pass '" + m_ExecutingPass.name + "' is using a texture as a fragment attachment (SetRenderAttachment/SetRenderAttachmentDepth) but is also trying to bind it as regular texture. Please fix this pass. ");
throw new Exception($"Pass '{m_ExecutingPass.name}' is trying to bind a texture on the command buffer that is already set as a fragment attachment (SetRenderAttachment/SetRenderAttachmentDepth). A texture cannot be used as both in one pass, please fix its usage in the pass builder.");
}
}
}
Expand All @@ -129,13 +129,14 @@ protected internal void ValidateTextureHandleWrite(TextureHandle h)
throw new Exception("Pass '" + m_ExecutingPass.name + "' is trying to write to a built-in texture. This is not allowed built-in textures are small default resources like `white` or `black` that cannot be written to.");
}

if (!m_ExecutingPass.IsWritten(h.handle))
if (!m_ExecutingPass.IsWritten(h.handle) && !m_ExecutingPass.IsTransient(h.handle))
{
throw new Exception("Pass '" + m_ExecutingPass.name + "' is trying to write a texture on the command buffer that was never registered with the pass builder. Please indicate the texture as written to the pass builder.");
throw new Exception($"Pass '{m_ExecutingPass.name}' is trying to write a texture on the command buffer that is not registered by its builder. Please indicate to the pass builder that the texture is written (UseTexture/CreateTransientTexture).");
}
if (m_ExecutingPass.IsAttachment(h))
{
throw new Exception("Pass '" + m_ExecutingPass.name + "' is using a texture as a fragment attachment (SetRenderAttachment/SetRenderAttachmentDepth) but is also trying to bind it as regular texture. Please fix this pass. ");
throw new Exception($"Pass '{m_ExecutingPass.name}' is trying to bind a texture on the command buffer that is already set as a fragment attachment (SetRenderAttachment/SetRenderAttachmentDepth). A texture cannot be used as both in one pass, please fix its usage in the pass builder.");

}
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using System;
using System.Runtime.CompilerServices;
using UnityEngine.VFX;

namespace UnityEngine.Rendering
Expand All @@ -17,6 +18,7 @@ public struct CommandBufferHelpers
/// </summary>
/// <param name="baseBuffer">The CommandBuffer the RasterCommandBuffer should record it's commands to.</param>
/// <returns>A RasterCommandBuffer that will record its commands to the given buffer.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static RasterCommandBuffer GetRasterCommandBuffer(CommandBuffer baseBuffer)
{
rasterCmd.m_WrappedCommandBuffer = baseBuffer;
Expand All @@ -28,6 +30,7 @@ public static RasterCommandBuffer GetRasterCommandBuffer(CommandBuffer baseBuffe
/// </summary>
/// <param name="baseBuffer">The CommandBuffer the RasterCommandBuffer should record it's commands to.</param>
/// <returns>A ComputeCommandBuffer that will record its commands to the given buffer.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static ComputeCommandBuffer GetComputeCommandBuffer(CommandBuffer baseBuffer)
{
computeCmd.m_WrappedCommandBuffer = baseBuffer;
Expand All @@ -39,6 +42,7 @@ public static ComputeCommandBuffer GetComputeCommandBuffer(CommandBuffer baseBuf
/// </summary>
/// <param name="baseBuffer">The CommandBuffer the UnsafeCommandBuffer should record its commands to.</param>
/// <returns>A UnsafeCommandBuffer that will record its commands to the given buffer.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static UnsafeCommandBuffer GetUnsafeCommandBuffer(CommandBuffer baseBuffer)
{
unsafeCmd.m_WrappedCommandBuffer = baseBuffer;
Expand All @@ -51,6 +55,7 @@ public static UnsafeCommandBuffer GetUnsafeCommandBuffer(CommandBuffer baseBuffe
/// </summary>
/// <param name="baseBuffer">The UnsafeCommandBuffer you want to get the engine commandbuffer from.</param>
/// <returns>A CommandBuffer that will record its commands to the given buffer.</returns>
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static CommandBuffer GetNativeCommandBuffer(UnsafeCommandBuffer baseBuffer)
{
return baseBuffer.m_WrappedCommandBuffer;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
rule1:
area: SRP Architecture & API
area: SRP Foundation

rule2:
when:
path:
- ^.*CoreAttributes.*$
- ^.*IAdditionalData.*$
- ^.*Reload.*$
area: SRP Workflow
area: SRP Settings
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,18 @@ public bool TryPush(string v)
}

/// <summary>
/// Pop an element of the queue.
/// Try to pop an element of the queue.
/// </summary>
/// <param name="v">Output result string.</param>
/// <returns>True if an element was succesfuly poped.</returns>
/// <returns>True if an element was successfully popped.</returns>
public bool TryPop(out string v)
{
if (m_ReadCursor + sizeof(int) >= m_BufferEnd)
{
v = null;
return false;
}

var size = *(int*)m_ReadCursor;
if (size != 0)
{
Expand All @@ -84,7 +90,7 @@ public bool TryPop(out string v)
return true;
}

v = default;
v = null;
return false;
}

Expand Down
Loading