Skip to content

Internal/master #8157

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

Merged
merged 45 commits into from
Jun 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
ec4743e
[VFX] [Doc] Flipbook player doc rework
gabrieldelacruz May 19, 2025
a34fca5
URP Add more bloom filtering options.
eh-unity May 19, 2025
cd69c92
[content automatically redacted] touching PlatformDependent folder
joao-maia-u3d May 19, 2025
f1d844b
UUM-104165: Make APV work with Subscenes in URP
pigselated May 19, 2025
d71d151
Fix IndexOutOfRangeException Exception by allocating size with respec…
sgomasankar-rythmos May 19, 2025
13cf65b
Fix Rendering Debugger panel splitter clamping
arttu-peltonen May 19, 2025
e926243
[SRP] Fix warnings in console when creating a new scene from template…
remi-chapelain May 20, 2025
4bb792d
[Graphics Test Framework] Full Support for Different Texture Formats
giorgospetkakis May 20, 2025
d361525
Graphics/SRP - [UUM-96238] Support memoryless RTHandles creation in N…
axoloto May 20, 2025
d2ba9b4
UUM-103836 Trying to use invalid GBuffers in Wireframe pass
RoseHirigoyen May 21, 2025
9236eef
Fix excessive memory usage in APV
pema99 May 21, 2025
6ab1f4b
[URP] Fix Rendering Layers issue in Decal Projector
May 21, 2025
88b32f0
Fixed incorrect culling of planar reflections when raytracing options…
nanho-lee May 21, 2025
248f1b2
docg-7156: Add conceptual information about decals for opaque/transpa…
ocarrere May 21, 2025
4e608d9
Fixed UI overlap for the HDRP Wizard toolbar and status icons
CalChiu May 21, 2025
f970fdd
[UUM-105392][6000.3] Fix hdr encoding and postprocess resolve for ren…
kennytann May 21, 2025
94ad7b3
[Port] [trunk] UUM-103975 : Missing packed material data in CreateDra…
olivierprat May 22, 2025
a3f90f5
[VFX] Fix Exception with Subgraph & SMR
PaulDemeulenaere May 22, 2025
dd56a99
[VFX] Fix Timeline "Hold" Integration
PaulDemeulenaere May 22, 2025
8ddae4a
[VFX] Rework Test to be stable on Quest
PaulDemeulenaere May 22, 2025
98b43aa
[HDRP] Fixed Water clamping the screenspace position the wrong way ar…
jmekh May 23, 2025
90942ec
[VFX] Forbid dragging a subgraph block onto the graph directly, only …
julienamsellem May 23, 2025
d489da3
Graphics/SRP - Render Graph Consolidation Milestone 1 - Updating NRP …
axoloto May 24, 2025
6abad96
Disabling unstable tests
Daniel-Dobzinski May 24, 2025
9cbd5b2
Disable unstable tests
Daniel-Dobzinski May 24, 2025
ebb0643
[ShaderGraph] Allow material properties and keyword to be promoted to…
May 26, 2025
add90b7
[ShaderGraph] Custom Interpolation field for Custom Interpolators
May 26, 2025
8c192d7
Volume UI and doc fixes.
kirill-titov-u May 26, 2025
8bcea20
[VFX] Fixed node search window was not compliant with light theme colors
julienamsellem May 26, 2025
124e05a
unity_RendererBounds_Min/max available in URP with BRG, EG or GRD
arnaudcarre May 26, 2025
4ba3848
RenderGraph (2/3) - Use AddCopyPass when possible in CopyColorPass
YohannVaastUnity May 27, 2025
7c45448
UUM-104391: Handle case where a main light is disabled
pigselated May 27, 2025
a35884c
Add checks for Null Source at AddBlitPass
raquelpeces May 27, 2025
e33caa1
Selection API changed from InstanceID=>EntityId
christopherredden May 27, 2025
b65e6ea
Graphics/SRP - RenderGraph Consolidation - Replace RenderGraph Import…
axoloto May 27, 2025
8c6edd1
[VFX] Warning when parent and strip capacity don't match + error feed…
julienf-unity May 27, 2025
e06623e
[VFX] Fix Keyword Name Slots
PaulDemeulenaere May 27, 2025
ecfae9a
[VFX] NRE in node search when double clicking on a separator
julienamsellem May 27, 2025
21c1d4b
Render Graph Viewer Remote
arttu-peltonen May 28, 2025
3b14444
Separate URP post-pro rendergraph and compatibility paths.
eh-unity May 28, 2025
5328712
Fix unclear warnings when user creates more lights than the light lim…
sgomasankar-rythmos May 29, 2025
5e5c80e
Fix shadow culling for Intermediate renderers
vincent-breysse May 29, 2025
4f865ef
[UUM-100526] Add missing apv keywords to TerrainLitAdd.shader
mseonkim-unity May 29, 2025
723f945
Better error handling for uninitialized volume framework
RSlysz May 30, 2025
af0ca64
Light GI EntityId changes from U7
christopherredden May 31, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
using System;
using UnityEngine;
using UnityEngine.Analytics;
using UnityEngine.Rendering;
using UnityEngine.Rendering.RenderGraphModule;

namespace UnityEditor.Rendering.Analytics
{
// schema = com.unity3d.data.schemas.editor.analytics.uRenderGraphViewerSessionCreated_v1
// taxonomy = editor.analytics.uRenderGraphViewerSessionCreated.v1
internal class RenderGraphViewerSessionCreatedAnalytic
{
const int k_MaxEventsPerHour = 1000;
const int k_MaxNumberOfElements = 1000;
const string k_VendorKey = "unity.srp";
const string k_EventName = "uRenderGraphViewerSessionCreated";

public enum SessionType
{
Local = 0,
Remote = 1
}

[AnalyticInfo(eventName: k_EventName, vendorKey: k_VendorKey, maxEventsPerHour: k_MaxEventsPerHour, maxNumberOfElements: k_MaxNumberOfElements)]
class Analytic : IAnalytic
{
public Analytic(SessionType sessionType, DebugMessageHandler.AnalyticsPayload payload)
{
using (GenericPool<Data>.Get(out var data))
{
data.session_type = sessionType.ToString();
data.graphics_device_type = payload.graphicsDeviceType.ToString();
data.device_type = payload.deviceType.ToString();
data.device_model = payload.deviceModel;
data.gpu_vendor = payload.gpuVendor;
data.gpu_name = payload.gpuName;

m_Data = data;
}
}

[Serializable]
class Data : IAnalytic.IData
{
// Naming convention for analytics data
public string session_type;
public string graphics_device_type;
public string device_type;
public string device_model;
public string gpu_vendor;
public string gpu_name;
}

public bool TryGatherData(out IAnalytic.IData data, out Exception error)
{
data = m_Data;
error = null;
return true;
}

Data m_Data;
};

public static void Send(SessionType sessionType, DebugMessageHandler.AnalyticsPayload payload)
{
Analytic analytic = new Analytic(sessionType, payload);
AnalyticsUtils.SendData(analytic);
}
}
}

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ class CommandBufferGenerator

// Functions for compute only
static List<FunctionInfo> computeFunctions = new List<FunctionInfo> {
"SetComputeParamsFromMaterial",
"SetComputeFloatParam",
"SetComputeIntParam",
"SetComputeVectorArrayParam",
Expand All @@ -68,11 +69,7 @@ class CommandBufferGenerator
new FunctionInfo("SetComputeTextureParam", textureArg: "rt"),
"SetComputeBufferParam",
"SetComputeConstantBufferParam",
"SetComputeFloatParam",
"SetComputeIntParam",
"SetComputeVectorParam",
"SetComputeVectorArrayParam",
"SetComputeMatrixParam",
"DispatchCompute",
"BuildRayTracingAccelerationStructure",
"SetRayTracingAccelerationStructure",
Expand All @@ -87,6 +84,7 @@ class CommandBufferGenerator
"SetRayTracingVectorArrayParam",
"SetRayTracingMatrixParam",
"SetRayTracingMatrixArrayParam",
"SetRayTracingShaderPass",
"DispatchRays",
"SetBufferData",
"SetBufferCounterValue",
Expand Down Expand Up @@ -119,6 +117,17 @@ class CommandBufferGenerator
"SetRenderTarget",
"Clear",
"RequestAsyncReadbackIntoNativeArray",
"RequestAsyncReadback",
"ClearRandomWriteTargets",
"SetRandomWriteTarget",
"CopyTexture",
"GenerateMips",
// Next APIs are already available in UnsafeCommandBuffer through compute or base functions lists,
// but the added overloads below relax safety rules to support texture parameters without texture handle usage.
new FunctionInfo("SetGlobalTexture", textureArg: "", modifiesGlobalState: true),
"SetRayTracingTextureParam",
"SetComputeTextureParam",
// End of added unsafe overloads
};
// Generated file header
static string preamble =
Expand All @@ -129,6 +138,7 @@ class CommandBufferGenerator
using UnityEngine.Profiling;
using Unity.Profiling;
using UnityEngine.Rendering.RenderGraphModule;
using UnityEngine.Experimental.Rendering;

// NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
//
Expand Down Expand Up @@ -255,28 +265,31 @@ static void GenerateCommandBufferType(string className, string docString, string
BindingFlags flags = BindingFlags.Public | BindingFlags.Instance;
var methods = commandBufferType.GetMethods(flags);

var allowedFuncInfoMethodList = new List<Tuple<FunctionInfo, MethodInfo>>();

// Filtering function list to only keep the ones existing in CommandBuffer
foreach (var method in methods)
{
bool allowed = false;
FunctionInfo info = new FunctionInfo();
foreach (var fn in functionList)
{
if (fn.name == method.Name)
{
allowed = true;
info = fn;
break;
}
allowedFuncInfoMethodList.Add(new Tuple<FunctionInfo, MethodInfo>(fn, method));
}
if (!allowed) continue;
}

// Generating function list, we can have duplicates due to overloads in methods and different support in the different functionLists (TextureHandle overload or not)
foreach (var allowedFuncInfoMethod in allowedFuncInfoMethodList)
{
StringBuilder argList = new StringBuilder();
StringBuilder typedArgList = new StringBuilder();
StringBuilder argDocList = new StringBuilder();
StringBuilder validationCode = new StringBuilder();
StringBuilder genericArgList = new StringBuilder();
StringBuilder genericConstraints = new StringBuilder();

var info = allowedFuncInfoMethod.Item1;
var method = allowedFuncInfoMethod.Item2;

if (info.modifiesGlobalState)
{
validationCode.Append("ThrowIfGlobalStateNotAllowed(); ");
Expand Down Expand Up @@ -326,7 +339,7 @@ static void GenerateCommandBufferType(string className, string docString, string

if (method.ContainsGenericParameters)
{
// Hack: The current command buffer only inclues very simple single generic functions. We just hard code these but in the future we might need reflection on the generic arguments if needed.
// Hack: The current command buffer only includes very simple single generic functions. We just hard code these but in the future we might need reflection on the generic arguments if needed.
genericArgList.Append("<T>");
genericConstraints.Append("where T : struct");
argDocList.Append("\n");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,7 @@ void OnGUI()
if (dragging)
{
splitterPos += Event.current.delta.x;
splitterPos = Mathf.Clamp(splitterPos, minSideBarWidth, Screen.width - minContentWidth);
splitterPos = Mathf.Clamp(splitterPos, minSideBarWidth, position.width - minContentWidth);
Repaint();
}
break;
Expand Down
Binary file not shown.
Binary file not shown.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -647,7 +647,12 @@ public void Dispose()

static bool m_IsInit = false;
static BakingBatch m_BakingBatch;
static ProbeVolumeBakingSet m_BakingSet = null;
static ProbeVolumeBakingSetWeakReference m_BakingSetReference = new();
static ProbeVolumeBakingSet m_BakingSet
{
get => m_BakingSetReference.Get();
set => m_BakingSetReference.Set(value);
}
static TouchupVolumeWithBoundsList s_AdjustmentVolumes;

static Bounds globalBounds = new Bounds();
Expand Down
Loading